СИСТЕМЫ, СПОСОБЫ И УСТРОЙСТВО ШИРОКОПОЛОСНОГО РЕЧЕВОГО КОДИРОВАНИЯ Российский патент 2010 года по МПК G10L21/02 

Описание патента на изобретение RU2381572C2

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

Данная заявка испрашивает приоритет предварительной патентной заявки США № 60/667901 под названием "CODING THE HIGH-FREQUENCY BAND OF WIDEBAND SPEECH", поданной 1 апреля 2005 г. Данная заявка также испрашивает приоритет предварительной патентной заявки США № 60/673965 под названием "PARAMETER CODING IN A HIGH-BAND SPEECH CODER", поданной 22 апреля 2005 г.

Область техники, к которой относится изобретение

Данное изобретение относится к обработке сигнала.

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

Голосовая связь посредством телефонной сети общего пользования (PSTN) традиционно ограничена по пропускной способности частотным диапазоном 300-3400 кГц. Новые сети для голосовой связи, например сети сотовой связи и передачи голоса по IP (интернет-протокол, VoIP), могут не иметь такие же ограничения по пропускной способности, и может оказаться желательно передавать и принимать по таким сетям голосовые передачи, которые включают в себя широкий частотный диапазон. Например, может оказаться желательно поддерживать частотный диапазон аудио с нижней границей до 50 Гц и/или верхней границей до 7 или 8 кГц. Также может оказаться желательно поддерживать другие приложения, например высококачественную аудио- или аудио/видео-конференцсвязь, которая может иметь аудио-речевой контент в диапазонах, выходящих за пределы традиционных ограничений PSTN.

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

Один подход к широкополосному речевому кодированию предусматривает распространение метода узкополосного речевого кодирования (например, предназначенного для кодирования диапазона 0-4 кГц) на широкий спектр. Например, речевой сигнал можно дискретизировать на более высокой частоте, чтобы он включал в себя высокочастотные компоненты, и метод узкополосного кодирования можно адаптировать для использования большего количества коэффициентов фильтра для представления этого широкополосного сигнала. Методы узкополосного кодирования, например CELP (линейное прогнозирование с кодовым возбуждением), требуют большого объема вычислений, однако широкополосный CELP-кодер может требовать слишком много циклов обработки, чтобы иметь практическое применение во многих мобильных и иных встроенных приложениях. Кодирование всего спектра широкополосного сигнала для достижения нужного качества с использованием такого метода также может приводить к неприемлемо большому увеличению ширины полосы. Кроме того, потребовалось бы транскодирование такого кодированного сигнала, прежде чем передать даже его узкополосную часть и/или декодировать посредством системы, которая поддерживает только узкополосное кодирование.

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

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

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

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

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

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

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

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

Фиг.1a - блок-схема широкополосного речевого кодера A100 согласно варианту осуществления.

Фиг.1b - блок-схема реализации A102 широкополосного речевого кодера A100.

Фиг.2a - блок-схема широкополосного речевого декодера B100 согласно варианту осуществления.

Фиг.2b - блок-схема реализации B102 широкополосного речевого кодера B100.

Фиг.3a - блок-схема реализации A112 гребенки фильтров A110.

Фиг.3b - блок-схема реализации B122 гребенки фильтров B120.

Фиг.4a - полоса частот низкого и высокого диапазонов для одного примера гребенки фильтров A110.

Фиг.4b - полоса частот низкого и высокого диапазонов для другого примера гребенки фильтров A110.

Фиг.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 (Request for Comments) 791, и последующие версии, например версию 6.

На фиг.1a показана блок-схема широкополосного речевого кодера A100 согласно варианту осуществления. Гребенка фильтров A110 обеспечивает фильтрацию широкополосного речевого сигнала S10 для создания узкополосного сигнала S20 и сигнала S30 полосы верхних частот. Узкополосный кодер A120 может кодировать узкополосный сигнал S20 для создания узкополосных (NB) параметров фильтра S40 и узкополосного остаточного сигнала S50. Согласно приведенному здесь более подробному описанию узкополосный кодер A120 обычно создает узкополосные параметры фильтра S40 и кодированный узкополосный сигнал возбуждения S50 в виде индексов кодовой книги или в другой квантованной форме. Кодер A200 полосы верхних частот кодирует сигнал S30 полосы верхних частот согласно информации в кодированном узкополосном сигнале возбуждения S50 для создания параметров кодирования S60 полосы верхних частот. Согласно приведенному здесь более подробному описанию кодер A200 полосы верхних частот обычно создает параметры кодирования S60 полосы верхних частот в виде индексов кодовой книги или в другой квантованной форме. В одном конкретном примере широкополосный речевой кодер A100 может кодировать широкополосный речевой сигнал S10 со скоростью около 8,55 кбит/с (килобит в секунду), при этом около 7,55 кбит/с используется для узкополосных параметров фильтра S40 и кодированного узкополосного сигнала возбуждения S50, и около 1 кбит/с используется для параметров кодирования S60 полосы верхних частот.

Может оказаться желательным объединять кодированные узкополосный сигнал и сигналы полосы верхних частот в единый битовый поток. Например, может оказаться желательным мультиплексировать кодированные сигналы друг с другом для передачи (например, по проводному, оптическому или беспроводному каналу связи) или для сохранения в виде кодированного широкополосного речевого сигнала. На фиг.1b показана блок-схема реализации A102 широкополосного речевого кодера A100, который включает в себя a мультиплексор A130, обеспечивающий объединение узкополосных параметров фильтра S40, кодированного узкополосного сигнала возбуждения S50, и параметров фильтра S60 полосы верхних частот в мультиплексированный сигнал S70.

Устройство, включающее в себя кодер A102, также может включать в себя схему, обеспечивающую передачу мультиплексированного сигнала S70 в канал связи, например, проводной, оптический или беспроводной канал. Такое устройство также может осуществлять одну или несколько канальных операций кодирования над сигналом, например кодирование с коррекцией ошибок (например, сверточное кодирование, совместимое по скорости) и/или кодирование с обнаружением ошибок (например, кодирование с циклической избыточностью) и/или кодирование на одном или нескольких уровнях сетевого протокола (например, Ethernet, TCP/IP, cdma2000).

Может оказаться желательным, чтобы мультиплексор A130 встраивал кодированный узкополосный сигнал (включающий в себя узкополосные параметры фильтра S40 и кодированный узкополосный сигнал возбуждения S50) в виде разделяемого битового потока мультиплексированного сигнала S70, что позволило бы восстанавливать и декодировать кодированный узкополосный сигнал независимо от другой части мультиплексированного сигнала S70, например сигнала полосы верхних частот и/или сигнала полосы нижних частот. Например, мультиплексированный сигнал S70 может быть сформирован так, что кодированный узкополосный сигнал можно восстанавливать, отбрасывая параметры фильтра S60 полосы верхних частот. Потенциальное преимущество такой особенности в том, что это позволяет избегать необходимости транскодирования кодированного широкополосного сигнала до передачи его в систему, которая поддерживает декодирование узкополосного сигнала, но не поддерживает декодирование части полосы верхних частот.

На фиг.2a показана блок-схема широкополосного речевого декодера B100 согласно варианту осуществления. Узкополосный декодер B110 способен декодировать узкополосные параметры фильтра S40 и кодированный узкополосный сигнал возбуждения S50 для создания узкополосного сигнала S90. Декодер B200 полосы верхних частот декодирует параметры кодирования S60 полосы верхних частот согласно узкополосному сигналу возбуждения S80 на основании кодированного узкополосного сигнала возбуждения S50 для создания сигнала S100 полосы верхних частот. В этом примере узкополосный декодер B110 выдает узкополосный сигнал возбуждения S80 на декодер B200 полосы верхних частот. Гребенка фильтров B120 объединяет узкополосный сигнал S90 и сигнал S100 полосы верхних частот для создания широкополосного речевого сигнала S110.

На фиг.2b показана блок-схема реализации B102 широкополосного речевого декодера B100, который включает в себя демультиплексор B130 для создания кодированных сигналов S40, S50 и S60 из мультиплексированного сигнала S70. Устройство, включающее в себя декодер B102, содержит схему для приема мультиплексированного сигнала S70 из канала связи, например, проводного, оптического или беспроводного канала. Такое устройство также может осуществлять одну или несколько канальных операций декодирования сигнала, например декодирование с коррекцией ошибок (например, сверточное декодирование, совместимое по скорости), и/или декодирование с обнаружением ошибок (например, декодирование с циклической избыточностью), и/или декодирование на одном или нескольких уровнях сетевого протокола (например, Ethernet, TCP/IP, cdma2000).

Гребенка фильтров A110 фильтрует входной сигнал согласно схеме расщепленных диапазонов для создания низкочастотного поддиапазона и высокочастотного поддиапазона. В зависимости от критериев конструкции для конкретного приложения выходные поддиапазоны могут иметь полосы равной или неравной ширины и могут быть перекрывающимися или неперекрывающимися. Возможна также конфигурация гребенки фильтров A110, которая создает более двух поддиапазонов. Например, такая гребенка фильтров может создавать один или несколько сигналов полосы верхних частот, которые включают в себя составляющие в частотном диапазоне с частотой ниже, чем в узкополосном сигнале S20 (например, в диапазоне 50-300 Гц). Такая гребенка фильтров также может создавать один или несколько дополнительных сигналов полосы верхних частот, которые включают в себя составляющие в частотном диапазоне с частотой выше, чем в сигнале S30 полосы верхних частот (например, в диапазоне 14-20, 16-20 или 16-32 кГц). В таком случае можно реализовать широкополосный речевой кодер A100 для отдельного кодирования этого/их сигнала или сигналов и мультиплексор A130 может включать дополнительный/е кодированный/е сигнал или сигналы в мультиплексированный сигнал S70 (например, в качестве отдельной части).

