Расширенное кодирование видео

редактировать
Наиболее широко используемый стандарт сжатия видео Расширенное кодирование видео
Расширенное кодирование видео для общих аудиовизуальных услуг
СтатусДействующий
Год начала2003
Последняя версияиюнь 2019
ОрганизацияITU-T (SG16 ), ISO, IEC
КомитетVCEG, MPEG
Базовые стандартыH.261, H.262 (также известный как MPEG-2 Video ), H.263, MPEG-1
Связанные стандартыH. 265, H.266
Доменсжатие видео
Веб-сайтhttps://www.itu.int/rec/T-REC-H.264

Расширенный Кодирование видео (AVC ), также упоминаемое как H.264 или MPEG-4 Часть 10, расширенное кодирование видео (MPEG-4 AVC ) - это стандарт сжатия видео, основанный на блочно-ориентированном кодировании с компенсацией движений целочисленным DCT. Это, безусловно, наиболее часто используемый формат для записи, сжатия и распространения видеоконтента, который по состоянию на сентябрь 2019 года использовался 91% разработчиков видеоиндустрии. Он поддерживает разрешения до 8K UHD.

Целью проекта H.264 / AVC было создание стандарта, способного обеспечить хорошее качество видео при существенно более низкой скорости передачи данных, чем предыдущие стандарты (т. е. половину или меньшую скорость передачи MPEG-2, H.263 или MPEG-4 Part 2 ), не увеличивая сложность конструкции настолько, что это было бы непрактично или чрезмерно дорого в реализации. Это было достигнуто с помощью таких функций, как целочисленное дискретное косинусное преобразование с уменьшенной сложностью (целочисленное DCT), сегментация переменного размера блока и межкадровое предсказание для нескольких изображений . Дополнительная цель заключалась в обеспечении достаточной гибкости, позволяющей применять стандарт к широкому спектру приложений в самых разных сетях и системах, включая низкие и высокие скорости передачи данных, видео низкого и высокого разрешения, широковещательную передачу, DVD хранилище, RTP /IP пакетные сети и ITU-T мультимедийные системы телефонии. Стандарт H.264 можно рассматривать как «семейство стандартов», состоящее из ряда различных профилей, хотя его «высокий профиль», безусловно, является наиболее часто используемым форматом. Конкретный декодер декодирует по крайней мере один, но не обязательно все профили. Стандарт описывает формат закодированных данных и то, как данные декодируются, но не определяет алгоритмы кодирования видео - это оставлено открытым, поскольку разработчики кодировщиков могут выбирать сами, и было разработано большое количество схем кодирования. развит. H.264 обычно используется для сжатия с потерями, хотя также возможно создавать действительно кодированные без потерь области в изображениях с потерями с кодированием или для поддержки редких случаев использования, для которых полное кодирование без потерь.

H.264 был стандартизирован ITU-T группой экспертов по кодированию видео (VCEG) Исследовательской группы 16 вместе с ISO / IEC JTC1 Группа экспертов по движущимся изображениям (MPEG). Проект партнерства известен как Joint Video Team (JVT). Стандарт ITU-T H.264 и стандарт ISO / IEC MPEG-4 AVC (формально ISO / IEC 14496-10 - MPEG-4 Part 10, Advanced Video Coding) поддерживаются совместно, так что они имеют идентичное техническое содержание. Окончательная редакционная работа над первой версией стандарта была завершена в мае 2003 г., и в последующие редакции были добавлены различные расширения его возможностей. Высокоэффективное кодирование видео (HEVC), также известное как H.265 и MPEG-H Part 2, является преемником H.264 / MPEG-4 AVC, разработанным теми же организациями, хотя более ранние стандарты все еще широко используются.

H.264, пожалуй, наиболее известен как наиболее часто используемый формат кодирования видео на дисках Blu-ray. Он также широко используется для потоковой передачи интернет-источников, таких как видео с Netflix, Hulu, Prime Video, Vimeo, YouTube и iTunes Store, веб-программное обеспечение, такое как Adobe Flash Player и Microsoft Silverlight, а также различные HDTV вещает по наземному (ATSC, ISDB-T, DVB-T или DVB-T2 ), кабельному (DVB- C ) и спутниковые (DVB-S и DVB-S2 ) системы.

H.264 защищен патентами, принадлежащими различным сторонам. Лицензия, охватывающая большинство (но не все) патентов, существенных для H.264, находится в ведении патентного пула, администрируемого MPEG LA.

. Коммерческое использование запатентованных технологий H.264 требует оплаты роялти MPEG LA и другим владельцам патентов. MPEG LA разрешил бесплатное использование технологий H.264 для потоковой передачи Интернет-видео, которое является бесплатным для конечных пользователей, и Cisco Systems выплачивает роялти MPEG LA от имени пользователей двоичных файлов за его открытый источник кодировщик H.264.

Содержание

  • 1 Именование
  • 2 История
    • 2.1 Общая история
    • 2.2 Расширения диапазона точности и профессиональные профили
    • 2.3 Масштабируемое кодирование видео
    • 2.4 Кодирование многовидового видео
    • 2.5 3D- Стереоскопическое кодирование AVC и MFC
    • 2.6 Версии
    • 2.7 Патентообладатели
  • 3 Приложения
    • 3.1 Производные форматы
  • 4 Дизайн
    • 4.1 Возможности
    • 4.2 Профили
      • 4.2.1 Поддержка функций в частности профили
    • 4.3 Уровни
    • 4.4 Буферизация декодированного изображения
  • 5 Реализации
    • 5.1 Программные кодеры
    • 5.2 Аппаратное обеспечение
  • 6 Лицензирование
  • 7 См. также
  • 8 Ссылки
  • 9 Дополнительная литература
  • 10 Внешние ссылки

Именование

Имя H.264 соответствует соглашению об именах ITU-T, где стандарт является членом линии H.26x стандартов кодирования видео VCEG ; имя MPEG-4 AVC связано с соглашением об именах в ISO /IEC MPEG, где стандарт является частью 10 ISO / IEC 14496, который является набор стандартов, известный как MPEG-4. Стандарт был разработан совместно VCEG и MPEG после ранее проведенных работ по разработке в ITU-T в качестве проекта VCEG под названием H.26L. Таким образом, принято ссылаться на стандарт под такими именами, как H.264 / AVC, AVC / H.264, H.264 / MPEG-4 AVC или MPEG-4 / H.264 AVC, чтобы подчеркнуть общее наследие. Иногда его также называют «кодеком JVT» в связи с организацией Joint Video Team (JVT), которая его разработала. (Такое партнерство и множественное именование не редкость. Например, стандарт сжатия видео, известный как MPEG-2, также возник в результате партнерства между MPEG и ITU-T, где видео MPEG-2 известно Сообщество ITU-T как H.262.) Некоторые программы (такие как медиаплеер VLC ) внутренне идентифицируют этот стандарт как AVC1.

История

Общая история

В начале 1998 года Группа экспертов по кодированию видео (VCEG - ITU-T SG16 Q.6) отправила запрос для предложений по проекту под названием H.26L с целью удвоить эффективность кодирования (что означает уменьшение вдвое скорости передачи данных, необходимой для данного уровня точности) по сравнению с любыми другими существующими стандартами кодирования видео для широкого спектра приложений. VCEG возглавлял Гэри Салливан (Microsoft, ранее PictureTel, США). Первый проект проекта этого нового стандарта был принят в августе 1999 года. В 2000 году Томас Виганд (Институт Генриха Герца, Германия) стал сопредседателем VCEG.

