Научная статья на тему 'Описание процесса разработки наглядного метода оценки ошибки сжатия при кодировании видео'

Описание процесса разработки наглядного метода оценки ошибки сжатия при кодировании видео Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
306
52
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КВАЛИМЕТРИЯ / ОЦЕНКА ВИДЕО / РЕФЕРЕНСНЫЙ МЕТОД ОЦЕНКИ ВИДЕО / НАГЛЯДНЫЙ МЕТОД ОЦЕНКИ ВИДЕО / ВИДЕОКОДЕКИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Горохова-алексеева А. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Описание процесса разработки наглядного метода оценки ошибки сжатия при кодировании видео»

Описание процесса разработки наглядного метода оценки ошибки сжатия при кодировании видео

Горохова-Алексеева A.B.

Национальный исследовательский университет "Высшая школа экономики",

щогаЩ,304.ru

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

Ключевые слова: квалиметрия, оценка видео, референсный метод оценки видео, наглядный метод оценки видео, видеокодеки.

1 Введение

1.1 Актуальность

С тех пор, как бытовые компьютеры стали работать с видео, были созданы десятки кодеков различного назначения, но наиболее эффективны в сжатии те, что применяются для доставки видео конечному пользователю: в них применяется деструктивное сжатие, но визуально они позволяют сохранить достаточно высокое качество изображения. Это позволило видеоформатам высокого разрешения стать распространенными в быту.

1.2 Существующие методы и их применимость

В видеотехнологиях применяются универсальные, но не очень наглядные метрики качества (PSNR, PEVQ, SSIM, SZD [Wang at al., 2012; Winkler, 2005]), отчего они используются преимущественно техническими специалистами.

Визуальное сохранение качества изображения зачастую достигается потерей высокочастотных (мелкой детализации) элементов изображения в трудноразличимых областях [Salomon, 2007], но при обработке изображения (например, при повышении яркости) ранее невидимые области становятся хорошо заметны вместе со всеми артефактами сжатия [Bardosh, 2007]. Результаты оценки качества сжатия с помощью, например, PSNR не помогают локализовать места потерь и их критичность.

Описание процесса разработки наглядного метода оценки ошибки сжатия

при кодировании видео_

Требуется визуальный метод, дающий так же и численные значения для количественной оценки.

1.3 Существующие исследования

При оценке качества статических изображений и видео могут применяться как методы явного сравнения исходного файла (потока) и результирующего файла (потока), так и перцепционные методы, при помощи которых возможно сравнение визуальных ощущений [Alpert et al., 1997], а не математически точное сравнение. Такие методы, как правило, используют мощный математический аппарат. В то же время, для изучения и оценки поведения кодеков в различных ситуациях более применимы наглядные методы точной оценки [Seshadrinathan, Bovik, 2009], например, анализ разницы изображений.

Данная работа будет продолжаться в области оценки качества видеотрансляций, что потребует исследования методов оценки полученных зрителем видеопотоков без исходного потока [Yim, Bovik, 2011], а также оценки динамических характеристик принятого видео: задержки и плавности.

При выборе метода оценки значимой характеристикой является наглядность и "прозрачность" метода. Общепринятая оценка пикового соотношения сигнал/шум (PSNR) распространена, но не даёт понятных ориентиров для понимания, на что же повлияло кодирование с теми или иными параметрами.

1.4 Постановка задачи

Данное исследование ставит целью создание метода, сочетающего объективную численную оценку погрешности кодирования и визуальную наглядность результирующей ошибки. Данное исследование носит отчасти образовательный характер, так как позволяет изучить поведение кодеков и наглядно представить результаты при подготовке к кодированию различных специфических материалов или потоков, например [Korolev, 2014].

Предлагаемый метод применен для сравнения эффективности трёх кодеков: Н.264, HEVC и VP9. В статье показан принцип составления сравнительной характеристики для этих кодеков. Исследование проводилось при помощи максимально доступных инструментов (ImageMagick, FFMPEG, командный язык Windows), поэтому эксперименты могут быть легко повторены. В статье так же приводятся ссылки на исходные файлы. Ход эксперимента так же описан в [Горохова-Алексеева, 2015].

2 Постановка эксперимента

В качестве исходных данных использовались кадры в формате PNG. Они были получены либо непосредственным синтезированием, либо, как в некоторых экспериментах, натуральная съемка с камеры разбивалась на отдельные кадры. Затем из отдельных кадров при помощи lossless-кодека Huffyuv генерировался оригинал видео высокого разрешения (1920x1080) для последующего перекодирования. Тестовые видеоролики имели длину 10 секунд и частоту кадров равную 25 кадрам в секунду.