На фиг.3a показана блок-схема реализации A112 гребенки фильтров A110 для создания сигналов двух поддиапазонов, имеющих сниженные частоты дискретизации. Гребенка фильтров A110 принимает широкополосный речевой сигнал S10, имеющий высокочастотную часть (или полосу верхних частот) и низкочастотную часть (или полосу нижних частот). Гребенка фильтров A112 включает в себя тракт обработки полосы нижних частот для приема широкополосного речевого сигнала S10 и создания узкополосного речевого сигнала S20 и тракт обработки полосы верхних частот для приема широкополосного речевого сигнала S10 и создания речевого сигнала S30 полосы верхних частот. Низкочастотный фильтр 110 фильтрует широкополосный речевой сигнал S10, пропуская выбранный низкочастотный поддиапазон, и высокочастотный фильтр 130 фильтрует широкополосный речевой сигнал S10, пропуская выбранный высокочастотный поддиапазон. Поскольку сигналы обоих поддиапазонов имеют более узкие полосы, чем широкополосный речевой сигнал S10, их частоты дискретизации можно снизить до некоторой степени без потери информации. Блок 120 понижения частоты дискретизации снижает частоту дискретизации низкочастотного сигнала согласно нужному коэффициенту децимации (например, путем удаления выборок сигнала и/или замены выборок средними значениями), и блок 140 понижения частоты дискретизации аналогично снижает частоту дискретизации высокочастотного сигнала согласно другому нужному коэффициенту децимации.

На фиг.3b показана блок-схема соответствующей реализации B122 гребенки фильтров B120. Блок 150 повышения частоты дискретизации повышает частоту дискретизации узкополосного сигнала S90 (например, путем вставки нулей и/или путем дублирования выборок), и низкочастотный фильтр 160 фильтрует сигнал, преобразованный с повышением частоты дискретизации, пропуская только часть полосы нижних частот (например, для предотвращения помехи дискретизации). Аналогично блок 170 повышения частоты дискретизации повышает частоту дискретизации сигнала S100 полосы верхних частот, и высокочастотный фильтр 180 фильтрует сигнал, преобразованный с повышением частоты дискретизации, пропуская только часть полосы верхних частот. Затем два полосовых сигнала суммируются для формирования широкополосного речевого сигнала S110. В некоторых реализациях декодера B100 гребенка фильтров B120 создает взвешенную сумму двух полосовых сигналов согласно одному или нескольким весовым коэффициентам, полученным и/или вычисленным декодером B200 полосы верхних частот. Возможна также конфигурация гребенки фильтров B120, которая объединяет более двух полосовых сигнала.

Каждый из фильтров 110, 130, 160, 180 можно реализовать в виде фильтра с конечной импульсной характеристикой (FIR) или фильтра с бесконечной импульсной характеристикой (IIR). Частотные характеристики фильтров 110 и 130 кодера могут иметь переходные области симметричной или асимметричной формы между полосой заграждения и полосой пропускания. Аналогично частотные характеристики фильтров 160 и 180 декодера могут иметь переходные области симметричной или асимметричной формы между полосой заграждения и полосой пропускания. Может оказаться желательно, но не строго обязательно, чтобы низкочастотный фильтр 110 имел такую же характеристику, как низкочастотный фильтр 160, и чтобы высокочастотный фильтр 130 имел такую же характеристику, как высокочастотный фильтр 180. В одном примере две пары фильтров 110, 130 и 160, 180 образуют гребенку квадратурных зеркальных фильтров (QMF), причем пара фильтров 110, 130 имеют такие же коэффициенты, как пара фильтров 160, 180.

В типичном примере низкочастотный фильтр 110 имеет полосу пропускания, которая включает в себя ограниченный диапазон PSTN 300-3400 Гц (например, полосу от 0 до 4 кГц). На фиг.4a и 4b показаны относительные ширины полосы широкополосного речевого сигнала S10, узкополосного сигнала S20 и сигнала S30 полосы верхних частот в двух разных примерах реализации. В этих двух конкретных примерах широкополосный речевой сигнал S10 имеет частоту дискретизации 16 кГц (представляющую частотные составляющие в диапазоне от 0 до 8 кГц) и узкополосный сигнал S20 имеет частоту дискретизации 8 кГц (представляющую частотные составляющие в диапазоне от 0 до 4 кГц).

В примере, приведенном на фиг.4a, нет значительного перекрытия между двумя поддиапазонами. Сигнал S30 полосы верхних частот, как показано в этом примере, можно получить с использованием высокочастотного фильтра 130 с полосой пропускания 4-8 кГц. В таком случае может оказаться желательно снизить частоту дискретизации до 8 кГц посредством преобразования с понижением частоты дискретизации фильтрованного сигнала с коэффициентом два. Такая операция, которая, предположительно, значительно снижает вычислительную сложность дальнейших операций обработки сигнала, смещает энергию полосы пропускания в диапазон от 0 до 4 кГц без потери информации.

В альтернативном примере, показанном на фиг.4b, верхний и нижний поддиапазоны имеют заметное перекрытие, вследствие чего область от 3,5 до 4 кГц описывается сигналами обоих поддиапазонов. Сигнал S30 полосы верхних частот, представленный в этом примере, можно получить с использованием высокочастотного фильтра 130 с полосой пропускания 3,5-7 кГц. В таком случае может оказаться желательно снизить частоту дискретизации до 7 кГц путем преобразования с понижением частоты дискретизации фильтрованного сигнала с коэффициентом 16/7. Такая операция, которая, предположительно, значительно снижает вычислительную сложность дальнейших операций обработки сигнала, смещает энергию полосы пропускания в диапазон от 0 до 3,5 кГц без потери информации.

В обычной телефонной трубке для телефонной связи, один или несколько преобразователей (т.е. микрофон и телефон или громкоговоритель) имеют недостаточный отклик в частотном диапазоне 7-8 кГц. В примере, приведенном на фиг.4b, часть широкополосного речевого сигнала S10 от 7 до 8 кГц не включена в кодированный сигнал. Другие конкретные примеры высокочастотного фильтра 130 имеют полосы пропускания 3,5-7,5 кГц и 3,5-8 кГц.

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

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

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

Хотя гребенки фильтров QMF, имеющие взаимодополняющие перекрывающиеся частотные характеристики, часто используются в методах обработки поддиапазонов, такие фильтры непригодны для, по меньшей мере, некоторых из описанных здесь реализаций широкополосного кодирования. Гребенка фильтров QMF в кодере способна создавать значительную помеху дискретизации, которая подавляется соответствующей гребенкой фильтров QMF в декодере. Такая конфигурация может не подходить для приложения, в котором сигнал подвергается значительному искажению между гребенками фильтров, поскольку искажение может снижать эффективность подавления помехи дискретизации. Например, описанные здесь приложения включают в себя реализации кодирования, предназначенные для работы на очень низких битовых скоростях. Вследствие очень низкой битовой скорости велика вероятность того, что декодированный сигнал окажется значительно искаженным по сравнению с исходным сигналом, поэтому использование гребенок фильтров QMF может приводить к неподавленной помехе дискретизации. Приложения, в которых используются гребенки фильтров QMF, обычно имеют более высокие битовые скорости (например, свыше 12 кбит/с для AMR и 64 кбит/с для G.722).

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

Величину искажения, обусловленного помехой дискретизации QMF, можно снизить, если поддиапазон, подверженный влиянию, узок, поскольку эффект помехи дискретизации ограничивается шириной полосы, равной ширине поддиапазона. Однако в описанных здесь примерах, где каждый поддиапазон включает в себя около половины полосы широкополосного диапазона, искажение, обусловленное скомпенсированной помехой дискретизации, может оказывать влияние на значительную часть сигнала. На качество сигнала также может влиять положение полосы частот, в которой имеет место скомпенсированная помеха дискретизации. Например, искажение, создаваемое вблизи центра широкополосного речевого сигнала (например, между 3 и 4 кГц), может быть гораздо менее желательно, чем искажение, возникающее вблизи края сигнала (например, свыше 6 кГц).

Хотя отклики фильтров гребенки фильтров QMF строго связаны друг с другом, части полосы нижних частот и полосы верхних частот гребенок фильтров A110 и B120 могут иметь спектры, которые никак не связаны друг с другом за исключением перекрытия двух поддиапазонов. Перекрытие двух поддиапазонов определяется как расстояние от точки, в которой частотная характеристика фильтра полосы верхних частот спадает до -20 дБ, до точки, в которой частотная характеристика фильтра полосы нижних частот спадает до -20 дБ. В различных примерах гребенки фильтров A110 и/или B120, это перекрытие занимает диапазон от около 200 Гц до около 1 кГц. Диапазон от около 400 до около 600 Гц может представлять желаемый компромисс между эффективностью кодирования и воспринимаемым сглаживанием. В одном конкретном примере, упомянутом выше, перекрытие составляет около 500 Гц.

Может оказаться желательно реализовать гребенку фильтров A112 и/или B122 для осуществления операций, показанных на фиг.4a и 4b, в виде нескольких каскадов. Например, на фиг.4c показана блок-схема реализации A114 гребенки фильтров A112, которая осуществляет функциональный эквивалент операций высокочастотной фильтрации и преобразования с понижением частоты дискретизации с использованием ряда операций интерполяции, повторной дискретизации, децимации и других операций. Такая реализация упрощает конструирования и/или обеспечивает повторное использование функциональных блоков логики и/или кода. Например, один и тот же функциональный блок можно использовать для осуществления операций децимации до 14 кГц и децимации до 7 кГц, как показано на фиг.4c. Операцию обращения спектра можно реализовать посредством умножения сигнала на функцию e jnπ или последовательность (-1)n, которая попеременно принимает значения +1 и -1. Операцию формирования спектра можно реализовать посредством низкочастотного фильтра, предназначенного для формирования сигнала для получения нужной общей характеристики фильтра.

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

