СХЕМА КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ АУДИО СИГНАЛОВ С НИЗКИМ БИТРЕЙТОМ С ПРИМЕНЕНИЕМ КАСКАДНЫХ ПЕРЕКЛЮЧЕНИЙ
LOW BITRATE AUDIO ENCODING/DECODING SCHEME USING CASCADED SWITCHES

Область техники, к которой относится изобретение
Изобретение относится к области кодирования аудио сигналов, а именно к области кодирования аудио сигналов с низким битрейтом.
Предпосылки создания изобретения и уровень техники
В данной области техники известны такие системы кодирования частотной области, как МР3 и ААС. Работа кодеров частотной области включает этап преобразования данных из временной области в частотную область, последующий этап квантования, при котором ошибка квантования контролируется на основе информации из психоакустического модуля, и этап кодирования, в ходе которого спектральные коэффициенты квантования и соответствующая служебная информация кодируются по методу энтропии при помощи кодовых таблиц.
С другой стороны, существуют кодеры, которые хорошо подходят для обработки речи, такие как AMR-WB+, описанные в 3GPP TS 26.290. Подобные схемы кодирования речи выполняют фильтрование временного сигнала с линейным предсказанием. Фильтрование с линейным предсказанием получило название от анализа входного временного сигнала с линейным предсказанием. Полученные коэффициенты LP фильтрования затем подвергаются квантованию/кодированию и передаются как служебная информация. Этот процесс известен как кодирование с линейным предсказанием (LPC). На выходе фильтра разностный сигнал предсказания или сигнал ошибки предсказания, который также называется сигнал возбуждения, кодируется при помощи кодера ACELP, использующего метод анализа через синтез, или кодера преобразований, который применяет преобразование Фурье с наложением. Решение о применении метода кодирования ACELP или ТСХ (Transform Coded eXcitation coding) принимается на основе алгоритма замкнутого или открытого цикла.
Системы аудио кодирования частотной области, такие как высокоэффективная система ААС, позволяют комбинировать саму систему кодирования ААС с методом репликации спектральной полосы и устройством кодирования объединенных стерео или многоканальных аудио сигналов, известных как "MPEG surround".
С дугой стороны, системы кодирования речи, такие как AMR-WR+, включают этап коррекции высоких частот и применяются для стерео сигналов.
Системы кодирования частотной области имеют преимущество благодаря тому, что обеспечивают высокое качество музыкальных сигналов при низком битрейте. Однако качество речевых сигналов с низким битрейтом остается невысоким. Использование систем кодирования речи приводит к высокому качеству речевых сигналов с низким битрейтом, но качество музыкальных сигналов с низким битрейтом оказывается низким.
Краткое описание
Задачей настоящего изобретения является усовершенствование концепции кодирования/декодирования.
Поставленная задача достигается благодаря аудио кодеру согласно п.1, методу аудио кодирования согласно п.15, декодеру согласно п.16, методу декодирования согласно п.23, кодированному сигналу согласно п.24 и компьютерной программе согласно п.25.
Первой частью изобретения является аудио кодер для кодирования входящего аудио сигнала, который находится в исходной области. Аудио кодер включает: первую кодирующую ветвь для кодирования аудио сигнала при помощи первого кодирующего алгоритма, в результате чего генерируется первый кодированный сигнал; вторую ветвь кодирования для кодирования аудио сигнала при помощи второго кодирующего алгоритма, в результате чего генерируется второй кодированный сигнал, при этом первый кодирующий алгоритм отличается от второго кодирующего алгоритма; первый переключатель для перехода от первой ветви кодирования ко второй ветви кодирования для того, чтобы порция входного аудио сигнала на выходе кодера стала кодированным сигналом первого или второго типа; вторая ветвь кодирования включает: конвертер для преобразования аудио сигнала во вторую область, отличную от первой области; первую ветвь обработки для обработки аудио сигнала во второй области для получения первого обработанного сигнала; вторую ветвь обработки для преобразования сигнала в третью область, отличную от первой и второй областей, а также для обработки сигнала в третьей области, в результате чего получается второй обработанный сигнал; второй переключатель для переключения между первой ветвью обработки и второй ветвью обработки, благодаря этому часть входного аудио сигнала направляется на вторую ветвь кодирования, таким образом, либо первый обработанный сигнал, либо второй обработанный сигнал становится вторым кодированным сигналом.
Второй частью изобретения является декодер для декодирования кодированного аудио сигнала, кодированный аудио сигнал содержит первый кодированный сигнал, первый обработанный сигнал во второй области и второй обработанный сигнал в третьей области; первый кодированный сигнал, первый обработанный сигнал и второй обработанный сигнал относятся к разным временным порциям декодированного аудио сигнала; первая, вторая и третья области отличаются друг от друга.
Декодер включает: первую ветвь декодирования для декодирования первого кодированного сигнала на основе первого алгоритма кодирования; вторую ветвь декодирования, канал для декодирования первого или второго обработанного сигнала; вторая ветвь декодирования включает первую ветвь инверсной обработки для инверсной обработки первого обработанного сигнала, в результате чего получается первый инвертированный сигнал во второй области; вторую ветвь инверсной обработки для обработки второго обработанного сигнала, в результате чего получается второй инвертированный сигнал во второй области; первый блок объединения для соединения первого и второго инвертированного сигналов, в результате чего получается объединенный сигнал во второй области; конвертер для преобразования объединенного сигнала в первую область; второй блок объединения для соединения конвертированного сигнала в первой области и декодированного первого сигнала на выходе первой ветви декодирования, в результате чего получается декодированный выходной сигнал в первой области.
Предпочтительная форма осуществления настоящего изобретения имеет два последовательно расположенных переключателя. Первый переключатель выбирает между кодированием в спектральной области с применением кодера спектральной области и кодированием в LPC-области, то есть обработки сигнала на выходе этапа LPC-анализа. Второй переключатель применяется для переключения в LPC-области для того, чтобы кодировать сигнал LPC-области в самой LPC-области при помощи кодера ACELP или кодировать сигнал в спектральной LPC-области, для чего необходим конвертер для преобразования сигнала LPC-области в спектральную LPC-область, которая отличается от спектральной области, так как спектральная LPC-область показывает спектр фильтрованного LPC-сигнала, а не спектр сигнала временной области.
Первый переключатель выбирает одну из двух ветвей обработки, одна ветвь основывается на модели приемника и/или психоакустической модели, то есть на воспринимаемых на слух наложениях звука, вторая ветвь основывается на модели источника и сегментных вычислениях SNR. Например, одна ветвь включает кодер частотной области, вторая ветвь включает LPC-кодер, а именно речевой кодер. Модель источника обычно представляет собой обработку речи, поэтому обычно используется LPC.
Второй переключатель выбирает между двумя ветвями обработки, но в области, отличной от области «внешней» первой ветви. Необходимо повторить, что одна «внутренняя» ветвь, в основном, основывается на модели источника или на SNR-вычислениях, вторая «внутренняя» ветвь может основываться на модели приемника и/или психоакустической модели, то есть на маскировке, или, по крайней мере, включает параметры кодирования частотной/спектральной области.
Например, одна «внутренняя» ветвь включает кодер частотной области/спектральный конвертер, вторая ветвь включает кодер, кодирующий в другой области, такой как LPC-область; этот кодер представляет собой, например, CELP или ACELP квантователь/скейлер, который обрабатывает входной сигнал без спектрального преобразования.
Следующая предпочтительная форма осуществления настоящего изобретения представляет собой аудио кодер, включающий первую ветвь кодирования, ориентированную на данные приемника, а именно ветвь кодирования спектральной области; вторую ветвь кодирования, ориентированную на данные источника или SNR-данные, а именно ветвь кодирования LPC-области; переключатель между первой и второй ветвями кодирования; вторая ветвь кодирования включает конвертер, который выполняет преобразование данных в определенную область, отличную от временной области, таким образом, на этапе LPC-анализа генерируется сигнал возбуждения; вторая ветвь кодирования далее включает такую особую область, как ветвь обработки LPC-области, и особую спектральную область - ветвь обработки спектральной LPC-области; и дополнительный переключатель между ветвью кодирования LPC-области и ветвью кодирования особой спектральной области.
Следующая форма осуществления настоящего изобретения представляет собой аудио декодер, включающий первую область - ветвь декодирования спектральной области, вторую область - ветвь декодирования LPC-области, которая декодирует такие сигналы, как сигнал возбуждения во второй области, и третью область - LPC-спектральную декодирующую ветвь, которая декодирует такие сигналы, как сигнал возбуждения в третьей области, то есть LPC-спектральной области; третья область появляется в результате частотного преобразования из второй области; декодер также имеет первый переключатель между сигналом второй области и сигналом третьей области и второй переключатель между декодером первой области и декодером второй или третьей области.
Краткое описание чертежей
Предпочтительные формы осуществления настоящего изобретения последовательно описываются в соответствии с прилагаемыми схемами:
Фиг.1а - схема системы кодирования в соответствии с первой частью настоящего изобретения;
Фиг.1b - схема системы декодирования в соответствии с первой частью настоящего изобретения;
Фиг.1с - схема системы кодирования в соответствии со следующим аспектом настоящего изобретения;
Фиг.2а - схема системы кодирования в соответствии со второй частью настоящего изобретения;
Фиг.2b - схема системы декодирования в соответствии со второй частью настоящего изобретения;
Фиг.2с - схема системы кодирования в соответствии со следующим аспектом настоящего изобретения;
Фиг.3а показывает схему кодирования в соответствии со следующим аспектом настоящего изобретения;
Фиг.3b показывает схему декодирования в соответствии со следующим аспектом настоящего изобретения;
Фиг.3с схематично представляет устройство/метод кодирования с каскадными переключателями;
Фиг.3d схематично представляет устройство/метод декодирования, где применяются каскадные блоки объединения;
Фиг.3е схематично показывает сигнал во временной области и соответствующую репрезентацию кодированного сигнала, а также небольшие зоны плавного перехода для обоих кодированных сигналов;
Фиг.4а показывает схему с переключателем, который расположен перед ветвями кодирования;
Фиг.4b показывает схему системы кодирования с переключателем, который расположен за ветвями кодирования;
Фиг.4с показывает схему предпочтительной формы реализации изобретения с блоком объединения;
Фиг.5а показывает форму волны речевого сегмента во временной области как квазипериодического или импульсного сигнального сегмента;
Фиг.5b показывает спектр сегмента Фиг.5а;
Фиг.5с показывает сегмент невокализованной речи во временной области в качестве примера шумоподобного сегмента;
Фиг.5d показывает спектр формы волны во временной области в соответствии с Фиг.5с;
Фиг.6 схематично показывает метод анализа через синтез, используемый кодером CELP;
Фиг.7a-7d схематично показывают вокализованные/невокализованные сигналы возбуждения в качестве примеров импульсных сигналов;
Фиг.7е показывает этап LPC со стороны кодера, который обеспечивает данные о кратковременном прогнозировании и ошибке предсказания сигнала (возбуждения);
Фиг.7f показывает форму реализации устройства LPC для генерации взвешенного сигнала;
Фиг.7g показывает форму реализации изобретения, при которой происходит преобразование взвешенного сигнала в сигнал возбуждения в результате применения инверсного взвешивания и последующий анализ сигнала возбуждения, как этого требует конвертер 537 на Фиг.2b;
Фиг.8 показывает схему объединенного многоканального алгоритма в соответствии с формой реализации настоящего изобретения;
Фиг.9 показывает предпочтительную форму реализации алгоритма расширения полосы частот;
Фиг.10а показывает детальное описание переключателя при выполнении переключения по незамкнутому циклу;
Фиг.10b показывает описание переключателя при выполнении переключения по замкнутому циклу.
Описание изобретения
Фиг.1а показывает форму реализации изобретения, имеющую два каскадных переключателя. На вход переключателя 200 поступают моно сигнал, стерео сигнал или многоканальный сигнал. Переключатель 200 контролируется блоком принятия решений 300. Блок принятия решений получает на входе сигнал, поступающий также в блок 200. Кроме этого, блок принятия решений 300 может также получать служебную информацию, которая включена в поступающий моно, стерео или многоканальный сигнал или которая соотносится с ним. Служебная информация может, например, поступать от устройства, из которого исходит моно, стерео или многоканальный сигнал.
Блок принятия решений 300 приводит в действие переключатель 200, который направляет сигнал либо по ветви частотного кодирования 400, которая показана как верхняя ветвь на фиг.1а, либо по ветви кодирования в LPC-области 500, которая показана как нижняя ветвь на фиг.1а. Основным элементом ветви кодирования в частотной области является блок спектрального преобразования 410, который выполняет преобразование обычного выходного сигнала (этот вопрос будет обсуждаться далее) в спектральную область. Блок спектрального преобразования может применять алгоритмы MDCT, QMF и FFT, вейвлет-анализ и банк фильтров, например многополосный банк фильтров, который имеет определенное количество каналов, где каждый сигнал поддиапазона имеет вещественное или комплексное значение. Сигнал на выходе спектрального преобразователя 410 кодируется с помощью спектрального аудио кодера 421, который может включать блоки обработки согласно системе кодирования ААС.
В целом ветвь обработки 400 представляет собой обработку сигнала на основе модели восприятия или модели приемника. Поэтому эта ветвь моделирует систему восприятия звука человеком, которая воспринимает звук. В отличие от нее ветвь обработки сигнала 500 генерирует сигнал в стадии возбуждения, затухания или в области LPC. В обобщенном виде ветвь обработки 500 представляет собой обработку в условиях речевой модели или модели генерирования информации. Для речевых сигналов эта модель представляет собой модель воспроизводства речи/звука человеком. Однако если звук имеет другие характеристики, поступает от иного источника и кодированию подвергается другая модель, то ветвь обработки 500 также может отличаться. На нижней ветви кодирования 500 основным элементом является блок LPC 510, на выходе которого генерируются LPC-данные, контролирующие параметры LPC-фильтров. Эти LPC-данные передаются в декодер. На этапе блока LPC 510 выходной сигнал является сигналом LPC-области, который состоит из сигнала возбуждения и/или взвешенного сигнала. Блок LPC, как правило, генерирует на выходе сигнал LPC-области, который может быть любым сигналом в области LPC, таким как сигнал возбуждения, показанный на Фиг.7е, или взвешенный сигнал, показанный на Фиг.7f, или любой другой сигнал, который генерируется с применением коэффициентов LPC-фильтров. Кроме этого, блок LPC может также определять и квантовать/кодировать эти коэффициенты.
На этапе принятия решения учитывается тип сигнала, блок принятия решений определяет музыкальные/речевые сигналы и таким образом контролирует переключатель 200: музыкальные сигналы направляются по верхней ветви 400, а речевые сигналы - по нижней ветви 500. В одной из форм реализации настоящего изобретения блок принятия решений направляет свою информацию на выход битового потока, чтобы декодер мог использовать эти данные для корректного выполнения процедуры декодирования. Такой декодер показан на фиг.1b. Сигнал на выходе спектрального аудио кодера 421 после передачи становится входным сигналом спектрального аудио декодера 431. Выходной сигнал спектрального аудио декодера 431 является входным сигналом конвертера временной области 440. Аналогичным образом сигнал на выходе ветви кодирования LPC-области 500 на фиг.1а принимается на стороне декодера и обрабатывается элементами 531, 533, 534 и 532 для получения LPC-сигнала возбуждения. LPC-сигнал возбуждения является входным сигналом для синтезирующего LPC-блока 540, который далее принимает в качестве входного сигнала параметры LPC, генерируемые соответствующим блоком LPC-анализа 510. Выходной сигнал конвертера временной области 440 и/или выходной сигнал синтезирующего LPC-блока 540 поступают на вход переключателя 600. Переключатель 600 контролируется управляющим сигналом, который создается, например, блоком принятия решений 300, или поступает извне от источника исходного моно, стерео или многоканального сигнала. Выходным сигналом переключателя 600 является моно, стерео или многоканальный сигнал.
Входным сигналом переключателя 200 и блока принятия решений 300 может быть моно, стерео или многоканальный сигнал или общий аудио сигнал. В зависимости от выбора, который принимается на основе входного сигнала, поступающего в переключатель 200, или любого другого внешнего источника, каким может быть сигнал, поступающий от генератора исходного сигнала совместно с входным сигналом в переключатель 200, переключатель 200 выбирает между ветвью частотного кодирования 400 и ветвью LPC-кодирования 500. Ветвь частотного кодирования 400 включает блок спектрального преобразования 410 и последующий блок дискретизации/кодирования 421. Блок дискретизации/кодирования может обладать любыми функциональными возможностями, которыми обладают современные частотные кодеры, такие как кодер ААС. Кроме этого, этап квантования, производимый блоком квантования/кодирования 421, может контролироваться с помощью психоакустической модели, которая генерирует такую психоакустическую информацию, как порог маскировки над частотой, и передает ее на вход блока 421.
Выходной канал переключателя на ветви кодирования LPC обрабатывается блоком LPC-анализа 510, который генерирует служебные данные LPC и LPC-сигнал. Согласно изобретению, кодер сигнала возбуждения имеет дополнительный переключатель, который направляет для дальнейшей обработки LPC-сигнал либо в блок квантования/кодирования 522, либо в блок квантования/кодирования 524, который обрабатывает спектральные значения в LPC-области. В этом случае сигнал проходит через спектральный преобразователь 523, а затем направляется на вход блока квантования/кодирования 524. Переключатель 521 управляется в режиме открытого цикла или закрытого цикла в зависимости от настроек, которые описываются, например, в технической спецификации AMR-WB+.
В режиме управления закрытого цикла кодер дополнительно имеет блок инверсного квантования/кодирования 531 для LPC-сигнала, блок инверсного квантования/кодирования 533 для спектрального LPC-сигнала и инверсный спектральный конвертер 534 для выходного сигнала блока 533. Как кодированные сигналы, так и декодированные сигналы всех направлений обработки второй ветви кодирования направляются на вход блока управления переключателем 525. В блоке управления переключателем два выходных сигнала сравниваются друг с другом и/или целевой функцией, либо целевая функция вычисляется на основе сравнения отклонений обоих сигналов. В этом случае сигнал, имеющий меньшие отклонения, становится основой для выбора, который принимает переключатель 521. В том случае, если обе ветви имеют нестабильный битрейт, выбирается та ветвь, которая имеет более низкий битрейт, даже если соотношение сигнал/шум этой ветви ниже, чем такое же соотношение другой ветви. Кроме этого, целевая функция может применять в качестве входного сигнала соотношение сигнал/шум каждого сигнала и битрейт каждого сигнала и/или дополнительные критерии для того, чтобы прийти к лучшему решению и соответствовать определенной цели. Например, если целью является максимально низкий битрейт, тогда целевая функция будет, в основном, основываться на битрейте обоих сигналов на выходе элементов 531, 534.
Однако когда целью является получение максимального качества для определенного битрейта, тогда блок управления переключателем 535 может, например, отклонять сигналы, которые имеют битрейт выше или ниже установленного показателя. Блок управления будет также выбирать сигналы, имеющие лучшее соотношение сигнал/шум, то есть те сигналы, которые имеют наименьшие отклонения по показателям квантования/кодирования.
Схема декодирования в соответствии с настоящим изобретением, как было указано выше, показана на фиг.1b. Для трех возможных типов выходных сигналов существуют отдельные блоки декодирования/аналогового преобразования 431, 531 или 533. Блок 431 имеет на выходе спектральные данные, которые преобразовываются во временную область при помощи частотно-временного конвертера 440, блок 531 имеет на выходе сигнал LPC-области. И блок 533 имеет на выходе спектральные данные LPC. На входе переключателя 532 принимаются только LPC-сигналы, поэтому спектральные LPC-данные проходят через блок преобразования 534. Выходной сигнал переключателя 532 преобразовывается обратно во временную область при помощи LPC-синтезатора 540, который управляется при помощи LPC-параметров, которые генерируются на стороне кодера и передаются в декодер. Следом за блоком 540 обе ветви декодирования принимают параметры временной области, которые применяются в соответствии с управляющим сигналом. В итоге генерируется аудио сигнал, который может быть моно, стерео или многоканальным сигналом в соответствии с тем сигналом, который поступал на вход схемы кодирования на фиг.1а.
Фиг.1с показывает форму реализации изобретения с иной структурой переключателя 521, которая подобна структуре на фиг.4b.
Фиг.2а показывает предпочтительную схему кодирования в соответствии со второй частью изобретения. Переключателю 200 предшествует общая схема предварительной обработки, которая содержит блок объемного/сведенного стерео 101, генерирующий на выходе параметры сведенного стерео и выходной моно сигнал, который получается в результате микширования с понижением входного сигнала, имеющего два или более канала.
Сигнал на выходе блока 101 может иметь большее количество сигналов, но благодаря функции микширования с понижением блока 101 количество каналов на выходе блока 101 будет меньше, чем количество каналов на входе блока 101.
Общая схема предварительной обработки может иметь вместо блока 101 или в дополнение к нему блок расширения полосы частот 102. Как показано на фиг.2а, выходной сигнал блока 101 является входным сигналом блока расширения полосы частот 102, который в кодере на фиг.2а генерирует на выходе сигнал с ограниченной полосой, например сигнал низкого диапазона. Желательно также, чтобы частота дискретизации сигнала была понижена (например, в два раза). Что касается полосы высоких частот сигнала на входе блока 102, то параметры расширения полосы частот, такие как огибающая спектра, параметры обратной фильтрации, параметры шумового порога и т.д., указанные в профиле НЕААС MPEG-4, генерируются и направляются в мультиплексер битового потока 800.
Блок принятия решений 300 направляет сигнал на вход блока 101 или блока 102 и делает выбор между режимом обработки музыки и режимом обработки речи. В случае режима обработки музыки выбирается верхняя ветвь кодирования 400, в случае режима обработки речи - нижняя ветвь кодирования 500. Желательно, чтобы блок принятия решений в дополнение к этому управлял блоком совмещенного стерео 101 и/или блоком расширения полосы частот 102 так, чтобы эти блоки могли адаптироваться к определенным задачам. Так, когда блок принятия решений определяет, что определенная временная часть входного сигнала относится к первому режиму обработки, то есть к режиму обработки музыки, тогда некоторыми параметрами блока 101 и/или блока 102 может управлять блок принятия решений 300. И наоборот, когда блок принятия решений 300 определяет, что сигнал относится к режиму обработки речи или, в общем, ко второй ветви обработки LPC, тогда определенными параметрами блоков 101 и 102 может управлять блок принятия решений 300.
Желательно, чтобы ветвь кодирования 400 производила спектральное преобразование на основе MDCT-преобразования. Также желательно, чтобы MDCT-преобразование было деформированным во времени, сила деформации может колебаться от нуля до высоких показателей. При силе деформации, равной нулю, преобразование MDCT, производимое блоком 411, называется прямым. Показатель временной деформации и служебная информация о временной деформации могут передаваться на вход мультиплексера битового потока 800 в качестве служебной информации.
На ветви кодирования LPC кодер содержит основной блок ACELP 526, который вычисляет увеличение тона, запаздывание тона шага и/или данные кодовой книги, такие как индексы кодовой книги и показатели увеличения. Режим ТСХ, согласно 3GPP TS 26.290, подвергает обработке взвешенный на основе восприятия сигнал в области преобразования. Подвергшийся преобразованию Фурье взвешенный сигнал квантуется с помощью решетки разделения с изменяющимися показателями (алгебраическое векторное квантование) посредством квантования на основе показателя шума. Преобразование вычисляется для 1024, 512 или 256 окон отсчетов. Сигнал возбуждения извлекается при инверсной фильтрации квантованного взвешенного сигнала через инверсный взвешивающий фильтр.
На второй ветви кодирования 400 спектральный конвертер имеет особым образом адаптированный блок MDCT, который обладает определенными оконными функциями, применяющимися вслед за этапом квантования/энтропийного метода кодирования, который может включать один этап векторного квантования. Однако желательно, чтобы этот этап комбинировался со скалярным квантователем/энтропийным кодером, подобным квантователю/кодеру ветви кодирования в частотной области, т.е. блоку 421 на Фиг.2а.
Вторая ветвь кодирования имеет блок LPC 510, за которым следует переключатель 521, и далее снова блок ACELP 526 или блок ТСХ 527. Кодер ACELP описывается в 3GPP TS 26.190, ТСХ описывается в 3GPP TS 26.290. Блок ACELP принимает сигнал возбуждения LPC, который вычисляется согласно процедуре, показанной на фиг.7е. Блок ТСХ 527 принимает взвешенный сигнал, процедура генерирования которого показана на Фиг.7f.
-1
В блоке ТСХ применяется преобразование к взвешенному сигналу, который вычисляется при помощи фильтрации входного сигнала через взвешивающий фильтр LPC. Предпочтительная форма реализации настоящего изобретения применяет взвешивающий фильтр, который представлен выражением: (1-A(z/γ))/(1-µz). Таким образом, взвешенный сигнал является сигналом в LPC-области и его преобразование также относится к LPC-области. Сигнал, обработанный блоком ACELP 526, является сигналом возбуждения, он отличается от сигнала, обработанного блоком 527, но оба сигнала относятся к LPC-области.
-1
-1
На стороне декодера, показанного на фиг.2b, после инверсного спектрального преобразования в блоке 537, применяется инверсный взвешивающий фильтр, который представлен выражением: (1-µz)/(1-A(z/γ)). Затем сигнал фильтруется согласно выражению (1-A(z)) и направляется в LPC-область возбуждения. Таким образом, конверсия в блок LPC 534 и блок ТСХ 537 включает инверсное преобразование и фильтрацию согласно выражению: , благодаря чему осуществляется конверсия из области взвешенных сигналов в область сигналов возбуждения.
Несмотря на то что блок 510 на фиг.1а, 1с, 2а, 2с показывает один блок, блок 510 может иметь на выходе различные сигналы, если эти сигналы присутствуют в LPC-области. Действительный режим блока 510, который может функционировать в режиме сигнала возбуждения или в режиме взвешенного сигнала, зависит от положения переключателя. Кроме этого, блок 510 может иметь два параллельных устройства обработки, одно из которых функционирует так, как это показано на фиг.7е, второе - так, как показано на фиг.7f. Таким образом, блок LPC на выходе может иметь LPC-сигнал возбуждения, взвешенный LPC-сигнал или любой другой LPC-сигнал.
-1
-1
-1
На второй ветви кодирования (ACELP/TCX), показанной на фиг.2а и 2с, сигнал предварительно выделяется фильтром 1-0.68z до этапа кодирования. На этапе декодирования в блоках ACELP/TCX, как показано на фиг.2b, синтезированный сигнал подвергается процедуре, обратной выделению, с помощью фильтра 1/(1-0.68z). Предварительное выделение может быть частью блока LPC 510, где сигнал выделяется до этапа LPC-анализа и квантования. Аналогичным образом обратная процедура может быть частью блока LPC-синтеза LPC 540.
Фиг.2с показывает следующий вариант реализации изобретения, проиллюстрированный на фиг.2а, но с другой организацией переключателя 521, подобно принципу, продемонстрированному на фиг.4b.
Предпочтительная форма реализации изобретения содержит первый переключатель 200 (см. фиг.1а или 2а), который контролируется в режиме открытого цикла (как показано на фиг.4а), и второй переключатель, который контролируется в режиме закрытого цикла (как показано на фиг.4b).
-1
Например, на фиг.2с показан второй переключатель, который расположен после блоков ACELP и ТСХ, то же самое расположение показано на фиг.4b. Далее на первой ветви обработки первый блок LPC представляет LPC-сигнал возбуждения, а на второй линии обработки второй блок LPC представляет взвешенный LPC-сигнал. Таким образом, первый LPC-сигнал образуется путем фильтрации согласно выражению: (1-A(z)), благодаря чему сигнал переводится в разностную LPC-область, второй LPC-сигнал образуется путем фильтрации согласно выражению: (1-A(z/γ))/(1-µz), благодаря чему сигнал переводится в LPC-область взвешенных сигналов.
Фиг.2b иллюстрирует схему декодирования, соответствующую схеме кодирования на фиг.2а. Битовый поток, генерируемый мультиплексером битового потока 800 на фиг.2а, является входным сигналом для демультиплексера битового потока 900. В зависимости от данных, поступающих, например, из битового потока, с помощью блока определения режима 601 переключатель на стороне декодера 600 принимает решение направить в блок расширения частотной полосы 701 либо сигналы верхней ветви, либо сигналы нижней ветви. Блок расширения частотной полосы 701 принимает служебную информацию от демультиплексера битового потока 900. Основываясь на этой информации, а также на данных блока определения режима 601 блок расширения частотной полосы восстанавливает высокий диапазон частот на базе низких частот выходного сигнала переключателя 600.
Сигнал с полной полосой частот, который генерируется блоком 701, передается на этап обработки в блок объемного/совмещенного стерео сигнала 702, который восстанавливает два стерео канала или несколько каналов. Как правило, на выходе блока 702 имеется большее количество каналов, чем на входе. В зависимости от приложения вход блока 702 может иметь два канала, как в режиме стерео, или большее количество каналов, однако выход блока 702 будет иметь большее количество каналов, чем вход.
Как было сказано выше, переключатель 200 выполняет переключение между двумя ветвями, поэтому одна ветвь получает сигнал для обработки, а вторая ветвь не получает. Альтернативный вариант реализации изобретения включает переключатель, который расположен, например, за кодером 421 или кодером возбуждения 522, 523, 524, что означает, что обе ветви 400 и 500 обрабатывают один и тот же сигнал параллельно. Для того чтобы не дублировать битрейт выбирается только один выходной сигнал из двух ветвей кодирования 400 и 500, который далее становится выходным битовым потоком. Блок принятия решений функционирует таким образом, что сигнал, направляемый в битовый поток, минимизирует определенную функцию издержки. Функция издержек представляет собой полученный битрейт и отклонение, полученное на базе восприятия, или битрейт и отклонение вместе. Таким образом, в этом режиме или в режиме, показанном на предыдущих фигурах, блок принятия решений может функционировать в режиме закрытого цикла для того, чтобы быть уверенным, что в итоге только тот выходной сигнал ветви кодирования направляется в битовый поток, который имеет минимальный битрейт для определенного отклонения на базе восприятия или имеет минимальное отклонение для определенного битрейта. В режиме закрытого цикла входной сигнал обратной связи может быть получен от трех блоков квантования/масштабирования 421, 522 и 524 на фиг.1а.
В варианте изобретения, имеющем два переключателя, то есть переключатель 200 и переключатель 521, желательно, чтобы временное разрешение для первого переключателя было ниже, чем временное разрешение для второго переключателя. Иными словами, порции входного сигнала, направляемые к первому переключателю, были бы больше, чем порции сигнала, направляемые ко второму переключателю, который функционирует в LPC-области. Например, переключатель 200, который выбирает между частотной областью и LPC-областью, может переключать порции сигнала длиной 1024 отсчета, а второй переключатель может переключать порции длиной 256 отсчетов.
Несмотря на то что некоторые из фиг.1a-10b представляют собой схемы устройства, эти схемы одновременно являются иллюстрациями метода, где функциональные блоки соответствуют этапам применяемого метода.
Фиг.3а показывает аудио кодер для получения кодированного аудио сигнала на выходе первой ветви кодирования 400 и второй ветви кодирования 500. Кроме этого, кодированный аудио сигнал включает служебную информацию типа параметров предварительной обработки на соответствующем этапе или информацию об управлении переключателей, как упоминалось при рассмотрении предыдущих фигур.
Желательно, чтобы первая ветвь кодирования применялась для кодирования среднего аудио сигнала 195 в соответствии с первым алгоритмом кодирования, который является алгоритмом модели приемника. Первая ветвь кодирования 400 генерирует первый кодированный выходной сигнал, который представляет собой кодированную репрезентацию спектральной информации среднего аудио сигнала 195.
Далее вторая ветвь кодирования 500 применяется для кодирования среднего аудио сигнала 195 в соответствии со вторым алгоритмом кодирования.
Второй алгоритм кодирования является алгоритмом модели источника, он генерирует во втором кодированном выходном сигнале кодированные параметры для модели источника информации, которые представляют средний аудио сигнал.
Далее аудио кодер включает этап общей предварительной обработки 99 для того, чтобы получить средний аудио сигнал 195. Если быть более точным, то на этапе общей предварительной обработки входной сигнал 99 обрабатывается таким образом, что средний аудио сигнал 195, то есть сигнал на выходе этапа предварительной обработки, представляет собой сжатую версию входного аудио сигнала.
Метод аудио кодирования для получения кодированного аудио сигнала включает этап кодирования 400 среднего аудио сигнала 195 в соответствии с первым алгоритмом кодирования; первый алгоритм кодирования является алгоритмом кодирования на базе модели приемника, благодаря которому в первом выходном сигнале генерируется кодированная спектральная информация, которая представляет аудио сигнал; этап кодирования 500 среднего аудио сигнала 195 в соответствии со вторым алгоритмом кодирования, второй алгоритм кодирования является алгоритмом на базе модели источника, в итоге второй выходной сигнал содержит кодированные параметры для модели источника информации, которые представляют средний сигнал 195; этап общей предварительной обработки 100, в результате которого входной аудио сигнал 99 преобразуется в средний аудио сигнал 195, при этом средний аудио сигнал 195 представляет собой сжатую версию входного аудио сигнала 99; в результате кодированный сигнал представляет собой либо часть первого выходного сигнала, либо часть второго выходного сигнала. Изобретенный метод включает следующий этап кодирования определенной части среднего аудио сигнала с использованием первого алгоритма кодирования или второго алгоритма кодирования или кодирование сигнала с использованием обоих алгоритмов, в результате чего на выходе имеется кодированный сигнал, полученный с применением первого или второго алгоритмов кодирования.
В целом алгоритм кодирования аудио сигнала, применяемый первой ветвью кодирования 400, отражает и моделирует ситуацию аудио приемника. Приемником аудио информации обычно является человеческое ухо. Ухо человека можно смоделировать как частотный анализатор. Поэтому первая ветвь кодирования имеет на выходе кодированную спектральную информацию. Желательно, чтобы первая ветвь кодирования далее включала психоакустическую модель для дополнительного применения порога психоакустической маскировки. Психоакустическая маскировка применяется при квантовании спектральных значений аудио сигнала, когда квантование выполняется таким образом, что при квантовании спектральных значений, которые находятся ниже психоакустического порога маскирования, появляется шум квантования.
Вторая ветвь кодирования представляет модель источника информации, которая генерирует аудио звук. Таким образом, модель источника информации включает модель речи, которой является этап LPC-анализа, то есть этап трансформации сигнала из временной области в область LPC, и последующий этап обработки разностного LPC-сигнала, то есть сигнала возбуждения. Альтернативные модели источника звука представляют собой модели для репрезентации определенных инструментов или других источников особых звуков, которые существуют в действительности. Выбор между различными моделями источника звука осуществляется при наличии нескольких доступных моделей источников звука на основе SNR-вычислений, то есть вычислении, которое определяет, какая из моделей наилучшим образом подходит для кодирования определенной временной и/или частотной порции аудио сигнала. Желательно, чтобы переключение между ветвями кодирования выполнялось во временной области, то есть определенная временная часть кодировалась при помощи одной модели и отличная от нее временная часть среднего сигнала кодировалась при помощи другой ветви кодирования.
Модели источников информации представлены определенными параметрами. Если рассматривать современные кодеры речи, такие как AMR-WB+, то модель речи будет представлена LPC-параметрами и параметрами кодированного возбуждения. Кодер AMR-WB+ имеет кодеры ACELP и ТСХ. В этом случае кодированными параметрами возбуждения будут общее усиление, порог шума и коды переменной длины.
На Фиг.3b показан декодер, соответствующий кодеру на фиг.3а. Декодер на фиг.3b применяется для декодирования кодированного аудио сигнала и получения декодированного аудио сигнала 799. Декодер включает первую ветвь декодирования 450 для декодирования сигнала, кодированного в соответствии с первым алгоритмом кодирования на основе модели приемника информации. Далее декодер включает вторую ветвь декодирования 550 для декодирования сигнала, кодированного в соответствии со вторым алгоритмом кодирования на основе модели источника информации. Следующим элементом является блок объединения, который соединяет сигналы на выходе первой ветви декодирования 450 и второй ветви декодирования 550, в результате чего получается соединенный сигнал. Соединенный сигнал, показанный на фиг.3b как декодированный средний сигнал 699, поступает на этап постобработки. Декодированный средний аудио сигнал 699 является выходным сигналом блока объединения 600, поэтому на выходе этапа постобработки создается расширенная версия соединенного сигнала. Таким образом, декодированный аудио сигнал 799 имеет увеличенный объем информации по сравнению с декодированным средним аудио сигналом 699. Увеличение объема информации происходит на этапе постобработки при помощи параметров предварительной/последующей обработки, которые передаются от кодера к декодеру или которые могут быть получены от самого декодированного среднего аудио сигнала.
Однако желательно, чтобы параметры предварительной/последующей обработки передавались от кодера к декодеру, так как это повышает качество декодированного аудио сигнала.
На Фиг.3с показан аудио кодер для кодирования входного аудио сигнала 195, который идентичен среднему аудио сигналу 195 на фиг.3а, в соответствии с предпочтительной формой реализации настоящего изобретения. Входной аудио сигнал 195 представлен в первой области, которая может быть, например, временной, но может быть также любой другой, такой как частотная область, LPC-область, спектральная LPC-область или другая область. Преобразование из одной области в другую выполняется при помощи алгоритма преобразования, а именно при помощи любого известного алгоритма преобразования время/частота или частота/время.
Альтернативное преобразование из временной области в LPC-область производится при помощи LPC-фильтрации сигнала временной области, в результате чего появляется разностный LPC-сигнал или сигнал возбуждения. Любая другая операция фильтрации, в результате которой появляется фильтрованный сигнал и которая влияет на значительное количество отсчетов сигнала перед преобразованием, может использоваться как алгоритм преобразования. Взвешивание аудио сигнала при помощи взвешивающего фильтра на базе LPC является следующим преобразованием, которое генерирует сигнал в LPC-области. В преобразовании время/частота модификация одного спектрального значения будет влиять на все значения временной области перед преобразованием. Аналогичным образом модификация любого отсчета во временной области будет влиять на каждый отсчет в частотной области. Подобно этому модификация отсчета сигнала возбуждения в области LPC в зависимости от длины LPC-фильтра будет влиять на значительное количество отсчетов до LPC-фильтрации. Таким же образом модификация отсчета до LPC-преобразования будет влиять на множество отсчетов, полученных в результате этого LPC-преобразования благодаря свойству внутренней памяти LPC-фильтра.
Аудио кодер на фиг.3с имеет первую ветвь кодирования 400, которая генерирует первый кодированный сигнал. Первый кодированный сигнал может относиться к четвертой области, которая в предпочтительном варианте изобретения является временной спектральной областью, то есть областью, которая образуется, когда сигнал временной области подвергается преобразованию время/частота.
Таким образом, первая ветвь кодирования 400 для кодирования аудио сигнала использует первый алгоритм кодирования для получения первого кодированного сигнала, первый алгоритм кодирования содержит либо не содержит алгоритм преобразования время/частота.
Далее кодер содержит вторую ветвь кодирования 500. Вторая ветвь кодирования 500 применяет второй алгоритм кодирования для получения второго кодированного сигнала, второй алгоритм кодирования отличается от первого алгоритма.
Аудио кодер включает первый переключатель 200 для переключения между первой ветвью кодирования 400 и второй ветвью кодирования 500, таким образом, для входного аудио сигнала на выходе кодера генерируется либо первый кодированный сигнал первой ветви кодирования 400, либо второй кодированный сигнал на второй ветви кодирования. Что касается входного аудио сигнала 195, первый кодированный сигнал четвертой области включается в сигнал на выходе декодера, второй кодированный сигнал, который является либо первым обработанным сигналом во второй области, либо вторым обработанным сигналом в третьей области, не включается в сигнал на выходе кодера. Это позволяет убедиться в том, что кодер эффективен в отношении битрейта. В соответствии с настоящим изобретением, все временные отсчеты аудио сигнала, которые включены в два различных кодированных сигнала, являются небольшими по сравнению с длиной фрейма, что будет обсуждаться далее в соответствии с фиг.3е. Небольшой размер отсчетов важен для плавного перехода от одного кодированного сигнала к другому кодированному сигналу в случае переключения для того, чтобы уменьшить количество помех, которые могут появиться при отсутствии плавного перехода.
Кроме зоны плавного перехода каждый блок временной области представлен кодированным сигналом только одной области.
Как показано на фиг.3с, вторая ветвь кодирования 500 имеет конвертер 510 для преобразования сигнала в первой области, то есть сигнала 195, во вторую область. Вторая ветвь кодирования 500 имеет первую ветвь обработки 522 для обработки сигнала во второй области и получения первого обработанного сигнала, который также является сигналом второй области. Таким образом, первая ветвь обработки 522 не меняет область.
Вторая ветвь кодирования 500 имеет вторую ветвь обработки 523, 524, которая переводит аудио сигнал из второй области в третью область, отличающуюся от первой и второй областей. Вторая ветвь 523, 524 обрабатывает аудио сигнал в третьей области, чтобы получить второй обработанный сигнал на выходе.
Вторая ветвь кодирования имеет второй переключатель 521 для переключения между первой ветвью обработки 522 и второй ветвью обработки 523, 524. Так, для любого аудио сигнала, поступающего на вход второй ветви кодирования, кодированию подвергается либо первый обработанный сигнал во второй области, либо второй обработанный сигнал в третьей области, который в результате становится вторым кодированным сигналом.
На фиг.3d показан соответствующий декодер для декодирования кодированного сигнала, созданного кодером на фиг.3с. Каждый блок аудио сигнала первой области представлен сигналом второй области, сигналом третьей области или кодированным сигналом четвертой области, кроме факультативной зоны плавного перехода, которая зависит от длины одного фрейма. Кодированный аудио сигнал включает первый кодированный сигнал, второй кодированный сигнал во второй области и третий кодированный сигнал в третьей области. Первый, второй и третий кодированные сигналы соотносятся с различными временными порциями декодированного аудио сигнала. Для декодированного аудио сигнала первая, вторая и третья области отличаются друг от друга.
Декодер включает первую ветвь декодирования, которая основана на первом алгоритме кодирования. Первая ветвь декодирования 431, 440, показанная на фиг.3d, имеет конвертер частота/время. Первый кодированный сигнал является сигналом четвертой области, он конвертируется в первую область, которая является областью декодированного выходного сигнала.
Декодер на фиг.3d имеет вторую ветвь декодирования, которая включает несколько элементов. К этим элементам относится первая ветвь инверсной обработки 531, которая проводит инверсную обработку второго кодированного сигнала для получения первого инвертированного сигнала во второй области на выходе блока 531. Вторая ветвь декодирования имеет вторую ветвь инверсной обработки 533, 534, которая проводит инверсную обработку третьего кодированного сигнала для получения второго инвертированного сигнала во второй области. Вторая ветвь инверсной обработки имеет конвертер, который конвертирует сигнал из третьей области во вторую область.
Вторая ветвь декодирования имеет первый блок объединения 532 для соединения первого и второго инверсных сигналов для того, чтобы получить сигнал во второй области. На объединенный сигнал первой временной порции оказывает влияние первый инвертированный сигнал, на последующую временную порцию оказывает влияние второй инвертированный сигнал.
Вторая ветвь декодирования имеет конвертер 540, который конвертирует объединенный сигнал в первую область.
В итоге декодер, показанный на фиг.3d, имеет второй блок объединения 600, который объединяет первый декодированный сигнал на выходе блоков 431, 440 и сигнал на выходе конвертера 540, чтобы получить декодированный выходной сигнал в первой области. В первый временной момент на декодированный выходной сигнал в первой области оказывает влияние выходной сигнал конвертера 540, в последующий временной момент оказывает влияние первый декодированный выходной сигнал блоков 431, 440.
Эта ситуация со стороны кодера показана на фиг.3е. Первая часть фиг.3е схематично показывает аудио сигнал первой области, то есть аудио сигнал временной области, где временной показатель увеличивается слева направо, элемент 3 можно рассматривать как поток аудио отсчетов, которые представляют сигнал 195 на фиг.3с. На фиг.3е показаны фреймы 3а, 3b, 3с, 3d, которые создаются путем переключения между первым кодированным сигналом, первым обработанным сигналом и вторым обработанным сигналом, как показывает элемент 4 на фиг.3е. Первый кодированный сигнал, первый обработанный сигнал и второй обработанный сигнал являются сигналами разных областей. Для того чтобы избежать помех на стороне декодера при переключении между разными областями, фреймы 3а и 3b сигнала временной области имеют зону пересечения, которая обозначена как зона плавного перехода. Такую же зону плавного перехода имеют фреймы 3b и 3с. Однако зоны плавного перехода между фреймами 3d и 3с нет. Это означает, что фрейм 3d также представлен вторым обработанным сигналом, то есть сигналом третьей области и между фреймами 3с и 3d нет смены области. Желательно обеспечить зону плавного перехода, то есть часть аудио сигнала, которая кодируется двумя последующими кодированными/обработанными сигналами, когда присутствует смена области, то есть выполняется переключение одного из двух переключателей. Обычно зона плавного перехода присутствует при смене областей. Если смена области отсутствует, то нет необходимости обеспечивать зону плавного перехода.
В соответствии с одной из форм реализации настоящего изобретения, первый кодированный сигнал или второй обработанный сигнал, созданный кодером MDCT, может иметь, например, 50% пересечений. В этом случае каждый отсчет аудио сигнала во временной области включается в два последующих фрейма. Благодаря свойствам кодера MDCT это не приводит к издержкам, так как MDCT представляет собой систему с ограниченным количеством отсчетов. В этом контексте ограниченное количество отсчетов означает, что количество спектральных значений остается таким же, как и количество временных значений. Преимущество кодера MDCT в том, что он обеспечивает эффект перехода без особой зоны перехода, поэтому переход от одного блока MDCT к другому блоку MDCT без превышения параметров дискретизации.
Первый алгоритм кодирования первой кодирующей ветви основан на модели приемника информации, второй алгоритм кодирования второй ветви кодирования основан на модели источника информации или SNR-модели. SNR-модель - это модель, которая не соотносится с каким-либо определенным механизмом образования звука, но она представляет собой модель кодирования, которая может быть выбрана среди множества моделей кодирования, например, на основе режима функционирования по типу закрытого цикла. Таким образом, SNR-модель - это любая доступная модель кодирования, которая не обязательно соотносится с каким-то реальным источником звука, но является моделью кодирования на основе параметров и отличается от модели приемника информации. Модель выбирается на основе режима функционирования закрытого цикла, а также на основе сравнения различных SNR-показателей различных моделей.
На фиг.3с показаны блоки управления 300, 525. Этот блок управления может выполнять функции блока принятия решений 300 на Фиг.1а и в дополнение к этому функции блока управления переключением 525 на Фиг.1а. Обычно блок управления контролирует первый или второй переключатель в зависимости от сигнала. Блок управления может анализировать входной сигнал на первый переключатель, выходной сигнал первой или второй кодирующей ветви или сигналы, полученные при кодировании и декодировании первой и второй кодирующих ветвей в соответствии с заданной функцией. В качестве альтернативы или дополнения блок управления выполняет анализ входного сигнала на второй переключатель, или выходного сигнала первой или второй ветвей обработки, или сигналов, полученных в результате прямой или инверсной обработки от первой или второй ветвей обработки в зависимости от заданной функции.
В одном из вариантов настоящего изобретения первая или вторая ветвь кодирования включает процедуру искажения при выполнении алгоритма преобразования время/частота, таких как алгоритмы MDCT и MDST, который отличается от прямого преобразования FFT, которое не имеет эффекта искажения. Далее одна или обе ветви включают блок квантования/энтропийного кодирования. Только вторая ветвь обработки второй ветви кодирования включает конвертер время/частота, который выполняет процедуру искажения, первая ветвь обработки второй ветви кодирования включает блок квантования и/или энтропийного кодирования и не выполняет процедуру искажения. Конвертер время/частота, выполняющий процедуру искажения, выполняет также функцию разделения на окна для того, чтобы применить анализ по методу окон и алгоритм MDCT-преобразования. Блок разделения на окна функционирует для того, чтобы применить функцию окон к последующим фреймам по методу пересечения так, что один отсчет сигнала, к которому применен метод окон, присутствует, по меньшей мере, в двух последующих фреймах, разделенных по методу окон.
В одной из форм реализации настоящего изобретения первая ветвь обработки имеет ACELP-кодер, вторая ветвь обработки имеет спектральный конвертер MDCT и квантователь для квантования спектральных компонентов, в результате чего генерируются квантованные спектральные компоненты. Каждый квантованный спектральный компонент имеет либо показатель 0, либо определяется одним из множества возможных показателей квантователя.
Желательно, чтобы первый переключатель 200 функционировал в режиме открытого цикла, а второй переключатель функционировал в режиме закрытого цикла.
Как было указано выше, обе ветви кодирования кодируют аудио сигнал с помощью последовательности блоков. Первому или второму переключателю предшествует блок квантования, затем переключатель направляет аудио сигнал к различным блокам, которые принимают сигналы с определенным количеством отсчетов. Количество отсчетов определяет длину фрейма. Так, первому переключателю может предшествовать, например, блок квантования на 2048 или 1028 отсчетов, длина фрейма следующего за переключателем блока может варьироваться, но предпочтительна ситуация, когда длина фрейма сохраняется.
В отличие от первого переключателя, длина блока следующего за вторым переключателем 521, то есть того блока, который переключатель 521 выбирает при переключении, значительно меньше, чем длина блока, следующего за первым переключателем. При выборе длины фрейма учитывается, что большая длина фрейма одного блока является целым кратным числом меньшей длины фрейма другого блока. В соответствии с предпочтительной формой реализации настоящего изобретения длина блока первого переключателя - 2048 или 1024 отсчетов, длина блока второго переключателя - 1024, желательно 512 или 256 отсчетов или даже 128 отсчетов. Таким образом, второй переключатель может максимально переключить 16 временных отсчетов, когда первый переключатель переключает только один отсчет. Предпочтительным соотношением длин блоков будет соотношение 4:1.
Согласно следующему варианту изобретения блок принятия решений 300, 525 отдает предпочтение речевому режиму, а не музыкальному при принятии решения о выборе первого переключателя. В соответствии с этим вариантом изобретения, как речевой рассматривается сигнал, 50% которого составляет речь и 50% - музыка.
Далее контроллер переключает переключатель в режим обработки речевого сигнала, когда небольшая порция первого фрейма является речевой и особенно когда весь первый фрейм является речевым, что составляет 50% от длины более короткого второго фрейма. Таким образом, при режиме предпочтения речи блок принятия решений переключает на обработку речи даже тогда, когда только 6% или 12% блока, что соответствует длине фрейма первого переключателя, являются речью.
Эта процедура выполняется для того, чтобы в полной мере воспользоваться способностью первой ветви обработки сохранять битрейт. Согласно одному из вариантов настоящего изобретения, основной задачей первой ветви обработки является обработка вокализованной речи, но при этом не теряется качество оставшейся части большого первого фрейма, которая является неречевой благодаря тому, что вторая ветвь обработки включает конвертер. Поэтому вторая ветвь важна для обработки аудио сигналов, включающих помимо речевых неречевые сигналы. Желательно, чтобы вторая ветвь обработки включала блок MDCT с пересечением. Блок MDCT может иметь максимальное количество отсчетов, но даже при малом размере окна эффективно выполняет свою функцию без искажений благодаря таким процедурам устранения искажений, как пересечение и добавление на стороне декодера. Для первой ветви кодирования, которая является ветвью кодирования MDCT по типу ААС, важна большая длина блока, так как неречевые сигналы обычно бывают стационарными. Большое окно преобразования обеспечивает высокое частотное разрешение и, соответственно, высокое качество. В дополнение к этому обеспечивается эффективность в отношении битрейта благодаря тому, что модуль квантования контролируется на основе психоакустической модели. Модуль квантования может применяться в режиме кодирования на основе преобразования во второй ветви обработки второй ветви кодирования.
В соответствии с декодером на фиг.3d желательно, чтобы переданный сигнал имел эксплицитный индикатор служебной информации 4а, как это показано на фиг.3е. Служебная информация 4а выделяется анализатором битового потока, который не показан на фиг.3d, для того, чтобы направить соответствующий первый кодированный сигнал, первый или второй обработанные сигналы к необходимому процессору, как первая ветвь декодирования, первая или вторая ветвь инверсной обработки, как показано на Фиг.3d. Таким образом, общий кодированный сигнал включает не только сами кодированные/обработанные сигналы, но соответствующую им служебную информацию. Однако в других вариантах настоящего изобретения индикаторы могут быть имплицитными, в связи с этим анализатор битового потока на стороне декодера определяет отдельные сигналы. В соответствии с фиг.3е необходимо подчеркнуть, что первый и второй обработанные сигналы являются выходными сигналами второй ветви кодирования и, таким образом, вторым выходным сигналом.
Первая ветвь декодирования и/или вторая ветвь инверсной обработки включает MDCT-преобразование из спектральной области во временную область. Для этого включается модуль пересечения/добавления для того, чтобы устранить искажения во временной области. Одновременно с этим модуль обеспечивает эффект плавного перехода, что позволяет избежать помех на переходах от блока к блоку. Первая ветвь декодирования обычно преобразовывает сигнал, кодированный в четвертой области, в первую область; вторая ветвь инверсной обработки выполняет преобразование из третьей во вторую область; конвертер, соединенный с первым блоком объединения, выполняет преобразование из второй в первую область таким образом, что на входе блока объединения 600 присутствуют сигналы только первой области, которые представляют декодированный выходной сигнал, как это показано на фиг.3d.
Фиг.4а и 4b иллюстрируют две различные формы реализации изобретения, которые отличаются положением переключателя 200. На фиг.4а переключатель 200 расположен между выходом блока предварительной подготовки 100 и входом двух ветвей кодирования 400, 500. На фиг.4а показано, что входящий аудио сигнал направляется только по одной ветви кодирования. Вторая ветвь кодирования не соединяется с блоком предварительной подготовки и поэтому не функционирует либо находится в режиме отключения или в спящем режиме. Этот вариант изобретения имеет преимущество в том, что неактивная ветвь кодирования не потребляет энергию и вычислительные ресурсы, что особенно важно для мобильных приложений, которые работают на базе батареи и имеют ограниченные ресурсы питания.
С другой стороны, вариант изобретения на фиг.4b является предпочтительным, если ресурсы питания не ограничены. Согласно данному варианту изобретения, обе ветви кодирования 400 и 500 являются активными постоянно, при этом только выходной сигнал выбранной ветви кодирования для определенной порции времени и/или частоты направляется в блок формирования битового потока, которым является мультиплексор битового потока 800. Как показано на фиг.4b, обе ветви кодирования являются постоянно активными, выходной сигнал ветви кодирования, которая была выбрана блоком принятия решений 300, включается в выходной битовый поток, тогда как выходной сигнал ветви кодирования 400, которая не была выбрана блоком принятия решений, не учитывается, то есть он не включается в выходной битовый поток, который представляет собой кодированный аудио сигнал.
1
2
На фиг.4с показана предпочтительная форма реализации декодера. Для того чтобы избежать слышимых помех, особенно при условии, когда первый декодер является декодером, выполняющим временное искажение, второй декодер является декодером временной области, границы между блоками или выходными фреймами первого декодера 450 и второго декодера 550 не должны быть непрерывными, особенно в ситуации переключения. Таким образом, когда за выходным сигналом первого декодера 450 следует выходной сигнал второго декодера, желательно применить процедуру плавного перехода, которую выполняет блок плавного перехода 607. Блок плавного перехода 607 может быть устроен так, как показывают элементы 607а, 607b, 607с на фиг.4с. Каждая ветвь может включать модуль взвешивания, применяющий коэффициент взвешивания m между 1 и 0 на нормализованной шкале. Коэффициент взвешивания может варьировать, как показано на схеме 609. При применении такой схемы плавного перехода обеспечивается непрерывный и ровный переход, и, таким образом, пользователь не слышит перепадов громкости. Вместо линейной схемы плавного перехода могут применяться нелинейные схемы плавного перехода, такие как схема плавного перехода sin.
1
В некоторых случаях последний блок первого декодера применяет оконное преобразование, таким образом, выходной сигнал формируется при помощи оконной функции. В этом случае коэффициент взвешивания m блока 607а равен 1 и в целом для этой ветви взвешивание не требуется.
2
Когда происходит переключение от второго декодера к первому декодеру, при этом второй декодер включает окно, которое фактически приводит к плавному выходу сигнала, тогда модуль взвешивания, обозначенный как m, может отсутствовать, а параметры взвешивания могут быть установлены как 1 для всей зоны плавного перехода.
В том случае, если первый после переключателя блок применяет оконное преобразование, то окно выполняет операцию плавного входа, тогда соответствующий коэффициент взвешивания может быть установлен как 1 и модуль взвешивания может не применяться. Таким образом, когда к последнему блоку применяется оконное преобразование для обеспечения плавного выхода из декодера и когда к первому после переключателя блоку применяется оконное преобразование для того, чтобы обеспечить плавный вход, тогда в модулях взвешивания 607а, 607b нет необходимости и оказывается достаточной только операция суммирования, которую выполняет сумматор 607с.
В этом случае порция затухания последнего фрейма и порция усиления следующего фрейма составляют зону плавного перехода, которая показана на схеме как 609. В этой ситуации желательно, чтобы последний блок одного декодера имел определенную зону временного пересечения с первым блоком второго декодера.
Если нет необходимости в применении процедуры плавного перехода или если она невозможна или нежелательна и возможно только резкое переключение от одного декодера к другому декодеру, желательно выполнять такое переключение в период молчания или, по крайней мере, в те периоды, когда аудио сигнал характеризуется низкой энергией, то есть те моменты, которые воспринимаются как молчание или близкие к этому моменты. Согласно данному варианту изобретения, блок принятия решений 300 отвечает за то, что переключатель 200 приводится в активное положение, когда соответствующая временная порция, следующая за моментом переключения, характеризуется энергией ниже установленной энергии аудио сигнала и, что является предпочтительным, ниже чем 50% установленной энергии аудио сигнала, соответствующей двум или более временным порциям/фреймам аудио сигнала.
Вторая схема кодирования/декодирования функционирует на основе алгоритма кодирования LPC. При кодировании речи на основе LPC проводится дифференциация между квазипериодическими импульсными сегментами или порциями сигнала возбуждения и шумоподобными сегментами или порциями сигнала возбуждения.
Такая дифференциация проводится для LPC-вокодеров с очень низким битрейтом (2.4 кб/с), как показано на фиг.7b. Для CELP-кодеров со средним битрейтом возбуждение появляется при суммировании масштабных векторов из адаптивной или фиксированной кодовой книги.
Квазипериодические импульсные сегменты сигнала возбуждения, то есть сегменты сигнала, характеризующиеся определенным тоном, кодируются механизмом, отличным от механизма кодирования шумоподобных сигналов возбуждения. Если квазипериодические импульсные сигналы возбуждения связаны с вокализованной речью, то шумоподобные сигналы связаны с невокализованной речью.
Фиг.5а-5d иллюстрируют квазипериодические импульсные сегменты или порции сигнала и шумоподобные сегменты или порции сигнала. А именно, фиг.5а, представляющая вокализованную речь во временной области, и фиг.5b, представляющая вокализованную речь в частотной области, иллюстрируют пример порции квазипериодического импульсного сигнала. Фиг.5с и 5d иллюстрируют пример порции шумоподобного сигнала. Речь обычно подразделяют на вокализованную, невокализованную и смешанную. На фиг.5a-5d представлены временные и частотные диаграммы вокализованных и невокализованных сегментов. Вокализованная речь является квазипериодической во временной области и гармонически структурированной в частотной области, в то время как невокализованная речь является произвольной и широкополосной. Кратковременность спектра вокализованной речи характеризуется точной гармонической формантной структурой. Точная гармоническая структура является следствием квазипериодичности речи и может быть связана с вибрацией голосовых связок. Структура форманты (огибающая спектра) связана с взаимодействием источника звука и речевого тракта. Речевой тракт состоит из глотки и полости рта. Форма спектральной огибающей, которая «подходит» кратковременному спектру вокализованной речи, связана с параметрами передачи звука по голосовому тракту и спектральным наклоном (6 дБ/октава), которые зависят от частоты схождения/расхождения голосовых связок. Спектральная огибающая представляет собой ряд пиков, которые называются формантами. Формантой называют полосу частот, характерную для того или иного положения голосового тракта. В среднем голосовой тракт имеет от трех до пяти формант ниже 5 кГц. Амплитуда и расположение первых трех формант, которые обычно находятся в полосе ниже 3 кГц, важны как для производства, так и для восприятия речи. Форманты более высоких частот также важны для широкополосных и невокализованных речевых представлений (репрезентаций). Параметры речи связаны со следующими аспектами физиологической системы производства речи. Вокализованная речь производится при возбуждении голосового тракта квазипериодическими волнами воздуха, проходящими через голосовой тракт, пульсация воздуха возникает при вибрировании голосовых связок. Частота периодических пульсаций называется фундаментальной частотой или тоном. Невокализованная речь производится при выталкивании воздуха через щель в голосовом тракте. Носовые звуки появляются при акустическом взаимодействии носовой полости и голосового тракта, смычные звуки появляются устранении смычки голосового тракта и резком выталкивании воздуха.
Таким образом, шумоподобная порция аудио сигнала не имеет ни импульсной временной структуры, ни гармонической частотной структуры, как показано на фиг.5с и 5d, что отличает ее от квазипериодической импульсной порции сигнала на фиг.5а и 5b. Как будет показано позднее, дифференциация между шумоподобными порциями и квазипериодическими импульсными порциями может наблюдаться после этапа LPC для сигнала возбуждения. LPC представляет собой метод моделирования голосового тракта, при котором выделяется сигнал возбуждения голосового тракта.
Квазипериодические импульсные и шумоподобные порции чередуются во времени, это означает, что одна порция сигнала во времени может быть шумоподобной, следующая порция - квазипериодической, то есть сигнал является тональным. В отличие от этого или в дополнение к этому параметры сигнала могут быть различны в различных частотных диапазонах.
Таким образом, определение, является аудио сигнал шумовым или тональным, может происходить на основе частоты, так как определенный частотный диапазон или несколько частотных диапазонов могут рассматриваться как принадлежащие шумовому сигналу, другие частотные диапазоны - как принадлежащие тональному сигналу. В этом случае определенная временная порция аудио сигнала может включать тональные компоненты и шумовые компоненты.
Фиг.7а иллюстрирует линейную модель системы производства речи. Эта система предполагает двухступенчатое возбуждение, то есть импульсная последовательность для вокализованной речи, как показано на фиг.7с, и произвольный шум для невокализованной речи, как показано на фиг.7d. Голосовой тракт моделируется как полюсный фильтр 70, который обрабатывает импульсы, как показано на фиг.7с и 7d, которые генерируются моделью глотки 72. В связи с этим система на фиг.7а может сократиться до модели полюсного фильтра на фиг.7b, которая имеет стадию усиления 77, канал прямой передачи 78, канал обратной связи 79 и этап суммирования 80. На канале обратной связи 79 присутствует фильтр предсказания 81. Вся система синтеза на базе модели источника звука, показанная на фиг.7b, может быть представлена как функция области z:
S(z)=g/(1-A(z)·X(z),
где g обозначает усиление, A(z) - фильтр предсказания, определенный при LPC-анализе, X(z) - сигнал возбуждения и S(z) - синтезированный речевой сигнал на выходе.
На фигурах 7с и 7d показана схема временной области при синтезе вокализованной и невокализованной речи на основе модели системы линейного источника звука. Параметры системы и параметры возбуждения в вышеуказанном выражении неизвестны, они определяются на основе определенного набора кадров речи. Коэффициенты A(z) определяются при помощи линейного предсказания входного сигнала и квантования коэффициентов фильтра. В порядке р коэффициентов линейного предсказания, текущий отсчет речевой последовательности предсказывается на основе комбинации р-количества предыдущих отсчетов.
Коэффициенты предсказания определяются с помощью известных алгоритмов, таких как алгоритм Левинсона-Дурбина, на основе метода автокорреляции или метода отражения.
На фиг.7е показана более детальная реализация блока LPC-анализа 510. Аудио сигнал направляется на вход блока определения фильтра, который определяет данные фильтра A(z). Эти данные направляются на выход в качестве временной информации предсказания, необходимой для декодера. Временная информация предсказания необходима собственно фильтру предсказания 85. Текущий кадр аудио сигнала направляется на вход блока вычитания 86, здесь определяется значение предсказания для текущего кадра, а также генерируется сигнал ошибки предсказания на линии 84. Последовательность таких сигналов ошибки предсказания схематично представлена на фиг.7с и 7d. Таким образом, фиг.7а и 7b можно рассматривать как чистый импульсный сигнал.
Если фиг.7е иллюстрирует способ вычисления сигнала возбуждения, то фиг.7f иллюстрирует способ вычисления взвешенного сигнала. Фильтр 85 на фиг.7f отличается от фильтра на фиг.7е, значение γ отлично от 1. Для коэффициента γ применяется значение, меньшее чем 1. Блок 87 присутствует на фиг.7f, но для коэффициента µ также применяется значение, меньшее чем 1. В целом, элементы на фиг.7е и 7f могут применяться так, как указано в стандартах 3GPP TS 26.190 и 3GPP TS 26.290.
На фиг.7g показана инверсная обработка, которая применяется на стороне декодера элементом 537, как на фиг.2b. Следует отметить, что блок 88 генерирует невзвешенный сигнал из взвешенного сигнала, блок 89 вычисляет возбуждение на основе невзвешенного сигнала. В целом, все сигналы, кроме невзвешенного сигнала на Фиг.7g, относятся к LPC-области, однако сигнал возбуждения и взвешенный сигнал являются разными сигналами одной области. Блок 89 генерирует на выходе сигнал возбуждения, который далее можно использовать совместно с выходным сигналом блока 536. Затем можно выполнять общее инверсное LPC-преобразование в блоке 540 в соответствии с Фиг.2b.
w
L
В соответствии с фиг.6 далее будет рассматриваться кодер CELP, функционирующий на основе метода анализа через синтез, для того, чтобы проиллюстрировать модификации, применяемые к этому алгоритму. Устройство кодера CELP подробно описано в работе "Speech Coding: A Tutorial Review", Andreas Spanias, Proceedings of the IEEE, Vol.82, No. 10, October 1994, pages 1541-1582. Кодер CELP, показанный на фиг.6, имеет коэффициент долговременного предсказания 60 и коэффициент кратковременного предсказания 62. Также применяется кодовая книга, которая указана как элемент 64. Взвешивающий фильтр W(z) обозначен как элемент 66, контроллер минимизации ошибки - как элемент 68. Выходной сигнал во временной области обозначен как s(n). После операции взвешивания взвешенный сигнал направляется на вход блока вычитания 69, который вычисляет ошибку между взвешенным синтезированным сигналом на выходе блока 66 и исходным взвешенным сигналом s(n). Обычно коэффициенты фильтра кратковременного предсказания A(z) вычисляются на этапе LP-анализа и квантуются с коэффициентом  как указано на фиг.7е. Данные о долговременном предсказании A(z), включающие коэффициент усиления долговременного предсказания g и показатель векторного квантования, то есть соответствия кодовой книги, вычисляются на основе сигнала ошибки предсказания на выходе блока LPC-анализа, который указан как элемент 10а на фиг.7е. LPC-параметрами являются отставание тона и усиление тона. В кодере CELP они реализованы как адаптивная кодовая книга, которая содержит прошлый сигнал возбуждения (не разностный сигнал). Адаптивные параметры отставания и усиления на основе кодовой книги обнаруживаются при минимизации среднеквадратичной взвешенной ошибки (поиск тона проводится в закрытом цикле).
После кодирования на основе алгоритма CELP и применения кратковременного и долговременного предсказания с использованием, например, кодовой книги гауссовой последовательности получается разностный сигнал. Алгоритм ACELP, в названии которого "А" обозначает "алгебраический", имеет особую алгебраическую кодовую книгу.
Кодовая книга может включать определенное количество векторов, длина каждого вектора равна нескольким отсчетам. Параметр усиления g масштабирует кодовый вектор, усиленный код фильтруется при помощи синтезирующего фильтра долговременного предсказания и синтезирующего фильтра кратковременного предсказания. Выбирается оптимальный кодовый вектор, если взвешенная среднеквадратичная ошибка на выходе блока вычитания 69 является минимальной. Процесс поиска вектора выполняется на основе оптимизации метода анализа через синтез, показанного на фиг.6.
В отдельных случаях, когда фрейм представляет собой соединение вокализованной и невокализованной речи или когда обрабатывается речь на фоне музыки, для кодирования сигнала возбуждения в LPC-области следует применять ТСХ-кодирование. При ТСХ-кодировании обрабатывается взвешенный сигнал без допущения, что он производит возбуждение. Процесс ТСХ-кодирования является более общим, чем кодирование при помощи CELP, так как оно не ограничено вокализованной или невокализованной моделью источника возбуждения. ТСХ является кодированием на основе модели источник-фильтр, где применяется фильтр линейного предсказания для моделирования формант речеподобных сигналов.
При кодировании AMR-WB+, как известно из описания AMR-WB+, проводится выбор между режимами ТСХ и ACELP. ТСХ отличается тем, что длина дискретного преобразования Фурье, которое проводится несколькими блоками, различна при различных режимах. Оптимальный режим может быть выбран с помощью метода «анализ чрез синтез» или в режиме прямого прогнозирования.
Согласно фиг.2а и 2b, этап предварительной обработки 100 включает блок объединения многоканальных сигналов (блок объемного/сведенного стерео) 101 и, в дополнение к нему, блок расширения полосы частот 102. Соответственно, декодер включает блок расширения полосы частот 701 и последовательно соединенный с ним блок объединения многоканальных сигналов 702. Следует отметить, что блок объединения многоканальных сигналов 101 на стороне кодера расположен перед блоком расширения полосы частот 102, а на стороне декодера блок объединения многоканальных сигналов 702 следует за блоком расширения полосы частот 701, что соответствует направлению обработки сигнала. Кроме этого, этап предварительной обработки может включать блок объединения многоканальных сигналов без следующего за ним блока расширения полосы частот или, наоборот, может включать блок расширения полосы частот без блока объединения многоканальных сигналов.
На фиг.8 показаны блоки объединения многоканальных сигналов 101а, 101b на стороне кодера и 702а, 702b на стороне декодера. Количество Е исходных каналов направляется на вход блока микширования с понижением 101а. Блок микширования 101 генерирует количество К передаваемых каналов где показатель К больше или равен 1, но меньше или равен Е.
Предпочтительной является схема, когда входные каналы Е направляются на вход блока-анализатора параметров объединенного многоканального сигнала 101b, который определяет необходимую информацию. Параметры кодируются при помощи энтропийного кодирования, такого как разностное кодирование и последующее кодирование Хаффмана или арифметическое кодирование. Кодированная информация о параметрах на выходе блока 101b передается в декодер параметров 702b, который может быть включен в общий блок 702 на фиг.2b. Декодер параметров 702b декодирует переданную информацию о параметрах и направляет ее в блок микширования с повышением 702а. Блок микширования 702а принимает К количество каналов и генерирует L количество выходных каналов, где L - больше или равно К и ниже или равно Е.
Параметрические данные могут включать информацию о разнице уровней между каналами, о разнице во времени между каналами, о фазовой разнице между каналами и/или показатели соответствия согласно методу ВСС и стандарту MPEG surround. В зависимости от количества передаваемых каналов это может быть одиночный моно канал для приложений с ультранизким битрейтом, совместимое стерео приложение или совместимый стерео сигнал, то есть два канала. Обычно количество Е входных каналов может быть 5 или больше. Кроме того, количество входных каналов Е может равняться количеству Е аудио объектов в контексте кодирования пространственных аудио объектов (SAOC).
Согласно одной из форм реализации изобретения, блок микширования с понижением осуществляет взвешенное или невзвешенное суммирование исходных входных каналов Е или суммирование входных аудио объектов Е. В том случае, если входными каналами являются аудио объекты, анализатор объединенных многоканальных параметров 101b вычисляет такие параметры аудио объекта, как матрицу корреляции между аудио объектами для каждой временной порции или, что более предпочтительно, для каждого частотного диапазона. В этом случае весь частотный диапазон разделяется, как минимум, на 10 или, желательно, на 32 или 64 частотных поддиапазона.
На фиг.9 показана предпочтительная форма реализации блока расширения полосы частот 102, который проиллюстрирован на фиг.2а, и соответствующего блока расширения полосы частот 701, который показан на фиг.2b. На стороне кодера блок расширения полосы частот 102 включает фильтр нижних частот 102b, блок выделения каждого n-го отсчета, который следует за фильтром нижних частот или является частью инверсного QMF (квадратурного зеркального фильтра), который работает только с половиной поддиапазонов QMF, а также анализатор высоких частот 102а. Исходный аудио сигнал направляется на вход блока расширения полосы частот 102, затем происходит фильтрация с помощью фильтра низких частот, генерируется низкочастотный сигнал, который затем направляется к ветвям кодирования и/или на вход переключателя. Фильтр низких частот отсекает частоты за пределами диапазона от 3 кГц до 10 кГц. Блок расширения полосы частот 102 имеет блок-анализатор высоких частот для вычисления параметров расширения полосы частот, таких как параметр спектральной огибающей, параметр шумового порога, параметр инверсной фильтрации и другие данные, относящиеся к определенным гармоническим линиям высокого диапазона, а также дополнительные параметры, которые подробно описываются в части стандарта MPEG-4, посвященной репликации спектрального диапазона.
На стороне декодера блок расширения частотной полосы 701 включает блок восстановления 701а, блок корректировки 701b и блок объединения 701с. Блок объединения 701с соединяет декодированный низкочастотный сигнал и реконструированный высокочастотный сигнал, который генерируется на выходе блока корректировки 701b. На вход блока корректировки 701b сигнал направляется из блока восстановления, который восстанавливает высокочастотный сигнал на основе низкочастотного сигнала с помощью репликации спектрального диапазона или, как правило, при помощи расширения частотной полосы. Восстановление, которое производит блок 701а, проводится гармоническим или негармоническим путем. Сигнал, который генерируется блоком восстановления 701а корректируется блоком корректировки 701b при помощи переданных параметрических данных о расширении частотной полосы.
Какпоказано на фиг.8 и 9, вышеописанные блоки функционируют в режиме управления на входе. Управляющий входной сигнал генерируется блоком принятия решений 300. Согласно предпочтительной форме реализации изобретения, работа отдельного блока корректируется выходным сигналом блока принятия решений, соотносится решением, какой режим обработки был выбран для временной порции аудио сигнала, режим обработки речи или режим обработки музыки. Управляющий сигнал соотносится с одной или несколькими функциями этих блоков, но не со всеми функциями. Например, блок принятия решений может влиять только на блок восстановления 701а, но не на остальные блоки, показанные на Фиг.9, или, например, может влиять только на анализатор параметров объединенного многоканального сигнала 101b на Фиг.8, но не на остальные блоки.
Гибкие возможности на этапе предварительной обработки обеспечивают вариативность, более высокое качество и низкий битрейт выходного сигнала. Кроме этого, применение алгоритмов на этапе предварительной обработки для обоих типов сигналов позволяет эффективно реализовать схему кодирования/декодирования.
Фиг.10а и 10b показывают две различные реализации блока принятия решений 300. На фиг.10а выбор производится на основе открытого цикла. Анализатор сигнала 300а, в соответствии с рядом правил, решает, обладает ли временная или частотная порция входного сигнала характеристиками для кодирования по первой ветви кодирования 400 или по второй ветви кодирования 500. Анализатор сигнала 300а может анализировать входной аудио сигнал на этапе предварительной обработки, либо анализировать сигнал на выходе этапа предварительной обработки, то есть средний аудио сигнал, либо анализировать средний аудио сигнал на предварительном этапе обработки на выходе блока микширования с понижением. Таким образом, анализу подвергается либо моно сигнал, либо сигнал, имеющий k каналов, как показано на фиг.8. На выходе анализатора 300а генерируется управляющий сигнал, который управляет переключателем 200 на стороне кодера или соответствующим переключателем 600 или блоком объединения 600 на стороне декодера.
Необходимо отметить, что второй переключатель 521 может располагаться подобно первому переключателю 200, как показано на фиг.4а и 4b. Так, переключатель 521, как показано на фиг.3с, может располагаться на выходе ветвей обработки 522, 523, 524. Таким образом, ветви обработки функционируют параллельно, но только выходной сигнал одной ветви обработки включается в битовый поток с помощью формирователя битового потока, который не указан на фиг.3с.
Второй блок объединения 600 может иметь особую функцию плавного перехода, как было показано раннее в соответствии с фиг.4с. В отличие от него или в дополнение к нему первый блок объединения 532 также может иметь функцию плавного перехода. Кроме этого, имеется несколько опций: оба блока объединения могут иметь одну и ту же функцию плавного перехода, блоки могут иметь различные функции перехода либо у обоих блоков может отсутствовать функция плавного перехода.
Как показано на фиг.10а и 10b, оба переключателя контролируются либо в режиме открытого цикла, либо в режиме закрытого цикла, при этом управляющий блок 300, 525 на фиг.3с имеет либо одинаковые, либо различные функции в отношении переключателей.
Функцией искажения времени, которая зависит от сигнала, может обладать не только первая ветвь кодирования и декодирования, но и вторая ветвь обработки второй ветви кодирования и декодирования. В зависимости от обрабатываемого сигнала функция искажения времени может применяться на основе одних и тех же данных, поэтому одна и та же операция выполняется как в первой области, так и во второй области. Это экономит общую нагрузку, что полезно в некоторых случаях, например когда последующие блоки имеют одинаковые характеристики. При необходимости первая ветвь кодирования и вторая ветвь обработки второй ветви кодирования имеют независимые вычислители временной деформации.
Кодированный с помощью изобретенного устройства аудио сигнал может храниться на цифровых носителях информации и передаваться посредством беспроводного канала или проводного канала, например с помощью Интернет.
Как показано на фиг.1а и 2а, переключатель 200 переключает между двумя ветвями кодирования 400 и 500. Другие варианты реализации изобретения могут включать дополнительные ветви кодирования: третью, четвертую и т.д. На стороне декодера переключатель 600 в соответствии с фиг.1b и 2b переключает между двумя ветвями декодирования 431, 440 и 531, 532, 533, 534, 540. Другие варианты реализации изобретения могут включать дополнительные ветви декодирования: третью, четвертую и т.д. В том случае, если присутствуют более чем две ветви кодирования/декодирования, дополнительные переключатели 521 или 532 могут переключать между более чем двумя алгоритмами кодирования.
Варианты реализации настоящего изобретения, описанные выше, являются иллюстрациями принципов работы настоящего изобретения. Модификации и вариации порядка расположения блоков и деталей устройства, описанные в данном документе, будут понятны экспертам в этой области. Рамки текста патентной формулы не позволяют описать и объяснить все детали изобретения.
В зависимости от требований к форме реализации изобретенных методов, они могут быть реализованы как аппаратное или как программное средство. Реализация может выполняться при использовании цифровых средств хранения информации, таких как диск, DVD или CD, на которые в электронном виде записываются сигналы управления. Затем при необходимости применения изобретенного метода они считываются соответствующей программой.
В целом настоящее изобретение может быть реализовано как компьютерный программный продукт с программным кодом, который хранится на читаемом носителе; при необходимости применения изобретенного метода программный код приводится в действие, когда программный продукт устанавливается на компьютере. Иными словами, реализация изобретенного метода - это компьютерная программа, имеющая программный код для выполнения как минимум одного из изобретенных методов, когда компьютерная программа устанавливается на компьютере.