Из Википедии, бесплатной энциклопедии
  (Перенаправлено из MPEG-4 AVC )
Перейти к навигации Перейти к поиску

Расширенное кодирование видео ( AVC ), также называемое H.264 или MPEG-4 Part 10, Advanced Video Coding ( MPEG-4 AVC ), представляет собой стандарт сжатия видео, основанный на блочно-ориентированном кодировании целочисленного DCT с компенсацией движения . [1] Это, безусловно, наиболее часто используемый формат для записи, сжатия и распространения видеоконтента, который по состоянию на сентябрь 2019 года использовался 91% разработчиков видеоиндустрии . [2] [3] [4] Поддерживаются разрешения до 8K UHD включительно . [5] [6]

Целью проекта H.264 / AVC было создание стандарта, способного обеспечить хорошее качество видео при значительно более низкой скорости передачи данных, чем предыдущие стандарты (т. Е. Половину или меньшую скорость передачи данных MPEG-2 , H.263 или MPEG- 4 часть 2 ), не увеличивая сложность конструкции настолько, чтобы ее реализация была бы непрактичной или чрезмерно дорогой. Это было достигнуто с помощью таких функций, как целочисленное дискретное косинусное преобразование с уменьшенной сложностью (целочисленное DCT), [6] [7] [8] сегментация переменного размера блока и межкадровое предсказание с несколькими изображениями.. Дополнительная цель заключалась в обеспечении достаточной гибкости, позволяющей применять стандарт к широкому спектру приложений в самых разных сетях и системах, включая низкие и высокие скорости передачи данных, видео низкого и высокого разрешения, широковещательную передачу , хранение 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 , Amazon 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 . [9]

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

Именование [ править ]

Имя 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. [10]) Некоторые программы (например, медиаплеер 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) с уставом для окончательной доработки стандарта видеокодирования. [11] Официальное утверждение спецификации было получено в марте 2003 года. Председателями JVT были Гэри Салливан , Томас Виганд и Аджай Лутра ( Motorola , США: позже Arris , США). В июле 2004 года проект Fidelity Range Extensions (FRExt) был завершен. С января 2005 года по ноябрь 2007 года JVT работала над расширением H.264 / AVC в сторону масштабируемости с помощью Приложения (G) под названием Масштабируемое кодирование видео (SVC). Команда менеджеров JVT пополниласьЙенс-Райнер Ом ( RWTH Ахенский университет , Германия). С июля 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 B C R 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 года.

Кодирование видео с несколькими экранами [ править ]

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

Патентообладатели [ править ]

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

Приложения [ править ]

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

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

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

CCTV (Closed Circuit TV) и видеонаблюдения рынки включили технологию во многих продуктах.

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

Производные форматы [ править ]

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

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

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

Дизайн [ править ]

Особенности [ править ]

Блок-схема 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 Part 2, и предсказание коэффициента преобразования, найденное в H.263v2 и MPEG-4 Part 2. Это включает яркость размеры блока предсказания 16 × 16, 8 × 8 и 4 × 4 (из которых только один тип может использоваться в каждом макроблоке ).
  • Целочисленное дискретное косинусное преобразование (integer DCT), [6] [8] [43] тип дискретного косинусного преобразования (DCT) [8], где преобразование является целочисленным приближением стандартного DCT. [44] Он имеет выбираемые размеры блоков [7] и целочисленное вычисление с точным соответствием для уменьшения сложности, в том числе:
    • Целочисленное пространственное блочное преобразование 4 × 4 с точным совпадением, позволяющее точно размещать остаточные сигналы с небольшими « звенящими » сигналами, которые часто встречаются в предыдущих проектах кодеков. Он похож на стандартный DCT, использованный в предыдущих стандартах, но использует меньший размер блока и простую целочисленную обработку. В отличие от формул на основе косинуса и допусков, выраженных в более ранних стандартах (таких как H.261 и MPEG-2), целочисленная обработка обеспечивает точно указанный результат декодирования.
    • Целочисленное пространственное блочное преобразование 8 × 8 с точным совпадением, позволяющее сжимать сильно коррелированные области более эффективно, чем при преобразовании 4 × 4. Эта конструкция основана на стандартном DCT, но упрощена и предназначена для обеспечения точно заданного декодирования.
    • Выбор адаптивного кодера между размерами блока преобразования 4 × 4 и 8 × 8 для операции целочисленного преобразования.
    • Вторичное преобразование Адамара, выполняемое над коэффициентами «DC» первичного пространственного преобразования, применяемого к коэффициентам DC цветности (а также яркости в одном частном случае), чтобы получить еще большее сжатие в гладких областях.
  • Функции кодирования макроблоков без потерь, включая:
    • Режим представления «макроблока ИКМ» без потерь, в котором образцы видеоданных представлены непосредственно, [45], позволяющий идеально представить определенные области и позволяющий установить строгий предел на количество кодированных данных для каждого макроблока.
    • Усовершенствованный режим представления макроблоков без потерь, позволяющий безупречное представление конкретных областей при обычном использовании значительно меньшего количества битов, чем в режиме ИКМ.
  • Гибкие функции кодирования видео с чересстрочной разверткой, в том числе:
    • Кодирование с адаптацией к макроблокам кадра и поля (MBAFF) с использованием структуры пары макроблоков для изображений, закодированных как кадры, что позволяет использовать макроблоки 16 × 16 в полевом режиме (по сравнению с MPEG-2, где обработка в полевом режиме в изображении, закодированном как кадр приводит к обработке полумакроблоков размером 16 × 8).
    • Адаптивное к изображению кодирование поля кадра (PAFF или PicAFF), позволяющее свободно выбирать смесь изображений, закодированных либо как полные кадры, где оба поля объединены вместе для кодирования, либо как отдельные отдельные поля.
  • Дизайн квантования, включающий:
    • Логарифмический контроль размера шага для упрощения управления скоростью передачи данных кодерами и упрощенного масштабирования обратного квантования
    • Матрицы масштабирования квантования с настраиваемой частотой, выбранные кодером для оптимизации квантования на основе восприятия
  • Внутренний фильтр устранения блочности, который помогает предотвратить артефакты блокировки, общие для других методов сжатия изображений на основе DCT, что приводит к лучшему визуальному виду и эффективности сжатия.
  • Энтропийного кодирования дизайн в том числе:
    • Контекстно-адаптивное двоичное арифметическое кодирование (CABAC), алгоритм для сжатия без потерь элементов синтаксиса в видеопотоке, зная вероятности элементов синтаксиса в данном контексте. CABAC сжимает данные более эффективно, чем CAVLC, но требует значительно большей обработки для декодирования.
    • Контекстно-адаптивное кодирование с переменной длиной слова (CAVLC), которое представляет собой менее сложную альтернативу CABAC для кодирования квантованных значений коэффициентов преобразования. Несмотря на меньшую сложность, чем CABAC, CAVLC более сложен и более эффективен, чем методы, обычно используемые для кодирования коэффициентов в других предшествующих проектах.
    • Распространенный простой и высокоструктурированный метод кодирования переменной длины (VLC) для многих элементов синтаксиса, не кодируемых CABAC или CAVLC, называется экспоненциально-голомбским кодированием (или Exp-Golomb).
  • Характеристики устойчивости к потерям, в том числе:
    • Определение уровня абстракции сети (NAL), позволяющее использовать один и тот же синтаксис видео во многих сетевых средах. Одна очень фундаментальная концепция дизайна H.264 - генерировать автономные пакеты, чтобы удалить дублирование заголовков, как в коде расширения заголовка (HEC) MPEG-4. [46] Это было достигнуто путем отделения информации, относящейся к более чем одному слайсу, из медиапотока. Комбинация параметров более высокого уровня называется набором параметров. [46]Спецификация H.264 включает два типа наборов параметров: набор параметров последовательности (SPS) и набор параметров изображения (PPS). Набор параметров активной последовательности остается неизменным на протяжении всей кодированной видеопоследовательности, а набор параметров активного изображения остается неизменным в кодированном изображении. Структуры набора параметров последовательности и изображения содержат такую ​​информацию, как размер изображения, используемые необязательные режимы кодирования и отображение макроблока в группу срезов. [46]
    • Гибкое упорядочение макроблоков (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, обычно обеспечивая такое же качество при половинной или меньшей скорости передачи данных, особенно при высокой скорости передачи данных и видеоконтенте с высоким разрешением. [47]

Как и другие стандарты видео ISO / IEC MPEG, H.264 / AVC имеет эталонную программную реализацию, которую можно бесплатно загрузить. [48] Его основная цель - дать примеры функций 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. [49] Однако он не используется для телевещания высокой четкости, поскольку важность этого профиля уменьшилась, когда в 2004 году для этого приложения был разработан High Profile.
Высокий профиль (HiP, 100)
Основной профиль для приложений вещания и хранения на дисках, особенно для приложений телевидения высокой четкости (например, это профиль, принятый для формата хранения дисков Blu-ray и службы вещания DVB HDTV).
Прогрессивный высокий профиль (PHiP, 100 с набором ограничений 4)
Аналогичен высокому профилю, но без поддержки функций кодирования полей.
Ограниченный высокий профиль (100 с набором ограничений 4 и 5)
Аналогичен профилю Progressive High, но без поддержки срезов B (с двунаправленным прогнозированием).
Профиль High 10 (Hi10P, 110)
Этот профиль, выходящий за рамки типичных возможностей обычных потребительских продуктов, построен на основе High Profile, добавляя поддержку точности декодированного изображения до 10 бит на выборку.
Профиль 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 Profile (110 с набором ограничений 3)
Профиль High 10 предназначен только для внутреннего использования.
Высокий 4: 2: 2 Intra Profile (122 с набором ограничений 3)
Профиль High 4: 2: 2 предназначен только для использования внутри помещений.
Высокий 4: 4: 4 Intra Profile (244 с набором ограничений 3)
Профиль High 4: 4: 4 предназначен только для внутреннего использования.
CAVLC 4: 4: 4 внутри профиля (44)
Профиль High 4: 4: 4 ограничен только использованием Intra и энтропийным кодированием CAVLC (т. Е. Не поддерживает CABAC).

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

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

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

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

Расширение Multi-Resolution Frame-Compatible (MFC) добавило еще два профиля:

МФЦ высокий профиль (134)
Профиль для стереоскопического кодирования с двухуровневым улучшением разрешения.
Глубина МФЦ высокий профиль (135)

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

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

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

Уровни [ править ]

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

Максимальная скорость передачи данных для высокого профиля в 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 г. издания. [28]

Например, для изображения 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 ). [50] Microsoft с выпуском Internet Explorer 9 добавила поддержку видео HTML 5, закодированного с использованием H.264. На симпозиуме Gartner / ITXpo в ноябре 2010 г. генеральный директор Microsoft Стив Баллмер ответил на вопрос: «HTML 5 или Silverlight? », сказав:« Если вы хотите сделать что-то универсальное, нет никаких сомнений в том, что мир переходит на HTML5 ». [51] В январе 2011 года Google объявил, что они вытягивают поддержку H.264 из своего браузера Chrome и поддерживают и Theora, и WebM / VP8 для использования только открытых форматов. [52]

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

