Главная > Цифровая связь
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

3.4.3. Векторное квантование

В предыдущих разделах мы рассмотрели квантование выходного сигнала непрерывного источника для случая, когда квантование выполняется последовательно по отдельным отсчётам, т.е. скалярное квантование. В этом разделе мы рассмотрим совместное квантование блока символьных отсчётов или блока сигнальных параметров. Этот вид квантования называется блоковым или векторным квантованием. Оно широко используется при кодировании речи в цифровых сотовых системах связи.

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

Проблему векторного квантования можно сформулировать так. Имеем -мерный вектор  с  вещественными, непрерывными амплитудами компонент , которые описываются СФПВ . Путём квантования вектор  превращается в другой -мерный вектор  с компонентами . Выразим операции квантования оператором , так что

,                                                                (3.4.31)

где  - выход квантователя, когда на вход поступает вектор .

В принципе векторное квантование блоков данных можно рассматривать как проблему распознавания образов, включающую в себя классификацию блоков данных через дискретное количество категорий или ячеек в соответствии с некоторым критерием точности, таким, например, как среднеквадратическая погрешность. Для примера рассмотрим квантование двумерных векторов . Двумерное пространство разделяют на ячейки, как показано на рис. 3.4.3, где мы имеем произвольно выбранные шестиугольные ячейки . Все входные векторы, которые попадают в ячейку , квантуются в вектор , который на рис. 3.4.3 отмечен как центр шестиугольника. В нашем примере иллюстрируются  векторов, один для каждой из 37 ячеек, на которые разбито двумерное пространство. Обозначим ряд возможных выходных векторов как .

Рис. 3.4.3. Пример квантания в двухмерном пространстве

В общем, квантование -мерного вектора  в -мерный вектор  ведёт к ошибке квантования или искажению . Среднее искажение по ряду входных векторов  равно

,         (3.4.32)

где  - вероятность того, что вектор  попадёт в ячейку , а  - СФПВ  случайных величин. Как и в случае скалярного квантования, мы можем минимизировать  путём выбора ячеек  при заданной ФПВ . Обычно используемая мера искажений - среднеквадратическая ошибка ( - норма) определяется как

              (3.4.33)

или, в более общем виде, взвешенная среднеквадратическая ошибка

,                                      (3.4.34)

где  - положительно определённая взвешивающая матрица. Обычно мера  выбирается как обратная по отношению к матрице ковариаций входных данных .

Другая мера искажений, которая иногда используется, является частным случаем  нормы и определяется как

.                                                  (3.4.35)

Частный случай, когда , часто используется как альтернатива случаю .

Векторное квантование не ограничивается квантованием блока сигнальных отсчётов источника сигнала. Его можно использовать для квантования ряда параметров, извлечённых из данных. Например, при линейном кодировании с предсказанием (ЛКП), описанном в разделе 3.5.3, параметры, извлечённые из сигнала, являются коэффициентами предсказания, которые являются коэффициентами для всеполюсной фильтровой модели источника, который генерирует наблюдаемые данные. Эти параметры можно рассматривать как блок и квантовать как блок символов, используя некоторую подходящую меру искажений. В случае кодирования речи подходящей мерой искажений, которую предложили Итакура и Саити (1986, 1975), является взвешенная среднеквадратическая ошибка, где взвешивающая матрица  выбрана как нормированная матрица автоковариации  наблюдаемых данных.

При кодировании речи альтернативным рядом параметров, которые могут быть квантованы как блок и переданы к приёмнику, могут быть коэффициенты отражения (см. ниже) .

Еще один ряд параметров, которые иногда используются для векторного квантования при линейном кодировании с предсказанием речи, содержит логарифмические отношения , которые выражаются через коэффициенты отражения

, .                                        (3.4.36)

Теперь вернемся к математической формулировке векторного квантования и рассмотрим разбиение -мерного пространства на  ячеек  с точки зрения минимизации среднего искажения по всем -уровневым квантователям. Имеется два условия для минимизации. Первое заключается в том, что оптимальный квантователь использует селекцию по правилу ближайшего соседа, которое можно выразить математически как

,

если, и только если

, .               (3.4.37)

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

.        (3.4.38)

Вектор , который минимизирует , назван центроидом ячейки.

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

В качестве верхней границы искажений векторного квантования мы можем использовать величину искажений оптимального скалярного квантователя, и эту границу можно применить для каждой компоненты вектора, как было описано в предыдущем разделе. С другой стороны, наилучшие характеристики, которые могут быть достигнуты оптимальным векторным квантователем, определяются функцией скорость-искажение или, что эквивалентно, функцией искажение-скорость. Функция искажение-скорость, которая была введена в предыдущем разделе, может быть определена в контексте векторного квантования следующим образом. Предположим, мы формируем вектор  размерности  из  последовательных отсчётов . Вектор  квантуется в форму , где  - образованный рядом . Как было описано выше, среднее искажение , получаемое при представлении  через , равно , где  - это искажение на одно измерение. Например,

.

Минимально достижимая средняя битовая скорость, с которой могут быть переданы векторы , равна

 бит/отсчет,                                            (3.4.39)

где  - энтропия квантованного выхода источника, определяемая как

.                               (3.4.40)

Для данной средней скорости  минимально достижимое искажение

,                                      (3.4.41)

где  и минимум в (3.4.41) берётся по всем возможным отображениям . В пределе, когда размерность  стремится к бесконечности, получаем

