Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Захист інформ_27_12_05__(в).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
10.93 Mб
Скачать

7.4. Статистичний аналіз кодерів celp

Розглянемо аналіз роботи кодерів CELP, що реалізують процедуру аналізу через синтез AbS на прикладі кодера, блок-схема якого приведена на рис. 5.25. Сигнал збудження x(h) формується шляхом додавання масштабованого сигналу з адаптивної кодової книги (АКК) (додаються довгострокові частотні складові мовного сигналу) і масштабованого сигналу з великої фіксованої кодової книги (ФКК). Отриманий сигнал збудження керує синтезуючим фільтром, що моделює ефекти голосового тракту. У декодері сигнал збудження проходить через синтезуючий фільтр, формуючи відновлений мовний сигнал . Очевидно, що спочатку визначаються параметри фільтра, а потім уже знаходяться індекси кодових книг і k та відповідні коефіцієнти підсилення G1 і G2. Параметри кодових книг вибираються так, щоб мінімізувати зважену помилку між вихідним мовним сигналом і відновленим, що досягається подачею вмісту кожної "комірки" кодової книги на синтезуючий фільтр з метою виявлення максимально схожого (по сприйняттю) зразка.

Однак на практиці вводять два спрощення строгого замкнутого аналізу. Перше пов'язано з визначенням параметрів синтезуючого фільтра. Його характеристика, для простоти, береться інверсною до характеристики фільтра короткочасного лінійного передбачення, яка мінімізує енергію сигналу помилки передбачення. Параметри синтезуючого фільтра визначаються з урахуванням збуджуючого сигналу x(h), однак після того як вони визначені, більше ніякі зміни цього сигналу не враховуються. Це може означати, наприклад, що на визначенні параметрів фільтра можуть позначатися довгострокові складові, тоді як їхнє моделювання краще "залишити" для адаптивної кодової книги.

Друге спрощення строгого аналізу допускається при визначенні параметрів кодової книги. Краще, якщо замість спільного визначення параметрів кодових книг (адаптивної і фіксованої) для мінімізації зваженої похибки спочатку визначити затримку і коефіцієнт підсилення АКК, вважаючи, що сигнал ФКК дорівнює нулю. А потім, маючи сигнал АКК, визначити параметри ФКК. Таке рішення покликане знизити складність CELP-кодерів до прийнятного рівня, що, природно, веде до деякого зниження якості відтвореної мови.

Розглянемо вплив цих двох спрощень на якість відтвореної мови.

Обчислення параметрів синтезуючого фільтра. Як відзначалося вище, спрощена характеристика синтезуючого фільтра інверсна до характеристики фільтра помилки передбачення .

Рис. 7.15. Блок-схема синтезуючого фільтра

Цей фільтр мінімізує енергію залишку від передбачення вхідного мовного сигналу . Тут р - порядок фільтра. Відомо, що це далеко не ідеальний шлях визначення параметрів синтезуючого фільтра. Тому, коли сигнал збудження x(h) визначений, коефіцієнти синтезуючого фільтра можна перерахувати з метою збільшення відношення сигнал/шум (ВСШ) відтвореної мови. Розглянемо різні методи проведення такої оптимізації.

Один з методів оптимизації, що може бути запропонований до аналізу кодерів з багатоімпульсним збудженням, називається відновлення по методу найменших квадратів. Маючи сигнал збудження x(h) і набір коефіцієнтів фільтра , k = 1,2,...,р, відновлений мовний сигнал можна обчислити за допомогою виразу

(7.21)

Мінімізація Е - енергії сигналу помилки е(h) = по всій довжині L фрейму - здійснюється за допомогою виразу

. (7.22)

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

З метою спрощення аналізу зробимо наступне припущення:

(7.23)

Тоді, підставляючи (7.19) у (7.18), одержуємо

(7.24)

Тепер прирівнюючи частинні похідні до нуля для і = 1, 2,..., р, можна одержати систему р лінійних рівнянь. Розв’язавши її, одержимо оновлені коефіцієнти фільтра.

Разом з тим, застосування цього методу може призвести до погіршення ВСШ. Причина полягає в необґрунтованості допущення (7.23). Щоб поліпшити сегментне ВСШ у відновленій мові, необхідно в кожному фреймі визначати параметри фільтра, використовуючи як вихідні, так і оновлені коефіцієнти, і передавати ті з них, що забезпечують максимальне ВСШ.

