Оригинал материала: https://3dnews.ru/169173

DivX 5.0: пора зрелости



Компания DivX Networks, Inc. была лишь недавно основана, и она уже начала приносить свои плоды. Бывшие пионеры компании, Джером Рота (Jerome Rota) и Дарриус Томпсон (Darruis Thompson) изучили опыт развития теперь уже устаревшего Microsoft MPEG-4 кодека, наняли маркетолога и еще шесть человек персонала. А персоналу нужно платить :-)

Новое поколение DivX кодека 5.0 доступно для скачивания у нас www.3dnews.ru/download/dvd/divx-codec/. Но свободна к использованию лишь стандартная версия. За профессиональную версию, со многими новыми возможностями, придется заплатить $30. Для тех же, кто жить не может без этой программы, а денег жалко, была разработана еще одна версия программы с баннерной рекламой. Но, несмотря на всю эту ситуацию, неоднозначно принятую пользователями, можно твердо сказать: команда Divx Networks разработала кодек, сжимающий DVD фильм в одиннадцать раз почти без потери качества. Что делает DivX5.0 идеальным средством для передачи видео и аудио данных через Интернет. Отметим также совместимость с MPEG-4. Итак, если фильм не длиннее 100 минут и у вас есть диск на 700 Мб, вы сможете записать одно на другое в довольно высоком качестве.

Новые возможности

Новый кодек соответствует API Video-for-Windows (стандарт VFW). Поэтому его легко можно вызывать из различных программ по редактированию видео типа Pinnacle Studio или Adobe Premiere. Кодек можно использовать в паре с популярными программами по конвертированию типа Flask XMPEG или VirtualDub. Теперь давайте сравним функциональность Pro версии со стандартной.

DivX кодек: двунаправленное кодирование

По сравнению с предыдущей версией 4.xx здесь появились четвертые пикселей (QP, quarter pixels), общая компенсация движения (global motion compensation, GMC) и двунаправленное кодирование (bidirectional encoding, BD).

B-кадры через двунаправленное кодирование (BD)

В видеопотоке старого формата DivX 4 можно было выделить I-кадры (Intra) и P-кадры (предсказанные). I-кадр представлял собой одну картинку из видеопотока, сжатую алгоритмом типа JPEG, то есть изображение передавалось целиком. Если бы каждый кадр фильма пришлось сжимать индивидуально, мы бы никогда не достигли высокой степени сжатия MPEG-4/DivX. Поэтому в потоке используются P-кадры. Принцип их использования легче всего объяснить на примере: представьте себе программу новостей и диктора в ней. В течение программы фон за диктором, по большей части, остается неизменным. Поэтому мы можем отбросить ненужный фон и описывать только изменения, происходящие в избранных участках изображения. Для этого следует поделить изображение на отдельные блоки. Временные изменения блоков будут кодироваться в P кадре.

В DivX 5 добавляются B-кадры (двунаправленные). Давайте для примера рассмотрим прогноз погоды. Вначале метеоролог работает на фоне с первой половиной карты. Потом он переходит на другую сторону экрана. Те части карты, что были скрыты за его спиной, теперь появляются на экране. Если использовать обычное предсказывание, то кодек столкнется с проблемой: смещенные блоки (то есть метеоролог) могут быть заданы P-кадром, но что же делать с внезапно появившимся фоном (картой погоды)? DivX 5 кодек отличается в этом случае большим интеллектом и проверяет «будущий» видеопоток. Сейчас кодек использует прямое и обратное предсказание для сцены и создает B-кадры. Они могут существенно увеличить степень сжатия, однако эффективность B-кадров наблюдается лишь в сценах, подобных описанной выше.

Общая компенсация движения (GMC)

Общая компенсация движения помогает при увеличении («наезде» камеры) и при панорамировании (повороте камеры), если объект сохраняет свою статичность и меняется лишь в размере или местоположении на картинке. Включение GMC разумно при кодировании фильмов о природе и подобных.

Четверти пикселей (QP)

Четверти пикселей влияют на точность фильтрации макроблоков. DivX 4 работает с половинами пикселей (1.5, 1.5), а в DivX 5 возможны варианты типа 1.25, 1.75 и т.д. Обычно деление изображения на макроблоки производится на основе целых – 16x16 или 8x8 – используя дополнительную информацию из так называемых виртуальных блоков. Это позволяет более реалистично передавать движение объектов на изображении.