На фиг.4d показана блок-схема реализации B124 гребенки фильтров B122, которая осуществляет функциональный эквивалент операций повышения частоты дискретизации и высокочастотной фильтрации с использованием ряда операций интерполяции, повторной дискретизации и других операций. Гребенка фильтров B124 включает в себя операцию обращения спектра в верхнем диапазоне, которая обращает аналогичную операцию, осуществляемую, например, в гребенке фильтров кодера, например в гребенке фильтров A114. В этом конкретном примере гребенка фильтров B124 также включает в себя узкополосные режекторные фильтры в нижнем и верхнем диапазоне, которые ослабляют составляющую сигнала на 7100 Гц, хотя такие фильтры являются необязательными и не всегда входят в состав устройства. Патентная заявка "SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING" поданная совместно с данной заявкой, номер дела поверенного 050551, включает в себя дополнительное описание и чертежи, относящиеся к характеристикам элементов конкретных реализаций гребенок фильтров A110 и B120, и этот материал включен, таким образом, посредством ссылки.

Узкополосный кодер A120 реализован согласно модели источник-фильтр, которая предусматривает кодирование входного речевого сигнала в виде (A) набора параметров, описывающих фильтр, и (B) сигнала возбуждения, который возбуждает описанный фильтр для формирования синтезированного воспроизведения входного речевого сигнала. На фиг.5a показан пример спектральной огибающей речевого сигнала. Пики, характеризующие эту спектральную огибающую, представляют резонансы речевого тракта и называются формантами. Большинство речевых кодеров кодируют, по меньшей мере, эту грубую спектральную структуру в виде набора параметров, например коэффициентов фильтра.

На фиг.5b показан пример базовой конфигурации источник-фильтр, применяемой для кодирования спектральной огибающей узкополосного сигнала S20. Модуль анализа вычисляет набор параметров, характеризующих фильтр, соответствующий звуку речи в течение периода времени (обычно 20 мс). Отбеливающий фильтр (также именуемый анализирующим фильтром или фильтром ошибок прогнозирования), настроенный согласно этим параметрам фильтра, удаляет спектральную огибающую для выравнивания спектральной характеристики сигнала. Полученный отбеленный сигнал (также именуемый остатком) имеет меньшую энергию и, таким образом, меньшую дисперсию, и легче поддается кодированию, чем исходный речевой сигнал. Ошибки, возникающие при кодировании остаточного сигнала, также могут более равномерно распределяться по спектру. Параметры фильтра и остаточный сигнал обычно квантуются для эффективной передачи по каналу. В декодере синтезирующий фильтр, настроенный согласно параметрам фильтра, возбуждается сигналом, основанным на остаточном сигнале, для создания синтезированной версии исходного звука речи. Синтезирующий фильтр обычно имеет передаточную функцию, обратную передаточной функции отбеливающего фильтра.

На фиг.6 показана блок-схема базовой реализации A122 узкополосного кодера A120. В этом примере модуль анализа 210 кодирования с линейным прогнозированием (LPC) кодирует спектральную огибающую узкополосного сигнала S20 в виде набора коэффициентов линейного прогнозирования (LP) (например, коэффициентов полюсного фильтра 1/A(z)). Модуль анализа обычно обрабатывает входной сигнал как ряд неперекрывающихся кадров, при этом для каждого кадра вычисляется новый набор коэффициентов. Период кадра это, в общем случае, период, в течение которого сигнал предположительно является локально стационарным; типичный период составляет 20 миллисекунд (что эквивалентно 160 выборкам при частоте дискретизации 8 кГц). В одном примере модуль анализа 210 LPC способен вычислять набор из десяти коэффициентов НЧ-фильтра для описания формантной структуры каждого 20-миллисекундного кадра. Также возможна реализация модуля анализа, обрабатывающего входной сигнал как ряд перекрывающихся кадров.

Модуль анализа может анализировать выборки каждого кадра напрямую, или выборки могут сначала взвешиваться согласно функции окна (например, окна Хэмминга). Анализ также может осуществляться по окну, превышающему размер кадра, например 30-миллисекундному окну. Это окно может быть симметричным (например, 5-20-5, включая в себя 5 миллисекунд непосредственно до и после 20-миллисекундного кадра) или асимметричным (например 10-20, включая в себя последние 10 миллисекунд предыдущего кадра). Модуль анализа LPC обычно вычисляет коэффициенты НЧ-фильтра с использованием рекурсивного метода Левинсона-Дурбина или алгоритма Леру-Гегюна. В другой реализации модуль анализа может вычислять набор коэффициентов косинусного преобразования Фурье для каждого кадра вместо набора коэффициентов НЧ-фильтра.

Выходную скорость кодера A120 можно значительно снижать с относительно небольшим влиянием на качество воспроизведения благодаря квантованию параметров фильтра. Коэффициенты фильтра линейного прогнозирования трудно эффективно квантовать, и их обычно отображают в другое представление, например пары спектральных линий (LSP) или частоты спектральных линий (LSF), для квантования и/или энтропийного кодирования. В примере, приведенном на фиг.6, преобразование 220 коэффициентов LP-фильтра в LSF преобразует набор коэффициентов НЧ-фильтра в соответствующий набор LSF. Другие взаимно-однозначные представления коэффициентов НЧ-фильтра включают в себя коэффициенты PARCOR; значения логарифмического отношения площадей; пары спектральных иммитансов (ISP); и частоты спектральных иммитансов (ISF), которые используются в кодеке AMR-WB (Adaptive Multirate-Wideband) GSM (Глобальной системы мобильной связи). Обычно преобразование между набором коэффициентов НЧ-фильтра и соответствующим набором LSFs обратимо, но варианты осуществления также включают в себя реализации кодера A120, в которых преобразование невозможно обратить без ошибки.

Квантователь 230 квантует набор узкополосных LSF (или других представлений коэффициентов), и узкополосный кодер A122 выводит результат этого квантования в виде узкополосных параметров фильтра S40. Такой квантователь обычно включает в себя векторный квантователь, который кодирует входной вектор как индекс для соответствующей векторной записи в таблице или кодовой книге.

Согласно фиг.6 узкополосный кодер A122 также генерирует остаточный сигнал, пропуская узкополосный сигнал S20 через отбеливающий фильтр 260 (также именуемый анализирующим фильтром или фильтром ошибок прогнозирования), настроенный согласно набору коэффициентов фильтра. В этом конкретном примере, отбеливающий фильтр 260 реализован как FIR-фильтр, хотя можно также использовать реализации IIR. Этот остаточный сигнал обычно содержит важную, с точки зрения восприятия, информацию речевого кадра, например долговременную структуру, связанную с основным тоном, которая не представлена в узкополосных параметрах фильтра S40. Квантователь 270 вычисляет квантованное представление этого остаточного сигнала для вывода в качестве кодированного узкополосного сигнала возбуждения S50. Такой квантователь обычно включает в себя векторный квантователь, который кодирует входной вектор как индекс для соответствующей векторной записи в таблице или кодовой книге. Альтернативно такой квантователь может передавать один или несколько параметров, из которых в декодере может динамически генерироваться вектор вместо извлечения его из хранилища, как в методе разреженной кодовой книги. Такой способ используется в таких схемах кодирования, как алгебраическое CELP (линейное прогнозирование с кодовым возбуждением), и таких кодеках, как 3GPP2 (Third Generation Partnership 2) EVRC (Enhanced Variable Rate Codec).

Желательно, чтобы узкополосный кодер A120 генерировал кодированный узкополосный сигнал возбуждения согласно тем же значениям параметров фильтра, которые будут доступны соответствующему узкополосному декодеру. Таким образом, результирующий кодированный узкополосный сигнал возбуждения уже может в некоторой степени учитывать неидеальности в этих значениях параметров, например ошибки квантования. Соответственно желательно настроить отбеливающий фильтр с использованием тех же значений коэффициентов, которые будут доступны в декодере. В базовом примере кодера A122, показанном на фиг.6, обратный квантователь 240 деквантует узкополосные параметры кодирования S40, преобразователь 250 LSF в коэффициенты LP-фильтра 250 отображает результирующие значения обратно на соответствующий набор коэффициентов НЧ-фильтра, и этот набор коэффициентов используется для настройки отбеливающего фильтра 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 (European Telecommunications Standards Institute)-GSM (GSM 06.10), который использует линейное прогнозирование с возбуждением остаточным сигналом (RELP); усовершенствованный полноскоростной кодек GSM (ETSI-GSM 06.60); стандартный кодер со скоростью 11,8 кбит/с согласно ITU (International Telecommunication Union) G.729 Приложение E; кодеки IS (Interim Standard)-641 для IS-136 (схема множественного доступа с кодовым разделением); адаптивные многоскоростные кодеки GSM (GSM-AMR); и кодек 4GV™ (Fourth-Generation Vocoder™) (QUALCOMM Incorporated, Сан-Диего, Калифорния). Узкополосный кодер A120 и соответствующий декодер B110 можно реализовать согласно любой из этих технологий или любой другой технологии речевого кодирования (известной или созданной в будущем), которая представляет речевой сигнал в виде (A) набора параметров, которые описывают фильтр, и (B) сигнала возбуждения, используемого для возбуждения описанного фильтра для воспроизведения речевого сигнала.

Даже после того как отбеливающий фильтр удалит грубую спектральную огибающую из узкополосного сигнала S20, может оставаться заметная доля тонкой гармонической структуры, особенно для вокализованной речи. На фиг.8a показан график спектра одного примера остаточного сигнала, который может быть создан отбеливающим фильтром, для вокализованного сигнала, например гласного звука. Периодическая структура, наблюдаемая в этом примере, относится к основному тону, и другие вокализованные звуки, произносимые тем же диктором, могут иметь разные формантные структуры, но аналогичные структуры основного тона. На фиг.8b показан график зависимости амплитуды от времени в одном примере такого остаточного сигнала, где показана последовательность импульсов основного тона во времени.

Эффективность кодирования и/или качество речи можно повысить с использованием одного или нескольких значений параметра для кодирования характеристик структуры основного тона. Одной важной характеристикой структуры основного тона является частота первой гармоники (также именуемая основной частотой), которая обычно находится в диапазоне от 60 до 400 Гц. Эта характеристика обычно кодируется как величина, обратная основной частоте, также именуемая интервалом основного тона. Интервал основного тона указывает количество выборок в одном периоде основного тона и может кодироваться как один или несколько индексов кодовой книги. Для речевых сигналов дикторов-мужчин характерны более длительные интервалы основного тона, чем речевые сигналы дикторов-женщин.

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

