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

Иллюстрации

Показать все

Изобретение относится к обработке речевых сигналов. В одном варианте осуществления обнаруживают стирание значимого кадра длительного голосового сегмента. Значение усиления адаптивной кодовой книги для стертого кадра вычисляют на основании предыдущего кадра. Если вычисленное значение меньше чем (альтернативно, не больше чем) пороговое значение, более высокое значение усиления адаптивной кодовой книги используется для стертого кадра. Большее значение может быть выведено из вычисленного значения или выбрано из одного или более заранее определенных значений. Технический результат - обеспечение формирования декодированного аудиокадра при потере сжатой речевой информации. 3 н. и 12 з.п. ф-лы, 29 ил.

Реферат

Связанные заявки

Данная заявка испрашивает приоритет предварительной заявки на патент США № 60/828,414, номер в реестре поверенного 061680P1, поданной 6 октября 2006 и названной "SYSTEMS, METHODS, AND APPARATUS FOR FRAME ERASURE RECOVERY."

Область техники

Настоящее изобретение имеет отношение к обработке речевых сигналов.

Уровень техники

Передача аудиоданных, например, голоса и музыки, с помощью цифровых методов стала широко распространенной, особенно в междугородной телефонии, телефонной связи с пакетной коммутацией, такой как передача Голос-по-IP (также названной VoIP, где IP обозначает Интернет протокол), и цифровой радиотелефонной связи, такая как сотовая телефонная связь. Такое быстрое увеличение создало интерес к сокращению объема информации, используемой для передачи речевых данных по каналу передачи, в то же время поддерживая воспринимаемое качество восстановленной речи. Например, желательно лучше использовать доступную полосу частот беспроводной системы. Один способ использовать полосу частот системы эффективным образом состоит в том, чтобы использовать методики сжатия сигнала. Для беспроводных систем, которые передают речевые сигналы, способы сжатия речи (или "кодирование речи") обычно используются с этой целью.

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

В типичном сеансе разговора каждый говорящий молчит в течение приблизительно шестидесяти процентов времени. Речевые кодеры обычно конфигурируются так, чтобы отличить кадры речевого сигнала, которые содержат речь ("активные кадры"), от кадров речевого сигнала, которые содержат только тишину (молчание) или фоновый шум ("неактивные кадры"). Такой кодер может быть конфигурирован так, чтобы использовать различные режимы кодирования и/или скорости для кодирования активных и неактивных кадров. Например, речевые кодеры обычно конфигурируются так, чтобы использовать меньше битов для кодирования неактивного кадра, чем для кодирования активного кадра. Речевой кодер может использовать более низкую скорость передачи в битах для неактивных кадров, чтобы поддерживать передачу речевого сигнала с более низкой средней скоростью передачи в битах в диапазоне от малой до почти не воспринимаемой потери качества.

Примеры скоростей передачи в битах, используемых для кодирования активных кадров, включают в себя 171 бит на кадр, восемьдесят битов на кадр, и сорок битов на кадр. Примеры скоростей передачи в битах, используемых для кодирования неактивных кадров, включают в себя шестнадцать битов на кадр. В контексте сотовых систем телефонной связи (особенно систем, которые совместимы с Временным Стандартом (IS)-95, который провозглашен Ассоциацией Промышленности Телекоммуникаций, (Telecommunication Industry Association) Arlington, Вирджиния, или аналогичным отраслевым стандартом) эти четыре скорости передачи в битах также называются "как полная скорость", "половинная скорость", "четверная скорость" и "одна восьмая скорости", соответственно.

Многие системы связи, которые используют речевые кодеры, такие как сотовые телефоны и системы спутниковой связи, полагаются на беспроводные каналы для передачи информации. В ходе такой передачи информации беспроводный канал передачи может страдать от нескольких источников ошибки, таких как многолучевое замирание. Ошибки в передаче могут привести к неисправимому искажению кадра, также называемому "стирание кадра." В типичной сотовой системе стирание (разрушение) кадра происходит с частотой один - три процента и может даже достигнуть или превысить пять процентов.

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

