УСТРОЙСТВО И СПОСОБ ДЛЯ КВАНТОВАНИЯ УСИЛЕНИЙ АДАПТИВНОГО И ФИКСИРОВАННОГО ВКЛАДОВ ВОЗБУЖДЕНИЯ В КОДЕКЕ CELP
DEVICE AND METHOD FOR ADAPTIVE REINFORCEMENTS AND FIXED COMPONENTS OF EXCITATION IN CELP CODEC

Область техники, к которой относится изобретение
Настоящее раскрытие относится к квантованию усиления фиксированного вклада возбуждения в кодированном звуковом сигнале. Настоящее раскрытие также относится к совместному квантованию усилений адаптивного и фиксированного вкладов возбуждения.
Уровень техники
В кодере структуры кодека, например структуры кодека CELP (линейного предсказания с кодовым возбуждением), такой как ACELP (линейное предсказание с алгебраическим кодовым возбуждением), входная речь или аудиосигнал (звуковой сигнал) обрабатывается в коротких сегментах, называемых кадрами. Чтобы захватывать быстро изменяющиеся свойства входного звукового сигнала, каждый кадр дополнительно разделяется на подкадры. Структура кодека CELP также создает вклады возбуждения адаптивной кодовой книги и фиксированной кодовой книги, которые складываются, чтобы формировать полное возбуждение. Усиления, относящиеся к вкладам возбуждения адаптивной и фиксированной кодовых книг, квантуются и передаются в декодер вместе с другими параметрами кодирования. Вклад адаптивной кодовой книги и вклад фиксированной кодовой книги в возбуждение будут указываться как "адаптивный вклад" и "фиксированный вклад" возбуждения во всем документе.
Имеется необходимость в способе для квантования усилений адаптивного и фиксированного вкладов возбуждения, которые улучшают устойчивость кодека против стираний кадров или потерь пакетов, которые могут происходить в течение передачи параметров кодирования от кодера к декодеру.
Сущность изобретения
Согласно первому аспекту настоящее раскрытие относится к устройству для квантования усиления фиксированного вклада возбуждения в кадре, включающем в себя подкадры, кодированного звукового сигнала, содержащему: вход для параметра, представляющего классификацию кадра; модуль оценивания усиления фиксированного вклада возбуждения в подкадре кадра, при этом в модуль оценивания предоставляется параметр, представляющий классификацию кадра; и предсказывающий квантователь усиления фиксированного вклада возбуждения в подкадре, использующий оцененное усиление.
Настоящее раскрытие также относится к способу для квантования усиления фиксированного вклада возбуждения в кадре, включающем в себя подкадры, кодированного звукового сигнала, содержащему: прием параметра, представляющего классификацию кадра; оценку усиления фиксированного вклада возбуждения в подкадре кадра с использованием параметра, представляющего классификацию кадра; и предсказывающее квантование усиления фиксированного вклада возбуждения в подкадре, использующее оцененное усиление.
Согласно третьему аспекту обеспечивается устройство для совместного квантования усилений адаптивного и фиксированного вкладов возбуждения в кадре кодированного звукового сигнала, содержащее: модуль квантования усиления адаптивного вклада возбуждения; и вышеописанное устройство для квантования усиления фиксированного вклада возбуждения.
Настоящее раскрытие дополнительно относится к способу для совместного квантования усилений адаптивного и фиксированного вкладов возбуждения в кадре кодированного звукового сигнала, содержащему: квантование усиления адаптивного вклада возбуждения; и квантование усиления фиксированного вклада возбуждения с использованием вышеописанного способа.
Согласно пятому аспекту обеспечивается устройство для извлечения квантованного усиления фиксированного вклада возбуждения в подкадре кадра, содержащее: приемник индекса кодовой книги усилений; модуль оценивания усиления фиксированного вклада возбуждения в подкадре, при этом в модуль оценивания предоставляется параметр, представляющий классификацию кадра; кодовую книгу усилений для предоставления коэффициента коррекции в ответ на индекс кодовой книги усилений; и модуль умножения оцененного усиления на коэффициент коррекции, чтобы обеспечивать квантованное усиление фиксированного вклада возбуждения в подкадре.
Настоящее раскрытие также относится к способу для извлечения квантованного усиления фиксированного вклада возбуждения в подкадре кадра, содержащему: прием индекса кодовой книги усилений; оценку усиления фиксированного вклада возбуждения в подкадре, с использованием параметра, представляющего классификацию кадра; предоставление из кодовой книги усилений и для подкадра коэффициента коррекции в ответ на индекс кодовой книги усилений; и умножение оцененного усиления на коэффициент коррекции, чтобы обеспечивать квантованное усиление фиксированного вклада возбуждения в упомянутом подкадре.
Настоящее раскрытие еще дополнительно относится к устройству для извлечения квантованных усилений адаптивного и фиксированного вкладов возбуждения в подкадре кадра, содержащему: приемник индекса кодовой книги усилений; модуль оценивания усиления фиксированного вклада возбуждения в подкадре, при этом в модуль оценивания предоставляется параметр, представляющий классификацию кадра; кодовую книгу усилений для предоставления квантованного усиления адаптивного вклада возбуждения и коэффициента коррекции для подкадра в ответ на индекс кодовой книги усилений; и модуль умножения оцененного усиления на коэффициент коррекции, чтобы обеспечивать квантованное усиление фиксированного вклада возбуждения в подкадре.
Согласно дополнительному аспекту раскрытие описывает способ для извлечения квантованных усилений адаптивного и фиксированного вкладов возбуждения в подкадре кадра, содержащий: прием индекса кодовой книги усилений; оценку усиления фиксированного вклада возбуждения в подкадре с использованием параметра, представляющего классификацию кадра; предоставление из кодовой книги усилений и для подкадра квантованного усиления адаптивного вклада возбуждения и коэффициента коррекции в ответ на индекс кодовой книги усилений; и умножение оцененного усиления на коэффициент коррекции, чтобы обеспечивать квантованное усиление фиксированного вклада возбуждения в подкадре.
Предшествующие и другие признаки станут более ясными после прочтения последующего неограничительного описания иллюстративных вариантов осуществления, приведенных только для примера, со ссылкой на сопровождающие чертежи.
Краткое описание чертежей
На прилагаемых чертежах:
Фиг. 1 является схематической диаграммой, описывающей структуру фильтрованного возбуждения в основанном на CELP кодере;
Фиг. 2 является схематической блок-схемой, описывающей модуль оценивания усиления фиксированного вклада возбуждения в первом подкадре каждого кадра;
Фиг. 3 является схематической блок-схемой, описывающей модуль оценивания усиления фиксированного вклада возбуждения во всех подкадрах, следующих за первым подкадром;
Фиг. 4 является схематической блок-схемой, описывающей конечный автомат, в котором коэффициенты оценки вычисляются и используются для построения кодовой книги усилений для каждого подкадра;
Фиг. 5 является схематической блок-схемой, описывающей модуль квантования усиления; и
Фиг. 6 является схематической блок-схемой другого варианта осуществления модуля квантования усиления, эквивалентного модулю квантования усиления из фиг. 5.
Подробное описание
В последующем описывается квантование усиления фиксированного вклада возбуждения в кодированном звуковом сигнале, а также совместное квантование усилений адаптивного и фиксированного вкладов возбуждения. Квантование может применяться к любому количеству подкадров и использоваться с любой входной речью или аудиосигналом (входным звуковым сигналом), дискретизированным с любой произвольной частотой дискретизации. Также усиления адаптивного и фиксированного вкладов возбуждения квантуются без необходимости межкадрового предсказания. Отсутствие межкадрового предсказания дает результатом улучшение устойчивости против стираний кадров или потерь пакетов, которые могут происходить в течение передачи кодированных параметров.
Усиление адаптивного вклада возбуждения квантуется напрямую, тогда как усиление фиксированного вклада возбуждения квантуется посредством оцененного усиления. Оценка усиления фиксированного вклада возбуждения основывается на параметрах, которые существуют как в кодере, так и в декодере. Эти параметры вычисляются в течение обработки текущего кадра. Таким образом, не требуется информации из предыдущего кадра в ходе квантования или декодирования, что, как упомянуто выше, улучшает устойчивость кодека против стираний кадров.
Хотя последующее описание ссылается на структуру кодека CELP (линейного предсказания с кодовым возбуждением), например ACELP (линейное предсказание с алгебраическим кодовым возбуждением), следует иметь в виду, что сущность настоящего раскрытия может применяться к другим типам структур кодека.
Оптимальные неквантованные усиления для адаптивного и фиксированного вкладов возбуждения
В области техники кодирования CELP возбуждение состоит из двух вкладов: адаптивного вклада (возбуждения адаптивной кодовой книги) и фиксированного вклада (возбуждения фиксированной кодовой книги). Адаптивная кодовая книга основывается на долгосрочном предсказании и поэтому относится к прошлому возбуждению. Адаптивный вклад возбуждения находится посредством поиска с замкнутым контуром около оцененного значения задержки основного тона. Оцененная задержка основного тона находится посредством корреляционного анализа. Поиск с замкнутым контуром состоит из минимизации среднеквадратической взвешенной ошибки (MSWE) между целевым сигналом (в кодировании CELP, перцепционно фильтрованной версией входной речи или аудиосигнала (входного звукового сигнала)) и фильтрованным адаптивным вкладом возбуждения, масштабированным посредством усиления адаптивной кодовой книги. Фильтр в поиске с замкнутым контуром соответствует взвешенному синтезирующему фильтру, известному в области техники кодирования CELP. Поиск фиксированной кодовой книги также выполняется посредством минимизации среднеквадратической ошибки (MSE) между обновленным целевым сигналом (после удаления адаптивного вклада возбуждения) и фильтрованным фиксированным вкладом возбуждения, масштабированным посредством усиления фиксированной кодовой книги. Структура полного фильтрованного возбуждения показана на фиг. 1. Для дополнительной ссылки, вариант осуществления кодирования CELP описывается в следующем документе: 3GPP TS 26.190, "Adaptive Multi-Rate - Wideband (AMR-WB) speech codec; Transcoding functions", чье полное содержание включается сюда посредством ссылки.
p
c
p
c
p
i
c
Фиг. 1 является схематической диаграммой, описывающей структуру фильтрованного полного возбуждения в кодере CELP. Входной сигнал 101, сформированный вышеупомянутым целевым сигналом, обозначается как x(i) и используется как опорный в течение поиска усилений для адаптивного и фиксированного вкладов возбуждения. Фильтрованный адаптивный вклад возбуждения обозначается как y(i) и фильтрованный фиксированный вклад возбуждения (обновление) обозначается как z(i). Соответствующие усиления обозначаются как g для адаптивного вклада и g для фиксированного вклада возбуждения. Как проиллюстрировано на фиг. 1, усилитель 104 применяет усиление g к фильтрованному адаптивному вкладу y(i) возбуждения и усилитель 105 применяет усиление g к фильтрованному фиксированному вкладу z(i) возбуждения. Оптимальные квантованные усиления находятся посредством минимизации среднего квадрата сигнала ошибки e(i), вычисляемого посредством первого модуля 107 вычитания, вычитающего сигнал gy(i) на выходе усилителя 104 из целевого сигнала x, и второго модуля 108 вычитания, вычитающего сигнал gz(i) на выходе усилителя 105 из результата вычитания из модуля 107 вычитания. Для всех сигналов на фиг. 1, индекс i обозначает разные выборки сигнала и проходит от 0 до L-1, где L является длиной каждого подкадра. Как хорошо известно специалистам в данной области техники, фильтрованный вклад адаптивной кодовой книги обычно вычисляется как свертка между вектором возбуждения адаптивной кодовой книги v(n) и импульсной характеристикой взвешенного синтезирующего фильтра h(n), то есть y(n) = v(n)*h(n). Аналогично, фильтрованное возбуждение фиксированной кодовой книги z(n) задается посредством z(n) = c(n)*h(n), где c(n) является возбуждением фиксированной кодовой книги.
p
c
Предполагая знание целевого сигнала x(i), фильтрованного адаптивного вклада возбуждения y(i) и фильтрованного фиксированного вклада возбуждения z(i), оптимальный набор неквантованных усилений g и g находится посредством минимизации энергии сигнала ошибки e(i), заданного посредством следующего отношения:
(1)
Уравнение (1) может быть задано в векторной форме как
(2)
и минимизация энергии сигнала ошибки, , где t обозначает транспонирование векторов, дает результатом оптимальные неквантованные усиления
(3),
0
1
2
3
4
5
где константы или корреляции c, c, c, c, с и с вычисляются как
(4)
c0
p
c0
p
Оптимальные усиления в уравнении (3) не квантуются напрямую, но они используются в обучении кодовой книги усилений, как будет описываться позже. Усиления квантуются совместно после применения предсказания к усилению фиксированного вклада возбуждения. Предсказание выполняется посредством вычисления оцененного значения усиления g фиксированного вклада возбуждения. Усиление фиксированного вклада возбуждения задается посредством , где γ является коэффициентом коррекции. Поэтому каждая запись кодовой книги содержит два значения. Первое значение соответствует квантованному усилению g адаптивного вклада возбуждения. Второе значение соответствует коэффициенту коррекции γ, который используется, чтобы умножать оцененное усиление g фиксированного вклада возбуждения. Оптимальный индекс в кодовой книге усилений (g и γ) находится посредством минимизации среднеквадратической ошибки между целевым сигналом и фильтрованным полным возбуждением. Оценка усиления фиксированного вклада возбуждения описывается подробно ниже.
Оценка усиления фиксированного вклада возбуждения
c0
Каждый кадр содержит некоторое количество подкадров. Будем обозначать количество подкадров в кадре как K и индекс текущего подкадра как k. Оценка g усиления фиксированного вклада возбуждения выполняется различным образом в каждом подкадре.
Фиг. 2 является схематической блок-схемой, описывающей модуль 200 оценивания усиления фиксированного вклада возбуждения (далее - усиление фиксированной кодовой книги) в первом подкадре каждого кадра.
c
Модуль 200 оценивания сначала вычисляет оценку усиления фиксированной кодовой книги в ответ на параметр t, представляющий классификацию текущего кадра. Энергия обновляющего кодового вектора из фиксированной кодовой книги затем вычитается из оцененного усиления фиксированной кодовой книги, чтобы принимать в рассмотрение эту энергию фильтрованного обновляющего кодового вектора. Результирующее, оцененное усиление фиксированной кодовой книги, умножается на коэффициент коррекции, выбираемый из кодовой книги усилений, чтобы вырабатывать квантованное усиление g фиксированной кодовой книги.
c0
c0
c
В одном варианте осуществления модуль 200 оценивания содержит модуль 201 вычисления линейной оценки усиления фиксированной кодовой книги в логарифмической области. Усиление фиксированной кодовой книги оценивается, предполагая единичную энергию обновляющего кодового вектора 202 из фиксированной кодовой книги. Модулем 201 вычисления используется только один параметр оценки, параметр t, представляющий классификацию текущего кадра. Модуль 203 вычитания затем вычитает энергию фильтрованного обновляющего кодового вектора 202 из фиксированной кодовой книги в логарифмической области из линейного оцененного усиления фиксированной кодовой книги в логарифмической области на выходе модуля 201 вычисления. Преобразователь 204 преобразовывает оцененное усиление фиксированной кодовой книги в логарифмической области из модуля 203 вычитания в линейную область. Вывод в линейной области из преобразователя 204 является оцененным усилением g фиксированной кодовой книги. Модуль 205 умножения умножает оцененное усиление g на коэффициент коррекции 206, выбираемый из кодовой книги усилений. Как описано в предшествующем абзаце, вывод модуля 205 умножения составляет квантованное усиление g фиксированной кодовой книги.
p
p
c
Квантованное усиление g адаптивного вклада возбуждения (далее - усиление адаптивной кодовой книги) выбирается напрямую из кодовой книги усилений. Модуль 207 умножения умножает фильтрованное адаптивное возбуждение 208 из адаптивной кодовой книги на квантованное усиление g адаптивной кодовой книги, чтобы вырабатывать фильтрованный адаптивный вклад 209 фильтрованного возбуждения. Другой модуль 210 умножения умножает фильтрованный обновляющий кодовый вектор 202 из фиксированной кодовой книги на квантованное усиление g фиксированной кодовой книги, чтобы вырабатывать фильтрованный фиксированный вклад 211 фильтрованного возбуждения. В заключение, модуль 212 сложения суммирует фильтрованные адаптивный 209 и фиксированный 211 вклады возбуждения, чтобы формировать полное фильтрованное возбуждение 214.
В первом подкадре текущего кадра, оцененное усиление фиксированной кодовой книги в логарифмической области на выходе модуля 203 вычитания задается посредством
(5)
где .
i
i
i
i
i
i
Внутренний член внутри логарифма из уравнения (5) соответствует квадратному корню из энергии фильтрованного обновляющего вектора 202 (E является энергией фильтрованного обновляющего вектора в первом подкадре кадра n). Этот внутренний член (квадратный корень из энергии E) определяется посредством первого модуля 215 вычисления энергии E фильтрованного обновляющего вектора 202 и модуля 216 вычисления квадратного корня из этой энергии E. Модуль 217 вычисления затем вычисляет логарифм квадратного корня из энергии E для применения к отрицательному вводу модуля 203 вычитания. Внутренний член (квадратный корень из энергии E) имеет ненулевую энергию; энергия увеличивается на маленькую величину в случае всех нулевых кадров, чтобы избегать log(0).
0
1
Оценка усиления фиксированной кодовой книги в модуле 201 вычисления является линейной в логарифмической области с коэффициентами оценки a и a, которые находятся для каждого подкадра посредством среднеквадратической минимизации по большой базе данных сигналов (обучения), как будет объясняться в последующем описании. Только параметр 202 оценки в уравнении, t, обозначает параметр классификации для кадра n (в одном варианте осуществления это значение является постоянным для всех подкадров в кадре n). Подробности относительно классификации кадров даются ниже. В заключение, оцененное значение усиления в логарифмической области преобразовывается обратно в линейную область () посредством модуля 204 вычисления и используется в процессе поиска наилучшего индекса кодовой книги усилений, как будет объясняться в последующем описании.
(1)
Верхний индекс  обозначает первый подкадр текущего кадра n.
c0
Как объяснено в предшествующем описании, параметр t, представляющий классификацию текущего кадра, используется в вычислении оцененного усиления g фиксированной кодовой книги. Для разных классов голосовых сигналов могут создаваться разные кодовые книги. Однако это увеличивает требования к памяти. Также, оценка усиления фиксированной кодовой книги в кадрах, следующих за первым кадром, может основываться на параметре t классификации кадра и доступных усилениях адаптивной и фиксированной кодовых книг от предыдущих подкадров в текущем кадре. Оценка ограничивается границей кадра, чтобы увеличивать устойчивость против стираний кадров.
Например, кадры могут классифицироваться как невокализованные, вокализованные, общие или переходные кадры. Для классификации могут использоваться разные альтернативы. Ниже дается пример в качестве неограничивающего иллюстративного варианта осуществления. Дополнительно, количество голосовых классов может быть отличным от класса, используемого выше. Например, классификация может быть только вокализованные или невокализованные в одном варианте осуществления. В другом варианте осуществления может добавляться больше классов, такие как сильно вокализованные и сильно невокализованные.
c0
Значения для параметра t оценки классификации могут выбираться произвольно. Например, для узкополосных сигналов значения параметра t устанавливаются на: 1, 3, 5, и 7 для невокализованных, вокализованных, общих и переходных кадров соответственно и для широкополосных сигналов они устанавливаются на 0, 2, 4, и 6 соответственно. Однако для каждого класса могут использоваться другие значения для параметра t оценки. Используя эту оценку, параметр классификации t в создании и обучении для определения параметров оценки будет давать результатом более хорошую оценку g усиления фиксированной кодовой книги.
Подкадры, следующие за первым подкадром в кадре, используют немного другую схему оценки. Различие состоит в том факте, что в этих подкадрах как квантованное усиление адаптивной кодовой книги так и квантованное усиление фиксированной кодовой книги из предыдущего подкадра (подкадров) в текущем кадре используются как вспомогательные параметры оценки, чтобы увеличивать эффективность.
c
Фиг. 3 является схематической блок-схемой модуля 300 оценивания для оценки усиления фиксированной кодовой книги в подкадрах, следующих за первым подкадром в текущем кадре. Параметры оценки включают в себя параметр классификации t и квантованные значения (параметры 301) обоих усилений адаптивной и фиксированной кодовых книг от предыдущих подкадров текущего кадра. Эти параметры 301 обозначаются как  и т.д., где верхний индекс указывает на первый, второй и другие предыдущие подкадры. Оценка усиления фиксированной кодовой книги вычисляется и умножается на коэффициент коррекции, выбираемый из кодовой книги усилений, чтобы вырабатывать квантованное усиление g фиксированной кодовой книги, формируя усиление фиксированного вклада возбуждения (это оцененное усиление фиксированной кодовой книги является отличным от усиления первого подкадра).
c0
c
В одном варианте осуществления модуль 302 вычисления вычисляет линейную оценку усиления фиксированной кодовой книги снова в логарифмической области и преобразователь 303 преобразовывает оценку усиления назад в линейную область. Квантованные усиления адаптивной кодовой книги  и т.д. от предыдущих подкадров предоставляются в модуль 302 вычисления напрямую, в то время как квантованные усиления фиксированной кодовой книги  и т.д. от предыдущих подкадров предоставляются в модуль 302 вычисления в логарифмической области через логарифмический модуль 304 вычисления. Модуль 305 умножения затем умножает оцененное усиление g фиксированной кодовой книги (которое является отличным от усиления первого подкадра) из преобразователя 303 на коэффициент коррекции 306, выбираемый из кодовой книги усилений. Как описано в предшествующем абзаце, модуль 305 умножения затем выводит квантованное усиление g фиксированной кодовой книги, формируя усиление фиксированного вклада возбуждения.
p
c
Первый модуль 307 умножения умножает фильтрованное адаптивное возбуждение 308 из адаптивной кодовой книги на квантованное усиление g адаптивной кодовой книги, выбираемое напрямую из кодовой книги усилений, чтобы вырабатывать адаптивный вклад 309 возбуждения. Второй модуль 310 умножения умножает фильтрованный обновляющий кодовый вектор 311 из фиксированной кодовой книги на квантованное усиление g фиксированной кодовой книги, чтобы вырабатывать фиксированный вклад 312 возбуждения. Модуль 313 сложения суммирует фильтрованный адаптивный 309 и фильтрованный фиксированный 312 вклады возбуждения так, чтобы формировать полное фильтрованное возбуждение 314 для текущего кадра.
Оцененное усиление фиксированной кодовой книги из модуля 302 вычисления в k-м подкадре текущего кадра в логарифмической области задается посредством
(6),
где  является квантованным усилением фиксированной кодовой книги в логарифмической области в подкадре k, и  является квантованным усилением адаптивной кодовой книги в подкадре k.
Например, в одном варианте осуществления используются четыре (4) подкадра (K=4), таким образом, оцененные усиления фиксированной кодовой книги в логарифмической области, во втором, третьем и четвертом подкадрах из модуля 302 вычисления задаются посредством следующих отношений:
и
i
i
Вышеописанная оценка усиления фиксированной кодовой книги основывается как на квантованных усилениях адаптивной, так и фиксированной кодовых книг всех предыдущих подкадров текущего кадра. Имеется также другое различие между этой схемой оценки и схемой, используемой в первом подкадре. Энергия фильтрованного обновляющего вектора из фиксированной кодовой книги не вычитается из линейной оценки усиления фиксированной кодовой книги в логарифмической области из модуля 302 вычисления. Причина в использовании квантованных усилений адаптивной кодовой книги и фиксированной кодовой книги от предыдущих подкадров в уравнении оценки. В первом подкадре линейная оценка выполняется посредством модуля 201 вычисления, предполагающего единичную энергию обновляющего вектора. Впоследствии эта энергия вычитается, чтобы приводить оцененное усиление фиксированной кодовой книги к тому же энергетическому уровню, что и его оптимальное значение (или, по меньшей мере, близкому к нему). Во втором и последующих подкадрах предыдущие квантованные значения усиления фиксированной кодовой книги находятся уже на этом уровне, таким образом, нет необходимости принимать в рассмотрение энергию фильтрованного обновляющего вектора. Коэффициенты оценки a и b являются разными для каждого подкадра, и они определяются автономно с использованием большой базы данных обучения, как будет описываться ниже.
Вычисление коэффициентов оценки
Оптимальный набор коэффициентов оценки находится в большой базе данных, содержащей чистые, зашумленные и смешанные речевые сигналы на различных языках и уровнях и произносимые мужчинами и женщинами.
Коэффициенты оценки вычисляются посредством выполнения кодека с оптимальными неквантованными значениями усилений адаптивной и фиксированной кодовых книг по большой базе данных. Следует напомнить, что оптимальные неквантованные усиления адаптивной и фиксированной кодовых книг находятся согласно уравнениям (3) и (4).
В последующем описании предполагается, что база данных содержит N+1 кадр, и индекс кадра - это n=0,...,N. Индекс кадра n добавляется к параметрам, используемым в обучении, которые изменяются на основе кадра (классификация, обновляющая энергия первого подкадра и оптимальные усиления адаптивной и фиксированной кодовых книг).
Коэффициенты оценки находятся посредством минимизации среднеквадратической ошибки между оцененным усилением фиксированной кодовой книги и оптимальным усилением в логарифмической области по всем кадрам в базе данных.
Для первого подкадра энергия среднеквадратической ошибки задается посредством
(7)
Из уравнения (5), оцененное усиление фиксированной кодовой книги в первом подкадре кадра n задается посредством
затем энергия среднеквадратической ошибки задается посредством
(8)
est
c,opt
i
(1)
(1)
В вышеуказанном уравнении выше (8) E является полной энергией (на полной базе данных) ошибки между оцененным и оптимальным усилениями фиксированной кодовой книги, оба в логарифмической области. Оптимальное усиление фиксированной кодовой книги в первом подкадре обозначается g . Как упоминалось в предшествующем описании, E(n) является энергией фильтрованного обновляющего вектора из фиксированной кодовой книги и t(n) является параметром классификации кадра n. Верхний индекс  используется, чтобы обозначать первый подкадр и n является индексом кадра.
Задача минимизации может упрощаться посредством определения нормализованного усиления обновляющего вектора в логарифмической области. То есть
(9)
Полная энергия ошибки тогда становится
(10)
Решение вышеописанной определенной задачи MSE (среднеквадратической ошибки) находится посредством следующей пары частных производных
Оптимальные значения коэффициентов оценки, полученных из вышеуказанных уравнений, задаются посредством
(11)
Оценка усиления фиксированной кодовой книги в первом подкадре выполняется в логарифмической области, и оцененное усиление фиксированной кодовой книги должно быть настолько близким насколько возможно к нормализованному усилению обновляющего вектора в логарифмической области, .
Для второго и других последующих подкадров схема оценки является немного другой. Энергия ошибки задается посредством
(12),
где . Подставляя уравнение (6) в уравнение (12), получаем следующее:
(13)
Для вычисления коэффициентов оценки во втором и последующих подкадрах каждого кадра, квантованные значения обоих усилений фиксированной и адаптивной кодовых книг предыдущих подкадров используются в вышеуказанном уравнении (13). Хотя является возможным использовать оптимальные неквантованные усиления в их месте, использование квантованных значений ведет к максимальной эффективности оценивания во всех подкадрах и, следовательно, к более хорошей общей производительности модуля квантования усиления.
i
i
(k)
Таким образом, количество коэффициентов оценки увеличивается по мере того, как повышается индекс текущего подкадра. Само квантование усиления описывается в последующем описании. Коэффициенты оценки a и b являются разными для каждого подкадра, но для простоты использовались одни и те же символы. Обычно они будут либо иметь верхний индекс , ассоциированный с ними, либо они будут обозначаться различным образом для каждого подкадра, при этом k является индексом подкадра.
Минимизация функции ошибки в уравнении (13) ведет к следующей системе линейных уравнений
(14)
0
1
0
2k-3
Решение этой системы, т.е. оптимальный набор коэффициентов оценки a, a, b,...,b, здесь не предоставляется, так как это ведет к усложненным формулам. Она обычно решается посредством математического программного обеспечения, оснащенного модулем решения линейных уравнений, например MATLAB. Это предпочтительно делается автономно и не во время процесса кодирования.
Для второго подкадра уравнение (14) сводится к
Как упомянуто выше, вычисление коэффициентов оценки чередуется с квантованием усиления, как изображено на фиг. 4. Более конкретно, фиг. 4 является схематической блок-схемой, описывающей конечный автомат 400, в котором коэффициенты оценки вычисляются (401) для каждого подкадра. Затем для каждого подкадра с использованием вычисленных коэффициентов оценки разрабатывается (402) кодовая книга усилений. Затем на основе вычисленных коэффициентов оценки и построения кодовой книги усилений проводится квантование (403) усиления для подкадра. Оценка усиления фиксированной кодовой книги сама немного отличается в каждом подкадре, коэффициенты оценки находятся посредством минимальной среднеквадратической ошибки, и кодовая книга усилений может разрабатываться посредством использования алгоритма KMEANS, как описано, например, в MacQueen, J. B. (1967). "Some Methods for classification and Analysis of Multivariate Observations". Proceedings of 5th Berkeley Symposium on Mathematical Statistics and Probability. University of California Press, стр. 281-297, чье полное содержание включается сюда посредством ссылки.
Квантование усиления
Фиг. 5 является схематической блок-схемой, описывающей модуль 500 квантования усиления.
p
c0
p
p
Перед квантованием усиления предполагается, что как фильтрованное адаптивное возбуждение 501 из адаптивной кодовой книги, так и фильтрованный обновляющий кодовый вектор 502 из фиксированной кодовой книги уже известны. Квантование усиления в кодере выполняется посредством поиска созданной кодовой книги 503 усилений в смысле MMSE (минимальной среднеквадратической ошибки). Как описано в предшествующем описании, каждая запись в кодовой книге 503 усилений включает в себя два значения: квантованное усиление g адаптивной кодовой книги и коэффициент коррекции  для фиксированного вклада возбуждения. Оценка усиления фиксированной кодовой книги выполняется заранее, и оцененное усиление g фиксированной кодовой книги используется, чтобы умножать коэффициент коррекции , выбираемый из кодовой книги 503 усилений. В каждом подкадре осуществляется полный поиск для кодовой книги 503 усилений, т.е. для индексов q=0,..,Q-1, при этом Q является количеством индексов кодовой книги усилений. Можно ограничивать диапазон поиска в случае, когда разрешается, чтобы квантованное усиление g адаптивной кодовой книги было ниже некоторого порога. Чтобы обеспечивать возможность уменьшения диапазона поиска, записи кодовой книги могут сортироваться в восходящем порядке согласно значению усиления g адаптивной кодовой книги.
p
c0
p
i
i
i
Ссылаясь на фиг. 5, осуществляется поиск в кодовой книге 503 усилений с двойными записями и каждый индекс обеспечивает два значения - усиление g адаптивной кодовой книги и коэффициент коррекции . Модуль 504 умножения умножает коэффициент коррекции  на оцененное усиление g фиксированной кодовой книги и полученное в результате значение используется как квантованное усиление 505 фиксированного вклада возбуждения (квантованное усиление фиксированной кодовой книги). Другой модуль 506 умножения умножает фильтрованное адаптивное возбуждение 505 из адаптивной кодовой книги на квантованное усиление g адаптивной кодовой книги из кодовой книги 503 усилений, чтобы вырабатывать адаптивный вклад 507 возбуждения. Модуль 508 умножения умножает фильтрованный обновляющий кодовый вектор 502 на квантованное усиление 505 фиксированной кодовой книги, чтобы вырабатывать фиксированный вклад 509 возбуждения. Модуль 510 сложения суммирует оба адаптивный 507 и фиксированный 509 вклады возбуждения так, чтобы формировать фильтрованное полное возбуждение 511. Модуль 512 вычитания вычитает фильтрованное полное возбуждение 511 из целевого сигнала x, чтобы вырабатывать сигнал ошибки e. Модуль 513 вычисления вычисляет энергию 515 сигнала ошибки e и предоставляет ее назад в механизм поиска кодовой книги усилений. Таким способом осуществляется поиск для всех или поднабора индексов кодовой книги 501 усилений и индекс кодовой книги 503 усилений, дающий наименьшую энергию 515 ошибки, выбирается как выигравший индекс и посылается в декодер.
Квантование усиления может выполняться посредством минимизации энергии ошибки в уравнении (2). Энергия задается посредством
(15)
Заменяя  на , получаем следующее соотношение
(16),
0
1
2
3
4
5
0
1
2
3
4
5
c0
p
где константы или корреляции c, c, c c, c и c вычисляются, как в уравнении (4) выше. Константы или корреляции c, c, c, c, c и c, и оцененное усиление g вычисляются до осуществления поиска кодовой книги 503 усилений, и затем энергия в уравнении (16) вычисляется для каждого индекса кодовой книги (каждого набора значений записей g и ).
i
p
Кодовый вектор из кодовой книги 503 усилений, ведущий к наименьшей энергии 515 сигнала ошибки e, выбирается как выигравший кодовый вектор, и его значения записей соответствуют квантованным значениям g и γ. Квантованное значение усиления фиксированной кодовой книги затем вычисляется как
i
i
0
1
2
3
4
5
i
i
c0
0
1
2
3
4
5
p
Фиг. 6 является схематической блок-схемой эквивалентного модуля 600 квантования усиления как на фиг. 5, выполняющего вычисление энергии E сигнала ошибки e с использованием уравнения (16). Более конкретно, модуль 600 квантования усиления содержит кодовую книгу 601 усилений, модуль 602 вычисления констант или корреляций, и модуль 603 вычисления энергии 604 сигнала ошибки. Модуль 602 вычисления вычисляет константы или корреляции c, c, c, c, с и с с использованием уравнения (4) и целевого вектора , вектора фильтрованного адаптивного возбуждения  из адаптивной кодовой книги, и фильтрованного фиксированного кодового вектора  из фиксированной кодовой книги, при этом t обозначает транспонирование векторов. Модуль 603 вычисления использует уравнение (16), чтобы вычислять энергию E сигнала ошибки e из оцененного усиления g фиксированной кодовой книги, корреляций c, c, c, c, с и с из модуля 602 вычисления и квантованного усиления g адаптивной кодовой книги и коэффициента коррекции  из кодовой книги 601 усилений. Энергия 604 сигнала ошибки из модуля 603 вычисления предоставляется назад в механизм поиска кодовой книги усилений. Снова, таким способом осуществляется поиск для всех или поднабора индексов кодовой книги 601 усилений и индекс кодовой книги 601 усилений, дающий наименьшую энергию 604 ошибки, выбирается как выигравший индекс и посылается в декодер.
В модуле 600 квантования усиления из фиг. 6, кодовая книга 601 усилений имеет размер, который может быть разным в зависимости от подкадра. Более хорошая оценка усиления фиксированной кодовой книги достигается в более поздних подкадрах в кадре вследствие увеличенного количества параметров оценки. Поэтому в более поздних подкадрах может использоваться меньшее количество битов. В одном варианте осуществления используются четыре (4) подкадра, где количества битов для кодовой книги усилений равны 8, 7, 6, и 6, соответствуя подкадрам 1, 2, 3 и 4 соответственно. В другом варианте осуществления при более низкой битовой скорости в каждом подкадре используются 6 битов.
p
В декодере используется принятый индекс, чтобы извлекать значения квантованного усиления g адаптивной кодовой книги и коэффициента коррекции  из кодовой книги усилений. Оценка усиления фиксированной кодовой книги выполняется таким же способом, как в кодере, как описано в предшествующем описании. Квантованное значение усиления фиксированной кодовой книги вычисляется посредством уравнения . Как адаптивный кодовый вектор, так и обновляющий кодовый вектор декодируются из битового потока, и они становятся адаптивным и фиксированным вкладами возбуждения, которые умножаются на соответствующие усиления адаптивной и фиксированной кодовых книг. Оба вклада возбуждения складываются, чтобы формировать полное возбуждение. Сигнал синтеза находится посредством фильтрации полного возбуждения через синтезирующий фильтр LP, как известно в области техники кодирования CELP.
Классификация сигналов
Для определения классификации кадра могут использоваться разные способы, например параметр t из фиг. 1. В последующем описании дается неограничивающий пример, где кадры классифицируются как невокализованные, вокализованные, общие или переходные кадры. Однако количество голосовых классов может быть отличным от количества, используемого в этом примере. Например, классификация может быть только вокализованные или невокализованные в одном варианте осуществления. В другом варианте осуществления могут добавляться больше классов, такие как сильно вокализованные и сильно невокализованные.
Классификация сигналов может выполняться в три этапа, где каждый этап выделяет конкретный класс сигнала. Сначала детектор активности сигнала (SAD) проводит различие между активными и неактивными речевыми кадрами. Если обнаруживается неактивный речевой кадр (фоновый шумовой сигнал), то цепь классификации оканчивается и кадр кодируется с помощью генерирования комфортного шума (CNG). Если обнаруживается активный речевой кадр, кадр подвергается второму классификатору для различения невокализованных кадров. Если классификатор классифицирует кадр как невокализованный речевой сигнал, цепь классификации оканчивается и кадр кодируется с использованием способа кодирования, оптимизированного для невокализованных сигналов. В противном случае кадр подвергается обработке через модуль классификации "стабильный вокализованный". Если кадр классифицируется как стабильный вокализованный кадр, то кадр кодируется с использованием способа кодирования, оптимизированного для стабильных вокализованных сигналов. В противном случае кадр скорей всего содержит нестационарный сегмент сигнала, такой как вокализованное начало или быстро видоизменяющийся вокализованный сигнал. Эти кадры обычно требуют кодер общего назначения и высокую битовую скорость для поддержания хорошего субъективного качества. Раскрытый способ квантования усиления создавался и оптимизировался для кадров стабильных вокализованных и общего назначения. Однако он может легко расширяться для любого другого класса сигналов.
В последующем описывается классификация невокализованных и вокализованных кадров сигнала.
Невокализованные части звукового сигнала характеризуются отсутствующим периодическим компонентом и могут дополнительно разделяться на нестабильные кадры, где энергия и спектр изменяются быстро, и стабильные кадры, где эти характеристики остаются относительно стабильными. Классификация невокализованных кадров использует следующие параметры:
- голосовую меру , вычисляемую как усредненная нормализованная корреляция;
- меру среднего спектрального наклона ();
- максимальное увеличение кратковременной энергии при низком уровне (), чтобы эффективно обнаруживать взрывные сегменты сигнала;
- максимальное изменение кратковременной энергии (dE), используемое, чтобы оценивать стабильность кадра;
- тональную стабильность, чтобы выделять музыку из невокализованного сигнала, как описано в [Jelinek, M., Vaillancourt, T., Gibbs, J., "G.718: A new embedded speech and audio coding standard with high resilience to error-prone transmission channels", в IEEE Communications Magazine, vol. 47, стр. 117-123, October 2009], чье полное содержание включается сюда посредством ссылки; и
rel
- относительную энергию кадра (E), чтобы обнаруживать сигналы очень низкой энергии.
Голосовая мера
w
Нормализованная корреляция, используемая, чтобы определять голосовую меру, вычисляется как часть анализа основного тона с разомкнутым контуром. В области техники кодирования CELP, модуль поиска с разомкнутым контуром обычно выводит две оценки на кадр. Здесь это также используется, чтобы выводить нормализованные меры корреляции. Эти нормализованные корреляции вычисляются на взвешенном сигнале и прошлом взвешенном сигнале при запаздывании основного тона в разомкнутом контуре. Взвешенный речевой сигнал s(n) вычисляется с использованием перцепционного взвешивающего фильтра. Например, используется перцепционный взвешивающий фильтр с фиксированным знаменателем, подходящий для широкополосных сигналов. Пример передаточной функции перцепционного взвешивающего фильтра задается посредством следующего отношения:
, где
где A(z) является передаточной функцией фильтра линейного предсказания (LP), вычисляемой посредством алгоритма Левинсона-Дарбина, и задается посредством следующего отношения
Анализ LP и анализ основного тона с разомкнутым контуром являются хорошо известными в области техники кодирования CELP и, соответственно, в настоящем описании не будут дополнительно описываться.
Голосовая мера  определяется как средняя нормализованная корреляция, задаваемая посредством следующего отношения:
,
norm
0
norm
1
norm
2
где C(d), C(d) и C(d) являются соответственно нормализованной корреляцией первой половины текущего кадра, нормализованной корреляцией второй половины текущего кадра, и нормализованной корреляцией просмотра вперед (начала следующего кадра). Аргументы для корреляций являются отставаниями основного тона с разомкнутым контуром.
Спектральный наклон
Спектральный наклон содержит информацию о частотном распределении энергии. Спектральный наклон может оцениваться в частотной области как отношение между энергией, сконцентрированной в низких частотах, и энергией, сконцентрированной в высоких частотах. Однако он может также оцениваться различными способами, такими как отношение между двумя первыми коэффициентами автокорреляции сигнала.
Энергия в высоких частотах и низких частотах вычисляется, следуя за перцепционными критическими диапазонами, как описано в [J. D. Johnston, "Transform Coding of Audio Signals Using Perceptual Noise Criteria", IEEE Journal on Selected Areas in Communications, vol. 6, no. 2, стр. 314-323, February 1988], чье полное содержание включается сюда посредством ссылки. Энергия в высоких частотах вычисляется как средняя энергия последних двух критических диапазонов с использованием следующего отношения:
,
CB
max
где E(i) является энергией критического диапазона i-го диапазона и b является последним критическим диапазоном. Энергия в низких частотах вычисляется как средняя энергия первых 10 критических диапазонов с использованием следующего отношения:
,
min
где b является первым критическим диапазоном.
Средние критические диапазоны из вычисления исключаются, так как они не имеют тенденции улучшать различение между кадрами с высокой концентрацией энергии в низких частотах (в общем, вокализованными) и с высокой концентрацией энергии в высоких частотах (в общем, невокализованными). Между тем, содержимое энергии не является характеристическим для каких-либо из классов, описанных дополнительно, и увеличивает запутанность выбора.
Спектральный наклон задается посредством
,
где  и  являются соответственно средними энергиями шума в последних двух критических диапазонах и первых 10 критических диапазонах, вычисляемыми таким же способом, как  и .
Оцененные энергии шума добавляются к вычислению наклона, чтобы учитывать присутствие фонового шума. Вычисление спектрального наклона выполняется дважды за кадр, и вычисляется средний спектральный наклон, который затем используется в классификации невокализованного кадра. То есть
где  является спектральным наклоном во второй половине предыдущего кадра.
Максимальное увеличение кратковременной энергии при низком уровне
Максимальное увеличение кратковременной энергии при низком уровне dE0 оценивается на входном звуковом сигнале s(n), где n=0 соответствует первой выборке текущего кадра. Энергия сигнала оценивается дважды в расчете на подкадр. Предполагая, например, сценарий четырех подкадров в расчете на кадр, энергия вычисляется 8 раз в расчете на кадр. Если полная длина кадра равняется, например, 256 выборкам, каждый из этих коротких сегментов может иметь 32 выборки. В вычислении краткосрочные энергии последних 32 выборок из предыдущего кадра и первых 32 выборок из следующего кадра также принимаются в рассмотрение. Кратковременные энергии вычисляются с использованием следующих отношений:
где j=-1 и j=8 соответствуют концу предыдущего кадра и началу следующего кадра соответственно. Другой набор девяти краткосрочных энергий вычисляется посредством сдвига индексов сигнала в предыдущем уравнении на 16 выборок с использованием следующего отношения:
Для энергий, которые являются достаточно низкими, т.е. которые удовлетворяют условию , вычисляется следующее отношение
для j=-1,..,6,
для первого набора энергий, и такое же вычисление повторяется для  с j=0,..,7, чтобы получать два набора отношений  и . Единственный максимум в этих двух наборах ищется посредством
,
который является максимальным увеличением кратковременной энергии при низком уровне.
Максимальное изменение кратковременной энергии
Этот параметр dE является аналогичным максимальному увеличению кратковременной энергии при низком уровне с отличием, что низкоуровневое условие не применяется. Таким образом, параметр вычисляется как максимум следующих четырех значений:
для j=1,..,7
для j=1,..,8.
Классификация невокализованных сигналов
Классификация кадров невокализованного сигнала основывается на параметрах, описанных выше, именно: голосовой мере , среднем спектральном наклоне , максимальном увеличении кратковременной энергии при низком уровне dE0 и максимальном изменении кратковременной энергии dE. Алгоритм дополнительно поддерживается параметром тональной стабильности, флагом SAD и относительной энергией кадра, вычисляемой в течение фазы обновления энергии шума. Для более подробной информации об этих параметрах, см. например, [Jelinek, M., et al., "Advances in source-controlled variable bitrate wideband speech coding", Special Workshop in MAUI (SWIM): Lectures by masters in speech processing, Maui, Hawaii, January 12-14, 2004], чье полное содержимое включается сюда посредством ссылки.
Относительная энергия кадра задается посредством
,
где  является полной энергией кадра (в дБ) и  является долгосрочной средней энергией кадра, обновляемой в течение каждого активного кадра посредством .
Правила для невокализованной классификации широкополосных сигналов подытоживаются ниже
rel
[((<0,695) И ( < 4,0)) ИЛИ (E< -14)] И
old
x
[последний кадр НЕАКТИВНЫЙ ИЛИ НЕВОКАЛИЗОВАННЫЙ ИЛИ ((e<2,4) И (r(0)<0,66))]
[dE0<250] И
t
[e(1)<2,7] И
rel
НЕ [(тональная_ стабильность И ((>0,52) И (>0,5)) ИЛИ (>0,85)) И (E> -14) И флаг SAD установлен на 1]
Первая строка этого условия относится к сигналам низкой энергии и сигналам с низкой корреляцией, концентрирующей их энергию в высоких частотах. Вторая строка охватывает вокализованные смещения, третья строка охватывает взрывные сегменты сигнала, и четвертая строка относится к вокализованным началам. Последняя строка выделяет музыкальные сигналы, которые будут в противном случае объявляться как невокализованные.
Если комбинированные условия выполняются, классификация оканчивается посредством объявления текущего кадра как невокализованного.
Классификация вокализованных сигналов
Если кадр не классифицируется как неактивный кадр или как невокализованный кадр, то он тестируется, является ли он стабильным вокализованным кадром. Правило решения основывается на нормализованной корреляции  в каждом подкадре (с разрешением в 1/4 подвыборки), среднем спектральном наклоне  и оценках основного тона в разомкнутом контуре во всех подкадрах (с разрешением в 1/4 подвыборки).
0
1
2
wd
0
1
max
max
max
max
max
max
max
Процедура оценки основного тона с разомкнутым контуром вычисляет три отставания основного тона с разомкнутым контуром: d, d и d, соответствующие первому полукадру, второму полукадру и просмотру вперед (первому полукадру следующего кадра). Чтобы получить точную информацию основного тона во всех четырех подкадрах, вычисляется дробное уточнение основного тона с разрешением в 1/4 выборки. Это уточнение вычисляется на перцепционно взвешенном входном сигнале s(n) (например, входном звуковом сигнале s(n), отфильтрованном через вышеописанный перцепционный взвешивающий фильтр). В начале каждого подкадра короткий корреляционный анализ (40 выборок) с разрешением в 1 выборку выполняется в интервале (-7, +7) с использованием следующих задержек: d для первого и второго подкадров и d для третьего и четвертого подкадров. Корреляции затем интерполируются около их максимумов в дробных положениях d - 3/4, d - 1/2, d - 1/4, d, d + 1/4, d + 1/2, d + 3/4. Значение, дающее максимальную корреляцию, выбирается как уточненное отставание основного тона.
Пусть уточненные отставания основного тона с разомкнутым контуром во всех четырех подкадрах обозначаются как T(0), T(1), T(2) и T(3) и их соответствующие нормализованные корреляции как C(0), C(1), C(2) и C(3). Тогда условие классификации вокализованных сигналов задается посредством
[C(0)>0,605] И
[C(1)>0,605] И
[C(2)>0,605] И
[C(3)>0,605] И
[ >4] И
[|T(1)-T(0)|]<3 И
[|T(2)-T(1)|]<3 И
[|T(3)-T(2)|]<3
Вышеописанное условие классификации вокализованных сигналов показывает, что нормализованная корреляция должна быть достаточно высокой во всех подкадрах, оценки основного тона не должны расходиться на протяжении кадра и энергия должна быть сконцентрирована в низких частотах. Если это условие выполняется, классификация оканчивается посредством объявления текущего кадра как вокализованного. В противном случае текущий кадр объявляется как общий.
Хотя настоящее изобретение было описано в предшествующем описании со ссылкой на его неограничительные иллюстративные варианты осуществления, эти варианты осуществления могут модифицироваться как угодно в пределах объема прилагаемой формулы изобретения без отхода от сущности и сути настоящего изобретения.