| Крупнейший каталог ресурсов по сжатию! Пополняйте! |
| ||
|
Сайт о сжатии >>
Новинки |
О сервере
(Compression Catalog! |
ENGLISH)
Книга "Методы сжатия данных" >> Без потерь | Изображений | Видео Разделы >> Cтатьи | Видео | Arctest | Ссылки | Ru.compress | Форум Проекты >> Д.Ватолина | А.Ратушняка | М.Смирнова | В.Юкина | Е.Шелвина | Д.Шкарина |
||
| Выложены: * 4-й тест Н.264 кодеков! * Скачан миллионный фильтр! * Метрика MSU VQM ver 1.5 |
| Сайт подключен к Orphus. Если вы заметили опечатку, выделите слово и нажмите Ctrl+Enter. Спасибо! |
Улучшение кодека x264MSU Graphics & Media Lab (Video Group)
Руководитель: Дмитрий Ватолин
|
|
|
||||||||||||||
|
x264 - бесплатный кодек стандарта MPEG4 AVC/H.264 с открытым кодом, создаваемый программистами всего мира. На сегодняшний день x264 является одним из лучших кодеков своего стандарта, что подтверждено различными сравнениями.
|
||||||||||||||
|
|
||||||||||||||
|
Для улучшения был выбран режим кодека ABR, в котором кодер стремится сжать фильм с наилучшим качеством при заданном среднем битрейте, не выходя за ограничения размера буфера. В кодеке x264 активно используется накопленная по предыдущим кадрам статистика для улучшения работы адаптивных моделей. В первых же кадрах фильма данные статистики еще не собраны, и потому для сжатия используются коэффициенты, задаваемые пользователем, или, если они не заданы, стандартные значения. Проведённый анализ показал, что выбранные значения по умолчанию в большей степени соответствуют высоким битрейтам. Как следствие, на низких битрейтах возникает необоснованное завышение качества первых кадров, что ведет, в свою очередь, к занижению качества последующих кадров и занижению результата в среднем по последовательности.
|
||||||||||||||
|
||||||
|
Для устранения этого недостатка, были проведены измерения на различных тестовых последовательностяхс целью выбора оптимальных коэффициентов для различных битрейтов. В измерениях варьировались два коэффициента:
В подборе участвовали последовательности из следующего набора:
Каждая последовательность сжималась с битрейтами 100, 225, 460, 938, 1340, 2340 kbps. Для каждого битрейта коэффициенты менялись следующим образом: start_qp - в пределах от 24 до 48 с шагом 2, ipratio - от 0.50 до 1.50 с шагом 0.25, что позволило выбрать оптимальные значения параметров для каждого битрейта и каждой последовательности из тестового набора. Границы изменения и шаги были подобраны исходя из двух требований: с одной стороны они с достаточной точностью покрывают все возможные оптимальные значения, а с другой, количество измерений позволяет провести все их за разумное время.
Как можно видеть на Рис 2, качество сжатого фильма зависит более всего от начального коэффициента квантования, а варьирование модификатора для I-фреймов не вносит столь заметного изменения. Поэтому было решено внести изменения только в начальный коэффициент квантования. Собранная статистика была аппроксимирована достаточно простой функцией, зависящей от заданного кодеку битрейта и вычисляемой каждый раз при инициализации кодека, что дало прирост качества сжатого фильма и уменьшение размера файла. Для аппроксимации экспериментальной кривой было решено использовать степенную функцию вида
где a,b и c - неизвестные коэффициенты. Выбор коэффициентов проводился при помощи метода нелинейной оптимизации Левенберга-Маркара. После проведённой оптимизации функция приняла вид:
|
|
|
||||||||||||||||||||||
|
После внесённых изменений улучшилась работа кодека на низких битрейтах. В качестве теста был использован ряд последовательностей, которые не участвовали в подборе параметров. Большинство из этих последовательностей демонстрируют, что модифицированная версия превосходит результаты исходной версии кодека на низких битрейтах и обеспечивает такое же качество на средних и высоких. Использовались исходные тексты кодека от 12 февраля 2006 года. Кодек запускался со следующими параметрами: x264 --bitrate=<target_bitrate> --fps=<fps> --me=umh --merange=32 --subme=6 --ref=16
На следующих графиках показаны полученные результаты на двух примерах. Последовательность "Matrix" использовалась в тестовом наборе, в то время как последовательность "Flower" не была в него включена.
|
||||||||||||||||||||||
|
|
||||||||||||||
|
Сравнения кодеков с участием x264:
Страницы кодека: | ||||||||||||||