-►
Проблемы передачи и обработки информации
Максимов М.И., Сидорова H.A.
Принципы работы и практическая реализация речевого
кодека на основе метода линейного предсказания с возбуждением от кода
В настоящее время широкое распространение получили системы связи с кодовым разделением каналов, базовым элементом которых являются речевые кодеры, работающие на низких скоростях [1-5 и др.]. Одним из распространенных стандартов данных систем является Американский стандарт IS-95 [4], разработанный фирмой Qualcomm. IS-95 обеспечивает высокое качество кодирования речевых сигналов, используя стандарты IS-96-A [6] и IS-733 [7]. В этой связи одной из актуальных, является задача разработки и практической реализации алгоритмов работы вокодеров, совместимых с данными стандартами. Ниже на основе стандартов IS-96-A и IS-733 рассмотрены принципы построения, функциональные блоки и аппаратная реализация на цифровом сигнальном процессоре (ЦСП) вокодера, использующего линейное предсказание с возбуждением от кода (QCELP-вокодера). Приведены количественные характеристики качества его функционирования.
QCELP-вокодер состоит из двух независимых функциональных узлов: кодирования речевых выборок и декодирования параметров сигнала. Кодирование речевых выборок, т.е. определение параметров входного речевого сообщения. выполняется с помощью методов линейного предсказания [1] и процедуры анализа через синтез (Analysis by Synthesis) [5]. Для этого узел кодирования содержит три блока: блок линейного предсказания, блок анализа речевого сигнала и блок синтеза сигнала. Структурные схемы двух последних блоков представлены на рис. 1 и рис. 2 соответственно. Узел декодирования синтезирует речевой сигнал из принятых параметров сигнала. Структурная схема узла декодирования показана на рис. 3.
Рассмотрим алгоритм работы узла кодирования QCELP-вокодера. Поступающее на вход вокодера речевое сообщение х(п) в
стандартном И КМ формате 13 бит с частотой дискретизации F^ = 8000 Гц подается в блок-сегментации. Сегментация выполняется путем деления выборок на неперекрывающиеся кадры (фреймы) длительностью 20 мс (160 выборок). Сегментированные фреймы подаются на блок удаления постоянной составляющей сигнала и блок задержки сигнала на 60 отсчетов (рис. 1).
Для компенсации смещения по постоянной составляющей входного сигнала исследовались два метода. В первом случае сигнал х(п) подавался на низкочастотный фильтр с характеристикой
У(г) = 0,75Г(г-|) + 0,25А'(г).
Оценка величины постоянной составляющей (DC) текущего фрейма определялась с помощью деления суммы всех 160 отсчетов профильтрованного сигнала у(п) на 160. Компенсация постоянной составляющей на текущем фрейме осуществлялась путем вычитания из сигнала х(п) полученной таким образом оценки величины DC.
Во втором случае, который оказался более предпочтительным, входной сигнал х(п) подавался на низкочастотный фильтр с характеристикой Г(г) = 0.94615[ДГ(Х) - 2Х(г1) + Дг1)] + + 1.88 У(:1)- 0,8836 У(г2).
При этом постоянная составляющая сразу устранялась более чем на 80 дБ.
Для минимизации нежелательных "концевых" эффектов [1.8] сегментированный речевой сигнал без постоянной составляющей поступает на блок предыскажения. Предыскажения осуществляются путем умножения сигнала текущего фрейма на оконную функцию (или окно), в качестве которой выбрано окно Хемминга:
х(п) = х(я) h(n), п = 0, 1, ..., 159, где h(n) = 0.54 - 0.46cos(2rc/?/l 59).
Алгоритм вычисления коэффициентов краткосрочного предсказания использует ав-
токорреляционный метод [1, 8]. Для каждого фрейма вычисляются значения автокорреляционной функции:
159-*
Д(А)= I *(/)*(/-*>
к= 0
где А= 0. 1, ..., 10 для стандарта 15-96-А и к = = 0, 1, ..., 16 для стандарта 15-733. Далее с использованием алгоритма Дарбина из 11 значений Я(к) вычисляются 10 коэффициентов краткосрочного или линейного предсказания
(КЛП) аг / = 0, 1, ..., 10. которые являются коэффициентами фильтра кратковременного предиктора (синтезирующего фильтра) с системной функцией #(г) вида [1]:
10
Н(-) = 1 1А(г), /1(0= 1-2>,г"'- (1)
/=1
При разработке системы, работающей на небольшой скорости передачи данных, одним из самых крит ичных факторов является квантование и кодирование параметров. Как известно
х(п)
Сегментация
Блок предварительной обработки
Удаление постоянной составляющей
Предыскажения речевого сигнала
Задержка
Блок определения и кодирования спектральных пар
Алгоритм Дарбина Автокорреляция
Спектральные пары — Кодирование спектральных пар
Вычисление коэффициентов краткосрочного предсказания
Сепарация спектральных пар
Декодирование спектральных пар
Интерполяция спектральных пар
Получение интерполированных коэффициентов краткосрочного предсказания
Из памяти филмра синтезатора 1/Р(г)
Долгосрочное предсказание
13_
40
Адаптивная кодовая киша
1/А(г-Л) (нулевое состояние)
К)2
Минимизация квадрата ошибки
1 г ь'&в*
Поиск кода возбуждения
Ь &В
1/Р(/.) - ► 1/А(г) Мг)
Стохастическая кодовая книга
(нулевое состояние)
102
Минимизация квадрата ошибки
Дзя всех О
т;
&с.
Рис. 1
Ь&В
з(п-60) „ +
Рис. 2
[5-7 и др.], КЛП обладают широким динамическим диапазоном. В этой связи непосредственное квантование КЛП достаточно сильно сказывается на изменении амплитудно-частотной характеристики (АЧХ) синтезирующего фильтра и его устойчивости. Для устранения этой нестабильности вместо КЛП предлагается использовать так называемые линейные спектральные пары (ЛСП) [2. 3], которые связаны с КЛП взаимнооднозначным преобразованием и являются более устойчивыми к нежелательным эффектам квантования и ошибкам в канале. С этой целью формируются два полинома:
Р4(:) = Л(:) + г-"А(г-1) = 1 +
-10 + „-11 1 — ч
(2)
<2Р) = = 1 + + ... +
+ (3)
где А (:) определяется из (1), р1 = -а- а, ц1 = -а. + аП1, 1 < /' < 10. Далее для случая г = ехр^'со//^) находятся корни со., = 1, 3, 5, 7. 9 полинома Рл(=) и корни со . 1 = 2,4,6.8, 10 полинома <2Л(:). Частоты со2/,, / = 1.5 образуют ЛСП. между которыми выполняются соотношения [6, 7]:
0 < со, < к, со < со,+|. (4)
Отметим особенности стандарта 15-96-А [6]. Вследствие свойства упорядоченности спектральных пар частотные разности имеют гораздо меньший диапазон по сравнению с самими ЛСП. Это позволяет квантовать разности со(>, - со, всего 4 битами. Квантованные разности подаются в блок декодирования спектральных пар. Ошибки квантования и передачи через радиотракт кодированных спектральных пар могут привести к неустойчивости синтезирующего фильтра. Для устранения этого эффекта применяется процедура сепарации ЛСП [2,6], которая разносит спектральные пары друг от друга на расстояние не менее 80 Гц.
Частотная характеристика речи плавно меняется в течение фрейма [2]. Поэтому для
уменьшения скачкообразности изменения значений спектральных пар фрейм речевого сигнала делится на 4 субфрейма, после чего для каждого субфрейма вычисляются соответствующие ему спектральные пары с помощью процедуры интерполяции: соШ =0,15(о, . + 0,25со,
I1 ' ' ((прслыд) Ятекуш)
для 1-го субфрейма;
со, {2} = 0,5со.(прсдыд) + 0,5 (гаущ(
для 2-го субфрейма;
со {3} = 0.25со., ,+ 0.75со,
I' ' |<препыл) * ктскуш)
для 3-го субфрейма;
со,{1} = 0со|(текущ) для 4-го субфрейма.
Здесь со, , и со -соответственно ЛСП
Апрсдьш) Ктскуш)
предыдущего и текущего фреймов. Интерполированные спектральные пары преобразуются в интерполированные КЛП с помощью процедуры, обратной процедуре нахождения корней уравнений (1), (2) [6].
При реализации стандарта 15-733 применяются следующие вычислительные операции [7]. Первоначально рассчитывается чувствительность спектральных пар / = 1, 10. Затем с
помощью полученных значений 5IV. и пяти таблиц закодированных разностей последовательных ЛСП по критерию минимума ошибки между вычисленными и кодированными ЛСП определяется наилучший вектор, соответствующий полученным спектральным парам. Вектор вычисляется путем перебора всех элементов таблиц и нахождения наилучших позиционных значений, после чего кодируется 32 битами. В блоке синтеза кодирующего узла по 32 битам находятся ЛСП и далее производятся процедуры. аналогичные определяемым стандартом 15-96- А.
Входной сигнал х(п), прошедший блок задержки, поступает в блок долгосрочного предсказания, где для каждого субфрейма определяются параметры основного тона: период основного тона Ь и коэффициент усиления В.
Определение этих параметров происходит с помощью поиска в адаптивной кодовой книге, заполнение которой происходит с выхода фильтра долговременного предиктора в синтезаторе речевого сигнала (рис. 3). Длина книги составляет 168 элементов. Поиск проводится для всех целых ¿от 17 до 143 и В от 0 до 2 через 0,25 для стандарта 15-96-А и всех от 17 до 143 через 0,5 и В от 0 до 2 через 0,25 для стандарта 15-733. Интерполяция значений р(Ь) адаптивной кодовой книги для дробных Ь может производиться, например, с помощью интерполяционного фильтра [7]: з
/>(/.)= £ Иатт+ 0,5)р(Ь+1 + 0,5),
/=-4
Натт&\п(х)=
5т(7сх)
0,5+0,4созГ^р
»40=
¿ш
1=1
10
(5)
/=1
¿и В находится энергия разностного сигнала, минимальное значение которой определяет оптимальные величины и В*. Полученные для текущего субфрейма оценки периода основного тона /,* и коэффициента усиления В* используются для определения характеристики фильтра долговременного предиктора
1
1
Р(г) 1 -Вг-1'
Сорок последовательных значений кодовой книги, взятых с задержкой Ь и умноженных на коэффициент усиления В. проходят через фильтр с характеристикой А(:И}), где £ = 0.8, и вычитаются из сорока значений текущего субфрейма, пропущенных через персептуаль-ный взвешивающий фильтр с характеристикой
ю
1-2Ж'
Персептуальный взвешивающий фильтр применяется для уменьшения эффектов квантования и улучшения восприятия синтезированной речи [2. 6. 7]. Далее для всех значений
входным сигналом которого являются соответствующие значения адаптивной кодовой книги. С выхода долговременного предиктора сигнал поступает в фильтр кратковременного предиктора с характеристикой 1/Л(г)(1). Восстановленный сигнал вычитается из значений сигнала текущего субфрейма. Полученный разностный сигнал проходит через персептуальный взвешивающий фильтр И^г) (5). образуя остаточный сигнал.
Далее текущий субфрейм входного сигнала х(п) делится на два (при использовании стандарта 15-96-А) или четыре (при использовании стандарта 15-733) подсубфрейма и поступает в блок поиска кода возбуждения, где для каждого подсубфрейма определяются параметры кода возбуждения, индекс стохастической кодовой книги I и коэффициент усиления С [6. 7].
Определение параметров кода возбуждения происходит с помощью поиска в циклической кодовой книге. Длина книги составляет 128 элементов. Поиск проводится для всех значений I от 0 до 127 и значений С от -6 дБ до 66 дБ. Кодирование коэффициента усиления С проводится с помощью трех бит в дифференциальном
Таблица 1
Распределение информационных бит внутри речевого фрейма по стандарту 18-96-Л
Десять кодированных спектральных пар Четыре периода основного тона /. Четыре коэффициента усиления В Восемь индексов кодового возбуждения / Восемь коэффициентов усиления С
40 28 12 56 24
Таблица 2
Распределение информационных бит вну три речевою фрейма по стандарту 18-733
Десять кодированных спектральных пар Четыре периода основного тона Ь Четыре коэффициента усиления В Шестнадцать индексов кодового возбуждения I Восемь коэффициентов усиления С
32 32 12 164 24
предсказывающем кодере. Первые два бита определяют изменение величины С текущего подсубфрейма от величины в предыдущего под-субфрейма на -4 дБ. О дБ, 4 дБ и 8 дБ. а третий бит определяет знак коэффициента усиления.
Двадцать последовательных значений кодовой книги, взятых с задержкой / и умноженных на коэффициент С. проходят через фильтр с характеристикой А(:1£,) (1) при £ = 0.8 и вычитаются из двадцати (десяти) значений остаточного сигнала. Для всех значений / и С находится энергия разностного сигнала, минимальное значение которой соответствует оптимальным значениям Ь* и (7*.
Распределение информационных бит одного кодированного речевого фрейма СЕЬР-вокодера по стандартам 15-96-А и 15-733 представлено соответственно в таблицах 1 и 2.
Таким образом, вокодер преобразует речевой фрейм в пакет из 160 бит кодированной информации при использовании стандарта 15-96-А или в пакет из 264 бит при использовании стандарта 15-733. Соответственно выходная скорость речевого кодера составляет 8000 бит/с (для стандарта 15-96-А) или 13200 бит/с (для стандарта 15-733).
Синтез сигнала выполняется с использованием оптимальных параметров, полученных в кодере. Структурная схема синтеза сигнала представлена на рис. 3. Большая часть функциональных блоков декодера совпадает с блоками, описанными в кодере. Новыми функциональными блоками являются постфильтр и блок контроля усиления (рис. 3).
Адаптивный постфильтр используется для повышения качества синтезированной речи и обладает следующей характеристикой:
где A(z) определяется из (3), р = 0,5, s = 0,8. а ад = (1-уг-')/(1+Y--1). (6)
Параметр у в (6) представляет собой функцию от среднего значения М(со.) десяти интерполированных линейных пар и может быть рассчитан как [6.7]
0.25, M (со, )<0.24;
у = < -25[Л/(со, )-0.25] , 0,24< Л/(со, )< 0,26 ; -0,25, Л/(со, 0,26 .
Распределение вычислительных затрат реализации вокодера по стандартам IS-96-A и IS-733 на ЦСП с фиксированной точкой TMS320VC5410A представлено в таблицах 3 и 4 соответственно.
Аппаратная реализация вокодера при использовании какого-либо из рассматриваемых стандартов показана на рис. 4.
Оценка качества синтезированной речи проводилась по отношению сигнал/шум (ОСШ) для синтезированного сигнала. С этой целью входное речевое сообщение делилось на N сегментов (N варьировалось от 200 до 2000). Длина каждого сегмента принималась равной длине субфрейма (40 выборок). Среднее ОСШ вычислялось по следующей формуле:
Рис. 3
Таблица 3
Распределение вычислительных затрат воколера. синтезированного но стандарту IS-96-A
Функциональный блок Максимальное количество требуемых циклов процессора, MIPS Среднее количество требуемых циклов процессора, MIPS Необходимая память
программ, килослов данных, килослов
Кодер QCE LP-вокодера 29 25 3100 4300
Декодер QCELP-вокодера 3 3 800 500
Суммарные затраты 32 28 3900 4800
Таблица 4
Распределение вычислительных затрат вокодера, синтезированною но стандарту IS-733
Функциональный блок Максимальное количество требуемых циклов процессора, MIPS Среднее количество требуемых циклов процессора, MIPS Необходимая память
программ, килослов данных, килослов
Кодер QCELP-вокодера 35 30 4700 6500
Декодер QCELP-вокодера 4 4 1200 800
Суммарные затраты 39 34 5900 7200
ЦСП 320VC5410A
Управляющий процессор
Рис. 4
ОСШ [¿Б]=
I N-1
¿Xioig
/V (=0
19 п=0
ХОДлН,»/
л=0
где N - длина речевого сообщения в субфреймах, 5.(и) - выборки входного речевого сигнала. § («)- выборки синтезированного речевого сиг-
нала. Измерения проводились на 100 записанных речевых файлах (55 мужских и 45 женских голосов). Все полученные значения ОСШ при этом находились в диапазоне 15-25 дБ (для вокодера, синтезированного по стандарту 15-96-А), что характеризует качество синтезированной речи как близкое к коммерческому, и 20-30 дБ (для вокодера, синтезированного по стандарту 15-733), что характеризует качество синтезированной речи как коммерческое [9].
Таким образом, рассмотренные вокодеры, использующие линейное предсказание с возбуждением от кода и совместимые со стандартами 15-96-А и 15-733, могут быть
рекомендованы к применению в системах связи общего и специального назначения, обеспечивающих пропускную способность 8000-13200 бит/с.
СПИСОК ЛИТЕРАТУРЫ
1 Рабинер Л.Р., Шафер Р.В. Цифровая обработка речевых сигналов: Пер. с англ. - М.: Радио и связь, 1981. -593 с.
2. Корогасв Г.А. Эффективный алгоритм кодирования речевого сигнала на скорости 4.8 кбит/с и ниже // Зарубежная радиоэлектроника. - 1996. -№3. - С. 52-68.
3. Максимов М. ИСидорова Н. А., Ч ернояров О. В. Проектирование низкоскоростных речепреобра-зуюших устройств для каналов с высоким процентом ошибок // Электросвязь. - 2008. - №7. -С. 48-50.
4. Невдяев Л.М. CDMA: IS-95 // Сети. - 2000. -№3. - С.6-8.
5. A.S. Spanias 'Speech coding: A tutorial review" // Proc. of the IEEE. Vol. 82. No. 10. October 1994. pp. 1541-1582.
6. TIA/E1A/IS-96-A Speech Service Option Standard for Wideband Spread Spectrum Digital Cellular System / Telecommunications Industry Association. 1995.-96 p.
7. T1A/EIA/IS-733 High Rate Speech Service Option 17 for Wideband Spread Communication System / Telecommunications Industry Association. 1998. -124 p.
8. Марке, i Дж., Грэй A.X. Линейное предсказание речи. - М.: Связь, 1980. - 248 с.
9. Назаров М.В.. Прохоров IO.H. Методы цифровой обработки и передачи речевых сигналов. - М.: Радио и связь, 1985. - 176 с.
КукунинД. С.
Модель системы с адаптивным выбором кода
Существует огромное количество способов оценки качества канала, для которых разработаны схемы, содержащие оптимальные алгоритмы контроля статистических характеристик. Логические схемы предполагают использование наряду с блоками измерения также блоки принятия решения. В качестве решения может выступать запрос к передающей стороне о повторе поврежденного блока, удаление блока, а также более сложные реакции системы на состояние канала. Ведущиеся в настоящее время многочисленные поиски решения задачи адаптации системы передачи к состоянию канала подчеркивают актуальность проблемы эффективного распределения ресурсов системы. Построение адаптивной системы должно способствовать повышению скорости передачи данных по каналу и оптимальному расходованию ресурсов памяти с максимально возможным при этом уровнем достоверности, достигающейся за счет применения предложен-
ного в работе метода декодирования двоичных циклических кодов с использованием двойственного базиса поля Галуа [1].
Применение метода декодирования двоичных циклических (п,т) кодов с использованием двойственного базиса [1] обеспечивает высокий уровень достоверности передачи данных, приближаясь по данной характеристике к существующим методам декодирования, а в некоторых случаях превосходит их. Дополнительным преимуществом использования данного метода является анализ структуры "леса", по результатам которого определяется диапазон вероятности ошибки в канале [2].
Оценка канала при помощи рекуррентных последовательностей, обеспечивает требуемую точность определениярош и может быть использована при построении системы с адаптивным кодированием. В качестве базового метода для такой системы выберем метод с непрерывным накоплением элементов, обеспечивающий