В стандартной версии нет BD, GMC и QP

QP, GMC и BD не могут быть использованы для кодирования в стандартной версии. Но декодирование остается возможным, даже если данные функции были использованы при кодировании.

Однопроходное и двухпроходное кодирование

Обычно двухпроходное кодирование позволяет достичь большей степени сжатия (меньшего размера файлов) и лучшего качества изображения. Но оно заметно сказывается на скорости кодирования. Стандартные программы редактирования видео типа Pinnacle Studio включают 2-проходное кодирование, но оно там не очень удобно. Оба прохода должны быть начаты вручную, один за другим. Приложения, оптимизированные под использование DivX, к примеру, Flask XMPEG 4.2a могут автоматически включать оба процесса без участия пользователя. Так намного удобнее.

В тестировании у нас возникли проблемы с северным мостом KT333 на плате Gigabyte GA-7VRXP (Athlon XP). Мы смогли предотвратить произвольные сбросы системы при 2-проходном кодировании только путем установки дополнительного охлаждения на северный мост. Три остальные тестовые платформы работали безупречно.

Общие параметры: добавление психовизуального моделирования

Сначала давайте обговорим, что подразумевается под психовизуальным моделированием. Человек воспринимает информацию таким образом, что он может очень быстро отличить важные элементы изображения от второстепенных. Именно на эту особенность и ориентируется психовизуальное моделирование. Сцена анализируется с помощью специального алгоритма, и, как предполагается, алгоритм отделяет важные объекты от второстепенных. К последним применяются менее точные алгоритмы сжатия, важные же объекты сжимаются с высокой точностью. В нашем тестировании мы провели несколько экспериментов на разных видеофрагментах. Что интересно, мы так и не смогли выделить какие-то заметные отличия в качестве. Позже мы более подробно исследуем функцию психовизуального моделирования. Даже от авторов мы услышали: «данная область дает очень богатые возможности, и мы пока лишь только начали их исследовать».

Инструменты для аналогового материала: пре-процессинг и чересстрочный источник

Пре-процессинг (preprocessing) и чересстрочный источник (source interlace) могут быть задействованы при оцифровке аналогового материала. Для высококачественного цифрового видео (DVD, DVB, цифровая камера) эти функции не актуальны. Цифровая технология не так развита в США, как в Европе. В Европе уже достаточно долгое время используется цифровое телевещание. Astra, европейский спутник, обеспечивает передачу цифрового видео используя стандарт DVB-S. В крупных европейских городах все аналоговые видеоканалы уже можно получать в «цифре» (стандарт DVB-C). Сейчас используется даже наземное цифровое телевещание через обычную антенну (стандарт DVB-T). Данные передаются в высоком качестве, поскольку для сжатия используется алгоритм MPEG-2. Следует заметить, что сейчас каждый может получать цифровое телевидение в DVD качестве практически повсеместно в Европе. В Северной Америке цифровое телевещание пока доступно только лишь в крупных городах.

Функции пре-процессинга и чересстрочного источника будут полезны при оцифровке аналогового видеопотока. Они позволяют уменьшить досаждающие эффекты типа пятен, снега или полос.

Прогрессивный формат является самым лучшим для проигрывания видео на ПК, он применяется в чистых цифровых источниках, типа DVD/MPEG-2, DV или DVB. Если же производится запись с телепрограммы NTSC или PAL, то на изображении могут появляться полосы. Это тяжкое наследие аналогового века. Полосы можно убрать с помощью функции де-интерлейсинга (de-interlace). Также следует отметить и процесс telecine, который используется в США для перевода фильма из стандарта 24 кадра/с в аналоговый формат NTSC (30 кадров/с). Для компенсации разницы между 24 и 30 кадрами, некоторые кадры дублируются. Функция, обратная telecine, позволяет убрать дублирующиеся кадры и повысить эффективность процесса кодирования.


В стандартной поставке DivX 5 отсутствуют режимы пре-процессинга

Дополнительные параметры: новый взгляд на старые вещи

Регулирование скорости (rate contol, RC) – функция, уже знакомая нам по DivX 4. Сейчас она была несколько переработана. В нижней части скрин-шота можно заметить инструмент преобразования DivX AVI файлов в DivX MP4. Мы пока затрудняемся сказать, насколько эта функция станет актуальной.

