Формат кодирования видео

редактировать

A формат кодирования видео (или иногда формат сжатия видео ) - это представление содержимого формат для хранения или передачи цифрового видеоконтента (например, в файле данных или битовом потоке ). Обычно он использует стандартизированный алгоритм сжатия видео, чаще всего основанный на кодировании дискретного косинусного преобразования (DCT) и компенсации движения. Примеры форматов кодирования видео включают H.262 (MPEG-2, часть 2), MPEG-4, часть 2, H.264 (MPEG-4, часть 10), HEVC (H.265), Theora, RealVideo RV40, VP9 и AV1. Конкретная программная или аппаратная реализация, способная выполнять сжатие или декомпрессию в / из определенного формата кодирования видео, называется видеокодеком ; Примером видеокодека является Xvid, который является одним из нескольких различных кодеков, который реализует кодирование и декодирование видео в формате кодирования видео MPEG-4 Part 2 в программном обеспечении.

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

Видеоконтент, закодированный с использованием определенного формата видеокодирования, обычно объединяется с аудиопотоком (закодированным с использованием формата аудиокодирования ) внутри формата мультимедийного контейнера, такого как AVI, MP4, FLV, RealMedia или Matroska. Таким образом, у пользователя обычно нет файла H.264, но вместо этого есть видеофайл.mp4 , который представляет собой контейнер MP4, содержащий видео в кодировке H.264, обычно вместе со звуком, закодированным в AAC. Форматы мультимедийных контейнеров могут содержать любой из множества различных форматов кодирования видео; например, формат контейнера MP4 может содержать видео либо в формате кодирования видео MPEG-2 Part 2, либо в формате H.264, среди прочего. Другой пример - исходная спецификация для типа файла WebM, в которой указан формат контейнера (Matroska), но также точно, какое видео (VP8 ) и аудио (Vorbis ) формат сжатия используется внутри контейнера Matroska, хотя сам формат контейнера Matroska может содержать другие форматы кодирования видео (поддержка видео VP9 и аудио Opus была позже добавлена ​​к Спецификация WebM).

Содержание

  • 1 Различие между "форматом" и "кодеком"
  • 2 История
    • 2.1 DCT с компенсацией движения
    • 2.2 Стандарты видеокодирования
  • 3 Список стандартов видеокодирования
  • 4 Форматы кодирования видео без потерь, с потерями и без сжатия
  • 5 Форматы внутрикадрового кодирования видео
  • 6 Профили и уровни
  • 7 См. Также
  • 8 Ссылки и примечания

Различие между «форматом» и «кодеком» «

Хотя форматы кодирования видео, такие как H.264, иногда называют кодеками, существует явная концептуальная разница между спецификацией и ее реализациями. Форматы кодирования видео описаны в спецификациях, а программное обеспечение или оборудование для кодирования / декодирования данных в данном формате кодирования видео из / в несжатое видео являются реализациями этих спецификаций. По аналогии, формат кодирования видео H.264 (спецификация) соответствует кодеку OpenH264 (конкретная реализация), что и язык программирования C (спецификация) относится к компилятору GCC (конкретная реализация). Обратите внимание, что для каждой спецификации (например, H.264 ) может быть много кодеков, реализующих эту спецификацию (например, x264, OpenH264, продукты H.264 / MPEG-4 AVC и реализации ).

Это различие не находит постоянного терминологического отражения в литературе. Спецификация H.264 называет стандарты кодирования видео H.261, H.262, H.263 и H.264 и не содержит слово кодек. Alliance for Open Media четко различает формат кодирования видео AV1 и сопутствующий кодек, который они разрабатывают, но сам формат кодирования видео называет спецификацией видеокодека. В спецификации VP9 сам формат кодирования видео VP9 называется кодеком.

В качестве примера объединения страницы Chromium и Mozilla, на которых перечислены их форматы видео, поддерживают оба формата кодирования видео вызова, такие как H.264. кодеки. В качестве другого примера, в объявлении Cisco о видеокодеке «бесплатно, как в пиве», в пресс-релизе формат кодирования видео H.264 упоминается как «кодек» («выбор общего видеокодека»), но упоминается кодек Cisco. реализация кодера / декодера H.264 вскоре после этого «кодек» («наш кодек H.264 с открытым исходным кодом»).

