H.261 — стандарт сжатия видео ITU-T , впервые ратифицированный в ноябре 1988 года. [1] [2] Это первый член семейства стандартов кодирования видео H.26x в области ITU-T Study Group 16 Video Coding Experts Group ( VCEG , затем Specialists Group on Coding for Visual Telephony). Это был первый стандарт кодирования видео, который оказался полезным в практическом плане.
H.261 изначально был разработан для передачи по линиям ISDN , на которых скорость передачи данных кратна 64 кбит/с. Алгоритм кодирования был разработан для работы на скоростях передачи видеоданных от 40 кбит/с до 2 Мбит/с. Стандарт поддерживает два размера видеокадров: CIF (яркость 352×288 с цветностью 176×144) и QCIF (176×144 с цветностью 88×72) с использованием схемы выборки 4:2:0 . Он также имеет обратно совместимый трюк для отправки неподвижных изображений с разрешением яркости 704×576 и разрешением цветности 352×288 (который был добавлен в более поздней версии в 1993 году).
Первым стандартом цифрового видеокодирования был H.120 , созданный CCITT (теперь ITU-T) в 1984 году. [3] H.120 не был пригоден для использования на практике, так как его производительность была слишком низкой. [3] H.120 был основан на дифференциальной импульсно-кодовой модуляции (DPCM), которая имела неэффективное сжатие. В конце 1980-х годов ряд компаний начали экспериментировать с гораздо более эффективным сжатием DCT для кодирования видео, при этом CCITT получил 14 предложений по форматам сжатия видео на основе DCT, в отличие от единственного предложения, основанного на сжатии с векторным квантованием (VQ). Впоследствии был разработан стандарт H.261 на основе сжатия DCT. [4]
H.261 был разработан Группой специалистов по кодированию для визуальной телефонии XV Исследовательской группы CCITT (которая позже стала частью SG16 ITU-T) под председательством Сакаэ Окубо из NTT . [5] Начиная с H.261, сжатие DCT было принято всеми основными стандартами кодирования видео, которые последовали за ним. [4]
В то время как H.261 предшествовал в 1984 году H.120 (который также подвергся пересмотру в 1988 году, имевшему некоторое историческое значение) как стандарт цифрового видеокодирования, H.261 был первым по-настоящему практичным стандартом цифрового видеокодирования (с точки зрения поддержки продукта в значительных количествах). Фактически, все последующие международные стандарты видеокодирования ( MPEG-1 Часть 2 , H.262/MPEG-2 Часть 2 , H.263 , MPEG-4 Часть 2 , H.264/MPEG-4 Часть 10 и HEVC ) были тесно основаны на дизайне H.261. Кроме того, методы, используемые комитетом по разработке H.261 для совместной разработки стандарта, остались основным рабочим процессом для последующей работы по стандартизации в этой области. [5]
Хотя H.261 был впервые одобрен в качестве стандарта в 1988 году, в первой версии отсутствовали некоторые существенные элементы, необходимые для того, чтобы сделать его полной спецификацией взаимодействия . Различные ее части были помечены как «В стадии изучения». [2] Позднее в 1990 году она была пересмотрена для добавления оставшихся необходимых аспектов, [6] а затем снова пересмотрена в 1993 году. [7] В редакцию 1993 года было добавлено Приложение D под названием «Передача неподвижных изображений», которое обеспечивало обратно совместимый способ отправки неподвижных изображений с разрешением яркости 704×576 и разрешением цветности 352×288 с использованием ступенчатой 2:1 субдискретизации по горизонтали и вертикали для разделения изображения на четыре субкадров, которые отправлялись последовательно. [7]
Базовая единица обработки дизайна называется макроблоком , и H.261 был первым стандартом, в котором появилась концепция макроблока. Каждый макроблок состоит из массива 16×16 образцов яркости и двух соответствующих массивов 8×8 образцов цветности , использующих выборку 4:2:0 и цветовое пространство YCbCr . Алгоритм кодирования использует гибрид межкадрового предсказания с компенсацией движения и пространственного кодирования преобразования со скалярным квантованием , зигзагообразным сканированием и энтропийным кодированием .
Межкадровое предсказание уменьшает временную избыточность, при этом векторы движения используются для компенсации движения. Хотя в H.261 поддерживаются только целочисленные векторы движения, к сигналу предсказания можно применить фильтр размытия, что частично смягчает недостаток точности вектора движения дробной выборки. Кодирование преобразования с использованием дискретного косинусного преобразования (DCT) 8×8 уменьшает пространственную избыточность. DCT, которое широко используется в этом отношении, было введено Н. Ахмедом , Т. Натараджаном и К. Р. Рао в 1974 году. [8] Затем применяется скалярное квантование для округления коэффициентов преобразования до соответствующей точности, определяемой параметром управления размером шага, а квантованные коэффициенты преобразования зигзагообразно сканируются и кодируются энтропией (с использованием кода переменной длины « run -level» ) для удаления статистической избыточности.
Стандарт H.261 на самом деле определяет только, как декодировать видео. Разработчики кодировщиков были свободны разрабатывать свои собственные алгоритмы кодирования (например, собственные алгоритмы оценки движения ), пока их выход был должным образом ограничен, чтобы позволить декодировать его любым декодером, созданным в соответствии со стандартом. Кодировщики также свободны выполнять любую предварительную обработку, которую они хотят, для своего входного видео, а декодеры могут выполнять любую постобработку, которую они хотят, для своего декодированного видео перед отображением. Один эффективный метод постобработки, который стал ключевым элементом лучших систем на основе H.261, называется деблокирующей фильтрацией. Это уменьшает появление артефактов в форме блоков, вызванных компенсацией движения на основе блоков и пространственными преобразованиями частей дизайна. Действительно, артефакты блокировки, вероятно, являются знакомым явлением почти для всех, кто смотрел цифровое видео. С тех пор деблокирующая фильтрация стала неотъемлемой частью более поздних стандартов H.264 и HEVC (хотя даже при использовании этих новых стандартов дополнительная постобработка по-прежнему допускается и может улучшить визуальное качество, если она выполнена правильно).
Усовершенствования дизайна, внесенные в более поздние усилия по стандартизации, привели к значительному улучшению возможностей сжатия по сравнению с дизайном H.261. Это привело к тому, что H.261 стал по сути устаревшим, хотя он все еще используется в качестве режима обратной совместимости в некоторых системах видеоконференций (например, H.323 ) и для некоторых типов интернет-видео. Тем не менее, H.261 остается важной исторической вехой в области разработки видеокодирования.
Лицензированный LGPL libavcodec включает кодер и декодер H.261. Он поддерживается бесплатными медиаплеерами VLC и MPlayer , а также проектами декодеров ffdshow и FFmpeg .
Следующие компании внесли свой вклад в патенты по разработке формата H.261: [9]
H.261, который (в первой версии) был ратифицирован в ноябре 1988 года.