Аудиодекодер, имеющий модуль расширения полосы частот с модулем регулирования энергии

Иллюстрации

Показать все

Изобретение относится к акустике, в частности, к устройствам для декодирования аудиосигналов. Аудиодекодер содержит модуль декодирования базовой полосы, модуль расширения полосы частот и средство комбинирования аудиосигнала базовой полосы и аудиосигнала расширения полосы частот. Модуль расширения полосы частот содержит модуль регулирования энергии, сконфигурированный таким образом, что в текущем аудиокадре, в котором происходит потеря аудиокадра, отрегулированная энергия сигнала для текущего аудиокадра для по меньшей мере одной полосы частот устанавливается на основе текущего коэффициента усиления для текущего аудиокадра. Текущий коэффициент усиления вычисляется на основе коэффициента усиления, взятого из предыдущего аудиокадра или из битового потока, и на основе оцененной энергии сигнала. Оцененная энергия сигнала вычисляется из спектра текущего аудиокадра аудиосигнала базовой полосы. Модуль расширения полосы частот содержит модуль задания коэффициента усиления. Модуль расширения частот содержит генератор шума и модуль синтеза сигналов. Технический результат – компенсация ошибок декодирования. 3 н. и 12 з.п. ф-лы, 5 ил.

Реферат

ОПИСАНИЕ

SBR (репликация спектральных полос), как другие методики расширения полосы частот, предназначена для кодирования и декодирования спектральных частей верхнего диапазона из аудиосигналов в добавление к этапу базового кодера. SBR стандартизована в [ISO09] и используется совместно с AAC в профиле MPEG-4 HE-AAC, который задействуется в различных стандартах приложений, например 3GPP [3GP12a], DAB+ [EBU10] и DRM [EBU12].

Декодирование SBR согласно уровню техники в сочетании с AAC описано в [ISO09, раздел 4.6.18].

Фиг.1 изображает декодер SBR согласно уровню техники, который содержит группу фильтров анализа и синтеза, декодирование данных SBR, генератор HF и средство регулирования HF:

- В декодировании SBR согласно уровню техники выходным сигналом из базового кодера является представление исходного сигнала с фильтрацией низких частот. Это является входным сигналом xpcm_вход для группы фильтров анализа QMF декодера SBR.

- Выходной сигнал из этой группы фильтров xQMF_ан передается генератору HF, где осуществляется корректирование. Корректирование, в сущности, является репликацией спектра низких полос в высокие полосы.

- xHF_корректированный с корректированным спектром теперь подается средству регулирования HF вместе со спектральной информацией высоких полос (огибающих), полученной из декодирования данных SBR. Информация огибающих будет декодирована по алгоритму Хаффмана, затем дифференциально декодирована и, наконец, деквантована для того, чтобы получить данные огибающих (см. фиг.2). Полученные данные огибающих являются набором коэффициентов масштабирования, которые покрывают конкретный промежуток времени, например полный кадр или его части. Средство регулирования HF надлежащим образом регулирует энергии корректированных высоких полос для того, чтобы максимально хорошо установить соответствие с исходными энергиями высоких полос на стороне кодера для каждой полосы k. Уравнение 1 и фиг.2 поясняют это:

gsbr[k]=EОпорн[k]/EОцУср[l]

EРег[k]=EОц[k] × gsbr[k] (1),

где

EОпорн[k] обозначает энергию для одной полосы k, переданную в закодированной форме в битовом потоке SBR;

EОц[k] обозначает энергию из одной высокой полосы k, корректированную генератором HF;

EОцУср[l] обозначает усредненную энергию высокой полосы внутри одной полосы l с коэффициентом масштабирования, определенной как диапазон полос между полосой начала klначало и полосой конца klконец:

(2)

EРег[k] обозначает энергию из одной высокой полосы k, отрегулированную средством регулирования HF с использованием усиленияsbr;

gsbr[k] обозначает один коэффициент усиления, возникший в результате деления, показанного в уравнении (1).

- Группа фильтров синтеза QMF декодирует обработанные сэмплы QMF xHF_рег в аудио PCM xpcm_выход.

Если восстановленный спектр имеет недостаток шума, который присутствовал в исходных высоких полосах, но не был скорректирован генератором HF, существует возможность добавить некоторый дополнительный шум с конкретным шумовым минимумом Q для каждой полосы k.

(3)

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

Декодирование SBR в сочетании с CELP/HVXC описано в [EBU12, раздел 5.6.2.2]. Декодер CELP/HVXC+SBR в DRM является близко родственным с декодированием SBR согласно уровню техники в HE-AAC, описанным в разделе 1.1.1. В сущности, применима фиг.1.