В декабре 2001 г. VCEG и Группа экспертов по движущемуся изображению (MPEG - ISO / IEC JTC 1 / SC 29 / WG 11) сформировали Объединенную группу по видео ( JVT) с уставом для доработки стандарта кодирования видео. Официальное утверждение спецификации было получено в марте 2003 года. Председателями JVT были Гэри Салливан, Томас Виганд и Аджай Лутра (Motorola, США: позже Аррис, США). В июле 2004 г. был завершен проект Fidelity Range Extensions (FRExt). С января 2005 г. по ноябрь 2007 г. JVT работала над расширением H.264 / AVC в сторону масштабируемости с помощью Приложения (G) под названием Scalable Video Coding (SVC). Команда менеджеров JVT была расширена Йенсом-Райнером Ом (RWTH Aachen University, Германия). С июля 2006 г. по ноябрь 2009 г. JVT работала над Multiview Video Coding (MVC), расширением H.264 / AVC в сторону 3D-телевидения и ограниченного диапазона бесплатно- Точка зрения телевидения. Эта работа включала разработку двух новых профилей стандарта: Multiview High Profile и Stereo High Profile.

В процессе разработки стандарта были разработаны дополнительные сообщения для содержания дополнительной информации о расширении (SEI). Сообщения SEI могут содержать различные типы данных, которые указывают синхронизацию видеоизображений или описывают различные свойства кодированного видео или способы его использования или улучшения. Также определены сообщения SEI, которые могут содержать произвольные пользовательские данные. Сообщения SEI не влияют на основной процесс декодирования, но могут указывать, как видео рекомендуется обрабатывать или отображать. Некоторые другие высокоуровневые свойства видеоконтента передаются в информации о пригодности видео (VUI), например, указание цветового пространства для интерпретации видеоконтента. По мере разработки новых цветовых пространств, например, для видео с расширенным динамическим диапазоном и с широкой цветовой гаммой, для их обозначения были добавлены дополнительные идентификаторы VUI.

Расширение диапазона Fidelity и профессиональные профили

Стандартизация первой версии H.264 / AVC была завершена в мае 2003 года. В первом проекте по расширению исходного стандарта затем была разработана JVT. то, что называлось Fidelity Range Extensions (FRExt). Эти расширения обеспечили более качественное кодирование видео, поддерживая увеличенную точность выборки битовой глубины и информацию о цвете с более высоким разрешением, включая структуры выборки, известные как Y′C BCR 4: 2: 2 (также известные как YUV 4: 2 : 2 ) и 4: 4: 4. В проект FRExt также были включены несколько других функций, таких как добавление целочисленного дискретного косинусного преобразования 8 × 8 (целочисленное DCT) с адаптивным переключением между преобразованиями 4 × 4 и 8 × 8, определяемое кодером перцепционное матрицы взвешивания на основе квантования, эффективное межкадровое кодирование без потерь и поддержка дополнительных цветовых пространств. Проектные работы по проекту FRExt были завершены в июле 2004 года, а черновые работы по ним были завершены в сентябре 2004 года.

Затем были разработаны пять других новых профилей (см. Версию 7 ниже), предназначенных в первую очередь для профессиональных приложений, добавление поддержки цветового пространства расширенной гаммы, определение дополнительных индикаторов соотношения сторон, определение двух дополнительных типов «дополнительной информации улучшения» (подсказка после фильтра и отображение тонов) и отказ от одного из предыдущих профилей FRExt (High 4: 4: 4 профиль), на что указывают отзывы отрасли, должен был быть разработан иначе.

Масштабируемое кодирование видео

Следующей важной функцией, добавленной к стандарту, было Масштабируемое кодирование видео (SVC). Определенный в Приложении G к H.264 / AVC, SVC позволяет создавать потоки битов, которые содержат уровни подпотоков битов, которые также соответствуют стандарту, включая один такой поток битов, известный как «базовый уровень», который может быть декодирован с помощью H. 264 / AVC кодек, не поддерживающий SVC. Для масштабируемости временного битового потока (то есть наличия подпотока с меньшей временной частотой дискретизации, чем основной битовый поток), полные блоки доступа удаляются из битового потока при получении подпотока. В этом случае синтаксис высокого уровня и опорные изображения с межкадровым предсказанием в потоке битов строятся соответственно. С другой стороны, для пространственной масштабируемости и масштабируемости качественного битового потока (то есть наличия подпотока с более низким пространственным разрешением / качеством, чем у основного битового потока), NAL (Уровень абстракции сети ) удаляется из битового потока. при выводе подпотока. В этом случае межуровневое предсказание (то есть предсказание сигнала с более высоким пространственным разрешением / качеством на основе данных сигнала с более низким пространственным разрешением / качеством) обычно используется для эффективного кодирования. Расширения масштабируемого кодирования видео были завершены в ноябре 2007 года.

Кодирование видео с несколькими экранами

Следующей важной функцией, добавленной к стандарту, было Кодирование видео с несколькими экранами (MVC). Определенный в Приложении H к H.264 / AVC, MVC позволяет создавать потоки битов, которые представляют более одного представления видео сцены. Важным примером этой функциональности является кодирование стереоскопического 3D видео. В работе MVC были разработаны два профиля: профиль Multiview High поддерживает произвольное количество просмотров, а профиль Stereo High разработан специально для стереоскопического видео с двумя ракурсами. Расширения Multiview Video Coding были завершены в ноябре 2009 года.

3D-AVC и стереоскопическое кодирование MFC

Позже были разработаны дополнительные расширения, которые включали кодирование 3D-видео с совместным кодированием карт глубины и текстуры (называемые 3D-AVC), стереоскопическое кодирование с поддержкой кадров (MFC) с несколькими разрешениями и кодирование 3D-MFC, различные дополнительные комбинации функций, а также более высокие размеры кадров и частоту кадров.

Версии

