Метод за кодиране на реч

1. Общо описание на алгоритъма за кодиране на реч CELP

където M е редът на модела, s (n) е последователността на пробите от речевия сигнал, a (m) са коефициентите на линейна прогноза, характеризиращи свойствата на гласовия тракт, а x (n) е генеративната последователност или възбуден сигнал на гласовия тракт. Авторегресивният модел на речев сигнал го описва с достатъчно висока степен на точност и позволява използването на развит математически апарат за линейно прогнозиране. Това осигурява по-високо качество на декодираната реч, устойчивост на входящ акустичен шум и грешки в комуникационния канал, отколкото в системи с други кодиращи принципи.

В рамките на този модел най-обещаващите методи за кодиране са методите за анализ чрез синтез, използващи многоимпулсно възбуждане от кода. Новостта на многоимпулсното възбуждане [7] се крие във факта, че в сигнала на линейната прогнозна остатъчна стойност се избират такива стойности, които са най-важни за подобряване на качеството на синтезираната реч. В същото време кодиращата схема, използвана при анализа чрез процедура на синтез, освен че отчита грешките при квантуване, включва критерии за субективна оценка на качеството на речевия сигнал, което осигурява естественото звучене на синтезирана реч.

При многоимпулсно възбуждане остатъчният сигнал с линейно прогнозиране се представя като последователност от импулси с неравномерно разпределени интервали и с различни амплитуди (около 8-10 импулса на 10 ms). Амплитудите и позициите на тези импулси се определят за кадър по кадър. Основното предимство на многоимпулсното възбуждане е, че то се определя за всеки речев сегмент и не изисква знания нито за вокализацията на този сегмент, нито за периода на височината.

Методите за анализ по синтез използват синтезатор на речев сигнал (декодер) като неразделна част от кодиращо устройство. В този случай задачата за анализ се свежда до процедурата за оценка на речевите параметри, предадени до комуникационния канал, извършена в съответствие с определен критерий за несъответствие между оригиналния и декодирания сигнал. За да се вземат предвид спецификите на слуховото възприятие, честотно претеглената квадратна грешка обикновено се използва като критерий за несъответствие.

където S (f) и Sq (f) са преобразуването на Фурие на оригиналните и синтезирани речеви сигнали, а W (f) е функцията на тежестта. Като се вземе предвид значението за възприемането на речта не само на формантите, но и на интерформните домейни, за алгоритмите за анализ на речта чрез синтез от Etol беше предложена функция на тежестта на следната форма

където A -1 (z) е синтезиращ филтър и е параметър, който регулира енергията на грешката или шума от квантуването. Всъщност такова претегляне подчертава грешката в интерформантните домейни и по този начин осигурява по-равномерно честотно разпределение на съотношението на мощността на полезния сигнал към мощността на грешката при кодирането.

В алгоритмите за кодиране на анализ чрез синтез ефективността на информационното мултиплексиране на речеви сигнали се увеличава главно чрез намаляване на излишността на последователността x (n), която възбужда филтъра за синтезиране на линейно предсказване A -1 (z), който формира сигнална обвивка, с коефициент на предаване

За тази цел допълнителен филтър с характеристиката

с един коефициент на прогнозиране gp и забавяне за периода на височината T. Той действа като генератор на квазипериодични трептения на гласните струни при произнасяне на звукови звуци.

В зависимост от начина на описване на сигнала x (n), пристигащ на входа на филтъра (7.5), е възможно да се разграничат кодиращите алгоритми с възбуждане на десетирана последователност от импулси - MPLP (Multi Pulses Linear Prediction), със самостоятелно -възбуждане - SELP (Self-Excited Linear Prediction) и накрая, с възбуждане от кода - CELP. Експериментално е установено, че възбуждането на кода осигурява най-високо качество на декодирания речев сигнал, включително при наличие на входни акустични смущения.

Методът CELP е предложен от Etol и Schroeder през 1984 г. Най-ефективното приложение на този метод при предаване на речев сигнал в обхват от 4 до 16 kbps.