Стирание кадра может быть обнаружено в декодере согласно неудачному результату функции проверки, такой как функция CRC (проверка при помощи циклического избыточного кода) или другая функция обнаружения ошибок, которая использует, например, одну или более контрольных сумм и/или разрядов проверки на четность. Такая функция обычно выполняется декодером канала (например, в подуровне мультиплексирования), который может также выполнить задачи, такие как сверточное декодирование и/или обращенное перемежение. В типичном декодере детектор ошибочного кадра устанавливает флаг стирания кадра после приема индикации относительно неисправляемой ошибки в кадре. Декодер может быть конфигурирован для выбора модуля восстановления при стирании кадра, чтобы обработать кадр, для которого установлен флаг стирания кадра.

Сущность изобретения

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

Способ получения кадров декодированного речевого сигнала согласно другой конфигурации включает в себя вычисление, на основании информации из первого кодированного кадра кодированного речевого сообщения и первого сигнала возбуждения, первого кадра декодированного речевого сигнала. Этот способ также включает в себя вычисление, в ответ на индикацию стирания кадра упомянутого кодированного речевого сигнала, который непосредственно следует за упомянутым первым кодированным кадром, и на основании второго сигнала возбуждения, второго кадра упомянутого декодированного речевого сигнала, который непосредственно следует за упомянутым первым кадром. Этот способ также включает в себя вычисление, на основании третьего сигнала возбуждения, третьего кадра, который предшествует упомянутому первому кадру декодированного речевого сигнала. В этом способе первый сигнал возбуждения основан на произведении (A) первой последовательности значений, которая основана на информации из третьего сигнала возбуждения, и (B) первого коэффициента усиления. В этом способе вычисление второго кадра включает в себя формирование второго сигнала возбуждения согласно соотношению между пороговым значением и значением, основанным на первом коэффициенте усиления, таким образом, что второй сигнал возбуждения основан на произведении (A) второй последовательности значений, которая основана на информации из упомянутого первого сигнала возбуждения, и (B) второго коэффициента усиления, большего чем первый коэффициент усиления.

Способ получения кадров декодированного речевого сигнала согласно другому варианту включает в себя генерирование первого сигнала возбуждения, который основан на произведении первого коэффициента усиления и первой последовательности значений. Этот способ также включает в себя вычисление, на основании первого сигнала возбуждения и информации из первого закодированного кадра кодированного речевого сигнала, первого кадра декодированного речевого сигнала. Этот способ также включает в себя генерирование, в ответ на индикацию стирания кадра упомянутого кодированного речевого сигнала, который непосредственно следует за упомянутым первым кодированным кадром, и согласно соотношению между пороговым значением и значением, основанным на первом коэффициенте усиления, второго сигнала возбуждения на основании произведения (A) второго коэффициента усиления, который больше, чем первый коэффициент усиления, и (B) второй последовательности значений. Этот способ также включает в себя вычисление, на основании второго сигнала возбуждения, второго кадра, который непосредственно следует за упомянутым первым кадром декодированного речевого сигнала. Этот способ также включает в себя вычисление, на основании третьего сигнала возбуждения, третьего кадра, который предшествует упомянутому первому кадру декодированного речевого сигнала. В этом способе первая последовательность основана на информации из третьего сигнала возбуждения, и вторая последовательность основана на информации из первого сигнала возбуждения.

Устройство для получения кадров декодированного речевого сигнала согласно другому варианту включает в себя генератор сигнала возбуждения, выполненный с возможностью генерировать первый, второй и третий сигналы возбуждения. Это устройство также включает в себя спектральный формирователь, конфигурированный, чтобы (A) вычислять, на основании первого сигнала возбуждения и информации из первого закодированного кадра кодированного речевого сигнала, первый кадр декодированного речевого сигнала, (B) вычислять, на основании второго сигнала возбуждения, второй кадр, который непосредственно следует за упомянутым первым кадром декодированного речевого сигнала, и (C), вычислять, на основании третьего сигнала возбуждения, третий кадр, который предшествует упомянутому первому кадру декодированного речевого сигнала. Это устройство также включает в себя логический модуль, конфигурированный, чтобы (A) оценить соотношение между пороговым значением и значением, основанным на первом коэффициенте усиления, и (B) выполнять прием индикации относительно стирания кадра кодированного речевого сигнала, который непосредственно следует за упомянутым первым кодированным кадром. В этом устройстве генератор сигнала возбуждения конфигурируется, чтобы генерировать первый сигнал возбуждения, на основании произведения (A) первого коэффициента усиления и (B) первой последовательности значений, которая основана на информации из третьего сигнала возбуждения. В этом устройстве логический модуль конфигурируется, в ответ на индикацию стирания и согласно оцененному отношению, чтобы вынудить генератор сигнала возбуждения генерировать второй сигнал возбуждения, основанный на произведении (A) второго коэффициента усиления, который больше, чем первый коэффициент усиления, и (B) второй последовательности значений, которая основана на информации из первого сигнала возбуждения.

