Описание кодека XviD
- 1 -

Статья написана 24.01.2005 года

За основу написания этой статьи
взят материал опубликованный
на сайте WWW.SVCD.RU
от 23 декабря 2003 г


      DivX и XviD - последователи стандарта Mpeg4. Особенность кодека XviD в том, что он больше подходит по причине качественной работы с динамическими сценами. Мне очень часто приходится заниматься сжатием «домашнего видео», а оно, как известно, не блещет качеством съёмки. Всё это снимается без штатива, естественно, картинка ходит ходуном. При этих условиях, только XviD после сжатия, сохраняет максимальную деталировку.
Фильмы, сжатые при помощи кодека XviD, будут нормально просматриваться декодером DivX. Есть мнение, что декодер DivX более качественный, чем собственный декодер XviD.
После запуска конфигурации кодека, вы увидите окно настройки кодека:

кодирование XviD

Для начала желательно сбросить все ранее установленные настройки. Для этого нажмите кнопку Load Defaults.
Теперь попорядку. Первое окно - Profile @ Level.
Здесь сделаны стандартные предустановки, которые должны быть совместимы с аппаратными проигрывателями. На самом деле, использование этой вкладки под большим вопросом. Во-первых, на данный момент аппаратные Mpeg4 проигрыватели не получили достаточно широкого распространения. Это является дополнительной функцией DVD проигрывателей, но далеко не все проигрыватели это могут делать. Многое зависит от прошивки. Так что, для аппаратных проигрывателей это на вряд ли пригодится. Во-вторых, здесь только готовые предустановки для разрешения, битрейта и других параметров. Но если вы пытаетесь сжать готовый фильм, то для него потребуется своё разрешение и битрейт. В связи с этим, эта функция почти не применима.  Однако советую поставить значение, как на рисунке. Чуть позже вы увидите настройки выбранного параметра.

Encoding type - количество проходов.
В любом видео, не бывает, что бы было абсолютно монотонное движение и неизменное количество объектов. Получается, что для каждого кадра нужно выделять разное количество памяти. Для того, что бы выделять каждому кадру своё количество битрейта, был введён переменный битрайт. То есть, во время первого прохода кодек собирает информацию о количестве движения и объектов, производит запись её в файл. Во время второго прохода, кодек начинает обрабатывать фильм снова. Только он уже производит сжатие исходного материала, пользуясь статистикой от первого прохода. При этом, для каждого кадра выделяется нужный ему битрайт. Таким образом происходит повышение качества кодируемого материала.
Желательно использовать двух проходный режим. Сначала, согласно рисунка, установлен двух проходный режим - первый проход. После первого кодирования, мы изменим это значение на - 2 st.pass.

Рассмотрим назначение кнопок.
Кнопка more... (напротив Profile @ Level). После нажатия этой кнопки откроется окно.

кодирование XviD

Сверху на этой вкладке есть возможность выбора предустановок, про которые я уже написал. Опция "Quantization type" даёт возможность выбора типа матрицы квантизеров. Не вдаваясь в подробности что это такое, просто скажу, что даёт этот выбор. Мы можем сделать выбор из 3 пунктов:

кодирование XviD
H.263" - это стандартная матрица квантизеров для Mpeg4. Это даёт менее чёткую картинку, чем MPEG матрица и рекомендуется делать для битрейтов ниже 900 kBit/s. Вторым пунктом стоит "MPEG". Этот выбор даст более чёткую картинку и соответственно, требует битрейтов больших, чем 900 kBit/s. "MPEG-Custom" даёт возможность задавать самому матрицу квантизеров. Я бы не рекомендовал вам пробовать это делать вручную.

Опция "Adaptive Quantization" включает возможность маскировки ярких и тёмных мест при сжатии. Эта опция нужна для того, что бы увеличить коэффициент сжатия исходного материала. Теоретически, человеческий глаз не заметит такого преобразования. Но на практике, при включении этой опции происходят искажения. В кодере XviD этот алгоритм реализован недостаточно качественно.

Опция "Interlaced Encoding" включает работу кодека с чересстрочным видео. При включении этой опции кодек начинает сжимать не кадры, а поля. Эта опция пригодится только в том случае, если вы производите сжатие без деинтерлейса. Я не вижу практического применения такому сжатию, но кто знает, может вам пригодится.

Опция "Quarter Pixel" включает разрешение с точностью до четверти пикселя. Это повышает чёткость особенно на низких разрешениях, но вместе с этим, добавляет шум на изображение. Естественно, просто так это не происходит. Включение Quarter Pixel повышает загрузку процессора и увеличивает поток, используемый для этого. Включать эту опцию я не рекомендовал бы.

