способы и устройство кодирования и декодирования части речевого сигнала диапазона высоких частот
Классы МПК: | G10L21/04 временное сжатие или расширение |
Автор(ы): | ВОС Кон Бернард (US), КАНДХАДАЙ Анантхападманабхан А. (US) |
Патентообладатель(и): | КВЭЛКОММ ИНКОРПОРЕЙТЕД (US) |
Приоритеты: |
подача заявки:
2006-04-03 публикация патента:
27.10.2010 |
Изобретение относится к обработке речевого сигнала. Широкополосный речевой кодер, согласно одному варианту осуществления, включает в себя кодер диапазона низких частот и кодер диапазона высоких частот. Кодер диапазона низких частот выполнен с возможностью кодирования части широкополосного речевого сигнала диапазона низких частот как набор параметров фильтра и кодированный сигнал возбуждения. Кодер диапазона высоких частот выполнен с возможностью вычисления значений параметров кодирования, которые задают спектральную огибающую и временную огибающую части широкополосного речевого сигнала диапазона высоких частот. Временная огибающая основана на сигнале возбуждения диапазона высоких частот, полученном из кодированного сигнала возбуждения. В одном таком примере временная огибающая основана на разности уровней между частью в диапазоне высоких частот и синтезированным сигналом диапазона высоких частот, причем синтезированный сигнал диапазона высоких частот генерируется согласно сигналу возбуждения диапазона высоких частот и набору параметров фильтра диапазона высоких частот. Технический результат - обеспечение расширения узкополосного речевого кодера для поддержки передачи и/или сохранения широкополосных речевых сигналов при увеличении пропускной способности. 5 н. и 26 з.п. ф-лы, 46 ил.
Формула изобретения
1. Способ кодирования части речевого сигнала диапазона высоких частот, имеющего узкополосную часть и часть в диапазоне высоких частот, содержащий этапы, на которых
вычисляют набор параметров фильтра, характеризующих спектральную огибающую части в диапазоне высоких частот,
вычисляют спектрально расширенный сигнал путем расширения спектра сигнала, полученного из узкополосной части, и
вычисляют огибающую усиления на основании соотношения между частью в диапазоне высоких частот и сигналом, основанным на узкополосной части.
2. Способ по п.1, в котором на этапе расширения спектра сигнала, полученного из узкополосной части, применяют нелинейную функцию к сигналу.
3. Способ по любому из п.1 или 2, в котором упомянутое соотношение является соотношением между энергией части в диапазоне высоких частот и энергией сигнала, основанного на узкополосной части.
4. Способ по п.1, содержащий этапы, на которых генерируют сигнал возбуждения диапазона высоких частот, основанный на спектрально расширенном сигнале, и генерируют синтезированный сигнал диапазона высоких частот согласно набору параметров фильтра и сигналу возбуждения диапазона высоких частот, и
в котором сигнал, основанный на узкополосной части, является синтезированным сигналом диапазона высоких частот.
5. Способ по п.1, содержащий этап, на котором генерируют сигнал возбуждения диапазона высоких частот посредством смешивания гармонически расширенного сигнала, основанного на спектрально расширенном сигнале, и модулированного шумового сигнала.
6. Способ по п.5, в котором этап, на котором генерируют сигнал возбуждения диапазона высоких частот, заключается в том, что
вычисляют огибающую во временном измерении одного сигнала из гармонически расширенного сигнала и узкополосного сигнала возбуждения, полученного из узкополосной части; и
модулируют по амплитуде шумовой сигнал в соответствии с огибающей во временном измерении для получения модулированного шумового сигнала.
7. Способ по любому из пп.5 или 6, в котором сигнал, основанный на узкополосной части, является одним из узкополосного сигнала возбуждения, сигнала возбуждения диапазона высоких частот и синтезированного сигнала диапазона высоких частот.
8. Способ по п.1, в котором сигнал, основанный на узкополосной части, является одним из узкополосного сигнала возбуждения, сигнала возбуждения диапазона высоких частот и синтезированного сигнала диапазона высоких частот.
9. Способ по п.1, в котором сигнал, основанный на узкополосной части, является основанным на узкополосном сигнале возбуждения, полученном из узкополосной части.
10. Способ по п.1, в котором расширение спектра сигнала, полученного из узкополосной части, заключается в том, что расширяют спектр сигнала в диапазон частот части диапазона высоких частот.
11. Способ по п.1, содержащий этап, на котором создают поток параметров кодирования диапазона высоких частот, включающих в себя набор параметров фильтра и набор коэффициентов усиления.
12. Способ по п.1, в котором на этапе вычисления огибающей усиления вычисляют набор коэффициентов усиления, и
в котором каждый из набора коэффициентов усиления соответствует различному одному из серии последовательных подкадров кадра части диапазона высоких частот.
13. Способ по п.1, в котором этап вычисления набора коэффициентов усиления заключается в том, что для каждого из набора коэффициентов усиления вычисляют энергию соответствующего подкадра части диапазона высоких частот, используя вырезающую функцию, которая перекрывает соседние подкадры части диапазона высоких частот.
14. Способ обработки речевого сигнала, содержащий этапы, на которых
генерируют сигнал возбуждения диапазона высоких частот на основании узкополосного сигнала возбуждения,
генерируют синтезированный сигнал диапазона высоких частот на основании сигнала возбуждения диапазона высоких частот и кодированной спектральной огибающей речевого сигнала диапазона высоких частот и
вычисляют набор коэффициентов усиления на основании соотношения между речевым сигналом диапазона высоких частот и сигналом, основанным на узкополосном сигнале возбуждения,
причем каждый из набора коэффициентов усиления соответствует различному одному из серии последовательных подкадров кадра речевого сигнала диапазона высоких частот.
15. Способ по п.14, в котором каждый из набора коэффициентов усиления основан на соотношении между энергией соответствующего подкадра речевого сигнала диапазона высоких частот и энергией соответствующей части во временном измерении сигнала, основанного на узкополосном сигнале возбуждения.
16. Способ по п.14, в котором упомянутое соотношение является соотношением между речевым сигналом диапазона высоких частот и синтезированным сигналом диапазона высоких частот.
17. Способ по п.16, в котором каждый из набора коэффициентов усиления основан на соотношении между энергией соответствующего подкадра речевого сигнала диапазона высоких частот и энергией соответствующей части во временном измерении синтезированного сигнала диапазона высоких частот.
18. Способ по любому из пп.14 или 15, в котором сигнал, основанный на узкополосном сигнале возбуждения, является одним из узкополосного сигнала возбуждения, сигнала возбуждения диапазона высоких частот и синтезированного сигнала диапазона высоких частот.
19. Способ декодирования части речевого сигнала диапазона высоких частот, имеющего узкополосную часть и часть в диапазоне высоких частот, содержащий этапы, на которых
принимают набор параметров фильтра, характеризующих спектральную огибающую части в диапазоне высоких частот, и набор коэффициентов усиления, характеризующих временную огибающую части в диапазоне высоких частот,
вычисляют спектрально расширенный сигнал путем расширения спектра сигнала, который основан на узкополосном сигнале возбуждения, полученного из узкополосной части,
генерируют синтезированный сигнал диапазона высоких частот согласно (А) набору параметров фильтра и (В) сигналу возбуждения диапазона высоких частот на основании спектрально расширенного сигнала и
модулируют огибающую усиления синтезированного сигнала диапазона высоких частот согласно набору коэффициентов усиления.
20. Способ по п.19, в котором на этапе расширения спектра сигнала, основанного на узкополосном сигнале возбуждения, применяют нелинейную функцию к сигналу.
21. Способ по любому из пп.19 или 20, в котором на этапе модуляции огибающей усиления изменяют согласно набору коэффициентов усиления амплитуду с течением времени для, по меньшей мере, одного из сигнала, который основан на узкополосном сигнале возбуждения, спектрально расширенного сигнала, сигнала возбуждения диапазона высоких частот и синтезированного сигнала диапазона высоких частот.
22. Устройство, выполненное с возможностью кодирования речевого сигнала диапазона высоких частот в соответствии с информацией в узкополосном кодированном сигнале, содержащее
модуль анализа, выполненный с возможностью создания набора значений параметров, характеризующих спектральную огибающую речевого сигнала в диапазоне высоких частот,
генератор возбуждения диапазона высоких частот, выполненный с возможностью генерирования сигнала возбуждения диапазона высоких частот, основанного на спектрально расширенном сигнале, причем генератор возбуждения диапазона высоких частот включает в себя расширитель спектра, выполненный с возможностью вычисления спектрально расширенного сигнала путем расширения спектра узкополосного сигнала возбуждения, полученного из узкополосного кодированного сигнала, в диапазон частот части диапазона высоких частот, и
калькулятор коэффициента усиления, выполненный с возможностью вычисления огибающей усиления на основании соотношения, изменяющегося со временем, между речевым сигналом диапазона высоких частот и сигналом, основанным на узкополосном сигнале возбуждения.
23. Устройство по п.22, в котором расширитель спектра выполнен с возможностью расширения спектра узкополосного сигнала возбуждения путем применения нелинейной функции к сигналу.
24. Устройство по любому из пп.22 или 23, в котором соотношение, изменяющееся со временем, является соотношением, изменяющимся со временем, между энергией речевого сигнала диапазона высоких частот и энергией сигнала, основанного на узкополосном сигнале возбуждения.
25. Устройство по п.22, содержащее синтезирующий фильтр, выполненный с возможностью генерирования синтезированного сигнала диапазона высоких частот согласно сигналу возбуждения диапазона высоких частот и набору значений параметров, и
причем сигнал, основанный на узкополосном сигнале возбуждения, является синтезированным сигналом диапазона высоких частот.
26. Устройство по п.22, в котором калькулятор коэффициента усиления выполнен с возможностью вычисления огибающей усиления как набора коэффициентов усиления,
причем каждый из набора коэффициентов усиления основан на соотношении между энергией части во временном измерении речевого сигнала диапазона высоких частот и энергией соответствующей части во временном измерении синтезированного сигнала диапазона высоких частот.
27. Устройство по п.22, содержащее сотовый телефон.
28. Декодер речевого сигнала диапазона высоких частот, выполненный с возможностью приема набора параметров фильтра, характеризующих спектральную огибающую части речевого сигнала диапазона высоких частот, и узкополосного сигнала возбуждения, основанного на узкополосной части речевого сигнала, содержащий
генератор возбуждения диапазона высоких частот, выполненный с возможностью генерирования сигнала возбуждения диапазона высоких частот на основании спектрально расширенного сигнала, причем генератор возбуждения диапазона высоких частот включает в себя расширитель спектра, выполненный с возможностью вычисления спектрально расширенного сигнала путем расширения спектра узкополосного сигнала возбуждения,
синтезирующий фильтр, выполненный с возможностью генерирования синтезированного сигнала диапазона высоких частот согласно набору параметров фильтра и сигналу возбуждения диапазона высоких частот, и
элемент регулировки усиления, выполненный с возможностью модулирования огибающей усиления синтезированного сигнала диапазона высоких частот согласно набору коэффициентов усиления, характеризующих временную огибающую части в диапазоне высоких частот.
29. Декодер по п.28, в котором расширитель спектра выполнен с возможностью расширения спектра узкополосного сигнала возбуждения путем применения нелинейной функции к сигналу.
30. Декодер по п.28, в котором элемент регулировки усиления выполнен с возможностью модулирования огибающей усиления посредством изменения согласно набору коэффициентов усиления амплитуды с течением времени, по меньшей мере, одного из узкополосного сигнала возбуждения, спектрально расширенного сигнала, сигнала возбуждения диапазона высоких частот и синтезированного сигнала диапазона высоких частот.
31. Декодер по любому из пп.28-30, в котором элемент регулировки усиления содержит, по меньшей мере, один из умножителя и усилителя.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Данное изобретение относится к обработке сигнала.
Уровень техники
Голосовая связь посредством коммутируемой телефонной сети общего пользования (PSTN) традиционно ограничена по пропускной способности частотным диапазоном 300-3400 кГц. Новые сети для голосовой связи, например сети сотовой связи и передачи голоса по IP (Интернет-протокол, VoIP), могут не иметь такие же ограничения по пропускной способности, и может оказаться желательно передавать и принимать по таким сетям голосовые передачи, которые включают в себя широкий частотный диапазон. Например, может оказаться желательно поддерживать частотный диапазон звука с нижней границей до 50 Гц и/или верхней границей до 7 или 8 кГц. Также может оказаться желательно поддерживать другие приложения, например высококачественную аудио- или аудио/видеоконференцсвязь, которая может иметь аудиоречевой контент в диапазонах, выходящих за пределы традиционных ограничений PSTN.
Расширение диапазона, поддерживаемого речевым кодером, на более высокие частоты может повысить разборчивость речи. Например, информация, которая дифференцирует фрикативные звуки, например 'с' и 'ф', увеличивается на высоких частотах. Расширение диапазона высоких частот (ДВЧ) также может повысить другие качества речи, например присутствие. Например, даже вокализованный гласный звук может иметь спектральную энергию значительно выше ограничения PSTN.
Один подход к широкополосному речевому кодированию предусматривает распространение техники узкополосного речевого кодирования (например, способной кодировать диапазон 0-4 кГц) на широкий спектр. Например, речевой сигнал можно дискретизировать на более высокой частоте, чтобы он включал в себя высокочастотные компоненты, и технику узкополосного кодирования можно перестроить для использования большего количества коэффициентов фильтра, представляющих этот широкополосный сигнал. Техники узкополосного кодирования, например CELP (линейное прогнозирование с кодовым возбуждением), требуют большого объема вычислений, однако широкополосный CELP-кодер может требовать слишком много циклов обработки, чтобы иметь практическое применение во многих мобильных и иных встроенных приложениях. Кодирование всего спектра широкополосного сигнала для достижения нужного качества с использованием такой техники также может приводить к неприемлемо большому увеличению ширины полосы. Кроме того, потребовалось бы перекодирование такого кодированного сигнала прежде, чем передать даже его узкополосную часть и/или декодировать посредством системы, которая поддерживает только узкополосное кодирование.
Другой подход к широкополосному речевому кодированию предусматривает экстраполяцию спектральной огибающей диапазона высоких частот из кодированной узкополосной спектральной огибающей. Хотя такой подход можно реализовать без увеличения ширины полосы и без необходимости в перекодировании, грубую спектральную огибающую или формантную структуру части речевого сигнала диапазона высоких частот, в общем случае, невозможно точно прогнозировать на основании спектральной огибающей узкополосной части.
Может оказаться желательно реализовать широкополосное речевое кодирование так, чтобы, по меньшей мере, узкополосную часть кодированного сигнала можно было передавать по узкополосному каналу (например, каналу PSTN) без перекодирования или другого значительного изменения. Эффективность широкополосного расширения кодирования также может быть желательной, например, во избежание значительного сокращения количества пользователей, которые могут обслуживаться в приложениях, например беспроводной сотовой телефонной сети и вещании по беспроводным и проводным каналам.
Сущность изобретения
Согласно одному варианту осуществления, способ кодирования части речевого сигнала диапазона высоких частот, имеющего часть в диапазоне низких частот и часть в диапазоне высоких частот, содержит этапы, на которых вычисляют совокупность параметров фильтра, характеризующих спектральную огибающую части в диапазоне высоких частот; вычисляют спектрально расширенный сигнал путем расширения спектра сигнала, полученного из части в диапазоне низких частот; генерируют синтезированный сигнал диапазона высоких частот согласно (A) сигналу возбуждения диапазона высоких частот, основанному на спектрально расширенном сигнале, и (B) совокупности параметров фильтра; и вычисляют огибающую усиления на основании соотношения между частью в диапазоне высоких частот и сигналом, основанным на части в диапазоне низких частот.
Согласно одному варианту осуществления, способ обработки речи включает в себя этапы, на которых генерируют сигнал возбуждения диапазона высоких частот на основании сигнала возбуждения диапазона низких частот; генерируют синтезированный сигнал диапазона высоких частот на основании речевого сигнала диапазона высоких частот и сигнала возбуждения диапазона высоких частот; и вычисляют совокупность коэффициентов усиления на основании соотношения между речевым сигналом диапазона высоких частот и сигналом, основанным на сигнале возбуждения диапазона низких частот.
Согласно другому варианту осуществления, способ декодирования части речевого сигнала диапазона высоких частот, имеющего часть в диапазоне низких частот и часть в диапазоне высоких частот, содержит этапы, на которых принимают совокупность параметров фильтра, характеризующих спектральную огибающую части в диапазоне высоких частот, и совокупность коэффициентов усиления, характеризующих временную огибающую части в диапазоне высоких частот; вычисляют спектрально расширенный сигнал путем расширения спектра сигнала, который основан на сигнале возбуждения диапазона низких частот; генерируют синтезированный сигнал диапазона высоких частот согласно (A) совокупности параметров фильтра и (B) сигналу возбуждения диапазона высоких частот, основанному на спектрально расширенном сигнале; и модулируют огибающую усиления синтезированного сигнала диапазона высоких частот согласно совокупности коэффициентов усиления.
Согласно еще одному варианту осуществления, устройство, выполненное с возможностью кодирования части речевого сигнала диапазона высоких частот, имеющего часть в диапазоне низких частот и часть в диапазоне высоких частот, содержит модуль анализа, выполненный с возможностью вычисления набора параметров фильтра, характеризующих спектральную огибающую части в диапазоне высоких частот; расширитель спектра, выполненный с возможностью вычисления спектрально расширенного сигнала путем расширения спектра сигнала, полученного из части в диапазоне низких частот; синтезирующий фильтр, выполненный с возможностью генерирования синтезированного сигнала диапазона высоких частот согласно (A) сигналу возбуждения диапазона высоких частот, основанному на спектрально расширенном сигнале, и (B) набору параметров фильтра; и калькулятор коэффициента усиления, выполненный с возможностью вычисления огибающей усиления на основании соотношения, изменяющегося со временем, между частью в диапазоне высоких частот и сигналом, основанным на части в диапазоне низких частот.
Согласно еще одному варианту осуществления, речевой декодер диапазона высоких частот выполнен с возможностью приема (A) совокупности параметров фильтра, характеризующих спектральную огибающую части речевого сигнала диапазона высоких частот, и (B) кодированного сигнала возбуждения диапазона низких частот, основанного на части речевого сигнала диапазона низких частот. Декодер включает в себя расширитель спектра, выполненный с возможностью вычисления спектрально расширенного сигнала путем расширения спектра сигнала, который основан на кодированном сигнале возбуждения диапазона низких частот; синтезирующий фильтр, выполненный с возможностью генерирования синтезированного сигнала диапазона высоких частот согласно (А) совокупности параметров фильтра, характеризующих спектральную огибающую части в диапазоне высоких частот, и (В) сигналу возбуждения диапазона высоких частот, основанному на спектрально расширенном сигнале; и элемент регулировки усиления, выполненный с возможностью модулирования огибающей усиления синтезированного сигнала диапазона высоких частот согласно совокупности коэффициентов усиления, характеризующих временную огибающую часть в диапазоне высоких частот.
Краткое описание чертежей
Фиг.1а - блок-схема речевого кодера А100 диапазона высоких частот согласно варианту осуществления.
Фиг.1b - блок-схема реализации А102 широкополосного речевого кодера А100.
Фиг.2а - блок-схема широкополосного речевого декодера В100 согласно варианту осуществления.
Фиг.2b - блок-схема реализации В102 широкополосного речевого декодера В100.
Фиг.3а - блок-схема реализации А112 блока (гребенки) фильтров А110.
Фиг.3b - блок-схема реализации В122 гребенки фильтров В120.
Фиг.4а - полоса частот диапазонов низких и высоких частот для одного примера гребенки фильтров А110.
Фиг.4b - полоса частот диапазонов низких и высоких частот для другого примера гребенки фильтров А110.
Фиг.4с - блок-схема реализации А114 гребенки фильтров А112.
Фиг.4d - блок-схема реализации В124 гребенки фильтров В122.
Фиг.5а - пример графика зависимости частоты от логарифмической амплитуды для речевого сигнала.
Фиг.5b - блок-схема базовой системы кодирования с линейным прогнозированием.
Фиг.6 - блок-схема реализации А122 узкополосного кодера А120.
Фиг.7 - блок-схема реализации В112 узкополосного декодера В110.
Фиг.8а - пример графика зависимости частоты от логарифмической амплитуды для остаточного сигнала для вокализованной речи.
Фиг.8b - пример графика зависимости времени от логарифмической амплитуды для остаточного сигнала для вокализованной речи.
Фиг.9 - блок-схема базовой системы кодирования с линейным прогнозированием, которая также осуществляет долгосрочное прогнозирование.
Фиг.10 - блок-схема реализации А202 кодера А200 диапазона высоких частот.
Фиг.11 - блок-схема реализации А302 генератора возбуждения А300 диапазона высоких частот.
Фиг.12 - блок-схема реализации А402 расширителя спектра А400.
Фиг. 12a - графики спектров сигнала в различных точках в одном примере операции расширения спектра.
Фиг. 12b - графики спектров сигнала в различных точках в другом примере операции расширения спектра.
Фиг. 13 - блок-схема реализации A304 генератора возбуждения A302 диапазона высоких частот.
Фиг. 14 - блок-схема реализации A306 генератора возбуждения A302 диапазона высоких частот.
Фиг. 15 - логическая блок-схема задачи (программного модуля) T100 вычисления огибающей.
Фиг. 16 - блок-схема реализации 492 объединителя 490.
Фиг. 17 иллюстрирует подход к вычислению показателя периодичности сигнала S30 диапазона высоких частот.
Фиг. 18 - блок-схема реализации A312 генератора возбуждения A302 диапазона высоких частот.
Фиг. 19 - блок-схема реализации A314 генератора возбуждения A302 диапазона высоких частот.
Фиг. 20 - блок-схема реализации A316 генератора возбуждения A302 диапазона высоких частот.
Фиг. 21 - логическая блок-схема задачи T200 вычисления коэффициента усиления.
Фиг. 22 - логическая блок-схема реализации T210 задачи T200 вычисления коэффициента усиления.
Фиг. 23a - диаграмма вырезающей функции.
Фиг. 23b - применение вырезающей функции, показанной на фиг. 23a, к подкадрам речевого сигнала.
Фиг. 24 - блок-схема реализации B202 декодера B200 диапазона высоких частот.
Фиг.25 - блок-схема реализации AD10 широкополосного речевого кодера А100.
Фиг.26а - схема реализации D122 линии задержки D120.
Фиг.26b - схема реализации D124 линии задержки D120.
Фиг.27 - схема реализации D130 линии задержки D120.
Фиг.28 - блок-схема реализации AD12 широкополосного речевого кодера AD10.
Фиг.29 - логическая блок-схема способа обработки сигнала MD100 согласно варианту осуществления.
Фиг.30 - логическая блок-схема способа М100 согласно варианту осуществления.
Фиг.31а - логическая блок-схема способа М200 согласно варианту осуществления.
Фиг.31b - логическая блок-схема для реализации М210 способа М200.
Фиг.32 - логическая блок-схема способа М300 согласно варианту осуществления.
Фиг.33 - блок-схема реализации А204 высокополосного кодера А200.
На чертежах и в прилагаемом описании одинаковые позиции обозначают одинаковые или аналогичные элементы или сигналы.
Подробное описание
Описанные здесь варианты осуществления включают в себя системы, способы и устройство, которые могут быть способны обеспечивать расширение узкополосного речевого кодера для поддержки передачи и/или сохранения широкополосных речевых сигналов при увеличении пропускной способности лишь примерно от 800 до 1000 бит/с (бит в секунду). Потенциальные преимущества таких реализаций включают в себя встроенное кодирование для поддержки совместимости с узкополосными системами, относительно легкое выделение и повторное выделение битов между каналами узкополосного кодирования и кодирования в диапазоне высоких частот, освобождение от операции широкополосного синтеза, требующего большого объема вычислений, и поддержку низкой частоты дискретизации для сигналов, обрабатываемых посредством процедур кодирования формы волны, требующих большого объема вычислений.
Если в явном виде не указано в контексте, термин "вычисление" используется здесь для указания любого из его обычных значений, например расчет, генерация и выбор из списка значений. Термин "содержащий", используемый в настоящем описании и формуле изобретения, не исключает других элементов или операций. Выражение "A основано на B" используется для указания любого из его обычных значений, в том числе случаев (i) "A равно B" и (ii) "A основано на, по меньшей мере, B". Термин "Интернет-протокол" включает в себя версию 4, описанную в IETF (Internet Engineering Task Force) RFC (Request for Comments) 791, и последующие версии, например версию 6.
На фиг. 1a показана блок-схема широкополосного речевого кодера A100 согласно варианту осуществления. Гребенка фильтров A110 способна фильтровать широкополосный речевой сигнал S10 для создания узкополосного сигнала S20 и сигнала S30 диапазона высоких частот. Узкополосный кодер A120 способен кодировать узкополосный сигнал S20 для создания узкополосных (NB) параметров фильтра S40 и узкополосного остаточного сигнала S50. Согласно приведенному здесь более подробному описанию, узкополосный кодер A120 обычно способен создавать узкополосные параметры фильтра S40 и кодированный узкополосный сигнал возбуждения S50 в виде индексов кодовой книги или в другой квантованной форме. Кодер A200 диапазона высоких частот способен кодировать сигнал S30 диапазона высоких частот согласно информации в кодированном узкополосном сигнале возбуждения S50 для создания параметров кодирования S60 диапазона высоких частот. Согласно приведенному здесь более подробному описанию, кодер A200 диапазона высоких частот обычно способен создавать параметры кодирования S60 диапазона высоких частот в виде индексов кодовой книги или в другой квантованной форме. В одном конкретном примере, широкополосный речевой кодер A100 способен кодировать широкополосный речевой сигнал S10 со скоростью около 8,55 кбит/с (килобит в секунду), при этом около 7,55 кбит/с используется для узкополосных параметров фильтра S40 и кодированного узкополосного сигнала возбуждения S50, и около 1 кбит/с используется для параметров кодирования S60 диапазона высоких частот.
Может оказаться желательно объединять кодированные узкополосный сигнал и сигнал диапазона высоких частот в единый битовый поток. Например, может оказаться желательно мультиплексировать кодированные сигналы друг с другом для передачи (например, по проводному, оптическому или беспроводному каналу связи) или для сохранения в виде кодированного широкополосного речевого сигнала. На фиг. 1b показана блок-схема реализации A102 широкополосного речевого кодера A100, который включает в себя мультиплексор A130, способный объединять параметры узкополосного фильтра S40, кодированный узкополосный сигнал возбуждения S50 и параметры фильтра S60 диапазона высоких частот в мультиплексированный сигнал S70.
Устройство, включающее в себя кодер A102, также может включать в себя схему, способную передавать мультиплексированный сигнал S70 в канал связи, например проводной, оптический или беспроводной канал. Такое устройство также может быть способно осуществлять одну или несколько канальных операций кодирования на сигнале, например кодирование с коррекцией ошибок (например, сверточное кодирование, совместимое по скорости) и/или кодирование с обнаружением ошибок (например, кодирование с циклической избыточностью) и/или кодирование на одном или нескольких уровнях сетевого протокола (например, Ethernet, TCP/IP, cdma2000).
Может оказаться желательно, чтобы мультиплексор A130 был способен внедрять кодированный узкополосный сигнал (включающий в себя узкополосные параметры фильтра S40 и кодированный узкополосный сигнал возбуждения S50) в виде разделяемого битового потока мультиплексированного сигнала S70, что позволило бы восстанавливать и декодировать кодированный узкополосный сигнал независимо от другой части мультиплексированного сигнала S70, например сигнала диапазона высоких частот и/или диапазона низких частот. Например, мультиплексированный сигнал S70 может быть построен так, что кодированный узкополосный сигнал можно восстанавливать, отбрасывая параметры фильтра S60 диапазона высоких частот. Еще одно потенциальное преимущество такой особенности в том, что она позволяет избегать необходимости в перекодировании кодированного широкополосного сигнала до передачи его в систему, которая поддерживает декодирование узкополосного сигнала, но не поддерживает декодирование части в диапазоне высоких частот.
На фиг.2a показана блок-схема широкополосного речевого декодера B100 согласно варианту осуществления. Узкополосный декодер B110 способен декодировать узкополосные параметры фильтра S40 и кодированный узкополосный сигнал возбуждения S50 для создания узкополосного сигнала S90. Декодер B200 диапазона высоких частот способен декодировать параметры кодирования S60 диапазона высоких частот согласно узкополосному сигналу возбуждения S80, на основании кодированного узкополосного сигнала возбуждения S50, для создания сигнала S100 диапазона высоких частот. В этом примере, узкополосный декодер B110 способен выдавать узкополосный сигнал возбуждения S80 на декодер B200 диапазона высоких частот. Гребенка фильтров B120 способна объединять узкополосный сигнал S90 и сигнал S100 диапазона высоких частот для создания широкополосного речевого сигнала S110.
На фиг.2b показана блок-схема реализации B102 широкополосного речевого декодера B100, который включает в себя демультиплексор B130, способный создавать кодированные сигналы S40, S50 и S60 из мультиплексированного сигнала S70. Устройство, включающее в себя декодер B102, может включать в себя схему, способную принимать мультиплексированный сигнал S70 из канала связи, например, проводного, оптического или беспроводного канала. Такое устройство также может быть способно осуществлять одну или несколько канальных операций декодирования на сигнале, например декодирование с коррекцией ошибок (например, сверточное декодирование, совместимое по скорости) и/или декодирование с обнаружением ошибок (например, декодирование с циклической избыточностью), и/или декодирование на одном или нескольких слоях сетевого протокола (например, Ethernet, TCP/IP, cdma2000).
Гребенка фильтров A110 способна фильтровать входной сигнал согласно схеме расщепленных диапазонов для создания низкочастотного поддиапазона и высокочастотного поддиапазона. В зависимости от критериев конструкции для конкретного приложения, поддиапазоны выходного сигнала могут иметь полосы равной или неравной ширины и могут быть перекрывающимися или неперекрывающимися. Возможна также конфигурация гребенки фильтров A110, которая создает более двух поддиапазонов. Например, такая гребенка фильтров может быть способна создавать один или несколько сигналов диапазона низких частот, которые включают в себя составляющие в частотном диапазоне с частотой ниже, чем в узкополосном сигнале S20 (например, в диапазоне 50-300 Гц). Такая гребенка фильтров также может быть способна создавать один или несколько дополнительных сигналов диапазона высоких частот, которые включают в себя составляющие в частотном диапазоне с частотой выше, чем в сигнале S30 диапазона высоких частот (например, в диапазоне 14-20, 16-20 или 16-32 кГц). В таком случае, можно реализовать широкополосный речевой кодер A100 для отдельного кодирования этого/их сигнала или сигналов, и мультиплексор A130 может быть способен включать в себя дополнительный/е кодированный/е сигнал или сигналы в мультиплексированном сигнале S70 (например, в качестве отдельной части).
На фиг.3a показана блок-схема реализации A112 гребенки фильтров A110, которая способна создавать сигналы двух поддиапазонов, имеющих сниженные частоты дискретизации. Гребенка фильтров A110 способна принимать широкополосный речевой сигнал S10, имеющий высокочастотную (или диапазона высоких частот) часть и низкочастотную (или диапазона низких частот) часть. Гребенка фильтров A112 включает в себя тракт обработки диапазона низких частот, способный принимать широкополосный речевой сигнал S10 и создавать узкополосный речевой сигнал S20, и тракт обработки диапазона высоких частот, способный принимать широкополосный речевой сигнал S10 и создавать речевой сигнал S30 диапазона высоких частот. Фильтр 110 нижних частот фильтрует широкополосный речевой сигнал S10, пропуская выбранный низкочастотный поддиапазон, и фильтр 130 верхних частот фильтрует широкополосный речевой сигнал S10, пропуская выбранный высокочастотный поддиапазон. Поскольку сигналы обоих поддиапазонов имеют более узкие полосы, чем широкополосный речевой сигнал S10, их частоты дискретизации можно снизить до некоторой степени без потери информации. Блок 120 понижения частоты дискретизации снижает частоту дискретизации низкочастотного сигнала согласно нужному коэффициенту децимации (например, путем удаления выборок сигнала и/или замены выборок средними значениями), и блок 140 понижения частоты дискретизации аналогично снижет частоту дискретизации высокочастотного сигнала согласно другому нужному коэффициенту децимации.
На фиг.3b показана блок-схема соответствующей реализации B122 гребенки фильтров B120. Блок 150 повышения частоты дискретизации повышает частоту дискретизации узкополосного сигнала S90 (например, путем вставки нулей и/или путем дублирования выборок), и фильтр 160 нижних частот фильтрует сигнал, преобразованный с повышением частоты дискретизации, пропуская только часть в диапазоне низких частот (например, для предотвращения помехи дискретизации). Аналогично, блок 170 повышения частоты дискретизации повышает частоту дискретизации сигнала S100 диапазона высоких частот, и фильтр 180 верхних частот фильтрует сигнал, преобразованный с повышением частоты дискретизации, пропуская только часть в диапазоне высоких частот. Затем два полосовых сигнала суммируются для формирования широкополосного речевого сигнала S110. В некоторых реализациях декодера B100, гребенка фильтров B120 способна создавать взвешенную сумму двух полосовых сигналов согласно одному или нескольким весовым коэффициентам, полученным и/или вычисленным декодером B200 диапазона высоких частот. Возможна также конфигурация гребенки фильтров B120, которая объединяет более двух полосовых сигналов.
Каждый из фильтров 110, 130, 160, 180 можно реализовать в виде фильтра с конечной импульсной характеристикой (FIR) или фильтра с бесконечной импульсной характеристикой (IIR). Частотные характеристики фильтров 110 и 130 кодера могут иметь переходные области симметричной или асимметричной формы между полосой заграждения и полосой пропускания. Аналогично, частотные характеристики фильтров 160 и 180 декодера могут иметь переходные области симметричной или асимметричной формы между полосой заграждения и полосой пропускания. Может оказаться желательно, но не строго обязательно, чтобы фильтр 110 нижних частот имел такую же характеристику, как фильтр 160 нижних частот, и чтобы фильтр 130 верхних частот имел такую же характеристику, как фильтр 180 верхних частот. В одном примере, две пары фильтров 110, 130 и 160, 180 образуют гребенку квадратурных зеркальных фильтров (QMF), причем пара фильтров 110, 130 имеют такие же коэффициенты, как пара фильтров 160, 180.
В типичном примере, фильтр 110 нижних частот имеет полосу пропускания, которая включает в себя ограниченный диапазон PSTN 300-3400 Гц (например, полосу от 0 до 4 кГц). На фиг. 4a и 4b показаны относительные ширины полосы широкополосного речевого сигнала S10, узкополосного сигнала S20 и сигнала S30 диапазона высоких частот в двух разных примерах реализации. В этих двух конкретных примерах, широкополосный речевой сигнал S10 имеет частоту дискретизации 16 кГц (представляющую частотные составляющие в диапазоне от 0 до 8 кГц), и узкополосный сигнал S20 имеет частоту дискретизации 8 кГц (представляющую частотные составляющие в диапазоне от 0 до 4 кГц).
В примере, приведенном на фиг. 4a, нет значительного перекрывания между двумя поддиапазонами. Сигнал S30 диапазона высоких частот, как показано в этом примере, можно получить с использованием фильтра 130 верхних частот с полосой пропускания 4-8 кГц. В таком случае, может оказаться желательно снизить частоту дискретизации до 8 кГц посредством преобразования с понижением частоты дискретизации фильтрованного сигнала с коэффициентом два. Такая операция, которая, предположительно, значительно снижает вычислительную сложность дальнейших операций обработка сигнала, смещает энергию полосы пропускания в диапазон от 0 до 4 кГц без потери информации.
В альтернативном примере, показанном на фиг. 4b, верхний и нижний поддиапазоны имеют заметное перекрытие, вследствие чего область от 3,5 до 4 кГц описывается сигналами обоих поддиапазонов. Сигнал S30 диапазона высоких частот, представленный в этом примере, можно получить с использованием фильтра 130 верхних частот с полосой пропускания 3,5-7 кГц. В таком случае, может оказаться желательно снизить частоту дискретизации до 7 кГц путем преобразования с понижением частоты дискретизации фильтрованного сигнала с коэффициентом 16/7. Такая операция, которая, предположительно, значительно снижает вычислительную сложность дальнейших операций обработка сигнала, смещает энергию полосы пропускания в диапазон от 0 до 3,5 кГц без потери информации.
В обычной телефонной трубке для телефонной связи, один или несколько преобразователей (т.е. микрофон и телефон или громкоговоритель) страдает недостатком ощутимой характеристики в частотном диапазоне 7-8 кГц. В примере, приведенном на фиг. 4b, часть широкополосного речевого сигнала S10 от 7 до 8 кГц не включена в кодированный сигнал. Другие конкретные примеры фильтра 130 верхних частот имеют полосы пропускания 3,5-7,5 кГц и 3,5-8 кГц.
В некоторых реализациях, обеспечение перекрытия между поддиапазонами, как в примере, приведенном на фиг. 4b, позволяет использовать фильтр нижних частот и/или верхних частот, имеющий плавный спад характеристики в области перекрытия. Такие фильтры обычно легче проектировать, требуют меньшей сложности вычислений и/или вносят меньшую задержку по сравнению с фильтрами с более резкими или "крутыми" характеристиками. Для фильтров, имеющих резкие переходные области, свойственны более высокие боковые полосы (что может приводить к помехе дискретизации), чем у фильтров аналогичного порядка, которые имеют плавный спад характеристики. Фильтры, имеющие резкие переходные области, могут также иметь длинные импульсные характеристики, которые могут приводить к звенящим искажениям. Для реализаций гребенки фильтров, имеющей один или несколько IIR-фильтров, допускающей плавный спад характеристики в области перекрытия, можно использовать фильтр или фильтры, чьи полюсы удалены от единичной окружности, что может играть важную роль для обеспечения устойчивой реализации с фиксированной точкой.
Перекрытие поддиапазонов допускает плавное смешивание нижнего диапазона и верхнего диапазона, что может приводить к уменьшению количества слышимых искажений, снижению помехи дискретизации и/или менее заметному переходу от одного диапазона к другому. Кроме того, эффективность кодирования узкополосного кодера A120 (например, кодера, воспроизводящего форму сигнала) может снижаться с увеличением частоты. Например, качество кодирование узкополосного кодера может снижаться на малых битовых скоростях, особенно при наличии фонового шума. В таких случаях, обеспечение перекрытия поддиапазонов может повысить качество воспроизводимых частотных составляющих в области перекрытия.
Кроме того, перекрытие поддиапазонов допускает плавное смешивание нижнего диапазона и верхнего диапазона, что может приводить к уменьшению количества слышимых искажений, снижению помехи дискретизации и/или менее заметному переходу от одного диапазона к другому. Такая мера может быть особенно желательной для реализации, в которой узкополосный кодер A120 и кодер A200 диапазона высоких частот действуют согласно разным методологиям кодирования. Например, разные техники кодирования могут создавать сигналы, звучащие совершенно по-разному. Кодер, который кодирует спектральную огибающую в виде индексов кодовой книги, может формировать сигнал, имеющий другое звучание, чем кодер, который кодирует амплитудный спектр. Временной кодер (например, кодер на основе импульсно-кодовой модуляции или ИКМ) может формировать сигнал, имеющий другое звучание, чем частотный кодер. Кодер, который кодирует сигнал посредством представления спектральной огибающей и соответствующего остаточного сигнала, может формировать сигнал, имеющий другое звучание, чем кодер, который кодирует сигнал посредством только представления спектральной огибающей. Кодер, который кодирует сигнал в виде представления его формы волны, может создавать выходной сигнал, имеющий другое звучание, чем от синусоидального кодера. В таких случаях, использование фильтров, имеющих резкие переходные области для задания неперекрывающихся поддиапазонов, может приводить к резкому и легко воспринимаемому переходу между поддиапазонами в синтезированном широкополосном сигнале.
Хотя гребенки фильтров QMF, имеющие взаимодополняющие перекрывающиеся частотные характеристики, часто используются в поддиапазонных методиках, такие фильтры непригодны для, по меньшей мере, некоторых из описанных здесь реализаций широкополосного кодирования. Гребенка фильтров QMF на кодере способна создавать значительную помеху дискретизации, которая подавляется соответствующей гребенкой фильтров QMF на декодере. Такая конфигурация может не подходить для приложения, в котором сигнал подвергается значительному искажению между гребенками фильтров, поскольку искажение может снижать эффективность подавления помехи дискретизации. Например, описанные здесь приложения включают в себя реализации кодирования, способные работать на очень низких битовых скоростях. Вследствие очень низкой битовой скорости, велика вероятность того, что декодированный сигнал окажется значительно искаженным по сравнению с исходным сигналом, поэтому использование гребенок фильтров QMF может приводить к неподавленной помехе дискретизации. Приложения, в которых используются гребенки фильтров QMF, обычно имеют более высокие битовые скорости (например, свыше 12 кбит/с для AMR и 64 кбит/с для G.722).
Дополнительно, кодер может быть способен создавать синтезированный сигнал, который, по восприятию, подобен исходному сигналу, но, в действительности, значительно отличается от исходного сигнала. Например, описанный здесь кодер, который выводит возбуждение диапазона высоких частот из узкополосного остатка, может создавать такой сигнал, поскольку фактический остаток диапазона высоких частот может полностью отсутствовать в декодированном сигнале. Использование гребёнок фильтров QMF в таких приложениях может приводить к значительной степени искажения, обусловленного неподавленной помехой дискретизации.
Величину искажения, обусловленного помехой дискретизации QMF, можно снизить, если поддиапазон, подверженный влиянию, узок, поскольку эффект помехи дискретизации ограничивается шириной полосы, равной ширине поддиапазона. Однако в описанных здесь примерах, где каждый поддиапазон включает в себя около половины полосы широкополосного диапазона, искажение, обусловленное неподавленной помехой дискретизации, может оказывать влияние на значительную часть сигнала. На качество сигнала также может влиять положение полосы частот, в которой имеет место неподавленная помеха дискретизации. Например, искажение, создаваемое вблизи центра широкополосного речевого сигнала (например, между 3 и 4 кГц) может быть гораздо менее желательно, чем искажение, возникающее вблизи края сигнала (например, свыше 6 кГц).
Хотя характеристики фильтров гребенки фильтров QMF строго связаны друг с другом, части диапазонов низких и высоких частот гребёнок фильтров A110 и B120 могут быть способны иметь спектры, которые никак не связаны друг с другом за исключением перекрытия двух поддиапазонов. Мы определяем перекрытие двух поддиапазонов как расстояние от точки, в которой частотная характеристика фильтра диапазона высоких частот падает до -20 дБ, до точки, в которой частотная характеристика фильтра диапазона низких частот падает до -20 дБ. В различных примерах гребенки фильтров A110 и/или B120, это перекрытие занимает диапазон от около 200 Гц до около 1 кГц. Диапазон от около 400 до около 600 Гц может представлять желаемый компромисс между эффективностью кодирования и воспринимаемой гладкостью. В одном конкретном примере, упомянутом выше, перекрытие составляет около 500 Гц.
Может оказаться желательно реализовать гребенку фильтров A112 и/или B122 для осуществления операций, показанных на фиг. 4a и 4b, в виде нескольких каскадов. Например, на фиг. 4c показана блок-схема реализации A114 гребенки фильтров A112, которая осуществляет функциональный эквивалент операций высокочастотной фильтрации и преобразования с понижением частоты дискретизации с использованием ряда операций интерполяции, повторной дискретизации, децимации и других операций. Такая реализация допускает упрощение конструирования и/или позволяет сокращать функциональные блоки логики и/или кода. Например, один и тот же функциональный блок можно использовать для осуществления операций децимации до 14 кГц и децимации до 7 кГц, как показано на фиг. 4c. Операцию обращения спектра можно реализовать посредством умножения сигнала на функцию ejn или последовательность (-1)n, которая попеременно принимает значения +1 и -1. Операцию формирования спектра можно реализовать посредством фильтра нижних частот, способного формировать сигнал для получения нужной общей характеристики фильтра.
Заметим, что вследствие операции обращения спектра, спектр сигнала S30 диапазона высоких частот переворачивается.
Последующие операции в кодере и соответствующем декодере могут быть организованы соответственно. Например, описанный здесь генератор возбуждения A300 диапазона высоких частот может быть способен создавать сигнал возбуждения S120 диапазона высоких частот, который также имеет спектрально обращенную форму.
На фиг.4d показана блок-схема реализации В124 гребенки фильтров В122, которая осуществляет функциональный эквивалент операций повышения частоты дискретизации и высокочастотной фильтрации с использованием ряда операций интерполяции, повторной дискретизации и других операций. Гребенка фильтров В124 включает в себя операцию обращения спектра в верхнем диапазоне, которая обращает аналогичную операцию, осуществляемую, например, в гребенке фильтров кодера, например в гребенке фильтров А114. В этом конкретном примере, гребенка фильтров В124 также включает в себя узкополосные режекторные фильтры в диапазоне высоких и низких частот, которые ослабляют составляющую сигнала на 7100 Гц, хотя такие фильтры являются необязательными и не всегда входят в состав устройства. Патентная заявка "SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING", поданная совместно с данной заявкой, сейчас публикация US № 2007/0088558, включает в себя дополнительное описание и чертежи, относящиеся к характеристикам элементов конкретных реализации гребенок фильтров А110 и В120, и этот материал включен, таким образом, посредством ссылки.
Узкополосный кодер А120 реализован согласно модели источник-фильтр, которая предусматривает кодирование входного речевого сигнала в виде (А) набора параметров, описывающих фильтр, и (В) сигнала возбуждения, предписывающего описанному фильтру создавать синтезированное воспроизведение входного речевого сигнала. На фиг. 5a показан пример спектральной огибающей речевого сигнала. Пики, характеризующие эту спектральную огибающую, представляют резонансы речевого тракта и называются формантами. Большинство речевых кодеров кодируют, по меньшей мере, эту грубую спектральную структуру в виде набора параметров, например коэффициентов фильтра.
На фиг. 5b показан пример базовой конфигурации источник-фильтр, применяемой для кодирования спектральной огибающей узкополосного сигнала S20. Модуль анализа вычисляет набор параметров, характеризующих фильтр, соответствующий звуку речи в течение периода времени (обычно 20 мс). Отбеливающий фильтр (также именуемый анализирующим фильтром или фильтром ошибок прогнозирования), настроенный согласно этим параметрам фильтра, удаляет спектральную огибающую для выравнивания спектральной характеристики сигнала. Полученный отбеленный сигнал (также именуемый остатком) имеет меньшую энергию и, таким образом, меньшую дисперсию и легче поддается кодированию, чем исходный речевой сигнал. Ошибки, возникающие при кодировании остаточного сигнала, также могут более равномерно распределяться по спектру. Параметры фильтра и остаток обычно квантуются для эффективной передачи по каналу. На декодере, синтезирующий фильтр, настроенный согласно параметрам фильтра, возбуждается сигналом, основанным на остатке, для создания синтезированной версии исходного звука речи. Синтезирующий фильтр обычно способен иметь передаточную функцию, обратную передаточной функции отбеливающего фильтра.
На фиг. 6 показана блок-схема базовой реализации A122 узкополосного кодера A120. В этом примере, модуль анализа 210 кодирования с линейным прогнозированием (LPC) кодирует спектральную огибающую узкополосного сигнала S20 в виде набора коэффициентов линейного прогнозирования (LP) (например, коэффициентов полюсного фильтра 1/A(z)). Модуль анализа обычно обрабатывает входной сигнал как ряд неперекрывающихся кадров, при этом для каждого кадра вычисляется новый набор коэффициентов. Период кадра - это, в общем случае, период, в течение которого сигнал, предположительно, является локально стационарным; типичный период составляет 20 миллисекунд (что эквивалентно 160 выборкам при частоте дискретизации 8 кГц). В одном примере, модуль анализа 210 LPC способен вычислять набор из десяти коэффициентов НЧ-фильтра для описания формантной структуры каждого 20-миллисекундного кадра. Также возможна реализация модуля анализа, обрабатывающего входной сигнал как ряд перекрывающихся кадров.
Модуль анализа может быть способен анализировать выборки каждого кадра напрямую, или выборки могут сначала взвешиваться согласно вырезающей функции (например, окну Хэмминга). Анализ также может осуществляться по окну, превышающему размер кадра, например 30-миллисекундному окну. Это окно может быть симметрично (например, 5-20-5, включая в себя 5 миллисекунд непосредственно до и после 20-миллисекундного кадра) или асимметричным (например, 10-20, включая в себя последние 10 миллисекунд предыдущего кадра). Модуль анализа LPC обычно способен вычислять коэффициенты НЧ-фильтра с использованием рекурсивного метода Левинсона-Дурбина или алгоритма Леру-Гегюна. В другой реализации модуль анализа может быть способен вычислять набор коэффициентов косинусного преобразования Фурье для каждого кадра вместо набора коэффициентов НЧ-фильтра.
Выходную скорость кодера A120 можно значительно снижать, с относительно небольшим влиянием на качество воспроизведения, благодаря квантованию параметров фильтра. Коэффициенты фильтра линейного прогнозирования трудно эффективно квантовать, и их обычно отображают в другое представление, например линейные спектральные пары (LSP) или линейные спектральные частоты (LSF), для квантования и/или энтропийного кодирования. В примере, приведенном на фиг. 6, преобразование 220 коэффициентов LP-фильтра в LSF преобразует набор коэффициентов НЧ-фильтра в соответствующий набор LSF. Другие взаимно-однозначные представления коэффициентов НЧ-фильтра включают в себя коэффициенты PARCOR; значения логарифмического отношения площадей; иммитансные спектральные пары (ISP); и иммитансные спектральные частоты (ISF), которые используются в кодеке AMR-WB (Adaptive Multirate-Wideband) GSM (Глобальной системы мобильной связи). Обычно преобразование между набором коэффициентов НЧ-фильтра и соответствующим набором LSFs обратимо, но варианты осуществления также включают в себя реализации кодера A120, в которых преобразование невозможно обратить без ошибки.
Квантователь 230 способен квантовать набор узкополосных LSF (или других представлений коэффициентов), и узкополосный кодер A122 способен выводить результат этого квантования в виде узкополосных параметров фильтра S40. Такой квантователь обычно включает в себя векторный квантователь, который кодирует входной как индекс к соответствующей векторной записи в таблице или кодовой книге.
Согласно фиг. 6, узкополосный кодер A122 также генерирует остаточный сигнал, пропуская узкополосный сигнал S20 через отбеливающий фильтр 260 (также именуемый анализирующим фильтром или фильтром ошибок прогнозирования), настроенный согласно набору коэффициентов фильтра. В этом конкретном примере, отбеливающий фильтр 260 реализован как FIR-фильтр, хотя можно также использовать реализации IIR. Этот остаточный сигнал обычно содержит важную, с точки зрения восприятия, информацию речевого кадра, например долговременную структуру, связанную с основным тоном, которая не представлена в узкополосных параметрах фильтра S40. Квантователь 270 способен вычислять квантованное представление этого остаточного сигнала для вывода в качестве кодированного узкополосного сигнала возбуждения S50. Такой квантователь обычно включает в себя векторный квантователь, который кодирует входной как индекс к соответствующей векторной записи в таблице или кодовой книге. Альтернативно, такой квантователь может быть способен передавать один или несколько параметров, из которых на декодере можно динамически генерировать вектор, вместо того чтобы извлекать его из хранилища, как в методе разреженной кодовой книги. Такой способ используется в таких схемах кодирования, как алгебраическое CELP (линейное прогнозирование с кодовым возбуждением), и таких кодеках, как 3GPP2 (Third Generation Partnership 2) EVRC (Enhanced Variable Rate Codec).
Желательно, чтобы узкополосный кодер A120 генерировал кодированный узкополосный сигнал возбуждения согласно тем же значениям параметров фильтра, которые будут доступны соответствующему узкополосному декодеру. Таким образом, результирующий кодированный узкополосный сигнал возбуждения уже может в некоторой степени отвечать за неидеальности в этих значениях параметров, например ошибки квантования. Соответственно, желательно настроить отбеливающий фильтр с использованием тех же значений коэффициентов, которые будут доступны на декодере. В базовом примере кодера A122, показанном на фиг. 6, обратный квантователь 240 деквантует узкополосные параметры кодирования S40, преобразование LSF в коэффициенты LP-фильтра 250 отображает результирующие значения обратно в соответствующий набор коэффициентов НЧ-фильтра, и этот набор коэффициентов используется для настройки отбеливающего фильтра 260 для генерации остаточного сигнала, который квантуется квантователем 270.
Некоторые реализации узкополосного кодера A120 способны вычислять кодированный узкополосный сигнал возбуждения S50 путем идентификации одного из набора векторов кодовой книги, который лучше всех совпадает с остаточным сигналом. Однако заметим, что этот узкополосный кодер A120 также может реализовать для вычисления квантованного представления остаточного сигнала без фактической генерации остаточного сигнала. Например, узкополосный кодер A120 может быть способен использовать некоторое количество векторов кодовой книги для генерации соответствующих синтезированных сигналов (например, согласно текущему набору параметров фильтра), и выбирать вектор кодовой книги, связанный с генерированным сигналом, который лучше всех совпадает с исходным узкополосным сигналом S20 в перцептивно-взвешенной области.
На фиг.7 показана блок-схема реализации В112 узкополосного декодера В110. Обратный квантователь 310 деквантует узкополосные параметры фильтра S40 (в этом случае, в набор LSF), и преобразование LSF в коэффициенты LP-фильтра 320 преобразует LSF в набор коэффициентов фильтра (например, как описано выше со ссылкой на обратный квантователь 240 и преобразование 250 узкополосного кодера А122). Обратный квантователь 340 деквантует кодированный узкополосный сигнал возбуждения S50 для создания узкополосного сигнала возбуждения S80. На основании коэффициентов фильтра и узкополосного сигнала возбуждения S80, узкополосный синтезирующий фильтр 330 синтезирует узкополосный сигнал S90. Иными словами, узкополосный синтезирующий фильтр 330 способен формировать спектр узкополосного сигнала возбуждения S80 согласно деквантованным коэффициентам фильтра для создания узкополосного сигнала S90. Узкополосный декодер В112 также выдает узкополосный сигнал возбуждения S80 на кодер А200 диапазона высоких частот, который использует его для описанного здесь вывода сигнала возбуждения S120 диапазона высоких частот. В некоторых реализациях, описанных ниже, узкополосный декодер В110 может быть способен выдавать на декодер В200 диапазона высоких частот дополнительную информацию, связанную с узкополосным сигналом, например наклон спектра, коэффициент усиления и интервал основного тона, и речевой режим.
Система узкополосного кодера A122 и узкополосного декодера B112 является основным примером речевого кодека на основе анализа через синтез. Кодирование на основе линейного прогнозирования с кодовым возбуждением (CELP) является одним популярным семейством методов кодирования на основе анализа посредством синтеза, и реализации таких кодеров могут осуществлять кодирование на основе формы сигнала остатка, в том числе операции выбора записей из фиксированной и адаптивной кодовых книг, операции минимизации ошибок и/или операции перцептивного взвешивания. Другие реализации кодирования на основе анализа посредством синтеза включают в себя кодирование на основе линейного прогнозирования со смешанным возбуждением (MELP), алгебраического CELP (ACELP), релаксационного CELP (RCELP), регулярного импульсного возбуждения (RPE), многоимпульсного CELP (MPE) и линейного прогнозирования с возбуждением векторной суммой (VSELP). Родственные способы кодирования включают в себя кодирование на основе многополосного возбуждения (MBE) и интерполяции формы сигнала-прототипа (PWI). Примеры стандартных речевых кодеков на основе анализа через синтез включают в себя полноскоростной кодек ETSI (European Telecommunications Standards Institute)-GSM (GSM 06.10), который использует линейное прогнозирование с возбуждением остаточным сигналом (RELP); усовершенствованный полноскоростной кодек GSM (ETSI-GSM 06.60); стандартный кодер со скоростью 11,8 кбит/с согласно ITU (International Telecommunication Union) G.729 Приложение E; кодеки IS (Interim Standard)-641 для IS-136 (схема множественного доступа с кодовым разделением); адаптивные многоскоростные кодеки GSM (GSM-AMR); и кодек 4GV (Fourth-Generation Vocoder ) (QUALCOMM Incorporated, Сан-Диего, Калифорния). Узкополосный кодер A120 и соответствующий декодер B110 можно реализовать согласно любой из этих технологий или любой другой технологии речевого кодирования (известно или перспективной), которая представляет речевой сигнал в виде (A) набора параметров, которые описывают фильтр, и (B) сигнала возбуждения, используемого для предписания описанному фильтру воспроизводить речевой сигнал.
Даже после того, как отбеливающий фильтр удалит грубую спектральную огибающую из узкополосного сигнала S20, может оставаться заметный объем тонкой гармонической структуры, особенно для вокализованной речи. На фиг. 8a показан график спектра одного примера остаточного сигнала, который может быть создан отбеливающим фильтром, для вокализованного сигнала, например гласного звука. Периодическая структура, наблюдаемая в этом примере, относится к основному тону, и другие вокализованные звуки, произносимые тем же диктором, могут иметь разные формантные структуры, но аналогичные структуры основного тона. На фиг. 8b показан график зависимости амплитуды от времени в одном примере такого остаточного сигнала, где показана последовательность импульсов основного тона во времени.
Эффективность кодирования и/или качество речи можно повысить с использованием одного или нескольких значений параметра для кодирования характеристик структуры основного тона. Одной важной характеристикой структуры основного тона является частота первой гармоники (также именуемая основной частотой), которая обычно находится в диапазоне от 60 до 400 Гц. Эта характеристика обычно кодируется как величина, обратная основной частоте, также именуемая интервалом основного тона. Интервал основного тона указывает количество выборок в одном периоде основного тона и может кодироваться как один или несколько индексов кодовой книги. Для речевых сигналов дикторов-мужчин характерны более длительные интервалы основного тона, чем речевые сигналы дикторов-женщин.
Другой характеристикой сигнала, связанной со структурой основного тона, является периодичность, которая указывает интенсивность гармонической структуры или, иными словами, степень гармоничности или негармоничности сигнала. Двумя типичными признаками периодичности являются прохождения через нуль и нормированные автокорреляционные функции (NACF). О периодичности также может свидетельствовать коэффициент усиления основного тона, который обычно кодируется как коэффициент усиления кодовой книги (например, квантованный коэффициент усиления адаптивной кодовой книги).
Узкополосный кодер A120 может включать в себя один или несколько модулей, способных кодировать долговременную гармоническую структуру узкополосного сигнала S20. Согласно фиг. 9, одна типичная структура CELP, которую можно использовать, включает в себя модуль анализа LPC с открытым циклом, который кодирует краткосрочные характеристики или грубую спектральную огибающую, после которого следует каскад анализа долгосрочного прогнозирования с замкнутым циклом, который кодирует тонкую структуру основного тона или гармоник. Краткосрочные характеристики кодируются как коэффициенты фильтра, и долгосрочные характеристики кодируются как значения параметров, например интервал основного тона и коэффициент усиления основного тона. Например, узкополосный кодер A120 может быть способен выводить кодированный узкополосный сигнал возбуждения S50 в форме, которая включает в себя один или несколько индексов кодовой книги (например, индекс фиксированной кодовой книги и индекс адаптивной кодовой книги) и соответствующие значения коэффициента усиления. Вычисление этого квантованного представления узкополосного остаточного сигнала (например, квантователем 270) может включать в себя выбор таких индексов и вычисление таких значений. Кодирование структуры основного тона также может включать в себя интерполяцию формы сигнала-прототипа основного тона, каковая операция может включать в себя вычисление разницы между последовательными импульсами основного тона. Моделирование долговременной структуры можно блокировать для кадров, соответствующих невокализованной речи, которая обычно шумоподобна и неструктурирована.
Реализация узкополосного декодера B110 согласно структуре, показанной на фиг. 9, может быть способна выдавать узкополосный сигнал возбуждения S80 на декодер B200 диапазона высоких частот после восстановления долговременной структуры (основного тона или гармонической структуры). Например, такой декодер может быть способен выводить узкополосный сигнал возбуждения S80 в качестве деквантованной версии кодированного узкополосного сигнала возбуждения S50. Конечно, можно также реализовать узкополосный декодер B110, чтобы декодер B200 диапазона высоких частот осуществлял деквантование кодированного узкополосного сигнала возбуждения S50 для получения узкополосного сигнала возбуждения S80.
В реализации широкополосного речевого кодера A100 согласно схеме, показанной на фиг. 9, кодер A200 диапазона высоких частот может быть способен принимать узкополосный сигнал возбуждения, создаваемый краткосрочным анализом или отбеливающим фильтром. Иными словами, узкополосный кодер A120 может быть способен выдавать узкополосный сигнал возбуждения на кодер A200 диапазона высоких частот до кодирования долговременной структуры. Однако желательно, чтобы кодер A200 диапазона высоких частот принимал из узкополосного канала ту же информацию кодирования, который будет принимать декодер B200 диапазона высоких частот, так что параметры кодирования, сформированные кодером A200 диапазона высоких частот, уже могут в некоторой степени отвечать за неидеальности в этой информации. Таким образом, может быть предпочтительно, чтобы кодер A200 диапазона высоких частот реконструировал узкополосный сигнал возбуждения S80 из того же параметризованного и/или квантованного кодированного узкополосного сигнала возбуждения S50, который выводится широкополосным речевым кодером A100. Одно потенциальное преимущество такого подхода состоит в более точном вычислении коэффициентов усиления S60b диапазона высоких частот, описанном ниже.
Помимо параметров, характеризующих кратковременную и/или долговременную структуру узкополосного сигнала S20, узкополосный кодер A120 может создавать значения параметров, которые относятся к другим характеристикам узкополосного сигнала S20. Эти значения, которые могут быть подходящим образом квантованы для вывода широкополосным речевым кодером A100, можно включать в узкополосные параметры фильтра S40 или выводить отдельно. Кодер A200 диапазона высоких частот также может быть способен вычислять параметры кодирования S60 диапазона высоких частот согласно одному или нескольким из этих дополнительных параметров (например, после деквантования). На широкополосном речевом декодере B100, декодер B200 диапазона высоких частот может быть способен принимать значения параметра через узкополосный декодер B110 (например, после деквантования). Альтернативно, декодер B200 диапазона высоких частот может быть способен принимать (и, возможно, деквантовать) значения параметра напрямую.
В одном примере дополнительных узкополосных параметров кодирования, узкополосный кодер A120 создает значения наклона спектра и параметров речевого режима для каждого кадра. Наклон спектра связан с формой спектральной огибающей по полосе пропускания и обычно представлен квантованным первым коэффициентом отражения. Для большинства вокализованных звуков спектральная энергия снижается с увеличением частоты, так что первый коэффициент отражения отрицателен и может достигать -1. Большинство невокализованных звуков имеет спектр, который является либо плоским, в результате чего первый коэффициент отражения близок к нулю, либо имеет больше энергии на высоких частотах, в результате чего первый коэффициент отражения положителен и может достигать +1.
Речевой режим (также именуемый режимом вокализации) указывает, представляет ли текущий кадр вокализованную или невокализованную речь. Этот параметр может иметь двоичное значение, основанное на одном или нескольких показателях периодичности (например, прохождениях через нуль, NACF, коэффициенте усиления основного тона) и/или речевой активности для кадра, например соотношении между таким показателем и пороговым значением. В других реализациях, параметр речевого режима имеет один или несколько других состояний для указания таких режимов, как молчание или фоновый шум, или переход между молчанием и вокализованной речью.
Кодер A200 диапазона высоких частот способен кодировать сигнал S30 диапазона высоких частот согласно модели источник-фильтр, причем возбуждение для этого фильтра базируется на кодированном узкополосном сигнале возбуждения. На фиг. 10 показана блок-схема реализации A202 кодера A200 диапазона высоких частот, который способен создавать поток параметров кодирования S60 диапазона высоких частот, включающих в себя параметры фильтра S60a диапазона высоких частот и коэффициенты усиления S60b диапазона высоких частот. Генератор возбуждения A300 диапазона высоких частот выводит сигнал возбуждения S120 диапазона высоких частот из кодированного узкополосного сигнала возбуждения S50. Модуль анализа A210 формирует набор значений параметра, характеризующих спектральную огибающую сигнала S30 диапазона высоких частот. В этом конкретном примере, модуль анализа A210 способен осуществлять анализ LPC для формирования набора коэффициентов НЧ-фильтра для каждого кадра сигнала S30 диапазона высоких частот. Преобразование 410 коэффициентов фильтра линейного прогнозирования в LSF преобразует набор коэффициентов НЧ-фильтра в соответствующий набор LSF. Как отмечено выше со ссылкой на модуль анализа 210 и преобразование 220, модуль анализа A210 и/или преобразование 410 могут быть способны использовать другие наборы коэффициентов (например, коэффициентов косинусного преобразования Фурье) и/или представлений коэффициентов (например, ISP).
Квантователь 420 способен квантовать набор LSF диапазона высоких частот (или другого представления коэффициентов, например ISP), и кодер A202 диапазона высоких частот способен выводить результат этого квантования в виде параметров фильтра S60a диапазона высоких частот. Такой квантователь обычно включает в себя векторный квантователь, который кодирует входной вектор как индекс к соответствующей векторной записи в таблице или кодовой книге.
Кодер A202 диапазона высоких частот также включает в себя синтезирующий фильтр A220, способный формировать синтезированный сигнал S130 диапазона высоких частот согласно сигналу возбуждения S120 диапазона высоких частот и кодированной спектральной огибающей (например, набору коэффициентов НЧ-фильтра), созданной модулем анализа A210. Синтезирующий фильтр A220 обычно реализован в виде IIR-фильтра, хотя можно использовать также реализации FIR. В конкретном примере, синтезирующий фильтр A220 реализован в виде линейного авторегрессивного фильтра шестого порядка.
Калькулятор A230 коэффициента усиления диапазона высоких частот вычисляет одну или несколько разностей между уровнями исходного сигнала S30 диапазона высоких частот и синтезированного сигнала S130 диапазона высоких частот для задания огибающей усиления для кадра. Квантователь 430, который можно реализовать как векторный квантователь, который кодирует входной вектор как индекс к соответствующей векторной записи в таблице или кодовой книге, квантует значение или значения, задающее/ие огибающую усиления, и кодер A202 диапазона высоких частот способен выводить результат этого квантования как коэффициенты усиления S60b диапазона высоких частот.
В реализации, показанной на фиг. 10, синтезирующий фильтр A220 способен принимать коэффициенты фильтра от модуля анализа A210. Альтернативная реализация кодера A202 диапазона высоких частот включает в себя обратный квантователь и обратное преобразование, способные декодировать коэффициенты фильтра из параметров фильтра S60a диапазона высоких частот, и, в этом случае, синтезирующий фильтр A220 должен, вместо этого, принимать декодированные коэффициенты фильтра. Такая альтернативная конфигурация может поддерживать более точное вычисление огибающей усиления калькулятором A230 коэффициента усиления диапазона высоких частот.
В одном конкретном примере, модуль анализа A210 и калькулятор A230 коэффициента усиления диапазона высоких частот выводят набор из шести LSF и набор пяти значений коэффициента усиления на кадр, соответственно, что позволяет добиться широкополосного расширения узкополосного сигнала S20 с помощью только одиннадцати дополнительных значений на кадр. Ухо менее чувствительно к частотным искажениям на высоких частотах, благодаря чему кодирование в диапазоне высоких частот при низком порядке LPC может создавать сигнал, имеющий воспринимаемое качество, совместимое с узкополосным кодированием на более высоком порядке LPC. Типичная реализация кодера A200 диапазона высоких частот может быть способна выводить от 8 до 12 битов на кадр для высококачественной реконструкции спектральной огибающей и еще от 8 до 12 битов на кадр для высококачественной реконструкции временной огибающей. В другом конкретном примере, модуль анализа A210 выводит набор из восьми LSF на кадр.
Некоторые реализации кодера A200 диапазона высоких частот способны создавать сигнал возбуждения S120 диапазона высоких частот, генерируя случайный шумовой сигнал, имеющий частотные составляющие диапазона высоких частот и модулируя по амплитуде шумовой сигнал согласно огибающей во временном измерении узкополосного сигнала S20, узкополосного сигнала возбуждения S80 или сигнала S30 диапазона высоких частот. Однако, хотя такой шумовой способ может давать адекватные результаты для невокализованных звуков, его применение может оказаться нежелательным для вокализованных звуков, остатки которых обычно являются гармоническими и, следовательно, имеют некоторую периодическую структуру.
Генератор возбуждения A300 диапазона высоких частот способен генерировать сигнал возбуждения S120 диапазона высоких частот, расширяя спектр узкополосного сигнала возбуждения S80 на частотный диапазон диапазона высоких частот. На фиг. 11 показана блок-схема реализации A302 генератора возбуждения A300 диапазона высоких частот. Обратный квантователь 450 способен деквантовать кодированный узкополосный сигнал возбуждения S50 для создания узкополосного сигнала возбуждения 380. Расширитель спектра А400 способен создавать гармонически расширенный сигнал S160 на основании узкополосного сигнала возбуждения 380. Объединитель 470 способен объединять случайный шумовой сигнал, генерируемый генератором 480 шума, и огибающую во временном измерении, вычисляемую калькулятором 460 огибающей для создания модулированного шумового сигнала S170. Объединитель 490 способен смешивать гармонически расширенный сигнал S160 и модулированный шумовой сигнал S170 для создания сигнала возбуждения S120 диапазона высоких частот.
В одном примере, расширитель спектра А400 способен осуществлять операцию спектрального наложения (также именуемую зеркальным отражением) на узкополосном сигнале возбуждения 380 для создания гармонически расширенного сигнала S160. Спектральное наложение может осуществляться путем заполнения нулями сигнала возбуждения S80 с последующим применением фильтра верхних частот для сохранения помехи дискретизации. В другом примере, расширитель спектра А400 способен создавать гармонически расширенный сигнал S160 путем переноса спектра узкополосного сигнала возбуждения S80 в верхний диапазон (например, путем повышения частоты дискретизации с последующим умножением на косинусоидальный сигнал постоянной частоты).
Способы спектрального наложения и переноса могут создавать спектрально расширенные сигналы, гармоническая структура которых имеет нарушение непрерывности с исходной гармонической структурой узкополосного сигнала возбуждения S80 по фазе и/или частоте. Например, такие способы могут создавать сигналы, пики которых, в общем случае, не соответствуют кратным основной частоты, что может вызывать искажения с металлическим призвуком в реконструированном речевом сигнале. Этим способам также свойственно создавать высокочастотные гармоники, имеющие неестественно сильные тональные характеристики. Кроме того, поскольку сигналы PSTN допускают дискретизацию на 8 кГц, но ограничены по полосе частотой 3400 Гц, верхний спектр узкополосного сигнала возбуждения S80 может содержать мало или вовсе не содержать энергии, в результате чего расширенный сигнал, генерируемый согласно операции спектрального наложения или спектрального переноса, может иметь спектральный провал на частотах выше 3400 Гц.
Другие способы генерации гармонически расширенного сигнала S160 включают в себя идентификацию одной или нескольких основных частот узкополосного сигнала возбуждения S80 и генерацию гармонических тонов согласно этой информации. Например, гармоническая структура сигнала возбуждения может характеризоваться основной частотой совместно с информацией амплитуды и фазы. Другая реализация генератора возбуждения A300 диапазона высоких частот генерирует гармонически расширенный сигнал S160 на основании основной частоты и амплитуды (указанной, например, интервалом основного тона и коэффициентом усиления основного тона). Однако, если гармонически расширенный сигнал не когерентен по фазе с узкополосным сигналом возбуждения S80, качество результирующей декодированной речи может быть неприемлемым.
Нелинейную функцию можно использовать для создания сигнала возбуждения диапазона высоких частот, который когерентен по фазе с узкополосным возбуждением и сохраняет гармоническую структуру без разрыва по фазе. Нелинейная функция может также обеспечивать повышенный уровень шума между высокочастотными гармониками, что обеспечивает более естественное звучание, чем тональные высокочастотные гармоники, создаваемые, например, способами спектрального наложения и спектрального переноса. Типичные нелинейные функции без запоминания, которые могут применяться в различных реализациях расширителя спектра A400, включают в себя функцию абсолютного значения (также именуемую двухполупериодным выпрямлением), однополупериодное выпрямление, возведение в квадрат, возведение в куб и отсечение. Другие реализации расширителя спектра A400 могут быть способны применять нелинейную функцию с запоминанием.
На фиг. 12 показана блок-схема реализации A402 расширителя спектра A400, который способен применять нелинейную функцию для расширения спектра узкополосного сигнала возбуждения S80. Блок 510 повышения частоты дискретизации способен преобразовывать с повышением частоты дискретизации узкополосный сигнал возбуждения S80. Может оказаться желательно преобразовывать сигнал с достаточным повышением частоты дискретизации для минимизации помехи дискретизации после применения нелинейной функции. В одном конкретном примере, блок повышения частоты дискретизации 510 преобразует с повышением частоты дискретизации сигнал с коэффициентом восемь. Блок повышения частоты дискретизации 510 может быть способен осуществлять операцию повышения частоты дискретизации путем вставки нулей в входной сигнал и низкочастотной фильтрации результата. Калькулятор 520 нелинейной функции способен применять нелинейную функцию к сигналу, преобразованному с повышением частоты дискретизации. Одно потенциальное преимущество функции абсолютного значения над другими нелинейными функциями для расширения спектра, например квадратичной функцией, состоит в отсутствии необходимости в нормализации энергии. В некоторых реализациях, функцию абсолютного значения можно эффективно применять, отбрасывая или очищая знаковый бит каждой выборки. Калькулятор 520 нелинейной функции также может быть способен осуществлять амплитудную трансформацию преобразованного с повышением частоты дискретизации или спектрально расширенного сигнала.
Блок 530 понижения частоты дискретизации способен преобразовывать с понижением частоты дискретизации спектрально расширенный результат применения нелинейной функции. Может оказаться желательно, чтобы блок 530 понижения частоты дискретизации осуществлял операцию полосовой фильтрации для выбора нужной полосы частот спектрально расширенного сигнала до снижения частоты дискретизации (например, для снижения или устранения подмены или повреждения ненужным изображением). Также может быть желательно, чтобы блок 530 понижения частоты дискретизации снижал частоту дискретизации в более чем в один этап.
На фиг. 12a показана диаграмма спектров сигнала в различных точках в одном примере операции расширения спектра, где масштаб частоты одинаков для различных графиков. График (a) демонстрирует спектр одного примера узкополосного сигнала возбуждения S80. График (b) демонстрирует спектр после повышения частоты дискретизации сигнала S80 с коэффициентом восемь. График (c) демонстрирует пример расширенного спектра после применения нелинейной функции. График (d) демонстрирует спектр после низкочастотной фильтрации. В этом примере, полоса пропускания доходит до верхней частотной границы сигнала S30 диапазона высоких частот (например, 7 кГц или 8 кГц).
График (e) демонстрирует спектр после первого этапа преобразования с понижением частоты дискретизации, на котором частота дискретизации снижается с коэффициентом четыре для получения широкополосного сигнала. График (f) демонстрирует спектр после операции высокочастотной фильтрации для выбора части расширенного сигнала диапазона высоких частот, и график (g) демонстрирует спектр после второго этапа преобразования с понижением частоты дискретизации, на котором частота дискретизации снижается с коэффициентом два. В одном конкретном примере, блок 530 понижения частоты дискретизации осуществляет высокочастотную фильтрацию и второй этап преобразования с понижением частоты дискретизации, пропуская широкополосный сигнал через фильтр 130 верхних частот и блок 140 понижения частоты дискретизации гребенки фильтров A112 (или другие структуры или процедуры, имеющие такую же характеристику) для создания спектрально расширенного сигнала, имеющего частотный диапазон и частоту дискретизации сигнала S30 диапазона высоких частот.
Из графика (g) следует, что преобразование с понижением частоты дискретизации высокочастотного сигнала, показанного на графике (f), приводит к обращению его спектра. В этом примере, блок 530 понижения частоты дискретизации также способен осуществлять операцию обращения спектра на сигнале. График (h) демонстрирует результат применения операции обращения спектра, которая может осуществляться посредством умножения сигнала на функцию ejn или последовательность (-1)n, которая попеременно принимает значения +1 и -1. Такая операция эквивалентна сдвигу цифрового спектра сигнала в частотном измерении на расстояние . Заметим, что такой же результат можно получить, применяя операции преобразования с понижением частоты дискретизации и обращения спектра в другом порядке. Операции повышения частоты дискретизации и/или преобразования с понижением частоты дискретизации также могут быть способны включать в себя повторную дискретизацию для получения спектрально расширенного сигнала, имеющего частоту дискретизации сигнала S30 диапазона высоких частот (например, 7 кГц).
Как отмечено выше, гребенки фильтров A110 и B120 можно реализовать так, что один или оба из узкополосного и сигналов S20, S30 диапазона высоких частот, имеющих спектрально обращенную форму на выходе гребенки фильтров A110, будет кодироваться и декодироваться в спектрально обращенной форме и снова подвергаться обращению спектра на гребенке фильтров B120 до вывода в широкополосный речевой сигнал S110. В таком случае, конечно, операция обращения спектра, показанная на фиг. 12a, будет не нужна, что было бы желательно для того, чтобы сигнал возбуждения S120 диапазона высоких частот также имел спектрально обращенную форму.
Различные задачи повышения частоты дискретизации и преобразования с понижением частоты дискретизации операции расширения спектра, осуществляемой расширителем спектра A402, можно конфигурировать по-разному. Например, на фиг. 12b показана диаграмма спектров сигнала в различных точках в другом примере операции расширения спектра, где масштаб частоты одинаков для различных графиков. График (a) демонстрирует спектр одного примера узкополосного сигнала возбуждения S80. График (b) демонстрирует спектр после повышения частоты дискретизации сигнала S80 с коэффициентом два. График (c) демонстрирует пример расширенного спектра после применения нелинейной функции. В этом случае, помеха дискретизации, которая может возникать на более высоких частотах, приемлема.
График (d) демонстрирует спектр после операции обращения спектра. График (e) демонстрирует спектр после одного этапа преобразования с понижением частоты дискретизации, на котором частота дискретизации снижается с коэффициентом два для получения нужного спектрально расширенного сигнала. В этом примере, сигнал находится в спектрально обращенной форме и его можно использовать в реализации кодера A200 диапазона высоких частот, который обрабатывал сигнал S30 диапазона высоких частот в такой форме.
Спектрально расширенный сигнал, созданный калькулятором 520 нелинейной функции, с большой вероятностью имеет ярко выраженный спад амплитуды с ростом частоты. Расширитель спектра A402 включает в себя выравниватель спектра 540, способный осуществлять операцию отбеливания на сигнале, преобразованном с понижением частоты дискретизации. Выравниватель спектра 540 может быть способен осуществлять операцию фиксированного отбеливания или осуществлять операцию адаптивного отбеливания. В конкретном примере адаптивного отбеливания, выравниватель спектра 540 включает в себя модуль анализа LPC, способный вычислять набор из четырех коэффициентов фильтра из сигнала, преобразованного с понижением частоты дискретизации, и анализирующий фильтр четвертого порядка, способный отбеливать сигнал согласно этим коэффициентам. Другие реализации расширителя спектра A400 включают в себя конфигурации, в которых выравниватель спектра 540 обрабатывает спектрально расширенный сигнал до блока 530 понижения частоты дискретизации.
Генератор возбуждения A300 диапазона высоких частот можно реализовать для вывода гармонически расширенного сигнала S160 как сигнал возбуждения S120 диапазона высоких частот. Однако, в ряде случаев, использование только гармонически расширенного сигнала в качестве возбуждения диапазона высоких частот может приводить к слышимым искажениям. Гармоническая структура речи, в общем случае, менее ярко выражена в верхнем диапазоне, чем в нижнем диапазоне, и использование слишком гармонической структуры в сигнале возбуждения диапазона высоких частот может приводить к взрывному звуку. Это искажение может быть особенно заметным в речевых сигналах дикторов-женщин.
Варианты осуществления включают в себя реализации генератора возбуждения A300 диапазона высоких частот, которые способны смешивать гармонически расширенный сигнал S160 с шумовым сигналом. Согласно фиг. 11, генератор возбуждения A302 диапазона высоких частот включает в себя генератор шума 480, который способен создавать случайный шумовой сигнал. В одном примере, генератор шума 480 способен создавать белый псевдослучайный шумовой сигнал с единичной дисперсией, хотя, в других реализациях, шумовой сигнал не обязан быть белым и может иметь плотность мощности, изменяющуюся с частотой. Может оказаться желательно, чтобы генератор шума 480 был способен выводить шумовой сигнал как детерминированную функцию, чтобы его состояние можно было дублировать на декодере. Например, генератор шума 480 может быть способен выводить шумовой сигнал как детерминированную функцию информации, закодированной ранее в том же кадре, например узкополосные параметры фильтра S40 и/или кодированный узкополосный сигнал возбуждения S50.
До смешивания с гармонически расширенным сигналом S160, случайный шумовой сигнал, созданный генератором шума 480, можно модулировать по амплитуде, чтобы он имел огибающую во временном измерении, которая аппроксимирует распределение энергии по времени узкополосного сигнала S20, сигнала S30 диапазона высоких частот, узкополосного сигнала возбуждения S80 или гармонически расширенного сигнала S160. Согласно фиг. 11, генератор возбуждения A302 диапазона высоких частот включает в себя объединитель 470, способный модулировать по амплитуде шумовой сигнал, создаваемый генератором шума 480, согласно огибающей во временном измерении, вычисленной калькулятором огибающей 460. Например, объединитель 470 можно реализовать в виде умножителя, способного масштабировать выходной сигнал генератора шума 480 согласно огибающей во временном измерении, вычисленной калькулятором огибающей 460, для создания модулированного шумового сигнала S170.
В реализации A304 генератора возбуждения A302 диапазона высоких частот, показанной в блок-схеме, изображенной на фиг. 13, калькулятор огибающей 460 способен вычислять огибающую гармонически расширенного сигнала S160. В реализации A306 генератора возбуждения A302 диапазона высоких частот, показанной в блок-схеме, изображенной на фиг. 14, калькулятор огибающей 460 способен вычислять огибающую узкополосного сигнала возбуждения S80. Другие реализации генератора возбуждения A302 диапазона высоких частот, так или иначе, могут быть способны добавлять шум к гармонически расширенному сигналу S160 согласно положениям узкополосных импульсов основного тона во времени.
Калькулятор огибающей 460 может быть способен осуществлять вычисление огибающей как задачу, которая включает в себя ряд подзадач. На фиг. 15 показана логическая блок-схема примера T100 такой задачи. Подзадача T110 вычисляет квадрат каждой выборки кадра сигнала, огибающую которой нужно моделировать (например, узкополосного сигнала возбуждения S80 или гармонически расширенного сигнала S160), для создания последовательности квадратов значений. Подзадача T120 осуществляет операцию сглаживания на последовательности квадратов значений. В одном примере, подзадача T120 применяет IIR-фильтр нижних частот первого порядка к последовательности согласно выражению
где x - входной сигнал фильтра, y - выходной сигнал фильтра, n -индекс во временном измерении, и a - коэффициент сглаживания, имеющий значение между 0,5 и 1. Значение коэффициента сглаживания a может быть фиксированным или, в альтернативной реализации, адаптивным согласно указанию шума во входном сигнале, в результате чего a оказывается ближе к 1 в отсутствие шума и ближе к 0,5 при наличии шума. Подзадача T130 применяет функцию квадратного корня к каждой выборке сглаженной последовательности для создания огибающей во временном измерении.
Такая реализация калькулятора огибающей 460 может быть способна осуществлять различные подзадачи задачи T100 последовательно и/или параллельно. В других реализациях задачи T100, подзадаче T110 может предшествовать операция полосовой фильтрации, способная выбирать нужную частотную часть сигнала, огибающую которого нужно моделировать, например диапазон 3-4 кГц.
Объединитель 490 способен смешивать гармонически расширенный сигнал S160 и модулированный шумовой сигнал S170 для создания сигнала возбуждения S120 диапазона высоких частот. Реализации объединителя 490 могут быть способны, например, вычислять сигнал возбуждения S120 диапазона высоких частот как сумму гармонически расширенного сигнала S160 и модулированного шумового сигнала S170. Такая реализация объединителя 490 может быть способна вычислять сигнал возбуждения S120 диапазона высоких частот как взвешенную сумму с применением весового коэффициента к гармонически расширенному сигналу S160 и/или к модулированному шумовому сигналу S170 для суммирования. Каждый такой весовой коэффициент можно вычислять согласно одному или нескольким критериям, и он может иметь фиксированное значение или, альтернативно, адаптивное значение, вычисляемое для каждого кадра или подкадра.
На фиг. 16 показана блок-схема реализации 492 объединителя 490, который способен вычислять сигнал возбуждения S120 диапазона высоких частот в виде взвешенной суммы гармонически расширенного сигнала S160 и модулированного шумового сигнала S170. Объединитель 492 способен взвешивать гармонически расширенный сигнал S160 согласно весовому коэффициенту гармонического сигнала S180, взвешивать модулированный шумовой сигнал S170 согласно весовому коэффициенту шума S190 и выводить сигнал возбуждения S120 диапазона высоких частот как сумму взвешенных сигналов. В этом примере, объединитель 492 включает в себя калькулятор 550 весовых коэффициентов, который способен вычислять весовой коэффициент гармонического сигнала S180 и весовой коэффициент шума S190.
Калькулятор 550 весовых коэффициентов может быть способен вычислять весовые коэффициенты S180 и S190 согласно нужному отношению гармонического контента к шумовому контенту в сигнале возбуждения S120 диапазона высоких частот. Например, может оказаться желательно, чтобы объединитель 492 создавал сигнал возбуждения S120 диапазона высоких частот, имеющий отношение энергии гармоник к энергии шума, близкое к соответствующему отношению в сигнале S30 диапазона высоких частот. В некоторых реализациях калькулятора 550 весовых коэффициентов, весовые коэффициенты S180, S190 вычисляются согласно одному или нескольким параметрам, связанным с периодичностью узкополосного сигнала S20 или узкополосного остаточного сигнала, например коэффициенту усиления основного тона и/или речевому режиму. Такая реализация калькулятора 550 весовых коэффициентов может быть способна, например, присваивать весовому коэффициенту гармонического сигнала S180 значение, пропорциональное коэффициенту усиления основного тона, и/или присваивать весовому коэффициенту шума S190 для невокализованных речевых сигналов более высокое значение, чем для вокализованных речевых сигналов.
В других реализациях, калькулятор 550 весовых коэффициентов способен вычислять значения весового коэффициента гармонического сигнала S180 и/или весового коэффициента шума S190 согласно показателю периодичности сигнала S30 диапазона высоких частот. В одном таком примере, калькулятор весовых коэффициентов 550 вычисляет весовой коэффициент гармонического сигнала S180 как максимальное значение коэффициента автокорреляции сигнала S30 диапазона высоких частот для текущего кадра или подкадра, где автокорреляция осуществляется по диапазону поиска, который включает в себя задержку в один интервал основного тона и не включает в себя задержку в нуль выборок. На фиг. 17 показан пример такого диапазона поиска длиной в n выборок, центр которого соответствует задержке в один интервал основного тона и ширина которого не превышает один интервал основного тона.
На фиг. 17 также показан пример другого подхода, согласно которому калькулятор 550 весовых коэффициентов вычисляет показатель периодичности сигнала S30 диапазона высоких частот в несколько этапов. На первом этапе, текущий кадр делится на некоторое количество подкадров, и задержка, при которой коэффициент автокорреляции достигает максимума, определяется отдельно для каждого подкадра. Как отмечено выше, автокорреляция осуществляется в диапазоне поиска, который включает в себя задержку в один интервал основного тона и не включает в себя задержку в нуль выборок.
На втором этапе, задержанный кадр строится посредством применения соответствующей определенной задержки для каждого подкадра, сочленения полученных подкадров для построения кадра с оптимальной задержкой и вычисления весового коэффициента гармонического сигнала S180 в качестве коэффициента корреляции между исходным кадром и кадром с оптимальной задержкой. Альтернативно, калькулятор 550 весовых коэффициентов вычисляет весовой коэффициент гармонического сигнала S180 как среднее максимальных коэффициентов автокорреляции, полученных на первом этапе для каждого подкадра. Реализации калькулятора 550 весовых коэффициентов также могут быть способны масштабировать коэффициент корреляции и/или объединять его с другим значением для вычисления значения весового коэффициента гармонического сигнала S180.
Может оказаться желательно, чтобы калькулятор 550 весовых коэффициентов вычислял показатель периодичности сигнала S30 диапазона высоких частот только в случаях, когда, так или иначе, указано наличие периодичности в кадре. Например, калькулятор 550 весовых коэффициентов может быть способен вычислять показатель периодичности сигнала S30 диапазона высоких частот согласно соотношению между другим указателем периодичности текущего кадра, например коэффициентом усиления основного тона, и пороговым значением. В одном примере, калькулятор весовых коэффициентов 550 способен осуществлять операцию автокорреляции на сигнале S30 диапазона высоких частот, только если коэффициент усиления основного тона кадра (например, коэффициент усиления адаптивной кодовой книги узкополосного остатка) имеет значение более 0,5 (альтернативно, по меньшей мере, 0,5). В другом примере, калькулятор весовых коэффициентов 550 способен осуществлять операцию автокорреляции на сигнале S30 диапазона высоких частот только для кадров, имеющих конкретные состояния речевого режима (например, только для вокализованных сигналов). В таких случаях, калькулятор весовых коэффициентов 550 может быть способен присваивать весовой коэффициент, принятый по умолчанию, для кадров, имеющих другие состояния речевого режима и/или меньшие значения коэффициента усиления основного тона.
Варианты осуществления включают в себя дополнительные реализации калькулятора 550 весовых коэффициентов, которые способны вычислять весовые коэффициенты согласно характеристикам, отличным от периодичности или дополнительным к ней. Например, такая реализация может быть способна присваивать коэффициенту усиления шума S190 для речевых сигналов, имеющих большой интервал основного тона, более высокое значение, чем для речевых сигналов, имеющих малый интервал основного тона. Другая такая реализация калькулятора 550 весовых коэффициентов способна определять показатель гармоничности широкополосного речевого сигнала S10 или сигнала S30 диапазона высоких частот согласно мере энергии сигнала на частотах, кратных основной частоте, относительно энергии сигнала других частотных составляющих.
Некоторые реализации широкополосного речевого кодера A100 способны выводить индикацию периодичности или гармоничности (например, однобитовый флаг, указывающий, является ли кадр гармоническим или негармоническим) на основании коэффициента усиления основного тона и/или другого описанного здесь показателя периодичности или гармоничности. В одном примере, соответствующий широкополосный речевой декодер B100 использует эту индикацию для настройки такой операции, как, например, вычисление весового коэффициента. В другом примере, такая индикация используется на кодере и/или декодере при вычислении значения параметра речевого режима.
Может оказаться желательно, чтобы генератор возбуждения A302 диапазона высоких частот генерировал сигнал возбуждения S120 диапазона высоких частот таким образом, чтобы конкретные значения весовых коэффициентов S180 и S190 не оказывали существенного влияния на энергию сигнала возбуждения. В таком случае, калькулятор 550 весовых коэффициентов может быть способен вычислять значение весового коэффициента гармонического сигнала S180 или весового коэффициента шума S190 (или принимать такое значение из хранилища или другого элемента кодера A200 диапазона высоких частот) и выводить значение другого весового коэффициента согласно, например, выражению
где Wharmonic обозначает весовой коэффициент гармонического сигнала S180 и W noise обозначает весовой коэффициент шума S190. Альтернативно, калькулятор 550 весовых коэффициентов может быть способен выбирать, согласно значению показателя периодичности текущего кадра или подкадра, соответствующую одну из совокупности пар весовых коэффициентов S180, S190, где пары заранее вычислены в соответствии с постоянным отношением энергий, например, выражением (2). Для реализации калькулятора 550 весовых коэффициентов, в котором справедливо выражение (2), типичные значения весового коэффициента гармонического сигнала S180 составляют от около 0,7 до около 1,0, и типичные значения весового коэффициента шума S190 составляют от около 0,1 до около 0,7. Другие реализации калькулятора 550 весовых коэффициентов могут быть способны действовать согласно версии выражения (2), модифицированной согласно нужному основополагающему взвешиванию между гармонически расширенным сигналом S160 и модулированным шумовым сигналом S170.
Искажения могут возникать в синтезированном речевом сигнале, когда разреженная кодовая книга (записи которой в большинстве своем имеют нулевые значения) использовалась для вычисления квантованного представления остатка. Разреженность кодовой книги имеет место, в основном, когда узкополосный сигнал кодируется с низкой битовой скоростью. Искажения, обусловленные разреженностью кодовой книги, обычно являются квазипериодическими во времени и возникают, в основном, на частотах свыше 3 кГц. Поскольку человеческое ухо имеет повышенное временное разрешение на более высоких частотах, эти искажения могут быть более заметны в верхнем диапазоне.
Варианты осуществления включают в себя реализации генератора возбуждения A300 диапазона высоких частот, которые способны осуществлять фильтрацию для устранения разряжения. На фиг. 18 показана блок-схема реализации A312 генератора возбуждения A302 диапазона высоких частот, которая включает в себя фильтр 600 для устранения разряжения, способный фильтровать деквантованный узкополосный сигнал возбуждения, создаваемый обратным квантователем 450. На фиг. 19 показана блок-схема реализации A314 генератора возбуждения A302 диапазона высоких частот, которая включает в себя фильтр 600 для устранения разряжения, способный фильтровать спектрально расширенный сигнал, создаваемый расширителем спектра A400. На фиг. 20 показана блок-схема реализации A316 генератора возбуждения A302 диапазона высоких частот, которая включает в себя фильтр 600 для устранения разряжения, способный фильтровать выходной сигнал объединителя 490 для создания сигнала возбуждения S120 диапазона высоких частот. Конечно, возможны и, таким образом, явно раскрыты реализации генератора возбуждения A300 диапазона высоких частот, объединяющие особенности любой из реализаций A304 и A306 с особенностями любой из реализаций A312, A314 и A316. Фильтр 600 для устранения разряжения также может быть предусмотрен в расширителе спектра A400: например, после любого из элементов 510, 520, 530 и 540 в расширителе спектра A402. Заметим, что фильтр 600 для устранения разряжения также можно использовать с реализациями расширителя спектра A400, которые осуществляют спектральное наложение, спектральный перенос или гармоническое расширение.
Фильтр 600 для устранения разряжения может быть способен изменять фазу поступающего на него сигнала. Например, может оказаться желательно, чтобы фильтр 600 для устранения разряжения был настроен и размещен так, чтобы рандомизировать фазу сигнала возбуждения S120 диапазона высоких частот, или иным образом обеспечивает ее более равномерное распределение, по времени. Также может быть желательно, чтобы спектральная характеристика фильтра 600 для устранения разряжения была плоской, чтобы амплитудно-частотная характеристика фильтрованного сигнала не претерпевала значительных изменений. В одном примере, фильтр 600 для устранения разряжения реализован в виде всечастотного фильтра, передаточная функция которого выражается следующим образом:
Такой фильтр, в частности позволяет так распределить энергию входного сигнала, чтобы она больше не концентрировалась лишь в нескольких выборках.
Искажения, обусловленные разреженностью кодовой книги, обычно более заметны для шумоподобных сигналов, где остаток включает в себя меньше информации основного тона, а также для речи в фоновом шуме. Разреженность обычно вызывает меньшие искажения в случаях, когда возбуждение имеет долговременную структуру, и, действительно, изменение фазы может приводить к зашумлению вокализованных сигналов. Таким образом, может оказаться желательно настроить фильтр 600 для устранения разряжения на блокировку невокализованных сигналов и пропускание, по меньшей мере, некоторых вокализованных сигналов без изменения. Невокализованные сигналы характеризуются низким коэффициентом усиления основного тона (например, квантованным узкополосным коэффициентом усиления адаптивной кодовой книги) и близким к нулю или положительным наклоном спектра (например, квантованным первым коэффициентом отражения), что свидетельствует о том, что спектральная огибающая является плоской или возрастает с увеличением частоты. Типичные реализации фильтра для устранения разряжения 600 способны фильтровать невокализованные звуки (например, указанные значением наклона спектра), фильтровать вокализованные звуки, когда коэффициент усиления основного тона ниже порогового значения (альтернативно, не превышает пороговое значение), и, в противном случае, пропускать сигнал без изменения.
Другие реализации фильтра 600 для устранения разряжения включают в себя два или более фильтра, которые способны иметь разные максимальные углы изменения фазы (например, до 180 градусов). В таком случае, фильтр 600 для устранения разряжения может быть способен делать выбор из этих составляющих фильтров согласно значению коэффициента усиления основного тона (например, квантованного коэффициента усиления адаптивной кодовой книги или LTP), чтобы больший максимальный угол изменения фазы использовался для кадров, имеющих более низкие значения коэффициента усиления основного тона. Реализация фильтра 600 для устранения разряжения также может включать в себя разные составляющие фильтры, которые способны изменять фазу в более или менее широком частотном спектре, чтобы фильтр, способный изменять фазу в более широком частотном диапазоне входного сигнала, использовался для кадров, имеющих более низкие значения коэффициента усиления основного тона.
Для точного воспроизведения кодированного речевого сигнала, может оказаться желательно, чтобы отношение между уровнями части диапазона высоких частот и узкополосной части синтезированного широкополосного речевого сигнала S100 было близким к соответствующему отношению в исходном широкополосном речевом сигнале S10. Помимо спектральной огибающей, представленной параметрами кодирования S60a диапазона высоких частот, кодер A200 диапазона высоких частот может быть способен характеризовать сигнал S30 диапазона высоких частот путем задания временной огибающей или огибающей усиления. Согласно фиг. 10, кодер A202 диапазона высоких частот включает в себя калькулятор коэффициента усиления A230 диапазона высоких частот, который способен и призван вычислять один или несколько коэффициентов усиления согласно соотношению между сигналом S30 диапазона высоких частот и синтезированным сигналом S130 диапазона высоких частот, например, разности или отношению между энергиями двух сигналов на протяжении кадра или некоторой его части. В других реализациях кодера A202 диапазона высоких частот, калькулятор коэффициента усиления A230 диапазона высоких частот может иметь аналогичную конфигурацию, предназначен для вычисления огибающей усиления согласно такому изменяющемуся со временем соотношению между сигналом S30 диапазона высоких частот и узкополосным сигналом возбуждения S80 или сигналом возбуждения S120 диапазона высоких частот.
Временные огибающие узкополосного сигнала возбуждения S80 и сигнала S30 диапазона высоких частот с большой степенью вероятности сходны. Поэтому кодирование огибающей усиления, которое основано на соотношении между сигналом S30 диапазона высоких частот и узкополосным сигналом возбуждения S80 (или сигналом, выведенным из него, например сигналом возбуждения S120 диапазона высоких частот или синтезированным сигналом S130 диапазона высоких частот), будет, в общем случае, более эффективным, чем кодирование огибающей усиления, основанное только на сигнале S30 диапазона высоких частот. В типичной реализации, кодер A202 диапазона высоких частот способен выводить квантованный индекс размером от восьми до двенадцати битов, который указывает пять коэффициентов усиления для каждого кадра.
Калькулятор коэффициента усиления A230 диапазона высоких частот может быть способен осуществлять вычисление коэффициента усиления как задачу, которая включает в себя одну или несколько последовательностей подзадач. На фиг. 21 показана логическая блок-схема примера T200 такой задачи, которая вычисляет значение коэффициента усиления для соответствующего подкадра согласно относительной энергии сигнала S30 диапазона высоких частот и синтезированного сигнала S130 диапазона высоких частот. Задачи 220a и 220b вычисляют энергии соответствующих подкадров соответствующих сигналов. Например, задачи 220a и 220b могут быть способны вычислять энергию как сумму квадратов выборок соответствующего подкадра. Задача T230 вычисляет коэффициент усиления для подкадра как квадратный корень отношения этих энергий. В этом примере, задача T230 вычисляет коэффициент усиления как квадратный корень отношения энергии сигнала S30 диапазона высоких частот к энергии синтезированного сигнала S130 диапазона высоких частот на протяжении подкадра.
Может оказаться желательно, чтобы калькулятор коэффициента усиления A230 в диапазоне высоких частот был способен вычислять энергии подкадров согласно вырезающей функции. На фиг. 22 показана логическая блок-схема такой реализации T210 задачи T200 вычисления коэффициента усиления. Задача T215a применяет вырезающую функцию к сигналу S30 диапазона высоких частот, и задача T215b применяет ту же вырезающую функцию к синтезированному сигналу S130 диапазона высоких частот. Реализации 222a и 222b задач 220a и 220b вычисляют энергии соответствующих окон, и задача T230 вычисляет коэффициент усиления для подкадра как квадратный корень отношения энергий.
Может оказаться желательно применять вырезающую функцию, которая перекрывает соседние подкадры. Например, вырезающая функция, которая создает коэффициенты усиления, которые можно применять в режиме сложения с перекрытием, может способствовать снижению или устранению нарушения непрерывности между подкадрами. В одном примере, калькулятор коэффициента усиления A230 в диапазоне высоких частот способен применять трапецеидальную вырезающую функцию, показанную на фиг. 23a, в которой окно перекрывает каждый из двух соседних подкадров на одну миллисекунду. На фиг. 23b показано применение этой вырезающей функции к каждому из пяти подкадров 20-миллисекундного кадра. Другие реализации калькулятора коэффициента усиления A230 в диапазоне высоких частот могут быть способны применять вырезающие функции, имеющие разные периоды перекрытия и/или разные формы окна (например, прямоугольную, хэммингову), которые могут быть симметричными или асимметричными. Реализация калькулятора коэффициента усиления A230 в диапазоне высоких частот также может быть способна применять разные вырезающие функции к разным подкадрам в кадре и/или кадр может включать в себя подкадры разной длины.
В качестве примеров конкретных реализаций, без ограничения, представлены следующие значения. Для этих случаев предполагается 20-миллисекундный кадр, хотя можно использовать кадр любой другой длины. Для сигнала диапазона высоких частот, дискретизированного на 7 кГц, каждый кадр имеет 140 выборок. Если такой кадр разделить на пять подкадров равной длины, каждый подкадр будет иметь 28 выборок, и окно, показанное на фиг. 23a, будет иметь ширину 42 выборки. Для сигнала диапазона высоких частот, дискретизированного на 8 кГц, каждый кадр имеет 160 выборок. Если такой кадр разделить на пять подкадров равной длины, каждый подкадр будет иметь 32 выборки, и окно, показанное на фиг. 23a, будет иметь ширину 48 выборок. В других реализациях можно использовать подкадры любой ширины, и даже можно реализовать калькулятор коэффициента усиления A230 в диапазоне высоких частот, способный создавать разные коэффициенты усиления для разных выборок кадра.
На фиг. 24 показана блок-схема реализации B202 декодера B200 диапазона высоких частот. Декодер B202 диапазона высоких частот включает в себя генератор возбуждения B300 диапазона высоких частот, который способен создавать сигнал возбуждения S120 диапазона высоких частот на основании узкополосного сигнала возбуждения S80. В зависимости от конкретных выборов конструкции системы, генератор возбуждения B300 диапазона высоких частот можно реализовать согласно любой из описанных здесь реализаций генератора возбуждения A300 диапазона высоких частот. Обычно желательно реализовать генератор возбуждения B300 диапазона высоких частот, имеющий такую же характеристику, как генератор возбуждения диапазона высоких частот кодера диапазона высоких частот конкретной системы кодирования. Однако, поскольку узкополосный декодер B110 обычно осуществляет деквантование кодированного узкополосного сигнала возбуждения S50, в большинстве случаев можно реализовать генератор возбуждения B300 диапазона высоких частот, принимающий узкополосный сигнал возбуждения S80 от узкополосного декодера B110 и не обязательно включающий в себя обратный квантователь, способный деквантовать кодированный узкополосный сигнал возбуждения S50. Также можно реализовать узкополосный декодер B110, включающий в себя вариант фильтра 600 для устранения разряжения, способного фильтровать деквантованный узкополосный сигнал возбуждения прежде, чем он поступит на узкополосный синтезирующий фильтр, например фильтр 330.
Обратный квантователь 560 способен деквантовать параметры фильтра S60a диапазона высоких частот (в этом примере, в набор LSF), и преобразование LSF в коэффициенты LP-фильтра 570 способно преобразовывать LSF в набор коэффициентов фильтра (например, как описано выше со ссылкой на обратный квантователь 240 и преобразование 250 узкополосного кодера А122). В других реализациях, как отмечено выше, можно использовать разные наборы коэффициентов (например, коэффициенты косинусного преобразования Фурье) и/или представления коэффициентов (например, ISP). Синтезирующий фильтр В202 диапазона высоких частот способен создавать синтезированный сигнал диапазона высоких частот согласно сигналу возбуждения S120 диапазона высоких частот и набору коэффициентов фильтра. Для системы, в которой кодер диапазона высоких частот включает в себя синтезирующий фильтр (например, как в описанном выше примере кодера А202), может оказаться желательно реализовать синтезирующий фильтр В202 диапазона высоких частот, имеющий такую же характеристику (например, такую же передаточную функцию), как у синтезирующего фильтра.
Декодер В202 диапазона высоких частот также включает в себя обратный квантователь 580, способный деквантовать коэффициенты усиления S60b в диапазоне высоких частот, и элемент регулировки усиления 590 (например, умножитель или усилитель), способный и призванный применять деквантованные коэффициенты усиления к синтезированному сигналу диапазона высоких частот для создания сигнала S100 диапазона высоких частот. В случае, когда огибающая усиления кадра задана более чем одним коэффициентом усиления, элемент регулировки усиления 590 может включать в себя логику, способную применять коэффициенты усиления к соответствующим подкадрам, возможно, согласно вырезающей функции, которая может отличаться или не отличаться от вырезающей функции, применяемой калькулятором коэффициента усиления (например, калькулятором коэффициента усиления A230 в диапазоне высоких частот) соответствующего кодера диапазона высоких частот. В других реализациях декодера B202 диапазона высоких частот, элемент регулировки усиления 590 имеет аналогичную конфигурацию, но призван применять деквантованные коэффициенты усиления к узкополосному сигналу возбуждения S80 или к сигналу возбуждения S120 диапазона высоких частот.
Как отмечено выше, может оказаться желательно получать одно и то же состояние в кодере диапазона высоких частот и декодере диапазона высоких частот (например, с использованием деквантованных значений при кодировании). Таким образом, в системе кодирования согласно такой реализации, может оказаться желательно гарантировать одно и то же состояние для соответствующих генераторов шума в генераторах возбуждения A300 и B300 диапазона высоких частот. Например, генераторы возбуждения A300 и B300 диапазона высоких частот такой реализации могут иметь такую конфигурацию, что состояние генератора шума является детерминированной функцией информации, уже закодированной в том же кадре (например, узкополосных параметров фильтра S40 или их части и/или кодированного узкополосного сигнала возбуждения S50 или его части).
Один или несколько квантователей описанных здесь элементов (например, квантователь 230, 420 или 430) может быть способен осуществлять классифицированное векторное квантование. Например, такой квантователь может быть способен выбирать одну из набора кодовых книг на основании информации, уже закодированной в том же кадре на узкополосном канале и/или на канале диапазона высоких частот. Такая техника обычно обеспечивает повышение эффективности кодирования за счет хранения дополнительных кодовых книг.
Как описано выше, например, со ссылкой на фиг. 8 и 9, значительный объем периодической структуры может оставаться в остаточном сигнале после удаления грубой спектральной огибающей из узкополосного речевого сигнала S20. Например, остаточный сигнал может содержать последовательность приблизительно периодических импульсов или пиков во времени. Появление такой структуры, которая обычно связана с основным тоном, особенно вероятно в вокализованных речевых сигналах. Вычисление квантованного представления узкополосного остаточного сигнала может включать в себя кодирование этой структуры основного тона согласно модели долговременной периодичности, представленной, например, одной или несколькими кодовыми книгами.
Структура основного тона фактического остаточного сигнала может не точно совпадать с моделью периодичности. Например, остаточный сигнал может включать в себя небольшие флуктуации регулярности размещения импульсов основного тона, в результате чего расстояния между последовательными импульсами основного тона в кадре не точно равны, и структура не является вполне регулярной. Эти нерегулярности снижают эффективность кодирования.
Некоторые реализации узкополосного кодера A120 способны осуществлять регуляризацию структуры основного тона за счет применения адаптивного преобразования временного масштаба к остатку до или в ходе квантования или иного включения адаптивного преобразования временного масштаба в кодированный сигнал возбуждения. Например, такой кодер может быть способен выбирать или иначе вычислять степень трансформации во времени (например, согласно одному или нескольким критериям перцептивного взвешивания и/или минимизации ошибки), благодаря чему результирующий сигнал возбуждения оптимально согласуется с моделью долговременной периодичности. Регуляризация структуры основного тона осуществляется разновидностью кодеров CELP, именуемой кодерами на основе релаксационного линейного прогнозирования с кодовым возбуждением (RCELP).
Кодер RCELP обычно способен осуществлять преобразование временного масштаба в виде адаптивного временного сдвига. Этот временной сдвиг может представлять собой задержку в пределах от нескольких миллисекунд с отрицательным знаком до нескольких миллисекунд с положительным знаком и обычно изменяется плавно во избежание слышимых нарушений непрерывности. В некоторых реализациях, такой кодер способен применять регуляризацию в кусочно-линейном режиме, в котором каждый кадр или подкадр трансформируется с соответствующим фиксированным временным сдвигом. В других реализациях, кодер способен применять регуляризацию в виде непрерывной функции трансформации, в результате чего кадр или подкадр трансформируется согласно контуру основного тона (также именуемому траекторией основного тона). В ряде случаев (например, как описано в опубликованной патентной заявке США № 2004/0098255), кодер способен обеспечивать преобразование временного масштаба в кодированном сигнале возбуждения путем применения сдвига к перцептивно взвешенному входному сигналу, который используется для вычисления кодированного сигнала возбуждения.
Кодер вычисляет кодированный сигнал возбуждения, который регуляризуется и квантуется, и декодер деквантует кодированный сигнал возбуждения для получения сигнала возбуждения, который используется для синтеза декодированного речевого сигнала. Таким образом, декодированный выходной сигнал демонстрирует такую же изменяющуюся задержку, которая была внесена в кодированный сигнал возбуждения посредством регуляризации. Обычно на декодер не передается никакой информации, указывающей объемы регуляризации.
Регуляризация облегчает кодирование остаточного сигнала, что повышает эффективность кодирования из долгосрочного предсказателя и, таким образом, повышает общую эффективность кодирования, обычно без генерации искажений. Может оказаться желательно осуществлять регуляризацию только на вокализованных кадрах. Например, узкополосный кодер A124 может быть способен сдвигать только те кадры или подкадры, которые имеют долговременную структуру, например вокализованные сигналы. Также может оказаться желательно осуществлять регуляризацию только на подкадрах, которые включают в себя энергию импульсов основного тона. Различные реализации кодирования RCELP описаны в патентах США № 5,704,003 (Kleijn и др.) и 6,879,955 (Rao) и в опубликованной патентной заявке США № 2004/0098255 (Kovesi и др.). Существующие реализации кодеров RCELP включают в себя Enhanced Variable Rate Codec (EVRC), описанный в Telecommunications Industry Association (TIA) IS-127, и Third Generation Partnership Project 2 (3GPP2) Selectable Mode Vocoder (SMV).
К сожалению, регуляризация может создавать проблемы для широкополосного речевого кодера, в котором возбуждение в диапазоне высоких частот получается из кодированного узкополосного сигнала возбуждения (например, система, включающая в себя широкополосный речевой кодер A100 и широкополосный речевой декодер B100). В силу того, что он выводится из сигнала с трансформированной временной шкалой, сигнал возбуждения диапазона высоких частот обычно имеет иной временной профиль, чем исходный речевой сигнал диапазона высоких частот. Иными словами, сигнал возбуждения диапазона высоких частот выпадает из синхронизма с исходным речевым сигналом диапазона высоких частот.
Рассогласование по времени между трансформированным сигналом возбуждения диапазона высоких частот и исходным речевым сигналом диапазона высоких частот может вызвать ряд проблем. Например, трансформированный сигнал возбуждения диапазона высоких частот уже не может обеспечивать подходящее исходное возбуждение для синтезирующего фильтра, который настроен согласно параметрам фильтра, извлеченным из исходного речевого сигнала диапазона высоких частот. В результате, синтезированный сигнал диапазона высоких частот может содержать слышимые искажения, которые снижают воспринимаемое качество декодированного широкополосного речевого сигнала.
Рассогласование по времени также может приводить к снижению эффективности кодирования огибающей усиления. Как отмечено выше, с высокой степенью вероятности существует корреляция между временными огибающими узкополосного сигнала возбуждения S80 и сигналом S30 диапазона высоких частот. Благодаря кодированию огибающей усиления сигнала диапазона высоких частот согласно соотношению между этими двумя временными огибающими, можно реализовать повышение эффективности кодирования по сравнению с кодированием непосредственно огибающей усиления. Однако, благодаря регуляризации кодированного узкополосного сигнала возбуждения, эту корреляцию можно ослабить. Рассогласование по времени между узкополосным сигналом возбуждения S80 и сигналом S30 диапазона высоких частот может привести к появлению флуктуаций коэффициентов усиления S60b в диапазоне высоких частот и падению эффективности кодирования.
Варианты осуществления включают в себя способы широкополосного речевого кодирования, которые предусматривают осуществление преобразования временного масштаба речевого сигнала диапазона высоких частот согласно преобразованию временного масштаба, включенного в соответствующий кодированный узкополосный сигнал возбуждения. Потенциальные преимущества таких способов включают в себя повышение качества декодированного широкополосного речевого сигнала и/или повышение эффективности кодирования огибающей усиления в диапазоне высоких частот.
На фиг. 25 показана блок-схема реализации AD10 широкополосного речевого кодера A100. Кодер AD10 включает в себя реализацию A124 узкополосного кодера A120, который способен осуществлять регуляризацию в ходе вычисления кодированного узкополосного сигнала возбуждения S50. Например, узкополосный кодер A124 может быть настроен согласно одному или нескольким из рассмотренных выше реализаций RCELP.
Узкополосный кодер A124 также способен выводить сигнал SD10 данных регуляризации, который указывает степень применяемого преобразования временного масштаба. Для различных случаев, когда узкополосный кодер A124 способен применять фиксированный временной сдвиг к каждому кадру или подкадру, сигнал SD10 данных регуляризации может включать в себя ряд значений, указывающих величину каждого временного сдвига как целое или нецелое значение, выраженное в выборках, миллисекундах или другом приращении времени. В случае, когда узкополосный кодер A124 способен иначе изменять временную шкалу кадра или другой последовательности выборок (например, сжимая одну часть и растягивая другую часть), сигнал SD10 информации регуляризации может включать в себя соответствующее описание изменения, например набор параметров функции. В одном конкретном примере, узкополосный кодер A124 способен делить кадр на три подкадра и вычислять фиксированный временной сдвиг для каждого подкадра, поэтому сигнал SD10 данных регуляризации указывает три величины временного сдвига для каждого регуляризованного кадра кодированного узкополосного сигнала.
Широкополосный речевой кодер AD10 включает в себя линию задержки D120, способную обеспечивать опережение или отставание частей речевого сигнала S30 диапазона высоких частот, согласно величинам задержки, указанным во входном сигнале, для создания речевого сигнала S30a диапазона высоких частот с трансформированной временной шкалой. В примере, показанном на фиг. 25, линия задержки D120 способна трансформировать временную шкалу речевого сигнала S30 диапазона высоких частот согласно трансформации, указанной в сигнале SD10 данных регуляризации. Таким образом, преобразование временного масштаба той же величины, которая была включена в кодированный узкополосный сигнал возбуждения S50, применяется к соответствующей части речевого сигнала S30 диапазона высоких частот до анализа. Хотя в этом примере линия задержки D120 показана как элемент, отдельный от кодера A200 диапазона высоких частот, в других реализациях линия задержки D120 обеспечена как часть кодера диапазона высоких частот.
Другие реализации кодера A200 диапазона высоких частот могут быть способны осуществлять спектральный анализ (например, анализ LPC) нетрансформированного речевого сигнала S30 диапазона высоких частот и осуществлять преобразование временного масштаба речевого сигнала S30 диапазона высоких частот до вычисления параметров усиления S60b диапазона высоких частот. Такой кодер может включать в себя, например, реализацию линии задержки D120, призванной осуществлять преобразование временного масштаба. В таких случаях, однако, параметры фильтра S60a диапазона высоких частот, основанные на анализе нетрансформированного сигнала S30, могут описывать спектральную огибающую, рассогласованную по времени с сигналом возбуждения S120 диапазона высоких частот.
Линия задержки D120 может быть настроена согласно любой комбинации логических элементов и элементов хранения, пригодной для применения нужных операций преобразования временного масштаба к речевому сигналу S30 диапазона высоких частот. Например, линия задержки D120 может быть способна считывать речевой сигнал S30 диапазона высоких частот из буфера согласно нужным временным сдвигам. На фиг. 26a показана схема такой реализации D122 линии задержки D120, которая включает в себя сдвиговый регистр SR1. Сдвиговый регистр SR1 это буфер некоторой длины m, который способен принимать и сохранять m самых последних выборок речевого сигнала S30 диапазона высоких частот. Значение m равно, по меньшей мере, сумме максимальных поддерживаемых положительного ("опережение") и отрицательного ("отставание") временных сдвигов. Может оказаться удобно, чтобы значение m было равно длине кадра или подкадра сигнала S30 диапазона высоких частот.
Линия задержки D122 способна выводить сигнал S30a диапазона высоких частот с трансформированной временной шкалой из ячейки смещения OL сдвигового регистра SR1. Позиция ячейка смещения OL варьируется относительно опорной позиции (нулевого временного сдвига) согласно текущему временному сдвигу, указанному, например, сигналом SD10 данных регуляризации. Линия задержки D122 может быть способна поддерживать равные пределы опережения и отставания или, альтернативно, один предел больше другого, в результате чего в одном направлении может осуществлять больший сдвиг, чем в другом. На фиг. 26a показан конкретный пример, где временной сдвиг в положительном направлении больше, чем в отрицательном. Линия задержки D122 может быть способна выводить одновременно одну или несколько выборок (в зависимости, например, от ширины выходной шины).
Временной сдвиг регуляризации, имеющий величину свыше нескольких миллисекунд, может приводить к слышимым искажениям в декодированном сигнале. Обычно величина временного сдвига регуляризации, осуществляемого узкополосным кодером A124, не превышает нескольких миллисекунд, поэтому временные сдвиги, указанные в сигнале данных регуляризации SD10, ограничены. Однако в таких случаях может оказаться желательным, чтобы линия задержки D122 была способна налагать максимальное ограничение на временные сдвиги в положительном и/или отрицательном направлении (например, для обеспечения более жесткого ограничения, чем налагаемое узкополосным кодером).
На фиг. 26b показана схема реализации D124 линии задержки D122, которая включает в себя окно сдвига SW. В этом примере, позиция ячейки смещения OL ограничивается окном сдвига SW. Хотя на фиг. 26b показан случай, когда длина буфера m больше ширины окна сдвига SW, линию задержки D124 также можно реализовать с шириной окна сдвига SW равной m.
В других реализациях, линия задержки D120 способна записывать речевой сигнал S30 диапазона высоких частот в буфер согласно нужным временным сдвигам. На фиг. 27 показана схема такой реализации D130 линии задержки D120, которая включает в себя два сдвиговых регистра SR2 и SR3, способных принимать и сохранять речевой сигнал S30 диапазона высоких частот. Линия задержки D130 способна записывать кадр или подкадр из сдвигового регистра SR2 в сдвиговый регистр SR3 согласно временному сдвигу, указанному, например, в сигнале SD10 данных регуляризации. Сдвиговый регистр SR3 организован как буфер FIFO, призванный выводить сигнал S30а диапазона высоких частот с трансформированной временной шкалой.
В конкретном примере, показанном на фиг.27, сдвиговый регистр SR2 включает в себя участок кадрового буфера FBI и участок буфера задержки DB, и сдвиговый регистр SR3 включает в себя участок кадрового буфера FB2, участок опережающего буфера АВ и участок отстающего буфера RB. Длины опережающего буфера АВ и отстающего буфера RB могут быть равны, или один может быть больше другого, в результате чего в одном направлении поддерживается больший сдвиг, чем в другом. Буфер задержки DB и участок отстающего буфера RB могут быть иметь одинаковую длину. Альтернативно, буфер задержки DB можно сделать короче отстающего буфера RB для учета интервала времени, необходимого для переноса выборок из кадрового буфера FBI в сдвиговый регистр SR3, который может включать в себя другие операции обработки, например трансформацию выборок до сохранения в сдвиговом регистре SR3.
В примере, приведенном на фиг.27, кадровый буфер FBI способен иметь длину, равную длине одного кадра сигнала S30 диапазона высоких частот. В другом примере, кадровый буфер FBI способен иметь длину, равную длине одного подкадра сигнала S30 диапазона высоких частот. В таком случае, линия задержки D130 может быть способна включать в себя логику для применения одинаковой (например, средней) задержки ко всем подкадрам сдвигаемого кадра. Линия задержки D130 также может включать в себя логику для усреднения значений из кадрового буфера FBI со значениями, подлежащими перезаписи в отстающий буфер RB или опережающий буфер АВ. В еще одном примере, сдвиговый регистр SR3 может быть способен принимать значения сигнала S30 диапазона высоких частот только через кадровый буфер FB1, и, в таком случае, линия задержки D130 может включать в себя логику для интерполяции по зазорам между последовательными кадрами или подкадрами, записанными в сдвиговый регистр SR3. В других реализациях, линия задержки D130 может быть способна осуществлять операцию трансформации на выборках из кадрового буфера FB1 до записи их в сдвиговый регистр SR3 (например, согласно функции, описанной сигналом SD10 данных регуляризации).
Может оказаться желательно, чтобы линия задержки D120 применяла преобразование временного масштаба, основанное на, но не идентичное, трансформации, заданной сигналом SD10 данных регуляризации. На фиг. 28 показана блок-схема реализации AD12 широкополосного речевого кодера AD10, который включает в себя блок D110 отображения значений задержки. Блок D110 отображения значений задержки способен отображать трансформацию, указанную в сигнале SD10 данных регуляризации, в отображенные значения задержки SD10a. Линия задержки D120 призвана создавать речевой сигнал S30a диапазона высоких частот с трансформированной временной шкалой согласно трансформации, указанной отображенными значениям задержки SD10a.
Временной сдвиг, применяемый узкополосным кодером, предположительно, развивается плавно по времени. Поэтому обычно бывает достаточно вычислить средний узкополосный временной сдвиг, применяемый к подкадрам на протяжении кадра речи, и сдвинуть соответствующий кадр речевого сигнала S30 диапазона высоких частот согласно этому среднему значению. В одном таком примере, блок D110 отображения значений задержки способен вычислять среднее для значений задержки подкадров для каждого кадра, и линия задержки D120 способна применять вычисленное среднее к соответствующему кадру сигнала S30 диапазона высоких частот. В других примерах, можно вычислять и применять среднее по более короткому периоду (например, двум подкадрам или половине кадра) или более долгому периоду (например, двум кадрам). В случае, когда среднее является нецелым количеством выборок, блок D110 отображения значений задержки может быть способен округлять значение до целого количества выборок прежде, чем вывести его на линию задержки D120.
Узкополосный кодер A124 может быть способен включать в себя временной сдвиг регуляризации, равный нецелому количеству выборок в кодированном узкополосном сигнале возбуждения. В таком случае, может оказаться желательно, чтобы блок D110 отображения значений задержки был способен округлять узкополосный временной сдвиг до целого количества выборок и чтобы линия задержки D120 применяла округленный временной сдвиг к речевому сигналу S30 диапазона высоких частот.
В некоторых реализациях широкополосного речевого кодера AD10, частоты дискретизации узкополосного речевого сигнала S20 и речевого сигнала S30 диапазона высоких частот могут отличаться. В таких случаях, блок D110 отображения значений задержки может быть способен регулировать величины временного сдвига, указанные в сигнале SD10 данных регуляризации для учета разности между частотами дискретизации узкополосного речевого сигнала S20 (или узкополосного сигнала возбуждения S80) и речевого сигнала S30 диапазона высоких частот. Например, блок D110 отображения значений задержки может быть способен масштабировать величины временного сдвига согласно отношению частот дискретизации. В одном конкретном примере, как отмечено выше, узкополосный речевой сигнал S20 дискретизирован на 8 кГц, и речевой сигнал S30 диапазона высоких частот дискретизирован на 7 кГц. В этом случае, блок D110 отображения значений задержки способен изменять величину каждого сдвига на 7/8. Реализации блока D110 отображения значений задержки также могут быть способны осуществлять такую операцию масштабирования совместно с округлением до целого и/или описанную здесь операцию усреднения временного сдвига.
В еще одной реализации, линия задержки D120 способна иначе изменять временную шкалу кадра или другой последовательности выборок (например, сжимая одну часть и растягивая другую часть). Например, узкополосный кодер A124 может быть способен осуществлять регуляризацию согласно такой функции, как контур или траектория основного тона. В таком случае, сигнал SD10 данных регуляризации может включать в себя соответствующее описание функции, например набор параметров, и линия задержки D120 может включать в себя логику, способную трансформировать кадры или подкадры речевого сигнала S30 диапазона высоких частот согласно функции. В других реализациях, блок отображения значений задержки D110 способен усреднять, масштабировать и/или округлять функцию до ее применения к речевому сигналу S30 диапазона высоких частот линией задержки D120. Например, блок D110 отображения значений задержки может быть способен вычислять одно или несколько значений задержки согласно функции, причем каждое значение задержки указывает количество выборок, которые затем применяются линией задержки D120 для трансформации временного масштаба одного или нескольких соответствующих кадров или подкадров речевого сигнала S30 диапазона высоких частот.
На фиг. 29 показана логическая блок-схема способа MD100 преобразования временного масштаба речевого сигнала диапазона высоких частот согласно преобразованию временного масштаба, включенному в соответствующий кодированный узкополосный сигнал возбуждения. Задача TD100 обрабатывает широкополосный речевой сигнал для получения узкополосного речевого сигнала и речевого сигнала диапазона высоких частот. Например, задача TD100 может быть способна фильтровать широкополосный речевой сигнал с использованием гребенки фильтров, имеющей фильтры нижних и верхних частот, например реализации гребенки фильтров A110. Задача TD200 кодирует узкополосный речевой сигнал в, по меньшей мере, кодированный узкополосный сигнал возбуждения и совокупность параметров узкополосного фильтра. Кодированный узкополосный сигнал возбуждения и/или параметры фильтра могут быть квантованными, и кодированный узкополосный речевой сигнал также может включать в себя другие параметры, например параметр речевого режима. Задача TD200 также включает в себя преобразование временного масштаба в кодированном узкополосном сигнале возбуждения.
Задача TD300 генерирует сигнал возбуждения диапазона высоких частот на основании узкополосного сигнала возбуждения. В этом случае, узкополосный сигнал возбуждения основан на кодированном узкополосном сигнале возбуждения. Согласно, по меньшей мере, сигналу возбуждения диапазона высоких частот, задача TD400 кодирует речевой сигнал диапазона высоких частот в, по меньшей мере, совокупность параметров фильтра диапазона высоких частот. Например, задача TD400 может быть способна кодировать речевой сигнал диапазона высоких частот в совокупность квантованных LSF. Задача TD500 применяет временной сдвиг к речевому сигналу диапазона высоких частот, который основан на информации, связанной с преобразованием временного масштаба, включенным в кодированный узкополосный сигнал возбуждения.
Задача TD400 может быть способна осуществлять спектральный анализ (например, анализ LPC) на речевом сигнале диапазона высоких частот, и/или вычислять огибающую усиления речевого сигнала диапазона высоких частот. В таких случаях, задача TD500 может быть способна применять временной сдвиг к речевому сигналу диапазона высоких частот до анализа и/или вычисления огибающей усиления.
Другие реализации широкополосного речевого кодера A100 способны обращать преобразование временного масштаба сигнала возбуждения S120 диапазона высоких частот, обусловленного преобразованием временного масштаба, включенным в кодированный узкополосный сигнал возбуждения. Например, можно реализовать генератор возбуждения A300 диапазона высоких частот, включающий в себя реализацию линии задержки D120, которая способна принимать сигнал SD10 данных регуляризации или отображенные значения задержки SD10a и применять соответствующий обратный временной сдвиг к узкополосному сигналу возбуждения S80 и/или к последующему сигналу на его основе, например гармонически расширенному сигналу S160 или сигналу возбуждения S120 диапазона высоких частот.
Дополнительные реализации широкополосного речевого кодера могут быть способны кодировать узкополосный речевой сигнал S20 и речевой сигнал S30 диапазона высоких частот независимо друг от друга, в результате чего речевой сигнал S30 диапазона высоких частот кодируется как представление спектральной огибающей в диапазоне высоких частот и сигнала возбуждения диапазона высоких частот. Такая реализация может быть способна осуществлять преобразование временного масштаба остаточного сигнала диапазона высоких частот или иначе включать преобразование временного масштаба в кодированный сигнал возбуждения диапазона высоких частот, согласно информации, связанной с преобразованием временного масштаба, включенным в кодированный узкополосный сигнал возбуждения. Например, кодер диапазона высоких частот может включать в себя реализацию описанных здесь линии задержки D120 и/или блока D110 отображения значений задержки, которые способны применять преобразование временного масштаба к остаточному сигналу диапазона высоких частот. Потенциальные преимущества такой операции включают в себя более эффективное кодирование остаточного сигнала диапазона высоких частот и лучшее совпадение между синтезированными узкополосным и речевыми сигналами диапазона высоких частот.
Как отмечено выше, описанные здесь варианты осуществления включают в себя реализации, которые можно использовать для осуществления встроенного кодирования, поддержки совместимости с узкополосными системами и избавления необходимости в перекодировании. Поддержка кодирования в диапазоне высоких частот также может служить для дифференциации, в зависимости от стоимости, между микросхемами, наборами микросхем, устройствами и/или сетями, имеющими широкополосную поддержку с обратной совместимостью, и имеющими только узкополосную поддержку. Описанную здесь поддержку кодирования в диапазоне высоких частот также можно использовать совместно с техникой для поддержки кодирования в диапазона низких частот, и система, способ или устройство согласно такому вариант осуществления может поддерживать кодирование частотных составляющих от, например, около 50 или 100 Гц до около 7 или 8 кГц.
Как отмечено выше, добавление поддержки диапазона высоких частот к речевому кодеру может повысить разборчивость речи, особенно в отношении различения фрикативных звуков. Хотя слушатель-человек обычно может различать такие звуки на основании конкретного контекста, поддержка диапазона высоких частот может служить мощным вспомогательным средством в распознавании речи и других приложениях машинной интерпретации, например системах для автоматической навигации по голосовому меню и/или автоматической обработке вызова.
Устройство согласно варианту осуществления можно встроить в портативное устройство беспроводной связи, например сотовый телефон или карманный персональный компьютер (PDA). Альтернативно, такое устройство может входить в состав другого устройства связи, например телефонной трубки VoIP, персонального компьютера, способного поддерживать связь по стандарту VoIP, или сетевого устройства, способного маршрутизировать телефонные или VoIP вызовы. Например, устройство согласно варианту осуществления можно реализовать в виде микросхемы или набора микросхем для устройства связи. В зависимости от конкретного применения, такое устройство также может включать в себя такие особенности, как аналого-цифровое и/или цифроаналоговое преобразование речевого сигнала, схему для осуществления усиления и/или другой операции обработки сигнала на речевом сигнале и/или радиочастотную схему для передачи и/или приема кодированного речевого сигнала.
Мы в явном виде предполагаем, что варианты осуществления могут включать в себя и/или использовать одну или несколько других особенностей, раскрытых в предварительных патентных заявках США № № 60/667,901 и 60/673,965 (сейчас публикации U.S. № 2006/0282263, 2007/0088558, 2007/0088541, 2006/0277042, 2007/0088542, 2006/0277038, 2006/0271356 и 2008/0126086), приоритет которых испрашивает настоящая заявка. Такие особенности включают в себя удаление высокоэнергичных импульсов малой длительности, которые возникают в верхнем диапазоне и, по существу, отсутствуют в узком диапазоне. Такие особенности включают в себя фиксированное или адаптивное сглаживание представлений коэффициентов, например LSF диапазона высоких частот. Такие особенности включают в себя фиксированное или адаптивное преобразование формы шума, связанного с квантованием представлений коэффициентов, например LSF. Такие особенности также включают в себя фиксированное или адаптивное сглаживание огибающей усиления и адаптивное ослабление огибающей усиления.
Вышеприведенное представление описанных вариантов осуществления обеспечено для того, чтобы специалисты в данной области могли использовать настоящее изобретение. Возможны различные модификации этих вариантов осуществления, и представленные здесь общие принципы применимы и к другим вариантам осуществления. Например, вариант осуществления можно реализовать полностью или частично в виде электронной схемы, в виде конфигурации схем, скомпонованной на специализированной интегральной схеме, или в виде программно-аппаратного обеспечения, загруженного в энергонезависимое запоминающее устройство, или программного обеспечения, загружаемого из или на носитель данных в виде машинно-считываемого кода, причем такой код представляет собой команды, выполняемые матрицей логических элементов, например микропроцессором или другим блоком цифровой обработки сигнала. Носитель данных может представлять собой матрицу элементов хранения, например полупроводниковое ЗУ (которое может включать в себя, без ограничения, динамическое или статическое ОЗУ (оперативное ЗУ), ПЗУ (постоянное ЗУ), и/или флэш-память), или сегнетоэлектрическое ЗУ, магниторезистивное ЗУ, ЗУ на аморфных полупроводниках, полимерное ЗУ или ЗУ на основе фазовых переходов; или дисковый носитель, например магнитный или оптический диск. Термин "программное обеспечение" следует понимать в смысле, включающем в себя исходный код, код на языке ассемблера, машинный код, двоичный код, зашитую программу, макрокод, микрокод, один или несколько наборов или последовательностей команд, выполняемых матрицей логических элементов, и любую комбинацию таких примеров.
Различные элементы реализации генераторов возбуждения A300 и В300 диапазона высоких частот, кодера А200 диапазона высоких частот, декодера B200 диапазона высоких частот, широкополосного речевого кодера A100 и широкополосного речевого декодера B100 можно реализовать в виде электронных и/или оптических устройств, размещенных, например, на одной и той же микросхеме или на двух или более микросхемах в наборе микросхем, хотя возможны и другие конфигурации без такого ограничения. Один или несколько элементов такого устройства можно реализовать полностью или частично в виде одного или нескольких наборов команд, предназначенных для выполнения на одной или нескольких фиксированных или программируемых матрицах логических элементов (например, транзисторов, вентилей), например микропроцессорах, встроенных процессорах, основных услугах IP, цифровых сигнальных процессорах, FPGA (вентильных матрицах, программируемых пользователем), ASSP (специализированных стандартных продуктах) и ASIC (специализированных интегральных схемах). Один или несколько таких элементов также могут быть объединены в общую структуру (например, процессор, используемый для выполнения частей кода, соответствующих разным элементам, в разное время, набор команд, выполняемых для осуществления задач, соответствующих разным элементам, в разное время, или конфигурацию электронных и/или оптических устройств, осуществляющих операции для разных элементов в разное время). Кроме того, один или несколько таких элементов можно использовать для осуществления задач или выполнения других наборов команд, которые непосредственно не связаны с работой устройства, например задачи, относящейся к другой операции устройства или системы, в которую встроено устройство.
На фиг. 30 показана логическая блок-схема способа M100, согласно варианту осуществления, кодирования части речевого сигнала диапазона высоких частот, имеющего узкополосную часть и часть в диапазоне высоких частот. Задача X100 вычисляет набор параметров фильтра, характеризующих спектральную огибающую части в диапазоне высоких частот. Задача X200 вычисляет спектрально расширенный сигнал путем применения нелинейной функции к сигналу, полученному из узкополосной части. Задача X300 генерирует синтезированный сигнал диапазона высоких частот согласно (A) набору параметров фильтра и (B) сигналу возбуждения диапазона высоких частот, основанному на спектрально расширенном сигнале. Задача X400 вычисляет огибающую усиления на основании соотношения между (C) энергией части в диапазоне высоких частот и (D) энергией сигнала, полученного из узкополосной части.
На фиг. 31a показана логическая блок-схема способа M200 генерации сигнала возбуждения диапазона высоких частот согласно варианту осуществления. Задача Y100 вычисляет гармонически расширенный сигнал путем применения нелинейной функции к узкополосному сигналу возбуждения, полученному из узкополосной части речевого сигнала. Задача Y200 смешивает гармонически расширенный сигнал с модулированным шумовым сигналом для генерации сигнала возбуждения диапазона высоких частот. На фиг. 31b показана логическая блок-схема способа M210 генерации сигнала возбуждения диапазона высоких частот согласно другому варианту осуществления, включающего в себя задачи Y300 и Y400. Задача Y300 вычисляет огибающую во временном измерении в виде распределения энергии по времени для одного из узкополосного сигнала возбуждения и гармонически расширенного сигнала. Задача Y400 модулирует шумовой сигнал согласно огибающей во временном измерении для создания модулированного шумового сигнала.
На фиг. 32 показана логическая блок-схема способа M300 согласно варианту осуществления, декодирования части речевого сигнала диапазона высоких частот, имеющего узкополосную часть и часть в диапазоне высоких частот. Задача Z100 принимает набор параметров фильтра, характеризующих спектральную огибающую части в диапазоне высоких частот, и набор коэффициентов усиления, характеризующих временную огибающую части в диапазоне высоких частот. Задача Z200 вычисляет спектрально расширенный сигнал путем применения нелинейной функции к сигналу, полученному из узкополосной части. Задача Z300 генерирует синтезированный сигнал диапазона высоких частот согласно (A) набору параметров фильтра и (B) сигналу возбуждения диапазона высоких частот, основанному на спектрально расширенном сигнале. Задача Z400 модулирует огибающую усиления синтезированного сигнала диапазона высоких частот на основании набора коэффициентов усиления. Например, задача Z400 может быть способна модулировать огибающую усиления синтезированного сигнала диапазона высоких частот путем применения набора коэффициентов усиления к сигналу возбуждения, полученному из узкополосной части, к спектрально расширенному сигналу, к сигналу возбуждения диапазона высоких частот или к синтезированному сигналу диапазона высоких частот.
Варианты осуществления также включают в себя дополнительные способы речевого кодирования, кодирования и декодирования, отчетливо раскрытые здесь, например, посредством описаний структурных вариантов осуществления, способных осуществлять такие способы. Каждый из этих способов также может быть материально реализован (например, на одном или нескольких из вышеперечисленных носителей данных) в виде одного или нескольких наборов команд, считываемых и/или выполняемых машиной, включая матрицу логических элементов (например, процессор, микропроцессор, микроконтроллер или другой конечный автомат). Таким образом, настоящее изобретение не предусматривает ограничение вышеописанными вариантами осуществления, но подлежит рассмотрению в широчайшем объеме, согласующемся с принципами и новыми признаками, раскрытыми здесь любым образом, в том числе в приложенной формуле изобретения, которая составляет часть первоначального раскрытия.
Класс G10L21/04 временное сжатие или расширение