Смекни!
smekni.com

Кодеры речи (стр. 8 из 16)

дополнительной буферной задержки протокола мультиплексирования.

Кодер G.723.1 предназначен для работы с цифровыми сигналами после предварительной фильтрации полосы аналогового телефонного канала (рекомендации G.712), дискретизации с частотой 8 кГц и преобразования в 16-битную линейную ИКМ последовательность для передачи на вход кодера. Выходной сигнал декодера преобразуется обратно в аналоговый сигнал аналогичным образом. Другие характеристики входа/выхода такие же, как и определенные рекомендациями G.711 для 64-битной ИКМ. Перед кодированием данные должны быть преобразованы в 16-битную ИКМ последовательность или в соответствующий формат после декодирования из 16-битной ИКМ.

Кодер, основанный на принципах кодирования методом «анализ через синтез» с линейным предсказанием, минимизирует взвешенный сигнал ошибки, работает с блоками (фреймами) по 240 выборок каждый, что в частоте дискретизации 8 кГц эквивалентно длительности 30 мс. Каждый фрейм проходит через фильтр верхних частот для удаления постоянной составляющей, а затем разделяется на четыре субфрейма по 60 выборок в каждом. Для каждого субфрейма используется фильтр десятого порядка кодера с линейным предсказанием. Для последнего субфрейма коэффициенты LPC-фильтра квантуются с использованием прогнозирующего квантизатора вектора разбиения (PSVQ). Квантованные LPC-коэффициенты используются для создания кратковременного взвешивающего фильтра, который применяется для фильтрации всего фрейма и для получения взве­шенной оценки речевого сигнала. На основе этой оценки для каждых двух субфреймов (120 выборок) вычисляется период основного тона

. Оценка тона представляется блоками по 120 выборок. Период основного тона лежит в диапазоне от 18 до 142 выборок.

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

Оценки периода основного тона

и импульсного отклика используются при работе предсказателя тона пятого порядка. Период тона вычи­сляется как приращение относительной оценки периода основного тона. На декодер передаются тоновый период и разностные величины. На следующем этапе аппроксимируются непериодиче­ские составляющие возбуждения. Для высокой скорости используется много­импульсное возбуждение с квантовани­ем и алгоритмом максимального прав­доподобия (MP-MLQ), а для низких скоростей – алгебраическое кодовое возбуждение.

Рекомендации ITU-T G.729 со­держат описание алгоритма кодирова­ния речевых сигналов на скорости 8 кбит/с с использованием алгебраиче­ского линейного предсказания с ко­довым возбуждением с сопряженной структурой (CS-ACELP).

Подобный кодер создан для ра­боты с цифровыми сигналами, полу­ченными после предварительной об­работки аналогового входного сигна­ла фильтром низкой частоты, дискре­тизации с частотой 8 кГц и даль­нейшем преобразованием в линейную ИКМ для подачи на вход кодера. Вы­ходной сигнал декодера конвертирует­ся обратно в аналоговый сигнал по­добным же образом. Другие харак­теристики входа/выхода определяют­ся аналогично рекомендациями G.711 для ИКМ последовательностей со ско­ростью 64 кбит/с. После декодирова­ния данные должны быть преобразо­ваны из 16-битовой линейной ИКМ в требуемый формат.

Кодер CS-ACELP основан на моде­ли с линейным предсказанием с кодо­вым возбуждением (CELP) и работает с фреймами речи по 10 мс, соответству­ющих 80 выборкам. Каждый фрейм речевого сигнала длительностью 10 мс анализируется для выделения пара­метров CELP-модели (коэффициенты фильтра линейного предсказания, ин­дексы адаптивной и фиксированной кодовых книг и коэффициенты усиле­ния). Эти параметры кодируются и пе­редаются на приемную сторону. Рас­пределение бит параметров кодера по­казано в табл. 3.1.


Таблица 3.1

Распределение бит для алгоритма CS-ACELP на скорости 8 кбит/с (фреймы по 10 мс)