Дополнительные возможности управления: хранение профилей

Все настройки сейчас можно сохранить в профиле. Это позволяет вызывать разные настройки для разных приложений.

У проигрывателя можно менять скины

Хотя DivX/MPEG-4 фильмы можно с успехом проиграть и стандартным Windows media player, DivX Networks включили в поставку свой проигрыватель, в котором присутствует лишь несколько дополнительных функций. Нам очень понравилась возможность изменять формат кадра, что не реализовано в Microsoft media player. Сейчас DivX проигрыватель может использовать несколько скинов. Так что вы можете сделать внешний вид программы под свой вкус. Новые скины можно скачать на сайте DivX.com.

Изменяем качество проигрывания

Новый DivX проигрыватель пока находится лишь в стадии альфа-тестирования, так что в нем наверняка еще много ошибок. Будем надеяться, что бета-версия уже не за горами.

Владельцам ноутбуков и старых ПК с медленными процессорами (менее 500 МГц) следует установить движок в минимальное качество (крайняя левая позиция). Иначе могут возникнуть проблемы заикания или отставания изображения от звука. Чем ниже качество, тем меньше пост-фильтров применяется к изображению. Пост-фильтры позволяют значительно улучшить визуальное качество картинки.

Станет ли DivX 5.0 популярным?

В конце концов, DivX 5.0 обрел свою цену. Если у вас есть деньги, то лучше купите профессиональную версию за $30. Если вы не готовы выложить такую сумму, вы можете скачать баннерную версию программы с веб-сайта компании. Она бесплатна, но периодически вы будете получать рекламные баннеры. Время от времени на рабочем столе будут появляться всплывающие окна. Весьма досаждающее поведение.

И только стандартная версия осталась верна традициям: вы получаете все бесплатно и без рекламы, но вы не сможете использовать большое количество новых функций кодирования. В любом случае, стандартной версии достаточно для проигрывания DivX/MPEG-4 файлов.

Тестирование: Athlon снова впереди?

Платформа AMD Athlon XP
Процессор 1x Athlon XP 2000+ (1666/133 МГц DDR)
Память 512 Мб, DDR333, 2,7 Гбайт/с пропускная способность (один канал), 166 МГц, CL2.5, Samsung
Материнская плата Gigabyte GA-7VRXP
чипсет VIA Apollo KT333, 2,7 Гбайт/с максимальная пропускная способность памяти (один канал)
Платформа AMD Athlon MP
Процессор 2x Athlon MP 2000+ (1666/133 МГц DDR)
Память 512 Мб, DDR333, 2,7 Гбайт/с пропускная способность (один канал), 166 МГц, CL2.5, Samsung
Материнская плата MSI K7D (MS-6501)
чипсет AMD-760MPX, 2,1 Гбайт/с максимальная пропускная способность памяти (один канал)
Платформа Intel Pentium 4
Процессор Pentium 4 2000 (100 МГц FSB Quad Data)
Память 512 Мб, PC800 RDRAM, 3,2 Гбайт/с пропускная способность (два канала), 400 МГц, Samsung
Материнская плата Abit TH7II
чипсет Intel 850, 3,2 Гбайт/с максимальная пропускная способность памяти (два канала)
Платформа Intel Xeon
Процессор Xeon 2000 (400 МГц FSB Quad Data)
Память 512 Мб, PC800 RDRAM, 3,2 Гбайт/с пропускная способность (два канала), 400 МГц, Samsung
Материнская плата Tyan Thunder i860 (S2603)
чипсет Intel 860, 3,2 Гбайт/с максимальная пропускная способность памяти (два канала)
Общее аппаратное обеспечение
Видеокарта MSI G3Ti500 Pro-VTG (MS-8854) на GeForce3 Ti500
Жесткий диск 40 Гб, ATA100, 7200 об/мин, 5T040H4, Maxtor
Звуковая карта Creative Soundblaster Live 5.1
Драйверы и ПО
Видеодрайверы Detonator4 Series V23.11
Версия DirectX 8.1
ОС Windows XP

