От COST211 до HEVC. Краткая история стандартов видеокомпрессии
История стандартизации компрессирования цифровых сигналов и изображений началась в недрах организации COST в Европе в 1980-е годы XX века.
COST — межправительственная организация, задача которой заключается в том, чтобы координировать научно-исследовательскую деятельность, спонсируемую правительствами европейских стран. В рамках COST была учреждена группа под номером 211-бис. Именно этой группой в 1980 году был разработан первый кодек (т.е. кодер-декодер) цифровых сигналов, который предназначался для использования в видеоконференциях. Кодек получил название COST211, и именно с него началась история развития стандартов компрессии видеоизображений. К слову, не такая уж долгая. В настоящий момент группа 211-бис стала достоянием истории (хотя самаCOST здравствует). Тем не менее работа, которую она провела, легла в основу первого стандарта видеокомпрессии, который был опубликован в 1984 году и получил название H.120.
Чтобы не запутаться в названиях стандартов, упомянем организации, которые принимали участие в стандартизации видеокомпрессии.
ITU—T
Изначально эта деятельность была инициирована организацией CCITT (International Telegraph and Telephone Consultative Committee), являющейся предшественницей подразделения Международного союза электросвязи (МСЭ, или ITU по-английски), которое называетсяTelecommunication Standardization Sector, или ITU-T. В состав ITU-T входит группа экспертов по видеотехнологиям, которая сокращенно именуется VCEG.
ISO
Кроме того, в процессе стандартизации принимала участие Международная организация по стандартизации (ISO). В составе ISOдействует группа MPEG (Moving Picture Expert Group), название которой широко известно благодаря неоценимому вкладу, внесенному этой группой в развитие технологий видеокомпрессии.
Существовала также объединенная рабочая группа, в которую входили специалисты как ISO, так и ITU-T. Эта группа, основанная в 2001 году, называлась Joint Video Team (JVT). Группа JVT была заменена в 2010 году новой, которая называется Joint Collaborative Team on Video Coding (JCT-VC) и действует в настоящий момент.
Рисунок 1. Структура стандартов ISO и ITU-T
Итак, в стандартизации принимают участие две большие организации — ITU и ISO — со своими подразделениями (VCEG и MPEG, рис. 1). Стандарты, которые утверждала ISO, начинались с префикса ISO, например, известный всем MPEG2 называется ISO 13818. Стандарты, которые утверждала ITU-T, начинаются с буквы H.
Кстати, на сайте ITU-T в 2006 году проводилось голосование на тему, каков самый важный результат работы этой организации за все 50 лет ее существования. Большинство голосов (25%) получили разработки в сфере видеокомпресcии — создание стандартов H.262–H.264.
SMPTE
Помимо ISO и ITU в стандартизации видеокомпрессии принимают участие и другие организации меньшего масштаба, например, SMPTE — международное сообщество инженеров кино и телевидения. Стандарты SMPTE начинаются с аббревиатуры SMPTE. Например, SMPTE 2042-1-2009.
Стандарт H.120
Итак, в 1984 году был стандартизирован H.120, который предназначался для использования при проведении видеоконференций. Этот стандарт оставался единственным до конца восьмидесятых, когда появился H.261. В Н.120 использовался алгоритм DPCM, который позволяет представить аналоговые сигналы в виде числовых последовательностей (семплов), а также метод условного замещения (декодирование только изменяющейся части изображения), квантование и кодирование с переменной длиной (VLC). Также в более поздних версиях (начало 1990-х) появилась компенсация движения с использованием только I- и P-кадров. Первый блин вышел комом, и широкого распространения H.120 не получил вследствие низкого качества изображения, поскольку для сигналов SD использовался поток 2 Мб/с. Приемлемого качества сигналов SD с таким битрейтом удалось достичь только с появлением H.264 почти тридцать лет спустя. Битрейт в 2 Мб/с был выбран для совместимости со структурой фреймов цифровых сетей, которые определялись стандартом G.703 (так называемыми потоками Е1).
Стандарт H.120 включал в себя описание как кодера, так и декодера. Но уже со следующего стандарта — H.261 — стандартизировался только декодер, для того чтобы обеспечить возможность конкуренции изобретателей алгоритмов компрессии.
Стандарт H.261
Следующим стандартом стал H.261, в нем были применены методы компрессии, которые используются и совершенствуются и поныне. Этот стандарт был обнародован ССITT (еще до появления ITU-T) в 1990 году. Основная идея — использование дискретно-косинусного преобразования на квадратных блоках семплов (8х8). Далее коэффициенты DCT квантовались и подвергались энтропийному кодированию. Также был применен фильтр (deblocking filter) для уменьшения заметности блоков семплов, на которых выполнялось DCT, поскольку из-за квантования коэффициентов границы этих блоков становились заметны после декодирования. Стандарт поддерживал два формата кадра:CIF (352×288) и QCIF (176×144), т.е. тоже был предназначен для видеоконференций. Битрейт компрессированного потока зависел от характера изображения и динамическому управлению не поддавался. Управлять потоком можно было, выбирая одну из 31 различных схем квантования коэффициентов DCT и других настраиваемых параметров компрессии. Данный стандарт, так же как и H.120, предусматривался для использования в цифровых сетях G.703 для дробных битрейтов цифровых потоков N*64 Кб/с (где N = 2…31 для Е1).
Стандарт MPEG-1
Следующее слово было сказано ISO, в которую входит группа MPEG (создана в 1988 году). Появился стандарт MPEG-1, или, что более правильно, ISO 11172 (IEC стандартизировал его под тем же номером). Данный стандарт был опубликован в 1993 году.
При этом концепция MPEG отличалась от VCEG. Если VCEG разрабатывала и стандартизировала алгоритмы для передачи видеоизображений через линии связи G.703, то MPEG сосредоточилась на компрессии с целью хранения видеоизображений в файлах на жестких дисках c качеством, сравнимым со стандартом записи на видеокассету VHS. Такая задача снимала некоторые ограничения, которые существовали для кодеков видеоконференций. В частности, компрессия и декодирование могли выполняться не в реальном времени, т.е. задержка была не критична. Это позволило использовать схемы с двунаправленным предсказанием, т.е. ввести в оборот В-кадры. Помимо этого можно было отказаться от значений битрейтов, продиктованных стандартом G.703 для цифровых сетей связи.
Поскольку MPEG-1 был предназначен для достижения качества, сравнимого с VHS, то он был рассчитан в основном на формат CIF. Сам дизайн декодера практически не отличался от дизайна H.261 с некоторыми изменениями. Помимо видео MPEG1 включал возможность компрессии цифровых аудиосигналов, которая широко используется и поныне. В частности, в спецификации цифрового телевидения стандарта DVB в качестве основного алгоритма компрессии звука указан как раз MPEG1 (а именно ISO/IEC-11172-3 layer 2).
Стандарт MPEG-2
За MPEG-1 в 1996 году последовал MPEG-2, часть 2, который часто называют просто MPEG-2, что приводит к путанице. Дело в том, чтоMPEG-2 — это десяток стандартов, которые охватывают большой спектр цифровых приложений. Например, не менее популярен у технарей MPEG-2, часть 1, — стандарт транспортных потоков, которые включают в себя видео, звук и данные. Стандарт MPEG-2 оказался крайне успешным и получил широчайшее распространение.
В ISO стандарт компрессии видео MPEG-2 имеет обозначение ISO 13818-2. Этот стандарт является «живым»: последние дополнения в него были внесены в 2011 году и касались использования 3D. В ITU-T этот стандарт имеет обозначение H.262, которое не распространено.
MPEG-2 строится по тому же принципу, что MPEG-1, однако обладает лучшей производительностью на более высоких битрейтах для формата SD за счет использования усовершенствованных алгоритмов.
MPEG-1 совместим с MPEG-2 при воспроизведении, но не наоборот. Также существенным потребительским свойством MPEG-2 является поддержка чересстрочной развертки, чего не было в MPEG-1. Поскольку MPEG-2 может быть применим в различных по назначению приложениях, то специализированным устройствам нет необходимости поддерживать все возможности MPEG-2. Для того чтобы упростить реализацию декодеров, стандарт предусматривает несколько групп заводских настроек, которые именуются профилями и уровнями. Они определены для следующих форматов: для приложений, где необходима маленькая задержка, для стандартных приложений форматов SDи HD, для приложений с требуемым отношением сигнал/шум в тракте изображения и т.п. MPEG-2 поддерживает различные битрейты: 4…300 Мб/с в зависимости от выбранного профиля и уровня. Для сигналов формата SD битрейт составляет около 7 Мб/с.
Стандарт H.264
Однако нет предела совершенству, и в 2003 году появился стандарт, который позволил уменьшить битрейт примерно на 40% по сравнению с MPEG-2 при сохранении качества изображения. При этом нельзя сказать, что в этом стандарте были использованы какие-то революционные открытия — базовые принципы построения декодеров остались прежними. Данный стандарт был разработан в кооперацииISO и ITU-T и имеет обозначение в ISO как ISO/IEC 14496-10, а в ITU-T соответственно H.264.
H.264 получил широкое распространение и применяется во множестве приложений: от спутникового телевидения, до хранения видеоинформации в файлах. Фактически этот стандарт является универсальным и постепенно должен заменить MPEG-2 там, где это обосновано с экономической точки зрения.
В H.264 применена более гибкая разбивка на макроблоки, более совершенный алгоритм компенсации движения (использование блоков переменной длины), для восстановления компрессированного изображения может быть задействовано до 16 опорных кадров любого типа (I, P, B), применен более совершенный алгоритм энтропийного кодирования CABAC и т.п. Для разных типов абонентских устройств определены профили кодирования.
Стандарт H.264 продолжает бурно развиваться, в него вносятся дополнения, на рынке появляются новые кодеры, возникают во множестве бытовые устройства, поддерживающие этот алгоритм, под разными торговыми марками (например, AVCHD). H.264 принят для использования в цифровом телевидении группы стандартов DVB, которые установлены в том числе и в России.
Следует также упомянуть о способе представления компрессированной информации. Если в MPEG-2 для этого использовались элементарные потоки MPEG, то в H.264 применен специальный синтаксис, который называется NAL (Network Abstraction Layer). Элементарные потоки, или NAL, размещаются в транспортном потоке (как правило, MPEG-2) и в таком виде могут быть переданы по сетям связи.
Рисунок 2. Зависимость битрейт — время для алгоритмов видеокомпрессии.
BBC VC-2 / Dirac
Помимо удачных и популярных стандартов видеокомпрессии есть и менее известные и не получившие широкого распространения. Наиболее заметен из них стандарт VC-2, или Dirac, который разработан компанией BBC и является свободным от лицензионных платежей. Пожалуй, самое основное его отличие от стандартов ISO/ITU — это использование компрессии wavelet вместо дискретно-косинусного преобразования (DCT). Данный алгоритм стандартизирован SMPTE под номером SMPTE 2042-1-2009.
Прогноз
Завершим наш краткий обзор небольшим предсказанием. В конечном счете эффективность компрессии определяется величиной, на которую можно уменьшить битрейт начального цифрового потока. На графике, приведенном на рис. 2, по оси абсцисс отложены годы, а по оси ординат — средний битрейт на выходе кодеров, которые были выпущены для приложений SD.
Любители построения эмпирических зависимостей легко увидят, что в среднем новый алгоритм кодирования появлялся один раз в 4–5 лет. Соответственно, в 2012 году должен был произойти очередной этап развития видеокомпрессии. И это случилось — появился черновой стандартH.265, или HEVC, превосходящий H.264 и обещающий новый поворот в истории, которую мы изложили выше.