Версии стандарта H.264 / AVC включают следующие завершенные редакции, исправления и поправки (даты - даты окончательного утверждения в ITU-T, а окончательное утверждение «Международного стандарта» даты в ISO / IEC несколько отличаются и в большинстве случаев немного позже). Каждая версия представляет изменения относительно следующей более низкой версии, которая интегрирована в текст.

  • Версия 1 (Выпуск 1): (30 мая 2003 г.) Первая утвержденная версия H.264 / AVC, содержащая базовый, основной и расширенный профили.
  • Версия 2 (выпуск 1.1): (7 мая, 2004) Исправление, содержащее различные незначительные исправления.
  • Версия 3 (Издание 2): (1 марта 2005 г.) Основное дополнение, содержащее первую поправку, устанавливающую Расширения диапазона точности (FRExt). В этой версии добавлены профили High, High 10, High 4: 2: 2 и High 4: 4: 4. Через несколько лет профиль High стал наиболее часто используемым профилем стандарта.
  • Версия 4 (редакция 2.1): (13 сентября 2005 г.) Исправление, содержащее различные незначительные исправления и добавление трех индикаторов соотношения сторон.
  • Версия 5 (Редакция 2.2): (13 июня 2006 г.) Поправка, заключающаяся в удалении предыдущего профиля High 4: 4: 4 (обработанного как исправление в ISO / IEC).
  • Версия 6 (Выпуск 2.2): (13 июня 2006 г.) Поправка, состоящая из незначительных расширений, таких как поддержка цветового пространства расширенной гаммы (в комплекте с указанными выше индикаторами соотношения сторон в ISO / IEC).
  • Версия 7 (Выпуск 2.3) : (6 апреля 2007 г.) Поправка, содержащая добавление профиля прогнозирования High 4: 4: 4 и четырех профилей только для внутреннего использования (High 10 Intra, High 4: 2: 2 Intra, High 4: 4: 4 Intra и CAVLC. 4: 4: 4 Intra).
  • Версия 8 (издание 3): (22 ноября 2007 г.) Основное дополнение к H.264 / AVC, содержащее поправку для масштабируемого кодирования видео (SVC), содержащий Scalable Baseline, Scalable Hig h и профили Scalable High Intra.
  • Версия 9 (Выпуск 3.1): (13 января 2009 г.) Исправление, содержащее незначительные исправления.
  • Версия 10 (Выпуск 4): (16 марта 2009 г.)) Поправка, содержащая определение нового профиля (ограниченного базового профиля) только с общим подмножеством возможностей, поддерживаемых в различных ранее указанных профилях.
  • Версия 11 (Редакция 4): (16 марта 2009 г.) Основное дополнение к H.264 / AVC, содержащий поправку для расширения Multiview Video Coding (MVC), включая профиль Multiview High.
  • Версия 12 (Издание 5): (9 марта 2010 г.) Поправка, содержащая определение нового профиля MVC (профиль Stereo High) для кодирования видео с двумя ракурсами с поддержкой инструментов чересстрочного кодирования и указанием сообщения дополнительной дополнительной информации о расширении (SEI), называемого сообщением SEI для компоновки кадров.
  • Версия 13 (издание 5): (9 марта 2010 г.) Исправление, содержащее незначительные исправления.
  • Версия 14 (издание 6): (29 июня 2011 г.) Поправка, определяющая новый уровень (уровень 5.2), поддерживающий более высокие скорости обработки с точки зрения максимальных макроблоков в секунду, и новый профиль (профиль Progressive High), поддерживающий только инструменты кодирования кадров ранее указанных Высокий профиль.
  • Версия 15 (издание 6): (29 июня 2011 г.) Исправление, содержащее незначительные исправления.
  • Версия 16 (издание 7): (13 января 2012 г.) Поправка, содержащая определение три новых профиля, предназначенных в первую очередь для приложений связи в реальном времени: профили Constrained High, Scalable Constrained Baseline и Scalable Constrained High.
  • Версия 17 (Выпуск 8): (13 апреля 2013 г.) Поправка с дополнительным сообщением SEI индикаторов.
  • Версия 18 (Выпуск 8): (13 апреля 2013 г.) Поправка, определяющая кодирование данных карты глубины для стереоскопического 3D-видео, включая профиль Multiview Depth High.
  • Версия 19 (Выпуск 8): (13 апреля 2013 г.) Исправление для исправления ошибки в дополнительном потоке битов ext процесс обработки для многовидового видео.
  • Версия 20 (Выпуск 8): (13 апреля 2013 г.) Поправка для указания дополнительных идентификаторов цветового пространства (включая поддержку Рекомендации ITU-R BT.2020 для UHDTV ) и дополнительный тип модели в сообщении SEI с информацией о тональном отображении.
  • Версия 21 (Выпуск 9): (13 февраля 2014 г.) Поправка для определения Профиль Enhanced Multiview Depth High.
  • Версия 22 (Выпуск 9): (13 февраля 2014 г.) Поправка, определяющая улучшение совместимости с кадрами с несколькими разрешениями (MFC) для стереоскопического видео 3D, профиль MFC High и второстепенный
  • Версия 23 (редакция 10): (13 февраля 2016 г.) Поправка для определения стереоскопического видео MFC с картами глубины, профиля MFC Depth High, сообщения SEI для отображения цветового объема отображения и дополнительных связанных с цветом Идентификаторы кодовых точек VUI.
  • Версия 24 (Редакция 11): (14 октября 2016 г.) Поправка для определения дополнительных уровней возможностей декодера, поддерживающих размеры изображения ger (уровни 6, 6.1 и 6.2), сообщение SEI с метаданными зеленого, сообщение SEI с альтернативной информацией о глубине и дополнительные идентификаторы кодовых точек VUI, связанные с цветом.
  • Версия 25 (издание 12): (апрель 13, 2017 г.) Поправка для определения профиля Progressive High 10, Hybrid Log-Gamma (HLG), а также дополнительных связанных с цветом кодовых точек VUI и сообщений SEI.
  • Версия 26 (Редакция 13)): (13 июня 2019 г.) Поправка для указания дополнительных сообщений SEI для окружающей среды просмотра, информации об уровне освещенности контента, объема цвета контента, равнопрямоугольной проекции, проекции кубической карты, вращения сферы, упаковки по регионам, всенаправленного окна просмотра, манифеста SEI и SEI. префикс.

Патентообладатели

Следующие организации владеют одним или несколькими патентами в пуле патентов MPEG LA H.264 / AVC.

Патентообладатели H.264 / AVC (по состоянию на июль 2019 г.)
ОрганизацияАктивные патентыПатенты с истекшим сроком действияВсего патентов
Panasonic Corporation 1,137601,197
Godo Kaisha IP Bridge1,111191,130
LG Electronics 94941990
Dolby Laboratories 75916775
Toshiba 35833391
Microsoft 2087215
Nippon Telegraph and Telephone (включая NTT Docomo )1872189
Sony 11631147
Общество Фраунгофера 12516141
Google 1363139
GE Сжатие видео1360136
Fujitsu 1024106
Mitsubishi Electric 5450104
ООО «Тагиван II»77077
Samsung Electronics 234063
Maxell 51253
Philips 53944
Vidyo 41243
Ericsson 34034
Научно-исследовательский институт электроники и телекоммуникаций (ETRI) Кореи32032

Приложения

Видеоформат H.264 имеет очень широкий диапазон приложений, охватывающий все формы цифрового сжатого видео, от приложений потоковой передачи через Интернет с низкой скоростью передачи данных до приложений для телевещания HDTV и приложений цифрового кино с кодированием практически без потерь. Сообщается, что при использовании H.264 достигается снижение скорости передачи данных на 50% или более по сравнению с MPEG-2 Part 2. Например, сообщалось, что H.264 обеспечивает такое же качество цифрового спутникового ТВ, что и текущие реализации MPEG-2, с менее чем половиной битрейта, при этом текущие реализации MPEG-2 работают со скоростью около 3,5 Мбит / с, а H.264 - только с 1,5. Мбит / с. Sony утверждает, что режим записи AVC со скоростью 9 Мбит / с эквивалентен качеству изображения формата HDV, который использует приблизительно 18–25 Мбит / с.

Для обеспечения совместимости и отсутствия проблем После принятия H.264 / AVC многие органы по стандартизации внесли поправки или добавили в свои стандарты, связанные с видео, чтобы пользователи этих стандартов могли использовать H.264 / AVC. И формат Blu-ray Disc, и формат HD DVD, производство которого сейчас прекращено, включают H.264 / AVC High Profile как один из трех обязательных форматов сжатия видео. Проект цифрового видеовещания (DVB ) одобрил использование H.264 / AVC для телевещания в конце 2004 года.

Комитет по передовым телевизионным системам (ATSC) Орган по стандартизации в Соединенных Штатах одобрил использование H.264 / AVC для телевещания в июле 2008 года, хотя стандарт еще не используется для фиксированных передач ATSC в Соединенных Штатах. Он также был одобрен для использования с более поздним стандартом ATSC-M / H (мобильный / портативный), использующим части AVC и SVC H.264.

