Крупнейший каталог ресурсов по сжатию! Пополняйте!
Все о сжатии. Авторский проект. Forum
Сайт о сжатии >> Новинки | О сервере (Compression Catalog! | ENGLISH)
Книга "Методы сжатия данных" >> Без потерь | Изображений | Видео
Разделы >> Cтатьи | Видео | Arctest | Ссылки | Ru.compress | Форум
Проекты >> Д.Ватолина | А.Ратушняка | М.Смирнова | В.Юкина | Е.Шелвина | Д.Шкарина
---------------------------------------------------------
Выложены:
* 4-й тест Н.264 кодеков!
* Скачан миллионный фильтр!
* Метрика MSU VQM ver 1.5
Сайт подключен к Orphus. Если вы заметили опечатку, выделите слово и нажмите Ctrl+Enter. Спасибо!
Сайт о сжатии >> Раздел по видео WIN | KOI | LAT
ENGLISH VERSION

Улучшение кодека x264


MSU Graphics & Media Lab (Video Group)

Руководитель: Дмитрий Ватолин
Реализация: Алексей Носков,
Александр Паршин,
Владимир Попов

 

Введение

x264 - бесплатный кодек стандарта MPEG4 AVC/H.264 с открытым кодом, создаваемый программистами всего мира. На сегодняшний день x264 является одним из лучших кодеков своего стандарта, что подтверждено различными сравнениями.

 

Описание улучшений

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

В кодеке x264 активно используется накопленная по предыдущим кадрам статистика для улучшения работы адаптивных моделей. В первых же кадрах фильма данные статистики еще не собраны, и потому для сжатия используются коэффициенты, задаваемые пользователем, или, если они не заданы, стандартные значения.

Проведённый анализ показал, что выбранные значения по умолчанию в большей степени соответствуют высоким битрейтам. Как следствие, на низких битрейтах возникает необоснованное завышение качества первых кадров, что ведет, в свою очередь, к занижению качества последующих кадров и занижению результата в среднем по последовательности.

Рис 1. Покадровые значения метрики PSNR до и после модификации кодека x264. Последовательность "Matrix".

Для устранения этого недостатка, были проведены измерения на различных тестовых последовательностяхс целью выбора оптимальных коэффициентов для различных битрейтов.

В измерениях варьировались два коэффициента:

  • start_qp - начальный коэффициент квантования. Используется для вычисления коэффициента квантования на первых кадрах, где статистика еще не накоплена. К сожалению, в кодеке отсутствует возможность задавать его для режима ABR из командной строки. Потому для удобства тестирования эта возможность была добавлена в кодек.
  • ipratio - модификатор коэффициента квантования I-фреймов. В процессе вычисления коэффициента квантования для I-фреймов используется результат собранной по P-фреймам статистики, деленный на коэффициент ipratio. Этот параметр может задаваться из командной строки, в виде: ipratio = <число>

В подборе участвовали последовательности из следующего набора:

  • bbc - стандартная тестовая последовательность
  • susi - стандартная тестовая последовательность
  • battle - отрывок из фильма «Терминатор-2»
  • matrix - отрывок из фильма «Матрица»

Каждая последовательность сжималась с битрейтами 100, 225, 460, 938, 1340, 2340 kbps. Для каждого битрейта коэффициенты менялись следующим образом: start_qp - в пределах от 24 до 48 с шагом 2, ipratio - от 0.50 до 1.50 с шагом 0.25, что позволило выбрать оптимальные значения параметров для каждого битрейта и каждой последовательности из тестового набора. Границы изменения и шаги были подобраны исходя из двух требований: с одной стороны они с достаточной точностью покрывают все возможные оптимальные значения, а с другой, количество измерений позволяет провести все их за разумное время.

Рис 2. Зависимость среднего значения PSNR от параметров «start_qp» и «ipratio»для последовательности «matrix», 938kbps.

