Кодирование обобщенных аудиосигналов на низких скоростях передачи битов и с низкой задержкой

Иллюстрации

Показать все

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

Реферат

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

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

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

[0003] Речевой кодек предшествующего уровня техники может представлять чистый речевой сигнал с очень хорошим качеством со скоростью передачи битов приблизительно в 8 кбит/с и достигать прозрачности на скорости передачи битов в 16 кбит/с. Тем не менее на скоростях передачи битов ниже 16 кбит/с, речевые кодеки с низкой задержкой обработки, чаще всего кодирующие входной речевой сигнал во временной области, не являются подходящими для обобщенных аудиосигналов, таких как музыка и реверберирующая речь. Чтобы преодолевать этот недостаток, введены переключаемые кодеки, по существу с использованием подхода на основе временной области для кодирования входных сигналов с преобладанием речи и подхода на основе частотной области для кодирования обобщенных аудиосигналов. Тем не менее такие переключаемые решения типично требуют большей задержки обработки, необходимой как для классификации речи и музыки, так и для преобразования в частотную область.

[0004] Чтобы преодолевать вышеуказанный недостаток, предлагается более унифицированная модель временной области и частотной области.

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

[0005] Настоящее раскрытие сущности относится к устройству смешанного кодирования во временной области/частотной области для кодирования входного звукового сигнала, содержащему: модуль вычисления доли возбуждения во временной области в ответ на входной звуковой сигнал; модуль вычисления частоты отсечки для доли возбуждения во временной области в ответ на входной звуковой сигнал; фильтр, чувствительный к частоте отсечки, для регулирования частотного охвата доли возбуждения во временной области; модуль вычисления доли возбуждения в частотной области в ответ на входной звуковой сигнал; и сумматор фильтрованной доли возбуждения во временной области и доли возбуждения в частотной области, чтобы формировать смешанное возбуждение во временной области/частотной области, составляющее кодированную версию входного звукового сигнала.

[0006] Настоящее раскрытие сущности также относится к кодеру с использованием модели временной области и частотной области, содержащему: классификатор входного звукового сигнала в качестве речевого или неречевого; кодер только во временной области; вышеописанное устройство смешанного кодирования во временной области/частотной области; и модуль выбора одного из кодера только во временной области и устройства смешанного кодирования во временной области/частотной области для кодирования входного звукового сигнала в зависимости от классификации входного звукового сигнала.

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

[0008] Настоящее раскрытие сущности дополнительно относится к декодеру для декодирования звукового сигнала, кодированного с использованием одного из устройств смешанного кодирования во временной области/частотной области, как описано выше, содержащее: преобразователь смешанного возбуждения во временной области/частотной области во временную область; и синтезирующий фильтр для синтезирования звукового сигнала в ответ на смешанное возбуждение во временной области/частотной области, преобразованное во временную область.

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

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

[0011] Настоящее раскрытие сущности еще дополнительно относится к способу смешанного кодирования во временной области/частотной области для кодирования входного звукового сигнала, содержащему: вычисление доли возбуждения во временной области в ответ на входной звуковой сигнал, при этом вычисление доли возбуждения во временной области содержит обработку входного звукового сигнала в последовательных кадрах входного звукового сигнала и вычисление числа субкадров, которые должны быть использованы в текущем кадре входного звукового сигнала, при этом вычисление доли возбуждения во временной области также содержит использование в текущем кадре числа субкадров, вычисленного для текущего кадра; вычисление доли возбуждения в частотной области в ответ на входной звуковой сигнал; и суммирование доли возбуждения во временной области и доли возбуждения в частотной области, чтобы формировать смешанное возбуждение во временной области/частотной области, составляющее кодированную версию входного звукового сигнала.