Рынки CCTV (замкнутое телевидение) и видеонаблюдение включили эту технологию во многие продукты.

Многие распространенные зеркалки используют видео H.264, заключенное в контейнеры QuickTime MOV, в качестве собственного формата записи.

Производные форматы

AVCHD - это формат записи высокой четкости, разработанный Sony и Panasonic, в котором используется H.264 (соответствующий H.264 при добавлении дополнительных функций и ограничений для конкретных приложений).

AVC-Intra - это формат сжатия только внутри кадра, разработанный Panasonic.

XAVC - формат записи, разработанный Sony, который использует уровень 5.2 для H. 264 / MPEG-4 AVC, что является наивысшим уровнем, поддерживаемым этим видеостандартом. XAVC может поддерживать разрешение 4K (4096 × 2160 и 3840 × 2160) со скоростью до 60 кадров в секунду (кадров в секунду). Sony объявила, что камеры, поддерживающие XAVC, включают две камеры CineAlta - Sony PMW-F55 и Sony PMW-F5. Sony PMW-F55 может записывать XAVC с разрешением 4K при 30 кадрах в секунду при 300 Мбит / с и разрешением 2K при 30 кадрах в секунду при 100 Мбит / с. XAVC может записывать разрешение 4K со скоростью 60 кадров в секунду с выборкой цветности 4: 2: 2 со скоростью 600 Мбит / с.

Дизайн

Особенности

Блок-схема H.264

H. 264 / AVC / MPEG-4 Part 10 содержит ряд новых функций, которые позволяют сжимать видео намного эффективнее, чем старые стандарты, и обеспечивают большую гибкость для применения в самых разных сетевых средах. В частности, некоторые из таких ключевых функций включают в себя:

  • Многокадровое межкадровое предсказание, включая следующие функции:
    • Использование ранее закодированных изображений в качестве ссылок гораздо более гибким способом, чем в прошлые стандарты, позволяющие в некоторых случаях использовать до 16 опорных кадров (или 32 опорных поля в случае чересстрочного кодирования). В профилях, которые поддерживают кадры, отличные от IDR, большинство уровней указывает, что должна быть доступна достаточная буферизация, чтобы обеспечить как минимум 4 или 5 опорных кадров при максимальном разрешении. Это контрастирует с предыдущими стандартами, где предел обычно был один; или, в случае обычных «B-изображений » (B-кадры), два.
    • переменного размера блока компенсации движения (VBSMC) с размерами блоков как размером 16 × 16 и размером 4 × 4, что обеспечивает точную сегментацию движущихся областей. Поддерживаемые размеры блоков предсказания яркости включают в себя 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8 и 4 × 4, многие из которых могут использоваться вместе в единый макроблок. Размеры блока предсказания цветности соответственно меньше, когда используется субдискретизация цветности.
    • Возможность использовать несколько векторов движения на макроблок (один или два на раздел) с максимумом 32 в случае макроблок B, состоящий из 16 разделов 4 × 4. Векторы движения для каждой области разделения 8 × 8 или более могут указывать на разные опорные изображения.
    • Возможность использовать любой тип макроблока в B-кадрах, включая I-макроблоки, что приводит к намного более эффективное кодирование при использовании B-кадров. Эта функция была заметно исключена из MPEG-4 ASP.
    • Шестиконтактная фильтрация для получения предсказаний полупиксельной выборки яркости для более резкой компенсации движения субпикселей. Четвертьпиксельное движение получается путем линейной интерполяции значений полупикселей для экономии вычислительной мощности.
    • Четвертьпиксельная точность компенсации движения, позволяющая точно описывать смещения движущихся областей. Для цветности разрешение обычно уменьшается вдвое как по вертикали, так и по горизонтали (см. 4: 2: 0 ), поэтому для компенсации движения цветности используются единицы пиксельной сетки цветности в одну восьмую.
    • Взвешенное прогнозирование, позволяющее кодировщику указывать использование масштабирования и смещения при выполнении компенсации движения и обеспечивающее значительное улучшение производительности в особых случаях, таких как переходы от постепенного перехода к черному, постепенного появления и кроссфейда.. Это включает неявное взвешенное прогнозирование для B-кадров и явное взвешенное прогнозирование для P-кадров.
  • Пространственное прогнозирование по краям соседних блоков для «внутреннего» кодирования, а не только «DC» предсказание, найденное в MPEG-2 Часть 2, и предсказание коэффициента преобразования, найденное в H.263v2 и MPEG-4 Part 2. Сюда входят размеры блоков предсказания яркости 16 × 16, 8 × 8 и 4 × 4 (из которых только один тип может использоваться в каждом макроблоке ).
  • Целочисленное дискретное косинусное преобразование (целочисленное DCT), тип дискретного косинусного преобразования (DCT), где преобразование является целочисленным приближением стандартного DCT. выбираемые размеры блоков и целочисленное вычисление с точным соответствием для уменьшения сложности, в том числе:
    • Целочисленное пространственное блочное преобразование с точным соответствием 4 × 4, позволяющее точно размещать остаточные сигналы с небольшим количеством " звон ", часто встречающийся с предыдущими конструкциями кодеков. Он аналогичен стандартному DCT, используемому в предыдущих стандартах, но использует небольшой размер блока ler и простая обработка целых чисел. В отличие от формул на основе косинуса и допусков, выраженных в более ранних стандартах (таких как H.261 и MPEG-2), целочисленная обработка обеспечивает точно заданный декодированный результат.
    • Целочисленное пространственное блочное преобразование 8 × 8 с точным соответствием, позволяя сжимать сильно коррелированные области более эффективно, чем при преобразовании 4 × 4. Эта конструкция основана на стандартном DCT, но упрощена и сделана для обеспечения точно заданного декодирования.
    • Выбор адаптивного кодера между размерами блока преобразования 4 × 4 и 8 × 8 для операции целочисленного преобразования.
    • Вторичное преобразование Адамара, выполняемое для коэффициентов «DC» первичного пространственного преобразования, применяемого к DC-коэффициентам цветности (а также яркости в одном особом случае) для получения еще большего сжатия в гладких областях.
  • Без потерь. Функции кодирования макроблоков, включая:
    • Режим представления «макроблок PCM» без потерь, в котором образцы видеоданных представлены непосредственно, что позволяет идеально представить определенные области и позволяет устанавливать строгие ограничения на количество кодируемых данные для каждого макроблока.
    • Улучшенный режим представления макроблока без потерь, позволяющий безупречное представление конкретных областей при обычном использовании значительно меньшего количества битов, чем в режиме ИКМ.
  • Гибкое чересстрочное -сканирование видео кодирования функции, в том числе:
    • Макроблок-адаптивное кодирование поля кадра (MBAFF) с использованием структуры пары макроблоков для изображений, закодированных как кадры, что позволяет использовать макроблоки 16 × 16 в полевом режиме (по сравнению с MPEG-2, где полевой режим обработка изображения, закодированного как кадр, приводит к обработке полумакроблоков 16 × 8).
    • Адаптивное к изображению кодирование поля кадра (PAFF или PicAFF), позволяющее свободно выбирать смесь изображений, закодированных либо как полные кадры, в которых оба поля объединены вместе для кодирования, или как отдельные отдельные поля.
  • Схема квантования, включающая:
    • Логарифмический контроль размера шага для упрощения управления скоростью передачи данных с помощью кодировщиков и упрощенного масштабирования обратного квантования
    • Матрицы масштабирования квантования с настраиваемой частотой, выбранные кодером для оптимизации квантования на основе восприятия
  • Петлевой фильтр удаления блочности, который помогает предотвратить артефакты блокировки, общие для других методов сжатия изображений на основе DCT, в результате чего лучший внешний вид и эффективность сжатия
  • Дизайн энтропийного кодирования, включающий:
  • Функции устойчивости к потерям, включая:
    • A Уровень абстракции сети Определение (NAL), позволяющее использовать один и тот же синтаксис видео во многих сетевых средах. Одна очень фундаментальная концепция дизайна H.264 состоит в том, чтобы генерировать автономные пакеты, чтобы удалить дублирование заголовков, как в коде расширения заголовка (HEC) MPEG-4. Это было достигнуто путем отделения информации, относящейся к более чем одному слайсу, из медиапотока. Комбинация параметров более высокого уровня называется набором параметров. Спецификация H.264 включает два типа наборов параметров: набор параметров последовательности (SPS) и набор параметров изображения (PPS). Набор параметров активной последовательности остается неизменным на протяжении всей кодированной видеопоследовательности, а набор параметров активного изображения остается неизменным в кодированном изображении. Структуры набора параметров последовательности и изображения содержат такую ​​информацию, как размер изображения, используемые дополнительные режимы кодирования и отображение макроблока в группу срезов.
    • Гибкое упорядочение макроблоков (FMO), также известное как группы срезов, и произвольный порядок срезов ( ASO), которые представляют собой методы реструктуризации порядка представления основных областей (макроблоков) на изображениях. Обычно считается функцией устойчивости к ошибкам / потерям, FMO и ASO также могут использоваться для других целей.
    • Разделение данных (DP), функция, обеспечивающая возможность разделять более важные и менее важные элементы синтаксиса на разные пакеты данных, позволяя применять неравную защиту от ошибок (UEP) и другие типы улучшения устойчивости к ошибкам / потерям.
    • Избыточные срезы (RS), функция устойчивости к ошибкам / потерям, которая позволяет кодеру отправлять дополнительное представление область изображения (обычно с более низкой точностью воспроизведения), которую можно использовать, если первичное представление повреждено или потеряно.
    • Нумерация кадров, функция, которая позволяет создавать «подпоследовательности», обеспечивая временную масштабируемость путем необязательного включения дополнительных изображений между другими изображениями, а также обнаружение и скрытие потерь целых изображений, которые могут происходить из-за потерь сетевых пакетов или ошибок канала.
  • Переключение слоев, называемых SP и SI, позволяющих кодеру направлять декодирование е для перехода в текущий видеопоток для таких целей, как переключение скорости передачи битов видеопотока и работа в «хитром режиме». Когда декодер переходит в середину видеопотока с помощью функции SP / SI, он может получить точное совпадение с декодированными изображениями в этом месте видеопотока, несмотря на использование разных изображений или отсутствие изображений вообще, как ссылки до переключатель.
  • Простой автоматический процесс предотвращения случайной эмуляции стартовых кодов, которые представляют собой специальные последовательности битов в кодированных данных, которые обеспечивают произвольный доступ к битовому потоку и восстановление выравнивания байтов. в системах, которые могут потерять синхронизацию байтов.
  • Дополнительная информация о расширении (SEI) и информация об использовании видео (VUI), которые представляют собой дополнительную информацию, которая может быть вставлена ​​в поток битов для различных целей, таких как указание используемого цветового пространства видеоконтент или различные ограничения, применяемые к кодированию. Сообщения SEI могут содержать произвольные определяемые пользователем полезные данные метаданных или другие сообщения с синтаксисом и семантикой, определенными в стандарте.
  • Вспомогательные изображения, которые могут использоваться для таких целей, как альфа-композитинг.
  • Поддержка монохромного (4: 0: 0), 4: 2: 0, 4: 2: 2 и 4: 4: 4 выборка цветности (в зависимости от выбранного профиля).
  • Поддержка точность битовой глубины выборки составляет от 8 до 14 бит на выборку (в зависимости от выбранного профиля).
  • Возможность кодировать отдельные цветовые плоскости как отдельные изображения с их собственными структурами срезов, режимами макроблока, векторами движения и т. д., позволяя разрабатывать кодеры с простой структурой распараллеливания (поддерживается только в трех профилях с поддержкой 4: 4: 4).
  • Счетчик порядка изображений, функция, которая служит для сохранения порядка изображений и значения выборок в декодированных изображениях изолированы от информации о синхронизации, что позволяет переносить информацию о синхронизации и управлять / изменять ее отдельно с помощью системы не влияют на содержимое декодированного изображения.