Устройство для получения кадров декодированного речевого сигнала согласно другой конфигурации включает в себя средство для генерирования первого сигнала возбуждения, который основан на произведении первого коэффициента усиления и первой последовательности значений. Это устройство также включает в себя средство для вычисления, на основании первого сигнала возбуждения и информации из первого закодированного кадра кодированного речевого сигнала, первого кадра декодированного речевого сигнала. Это устройство также включает в себя средство для генерирования, в ответ на индикацию стирания кадра упомянутого кодированного речевого сигнала, который непосредственно следует за упомянутым первым кодированным кадром, и согласно отношению между пороговым значением и значением, основанным на первом коэффициенте усиления, второго сигнала возбуждения на основании произведения (A) второго коэффициента усиления, который больше, чем первый коэффициент усиления, и (B) второй последовательности значений. Это устройство также включает в себя средство для вычисления, на основании второго сигнала возбуждения, второго кадра, который непосредственно следует за упомянутым первым кадром декодированного речевого сигнала. Это устройство также включает в себя средство для вычисления, на основании третьего сигнала возбуждения, третьего кадра, который предшествует упомянутому первому кадру декодированного речевого сигнала. В этом устройстве первая последовательность основана на информации из третьего сигнала возбуждения, и вторая последовательность основана на информации из первого сигнала возбуждения.

Компьютерный программный продукт согласно другому варианту включает в себя считываемый компьютером носитель, который включает в себя (программный) код для того, чтобы заставить по меньшей мере один компьютер генерировать первый сигнал возбуждения, который основан на произведении первого коэффициента усиления и первой последовательности значений. Этот носитель также включает в себя (программный) код для того, чтобы заставить по меньшей мере один компьютер вычислять, на основании первого сигнала возбуждения и информации из первого закодированного кадра кодированного речевого сигнала, первый кадр декодированного речевого сигнала. Этот носитель также включает в себя код для того, чтобы заставить по меньшей мере один компьютер генерировать, в ответ на индикацию стирания кадра упомянутого кодированного речевого сигнала, который непосредственно следует за упомянутым первым кодированным кадром, и согласно соотношению между пороговым значением и значением, основанным на первом коэффициенте усиления, второй сигнал возбуждения, на основании произведения (A) второго коэффициента усиления, который больше, чем первый коэффициент усиления, и (B) второй последовательности значений. Этот носитель также включает в себя код для того, чтобы заставить по меньшей мере один компьютер вычислять, на основании второго сигнала возбуждения, второй кадр, который непосредственно следует за упомянутым первым кадром декодированного речевого сигнала. Этот носитель также включает в себя код для того, чтобы заставить по меньшей мере один компьютер вычислять, на основании третьего сигнала возбуждения, третий кадр, который предшествует упомянутому первому кадру декодированного речевого сигнала. В этом произведении первая последовательность основана на информации из третьего сигнала возбуждения, и вторая последовательность основана на информации из первого сигнала возбуждения.

Краткое описание чертежей

Фиг.1 - блок-схема универсального речевого декодера, основанного на фильтре синтеза с возбуждением.

Фиг.2 - диаграмма, представляющая амплитуду голосового сегмента речи во времени.

Фиг.3 - блок-схема декодера CELP, имеющего фиксированную и адаптивную кодовые книги.

Фиг.4 иллюстрирует зависимости по данным в процессе декодирования последовательности кадров, кодированных в формате CELP.

