Использование кодека H.264 в вещании
Тип компрессии Н.264, больше известный под названием MPEG-4 Part 10 Advanced Video Codec, достаточно быстро стал превалирующим стандартом видеокомпрессии для телевизионной индустрии.
Четвертое поколение кодеков, H.264 становится популярным даже среди контента для ведущих мобильных устройств. Производители устанавливают поддержку кодека практически во все устройства. Такая универсальность предполагает использование кодека повсеместно. Но это же качество делает кодек гораздо сложнее в настройках для оптимального использования, чем его предшественники. Он требует более высоких технологических мощностей для кодирования и декодирования процессов, что ограничивает его использование в устройствах низшей ценовой категории.
Это одна из тем, по которой ведутся многочисленные дискуссии о введении H.264 во все фазы телевизионного производства и о том, как быстро нужно адаптировать потоковую медиаиндустрию что бы полностью изменить ее цифровую сущность.
Что такое H.264?
H.264/MPEG-4 part10 AVC – передовая, на сегодняшний день, технология компрессии –результат коллективной работы команды известной как Joint Video Team (JVT). Группа была основана членами ITU (International Telecommunication Union) и (MPEG) Motion Picture Expert Group и опубликовала свой первый технический документ – спецификацию ITU-T H.264 и ISO/IES MPEG-4 Part 10 в 2003 году. Тогда же команда специалистов заверила, что кодек будет адоптирован и принят в производство телекоммуникационной и телевизионной индустрией уже вскоре.
Спецификация MPEG-4 определяет 27 отдельных и часто совместимых стандартов, названных Частями (Part), которые могут применяться в телевидении. Но некоторые из них не совместимы и не имеют никакого отношения к стандарту Part 10. Только Н.264 эквивалентен спецификации MPEG4 Part10. Что бы избежать конфузов следует придерживаться только этих понятий в подборе оборудования для производства.
H.264, в свою очередь, имеет также много подразделов, именуемых профилями, каждый из которых имеет свои специфические качества и пределы применений. Некоторые из них вытесняются более современными профилями. Спецификации меняются так часто, как происходит замена профилей.
Вещателям наиболее интересен Constrained Baseline Profile, который используется для интернет вещания и вещания для мобильных устройств с 2009 года. Для телевизионного наземного вещания используется Main Profile. Scalable High и Scalable High-Intra профиль, который был выделен из профиля High в 2007 году используется в видео продакшен и в некоторых широкополосных сетях. Также H.264 был стандартизирован для 3D видео начиная с 11-ой версии, учитывая возможное его применение в будущем в 3D телевидении.
H.264 унаследовал от своих предыдущих трех поколений кодеков основные направления в методиках кодирования, но с более развитым математическим аппаратом и с соответственными преимуществами.
— Кадры цифрового видео анализируются, сравниваются с предыдущими и последующими кадрами, детектируются тождественности и отличия. Как результат прогнозируется изображение воспроизводимого кадра и в последнем этапе, если данные теряются, то они восстанавливаются из предыдущих данных.
— Выбор различных алгоритмов кодирования для оптимального просчета процессов и контроль над их многообразием – особенность кодека. Это важно в оптимизации кодирования для узких полос пропускания и устройств с ограниченным разрешением.
Преимущества H.264
Кодек имеет несколько преимуществ, а именно:
— Низкий bit rate при высоком уровне качества. Это особенно важно для кабельных, спутниковых, а в Украине особенно важно для эфирных, операторов. Вместо одного канала с кодированием MPEG2, можно вместить два — с кодированием H.264. Это существенно удешевляет вещание и дает возможность вещать в приемлемом качестве там, где технологии передачи данных ограничены в полосе пропускания.
— Приемлемое качество изображение при низком bit rate. Это качество можно использовать в ограниченных полосах пропускания, например для мобильных устройств. Во многих случаях MPEG-4 является единственным возможным стандартом вещания при низком bit rate.
— Меньше технологий на рынке — больше аудитория. Если вы хотели бы добавить новую форму вещания, то шансы есть только у технологий кодирования базирующихся на H.264. Решения с использованием головных станций и инфраструктуры, поддерживающих MPEG-4, будет значительно дешевле, чем использование каких-то необычных устройств.
-Лучшая совместимость на долгое время. Выбор устройств поддерживающих H.264 постоянно расширяется, а в скором будущем каждое медиаустройство будет иметь встроенный кодек H.264. и так будет продолжаться до тех пор, пока это метод компрессии не сменит другой. Но он должен быть настолько революционным, что на его создание уйдут многие годы.
— Низкая стоимость внедрения. Невысокая конкуренция со стороны остальных стандартов приведет к быстрому росту рынка и понижению цены на продукты, также мы сможем наблюдать постепенное снижение спроса на дорогие мультистандартные устройства. Производство устройств совмещающих в себе кодер и плеер будет расти.
Оптимизация H.264 для телевидения
С гибкостью приходят и сложности. И H.264 не исключение. Установки кодера H.264 для вашего решения могут быть простыми, если выбрать их нажатием одной кнопки «по умолчанию». На самом деле оптимальная настройка кодера очень сложна. Только одна популярная библиотека настроек кодека H.264 имеет более 200 конфигураций .
К счастью наиболее распространенные set’ы имеются в шаблонах, тем не менее, лучшие возможности проигрывания видео могут быть выбраны только путем тщательной индивидуальной настройки в пользовательском интерфейсе.
Есть несколько критичных пунктов, которые особенно важны для H.264.
— Постоянный (CBR) и переменный (VBR) bit rate. При постоянном bit rate, а приблизительно половина трафика имеет CBR, нет никаких вопросов относительно сложности или других факторов, которые бы расширяли полосу пропускания. Это очень хорошее качество для потоков для мобильных устройств, потому что они имеют узкую полосу пропускания и не очень мощный процессор, которому легче обрабатывать постоянный поток данных без пиковых нагрузок. CBR также удобно использовать в интернет вещании, используя адаптивный стриминг. Потому что плеер автоматически переключается вперед и назад между различными потоками. А CBR помогает плееру синхронизироваться и воспроизводить видео бесшовно и стабильно.
Но CBR не оптимален со стороны качества, потому что поток не изменяется в зависимости от динамики и сложности видео. В то время как специфика VBR позволяет в необходимых сложных местах повышать bit rate и снижать степень сжатия для получения более качественного изображения. Это необходимо в сценах с быстрым движением мелких предметов. С другой стороны, больше битов — шире полоса пропускания. Это может создать большие проблемы. Поэтому если вы нуждаетесь в качественном H.264, скачайте фильм заранее.
— Размеры макроблока. Подобно другим кодекам H.264 создает в захваченном кадре индивидуальные распределения, называемые макроблоками. Компрессия видео и компенсационная технология, которая создает магическое сжатие каждого макроблока, в конечном счете, прогнозирует кадр, рассчитываемый из разницы между конечным и начальным макроблоками. Старые кодеки имели фиксированную величину макроблока 16х16 пикселей, но H.264 позволяет выбирать изменять этот размер. Несмотря на то, что минимальный размер блока составляет 4х4 пикселя, в особых случаях блоки могут уменьшаться до 1 пикселя, то есть не компрессироваться.
Малые, средние и большие блоки, чередуясь в кадрах, адаптивно регулируют процесс кодирования, способствуя получению оптимального изображения и в значительной мере определяя нагрузку процессора во время real-time кодирования. Для кодирования в вещательных решениях предпочтительно использовать минимальные макроблоки, но настолько что бы не вызвать пропуска кадров или других задержек связанных с отставанием компрессора. Увеличение размера макроблоков можно добиться, при необходимости, путем предварительной фильтрации изображения (например, блюринг). Главное определиться с компромиссом этих параметров.
Большинство профессиональных кодеров имеет возможность автоматически изменять размер макроблока при смене размера выходного кадра.
-GOP структура. Group of Picture (GOP) обычно изменяется так часто, как требуется вставить полный кадр, для воспроизведения прогнозируемых кадров без существенных потерь. Ваш выбор настроек может существенно повлиять на процесс кодирования. Большинство кодеров имеют автоматическую возможность вовремя вставлять в сцену полный кадр. Однако некоторый контент, например, как новости, имеет частые смены сцен, и частая автоматическая вставка полных кадров может привести к большим задержкам. Я помню одно такое устройство, которое не стартовало, если в новом футаже не было первого полного кадра. Ну, это из ряда вон, но увеличение структуры GOP за счет полных кадров может создать дополнительную задержку потока на 1-2 секунды. Если кэш устройства переполнится, то зрителей начнут раздражать стоп-кадры и рассыпание видео.
Таким образом, используя некоторые настройки кодека можно адаптировать изображение для конкретных задач.
P.S. Я бы не стал питать больших иллюзий по поводу качества вещания DVB-T2 в Украине. Используемый профиль с 8-битным преобразованием не позволит, даже при самых оптимальных решениях, поднять четкость ТВЛ выше 400. То есть четкость останется на том же уровне, что и сейчас. А размеры экранов в домохозяйствах за последние годы выросли в два раза. Да, конечно, уйдут эфирные помехи и шумы в зонах слабого и неуверенного приема. Но добавятся природные искажения, вносимые кодированием со скоростью потока всего лишь 2,5 мБс. Выход один – очень нежно фильтровать высокие частоты, увеличивая размер макроблоков, но без фанатизма. Как это сделать в отдельно взятой телекомпании с, как правило, непредсказуемым контентом – отдельная головная боль главных инженеров.