Архивы: по дате | по разделам | по авторам

Cжатие ТВ-сигналов

Архив
15.02.2000

Хотя первые прикладные результаты в цифровой компрессии видео были получены еще в конце 70-х годов, тогда они были не пригодны для коммерческого применения. В середине 80-х произошел качественный скачок в полупроводниковой элементной базе - появились микросхемы с малыми проектными нормами, высокой вычислительной мощностью, небольшим энергопотреблением и габаритами.


Это позволило выполнять дискретное косинусное преобразование в реальном масштабе времени и достичь вещательного качества при 20-кратном сжатии видеосигнала для стандартов 525/60 или 625/50 (строк/герц) на скорости цифрового потока 12-15 Мбит/с. Такой сигнал уже можно было использовать в ТВ-сетях для цифровой подачи и распределения программ с помощью спутниковых и радиорелейных каналов. Значительным прорывом здесь стала система сжатия, разработанная Compression Labs, благодаря чему фирма добилась коммерческого успеха в области видеоконференций.

Вместе с тем для достижения эквивалентного исходному аналоговому сигналу качества требовалась слишком высокая скорость передачи (до 34 Мбит/с), что ограничивало распространение "цифры" в телевидении. Другим препятствием для расширения рынка традиционно стало то обстоятельство, что конкурирующие фирмы в ранних системах использовали форматы сжатого цифрового потока, несовместимые друг с другом.

Именно для обеспечения совместимости систем цифровой компрессии экспертная группа по движущимся изображениям (Motion Picture Experts Group, сокращенно MPEG) разработала стандарт, принятый Международной организацией по стандартизации (International Standardization Organization - ISO), MPEG-1, изначально предназначенный для записи видео на CD-диски со скоростью около 1,5 Мбит/с. Поняв позднее, сколь плодотворная идея легла в основу стандарта, промышленность сделала и следующий шаг - была принята европейская инициатива, направленная на обеспечение полной взаимной совместимости не только алгоритмов сжатия, но и приемо-передающей аппаратуры, в результате чего появился известный вещательный стандарт DVB (Digital Video Broadcasting), совместимый уже со следующей версией стандарта сжатия MPEG-2, полное название которого MPEG-2/DVB.

Первые аппаратные реализации MPEG-2 стали появляться с начала 90-х годов, когда C-Cube Corporation создала производительный и гибкий RISC-процессор, позволявший окончательно перейти от систем на основе дискретных элементов (так называемой рассыпухи) к интегрированным схемам. В результате резко сократились габариты, энергопотребление и стоимость и, напротив, возросли гибкость и надежность видеокодеков.

В 1994 году Tiernan Communications разработала небывало легкий кодер MPEG-2 весом менее 7 кг (и это считалось успехом!), характеристики которого позволяли передавать сигналы вещательного качества на скорости 8 Мбит/с. В 1996 году IBM, также на основе RISC-процессора, стала выпускать видеокодеки вещательного качества с использованием двух подвидов MPEG-2: основного Main Profile@Main Level (сокращенно MP@ML, или 4:2:0) и высококачественного Studio Profile@Main Level (SP@ML, 4:2:2), причем последний предназначался для телевидения стандартной четкости (SDTV), эквивалентного по качеству изображения современному аналоговому ТВ. В 1997 году выпуск кодеров и декодеров SP@ML наладила фирма Tiernan. Созданные ею кодеки использовались крупнейшей японской телевизионной компанией NHK для подачи первых в мире цифровых видеосигналов на скорости сжатых потоков 8 и 18 Мбит/с (в зависимости от требований к качеству изображения).


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

Появление фракталов связывают с именем Б. Мандельброта из IBM. Идея метода заключается в том, что исходное изображение воспроизводится с помощью последовательности определенных математических операций, выполняемых над неким начальным видеообъектом и включающих в себя масштабирование, повороты, отражения и т. п. На приемную сторону передается последовательность операций, рекуррентное исполнение которой и восстанавливает изображение. Фрактальный метод позволяет иногда получить очень высокую степень сжатия, хотя и не всяких графических объектов. Например, его слабым местом является кодирование изображений, характеризующихся резкой сменой цвета/яркости, что обычно присуще искусственным изображениям, таким как текст или городской пейзаж. Это свойство фракталов хорошо известно всем, кто имел дело со сжатием графики для Интернета и пользовался форматом gif, хотя, возможно, не все они знают, что причиной этого недостатка gif'ов являются именно фракталы. Кстати, что тоже общеизвестно, "естественные" природные картинки, такие как листья, ландшафты или лица, даются фракталам и использующим их gif-компрессорам много лучше.

