Научная статья на тему 'Предметная область кодирования видеоизображений и методы устранения ошибок в медиа-потоках'

Предметная область кодирования видеоизображений и методы устранения ошибок в медиа-потоках Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
156
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕДИА-ПОТОК / КАНАЛЫ СВЯЗИ / КОДИРОВАНИЕ ВИДЕОИЗОБРАЖЕНИЙ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Солонский Александр Викторович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

VIDEO CODING DATA DOMAIN AND METHODS OF ERROR CONCEALMENT IN MEDIA STREAMS

The article describes dynamic video coding data domain and choosing of error concealment methods in the case of error happening during transfer by communication channel.

Текст научной работы на тему «Предметная область кодирования видеоизображений и методы устранения ошибок в медиа-потоках»

УДК 519.876.5:621.865.8

ПРЕДМЕТНАЯ ОБЛАСТЬ КОДИРОВАНИЯ ВИДЕОИЗОБРАЖЕНИЙ И МЕТОДЫ УСТРАНЕНИЯ ОШИБОК В МЕДИА-ПОТОКАХ

А.В. Солонский

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

В связи с развитием цифрового представления видеоинформации возникают проблемы ее эффективного представления, хранения и передачи. В настоящее время в этой области существуют общепризнанные стандарты, такие как MPEG-1, 2, 3, 4, где MPEG расшифровывается как Motion Picture Experts Group - группа экспертов в области кинематографа [1]. Номера версий символизируют эволюцию в технологиях передачи, хранения и представления видео- и аудиоданных. Наиболее распространен и изучен на сегодняшний день стандарт MPEG-2, достоинством которого является высокая степень сжатия видео- и аудиоинформации. Недостаток стандарта MPEG-2 - неустойчивость к ошибкам передачи, возникающая в результате использования кодов переменной длины (кодов Хаффмана), когда наиболее часто встречающимся последовательностям символов ставятся в однозначное соответствие наиболее короткие коды. В результате неправильно переданного бита будет неправильно декодирована целая строчка изображения высотой в 16 пикселей. Усугубляет дело наличие временной зависимости между кадрами в медиа-потоке, в результате чего ошибка, полученная в предыдущем кадре, будет распространяться на последующие. Так как принимающее устройство в общем случае не обладает информацией о том, какой картинка должна быть в оригинале, задача восстановления картинки не имеет однозначного решения. Однако существует ряд методов, которые позволяют обнаружить ошибки на этапе декодирования медиа-потока и скорректировать их последствия, а именно: используя избыточность информации о картинке, заменить испорченный участок изображения на другой, неиспорченный участок. При этом происходит потеря визуальной информации, но зато уменьшается влияние ошибки распространения, когда следующий, неиспорченный, кадр, восстанавливается на основе поврежденного и также становится искаженным.

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

Описание предметной области

Видеоряд (видеопоследовательность) в стандарте MPEG-2 характеризуется набором картинок, последовательно сменяющих друг друга, что в итоге создает иллюзию движущегося изображения. Картинка представляет собой упорядоченный набор точек - пикселей, которые в свою очередь характеризуются набором цветовой палитры, состоящей из комбинации красного, зеленого, синего в системе RGB [1], а также яркостью и хроматическими данными в системе

YUV [1]. Под параметром глубина цвета будет рассматриваться количество битов, затраченных на представление одного пикселя в одной из вышеупомянутых систем.

В настоящее время наибольшее распространение получила система RGB32, где на представление одного пикселя расходуется 32 бита или 4 байта. Таким образом, на представление средней картинки в формате PAL, которая будет содержать 720 пикселей по горизонтали и 576 - по вертикали, будет израсходовано 720х576х4=1655880 байтов физической памяти. На представление минутного клипа в системе PAL, который имеет частоту 25 кадров в секунду, будет израсходовано 60х25х1655880 = 2488320000 байтов. Средний фильм имеет продолжительность 100 минут, следовательно, он будет занимать более 200 Гб.

Картинка реального изображения обладает большой избыточностью, поэтому устранение этой избыточности с помощью нижеописанных процедур позволяет значительно уменьшить требуемый объем памяти. Прежде всего изображение делится на квадратные части, так называемые макроблоки, размером 16х16 пикселей. Макроблок в свою очередь делится на 4 блока 8х8 пикселей (рис. 1) .

Блок

Макроблок

/

Рис. 1 - Блок и макроблок

Макроблок имеет размер 16х16 пикселей и содержит часть яркостного компонента изображения и пространственно соотносящийся к нему компонент насыщенности цвета. Существуют три формата субдискретизации цветоразности макроблока: 4:2:0, 4:2:2 и 4:4:4.

Макроблок в формате 4:2:0 состоит из 6 блоков: 4 У, 1 СЬ и 1 Сг, где У - это яркостная составляющая цвета, СЬ и Сг - соответственно хроматическая составляющая синего и красного.

Макроблок в формате 4:2:2 состоит из 8 блоков: 4 У, 2 СЬ и 2 Сг.

Макроблок в формате 4:4:4 состоит из 12 блоков: 4 У, 4 СЬ и 4 Сг.

С помощью процедур квантования, оценки движения фрагмента изображения в кадре и дискретных косинусных преобразований (РСТ, частный случай преобразований Фурье), а также последующим сжатием по алгоритму Хаффмана [1] можно уменьшить объем информации в 20 и более раз без видимой потери качества кодируемого изображения.

Схема кодирования видеоряда представлена на рис. 2, где обозначено: Q (Quantisation) -квантизация, уменьшение возможных состояний сигнала, достигается делением массива данных на натуральное число и округлением до наименьшего целого; Q"1 (Inverse Quantisation) -восстановление исходного массива данных; (I) DCT - (обратное) дискретное косинусное преобразование; «Условие» - условный блок, который формирует решение о том, каким образом кодировать макроблок.

Рис. 2 - Схема MPEG-кодирования видеопоследовательности

Так как видеоряд обладает как пространственной, так и временной корреляцией, алгоритмы кодирования первого и последующих кадров будут отличаться. Приведем эти алгорАлаоритм кодирования первого кадра

1. Изображение делится на макроблоки - участки по 16 пикселей шириной и высотой.

2. Над макроблоками производится РОТ, квантование и сжатие по Хаффману.

Алгоритм кодирования последующих кадров

Для кадра происходит поиск зон соответствия между текущим и предыдущим кадром, так называемая оценка движения. Затем на основе этой информации принимается решение, каким образом кодировать макроблок:

- если в предыдущем кадре есть точно такой же макроблок, то текущий кадр вообще не кодируется, называется пропущенным и на его место вставляют макроблок из предыдущего кадра;

- если существуют незначительные различия, то макроблок вычитается из предыдущего, а разницу кодируют так же, как и для первого кадра;

- если относительно похожих макроблоков не найдено, то макроблок кодируется таким же образом, как и для первого кадра.

Аналогично, но в обратном порядке производится декодирование видеоряда (рис. 3).

Рис. 3 - Схема MPEG-декодирования видеопоследовательности

Кадры в стандарте MPEG-2 [1] бывают трех видов I (Intra), P (Predicted ) и B (Bidirectional). /-кадры закодированы так, что для их восстановления не требуется никакого другого кадра, и по размеру являются наибольшими, Р-кадры закодированы с использованием предыдущего /-кадра, и, следовательно для восстановления Р-кадра нужен предыдущий /-кадр. По размеру он меньше /, но больше В. В-кадр закодирован с использованием предыдущих и /- и Р-кадров и по размеру является наименьшим. По сути дела, можно было бы ограничиться одним первым /-кадром и в дальнейшем кодировать лишь последовательную разницу между следующими кадрами, но в таком случае для обеспечения произвольного доступа ко всему потоку пришлось бы каждый раз декодировать все кадры с самого начала. Поэтому в стандарте MPEG-2 предусмотрена некоторая частота, с которой должны встречаться /-кадры. Группа кадров от одного /-кадра до другого называется группой картинок (ГК). Наиболее часто встречаемая продолжительность одной ГК полсекунды, что при частоте 24 кадра в секунду будет составлять 12 кадров. Но так как кадры в стандарте MPEG-2 могут иметь не только «единичную продолжительность» (в данном случае 1/24 секунды), но и полуторную и двойную, то это соответственно скажется на количестве кадров в ГК, хотя ее временная продолжительность и будет оставаться постоянной величиной. Модель жизненного цикла медиа-информации представлена на рис. 4.

Рис. 4 - Модель жизненного цикла медиа-информации

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

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

Основываясь на анализе проблемных ситуаций при проигрывании медиа-потоков, можно выделить два устройства, которые являются основными источниками ошибок (до 75 %): устройство передачи и хранения данных; мультиплексирующее устройство. В первом случае ошибка, вносимая в медиа-поток, имеет случайный характер и при достижении определенного уровня (обычно 10 %) [3] проявляется в виде неправильно декодированных участков изображения. При превышении этого уровня изображение либо не декодируется вообще, либо теряет свою информативность. Во втором случае ошибка, вносимая в поток, имеет неслучайный характер и проявляется в виде рассинхронизации изображения и звука, дрожания звука и(или) изображения. После позиционирования (перемещения по потоку в произвольном порядке) возникают вышеописанные эффекты, а также может произойти зависание обрабОывбющЕулврвпр^иыювания вносится только в техническую информацию о потоке, такую как: битрэйт (количество передаваемых бит в единицу времени), время проигрывания кадра и т.д. Различными методами можно с высокой точностью восстановить правильную техническую информацию [2].

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

Выбор и обоснование методов обнаружения и коррекции (скрытия) ошибок

Прежде всего необходимо рассмотреть, что представляет собой закодированная картинка в стандарте МРЕС-2. Начинается она заголовком, описывающим весь кадр, в котором хранится информация о типе картинки. Также может указываться дополнительная информация, влияющая на процесс декодирования, такая как наличие скрывающих векторов (они будут обсуждены позже), тип таблицы квантизации и т.д. Далее идет непосредственно сама картинка, которая уже поделена на слайсы, макроблоки и блоки.

Слайс - это группа из произвольного количества макроблоков. Первый и последний макроблоки в слайсе должны присутствовать (не должны быть пропущены). Минимальное количе-

ство макроблоков в слайсе - 1 (первый макроблок в то же самое время и последний). Слайсы не должны накладываться друг на друга. Первый и последний макроблоки слайса должны находиться в том же самом горизонтальном ряду.

На практике наиболее часто встречается такой тип расположения слайсов (рис. 5), который наиболее экономичен с точки зрения расходования места на заголовки.

_А_

_В_

_С_

Б

Рис. 5 - Схема типичного расположения слайсов на картинке

В дальнейшем, употребляя термин «слайс», мы будем иметь в виду строчку макроблоков.

По стандарту МРЕС-2, цель деления картинки на слайсы - обеспечение возможности ресинхронизации в случае ошибки декодирования. При этом не допускается повреждение всей картинки, а только искажается один слайс. Конечно, вполне вероятно, что ошибка может случиться и в стартовом коде заголовка слайса. В этом случае становится невозможной ресинхронизация процесса декодирования, однако этот случай не будем рассматривать по причине его редкой встречаемости.

Теперь, исходя из структуры закодированной картинки, можно определить два множества методов скрытия ошибок при декодировании МРЕС-2-потока: с использованием дополнительных возможностей кодирующего устройства и без их использования. Перечислим множество методов скрытия ошибок в первом случае:

1) применение скрывающих векторов [1]. Стандартом МРЕС-2 предусмотрена возможность вставлять в поток перед макроблоком в интракадре так называемый скрывающий вектор. При этом если дальше в процессе декодирования этого макроблока обнаруживается, что его данные испорчены, то, используя этот вектор, можно вставить в данное место соответствующий макроблок из предыдущего кадра. Данный способ не может считаться эффективным, так как если в потоке обнаруживается ошибка, то вся последующая строчка макроблоков становится испорченной;

2) уменьшение длины слайса [3]. Как отмечалось раньше, природа стандарта МРЕС-2 предполагает наличие кодов переменной длины, что при ошибке в потоке делает невозможным его правильное декодирование до следующей точки ресинхронизации. Логично предположить, что увеличение частоты точек ресинхронизации уменьшит потенциальное пространство появления ошибок. В работе [3] рассматриваются различные аспекты данного подхода к проблеме, и оптимальным принимается размер слайса 4 - 5 макроблоков. Но такой подход тоже имеет ряд минусов. В частности, значительно «раздувается» размер кадра и соответственно повышается вероятность появления ошибки не только в блоке данных, но и в самих точках ресинхронизации и заголовках слайсов;

3) кодирование макроблока интер или интра [4]. На основе некоторого критерия можно попытаться определить сложность восстановления макроблока при его возможной потере и брать его в качестве дополнительного, а то и основного критерия при выборе решения, как кодировать макроблок - интер или интра. Этот метод также не всегда эффективен, так как при потере макроблока все равно будет предпринята попытка заменить его макроблоком из соответствующего места на предыдущей картинке;

4) изменение структуры ГК [5]. На наш взгляд, этот метод является наиболее простым и эффективным способом сделать медиа-поток устойчивым к ошибкам передачи.

Теперь приступим непосредственно к описанию методов восстановления изображения и скрытия ошибок:

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

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

3) прогнозирование вектора движения для поврежденного участка изображения исходя из характеристик соседних блоков;

4) прогнозирование DC- и AC-коэффициентов поврежденных блоков исходя из данных об окружающих блоках.

Заключение

В данной работе был проведен обзор предметной области кодирования видеоизображений и возникающих проблем при передаче этих изображений по каналам связи. Также проведены выбор и обоснование методов коррекции возникающих ошибок.

ЛИТЕРАТУРА

1. ISO/IEC 13818-1, Information technology - generic coding of moving pictures: Video, May

1996.

2. ISO/IEC 13818-2, Information technology - generic coding of moving pictures: Video, May

1996.

3. J. Zhang. MPEG-2 Video Services for Wireless ATM Networks // IEEE Journal on Selected Areas in Communications, Vol. 15, No. 1, January 1997, Pp. 119-127.

4. G. Côté, S. Shirani, F. Kossentini. Optimal mode selection and synchronization for robust video communications over error prone networks // IEEE Journal on Selected Areas in Communications, May 1999, Pp. 13-23.

5. P. Haskell, D.Messerschmitt. Resynchronization of motion compensated video affected by ATM cell loss // ICASSP-92, San Francisco, CA, USA, Mar. 1992, Vol. 3.

6. A. Schertz, N. Franzen, J. Lu, M. Ravel. IRT/Tektronix Investigation of Subjective and Objective Picture Quality for 2-10 Mbit/sec MPEG-2 // Video: Phase 1 Results, May 1999.

i Надоели баннеры? Вы всегда можете отключить рекламу.