Формат кодирования видео не диктует все используемые алгоритмы с помощью кодека , реализующего формат. Например, большая часть того, как обычно работает сжатие видео, заключается в нахождении сходства между видеокадрами (сопоставление блоков), а затем достижении сжатия путем копирования ранее закодированных похожих фрагментов изображения (например, макроблоков ) и при необходимости добавляя небольшие отличия. Поиск оптимальных комбинаций таких предикторов и различий - это NP-трудная проблема, означающая, что найти оптимальное решение практически невозможно. Хотя формат видеокодирования должен поддерживать такое сжатие по кадрам в формате битового потока, не требуя без надобности определенных алгоритмов для поиска таких совпадений блоков и других этапов кодирования, кодеки, реализующие спецификацию видеокодирования, имеют некоторую свободу для оптимизации и нововведений в своем выборе. алгоритмов. Например, в разделе 0.5 спецификации H.264 говорится, что алгоритмы кодирования не являются частью спецификации. Свободный выбор алгоритма также допускает различные компромиссы пространственно-временной сложности для одного и того же формата кодирования видео, поэтому прямая трансляция может использовать быстрый, но неэффективный алгоритм, а однократное кодирование DVD для более позднего массовое производство может заменить длительное время кодирования компактным кодированием.

История

Концепция сжатия аналогового видео восходит к 1929 году, когда RD Kell в Великобритании предложил концепцию передачи только тех частей сцены, которые изменились от кадра. -к кадру. Концепция сжатия цифрового видео восходит к 1952 году, когда исследователи Bell Labs Б.М. Оливер и К.В. Харрисон предложили использовать дифференциальную импульсно-кодовую модуляцию (DPCM) при кодировании видео. Концепция межкадровой компенсации движения восходит к 1959 году, когда исследователи NHK Ю. Таки, М. Хатори и С. Танака предложили прогнозирующее межкадровое взаимодействие. кодирование видео во временном измерении . В 1967 г. исследователи Лондонского университета А.Х. Робинсон и К. Черри предложили кодирование длин серий (RLE), схему сжатия без потерь, чтобы уменьшить полосу пропускания передачи. сигналов аналогового телевидения.

Самые ранние алгоритмы кодирования цифрового видео были либо для несжатого видео, либо использовались сжатие без потерь, оба метода неэффективны и непрактичны для кодирования цифрового видео. Цифровое видео было представлено в 1970-х годах, первоначально с использованием несжатой импульсно-кодовой модуляции (PCM), требующей высоких битрейтов около 45–200 Мбит / с для видео стандартной четкости (SD), которое было в 2000 раз больше, чем доступная пропускная способность телесвязи (до 100 кбит / с ) до 1990-е гг. Точно так же несжатое видео высокой четкости (HD) 1080p требует битрейта, превышающего 1 Гбит / с, что значительно превышает пропускную способность, доступную в 2000-х годах.

DCT с компенсацией движения

Практическое сжатие видео стало возможным благодаря разработке кодирования с компенсацией движения DCT (MC DCT), также называемая компенсацией движения блока (BMC) или компенсацией движения DCT. Это гибридный алгоритм кодирования, который объединяет два основных метода сжатия данных : кодирование дискретного косинусного преобразования (DCT) в пространственном измерении и прогнозирующее Компенсация движения во временном измерении .

DCT-кодирование - это метод с потерями блочного сжатия кодирования с преобразованием, который впервые был предложен Насиром Ахмедом, который первоначально предназначал его для сжатия изображений, когда он работал в Государственном университете Канзаса в 1972 году. Затем он был разработан Ахмедом с Т. Натараджаном и <в практический алгоритм сжатия изображений. 72>К. Р. Рао в Техасском университете в 1973 году, и был опубликован в 1974 году.