Но, оставив в стороне фрактальные методы сжатия ввиду того, что они все-таки еще недостаточно проработаны в математическом плане (практическая реализация кодека упирается в вопрос о быстром фрактальном преобразовании, которое позволило бы осуществлять сжатие в реальном масштабе времени), скажем несколько слов о другом вполне жизнеспособном методе компрессии, основанном на вейвлет-преобразовании (см. "КТ" #236). Объем математической литературы по вейвлетам на сегодняшний день колоссален, да и чисто связистских приложений уже наработано довольно много. Вейвлеты вычислительно просто реализуются и дают хорошо масштабируемое сжатие. Кроме того, установлено, в частности, что применительно к компрессии статических изображений вейвлеты существенно эффективнее, чем используемое в тех же целях в MPEG-2 дискретное косинусное преобразование. В принципе, для перехода от сжатия статических изображений к движущимся возможно совместное использование вейвлет-преобразования и методов компенсации движения, но основная проблема в другом - все упирается в вопрос о совместимости методов и едином стандарте. Дело даже не в том, что вейвлеты на сегодняшний день не стандартизованы, международные организации вполне могли бы и принять подобный стандарт. Основная проблема в том, что вейвлет-методы катастрофически не совместимы с MPEG с точки зрения синтаксиса цифрового потока. Вопрос стоит так: либо MPEG, либо вейвлеты, и в ситуации, когда в аппаратную реализацию MPEG уже вложены огромные деньги, перспективы параллельного внедрения вейвлетов выглядят весьма туманными. Не все, впрочем, для них так плохо, - учитывая высокую эффективность метода, его аппаратной реализацией в последние годы всерьез заинтересовались военные и спецслужбы. Возможно, созданные в этих областях решения со временем откроют дорогу вейвлетам и на гражданку, и они еще окажутся полезными для цифрового телевидения.

Основа вейвлет-анализа изображений - разложение исходной двумерной картинки с помощью последовательно включенных систем "вертикальных" и "горизонтальных" фильтров на компоненты, которые в дальнейшем можно обрабатывать независимо. Благодаря присутствию в исходном видеосигнале внутренних корреляций, часть расфильтрованных компонентов содержит мало информации, а часть - совсем не содержит. Соответственно, для передачи компонентов первого рода требуется меньшее число бит, а вторые вовсе не нужны для удовлетворительного восстановления сигнала.

Вернемся теперь к MPEG-2 и рассмотрим используемый там алгоритм поподробнее. Этот стандарт содержит полное описание процедур компрессии и декомпрессии сигналов движущихся (динамических) изображений и их звукового сопровождения, а также структуры цифрового потока сжатых видео-, аудио- и дополнительных цифровых данных. В стандарте также описываются методы синхронизации цифрового потока при его воспроизведении на приемной стороне. Строго говоря, в MPEG не нормируется сам процесс кодирования, а только задается формат битового потока сжатого видеосигнала. Поэтому разработчики сами выбирают способ построения кодера, ориентируясь на такие критерии, как стоимость, скорость работы, вычислительная сложность, качество сжатого изображения или скорость битового потока.

MPEG-2 - это даже не алгоритм, а целое их семейство. Они обеспечивают разное качество изображения и потому работают на разных скоростях цифровых потоков. Классификация алгоритмов внутри семейства основана на двух "измерениях" - "профилях" (которых 6 видов) и "уровнях" (4 вида). Профили отвечают за качество, а уровни - за разрешение, с которым сжимается изображение. Используются не все возможные сочетания профилей и уровней, а только 13 из них, со скоростями примерно от 20 до 100 Мбит/с и разрешением от 325х288 до 1920х1152 пиксела.

Наиболее часто сегодня используется так называемый основной профиль, основной уровень MPEG-2 (MP@ML, 4:2:0), оптимизированный для существующих цифровых ТВ-стандартов (рекомендация 601 МККР) и обеспечивающий разрешение 720 пикселов на строку, 480 и 576 активных строк для систем с 525 и 625 строками соответственно и скорость синхронизации до 10,4 млн. пикселов/с.

Часто интересуются, а что означает эта "шифровка" - 4:2:0? Давайте попробуем разобраться. Но сначала маленькая преамбула: как это обычно бывает при аналогово-цифровом преобразовании, процедура оцифровки состоит из дискретизации и квантования. Дискретизация (взятие отсчетов) происходит согласно теореме Котельникова с частотой, по крайней мере двукратно превосходящей верхнюю частоту спектра сигнала [1]. Обычно для аудиоканала используется частота 44,1 или 48 кГц, и 13,5 МГц - для видео. Для квантования видеосигнала (состоящего из яркостного и цветоразностных компонентов) используются обычно 8 или 10 бит на отсчет, звуковой канал потребовательнее - не меньше 16 бит на отсчет, а в последнее время все чаще используют 20- и 24-битное квантование. Хотя квантовать сигнал можно как до, так и после дискретизации, обычно это делается после.

Так вот, в записи профиля:

- 4:2:2 означает частоту дискретизации 13,5 МГц для яркостной составляющей (кодируется четверкой) и 6,75 МГц для обеих из цветоразностных составляющих (кодируются двумя двойками);

- 4:1:1 означает частоту дискретизации 13,5 МГц для яркостной составляющей ("4") и 3,375 МГц для каждой из цветоразностных (две "1");

- 4:4:4 означает частоту дискретизации 13,5 МГц как для яркостной составляющей, так и для каждой из цветоразностных (три "4").

Видно, что цифры в записи кодируют соотношение взятия отсчетов для трех компонентов аналогового видеосигнала, причем "4" относится к частоте дискретизации 13,5 МГц. Но, чтобы враги не разобрались, есть одно исключение: под записью 4:2:0 скрывается совсем не то, что вы подумали. В профиле 4:2:0 вовсе не отсутствует синий цветоразностный компонент, - запись означает прореженное взятие отсчетов в двух (горизонтальном и вертикальном) направлениях у цветоразностных составляющих, то есть на четыре отсчета яркостной составляющей приходится по одному отсчету каждой из цветоразностных.

Как уже говорилось, в качестве основного метода сжатия в MPEG-2 используется дискретное косинусное преобразование (ДКП), применяемое также в M-JPEG, DV и других алгоритмах с внутрикадровым кодированием. Двумерное ДКП, базис которого показан на рисунке (стр. 25), используется для ликвидации избыточности, содержащейся в каждом кадре изображения и объясняющейся тем, что прилегающие друг к другу элементы изображения близки между собой. Помимо внутрикадровой имеется также сильная межкадровая корреляция (изображение с развитием времени в среднем меняется мало), потому в дополнение к ДКП в MPEG-2 применяется также и межкадровое кодирование с однонаправленным и двунаправленным предсказанием.

Видеокадры, последовательность которых формирует ТВ-изображение, разделяются на три группы: кадры первой из них (I-кадры) сжимаются с использованием информации, имеющейся только в этих кадрах. Кадры второй группы (Р-кадры) сжимаются с использованием предшествующих I- или Р-кадров с помощью предсказывающего кодирования и компенсации движения (так называемое предсказание вперед, устраняющее временную избыточность), что обеспечивает большее сжатие, чем у I-кадров. Кадры третьей группы (В-кадры) компрессируются с использованием двунаправленного предсказания, то есть с привлечением предшествующих и последующих I- и Р-кадров. Поскольку кадры B-типа можно сжать сильнее остальных, самыми эффективными оказываются алгоритмы с наибольшим удельным весом B-кадров.


Непосредственно сжатию подвергаются фрагменты кадра - блоки (матрица размерностью 8х8 пикселов) и макроблоки (см. рис.). Именно над ними и осуществляется ДКП. Макроблок (в типичном для MPEG-2 представлении изображения в формате 4:2:0) сформирован четырьмя блоками отсчетов сигналов яркости, в совокупности образующими матрицу 16х16 пикселов, и двумя блоками отсчетов цветоразностных сигналов, соответствующими яркостной матрице 16х16. Макроблок становится основным элементом при последующем предсказании с помощью компенсации движения.

Еще более высокими уровнями в послойной иерархии MPEG являются "слайс", "изображение" и "группа изображений".

Слайс - последовательность макроблоков - основной элемент синхронизации для восстановления изображения. Обычно слайс в горизонтальном направлении состоит из всех блоков изображения, а в вертикальном - из 16 строк изображения, то есть имеет "толщину" ровно в один макроблок. Порядок макроблоков в слайсе такой же, как и при классическом сканировании растра в телевидении (слева направо, сверху вниз). Благодаря такой организации данных, упрощается борьба с возникшими при передаче ошибками - декодер обращается к следующему слайсу и использует его данные вместо искаженных или утерянных.

Изображение (кадр) может состоять из одного кадра или двух перемежающихся полей и описывается тремя прямоугольными матрицами восьмибитных чисел, описывающих яркостный и два цветоразностных сигнала.

Следующий уровень сжатия, группа изображений (GОР), это несколько последовательных кадров, начинающихся с I-кадра и состоящих из переменного числа Р- и В-кадров. Алгоритм обработки компенсирует движение в макроблоках при предсказании текущего изображения. Компенсация движения применяется при предсказании текущего изображения на основе предыдущих и интерполяционного предсказания на основе прошедших и последующих изображений. Векторы движения определяются для каждого макроблока 16х16 пикселов.

Компенсация движения, применяемая к макроблокам Р-кадров, вырабатывает два вида информации: векторы движения (формируются с помощью интерполяционного предсказания между исходными и кодированными макроблоками) и значения ошибок (разница между предсказанными и действительными величинами), при этом если макроблок в Р-кадре не может быть описан с использованием компенсации движения (при резкой смене ТВ-кадра), то он кодируется, как макроблок I-кадра. Компенсация движения улучшает степень сжатия примерно втрое по сравнению с внутрикадровым кодированием.

На поиск и оценку вектора межкадрового движения видеоизображения - направления и расстояния, на которое перемещается макроблок, расходуется большой вычислительный ресурс. Кодер MPEG должен иметь многокадровый буфер для изменения порядка кадров в потоке видеоданных, чтобы на входе декодера они составляли наиболее эффективную последовательность (переупорядочивание кадров).

Подведем итоги. При сжатии используется один из четырех способов:

- внутреннее кодирование без компенсации движения;

- с предсказанием вперед;

- с обратным предсказанием. Применяется для предсказания элементов изображения, которых не было в предшествующем кадре;

- с двунаправленным предсказанием.

В декодере MPEG восстанавливаются опорные макроблоки, а по векторам движения восстанавливаются Р- и В-изображения.

Но на MPEG-2 жизнь не заканчивается. Следующими версиями видеостандартов должны стать MPEG-4 и MPEG-7. Оба они предназначены для интерактивных мультимедийных приложений. Помимо собственно ТВ и видео-по-запросу сюда обычно включают такие применения, как системы удаленного образования, игровые и бизнес-приложения. Но если до MPEG-7 еще далековато, то о MPEG-4 несколько слов не сказать нельзя. Фактически MPEG-4 описывает протоколы хранения данных мультимедиа, организации запроса и предоставления информации для цифровых каналов с разными скоростями и свойствами. В состав семейства алгоритмов MPEG-4 включены средства доставки как низкоскоростного ТВ (от 5 до 64 кбит/с с невысокими кадровыми частотами, менее 15 кадров в секунду, и малыми разрешениями, менее 325х288 пикселов), так и видеосигналов высокого качества (от 64 кбит/с до 2 Мбит/с). Среди новых возможностей MPEG-4 - способность эффективно кодировать изображения произвольной формы. Это позволяет реализовать такие интересные и новые технологии, как раздельное кодирование фрагментов "картинки", например, статичного корта с трибунами и динамичных теннисистов, причем пользователь на приемной стороне может самостоятельно управлять качеством и набором доставляемых компонентов изображения, выбирая камеру или звуковое сопровождение, язык комментатора и т. п. Очевидно, что помимо большей гибкости такой метод позволяет лучше сжимать изображения, а значит, и более эффективно использовать выделенную полосу передачи. Идеи, положенные в основу описания "сцены" в MPEG-4, близки к использованным ранее в VRML. Все управление ориентировано на привычный для пользователя графический интерфейс и мышь.

Указанные выше возможности описаны в первой версии MPEG-4, содержащей около двадцати профилей. Принятая недавно вторая версия добавляет к предыдущей управление правами интеллектуальной собственности, поддержку Java, спецификации поддерживаемых типов файлов, кодирование трехмерных изображений, язык разметки синтеза речи.

MPEG-4 является самым сложным стандартом, разработанным за всю историю мультимедиа. Исходная концепция MPEG-4 - интеграция некогда трех различных технологий (компьютеров, телевидения и средств доставки информации) в единую интерактивную среду.

Кстати, вы наверняка спросите, а что же с MPEG-3? Если есть MPEG-2 и MPEG-4, должно же быть и промежуточное звено? Но, как и во всякой порядочной эволюции, его нет: MPEG-3 был некогда зарезервирован специально для HDTV, но когда выяснилось, что все задачи можно решить средствами MPEG-2, от него попросту отказались, сформировав тем самым эволюционную "дырку" в истории стандартов MPEG.



1 (обратно к тексту) - Вспоминая битвы, ведущиеся истинными аудиофилами против теоремы Котельникова, аналогово-цифрового преобразования и вообще цифрового звука, страшно представить, что мы рискуем оказаться в эпицентре новых схваток, на этот раз - видеофилов, по поводу "природных изъянов" цифрового видео. - М.Б-З.



© ООО "Компьютерра-Онлайн", 1997-2020
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.