КРАТКИЕ СООБЩЕНИЯ
УДК 621.397
DOI: 10.17586/0021-3454-2017-60-11-1092-1095
ВРЕМЕННОЙ АНАЛИЗ КОДЕКОВ H.264
С. В. Кулешов, А. А. Зайцева
Санкт-Петербургский институт информатики и автоматизации РАН, 199178, Санкт-Петербург, Россия E-mail: [email protected]
Рассматривается способ анализа цифрового потока сжатых видеоданных, формируемого видеокодеками семейства H.264 с целью оптимизации их работы. Представлен сравнительный анализ некоторых популярных реализаций кодека H.264. Предлагаемый способ может использоваться как инструмент для исследования особенностей работы алгоритмов компрессии видеоданных, оценивания состава используемых кодеком технологий. Результаты работы программного модуля на основе предлагаемого подхода позволяют давать рекомендации по выбору конфигурации кодека для конкретных задач.
Ключевые слова: видеокодек, кодирование, декодирование, слайс, кадр
Современные кодеки аудиовизуальной информации используют обширный набор технологий представления структур данных и алгоритмических способов обработки контента (Sets of Capabilities — SOC), позволяющих при их комбинировании гибко управлять степенью сжатия и потребностью в ресурсах. По сути, это совокупность доступных алгоритмов, выбор которых может производиться в зависимости от обрабатываемых данных. Сложность внутреннего устройства кодеков и многообразие их конфигураций затрудняют их использование, а также зачастую делают непредсказуемой работу с сформированными ими потоками [1].
В ряде случаев при контроле и анализе работы кодеков группы H.264, а также для их оптимизации может оказаться полезен метод временного анализа видеопотока, предложенный в работе [2].
Для изучения кодеков представляет интерес анализ структур данных, формируемых алгоритмами [3]. С этой целью предлагается инструментальное средство, анализирующее исходный видеопоток в формате H.264 с последующей визуализацией структур данных, формируемых алгоритмами сжатия. В этом случае визуализации подлежит сечение по временной оси, соответствующее единичным последовательным слайсам.
Программная реализация предлагаемого в настоящей статье способа анализа цифрового потока сжатых видеоданных представляет собой модифицированную версию инструментального средства FFmpeg [4], построенного на базе библиотек Libav [5], которое является на данный момент наиболее полной коллекцией реализаций различных кодеков и форматов кодирования. Инструмент FFmpeg, обладающий средствами экспорта как метаданных о сжатых потоках аудиовизуальной информации, так и самих данных (кадров, субтитров, метаданных и параметров кадра), однако не предоставляет доступа к внутренним структурам кодеков. Предлагаемая модификация решает данную проблему путем добавления функции экспорта данных о ключевых структурах и их параметрах в промежуточный формат с последующим
Временной анализ кодеков H.264 1 093
анализом этих данных специально разработанным средством графического анализа. Существуют и другие коммерческие решения для углубленного исследования видеоданных [6], но они являются полностью закрытыми продуктами, что не позволяет вмешиваться в методику проводимых экспериментов.
Разработанный способ дает возможность производить извлечение и расшифровку следующих структур данных: элементов NAL (элементы транспортного потока верхнего уровня — Network Abstraction Layer), слайсов [7], макроблоков (структурный элемент кадра фиксированного размера 16*16 пикселов) [8—10]. Визуализатор формирует хромограммы, по виду которых, а также по их расположению в последовательности становится возможным анализировать особенности применения исследуемым кодеком различных алгоритмов и структур данных для хранения обработанных видеоданных. На рис. 1 приведена структурная схема способа временного анализа кодека.
Видеофайл
FFmpeg íP IF Макроблоки Визуализатор _к
Элементы NAL
Пакеты -V
Блоки параметров
Визуализация
Рис. 1
С использованием разработанного подхода и соответствующих инструментальных средств было проведено сравнение актуальных реализаций кодеков семейства H.264, используемых в наиболее распространенных устройствах, и выявлены характерные особенности исследуемых кодеков.
В кодеках, ориентированных на потоковую трансляцию контента, блоки параметров кодирования PPS (Picture Parameter Sets — наборы параметров изображения) и SPS (Sequence Parameter Sets — наборы параметров последовательности) размещаются в потоке с некоторой периодичностью. В свою очередь, кодеки, предназначенные для сохранения потока на носитель (видеокамеры, смартфоны), размещают блоки параметров PPS, SPS лишь в начале потока, сохраняемого в файл. Параметры кодирования (пара PPS, SPS) в файле передаются через каждые 56 слайсов (28 кадров), после чего следует I-кадр.
Программные кодеки обладают наиболее обширным набором одновременно используемых технологий кодирования, что приводит к большому количеству (несколько десятков) различных типов макроблоков, одновременно используемых в одном потоке. Это, с одной стороны, повышает качество сжатия, а с другой стороны — делает процесс декодирования такого потока более ресурсоемким.
Отличительной особенностью аппаратных кодеков в устройствах массового потребительского сегмента является ограниченный набор поддерживаемых технологий кодирования (SOC), что упрощает аппаратную реализацию, снижая стоимость разработки устройств, однако не позволяет реализовать весь потенциал сжатия кодеков H.264. На рис. 2 приведены примеры визуализации структур различных кодеков: а — программный кодек MainConcept AVC, б — кодек для мобильного устройства на платформе WindowsPhone.
Полный набор функций сжатия данных, определенных стандартом, реализуется только программными кодеками. Аппаратные кодеки используют, как правило, ограниченный набор типов макроблоков, типов предсказания и способов обхода, удовлетворяя при этом требованиям стандарта.
1094 С. В. Кулешов, А. А. Зайцева
Рис. 2
Предложенный способ визуализации структур, формируемых кодеками, дает наглядное представление о положении ключевого кадра и его связи с содержанием контента (смена плана, движение объектов), а также позволяет провести оптимизацию параметров кодирования в кодеках, разрешающих ручное управление: например, изменение частоты использования ключевых слайсов, включение/исключение элементов SOC, изменение параметров квантования, управление типом энтропийного сжатия и т. д.
Работа выполнена при поддержке бюджетный темы № 0073-2014-0005 и Программы РАН Ш.3 „Отделение нанотехнологий и информационных технологий", проект № 0073-20150007.
список литературы
1. Alexandrov V. V., Kuleshov S. V., Zaytseva A. A. Active data in digital software defined systems based on SEMS structures // Smart Electromechanical Systems, Studies in Systems, Decision and Control. 2016. Vol. 49. P. 61—69.
2. Кулешов С. В. Временной анализ активности видеопотока // Информационно-измерительные и управляющие системы. 2011. Т. 9, № 4. С. 48—51.
3. Кулешов С. В. Критерий оценки энергетической эффективности компрессии видеопотока // Информационно-измерительные и управляющие системы. 2010. Т. 8, № 11. С. 16—18.
4. Hong Zhao, Chun-long Zhou, Bao-zhao Jin. Design and implementation of streaming media server cluster based on FFmpeg // The Scientific World Journal. 2015. Art. ID 963083. 7 p. D0I:10.1155/2015/963083.
5. Libav — Open Source Audio and Video Processing Tools [Электронный ресурс]: <http://libav.org/>, дата обращения 10.06.2016.
6. Elecard StreamEye [Электронный ресурс]: <http://www.elecard.com/ru/products/professional/analysis/ streameye.html>, дата обращения 11.09.2017.
7. Карякин В. Л. Цифровое телевидение: Учеб. пособие. М.: СОЛОН-ПРЕСС, 2013. 448 с.
8. Iain E., Richardson G. H.264 and MPEG-4 Video Compression: Video Coding for Next-Generation Multimedia. John Wiley & Sons, Ltd., 2003.
9. Schwarz D. M., Wiegand T. CABAC and slices // JVT Document JVT-D020. Klagenfurt, Austria, 2002. 10. ISO/IEC 14496-10, ITU-T Rec. H.264. 2003.
Сведения об авторах
Сергей Викторович Кулешов — д-р техн. наук; СПИИРАН, лаборатория автоматизации научных
исследований; заведующий лабораторией; E-mail: [email protected]
Александра Алексеевна Зайцева — канд. техн. наук; СПИИРАН, лаборатория автоматизации научных
исследований; ст. научный сотрудник; E-mail: [email protected]
Временной анализ кодеков H.264
1095
Рекомендована Поступила в редакцию
лабораторией автоматизации 11.10.17 г.
научных исследований СПИИРАН
Ссылка для цитирования: Кулешов С. В., Зайцева А. А. Временной анализ кодеков Н.264 // Изв. вузов. Приборостроение. 2017. Т. 60, № 11. С. 1092—1095.
TEMPORAL ANALYSIS OF H.264 CODEC
S. V. Kuleshov, A. A. Zaytseva
St. Petersburg Institute for Informatics and Automation of the Russian Academy of Sciences,
199178, St. Petersburg, Russia E-mail: [email protected]
An approach to analysis of digital video stream compressed by H.264 video codec aimed at optimization of encoding parameters is proposed. Comparative analysis of various popular realizations of H.264 is presented. The proposed approach can be used as a tool to obtain the list of H.264 technologies implemented in given codec realization. The results of analysis provide an ability to optimize coding parameters for various usage scenarios.
Keywords: video, codec, coding, decoding, slice, frame
Data on authors
Sergey V. Kuleshov — Dr. Sci.; St. Petersburg Institute for Informatics and Automation of the
Russian Academy of Sciences, Laboratory of Research Automation; Head of the Laboratory; E-mail: [email protected] Alexandra A. Zaytseva — PhD; St. Petersburg Institute for Informatics and Automation of the
Russian Academy of Sciences, Laboratory of Research Automation; Senior Scientist; E-mail: [email protected]
For citation: Kuleshov S. V., Zaytseva A. A. Temporal analysis of H.264 codec. Journal of Instrument Engineering. 2017. Vol. 60, N 11. P. 1092—1095 (in Russian).
DOI: 10.17586/0021-3454-2017-60-11-1092-1095