[0012] В настоящем раскрытии сущности, дополнительно описан способ декодирования звукового сигнала, кодированного с использованием одного из способов смешанного кодирования во временной области/частотной области, как описано выше, содержащий: преобразование смешанного возбуждения во временной области/частотной области во временную область; и синтезирование звукового сигнала через синтезирующий фильтр в ответ на смешанное возбуждение во временной области/частотной области, преобразованное во временную область.

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

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

[0014] На прилагаемых чертежах:

[0015] Фиг.1 является принципиальной блок-схемой, иллюстрирующей общее представление улучшенного кодера на основе CELP (линейного прогнозирования с возбуждением по коду), например, кодера на основе ACELP (линейного прогнозирования с возбуждением по алгебраическому коду);

[0016] Фиг.2 является блок-схемой более подробной структуры улучшенного CELP-кодера по фиг.1;

[0017] Фиг.3 является блок-схемой общего представления модуля вычисления частоты отсечки;

[0018] Фиг.4 является блок-схемой более подробной структуры модуля вычисления частоты отсечки по фиг.3;

[0019] Фиг.5 является блок-схемой общего представления частотного квантователя; и

[0020] Фиг.6 является блок-схемой более подробной структуры частотного квантователя по фиг.5.

Подробное описание

[0021] Предложенная более унифицированная модель временной области и частотной области позволяет повышать качество синтеза для обобщенных аудиосигналов, таких как, например, музыка и/или реверберирующая речь без увеличения задержки обработки и скорости передачи битов. Эта модель работает, например, в области остатка линейного прогнозирования (LP), в которой доступные биты динамически выделяются для адаптивной таблицы кодирования, одной или более фиксированных таблиц кодирования (например, алгебраической таблицы кодирования, гауссовой таблицы кодирования и т.д.) и режима кодирования в частотной области, в зависимости от характеристик входного сигнала.

[0022] Чтобы достигать речевого кодека с низкой скоростью передачи битов и низкой задержкой обработки, который повышает качество синтеза обобщенных аудиосигналов, таких как музыка и/или реверберирующая речь, режим кодирования в частотной области может быть интегрирован максимально тесно с режимом кодирования во временной области на основе CELP (линейного прогнозирования с возбуждением по коду). С этой целью, режим кодирования в частотной области использует, например, преобразование частоты, выполняемое в области LP-остатка. Это обеспечивает переключение практически без артефакта от одного кадра, например, кадра в 20 мс, на другой. Кроме того, интеграция двух (2) режимов кодирования является достаточно тесной так, что она обеспечивает динамическое повторное выделение битового бюджета другому режиму кодирования, если определено то, что текущий режим кодирования не является достаточно эффективным.

[0023] Один признак предложенной более унифицированной модели временной области и частотной области представляет собой поддержку регулируемого времени компонента временной области, который варьируется от четверти кадра до полного кадра на покадровой основе, и называется субкадром. В качестве иллюстративного примера, кадр представляет 20 мс входного сигнала. Это соответствует 320 выборкам, если внутренняя частота дискретизации кодека составляет 16 кГц, или 256 выборкам на каждый кадр, если внутренняя частота дискретизации кодека составляет 12,8 кГц. В таком случае, четверть кадра (субкадр) представляет 64 или 80 выборок в зависимости от внутренней частоты дискретизации кодека. В следующем иллюстративном варианте осуществления, внутренняя частота дискретизации кодека составляет 12,8 кГц, предоставляя длину кадра в 256 выборок. Поддержка регулируемого времени позволяет захватывать главные временные события с минимальной скоростью передачи битов, чтобы создавать базовую долю возбуждения во временной области. На очень низкой скорости передачи битов поддержка времени обычно является целым кадром. В этом случае, доля временной области в сигнале возбуждения состоит только из адаптивной таблицы кодирования, и соответствующая информация основного тона с соответствующим коэффициентом усиления передаются один раз на каждый кадр. Когда доступна большая скорость передачи битов, можно захватывать больше временных событий посредством сокращения поддержки времени (и увеличения скорости передачи битов, выделяемой режиму кодирования во временной области). В конечном счете, когда поддержка времени является достаточно короткой (вплоть до четверти кадра), и доступная скорость передачи битов является достаточно высокой, доля временной области может включать в себя долю адаптивной таблицы кодирования, долю фиксированной таблицы кодирования или и то, и другое, с соответствующими коэффициентами усиления. Параметры, описывающие индексы и коэффициенты усиления таблиц кодирования, затем передаются для каждого субкадра.

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

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

