Поддиапазонный речевой кодекс с многокаскадными таблицами кодирования и избыточным кодированием

Иллюстрации

Показать все

Изобретение относится к аудиокодекам, в частности к поддиапазонному кодированию, таблицам кодирования и/или избыточному кодированию. Описаны способы и средства, связанные с кодированием и декодированием аудиоинформации. Например, избыточная кодированная информация для декодирования текущего кадра включает в себя информацию предыстории сигнала, связанную только с частью предыдущего кадра. В качестве другого примера избыточная кодированная информация для декодирования кодированного блока включает в себя параметры для каскада таблицы кодирования, который должен быть использован при декодировании текущего кодированного блока, только если предыдущий кодированный блок недоступен. В качестве другого примера каждый кодированный аудиоблок включает в себя поле, указывающее то, включает ли в себя кодированный блок основную кодированную информацию, представляющую сегмент аудиосигнала, и включает ли в себя кодированный блок избыточную кодированную информацию для использования при декодировании основной кодированной информации. Технический результат - обеспечение максимального качества сигнала для данной скорости передачи битов и устойчивости к ошибкам передачи. 5 н. и 17 з.п. ф-лы, 12 ил., 4 табл.

Реферат

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

Описанные средства и способы относятся к аудиокодекам, в частности к поддиапазонному кодированию, таблицам кодирования и/или избыточному кодированию.

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

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

I. Представление аудиоинформации в компьютере

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

Глубина выборки (или точность) указывает диапазон чисел, используемых для того, чтобы представлять выборку. Более вероятные значения для каждой выборки в типичном варианте предоставляют результат более высокого качества, поскольку могут представляться более незначительные вариации амплитуды. 8-битовая выборка имеет 256 возможных значений, тогда как 16-битовая выборка имеет 65536 возможных значений.

Частота дискретизации (обычно измеряемая как число выборок в секунду) также влияет на качество. Чем выше частота дискретизации, тем выше качество, поскольку больше частот звука может быть представлено. Некоторыми стандартными частотами дискретизации являются 8000, 11025, 22050, 32000, 44100, 48000 и 96000 выборок/сек (Гц). Табл.1 иллюстрирует несколько форматов аудио с различными уровнями качества наряду с соответствующими издержками на необработанную скорость передачи битов.

Таблица 1
Скорости передачи битов для аудио различного качества
Глубина выборки (битов/выборка) Частота дискретизации (выборок/сек) Режим канала Необработанная скорость передачи битов (битов/сек)
8 800 моно 64000
8 11025 моно 88200
16 44100 стерео 1411200

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

II. Речевые кодеры и декодеры

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

Различные виды аудиосигналов имеют различные характеристики. Музыка характеризуется большими диапазонами частот и амплитуд и зачастую включает в себя два или более каналов. С другой стороны, речь отличается меньшими диапазонами частот и амплитуд и зачастую представляется в одном канале. Определенные кодеки и методы обработки приспособлены для музыки и общего аудио; другие кодеки и методы обработки приспособлены для речи.

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

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

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

A. Узкополосные и широкополосные кодеки

Многие стандартные речевые кодеки разработаны для узкополосных сигналов с частотой дискретизации 8 кГц. Хотя частоты дискретизации в 8 кГц достаточно во многих случаях, более высокие частоты дискретизации могут быть желательными в других ситуациях, с тем чтобы представлять более высокие частоты.

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

B. Неэффективная зависимость от памяти в динамических сетевых режимах

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

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

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

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

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

В сущности, подробное описание направлено на различные методы и средства для аудиокодеков и, в частности, на средства и методы, связанные с поддиапазонным кодированием, таблицами кодирования аудиокодеков и/или избыточным кодированием. Описанные варианты осуществления реализуют один или более из описанных методов и средств, включающих в себя, но не только, следующее.

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

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

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

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

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

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

Различные методы и средства могут быть использованы в комбинации или независимо.

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

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

Фиг.1 - это блок-схема подходящего вычислительного окружения, в котором могут быть реализованы один или более описанных вариантов осуществления.

Фиг.2 - это блок-схема сетевого окружения, в сочетании с которым могут быть реализованы один или более описанных вариантов осуществления.

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

Фиг.4 - это принципиальная схема речевого полосового кодера реального времени, в сочетании с которым могут быть реализованы один или более описанных вариантов осуществления.

Фиг.5 - это блок-схема последовательности операций способа, иллюстрирующая определение параметров таблицы кодирования в одной реализации.

Фиг.6 - это блок-схема речевого полосового декодера реального времени, в сочетании с которым могут быть реализованы один или более описанных вариантов осуществления.

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

Фиг.8 - это блок-схема последовательности операций способа, иллюстрирующая определение параметров таблицы кодирования для дополнительного каскада произвольной таблицы кодирования в одной реализации.

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

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

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

Подробное описание изобретения

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

Данные методы и средства могут включать в себя кодирование и/или декодирование поддиапазонов с помощью методов линейного предсказания, таких как CELP.

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

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

