Достоинства и недостатки

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

2. Относительное качество изображений, сжатых с использованием DWT, превосходит качество изображений, сжатых при помощи ДКП, при тех же коэффициентах сжатия.

3. DWT несколько размазывает, закругляет острые контуры изображения. Так называемый контурный шум или эффект Гиббса.

Обзор

DWT-алгоритм основан на передаче сигнала, например изображения, через пару фильтров: низкочастотный и высокочастотный. Низкочастотный фильтр выдает грубую форму исходного сигнала. Высокочастотный фильтр выдает сигнал разности или дополнительной детализации.

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

Простым примером DWT является DWT Хара:

Входной сигнал x[n] есть множество выборок с индексом n. Низкочастотный фильтр Хара (Haar Low Pass Filter) есть арифметическое среднее двух удачных выборок:

g[n] = 1/2 * ( x[n] + x[n+1] )

Высокочастотный фильтр Хара (Haar High Pass Filter) есть средняя разность двух удачных выборок:

h[n] = 1/2 * ( x[n+1] - x[n] )

Заметьте, что:

x[n] = g[n] - h[n] x[n+1] = g[n] + h[n]

Выходные последовательности g[n] и h[n] содержат избыточную информацию. Таким образом, ясно, что для воспроизведения исходного сигнала x[n] достаточно взять только четные или только нечетные его выборки. Как правило, берутся четные выборки. Таким образом, исходный сигнал x[n] получается только из: g[0], g[2], g[4], .... h[0], h[2], h[4], .....

x[0] = g[0] - h[0]

x[1] = g[0] + h[0] x[2] = g[2] - h[2] x[3] = g[2] + h[2] и так далее...

Выход низкочастотного фильтра представляет собой грубую аналогию исходного сигнала. Если исходным сигналом является изображение, то на выходе низкочастотного фильтра получится расплывчатое, размытое изображение с низким разрешением. Выход высокочастотного сигнала добавляет детали к изображению. В сочетании с выходом низкочастотного фильтра может быть воспроизведено, таким образом, исходное изображение. Грубая форма исходного сигнала (сигнал на выходе низкочастотного фильтра) иногда называют основным уровнем (base layer), а дополнительный сигнал детализации - уровнем улучшения (enhancement layer). Сигнал на выходе высокочастотного фильтра h[n] может быть пропущен снова через пару фильтров, и процесс, таким образом, может быть повторен, пока не будет достигнута достаточная степень детализации исходного сигнала x[n]. Однако ясно, что никакого сжатия здесь не достигается. Преобразование попросту воспроизводит то же количество битов, которое было в исходном сигнале. Выходные значения называются коэффициентами преобразования, или коэффициентами wavelet-преобразования.

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

Допустим, что в приведенном выше примере входной сигнал x[n] представляет собой последовательность 8-битных выборок растра полутонового изображения. Для выхода низкочастотного фильтра g[n] теперь можно использовать те же 8 бит, а для высокочастотного h[n] — уже меньше, например 4. Это, по сути, скалярная квантизация. Далее выход высокочастотного фильтра будет стремиться к нулю, так как коэффициенты преобразования будут убывать по мере применения алгоритма. Таким образом, возможно применить вероятностное кодирование к сигналу детализации h[n].

На самом деле для большинства реальных изображений сигнал g[n] на выходе низкочастотного фильтра будет похож на предыдущие g[n-1] выборок за исключением граней контуров. g[n] будет стремиться, таким образом, к g[n-1], вследствие того, что реальные объекты имеют относительно постоянный коэффициент отражения поверхностей.

Разница кадров

Компрессорами, использующими технологию разницы кадров, являются: Cinepak

Достоинства и недостатки

1. В целом может обеспечивать сжатие, лучшее, чем независимое сжатие отдельных кадров.

2. Возникающие в ходе кодирования ошибки накапливаясь, требуют наличия дополнительного ключевого кадра.

Обзор

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

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

Компрессорами, использующими технологию компенсации движения, являются: MPEG-1,2 и 4.

Достоинства и недостатки

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

2. Кодирование весьма трудоемко и требует специальной аппаратуры.

3. Технология компенсации движения используется в таких международных стандартах сжатия цифрового видео, как: MPEG, H.261 и H.263.

4. Наибольшее сжатие достигается в сценах с пониженным движением.

Обзор

Компенсация движения основана на использовании ряда сложных алгоритмов. Сфера, где данная технология сжатия эффективна, как правило, сводится к видеоряду, в котором объект изменяет свое местоположение относительно неподвижного фона. Объекты, изменяющиеся по форме, приближающиеся или удаляющиеся (движущаяся камера), не подлежат эффективному сжатию посредством алгоритма компенсации движения. Сжатие возможно заданием вектора смешения элементов изображения вместо хранения больших значений новых координат данных элементов изображения. Основным блоком (относительно которого задается вектор смещения остальных блоков) может являться любой блок изображения размером 16x16 пикселов, максимально похожий на кодируемый (предсказываемый) блок. Ясно, что кадр, на который ссылаются таким образом другие кадры, должен быть декодирован ранее. Однако совсем не обязательно, чтобы опорный кадр предшествовал предсказываемому кадру. MPEG позволяет производить предсказание в обоих направлениях путем введения так называемых B- (bi-directionally predicted) кадров.