Эти методы, наряду с некоторыми другими, помогают H.264 работать значительно лучше, чем любой предшествующий стандарт, в самых разных обстоятельствах и в самых разных средах приложений. H.264 часто может работать радикально лучше, чем видео MPEG-2, обычно обеспечивая такое же качество при половинной или меньшей скорости передачи данных, особенно при высокой скорости передачи и видеоконтенте с высоким разрешением.

Как и другие стандарты ISO / IEC. Стандарты видео MPEG, H.264 / AVC имеет эталонную программную реализацию, которую можно бесплатно загрузить. Его основная цель - дать примеры функций H.264 / AVC, а не быть полезным приложением как таковым. Некоторая работа по проектированию эталонного оборудования также проводилась в Экспертной группе по движущимся изображениям. Вышеупомянутые аспекты включают функции во всех профилях H.264. Профиль кодека - это набор функций этого кодека, определенных для соответствия определенному набору спецификаций предполагаемых приложений. Это означает, что многие из перечисленных функций не поддерживается в некоторых профилях. Различные профили H.264 / AVC обсуждаются в следующем разделе.

Профили

Стандарт определяет несколько наборов возможностей, которые называются профилями, ориентированными на определенные классы приложений. Они объявляются с использованием кода профиля (profile_idc), а иногда и набора дополнительных ограничений, применяемых в кодировщике. Код профиля и указанные ограничения позволяют декодеру распознавать требования для декодирования этого конкретного битового потока. (И во многих системных средах разрешено использовать только один или два профиля, поэтому декодерам в этих средах не нужно заботиться о распознавании менее часто используемых профилей.) Безусловно, наиболее часто используемым профилем является профиль High Profile.

Профили для немасштабируемых приложений 2D-видео включают следующее:

