Наиболее широко используемый стандарт сжатия видео
Advanced Video Coding ( AVC ), также известный как H.264 или MPEG-4 Part 10 , — это стандарт сжатия видео, основанный на блочно-ориентированном кодировании с компенсацией движения . [2] Это, безусловно, наиболее часто используемый формат для записи, сжатия и распространения видеоконтента, используемый 91% разработчиков видеоиндустрии по состоянию на сентябрь 2019 года [обновлять]. [3] [4] Он поддерживает максимальное разрешение 8K UHD . [5] [6]
Целью проекта H.264/AVC было создание стандарта, способного обеспечить хорошее качество видео при существенно более низких скоростях передачи данных , чем предыдущие стандарты (т. е. половина или меньше скорости передачи данных MPEG-2 , H.263 или MPEG-4 Part 2 ), без увеличения сложности конструкции настолько, что это стало бы непрактичным или чрезмерно дорогим для внедрения. Это было достигнуто с помощью таких функций, как целочисленное дискретное косинусное преобразование с уменьшенной сложностью (целочисленное DCT), [7] сегментация с переменным размером блока и многокадровое межкадровое предсказание . Дополнительной целью было обеспечение достаточной гибкости, чтобы стандарт мог применяться к широкому спектру приложений в самых разных сетях и системах, включая низкие и высокие скорости передачи данных, видео с низким и высоким разрешением, вещание , хранение DVD , пакетные сети RTP / IP и системы мультимедийной телефонии ITU-T . Стандарт H.264 можно рассматривать как «семейство стандартов», состоящее из ряда различных профилей, хотя его «Высокий профиль» является наиболее часто используемым форматом. Конкретный декодер декодирует по крайней мере один, но не обязательно все профили. Стандарт описывает формат закодированных данных и то, как данные декодируются, но он не определяет алгоритмы кодирования видео — это остается открытым вопросом для разработчиков кодировщиков, которые могут выбирать сами, и было разработано большое количество схем кодирования. H.264 обычно используется для сжатия с потерями , хотя также возможно создавать действительно закодированные без потерь области внутри закодированных с потерями изображений или поддерживать редкие случаи использования, для которых все кодирование происходит без потерь.
H.264 был стандартизирован Группой экспертов по кодированию видео ITU-T (VCEG) Исследовательской группы 16 совместно с Группой экспертов по движущимся изображениям ISO/IEC JTC 1 (MPEG). Проектное партнерство известно как Объединенная группа по видео (JVT). Стандарт ITU-T H.264 и стандарт ISO/IEC MPEG-4 AVC (формально ISO/IEC 14496-10 – MPEG-4 Часть 10, Расширенное кодирование видео) поддерживаются совместно, поэтому они имеют одинаковое техническое содержание. Окончательная работа над проектом первой версии стандарта была завершена в мае 2003 года, и в последующих редакциях были добавлены различные расширения его возможностей. Высокоэффективное кодирование видео (HEVC), также известное как H.265 и MPEG-H Часть 2, является преемником H.264/MPEG-4 AVC, разработанного теми же организациями, в то время как более ранние стандарты все еще широко используются.
H.264 ограничен патентами , принадлежащими различным сторонам. Лицензия, охватывающая большинство (но не все [ нужна ссылка ] ) патентов, существенных для H.264, администрируется патентным пулом , ранее администрируемым MPEG LA . Via Licensing Corp приобрела MPEG LA в апреле 2023 года и сформировала новую компанию по администрированию патентного пула под названием Via Licensing Alliance . [8] Коммерческое использование запатентованных технологий H.264 требует выплаты роялти Via и другим владельцам патентов. MPEG LA разрешила свободное использование технологий H.264 для потоковой передачи интернет-видео, которое является бесплатным для конечных пользователей, и Cisco выплачивала роялти MPEG LA от имени пользователей двоичных файлов для своего кодировщика H.264 с открытым исходным кодом openH264 .
Нейминг
Название H.264 соответствует соглашению об именовании ITU-T , где Рекомендациям присваивается буква, соответствующая их серии, и номер рекомендации в серии. H.264 является частью «Рекомендаций серии H: Аудиовизуальные и мультимедийные системы». H.264 далее подразделяется на «H.200-H.499: Инфраструктура аудиовизуальных услуг» и «H.260-H.279: Кодирование движущегося видео». [9] Название 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 и Moving Picture Experts Group ( MPEG – ISO/IEC JTC 1/SC 29 /WG 11) сформировали Joint Video Team (JVT) с уставом на завершение стандарта видеокодирования. [11] Официальное утверждение спецификации произошло в марте 2003 года. JVT возглавляли Гэри Салливан , Томас Виганд и Аджай Лутра ( Motorola , США; позже Arris , США). В июле 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 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 ( уровень абстракции сети ) удаляется из битового потока при получении подпотока битов. В этом случае для эффективного кодирования обычно используется межслойное предсказание (т. е. предсказание сигнала с более высоким пространственным разрешением/качеством из данных сигнала с более низким пространственным разрешением/качеством). Расширения Scalable Video Coding были завершены в ноябре 2007 года.
Многопроекционное кодирование видео
Следующей важной функцией, добавленной в стандарт, было Multiview Video Coding (MVC). Указанный в Приложении H H.264/AVC, MVC позволяет создавать потоки битов, которые представляют более одного вида видеосцены. Важным примером этой функциональности является стереоскопическое 3D- видеокодирование. В работе MVC были разработаны два профиля: Multiview High profile поддерживает произвольное количество видов, а Stereo High profile разработан специально для двухвидового стереоскопического видео. Расширения 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 Predictive и четырех профилей Intra-only (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 г.) Поправка, содержащая определение нового профиля (профиль Constrained Baseline) только с общим подмножеством возможностей, поддерживаемых в различных ранее указанных профилях. [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), поддерживающий более высокие скорости обработки с точки зрения максимального количества макроблоков в секунду, и новый профиль (профиль Progressive High), поддерживающий только инструменты кодирования кадров ранее указанного профиля High. [22]
Версия 15 (Издание 6): (29 июня 2011 г.) Исправление, содержащее незначительные исправления. [22]
Версия 16 (издание 7): (13 января 2012 г.) Поправка, содержащая определение трех новых профилей, предназначенных в первую очередь для приложений связи в реальном времени: профили Constrained High, Scalable Constrained Baseline и Scalable Constrained High. [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 г.) Поправка для указания дополнительных идентификаторов цветового пространства (включая поддержку Рекомендации МСЭ-Р 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]
Версия 27 (издание 14): (22 августа 2021 г.) Поправка для указания дополнительных сообщений SEI для аннотированных регионов и информации об интервале затвора, а также различные мелкие исправления и разъяснения. [30]
Владельцы патентов
Следующие организации владеют одним или несколькими патентами в патентном пуле MPEG LA H.264/AVC .
Приложения
Формат видео H.264 имеет очень широкий спектр применения, который охватывает все формы цифрового сжатого видео от низкоскоростных потоковых приложений Интернета до вещания HDTV и приложений цифрового кино с почти без потерь кодирования. При использовании H.264 сообщается об экономии битрейта на 50% или более по сравнению с MPEG-2 Часть 2. Например, сообщается, что H.264 обеспечивает такое же качество цифрового спутникового телевидения, как и текущие реализации MPEG-2 с менее чем половиной битрейта, при этом текущие реализации MPEG-2 работают на скорости около 3,5 Мбит/с, а H.264 — всего на 1,5 Мбит/с. [33] Sony утверждает, что режим записи AVC со скоростью 9 Мбит/с эквивалентен качеству изображения формата HDV , который использует приблизительно 18–25 Мбит/с. [34]
Для обеспечения совместимости и беспроблемного принятия 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 в США. [35] [36] Он также был одобрен для использования с более новым стандартом ATSC-M/H (мобильные/портативные), использующим части AVC и SVC H.264. [37]
Многие распространенные цифровые зеркальные фотокамеры используют в качестве собственного формата записи видео H.264, упакованное в контейнеры QuickTime MOV.
Производные форматы
AVCHD — это формат записи высокой четкости, разработанный компаниями Sony и Panasonic , который использует H.264 (соответствующий H.264, но с добавлением дополнительных функций и ограничений, специфичных для конкретного приложения).
XAVC — это формат записи, разработанный Sony, который использует уровень 5.2 H.264/MPEG-4 AVC, который является наивысшим уровнем, поддерживаемым этим видеостандартом. [38] [39] XAVC может поддерживать разрешение 4K (4096 × 2160 и 3840 × 2160) со скоростью до 60 кадров в секунду (кадр/с). [38] [39] Sony объявила, что камеры, которые поддерживают XAVC, включают две камеры CineAlta — Sony PMW-F55 и Sony PMW-F5. [40] Sony PMW-F55 может записывать XAVC с разрешением 4K со скоростью 30 кадров в секунду при 300 Мбит/с и разрешением 2K со скоростью 30 кадров в секунду при 100 Мбит/с. [41] XAVC может записывать разрешение 4K со скоростью 60 кадров в секунду с дискретизацией цветности 4:2:2 при 600 Мбит/с. [42] [43]
Дизайн
Функции
H.264/AVC/MPEG-4 Часть 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 Часть 2. Сюда входят размеры блоков предсказания яркости 16×16, 8×8 и 4×4 (из которых только один тип может использоваться в каждом макроблоке ).
Целочисленное дискретное косинусное преобразование (целочисленное ДКП), [6] [44] [45] тип дискретного косинусного преобразования (ДКП) [44] , где преобразование является целочисленным приближением стандартного ДКП. [46] Оно имеет выбираемые размеры блоков [7] и точное совпадение целочисленных вычислений для уменьшения сложности, включая:
Точное соответствие целочисленному пространственному блочному преобразованию 4×4, позволяющее точно размещать остаточные сигналы с небольшим количеством " звона ", часто встречающегося в предыдущих конструкциях кодеков. Оно похоже на стандартное DCT, используемое в предыдущих стандартах, но использует меньший размер блока и простую целочисленную обработку. В отличие от косинусных формул и допусков, выраженных в более ранних стандартах (таких как H.261 и MPEG-2), целочисленная обработка обеспечивает точно заданный декодированный результат.
Точное соответствие целочисленному пространственному блочному преобразованию 8×8, позволяющее сжимать высококоррелированные регионы более эффективно, чем при преобразовании 4×4. Эта конструкция основана на стандартном DCT, но упрощена и сделана для обеспечения точно заданного декодирования.
Адаптивный выбор кодировщика между размерами блока преобразования 4×4 и 8×8 для операции целочисленного преобразования.
Вторичное преобразование Адамара, выполненное над коэффициентами «DC» первичного пространственного преобразования, применено к коэффициентам DC цветности (а также к яркости в одном особом случае) для получения еще большего сжатия в гладких областях.
Режим представления «макроблоков PCM» без потерь, в котором образцы видеоданных представляются напрямую [47], что позволяет идеально представлять определенные регионы и устанавливать строгие ограничения на количество кодированных данных для каждого макроблока.
Улучшенный режим представления макроблоков без потерь, позволяющий идеально представлять определенные регионы, при этом обычно используя значительно меньше бит, чем режим PCM.
Гибкие функции кодирования видео с чересстрочной разверткой, в том числе:
Адаптивное макроблочное кодирование кадра-поля (MBAFF) с использованием структуры пар макроблоков для изображений, закодированных как кадры, что позволяет использовать макроблоки размером 16×16 в режиме поля (по сравнению с MPEG-2, где обработка в режиме поля в изображении, закодированном как кадр, приводит к обработке полумакроблоков размером 16×8).
Адаптивное к изображению покадровое кодирование полей (PAFF или PicAFF), позволяющее свободно выбирать смесь изображений, кодируемых либо как полные кадры, где оба поля объединяются для кодирования, либо как отдельные поля.
Проект квантования, включающий:
Логарифмическое управление размером шага для более легкого управления скоростью передачи данных кодерами и упрощенного масштабирования обратного квантования
Частотно-настраиваемые матрицы масштабирования квантования, выбранные кодером для оптимизации квантования на основе восприятия
Фильтр деблокирования в цикле , помогающий предотвратить появление артефактов блокирования, характерных для других методов сжатия изображений на основе DCT, что приводит к улучшению визуального восприятия и эффективности сжатия.
Контекстно-адаптивное двоичное арифметическое кодирование (CABAC), алгоритм для сжатия элементов синтаксиса без потерь в видеопотоке, зная вероятности элементов синтаксиса в заданном контексте. CABAC сжимает данные эффективнее, чем CAVLC, но требует значительно больше обработки для декодирования.
Контекстно-адаптивное кодирование переменной длины (CAVLC), которое является менее сложной альтернативой CABAC для кодирования квантованных значений коэффициентов преобразования. Несмотря на меньшую сложность, чем CABAC, CAVLC более сложный и более эффективный, чем методы, обычно используемые для кодирования коэффициентов в других предыдущих разработках.
Характеристики устойчивости к потерям, в том числе:
Определение уровня абстракции сети (NAL), позволяющее использовать один и тот же синтаксис видео во многих сетевых средах. Одной из фундаментальных концепций дизайна H.264 является генерация автономных пакетов для удаления дублирования заголовков, как в коде расширения заголовка (HEC) MPEG-4. [48] Это было достигнуто путем отделения информации, относящейся к более чем одному слайсу, от медиапотока. Комбинация параметров более высокого уровня называется набором параметров. [48] Спецификация H.264 включает два типа наборов параметров: набор параметров последовательности (SPS) и набор параметров изображения (PPS). Активный набор параметров последовательности остается неизменным на протяжении всей кодированной видеопоследовательности, а активный набор параметров изображения остается неизменным в пределах кодированного изображения. Структуры наборов параметров последовательности и изображения содержат такую информацию, как размер изображения, используемые необязательные режимы кодирования и карта макроблока для группы слайсов. [48]
Гибкий порядок макроблоков (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 — обычно получая то же качество при половине скорости передачи данных или меньше, особенно на видеоконтенте с высокой скоростью передачи данных и высоким разрешением. [49]
Как и другие стандарты видео ISO/IEC MPEG, H.264/AVC имеет реализацию эталонного программного обеспечения, которую можно бесплатно загрузить. [50] Его главная цель — дать примеры функций H.264/AVC, а не быть полезным приложением как таковым . Некоторые работы по проектированию эталонного оборудования также проводились в Moving Picture Experts Group . Вышеупомянутые аспекты включают функции во всех профилях H.264. Профиль для кодека — это набор функций этого кодека, определенных для соответствия определенному набору спецификаций предполагаемых приложений. Это означает, что многие из перечисленных функций не поддерживаются в некоторых профилях. Различные профили H.264/AVC обсуждаются в следующем разделе.
Профили
Стандарт определяет несколько наборов возможностей, которые называются профилями , нацеленными на определенные классы приложений. Они объявляются с использованием кода профиля (profile_idc) и иногда набора дополнительных ограничений, применяемых в кодере. Код профиля и указанные ограничения позволяют декодеру распознавать требования для декодирования этого конкретного битового потока. (И во многих системных средах разрешено использовать только один или два профиля, поэтому декодерам в этих средах не нужно беспокоиться о распознавании менее часто используемых профилей.) Безусловно, наиболее часто используемым профилем является High Profile.
Профили для немасштабируемых 2D-видеоприложений включают в себя следующее:
Ограниченный базовый профиль (CBP, 66 с набором ограничений 1)
В первую очередь для недорогих приложений этот профиль чаще всего используется в видеоконференциях и мобильных приложениях. Он соответствует подмножеству функций, которые являются общими для профилей Baseline, Main и High.
Базовый профиль (БП, 66)
В первую очередь для недорогих приложений, которым требуется дополнительная устойчивость к потере данных, этот профиль используется в некоторых приложениях видеоконференций и мобильных приложениях. Этот профиль включает все функции, поддерживаемые в Constrained Baseline Profile, а также три дополнительные функции, которые могут использоваться для устойчивости к потере (или для других целей, таких как многоточечная композиция видеопотока с низкой задержкой). Важность этого профиля несколько снизилась с момента определения Constrained Baseline Profile в 2009 году. Все битовые потоки Constrained Baseline Profile также считаются битовыми потоками Baseline Profile, поскольку эти два профиля используют одно и то же значение кода идентификатора профиля.
Расширенный профиль (XP, 88)
Этот профиль, задуманный как профиль потокового видео, имеет относительно высокую степень сжатия и некоторые дополнительные приемы для обеспечения устойчивости к потерям данных и переключению потоков сервера.
Основной профиль (МП, 77)
Этот профиль используется для цифрового телевидения стандартной четкости, которое использует формат MPEG-4, как определено в стандарте DVB. [51] Однако он не используется для телевидения высокой четкости, поскольку важность этого профиля сошла на нет, когда в 2004 году для этого приложения был разработан High Profile.
Высокий профиль (HiP, 100)
Основной профиль для приложений вещания и хранения на дисках, в частности для приложений телевидения высокой четкости (например, этот профиль принят в формате хранения Blu-ray Disc и службе вещания DVB HDTV).
Прогрессивный высокий профиль (PHiP, 100 с набором ограничений 4)
Аналогично High profile, но без поддержки функций полевого кодирования.
Ограниченный высокий профиль (100 с набором ограничений 4 и 5)
Аналогично профилю Progressive High, но без поддержки B-срезов (двойного предсказания).
Высокий 10 профиль (Hi10P, 110)
Выходя за рамки типичных возможностей массовых потребительских продуктов, этот профиль создан на основе профиля High Profile, добавляя поддержку до 10 бит на выборку точности декодированного изображения.
Высокий профиль 4:2:2 (Hi422P, 122)
Этот профиль, ориентированный в первую очередь на профессиональные приложения, использующие чересстрочное видео, создан на основе профиля High 10, добавляя поддержку формата дискретизации цвета 4:2:2 , используя при этом до 10 бит на выборку точности декодированного изображения.
Высокий 4:4:4 предиктивный профиль (Hi444PP, 244)
Этот профиль создан на основе профиля High 4:2:2, поддерживая дискретизацию цвета до 4:4:4, до 14 бит на выборку, а также эффективное кодирование областей без потерь и кодирование каждого изображения как трех отдельных цветовых плоскостей.
Для камкордеров, редактирования и профессиональных приложений стандарт содержит четыре дополнительных профиля Intra-frame -only, которые определяются как простые подмножества других соответствующих профилей. Они в основном предназначены для профессиональных приложений (например, камеры и системы редактирования):
Высокий 10 Intra Profile (110 с набором ограничений 3)
Профиль High 10 ограничен исключительно внутрикорпоративным использованием.
Высокий профиль 4:2:2 Intra (122 с набором ограничений 3)
Профиль High 4:2:2 предназначен только для использования внутри сети.
Высокий профиль 4:4:4 Intra (244 с набором ограничений 3)
Профиль High 4:4:4 предназначен только для использования внутри сети.
CAVLC 4:4:4 Внутренний профиль (44)
Профиль High 4:4:4 ограничен использованием только Intra и энтропийным кодированием CAVLC (т. е. не поддерживает CABAC).
В результате расширения масштабируемого видеокодирования (SVC) стандарт содержит пять дополнительных масштабируемых профилей , которые определяются как комбинация профиля H.264/AVC для базового уровня (идентифицируется вторым словом в названии масштабируемого профиля) и инструментов, которые обеспечивают масштабируемое расширение:
Масштабируемый базовый профиль (83)
В первую очередь ориентированный на видеоконференции, мобильные приложения и приложения наблюдения, этот профиль строится поверх профиля Constrained Baseline, которому должен соответствовать базовый слой (подмножество битового потока). Для инструментов масштабируемости включено подмножество доступных инструментов.
Масштабируемый ограниченный базовый профиль (83 с набором ограничений 5)
Подмножество масштабируемого базового профиля, предназначенное в первую очередь для приложений связи в реальном времени.
Масштабируемый высокий профиль (86)
Этот профиль, предназначенный в первую очередь для приложений вещания и потоковой передачи, создан на основе профиля H.264/AVC High Profile, которому должен соответствовать базовый уровень.
Масштабируемый ограниченный высокий профиль (86 с набором ограничений 5)
Подмножество масштабируемого высокого профиля, предназначенное в первую очередь для приложений связи в реальном времени.
Масштабируемый высокий внутренний профиль (86 с набором ограничений 3)
Этот профиль, предназначенный в первую очередь для производственных приложений, представляет собой масштабируемый высокий профиль, ограниченный исключительно внутрикорпоративным использованием.
В результате расширения Multiview Video Coding (MVC) стандарт содержит два профиля multiview :
Стерео Высокий Профиль (128)
Этот профиль предназначен для двухракурсного стереоскопического 3D-видео и объединяет инструменты профиля High с возможностями межракурсного прогнозирования расширения MVC.
Многоэкранный Высокий Профиль (118)
Этот профиль поддерживает два или более видов с использованием как межвидового (временного), так и межвидового предсказания MVC, но не поддерживает полевые изображения и адаптивное к макроблокам кодирование кадра-поля.
Расширение Multi-resolution Frame-Compatible (MFC) добавило еще два профиля:
MFC Высокий профиль (134)
Профиль для стереоскопического кодирования с двухслойным повышением разрешения.
MFC Глубина Высокий профиль (135)
Расширение 3D-AVC добавило еще два профиля:
Многоракурсный глубинный высокий профиль (138)
Этот профиль поддерживает совместное кодирование информации о карте глубины и видеотекстуре для улучшенного сжатия 3D-видеоконтента.
Улучшенный многоракурсный глубинный высокий профиль (139)
Улучшенный профиль для комбинированного многовидового кодирования с информацией о глубине.
Поддержка функций в определенных профилях
Уровни
Как этот термин используется в стандарте, « уровень » — это определенный набор ограничений, которые указывают степень требуемой производительности декодера для профиля. Например, уровень поддержки в профиле определяет максимальное разрешение изображения, частоту кадров и битрейт, которые может использовать декодер. Декодер, соответствующий заданному уровню, должен иметь возможность декодировать все битовые потоки, закодированные для этого уровня и всех более низких уровней.
Максимальная скорость передачи данных для профиля High Profile в 1,25 раза больше, чем для профилей Constrained Baseline, Baseline, Extended и Main Profile; в 3 раза больше для Hi10P и в 4 раза больше для Hi422P/Hi444PP.
Количество выборок яркости в 16×16=256 раз больше количества макроблоков (а количество выборок яркости в секунду в 256 раз больше количества макроблоков в секунду).
Буферизация декодированных изображений
Ранее закодированные изображения используются кодерами H.264/AVC для прогнозирования значений образцов в других изображениях. Это позволяет кодеру принимать эффективные решения о наилучшем способе кодирования данного изображения. В декодере такие изображения сохраняются в виртуальном буфере декодированных изображений (DPB). Максимальная емкость DPB в единицах кадров (или пар полей), как показано в скобках в правом столбце таблицы выше, может быть вычислена следующим образом:
Где 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 с размером кадра 1920×1080 указано значение 4 в скобках.
Текущее декодируемое изображение не включается в расчет заполненности DPB (если только кодер не указал, что оно должно быть сохранено для использования в качестве ссылки для декодирования других изображений или для отложенного вывода). Таким образом, декодер должен фактически иметь достаточный объем памяти для обработки (по крайней мере) одного кадра больше , чем максимальная емкость DPB, рассчитанная выше.
Реализации
В 2009 году рабочая группа HTML5 разделилась на сторонников Ogg Theora , свободного видеоформата, который, как считается, не обременен патентами, и H.264, который содержит запатентованную технологию. Еще в июле 2009 года Google и Apple, как сообщалось, поддерживали H.264, в то время как Mozilla и Opera поддерживают Ogg Theora (теперь Google, Mozilla и Opera поддерживают Theora и WebM с VP8 ). [52] Microsoft с выпуском Internet Explorer 9 добавила поддержку видео HTML 5, закодированного с помощью H.264. На симпозиуме Gartner/ITXpo в ноябре 2010 года генеральный директор Microsoft Стив Балмер ответил на вопрос «HTML 5 или Silverlight ?», сказав: «Если вы хотите сделать что-то универсальное, нет никаких сомнений, что мир переходит на HTML5». [53] В январе 2011 года Google объявила, что прекращает поддержку H.264 в своем браузере Chrome и поддерживает как Theora, так и WebM / VP8 , чтобы использовать только открытые форматы. [54]
18 марта 2012 года Mozilla объявила о поддержке H.264 в Firefox на мобильных устройствах из-за распространенности видео, закодированного в H.264, и повышенной энергоэффективности использования выделенного оборудования декодера H.264, распространенного на таких устройствах. [55] 20 февраля 2013 года Mozilla реализовала поддержку декодирования H.264 в Firefox на Windows 7 и выше. Эта функция основана на встроенных библиотеках декодирования Windows. [56] Firefox 35.0, выпущенный 13 января 2015 года, поддерживает H.264 на OS X 10.6 и выше. [57]
30 октября 2013 года Роуэн Троллоп из Cisco Systems объявил, что Cisco выпустит как двоичные файлы, так и исходный код видеокодека H.264 под названием OpenH264 под лицензией Simplified BSD и выплатит все лицензионные отчисления за его использование в MPEG LA для любых программных проектов, которые используют предварительно скомпилированные двоичные файлы Cisco, тем самым сделав двоичные файлы Cisco OpenH264 бесплатными для использования. Однако любые программные проекты, которые используют исходный код Cisco вместо его двоичных файлов, будут нести юридическую ответственность за выплату всех лицензионных отчислений в MPEG LA. Целевые архитектуры ЦП включают x86 и ARM, а целевые операционные системы включают Linux, Windows XP и более поздние версии, Mac OS X и Android; iOS, в частности, отсутствовала в этом списке, поскольку она не позволяет приложениям извлекать и устанавливать двоичные модули из Интернета. [58] [59] [60] Также 30 октября 2013 года Брендан Эйх из Mozilla написал, что компания будет использовать двоичные файлы Cisco в будущих версиях Firefox для добавления поддержки H.264 в Firefox, где кодеки платформы недоступны. [61] Cisco опубликовала исходный код OpenH264 9 декабря 2013 года. [62]
Хотя iOS не поддерживалась в программном обеспечении Cisco версии 2013 года, Apple обновила свой Video Toolbox Framework с помощью iOS 8 (выпущенной в сентябре 2014 года), чтобы обеспечить прямой доступ к аппаратному кодированию и декодированию видео H.264/AVC. [59]
Программные кодировщики
Аппаратное обеспечение
Поскольку кодирование и декодирование H.264 требует значительной вычислительной мощности в определенных типах арифметических операций, программные реализации, работающие на универсальных процессорах, обычно менее энергоэффективны. Однако новейшие [ когда? ] четырехъядерные универсальные процессоры x86 обладают достаточной вычислительной мощностью для выполнения кодирования SD и HD в реальном времени. Эффективность сжатия зависит от реализации алгоритмов видео, а не от того, используется ли аппаратная или программная реализация. Поэтому разница между аппаратной и программной реализацией заключается скорее в энергоэффективности, гибкости и стоимости. Для повышения энергоэффективности и снижения форм-фактора оборудования может использоваться специализированное оборудование либо для полного процесса кодирования или декодирования, либо для ускорения в среде, контролируемой процессором.
Решения на базе ЦП, как известно, гораздо более гибкие, особенно когда кодирование должно выполняться одновременно в нескольких форматах, с несколькими скоростями передачи данных и разрешениями ( многоэкранное видео ), и, возможно, с дополнительными функциями поддержки формата контейнера, расширенными интегрированными рекламными функциями и т. д. Программное решение на базе ЦП, как правило, значительно упрощает балансировку нагрузки нескольких одновременных сеансов кодирования в рамках одного ЦП.
Аппаратный кодер H.264 может представлять собой ASIC или FPGA .
Кодеры ASIC с функциональностью кодера H.264 доступны у многих различных полупроводниковых компаний, но основная конструкция, используемая в ASIC, обычно лицензируется у одной из нескольких компаний, таких как Chips&Media , Allegro DVT, On2 (ранее Hantro, приобретенная Google), Imagination Technologies , NGCodec. Некоторые компании предлагают как продукты FPGA, так и продукты ASIC. [70]
Texas Instruments производит линейку ядер ARM + DSP, которые выполняют кодирование DSP H.264 BP 1080p со скоростью 30 кадров в секунду. [71] Это обеспечивает гибкость в отношении кодеков (которые реализованы как высокооптимизированный код DSP), будучи при этом более эффективным, чем программное обеспечение на обычном ЦП.
Лицензирование
В странах, где патенты на программные алгоритмы поддерживаются, поставщики и коммерческие пользователи продуктов, использующих H.264/AVC, должны платить лицензионные отчисления за патентованную технологию, которую используют их продукты. [72] Это также относится к базовому профилю. [73]
26 августа 2010 года MPEG LA объявила, что роялти не будут взиматься за закодированное в H.264 интернет-видео, которое является бесплатным для конечных пользователей. [76] Все остальные роялти остаются в силе, такие как роялти за продукты, которые декодируют и кодируют видео H.264, а также операторам бесплатного телевидения и каналов подписки. [77] Условия лицензии обновляются блоками по 5 лет. [78]
Поскольку первая версия стандарта была завершена в мае 2003 года (21 год назад), а наиболее часто используемый профиль (Высокий профиль) был завершен в июне 2004 года [ необходима ссылка ] (20 лет назад), некоторые из соответствующих патентов к настоящему времени уже истекли, [75] в то время как другие все еще действуют в юрисдикциях по всему миру, а один из патентов США в пуле MPEG LA H.264 (выдан в 2016 году, приоритет с 2001 года) действует по крайней мере до ноября 2030 года. [79]
В 2005 году Qualcomm подала в суд на Broadcom в Окружной суд США, утверждая, что Broadcom нарушила два ее патента, выпустив продукты, соответствующие стандарту сжатия видео H.264. [80] В 2007 году Окружной суд постановил, что патенты не подлежат принудительному исполнению, поскольку Qualcomm не раскрыла их JVT до выпуска стандарта H.264 в мае 2003 года. [80] В декабре 2008 года Апелляционный суд США по федеральному округу подтвердил постановление Окружного суда о том, что патенты не подлежат принудительному исполнению, но вернул дело в Окружной суд с указанием ограничить сферу неприменимости продуктами, соответствующими H.264. [80]
В октябре 2023 года Nokia подала в суд на HP и Amazon за нарушение патента H.264/H.265 в США, Великобритании и других странах. [81]
Смотрите также
VC-1 — стандарт, разработанный корпорацией Microsoft и утвержденный в качестве стандарта SMPTE в 2006 году.
^ MPEG-4, Advanced Video Coding (часть 10) (H.264) (полный черновик). Устойчивость цифровых форматов. Вашингтон, округ Колумбия: Библиотека Конгресса. 5 декабря 2011 г. Получено 1 декабря 2021 г.
^ "H.264: Расширенное кодирование видео для общих аудиовизуальных услуг". www.itu.int . Архивировано из оригинала 31 октября 2019 г. Получено 22 ноября 2019 г.
^ "Отчет разработчика видео 2019". Bitmovin . Сентябрь 2019.
^ "Доставка 8K с использованием AVC/H.264". Mystery Box . Архивировано из оригинала 25 марта 2021 г. Получено 23 августа 2017 г.
^ ab Wang, Hanli; Kwong, S.; Kok, C. (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.
^ ab Thomson, Gavin; Shah, Athar (2017). "Introducing HEIF and HEVC" (PDF) . Apple Inc. Получено 5 августа 2019 г. .
^ Озер, Ян (8 мая 2023 г.), Via LA's Heath Hoglund Talks MPEG LA/Via Licensing Patent Pool Merger, StreamingMedia.com
^ «Рекомендации МСЭ-Т». МСЭ . Проверено 1 ноября 2022 г.
^ "H.262: Информационные технологии — Общее кодирование движущихся изображений и связанной с ними аудиоинформации: Видео" . Получено 15 апреля 2007 г.
^ «Рекомендация ITU-T H.264 (05/2003)» . МСЭ. 30 мая 2003 года . Проверено 18 апреля 2013 г.
^ «Рекомендация ITU-T H.264 (05/2003) Cor. 1 (05/2004)» . МСЭ. 7 мая 2004 года . Проверено 18 апреля 2013 г.
^ «Рекомендация ITU-T H.264 (03/2005)» . МСЭ. 1 марта 2005 года . Проверено 18 апреля 2013 г.
^ «Рекомендация ITU-T H.264 (2005 г.), Cor. 1 (09/2005)» . МСЭ. 13 сентября 2005 года . Проверено 18 апреля 2013 г.
^ ab "ITU-T Recommendation H.264 (2005) Amd. 1 (06/2006)". ITU. 13 июня 2006 г. Получено 18 апреля 2013 г.
^ "ITU-T Recommendation H.264 (2005) Amd. 2 (04/2007)". ITU. 6 апреля 2007 г. Получено 18 апреля 2013 г.
^ «Рекомендация ITU-T H.264 (11/2007)» . МСЭ. 22 ноября 2007 года . Проверено 18 апреля 2013 г.
^ «Рекомендация ITU-T H.264 (2007 г.), Кор. 1 (01/2009 г.)» . МСЭ. 13 января 2009 года . Проверено 18 апреля 2013 г.
^ ab «Рекомендация ITU-T H.264 (03/2009)» . МСЭ. 16 марта 2009 года . Проверено 18 апреля 2013 г.
^ ab «Рекомендация ITU-T H.264 (03/2010)» . МСЭ. 9 марта 2010 года . Проверено 18 апреля 2013 г.
^ ab «Рекомендация ITU-T H.264 (06/2011)» . МСЭ. 29 июня 2011 года . Проверено 18 апреля 2013 г.
^ «Рекомендация ITU-T H.264 (01/2012)» . МСЭ. 13 января 2012 года . Проверено 18 апреля 2013 г.
^ abcd «Рекомендация ITU-T H.264 (04/2013)» . МСЭ. 12 июня 2013 года . Проверено 16 июня 2013 г.
^ ab "ITU-T Recommendation H.264 (02/2014)". ITU. 28 ноября 2014 г. Получено 28 февраля 2016 г.
^ "ITU-T Recommendation H.264 (02/2016)". ITU. 13 февраля 2016 г. Получено 14 июня 2017 г.
^ «Рекомендация ITU-T H.264 (10/2016)» . МСЭ. 14 октября 2016 года . Проверено 14 июня 2017 г.
^ abc "ITU-T Recommendation H.264 (04/2017)". ITU. 13 апреля 2017 г. См. таблицы A-1, A-6 и A-7 для табличных возможностей, зависящих от уровня . Получено 14 июня 2017 г.
^ "H.264: Расширенное кодирование видео для общих аудиовизуальных услуг - Версия 26 (Издание 13)". www.itu.int . 13 июня 2019 г. Архивировано из оригинала 4 ноября 2021 г. Получено 3 ноября 2021 г.
^ "H.264: Расширенное кодирование видео для общих аудиовизуальных услуг - Версия 27 (Издание 14)". www.itu.int . 22 августа 2021 г. Архивировано из оригинала 4 ноября 2021 г. Получено 3 ноября 2021 г.
^ ab "AVC/H.264 – Список патентов" (PDF) . MPEG LA . Получено 22 декабря 2022 г. .
^ "AVC/H.264 Licensors". MPEG-LA. Архивировано из оригинала 30 мая 2015 г. Получено 19 мая 2013 г.
^ Венгер и др. (февраль 2005 г.). "RFC 3984: Формат полезной нагрузки RTP для видео H.264". Ietf Datatracker : 2. doi :10.17487/RFC3984.
^ «Какой режим записи эквивалентен качеству изображения формата High Definition Video (HDV)?». Sony eSupport . Архивировано из оригинала 9 ноября 2017 г. Получено 8 декабря 2018 г.
^ "Стандарт ATSC A/72 Часть 1: Характеристики видеосистемы AVC в системе цифрового телевидения ATSC" (PDF) . Архивировано из оригинала (PDF) 7 августа 2011 г. . Получено 30 июля 2011 г. .
^ "ATSC Standard A/72 Part 2: AVC Video Transport Subsystem Characteristics" (PDF) . Архивировано из оригинала (PDF) 7 августа 2011 г. . Получено 30 июля 2011 г. .
^ "Стандарт ATSC A/153 Часть 7: Характеристики видеосистем AVC и SVC" (PDF) . Архивировано из оригинала (PDF) 26 июля 2011 г. . Получено 30 июля 2011 г. .
^ ab "Sony представляет новый формат записи XAVC для ускорения разработки 4K на профессиональном и потребительском рынках". Sony. 30 октября 2012 г. Получено 1 ноября 2012 г.
^ ab "Sony представляет новый формат записи XAVC для ускорения разработки 4K на профессиональном и потребительском рынках" (PDF) . Sony. 30 октября 2012 г. . Получено 1 ноября 2012 г. .[ постоянная мертвая ссылка ]
↑ Стив Дент (30 октября 2012 г.). «Sony выходит на охоту за красным с камкордерами PMW-F55 и PMW-F5 pro CineAlta с сенсором 4K Super 35 мм». Engadget . Получено 5 ноября 2012 г.
^ "F55 CineAlta 4K будущее, опережая график" (PDF) . Sony. 30 октября 2012 г. Архивировано из оригинала (PDF) 19 ноября 2012 г. Получено 1 ноября 2012 г.
^ "Сверхбыстрые карты памяти "SxS PRO+" преобразуют захват видео 4K". Sony. Архивировано из оригинала 8 марта 2013 г. Получено 5 ноября 2012 г.
^ "Сверхбыстрые карты памяти "SxS PRO+" преобразуют захват видео 4K" (PDF) . Sony. Архивировано из оригинала (PDF) 2 апреля 2015 г. . Получено 5 ноября 2012 г. .
^ ab Stanković, Radomir S.; Astola, Jaakko T. (2012). «Воспоминания о ранней работе в области DCT: интервью с KR Rao» (PDF) . Перепечатки из Early Days of Information Sciences . 60 : 17 . Получено 13 октября 2019 г. .
^ Квон, Сун-ён; Ли, Джу-кён; Чунг, Ки-дон (2005). «Коррекция полупикселей для транскодирования MPEG-2/H.264». Анализ и обработка изображений – ICIAP 2005. Конспект лекций по информатике. Том 3617. Springer Berlin Heidelberg. С. 576–583. doi : 10.1007/11553595_71 . ISBN978-3-540-28869-5.
^ Британак, Владимир; Йип, Патрик К.; Рао, КР (2010). Дискретные косинусные и синусные преобразования: общие свойства, быстрые алгоритмы и целочисленные приближения. Elsevier . стр. ix, xiii, 1, 141–304. ISBN9780080464640.
^ "Расширенный стандарт кодирования видео H.264/AVC: обзор и введение в расширения диапазона точности" (PDF) . Получено 30 июля 2011 г.
^ abc RFC 3984, стр.3
↑ Apple Inc. (26 марта 1999 г.). "H.264 FAQ". Apple. Архивировано из оригинала 7 марта 2010 г. Получено 17 мая 2010 г.
^ Карстен Сюринг. "H.264/AVC JM Reference Software Download". Iphome.hhi.de . Получено 17 мая 2010 г.
^ "TS 101 154 – V1.9.1 – Цифровое видеовещание (DVB); Спецификация для использования видео- и аудиокодирования в вещательных приложениях на основе транспортного потока MPEG-2" (PDF) . Получено 17 мая 2010 г.
^ "Расшифровка дебатов о видеокодеках HTML 5". Ars Technica . 6 июля 2009 г. Получено 12 января 2011 г.
^ "Стив Балмер, генеральный директор Microsoft, интервью на Gartner Symposium/ITxpo Orlando 2010". Gartnervideo. Ноябрь 2010. Архивировано из оригинала 30 октября 2021 г. Получено 12 января 2011 г.
^ "Поддержка видеокодеков HTML в Chrome". 11 января 2011 г. Получено 12 января 2011 г.
^ "Видео, мобильная связь и открытый Интернет". 18 марта 2012 г. Получено 20 марта 2012 г.
^ "WebRTC включен, поддержка H.264/MP3 в Win 7 по умолчанию, Metro UI для Windows 8 и многое другое – Основные моменты разработки Firefox". hacks.mozilla.org . mozilla. 20 февраля 2013 г. . Получено 15 марта 2013 г. .
^ "Firefox — Заметки (35.0)". Mozilla .
^ "Open-Sourced H.264 устраняет барьеры для WebRTC". 30 октября 2013 г. Архивировано из оригинала 6 июля 2015 г. Получено 1 ноября 2013 г.
^ ab "Часто задаваемые вопросы о проекте Cisco OpenH264" . Получено 26 сентября 2021 г. .
^ "OpenH264 Simplified BSD License". GitHub . 27 октября 2013 г. Получено 21 ноября 2013 г.
^ "Взаимодействие видео в Интернете получает импульс от кодека Cisco H.264". 30 октября 2013 г. Получено 1 ноября 2013 г.
^ «Поддержка x264 для 9- и 10-битного кодирования», Получено 22-06-2011.
^ "x264 заменяет профиль High 4:4:4 без потерь на High 4:4:4 Predictive", Получено 22.06.2011.
^ "Краткое справочное руководство по созданию встроенных визуальных эффектов процессора Intel Core". Intel Software Network. 1 октября 2010 г. Получено 19 января 2011 г.
^ "Intel Quick Sync Video". www.intel.com. 1 октября 2010 г. Получено 19 января 2011 г.
^ "Design-reuse.com". Design-reuse.com. 1 января 1990 г. Получено 17 мая 2010 г.
^ "Категория:DM6467 - Википедия по встраиваемым процессорам Texas Instruments". Processors.wiki.ti.com. 12 июля 2011 г. Архивировано из оригинала 17 июля 2011 г. Получено 30 июля 2011 г.
^ "Портфель брифингов" (PDF) . www.mpegla.com .
^ "OMS Video, проект Sun's Open Media Commons Initiative". Архивировано из оригинала 11 мая 2010 г. Получено 26 августа 2008 г.
^ "Лицензиары, включенные в лицензию патентного портфеля AVC/H.264". MPEG LA . Получено 18 июня 2019 г.
^ ab "AVC/H.264 – Patent List". Через Licensing Alliance . Получено 28 апреля 2024 г.
^ «Лицензия MPEG LA AVC не будет взимать роялти за интернет-видео, которое является бесплатным для конечных пользователей в течение срока действия лицензии» (PDF) . MPEG LA. 26 августа 2010 г. Архивировано из оригинала (PDF) 7 ноября 2013 г. . Получено 26 августа 2010 г. .
^ Хачман, Марк (26 августа 2010 г.). "MPEG LA сокращает роялти за бесплатное веб-видео навсегда". pcmag.com . Получено 26 августа 2010 г.
^ "AVC FAQ". MPEG LA. 1 августа 2002 г. Архивировано из оригинала 7 мая 2010 г. Получено 17 мая 2010 г.
^ "United States Patent 9,356,620 Baese, et al" . Получено 1 августа 2022 г.с самой ранней датой приоритета 14 сентября 2001 года имеет продление срока на 2998 дней.
^ abc См. Qualcomm Inc. v. Broadcom Corp., № 2007-1545, 2008-1162 (Fed. Cir. 1 декабря 2008 г.). Статьи в популярной прессе см. signonsandiego.com, "Qualcomm loses its patent-rights case" и "Qualcomm's patent case go to jury"; и bloomberg.com "Broadcom Wins First Trial in Qualcomm Patent Dispute"
^ "нокиа h264".
Дальнейшее чтение
Wiegand, Thomas; Sullivan, Gary J.; Bjøntegaard, Gisle; Luthra, Ajay (июль 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 г. .
Topiwala, Pankaj; Sullivan, Gary J.; Luthra, Ajay (август 2004 г.). Tescher, Andrew G (ред.). "The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions" (PDF) . SPIE Applications of Digital Image Processing XXVII . Applications of Digital Image Processing XXVII. 5558 : 454. Bibcode :2004SPIE.5558..454S. doi :10.1117/12.564457. S2CID 2308860 . Получено 31 января 2011 г. .
Ostermann, J.; Bormans, J.; List, P.; Marpe, D.; Narroschke, M.; Pereira, F.; Stockhammer, T.; Wedi, T. (2004). «Видеокодирование с помощью H.264/AVC: инструменты, производительность и сложность» (PDF) . Журнал IEEE Circuits and Systems . 4 (1): 7–28. doi :10.1109/MCAS.2004.1286980. S2CID 11105089. Архивировано из оригинала (PDF) 6 июля 2017 г. . Получено 31 января 2011 г. .
Puri, Atul; Chen, Xuemin; Luthra, Ajay (октябрь 2004 г.). «Видеокодирование с использованием стандарта сжатия H.264/MPEG-4 AVC» (PDF) . Обработка сигналов: передача изображений . 19 (9): 793–849. doi :10.1016/j.image.2004.06.003 . Получено 30 марта 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 г. .
Внешние ссылки
Страница публикации МСЭ-Т: H.264: Расширенное кодирование видео для общих аудиовизуальных услуг
Информация о MPEG-4 AVC/H.264 Форум Doom9
Учебные пособия H.264/MPEG-4 Часть 10 (Ричардсон)
"Часть 10: Расширенное кодирование видео". Страница публикации ISO: ISO/IEC 14496-10:2010 – Информационные технологии. Кодирование аудиовизуальных объектов .
"H.264/AVC JM Reference Software". Домашняя страница IP . Получено 15 апреля 2007 г.
"Сайт архива документов JVT". Архивировано из оригинала 8 августа 2010 г. Получено 6 мая 2007 г.
"Публикации". Томас Виганд . Получено 23 июня 2007 г.
"Публикации". Детлев Марпе . Получено 15 апреля 2007 г.
«Четвертое ежегодное сравнение видеокодеков H.264». Московский государственный университет.(датировано декабрем 2007 г.)
«Обсуждение H.264 применительно к IP-камерам, используемым в отраслях безопасности и наблюдения». 3 апреля 2009 г.(датировано апрелем 2009 г.)