Фиг.5 показывает блок-схему примера многорежимного декодера речи с переменной скоростью.

Фиг.6 иллюстрирует зависимости по данным в процессе декодирования последовательности кадра NELP (например, кадр молчания или не голосовой речевой кадр), за которым следует кадр CELP.

Фиг.7 иллюстрирует зависимости по данным в процессе обработки стирания кадра, который следует за кадром, кодированным в формате CELP.

Фиг.8 показывает последовательность операций для способа стирания кадра, совместимого с EVRC Service Option 3.

Фиг.9 показывает последовательность кадров во времени, которая включает в себя начало длительного голосового сегмента.

Фиг. 10a, 10b, 10c и 10d показывают последовательности операций для способов M110, M120, M130 и M140 соответственно, согласно вариантам настоящего описания.

Фиг.11 показывает последовательность операций для реализации M180 способа M120.

Фиг.12 показывает блок-схему примера речевого декодера согласно варианту осуществления.

Фиг.13A показывает последовательность операций способа M200 получения кадров декодированного речевого сигнала согласно общей конфигурации.

Фиг.13B показывает блок-схему устройства F200 для получения кадров декодированного речевого сигнала согласно общей конфигурации.

Фиг.14 иллюстрирует зависимости по данным в применении реализации способа M200.

Фиг.15A показывает последовательность операций способа реализации M201 способа M200.

Фиг.15B показывает блок-схему устройства F201, соответствующего способу M201 согласно Фиг.15A.

Фиг.16 иллюстрирует некоторые зависимости по данным в типичном применении способа M201.

Фиг.17 иллюстрирует зависимости по данным в применении реализации способа M201.

Фиг.18 показывает последовательность операций способа M203 реализации способа M200.

Фиг.19 иллюстрирует некоторые зависимости по данным в типичном применении способа M203 согласно Фиг.18.

Фиг.20 иллюстрирует некоторые зависимости по данным для применения способа M203 согласно Фиг. 18.

Фиг.21A показывают блок-схему устройства A100 для получения кадров декодированного речевого сигнала согласно общей конфигурации.

Фиг.21B иллюстрирует типичное применение устройства A100.

Фиг.22 показывает логическую схему, которая описывает работу реализации 112 логического модуля 110.

Фиг.23 показывает последовательность операций работы реализации 114 логического модуля 110.

Фиг.24 показывает описание работы другой реализации 116 логического модуля 110.

Фиг.25 показывает описание работы реализации 118 логического модуля 116.

Фиг.26A показывает блок-схему реализации A100A устройства A100.

Фиг.26B показывает блок-схему реализации A100B устройства A100.

Фиг.26C показывает блок-схему реализации A100C устройства A100.

Фиг.27A показывает блок-схему реализации 122 генератора 120 сигнала возбуждения.

Фиг.27B показывает блок-схему реализации 124 генератора 122 сигнала возбуждения.

Фиг.28 показывает блок-схему реализации 232 вычислителя 230 параметров речи.

Фиг.29A показывает блок-схему примера системы, которая включает в себя реализации блока 210 обнаружения стирания, детектор 220 формата, вычислитель 230 параметров речи и устройства A100.

Фиг.29B показывает блок-схему системы, которая включает в себя реализацию 222 блока 220 определения формата.

Подробное описание

Варианты осуществления, описанные здесь, включают в себя системы, способы и устройство для восстановления при стирании кадра, которое может быть использовано для обеспечения повышенной производительности для случаев, в которых стирается существенный (значимый) кадр длительного голосового сегмента. Альтернативно, значимый кадр длительного голосового сегмента может быть обозначен как ключевой кадр. Явно рассматривается и тем самым раскрывается, что такие варианты осуществления могут быть адаптированы для использования в сетях, которые являются сетями с пакетной коммутацией (например, проводные и/или беспроводные сети с возможностью передачи согласно протоколам передачи голоса, таким как VoIP) и/или с коммутацией каналов. Также явно рассматривается и тем самым раскрывается, что такие варианты осуществления могут быть адаптированы для использования в узкополосных системах кодирования (например, системах, которые кодируют диапазон звуковой частоты приблизительно четыре или пять килогерц), а также в широкополосных системах кодирования (например, системах, которые кодируют звуковые частоты более пяти килогерц), включая системы кодирования всего диапазона и системы кодирования с разбиением диапазона.