Другим ключевым достижением было гибридное кодирование с компенсацией движения. В 1974 году Али Хабиби из Университета Южной Калифорнии представил гибридное кодирование, которое сочетает в себе кодирование с предсказанием и кодирование с преобразованием. Он исследовал несколько методов кодирования с преобразованием, включая DCT, преобразование Адамара, преобразование Фурье, наклонное преобразование и преобразование Карунена-Лоэва. Однако его алгоритм изначально был ограничен внутрикадровым кодированием в пространственном измерении. В 1975 году Джон А. Роуз и Ганер С. Робинсон расширили алгоритм гибридного кодирования Хабиби до временного измерения, используя кодирование с преобразованием в пространственном измерении и кодирование с предсказанием во временном измерении, разработав межкадровый с компенсацией движения. гибридное кодирование. Для кодирования с пространственным преобразованием они экспериментировали с различными преобразованиями, включая DCT и быстрое преобразование Фурье (FFT), разрабатывая для них межкадровые гибридные кодеры, и обнаружили, что DCT является наиболее эффективным из-за его уменьшенная сложность, способная сжимать данные изображения до 0,25- бит на пиксель для сцены видеотелефона с качеством изображения, сравнимым с типичным внутрикадровым кодером, требующим 2 бита на пиксель.

DCT был применен к кодированию видео Вен-Сюн Ченом, который разработал быстрый алгоритм DCT с CH Смит и С.С.Фралик в 1977 году и основали Compression Labs для коммерциализации технологии DCT. В 1979 г. Анил К. Джайн и Джасвант Р. Джайн разработали дальнейшее сжатие видео DCT с компенсацией движения. Это привело к тому, что в 1981 году Чен разработал практический алгоритм сжатия видео, названный DCT с компенсацией движения или адаптивным кодированием сцены. DCT с компенсацией движения позже стал стандартным методом кодирования для сжатия видео с конца 1980-х годов.

Видео стандарты кодирования

Первым стандартом кодирования цифрового видео был H.120, разработанный CCITT (ныне ITU-T) в 1984 году. H.120 не использовался на практике, так как его производительность была слишком низкой. H.120 использовал кодирование DPCM с компенсацией движения, алгоритм сжатия без потерь, который был неэффективен для кодирования видео. В конце 1980-х годов ряд компаний начали экспериментировать с кодированием с дискретным косинусным преобразованием (DCT), гораздо более эффективной формой сжатия для кодирования видео. CCITT получил 14 предложений по форматам сжатия видео на основе DCT, в отличие от одного предложения, основанного на сжатии с векторным квантованием (VQ). Стандарт H.261 был разработан на основе сжатия DCT с компенсацией движения. H.261 был первым практическим стандартом кодирования видео и был разработан на основании патентов, лицензированных рядом компаний, включая Hitachi, PictureTel, NTT., BT и Toshiba, среди прочих. Начиная с H.261, сжатие DCT с компенсацией движения было принято всеми основными стандартами кодирования видео (включая форматы H.26x и MPEG ), которые последовали за ним.

MPEG- 1, разработанный группой экспертов по кинематографии (MPEG), последовавший за ним в 1991 году, и он был разработан для сжатия видео с качеством VHS. На смену ему в 1994 г. пришел MPEG-2 / H.262, который был разработан с использованием патентов, полученных по лицензии ряда компаний, в первую очередь Sony, Thomson и Mitsubishi Electric. MPEG-2 стал стандартным видеоформатом для DVD и SD цифрового телевидения. Его алгоритм DCT с компенсацией движения смог достичь степени сжатия до 100: 1, что позволило разработать технологии цифрового мультимедиа, такие как видео по запросу (VOD) и телевидение высокой четкости (HDTV). В 1999 году за ним последовал MPEG-4 / H.263, который явился крупным шагом вперед в технологии сжатия видео. Он был разработан на основании патентов, полученных по лицензии ряда компаний, в первую очередь Mitsubishi, Hitachi и Panasonic.