Параметр Кодовое слово Субфрейм 1 Субфрейм 2 В целом на фрейм
Пары линейного спектра LU, L1, L2, L3
Задержка адаптивной кодовой книги P1, Р2 8 5 13
Проверка задержки тона Р0 1 1
Индекс фиксированной кодовой книги CT, С2 13 13 26
Запись фиксированной кодовой книги S1, S2 4 4 8
Усиления кодовой книги (этап 1) GA1, GA2 3 3 6
Усиления кодовой книги (этап 2) GBl, GB2 4 4 8
Всего 80

На стороне деко­дера эти параметры используются для восстановления параметров возбужде­ния и фильтра синтеза. Как показа­но на рис. 3.3, речь восстанавливает­ся при фильтрации этого возбуждения фильтром кратковременного синтеза, который основан на фильтре линей­ного предсказания десятого порядка. Долговременный фильтр (или фильтр синтеза тона) выполняется с использо­ванием адаптивной кодовой книги. По­сле синтеза речи происходит дополни­тельное сглаживание в постфильтре.

Входной сигнал посту­пает на фильтр высоких частот и мас­штабируется в блоке предварительной обработки, после чего подвергается по­следующему анализу. Анализ с линей­ным предсказанием (LP-анализ) вы­полняется один раз для фрейма дли­тельностью 10 мс с целью вычисле­ния коэффициентов фильтра линейно­го предсказания, которые затем пре­образуются в пары линейного спектра (Line Spectrum Pairs, LSP) и квантуют­ся (18 бит) с использованием двухэтапного векторного квантования с предсказанием.

Сигнал возбуждения выбирается с использованием поисковой процедуры «анализ через синтез», при которой ошибка между исходной и восстанавливаемой речью минимизируется в соответствии с измерением взвешенных искажений. Это выполняется путем фильтрации сигнала ошибки фильтром взвешивания, коэффициенты которого извлечены из неквантованного LP-фильтра.

Параметры возбуждения (параметры фиксированной и адаптивной кодовых книг) определены для субфрейма длительностью 5 мс (40 выборок). Коэффициенты квантованного и неквантованного фильтра с линейным предсказанием используются для второго субфрейма, в то время как в первом субфрейме используются интерполированные коэффициенты LP-фильтра.

Задержка основного тона оцени­вается один раз для фрейма длиной 10 мс на основе взвешенного речево­го сигнала. Затем для каждого суб­фрейма повторяются следующие опе­рации. Искомый сигнал

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

Индексы параметров кодовых книг вы­деляются из принятого потока бит и декодируются для получения следую­щих параметров кодера, соответствую­щих речевому фрейму длиной 10 мс: LP-коэффициенты (коэффициенты ли­нейного предсказания), две частичные задержки тона, два вектора фиксиро­ванной кодовой книги и два набора ко­эффициентов адаптивной и фиксиро­ванной кодовых книг. Коэффициенты LSP интерполируются и преобразуют­ся в коэффициенты LP-фильтра для каждого субфрейма. Для каждого суб­фрейма выполняются следующие ша­ги:

восстанавливается возбуждение путем добавления векторов адаптив­ной и фиксированной кодовых книг с соответствующими им коэффициента­ми усиления;

восстанавливается речь путем пропускания через фильтр LP-синтеза;

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

Кодер кодирует речь и другие ау­диосигналы по фреймам длительно­стью 10 мс. В результате осуществля­ется задержка 5 мс, что приводит в ре­зультате к общей алгоритмической за­держке 15 мс. Все дополнительные за­держки при практическом исполнении такого кодера обусловлены следующи­ми причинами:

временем обработки, необходимым для операции кодирования и декодиро­вания;

временем передачи по линиям свя­зи;

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

Таким образом, рекомендация G.729 предусматривает фреймы возбу­ждения по 5 мс и формирует четыре импульса. Фрейм из 40 выборок разде­ляется на четыре части. Первые три имеют восемь возможных позиций для импульсов, четвертая — шестнадцать. Из каждой части выбирается по одно­му импульсу. В результате образуется четырехимпульсный ACELP возбужде­ния кодовой страницы (табл. 3.2).