Опция "Global Motion Compensation" предназначена для компенсации движения. Она начинает функционировать, когда идёт панорамирование, наезд или отъезд на объект, а так же при вращении. Задумка конечно хорошая, но использовать я так же не рекомендовал бы.

А вот про опцию "Reduced resolution" ничего не известно. И вообще, не понятно, делает ли она что-нибудь.

Далее, опция B-VOPs включает использование B-frames. Само по себе использование B-frames должно повысить качество кодируемого материала.
Немного теория, для ясности.
При сжатии видео используется 3 типа кадров: I,P и B - frames. I-frames - это кадры без сжатия. Вернее, сжатие производится с очень небольшими коэффициентами компрессии. I-frames так же называются ключевыми кадрами. При просмотре сжатого фильма, вся навигация по фильму производится через ключевые кадры. После I-frames следует последовательность P-frames например так: IPPPPPPPPPPPPPPPPIPPPPPPP и так далее. P-frames имеет гораздо больший коэффициент сжатия. Для того, что бы повысить коэффициент сжатия, были введены B-frames. Они ставятся между двумя менее сжатыми кадрами (I,P-frames). Последовательность получается такой: IPBPBPBPBPBPBPIPBPBPBP… Коэффициент сжатия B-frames больше, чем коэффициент сжатия P-frames. Это достигается тем, что он сравнивается с 2 окружающими кадрами, а в B-frames записывается, чем он отличается от них. Но вместе с этим, это накладывает определённые ограничения. Например, видеопоследовательность не может заканчиваться B-frames. Начинаться же видеоряд должен обязательно с I-frames. В нём содержится вся информация об изображении. В P-frames и B-frames содержится информация не удалённая кодеком во время сжатия, что так же накладывает определённые трудности при монтаже сжатого материала. Итак, разобрались, с B-frames мы можем сильнее сжать видео. Как это влияет на качество.  Сильнее сжали, а размеры видео файла у нас те же самые. Этот "освободившийся" поток перераспределяется на все кадры. Конечно, качество на B-frames ниже, чем у P-frames.
Если поставить "Max consecutive BVOPs"=1, то они появляются 12 раз в секунду (последовательно с более качественными P-frames) и картинка, в целом, остаётся достаточно качественной. По умолчанию стоит значение "Max consecutive BVOPs"=2.  Если поставить 0, то мы попросту отключим использование B-frames.

Разобрались, включение B-frames (BVOPs) повышает качество.

Опция "Quantizer ratio " означает, во сколько раз будет повышен квантизер для B-frames.
Квантизер может быть назван так же DRF - Detail Removal Factor. По-русски, степень потери детализации изображения. Минимально возможный квантизер - 2.
Максимальный квантизер, ограничивается кодеком. Причём, чем больше квантизер, тем больше потерь в детализации будет происходить. Изначально, если кодек не ограничивать в размерах получаемого файла, он будет стремится держать квантизеры как более низкими. Но при этом размер получаемого файла будет получаться большим. Теперь, если ограничить размер получаемого AVI файла, кодек начнёт повышать эти квантизеры до тех пор, пока не попадёт в заданный размер. Причём, он устанавливает для каждого кадра свои кантизеры, в зависимости от сложности кадра.
Снижать этот параметр не рекомендую (теряется смысл B-frames). Повышать вы можете на своё усмотрение, это повысит сжатие B-frames (соответственно, снизит качество этих кадров) и повысит качество I и P-frames.

Опция "Quantizer offset" показывает, сколько нужно прибавить к квантизеру B-frames относительно расчётной величины после "Quantizer ratio". Изменять этот параметр не стоит.

Если включить опцию "Packed bitstream", то производится упаковка P-frames и B-frames в одном потоке. Это даёт возможность декодировать B-frames без задержек. При 2 проходном кодировании и включении этой опции кодер может работать не правильно. Если у вас достаточно мощный процессор, нет никакого смысла включать эту опцию.  Обратите внимание, на рисунке эта опция включена.

Опция "Closed GOV" предназначена для того, что бы перед I-frames никогда не стоял B-frames. Если вы не собираетесь сжатый материал впоследствии резать или сращивать, нет никакой надобности в этой функции. Зато при отключении этой функции качество можно ещё повысить за счёт добавления B-frames. Если же, вы собираетесь впоследствии как-либо монтировать Mpeg4, то вам понадобится включение этой функции. Только одно предостережение, вы сможете резать готовый Mpeg4 файл только по ключевым кадрам и многие стыки получатся очень корявыми. Лучше позаботиться о монтаже заранее.

Страницы статьи
Текущая страница XviD страница 2 XviD страница 3
1 2 3
Здесь всё про все гостиницы в Красной Поляне отзывы, а также много полезной информации. На afrodita.msk.ru лазерная эпиляция красные ворота.|проститутки города днепропетровск