Базовый профиль с ограничениями (CBP, 66 с набором ограничений 1)
Этот профиль наиболее подходит в первую очередь для недорогих приложений. обычно используется в видеоконференцсвязи и мобильных приложениях. Он соответствует подмножеству функций, которые являются общими для базового, основного и высокого профилей.
Базовый профиль (BP, 66)
В первую очередь для недорогих приложений, требующих дополнительных данных устойчивость к потерям, этот профиль используется в некоторых приложениях для видеоконференцсвязи и мобильных приложений. Этот профиль включает в себя все функции, которые поддерживаются в ограниченном базовом профиле, а также три дополнительных функции, которые можно использовать для обеспечения устойчивости к потерям (или для других целей, таких как композитинг многоточечного видеопотока с низкой задержкой). Важность этого профиля несколько снизилась с момента определения ограниченного базового профиля в 2009 году. Все битовые потоки ограниченного базового профиля также считаются битовыми потоками базового профиля, поскольку эти два профиля имеют одно и то же значение кода идентификатора профиля.
Расширенный профиль (XP, 88)
Предназначенный в качестве профиля потокового видео, этот профиль имеет относительно высокую способность к сжатию и некоторые дополнительные приемы для обеспечения устойчивости к потерям данных и переключению потоков сервера.
Основной профиль (MP, 77)
Этот профиль используется для цифрового телевещания стандартной четкости, в котором используется формат MPEG-4, как определено в стандарте DVB. Однако он не используется для телевизионных трансляций высокой четкости, поскольку важность этого профиля снизилась, когда в 2004 году для этого приложения был разработан High Profile.
High Profile (HiP, 100)
Основной профиль для приложений вещания и хранения на дисках, особенно для приложений телевидения высокой четкости (например, это профиль, принятый форматом хранения Blu-ray Disc и DVB Служба вещания HDTV).
Прогрессивный высокий профиль (PHiP, 100 с набором ограничений 4)
Аналогичен высокому профилю, но без поддержки функций кодирования полей.
Ограниченный высокий профиль (100 с набором ограничений 4 и 5)
Аналогичен профилю Progressive High, но без поддержки срезов B (с двунаправленным прогнозированием).
Профиль High 10 (Hi10P, 110)
Выходя за рамки типичных возможностей массового потребительского продукта, этот профиль построен на основе High Profile, добавляя поддержку до 10 бит на выборку декодированного изображения. e.
Профиль High 4: 2: 2 (Hi422P, 122)
Этот профиль, в первую очередь ориентированный на профессиональные приложения, использующие чересстрочное видео, строится поверх профиля High 10, добавляя поддержку формат выборки цветности 4: 2: 2 с использованием до 10 бит на выборку точности декодированного изображения.
Высокий прогнозирующий профиль 4: 4: 4 (Hi444PP, 244)
Этот профиль построен на основе профиля High 4: 2: 2, поддерживает выборку цветности до 4: 4: 4, до 14 бит на выборку, а также дополнительно поддерживает эффективное кодирование области без потерь и кодирование каждого изображения как три отдельные цветовые плоскости.

Для видеокамер, монтажных и профессиональных приложений стандарт содержит четыре дополнительных профиля только внутри кадра, которые определены как простые подмножества других соответствующих профилей. В основном они предназначены для профессиональных приложений (например, камеры и системы редактирования):

Профиль High 10 Intra (110 с набором ограничений 3)
Профиль High 10 ограничен для использования только в режиме Intra.
High 4: 2: 2 Intra Profile (122 с набором ограничений 3)
High 4: 2: 2 Profile, ограниченный для использования во всех режимах Intra.
High 4: 4: 4 Внутренний профиль (244 с набором ограничений 3)
Высокий профиль 4: 4: 4 ограничен для использования во всех случаях.
Внутренний профиль CAVLC 4: 4: 4 (44)
Профиль High 4: 4: 4 ограничен для использования полностью внутри Intra и энтропийного кодирования CAVLC (т. Е. Не поддерживает CABAC).

В результате масштабируемого кодирования видео (SVC) Расширение стандарт содержит пять дополнительных масштабируемых профилей, которые определены как комбинация профиля H.264 / AVC для базового уровня (идентифицируемого вторым словом в имени масштабируемого профиля) и инструментов, которые достигают масштабируемого расширения:

Масштабируемый базовый профиль (83)
В первую очередь для видеоконференцсвязи, мобильных, Для приложений видеонаблюдения этот профиль строится поверх профиля ограниченного базового уровня, которому должен соответствовать базовый уровень (подмножество битового потока). Для инструментов масштабируемости включено подмножество доступных инструментов.
Масштабируемый базовый профиль с ограничениями (83 с набором ограничений 5)
Подмножество масштабируемого базового профиля, предназначенное в основном для работы в режиме реального времени коммуникационные приложения.
Scalable High Profile (86)
Этот профиль, в первую очередь нацеленный на широковещательные и потоковые приложения, строится на основе H.264 / AVC High Profile, которому должен соответствовать базовый уровень.
Масштабируемый высокий профиль с ограничениями (86 с набором ограничений 5)
Подмножество масштабируемого высокого профиля, предназначенное в основном для приложений связи в реальном времени.
Масштабируемый высокий внутренний профиль ( 86 с набором ограничений 3)
Этот профиль, в первую очередь нацеленный на производственные приложения, является масштабируемым высоким профилем, ограниченным для использования только в Intra.

В результате Multiview Video Coding (MVC), стандарт содержит два профиля с несколькими экранами:

Stereo High Profile (128)
Этот профиль предназначен для двух экранов. стереоскопическое 3D-видео и объединяет инструменты профиля High Profile с возможностями межвидового прогнозирования расширения MVC.
Multiview High Profile (118)
Этот профиль поддерживает два или более ракурса с использованием как межкадрового (временного), так и межвидового предсказания MVC, но не поддерживают изображения полей и кодирование поля кадра с адаптацией к макроблокам.

В расширение Multi-Resolution Frame-Compatible (MFC) добавлено два другие профили:

MFC High Profile (134)
Профиль для стереоскопического кодирования с улучшением двухуровневого разрешения.
MFC Depth High Profile (135)

3D-AVC добавлено еще два профиля:

Multiview Depth High Profile (138)
Этот профиль поддерживает совместное кодирование карты глубины и информации о видеотекстуре для улучшенного сжатия 3D-видео контента.
Enhanced Multiview Depth High Profile (139)
Расширенный профиль для комбинированного многоэкранного кодирования с информацией о глубине.

Поддержка функций в определенных профилях

ФункцияCBPBPXPMPProHiPHiPHi10PHi422PHi444PP
I и P сегментыДаДаДаДаДаДаДаДаДа
Битовая глубина (на выборку)888888от 8 до 10от 8 до 10от 8 до 14
форматов цветности 4: 2: 0..4: 2: 0..4: 2: 0..4: 2: 0..4: 2: 0..4: 2: 0..4: 2: 0..4: 2: 0 /. 4: 2: 2.4: 2: 0 /. 4: 2: 2 /. 4: 4: 4
Гибкое упорядочивание макроблоков (FMO) NoДаДаNoNoNoNoNoНет
Произвольное упорядочение срезов (ASO) NoДаДаNoNoNoNoNoНет
Избыточные срезы (RS)NoДаДаNoNoNoNoNoНет
Разделение данныхNoNoДаNoNoNoNoNoНет
Срезы SI и SPNoNoДаNoNoNoNoNoНет
Чересстрочное кодирование (PicAFF, MBAFF)NoNoДаДаNoДаДаДаДа
B-срезыNoNoДаДаДаДаДаДаДа
Несколько опорных кадровДаДаДаДаДаДаДаДаДа
Внутрицикловый фильтр деблокирования ДаДаДаДаДаДаДаДаДа
Энтропийное кодирование CAVLC ДаДаДаДаДаДаДаДаДа
CABAC энтропийное кодирование NoNoNoДаДаДаДаДаДа
4: 0: 0 ( Монохромный )NoNoNoNoДаДаДаДаДа
Адаптивность преобразования 8 × 8 против 4 × 4NoNoNoNoДаДаДаДаДа
Матрицы масштабирования квантованияNoNoNoNoДаДаДаДаДа
Отдельно C B и C R Контроль качестваNoNoNoNoДаДаДаДаДа
Раздельное кодирование цветовой плоскостиNoNoNoNoNoNoNoNoДа
Прогнозирующее кодирование без потерьNoNoNoNoNoNoNoNoДа