Если явно не ограничено контекстом, термин "генерирование" используется здесь, чтобы указать любое из его обычных значений, таких как вычисление или иное формирование. Если явно не ограничен своим контекстом, термин "вычисление" используется здесь, чтобы указать любое из его обычных значений, таких как вычисление, оценка и/или выбор из ряда значений. Если явно не ограничен своим контекстом, термин "получение" используется для указания любого из его обычных значений, таких как вычисление, выведение, прием (например, от внешнего устройства) и/или извлечение (например, из массива элементов памяти). Там, где термин "содержащий" используется в настоящем описании и формуле изобретения, он не исключает другие элементы или операции. Термин "основанный на" (как в "A основано на B") используется для указания любого из его обычных значений, включая случаи (i) "основанный на по меньшей мере" (например, "A основано на по меньшей мере B") и, если является подходящим в конкретном контексте, (ii) "равный" (например, "A равно B").

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

Для целей кодирования речи речевой сигнал обычно оцифровывается (или квантуется) для получения потока выборок. Процесс оцифровывания может быть выполнен в соответствии с любым из различных способов, известных в технике, включая, например, импульсно-кодовую модуляцию (ИКМ, PCM), ИКМ с компандированием согласно mu-закону, и ИКМ с компандированием согласно A-закону. Узкополосные речевые кодеры обычно используют частоту дискретизации 8 кГц, в то время как широкополосные речевые кодеры обычно используют более высокую частоту дискретизации (например, 12 или 16 кГц).

Оцифрованный речевой сигнал обрабатывается как последовательность кадров. Эта последовательность обычно реализуется как неперекрывающаяся последовательность, хотя операция обработки кадра или сегмента кадра (также называемого подкадром) может также включать в себя сегменты одного или более соседних кадров при его вводе. Кадры речевого сигнала обычно являются короткими, такими что спектральная огибающая сигнала, как можно ожидать, остается относительно постоянной по кадру. Кадр обычно соответствует от пяти до тридцати пяти миллисекундам речевого сигнала (или приблизительно от сорока до 200 выборок), с размера всего кадра десять, двадцать и тридцать миллисекунд. Реальный размер кодированного кадра может изменяться от кадра к кадру со скоростью передачи в битах кодирования.

Длина кадра в двадцать миллисекунд соответствует 140 выборкам при частоте дискретизации семь килогерц (кГц), но могут использоваться 160 выборок при частоте дискретизации восемь кГц, и 320 выборок при частоте дискретизации 16 кГц, хотя любая частота дискретизации считается подходящей для конкретного применения. Другой пример частоты дискретизации, которая может использоваться для кодирования речи, составляет 12,8 кГц, и другие примеры включают в себя другие скорости в диапазоне от 12,8 до 38,4 кГц.

Обычно все кадры имеют одну и ту же длину, и одинаковая длина кадра предполагается в конкретных примерах, описанных здесь. Однако также явно рассматривается и тем самым раскрывается, что могут использоваться неодинаковые длины кадра. Например, реализации способа M100 и M200 могут также использоваться в применениях, которые используют отличные длины кадра для активных и неактивных кадров и/или для голосовых и неголосовых кадров.

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

В других случаях упорядоченная последовательность включает в себя значения параметров модели кодирования. Типичный пример такой упорядоченной последовательности - набор значений коэффициентов в анализе кодирования с линейным предсказанием (LPC). Эти коэффициенты кодируют резонансы кодированной речи (также называемые "форманты") и могут быть конфигурированы как коэффициенты фильтра или как коэффициенты отражения. Кодирующая часть большинства современных речевых кодеров включает в себя фильтр анализа, который извлекает набор значений коэффициентов LPC для каждого кадра. Количество значений коэффициентов в наборе (которые обычно упорядочиваются как один или более векторов) также называется "порядком" LPC анализа. Примеры типичного порядка LPC анализа, который выполняется речевым кодером устройства связи (таким как мобильный телефон), включают в себя 4, 6, 8, 10, 12, 16, 20, 24, 28, и 32.