. Наиболее широко используемым форматом кодирования видео по состоянию на 2019 год является H.264 / MPEG- 4 AVC. Он был разработан в 2003 году с использованием патентов, полученных по лицензиям ряда организаций, в первую очередь Panasonic, Godo Kaisha IP Bridge и LG Electronics. В отличие от стандартного DCT, используемого его предшественниками, AVC использует целочисленное DCT. H.264 - один из стандартов кодирования видео для дисков Blu-ray ; все проигрыватели дисков Blu-ray должны уметь декодировать H.264. Он также широко используется в потоковых интернет-источниках, таких как видео с YouTube, Netflix, Vimeo и iTunes Store, в Интернете. программное обеспечение, такое как Adobe Flash Player и Microsoft Silverlight, а также различные программы HDTV для наземного вещания (стандарты Комитета передовых телевизионных систем, ISDB-T, DVB-T или DVB-T2 ), кабельное (DVB-C ) и спутниковое (DVB -S2 ).

Основной проблемой для многих форматов кодирования видео были патенты, что делало их использование дорогостоящим или потенциально чревато патентным иском из-за патентов на подводные лодки. Мотивация многих недавно разработанных форматов кодирования видео, таких как Theora, VP8 и VP9, заключалась в создании (libre ) кодирования видео. Стандарт защищен только патентами, не требующими лицензионных отчислений. Статус патента также был основным предметом споров при выборе форматов видео, которые основные веб-браузеры будут поддерживать в теге HTML5 video.

Формат кодирования видео текущего поколения - HEVC (H.265), представленный в 2013 году. В то время как AVC использует целочисленный DCT с размерами блоков 4x4 и 8x8, HEVC использует целочисленный DCT и DST преобразуется с различными размерами блоков от 4x4 до 32x32. HEVC в значительной степени запатентован, при этом большинство патентов принадлежит Samsung Electronics, GE, NTT и JVC Kenwood. В настоящее время он оспаривается форматом AV1 со свободной лицензией. По состоянию на 2019 год AVC является наиболее часто используемым форматом для записи, сжатия и распространения видеоконтента, который используется 91% разработчиков видео, за которым следует HEVC, который используется 43% разработчиков.

Список стандартов кодирования видео

Временная шкала международных стандартов сжатия видео
Базовый алгоритмСтандарт кодирования видеоГодИздатель (и)Комитет (ы)Лицензиар (и)Доля рынка (2019)Популярные реализации
DPCM H.120 1984CCITT VCEG н / дн / пнеизвестно
DCT H.261 1988CCITTVCEGHitachi, PictureTel, NTT, BT, Toshiba, и т. Д. Н / ДВидеоконференцсвязь, видеотелефония
Motion JPEG (MJPEG)1992JPEG JPEG Н / ДН / ДQuickTime
MPEG-1 Part 2 1993ISO, IEC MPEG Fujitsu, IBM, Matsushita, и т. Д. Н / ДVid eo-CD, Интернет-видео
H.262 / MPEG-2, часть 2 (видео MPEG-2)1995ISO, IEC, ITU-T MPEG, VCEGSony, Thomson, Mitsubishi, и т. Д. 29%DVD Видео, Blu-ray, DVB, ATSC, SVCD, SDTV
DV 1995IECIEC Sony, Panasonic НеизвестноВидеокамеры, цифровые кассеты
H.263 1996ITU-TVCEGMitsubishi, Hitachi, Panasonic, и т. Д. НеизвестноВидеоконференцсвязь, видеотелефония, H.320, Цифровая сеть с интеграцией служб (ISDN), мобильное видео (3GP ), MPEG-4 Visual
MPEG -4 Часть 2 (MPEG-4 Visual)1999ISO, IECMPEGMitsubishi, Hitachi, Panasonic, и т. д. НеизвестноИнтернет-видео, DivX, Xvid
DWT Motion JPEG 2000 (MJ2)2001JPEGJPEGН / ДНеизвестноЦифровое кино
DCTРасширенное кодирование видео (H.264 / MPEG-4 AVC)2003ISO, IEC, ITU-TMPEG, VCEGPanasonic, Godo Kaisha IP Bridge, LG, и т. Д. 91%Blu-ray, HD DVD, HDTV (DVB, ATSC ), потоковое видео (YouTube, Netflix, Vimeo ), iTunes Store, iPod Video, Apple TV, видеоконференцсвязь, Flash Player, Silverlight, VOD
Theora 2004Xiph Xiph N / AUnknownИнтернет-видео, веб-браузеры
VC-1 2006SMPTE SMPTE Microsoft, Panasonic, LG, Samsung, и т. Д. НеизвестноBlu-ray, Интернет-видео
Apple ProRes 2007Apple Apple Apple НеизвестноПроизводство видео, пост-продакшн
Высокоэффективное кодирование видео (H.265 / MPEG-H HEVC)2013ISO, IEC, ITU-TMPEG, VCEGSamsung, GE, NTT, JVC Kenwood, и т. Д. 43%UHD Blu-ray, DVB, ATSC 3.0, UHD потоковая передача, высокоэффективный формат изображения, macOS High Sierra, iOS 11
AV1 2018AOMedia AOMedia Н / Д7%HTML5 видео
Универсальное кодирование видео (VVC / H.266)2020JVET JVET НеизвестноН / ДН / Д

Форматы кодирования видео без потерь, с потерями и без сжатия

Потребительское видео обычно сжимается с использованием видеокодеков с потерями, поскольку это приводит к файлам значительно меньшего размера, чем сжатие без потерь. Хотя существуют форматы кодирования видео, специально разработанные для сжатия с потерями или без потерь, некоторые форматы кодирования видео, такие как Dirac и H.264, поддерживают оба.

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

Форматы внутрикадрового кодирования видео

Межкадровое сжатие усложняет редактирование закодированной видеопоследовательности. Одним из подклассов относительно простых форматов кодирования видео являются видеоформаты внутрикадрового, такие как DV, в которых каждый кадр видеопотока сжимается независимо без ссылки на другие кадры в поток, и не делается попыток воспользоваться корреляцией между последовательными изображениями во времени для лучшего сжатия. Одним из примеров является Motion JPEG, который представляет собой просто последовательность изображений, сжатых по отдельности в формате JPEG. Этот подход является быстрым и простым за счет того, что кодируемое видео намного больше, чем формат кодирования видео, поддерживающий межкадровое кодирование.

Поскольку при межкадровом сжатии данные копируются из одного кадра в другой, если исходный кадр просто вырезан (или потерян при передаче), следующие кадры не могут быть восстановлены должным образом. Сделать `` нарезки '' в видео с внутрикадровым сжатием почти так же просто, как и редактировать несжатое видео: вы находите начало и конец каждого кадра и просто копируете побитно каждый кадр, который хотите сохранить, и отбрасываете один кадр. не хочет. Еще одно различие между внутрикадровым и межкадровым сжатием состоит в том, что в внутрикадровых системах каждый кадр использует одинаковый объем данных. В большинстве межкадровых систем определенным кадрам (например, «I кадры » в MPEG-2 ) не разрешается копировать данные из других кадров, поэтому для них требуется гораздо больше данных, чем для других кадры рядом.

Можно создать компьютерный видеоредактор, который выявляет проблемы, возникающие, когда одни кадры редактируются, а другие кадры нуждаются в них. Это позволило использовать для редактирования новые форматы, такие как HDV. Однако этот процесс требует гораздо большей вычислительной мощности, чем редактирование внутрикадрового сжатого видео с тем же качеством изображения. Но это сжатие не очень эффективно для использования в любом аудиоформате.

Профили и уровни

Формат кодирования видео может определять дополнительные ограничения для кодированного видео, называемые профилями и уровнями. Можно иметь декодер, который поддерживает декодирование только подмножества профилей и уровней данного видеоформата, например, чтобы сделать программу / оборудование декодера меньше, проще или быстрее.

Профиль ограничивает допустимые методы кодирования. Например, формат H.264 включает профили baseline, main и high (и другие). В то время как P-срезы (которые можно спрогнозировать на основе предыдущих срезов) поддерживаются во всех профилях, B-срезы (которые могут быть предсказаны на основе как предыдущих, так и последующих срезов) поддерживаются в основном и высоком профилях, но не в базовом.

Уровень - это ограничение таких параметров, как максимальное разрешение и скорость передачи данных.

См. также

Ссылки и примечания

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