Чипсет KT333 вместе с DDR333 памятью помог AMD Athlon XP вырваться вперед. Параллельно несколько разработчиков ПО от AMD сделали то же самое, что и Intel несколько месяцев назад – помогли оптимизировать кодек.

Производительность однопроцессорных систем


Граница кодирования в реальном времени в 25 fps (PAL) уже давно была пройдена, как Intel, так и AMD. AMD Athlon XP получает больший прирост от нового кодека, нежели Intel Pentium 4.

Производительность двухпроцессорных систем

Владельцам двухпроцессорных систем следует возрадоваться – DivX нагружает оба процессора при кодировании. Но это еще не все. Платформа на Xeon работает более эффективно, почти в 2,5 раза быстрее реального времени. AMD дает несколько худший результат – Athlon MP работают в 2,3 раза быстрее реального времени.

Влияние новых настроек на производительность

Благодаря новым возможностям типа четвертых пикселя (QP), общей компенсации движения (GMC), двунаправленного кодирования (BD) качество фильма заметно улучшилось. Как показала практика, двунаправленное кодирование дает существенное улучшение качества, которое заметят даже самые ленивые. В некоторых ситуациях QP может снижать восприятие, особенно при выводе на монитор ПК. На телевизионном же экране QP хорошо себя проявляет. При включении новых настроек производительность кодирования ощутимо падает. По представленной диаграмме вы можете наглядно оценить падение. Мы протестировали однопроходное и двухпроходное кодирование с различными комбинациями QP/GMC/BD. Что касается производительности, мы видим явное преимущество Athlon XP над Pentium 4.

Значения для Athlon показаны зеленым, для Pentium 4 – синим.

Влияние новых настроек на размер выходного файла

Двухпроходное кодирование по-прежнему приводит к существенному уменьшению размера файла. Для тех пользователей, которые желают получить максимально высокое качество при самом маленьком размере, мы рекомендуем использовать двухпроходное кодирование с включенным BD.

Значения для Athlon показаны зеленым, для Pentium 4 – синим.

Заключение

DivX Network сейчас преобразовалась в компанию. Но новая форма организации не всегда добавляет профессионализма и приводит к рыночному успеху. По-прежнему, у DivX Networks существуют прекрасные предпосылки для массового выхода на рынок, вспомните появление MP3. Когда аудиокодек стабилизируется, а преимущества качественного и мощного сжатия станут очевидными для большинства пользователей, кодек начнет свое победное шествие по миру. Если вспомнить MP3, то первой компанией, рискнувшей выпустить MP3 проигрыватель, стала Diamond Multimedia. После этого рынок был наводнен MP3 продуктами. Старый добрый кассетный Walkman теперь можно выбросить на помойку.

Подобно MP3 в звуке, DivX/MPEG-4 может революционизировать рынок цифрового видео. Подумайте, уже сейчас DVD диски сжимаются до размеров обычного CD. Владельцы ноутбуков могут записать на свой диск в 10 раз большее количество видеоматериалов. Скажем, на жесткий диск ноутбука можно поместить несколько учебных фильмов. Фильмы можно скопировать на относительно небольшой жесткий диск, чтобы взять его, к примеру, в поездку. DivX/MPEG-4 фильмы сейчас уже достаточно распространены в Интернете. Благодаря такому формату передача видео не так сильно загружает каналы, как могла бы. Наконец-то появилось средства передачи видеоинформации на PDA, UMTS мобильные телефоны или цифровые видеоплееры.

До сих пор DivX Networks выпускала лишь кодек для кодирования и декодирования, который можно с легкостью вызывать из приложений через API Video-for-Windows. Поставляемый в комплекте плеер можно считать лишь дополнительным компонентом, поскольку большинству пользователей достаточно стандартного Microsoft media player.

Если посмотреть со стратегической точки зрения, то разумно было бы и дальше улучшать дружественность интерфейса пользователя в программах по кодированию видео, поскольку профессиональные приложения типа Adobe Premiere или Pinnacle Studio слишком «тяжелы» для массового рынка. Пока что для быстрого редактирования DV ленты, или для копирования нескольких DVD на CD-ROM требуется использовать ряд довольно сложных программ. Для того чтобы фильм поместился на CD-ROM, пользователю требуется рассчитать настройки кодека. Если DivX Networks смогут предоставить легкие и простые инструменты для достижения указанных целей, то мы сможем наблюдать победное шествие компании.

