Внутрикадровое кодирование
Первоначальной целью внутрикадрового кодирования является устранение пространственной избыточности телевизионного изображения. В его основе лежит ортогональное преобразование. Вспомним: пространственная избыточность вызвана тем, что соседние элементы изображения коррелированны, т.е. похожи друг на друга. Если заменить отсчеты изображения коэффициентами, несущими информацию о величине гармонических составляющих телевизионного сигнала, то этого можно избежать. Если в сигнале гармоника есть, то ее коэффициент будет ненулевым, если нет – нулевым. Нулевые коэффициенты не передаются, чем и достигается сокращение цифрового потока. Ортогональное преобразование подразумевает разбиение всего изображения (кадра) на блоки изображений, которые и пересчитываются в матрицы коэффициентов.
В качестве ортогонального преобразования используется дискретно-косинусное преобразование ДКП. ДКП работает с блоками изображений 8*8 элементов (рисунок 11.1).
Рис.11.1 - Формирование блоков изображения
В результате ДКП блоку изображения ставится в соответствие матрица коэффициентов базисных косинусоидальных функций. Эта матрица тоже имеет размер 8*8 коэффициентов (рисунок 11.2).
Рис. 11.2 - Дискретно-косинусное преобразование
Дискретно-косинусное преобразование можно сравнить с преобразованием Фурье, при котором сигнал раскладывается на гармоники, но оно одномерно, т.к. сигнал меняется только во времени. ДКП преобразует двумерный блок изображения (вертикаль и горизонталь), поэтому коэффициенты ДКП тоже расположены в двухмерной матрице.
По каналу связи будут передаваться именно коэффициенты ДКП, а на приемной стороне происходит обратное преобразование матрицы коэффициентов в блок изображения, при этом никаких искажений не происходит, кроме шумов квантования, возникших при расчете коэффициентов ДКП. Но в чем же сокращение цифрового потока? Ведь вместо блока из 64 элементов изображения надо передать матрицу из 64 коэффициентов.
Местоположение коэффициента в матрице говорит о частоте и направлении изменения яркости по блоку изображения. Например, коэффициент, расположенный в верхнем левом углу – уровень постоянной составляющей, несет информацию о средней яркости блока изображения. Коэффициенты в районе постоянной составляющей – низкочастотные, а чем дальше они расположены от левого верхнего угла, тем о гармонике большей частоты они несут информацию. Это обстоятельство используется для сокращения психофизической избыточности: ведь высокочастотные коэффициенты можно квантовать на малое количество уровней.
Если яркость по блоку изображения меняется по горизонтали (вертикальные полосы), то в матрице будут присутствовать коэффициенты, расположенные в верхней строке. Если яркость меняется по вертикали (горизонтальные полосы) – в левом столбце. Все остальные коэффициенты будут равны нулю и передаваться не будут.
Еще привлекательней пример с однотонным изображением. При этом изменения яркости по блоку изображения не будет и в матрице ДКП появится только один ненулевой коэффициент. По каналу связи вместо 64 (8*8) элементов изображения будет передаваться только один коэффициент.
Надо заметить, что большинство типичных изображений состоят из блоков с маломеняющейся яркостью, т.е. высокочастотные коэффициенты в матрицах будут равны нулю. Они не передаются, чем и достигается сокращение скорости данных.
Выше говорилось только о блоках яркости. С сигналами цветности производится такое же преобразование, причем все блоки изображения в области 16*16 элементов изображения формируют макроблок. В создании одного макроблока будут участвовать 4 яркостных блока изображения (2*2), а количество блоков цветности зависит от структуры дискретизации кодируемого сигнала (рисунок 11.3).
Рис. 11.3 Макроблок при структуре дискретизации 4:2:2
При структуре дискретизации 4:2:2 в один макроблок входят, кроме четырех яркостных, еще четыре блока цветности – два R-Y и два B-Y, при структуре 4:2:0 – по одному блоку цветности, а 4:4:4 – по четыре.
Существует два вида внутренней организации макроблока:
1. С кадровым кодированием, где в один блок изображения входят строки обоих полей (рассмотрен выше).
2. С полевым кодированием (рисунок 11.4), где верхние блоки макроблоков сформированы нечетными строками, а нижние – четными строками.
Рис. 11.4 - Организация блоков при полевом кодировании
Как отмечалось выше, ДКП производит разделение телевизионного сигнала на частотные составляющие, что очень удобно для сокращения психофизической избыточности. Низкочастотные коэффициенты можно квантовать на большое количество уровней, а высокочастотные - на малое. Для этого матрице коэффициентов соответствует матрица квантования с такими же размерами (8*8), в которой прописано количество разрешенных уровней квантования для каждого коэффициента. Причем значения в матрице квантования могут меняться в процессе передачи в режиме работы кодера «с постоянной скоростью и переменным качеством» (см. ниже).
Для вывода коэффициентов из матрицы используется зигзагообразное сканирование (рисунок 11.5).
Рис. 11.5 Порядок вывода коэффициентов из блока изображения
Дело в том, что в подавляющем большинстве блоков изображения будет большое количество нулевых коэффициентов, которые обычно расположены в высокочастотной части матрицы ДКП. Такая последовательность вывода коэффициентов позволяет сформировать наибольший массив нулей. Каждому ненулевому коэффициенту ставится в соответствие пара чисел. Первое – количество нулевых коэффициентов до ненулевого, а второе – само значение коэффициента. К примеру, представим, что в результате ДКП была получена матрица коэффициентов (рисунок 11.5), неотмеченные коэффициенты - нулевые. Для ее описания по каналу связи будет передана следующая информация:
(0,5)(0,1)(0,6)(3,3)(0,8)(1,2)(6,4)(1,1)(12,3)ЕОВ
Символ ЕОВ (конец блока) заменяет оставшийся массив нулей. Как видно, объем передаваемой информации намного меньше, чем при передаче 64 элементов изображения.
При передаче коэффициентов используется энтропийное кодирование – кодирование с переменной длиной слова (наиболее часто встречающимся значениям даются более короткие кодовые слова). Как декодер узнает, кодовое слово какой длины было передано? Энтропийное кодирование подразумевает передачу разделителей между кодовыми словами, которые являются сигналом для декодера об окончании предыдущего и начале следующего кодовых слов. Но разделители – техническая информация, необходимая для правильной работы системы, полезной информации они не несут и приводят к увеличению скорости цифрового потока. Использование этого в системах компрессии как минимум не прилично. Вместо этого используется код Хаффмана. Он префиксный, т.е. ни одно более длинное слово не начинается с другого, менее длинного; при этом не надо разделителей между словами. К примеру, представим, что самое короткое слово – 101. Ни одно другое кодовое слово, входящее в алфавит кода, не начинается с этой комбинации. Т.е. при приеме этого сигнала декодер определит, что продолжения быть не может, и кодовое слово закончено.
На рисунке 11.6 показана структурная схема кодера, реализующая вышеперечисленные методы уменьшения скорости цифрового потока.
Рис. 11.6 Внутрикадровое кодирование. Схема структурная
Входные видеоданные разбиваются на блоки изображений и пересчитываются в матрицы коэффициентов в блоки ДКП. Полученные коэффициенты квантуются на разное количество уровней в квантователе Кв. Количество уровней квантования определяется матрицей квантования МК. Затем данные кодируются в кодере с переменной длиной слова КПДС. Все разрешенные кодовые слова образуют алфавит кода АК, который есть в памяти КПДС. В декодере происходят обратные операции.
На этой схеме удобно объяснить режимы работы системы компрессии:
1. С постоянной скоростью и переменным качеством;
2. С переменной скоростью и постоянным качеством.
Начнем со второго. Ясно, что количество данных, необходимых для описания изображения, а, соответственно, и скорость цифрового потока на выходе кодера будут зависеть от самого изображения. Если изображение насыщено мелкими деталями, яркостными и цветовыми переходами, нулевых коэффициентов в матрицах ДКП будет мало, и скорость вырастет. И наоборот, если в изображении нет яркостных и цветовых переходов (однотонное поле), то большинство коэффициентов будут нулевыми – скорость данных упадет. Этот режим будет использован там, где нет ограничений на скорость и объем данных.
Первый режим работы системы компрессии осуществляется за счет использования буфера (Буф) на выходе кодера (рисунок 27). Он заполняется с переменной скоростью, в зависимости от передаваемого изображения, а выводится информация из него с постоянной скоростью. Чтобы предотвратить переполнение или полное опустошение буфера, что приведет к потере данных или к отсутствию их на выходе кодера, он управляет матрицей квантования. Например, при перезаполнении буфера матрица квантования уменьшит количество разрешенных уровней квантования, при этом скорость заполнения буфера упадет за счет ухудшения качества изображения на приемном конце.
Вспомним, что мы ознакомились только с внутрикадровым кодированием, и эта схема способна кодировать только отдельные изображения (картинки, фотографии). Этот способ уменьшения объема видеоданных широко используется в компьютерной технике, а файлы, «сжатые» по этому алгоритму, имеют расширение .jpg, по названию стандарта сжатия JPEG (Joint Photographic Experts Group). При кодировании телевизионного сигнала, каждый кадр последовательности кодируется как отдельная картинка. Это широко используется в профессиональной технике (например, форматы записи семейства DV), т.к. возможен монтаж с точностью в один кадр без декодирования сигнала, при этом к названию стандарта добавляется буква М JPEG (движущийся JPEG).
Итак, подведем итог. Какие избыточности устраняет стандарт JPEG?
1. Внутрикадровую, т.к. коэффициенты ДКП не коррелированы между собой.
2. Психофизическую, т.к. высокочастотные составляющие спектра телевизионного сигнала квантуются на малое количество уровней.
3. Избыточность телевизионного сигнала, т.к. не передаются кадровые и строчные гасящие интервалы.
Дата добавления: 2015-12-26; просмотров: 1589;