Системы, способы и устройство для ограничения коэффициента усиления
Иллюстрации
Показать всеИзобретение относится к кодированию речи. Область раскрытых конфигураций включает в себя способы, в которых поддиапазоны речевого сигнала кодируют отдельно, причем возбуждение первого поддиапазона получают из второго поддиапазона. Коэффициенты усиления вычисляют для указания изменяющегося во времени соотношения между огибающими исходного первого поддиапазона и синтезированного первого поддиапазона. Коэффициенты усиления квантуют, и квантованные значения, которые превышают предварительно квантованные значения, повторно кодируют. Технический результат - повышение эффективности и улучшение качества кодирования широкополосных речевых сигналов. 4 н. и 60 з.п. ф-лы, 24 ил.
Реферат
РОДСТВЕННЫЕ ЗАЯВКИ
Данная заявка притязает на приоритет предварительной патентной заявки США № 60/834658, поданной 31 июля 2006 г. и озаглавленной «METHOD FOR QUANTIZATION OF FRAME GAIN IN A WIDEBAND SPEECH CODER».
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Данное раскрытие относится к кодированию речи.
УРОВЕНЬ ТЕХНИКИ
Голосовая связь по коммутируемой телефонной сети общего пользования (PSTN) традиционно ограничена частотным диапазоном 300-3400 кГц. Новые сети для голосовой связи, такой как сотовая телефония и передача речи по IP (Интернет-протоколу, VoIP), могут не иметь тех же самых ограничений диапазона частот, и может быть желательным передавать и принимать по таким сетям голосовые данные, которые включают в себя широкополосный частотный диапазон по сравнению с такими сетями. Например, может быть желательным поддерживать диапазон звуковых частот, который распространяется вниз до 50 Гц и/или вверх до 7 или 8 кГц. Может также быть желательно поддерживать другие приложения, такие как передача высококачественного звука или аудио/видео конференц-связь, при которой звук голосовой информации может находиться в диапазоне внетрадиционных ограничений PSTN.
Расширение диапазона, поддерживаемого речевым кодером, на более высокие частоты, может улучшать доступность речи. Например, информация, с помощью которой различают фрикативные звуки, такие как «s» и «f», находится в значительной степени в высоких частотах. Расширение диапазона высоких частот может также улучшать другие качества речи, такие как эффект присутствия. Например, даже вокализированные гласные звуки могут иметь спектральную энергию, которая значительно превосходит ограничения PSTN.
Одним из подходов к широкополосному кодированию речи является масштабирование узкополосной методики кодирования речи (например, методики, сконфигурированной для кодирования диапазона 0-4 кГц) так, чтобы она охватывала широкополосный спектр. Например, речевой сигнал можно дискретизировать с большей частотой, чтобы он включал в себя компоненты с высокой частотой, и методика узкополосного кодирования может быть реконфигурирована, чтобы использовать больше коэффициентов фильтрации для представления этого широкополосного сигнала. Однако методики узкополосного кодирования, такие как CELP (линейное предсказание с кодированием), требуют больших объемов вычислений, и широкополосный кодер CELP может использовать слишком много циклов обработки, чтобы быть практичным для многих мобильных и других встраиваемых приложений. Кодирование всего спектра широкополосного сигнала с желаемым качеством, используя такую методику, может также привести к неприемлемо большому увеличению диапазона частот. Кроме того, сначала потребовалось бы транскодирование такого кодированного сигнала, даже если его узкополосную часть можно передавать и/или декодировать с помощью системы, которая поддерживает только узкополосное кодирование.
Желательным может быть осуществление широкополосного кодирования речи таким образом, чтобы по меньшей мере узкополосную часть кодированного сигнала можно было посылать через узкополосный канал (такой, как канал PSTN) без транскодирования или другой существенной модификации. Эффективность широкополосного расширения кодирования может также быть желательной, например, чтобы избежать существенного сокращения количества пользователей, которых можно обслуживать в таких приложениях, как беспроводная сотовая телефония и широковещание по проводным и беспроводным каналам.
Другой подход к широкополосному кодированию речи заключается в кодировании узкополосной части и части диапазона высоких частот речевого сигнала как отдельных поддиапазонов. В системе этого типа повышенная эффективность может быть реализована с помощью получения возбуждения для фильтра синтеза диапазона высоких частот из информации, уже доступной в декодере, такой как узкополосный сигнал возбуждения. Качество в такой системе можно увеличивать с помощью того, что кодированный сигнал включает в себя последовательность коэффициентов усиления, которые указывают изменяющееся во времени соотношение между уровнем исходного сигнала диапазона высоких частот и уровнем синтезированного сигнала диапазона высоких частот.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Способ обработки речи согласно одной из конфигураций включает в себя вычисление коэффициентов усиления, основываясь на соотношении между (A) частью во времени первого сигнала, основанного на первом поддиапазоне речевого сигнала, и (B) соответствующей частью во времени второго сигнала, основанного на компоненте, полученном из второго поддиапазона речевого сигнала; и выбор в соответствии со значением коэффициента усиления первого указателя в упорядоченный набор значений квантования. Способ включает в себя оценку соотношения между значением коэффициента усиления и значением квантования, обозначенным первым указателем; и выбор второго указателя в упорядоченном наборе значений квантования согласно результату оценки.
Устройство для обработки речи согласно другой конфигурации включает в себя блок вычисления, сконфигурированный для вычисления значений коэффициентов усиления, основываясь на соотношении между (A) частью во времени первого сигнала, основанного на первом поддиапазоне речевого сигнала, и (B) соответствующей частью во времени второго сигнала, основанного на компоненте, полученном из второго поддиапазона речевого сигнала; и блок квантования (квантизатор), сконфигурированный для выбора первого указателя в упорядоченный набор значений квантования согласно значению коэффициента усиления. Устройство включает в себя блок ограничения (ограничитель), сконфигурированный (A) для оценки соотношения между значением коэффициента усиления и значением квантования, обозначенным первым указателем, и (B) для выбора второго указателя в упорядоченный набор значений квантования согласно результату оценки.
Устройство для обработки речи согласно дополнительной конфигурации включает в себя средство для вычисления значений коэффициентов усиления, основываясь на соотношении между (А) частью во времени первого сигнала, основанного на первом поддиапазоне речевого сигнала, и (В) соответствующей частью во времени второго сигнала, основанного на компоненте, полученном из второго поддиапазона речевого сигнала; и средство для выбора первого указателя в упорядоченный набор значений квантования согласно значению коэффициента усиления. Устройство включает в себя средство для оценки соотношения между значением коэффициента усиления и значением квантования, обозначенным первым указателем, и для выбора второго указателя в упорядоченный набор значений квантования согласно результату оценки.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1а иллюстрирует блок-схему широкополосного речевого кодера А100.
Фиг.1b иллюстрирует блок-схему реализации А102 широкополосного речевого кодера А100.
Фиг.2а иллюстрирует блок-схему широкополосного речевого декодера В100.
Фиг.2b иллюстрирует блок-схему реализации В102 широкополосного речевого декодера В100.
Фиг.3а иллюстрирует охват диапазона частот нижнего и верхнего диапазонов для одного примера блока фильтров А110.
Фиг.3b иллюстрирует охват диапазона частот нижнего и верхнего диапазонов для другого примера блока фильтров А110.
Фиг.4а иллюстрирует примерный график логарифма амплитуды в зависимости от частоты для речевого сигнала.
Фиг.4b иллюстрирует блок-схему систему основного кодирования с линейным предсказанием.
Фиг.5 иллюстрирует блок-схему реализации А122 узкополосного кодера А120.
Фиг.6 иллюстрирует блок-схему реализации В112 узкополосного декодера В110.
Фиг.7а иллюстрирует примерный график логарифма амплитуды в зависимости от частоты для разностного сигнала для вокализированной речи.
Фиг.7b иллюстрирует пример графика логарифма амплитуды в зависимости от времени для разностного сигнала для вокализованной речи.
Фиг.8 иллюстрирует блок-схему системы основного кодирования с линейным предсказанием, которая также выполняет долгосрочное предсказание.
Фиг.9 иллюстрирует блок-схему реализации А202 кодера А200 диапазона высоких частот.
Фиг.10 иллюстрирует последовательность этапов способа М10 кодирования части диапазона высоких частот.
Фиг.11 иллюстрирует последовательность этапов задачи Т200 вычисления усиления.
Фиг.12 иллюстрирует последовательность этапов для реализации Т210 задачи Т200 вычисления усиления.
Фиг.13а иллюстрирует диаграмму оконной (вырезающей) функции.
Фиг.13b иллюстрирует применение оконной функции, которая показана на Фиг. 13а, к субкадрам речевого сигнала.
Фиг.14a иллюстрирует блок-схему реализации A232 блока A230 вычисления коэффициентов усиления диапазона высоких частот.
Фиг.14b иллюстрирует блок-схему, включающую в себя блок A232 вычисления коэффициентов усиления диапазона высоких частот.
Фиг.15 иллюстрирует блок-схему реализации A234 блока A232 вычисления коэффициентов усиления диапазона высоких частот.
Фиг.16 иллюстрирует блок-схему другой реализации A236 блока A232 вычисления коэффициентов усиления диапазона высоких частот.
Фиг.17 иллюстрирует пример одномерного отображения, которое можно выполнять с помощью блока скалярного квантования.
Фиг.18 иллюстрирует один простой пример многомерного отображения, которое выполняют с помощью блока векторного квантования.
Фиг.19a иллюстрирует другой пример одномерного отображения, которое можно выполнять с помощью блока скалярного квантования.
Фиг.19b иллюстрирует пример отображения входного пространства на области квантования различных размеров.
Фиг.19c иллюстрирует пример, в котором квантованное значение для значения R коэффициента усиления больше исходного значения.
Фиг.20a иллюстрирует последовательность этапов способа M100 ограничения коэффициентов усиления согласно одной обычной реализации.
Фиг.20b иллюстрирует последовательность этапов реализации M110 способа M100.
Фиг.20c иллюстрирует последовательность этапов реализации M120 способа M100.
Фиг.20d иллюстрирует последовательность этапов реализации M130 способа M100.
Фиг.21 иллюстрирует блок-схему реализации A203 кодера A202 диапазона высоких частот.
Фиг.22 иллюстрирует блок-схему реализации A204 кодера A203 диапазона высоких частот.
Фиг.23a иллюстрирует рабочую схему одной из реализаций L12 блока L10 ограничения.
Фиг.23b иллюстрирует рабочую схему другой реализации L14 блока L10 ограничения.
Фиг.23c иллюстрирует рабочую схему дополнительной реализации L16 блока L10 ограничения.
Фиг.24 иллюстрирует блок-схему реализации B202 декодера B200 диапазона высоких частот.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Слышимые помехи могут возникать, когда, например, распределение мощности между поддиапазонами декодированного сигнала является неточным. Такие помехи могут быть заметно неприятными для пользователя и таким образом могут ухудшать воспринимаемое качество кодера.
Если явно не ограничено его контекстом, термин «вычисление» используют в данном документе для указания любого из его обычных значений, таких как вычисление, генерация и выбор из списка значений. Когда термин «содержащий» используется в настоящем описании и формуле изобретения, он не исключает другие элементы или операции. Термин «A основан на B» используется для указания любого из его обычных значений, которые включают в себя случаи (i) «A равен B» и (ii) «A основан по меньшей мере на B». Термин «Интернет-протокол» включает в себя версию 4, которая описана в RFC (запросе на комментарии) 791 IETF (инженерной группы по развитию Интернет), и последующие версии, такие как версия 6.
Фиг.1a иллюстрирует блок-схему широкополосного речевого кодера A100, который может быть сконфигурирован для выполнения описанного далее способа. Блок A110 фильтров сконфигурирован для фильтрации широкополосного речевого сигнала S10 для создания узкополосного сигнала S20 и сигнала S30 диапазона высоких частот. Узкополосный кодер A120 сконфигурирован для кодирования узкополосного сигнала S20 для создания параметров S40 узкополосного (УП) фильтра и узкополосного разностного сигнала S50. Как описано далее более подробно, узкополосный кодер 120 обычно сконфигурирован для создания параметров S40 узкополосного фильтра и кодированного узкополосного сигнала S50 возбуждения, как указателей книги шифров или в другой квантованной форме. Кодер A200 диапазона высоких частот сконфигурирован для кодирования сигнала S30 диапазона высоких частот согласно информации в кодированном узкополосном сигнале S50 возбуждения для создания параметров S60 кодирования диапазона высоких частот. Как описано более подробно, кодер A200 диапазона высоких частот обычно сконфигурирован для создания параметров S60 кодирования диапазона высоких частот, как указателей книги шифров или в другой квантованной форме. Один конкретный пример широкополосного речевого кодера A100 сконфигурирован для кодирования широкополосного речевого сигнала S10 со скоростью приблизительно 8,55 кбит/с (килобит в секунду), приблизительно со скоростью 7,55 кбит/с, используемой для параметров S40 узкополосного фильтра и кодированного узкополосного сигнала S50 возбуждения, и приблизительно со скоростью 1 кбит/с, используемой для параметров S60 кодирования диапазона высоких частот.
Может быть желательным объединять кодированный узкополосный канал и сигналы диапазона высоких частот в один поток битов. Например, может быть желательным мультиплексировать кодированные сигналы вместе для передачи (например, по проводному, оптическому или беспроводному каналу передачи) или для хранения, как кодированный широкополосный речевой сигнал. Фиг. 1b иллюстрирует блок-схему реализации A102 широкополосного речевого кодера A100, который включает в себя мультиплексор A130, сконфигурированный для объединения параметров S40 узкополосного фильтра, кодированного узкополосного сигнала S50 возбуждения и параметров S60 фильтра диапазона высоких частот в мультиплексированный сигнал S70.
Устройство, включающее в себя кодер A102, может также включать в себя схему, сконфигурированную для передачи мультиплексированного сигнала S70 в канал передачи, такой как проводной, оптический или беспроводный канал. Такое устройство может быть также сконфигурировано для выполнения одной или большего количества операций канального кодирования сигнала, такого как кодирование коррекции ошибки (например, совместимое со скоростью сверточное кодирование) и/или кодирование обнаружения ошибок (например, циклическое избыточное кодирование), и/или один или большее количество уровней протокола сетевого кодирования (например, Ethernet, TCP/IP, cdma2000).
Может быть желательным конфигурировать мультиплексор A130 для внедрения кодированного узкополосного сигнала (включающего в себя параметры S40 узкополосного фильтра и кодированный узкополосный сигнал S50 возбуждения) в качестве отделяемого субпотока мультиплексированного сигнала S70, так что кодируемый узкополосный сигнал можно восстанавливать и декодировать независимо от другой части мультиплексированного сигнала S70, такого как сигнал диапазона высоких частот и/или сигнал диапазона низких частот. Например, мультиплексированный сигнал S70 можно упорядочивать таким образом, что кодированный узкополосный сигнал можно восстанавливать с помощью удаления параметров S60 фильтра диапазона высоких частот. Одним из потенциальных преимуществ такой особенности является возможность избежать потребности в транскодировании кодированного широкополосного сигнала перед передачей его к системе, которая поддерживает декодирование узкополосного сигнала, но не поддерживает декодирование части диапазона высоких частот.
Фиг.2a - блок-схема широкополосного речевого декодера B100, который можно использовать для декодирования сигнала, кодированного широкополосным речевым кодером A100. Узкополосный декодер 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 и 3b показывают относительные диапазоны частот широкополосного речевого сигнала S10, узкополосного сигнала S20 и сигнала S30 диапазона высоких частот в двух различных примерных реализациях. В обоих из этих определенных примеров широкополосный речевой сигнал S10 имеет частоту дискретизации 16 кГц (которая представляет компоненты частоты в пределах диапазона от 0 до 8 кГц), а узкополосный сигнал S20 имеет частоту дискретизации 8 кГц (которая представляет компоненты частоты в пределах диапазона от 0 до 4 кГц), хотя такие скорости и диапазоны не ограничивают описанные принципы, которые можно применять к любым другим частотам дискретизации и/или частотным диапазонам.
В примере на Фиг.3a между двумя поддиапазонами нет существенного перекрытия. Сигнал S30 диапазона высоких частот, как в данном примере, можно субдискретизировать к частоте дискретизации 8 кГц. В альтернативном примере на Фиг.3b верхний и нижний поддиапазоны имеют заметное перекрытие, так что область 3,5-4 кГц описывают сигналами обоих поддиапазонов. Сигнал S30 диапазона высоких частот, как в данном примере, можно субдискретизировать к частоте дискретизации 7 кГц. Обеспечение перекрытия между поддиапазонами, как в примере на Фиг.3b, может предоставлять возможность системе кодирования использовать низкочастотный фильтр и/или высокочастотный фильтр, имеющий постепенное ослабление в области перекрытия, и/или может увеличивать качество воспроизводимых компонентов частоты в области перекрытия.
В обычном телефоне для телефонной связи у одного или большего количества преобразователей (т.е. микрофона и наушников или громкоговорителя) отсутствует заметная реакция в частотном диапазоне 7-8 кГц. В примере на Фиг. 3b кодированный сигнал не включает в себя часть широкополосного речевого сигнала S10 между 7 и 8 кГц. Другие конкретные примеры высокочастотных фильтров 130 имеют полосы пропускания 3,5-7,5 кГц и 3,5-8 кГц.
Кодер может быть сконфигурирован для создания синтезированного сигнала, который по восприятию подобен исходному сигналу, но который фактически значительно отличается от исходного сигнала. Например, кодер, который получает возбуждение диапазона высоких частот из узкополосного разностного сигнала, как описано в данной работе, может создавать такой сигнал, в котором фактический разностный сигнал диапазона высоких частот может полностью отсутствовать в декодированном сигнале. В таких случаях с помощью обеспечения перекрытия между поддиапазонами можно поддерживать постепенное плавное сопряжение диапазона низких частот и диапазона высоких частот, что может приводить к меньшему количеству слышимых помех и/или менее заметному переходу от одного диапазона к другому.
Цепи диапазона низких частот и диапазона высоких частот блоков фильтров A110 и B120 может быть сконфигурирован так, чтобы они имели спектры, которые полностью независимы, кроме перекрытия этих двух поддиапазонов. Перекрытие этих двух поддиапазонов определяют как расстояние от точки, в которой частотная характеристика фильтра диапазона высоких частот спадает до -20 децибелов, до точки, в которой частотная характеристика фильтра диапазона низких частот спадает до -20 децибелов. В различных примерах блоков фильтров А110 и/или B120 это перекрытие располагается приблизительно от 200 Гц до 1 кГц. Диапазон приблизительно от 400 до 600 Гц может представлять выбор оптимального решения между эффективностью кодирования и однородностью восприятия. В одном из конкретных примеров, которые приведены выше, перекрытие составляет приблизительно 500 Гц.
Может быть желательным воплощать блоки А110 фильтров и/или B120 для вычисления сигналов поддиапазонов, как показано на Фиг. 3a и 3b, в несколько этапов. Дополнительное описание и чертежи, относящиеся к характеристикам элементов конкретных реализаций блоков фильтров А110 и B120, можно найти в патентной заявке США Vos et al., озаглавленной «SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING», поданной 3 апреля 2006, номер поверенного № 050551, на Фиг. 3a, 3b, 4c, 4d и 33-39b, и в сопроводительном тексте (который включает в себя абзацы [00069]-[00087]), данный материал представлен для справки в Соединенных Штатах и на любой другой территории, где разрешено представление для справки, с целью обеспечения дополнительного раскрытия, относящегося к блокам фильтров A110 и/или B120.
Сигнал S30 диапазона высоких частот может включать в себя импульсы высокой мощности («пачки»), которые могут быть вредными для кодирования. Речевой кодер, такой как широкополосный речевой кодер A100, можно воплощать так, чтобы он включал в себя подавитель «пачек» (например, как описано в патентной заявке США Vos et al., озаглавленной «SYSTEMS, METHODS, AND APPARATUS FOR HIGHBAND BURST SUPPRESSION», номер поверенного № 050549, поданной 3 апреля 2006) для фильтрации сигнала S30 диапазона высоких частот перед кодированием (например, кодером A200 диапазона высоких частот).
Каждый из узкополосного кодера A120 и кодера A200 диапазона высоких частот обычно воплощают согласно модели исходного фильтра, которая кодирует входной сигнал как (A) набор параметров, которые описывают фильтр, и (B) сигнал возбуждения, который управляет описанным фильтром для создания синтезированной копии входного сигнала. Фиг.4a иллюстрирует пример огибающей спектра речевого сигнала. Пики, которые характеризуют эту огибающую спектра, представляют резонансы речевого тракта и называются формантами. Большинство речевых кодеров кодирует по меньшей мере эту грубую спектральную структуру как набор параметров, таких как коэффициенты фильтра.
Фиг.4b иллюстрирует пример схемы основного входного фильтра в применении к кодированию огибающей спектра узкополосного сигнала S20. Модуль анализа вычисляет набор параметров, которые характеризуют фильтр, соответствующий звукам речи за период времени (обычно 20 миллисекунд (мс)). Отбеливающий фильтр (также называемый фильтром анализа или предсказания ошибки), который сконфигурирован согласно этим параметрам фильтра, удаляет огибающую спектра для сглаживания спектра сигнала. Результирующий отбеленный сигнал (также называемый разностным сигналом) имеет меньше мощности и таким образом меньше дисперсии и его проще кодировать, чем исходный речевой сигнал. Ошибки, являющиеся результатом кодирования разностного сигнала, можно также распределять более равномерно по спектру. Параметры фильтра и разностный сигнал обычно квантуют для эффективной передачи по каналу. В декодере фильтр синтеза, сконфигурированный согласно параметрам фильтра, возбуждают с помощью сигнала, основанного на разностном сигнале, для создания синтезированной версии исходных звуков речи. Фильтр синтеза обычно сконфигурирован так, чтобы он имел функцию преобразования, которая является инверсией функции преобразования отбеливающего фильтра.
Фиг.5 иллюстрирует блок-схему основной реализации A122 узкополосного кодера 120. В этом примере модуль 210 анализа кодирования с линейным предсказанием (LPC) кодирует огибающую спектра узкополосного сигнала S20 как набор коэффициентов линейного предсказания (LP) (например, коэффициентов полюсного фильтра 1/A(z)). Модуль анализа обычно обрабатывает входной сигнал как последовательность ненакладывающихся кадров, с новым набором коэффициентов, вычисляемых для каждого кадра. Период кадра в общем случае является периодом, в течение которого можно ожидать, что сигнал будет локально постоянен; одним из обычных примеров является 20 миллисекунд (эквивалентно 160 выборкам при частоте дискретизации 8 кГц). В одном из примеров модуль 210 анализа LPC сконфигурирован для вычисления набора из десяти коэффициентов фильтра LP для характеризации формантной структуры каждого 20-миллисекундного кадра. Также можно воплощать модуль анализа для обработки входного сигнала как последовательности накладывающихся кадров.
Модуль анализа может быть сконфигурирован для непосредственного анализа выборки каждого кадра, или выборки можно взвешивать сначала согласно оконной функции (например, окна Хемминга). Анализ можно также выполнять по окну, которое больше кадра, например, по окну 30 мс. Это окно может быть симметричным (например, 5-20-5, так что оно включает в себя 5 миллисекунд непосредственно перед и после 20-миллисекундного кадра) или асимметричным (например, 10-20, так что оно включает в себя последние 10 миллисекунд предыдущего кадра). Модуль анализа LPC обычно сконфигурирован для вычисления коэффициентов фильтра LP, используя рекурсию Levinson-Durbin или алгоритм Leroux-Gueguen. В другой реализации модуль анализа может быть сконфигурирован для вычисления набора коэффициентов косинусного преобразования Фурье для каждого кадра вместо набора коэффициентов фильтра LP.
Выходную скорость кодера A120 можно значительно уменьшать при относительно небольшом влиянии на качество воспроизведения с помощью квантования параметров фильтра. Коэффициенты фильтра линейного предсказания трудно квантовать эффективно и обычно отображают на другое представление, такое как пары спектральных линий (LSP) или частоты спектральных линий (LSF), для энтропийного кодирования и/или квантования. В примере на Фиг. 5 блок 220 преобразования коэффициентов фильтра LP в LSF преобразовывает набор коэффициентов фильтра LP в соответствующий набор LSF. Другие взаимно-однозначные представления коэффициентов фильтра LP включают в себя коэффициенты частичной корреляции (parcor-коэффициенты); значения соотношения в логарифмической области; спектральные пары иммитанса (ISP); и спектральные частоты иммитанса (ISF), которые используются в AMR-WB (адаптивном мультискоростном широкополосном) кодеке GSM (глобальной системы связи с подвижными объектами). Обычно преобразование между набором коэффициентов фильтра LP и соответствующим набором LSF обратимо, но конфигурации также включают в себя реализации кодера A120, в которых преобразование необратимо без ошибки.
Блок 230 квантования сконфигурирован для квантования набора узкополосных LSF (или другого представления коэффициентов), и узкополосный кодер A122 сконфигурирован для вывода результата этого квантования в качестве параметров S40 узкополосного фильтра. Такой блок квантования обычно включает в себя блок векторного квантования, который кодирует входной вектор как указатель на соответствующую запись вектора в таблице или в книге шифров.
Фиг.9 иллюстрирует блок-схему реализации A202 кодера A200 диапазона высоких частот. Модуль A210 анализа, блок 410 преобразования и блок 420 квантования из кодера A202 диапазона высоких частот можно воплощать согласно описаниям соответствующих элементов узкополосного кодера A122, как описано выше (т.е. модуль 210 анализа LPC, блок 220 преобразования и блок 230 квантования соответственно), хотя может быть желательным использовать анализ LPC более низкого порядка для диапазона высоких частот. Даже возможно воплощать эти элементы узкополосного кодера и кодера диапазона высоких частот, используя те же самые структуры (например, наборы схем) и/или наборы команд (например, строк программы) в разное время. Как описано ниже, операции узкополосного кодера A120 и кодера A200 диапазона высоких частот отличаются по отношению к обработке разностного сигнала.
Как можно заметить на Фиг.5, узкополосный кодер A122 также создает разностный сигнал с помощью передачи узкополосного сигнала S20 через отбеливающий фильтр 260 (также называемый фильтром анализа или предсказания ошибки), который сконфигурирован согласно набору коэффициентов фильтра. В этом конкретном примере отбеливающий фильтр 260 воплощают как фильтр КИХ (с конечной импульсной характеристикой), хотя могут также использоваться реализации БИХ (с бесконечной импульсной характеристикой). Этот разностный сигнал будет обычно содержать важную для восприятия информацию речевого кадра, такую как долгосрочная структура, относящаяся к углу наклона, которая не представлена в параметрах S40 узкополосного фильтра. Блок 270 квантования сконфигурирован для вычисления квантованного представления этого разностного сигнала для вывода в качестве кодированного узкополосного сигнала S50 возбуждения. Такой блок квантования обычно включает в себя блок векторного квантования, который кодирует входной вектор как указатель на соответствующую запись вектора в таблице или в книге шифров. Альтернативно, такой блок квантования может быть сконфигурирован для передачи одного или большего количества параметров, из которых вектор можно создавать динамически в декодере, а не извлекать из памяти, как в способе разреженной книги шифров. Такой способ используется в схемах кодирования, таких как алгебраическое CELP (линейное предсказание с кодовым возбуждением), и в таких кодеках, как EVRC (улучшенный кодек с переменной скоростью) 3GPP2 (проекта партнерства третьего поколения - 2).
Для узкополосного кодера A120 желательно создавать кодированный узкополосный сигнал возбуждения согласно тем же самым значениям параметров фильтра, которые будут доступны для соответствующего узкополосного декодера. Таким образом, результирующий кодированный узкополосный сигнал возбуждения может уже учитывать до некоторой степени неидеальность этих значений параметров, например ошибку квантования. Соответственно, желательно конфигурировать отбеливающий фильтр, используя те же самые значения коэффициентов, которые будут доступны в декодере. В основном примерном кодере A122, который показан на Фиг. 5, блок 240 обратного квантования выполняет обратное квантование параметров S40 кодирования узкополосного канала, блок 250 преобразования LSF в коэффициенты фильтра LP отображает результирующие значения назад к набору соответствующих коэффициентов фильтра LP, и этот набор коэффициентов используется для конфигурирования отбеливающего фильтра 260 для создания разностного сигнала, который квантуют с помощью блока квантования 270.
Некоторые реализации узкополосного кодера A120 сконфигурированы для вычисления кодированного узкополосного сигнала S50 возбуждения с помощью идентификации одного из наборов векторов книги шифров, который лучше соответствует разностному сигналу. Следует отметить, однако, что узкополосный кодер A120 можно также воплощать для вычисления квантованного представления разностного сигнала, фактически не генерируя разностный сигнал. Например, узкополосный кодер 120 может быть сконфигурирован для использования множества векторов книги шифров для создания соответствующих синтезированных сигналов (например, согласно текущему набору параметров фильтра) и выбора вектора книги шифров, связанного с созданным сигналом, который лучшие соответствует исходному узкополосному сигналу S20 в относящейся к восприятию области.
Даже после того, как отбеливающий фильтр удалил грубую огибающую спектра из узкополосного сигнала S20, значительное количество «тонкой» гармонической структуры может остаться, особенно для вокализованной речи. Фиг. 7a иллюстрирует график спектра одного примерного разностного сигнала, который можно создавать с помощью отбеливающего фильтра, для вокализированного сигнала, такого как гласный звук. Периодическая структура, видимая в данном примере, относится к тону звука, и другие вокализованные звуки, произносимые тем же самым говорящим, могут иметь другие формантные структуры, но подобные структуры тона звука. Фиг. 7b иллюстрирует во временной области примерный график такого разностного сигнала, который иллюстрирует последовательность импульсов тона звука во времени.
Узкополосный кодер A120 может включать в себя один или большее количество модулей, сконфигурированных для кодирования долгосрочной гармонической структуры узкополосного сигнала S20. Как показано на Фиг. 8, один типичный образец CELP, который может использоваться, включает в себя модуль анализа LPC без обратной связи, который кодирует краткосрочные характеристики, или грубую огибающую спектра, за которым следует этап долгосрочного анализа предсказания с обратной связью, которое кодирует данную «тонкую» структуру тона звука, или гармоническую структуру. Краткосрочные характеристики кодируют как коэффициенты фильтра, а долгосрочные характеристики кодируют как значения параметров, такие как задержка тона звука и усиление тона звука. Например, узкополосный кодер A120 может быть сконфигурирован для вывода кодированного узкополосного сигнала S50 возбуждения в форме, которая включает в себя один или большее количество указателей книги шифров (например, фиксированный указатель книги шифров и настраиваемый указатель книги шифров) и соответствующие значения усиления. Вычисление этого квантованного представления узкополосного разностного сигнала (например, с помощью блока 270 квантования) может включать в себя выбор таких указателей и вычисление таких значений. Кодирование структуры тона звука может также включать в себя интерполяцию формы волны прототипа тона звука, данная операция может включать в себя вычисление различия между последовательными импульсами тона звука. Моделирование долгосрочной структуры может быть заблокировано для кадров, соответствующих невокализированной речи, которая обычно подобна шуму и неструктурирована.
Фиг.6 иллюстрирует блок-схему реализации В112 узкополосного декодера В110. Блок 310 обратного квантования выполняет обратное квантование узкополосных параметров 340 фильтра (в этом случае, в набор LSF), и блок 320 преобразования LSF в коэффициенты фильтра LP преобразовывает LSF в