Код документа: RU2402827C2
Область техники, к которой относится изобретение
Настоящее изобретение относится к обработке сигналов.
Уровень техники
Речевая связь по коммутируемой телефонной сети общего пользования (КТСО, PSTN) традиционно ограничена полосой пропускания в диапазоне частот 300-3400 кГц. Новые сети для речевой связи, такие как сотовая телефонная связь и передача голоса по IP (ПИ, протокол Интернет, VoIP), могут не иметь такие же ограничения по полосе пропускания, и может быть предпочтительным передавать и принимать по таким сетям речевые сообщения, которые занимают более широкий диапазон частот. Например, может быть желательным поддерживать диапазон звуковых частот, который продолжается от 50 Гц и/или вплоть до 7 или 8 кГц. Также может быть желательным поддерживать другие приложения, такие как высококачественная передача звука или организация аудио/видео конференции, речевое содержание которых может занимать диапазон, выходящий за пределы традиционных ограничений PSTN.
Расширение диапазона, поддерживаемого речевым кодером, в область более высоких частот позволяет улучшить разборчивость речи. Например, информация, с помощью которой различаются фрикативные звуки, такие как "s" и "f", в значительной степени располагается в области высоких частот. Расширение в область диапазона высоких частот также может улучшить другие качества речи, такие как эффект присутствия. Например, даже звонкий гласный звук может иметь спектральную энергию, далеко выходящую за пределы, установленные в PSTN.
Один из подходов широкополосного кодирования речи включает в себя масштабирование узкополосной технологии кодирования речи (например, выполненной с возможностью кодирования диапазона от 0 до 4 кГц) так, чтобы она охватывала широкополосный спектр. Например, речевой сигнал может быть дискретизирован с более высокой частотой так, чтобы он включал компоненты высоких частот, и технология узкополосного кодирования может быть реконфигурирована для использования большего количества коэффициентов фильтра для представления такого широкополосного сигнала. Однако технологии узкополосного кодирования, такие как CELP (ЛПКТ, линейное прогнозирование с кодированием по таблице кодирования), являются интенсивными с точки зрения объемов расчетов, и широкополосный кодер CELP может расходовать слишком большое количество циклов обработки, что делает его непрактичным для использования во многих мобильных и других встраиваемых приложениях. Кодирование всего спектра широкополосного сигнала до требуемого качества при использовании такой методики также может привести к неприемлемо большому увеличению полосы пропускания. Кроме того, потребовалось бы выполнять транскодирование такого кодированного сигнала для передачи и/или декодирования даже его узкополосной части в системе, которая поддерживает только узкополосное кодирование.
Другой подход широкополосного кодирования речи включает в себя экстраполяцию огибающей спектра диапазона высоких частот по кодированной огибающей узкополосного спектра. Хотя такой подход может быть воплощен без какого-либо увеличения полосы пропускания и без необходимости транскодирования, грубая огибающая спектра или структура форманты на участке диапазона высоких частот речевого сигнала обычно не может быть точно предсказана по спектральной огибающей узкополосного участка.
Может быть предпочтительным воплотить широкополосное кодирование речи таким образом, чтобы, по меньшей мере, узкополосный участок кодированного сигнала можно было пересылать через узкополосный канал (такой как канал PSTN) без транскодирования или другой существенной модификации. Эффективность расширения для широкополосного кодирования также может быть желательной, например, для исключения существенного уменьшения количества пользователей, которые могут обслуживаться в приложениях, таких как беспроводная сотовая телефонная связь и широковещательная передача данных по кабельным и беспроводным каналам.
Сущность изобретения
В одном варианте выполнения способ генерирования сигнала возбуждения в диапазоне высоких частот содержит этапы, на которых гармонически расширяют спектр сигнала, который основан на сигнале возбуждения в диапазоне низких частот; рассчитывают огибающую во временной области сигнала, который основан на сигнале возбуждения в диапазоне низких частот; и модулируют сигнал шума в соответствии с огибающей во временной области.
Этот способ также содержит этап, на котором комбинируют (A) гармонически расширенный сигнал на основе результата гармонического расширения и (B) модулированный сигнал шума на основе результата модулирования. В этом способе сигнал возбуждения в диапазоне высоких частот основан на результате такого комбинирования.
В другом варианте выполнения устройство содержит расширитель спектра, выполненный с возможностью гармонического расширения спектра сигнала, который основан на сигнале возбуждения в диапазоне низких частот; калькулятор огибающей, выполненный с возможностью расчета огибающей во временной области сигнала, который основан на сигнале возбуждения в диапазоне низких частот; первый блок комбинирования, выполненный с возможностью модуляции сигнала шума в соответствии с огибающей во временной области; и второй блок комбинирования, выполненный с возможностью расчета суммы (A) гармонически расширенного сигнала на основе результата гармонического расширения и (B) модулированного сигнала шума на основе результата модуляции. Сигнал возбуждения в диапазоне высоких частот основан на результате этой суммы.
В другом варианте выполнения устройство содержит средство гармонического расширения спектра сигнала, который основан на сигнале возбуждения в диапазоне низких частот; средство расчета огибающей во временной области сигнала, который основан на сигнале возбуждения в диапазоне низких частот; средство модуляции сигнала шума в соответствии с огибающей во временной области; и средство комбинирования (A) гармонически расширенного сигнала на основе результата упомянутого гармонического расширения и (B) модулированного сигнала шума на основе результата упомянутой модуляции. В этом устройстве сигнал возбуждения в диапазоне высоких частот основан на результате упомянутого комбинирования.
В другом варианте выполнения способ генерирования сигнала возбуждения в диапазоне высоких частот содержит этапы, на которых рассчитывают гармонически расширенный сигнал путем применения нелинейной функции к сигналу возбуждения в диапазоне низких частот, полученному из части речевого сигнала низкой частоты; и смешивают гармонически расширенный сигнал с модулированным сигналом шума для генерирования сигнала возбуждения в диапазоне высоких частот.
Краткое описание чертежей
На фиг.1a показана блок-схема широкополосного речевого кодера A100 в соответствии с вариантом выполнения.
На фиг.1b показана блок-схема варианта выполнения A102 широкополосного речевого кодера A100.
На фиг.2a показана блок-схема широкополосного речевого декодера B100 в соответствии с вариантом выполнения.
На фиг.2b показана блок-схема варианта выполнения B102 широкополосного речевого кодера B100.
На фиг.3a показана блок-схема варианта выполнения А112 набора A110 фильтров.
На фиг.3b показана блок-схема варианта выполнения B122 набора B120 фильтров.
На фиг.4a показан охват полосы пропускания диапазонов низких и высоких частот одного примера набора А110 фильтров.
На фиг.4b показан охват полосы пропускания диапазонов низких и высоких частот другого примера набора А110 фильтров.
На фиг.4c показана блок-схема варианта A114 выполнения набора A112 фильтров.
На фиг.4d показана блок-схема варианта B124 выполнения набора B122 фильтров.
На фиг.5a показан пример графика зависимости частоты от логарифма амплитуды для речевого сигнала.
На фиг.5b показана блок-схема основной системы линейного кодирования с прогнозированием.
На фиг.6 показана блок-схема варианта A122 выполнения узкополосного кодера A120.
На фиг.7 показана блок-схема варианта B112 выполнения узкополосного декодера B110.
На фиг.8a показан пример графика зависимости частоты от логарифма амплитуды остаточного речевого сигнала.
На фиг.8b показан пример графика зависимости времени от логарифма амплитуды для остаточного речевого сигнала.
На фиг.9 показана блок-схема основной линейной системы кодирования с прогнозированием, которая также выполняет долговременное прогнозирование.
На фиг.10 показана блок-схема варианта A202 выполнения кодера A200 диапазона высоких частот.
На фиг.11 показана блок-схема варианта A302 выполнения генератора A300 возбуждения в диапазоне высоких частот.
На фиг.12 показана блок-схема варианта A402 выполнения расширителя A400 спектра.
На фиг.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 выполнения широкополосного речевого кодера A100.
На фиг.26a показана схема варианта D122 выполнения линии D120 задержки.
На фиг.26b показана схема варианта D124 выполнения линии D120 задержки.
На фиг.27 показана схема варианта D130 выполнения линии D120 задержки.
На фиг.28 показана блок-схема варианта AD12 выполнения широкополосного речевого кодера AD10.
На фиг.29 показана блок-схема последовательности операций способа обработки MD100 сигналов в соответствии с вариантом выполнения.
На фиг.30 показана блок-схема последовательности операций способа M100 в соответствии с вариантом выполнения.
На фиг.31a показана блок-схема последовательности операций способа M200 в соответствии с вариантом выполнения.
На фиг.31b показана блок-схема последовательности операций варианта M210 выполнения способа M200.
На фиг.32 показана блок-схема последовательности операций способа M300 в соответствии с вариантом выполнения.
На фигурах и в приложенном описании одинаковыми ссылочными позициями обозначены одинаковые или аналогичные элементы или сигналы.
Подробное описание изобретения
Описанные здесь варианты выполнения включают в себя системы, способы и устройство, которые могут быть выполнены с возможностью расширения узкополосного речевого кодера для поддержки передачи данных и/или сохранения широкополосных речевых сигналов с увеличением полосы пропускания не больше, чем приблизительно на 800-1000 бит/с (бит в секунду). Потенциальные преимущества таких вариантов выполнения включают в себя внедренное кодирование для поддержки совместимости с узкополосными системами, относительно простое распределение и перераспределение битов между каналами узкополосного кодирования и кодирования в диапазоне высоких частот, исключение интенсивных при расчетах операций широкополосного синтеза и поддержание низкой частоты дискретизации для сигналов, обрабатываемых с использованием интенсивных при расчетах процедур кодирования формы сигнала.
Если только явно не будет ограничено его контекстом, термин "расчет" используется здесь для обозначения любого из его обычных значений, таких как расчет, генерирование и выбор из списка значений. В случае, когда термин "расчет" используется в настоящем описании и в формуле изобретения, он не исключает другие элементы или операции. Термин "A основано на B" используется для обозначения любого из его обычных значений, включая случаи (i) "A равно B", и (ii) "A основано, по меньшей мере, на B". Термин "протокол Интернет" включает в себя версию 4, как описано в IETF (ЦГИИ, Целевая группа инженерной поддержки Интернет, Internet Engineering Task Force) RFC (ЗНК, Запрос на комментарий) 791 и последующие версии, такие как версия 6.
На фиг.1a показана блок-схема широкополосного речевого кодера A100 в соответствии с вариантом выполнения. Набор А110 фильтров выполнен с возможностью фильтрации широкополосного речевого сигнала S10 для получения узкополосного сигнала S20 и сигнала S30 диапазона высоких частот. Узкополосный кодер A120 выполнен с возможностью кодирования узкополосного сигнала S20 для получения параметров S40 узкополосного (УП, NB) фильтра и узкополосного остаточного сигнала 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) или как фильтр с бесконечной импульсной характеристикой (ITR). Частотные характеристики фильтров 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 диапазона высоких частот работают в соответствии с разными методиками кодирования. Например, разные методики кодирования позволяют получать сигналы, которые звучат в значительной степени по-разному. Кодер, который кодирует спектральную огибающую в форме показателей таблицы кодирования, может формировать сигнал, имеющий другой звук, чем кодер, который кодирует вместо этого амплитудный спектр. Кодер во временной области (например, импульсно-кодовая модуляция или кодер PCM (ИКМ, импульсно-кодовая модуляция)) может формировать сигнал, имеющий другой звук, чем кодер, работающий в частотной области. Кодер, который кодирует сигнал с представлением спектральной огибающей и соответствующий остаточный сигнал, может формировать сигнал, имеющий звук, отличающийся от звука кодера, который кодирует сигнал только с представлением спектральной огибающей. Кодер, который кодирует сигнал как представление его формы колебаний, может формировать выходной сигнал, имеющий звук, отличающийся от звука синусоидального кодера. В таких случаях использование фильтров, имеющих резкие переходные области, которые определяют неперекрывающиеся поддиапазоны, может привести к резкому и заметному для восприятия переходу между поддиапазонами в синтезируемом широкополосном сигнале.
Хотя наборы фильтров QMF, имеющие взаимодополняющие перекрывающиеся частотные характеристики, часто используют в технологиях подполос, такие фильтры не пригодны для, по меньшей мере, некоторых из описанных здесь вариантов воплощения широкополосного кодирования. Набор фильтров QMF в кодере выполнен с возможностью получения значительной ступенчатости, которую устраняют в соответствующем наборе фильтров QMF в декодере. Такая компоновка может не соответствовать приложению, в котором в сигнале возникает значительный уровень искажений между наборами фильтров, и эти искажения могут снизить эффективность свойства устранения ступенчатости. Например, описанные здесь приложения включают в себя варианты воплощения кодирования, выполненные с возможностью работы с очень малыми скоростями следования битов. Вследствие очень малой скорости следования битов декодированный сигнал, вероятно, может поступать со значительными искажениями по сравнению с исходным сигналом, в результате чего использование наборов фильтров QMF может привести к недостаточной компенсации ступенчатости.
Кроме того, кодер может быть выполнен с возможностью формирования синтезированного сигнала, который по восприятию аналогичен исходному сигналу, но который фактически существенно отличается от исходного сигнала. Например, кодер, который получает возбуждение диапазона высоких частот из остаточного узкополосного сигнала, как описано здесь, может формировать такой сигнал, и при этом фактический остаточный сигнал диапазона высоких частот может полностью отсутствовать в декодированном сигнале. При использовании наборов фильтров QMF в таких приложениях может возникнуть существенный уровень искажений в результате нескомпенсированной ступенчатости. Приложения, в которых используют наборы фильтров QMF, обычно имеют более высокие скорости следования битов (например, превышающие 12 кбит/с для AMR (открытый промышленный стандарт для плат расширения) и 64 кбит/с для G.722).
Уровень искажений, связанных со ступенчатостью QMF, может быть уменьшен, если искажения будут влиять на узкий поддиапазон, поскольку влияние ступенчатости будет ограничено полосой пропускания, равной ширине этого поддиапазона. Однако в описанных здесь примерах, в которых каждый поддиапазон включает в себя приблизительно половину полосы пропускания широкого диапазона, искажения, вызванные нескомпенсированной ступенчатостью, могут влиять на существенную часть сигналов. Качество сигнала также может быть затронуто в зависимости от местоположения частотного диапазона, в котором возникает нескомпенсированная ступенчатость. Например, искажения, возникшие рядом с центром широкополосного речевого сигнала (например, между 3 и 4 кГц), могут быть намного более нежелательными, чем искажения, которые возникают рядом с краем сигнала (например, на частотах выше 6 кГц).
Хотя характеристики фильтров набора фильтров QMF строго соответствуют друг другу, низкочастотный и высокочастотный пути наборов A110 и B120 фильтров могут быть выполнены с совершенно не связанными спектрами в частях за пределами области перекрытия двух поддиапазонов. Мы определяем перекрытие двух поддиапазонов как расстояние от точки, в которой частотная характеристика фильтра диапазона высоких частот падает до уровня -20 дБ, до точки, в которой частотная характеристика фильтра диапазона низких частот падает до уровня -20 дБ. В разных примерах набора A110 и/или B120 фильтров такое перекрытие располагается в диапазоне от приблизительно 200 Гц до приблизительно до 1 кГц. Диапазон от приблизительно 400 до приблизительно 600 Гц может представлять желательный компромисс между эффективностью кодирования и воспринимаемой непрерывностью сигнала. В одном конкретном примере, как упомянуто выше, перекрытие располагается приблизительно на частоте 500 Гц.
Может быть желательным воплотить набор А112 и/или B122 фильтров так, чтобы они выполняли операции, представленные на фиг.4a и 4b в нескольких каскадах. Например, на фиг.4c показана блок-схема варианта воплощения А114 из набора A112 фильтров, который выполняет функциональный эквивалент операций фильтрации высокой частоты и дискретизации с понижением частоты, с использованием последовательности операций интерполяции, повторной дискретизации, децимации и других операций. Такие варианты воплощения могут быть легко осуществимы и/или могут позволить повторно использовать функциональные логические блоки и/или блоки кода. Например, один и тот же функциональный блок можно использовать для выполнения операций децимации до 14 кГц и децимации до 7 кГц, как показано на фиг.4c. Спектрально обратимые операции могут быть воплощены путем умножения сигнала на функцию ejnπ или последовательность (-1)n, значения которых чередуются между +1 и -1. Операции формирования спектра могут быть воплощены с помощью фильтра низкой частоты, который выполнен с возможностью придания сигналу такой формы, чтобы получить требуемую общую характеристику фильтра.
Следует отметить, что вследствие спектральной обратимости операции спектр сигнала S30 диапазона высоких частот реверсируют. Последующие операции в кодере и соответствующем декодере должны быть соответствующим образом сконфигурированы. Например, генератор A300 возбуждения в диапазоне высоких частот, как описано здесь, может быть выполнен с возможностью формирования сигнала S120 возбуждения в диапазоне высоких частот, который также имеет спектрально обратную форму.
На фиг.4d показана блок-схема варианта B124 воплощения набора B122 фильтров, который выполняет функциональный эквивалент операций дискретизации с повышением частоты и фильтрации верхних частот, с использованием последовательности операций интерполяции, повторной дискретизации и других операций. Набор B124 фильтров включает в себя операцию обращения спектра в диапазоне высоких частот, которая выполняет операцию, обратную аналогичной операции, которая выполняется, например, в наборе фильтров кодера, такого как набор А114 фильтров. В этом конкретном примере набор B124 фильтров также включает в себя узкополосные режекторные фильтры в диапазоне низких частот и в диапазоне высоких частот, которые ослабляют компонент сигнала на частоте 7100 Гц, хотя такие фильтры являются необязательными и не обязательно должны быть включены. В заявке на патент "SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING", поданной при этом, регистрационный номер 050551 патентного поверенного включен в дополнительное описание и чертежи, относящиеся к характеристикам элементов конкретных вариантов воплощения наборов А110 и B120 фильтров, и этот материал приведен здесь в качестве ссылочного материала.
Узкополосный кодер A120 воплощен в соответствии с моделью источник - фильтр, которая кодирует входной речевой сигнал как (A) набор параметров, которые описывают фильтр и (B) сигнал возбуждения, который управляет описанным фильтром так, что формируется синтезированное воспроизведение входного речевого сигнала. На фиг.5a показан пример спектральной огибающей речевого сигнала. Пики, которые характеризуют эту спектральную огибающую, представляют резонансы вокального тракта и называются формантами. Большая часть речевых кодеров кодирует, по меньшей мере, такую грубую спектральную структуру в виде набора параметров, таких как коэффициенты фильтра.
На фиг.5b показан пример основной компоновки источник - фильтр, применяемой для кодирования спектральной огибающей узкополосного сигнала S20. Модуль анализа рассчитывает набор параметров, которые характеризуют фильтр, соответствующий звуку речи в течение некоторого периода времени (обычно 20 мс). Отбеливающий фильтр (также называемый фильтром анализа или прогнозирования ошибки), выполненный в соответствии с этими параметрами фильтра, удаляет спектральную огибающую для спектрального выравнивания сигнала. Полученный в результате отбеленный сигнал (также называемый остаточным) имеет меньшую энергию и, таким образом, меньшую дисперсию, и его проще кодировать, чем исходный речевой сигнал. Ошибки, возникающие в результате кодирования остаточного сигнала, также могут быть более равномерно распределены по спектру. Параметры фильтра и остаточный сигнал обычно квантуют для эффективной передачи через канал. В декодере фильтр синтеза, выполненный в соответствии с параметрами фильтра, возбуждают с помощью сигнала на основе остаточного сигнала для формирования синтезированной версии исходного звука речи. Фильтр синтеза обычно выполнен так, что он имеет функцию передачи, инверсную функции передачи отбеливающего фильтра.
На фиг.6 показана блок-схема основного варианта A122 воплощения узкополосного кодера A120. В этом примере модуль 210 анализа кодирования с линейным прогнозированием (КЛП, LPC) кодирует спектральную огибающую узкополосного сигнала S20 как набор коэффициентов линейного прогнозирования (ЛП, LP) (например, коэффициенты фильтра 1/A(z), который имеет все полюса). Модуль анализа обычно обрабатывает входной сигнал как последовательность не перекрывающихся фреймов с вновь установленными коэффициентами, рассчитанными для каждого фрейма. Период фрейма обычно представляет собой период, в течение которого можно ожидать, что сигнал остается локально стационарным; в качестве одного из общих примеров используется период 20 миллисекунд (эквивалентно 160 выборкам при частоте дискретизации 8 кГц). В одном примере модуль 210 анализа LPC выполнен с возможностью расчета набора из десяти коэффициентов фильтра LP для характеризации структуры форманта каждого 20-миллисекундного фрейма. Также возможно воплотить модуль анализа, который обрабатывает входные сигналы как последовательность перекрывающихся фреймов.
Модуль анализа может быть выполнен с возможностью непосредственного анализа выборок каждого фрейма, или выборки могут быть вначале взвешены в соответствии с функцией окна (например, окна Хэмминга (Hamming)). Анализ также может быть выполнен в окне большем, чем фрейм, таком как окно размером 30 мс. Это окно может быть симметричным (например, 5-20-5, при этом оно включает в себя 5 миллисекунд непосредственно перед и после 20-миллисекундного фрейма) или асимметричным (например, 10-20, и при этом оно включает в себя последние 10 миллисекунд предыдущего фрейма). Модуль анализа LPC обычно выполнен с возможностью расчета коэффициентов фильтра LP с использованием рекурсии Левинсона-Дурбина (Levinson-Durbin) или алгоритма Леро-Гегена (Leroux-Gueguen). В другом варианте воплощения модуль анализа может быть выполнен с возможностью расчета набора кепстральных коэффициентов для каждого фрейма вместо набора коэффициентов фильтра LP.
Выходная скорость кодера A120 может быть существенно понижена при относительно малом влиянии на качество воспроизведения путем квантования параметров фильтра. Коэффициенты фильтра линейного прогнозирования трудно эффективно квантовать, и их обычно отображают на другое представление, такое как линейные спектральные пары (ЛСП, LSP) или линейные спектральные частоты (ЛСЧ, LSF) для квантования и/или энтропийного кодирования. В примере, показанном на фиг.6, преобразование 220 коэффициента фильтра LP в LSF преобразует набор коэффициентов фильтра LP в соответствующий набор LSF. Другие взаимно-однозначные представления коэффициентов фильтра LP включают в себя коэффициенты parcor (коэффициенты частной корреляции (PARtial CORrelation)); значения отношения логарифма к площади; спектральные пары иммитанса (СПИ, ISP); и спектральные частоты иммитанса (СЧИ, ISF), которые используются в кодеке AMR-WB (АМС-ШП, Адаптивный многокоростной широкополосный) GSM (ГСМ, Глобальная система мобильной связи). Обычно преобразование между набором коэффициентов фильтра LP и соответствующим набором LSF является реверсивным, но варианты выполнения также включают в себя варианты воплощения кодера A120, в котором преобразование не может быть реверсивным без ошибки.
Блок 230 квантования выполнен с возможностью квантования набора узкополосных LSF (или другого представления коэффициентов), и узкополосный кодер A122 выполнен с возможностью вывода результата этого квантования в качестве параметров S40 узкополосного фильтра. Такой блок квантования обычно включает в себя блок векторного квантования, который кодирует входной вектор, как индекс, в соответствующую запись вектора в таблице или таблице кодирования.
Как показано на фиг.6, узкополосный кодер A122 также генерирует остаточный сигнал путем пропускания узкополосного сигнала S20 через отбеливающий фильтр 260 (также называемый фильтром анализа или фильтром прогнозирования ошибки), который выполнен в соответствии с набором коэффициентов фильтра. В этом конкретном примере отбеливающий фильтр 260 воплощен как фильтр FIR, хотя также можно использовать воплощение IIR. Остаточный сигнал обычно содержит важную для восприятия информацию речевого фрейма, такую как долговременная структура, относящаяся к тональности, которая не представлена в параметрах S40 узкополосного фильтра. Блок 270 квантования выполнен с возможностью расчета квантованного представления этого остаточного сигнала для вывода в качестве кодированного узкополосного сигнала S50 возбуждения. Такой блок квантования обычно включает в себя блок векторного квантования, который кодирует входной вектор, как индекс, в соответствующую запись вектора в таблице или книге кодирования. В качестве альтернативы - такой блок квантования может быть выполнен с возможностью передачи одного или больше параметров, по которым может быть динамически сгенерирован вектор в декодере вместо получения его из накопителя, как в нечасто используемом способе таблицы кодирования. Такой способ используется в таких схемах кодирования, как алгебраический CELP (линейное прогнозирование с кодированием по таблице кодирования), и кодеками, такими как 3GPP2 (Партнерство третьего поколения 2) EVRC (УКПС, улучшенный кодек с переменной скоростью работы).
Желательно, чтобы узкополосный кодер A120 генерировал кодированный узкополосный сигнал возбуждения в соответствии с теми же значениями параметра фильтра, которые будут доступны для соответствующего узкополосного декодера. Таким образом, полученный в результате кодированный узкополосный сигнал возбуждения может уже учитывать в некоторой степени неидеальность таких значений параметра, как ошибка квантования. В соответствии с этим желательно конфигурировать отбеливающий фильтр, используя те же значения коэффициента, которые будут доступны в декодере. В основном примере кодера A122, который показан на фиг.6, блок 240 обратного квантования деквантует параметры S40 узкополосного кодирования, преобразует 250 LSF в коэффициент LP фильтра, отображает полученные значения обратно в соответствующий набор коэффициентов LP фильтра, и этот набор коэффициентов используется для конфигурирования отбеливающего фильтра 260 для генерирования остаточного сигнала, квантуемого блоком 270 квантования.
Некоторые варианты воплощения узкополосного кодера A120 выполнены с возможностью расчета кодированного узкополосного сигнала S50 возбуждения путем идентификации одного из набора векторов таблицы кодирования, которые наилучшим образом соответствуют остаточному сигналу. Однако следует отметить, что узкополосный кодер A120 также может быть воплощен с возможностью расчета квантованного представления остаточного сигнала без фактического генерирования остаточного сигнала. Например, узкополосный кодер A120 может быть выполнен с возможностью использования множества векторов таблицы кодирования для генерирования соответствующих синтезированных сигналов (например, в соответствии с текущим набором параметров фильтра) и для выбора вектора таблицы кодирования, ассоциированного с генерируемым сигналом, который наилучшим образом соответствует исходному узкополосному сигналу S20 во взвешенной по восприятию области.
На фиг.7 показана блок-схема варианта B112 воплощения узкополосного декодера B110. Блок 310 обратного квантования деквантует параметры S40 узкополосного фильтра (в данном случае в набор LSF), и преобразование 320 LSF в коэффициент LP фильтра преобразует LSF в набор коэффициентов фильтра (например, как описано выше со ссылкой на блок 240 обратного квантования и преобразование 250 узкополосного кодера A122). Блок 340 обратного квантования деквантует узкополосный остаточный сигнал S40 для получения узкополосного сигнала S80 возбуждения. На основе коэффициентов фильтра и узкополосного сигнала S80 возбуждения узкополосный фильтр 330 синтеза синтезирует узкополосный сигнал S90. Другими словами, узкополосный фильтр 330 синтеза выполнен с возможностью придания формы спектра узкополосного сигнала S80 возбуждения в соответствии с деквантованными коэффициентами фильтра для формирования узкополосного сигнала S90. Узкополосный декодер B112 также подает узкополосный сигнал S80 возбуждения в кодер A200 диапазона высоких частот, который использует его для получения сигнала S120 возбуждения в диапазоне высоких частот, как описано здесь. В некоторых вариантах выполнения, как описано ниже, узкополосный декодер B110 может быть выполнен с возможностью передачи дополнительной информации в декодер B200 диапазона высоких частот, которая связана с узкополосным сигналом, таким как спектральный наклон, усиление в зависимости от усиления тона и задержки и речевой режим.
Система узкополосного кодера A122 и узкополосного декодера B112 представляет собой основной пример речевого кодека анализа-по-синтезу. Кодирование с линейным прогнозированием с кодированием по таблице кодирования (CELP) представляет собой одно популярное семейство кодирования анализа-по-синтезу, и воплощения таких кодеров могут выполнять кодирование формы колебаний сигнала для остаточного сигнала, включая такие операции, как выбор записей из фиксированных и адаптивных таблиц кодирования, операции минимизации ошибки и/или операции перцептуального взвешивания. Другие варианты воплощения кодирования анализа-по-синтезу включают в себя линейное прогнозирование со смешанным возбуждением (ЛПСВ, MELP), алгебраическое CELP (АЛПКТ, ACELP), релаксационное CELP (РЛПКТ, RCELP), регулярное импульсное возбуждение (РИВ, RPE), многоимпульсное CELP (МИК, MPE) и кодирование с линейным прогнозированием с возбуждением по сумме векторов (КЛВСВ, VSELP). Родственные способы кодирования включают в себя возбуждение в множестве полос (ВМП, MBE) и кодирование с интерполяцией формы колебаний прототипа (ИКП, PWI). Примеры стандартизированных речевых кодеков с анализом-по-синтезу включают в себя кодек полной скорости ETSI (ЕИСС, Европейский институт стандартизации в области связи) GSM (GSM 06.10), в котором используется линейное прогнозирование с остаточным возбуждением (ЛПОВ, RELP); расширенный кодек с полной скоростью GSM (ETSI-GSM 06.60); кодер по стандарту ITU (МИС, Международный институт связи) 11,8 Кбайт/сек G.729 Annex E; кодеки IS (ВС, временный стандарт)-641 для IS-136 (схема множественного доступа с временным разделением); адаптивные многоскоростные кодеки GSM (ГСМ-АМК, GSM-AMR); и кодек 4GV™ (Вокодер™ четвертого поколения) (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 для получения набора коэффициентов фильтра LP для каждого фрейма сигнала S30 диапазона высоких частот. Преобразование 410 коэффициента фильтра линейного прогнозирования в LSF преобразует набор коэффициентов фильтра LP в соответствующий набор LSF. Как упоминается выше со ссылкой на модуль 210 анализа и преобразование 220, модуль A210 анализа и/или преобразование 410 могут быть выполнены с возможностью использования других наборов коэффициентов (например, кепстральных коэффициентов) и/или представлений (например, ISP).
Модуль 420 квантования выполнен с возможностью квантования набора LSF для диапазона высоких частот (или других представлений коэффициента, таких ISP), и кодер A202 диапазона высоких частот выполнен с возможностью вывода результата такого квантования в виде параметров S60a фильтра диапазона высоких частот. Такой модуль квантования обычно включает в себя векторный модуль квантования, который кодирует входной вектор как индекс для соответствующей записи вектора в таблице или таблице кодирования.
Кодер A202 диапазона высоких частот также включает в себя фильтр A220 синтеза, выполненный с возможностью формирования синтезированного сигнала S130 диапазона высоких частот, в соответствии с сигналом S120 возбуждения в диапазоне высоких частот, и кодированной огибающей спектра (например, набор коэффициентов фильтра LP), cформированной модулем 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 возбуждения для формирования узкополосного сигнала S80 возбуждения. Расширитель A400 спектра выполнен с возможностью формирования гармонически расширенного сигнала S160 на основе узкополосного сигнала S80 возбуждения. Блок 470 комбинирования выполнен с возможностью комбинирования случайного сигнала шума, генерируемого генератором 480 шума, и огибающей во временной области, рассчитанной калькулятором 460 огибающей, для формирования модулированного сигнала S170 шума. Блок 490 комбинирования выполнен с возможностью смешения гармонически расширенного сигнала S60 и модулированного сигнала S170 шума для получения сигнала S120 возбуждения в диапазоне высоких частот.
В одном примере расширитель A400 спектра выполнен с возможностью выполнения операции спектрального наложения (также называется отражением) на узкополосный сигнал S80 возбуждения для формирования гармонически расширенного сигнала S160. Спектральное наложение может быть выполнено путем заполнения нулями сигнала S80 возбуждения с последующим применением фильтра высокой частоты для сохранения паразитного сигнала. В другом примере расширитель A400 спектра выполнен с возможностью формирования гармонически расширенного сигнала 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 с понижением частоты набора А112 фильтров (или через другие структуры или процедуры, имеющие такую же характеристику) для получения сигнала с расширенным спектром, имеющего диапазон частот и частоту дискретизации сигнала 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 представляет собой индекс во временной области и а представляет собой коэффициент сглаживания, имеющий значение от 0,5 до 1. Значение коэффициента а сглаживания может быть фиксированным или, в альтернативном варианте воплощения, может быть адаптивным в соответствии с обозначением шума во входном сигнале, так что значение а становится ближе к 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 диапазона высоких частот) и получения значения для другого весового коэффициента в соответствии с таким уравнением, как:
где Wгармонический обозначает гармонический весовой коэффициент S180 и Wшумаобозначает весовой коэффициент 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 выборки, и окно, как показано на фиг.23а, будет иметь ширину 48 выборок. В других вариантах воплощения можно использовать подфреймы любой длины, и даже возможен вариант воплощения калькулятора A230 коэффициента усиления диапазона высоких частот, который выполнен с возможностью формирования разного коэффициента усиления для каждой выборки фрейма.
На фиг.24 показана блок-схема варианта В202 воплощения декодера В200 диапазона высоких частот. Декодер В202 диапазона высоких частот включает в себя генератор В300 возбуждения в диапазоне высоких частот, который выполнен с возможностью формирования сигнала S120 возбуждения в диапазоне высоких частот на основе узкополосного сигнала S80 возбуждения. В зависимости от конкретных конструктивных вариантов выбора системы генератор В300 возбуждения в диапазоне высоких частот может быть воплощен в соответствии с любым из вариантов воплощения генератора А300 возбуждения в диапазоне высоких частот, как описано ниже. Генератор огибающей такого сигнала возбуждения в диапазоне высоких частот может быть выполнен с возможностью расчета огибающей во временной области узкополосного речевого сигнала, который основан на узкополосном сигнале возбуждения S80. Обычно предпочтительно реализовать генератор В300 возбуждения в диапазоне высоких частот так, чтобы он имел такую же характеристику, что и генератор возбуждения в диапазоне высоких частот кодера диапазона высоких частот конкретной системы кодирования. Однако поскольку узкополосный декодер В110 типично выполняет деквантизацию кодированного узкополосного сигнала S50 возбуждения, в большинстве случаев генератор В300 возбуждения в диапазоне высоких частот может быть воплощен так, что он будет принимать узкополосный сигнал S80 возбуждения из узкополосного декодера B110, и при этом нет необходимости включать в него блок обратного квантования, выполненный с возможностью деквантования кодированного узкополосного сигнала S50 возбуждения. Также возможно воплотить узкополосный декодер B110 так, чтобы он включал в себя экземпляр фильтра 600 против разреженности, который выполнен с возможностью фильтрации деквантизованного узкополосного сигнала возбуждения перед его подачей в узкополосный фильтр синтеза, такой как фильтр 330.
Блок 560 обратного квантования выполнен с возможностью деквантования параметров S60a фильтра диапазона высоких частот (в данном примере набора LSF), и преобразование 570 коэффициента фильтра LSF в LP выполнено с возможностью преобразования LSF в набор коэффициентов фильтра (например, как описано выше со ссылкой на блок 240 обратного квантования и преобразование 250 узкополосного кодера A122). В других вариантах воплощения, как указано выше, можно использовать другие наборы коэффициентов (например, кепстральных коэффициентов) и/или представления коэффициентов (например, ISP). Фильтр B200 синтеза диапазона высоких частот выполнен с возможностью формирования синтезированного сигнала диапазона высоких частот в соответствии с сигналом S120 возбуждения в диапазоне высоких частот и набора коэффициентов фильтра. Для системы, в которой кодер диапазона высоких частот включает в себя фильтр синтеза (например, как в описанном выше примере кодера A202), может быть предпочтительным воплотить фильтр B200 синтеза диапазона высоких частот так, чтобы он имел ту же характеристику (например, ту же функцию передачи), что и у фильтра синтеза.
Декодер B202 диапазона высоких частот также включает в себя блок 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 описаны в патентах США №№ 5704003 (Kleijn и др.) и 6879955 (Rao), и в опубликованной заявке 2004/0098255 на патент США (Kovesi и др.). Существующие варианты воплощения кодеров RCELP включают в себя улучшенный кодек с переменный скоростью работы (EVRC), как описано в Telecommunications Industry Association (TIA) IS-127 и the 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 включает в себя участок FB1 буфера фрейма и участок DB буфера задержки, и сдвиговый регистр SR3 включает в себя участок FB2 буфера фрейма, участок AB буфера ускорения и участок RB буфера задержки. Длины буфера AB ускорения и буфера RB замедления могут быть равными, или одна может быть больше, чем другая так, что в одном направлении поддерживается больший сдвиг, чем в другом. Буфер DB задержки и участок RB буфера замедления могут быть выполнены так, что они будут иметь одинаковую длину. В качестве альтернативы - буфер DB задержки может быть выполнен более коротким, чем буфер RB замедления, для учета временного интервала, требуемого для передачи выборок из буфера FB1 фрейма в сдвиговый регистр SR3, который может включать в себя другие операции обработки, такие как преобразование временного масштаба выборок перед сохранением их в сдвиговом регистре SR3.
В примере, показанном на фиг.27, буфер FB1 фрейма выполнен таким образом, что он имеет длину, равную длине одного фрейма сигнала S30 диапазона высоких частот. В другом примере буфер FB1 фрейма выполнен таким образом, что имеет длину, равную длине одного подфрейма сигнала S30 диапазона высоких частот. В таком случае линия D130 задержки может быть выполнена с возможностью включать в себя логическую схему для применения одной и той же (например, средней) задержки ко всем подфреймам фрейма, в котором выполняется сдвиг. Линия D130 задержки также может включать в себя логическую схему, усредняющую значения буфера FB1 фрейма со значениями, которые должны быть перезаписаны в буфер RB замедления или буфер AB ускорения. В дополнительном примере сдвиговый регистр SR3 может быть выполнен с возможностью приема значений сигнала S30 диапазона высоких частот только через буфер FB1 фрейма, и в этом случае линия D130 задержки может включать в себя логическую схему, которая выполняет интерполяцию между перерывами между последовательными фреймами или подфреймами, записываемыми в сдвиговый регистр SR3. В других вариантах воплощения линия D130 задержки может быть выполнена с возможностью выполнения операции преобразования временного масштаба для выборок из буфера FB1 фрейма перед записью их в сдвиговый регистр SR3 (например, в соответствии с функцией, описанной сигналом SD10 данных регуляризации).
Может быть желательным, чтобы линия D120 задержки применяла преобразование временного масштаба, которое основано на, но не идентично, преобразовании временного масштаба, определенном сигналом SD10 данных регуляризации. На фиг.28 показана блок-схема варианта AD12 воплощения широкополосного речевого кодера AD10, который включает в себя блок D110 отображения величины задержки. Блок D110 отображения величины задержки выполнен с возможностью отображения изменения временной оси, обозначенного сигналом SD10 данных регуляризации, на отображенное значение SD10a задержки. Линия D120 задержки выполнена с возможностью формирования речевого сигнала S30a диапазона высоких частот с преобразованным временным масштабом в соответствии с преобразованием временного масштаба, обозначенным отображенными значениями SD10а задержки.
Можно ожидать, что задержка по времени, применяемая узкополосным кодером, плавно разворачивается по времени. Поэтому обычно достаточно рассчитать средний узкополосный сдвиг по времени, применяемый к подфреймам во время речевого фрейма, и сдвигать соответствующий фрейм речевого сигнала 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/667901 и 60/673965 на патенты США, преимущества которых заявлены в данной заявке. Такие свойства включают в себя удаление пакетов с большой энергией и малой длительностью, которые возникают в диапазоне высоких частот и которые, по существу, отсутствуют в узкой полосе. Такие свойства включают в себя фиксированное или адаптивное сглаживание представлений коэффициентов, таких как LSF диапазона высоких частот. Такие свойства включают в себя фиксированное или адаптивное формование шума, ассоциированного с квантованием представлений коэффициента, таких как LSF. Такие свойства также включают в себя фиксированное или адаптивное сглаживание огибающей усиления и адаптивное ослабление огибающей усиления.
Приведенное выше представление описанных вариантов выполнения представлено с тем, чтобы обеспечить для любого специалиста в данной области техники возможность использования настоящего изобретения. При этом возможны различные модификации этих вариантов выполнения и их обобщенные принципы, представленные здесь, которые также можно применять в других вариантах воплощения. Например, вариант воплощения может быть реализован частично или полностью как схема, основанная на аппаратных средствах, как конфигурация схемы, изготовленная в виде специализированных интегральных микросхем или в виде встроенного программного обеспечения, загруженного в энергонезависимом запоминающем устройстве, или в виде программ, загруженных из или в накопитель данных в качестве считываемого машиной кода, причем такой код представляет собой команды, выполняемые матрицей логических элементов, такой как микропроцессор или другой цифровой модуль обработки сигналов. Носитель записи данных может представлять собой набор запоминающих устройств, таких как полупроводниковое запоминающее устройство (которое может включать в себя без ограничения динамическое или статическое ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное запоминающее устройство) и/или ОЗУ типа флэш), или ферроэлектрические, магниторезистивные запоминающие устройства, запоминающие устройства на элементах Овшинского, полимерные запоминающие устройства или запоминающие устройства с изменением фазы, или дисковый носитель, такой как магнитный или оптический диск. Термин "программное средство" следует понимать, как включающий в себя исходный код, код на языке Ассемблера, машинный код, двоичный код, встроенное программное обеспечение, макрокоманду, микрокод, любой один или больше наборов или последовательностей команд, выполняемых набором логических элементов, и любую комбинацию таких примеров.
Различные элементы воплощения генераторов A300 и B300 возбуждения в диапазоне высоких частот, кодера A100 диапазона высоких частот, декодера 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 может быть выполнена с возможностью модулирования огибающей коэффициента усиления синтезированного сигнала диапазона высоких частот путем применения набора коэффициентов усиления к сигналу возбуждения, полученному из узкополосной части, к сигналу с расширенным спектром, к сигналу возбуждения в диапазоне высоких частот или к синтезированному сигналу диапазона высоких частот.
Варианты воплощения также включают в себя дополнительные способы кодирования и декодирования речи, как явно раскрыто здесь, например, в соответствии с описаниями структурных вариантов выполнения, выполненных с возможностью выполнения таких способов. Каждый из этих способов также может быть материально воплощен (например, на одном или больше носителях записи данных, как представлено выше) как один или больше наборов команд, считываемых и/или выполняемых машиной, включающей в себя матрицу логических элементов (например, процессор, микропроцессор, микроконтроллер или другой автомат конечных состояний). Таким образом, не предусматривается ограничение настоящего изобретения представленными выше вариантами воплощения, а скорее его следует рассматривать в соответствии с самым широким объемом, который соответствует принципам и новым признакам, раскрытым в любой форме в данном описании, включая прилагаемую формулу изобретения в том виде, как она подана, которая формирует часть первоначального раскрытия.
Изобретение относится к обработке широкополосных речевых сигналов. В одном варианте выполнения способ генерирования сигнала возбуждения в диапазоне высоких частот содержит этапы, на которых гармонически расширяют спектр сигнала, который основан на сигнале возбуждения в диапазоне низких частот; рассчитывают огибающую во временной области сигнала, который основан на сигнале возбуждения в диапазоне низких частот; и модулируют сигнал шума в соответствии с огибающей во временной области. Способ также включает в себя этап, на котором комбинируют (А) гармонически расширенный сигнал на основе результата гармонического расширения и (В) модулированный сигнал шума на основе результата модулирования. В таком способе сигнал возбуждения в диапазоне высоких частот основан на результате комбинирования. Технический результат - обеспечение расширения узкополосного речевого кодера для поддержания передачи и/или сохранения широкополосных речевых сигналов при увеличении пропускной способности. 5 н. и 37 з.п. ф-лы, 32 ил.