Декодирование информации огибающих приспособлено к спектральным свойствам речеподобных сигналов, как описано в [EBU12, раздел 5.6.2.2.4].

В обычном декодировании AMR-WB возбуждение высоких полос получается путем генерирования белого шума uHB1(n). Мощность возбуждения высоких полос устанавливается равной мощности возбуждения нижних полос u2(n),

что означает

Наконец, возбуждение высоких полос находится посредством

где - коэффициент усиления.

В режиме 23,85 кбит/с декодируется из принятого индекса усиления (побочная информация).

В режимах 6,60, 8,85, 12,65, 14,25, 15,85, 18,25, 19,85 и 23,05 кбит/с gHB оценивается с использованием голосовой информации, ограниченной [0,1, 1,0]. В первую очередь, находится наклон синтеза eнаклон:

(6),

где - синтез речи нижних полос с фильтрацией высоких частот (n) с частотой среза 400 Гц. Затем gHB находится как

(7),

где gSP=1-eнаклон - усиление для сигнала речи, gBG=1,25 gSP - усиление для сигнала фонового шума, и wSP - весовая функция, установленная равной 1, когда обнаружение голосовой активности (VAD) включено, и 0, когда VAD выключено. gHB ограничено между [0,1, 1,0]. В случае голосовых сегментов, где меньше энергии присутствует на высоких частотах, eнаклон приближается к 1, что приводит в результате к более низкому усилению gHB. Это уменьшает энергию генерируемого шума в случае голосовых сегментов.

Затем синтезирующий фильтр LP высоких полос AHB(z) получается из взвешенного синтезирующего фильтра LP низких полос:

,

где - интерполированный синтезирующий фильтр LP. было вычислено с анализом сигнала с частотой сэмплирования 12,8 кГц, но теперь используется для сигнала с 16 кГц. Это означает, что полоса 5,1-5,6 кГц в области 12,8 кГц будет отображена на 8,4-7,0 кГц в области 16 кГц.

Затем uHB(n) фильтруется посредством AHB(z). Выходной сигнал этого синтеза высоких полос SHB(n) фильтруется посредством полосового FIR-фильтра HHB(z), который имеет полосу пропускания от 6 до 7 кГц. Наконец, SHB прибавляется к синтезированной речи для создания синтезированного выходного сигнала речи.

В AMR-WB+ сигнал HF составлен из составляющих частоты выше (fs/4) входного сигнала. Для представления сигнала HF на низком уровне задействуется подход расширения полосы частот (BWE). В BWE информация энергии посылается декодеру в форме спектральной огибающей и энергии кадра, но тонкая структура сигнала экстраполируется в декодере из принятого (декодированного) сигнала возбуждения в сигнале LF.

Спектр сэмплированного с понижением сигнала SHF может рассматриваться как свернутая версия высокочастотной полосы перед сэмплированием с понижением. Анализ LP выполняется над SHF(n) для получения набора коэффициентов, который моделирует спектральную огибающую этого сигнала. Обычно необходимо меньше параметров, чем в сигнале LF. Здесь используется фильтр порядка 8. Коэффициенты LP затем преобразуются в ISP-представление и квантуются для передачи.

Синтез сигнала HF осуществляет некий вид механизма расширения полосы частот (BWE) и использует некоторые данные от декодера LF. Это является усовершенствованием механизма BWE, используемого в декодере речи AMR-WB (см. выше). Декодер HF подробно изображен на фиг.3.

Сигнал HF синтезируется в 2 этапа:

1. Расчет возбуждения HF;

2. Вычисление сигнала HF из возбуждения HF.

Возбуждение HF получается путем формирования сигнала возбуждения LF во временной области со скалярными коэффициентами (или усилениями) на основе подкадров с 64 сэмплами. Это возбуждение HF подвергается пост-обработке для уменьшения "зашумленности" выходного сигнала и затем фильтруется синтезирующим фильтром HF линейного предсказания 1/AHF(z). Результат дополнительно подвергается пост-обработке для сглаживания вариаций энергии. Для дополнительной информации просим ознакомиться с [3GP09].

Скрытие потери пакетов в SBR в сочетании с AAC определено в 3GPP TS 26.402 [3GP12a, раздел 5.2] и было впоследствии использовано повторно в DRM [EBU12, раздел 5.6.3.1] и DAB [EBU10, раздел A2].

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

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

Сверх того, закодированные дельта-значения шумового минимума устанавливаются равными нулю, что позволяет декодированному шумовому минимуму дельта-шума оставаться статичным. В конце процесса декодирования это означает, что энергия шумового минимума следует за энергией сигнала HF.

