Межкадровое кодирование
Цель межкадрового кодирования – сокращение временной избыточности телевизионного изображения. Представим, что мы смотрим трансляцию чемпионата по бильярду. На экране – катящийся шар на фоне зеленого сукна. А теперь представим соседние кадры этого изображения. Они отличаются только местоположением шара. Это и есть временная избыточность телевизионного изображения (соседние кадры очень похожи друг на друга).
Схема, сокращающая скорость цифрового потока по этому алгоритму, показана на рисунке 11.7.
Рис. 11.7 Дифференциальная импульсно-кодовая модуляция
Схемы на рисунке 11.7 отличаются от предыдущих только наличием обратных ветвей, предназначенных для получения предыдущих изображений. Вычитатель в кодере необходим для формирования разностного кадра, а сумматоры для получения текущих кадров. Текущие кадры задерживаются в предсказателе П (линия задержки на один кадр) и превращаются в предыдущие (во время действия следующего кадра).
Надо заметить, что в такой системе необходимо передавать и целые кадры (опорные, кодированные только внутрикадрово), в нашем примере I0. Сигналы, действующие на блоках схем во время интервала времени кадра I0, указаны в скобках, а во время следующего кадра I1 – без скобок.
И так, во время передачи опорного кадра I0 предсказатель выключается, на выходе вычитателя действует I0=I0-0. Он внутрикадрово кодируется и передается по каналу связи. Здесь же он проходит операции декодирования (деквантование и инверсное дискретно-косинусное преобразование) и поступает в предсказатель (I0+0=I0). В это время в приемнике предсказатель также отключается, и на выходе сумматора действует кадр I0=I0+0. Во время действия кадра I1 на выходе предсказателя появляется кадр I0, и внутрикадровому кодированию подвергается разностный кадр I1-I0. Он передается по каналу связи, а на приемном конце складывается с предыдущим кадром, формируя текущий I1=I1-I0+I0. То же самое происходит и на передающем конце. К моменту времени кадра I2 кадр I1 перейдет на выход предсказателя. Как видно, на приемном конце получаются исходные кадры, а количество передаваемой информации намного меньше.
Недостатком систем с передачей разностных изображений является накопление ошибок. Если в передаваемых изображениях I0 и I1-I0 произошло по N ошибок, то в полученном кадре I1 ошибок будет в два раза больше: I1-I0+N+I0+N=I1+2N. Именно поэтому для получения разностного кадра в кодере используется обратное ДКП, хотя его можно было бы взять прямо с вычитателя. Но при этом предыдущие кадры в кодере и декодере отличались бы шумами квантования, появившимися при вычислении коэффициентов ДКП. А эти кадры должны быть совершенно одинаковые для правильного декодирования текущего кадра в декодере. Также накопление ошибок является причиной необходимости регулярной передачи по каналу связи опорных кадров (см. группы изображений).
Рассмотренная система эффективна при движении объекта на неподвижном фоне (камера неподвижна). В случае, если камера двигается, следит за объектом, передвигающимся на неоднородном фоне, все элементы изображения в соседних кадрах будут сдвинуты. Разностный кадр будет содержать большое количество информации. Вернемся к нашему примеру с бильярдом. Можно передать только два числа, характеризующих передвижение шара по вертикали и горизонтали. Эти числа X и Y называются вектором движения. Конечно, вместе с вектором движения необходимо передать и разностный кадр, т.к. в противном случае появится эффект скольжения, но он будет минимален по объему информации.
Есть три метода расчета векторов движения:
1. Метод согласования блоков – макроблок текущего изображения проецируется на макроблоки предыдущего в некоторой зоне поиска. Макроблок, наименее отличающийся от текущего, принимается за опорный.
2. Логарифмический метод происходит за несколько этапов. На каждом из этапов макроблок текущего изображения проецируется на макроблоки предыдущего в девяти контрольных точках. Вокруг точки, в которой макроблоки наименее отличаются друг от друга, организуется следующий, более точный этап поиска. Например, логарифмический метод 4:2:1. Первый этап с точностью в 4 элемента изображения, второй – в 2 и третий – в 1 элемент изображения. Этот метод позволяет найти вектор движения на площади изображения 15*15 элементов изображения с помощью всего 27 расчетов 3*9=27.
3. Телескопический метод заключается в том, что, если объект двигался в каком-то направлении с какой-то скоростью, то с высокой степенью вероятности можно предположить, что он будет двигаться дальше в том же направлении и с той же скоростью. За начальное значение вектора движения принимается вектор движения для этого блока из предыдущего кадра, а вокруг получившейся точки образуется небольшая зона поиска.
Вектора движения рассчитываются для каждого макроблока и передаются в одном потоке с разностным изображением. Схемы кодера и декодера, работающих с использованием векторов движения, показаны на рисунке 11.8.
Рис. 11.8 Система компрессии MPEG
Схема кодера отличается от предыдущей наличием определителя вектора движения ОВД, компенсатора вектора движения КВД, еще одного кодера с переменной длинной слова КПДС и мультиплексора М. Во время передачи опорного кадра I0 КВД отключен, и на выходе вычитателя действует I0. Во время передачи I1 в ОВД сравниваются текущий I1 и предыдущий I0 кадры, и рассчитываются вектора движения для каждого макроблока. В КВД все блоки изображения в предыдущем кадре I0 переставляются согласно рассчитанным векторам движения, формируется кадр I0+ВД. Теперь сравним I1 и I0+ВД: они очень похожи, т.к. все элементы изображения в кадре I0+ВД находятся там же, где и в кадре I1 (движение скомпенсировано). Разностный кадр I1-I0-ВД имеет большое количество нулевых зон и при внутрикадровом кодировании будет описан минимумом информации. Вектора движения так же кодируются с переменной длинной слова и в мультиплексоре замешиваются в единый цифровой поток. В декодере вектора движения выделяются из общего потока в демультиплексоре Дм. В КВД блоки предыдущего изображения переставляются, согласно им формируется I0+ВД, а в сумматоре складывается с I1-I0-ВД (формируется кадр I1). Передаваемое изображение сформировано при минимуме переданной информации.
Стандарты с сокращением временной избыточности носят название MPEG (Moving Picture Experts Group). MPEG – общее название стандартов, определяющих компрессию последовательностей динамических изображений.
Как видно из рисунка 11.8, система MPEG ассиметрична (кодирующая часть намного сложнее декодирующей). Текущее изображение может кодироваться на основе предыдущего, последующего, а также на основе обоих одновременно. При отсутствии выигрыша при межкадровом кодировании кадр будет закодирован внутрикадрово. Кодер должен обладать мощной вычислительной базой для определения оптимального метода кодирования в реальном времени. Информация о методе кодирования включается в общий поток и передается декодеру для правильного восстановления изображения.
Группы изображений
В системах видеокомпрессии используются три вида изображений I, P и В типа (рисунок 12.1).
Рис. 12.1 Виды компрессированных изображений
Изображения типа I кодируются внутрикадрово (опорные). Изображения типа Р кодируются на основе предыдущих изображений типа I или Р. Используется межкадровое кодирование, поэтому они по объему информации в 3 раза меньше, чем I изображения. Изображения типа В двунаправленные, кодируются на основе предыдущих и последующих изображений I или Р типа и поэтому их объем в 1,5 раза меньше, чем у Р-изображений.
Изображения различных типов объединяются в группы изображений. Любая группа начинается с изображения I типа и описывается двумя числами N и M. N показывает количество изображений в группе, М – интервал между соседними изображениями типа Р. На рисунке 11.10 показана типичная группа изображений, описываемая числами (12, 3). Здесь изображение I0 – опорное, изображение Р3 кодируется на основе I0, изображения Р6 и Р9 на основе предыдущих Р изображений Р3 и Р6 соответственно. Изображения В1 и В2 - на основе предыдущего I0 и последующего Р3, изображения В4 и В5, В7 и В8 - на основе предыдущих и последующих изображений Р-типа, Р3 и Р6, Р6 и Р9 соответственно, а изображения В10 и В11 на основе предыдущего Р9 и последующего I0, входящего в состав другой группы изображений.
Рис. 12.2 Открытая группа изображений (12,3)
Ясно, что чем больше группа изображений и чем больше в ней изображений типа В, тем большего уменьшения скорости данных можно достигнуть. Но здесь есть и ряд недостатков. Представим, что в кадре I0 произошла ошибка. Эта ошибка будет присутствовать во всех изображениях группы, т.к. они все предсказаны на его основе (по стрелочкам можно дойти до любого изображения в группе). В нашем примере не один, а 12 кадров будут поражены (12*0,04=0,48с телевизионного изображения). И с увеличением группы изображений это время будет расти. Большое количество изображений В-типа приведет к необходимости наличия в декодере огромных массивов памяти, ведь для декодирования В изображений необходимо наличие в декодере последующего изображения Р или I типа. Поэтому при передаче меняется порядок следования изображений. Они передаются в порядке декодирования (рисунок 12.3).
Рис. 12.3 Порядок передачи изображений в группе
Группы изображений бывают открытые и закрытые. Открытые группы изображений (рисунок 11.10) заканчиваются на В-изображениях и связаны между собой. Нет возможности монтажа без декодирования сигнала. А перекодирование сигнала приведет к появлению дополнительных искажений, если вторичное кодирование не произведено по тем же параметрам, что и первичное. Широко используются закрытые группы изображений (рисунок 12.4).
Рис. 12.4 Закрытая группа изображений 10,3
Как видно из рисунка 11.12, закрытые группы заканчиваются на Р - изображениях, и они не связаны между собой. После Р9 можно поставить любую другую группу изображений (произвести монтажный переход).
На рисунке 12.5 показаны примеры групп изображений стандарта MJPEG (формат DV) и MPEG-2 в соответствии с профилем 422 (формат записи Betacam-SX). Ясно, что по объему информации (скорости данных) при прочих равных условиях, стандарт MPEG предпочтительней. Но здесь возникают проблемы при осуществлении монтажных переходов. Последнее изображение типа В, оставшееся от предыдущего сюжета, необходимо перекодировать в однонаправленное. Это ведет к усложнению аппаратуры.
Рис. 12.5 Группы изображений в стандартах M JPEG и MPEG – 2
Дата добавления: 2015-12-26; просмотров: 1833;