,                                                   (3.4.42)

где  - это функция искажение-скорость, которая была введена в предыдущем разделе. Из этого изложения очевидно, что функция искажение-скорость может быть как угодно приближена к пределу путём увеличения размерности  векторов.

Изложенный выше подход приемлем в предположении, что СФПВ  вектора данных известна. Однако на практике СФПВ  данных может быть неизвестна. В этом случае, возможно адаптивно выбрать квантованные выходные векторы с использованием ряда обучающих векторов . Конкретнее, предположим, что мы имеем ряд из  векторов, причём  намного больше, чем  . Итеративный групповой алгоритм, названный алгоритмом  средних, где в нашем случае , может быть применён к обучающим векторам. Этот алгоритм итеративно делит  обучающих векторов на  групп так, что два необходимых условия оптимальности выполняются. Алгоритм  средних может быть описан так, как дано ниже [Макхоул и др. (1985)].

 

Алгоритм K средних

 

Шаг 1. Инициализируется начальный номер итерации . Выбирается ряд выходных векторов , .

Шаг 2. Обучающие векторы  классифицируются в группы  посредством правила ближайшего соседа:

 если  для всех .

Шаг 3. Пересчитываются (для -го шага) выходные векторы каждой группы путём вычисления центроида

,        ,

для обучающих векторов, которые попадают в каждую группу.

Кроме того, рассчитывается результирующее искажение  на -й итерации.

Шаг 4. Заканчивается тестирование, если  относительно мало. В противном случае следует идти к шагу 2.

Алгоритм  средних приводит к локальному минимуму (см. Андерберг, 1973; Линде и др., 1980). Начиная этот алгоритм различными рядами начальных выходных векторов  и каждый раз выполняя оптимизацию, описанную алгоритмом  средних, можно найти глобальный оптимум. Однако вычислительные затраты этой поисковой процедуры могут ограничить поиск немногими инициализациями.

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

                                                                       (3.4.43)

умножений и сложений на входной вектор.

Если мы выбрали  как степень 2, то  определяет число бит, требуемых для представления каждого вектора. Теперь, если  обозначает битовую скорость на отсчёт [на компоненту или на измерение ], имеем  и, следовательно, вычислительные затраты

.                                                                  (3.4.44)

Заметим, что число вычислений растёт экспоненциально с параметром размерности п и битовой скорости  на измерение. Вследствие этого экспоненциального роста вычислительных затрат векторное квантование применяется в низкобитовых кодерах источника, таких как кодирование коэффициентов отражения или логарифмических отношений в линейном кодировании речи с предсказанием.

Вычислительные затраты, связанные с полным поиском, можно уменьшить при помощи изящного субоптимального алгоритма (см. Чанг и др., 1984; Гершо, 1982).

Чтобы продемонстрировать пользу векторного квантования по сравнению со скалярным квантованием, мы представим следующий пример, взятый у Макхоула и др. (1985).

Пример 3.4.1. Пусть  и  являются двумя случайными величинами с равномерной СФПВ:

                         (3.4.45)

где  - прямоугольная область, показанная на рис. 3.4.4. Заметим, что прямоугольник повёрнут на 45º относительно горизонтальной оси. На рис. 3.4.4 показаны также собственные плотности вероятности  и .

Рис. 3.4.4. Равномерная ФПВ в двух измерениях (Макхоул и др., 1985)

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

.                                             (3.4.46)

Следовательно, для кодирования вектора  потребуется число бит

,                              

.                                        (3.4.47)

Таким образом, скалярное квантование каждой компоненты эквивалентно векторному квантованию с общим числом уровней

.                                    (3.4.48)

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

Если же мы покроем только область, где , квадратиками, имеющими площадь , то общее число уровней, которые образуются, определяется площадью прямоугольника, делённой на , т.е.

.                                                        (3.4.49)

Следовательно, разница в битовой скорости при скалярном и векторном методах квантования равна

.                                (3.4.50)

Для случая, когда , разница в битовой скорости

 бит/вектор.

Следовательно, векторное квантование на 0,82 бит/отсчёт лучше, чем скалярное, при тех же искажениях.

Интересно заметить, что линейное преобразование (поворот на 45º) декоррелирует  и  и делает две случайные величины статистически независимыми. Тогда скалярное квантование и векторное квантование достигают одинаковой эффективности. Хотя линейное преобразование может декоррелировать вектор случайных величин, оно не приводит к статистически независимым случайным величинам в общем случае. Следовательно, Векторное квантование будет всегда равняться или превосходить по характеристикам скалярный квантователь (см. задачу 3.40).

Векторное квантование применяется при различных методах кодирования речи, включая сигнальные методы и методы базовых моделей, которые рассматриваются в разд. 3.5. В методах, основанных на базовых моделях, таких как линейное кодирование с предсказанием, векторное квантование делает возможным кодирование речи на скоростях ниже 1000 бит/с (см. Бузо и др., 1980; Роукос и др., 1982; Пауль, 1983). Если использовать методы кодирования сигналов, возможно получить хорошее качество речи на скоростях передачи 16 000 бит/с, что эквивалентно скорости кодирования  бит/отсчёт. За счёт дополнительных вычислительных усложнений в будущем станет возможным использовать сигнальные кодеры, обеспечивающие хорошее качество речи при скорости кодирования  бит/отсчёт.

 

Categories

1
Оглавление
email@scask.ru