Способ кодирования/декодирования индексов кодовой книги для квантованного спектра мдкп в масштабируемых речевых и аудиокодеках
Иллюстрации
Показать всеИзобретение относится к средствам кодирования/декодирования спектра модифицированного дискретного косинусного преобразования. Технический результат заключается в сокращении объема сохраняемой или передаваемой информации. Индексы кодовой книги для масштабируемого речевого и аудиокодека можно эффективно кодировать на основании предполагаемых распределений вероятности для таких индексов кодовой книги. Для этого получают остаточный сигнал из уровня кодирования на основе линейного прогнозирования с кодовым возбуждением, где остаточный сигнал является разностью между исходным аудиосигналом и реконструированной версией исходного аудиосигнала. Остаточный сигнал преобразуют на уровне преобразования типа дискретного косинусного преобразования для получения соответствующего спектра преобразования, который делят на множество спектральных диапазонов, каждый из которых имеет множество спектральных линий. Выбирают множество разных кодовых книг для кодирования спектральных диапазонов, где каждая кодовая книга связана с индексом кодовой книги. Затем множество индексов кодовой книги, связанных с выбранными кодовыми книгами, совместно кодируют для получения кода дескриптора, который более компактно представляет индексы кодовой книги. 10 н. и 23 з.п. ф-лы, 15 ил., 5 табл.
Реферат
Настоящая патентная заявка испрашивает приоритет согласно предварительной патентной заявке США №60/985,263 под названием “Low-Complexity Technique for Encoding/Decoding of Quantized MDCT Spectrum in Scalable Speech + Audio Codecs”, поданной 4 ноября 2007 г., переуступленной правопреемнику настоящего изобретения и, таким образом, в явном виде включенной в состав настоящей заявки посредством ссылки.
Область техники, к которой относится изобретение
Нижеследующее описание, в целом, относится к кодерам и декодерам и, в частности, к эффективному способу кодирования спектра модифицированного дискретного косинусного преобразования (МДКП) в составе масштабируемого речевого и аудиокодека.
Уровень техники
Целью аудиокодирования является сжатие аудиосигнала до нужного ограниченного объема информации с сохранением, по мере возможности, исходного качества звучания. В процессе кодирования, аудиосигнал преобразуется из временного измерения в частотное измерение.
Перцепционные методы аудиокодирования, например MPEG уровня 3 (MP3), MPEG-2 и MPEG-4, используют свойства маскировки сигнала, присущие человеческому слуху, для сокращения объема данных. Благодаря этому шум квантования распределяется на частотные диапазоны таким образом, что он маскируется преобладающим полным сигналом, т.е. остается неслышимым. Значительное сокращение размера хранилища возможно с небольшой или вообще без какой-либо воспринимаемой потери качества аудиосигнала. Перцепционные методы аудиокодирования часто масштабируются и производят многоуровневый битовый поток, имеющий базовый или основной уровень и, по меньшей мере, один уровень улучшения. Это допускает масштабируемость битовой скорости, т.е. декодирование на разных уровнях качества аудиосигнала на стороне декодера или снижение битовой скорости в сети путем формообразования или кондиционирования трафика.
Линейное прогнозирование с кодовым возбуждением (CELP) представляет собой класс алгоритмов, включающий в себя алгебраический CELP (ACELP), релаксационный CELP (RCELP), CELP с малой задержкой (LD-CELP) и линейное прогнозирование с возбуждением векторной суммой (VSELP), который широко используется для кодирования речи. Один принцип, лежащий в основе CELP, называется «Анализ через синтез» (AbS) и означает, что кодирование (анализ) осуществляется путем перцепционной оптимизации декодированного (синтезированного) сигнала в замкнутом цикле. Теоретически, наилучший поток CELP формируется путем опробования всевозможных комбинаций битов и выбора той из них, которая обеспечивает декодированный сигнал с наилучшим звучанием. Очевидно, осуществить это на практике невозможно по двум причинам: это очень трудно реализовать, и критерий выбора "наилучшее звучание" предусматривает наличие слушателя-человека. Для обеспечения кодирования в реальном времени с использованием ограниченных вычислительных ресурсов поиск CELP разбивается на меньшие, более управляемые, последовательные поиски с использованием перцепционной взвешивающей функции. Обычно кодирование включает в себя (a) вычисление и/или квантование (обычно в качестве линейных спектральных пар) коэффициентов линейно-прогностического кодирования для входного аудиосигнала, (b) использование кодовых книг для поиска наилучшего совпадения для генерации кодированного сигнала, (c) генерацию сигнала ошибки, который является разностью между кодированным сигналом и реальным входным сигналом, и (d) дополнительное кодирование такого сигнала ошибки (обычно в спектре МДКП) на одном или нескольких уровнях для повышения качества реконструированного или синтезированного сигнала.
Существует много разных способов реализации речевых и аудиокодеков на основании алгоритмов CELP. Согласно некоторым из этих способов, генерируется сигнал ошибки, который затем преобразуется (обычно с использованием ДКП, МДКП или аналогичного преобразования) и кодируется для дополнительного повышения качества кодированного сигнала. Однако в силу ограничений в отношении обработки и полосы, присущих многим мобильным устройствам и сетям, требуется эффективная реализация такого кодирования спектра МДКП для сокращения объема сохраняемой или передаваемой информации.
Раскрытие изобретения
Ниже, в упрощенном виде, представлено раскрытие одного или нескольких вариантов осуществления для обеспечения понимания сущности таких вариантов осуществления. Это раскрытие не является обширным обзором всех мыслимых вариантов осуществления и не призвано, ни идентифицировать ключевые или критические элементы всех вариантов осуществления, ни ограничивать объем каких-либо или всех вариантов осуществления. Его единственной целью является представление некоторых концепций одного или нескольких вариантов осуществления в упрощенной форме в качестве прелюдии к более подробному описанию, которое приведено ниже.
В одном примере предусмотрен масштабируемый речевой и аудиокодер. Можно получить остаточный сигнал из уровня кодирования на основе линейного прогнозирования с кодовым возбуждением (CELP), где остаточный сигнал является разностью между исходным аудиосигналом и реконструированной версией исходного аудиосигнала. Остаточный сигнал можно преобразовывать на уровне преобразования типа дискретного косинусного преобразования (ДКП) для получения соответствующего спектра преобразования. Уровень преобразования типа ДКП может представлять собой уровень модифицированного дискретного косинусного преобразования (МДКП), и спектр преобразования является спектром МДКП. Затем спектр преобразования можно разделить на множество спектральных диапазонов, причем каждый спектральный диапазон имеет множество спектральных линий. В некоторых реализациях некоторый набор спектральных диапазонов можно отбросить для сокращения количества спектральных диапазонов до кодирования. Затем выбирается множество разных кодовых книг для кодирования спектральных диапазонов, где с кодовыми книгами связаны индексы кодовой книги. Векторное квантование осуществляется на спектральных линиях в каждом спектральном диапазоне с использованием выбранных кодовых книг для получения векторно-квантованных индексов.
Индексы кодовой книги кодируются, и векторно-квантованные индексы также кодируются. В одном примере кодирование индексов кодовых книг может включать в себя кодирование, по меньшей мере, двух смежных спектральных диапазонов в код парного дескриптора, который основан на распределении вероятности квантованных характеристик смежных спектральных диапазонов. Кодирование, по меньшей мере, двух смежных спектральных диапазонов может включать в себя: (a) сканирование смежных пар спектральных диапазонов для определения их характеристик, (b) идентификацию индекса кодовой книги для каждого из спектральных диапазонов, и/или (c) получение компонента дескриптора и компонента кода расширения для каждого индекса кодовой книги. Кодирование первого компонента дескриптора и второго компонента дескриптора парами для получения кода парного дескриптора. Код парного дескриптора может отображаться в один из множества возможных кодов переменной длины (VLC) для разных кодовых книг. Кодовые книги VLC можно назначать каждой паре компонентов дескриптора на основании относительной позиции каждого соответствующего спектрального диапазона в кадре аудиосигнала и номера уровня кодера. Коды парного дескриптора могут основываться на квантованном наборе типичных распределений вероятности значений дескриптора в каждой паре дескрипторов. Единичный компонент дескриптора можно использовать для индексов кодовой книги, превышающих значение k, и компоненты кода расширения используются для индексов кодовой книги, превышающих значение k. В одном примере, каждый индекс кодовой книги связан с компонентом дескриптора, который основан на статистическом анализе распределений возможных индексов кодовой книги, причем индексы кодовой книги, имеющие более высокую вероятность выбора, назначаются отдельным компонентам дескриптора, и индексы кодовой книги, имеющие меньшую вероятность выбора, группируются и назначаются единичному дескриптору.
Затем битовый поток кодированных индексов кодовой книги и кодированных векторно-квантованных индексов формируется для представления квантованного спектра преобразования.
Также предусмотрен масштабируемый речевой и аудиодекодер. Получается битовый поток, имеющий множество кодированных индексов кодовой книги и множество кодированных векторно-квантованных индексов, которые представляют квантованный спектр преобразования остаточного сигнала, где остаточный сигнал является разностью между исходным аудиосигналом и реконструированной версией исходного аудиосигнала из уровня кодирования на основе линейного прогнозирования с кодовым возбуждением (CELP). Множество кодированных индексов кодовой книги затем декодируется для получения декодированных индексов кодовой книги для множества спектральных диапазонов. Аналогично, множество кодированных векторно-квантованных индексов также декодируется для получения декодированных векторно-квантованных индексов для множества спектральных диапазонов. Затем множество спектральных диапазонов можно синтезировать с использованием декодированных индексов кодовой книги и декодированных векторно-квантованных индексов для получения реконструированной версии остаточного сигнала на уровне обратного преобразования типа обратного дискретного косинусного преобразования (ОДКП). Уровень преобразования типа ОДКП может представлять собой уровень обратного модифицированного дискретного косинусного преобразования (ОМДКП), и спектр преобразования является спектром ОМДКП.
Множество кодированных индексов кодовой книги можно представлять кодом парного дескриптора, представляющим множество смежных спектральных диапазонов спектра преобразования кадра аудиосигнала. Код парного дескриптора может основываться на распределении вероятности квантованных характеристик смежных спектральных диапазонов. Код парного дескриптора отображается в один из множества возможных кодов переменной длины (VLC) для разных кодовых книг. Кодовые книги VLC можно назначать каждой паре компонентов дескриптора на основании относительной позиции каждого соответствующего спектрального диапазона в кадре аудиосигнала и номера уровня кодера.
В одном примере, декодирование множества кодированных индексов кодовой книги включает в себя, может включать в себя: (a) получение компонента дескриптора, соответствующего каждому из множества спектральных диапазонов, (b) получение компонента кода расширения, соответствующего каждому из множества спектральных диапазонов, (c) получение компонента индекса кодовой книги, соответствующего каждому из множества спектральных диапазонов, на основании компонента дескриптора и компонента кода расширения, и/или (d) использование индекса кодовой книги для синтеза спектрального диапазона для каждого, соответствующего каждому из множества спектральных диапазонов. Компонент дескриптора можно связывать с индексом кодовой книги, который основан на статистическом анализе распределений возможных индексов кодовой книги, причем индексы кодовой книги, имеющие более высокую вероятность выбора, назначаются отдельным компонентам дескриптора, и индексы кодовой книги, имеющие меньшую вероятность выбора, группируются и назначаются единичному дескриптору. Единичный компонент дескриптора можно использовать для индексов кодовой книги, превышающих значение k, и компоненты кода расширения используются для индексов кодовой книги, превышающих значение k. Коды парного дескриптора могут основываться на квантованном наборе типичных распределений вероятности значений дескриптора в каждой паре дескрипторов.
Краткое описание чертежей
Различные признаки, природа и преимущества явствуют из подробного описания осуществления изобретения, приведенного ниже со ссылкой на чертежи, снабженные сквозной системой обозначений.
Фиг.1 - блок-схема, демонстрирующая систему связи, в которой можно реализовать один или несколько признаков кодирования.
Фиг.2 - блок-схема, демонстрирующая передающее устройство, которое может быть сконфигурировано, чтобы осуществлять эффективное аудиокодирование, согласно одному примеру.
Фиг.3 - блок-схема, демонстрирующая приемное устройство, которое может быть сконфигурировано, чтобы осуществлять эффективное аудиодекодирование, согласно одному примеру.
Фиг.4 - блок-схема масштабируемого кодера согласно одному примеру.
Фиг.5 - блок-схема, демонстрирующая иллюстративный процесс кодирования спектра МДКП, который можно реализовать на более высоких уровнях кодера.
Фиг.6 - схема, демонстрирующая, как кадр спектра МДКП аудиосигнала можно разделить на множество n-точечных диапазонов (или подвекторов) для облегчения кодирования спектра МДКП.
Фиг.7 - логическая блок-схема, демонстрирующая один пример алгоритма кодирования, осуществляющего кодирование индексов кодовой книги, подвергнутых вложенному алгебраическому векторному квантованию (EAVQ) в измерении МДКП.
Фиг.8 - блок-схема, демонстрирующая кодер для масштабируемого речевого и аудиокодека.
Фиг.9 - блок-схема, демонстрирующая пример способа для получения кода парного дескриптора, который кодирует множество спектральных диапазонов.
Фиг.10 - блок-схема, демонстрирующая пример способа для генерации отображения между кодовыми книгами и дескрипторами на основании распределения вероятности.
Фиг.11 - блок-схема, демонстрирующая пример того, как можно генерировать значения дескриптора.
Фиг.12 - блок-схема, демонстрирующая пример способа для генерации отображения дескрипторных пар в коды парного дескриптора на основании распределения вероятности множества дескрипторов для спектральных диапазонов.
Фиг.13 - блок-схема, демонстрирующая пример декодера.
Фиг.14 - блок-схема, демонстрирующая декодер, способный эффективно декодировать код парного дескриптора.
Фиг.15 - блок-схема, демонстрирующая способ декодирования спектра преобразования в масштабируемом речевом и аудиокодеке.
Осуществление изобретения
Различные варианты осуществления изобретения будут описаны ниже со ссылкой на чертежи, снабженные сквозной системой обозначений. В нижеследующем описании, в целях объяснения, многочисленные конкретные детали представлены для обеспечения исчерпывающего понимания одного или нескольких вариантов осуществления. Однако очевидно, что такой(ие) вариант(ы) осуществления можно реализовать на практике без этих конкретных деталей. В других случаях, общеизвестные структуры и устройства показаны в виде блок-схемы для обеспечения описания одного или нескольких вариантов осуществления.
Обзор
В масштабируемом кодеке для кодирования/декодирования аудиосигналов, в котором множественные уровни кодирования используются для итерационного кодирования аудиосигнала, модифицированное дискретное косинусное преобразование можно использовать на одном или нескольких уровнях кодирования, где остатки аудиосигнала преобразуются (например, в измерение МДКП) для кодирования. В измерении МДКП, кадр спектральных линий можно разделить на множество диапазонов. Каждый спектральный диапазон можно эффективно кодировать индексом кодовой книги. Индекс кодовой книги можно дополнительно кодировать в небольшой набор дескрипторов кодами расширения, и дескрипторы для смежных спектральных диапазонов можно дополнительно кодировать в коды парного дескриптора, которые указывают, что некоторые индексы кодовой книги и дескрипторы имеют более высокое распределение вероятности, чем другие. Дополнительно, индексы кодовой книги также кодируются на основании относительной позиции соответствующих спектральных диапазонов в спектре преобразования, а также номера уровня кодера.
В одном примере, набор модулей вложенного алгебраического векторного квантования (EAVQ) используется для кодирования n-точечных диапазонов спектра МДКП. Модули векторного квантования можно без потерь сжимать в индексы, задающие скорость и номера кодовых книг, используемых для кодирования каждого n-точечного диапазона. Индексы кодовой книги можно дополнительно кодировать с использованием набора выбираемых на контекстной основе кодов Хаффмана, которые представляют парные индексы кодовой книги для смежных спектральных диапазонов. Для больших значений индексов, дополнительно унарно кодированные расширения можно дополнительно использовать для представления значений дескриптора, представляющих индексы кодовой книги.
Система связи
На фиг.1 показана блок-схема, демонстрирующая систему связи, в которой можно реализовать один или несколько признаков кодирования. Кодер 102 принимает поступающий входной аудиосигнал 104 и генерирует кодированный аудиосигнал 106. Кодированный аудиосигнал 106 можно передавать по каналу связи (например, беспроводному или проводному) на декодер 108. Декодер 108 пытается реконструировать входной аудиосигнал 104 на основании кодированного аудиосигнала 106 для генерации реконструированного выходного аудиосигнала 110. В целях иллюстрации, кодер 102 может работать на передающем устройстве, тогда как устройство декодера может работать на приемном устройстве. Однако очевидно, что любые такие устройства могут включать в себя как кодер, так и декодер.
На фиг.2 показана блок-схема, демонстрирующая передающее устройство 202, которое может быть сконфигурировано, чтобы осуществлять эффективное аудиокодирование согласно одному примеру. Входной аудиосигнал 204 воспринимается микрофоном 206, усиливается усилителем 208 и преобразуется А/Ц преобразователем 210 в цифровой сигнал, который поступает на модуль 212 кодирования речи. Модуль 212 кодирования речи способен осуществлять многоуровневое (масштабированное) кодирование входного сигнала, где, по меньшей мере, один такой уровень предусматривает кодирование остатка (сигнала ошибки) в спектре МДКП. Модуль 212 кодирования речи может осуществлять кодирование согласно описанию, приведенному со ссылками на фиг.4, 5, 6, 7, 8, 9 и 10. Выходные сигналы модуля 212 кодирования речи можно передавать на модуль 214 кодирования тракта передачи, где осуществляется канальное декодирование, и результирующие выходные сигналы поступают на схему модуляции 216 и модулируются для передачи через Ц/А преобразователь 218 и РЧ усилитель 220 на антенну 222 для передачи кодированного аудиосигнала 224.
На фиг.3 показана блок-схема, демонстрирующая приемное устройство 302, которое может быть сконфигурировано, чтобы осуществлять эффективное аудиодекодирование согласно одному примеру. Кодированный аудиосигнал 304 принимается антенной 306 и усиливается РЧ усилителем 308 и передается через А/Ц преобразователь 310 на схему демодуляции 312, после чего демодулированные сигналы поступают на модуль декодирования тракта передачи 314. Выходной сигнал модуля декодирования тракта передачи 314 поступает на модуль 316 декодирования речи, способный осуществлять многоуровневое (масштабированное) декодирование входного сигнала, где, по меньшей мере, один такой уровень предусматривает декодирование остатка (сигнала ошибки) в спектре ОМДКП. Модуль декодирования речи 316 может осуществлять декодирование сигнала согласно описанию, приведенному со ссылками на фиг.11, 12 и 13. Выходные сигналы модуля 316 декодирования речи поступают на Ц/А преобразователь 318. Аналоговый речевой сигнал от Ц/А преобразователя 318 поступает через усилитель 320 на громкоговоритель 322 для обеспечения реконструированного выходного аудиосигнала 324.
Архитектура масштабируемого аудиокодека
Кодер 102 (фиг.1), декодер 108 (фиг.1), модуль 212 кодирования речи/аудио (фиг.2) и/или модуль 316 декодирования речи/аудио (фиг.3) можно реализовать в виде масштабируемого аудиокодека. Такой масштабируемый аудиокодек можно реализовать для обеспечения высокопроизводительного кодирования широкополосного речевого сигнала для каналов связи, подверженных ошибкам, с высоким качеством доставляемых кодированных узкополосных речевых сигналов или широкополосных аудио/музыкальных сигналов. Один подход к масштабируемому аудиокодеку состоит в обеспечении итерационных уровней кодирования, где сигнал ошибки (остаток) из одного уровня кодируется на следующем уровне для дополнительного улучшения аудиосигнала, закодированного на предыдущих уровнях. Например, линейное прогнозирование с возбуждением кодовой книгой (CELP) основано на концепции линейно-прогностического кодирования, согласно которой кодовая книга разных сигналов возбуждения поддерживается на кодере и декодере. Кодер находит наиболее подходящий сигнал возбуждения и передает его соответствующий индекс (из фиксированной, алгебраической и/или адаптивной кодовой книги) на декодер, который затем использует его для воспроизведения сигнала (на основании кодовой книги). Кодер осуществляет анализ через синтез путем кодирования с последующим декодированием аудиосигнала для создания реконструированного или синтезированного аудиосигнала. Затем кодер находит параметры, минимизирующие энергию сигнала ошибки, т.е. разности между исходным аудиосигналом и реконструированным или синтезированным аудиосигналом. Выходную битовую скорость можно регулировать с использованием того или иного количества уровней кодирования для согласования с требованиями канала и желаемым качеством аудиосигнала. Такой масштабируемый аудиокодек может включать в себя несколько уровней, где битовые потоки более высокого уровня можно отбрасывать, не оказывая влияния на декодирование более низких уровней.
Примеры существующих масштабируемых кодеков, которые используют такую многоуровневую архитектуру, включают в себя ITU-T Recommendation G.729.1 и развивающийся стандарт ITU-T, кодовое название G.EV-VBR. Например, кодек Embedded Variable Bit Rate (EV-VBR) можно реализовать в виде множественных уровней от L1 (основной уровень) до LX (где X - это номер самого высокого уровня расширения). Такой кодек может принимать как широкополосные (WB) сигналы с частотой дискретизации 16 кГц, так и узкополосные (NB) сигналы с частотой дискретизации 8 кГц. Аналогично, выход кодека может быть широкополосным или узкополосным.
В таблице 1 показана иллюстративная структура уровней для кодека (например, кодека EV-VBR), содержащая пять уровней от L1 (основного уровня) до L5 (самого высокого уровня расширения). Два нижних уровня (L1 и L2) могут основываться на алгоритме линейного прогнозирования с кодовым возбуждением (CELP). Основной уровень L1 может быть получен из алгоритма переменного многоскоростного широкополосного кодирования речи (VMR-WB) и может содержать несколько режимов кодирования, оптимизированных для разных входных сигналов. Таким образом, основной уровень L1 может классифицировать входные сигналы как лучшую модель аудиосигнала. Ошибка кодирования (остаток) из основного уровня L1 кодируется на уровне улучшение или расширения L2, на основании адаптивной кодовой книги и фиксированной алгебраической кодовой книги. Сигнал ошибки (остаток) из уровня L2 может дополнительно кодироваться на более высоких уровнях (L3-L5) в измерении преобразования с использованием модифицированного дискретного косинусного преобразования (МДКП). Дополнительную информацию можно передавать на уровне L3 для улучшения маскировки удаления кадров (FEC).
ТАБЛИЦА 1 | |||||
Уровень | Битовая скорость кбит/с | Метод | Частота дискретизации кГц | ||
L1 | 8 | Основной уровень CELP (классификация) | 12,8 | ||
L2 | +4 | Алгебраическая кодовая книга уровень (улучшение) | 12,8 | ||
L3 | +4 | FEC | МДКП | 12,8 | 16 |
L4 | +8 | МДКП | 16 | ||
L5 | +8 | МДКП | 16 |
Кодек основного уровня L1 является, по существу, кодеком на основе CELP и может быть совместим с одним из нескольких общеизвестных узкополосных или широкополосных вокодеров, как то Adaptive Multi-Rate (AMR), AMR Wideband (AMR-WB), Variable Multi-Rate Wideband (VMR-WB), кодек Enhanced Variable Rate (EVRC) или кодеки EVR Wideband (EVRC-WB).
Уровень 2 в масштабируемом кодеке может использовать кодовые книги для дополнительной минимизации перцепционно взвешенной ошибки кодирования (остатка) из основного уровня L1. Для улучшения маскировки удаления кадров (FEC) кодека дополнительную информацию можно вычислять и передавать на следующем уровне L3. Независимо от режима кодирования основного уровня дополнительная информация может включать в себя классификацию сигналов.
Предполагается, что для широкополосного выхода взвешенный сигнал ошибки после кодирования на уровне L2 кодируется с использованием преобразовательного кодирования на основе сложения с перекрытием, базирующегося на модифицированном дискретном косинусном преобразовании (МДКП) или аналогичном преобразовании. Таким образом, для кодированных уровней L3, L4, и/или L5 сигнал можно кодировать в спектре МДКП. Следовательно, обеспечивается эффективный способ кодирования сигнала в спектре МДКП.
Пример кодера
На фиг.4 показана блок-схема масштабируемого кодера 402 согласно одному примеру. На стадии предварительной обработки до кодирования, входной сигнал 404 подвергается высокочастотной фильтрации 406 для подавления нежелательных низкочастотных компонентов для создания фильтрованного входного сигнала SHP(n). Например, фильтр высоких частот 406 может иметь частоту среза 25 Гц для широкополосного входного сигнала и 100 Гц для узкополосного входного сигнала. Затем фильтрованный входной сигнал SHP(n) повторно дискретизируется модулем повторной дискретизации 408 для создания повторно дискретизированного входного сигнала S12,8(n). Например, исходный входной сигнал 404 можно дискретизировать на частоте 16 кГц и повторно дискретизировать до частоты 12,8 кГц, которая может быть внутренней частотой, используемой для кодирования на уровне L1 и/или L2. Затем модуль 410 введения предыскажений применяет фильтр высоких частот первого порядка для усиления более высоких частот (и ослабления низких частот) повторно дискретизированного входного сигнала S12,8(n). Затем результирующий сигнал поступает на модуль кодера/декодера 412, который может осуществлять кодирование на уровне L1 и/или L2 на основании алгоритма на основе линейного прогнозирования с кодовым возбуждением (CELP), где речевой сигнал моделируется сигналом возбуждения, проходящим через фильтр синтеза на основе линейного прогнозирования (LP), представляющий спектральную огибающую. Энергию сигнала можно вычислять для каждого перцепционного критического диапазона и использовать как часть кодирования на уровнях L1 и L2. Дополнительно, кодированный модуль кодера/декодера 412 также может синтезировать (реконструировать) версию входного сигнала. Таким образом, после того как модуль 412 кодера/декодера кодирует входной сигнал, он декодирует его, и модуль 416 удаления предыскажений и модуль повторной дискретизации 418 воссоздают версию ŝ2(n) входного сигнала 404. Остаточный сигнал x 2(n) генерируется путем вычисления разности 420 между исходным сигналом SHP(n) и воссозданным сигналом ŝ2(n) (т.е. x 2(n)=SHP(n)-ŝ2(n)). Затем остаточный сигнал x 2(n) перцепционно взвешивается модулем взвешивания 424 и преобразуется модулем 428 преобразования МДКП в спектр или измерение МДКП для генерации остаточного сигнала X 2(k). При осуществлении такого преобразования сигнал можно делить на блоки выборок, именуемые кадрами, и каждый кадр можно обрабатывать путем линейного ортогонального преобразования, например дискретного преобразования Фурье или дискретного косинусного преобразования, для получения коэффициентов преобразования, которые затем можно квантовать.
Затем остаточный сигнал X 2(k) поступает на спектральный кодер 432, который кодирует остаточный сигнал X 2(k) для создания кодированных параметров для уровней L3, L4 и/или L5. В одном примере, спектральный кодер 432 генерирует индекс, представляющий ненулевые спектральные линии (импульсы) в остаточном сигнале X 2(k).
Параметры из уровней L1-L5 можно передавать на передатчик и/или запоминающее устройство 436 в качестве выходного битового потока, который затем можно использовать для реконструкции или синтеза версии исходного входного сигнала 404 на декодере.
Уровень 1 - Кодирование на основе классификации: основной уровень L1 можно реализовать на модуле кодера/декодера 412 и можно использовать классификацию сигналов и четыре разных режима кодирования для повышения производительности кодирования. В одном примере, эти четыре разных класса сигналов, которые можно рассматривать для разных режимов кодирования каждого кадра, могут включать в себя: (1) невокализованное кодирование (UC) для невокализованных речевых кадров, (2) вокализованное кодирование (VC), оптимизированное для квазипериодических сегментов с плавной эволюцией основного тона, (3) переходный режим (TC) для кадров, следующих после вокализованных вступлений, предназначенный для минимизации распространения ошибки в случае удаления кадров, и (4) кодирование общего вида (GC) для других кадров. При невокализованном кодировании (UC), адаптивная кодовая книга не используется, и возбуждение выбирается из гауссовой кодовой книги. Квазипериодические сегменты кодируются в режиме вокализованного кодирования (VC). Выбор вокализованного кодирования кондиционируется плавной эволюцией основного тона. Режим вокализованного кодирования может использовать технологию ACELP. При переходном кодировании (TC) кадра, адаптивная кодовая книга в подкадре, содержащем гортанный импульс первого периода основного тона, заменяется фиксированной кодовой книгой.
На основном уровне L1 сигнал можно моделировать с использованием парадигмы на основе CELP, сигналом возбуждения, проходящим через фильтр синтеза на основе линейного прогнозирования (LP), представляющий спектральную огибающую. LP фильтр может квантовать в измерении частотного спектра иммитанса (ISF) с использованием подхода «страховочная сетка» и многостадийного векторного квантования (MSVQ) для общего и вокализованного режимов кодирования. Анализ основного тона в открытом цикле (OL) осуществляется согласно алгоритму отслеживания основного тона, чтобы гарантировать гладкий контур основного тона. Однако, для повышения надежности оценки основного тона, можно сравнивать два конкурирующих контура эволюции основного тона и выбирать маршрут, который дает более гладкий контур.
Два набора параметров LPC оцениваются и кодируются для каждого кадра в большинстве режимов с использованием периода анализа длительностью 20 мс, один для конца кадра и один для середины кадра. ISF середины кадра кодируются интерполяционным расщеплением VQ, причем коэффициент линейной интерполяции находится для каждой подгруппы ISF, что позволяет минимизировать разность между оценочными и интерполированными квантованными ISF. В одном примере, для квантования ISF-представления коэффициентов LP, два набора кодовых книг (соответствующие слабому и сильному прогнозу) можно искать параллельно, чтобы найти прогнозатор и элемент кодовой книги, минимизирующие искажение оценочной спектральной огибающей. Главной причиной такого подхода «страховочная сетка» является сокращение распространения ошибки, когда удаленные кадры совпадают с сегментами, где спектральная огибающая быстро эволюционирует. Для обеспечения дополнительной устойчивости ошибки слабый прогнозатор иногда задается равным нулю, что дает квантование без прогнозирования. Маршрут без прогнозирования всегда можно выбирать, когда его искажение квантования достаточно близко к искажению маршрута с прогнозированием или когда его искажение квантования достаточно мало для обеспечения прозрачного кодирования. Кроме того, при поиске кодовой книги с сильным прогнозированием выбирается вектор кода, близкий к оптимальному, если это не влияет на производительность чистого канала, но, предположительно, снижает распространение ошибки при наличии удаленных кадров. ISF кадров UC и TC дополнительно систематически квантуются без прогнозирования. Для кадров UC имеется достаточно битов для обеспечения очень хорошего спектрального квантования даже без прогнозирования. Кадры TC считаются слишком чувствительными к удалению кадров для прогнозирования, чтобы их использовать, несмотря на потенциальное снижение производительности чистого канала.
Для узкополосных (NB) сигналов оценка основного тона осуществляется с использованием возбуждения L2, сгенерированного с помощью неквантованных оптимальных коэффициентов усиления. Этот подход устраняет эффекты квантования коэффициента усиления и улучшает оценку отставания основного тона между уровнями. Для широкополосных (WB) сигналов используется стандартная оценка основного тона (возбуждение L1 с квантованными коэффициентами усиления).
Уровень 2 - Кодирование улучшения: На уровне L2 модуль кодера/декодера 412 может кодировать ошибку квантования из основного уровня L1, опять же, с использованием алгебраических кодовых книг. На уровне L2, кодер дополнительно изменяет адаптивную кодовую книгу, чтобы она включала в себя не только вклад L1, но и вклад L2. Адаптивное отставание основного тона одно и то же на L1 и L2 для поддержания синхронизации по времени между уровнями. Затем коэффициенты усиления адаптивной и алгебраической кодовых книг, соответствующих L1 и L2, повторно оптимизируются для минимизации перцепционно взвешенной ошибки кодирования. Обновленные коэффициенты усиления L1 и коэффициенты усиления L2 подвергаются векторному квантованию с прогнозированием в отношении коэффициентов усиления, уже квантованных на L1. Уровни CELP (L1 и L2) могут действовать на внутренней частоте дискретизации (например, 12,8 кГц). Таким образом, выходной сигнал уровня L2 включает в себя синтезированный сигнал, закодированный в частотном диапазоне 0-6,4 кГц. Для широкополосного выхода, расширение полосы AMR-WB можно использовать для генерации полосы пропуска 6,4-7 кГц.
Уровень 3 - Маскировка удаления кадра: для повышения производительности в условиях удаления кадров (FEC) модуль 414 маскировки ошибочных кадров может получать дополнительную информацию от модуля кодера/декодера 412 и использовать ее для генерации параметров уровня L3. Дополнительная информация может включать в себя информацию класса для всех режимов кодирования. Информация спектральной огибающей предыдущего кадра также может передаваться для переходного кодирования основного уровня. Для других режимов кодирования основного уровня также может передаваться фазовая информация и энергия синхронного основного тона синтезированного сигнала.
Уровни 3, 4, 5 - Кодирование с преобразованием: остаточный сигнал X 2(k), полученный в результате второго этапа кодирования CELP на уровне L2, можно квантовать на уровнях L3, L4 и L5 с использованием МДКП или аналогичного преобразования со структурой сложения с перекрытием. Таким образом, остаточный или “ошибочный” сигнал из предыдущего уровня используется на следующем уровне для генерации его параметров (которые предназначены для эффективного представления такой ошибки для передачи на декодер).
Коэффициенты МДКП можно квантовать с использованием нескольких способов. В ряде случаев, коэффициенты МДКП квантуются с использованием масштабируемого алгебраического векторного квантования. МДКП можно вычислять каждые 20 миллисекунд (мс), и его спектральные коэффициенты квантуются на 8-мерные блоки. Применяется аудиоочиститель (фильтр формообразования шума в измерении МДКП), выведенный из спектра исходного сигнала. Глобальные коэффициенты усиления передаются на уровне L3. Кроме того, несколько битов используется для высокочастотной компенсации. Остальные биты уровня L3 используются для квантования коэффициентов МДКП. Биты уровней L4 и L5 используются так, чтобы производительность была максимальной независимо на уровнях L4 и L5.
В некоторых реализациях, коэффициенты МДКП можно квантовать по-разному для аудиоматериалов с преобладанием речи и музыки. Различие между речевыми и музыкальными материалами основано на оценивании эффективност