Выбор комбинации PNG изображений и кодека Huffyuv обусловлен требованием отсутствия следов деструктивного сжатия на оригинале видео. Оба они осуществляют сжатие без потерь, не применяют цветовую субдескритизацию.

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

Для эксперимента были выбраны кодеки MPEG-2 и Н.264. Затем были также рассмотрены кодеки Н.265 (HEVC) и VP9. Видео кодировалось с несколькими битрейтами: 512, 1024, 2048, 4096, 8192 и 16384 кбит/с. Эти значения покрывают типовой интервал, в котором кодируют видео для конечного пользователя.

Все вариации метода основаны на оценке кадров-разниц, пример одного из которых приведен на Рис. 1. Такие кадры получаются путем покадрового вычитания закодированного видео из оригинала. Чем ярче пиксель, тем больше разница закодированного видео с оригинальным.

Рис. 1. Пример кадра-разницы

Описание процесса разработки наглядного метода оценки ошибки сжатия

при кодировании видео_

3 Метод 1. Гистограммный

3.1 Описание метода

Данный метод заключался в последовательном выполнении следующих действий:

1. Построение видео-разницы, состоящего из кадров-разниц.

2. Построение гистограммы трех цветовых каналов (красного, зеленого и синего) каждого кадра-разницы.

3. Построение средней гистограммы всего видео-разницы.

4. Вычисление среднего значения гистограммы видео, равного среднему значению ошибки на видео.

Подробнее этот метод описан в [Горохова-Алексеева, 2014].

На выходе работы этого алгоритма были получены следующие данные: значение ошибки на видео, гистограммы трех цветовых каналов.

В случае необходимости оценить значение ошибки на определенной области кадра, было необходимо создать черно-белое изображение с маской.

3.2 Постановка эксперимента

В эксперименте были использованы 5 искусственно синтезированных видеороликов:

1. Видео с черным фоном.

2. Видео с низкой глубиной резко изображаемого пространства (ГРИП).

3. Видео с размытым белым шумом.

4. Видео с высокой ГРИП.

5. Видео с белым шумом.

Поверх каждого видео была наложена фотография человека, сохраненная из RAW-файла в PNG, для оценки ошибки сжатия на объекте в фокусе.

В данном эксперименте рассматривались только два кодека: Н.264 и MPEG-2.

3.3 Использованные средства

Описанный алгоритм был реализован в виде двух программ, написанных на языке С++. Для работы с видео был использован набор библиотек OpenCV, предоставляющий доступ к данным видео.

Первая программа производила покадровое вычитание видео и сохраняла видео-разницу в файл. Вторая программа анализировала полученное видео-разницу, вычисляла и строила гистограммы, сохраняя полученные результаты в файлы.

Изображения генерировались при помощи графического редактора Adobe Photoshop.

3.4 Полученные результаты

В результате работы метода были составлены таблицы, подобные Таблице 1. Такие таблицы позволяли оценить эффективность работы каждого кодека: степень сжатия файла и потери при таком уровне сжатия.

Таблица 1. Значения ошибок кодеков на всем кадре для кодеков Н.264 и МРЕО-2 для

видео с полностью черным фоном