Описание спектральной огибающей обычно появляется в пределах кодированного кадра в квантованной форме (например, как один или более индексов в соответствующих поисковых таблицах или "кодовых книгах"). Соответственно, общепринято для декодера принимать ряд значений коэффициентов LPC в форме, которая является более эффективной для квантования, например, как набор значений пар спектральных линий (LSP), линейных спектральных частот (LSF), иммиттансных спектральных пар (ISP), иммиттансных спектральных частот (ISF), кепстральных коэффициентов или соотношений в логарифмической области. Речевой декодер обычно конфигурируется, чтобы преобразовать такой набор в соответствующий набор значений коэффициентов LPC.

Фиг.1 показывает общий пример речевого декодера, который включает в себя фильтр синтеза с возбуждением. Чтобы декодировать кодированный кадр, деквантованные значения коэффициентов LPC используют для конфигурирования фильтра синтеза в декодере. Закодированный кадр может также включать в себя временную информацию или информацию, которая описывает распределение энергии во времени в пределах периода кадра. Например, временная информация может описывать сигнал возбуждения, который используется для возбуждения фильтра синтеза, чтобы воспроизвести речевой сигнал.

Активный кадр речевого сигнала может быть классифицирован как один из двух или более различных типов, такой как голосовой (например, представляющий гласный звук), неголосовой (например, представляющий фрикативный звук) или переходный (например, представляющий начало или конец слова). Кадры голосовой речи имеют тенденцию иметь периодическую структуру, которая является долговременной (то есть, которая продолжается более одного периода кадра) и относится к основному тону, и обычно более эффективно кодировать голосовой кадр (или последовательность голосовых кадров) с использованием режима кодирования, который кодирует описание этой долговременной спектральной особенности. Примеры таких режимов кодирования включают в себя линейное предсказание с кодовым возбуждением (CELP), период основного тона прототипа (PPP) и интерполяцию волновым (vaweform) прототипом (PWI). Неголосовые кадры и неактивные кадры, с другой стороны, обычно испытывают недостаток в какой-либо значительной долговременной спектральной особенности, и речевой кодер может быть конфигурирован для кодирования этих кадров, используя режим кодирования, который не пытается описать такую особенность. Линейное предсказание с возбуждением шумом (NELP) является одним примером такого режима кодирования.

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

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

Некоторые системы CELP моделируют периодичность, используя фильтр, прогнозирующий основной тон. Другие системы CELP используют адаптивную кодовую книгу (или ACB, также называемую "кодовая книга основного тона"), чтобы моделировать периодический или связанный с основным тоном компонент сигнала возбуждения, с фиксированной кодовой книгой (также называемой "инновационной кодовой книгой"), обычно используемой для моделирования непериодического компонента, как, например, последовательность позиций импульсов. Обычно, «сильно» голосовые сегменты являются наиболее перцепционно релевантными. Для «сильно» голосового речевого кадра, который кодирован, используя схему адаптивного CELP, большая часть сигнала возбуждения моделируется посредством ACB, которая является обычно строго периодической с доминирующим частотным компонентом, соответствующим задержке (шагу) основного тона.

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

Один параметр адаптивно кодированного кадра - запаздывание основного тона (также называемая задержкой или задержкой основного тона). Этот параметр обычно выражается как количество речевых выборок, которое максимизирует автокорреляционную функцию кадра и может включать в себя дробный компонент. Частота основного тона человеческого голоса находится обычно в диапазоне от 40 до 500 Гц, что соответствует приблизительно от 200 до 16 выборок. Один пример адаптивного декодера CELP преобразовывает выбранную запись ACB посредством одного запаздывания основного тона. Декодер может также интерполировать транслируемую запись (например, используя фильтр с конечно импульсной характеристикой, FIR). В некоторых случаях запаздывание основного тона может служить индексом ACB. Другой пример адаптивного декодера CELP конфигурируется, чтобы сгладить (или "изменить шкалу времени") сегмент адаптивной кодовой книги согласно соответствующим последовательным, но различным значениям параметра запаздывания основного тона.