Дополнительные материалы:

DVD-RIP. Часть 1.
DVD-RIP. Часть 2. Smart Bitrate Control - новый шаг в сжатии цифрового видео
DVD-RIP. Часть 3. DivХ version 4.0 beta
DVD-RIP. Часть 4. Звук в Divx:)


31.05.2002 - Отзыв на статью.

Как известно, существует 2 режима сжатия видеопоследовательностей – с постоянным потоком (Constant bit-rate, CBR) и переменным (Variable bit-rate, VBR). Второй однозначно эффективнее, т.к. в самом видеоряде от сцены к сцене меняется интенсивность движения, количество деталей и проч. Кодирование с переменным потоком подстраивается под эти изменения и сохраняет качество любого кадра на заданном уровне, который определяется квантованием. Чем выше квантование, тем грубее округляются коэффициенты при дискретно-косинусном преобразовании и больше искажений. Единственная загвоздка с VBR – это то, что вы никогда не угадаете, сколько займёт ваш фильм при заданном качестве. Тут на помощь может придти двухпроходное кодирование. На первом проходе кодек вычислит средние количество движения и насыщенность деталями за весь фильм, а на втором сам применит нужное квантование, исходя из введённого вами потока (который вы вычисляете, разделив желаемый размер на время). При одинаковом потоке двухпроходное кодирование ничуть не лучше однопроходного, только дольше примерно в 1,5 раза, и нужно лишь тогда, когда вы хотите во что бы то не стало впихнуть длинный фильм на одну болванку.

Итак, на первой закладке в настройках DivX выбираем 1-pass quality-based, квантование примерно 6,3, что соответствует условному качеству 85% (сами потом решите, устраивает оно вас или нет), ниже в MPEG4 tools (это поле активизировано только в версии кодека Pro) ставьте единственную галку напротив пункта Use Bidirectional Encoding и переходим на вторую закладку. Ах, объяснить? Можете сами проверить мои эксперименты, но опция Quarter Pixel только увеличит конечный размер файла на 5% при увеличении времени кодирования в 1,5 раза (а качество, как вы понимаете, при этом не меняется, оно задано нами), хвалёная опция GMC практически не уменьшит конечный размер файла при увеличении времени кодирования на треть. Что касается единственно рекомендуемого двунаправленного кодирования, оно уменьшает размер файла на треть (!) при возрастающих на четверть временных затратах. Особенно умиляет часть опубликованного на известном сайте Tom’s hardware, а затем и переведённого (без тени сомнений) на русский и размещённого на www.3dnews.ru материала "DivX 5.0: пора зрелости", где в таблице "Оценка размера выходного файла" авторы проводят своё тестирование вышеупомянутых опций. Господа, ну если вы сжимаете в CBR, о каком влиянии на размер файла идёт речь, вы ведь сами задаёте битрейт! Вот и получилось смешно – максимум на 2% уменьшили, а двухпроходное кодирование, дескать, вообще аж на 10% круче (только вот DivX 4.12 без всяких наворотов оказался на 12% круче 8-)) Ещё не премину заметить, что цикл статей про стандарты видеосжатия MPEG всё на том же сайте 3DNews, написанный неким Дан Гьеном, грешит страшной неинформативностью, очень напоминающей искусство советских руководителей МИДа "говорить много, не сказав ничего" (цитата © Л.Парфёнов , "Намедни").

Не следует забывать и ещё об одном важном аспекте – воспроизведении получившихся клипов. Так, на Celeron-900 в Windows Media Player сжатый сюжет с разрешением 720х576 проигрывался с загрузкой процессора: без MPEG4 tools – 55%, В-frames on – 65%, GMC on – 75%, QP on – 80%, а всё вместе вообще вызвало "зашкаливание". Все приведённые мной цифры являются приблизительными, они будут немного варьироваться в зависимости от характера материала, освещения, используемых спецэффектов и т.д. Но общие выводы изложены – пользуйтесь ими. По аналогии с типичной для MPEG2 структурой GOP IBP 15/3 или 12/3 сжатый указанным способом файл будет иметь IBP 300/2.

С уважением, к.т.н. Павел Ерофеев Pinnacle Systems Promotion Group



Оригинал материала: https://3dnews.ru/169173