6.2. КВАНТОВАНИЕ ВЕКТОРНЫХ ВЕЛИЧИН
Обычно
квантование совокупности отсчетов выполняется последовательно. Каждый отсчет
рассматривается как скалярная величина и квантуется независимо от остальных
отсчетов с помощью методов, описанных в предыдущем разделе. Однако часто
удается уменьшить ошибку квантования, если все отсчеты квантовать совместно.
Рассмотрим
сигнал
,
представляющий собой вектор размера
. Будем
полагать, что этот вектор является реализацией случайного вектора с
-мерной плотностью
вероятности
. (6.2.1)
При
квантовании вектора
-мерное векторное пространство
разделяют на
ячеек
квантования
каждой
из которых соответствует один из
квантованных векторов. Векторный
сигнал
заменяется
на квантованный вектор
если
попадает в ячейку
. На рис. 6.2.1
приведены примеры векторного квантования в одно-, двух- и трехмерном
пространствах. В подобной общей постановке задачи о векторном квантовании
векторный сигнал
преобразуется
в вектор
но компоненты
вектора
при
этом не обязательно будут квантоваться по отдельности по набору дискретных
пороговых уровней.
Рис. 6.2.1. Ячейки квантования в векторном
пространстве: а – одномерное пространство; б – двумерное пространство; в –
трехмерное пространство.
Среднеквадратическую
ошибку векторного квантования можно представить в виде суммы
(6.2.2)
Оптимальное
положение квантованных векторов
при фиксированных границах ячеек
квантования можно найти, приравнивая нулю частные производные ошибки
квантования по векторам
. В результате получается система
интегральных уравнений
(6.2.3)
После
преобразований находим
(6.2.4)
Равенство
(6.2.4) определяет условное математическое ожидание вектора
, когда он попадает в ячейку
:
. (6.2.5)
В
этом случае минимальная средне-квадратическая ошибка квантования равна
, (6.2.6)
где
-
корреляционная матрица вектора
. Заметим, что
при
формула (6.2.4)
сводится к (6.1.11), а выражение для ошибки квантования (6.2.6) переходит в
формулу (6.1.12).
Оптимальные
положения квантованных векторов
при
фиксированных ячейках квантования
невозможно
определить, не зная совместной плотности вероятности
. Однако часто такая
информация отсутствует. Еще одна существенная трудность связана с фактическим
вычислением интегралов в формуле (6.2.4). Поэтому часто приходится упрощать
процедуру векторного квантования. Так, можно квантовать все компоненты вектора
по отдельности, но
задавать квантованные векторы
с помощью ячеек квантования
. Тогда в
трехмерном пространстве ячейки
превращаются в
прямоугольные параллелепипеды. Если при этом компоненты вектора
некоррелированы,
то векторное квантование сводится к последовательному квантованию скалярных
величин. Однако если отсчеты коррелированы, то задача определения оптимального
вектора
как
правило, не поддается решению без введения дополнительных упрощающих
предположений. Кэри [4] получил решения применительно к совместным гауссовым
плотностям, когда ячейки квантования
, достаточно
малы. Хунс [5] исследовал рекуррентный метод решения такой задачи, когда каждая
компонента вектора определяется с помощью последовательных приближений на
основе остальных квантованных компонент вектора. Этот метод позволяет найти
решение задачи для множества различных плотностей вероятности: в части 6 он
рассмотрен как средство уменьшения ошибок квантования в системах, использующих
ИКМ и кодирование с преобразованием.
Попытаемся
теперь найти такой набор ячеек квантования
при котором
минимизируется среднеквадрэтическая ошибка квантования. Брюс [6] разработал
метод решения этой задачи, основанный на динамическом программировании. Однако
в общем случае оптимальные формы ячеек квантования сложны и определить их
весьма трудно. Поэтому в большинстве методов векторного квантования
используется субоптимальный подход, когда для каждой компоненты вектора
задается фиксированное число уровней квантовании
, где
, и все
компоненты квантуются независимо. Задача оптимизации сводится в этом случае к
выбору величин
,
произведение которых
(6.2.7)
есть
фиксированное число уровней квантования для данного вектора. Ошибка квантования
-го
отсчета равна
.
. (6.2.8)
В
системах с цифровым кодированием число уровней квантования обычно выбирают
равным двоичному числу
, (6.2.9)
где
– целое число
кодовых разрядов (бит) для
-й компоненты вектора. Общее
количество кодовых разрядов должно быть постоянно и равно
. (6.2.10)
Такой
способ квантования называется блочным.
Несколько
специалистов [7-9] разработали алгоритмы распределения числа разрядов
при
фиксированном
,
позволяющие минимизировать среднеквадратическую ошибку квантования. При
использовании алгоритма, предложенного Реди и Уинцем [9] и применяемого для
квантования независимых гауссовых величин по методу Макса, следует выполнить
следующие операции:
1.
Вычислить распределение числа разрядов по формуле
, (6.2.11)
где
- дисперсия
-го отсчета.
2.
Округлить каждое из чисел
до ближайшего
целого.
3.
Изменять полученное распределение, пока не будет выполнено условие (6.2.10)
Вывод
соотношения (6.2.11) основан на экспоненциальной аппроксимации зависимости
(6.1.12), связывающей ошибку квантования
-го отсчета и заданное ему число
разрядов
.
Если
невелико,
то эта аппроксимация оказывается довольно грубой. Более надежные результаты
можно получить, пользуясь разработанным Прэттом [10] методом минимальной
ошибки. Здесь разряды последовательно отводятся отсчетам, которые имеют
наибольшую дифференциальную ошибку (6.2.8). При квантовании величин с нулевым
средним алгоритм состоит из следующих шагов:
Шаг
1. Определение начальных условий:
- общее число
разрядов в кодовой комбинации блока,
- длина блока,
- дисперсия
компоненты,
- плотность
вероятности компоненты,
- индекс разряда
(сначала равен нулю).
Шаг
2. Вычислить и запомнить коэффициенты дифференциальной ошибки
,
где
, а сумма
определяет
коэффициент ошибки для случайных величин с единичной дисперсией, причем знаком
тильды (~) отмечены уровни квантования и пороговые уровни, относящиеся к таким
величинам.
Шаг
3. Отвести один разряд той компоненте, для которой произведение
имеет
наибольшую величину; увеличить на единицу
и
.
Шаг
4. Если
, закончить
процедуру; в противном случае повторить шаг 3.
Коэффициенты
дифференциальной ошибки
, необходимые
для данного алгоритма, можно вычислить заранее и хранить в виде таблицы из
чисел. В этом
случае алгоритм сводится к
последовательным операциям
распределения разрядов. Достоинства алгоритма состоят в том, что здесь не
требуется громоздких вычислений, а также отсутствуют ошибки аппроксимации и
округления, характерные для алгоритма с вычислением логарифмов дисперсий. Кроме
того, метод минимальной ошибки опирается на модель плотности вероятности и
поэтому его можно эффективно применять для распределения разрядов при
неодинаковых плотностях вероятностей отсчетов.