[0026] Чтобы создавать полное возбуждение, которое более эффективно совпадает с входным остатком, применяется режим кодирования в частотной области. Признак в настоящем раскрытии сущности заключается в том, что кодирование в частотной области выполняется для вектора, который содержит разность между частотным представлением (преобразованием частоты) входного LP-остатка и частотным представлением (преобразованием частоты) фильтрованной доли возбуждения во временной области вплоть до частоты отсечки и который содержит частотное представление (преобразование частоты) входного LP-остатка непосредственно выше этой частоты отсечки. Сглаженный переход спектра вставляется между обоими сегментами чуть выше частоты отсечки. Другими словами, сначала обнуляется высокочастотная часть частотного представления доли возбуждения во временной области. Переходная область между неизменной частью спектра и обнуленной частью спектра вставляется чуть выше частоты отсечки, чтобы обеспечивать сглаженный переход между обеими частями спектра. Этот модифицированный спектр доли возбуждения во временной области затем вычитается из частотного представления входного LP-остатка. Результирующий спектр тем самым соответствует разности обоих спектров ниже частоты отсечки и частотному представлению LP-остатка выше ее с некоторой переходной областью. Частота отсечки, как упомянуто выше, может варьироваться между кадрами.

[0027] Безотносительно выбранного способа частотного квантования (режима кодирования в частотной области), всегда существует возможность опережающего эхо, особенно при длинных окнах. В этой технологии, используемые окна являются квадратными окнами, так что дополнительная длина окна по сравнению с кодированным сигналом является нулевой (0), т.е. суммирование с перекрытием не используется. Хотя это соответствует оптимальному окну для того, чтобы уменьшать любое потенциальное опережающее эхо, некоторое опережающее эхо при этом может быть слышимым при временных атаках. Предусмотрено множество технологий для того, чтобы разрешать такую проблему опережающего эхо, но настоящее раскрытие сущности предлагает простой признак для подавления этой проблемы опережающего эхо. Этот признак основан на режиме кодирования без запоминания во временной области, который получен из документа "Transition Mode" рекомендации ITU-T G.718; ссылочный документ [ITU-T Recommendation G.718 "Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s", июнь 2008 года, раздел 6.8.1.4 и раздел 6.8.4.2]. Идея в основе этого признака состоит в том, чтобы использовать преимущество того факта, что предложенная более унифицированная модель временной области и частотной области интегрируется в область LP-остатка, что обеспечивает переключение без артефакта практически в любое время. Когда сигнал считается обобщенным аудио (музыкой и/или реверберирующей речью), и когда временная атака обнаруживается в кадре, то только этот кадр кодируется с помощью этого специального режима кодирования без запоминания во временной области. Этот режим должен контролировать временные атаки, тем самым исключая опережающее эхо, которое может быть введено при кодировании в частотной области этого кадра.

Иллюстративный вариант осуществления

[0028] В предложенной более унифицированной модели временной области и частотной области, вышеуказанная адаптивная таблица кодирования, одна или более фиксированных таблиц кодирования (например, алгебраическая таблица кодирования, гауссова таблица кодирования и т.д.), т.е. так называемые таблицы кодирования во временной области, и квантование частотной области (режим кодирования в частотной области) могут рассматриваться в качестве библиотеки таблиц кодирования, и биты могут распределяться между всеми доступными таблицами кодирования или их поднабором. Это означает, например, что если входной звуковой сигнал является чистой речью, все биты должны выделяться режиму кодирования во временной области, по существу сокращая кодирование для унаследованной схемы CELP. С другой стороны, для некоторых музыкальных сегментов, все биты, выделяемые для того, чтобы кодировать входной LP-остаток, иногда лучше всего расходуются в частотной области, например, в области преобразования.

