Раздел: Документация
0 ... 23 24 25 26 27 28 29 ... 122 тельно к низкочастотной составляющей двухмерного сигнала (это всегда верхний левый квадрант). Результатом ее применения служит дерево субполосных изображений. На рис. 3.34 приведено это дерево после второй стадии разложения, а на рис. 3.35 — после пятой итерации. Большинство сэмплов (коэффициентов) высокочастотных составляющих близки к нулю (почти черный цвет), и эффект сжатия можно получать, удалив эти малозначащие коэффициенты и передав оставшиеся декодеру. Декодер, в свою очередь, восстанавливает изображения, сэмплируя, фильтруя и складывая данные в обратную сторону (т.е. обращая операции рис. 3.32). 3.4-3. Квантование Квантователь отображает числовой сигнал с областью значений X в квантованный сигнал области У с уменьшенным числом значений. Это дает возможность представить квантованные величины с меньшим числом бит по сравнению с исходными неквантованными величинами. Скалярный квантователь отображает один входной сэмпл в одно квантованное значение на выходе, а векторный квантователь отображает группу сэмплов на входе (вектор) в группу квантованных величин. 3-4-3.1. Скалярный квантователь Простейшим примером скалярного квантователя может служить метод округления дробного числа до ближайшего целого, т.е. отображение из R в Z. Это процесс с частичной потерей информации (он необратим), так как невозможно установить точное значение исходного дробного числа по округленному целому числу. Более общий метод равномерно квантования можно представить в виде формулы: где QP - это шаг квантования. Уровни квантованных выходов расположены на одинаковых расстояниях QP друг от друга (это проиллюстрировано в следующем примере). Пример- Квантованные величины У для сэмплов Л" вычисляются по формуле: Y =QP round (Л/gP). (3.6) Y = FQ QP,
Конец примера Рис. 3.36. Скалярные квантователи: линейный и нелинейный с нулевой мертвой зоной. Рисунок 3.36 дает два примера скалярных квантователей: линейный квантователь (с линейным отображением входных значений в выходные) и нелинейный квантователь, в котором имеется «мертвая зона* вокруг нуля (здесь малые входные числа отображаются в нуль). В кодеке видеосжатия операция квантования состоит из двух ча- стей: прямой квантователь FQ (Forward Quantiser) кодера и «обратный квантователь» IQ (Inverse Quantiser) декодера (на самом деле, квантование необратимо, поэтому правильнее говорить о «масштабировании» и «обратном масштабировании»). Критическим параметром служит размер шага квантования, т.е. расстояние между последовательными уровнями квантования. Если шаг квантования велик, то область значений квантования мала и ее можно эффективно представить (сильно сжать) при передаче, однако декванто-ванные величины будут грубыми приближениями исходных сигналов. Если шаг квантования мал, то деквантованные сигналы будут больше походить на исходные, но при этом потребуется больший размер области для квантованных величин, что понизит эффективность сжатия. Квантование можно использовать для понижения точности изображения после применения кодирующего преобразования, например DCT или вейвлетного преобразования. Тем самым будет удалена часть незначимых величин и коэффициентов, близких к нулю. Прямой квантователь изображения или видео разработан так, что он обнуляет несущественные значения коэффициентов, оставляя малое; число существенных ненулевых коэффициентов. Типичным выходом прямого квантователя служит «разреженный» массив квантованных коэффициентов, в котором содержится много нулей. 3.4.3.2. Векторное квантование Векторный квантователь отображает множество входных данных (например, блок сэмплов) в один элемент (кодовое слово), а декодер каждому кодовому слову сопоставляет некоторое приближение к исходному множеству данных (вектору). Множество векторов хранится кодером и декодером в специальной кодовой книге. Типичная схема применения векторного квантования при сжатии изображений [5] состоит в следующем. 1.Разделить исходное изображения на области (например, блоки пикселов размером М х N). 2.Выбрать в кодовой книге вектор, максимально близкий к текущей области. 3.Переслать декодеру индекс, идентифицирующий выбранный во ктор. 4.На стороне декодера реконструировать приближенную копию области, используя выбранный вектор. 0 ... 23 24 25 26 27 28 29 ... 122
|