30 октября 2013 года Роуэн Троллоп из 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 отсутствует в этом списке, потому что она не позволяет приложениям получать и устанавливать бинарные модули из Интернета. [56] [57] [58] Также 30 октября 2013 года Брендан Эйх из Mozilla написал, что он будет использовать двоичные файлы Cisco в будущих версиях Firefox, чтобы добавить поддержку H.264 в Firefox, где кодеки платформы недоступны. [59]

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

Программные кодеры [ править ]

Оборудование [ править ]

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

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

Второе поколение Intel " Sandy Bridge " Core i3 / i5 / i7 процессоров , введенные на CES января 2011 ( Consumer Electronics Show ) предлагает на чипе аппаратного полного HD H.264 кодер, известный как Intel Quick Sync Video . [66] [67]

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

Кодеры ASIC с функциями кодировщика H.264 доступны от многих различных полупроводниковых компаний, но основной дизайн, используемый в ASIC, обычно лицензируется одной из немногих компаний, таких как Chips & Media , Allegro DVT, On2 (ранее Hantro, приобретенная Google), Воображаемые технологии , NGCodec. Некоторые компании предлагают продукты как на ПЛИС, так и на ASIC. [68]

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

Лицензирование [ править ]

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

Частная организация, известная как 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 , [72] хотя большинство патентов в пуле принадлежат Panasonic (1197 патентов), Godo Kaisha IP Bridge (1130 патентов) и LG Electronics (990 патентов). [73]

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

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

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

См. Также [ править ]

  • AV1
  • Высокоэффективное кодирование видео
  • VP8
  • VP9
  • Сравнение H.264 и VC-1
  • Дирак (формат сжатия видео)
  • Телевидение сверхвысокой четкости
  • IPTV
  • Группа картинок
  • Внутрикадровое кодирование
  • Межкадровый

Ссылки [ править ]

  1. ^ «H.264: Расширенное кодирование видео для общих аудиовизуальных услуг» . www.itu.int . Архивировано 31 октября 2019 года . Проверено 22 ноября 2019 года .
  2. ^ Озер, Янв. «Кодирование для доставки на несколько экранов, раздел 3, лекция 7: Введение в H.264» . Удеми . Проверено 10 октября, 2016 .
  3. ^ «Отчет разработчика видео 2018» (PDF) . Битмовин . Сентябрь 2019 г.
  4. ^ "Отчет разработчика видео 2019" . Битмовин . Сентябрь 2019 г.
  5. ^ «Доставка 8K с использованием AVC / H.264» . Таинственная шкатулка . Проверено 23 августа 2017 года .
  6. ^ a b c Ван, Ханьли; Kwong, S .; Кок, К. (2006). «Эффективный алгоритм прогнозирования целочисленных коэффициентов DCT для оптимизации H.264 / AVC». IEEE Transactions on Circuits and Systems for Video Technology . 16 (4): 547–552. DOI : 10.1109 / TCSVT.2006.871390 . S2CID 2060937 . 
  7. ^ а б Томсон, Гэвин; Шах, Атар (2017). «Знакомство с HEIF и HEVC» (PDF) . Apple , Inc. Retrieved Август 5, +2019 .
  8. ^ a b c Станкович, Радомир С .; Астола, Яакко Т. (2012). "Воспоминания о ранних работах в DCT: Интервью с К.Р. Рао" (PDF) . Отпечатки с первых дней информационных наук . 60 : 17 . Проверено 13 октября 2019 года .
  9. ^ "Часто задаваемые вопросы по AVC / H.264" . www.mpegla.com . Архивировано из оригинала на 7 мая 2010 года . Проверено 15 сентября 2016 года .
  10. ^ «H.262: Информационные технологии - Общее кодирование движущихся изображений и связанной с ними звуковой информации: Видео» . Проверено 15 апреля 2007 года .
  11. ^ Объединенная группа по видео ,веб-сайт МСЭ-Т .
  12. ^ "Рекомендация ITU-T H.264 (05/2003)" . ITU. 30 мая 2003 . Проверено 18 апреля 2013 года .
  13. ^ "Рекомендация ITU-T H.264 (05/2003) Cor. 1 (05/2004)" . ITU. 7 мая 2004 . Проверено 18 апреля 2013 года .
  14. ^ "Рекомендация ITU-T H.264 (03/2005)" . ITU. 1 марта 2005 . Проверено 18 апреля 2013 года .
  15. ^ «Рекомендация ITU-T H.264 (2005) Cor. 1 (09/2005)» . ITU. 13 сентября 2005 . Проверено 18 апреля 2013 года .
  16. ^ a b «Рекомендация ITU-T H.264 (2005) Amd. 1 (06/2006)» . ITU. 13 июня 2006 . Проверено 18 апреля 2013 года .
  17. ^ "Рекомендация ITU-T H.264 (2005) Amd. 2 (04/2007)" . ITU. 6 апреля 2007 . Проверено 18 апреля 2013 года .
  18. ^ «Рекомендация ITU-T H.264 (11/2007)» . ITU. 22 ноября 2007 . Проверено 18 апреля 2013 года .
  19. ^ «Рекомендация ITU-T H.264 (2007) Cor. 1 (01/2009)» . ITU. 13 января 2009 . Проверено 18 апреля 2013 года .
  20. ^ a b «Рекомендация ITU-T H.264 (03/2009)» . ITU. 16 марта 2009 . Проверено 18 апреля 2013 года .
  21. ^ a b «Рекомендация ITU-T H.264 (03/2010)» . ITU. 9 марта 2010 . Проверено 18 апреля 2013 года .
  22. ^ a b «Рекомендация ITU-T H.264 (06/2011)» . ITU. 29 июня 2011 . Проверено 18 апреля 2013 года .
  23. ^ «Рекомендация ITU-T H.264 (01/2012)» . ITU. 13 января 2012 . Проверено 18 апреля 2013 года .
  24. ^ a b c d «Рекомендация ITU-T H.264 (04/2013)» . ITU. 12 июня 2013 . Проверено 16 июня 2013 года .
  25. ^ a b «Рекомендация ITU-T H.264 (02/2014)» . ITU. 28 ноября 2014 . Проверено 28 февраля, 2016 .
  26. ^ «Рекомендация ITU-T H.264 (02/2016)» . ITU. 13 февраля 2016 . Проверено 14 июня 2017 года .
  27. ^ «Рекомендация ITU-T H.264 (10/2016)» . ITU. 14 октября 2016 . Проверено 14 июня 2017 года .
  28. ^ a b c «Рекомендация ITU-T H.264 (04/2017)» . ITU. 13 апреля 2017 г. См. Таблицы A-1, A-6 и A-7, где указаны возможности, зависящие от уровня . Проверено 14 июня 2017 года .
  29. ^ «Рекомендация ITU-T H.264 (06/2019 - опубликовано заранее)» . ITU. 13 июня 2019 . Проверено 6 августа 2019 года .
  30. ^ a b «AVC / H.264 - Патентный список» (PDF) . MPEG LA . Проверено 6 июля 2019 года .
  31. ^ "Лицензиары AVC / H.264" . MPEG-LA. Архивировано из оригинального 30 мая 2015 года . Проверено 19 мая 2013 года .
  32. ^ Венгер; и другие. «RFC 3984: формат полезной нагрузки RTP для видео H.264» : 2. Цитировать журнал требует |journal=( помощь )
  33. ^ "Какой режим записи эквивалентен качеству изображения в формате видео высокой четкости (HDV)?" . Sony eSupport . Архивировано из оригинала 9 ноября 2017 года . Проверено 8 декабря 2018 года .
  34. ^ "Стандарт ATSC A / 72 Часть 1: Характеристики видеосистемы AVC в системе цифрового телевидения ATSC" (PDF) . Архивировано из оригинального (PDF) 7 августа 2011 года . Проверено 30 июля 2011 года .
  35. ^ «Стандарт ATSC A / 72, часть 2: Характеристики подсистемы передачи видео AVC» (PDF) . Архивировано из оригинального (PDF) 7 августа 2011 года . Проверено 30 июля 2011 года .
  36. ^ «Стандарт ATSC A / 153, часть 7: Характеристики видеосистем AVC и SVC» (PDF) . Архивировано из оригинального (PDF) 26 июля 2011 года . Проверено 30 июля 2011 года .
  37. ^ a b «Sony представляет новый формат записи XAVC для ускорения разработки 4K на профессиональном и потребительском рынках» . Sony. 30 октября 2012 . Проверено 1 ноября 2012 года .
  38. ^ a b «Sony представляет новый формат записи XAVC для ускорения разработки 4K на профессиональном и потребительском рынках» (PDF) . Sony. 30 октября 2012 . Проверено 1 ноября 2012 года . [ постоянная мертвая ссылка ]
  39. Стив Дент (30 октября 2012 г.). «Sony начинает охоту за красными с камкордерами PMW-F55 и PMW-F5 pro CineAlta 4K Super 35 с сенсором» . Engadget . Проверено 5 ноября 2012 года .
  40. ^ «F55 CineAlta 4K - будущее с опережением графика» (PDF) . Sony. 30 октября 2012 года Архивировано из оригинального (PDF) 19 ноября 2012 года . Проверено 1 ноября 2012 года .
  41. ^ "Сверхбыстрые карты памяти" SxS PRO + "преобразуют захват видео 4K" . Sony. Архивировано из оригинала 8 марта 2013 года . Проверено 5 ноября 2012 года .
  42. ^ "Сверхбыстрые карты памяти" SxS PRO + "преобразуют захват видео 4K" (PDF) . Sony. Архивировано из оригинального (PDF) 2 апреля 2015 года . Проверено 5 ноября 2012 года .
  43. ^ Квон, Скоро-молодой; Ли, Джу Кён; Чунг, Ки-дон (2005). «Полупиксельная коррекция при транскодировании MPEG-2 / H.264» . Анализ и обработка изображений - ICIAP 2005 . Конспект лекций по информатике. Springer Berlin Heidelberg. 3617 : 576–583. DOI : 10.1007 / 11553595_71 . ISBN 978-3-540-28869-5.
  44. ^ Британак, Владимир; Ип, Патрик С .; Рао, КР (2010). Дискретные косинусные и синусоидальные преобразования: общие свойства, быстрые алгоритмы и целочисленные приближения . Эльзевир . С. ix, xiii, 1, 141–304. ISBN 9780080464640.
  45. ^ «Расширенный стандарт кодирования видео H.264 / AVC: Обзор и введение в расширение диапазона Fidelity» (PDF) . Проверено 30 июля 2011 года .
  46. ^ a b c RFC 3984, стр. 3
  47. Apple Inc. (26 марта 1999 г.). «Часто задаваемые вопросы по H.264» . Яблоко. Архивировано из оригинала 7 марта 2010 года . Проверено 17 мая 2010 года .
  48. ^ Карстен Suehring. «Загрузка эталонного программного обеспечения H.264 / AVC JM» . Iphome.hhi.de . Проверено 17 мая 2010 года .
  49. ^ «TS 101 154 - V1.9.1 - Цифровое видеовещание (DVB); Спецификация для использования кодирования видео и звука в приложениях вещания на основе транспортного потока MPEG-2» (PDF) . Проверено 17 мая 2010 года .
  50. ^ «Расшифровка дискуссии о видеокодеке HTML 5» . Ars Technica . 6 июля 2009 . Проверено 12 января 2011 года .
  51. ^ «Стив Баллмер, генеральный директор Microsoft, интервью на Gartner Symposium / ITxpo Orlando 2010» . Gartnervideo. Ноября 2010 . Проверено 12 января 2011 года .
  52. ^ «Поддержка видеокодеков HTML в Chrome» . 11 января 2011 . Проверено 12 января 2011 года .
  53. ^ «Видео, мобильные устройства и открытый Интернет» . 18 марта 2012 . Проверено 20 марта 2012 года .
  54. ^ «WebRTC включен, поддержка H.264 / MP3 в Win 7 включена по умолчанию, Metro UI для Windows 8 и др. - Основные моменты разработки Firefox» . hacks.mozilla.org . Mozilla. 20 февраля 2013 года . Проверено 15 марта 2013 года .
  55. ^ «Firefox - Примечания (35.0)» . Mozilla .
  56. ^ «Открытый исходный код H.264 устраняет барьеры для WebRTC» . 30 октября, 2013. Архивировано из оригинала на 6 июля 2015 года . Проверено 1 ноября 2013 года .
  57. ^ "Вопросы и ответы по проекту Cisco OpenH264" . 30 октября 2013 . Проверено 1 ноября 2013 года .
  58. ^ "Упрощенная лицензия BSD OpenH264" . 27 октября 2013 . Проверено 21 ноября 2013 года .
  59. ^ «Взаимодействие с видео в Интернете становится лучше благодаря кодеку Cisco H.264» . 30 октября 2013 . Проверено 1 ноября 2013 года .
  60. ^ «Обновлен README · cisco / openh264 @ 59dae50» . GitHub .
  61. ^ «Поддержка кодировки x264 4: 0: 0 (монохромный)» , Дата обращения 05.06.2019.
  62. ^ "Поддержка кодировки x264 4: 2: 2" , Дата обращения 5 июня 2019.
  63. ^ "Поддержка кодировки x264 4: 4: 4" , Дата обращения 5 июня 2019.
  64. ^ «Поддержка x264 для 9- и 10-битной кодировки» , Дата обращения 22.06.2011.
  65. ^ "x264 заменяет профиль High 4: 4: 4 без потерь на High 4: 4: 4 Predictive" , Дата обращения 22.06.2011.
  66. ^ «Краткое справочное руководство по созданию встроенных визуальных эффектов для процессоров Intel Core» . Сеть программного обеспечения Intel. 1 октября 2010 . Проверено 19 января 2011 года .
  67. ^ «Intel Quick Sync Video» . www.intel.com. 1 октября 2010 . Проверено 19 января 2011 года .
  68. ^ "Design-reuse.com" . Design-reuse.com. 1 января 1990 . Проверено 17 мая 2010 года .
  69. ^ "Категория: DM6467 - Вики-сайт по встраиваемым процессорам Texas Instruments" . Processors.wiki.ti.com. 12 июля 2011 . Проверено 30 июля 2011 года .
  70. ^ «Информационное портфолио» (PDF) . www.mpegla.com .
  71. ^ "Видео OMS, проект инициативы Sun Open Media Commons" . Архивировано из оригинала на 11 мая 2010 года . Проверено 26 августа 2008 года .
  72. ^ «Лицензиары, включенные в лицензию на патентный портфель AVC / H.264» . MPEG LA . Проверено 18 июня 2019 года .
  73. ^ «AVC / H.264 - Список патентов» (PDF) . MPEG LA . Проверено 6 июля 2019 года .
  74. ^ «Лицензия AVC MPEG LA не взимает роялти за Интернет-видео, которое предоставляется конечным пользователям бесплатно в течение всего срока действия лицензии» (PDF) . MPEG LA. 26 августа 2010 . Проверено 26 августа 2010 года .
  75. ^ Hachman, Марк (26 августа 2010). «MPEG LA навсегда снижает гонорары за бесплатное веб-видео» . pcmag.com . Проверено 26 августа 2010 года .
  76. ^ "AVC FAQ" . MPEG LA. 1 августа 2002 года Архивировано из оригинала 7 мая 2010 года . Проверено 17 мая 2010 года .
  77. ^ «Архивная копия» (PDF) . Архивировано из оригинального (PDF) 14 мая 2015 года . Проверено 20 ноября 2018 года . CS1 maint: заархивированная копия как заголовок ( ссылка )
  78. ^ http://www.osnews.com/story/24954/US_Patent_Expiration_for_MP3_MPEG-2_H_264 имеет патент MPEG LA US 7826532, который был подан 5 сентября 2003 г. и имеет продленный срок на 1546 дней. http://patft1.uspto.gov/netacgi/nph-Parser?patentnumber=7826532 http://www.google.com/patents/about?id=2onYAAAAEBAJ
  79. ^ a b c См. Qualcomm Inc. против Broadcom Corp. , № 2007-1545, 2008-1162 (Федеральный округ, 1 декабря 2008 г.). Для статей в популярной прессе см. Signonsandiego.com, «Qualcomm проигрывает дело о патентных правах» и «Дело Qualcomm по патенту передается на рассмотрение жюри» ; и bloomberg.com "Broadcom выиграла первое судебное разбирательство в патентном споре Qualcomm"