Другой параметр адаптивно кодированного кадра - усиление ACB (или усиление основного тона), который указывает уровень долговременной периодичности и обычно оценивается для каждого подкадра. Чтобы получить вклад ACB в сигнал возбуждения для конкретного подкадра, декодер умножает интерполированный сигнал (или его соответствующую часть) на соответствующее значение усиления ACB. Фиг.3 показывает блок-схему одного примера декодера CELP, имеющего ACB, где gc и gp обозначают усиление кодовой книги и усиление основного тона соответственно. Другой обычный параметр ACB - дельта-задержка, которая указывает разность в задержке между текущим и предыдущим кадрами и может быть использована для вычисления запаздывания основного тона для стертых или поврежденных кадров.

Известный кодер речи временной области - прогнозирующий кодер с линейным кодовым возбуждением (CELP), описанный в B. Rabiner & R.W. Schafer, Digital Processing of Speech Signals, стр 396-453 (1978). Примерный кодер CELP с переменной скоростью кодирования описан в патенте US 5,414,796, который передан заявителю настоящего изобретения и полностью включен в настоящее описание по ссылке. Есть много вариантов CELP. Представительные примеры включают в себя следующее: AMR Speech Codec (Adaptive Multi-Rate, Third Generation Partnership Project (3GPP) Technical Specification (TS) 26.090, части 4, 5 и 6, декабрь 2004); AMR-WB Speech Codec (AMR-Wideband, International Telecommunications Union (ITU)-T Recommendation 722.2, части 5 и 6, июль 2003); и EVRC (Enhanced Variable Rate Codec), внутренний стандарт IS-127 Ассоциации электронной промышленности США (EIA)/ Ассоциации Промышленности Средств связи (TIA), часть 4 и часть 5, январь 1997).

Фиг.4 иллюстрирует зависимости по данным в процессе декодирования последовательности кадров CELP. Кодированный кадр B обеспечивает адаптивный коэффициент усиления B, и адаптивная кодовая книга обеспечивает последовательность А, основанную на информации от предыдущего сигнала возбуждения A. Процесс декодирования генерирует сигнал возбуждения B на основании адаптивного коэффициента усиления B и последовательности A, который спектрально формируется согласно спектральной информации из закодированного кадра B, чтобы получить декодированный кадр B. Процесс декодирования также обновляет адаптивную кодовую книгу на основании сигнала возбуждения B. Следующий кодированный кадр C обеспечивает адаптивный коэффициент усиления C, и адаптивная кодовая книга обеспечивает последовательность B на основании сигнала возбуждения B. Процесс декодирования генерирует сигнал возбуждения C на основании адаптивного коэффициента усиления C и последовательности B, который спектрально формируется согласно спектральной информации из закодированного кадра C, для получения декодированного кадра C. Процесс декодирования также обновляет адаптивную кодовую книгу на основании сигнала возбуждения C и так далее, пока не встретится кадр, закодированный в другом режиме кодирования (например, NELP).

Может быть желательно использовать схему кодирования с переменной скоростью (например, чтобы сбалансировать сетевые требования и емкость). Может быть также желательно использовать многорежимную схему кодирования, в которой кадры кодируют, используя различные режимы согласно классификации, основанной на, например, периодичности или озвучивании. Например, может быть желательно для речевого кодера использовать различные режимы кодирования и/или скорости передачи в битах для активных кадров и неактивных кадров. Может быть также желательно для речевого кодера использовать различные комбинации скоростей передачи в битах и режимов кодирования (также называемые "схемами кодирования") для различных типов активных кадров. Один пример такого речевого кодера использует полноскоростную схему CELP для кадров, содержащих голосовые речевые и переходные кадры, полускоростную схему NELP для кадров, содержащих неголосовую (неозвученную) речь, и схему NELP со скоростью кодирования одна восьмая для неактивных кадров. Другие примеры такого речевого кодера поддерживают множество скоростей кодирования для одной или более схем кодирования, таких как полноскоростная и полускоростная схемы CELP и/или полноскоростная и четвертьскоростная схемы PPP.

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