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



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

Кодирование

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

Коэффициенты переменного тока расположены последовательно в зигзагообразном порядке в массиве размером 8x8 пикселей (этот зигзаг показан на рис. 11). Последовательность строится согласно номерам в массиве с расположением двумерных коэффициентов в нисходящем порядке.

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

 

Рис. 11. Зигзагообразная последовательность двумерного ДКП

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

 

Пример 3. В этом примере мы рассчитаем ДКП изображения под названием «autumn». Команды, приводимые ниже, применяются для расчета дискретного косинус-преобразования. Обратите внимание, что наибольшая энергия сигнала находится в верхнем левом углу.

 

Загрузим изображение в MATLAB, переведем его в черно-белый цвет и определим коэффициенты, с наивысшим содержанием энергии сигнала.

RGB = imread('autumn.tif');

I = rgb2gray(RGB);

J = dct2(I);

imshow(log(abs(J)),[]), colormap(jet(64)), colorbar

Рис. 12. Распределение энергии сигнала по компонентам двумерного ДКП

 

Значения J с амплитудой меньше чем 10 приравняем к нулю и, затем, восстановим изображение с помощью обратного ДКП (функция idct2).

 

J(abs(J) < 10) = 0;

K = idct2(J);

imshow(I)

figure, imshow(K,[0 255])

 

Рис. 13. Изображение восстановленное с помощью функции idct2

 

ЗАДАНИЯ ДЛЯ ВЫПОЛНЕНИЯ

 

1. Изучить теоретический материал по дискретным преобразованиям

2. С помощью БПФ и матрицы ДПФ (dftmtx(N)*X, где Х вектор сигнала, N длина вектора) найти коэффициенты ДПФ последовательности x(n). Сравните результаты.

3. Найти последовательность, которая представлена коэффициентами ДПФ X(n)

4. Найти 32-х точечное ДПФ последовательности:

5. Найти 64-х точечное преобразование последовательности писанной в пункте 4. Сравните результаты.

6. Преобразуйте сигнал (табл.1) с помощью двумерного ДКП. Замените нулями компоненты сигнала, абсолютное значение которых ниже 0,2. С помощью обратного ДКП восстановите из коэффициентов ДКП исходную последовательность. Сравните их графики с помощью SPTool. Подсказка: вам будет полезно посмотреть пример 3.

7. Преобразуйте графический bmp-файл (табл.1) с помощью ДКП. Выведите результат на экран. Восстановите файл с помощью обратного ДКП. Сожмите файл в формате JPEG (с малым качеством изображения). Сравните размеры исходного и конечного файлов. (Данное задание корректно работает в программе MatLab версии 7.0.1)

 

Требования к содержанию отчета:

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

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Определите назначения преобразования сигналов из временной области в частотную область?

2. Опишите применение дискретных преобразований.

3. Назовите разновидности преобразования Фурье, поясните области их применения.

4. Определите базисные функции преобразования Фурье.

5. Назовите основные типы ДПФ.

6. Определите назначение БПФ.

7. Определите ДКП.

8. Поясните блок-схему системы сжатия стандарта JPEG для передачи данных.

9. Для чего изображение в стандарте JPEG делится на блоки? Каков размер блоков?

10. Опишите порядок вычисления двумерного ДКП.

11. В какой части массива из коэффициентов ДКП расположены низкочастотные члены?

12. Поясните процедуры квантования и кодирования коэффициентов ДКП.

Таблица 1

Варианты исходных данных

Вар. x(n) X(n) Сигнал bmp
1 2,3,2,1,6,7,3,9 36; 3.0000 - 3.3431i; 2 + 4i; 3 +14.6569i; 4; 3 -14.6569i; 2 - 4i; 3+ 3.3431i flourish antelope
2 3,4,1,7,8,3,0,1 30; 15.3640 - 7.5355i; 5.0000 - 1.0000i; 2.6360 + 0.4645i; -4; 2.6360 - 0.4645i; 5.0000 + 1.0000i; 15.3640 + 7.5355i notifys flowers
3 3,2,6,5,9,8,9,2 19; -2.4142 + 0.2426i; 1 - 2i; 0.4142 + 8.2426i; 7; 0.4142 - 8.2426i; 1 + 2i; -2.4142 - 0.2426i onestop forest
4 1,2,7,3,9,0,0,6 40; -10.2426 - 4i; 0 -10i; -1.7574 + 4i; 0; -1.7574 - 4i; 0 +10i; -10.2426 + 4i tada leaves
5 2,6,7,4,8,9,3,1 28; -4.4645 - 6.2929i; 3 + 7i; -11.5355 + 7.7071i; 6; -11.5355 - 7.7071i; 3 - 7i; -4.4645 + 6.2929i town trees
6 3,0,5,0,4,4,1,2 44; -12.3640 + 5.1213i; -3 - 3i; 0.3640 - 0.8787i; 10; 0.3640 + 0.8787i; -3 + 3i; -12.3640 - 5.1213i balloon turtle
7 9,8,4,3,0,1,0,5 27; -8.5355 - 5.9497i; 10; 10 + i; -1.4645 - 3.9497i; -3; -1.4645 + 3.9497i; 10 - i; -8.5355 + 5.9497i exclamation waterfall
8 7,1,9,3,4,5,0,7 33; -1.1716 + 9.4853i; 3; -6.8284 + 7.4853i; -7; -6.8284 - 7.4853i; 3; -1.1716 - 9.4853i restore whale

Примечание: файлы изображениями и сигналами расположены в папке с лабораторными работами.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

 

1. Айфичер Э.С., Джервис Б.У. Цифровая обработка сигналов: практический подход [Текст]: Пер с анг. – М.: Издательский дом «Вильямс», 2004. – 992с.

2. Кестер У. Цифровая обработка сигналов [Текст]: Пер с анг. – М.: Издательский дом «Вильямс», 2002. – 850с.

 

 


Дата добавления: 2018-04-05; просмотров: 937; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!