JPEG2000 — схема профессиональной компрессии
Для многих специалистов полностью новая схема компрессии JPEG2000 означает либо «это не имеет никакого отношения к вещанию», либо даже «а зачем нам нужна другая схема компрессии?». Менеджер отдела новых технологий компании Grass Valley Питер Саймс утверждает, что мы, наконец, получили способ сжатия цифрового видео, который действительно отвечает технологическим требованиям телевизионного производства. Далее приводятся его аргументы в пользу этого утверждения.
![]() |
Прежде всего, хочу сказать, что я не собираюсь вдаваться в детали математических расчетов алгоритма JPEG2000. Думаю, в этом нет необходимости в рамках такой статьи. А те, кому это интересно, могут зайти в систему Google и получить там всю необходимую теоретическую информацию по этому вопросу. Для поиска в Google можно использовать имя Майкла Марцеллина (Michael Marcellin) — сотрудника университета Аризоны, который проделал большую предварительную работу по созданию новой схемы компрессии.
Если оглянуться на историю компрессии, то можно увидеть, что изначальная спецификация JPEG была сформулирована около 20 лет назад. В то время компьютеры были намного слабее, поэтому очень важным для разработчиков JPEG было обеспечить приемлемо простую схему вычислений. Это привело к появлению схемы, которая сегодня всем нам знакома: разбиение изображения на блоки для последующего дискретно-косинусного преобразования (DCT — discrete cosine transformation).
Как я уже говорил, это давало огромные преимущества, поскольку позволяло использовать компьютеры достаточно небольшой мощности. Однако есть и равновеликий недостаток — при высокой степени сжатия процесс кодирования приводит к нарушению целостности изображения на границах блоков. Это та самая блочная структура, которую все мы видели на компрессированном изображении. И поскольку она проявляется в виде горизонтальных и вертикальных прямых линий, природа которых практически не исследована, эти линии хорошо видны на изображении.
Второй основной недостаток JPEG состоял в том, что эта схема была разработана для статичных изображений. Само название — Joint Photographic Experts Group (совместная группа специалистов фотографии) — подчеркивает это. Производители вещательного оборудования, однако, хотели получить схему цифровой компрессии, которая бы позволила сделать мечту о видеосерверах реальностью. Они ухватились за JPEG и решили модифицировать его для работы с видеопотоками в фиксированной полосе пропускания и с неизменной кадровой частотой.
В то время я работал над разработкой первого в мире практического видеосервера — системы Profile. Когда в 1994 первый сервер Profile был изготовлен, в нем использовалась компрессия, которую мы называем Motion JPEG. Она же используется во многих других системах, выпускаемых разными производителями. Но компрессия Motion JPEG никогда не была оформлена в виде стандарта: каждый производитель создавал свой собственный метод «втискивания» видеосигнала в прокрустово ложе JPEG, поэтому системы конкурирующих компаний не могли обмениваться сжатым аудиовизуальным материалом.
MPEG
Параллельно с этими разработками отдельная группа создавала схему сжатия для видео — семейство алгоритмов MPEG, и, естественно, мы все знакомы с ними.
Но одним важным аспектом MPEG является то, что он изначально создавался не для профессионального применения, а в качестве бытового формата. Этот формат, если так можно выразиться, асимметричен: кодирование является сравнительно сложным и процессоры обработки мощными; декодирование — сравнительно несложное, чтобы его можно было реализовать на основе недорогих бытовых приставок. В общем случае улучшение технологии кодирования можно выполнить без изменения декодера.
MPEG достигает дополнительной эффективности благодаря добавлению нового элемента в уравнение: временного сжатия. Группа изображения (GOP) состоит из одного сжатого кадра (I-кадр) и серии кадров, которые точно описывают разницу между I-кадром и теми, которые за ним следуют.
Разработки группы MPEG дали возможность достичь некоторых важных результатов. HDV, например, использует MPEG с длинными GOP-структурами для записи видео высокого разрешения со скоростью, свойственной потокам видео стандартного разрешения, причем используя для этого оборудование, цены на которое сравнимы с ценой на бытовую технику. Еще пять лет назад такого никто и представить не мог.
Но с MPEG и его временной компрессией есть одна большая проблема: монтировать такой материал — сплошной кошмар. Неоспоримый факт, что в группе изображений MPEG некоторые кадры выглядят лучше, чем другие, и если необходимо выполнить склейку по кадру, качество которого ниже, чем у остальных, то возникает реальная проблема.
В студиях производства программ по всему миру велись дискуссии на эту тему, особенно во время попыток объяснить клиентам, что HDV и настольные монтажные системы в действительности не позволяют достичь качества настоящего ТВЧ, которого они ожидали от создаваемой этими средствами программы. Я не знаю, насколько успешно эти работы выполняются сейчас, но желаю таким студиям удачи. И что бы ни говорили производители оборудования, монтаж MPEG-материала означает потерю качества изображения. Это может быть приемлемо для некоторых приложений, но если мы переходим к высококачественному миру ТВЧ, то здесь требования гораздо выше.
И поскольку я в этой статье рассуждаю о видео, то должен обозначить еще одну проблему, связанную с системами временного сжатия. Она состоит в сложности сохранения синхронизации видео и звука.
JPEG2000
Нет нужды детально рассказывать об истории разработки JPEG2000. Это можно прочитать на сайте www.jpeg.org. Стоит лишь отметить, что целью была разработка новой системы сжатия, которая бы воплощала преимущества 20-летнего использования закона Мура, была бы более производительной и обеспечивала эффективность компрессии объективно и субъективно более высокую, чем существующая.
На самом деле, JPEG2000 позволяет достичь этого, а также дает ряд других преимуществ, некоторые из которых, скорее всего, будут по достоинству оценены разработчиками профессионального и вещательного оборудования. Сюда входит возможность выбора компрессии с потерями или без потерь, а также расстановка приоритета декодирования по разрешению или по выбранной области изображения. Прежде чем перейти к объяснению вариантов применения этих возможностей, сначала нужно рассказать о фундаментальном отличии нового стандарта от всего, что делалось ранее.
Как мы уже знаем, прежние системы использовали DCT, при котором изображение разбивалось на блоки. В JPEG2000 используется другое преобразование: сверточные коды (wavelet). И то и другое преобразование предусматривает математические процессы, в отличие от преобразования Фурье, при котором создается представление информации (пикселов изображения в нашем случае) с использованием частотных коэффициентов. Преобразование Фурье и DCT в основном работают в двух пространствах: пространственном, где просчитывается точное место расположения данных, но содержится минимум частотной информации, а также в частотном, где, как можно ожидать, все наоборот.
Сверточные преобразования имеют большие преимущества, поскольку обеспечивают кодирование как частотной, так и позиционной информации. Процесс сверточного кодирования можно представить как цифровой фильтр, который пропускает изображение, разделяя низко- и высокочастотную составляющие. В JPEG2000 сверточное преобразование применяется по горизонтали и вертикали, поэтому после прохода кодирования получается четыре элемента: сверточные коэффициенты, представляющие высокочастотные горизонтальную и вертикальную составляющие (обычно обозначаемые как HH); горизонтальную высокочастотную и вертикальную низкочастотную составляющие (HL); горизонтальную низкочастотную и вертикальную высокочастотную составляющие (LH); низкочастотные горизонтальную и вертикальную составляющие (LL). Удобно то, что элемент LL имеет вдвое меньший размер и разрешение относительно исходного изображения.
![]() | ![]() | ![]() |
| Исходное изображение и результат его однопроходного кодирования изображения | Результат второго прохода кодирования | |
Другим результатом этого процесса является то, что каждый из этих четырех элементов вдвое меньше (в обоих направлениях), чем исходное изображение, поэтому они помещаются в то же самое число отсчетов, что и исходная картинка. Как и в случае с JPEG и MPEG, коэффициенты, представляющие только высокие частоты, могут быть дискретизированы более плотно, и это не вызывает существенного изменения обрабатываемого изображения, то есть имеет место первый уровень компрессии. Затем то же самое сверточное преобразование применяется к элементу LL, что позволяет перейти на следующий уровень снижения полосы пропускания и сжатия, и так далее.
Стандарт JPEG2000 не ограничивает число итераций этого процесса, но, на мой взгляд, профессиональные видеоприложения должны выполнять около пяти проходов, чтобы обеспечить приемлемую степень сжатия на основе реально работающего оборудования и без ущерба работе в режиме реального времени.
Но здесь есть одна интересная деталь: каждая итерация приводит к созданию изображения, которое вполовину меньше оригинала. То есть если начать с ТВЧ-сигнала разрешением 1920x1080, то после первого прохода сверточного преобразования получится картинка размером 960x540, после второго — 480x270, после третьего — 240x135, и т. д.
При декодировании нет нужды обзаводиться декодером, выполняющим все обратные итерации. Можно ограничиться декодированием, например, третьего уровня и получить изображение размером 240x135. Иными словами, при сверточном кодировании автоматически создаются копии низкого разрешения, все что нужно — просто извлечь их из декодера. На современном технологическом уровне создание просмотровых копий пониженного разрешения обычно означает наличие отдельных аппаратных средств и сервера. В JPEG2000 такие копии существуют как составная часть.
Здесь нужно дать некоторые пояснения, чтобы избежать потенциального недопонимания. Кто-то может воспринять все здесь изложенное, как возможность объединить изображения HD и SD в один и тот же поток JPEG2000, но это не так. Речь идет только о возможности получения видео низкого разрешения просто путем пропуска одной или более обратных итераций преобразования, и эта возможность ограничена, разумеется, коэффициентом, равным 2. HD и SD получаются не простым умножением или делением на какой-то коэффициент — размер изображения и формат пикселов у них отличается. Тем не менее, первый уровень сжатия изображения 16:9 1920x1080 дает результат 960x540, и эта картинка может быть обрезана или увеличена, чтобы соответствовать формату 4:3 или 16:9 изображения стандартного разрешения 720x480 или 720x576.
Но трюк с копиями низкого разрешения удобен сам по себе. Это, в частности, очевидно, если принять во внимание другую особенность JPEG2000: возможность определения порядка, в котором пакеты следуют в составе цифрового потока. Для специальных приложений можно, например, сначала послать цветную копию низкого разрешения (так, чтобы приемник мог идентифицировать сцену), а затем отправить полноразмерный яркостный сигнал (так, чтобы можно было проверить точность наведения на резкость), а вслед за ними — цветовую информацию полного разрешения.
Качество изображения
До сих пор я достаточно пространно объяснял, как сверточное кодирование применяется к изображению. Ранее было объяснено, что одна из проблем DCT, используемого в JPEG и MPEG, заключается в том, что оно применяется к блокам изображения, приводя к появлению хорошо заметных горизонтальных и вертикальных линий на границах блоков, когда используется высокая степень сжатия.
Спецификация JPEG2000 разрабатывалась так, чтобы даже очень большие изображения могли соответствовать требованиям таких приложений, как удаленная работа с картами или системами слежения. Фактически, JPEG2000 способен оперировать с изображениями, насчитывающими до 4 млрд пикселов по горизонтали и вертикали, содержащими до 255 компонентов разрядностью до 32 бит на компонент. Поэтому наши требования, ограниченные тремя или четырьмя компонентами (RGB или YCrCb и альфа-канал) и пусть даже 12-ю или 14-ю разрядами, смотрятся более чем скромно.
Во избежание перегрузки процессора стандарт позволяет сегментировать изображения. Это важно для нас, поскольку максимальный размер сегмента может достигать 4096x4096 пикселов, то есть один сегмент может покрывать полное телевизионное и даже кинематографическое изображение. Это означает, что видео стандартного, высокого и кинематографического разрешения может обрабатываться путем одного сверточного преобразования, что позволяет убрать столь неприятный блочный эффект.
Искажения изображения, вызванные интенсивной сверточной компрессией, обычно выражаются в виде смягчения деталей или легкого смаза, которые с точки зрения психо-визуального восприятия малозаметны. Есть основания утверждать, что с увеличением степени сжатия качество изображения при сверточном кодировании ухудшается менее критично. Действительно, Grass Valley уже более двух лет изготавливает беспроводные цифровые камерные системы на основе сверточного кодирования, и уже более 100 таких систем используется ведущими вещателями во всем мире.
Если рассматривать JPEG2000 через призму цифрового кино, то исчезают любые сомнения относительно качества кодирования, и эта схема, после непродолжительных дебатов, была выбрана для цифрового кино организацией Инициатива цифрового кино (DCI — Digital Cinema Initiative). Этот консорциум, состоящий из семи голливудских студий, был организован, чтобы определить будущее цифрового кинематографа и найти стандарты, обеспечивающие максимально возможное качество представления материала.
Движущиеся изображения
JPEG2000, как и его предшественники, является в своей основе форматом для сжатия отдельных изображений. Каждый кадр компрессируется индивидуально, без временного (межкадрового) сжатия, характерного для MPEG. Это является преимуществом, как минимум, для монтажа и других процессов подготовки программ, поскольку каждый кадр существует в нормальном качестве и не предполагает обработки предыдущих и последующих кадров. Что, в свою очередь, приводит к упрощению архитектуры систем монтажа и позволяет повысить качество. Это также означает, что звук может быть жестко привязан к кадрам видео, а значит, упрощается синхронизация видео и звука.
Заключение
Есть еще один последний и очень важный аргумент в пользу JPEG2000. Это не только формализованный международный стандарт ((ISO/IEC 15444), но и набор фундаментальных рабочих процессов, лежащих в его основе. Причем предполагается, что использование этого стандарта будет бесплатным (royalty free). Иными словами, все коммерческие и академические организации, вовлеченные в создание этого стандарта, договорились отказаться от прав на него, чтобы сделать JPEG2000 реально доступным стандартом.
Ведущие производители микросхем сейчас тестируют третье поколение чипов для кодирования и декодирования JPEG2000. Микросхемы второго поколения, такие как ADV202 фирмы Analog Devices, уже выпускаются серийно. ADV202 обеспечивает обработку аудиовизуального материала стандартного разрешения в режиме реального времени, а если установить пару таких микросхем, то можно работать с HD-видео. Чипы третьего поколения, вероятнее всего, смогут обрабатывать HD на базе одного процессора.
Если вы подумаете, что микросхемы, разработанные для узкого рынка вещательного оборудования, должны быть дорогими, то вам стоит знать, что одним из основных побуждений создания JPEG2000 было желание обеспечить доставку высококачественного изображения от цифровых фотоаппаратов следующего поколения. Поэтому рынок для этих чипов более чем широк, и вещательная индустрия только выиграет от этого.
В заключение я рискнул бы предположить, что JPEG2000 имеет вполне реальный потенциал, чтобы изменить вещательный мир. Достаточно привести следующие доводы:
- это согласованный, открытый и бесплатный стандарт;
- он обеспечивает высококачественное сжатие без видимого блочного эффекта;
- в его основе лежит схема внутрикадрового сжатия без применения межкадровой компрессии, приводящей к трудностям при монтаже и других операциях с материалом;
- элементная база для реализации JPEG2000 применима как в бытовых устройствах, так и в профессиональном оборудовании, что уменьшает ее стоимость и снижает затраты.
Практическое воплощение стандарта JPEG2000 требует высокопрофессиональных разработчиков аппаратуры, но если вещательная индустрия примет этот стандарт и станет его использовать, я могу предположить, что это откроет широкие горизонты для построения практических технологических процессов на основе доступных и эффективных аппаратных средств.