Узкополосный кодер A120 может включать в себя один или несколько модулей для кодирования долговременной гармонической структуры узкополосного сигнала S20. Согласно фиг.9 одна типичная структура CELP, которую можно использовать, включает в себя модуль анализа LPC с разомкнутым циклом, который кодирует краткосрочные характеристики или грубую спектральную огибающую, после которого следует каскад анализа долгосрочного прогнозирования с замкнутым циклом, который кодирует тонкую структуру основного тона или гармоник. Краткосрочные характеристики кодируются как коэффициенты фильтра, а долгосрочные характеристики кодируются как значения параметров, например интервал основного тона и коэффициент усиления основного тона. Например, узкополосный кодер A120 может выводить кодированный узкополосный сигнал возбуждения S50 в форме, которая включает в себя один или несколько индексов кодовой книги (например, индекс фиксированной кодовой книги и индекс адаптивной кодовой книги) и соответствующие значения коэффициента усиления. Вычисление этого квантованного представления узкополосного остаточного сигнала (например, квантователем 270) может включать в себя выбор таких индексов и вычисление таких значений. Кодирование структуры основного тона также может включать в себя интерполяцию формы сигнала-прототипа основного тона, причем эта операция может включать в себя вычисление разницы между последовательными импульсами основного тона. Моделирование долговременной структуры можно блокировать для кадров, соответствующих невокализованной речи, которая обычно шумоподобна и неструктурирована.

Реализация узкополосного декодера B110 согласно структуре, показанной на фиг.9, может выдавать узкополосный сигнал возбуждения S80 на декодер B200 полосы верхних частот после восстановления долговременной структуры (основного тона или гармонической структуры). Например, такой декодер может выводить узкополосный сигнал возбуждения S80 в качестве деквантованной версии кодированного узкополосного сигнала возбуждения S50. Конечно, можно также реализовать узкополосный декодер B110, чтобы декодер B200 полосы верхних частот осуществлял деквантование кодированного узкополосного сигнала возбуждения S50 для получения узкополосного сигнала возбуждения S80.

В реализации широкополосного речевого кодера A100 согласно схеме, показанной на фиг.9, кодер A200 полосы верхних частот может принимать узкополосный сигнал возбуждения, создаваемый краткосрочным анализом или отбеливающим фильтром. Иными словами, узкополосный кодер A120 может выдавать узкополосный сигнал возбуждения на кодер A200 полосы верхних частот до кодирования долговременной структуры. Однако желательно, чтобы кодер A200 полосы верхних частот принимал из узкополосного канала ту же информацию кодирования, которую будет принимать декодер B200 полосы верхних частот, так что параметры кодирования, сформированные кодером A200 полосы верхних частот, уже могут в некоторой степени учитывать неидеальности в этой информации. Таким образом, может быть предпочтительно, чтобы кодер A200 полосы верхних частот реконструировал узкополосный сигнал возбуждения S80 из того же параметризованного и/или квантованного кодированного узкополосного сигнала возбуждения S50, который выводится широкополосным речевым кодером A100. Одно потенциальное преимущество такого подхода состоит в более точном вычислении коэффициентов усиления S60b полосы верхних частот, описанном ниже.

Помимо параметров, характеризующих кратковременную и/или долговременную структуру узкополосного сигнала S20, узкополосный кодер A120 может создавать значения параметров, которые относятся к другим характеристикам узкополосного сигнала S20. Эти значения, которые могут быть подходящим образом квантованы для вывода широкополосным речевым кодером A100, можно включать в узкополосные параметры фильтра S40 или выводить отдельно. Кодер A200 полосы верхних частот также может вычислять параметры кодирования S60 полосы верхних частот согласно одному или нескольким из этих дополнительных параметров (например, после деквантования). В широкополосном речевом декодере B100 декодер B200 полосы верхних частот может принимать значения параметра через узкополосный декодер B110 (например, после деквантования). Альтернативно декодер B200 полосы верхних частот может принимать (и, возможно, деквантовать) значения параметра напрямую.

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

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

Кодер A200 полосы верхних частот кодирует сигнал S30 полосы верхних частот согласно модели источник-фильтр, причем возбуждение для этого фильтра базируется на кодированном узкополосном сигнале возбуждения. На фиг.10 показана блок-схема реализации A202 кодера A200 полосы верхних частот, который формирует поток параметров кодирования S60 полосы верхних частот, включающих в себя параметры фильтра S60a полосы верхних частот и коэффициенты усиления S60b полосы верхних частот. Генератор возбуждения A300 полосы верхних частот выводит сигнал возбуждения S120 полосы верхних частот из кодированного узкополосного сигнала возбуждения S50. Модуль анализа A210 формирует набор значений параметра, характеризующих спектральную огибающую сигнала S30 полосы верхних частот. В этом конкретном примере модуль анализа A210 осуществляет анализ LPC для формирования набора коэффициентов НЧ-фильтра для каждого кадра сигнала S30 полосы верхних частот. Преобразователь 410 коэффициентов фильтра линейного прогнозирования в LSF преобразует набор коэффициентов НЧ-фильтра в соответствующий набор LSF. Как отмечено выше со ссылкой на модуль анализа 210 и преобразователь 220, модуль анализа A210 и/или преобразователь 410 могут использовать другие наборы коэффициентов (например, коэффициентов косинусного преобразования Фурье) и/или представлений коэффициентов (например, ISP).

Квантователь 420 квантует набор LSF полосы верхних частот (или другого представления коэффициентов, например ISP), и кодер A202 полосы верхних частот выводит результат этого квантования в виде параметров фильтра S60a полосы верхних частот. Такой квантователь обычно включает в себя векторный квантователь, который кодирует входной вектор как индекс для соответствующей векторной записи в таблице или кодовой книге.

Кодер A202 полосы верхних частот также включает в себя синтезирующий фильтр A220, формирующий синтезированный сигнал S130 полосы верхних частот согласно сигналу возбуждения S120 полосы верхних частот и кодированной спектральной огибающей (например, набору коэффициентов НЧ-фильтра), созданной модулем анализа A210. Синтезирующий фильтр A220 обычно реализован в виде IIR-фильтра, хотя можно использовать также реализации FIR. В конкретном примере, синтезирующий фильтр A220 реализован в виде линейного авторегрессивного фильтра шестого порядка.

Вычислитель A230 коэффициента усиления полосы верхних частот вычисляет одну или несколько разностей между уровнями исходного сигнала S30 полосы верхних частот и синтезированного сигнала S130 полосы верхних частот для определения огибающей усиления для кадра. Квантователь 430, который может быть реализован как векторный квантователь, который кодирует входной вектор как индекс для соответствующей векторной записи в таблице или кодовой книге, квантует значение или значения, определяющее/ие огибающую усиления, и кодер A202 полосы верхних частот выводит результат этого квантования как коэффициенты усиления S60b полосы верхних частот.

В реализации, показанной на фиг.10, синтезирующий фильтр A220 принимает коэффициенты фильтра от модуля анализа A210. Альтернативная реализация кодера A202 полосы верхних частот включает в себя обратный квантователь и обратный преобразователь, способные декодировать коэффициенты фильтра из параметров фильтра S60a полосы верхних частот, и в этом случае синтезирующий фильтр A220 должен вместо этого принимать декодированные коэффициенты фильтра. Такая альтернативная конфигурация может поддерживать более точное вычисление огибающей усиления вычислителем A230 коэффициента усиления полосы верхних частот.

В одном конкретном примере модуль анализа A210 и вычислитель A230 коэффициента усиления полосы верхних частот выводят набор из шести LSF и набор пяти значений коэффициента усиления на кадр соответственно, что позволяет добиться широкополосного расширения узкополосного сигнала S20 с помощью только одиннадцати дополнительных значений на кадр. Ухо менее чувствительно к частотным искажениям на высоких частотах, благодаря чему кодирование полосы верхних частот при низком порядке LPC может создавать сигнал, имеющий воспринимаемое качество, совместимое с узкополосным кодированием на более высоком порядке LPC. Типичная реализация кодера A200 полосы верхних частот может выводить от 8 до 12 битов на кадр для высококачественной реконструкции спектральной огибающей и еще от 8 до 12 битов на кадр для высококачественной реконструкции временной огибающей. В другом конкретном примере модуль анализа A210 выводит набор из восьми LSF на кадр.

Некоторые реализации кодера A200 полосы верхних частот способны создавать сигнал возбуждения S120 полосы верхних частот, генерируя случайный шумовой сигнал, имеющий частотные составляющие полосы верхних частот и модулируя по амплитуде шумовой сигнал согласно огибающей во временном измерении узкополосного сигнала S20, узкополосного сигнала возбуждения S80 или сигнала S30 полосы верхних частот. Однако хотя такой шумовой способ может давать адекватные результаты для невокализованных звуков, его применение может оказаться нежелательным для вокализованных звуков, остаточные сигналы которых обычно являются гармоническими и, следовательно, имеют некоторую периодическую структуру.

Генератор возбуждения A300 полосы верхних частот генерирует сигнал возбуждения S120 полосы верхних частот, расширяя спектр узкополосного сигнала возбуждения S80 на частотный диапазон полосы верхних частот. На фиг.11 показана блок-схема реализации A302 генератора возбуждения A300 полосы верхних частот. Обратный квантователь 450 деквантует кодированный узкополосный сигнал возбуждения S50 для создания узкополосного сигнала возбуждения 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 понижения частоты дискретизации гребенки фильтров A112 (или другие структуры или процедуры, имеющие такую же характеристику) для создания спектрально расширенного сигнала, имеющего частотный диапазон и частоту дискретизации сигнала S30 полосы верхних частот.