[0029] Как указано в вышеприведенном описании, временная поддержка для режимов кодирования временной области и частотной области не обязательно должна быть идентичной. Хотя биты, расходуемые на различные способы квантования во временной области (поиски в адаптивной и алгебраической таблице кодирования), обычно распределяются на основе субкадров (типично для четверти кадра или в 5 мс для поддержки времени), биты, выделяемые режиму кодирования в частотной области, распределяются на основе кадров (типично в 20 мс для поддержки времени), чтобы улучшать частотное разрешение.

[0030] Битовый бюджет, выделяемый режиму CELP-кодирования во временной области, также может динамически управляться в зависимости от входного звукового сигнала. В некоторых случаях, битовый бюджет, выделяемый режиму CELP-кодирования во временной области, может быть нулевым, что фактически означает то, что общий битовый бюджет приписывается режиму кодирования в частотной области. Выбор обработки в области LP-остатка для подходов на основе временной области и частотной области обладает двумя (2) основными преимуществами. Во-первых, он является совместимым с режимом CELP-кодирования, доказавшим свою эффективность при кодировании речевых сигналов. Следовательно, не вводятся артефакты вследствие переключения между двумя типами режимов кодирования. Во-вторых, меньшая динамика LP-остатка относительно исходного входного звукового сигнала и его относительная плоскостность упрощает использование квадратного окна для преобразований частоты, тем самым обеспечивая использование неперекрывающегося окна.

[0031] В неограничивающем примере, в котором внутренняя частота дискретизации кодека составляет 12,8 кГц (что означает 256 выборок на каждый кадр), аналогично рекомендации ITU-T G.718, длина субкадров, используемых в режиме CELP-кодирования во временной области, может варьироваться от типичной 1/4 длины кадра (5 мс) до половины кадра (10 мс) или длины полного кадра (20 мс). Решение по длине субкадра основано на доступной скорости передачи битов и на анализе входного звукового сигнала, в частности, на спектральной динамике этого входного звукового сигнала. Решение по длине субкадра может приниматься в режиме с замкнутым контуром. Чтобы снижать сложность, также можно базировать решение по длине субкадра на режиме с разомкнутым контуром. Длина субкадра может быть изменена между кадрами.

[0032] После того как длина субкадров выбирается в конкретном кадре, выполняется стандартный анализ основного тона с замкнутым контуром, и первая доля в сигнале возбуждения выбирается из адаптивной таблицы кодирования. Затем, в зависимости от доступного битового бюджета и характеристик входного звукового сигнала (например, в случае входного речевого сигнала), вторая доля из одной или нескольких фиксированных таблиц кодирования может добавляться перед кодированием в области преобразования. Результирующее возбуждение называется долей возбуждения во временной области. С другой стороны, на очень низких скоростях передачи битов и в случае обобщенного аудио, зачастую лучше пропускать стадию фиксированной таблицы кодирования и использовать все оставшиеся биты для режима кодирования в области преобразования. Режим кодирования в области преобразования может быть, например, режимом кодирования в частотной области. Как описано выше, длина субкадра может иметь длину в одну четверть кадра, в одну половину кадра или в один кадр. Доля фиксированной таблицы кодирования используется только в том случае, если длина субкадра равна одной четверти длины кадра. В случае если длина субкадра определяется как составляющая половину кадра или целый кадр, то только доля адаптивной таблицы кодирования используется для того, чтобы представлять возбуждение во временной области, и все оставшиеся биты выделяются режиму кодирования в частотной области.

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