Кроме того, флаги для добавления синусов очищаются.

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

Скрытие SBR согласно уровню техники в сочетании с CELP/HVXC описано в [EBU12, раздел 5.6.3.2] и кратко очерчивается далее:

Всегда, когда поврежденный кадр обнаружен, предварительно определенный набор значений данных применяется к декодеру SBR. Это обеспечивает "статичную спектральную огибающую высокой полосы при низком относительном уровне проигрывания, демонстрирующую спад в отношении более высоких частот" [EBU12, раздел 5.6.3.2]. Здесь скрытие SBR добавляет некий вид комфортного шума, который не имеет специального затухания в области SBR. Это защищает уши слушателя от потенциально громких всплесков аудио и поддерживает впечатление постоянной полосы частот.

Скрытие согласно уровню техники BWE из G.718 описано в [ITU08, 7.11.1.7.1] и кратко очерчивается следующим образом:

В режиме малой задержки, который доступен исключительно для слоя 1 и 2, скрытие высокочастотной полосы 6000-7000 Гц выполняется точно тем же способом, что и тогда, когда никаких стираний кадров не происходит. Операция декодера чистого канала для слоев 1, 2 и 3 является следующей: слепое расширение полосы частот применяется. Спектр в диапазоне 6400-7000 Гц заполняется сигналом белого шума, надлежащим образом масштабированным в области возбуждения (энергия высокой полосы должна соответствовать энергии низкой полосы), затем он синтезируется посредством фильтра, найденного путем взвешивания из того же самого синтезирующего фильтра LP, который используется в области 12,8 кГц. Для слоев 4 и 5 никакое расширение полосы частот не выполняется, поскольку те слои покрывают полную полосу вплоть до 8 кГц.

В операции по умолчанию обработка низкой сложности выполняется для реконструкции высокочастотной полосы синтезированного сигнала при частоте сэмплирования 16 кГц. В первую очередь возбуждение масштабированной высокочастотной полосы U''HB(n) линейно затухает на протяжении кадра следующим образом

(9),

где длина кадра равна 320 сэмплов, и gзат(n) - коэффициент затухания, который дается посредством

(10)

