8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 20 21 22 23 24 25 26 ... 122

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

3..2. Кодирование преобразованием 3.4.2.1. Обзор

Целью этапа преобразования при обработке видеокодеком является отображение цифровых данных полных или остаточных кадров в другую координатную область (область преобразования). Выбор такого преобразования определяется по многим критериям.

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

2.Необходимо, чтобы преобразование было обратимым.

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

Для целей сжатия изображений и видео было предложено много преобразований, но все они разделяются на две категории: преобразования на основе блоков и преобразования на основе изображений. Примерами преобразований на основе блоков являются: преобразование Кархунена Лоэвэ (KLT, Karhunen • Loeve Transform), разложение по сингулярным числам (SVD, Singular Value Decomposition) и, самое популярное, дискретное косинус-преобразование (DCT. Disrete Cosine Transform) [3]. Каждое из этих преобразование работает с N х JV-блоками сэмплов исходного или остаточного


изображения, поэтому изображение обрабатывается поблочно. Блоковые преобразования имеют низкие требования к объему памяти и хорошо подходят для сжатия остаточных изображений, полученных на основе блоковой компенсации движения, но они уязвимы от артефактов, возникающих на стыках блоков (так называемая блоч-ность). Преобразования на основе изображений работают с целым кадром (или большим куском изображения). Из таких преобразований наиболее популярным является дискретное вейвлетное преобразование (DWT, Discrete Wavelet Transform). Показано, что такие преобразования изображений, как DWT, превосходят блоковые преобразования при сжатии неподвижных и статичных изображений, однако для их работы необходим большой объем памяти (так как необходимо хранить целиком весь кадр или большую его часть), и оно плохо сочетается с компенсацией движения на основе блоков. Преобразования DCT и DWT реализованы в MPEG-4 Visual (некоторый вариант DCT также используется в Н.264). Они будут обсуждаться в следующих главах.

3.4.2.2. dct

Дискретное косинус-преобразование (DCT) оперирует с блоками X размером TV х TV, элементами которых служат сэмплы (обычно это сэмплы самого изображения или величины разностей из прогноза изображения), и порождает TV х TV-блок некоторых коэффициентов Y. Действие DCT (а также обратного к нему преобразования IDCT, Inverse DCT) можно описать с помощью матрицы преобразования А. Прямое преобразование FDCT (Forward DCT), примененное к блоку X размером TV х TV, задается следующей формулой:

где X — это матрица сэмплов, Y — матрица коэффициентов, а А — TV х TV-матрица преобразования. Элементы матрицы А равны:

Y = АХАТ,

(3.1)

а обратное преобразование DCT (IDCT)

X = ATYA,

(3.2)

Ci cos

(2j + 1)иг 2TV

, где С,

(i > 0).

(3.3)


Уравнения (3.1) и (3.2) можно переписать в виде следующих сумм:

Yxy = CxC,Y,Y,Xiiсоа

(2j + 1)уж (2: + 1)з;7т cos-—--cos

i=o j=o

N-l N-l

Xij = CxCy CxCyXx

i=0 y=0

2N

2N

{2j + 1)утг (2t + 1)з;тг eos -—r-rz-cos

2N

2N

(3.4)

(3.5)

Пример-

N = 4. Матрица преобразования А для 4x4 DCT имеет вид:

А =

cos(O)

i cos(0)

jcos(0)

: cos(0)

ficcd)yftco,)

vCTO) >Д«»№) vF-W

«/$«.(«*) vcos() 00.(4») vcos()

Функция косинус является симметричной и имеет период 2я, поэтому матрицу А можно упростить:

А =

.Дсов») /icos(f)

-v/Tc(t) -v/T(f)

yTcos(S) -«Д«(£)

A =

-6

с -b a a b -c

где

ь= Vcoe(i)

С=.Дс0б(¥)

Вычислив косинусы, получаем матрицу числовых коэффициентов

А =

0,50,5

0,6530,271

0,5-0,5

0,271-0,653

0,5 0,5

-0,271-0,653 -0,5 0,5

0,653-0,271

Конец примера

Выходом двухмерного FDCT служит матрица NxN коэффициентов, которая представляет блок сэмплов изображения в области преобразования DCT. Эти коэффициенты можно рассматривать в качестве некоторых «весов» в стандартном базисе «шаблонов» или «образцов». Стандартные шаблонные базисы для преобразования DCT блоков 4 х 4 и 8 х 8 приведены на рис. 3.27 и 2.28. Они построены с помощью комбинаций по вертикали и горизонтали значений функции cos в соответствующих точках. Любой блок изображения можно восстановить с помощью линейной комбинации N х N



0 ... 20 21 22 23 24 25 26 ... 122