Дальнейшее чтение [ править ]

  • Виганд, Томас; Салливан, Гэри Дж .; Бьёнтегаард, Жисле; Лутра, Аджай (июль 2003 г.). «Обзор стандарта кодирования видео H.264 / AVC» (PDF) . IEEE Transactions on Circuits and Systems for Video Technology . 13 (7): 560–576. DOI : 10.1109 / TCSVT.2003.815165 . Проверено 31 января 2011 года .
  • Топивала, Панкадж; Салливан, Гэри Дж .; Лутра, Аджай (август 2004 г.). Тешер, Эндрю G (ред.). «Расширенный стандарт кодирования видео H.264 / AVC: обзор и введение в расширение диапазона Fidelity» (PDF) . SPIE Применение цифровой обработки изображений XXVII . Применение цифровой обработки изображений XXVII. 5558 : 454. Bibcode : 2004SPIE.5558..454S . DOI : 10.1117 / 12.564457 . S2CID  2308860 . Проверено 31 января 2011 года .
  • Ostermann, J .; Bormans, J .; Список, П .; Marpe, D .; Наррошке, М .; Pereira, F .; Stockhammer, T .; Веди, Т. (2004). «Кодирование видео с H.264 / AVC: инструменты, производительность и сложность» (PDF) . Журнал IEEE Circuits and Systems . 4 (1): 7–28. DOI : 10,1109 / MCAS.2004.1286980 . S2CID  11105089 . Архивировано из оригинального (PDF) 1 августа 2012 года . Проверено 31 января 2011 года .
  • Салливан, Гэри Дж .; Виганд, Томас (январь 2005 г.). «Сжатие видео - от концепций до стандарта H.264 / AVC» (PDF) . Труды IEEE . 93 (1): 18–31. DOI : 10,1109 / jproc.2004.839617 . S2CID  1362034 . Проверено 31 января 2011 года .
  • Ричардсон, Иэн Э. Г. (январь 2011 г.). «Узнайте о сжатии видео и H.264» . VCODEX . Vcodex Limited . Проверено 31 января 2011 года .

Внешние ссылки [ править ]

  • Страница публикации ITU-T: H.264: Расширенное кодирование видео для общих аудиовизуальных услуг
  • Информация о MPEG-4 AVC / H.264 Форум Doom9
  • H.264 / MPEG-4 Part 10 Tutorials (Richardson)
  • «Часть 10: Расширенное кодирование видео» . Страница публикации ISO: ISO / IEC 14496-10: 2010 - Информационные технологии - Кодирование аудиовизуальных объектов .
  • «Эталонное программное обеспечение H.264 / AVC JM» . Домашняя страница IP . Проверено 15 апреля 2007 года .
  • "Сайт архива документов JVT" . Архивировано из оригинала 8 августа 2010 года . Проверено 6 мая 2007 года .
  • «Публикации» . Томас Виганд . Проверено 23 июня 2007 года .
  • «Публикации» . Детлев Марпе . Проверено 15 апреля 2007 года .
  • «Четвертое ежегодное сравнение видеокодеков H.264» . Московский Государственный Университет. (от декабря 2007 г.)
  • «Обсуждение H.264 в отношении IP-камер, используемых в сфере безопасности и наблюдения» . (от апреля 2009 г.)
  • «Шестое ежегодное сравнение видеокодеков H.264» . Московский Государственный Университет . (от мая 2010 г.)