Смекни!
smekni.com

HDTV - телевидение высокой четкости (стр. 4 из 5)

Итак, в MPEG-2 применены известные, давно апробированные методы сокращения избыточности. Вместе с ними использованы и новые подходы. В особенности это относится к совокупности согласованных алгоритмов сокращения статистической избыточности. Здесь особо эффективными оказались два метода: кодирование ТВ отсчетов с предсказанием и дискретно-косинусное преобразование

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

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

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

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

Кодируемые кадры

Базовым объектом кодирования в стандарте MPEG-2 является кадр ТВ изображения. Это не случайно и обеспечивает преемственность со стандартом JPEG, принципиально ограничивающимся внутрикадровым кодированием. При этом очевидно, что для ТВ сигналов, в которых смешаны различные сюжеты с разными типами движений "от ничего до много" простое предсказание, в принципе, не обеспечит высокую эффективность. По этой причине в стандарте используются три вида предсказаний: внутрикадровое и межкадровое предсказание вперед с компенсацией движения, межкадровое двунаправленное предсказание также с компенсацией движения.

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

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

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

Очевидно, что точность кодирования должна быть максимальной для I кадров, ниже для Р кадров и минимальной для В кадров.

Типичным является следующий порядок кодирования I, Р, В кадров: В кодере вырабатываются следующие группы, состоящие из 12 чередующихся кадров: I0, B1, B2, P3, B4, B5, P6, B7, B8, P9, B10, B11, I12, B13, B14, P15 и т. д., в которых I кадры следуют с интервалом: (1/25 Гц) х 12= 0,48 с.

При передаче по каналу связи порядок следования I, Р и В кадров меняется. В декодер в начале поступают опорные I и Р кадры, без которых нельзя начать декодирование. Типичным является следующий порядок передачи I, P, B кадров: I0, P3, B1, B2, P6, B4, B5, P9, B7, B8, I12, B10, B11 - P15, B13 и т. д.

Компенсация движения

В стандарте MPEG-2 используется метод компенсации движения, основанный на макроблоках. Два смежных кадра, содержащих только активные строки сигнала яркости (576 активных строк), разбиваются на макроблоки и более крупные зоны поиска. Размеры макроблока должны быть согласованы со структурой дискретизации кадра ТВ изображения. В стандарте MPEG-2 блок -это квадратная матрица отсчетов размером 16 строк по вертикали и 16 столбцов (отсчетов) по горизонтали. Отметим, что при таком формате блока, ТВ кадр разбивается на целое число зон. По вертикали (576 активных строк/16) - это 36 зон, по горизонтали (704 активных отсчета/16) - 44 зоны.

Зона поиска должна быть достаточно большой, чтобы быстро движущийся макроблок изображения первого кадра не вышел из зоны поиска второго кадра. Размеры зоны поиска ограничиваются объемом вычислений, которые необходимо выполнить в реальном масштабе времени. Эти размеры также должны быть согласованы с принятой структурой дискретизации ТВ кадра. Обычно, они в 4 раза больше размеров отдельного макроблока. Иными словами, размеры зоны поиска - это 64 х 64. Таким образом, в ТВ кадре создается 576/64 = 9 зон поиска по вертикали и 704/64 = 11 зон по горизонтали.

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

Дискретно-косинусное преобразование

Это преобразование выполняется поблочно, для чего ТВ изображение разбивается на блоки. Каждый блок - квадратная матрица. Ее размеры: 8 отсчетов (строк) по вертикали и 8 отсчетов по горизонтали. Таким образом, матрица содержит 8 х 8 = 64 отсчета ТВ сигнала. Она называется сигнальной матрицей. При этом в ТВ кадре создается : 576/8 = 72 зоны по вертикали и 704/8 = 88 зон по горизонтали, что в общей сложности дает: 72 х 88 = 6336 блоков, подлежащих дискретно-косинусному преобразованию (ДКП) в реальном масштабе времени. В результате ДКП исходная сигнальная матрица 8 х 8 = 64 ТВ отсчетов преобразуется в матрицу частотных коэффициентов ДКП такого же размера 8 х 8 = 64.

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