Из графика (g) следует, что преобразование с понижением частоты дискретизации высокочастотного сигнала, показанного на графике (f), приводит к обращению его спектра. В этом примере блок 530 понижения частоты дискретизации также осуществляет операцию обращения спектра над сигналом. График (h) демонстрирует результат применения операции обращения спектра, которая может осуществляться посредством умножения сигнала на функцию e jnπ или последовательность (-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-фильтр первого порядка к последовательности согласно выражению

(1)

где x - входной сигнал фильтра, y - выходной сигнал фильтра, n - индекс временной области, и a - коэффициент сглаживания, имеющий значение между 0,5 и 1. Значение коэффициента сглаживания a может быть фиксированным или, в альтернативной реализации, адаптивным согласно указанию шума во входном сигнале, в результате чего a оказывается ближе к 1 в отсутствие шума и ближе к 0,5 при наличии шума. Подзадача T130 применяет функцию квадратного корня к каждой выборке сглаженной последовательности для создания огибающей временной области.

Такая реализация вычислителя огибающей 460 может осуществлять различные подзадачи задачи T100 последовательно и/или параллельно. В других реализациях задачи T100 подзадаче T110 может предшествовать операция полосовой фильтрации для выбора нужного частотного участка сигнала, огибающую которого нужно моделировать, например диапазон 3-4 кГц.

Объединитель 490 смешивает гармонически расширенный сигнал S160 и модулированный шумовой сигнал S170 для создания сигнала возбуждения S120 полосы верхних частот. Реализации объединителя 490 могут вычислять сигнал возбуждения S120 полосы верхних частот как сумму гармонически расширенного сигнала S160 и модулированного шумового сигнала S170. Такая реализация объединителя 490 может вычислять сигнал возбуждения S120 полосы верхних частот как взвешенную сумму с применением весового коэффициента к гармонически расширенному сигналу S160 и/или к модулированному шумовому сигналу S170 до суммирования. Каждый такой весовой коэффициент можно вычислять согласно одному или нескольким критериям, и он может иметь фиксированное значение или, альтернативно, адаптивное значение, вычисляемое для каждого кадра или подкадра.

На фиг.16 показана блок-схема реализации 492 объединителя 490, который вычисляет сигнал возбуждения S120 полосы верхних частот в виде взвешенной суммы гармонически расширенного сигнала S160 и модулированного шумового сигнала S170. Объединитель 492 взвешивает гармонически расширенный сигнал S160 согласно весовому коэффициенту гармонического сигнала S180, взвешивает модулированный шумовой сигнал S170 согласно весовому коэффициенту шума S190 и выводит сигнал возбуждения S120 полосы верхних частот как сумму взвешенных сигналов. В этом примере объединитель 492 включает в себя вычислитель 550 весовых коэффициентов для вычисления весового коэффициента гармонического сигнала S180 и весового коэффициента шума S190.

Вычислитель 550 весовых коэффициентов может вычислять весовые коэффициенты S180 и S190 согласно нужному отношению содержания гармоник к созданию шума в сигнале возбуждения S120 полосы верхних частот. Например, может оказаться желательно, чтобы объединитель 492 создавал сигнал возбуждения S120 полосы верхних частот, имеющий отношение энергии гармоник энергии шума, близкое к соответствующему отношению в сигнале S30 полосы верхних частот. В некоторых реализациях вычислителя 550 весовых коэффициентов весовые коэффициенты S180, S190 вычисляются согласно одному или нескольким параметрам, связанным с периодичностью узкополосного сигнала S20 или узкополосного остаточного сигнала, например коэффициенту усиления основного тона и/или речевому режиму. Такая реализация вычислителя 550 весовых коэффициентов может, например, присваивать весовому коэффициенту гармонического сигнала S180 значение, пропорциональное коэффициенту усиления основного тона, и/или присваивать весовому коэффициенту шума S190 для невокализованных речевых сигналов более высокое значение, чем для вокализованных речевых сигналов.

В других реализациях вычислитель 550 весовых коэффициентов вычисляет значения весового коэффициента гармонического сигнала S180 и/или весового коэффициента шума S190 согласно мере периодичности сигнала S30 полосы верхних частот. В одном таком примере вычислитель весовых коэффициентов 550 вычисляет весовой коэффициент гармонического сигнала S180 как максимальное значение коэффициента автокорреляции сигнала S30 полосы верхних частот для текущего кадра или подкадра, где автокорреляция определяется в диапазоне поиска, который включает в себя задержку в один интервал основного тона и не включает в себя задержку в нуль выборок. На фиг.17 показан пример такого диапазона поиска длиной в n выборок, центр которого соответствует задержке в один интервал основного тона и ширина которого не превышает один интервал основного тона.

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

На втором этапе задержанный кадр формируется посредством применения соответствующей определенной задержки для каждого подкадра, сочленения полученных подкадров для формирования кадра с оптимальной задержкой и вычисления весового коэффициента гармонического сигнала S180 в качестве коэффициента корреляции между исходным кадром и кадром с оптимальной задержкой. Альтернативно вычислитель 550 весовых коэффициентов вычисляет весовой коэффициент гармонического сигнала S180 как среднее максимальных коэффициентов автокорреляции, полученных на первом этапе для каждого подкадра. Реализации вычислителя 550 весовых коэффициентов также могут масштабировать коэффициент корреляции и/или объединять его с другим значением для вычисления значения весового коэффициента гармонического сигнала S180.

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

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

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

Может оказаться желательным, чтобы генератор возбуждения A302 полосы верхних частот генерировал сигнал возбуждения S120 полосы верхних частот таким образом, чтобы конкретные значения весовых коэффициентов S180 и S190 не оказывали существенного влияния на энергию сигнала возбуждения. В таком случае вычислитель 550 весовых коэффициентов может вычислять значение весового коэффициента гармонического сигнала S180 или весового коэффициента шума S190 (или принимать такое значение из хранилища или другого элемента кодера A200 полосы верхних частот) и выводить значение другого весового коэффициента согласно, например, выражению

(2)

где W harmonic обозначает весовой коэффициент гармонического сигнала S180 и W noise обозначает весовой коэффициент шума S190. Альтернативно вычислитель 550 весовых коэффициентов может выбирать согласно значению меры периодичности текущего кадра или подкадра соответствующую одну из совокупности пар весовых коэффициентов S180, S190, где пары заранее вычислены в соответствии с постоянным отношением энергий, например, выражением (2). Для реализации вычислителя 550 весовых коэффициентов, для которого справедливо выражение (2), типичные значения весового коэффициента гармонического сигнала S180 составляют от около 0,7 до около 1,0, и типичные значения весового коэффициента шума S190 составляют от около 0,1 до около 0,7. Другие реализации вычислителя 550 весовых коэффициентов могут действовать согласно версии выражения (2), модифицированной согласно желательному основополагающему взвешиванию между гармонически расширенным сигналом S160 и модулированным шумовым сигналом S170.

Искажения могут возникать в синтезированном речевом сигнале, когда разреженная кодовая книга (записи которой в большинстве своем имеют нулевые значения) использовалась для вычисления квантованного представления остаточного сигнала. Разреженность кодовой книги имеет место в основном когда узкополосный сигнал кодируется с низкой битовой скоростью. Искажения, обусловленные разреженностью кодовой книги, обычно являются квазипериодическими во времени и возникают, в основном, на частотах свыше 3 кГц. Поскольку человеческое ухо имеет повышенное временное разрешение на более высоких частотах, эти искажения могут быть более заметны в верхнем диапазоне.

Варианты осуществления включают в себя реализации генератора возбуждения A300 полосы верхних частот, которые осуществляют фильтрацию для устранения разреженности. На фиг.18 показана блок-схема реализации A312 генератора возбуждения A302 полосы верхних частот, которая включает в себя фильтр 600 для устранения разреженности, фильтрующий деквантованный узкополосный сигнал возбуждения, создаваемый обратным квантователем 450. На фиг.19 показана блок-схема реализации A314 генератора возбуждения A302 полосы верхних частот, которая включает в себя фильтр 600 для устранения разреженности, фильтрующий спектрально расширенный сигнал, создаваемый расширителем спектра A400. На фиг.20 показана блок-схема реализации A316 генератора возбуждения A302 полосы верхних частот, которая включает в себя фильтр 600 для устранения разреженности, фильтрующий выходной сигнал объединителя 490 для создания сигнала возбуждения S120 полосы верхних частот. Конечно, возможны и, таким образом, явно раскрыты реализации генератора возбуждения A300 полосы верхних частот, объединяющие особенности любой из реализаций A304 и A306 с особенностями любой из реализаций A312, A314 и A316. Фильтр 600 для устранения разреженности также может быть предусмотрен в расширителе спектра A400, например, после любого из элементов 510, 520, 530 и 540 в расширителе спектра A402. Фильтр 600 для устранения разреженности также можно использовать с реализациями расширителя спектра A400, которые осуществляют спектральное наложение, спектральный перенос или гармоническое расширение.

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

(3).

Такой фильтр, в частности, позволяет так распределить энергию входного сигнала, чтобы она больше не концентрировалась лишь в нескольких выборках.

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

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

Для точного воспроизведения кодированного речевого сигнала может оказаться желательно, чтобы отношение между уровнями части полосы верхних частот и узкополосной части синтезированного широкополосного речевого сигнала S100 было близким к соответствующему отношению в исходном широкополосном речевом сигнале S10. Помимо спектральной огибающей представленной параметрами кодирования S60a полосы верхних частот, кодер A200 полосы верхних частот может характеризовать сигнал S30 полосы верхних частот путем задания временной огибающей или огибающей усиления. Согласно фиг.10 кодер A202 полосы верхних частот включает в себя вычислитель A230 коэффициента усиления полосы верхних частот, который вычисляет один или несколько коэффициентов усиления согласно соотношению между сигналом S30 полосы верхних частот и синтезированным сигналом S130 полосы верхних частот, например разности или отношению между энергиями двух сигналов на протяжении кадра или некоторой его части. В других реализациях кодера A202 полосы верхних частот вычислитель А230 коэффициента усиления полосы верхних частот может иметь аналогичную конфигурацию, но предназначен для вычисления огибающей усиления согласно такому изменяющемуся во времени соотношению между сигналом S30 полосы верхних частот и узкополосным сигналом возбуждения S80 или сигналом возбуждения S120 полосы верхних частот.

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

Вычислитель А230 коэффициента усиления полосы верхних частот может вычислять коэффициент усиления в виде задачи, включающей в себя одну или несколько последовательностей подзадач. На фиг.21 показана логическая блок-схема примера T200 такой задачи, которая вычисляет значение коэффициента усиления для соответствующего подкадра согласно относительной энергии сигнала S30 полосы верхних частот и синтезированного сигнала S130 полосы верхних частот. Задачи 220a и 220b вычисляют энергии соответствующих подкадров соответствующих сигналов. Например, задачи 220a и 220b могут вычислять энергию как сумму квадратов выборок соответствующего подкадра. Задача T230 вычисляет коэффициент усиления для подкадра как квадратный корень отношения этих энергий. В этом примере задача T230 вычисляет коэффициент усиления как квадратный корень отношения энергии сигнала S30 полосы верхних частот к энергии синтезированного сигнала S130 полосы верхних частот на протяжении подкадра.

Может оказаться желательно, чтобы вычислитель А230 коэффициента усиления полосы верхних частот вычислял энергии подкадров согласно функции окна. На фиг.22 показана логическая блок-схема такой реализации T210 задачи T200 вычисления коэффициента усиления. Задача T215a применяет функцию окна к сигналу S30 полосы верхних частот, и задача T215b применяет ту же функцию окна к синтезированному сигналу S130 полосы верхних частот. Реализации 222a и 222b задач 220a и 220b вычисляют энергии соответствующих окон, и задача T230 вычисляет коэффициент усиления для подкадра как квадратный корень отношения энергий.

Может оказаться желательно применять функцию окна, которая перекрывает соседние подкадры. Например, функция окна, которая создает коэффициенты усиления, которые можно применять в режиме сложения с перекрытием, может способствовать снижению или устранению нарушения непрерывности между подкадрами. В одном примере вычислитель А230 коэффициента усиления полосы верхних частот применяет трапецеидальную функцию окна, показанную на фиг.23a, в которой окно перекрывает каждый из двух соседних подкадров на одну миллисекунду. На фиг.23b показано применение этой функции окна к каждому из пяти подкадров 20-миллисекундного кадра. Другие реализации вычислителя А230 коэффициента усиления полосы верхних частот применяют функции окна, имеющие разные периоды перекрытия и/или разные формы окна (например, прямоугольную, хэммингову), которые могут быть симметричными или асимметричными. Реализация вычислителя А230 коэффициента усиления полосы верхних частот также может применять разные функции окна к разным подкадрам в кадре, и/или кадр может включать в себя подкадры разной длины.

В качестве примеров конкретных реализаций, без ограничения, представлены следующие значения. Для этих случаев предполагается 20-миллисекундный кадр, хотя можно использовать кадр любой другой длины. Для сигнала полосы верхних частот, дискретизированного с частотой 7 кГц, каждый кадр имеет 140 выборок. Если такой кадр разделить на пять подкадров равной длины, каждый подкадр будет иметь 28 выборок, и окно, показанное на фиг.23a, будет иметь ширину 42 выборки. Для сигнала полосы верхних частот, дискретизированного с частотой 8 кГц, каждый кадр имеет 160 выборок. Если такой кадр разделить на пять подкадров равной длины, каждый подкадр будет иметь 32 выборки, и окно, показанное на фиг.23a, будет иметь ширину 48 выборок. В других реализациях можно использовать подкадры любой ширины, и даже можно реализовать вычислитель А230 коэффициента усиления полосы верхних частот, создающий разные коэффициенты усиления для разных выборок кадра.

На фиг.24 показана блок-схема реализации B202 декодера B200 полосы верхних частот. Декодер B202 полосы верхних частот включает в себя генератор возбуждения B300 полосы верхних частот, создающий сигнал возбуждения S120 полосы верхних частот на основании узкополосного сигнала возбуждения S80. В зависимости от конкретных выборов конструкции системы генератор В300 возбуждения полосы верхних частот можно реализовать согласно любой из описанных здесь реализаций генератора А300 возбуждения полосы верхних частот. Обычно желательно реализовать генератор В300 возбуждения полосы верхних частот, имеющий такую же характеристику, как генератор возбуждения полосы верхних частот кодера полосы верхних частот конкретной системы кодирования. Однако, поскольку узкополосный декодер B110 обычно осуществляет деквантование кодированного узкополосного сигнала возбуждения 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 регулировки усиления может включать в себя логику, способную применять коэффициенты усиления к соответствующим подкадрам, возможно, согласно функции окна, которая может отличаться или не отличаться от функции окна, применяемой вычислителем коэффициента усиления (например, вычислителем коэффициента усиления А230 полосы верхних частот) соответствующего кодера полосы верхних частот. В других реализациях декодера B202 полосы верхних частот элемент 590 регулировки усиления имеет аналогичную конфигурацию, но применяет деквантованные коэффициенты усиления к узкополосному сигналу возбуждения S80 или к сигналу возбуждения S120 полосы верхних частот.

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

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

Как описано выше, например, со ссылкой на фиг.8 и 9, значительный объем периодической структуры может оставаться в остаточном сигнале после удаления грубой спектральной огибающей из узкополосного речевого сигнала S20. Например, остаточный сигнал может содержать последовательность приблизительно периодических импульсов или пиков во времени. Появление такой структуры, которая обычно связана с основным тоном, особенно вероятно в вокализованных речевых сигналах. Вычисление квантованного представления узкополосного остаточного сигнала может включать в себя кодирование этой структуры основного тона согласно модели долговременной периодичности, представленной, например, одной или несколькими кодовыми книгами.

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

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

Кодер RCELP осуществляет преобразование временного масштаба в виде адаптивного временного сдвига. Этот временной сдвиг может представлять собой задержку в пределах от нескольких миллисекунд с отрицательным знаком до нескольких миллисекунд с положительным знаком и обычно изменяется плавно во избежание слышимых нарушений непрерывности. В некоторых реализациях такой кодер применяет регуляризацию в кусочно-линейном режиме, в котором каждый кадр или подкадр трансформируется с соответствующим фиксированным временным сдвигом. В других реализациях кодер применяет регуляризацию в виде непрерывной функции трансформации, в результате чего кадр или подкадр трансформируется согласно контуру основного тона (также именуемому траекторией основного тона). В ряде случаев (например, как описано в опубликованной патентной заявке США № 2004/0098255) кодер обеспечивает преобразование временного масштаба в кодированном сигнале возбуждения путем применения сдвига к перцептивно взвешенному входному сигналу, который используется для вычисления кодированного сигнала возбуждения.

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

Регуляризация облегчает кодирование остаточного сигнала, что повышает эффективность кодирования из долгосрочного предсказателя и, таким образом, повышает общую эффективность кодирования, обычно без генерации искажений. Может оказаться желательно осуществлять регуляризацию только на вокализованных кадрах. Например, узкополосный кодер A124 может сдвигать только те кадры или подкадры, которые имеют долговременную структуру, например вокализованные сигналы. Также может оказаться желательным осуществлять регуляризацию только на подкадрах, которые включают в себя энергию импульсов основного тона. Различные реализации кодирования RCELP описаны в патентах США № 5704003 (Kleijn и др.) и 6879955 (Rao) и в опубликованной патентной заявке США № 2004/0098255 (Kovesi и др.). Существующие реализации кодеров RCELP включают в себя Enhanced Variable Rate Codec (EVRC), описанный в Telecommunications Industry Association (TIA) IS-127, и Third Generation Partnership Project 2 (3GPP2) Selectable Mode Vocoder (SMV).

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

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

Рассогласование по времени также может приводить к снижению эффективности кодирования огибающей усиления. Как отмечено выше, с высокой степенью вероятности существует корреляция между временными огибающими узкополосного сигнала возбуждения S80 и сигналом S30 полосы верхних частот. Благодаря кодированию огибающей усиления сигнала полосы верхних частот согласно соотношению между этими двумя временными огибающими можно реализовать повышение эффективности кодирования по сравнению с кодированием непосредственно огибающей усиления. Однако благодаря регуляризации кодированного узкополосного сигнала возбуждения эту корреляцию можно ослабить. Рассогласование по времени между узкополосным сигналом возбуждения S80 и сигналом S30 полосы верхних частот может привести к появлению флуктуаций коэффициентов усиления S60b полосы верхних частот и падению эффективности кодирования.

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

На фиг.25 показана блок-схема реализации AD10 широкополосного речевого кодера A100. Кодер AD10 включает в себя реализацию A124 узкополосного кодера A120, который осуществляет регуляризацию в ходе вычисления кодированного узкополосного сигнала возбуждения S50. Например, узкополосный кодер A124 может быть настроен согласно одному или нескольким из рассмотренных выше реализаций RCELP.

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

Широкополосный речевой кодер AD10 включает в себя линию задержки D120, обеспечивающую опережение или отставание частей речевого сигнала S30 полосы верхних частот согласно величинам задержки, указанным во входном сигнале, для создания речевого сигнала S30a полосы верхних частот с трансформированной временной шкалой. В примере, показанном на фиг.25, линия задержки D120 трансформирует временную шкалу речевого сигнала S30 полосы верхних частот согласно трансформации, указанной в сигнале SD10 данных регуляризации. Таким образом, преобразование временного масштаба той же величины, что и для кодированного узкополосного сигнала возбуждения S50, применяется к соответствующей части речевого сигнала S30 полосы верхних частот до анализа. Хотя в этом примере линия задержки D120 показана как элемент, отдельный от кодера A200 полосы верхних частот, в других реализациях линия задержки D120 обеспечена как часть кодера полосы верхних частот.

Другие реализации кодера A200 полосы верхних частот могут осуществлять спектральный анализ (например, анализ LPC) нетрансформированного речевого сигнала S30 полосы верхних частот и осуществлять преобразование временного масштаба речевого сигнала S30 полосы верхних частот до вычисления параметров усиления S60b полосы верхних частот. Такой кодер может включать в себя, например, реализацию линии задержки D120 для преобразования временного масштаба. В таких случаях, однако, параметры фильтра S60a полосы верхних частот, основанные на анализе нетрансформированного сигнала S30, могут описывать спектральную огибающую, рассогласованную по времени с сигналом возбуждения S120 полосы верхних частот.

Линия задержки D120 может быть выполнена согласно любой комбинации логических элементов и элементов хранения, пригодной для применения нужных операций преобразования временного масштаба к речевому сигналу S30 полосы верхних частот. Например, линия задержки D120 может считывать речевой сигнал S30 полосы верхних частот из буфера согласно нужным временным сдвигам. На фиг.26a показана схема такой реализации D122 линии задержки D120, которая включает в себя сдвиговый регистр SR1. Сдвиговый регистр SR1 - это буфер некоторой длины m, который принимает и сохраняет m самых последних выборок речевого сигнала S30 полосы верхних частот. Значение m равно, по меньшей мере, сумме максимальных поддерживаемых положительного ("опережение") и отрицательного ("отставание") временных сдвигов. Может оказаться удобным, чтобы значение m было равно длине кадра или подкадра сигнала S30 полосы верхних частот.

Линия задержки D122 выводит сигнал S30a полосы верхних частот с трансформированной временной шкалой из ячейки смещения OL сдвигового регистра SR1. Позиция ячейки смещения OL варьируется относительно опорной позиции (нулевого временного сдвига) согласно текущему временному сдвигу, указанному, например, сигналом SD10 данных регуляризации. Линия задержки D122 может поддерживать равные пределы опережения и отставания или, альтернативно, один предел больше другого, в результате чего в одном направлении может осуществлять больший сдвиг, чем в другом. На фиг.26a показан конкретный пример, где временной сдвиг в положительном направлении больше, чем в отрицательном. Линия задержки D122 может выводить одновременно одну или несколько выборок (в зависимости, например, от ширины выходной шины).

Временной сдвиг регуляризации, имеющий величину свыше нескольких миллисекунд, может приводить к слышимым искажениям в декодированном сигнале. Обычно величина временного сдвига регуляризации, осуществляемого узкополосным кодером A124, не превышает нескольких миллисекунд, поэтому временные сдвиги, указанные в сигнале данных регуляризации SD10, ограничены. Однако в таких случаях может оказаться желательным, чтобы линия задержки D122 налагала максимальное ограничение на временные сдвиги в положительном и/или отрицательном направлении (например, для обеспечения более жесткого ограничения, чем налагаемое узкополосным кодером).

На фиг.26b показана схема реализации D124 линии задержки D122, которая включает в себя окно сдвига SW. В этом примере позиция ячейки смещения OL ограничивается окном сдвига SW. Хотя на фиг.26b показан случай, когда буфер длина m больше ширины окна сдвига SW, линию задержки D124 также можно реализовать с шириной окна сдвига SW равной m.

В других реализациях линия задержки D120 записывает речевой сигнал S30 полосы верхних частот в буфер согласно нужным временным сдвигам. На фиг.27 показана схема такой реализации D130 линии задержки D120, которая включает в себя два сдвиговых регистра SR2 и SR3, принимающих и сохраняющих речевой сигнал S30 полосы верхних частот. Линия задержки D130 записывает кадр или подкадр из сдвигового регистра SR2 в сдвиговый регистр SR3 согласно временному сдвигу, указанному, например, в сигнале SD10 данных регуляризации. Сдвиговый регистр SR3 выполнен как буфер FIFO, выводящий сигнал S30 полосы верхних частот с трансформированной временной шкалой.

В конкретном примере, показанном на фиг.27, сдвиговый регистр SR2 включает в себя участок кадрового буфера 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 полосы верхних частот с трансформированной временной шкалой согласно трансформации, указанной отображенными значениям задержки SD10a.

Временной сдвиг, применяемый узкополосным кодером, предположительно изменяется плавно во времени. Поэтому обычно бывает достаточно вычислить средний узкополосный временной сдвиг, применяемый к подкадрам на протяжении кадра речи и сдвинуть соответствующий кадр речевого сигнала S30 полосы верхних частот согласно этому среднему значению. В одном таком примере блок D110 отображения значений задержки вычисляет среднее для значений задержки подкадров для каждого кадра и линия задержки D120 применяет вычисленное среднее к соответствующему кадру сигнала S30 полосы верхних частот. В других примерах можно вычислять и применять среднее по более короткому периоду (например, двум подкадрам или половине кадра) или более долгому периоду (например, двум кадрам). В случае когда среднее является нецелым количеством выборок, блок D110 отображения значений задержки может округлять значение до целого количества выборок, прежде чем вывести его на линию задержки D120.

Узкополосный кодер A124 может включать временной сдвиг регуляризации, равный нецелому количеству выборок, в кодированный узкополосный сигнал возбуждения. В таком случае может оказаться желательным, чтобы блок D110 отображения значений задержки округлял узкополосный временной сдвиг до целого количества выборок и чтобы линия задержки D120 применяла округленный временной сдвиг к речевому сигналу S30 полосы верхних частот.

В некоторых реализациях широкополосного речевого кодера AD10 частоты дискретизации узкополосного речевого сигнала S20 и речевого сигнала S30 полосы верхних частот могут отличаться. В таких случаях блок D110 отображения значений задержки может регулировать величины временного сдвига, указанные в сигнале SD10 данных регуляризации для учета разности между частотами дискретизации узкополосного речевого сигнала S20 (или узкополосного сигнала возбуждения S80) и речевого сигнала S30 полосы верхних частот. Например, блок D110 отображения значений задержки может масштабировать величины временного сдвига согласно отношению частот дискретизации. В одном конкретном примере, как отмечено выше, узкополосный речевой сигнал S20 дискретизирован с частотой 8 кГц и речевой сигнал S30 полосы верхних частот дискретизирован с частотой 7 кГц. В этом случае блок D110 отображения значений задержки изменяет величину каждого сдвига на 7/8. Реализации блока D110 отображения значений задержки также могут осуществлять такую операцию масштабирования совместно с округлением до целого и/или описанную здесь операцию усреднения временного сдвига.

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

На фиг.29 показана логическая блок-схема способа MD100 преобразования временного масштаба речевого сигнала полосы верхних частот согласно преобразованию временного масштаба, включенному в соответствующий кодированный узкополосный сигнал возбуждения. Задача TD100 обрабатывает широкополосный речевой сигнал для получения узкополосного речевого сигнала и речевого сигнала полосы верхних частот. Например, задача TD100 может фильтровать широкополосный речевой сигнал с использованием гребенки фильтров, имеющей низкочастотные и высокочастотные фильтры, например реализации гребенки фильтров A110. Задача TD200 кодирует узкополосный речевой сигнал в, по меньшей мере, кодированный узкополосный сигнал возбуждения и совокупность узкополосных параметров фильтра. Кодированный узкополосный сигнал возбуждения и/или параметры фильтра могут быть квантованными, и кодированный узкополосный речевой сигнал также может включать в себя другие параметры, например параметр речевого режима. Задача TD200 также включает в себя преобразование временного масштаба в кодированном узкополосном сигнале возбуждения.

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

Задача TD400 может осуществлять спектральный анализ (например, анализ LPC) речевого сигнала полосы верхних частот и/или вычислять огибающую усиления речевого сигнала полосы верхних частот. В таких случаях задача TD500 может применять временной сдвиг к речевому сигналу полосы верхних частот до анализа и/или вычисления огибающей усиления.

Другие реализации широкополосного речевого кодера A100 обращают преобразование временного масштаба сигнала возбуждения S120 полосы верхних частот, обусловленного преобразованием временного масштаба, включенным в кодированный узкополосный сигнал возбуждения. Например, можно реализовать генератор возбуждения A300 полосы верхних частот, включающий в себя реализацию линии задержки D120, которая принимает сигнал SD10 данных регуляризации или отображенные значения задержки SD10a и применяет соответствующий обратный временной сдвиг к узкополосному сигналу возбуждения S80 и/или к последующему сигналу на его основе, например гармонически расширенному сигналу S160 или сигналу возбуждения S120 полосы верхних частот.

Дополнительные реализации широкополосного речевого кодера могут кодировать узкополосный речевой сигнал S20 и речевой сигнал S30 полосы верхних частот независимо друг от друга, в результате чего речевой сигнал S30 полосы верхних частот кодируется как представление спектральной огибающей полосы верхних частот и сигнала возбуждения полосы верхних частот. Такая реализация может быть способна осуществлять преобразование временного масштаба остаточного сигнала полосы верхних частот или иначе включать преобразование временного масштаба в кодированный сигнал возбуждения полосы верхних частот согласно информации, связанной с преобразованием временного масштаба, включенным в кодированный узкополосный сигнал возбуждения. Например, кодер полосы верхних частот может включать в себя реализацию описанных здесь линии задержки D120 и/или блока D110 отображения значений задержки, которые применяют преобразование временного масштаба к остаточному сигналу полосы верхних частот. Потенциальные преимущества такой операции включают в себя более эффективное кодирование остаточного сигнала полосы верхних частот и лучшее совпадение между синтезированными узкополосным речевым сигналом и речевым сигналом полосы верхних частот.

Как отмечено выше, описанные варианты осуществления включают в себя реализации, которые можно использовать для осуществления встроенного кодирования, поддержки совместимости с узкополосными системами и исключения необходимости в транскодировании. Поддержка кодирования полосы верхних частот также может служить для дифференциации в зависимости от стоимости между чипами, чипсетами, устройствами и/или сетями, имеющими широкополосную поддержку с обратной совместимостью и имеющими только узкополосную поддержку. Описанную здесь поддержку кодирования полосы верхних частот также можно использовать совместно с методами поддержки кодирования полосы нижних частот, и система, способ или устройство согласно такому варианту осуществления может поддерживать кодирование частотных составляющих от, например, около 50 или 100 Гц до около 7 или 8 кГц.

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

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

Предполагается, что варианты осуществления могут включать в себя и/или использовать одну или несколько других особенностей, раскрытых в предварительных патентных заявках США №№ 60/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 может модулировать огибающую усиления синтезированного сигнала полосы верхних частот путем применения набора коэффициентов усиления к сигналу возбуждения, полученному из узкополосной части, к спектрально расширенному сигналу, к сигналу возбуждения полосы верхних частот или к синтезированному сигналу полосы верхних частот.

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

Похожие патенты RU2381572C2

название год авторы номер документа
СПОСОБЫ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ЧАСТИ РЕЧЕВОГО СИГНАЛА ДИАПАЗОНА ВЫСОКИХ ЧАСТОТ 2006
  • Вос Кон Бернард
  • Кандхадай Анантхападманабхан А.
RU2402826C2
СИСТЕМЫ, СПОСОБЫ И УСТРОЙСТВА ДЛЯ ВЫСОКОПОЛОСНОГО ПРЕДЫСКАЖЕНИЯ ШКАЛЫ ВРЕМЕНИ 2006
  • Вос Кон Бернард
  • Кандхадай Анантхападманабхан А.
RU2491659C2
СИСТЕМЫ, СПОСОБЫ И УСТРОЙСТВА ДЛЯ ВЫСОКОПОЛОСНОГО ПРЕДЫСКАЖЕНИЯ ШКАЛЫ ВРЕМЕНИ 2006
  • Вос Кон Бернард
  • Кандхадай Анантхападманабхан А.
RU2376657C2
СИСТЕМЫ, СПОСОБЫ И УСТРОЙСТВА ДЛЯ УСТРАНЯЮЩЕЙ РАЗРЕЖЕННОСТЬ ФИЛЬТРАЦИИ 2006
  • Вос Коэн Бернард
  • Кандхадаи Анантападманабхан А.
RU2413191C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ РЕЧЕВЫХ СИГНАЛОВ С РАСЩЕПЛЕНИЕМ ПОЛОСЫ 2006
  • Вос Кон Бернард
  • Кандхадай Анантхападманабхан А.
RU2386179C2
СИСТЕМЫ И СПОСОБЫ ДЛЯ ВКЛЮЧЕНИЯ ИДЕНТИФИКАТОРА В ПАКЕТ, АССОЦИАТИВНО СВЯЗАННЫЙ С РЕЧЕВЫМ СИГНАЛОМ 2007
  • Раджендран Вивек
  • Кандхадай Анантхападманабхан А.
RU2421828C2
СИСТЕМЫ, СПОСОБЫ И УСТРОЙСТВО ДЛЯ ОГРАНИЧЕНИЯ КОЭФФИЦИЕНТА УСИЛЕНИЯ 2007
  • Кандхадаи Анантападманабхан А.
  • Кришнан Венкатеш
RU2420817C2
СИСТЕМЫ, СПОСОБЫ И УСТРОЙСТВО ДЛЯ ГЕНЕРИРОВАНИЯ ВОЗБУЖДЕНИЯ В ДИАПАЗОНЕ ВЫСОКИХ ЧАСТОТ 2006
  • Вос Кон Бернард
  • Кандхадай Анантхападманабхан А.
RU2402827C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ВЕКТОРНОГО КВАНТОВАНИЯ СПЕКТРАЛЬНОГО ПРЕДСТАВЛЕНИЯ ОГИБАЮЩЕЙ 2006
  • Вос Кон Бернард
RU2387025C2
СИСТЕМЫ, СПОСОБЫ И УСТРОЙСТВА ДЛЯ ПОДАВЛЕНИЯ ВЫСОКОПОЛОСНЫХ ВСПЛЕСКОВ 2006
  • Вос Кон Бернард
  • Кандхадай Анантхападманабхан А.
RU2390856C2

Иллюстрации к изобретению RU 2 381 572 C2

Реферат патента 2010 года СИСТЕМЫ, СПОСОБЫ И УСТРОЙСТВО ШИРОКОПОЛОСНОГО РЕЧЕВОГО КОДИРОВАНИЯ

Изобретение относится к обработке широкополосных речевых сигналов. Широкополосный речевой кодер согласно одному варианту осуществления включает в себя узкополосный кодер и кодер полосы верхних частот. Узкополосный кодер кодирует узкополосную часть широкополосного речевого сигнала как набор параметров фильтра и соответствующий кодированный сигнал возбуждения. Кодер полосы верхних частот кодирует согласно сигналу возбуждения полосы верхних частот часть полосы верхних частот широкополосного речевого сигнала для получения набора параметров фильтра. Кодер полосы верхних частот генерирует сигнал возбуждения полосы верхних частот путем применения нелинейной функции к сигналу, основанному на кодированном узкополосном сигнале возбуждения, для генерации спектрально расширенного сигнала. Технический результат - обеспечение расширения узкополосного речевого кодера для поддержания передачи и/или сохранения широкополосных речевых сигналов при увеличении пропускной способности. 6 н. и 34 з.п. ф-лы, 32 ил.

Формула изобретения RU 2 381 572 C2

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

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

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

4. Способ обработки сигнала по п.1, в котором нелинейная функция является нелинейной функцией без запоминания.

5. Способ обработки сигнала по п.1, в котором нелинейная функция является функцией абсолютного значения.

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

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

8. Способ обработки сигнала по п.1, содержащий, перед упомянутым объединением и согласно совокупности коэффициентов усиления, изменение амплитуды речевого сигнала полосы верхних частот во времени.

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

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

11. Устройство по п.10, в котором узкополосный декодер конфигурирован для синтезирования речевого сигнала полосы нижних частот согласно, по меньшей мере, сигналу возбуждения полосы нижних частот и совокупности коэффициентов фильтра линейного прогнозирования.

12. Устройство по п.10, в котором декодер полосы верхних частот конфигурирован для синтезирования речевого сигнала полосы верхних частот согласно, по меньшей мере, сигналу возбуждения полосы верхних частот и совокупности коэффициентов фильтра линейного прогнозирования.

13. Устройство по п.10, в котором декодер полосы верхних частот конфигурирован для применения нелинейной функции без запоминания к сигналу, который основан на узкополосном сигнале возбуждения, для генерации спектрально расширенного сигнала.

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

15. Устройство по п.10, в котором декодер полосы верхних частот конфигурирован для смешивания сигнала, который основан на спектрально расширенном сигнале, с модулированным шумовым сигналом и при этом декодер полосы верхних частот конфигурирован для генерирования сигнала возбуждения полосы частот на основе смешанного сигнала.

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

17. Устройство по п.10, в котором декодер полосы верхних частот конфигурирован для изменения амплитуды речевого сигнала полосы верхних частот во времени согласно совокупности коэффициентов усиления.

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

19. Устройство по п.10, содержащее устройство для приема совокупности пакетов, согласующихся с версией Интернет-протокола, при этом совокупность пакетов описывает сигнал возбуждения полосы нижних частот, совокупность параметров фильтра полосы нижних частот и совокупность параметров фильтра полосы верхних частот.

20. Сотовый телефон, содержащий устройство по п.10.

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

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

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

24. Способ обработки сигнала по п.21, в котором нелинейная функция является нелинейной функцией без запоминания.

25. Способ обработки сигнала по п.21, в котором нелинейная функция является функцией абсолютного значения.

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

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

28. Способ обработки сигнала по п.21, содержащий вычисление огибающей усиления согласно соотношению, изменяющемуся во времени, между сигналом полосы верхних частот и сигналом, основанным на сигнале возбуждения полосы нижних частот.

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

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

31. Устройство по п.30, в котором узкополосный кодер конфигурирован для кодирования речевого сигнала полосы нижних частот для получения, по меньшей мере, кодированного сигнала возбуждения полосы нижних частот и совокупности коэффициентов фильтра линейного прогнозирования.

32. Устройство по п.30, в котором кодер полосы верхних частот конфигурирован для кодирования речевого сигнала полосы верхних частот для получения, по меньшей мере, совокупности коэффициентов фильтра линейного прогнозирования.

33. Устройство по п.30, в котором кодер полосы верхних частот конфигурирован для применения нелинейной функции без запоминания к сигналу, который основан на кодированном сигнале возбуждения полосы нижних частот, для генерации спектрально расширенного сигнала.

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

35. Устройство по п.30, в котором кодер полосы верхних частот конфигурирован для смешивания сигнала, который основан на спектрально расширенном сигнале, с модулированным шумовым сигналом и при этом кодер полосы верхних частот конфигурирован для генерирования сигнала возбуждения полосы верхних частот на основе смешанного сигнала.

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

37. Устройство по п.30, в котором кодер полосы верхних частот конфигурирован для вычисления огибающей усиления согласно соотношению, изменяющемуся во времени, между сигналом полосы верхних частот и сигналом, основанным на кодированном сигнале возбуждения полосы нижних частот.

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

39. Устройство по п.30, содержащее устройство для передачи совокупности пакетов, согласующихся с версией Интернет-протокола, причем совокупность пакетов описывает кодированный сигнал возбуждения полосы нижних частот, совокупность параметров фильтра полосы нижних частот и совокупность параметров фильтра полосы верхних частот.

40. Сотовый телефон, содержащий устройство по п.30.

Документы, цитированные в отчете о поиске Патент 2010 года RU2381572C2

US 6732070 B1, 04.05.2004
СПОСОБЫ И УСТРОЙСТВА ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ РЕЧЕВЫХ СИГНАЛОВ 1996
  • Нисигути Масаюки
  • Иидзима Казуюки
  • Матсумото Дзун
  • Омори Сиро
RU2233010C2
Печь для непрерывного получения сернистого натрия 1921
  • Настюков А.М.
  • Настюков К.И.
SU1A1
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор 1923
  • Петров Г.С.
SU2005A1
ЕР 1008984 А2, 14.06.2000.

RU 2 381 572 C2

Авторы

Вос Кон Бернард

Кандхадай Анантхападманабхан А.

Даты

2010-02-10Публикация

2006-04-03Подача