Хотя операции для различных методов описаны в конкретном последовательном порядке в целях представления, следует понимать, что этот способ описания заключает в себя незначительные перекомпоновки порядка операций, если конкретный порядок не является обязательным. Например, операции, описанные последовательно, в некоторых случаях могут быть перекомпонованы или выполнены параллельно. Более того, для простоты блок-схемы последовательности операций способа могут не показывать различные варианты, которыми конкретные методы могут быть использованы совместно с другими методами.

I. Вычислительное окружение

Фиг.1 иллюстрирует обобщенный пример схемы подходящей вычислительной среды (100), в которой могут быть реализованы один или более описанных вариантов осуществления. Вычислительная среда 100 не предназначена для того, чтобы накладывать какое-либо ограничение на объем использования или функциональность изобретения, поскольку настоящее изобретение может быть реализовано в различных вычислительных окружениях общего или специального назначения.

Согласно фиг.1 вычислительная среда (100) включает в себя, по меньшей мере, один блок (110) обработки и память (120). На фиг.1 эта самая базовая конфигурация (130) показана пунктирной линией. Блок (110) обработки приводит в исполнение машиноисполняемые инструкции и может быть реальным или виртуальным процессором. В многопроцессорной системе несколько блоков обработки приводят в исполнение машиноисполняемые инструкции, чтобы повысить вычислительную мощность. Памятью (120) может быть энергозависимая память (к примеру, регистры, кэш, ОЗУ), энергонезависимая память (к примеру, ПЗУ, ЭСППЗУ, флэш-память и т.д.) или какое-либо их сочетание. Память (120) сохраняет программное обеспечение (180), реализующее методы поддиапазонного кодирования, многокаскадных таблиц кодирования и/или избыточного кодирования для речевого кодера либо декодера.

Вычислительная среда (100) может иметь дополнительные признаки. На фиг.1 вычислительная среда (100) включает в себя устройство (140) хранения, одно или более устройств (150) ввода, одно или более устройств (160) вывода и одно или более соединений (170) связи. Механизм межкомпонентного соединения (не показан), такой как шина, контроллер или сеть соединяет между собой компоненты вычислительной среды (100). В типичном варианте программное обеспечение операционной системы (не показано) предоставляет операционную среду для другого программного обеспечения, приводимого в исполнение в вычислительной среде (100), и координирует действия компонентов вычислительной среды (100).

Устройство (140) хранения может быть съемным или стационарным и может включать в себя магнитные диски, магнитные ленты или кассеты, CD-ROM, CD-RW, DVD или любой другой носитель, который может быть использован, чтобы сохранять информацию, и к которому можно осуществлять доступ в рамках вычислительной среды (100). Устройство (140) хранения сохраняет инструкции для программного обеспечения (180).

Устройством(ами) (150) ввода может быть устройство сенсорного ввода, такое как клавиатура, мышь, перо или шаровой манипулятор, устройство голосового ввода, устройство сканирования, сетевой адаптер или другое устройство, которое предоставляет ввод в вычислительную среду (100). Для аудио устройством(ами) (150) ввода может быть звуковая плата, микрофон или другое устройство, которое принимает входной аудиосигнал в аналоговой или цифровой форме, либо устройство считывания CD/DVD, которое предоставляет аудиовыборки вычислительной среде (100). Устройством(ами) (160) вывода может быть дисплей, принтер, динамик, пишущее устройство CD/DVD, сетевой адаптер или другое устройство, которое предоставляет вывод из вычислительной среды (100).

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

Изобретение может быть описано в общем контексте машиночитаемых носителей. Машиночитаемые носители - это любые доступные носители, к которым можно осуществлять доступ в вычислительной среде. В качестве примера, а не ограничения, в вычислительной среде (100) машиночитаемые носители включают в себя память (120), устройство (140) хранения, среду обмена данными и комбинации любых вышеозначенных элементов.

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

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

II. Обобщенное сетевое окружение и речевой кодек реального времени

Фиг.2 - это блок-схема обобщенного сетевого окружения (200), в сочетании с которым могут быть реализованы один или более описанных вариантов осуществления. Сеть (250) отделяет различные компоненты стороны кодера от различных компонентов стороны декодера.

Первичными функциями компонентов стороны кодера и стороны декодера является кодирование и декодирование речи соответственно. На стороне кодера входной буфер (210) принимает и сохраняет речевой входной сигнал (202). Речевой кодер (230) принимает речевой входной сигнал (202) из входного буфера (210) и кодирует его.

В частности, разделитель (212) кадров разделяет выборки речевого входного сигнала (202) на кадры. В одной реализации кадры имеют одинаковую длину в 20 мс - 160 выборок для входа в 8 кГц и 320 выборок для входа в 16 кГц. В других реализациях кадры имеют различную продолжительность, являются неоднородными и перекрывающимися и/или частота дискретизации входного сигнала (202) различная. Кадры могут быть организованы в суперкадр/кадр, кадр/субкадр или другую конфигурацию для различных каскадов кодирования и декодирования.

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