[0034] Частота отсечки оценивается в частотной области. Чтобы вычислять частоту отсечки, спектры как LP-остатка, так и кодированной доли временной области сначала разбиваются на предварительно заданное число полос частот. Число полос частот и число элементов разрешения по частоте, покрываемых посредством каждой полосы частот, могут варьироваться между реализациями. Для каждой из полос частот нормализованная корреляция вычисляется между частотным представлением доли возбуждения во временной области и частотным представлением LP-остатка, и корреляция сглаживается между смежными полосами частот. Корреляции на каждую полосу частот являются более низкими с ограничением 0,5 и нормализуются между 0 и 1. Средняя корреляция затем вычисляется в качестве среднего корреляций для всех полос частот. Для цели первой оценки частоты отсечки средняя корреляция затем масштабируется между 0 и половиной частоты дискретизации (при этом половина частоты дискретизации соответствует значению нормализованной корреляции в 1). Первая оценка частоты отсечки затем находится в качестве верхней границы полосы частот, являющейся ближайшей к этому значению. В примере реализации, шестнадцать (16) полос частот в 12,8 кГц задаются для вычисления корреляции.

[0035] С использованием преимущества психоакустических свойств человеческого уха, повышается надежность оценки частоты отсечки посредством сравнения оцененной позиции частоты 8-ой гармоники основного тона с частотой отсечки, оцененной посредством вычисления корреляции. Если эта позиция выше частоты отсечки, оцененной посредством вычисления корреляции, частота отсечки модифицируется так, что она соответствует позиции частоты 8-ой гармоники основного тона. Конечное значение частоты отсечки затем квантуется и передается. В примере реализации, 3 или 4 бита используются для такого квантования, давая 8 или 16 возможных частот отсечки в зависимости от скорости передачи битов.

[0036] После того, как известна частота отсечки, выполняется частотное квантование доли возбуждения в частотной области. Сначала определяется разность между частотным представлением (преобразованием частоты) входного LP-остатка и частотным представлением (преобразованием частоты) доли возбуждения во временной области. Затем создается новый вектор, состоящий из этой разности вплоть до частоты отсечки и плавного перехода в частотное представление входного LP-остатка для оставшегося спектра. Частотное квантование затем применяется к совершенно новому вектору. В примере реализации, квантование состоит в кодировании знака и позиции преобладающих (наиболее энергетических) спектральных импульсов. Число импульсов, которые должны быть квантованы на каждую полосу частот, связано со скоростью передачи битов, доступной для режима кодирования в частотной области. Если доступно недостаточно битов для того, чтобы покрывать все полосы частот, оставшиеся полосы частот заполняются только шумом.

[0037] Частотное квантование полосы частот с использованием способа квантования, описанного в предыдущем абзаце, не гарантирует, что все элементы разрешения по частоте в этой полосе частот квантуются. Это является, в частности, истинным на низких скоростях передачи битов, на которых число импульсов, квантованных на каждую полосу частот, является относительно низким. Чтобы предотвращать появление звуковых артефактов вследствие этих неквантованных элементов разрешения, добавляется некоторый шум для того, чтобы заполнять эти интервалы отсутствия сигнала. Поскольку на низких скоростях передачи битов квантованные импульсы должны преобладать в спектре над вставленным шумом, амплитуда спектра шума соответствует только части амплитуды импульсов. Амплитуда добавленного шума в спектре является более высокой, когда доступный битовый бюджет является низким (обеспечивая больший шум), и более низкой, когда доступный битовый бюджет является высоким.

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

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

1) Классификация типов звуков

[0040] Фиг.1 является принципиальной блок-схемой, иллюстрирующей общее представление улучшенного CELP-кодера 100, например, ACELP-кодера. Конечно, другие типы улучшенных CELP-кодеров могут быть реализованы с использованием идентичного принципа. Фиг.2 является принципиальной блок-схемой более подробной структуры улучшенного CELP-кодера 100.