Основната блок-схема на предаващата (а) и приемащата (б) части на кодера CELP е показана на фиг. 7.1.

кодова книга

Фигура: 7.1. Блок-схема на предаващата и приемащата части на кодера CELP.

По същество алгоритъмът CELP извършва векторно квантуване на последователността x (n), т.е.позициите на импулсите и техните амплитуди в многоимпулсния възбуждащ сигнал се оптимизират едновременно. В този случай сегмент (сегмент) на възбуждащия сигнал се избира от предварително оформен константен набор - кодова книга, съдържаща достатъчно голям брой реализации, например на некорелиран гауссов шум. Избраното изпълнение се усилва и подава към входа на филтърната верига (7.5) и (7.4).

Търсенето на оптималните стойности gp и T на синтезатора на височината, усилването и номера на елемента на кодовата книга се извършва чрез анализ чрез синтез. По принцип номерът (индексът) на елемента на кодовата книга със съответното усилване, параметрите на синтезатора на височината, както и коефициентите на линейна прогноза, характеризиращи състоянието на гласовия път, се предават на комуникационния канал.

2. Структура на енкодера TETRA

Стандартът TETRA използва кодер CELP с коефициент на преобразуване 4.8 Kbps. На фиг. 7.2 показва опростена блок-схема на декодер (синтезатор), използван в кодера TETRA CELP.

метод

Фигура: 7.2. Блокова схема на декодер за реч TETRA.

Основните възли на декодерната схема са 2 синтезиращи филтъра с голяма и малка времева константа и алгебрична кодова книга.

Филтър с константа с дълго време изпълнява функцията на Long Term Preductor, симулира квазипериодичността (дългосрочни корелации) на речевия сигнал и има характеристика (7.5). Тя се основава на адаптивна кодова книга, съдържаща възбуждащи сигнали и генерираща квазипериодични трептения на гласовия тракт.

Филтърът с малка времева константа изпълнява функцията на краткосрочен предиктор (Short Term Preductor), симулира краткосрочни корелации, т.е. корелации между семплите на речевия сигнал, и има характеристика (7.4) с реда на предиктора съответстващ на M = 10. Синтезаторът TETRA използва функцията за претегляне (7.3) с коефициент γ = 0.85.

Алгебрична (постоянна) кодова книга съдържа колекция от вектори на възбуждане, които са последователности с бяло гаусово разпределение с нулева средна и единична дисперсия. Той служи за изпълнение на първия етап от генерирането на възбуждащ сигнал. На втория етап възбудителният сигнал се коригира чрез добавяне на данни от адаптивната кодова книга към него. Получената вълнуваща последователност се подава към входа на синтезиращия филтър A -1 (z), където стойностите на изходния речев сигнал се изчисляват в съответствие с израза (7.1).

Кодерът TETRA оценява M = 10 линейни коефициенти на прогнозиране и анализира възможните стойности на параметъра на синтезатора (индекс kc и коефициент на усилване gc на алгебричната кодова книга и индекс kp и коефициент на усилване gp на адаптивната кодова книга), чиято цел е да се сведе до минимум претеглената грешка на несъответствието между входния и синтезирания речеви сигнали. Получените оптимални параметри на синтезатора се квантуват и предават на комуникационния канал. Обработката на сигнала в кодера и декодера се извършва на блокове. Продължителността на основния блок е 30 ms, което съответства на 240 проби при честота на вземане на проби от 8 kHz. За всеки такъв блок се формира 137-битова рамка от информация, предавана до комуникационния канал, която осигурява скорост на трансфер на информация от 4567 бита/сек. Оценката на коефициентите на линейна прогноза се извършва веднъж върху целия блок, а оптимизацията на останалите параметри на синтезатора се извършва на сегменти с продължителност 60 проби, т.е. 4 пъти на блок. Побитовото разпределение на информацията в предавания кадър е показано в таблица. 7.1.