ГРИП Ые(1 Green Blue

Для всего кадра

Высокая 0,3607 0,6142 0,3441

Низкая 0,1890 0,4545 0,2446

Для главного объекта

Высокая 0,5905 1,6554 0,6048

Низкая 0,5993 1,5370 0,7058

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

3.5 Анализ метода

В ходе анализа метод показал себя достаточно наглядным:

• Видео-разницы и кадры-разницы позволяли визуально определить распределение ошибок и оценить их значимость.

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

• Значения ошибок, получаемые на выходе работы программы, удобно записывались в таблицы. Кроме того, эти значения визуализировались при помощи построения графиков по опорным точкам.

В ходе анализа работы кодеков при сопоставлении числовых значений, записанных в таблице, и кадров-разниц, было обнаружено несоответствие числовых данных наблюдаемой картине. При дальнейшем разборе было выяснено, что ОрепСУ не подходит для реализации такого рода экспериментов: к оригиналу видео после открытия в ОрепСУ применялось деструктивное сжатие, а также видео-разницы искажались ошибками кодирования. Таким образом, результаты эксперимента были признаны неверными, требовалось разработать и реализовать новый метод, не содержащий грубых погрешностей сохранения и открытия видео.

4 Метод 2. Попиксельный дифференциальный

4.1 Описание метода

К новому разрабатываемому методу были выдвинуты следующие требования:

Описание процесса разработки наглядного метода оценки ошибки сжатия

при кодировании видео_

1. Должны отсутствовать этапы, на которых возможна потеря или искажение информации, как это происходило при работе с OpenCV в предыдущем методе.

2. С учетом перспективы к развитию и работы с большими объемами данных, метод должен максимально автоматизироваться.

В соответствии с этими требованиями был разработан следующий алгоритм:

1. Оригинал видео и закодированный ролик разбиваются на отдельные кадры, сохраняемые в формате PNG без сжатия.

2. Кадры последовательно вычитаются друг из друга, получаются кадры-разницы.

3. Каждый кадр-разница с использованием бикубической интерполяции уменьшается до размеров одного пикселя.

4. Вычисляется среднее значение цветовых каналов по всему видео.

4.2 Постановка эксперимента

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

Кроме того, была написана вспомогательная программа на языке С++, анализирующая информацию, поступающую из Imagemagick, и вычисляющая среднее значение всех цветовых каналов на всем видеоролике.

Для автоматизации исследования были написаны небольшие программы на командном языке Windows, вызывающие необходимые команды в нужной последовательности. Более того, это предоставило возможность автоматической генерации некоторых материалов для исследования синтетических видео при помощи Imagemagick. Также были добавлены новые синтетически сгенерированные видео:

• панорама;

• трансфокация;

• проход человека перед камерой.

В число рассматриваемых кодеков помимо Н.264 и MPEG-2 также были добавлены HEVC и VP9.

4.3 Полученные результаты

Результаты эксперимента оформлялись таблицами, например Таблица 2 (отражает результаты только для кодеков Н.264 и MPEG-2), и графиками (Рис. 2).

Таблица 2. Значения ошибок кодеков МРЕО-2 и Н.264

Битрейт, кбит/с ОШИБКА

Красный Зеленый Синий

Указанный кодеку Реальный МРЕС-2 Н.264 МРЕС-2 Н.264 МРЕС-2 Н.264

МРЕС-2 Н.264

512 1 123 272 2.96 1.26 2.92 1.16 2.96 1.29

1 024 1 183 467 2.96 0.62 2.91 0.49 2.96 0.89

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2 048 2 056 679 2.59 0.26 2.42 0.23 2.86 0.34

4 096 4 044 582 1.53 0.12 1.36 0.12 1.82 0.13

8 192 7 955 486 1.09 0.00 1.09 0.00 1.18 0.00

16 384 15 951 455 1.09 0.00 1.09 0.00 1.09 0.00

Графики представлялись хорошим решением для окончательного представления результата, однако при более подробном анализе результатов были замечены некоторые несоответствия: ошибка кодирования кодека МРЕО-2 была ниже ошибки кодека Н.264 при том же битрейте, однако такое поведение нехарактерно для этих двух кодеков. Тогда при дальнейшем исследовании было замечено различие между битрейтом, указанным при кодировании, и реально полученным

битрейтом: зачастую кодировщик не соблюдал указанного битрейта. После этого на графики были нанесены дополнительные линии, отображающие реально полученный битрейт.

10,75 Ш25 «,75 9,25

п

5 8,75

5

Э

О 8,25

7,75 7,25 6,75 6,25

Рис. 2. Графики, отображающие среднюю ошибку кодеков Н.264, Н.265 и УР9

4.4 Анализ метода

По сравнению с первым описанным методом, данный метод полностью исключает внесение дополнительных погрешностей и искажений измерений в ходе произведения подсчетов. Однако, возросло время, затрачиваемое на вычисления: бикубическая интерполяция — более сложный для вычисления алгоритм, чем взятие среднего арифметического.

Описание процесса разработки наглядного метода оценки ошибки сжатия

при кодировании видео_

Кроме того, графики, содержащие два набора кривых (Рис. 3), весьма сложны для чтения и ненаглядны. В связи с этим возникло желание организации и представления данных в таком виде, в котором нелинейность изменения битрейта была бы автоматически учтена.

В ходе эксперимента МРЕО-2 показал себя неспособным соблюдать заданные битрейты, в виду чего был исключен из дальнейших исследований. Кроме того, оказалось, что информация об ошибке на каждом цветовом канале является излишней и в исследовании учитывается сразу усредненное значение ошибки по всем каналам.

ю.во 10.30 9,80 9__30 8,80 8.30 7.80 7.30 6,80 6.30

Среднее значение ошибки и реального битрейта \

512 1024 2048 4096

Битрейт

Н 264 — \*Р9

-- Н.265 Реальный битрейт

8192

16384

14450 12450

10450 *

8450

6450 ё

и

4450

2450

450

Н 265

Н.264 Реальный битрейт -\Ф9 Реальный битрейт

Рис. 3. Графики, отображающие среднюю ошибку кодеков Н.264, Н.265 и УР9 и

реальный битрейт

5 Метод 3. Математический

5.1 Описание метода

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

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

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

5.2 Постановка эксперимента

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

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

5.3 Полученные результаты

Результатом работы этого метода стали функции, описывающие поведение кодеков. Функции указаны в Таблице 2. Для наглядности по функциям были построены графики (Рис. 4), позволяющие предварительно провести сравнительную оценку кодеков.

Таблица 2. Аппроксимирующие функции

Кодек Функция Средняя ошибка аппроксимации

Н.264 18.564 - 1.519 * Ьп(х) 4.42801

НЕУС 11.879 - 0.866 * Ьп(х) 3.09489

УР9 7.882 - 0,387 *1т(х) 3.04082

7 6 4 3 : \ 1 4 » * * 1 . 1 V \ \ 4 УР9 \ 1 * Х^ 4 ч -----Н 265 ^^--- _ Н.264 * ■ и * - — _ - в ---- "-,„ * — ч

5000 10000 15000 20000 25000 30000 Рис. 4. Графики, отражающие поведение кодеков

5.4 Анализ метода

Данный метод позволяет:

Описание процесса разработки наглядного метода оценки ошибки сжатия

при кодировании видео_

1. оценить по графикам на Рис. 4 поведение кодеков на интересующем битрейте (или уровне ошибки);

2. оценить предполагаемые потери качества (или степень сжатия) при работе в интересующем диапазоне;

и, основываясь на этих данных, принять решение о кодировании тем или иным кодеком, уже представляя будущие издержки.

6 Заключение

В ходе исследования, описанного выше, было закодировано более трехсот видеороликов, общим объемом более 200 Гб. Результатом работы стал референсный метод, позволяющий провести автоматическую оценку потерь сжатия при кодировании видео. Состоятельность описанного метода доказана исследованиями, описанными в Части 5 данной работы. Они не являются обязательной частью для проведения оценки, однако могут нести в себе ценную информацию.

Список литературы

[Горохова-Алексеева, 2014] Горохова-Алексеева А. В. Альтернативный метод оценки качества сжатого видео // Материалы Всероссийской научно-практической конференции, г. Кемерово, 16-17 октября 2014 г. Кемерово, 2014. С. 238-239. [Горохова-Алексеева, 2015] Горохова-Алексеева А. В. Метод оценки кодеков сравнением ошибки кодирования // Научно-техническая конференция студентов, аспирантов и молодых специалистов НИУ ВШЭ им. Е.В. Армейского. Материалы конференции. М., 2015. С. 127-129.

[Alpert et al., 1997] Alpert, Т., Baroncini, V., Choi, D., Contin, L., Koenen, R., Pereira, F., Peterson, H. Subjective evaluation of MPEG-4 video codec proposals: Methodological approach and test procedures. In Signal Processing: Image Communication, Volume 9, Issue 4, May 1997, pp. 305-325

[Bardosh, 2007] Bardosh, K. The Complete Idiot's Guide to Digital Vide. Alpha, 2007, 313 pages.

[Korolev, 2014] Korolev, D. Object oriented approach to video editing and broadcasting to the Internet. Chapter 49 in DAAAM International Scientific Book 2014, B. Katalinic (Ed.), Published by DAAAM International, Vienna, Austria, 2014, pp. 605-614. [Salomon, 2007] Salomon, D. Data Compression: The Complete Reference. Science & Business Media, Mar 20, 2007,1120 pages

[Seshadrinathan, Bovik, 2009] Seshadrinathan, K., Bovik, A. C. Chapter 14 - Video Quality Assessment, In The Essential Guide to Video Processing (Second Edition), edited by A1 Bovik. Academic Press, Boston, 2009, pp. 417-436.

[Wang et al., 2014] Wang, Z., Bovik, A. C., Sheikh, H. R, Simoncelli, E. P. Image quality assessment: From error visibility to structural similarity. In Image Processing, IEEE Transactions on, Volumel3, Issue 4, April, 2014, pp. 600-612.

[Winkler, 2005] Winkler, S. Digital Video Quality: Vision Models and Metrics. John Wiley & Sons, Jan. 2005,192 pages.

[Yim, Bovik, 2011] Yim, C., Bovik, A. C. Evaluation of temporal variation of video quality in packet loss networks. In Signal Processing: Image Communication, Volume 26, Issue 1, January 2011, pp. 24-38.

i Надоели баннеры? Вы всегда можете отключить рекламу.