[0041] CELP-кодер 100 содержит препроцессор 102 (фиг.1) для анализа параметров входного звукового сигнала 101 (фиг.1 и 2). Ссылаясь на фиг.2, препроцессор 102 содержит LP-анализатор 201 входного звукового сигнала 101, спектральный анализатор 202, анализатор 203 основного тона с разомкнутым контуром и классификатор 204 сигналов. Анализаторы 201 и 202 выполняют LP- и спектральный анализ, обычно выполняемый при CELP-кодировании, как описано, например, в рекомендации ITU-T G.718, разделы 6.4 и 6.1.4, и, следовательно, не описываются дополнительно в настоящем раскрытии сущности.

[0042] Препроцессор 102 осуществляет первый уровень анализа, чтобы классифицировать входной звуковой сигнал 101 между речевым и неречевым (обобщенное аудио (музыка или реверберирующая речь)), например, способом, аналогичным способу, описанному в ссылочном документе [T.Vaillancourt et al., "Inter-tone noise reduction in the low bit rate CELP decoder", Proc. IEEEICASSP, Тайбэй, Тайвань, апрель 2009 года, стр.4113-16], содержимое которого полностью содержится в данном документе по ссылке, или с помощью любых других надежных способов различения речевых/неречевых сигналов.

[0043] После этого первого уровня анализа препроцессор 102 выполняет второй уровень анализа параметров входного сигнала, чтобы обеспечивать использование CELP-кодирования во временной области (без кодирования в частотной области) для некоторых звуковых сигналов с сильными неречевыми характеристиками, которые при этом еще лучше кодируются с помощью подхода на основе временной области. Когда возникает важное изменение энергии, этот второй уровень анализа дает возможность CELP-кодеру 100 переключаться в режим кодирования без запоминания во временной области, в общем, называемый переходным режимом в ссылочном документе [Eksler, V. и Jelinek, M. (2008), "Transition mode coding for source controlled CELP codecs", IEEE Proceedings of International Conference on Acoustics, Speech and Signal Processing, март-апрель, стр.4001-40043], содержимое которого полностью содержится в данном документе по ссылке.

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

,

где:

является сглаженной корреляцией основного тона с разомкнутым контуром, заданной следующим образом:

является корреляцией основного тона с разомкнутым контуром, вычисленной посредством анализатора 203 с использованием способа, известного специалистам в данной области техники CELP-кодирования, например, как описано в рекомендации ITU-T G.718, раздел 6.6;

является средним по последним 10 кадрам сглаженной корреляции основного тона с разомкнутым контуром;

является изменением сглаженной корреляции основного тона с разомкнутым контуром.

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

[0046] В качестве первой верификации того, должно или нет использоваться смешанное кодирование во временной области/частотной области, классификатор 204 сигналов вычисляет разность между текущей полной энергией кадра и предыдущей полной энергией кадра. Когда разность между текущей полной энергией кадра и предыдущей полной энергией кадра выше 6 дБ, это соответствует так называемой "временной атаке" во входном звуковом сигнале. В таком случае, решение относительно речевых/неречевых сигналов и выбранный режим кодирования перезаписываются, и предписывается режим кодирования без запоминания во временной области. Более конкретно, улучшенный CELP-кодер 100 содержит модуль 103 выбора кодирования только во времени/во времени и по частоте (фиг.1), непосредственно содержащий модуль 205 выбора речи/ обобщенного аудио (фиг.2), детектор 208 временных атак (фиг.2) и модуль 206 выбора режима кодирования без запоминания во временной области. Другими словами, в ответ на определение неречевого сигнала (обобщенного аудио) посредством модуля 205 выбора и обнаружения временной атаки во входном звуковом сигнале посредством детектора 208, модуль 206 выбора предписывает CELP-кодеру 207 с замкнутым контуром (фиг.2) использовать режим кодирования без запоминания во временной