Как можно видеть на Рис 2, качество сжатого фильма зависит более всего от начального коэффициента квантования, а варьирование модификатора для I-фреймов не вносит столь заметного изменения. Поэтому было решено внести изменения только в начальный коэффициент квантования.

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

Для аппроксимации экспериментальной кривой было решено использовать степенную функцию вида

,

где a,b и c - неизвестные коэффициенты. Выбор коэффициентов проводился при помощи метода нелинейной оптимизации Левенберга-Маркара. После проведённой оптимизации функция приняла вид:

.

 

Результаты

После внесённых изменений улучшилась работа кодека на низких битрейтах. В качестве теста был использован ряд последовательностей, которые не участвовали в подборе параметров. Большинство из этих последовательностей демонстрируют, что модифицированная версия превосходит результаты исходной версии кодека на низких битрейтах и обеспечивает такое же качество на средних и высоких. Использовались исходные тексты кодека от 12 февраля 2006 года. Кодек запускался со следующими параметрами:

x264 --bitrate=<target_bitrate> --fps=<fps> --me=umh --merange=32 --subme=6 --ref=16
--analyse=all --direct=spatial --pbratio=1.5 --bframes=3 --weightb -o <output_file> <input_file> <width>x<height>

На следующих графиках показаны полученные результаты на двух примерах. Последовательность "Matrix" использовалась в тестовом наборе, в то время как последовательность "Flower" не была в него включена.

Рис 3. Улучшения кодека x264 на последовательности "Flower"

Рис 4. Улучшения кодека x264 на последовательности "Flower", относительный Y-PSNR.

Рис 5. Улучшения кодека x264 на последовательности "Flower", низкие битрейты.

Рис 6. Улучшения кодека x264 на последовательности "Matrix", относительный Y-PSNR.

 

Ссылки

Сравнения кодеков с участием x264:


Страницы кодека:

 

Download

 

E-mail

 

Other materials

Материалы по видео

Общедоступные видеофильтры
Доступные фильтры для VirtualDub и AviSynth. Обычно мы разрабатываем семейства фильтров. Свяжитесь с нами для получения версий, оптимизированных под ASIC/FPGA/DSP.
Коммерческие видеофильтры
Мы работаем с Intel, Samsung, Real Networks и другими компаниями над адаптацией наших фильтров для специфических видеопотоков и аппаратного обеспечения, такого как телевизоры, видеокарты и т.д. Свяжитесь с нами, если Вам нужна лицензия на такие фильтры.
Сравнения кодеков
Объективные и субъективные сравнения качества
видеокодеков и кодеков изображений.
Метрики качества видео
Различные реализации объективных и субъективных метрик качества видео.
Проекты по видеокодекам
Проекты по исследованию и разработке видеокодеков.
Разное
Другая информация.

Статьи по темам



Смотрите также материалы:
- По цветовым пространствам
- По JPEG
- По JPEG-2000

Последнее обновление: 12-October-2007


Поиск:
Справка Детальный запрос
Размер сервера: 7476 файлов 920Мб

Сайт о сжатии >>
  Новинки | О сервере | Статистика

  Книга "Методы сжатия данных" >>
     Универсальные | Изображений | Видео

  Разделы >> Download (статьи+исходники) | Ссылки | Ru.compress | Arctest | Видео | Каталог ссылок | Форум
  Проекты >> Д.Ватолина | А.Ратушняка | М.Смирнова | В.Юкина | Е.Шелвина | А.Филинского | Д.Шкарина | С.Оснача
---------------------------------------------------------
  Оставьте ваши замечания, предложения, мнения!
  О найденных ошибках пишите на compression_на_graphicon.ru
  © Д.Ватолин, А.Ратушняк, М.Смирнов, В.Юкин, Е.Шелвин, Д.Шкарин и др., текст, состав., 2001-2008
  © А.Андреев, оформление, 2002

Rambler's Top100 Рейтинг@Mail.ru

Project supported by:
Этот документ можно скачать с http://www.compression.ru/video/x264/x264_improvement_ru.html