В вышеуказанном уравнении - среднее усиление высоты. Это то же самое усиление, которое используется в течение скрытия адаптивной кодовой книги. Затем память полосового фильтра в диапазоне частот 6000-7000 Гц затухает с использованием gзат(n), найденного в уравнении 10, для предотвращения каких-либо разрывов. Наконец, высокочастотный сигнал возбуждения u'''(n), фильтруется посредством синтезирующего фильтра. Синтезированный сигнал затем добавляется к скрытому синтезу при частоте сэмплирования 16 кГц.

Скрытие согласно уровню техники слепого расширения полосы частот в AMR-WB очерчивается в [3GP12b, 6.2.4] и кратко резюмируется здесь:

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

В случае, когда кадр потерян, синтезирующий фильтр LP высоких полос получают обычным образом посредством коэффициентов LPC из базовой полосы. Единственное исключение состоит в том, что коэффициенты LPC не были декодированы из битового потока, но были экстраполированы с использованием обычного подхода скрытия AMR-WB.

Скрытие согласно уровню техники расширения полосы частот в AMR-WB+ очерчивается в [3GP09, 6.2] и кратко резюмируется здесь:

В случае потери пакета управляющие данные, которые являются внутренними для декодера HF, генерируются из вектора указателя плохого кадра BFI=(bfi0, bfi1, bfi2, bfi3). Этими данными являются bfiisfhf, BFIУСИЛЕНИЕ и количество подкадров для интерполяции ISF. Природа этих данных определена более подробно ниже:

bfiisfhf - двоичный флаг, указывающий потерю параметров ISF. Поскольку параметры ISF для сигнала HF всегда передаются в первом пакете (содержащем первый подкадр), являющимся HF20, 40 или 80, флаг потери всегда устанавливается равным указателю bfi первого подкадра (bfi0). То же самое остается верным для указания потерянных усилений HF. Если первый пакет/подкадр текущего режима потерян (HF20, 40 или 80), усиление потеряно и должно быть скрыто.

Скрытие векторов ISF HF очень подобно скрытию ISF для базовых ISF. Основная идея заключается в повторном использовании последнего хорошего вектора ISF, но смещает его в направлении вектора средних значений ISF (где вектор средних значений ISF формируется автономно):

(11)

Усиления BWE оцениваются согласно следующему исходному коду (в коде: ; 2.807458 - постоянная декодера).

/* использовать прошлые усиления, слегка сдвинутые в сторону средних значений */

*past_q=(0.9f*(past_q+20.0f)) - 20.0f;

for (i=0; i<4; i++) {

gain_q[i]=*past_q+2.807458f;

}

tmp=0.0;

for (i=0; i<4; i++) {

tmp += gain_q[i],

}

*past_q=0.25f*tmp - 2.807458f;

Для получения "усилений для установления соответствия амплитуде на fs/4" выполняется тот же самый алгоритм, что и в декодировании чистого канала, но с тем расширением, что ISF для части HF и/или LF могут уже быть скрыты. Все последующие этапы, такие как линейная интерполяция дБ, суммирование и применение усилений, являются теми же самыми, что и в случае чистого канала.

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

- оно было рандомизировано

- оно было усилено во временной области посредством усилений подкадров

- оно было сформировано в частотной области посредством фильтра LP

- энергия была сглажена с течением времени.

Затем синтез выполняется согласно фиг.3.

Публикация конференции AES 6789: Шнайдер, Краусс и Эрет [SKE06] описывает методику скрытия, которая повторно использует последние действительные данные огибающих SBR. Если более одного кадра SBR потеряно, применяется затухание. "Базовым принципом является просто зафиксировать последние известные действительные значения огибающих SBR, пока обработка SBR не сможет продолжиться с новыми переданными данными. Дополнительно затухание выполняется, если более одного кадра SBR является не декодируемым".

Публикация конференции AES 6962: Сан-Ук Рю и Кеннет Роуз [RR06] описывает методику скрытия, которая оценивает параметрическую информацию, задействующую данные SBR из предыдущего и следующего кадра. Огибающие высоких полос адаптивным образом оцениваются из изменения энергии в окружающих кадрах.

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

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

Эта цель может достигаться посредством аудиодекодера, сконфигурированного для создания аудиосигнала из битового потока, содержащего аудиокадры, причем аудиодекодер содержит:

модуль декодирования базовой полосы, сконфигурированный для получения непосредственно декодированного аудиосигнала базовой полосы из битового потока;

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

средство комбинирования, сконфигурированное для комбинирования аудиосигнала базовой полосы и аудиосигнала расширения полосы частот с целью создания аудиосигнала;

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

на основе текущего коэффициента усиления для текущего аудиокадра, причем текущий коэффициент усиления получается из коэффициента усиления из предыдущего аудиокадра или из битового потока, и

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

Аудиодекодер согласно изобретению связывает модуль расширения полосы частот с модулем декодирования базовой полосы в плане энергии или, иными словами, обеспечивает то, что модуль расширения полосы частот следует за модулем декодирования базовой полосы в смысле энергии в течение скрытия независимо от того, что делает модуль декодирования базовой полосы.

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

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

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

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

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

В отличие от декодера без затухания, имеющего расширение полосы частот с предварительно определенными уровнями энергии (как, например, декодер CELP/HVXC+SBR), который сохраняет только наклон спектра конкретного типа сигнала, изобретательский аудиодекодер работает независимо от спектральных характеристик сигналов так, что сенсорно декодированное ухудшение аудиосигнала избегается.

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

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

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

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

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

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

(12),

где обозначает энергию из одной полосы частот k модуля расширения полосы частот, отрегулированную для максимально хорошего выражения исходного распределения энергии; gbwe[n][k], gbwe[k] обозначает коэффициент усиления текущего кадра; и gbwe[n-1][k] обозначает коэффициент усиления предыдущего кадра.

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

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

(13),

где f(gbwe[n-1],cсиг[n-1]) обозначает функцию, зависящую от коэффициента усиления gbwe[n-1] предыдущего аудиокадра и класса сигнала cсиг[n-1] предыдущего аудиокадра. Классы сигналов могут ссылаться на классы звуков речи, таких как: шумные (с подклассами: взрывные, аффрикативные, фрикативные), сонорные (с подклассами: носовые, одноударные, аппроксиманты, гласные), боковые, дрожащие.

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

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

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

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

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

Пример можно увидеть в псевдокоде 1:

/* ограничить усиление в случае множественной потери кадров */

#ОПРЕДЕЛИТЬ BWE_УСИЛЕНИЕУМЕНЬШ 10

если (предыдущийФлагОшибкиКадра && (усиление[k] > BWE_УСИЛЕНИЕУМЕНЬШ) ) {

/* усиления, превосходящие первый порог в 50 раз, будут уменьшаться быстрее */

если (усиление[k] > 50*BWE_УСИЛЕНИЕУМЕНЬШ) {

усиление[k] /= 6;

}

иначе {

усиление[k] /= 4;

}

/* не позволять усилениям падать ниже BWE_УСИЛЕНИЕУМЕНЬШ */

если (усиление[k] < BWE_УСИЛЕНИЕУМЕНЬШ) {

усиление[k]=BWE_УСИЛЕНИЕУМЕНЬШ;

}

}

где предыдущийФлагОшибкиКадра - флаг, который указывает, присутствует ли множественная потеря кадра, BWE_УСИЛЕНИЕУМЕНЬШ обозначает первый порог, 50*BWE_УСИЛЕНИЕУМЕНЬШ обозначает второй порог, и усиление[k] обозначает текущий коэффициент усиления для полосы частот k.

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

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

Псевдокод 2 показывает это:

для (k=полосы) {

если !(флагОшибкиКадра) {

пред_шум[k]=nrgВысокаяПолоса[k]/уровеньШума[k];

}

иначе {

уровеньШума[k]=nrgВысокаяПолоса[k]/пред_шум[k];

}

}

где флагОшибкиКадра - флаг, указывающий, присутствует ли потеря кадра, и пред_шум[k] - отношение между энергией nrgВысокаяПолоса[k] полосы частот k и уровнем шума уровеньШума[k] полосы частот k.

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

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

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

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

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

То, оставлять или не оставлять зафиксированные усиления для первого хорошего кадра, зависит от задержки. Экспериментальное применение к кодекам с различными задержками показало различные преимущества для кодеков с различными задержками. Для кодеков с довольно малыми задержками (например 1 мс) лучше использовать новейшие усиления для первого хорошего аудиокадра.

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

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

Цель изобретения может достигаться посредством способа для создания аудиосигнала из битового потока, содержащего аудиокадры. Способ содержит этапы, на которых:

получают непосредственно декодированный аудиосигнал базовой полосы из битового потока;

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

комбинируют аудиосигнал базовой полосы и аудиосигнал расширения полосы частот с целью создания аудиосигнала;

причем в текущем аудиокадре, в котором происходит потеря аудиокадра, отрегулированная энергия сигнала для текущего аудиокадра для по меньшей мере одной полосы частот устанавливается

на основе текущего коэффициента усиления для текущего аудиокадра, причем текущий коэффициент усиления получается из коэффициента усиления из предыдущего аудиокадра или из битового потока, и

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

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

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

фиг.4 изображает вариант осуществления аудиодекодера согласно изобретению в схематичном виде; и

фиг.5 изображает кадрирование варианта осуществления аудиодекодера согласно изобретению.

Фиг.4 изображает вариант осуществления аудиодекодера 1 согласно изобретению в схематичном виде. Аудиодекодер 1 сконфигурирован для создания аудиосигнала AS из битового потока BS, содержащего аудиокадры AF. Аудиодекодер 1 содержит:

модуль декодирования базовой полосы, сконфигурированный для получения непосредственно декодированного аудиосигнала базовой полосы CBS из битового потока BS;

модуль 2 расширения полосы частот, сконфигурированный для получения параметрически декодированного аудиосигнала расширения полосы частот BES из аудиосигнала базовой полосы CBS и из битового потока BS, причем аудиосигнал расширения полосы частот BES основан на сигнале частотной области FDS, имеющем по меньшей мере одну полосу частот FB; и

средство 4 комбинирования, сконфигурированное для комбинирования аудиосигнала базовой полосы CBS и аудиосигнала расширения полосы частот BES с целью создания аудиосигнала AS;

причем модуль 3 расширения полосы частот содержит модуль 5 регулирования энергии, сконфигурированный таким образом, что в текущем аудиокадре AF2, в котором происходит потеря аудиокадра AFL, отрегулированная энергия сигнала для текущего аудиокадра AF2 для по меньшей мере одной полосы частот FB устанавливается

на основе текущего коэффициента усиления CGF для текущего аудиокадра AF2, причем текущий коэффициент усиления CGF получается из коэффициента усиления из предыдущего аудиокадра AF1 или из битового потока BS, и

на основе оцененной энергии сигнала EE для по меньшей мере одной полосы частот FB, причем оцененная энергия сигнала EE получается из спектра текущего аудиокадра AF2 аудиосигнала базовой полосы CBS.

Аудиодекодер 1 согласно изобретению связывает модуль 3 расширения полосы частот с модулем декодирования базовой полосы в плане энергии или, иными словами, обеспечивает то, что модуль 3 расширения полосы частот следует за модулем 2 декодирования базовой полосы в смысле энергии в течение скрытия независимо от того, что делает модуль 2 декодирования базовой полосы.

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

Посредством этого подхода никаких дополнительных данных (например