Входной речевой сигнал может быть разделен на поддиапазонные сигналы до применения модели кодирования, такой как модель CELP-кодирования, к информации поддиапазона для кадра. Это может осуществляться с помощью одной или более групп фильтров анализа (таких как QMF-фильтры анализа) (216). Например, если должна быть использована трехдиапазонная структура, то полоса нижних частот может быть отделена посредством прохождения сигнала через фильтр нижних частот. Аналогично высокая полоса может быть отделена посредством прохождения сигнала через фильтр верхних частот. Средняя полоса может быть отделена посредством передачи сигнала через полосовой фильтр, который может включать в себя фильтр нижних частот и фильтр верхних частот последовательно. Альтернативно могут быть использованы другие типы компоновок фильтров для разделения на поддиапазоны и/или временных характеристик фильтрации (к примеру, до распределения кадров). Если только одна полоса должна быть декодирована для части сигнала, эта часть может обходить группы (216) фильтров анализа. CELP-кодирование в типичном варианте имеет более высокую эффективность кодирования, чем ADPCM и MLT для речевых сигналов.

Число полос n может быть определено посредством частоты дискретизации. Например, в одной реализации однодиапазонная структура используется для частоты дискретизации 8 кГц. Для частот дискретизации 16 кГц и 22,05 кГц может быть использована трехдиапазонная структура, как показано на фиг.3. В трехдиапазонной структуре по фиг.3 полоса (310) низших частот занимает половину полной полосы F пропускания (от 0 до 0,5 F). Другая половина полосы пропускания поделена равномерно между средней полосой (320) и верхней полосой (330). Вблизи пересечений полос частотная характеристика для полосы может постепенно снижаться от уровня пропускания до уровня заграждения, что характеризуется ослаблением сигнала на обеих сторонах по мере того, как достигается пересечение. Другие разделения полосы пропускания частот также могут быть использованы. Например, для частоты дискретизации в 32 кГц может быть использована равномерно распределенная четырехдиапазонная структура.

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

На фиг.2 каждый поддиапазон кодируется отдельно, как проиллюстрировано посредством компонентов (232, 234) кодирования. Хотя компоненты (232, 234) диапазонного кодирования показаны отдельно, кодирование всех может осуществляться посредством одного кодера или они могут кодироваться посредством отдельных кодеров. Это диапазонное кодирование подробнее описывается ниже со ссылкой на фиг.4. Альтернативно кодек может работать как однодиапазонный кодер.

Результирующая кодированная речь предоставляется в программное обеспечение для одного или более уровней (240) организации сетей посредством мультиплексора (MUX) (236). Уровни (240) организации сетей обрабатывают кодированную речь для передачи по сети (250). Например, программное обеспечение сетевого уровня упаковывает кадры информации кодированной речи в пакеты, которые соответствуют RTP-протоколу, которые передаются по Интернету с помощью UDP, IP и различных протоколов физического уровня. Альтернативно используются другие и/или дополнительные уровни программного обеспечения или протоколов организации сетей. Сеть (250) - это глобальная вычислительная сеть с коммутацией пакетов, например Интернет. Альтернативно сеть (250) - это локальная вычислительная сеть или другой тип сети.

На стороне декодера программное обеспечение для одного или более уровней (260) организации сетей принимает и обрабатывает передаваемые данные. Протоколы сетевого, транспортного и более высоких уровней и программное обеспечение на уровне(ях) (260) организации сетей декодера обычно соответствуют протоколам на уровне(ях) (240) организации сетей кодера. Уровень(и) организации сетей предоставляют речевую кодированную информацию речи в речевой кодер (270) посредством демультиплексора (DEMUX) (276). Декодер (270) декодирует каждый из поддиапазонов отдельно, как проиллюстрировано в модулях (272, 274) декодирования. Все поддиапазоны могут декодироваться посредством отдельного декодера или могут декодироваться посредством отдельных диапазонных декодеров.

Декодированные поддиапазоны затем синтезируются в последовательности из одной или более групп синтезирующих фильтров (таких как синтезирующие QMF-фильтры) (280), которые выводят декодированную речь (292). Альтернативно используются другие типы компоновок фильтров для поддиапазонного синтеза. Если имеется только одна полоса, то декодированная полоса может обходить группы (280) фильтров.

Декодированный речевой выходной сигнал (292) также может передаваться через один или более пост-фильтров (284), чтобы повысить качество результирующего отфильтрованного речевого выходного сигнала (294). Так же каждый диапазон может отдельно проходить через один или более пост-фильтров до входа в группы (280) фильтров.

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

Помимо этих первичных функций кодирования и декодирования компоненты также могут совместно использовать информацию (показанную пунктирными линиями на фиг.2), чтобы контролировать скорость, качество и/или устойчивость к помехам кодированной речи. Контроллер (220) скорости учитывает множество факторов, таких как сложность текущего ввода во входной буфер (210), заполненность выходных буферов в кодере (230) или в другом месте, требуемая скорость вывода, текущая полоса пропускания сети, режимы перегруженности/шума сети и/или скорость потерь декодера. Декодер (270) отправляет обратно информацию скорости потерь декодера в контроллер (220) скорости. Уровни (240, 260) организации сетей собирают или оцен