Обчислення параметрів збудження. Щоб знизити складність кодера, зважуючий фільтр сигналу похибки звичайно включають так, щоб вхідний і відновлений сигнали роздільно зважувалися до проведення їхнього порівняння й обчислення похибки. Для всеполюсного синтезуючого фільтра з характеристикою H(z) = 1/А(z), де , і зважуючого фільтра сигналу похибки , де - константа, що на практиці дорівнює 0,9. Каскадне з'єднання еквівалентне використанню зважуючого синтезуючого фільтра 1/А(z). Зважена похибка в цьому випадку

, (7.58)

де - зважений вхідний сигнал; - відгук зважуючого синтезуючого фільтра на вхідне значення попереднього субфрейма (при відсутності іншого вхідного сигналу); v(h) - імпульсна характеристика зважуючого синтезуючого фільтра.

У процесі процедури пошуку визначаються значення коефіцієнта підсилення G1 і затримки для АКК, а також індекс k і коефіцієнт підсилення G2 для ФКК, що мінімізують середньоквадратичну помилку , отриману в субфреймі довжиною H:

, (7.25)

де

(7.26)

являє собою величину, збільшення якої домагаються пошуком у кодовій книзі (тобто максимальне значення вказує на успішний вибір параметрів кодової книги);

- сигнал-ознака для пошуку.

Тут

- енергія фільтрованого сигналу АКК;

(7.27)

- кореляція між фільтрованим сигналом АКК і сигналом-ознакою u(h). Аналогічно, - це енергія фільтрованого сигналу ФКК , a Rk - кореляція між цим сигналом і сигналом-ознакою і, нарешті,

(7.28)

- кореляція між фільтрованими сигналами обох кодових книг.

При звичайному методі пошуку параметрів кодової книги в (7.26) спочатку вважають G2 = 0. Потім для даного значення може бути визначений оптимальний коефіцієнт підсилення G1, якщо прирівняти до нуля значення частинної похідної відносно G1. У результаті знайдемо значення для кожного значення і виберемо таке значення затримки, якому відповідає максимум . Параметри АКК фіксуються й аналогічна процедура проводиться для визначення параметрів ФКК k і G2.

Можна запропонувати декілька субоптимальных методів. Розглянемо три з них.

Метод А. і k знаходяться при використанні звичайної процедури пошуку, а потім вирази використовуються для визначення оптимальних значень G1 і G2.

Метод В. Вважаючи G2 = 0, визначається затримка АКК і потім, використовуючи тільки це значення, здійснюється пошук у ФКК, з якої визначаються значення G1, G2 і k.

Метод С. Знаходяться коефіцієнти , k, G1 і G2 аналогічно методу В, а потім для відомого k обновляється . Іншими словами, для кожного можливого визначається G1, G2 і і вибирається таке значення , якому відповідає максимальне .

Зробимо порівняння перерахованих методів зі звичайним послідовним пошуком і з модернізованим одночасним пошуком в обох кодових книгах. Якщо прирівняти частинні похідні відносно G1 і G2 до нуля, одержимо систему двох рівнянь, розв’язавши які, знайдемо оптимальні значення коефіцієнтів підсилення для заданих індексів кодових книг і k:

; (7.29)

. (7.30)

Повна процедура пошуку передбачає обчислення , , , та для кожної пари індексів і k щоб з іх допомогою знайти коефіцієнти підсилення G1 і G2.

Таблиця 7.3

Характеристики різних методів пошуку

Метод

Сегментне ВСШ, дБ

Складність

Послідовний пошук

9,7

1

Метод А

10,1

1,02

Метод В

10,3

1,3

Метод С

10,6

1,4

Повний пошук

10,8

60

Ці коефіцієнти підсилення можуть бути потім підставлені в (7.60) для обчислення , максимізувати яке необхідно для правильного вибору індексів. Головні труднощі повного пошуку виникають при визначенні взаємної кореляції для кожної пари індексів кодових книг. Використання алгебраїчної фіксованої кодової книги [8] дозволяє одночасно з і визначити більш ефективно використовуючи серію з чотирьох вкладених циклів [7].

У табл. 7.3 представлені такі характеристики ACELP на 4,8 кбіт/с, як сегментне ВСШ і відносна складність для різних методів пошуку. Повний пошук дає виграш по показнику ВСШ приблизно 1 дБ у порівнянні з послідовним пошуком, але його складність у 60 разів вище. Метод С, що збільшує складність кодера приблизно на 40 % дає майже таке ж відношення ВСШ, як кодер з повним пошуком. Нарешті, метод А збільшує складність кодека на 2 %, але дає відчутне збільшення ВСШ.