Уровни

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

Уровни с максимальными значениями свойств
Уровень.Максимальная. скорость декодирования. (макроблоков / с)Максимальный. размер кадра. (макроблоки)Максимальная скорость передачи видео. для видео. уровень кодирования (VCL). (ограниченная базовая линия,. базовая линия, расширенная. и основные профили). (кбит / с)Примеры для высокого разрешения. при максимальной частоте кадров. (максимальное количество сохраненных кадров) Переключить дополнительные сведения.
11,4859964128 × [email#160;protected] (8) 176 × [email#160;protected] (4)
1b1,48599128128 × 96 @ 30.9 (8) 176 × [email#160;protected] (4)
1.13000396192176 ×[email#160;protected] ( 9). 320 × [email#160;protected] (3) 352 × [email#160;protected] (2)
1.26000396384[email#160;protected] (7) [email#160;protected] (6)
1.311,880396768320 × [email#160;protected] (7) 352 × [email#160;protected] (6)
211,8803962,000320 ×[email#160;protected] (7) 352 × [email#160;protected] (6)
2.119,8007924,000352 · [email#160;protected] (7) 352 · [email#160;protected] (6)
2,220,2501,6204,000[email#160;protected],7 (12). [email#160;protected],6 (10). [email#160;protected],0 (6) 720 × [email#160;protected],5 (5)
340,5001,62010,000[email#160;protected],4 (12). [email#160;protected],1 (10). 720 × [email#160;protected] (6) 720 × [email#160;protected] (5)
3,1108000360014000720 × 480 @ 80,0 (13). 720 × [email#160;protected],7 (11) 1,280 × 720 @ 30,0 (5)
3,2216000512020,0001,280 × 720 @ 60,0 (5) 1,280 × 1024 @ 42,2 (4)
4245,7608,19220,0001,280 × 720 @ 68,3 ( 9). 1920 × 1080 @ 30,1 (4) 2048 × 1024 @ 30,0 (4)
4,1245,7608,19250,0001,280 × 720 @ 68,3 (9). 1,920 × 1080 @ 30,1 (4) 2048 × 1024 @ 30,0 (4)
4,2522,2408,70450,0001,280 × 720 @ 145,1 (9). 1,920 × 1080 @ 64,0 (4) 2048 × 1080 @ 60,0 (4)
5589 82422 080135,0001920 × 1080 @ 72,3 (13). 2048 × 1024 @ 72,0 (13). 2048 × 1080 @ 67,8 (12). 2560 × 1,920 @ 30,7 (5) 3,672 × 1536 @ 26,7 (5)
5,1983,04036,864240,0001,920 × 1080 @ 120,5 (16). 2560 × 1,920 @ 51,2 (9). 3,840 × 2160 при 31,7 (5). 4 096 × 2048 при 30,0 (5). 4 096 × 2160 при 28,5 (5) 4 096 × 2304 при 26,7 (5)
5,22,073,60036,864240,0001,920 × 1080 @ 172,0 (16). 2560 × 1,920 @ 108,0 (9). 3,840 × 2160 @ 66,8 (5). 4096 × 2048 @ 63,3 (5). 4,096 × 2160 @ 60,0 (5) 4096 × 2304 @ 56,3 (5)
64,177,920139,264240,0003,840 × 2,160 при 128,9 (16). 7,680 × 4,320 при 32,2 (5) 8,192 × 4,320 при 30,2 (5)
6,18,355,840139,264480,0003,840 × 2160 при 257,9 (16). 7,680 × 4,320 при 64,5 (5) 8192 × 4320 при 60,4 (5)
6,216,711,680139,264800,0003,840 × 2160 при 300,0 (16). 7,680 × 4,320 при 128,9 (5) 8,192 × 4,320 @ 120.9 (5)

Максимальная скорость передачи данных для высокого профиля в 1,25 раза больше, чем для ограниченного базового, базового, расширенного и основного профилей; 3 раза для Hi10P и 4 раза для Hi422P / Hi444PP.

Количество выборок яркости составляет 16 × 16 = 256 раз больше количества макроблоков (и количество выборок яркости в секунду в 256 раз больше количества макроблоков в секунду).

Буферизация декодированного изображения

Ранее кодированные изображения используются кодерами H.264 / AVC для обеспечения предсказаний значений выборок в других изображениях. Это позволяет кодировщику принимать эффективные решения о наилучшем способе кодирования данного изображения. В декодере такие изображения сохраняются в виртуальном буфере декодированных изображений (DPB). Максимальная емкость DPB в единицах кадров (или парах полей), как показано в скобках в правом столбце приведенной выше таблицы, может быть вычислена следующим образом:

DpbCapacity = min (floor (MaxDpbMbs / (PicWidthInMbs) * FrameHeightInMbs)), 16)

Где MaxDpbMbs - постоянное значение, представленное в таблице ниже, как функция номера уровня, а PicWidthInMbs и FrameHeightInMbs - ширина изображения и высота кадра для кодированных видеоданных, выраженная в единицах макроблоков. (округлено до целых значений с учетом кадрирования и сопряжения макроблоков, если применимо). Эта формула указана в разделах A.3.1.h и A.3.2.f издания стандарта 2017 г.

Уровень
1
1b
1.1
1.2
1.3
2
2.1
2.2
3
3,1
3,2
4
4,1
4,2
5
5,1
5,2
6
6,1
6,2
MaxDpbMbs
396
396
900
2,376
2,376
2,376
4,752
8,100
8,100
18,000
20,480
32,768
32,768
34,816
110,400
184,320
184,320
696,320
696,320
696,320

Например, для изображения HDTV шириной 1920 сэмплов (PicWidthInMbs = 120) и высотой 1080 сэмплов (FrameHeightInMbs = 68) декодер уровня 4 имеет максимальная емкость хранения DPB этажа (32768 / (120 * 68)) = 4 кадра (или 8 полей). Таким образом, значение 4 показано в скобках в таблице выше в правом столбце строки для Уровня 4 с размером кадра 1920 × 1080.

Важно отметить, что текущее декодируемое изображение не включается в вычисление полноты DPB (если кодировщик не указал, что оно будет сохранено для использования в качестве эталона для декодирования других изображений или для отложенного вывода. сроки). Таким образом, декодер должен иметь достаточно памяти для обработки (по крайней мере) одного кадра больше, чем максимальная емкость DPB, рассчитанная выше.

Реализации

В 2009 году рабочая группа HTML5 была разделена между сторонниками Ogg Theora, бесплатного видеоформата, который, как считается, не перегружен по патентам, и H.264, который содержит запатентованную технологию. Еще в июле 2009 года было заявлено, что Google и Apple поддерживают H.264, тогда как Mozilla и Opera поддерживают Ogg Theora (теперь Google, Mozilla и Opera поддерживают Theora и WebM с VP8 ). Microsoft с выпуском Internet Explorer 9 добавила поддержку видео HTML 5, закодированного с использованием H.264. На симпозиуме Gartner / ITXpo в ноябре 2010 г. генеральный директор Microsoft Стив Баллмер ответил на вопрос «HTML 5 или Silverlight ?» говоря: «Если вы хотите сделать что-то универсальное, нет никаких сомнений в том, что мир переходит на HTML5». В январе 2011 года Google объявил, что они прекращают поддержку H.264 из своего браузера Chrome и поддерживают как Theora, так и WebM / VP8, чтобы использовать только открытые форматы.

18 марта 2012 г. Mozilla объявила о поддержке H.264 в Firefox на мобильных устройствах в связи с преобладанием видео в кодировке H.264 и повышенной энергоэффективностью использования выделенного аппаратного декодера H.264. распространены на таких устройствах. 20 февраля 2013 года Mozilla реализовала в Firefox поддержку декодирования H.264 в Windows 7 и выше. Эта функция основана на встроенных в Windows библиотеках декодирования. Firefox 35.0, выпущенный 13 января 2015 года, поддерживает H.264 в OS X 10.6 и выше.

30 октября 2013 года Rowan Trollope из Cisco Systems объявил что Cisco выпустит как двоичные файлы, так и исходный код видеокодека H.264 под названием OpenH264 по упрощенной лицензии BSD и выплатит все роялти за его использование MPEG LA для любых программных проектов которые используют предварительно скомпилированные двоичные файлы Cisco, тем самым делая двоичные файлы Cisco OpenH264 бесплатными. Однако любые программные проекты, использующие исходный код Cisco вместо двоичных файлов, будут нести юридическую ответственность за выплату всех лицензионных отчислений MPEG LA. Текущие целевые архитектуры ЦП - x86 и ARM, текущие целевые операционные системы - Linux, Windows XP и более поздние версии, Mac OS X и Android; Примечательно, что iOS отсутствует в этом списке, поскольку она не позволяет приложениям получать и устанавливать бинарные модули из Интернета. Также 30 октября 2013 года Брендан Эйч из Mozilla написал, что он будет использовать двоичные файлы Cisco в будущих версиях Firefox, чтобы добавить поддержку H.264 в Firefox, где кодеки платформы недоступны..

Cisco опубликовала исходный код для OpenH264 9 декабря 2013 г.

Программные кодировщики

Программные реализации AVC
ФункцияQuickTime Nero OpenH264 x264 Main-. Concept Elecard TSE Pro-. Coder Avivo Elemental IPP
B-срезыДаДаДаДаДаДаДаДаNoДаДа
Несколько опорных кадровДаДаДаДаДаДаДаДаNoДаДа
Чересстрочное кодирование (PicAFF, MBAFF)NoMBAFFMBAFFMBAFFДаДаNoДаMBAFFДаНет
Энтропийное кодирование CABACДаДаДаДа sДаДаДаДаNoДаДа
8 × 8 против 4 × 4 адаптивность преобразованияNoДаДаДаДаДаДаДаNoДаДа
Матрицы масштабирования квантованияNoNoДаДаДаNoNoNoNoNoНет
Отдельно C B и C R QP controlNoNoДаДаДаДаNoNoNoNoНет
Расширенные форматы цветностиNoNoNo4 : 0: 0. 4: 2: 0. 4: 2: 2. 4: 4: 44: 2: 24: 2: 24:2:2NoNo4:2:0. 4:2:2Нет
Наибольшая глубина выборки (бит)888101088881012
Прогнозирующее кодирование без потерьNoNoNoДаNoNoNoNoNoNoНет

Аппаратное обеспечение

Поскольку для кодирования и декодирования H.264 требуется значительная вычислительная мощность в определенных типах арифметических операций, программные реализации, работающие на процессорах общего назначения, обычно менее энергоэффективный. Однако новейшие четырехъядерные процессоры x86 общего назначения обладают достаточной вычислительной мощностью для кодирования SD и HD в реальном времени. Эффективность сжатия зависит от алгоритмических реализаций видео, а не от того, используется ли аппаратная или программная реализация. Таким образом, разница между аппаратной и программной реализацией больше в энергоэффективности, гибкости и стоимости. Чтобы повысить энергоэффективность и уменьшить форм-фактор аппаратного обеспечения, можно использовать специализированное оборудование либо для полного процесса кодирования или декодирования, либо для ускорения в среде, управляемой ЦП.

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

Процессоры 2-го поколения Intel "Sandy Bridge " Core i3 / i5 / i7, представленные на выставке CES в январе 2011 г. (Consumer Electronics Show ) предлагает встроенный аппаратный кодировщик Full HD H.264, известный как Intel Quick Sync Video.

Аппаратный кодировщик H.264 может быть ASIC или FPGA.

Кодеры ASIC с функциями кодировщика H.264 доступны от многих компаний, производящих полупроводники, но основной дизайн, используемый в ASIC, обычно лицензируется одной из нескольких компаний, таких как Chips Media, Allegro DVT, On2 (ранее Hantro, приобретена Google), Imagination Technologies, NGCodec. Некоторые компании предлагают продукты как FPGA, так и ASIC.

Texas Instruments производит линейку ядер ARM + DSP, которые выполняют кодирование DSP H.264 BP 1080p со скоростью 30 кадров в секунду. Это обеспечивает гибкость в отношении кодеков (которые реализованы как высоко оптимизированный код DSP), будучи более эффективным, чем программное обеспечение на обычном ЦП.

Лицензирование

В странах, где поддерживаются патенты на программные алгоритмы, ожидается, что поставщики и коммерческие пользователи продуктов, использующих H.264 / AVC, будут платить лицензионные отчисления за патенты за запатентованная технология, которую используют их продукты. Это также относится к базовому профилю.

Частная организация, известная как MPEG LA, которая никоим образом не связана с организацией по стандартизации MPEG, управляет лицензиями на патенты, относящиеся к этому стандарт, а также другие пулы патентов , такие как MPEG-4 Part 2 Video, HEVC и MPEG-DASH. Патентообладатели включают Fujitsu, Panasonic, Sony, Mitsubishi, Apple, Колумбийский университет, KAIST, Dolby, Google, JVC Kenwood, LG Electronics, Microsoft, NTT Docomo, Philips, Samsung, Sharp, Toshiba и ZTE, хотя большинство патентов в пуле принадлежит Panasonic (1197 патентов), Godo Kaisha IP Bridge (1130 патентов) и LG Electronics (990

26 августа 2010 года MPEG LA объявила, что роялти не будут взиматься за закодированное в H.264 Интернет-видео, которое бесплатно для конечных пользователей. Остальные лицензионные платежи остаются в силе, например, роялти за продукты, декодирующие и кодирующие видео H.264, а также за операторов бесплатного телевидения и каналов подписки. Условия лицензии обновляются блоками по 5 лет.

Поскольку первая версия стандарта была завершена в мае 2003 г. (17 лет назад), а наиболее часто используемый профиль (высокий профиль) был завершен в июне 2004 г. (16 лет назад) срок действия значительного количества патентов, которые первоначально применялись к стандарту, истек, хотя один из патентов США в пуле MPEG LA H.264 действует как минимум до 2027 года.

В 2005 году, Qualcomm подала в суд на Broadcom в окружном суде США, утверждая, что Broadcom нарушила два своих патента, создав продукты, соответствующие стандарту сжатия видео H.264. В 2007 году окружной суд постановил, что патенты не имеют исковой силы, поскольку Qualcomm не раскрыла их JVT до выпуска стандарта H.264 в мае 2003 года. В декабре 2008 года Апелляционный суд США по федеральному округу подтвердил постановление окружного суда о том, что патенты не имеют исковой силы, но переданы в районный суд с указанием ограничить объем неисполнения требований для продуктов, совместимых с H.264.

См. также

Ссылки

Дополнительная литература

Внешние ссылки

Последняя правка сделана 2021-06-10 02:10:00
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте