Кодирование коэффициентов ДКП

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

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

Рисунок 1.21 — Зигзаг-сканирование коэффициентов ДКП

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

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

Эффективность энтропийного кода Хаффмана повышается также за счет того, что не требуется разделителей между символами. И хотя последние имеют различную битовую длину, они декодируются единственным образом.

1.12. Кодирование с предсказанием

Принцип действия систем кодирования с предсказанием заключается в передаче вместо истинного значения сигнала закодированной разности истинного и предсказанного значений. В соответствии с этим принципом подобные системы кодирования получили еще одно название — системы с дифференциальной импульсно-кодовой модуляцией ДИКМ.

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

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

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

Рисунок 1.22 — Структура системы ДИКМ: а — кодер; б — декодер;

a n — текущее значение сигнала:

â n — предсказанное значение сигнала; (a n - â n) — сигнал ошибки

На приемном конце системы исходный сигнал восстанавливается сложением предсказанного и принятого сигнала ошибки предсказания. Устройства предсказания на обоих концах системы для правильного восстановления в приемнике исходных значений сигнала должны быть одинаковыми.

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

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

Рисунок 1.23 — Структура ДИКМ, совмещенная с процедурами

ДКП и квантования: а — кодер; б — декодер

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

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

Первый кадр рассмотренной преобразуемой последовательности кадров называется опорным. Из него устранена только пространственная избыточность. По сравнению с ним последующие кадры компрессированы значительно сильнее. Как следствие, они менее помехоустойчивы. Для поддержания необходимой помехоустойчивости системы и сведения к минимуму возможных сбоев в ее работе в последовательность разностных сигналов ДИКМ периодически врезаются опорные кадры. Их периодичность в стандарте МРЕG составляет около 0,5 с.

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

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

b (x +Δ x , y +Δ y , t +Δ y ) = b (x, y, t), (1.6)

где b — яркость пикселей;

Δ t — время между сравниваемыми кадрами.

Разницу в координатах (Δ xy) этих двух блоков называют вектором движения. Нахождение вектора движения, другими словами, есть определение нового положения подвижного фрагмента изображения.

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

Рисунок 1.24 — Сравнение обычной ДИКМ и ДИКМ с компенсацией движения:

а — исходная последовательность изображений; б — ошибка предсказания при обычной ДИКМ; в — предсказание с учетом вектора движения; г — ошибка предсказания с компенсацией движения

Первый кадр b 1 в этой последовательности является опорным. Как отмечалось, предсказание для него не делается (сигнал предсказания равен нулю для всего изображения), и он подвергается только внутрикадровой компрессии. Предсказанием для второго кадра b 2 является реконструируемый по алгоритму ДКП и взвешенного квантования первый кадр b 1. Ошибка предсказания для второго кадра в обычной ДИКМ равна b 2 - b 1, для третьего кадра соответственно b 3 - b 2 и т.д. Для простоты следует пренебречь небольшой разницей между истинными значениями отсчетов b 1, b 2, b 3,… и их реконструируемыми значениями b 1 ,b 2, b 3… Тогда ошибки предсказания для обычной ДИКМ будут иметь вид рисунок 1.24,6, где черный фон соответствует нулевым значениям, а серый остальному множеству отсчетов. Если бы в предложенном примере движение отсутствовало, то ошибка предсказания для второго и последующих кадров равнялась бы нулю для всего изображения. Именно такого результата для данного примера с движущимся фрагментом изображения, а не статическим удается добиться в ДИКМ с компенсацией движения.

В этом случае предсказание для первого (опорного) кадра, как и при обычной ДИКМ, равно нулю, а для второго и последующих кадров соответственно — b 1 (х + Δ х 1, у + Δ у 1), b 2 (х + Δ x 2, у + Δ y 2). Здесь Δ х 1, Δ у 1, Δ x 2, Δ y 2 и т.д. — изменение координат движущегося фрагмента (векторы движения) в последовательности кадров (рисунок 1.24,в). В результате ошибка предсказания для приведенного примера с подвижным фрагментом изображения в ДИКМ с компенсацией движения обращается в ноль для всего множества отсчетов изображения (рисунок 1.24,г), что иллюстрирует более эффективную компрессию.

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

Абсолютное равенство в (1.6) может быть достигнуто только при выполнении следующих условий: движение объекта в изображении исчерпывается только плоскопараллельным перемещением, его яркость постоянна, градиент яркости фона равен пулю, и все объекты в блоке движутся с постоянной скоростью. Именно этим условиям отвечает пример изображения, приведенный на рисунке 1.24, и соответственно предельно достижимый результат компрессии (сигнал ошибки в системе с компенсацией движения равен нулю) Нарушение перечисленных выше условий уменьшает эффективность компрессии. К возможным факторам, влияющим на эффективность кодирования, следует отнести и осложнения глобального порядка, когда превосходит резкое изменение сюжета (например, при коммутации одновременно работающих камер). При этом изменения в изображении охватывают все пространство в кадре, и блоков, соответствующих друг другу с удовлетворительной точностью, в смежных кадрах не существует. Эффективность компрессии в таких экстремальных случаях может снижаться настолько, что целесообразно отказываться от процедуры ДИКМ, и для таких изображений данные передавать только на основе внутрикадровой компрессии. Решение о замене способа кодирования должно приниматься в кодере автоматически, путем оперативного анализа возможных результатов компрессии.

Самым трудоемким при реализации алгоритма компенсации движения является согласование блоков, то есть нахождение блоков в разных кадрах, наилучшим образом соответствующих условию (1.6). Для этого текущий блок сравнивается со всеми блоками предыдущего кадра в пределах некоторой области поиска: ±128 шагов (пикселей) при точности определения вектора движения в один пиксель или ±64 шага при точности 1/2 пикселя.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: