СХЕМА АУДИОКОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ С ПЕРЕКЛЮЧЕНИЕМ БАЙПАС
AUDIO ENCODING/DECODING SCHEME HAVING SWITCHABLE BYPASS

Настоящее изобретение относится к области, связанной с кодированием звука и, в частности, со схемами аудио кодирования низкоскоростного цифрового потока.
В данной области техники схемы частотной области кодирования, такие как МР3 или ААС, достаточно известны. Такие кодеры частотной области основаны на области временного или частотного преобразования, последующей стадии оцифровки, в которой ошибка оцифровки контролируется с помощью использования информации из психоакустического модуля и этапа кодирования, в котором оцифрованные спектральные коэффициенты и соответствующая дополнительная информация энтропийно закодированы с помощью кодовых таблиц.
С другой стороны, существуют кодеры, которые очень хорошо подходят для обработки речи, такие как AMR-WB+, как описано в 3GPP TS 26.290. Такие схемы кодирования речи представляют фильтрацию с линейным предсказанием (LP) сигнала временной области. Такая LP фильтрация является производной анализа линейного предсказания входящего сигнала временной области. В результате коэффициенты фильтра LP затем кодируются и передаются в виде дополнительной информации. Процесс известен как процесс кодирования с линейным предсказанием (LPC). На выходе фильтра прогнозирование остаточного сигнала или сигнал ошибки прогнозирования, который также известен как возбуждающий сигнал, кодируемый при использовании стадий анализа - синтеза кодера ACELP, или как вариант, "кодируемый с помощью кодера преобразования, в котором используется преобразование Фурье с наложением. Выбор между ACELP кодированием и кодированием с преобразованием возбуждающего сигнала, который также называют ТСХ кодированием, осуществляется с использованием алгоритма без обратной связи или с обратной связью.
Схемы кодирования звука в частотной области, такие как высокоэффективная ААС схема кодирования, которая сочетает в себе схему кодирования ААС и спектральный метод репликации, могут также быть объединены для совместного стерео или многоканального инструмента кодирования, который известен под термином "MPEG Surround"/ «MPEG объемная акустическая система».
С другой стороны, речевые кодеры, такие как AMR-WB+ также включают стадию расширения полосы высоких частот и функцию стерео.
Схемы кодирования в частотной области выгодны тем, что они показывают высокое качество для музыкальных сигналов при низких битрейтах. Однако обеспечить качество речевых сигналов при низких битрейтах проблематично.
Схемы речевого кодирования демонстрируют высокое качество для речевых сигналов даже при низких битрейтах, но при этом проявляют низкое качество для музыкальных сигналов при низких битрейтах.
Задачей настоящего изобретения является улучшение концепции кодирования/декодирования.
Это достигается в устройстве для кодирования аудио сигнала по п.1, способе кодирования аудио сигнала по п.12, устройстве для декодирования закодированного аудио сигнала по п.13, способе декодирования закодированного аудио сигнала по п.21 или компьютерной программе по п.22.
В кодере в соответствии с настоящим изобретением используются два преобразователя, при этом преобразователь первой области преобразует аудио сигнал из первой области, такой как временная область во вторую область, такую как область LPC. Преобразователь второй области работает, чтобы осуществлять преобразование из входной области в область выхода, и преобразователь второй области получает как входящий исходящий сигнал преобразователя первой области или исходящий сигнал переключаемого байпаса, который подключен в обход преобразователя первой области. Другими словами, это означает, что преобразователь второй области получает на входе аудио сигнал в первой области, такой как временная область, или в качестве альтернативы исходящий сигнал преобразователя первой области, т.е. аудио сигнал, который уже был преобразован из одной области в другую область. Результат преобразователя второй области обрабатывается первым процессором в целях получения первого обработанного сигнала, и результат преобразователя первой области обрабатывается вторым процессором в целях получения второго обработанного сигнала. Предпочтительно, чтобы переключаемый байпас мог быть также дополнительно подключен ко второму процессору так, чтобы информация на входе во второй процессор являлась звуковым сигналом временной области, нежели результатом преобразователя первой области.
Этот чрезвычайно гибкий принцип кодирования особенно полезен для высокого качества и высокоэффективного битового кодирования звука, поскольку он позволяет кодировать аудио сигнал, по крайней мере, в трех различных областях, и, когда переключаемый байпас дополнительно подключен ко второму процессору, даже в четырех областях. Это может быть достигнуто за счет управляемого переключения переключаемого байпаса, чтобы обойти или перекрыть преобразователь первой области для определенной части аудио сигнала временной области или нет. Даже если преобразователь первой области будет обойден, две различные возможности для кодирования аудио сигнала во временной области все еще остаются, то есть через первый процессор, подключенный к преобразователю второй области или второму процессору.
Предпочтительно, чтобы первый процессор и преобразователь второй области вместе образовывали кодер модели информационного погружения, такой как психоакустически-управляемый аудио кодер, известный как MPEG 1 3-го уровня или MPEG 4 (ААС).
Предпочтительно, чтобы другой кодер, т.е. второй процессор был кодером временной области, который, например, может быть остаточным, известным по кодеру ACELP, где LPC остаточный сигнал кодируется с помощью остаточного кодера, такого как кодер векторного цифрования для остаточного сигнала LPC или сигнала временной области. В этом варианте данный кодер временной области получает в качестве входящего сигнал LPC области, когда байпас открыт. Такой кодер является кодером модели информационного источника, поскольку в отличие от кодера модели информационного погружения кодер модели информационного источника разработан специально для использования особенностей модели формирования речи. Когда, однако, байпас закрыт, входящий сигнал во второй процессор будет скорее сигналом временной области, а не сигналом области LPC.
Если, однако, переключаемый байпас отключен, а это означает, что звуковой сигнал из первой области преобразуется во вторую область перед дальнейшей обработкой, две различные возможности снова остаются, т.е. либо код выхода преобразователя первой области во вторую область, которая может, например, быть область LPC или альтернативное преобразование сигнала второй области в третью область, которая может, например, быть спектральной областью.
Преимущественно преобразователь спектральной области, т.е. преобразователь второй области приспособлен к выполнению такого же алгоритма независимо от того, является ли входящий сигнал преобразователя второй области сигналом в первой области, такой как временная область, или же во второй области, такой как область LPC.
С точки зрения декодирования две различные ветви декодирования существуют там, где одна ветвь включает в себя преобразователь области, т.е. преобразователь второй области, в то время как другая ветвь декодирования включает только инверсный процессор, но не включает преобразователь области. В зависимости от фактической настройки байпаса со стороны кодера, т.е. в зависимости от того, активен или нет байпас, первый преобразователь в декодере игнорируется или нет. В частности, первый преобразователь в декодере игнорируется, когда выход второго преобразователя уже находится в области, являющейся целью (область-цель), такой как первая или временная области. Если, однако, выход второго преобразователя в декодере находится в области отличной от первой области, то декодирующий байпас отключен и сигнал преобразуется из другой области в область-цель, то есть первая область в предпочтительной модификации. Второй обработанный сигнал в одной модификации находится в той же области, т.е. во второй области, но в других модификациях, в которых переключаемый байпас расположен на стороне кодера, также подключается ко второму процессору, выход второго процессора на стороне декодера может находиться также уже в первой области. В этом случае первый преобразователь игнорируется за счет использования переключаемого байпаса на стороне декодера таким образом, что выход декодирующего сумматора получает входящие сигналы, которые представляют различные части аудио сигнала и которые находятся в той же области. Эти сигналы могут быть временно уплотнены сумматором или могут быть перекрестно погашены декодирующим выходным сумматором.
В предпочтительной модификации устройство для кодирования включает в себя стадию общей предварительной обработки для сжатия входящего сигнала. Эта общая стадия предварительной обработки может включать в себя многоканальный процессор и/или процессор спектральной полосы пропускания так, что на стадии выхода общей предварительной обработки для всех отличных друг от друга кодирующих мод является сжатой версией по отношению к входу общей стадии предварительной обработки. Соответственно, выходной сигнал декодирующего дополнительного сумматора может быть пост - обработан на общей стадии пост-обработки, которая, например, выполняется, чтобы осуществить синтез спектральной полосы пропускания и/или многоканальную расширяющую операцию, такую как операцию многоканального повышения микширования, при выполнении которых предпочтительно руководствоваться использованием параметрической многоканальной информацией, переданной со стороны кодера на сторону декодера.
В предпочтительной модификации первая область, в которой аудио сигнал входит в кодер и аудио сигнал, выработанный размещенным декодером, является временной областью. В предпочтительной модификации вторая область, в которой выход преобразователя первой области установлен в заданном положении, является область LPC так, что преобразователь первой области представляет собой стадию анализа LPC. В последующей модификации третья область, т.е. в которой выход преобразователя второй области установлен в заданном положении, является спектральной областью или спектральной областью сигнала области LPC, сформированного преобразователем первой области. Первый процессор, соединенный с преобразователем второй области, предпочтительно дополняется как кодер информационного погружения, такой как квантователь/делитель частоты вместе с кодом энтропийного сокращения, такой как психоакустический работающий квантователь, подключенный к кодеру Хаффмана или к арифметическому кодеру, который выполняет те же функции, независимо от того, находится входящий сигнал в спектральной области или в LPC спектральной области.
В последующей предпочтительной модификации второй процессор для обработки выхода преобразователя первой области или для обработки выхода переключаемого байпаса в полноценное функциональное устройство представляет собой кодер временной области, такой как кодер остаточного сигнала, используемый в ACELP кодере или же в любых других CELP кодерах.
Предпочтительные модификации настоящего изобретения описаны ниже в соответствии с приложенными чертежами, где:
Фиг.1а - блок-схема последовательности операций кодирования в соответствии с первой особенностью настоящего изобретения;
Фиг.1b - блок-схема последовательности операций декодирования в соответствии с первой особенностью настоящего изобретения;
Фиг.1с - блок-схема последовательности операций кодирования в соответствии со следующей особенностью настоящего изобретения;
Фиг.1d - блок-схема последовательности операций декодирования в соответствии со следующей особенностью настоящего изобретения;
Фиг.2а - блок-схема последовательности операций кодирования в соответствии со второй особенностью настоящего изобретения; и
Фиг.2b - принципиальная схема последовательности операций декодирования в соответствии со второй особенностью настоящего изобретения;
Фиг.2с - блок-схема предпочтительной общей предварительной обработки фиг.2а; и
Фиг.2d - блок-схема предпочтительной общей пост-обработки фиг.2b;
Фиг.3а представляет блок-схему последовательности операций кодирования в соответствии со следующей особенностью настоящего изобретения;
Фиг.3b представляет блок-схему последовательности операций декодирования в соответствии со следующей особенностью настоящего изобретения;
Фиг.3с представляет схематическое изображение устройства кодирования / способ каскадно-включенных переключателей;
Фиг.3d представляет схему устройства или способ декодирования, в котором каскадно включенные сумматоры используются;
Фиг.3е представляет иллюстрацию сигнала временной области и соответствующее воспроизведение кодированного сигнала, показывающих области перекрестного затухания, которые включены в оба кодированных сигнала;
Фиг.4а представляет блок-схему с переключателем расположенным перед ветвями кодирования;
Фиг.4b представляет блок-схему последовательности операций кодирования с помощью переключателя, расположенного после ветвей кодирования;
Фиг.4с представляет блок-схему предпочтительной модификации сумматора;
Фиг.5а представляет форму волны речевого сегмента временной области как квазипериодического или импульсно-подобного сегмента сигнала;
Фиг.5b представляет спектр сегмента фиг.5а;
Фиг.5с представляет речевой сегмент временной области невокализированной речи, как, например, для шумоподобного или стационарного сегмента;
Фиг.5d представляет спектр формы волны временной области фиг.5 с;
Фиг.6 представляет блок-схему анализа посредством синтеза CELP кодера;
Фиг.7а - 7d представляют вокализированные/ невокализированные возбуждающие сигналы, как, например, для импульсно подобных и стационарных сигналов;
Фиг.7е представляет кодер на стороне LPC стадии, которая предоставляет краткосрочное информационное предсказание и предсказание сигнала ошибки;
Фиг.7f представляет другую модификацию устройства LPC для получения взвешенного сигнала;
Фиг.7g представляет осуществление преобразования взвешенного сигнала в возбуждающий сигнал, применяя обратную операцию взвешивания и последующий анализ возбуждения в соответствии с требованиями преобразователя 537, фиг.2b;
Фиг.8 представляет блок-схему совместного многоканального алгоритма в соответствии с вариантом модификации настоящего изобретения;
Фиг.9 представляет предпочтительный вариант модификации алгоритма расширения пропускной способности;
Фиг.10а представляет подробное описание переключателя при выполнении решения разомкнутого цикла; и
Фиг.10b представляет иллюстрацию переключателя при выполнении решения моды закрытого цикла.
Фиг.1а представляет модификацию изобретения, где существует два преобразователя области 510, 410 и переключаемый байпас 50. Переключаемый байпас 50 сконструирован так, что может быть активным или неактивным в ответ на контрольный сигнал 51, который является входом в переключаемый контрольный вход переключаемого байпаса 50. Если переключаемый байпас активен, аудио сигнал на входе аудио сигнала 99, 195 не подается в преобразователь первой области 510, но подается в переключаемый байпас 50 так, что преобразователь второй области 410 получает аудио сигнал непосредственно на входе 99, 195. При одной модификации, которая будет обсуждаться в связи с фиг.1 с и Id, переключаемый байпас 50 попеременно подключается ко второму процессору 520 без подключения к преобразователю второй области 410 таким образом, что сигнал на выходе переключаемого байпаса 50 обрабатывается только с помощью второго процессора 520.
Если, однако, переключаемый байпас 50 не активен из-за контрольного сигнала 51, аудио сигнал на входе аудио сигнала 99 или 195 является входом в преобразователь первой области 510 и является выходом преобразователя первой области 510, либо входом в преобразователь второй области 410 или второй процессор 520. Решение состоит в том, будет ли выходящий сигнал преобразователя первой области входом в преобразователь второй области 410 или же будет выбран второй процессор 520, основываясь также на переключении контрольного сигнала, или же, напротив, будет осуществлено при помощи других средств, таких как метаданные или на основе анализа сигналов. Кроме того, сигнал преобразователя первой области 510 может быть даже входом в оба устройства 410, 520 и выбор, который из обработанных сигналов является входом в выходной интерфейс для представления аудио сигнала в определенную временную часть, осуществляется с помощью переключателя, подключенного между процессорами и выходным интерфейсом, как обсуждалось в связи с фиг.4b. С другой стороны, решение о том, какой сигнал является входящим в поток выходных данных, может быть принято непосредственно выходным интерфейсом 800.
Как представлено на фиг.1а, предложенное устройство кодирования аудио сигнала для получения закодированного аудио сигнала, где звуковой сигнал на входе 99/195 находится в первой области, включает в себя преобразователь первой области для преобразования аудио сигнала из первой области во вторую область. Кроме того, переключаемый байпас 54 минует преобразователь первой области 510 или, что предусмотрено, для осуществления преобразования аудио сигнала преобразователем первой области в ответ на байпас переключение контрольного сигнала 51. Таким образом, в активном состоянии переключаемый байпас минует преобразователь первой области, и в неактивном состоянии аудио сигнал является входом в преобразователь первой области,
Фиг.1b представляет декодер соответствующего кодера на фиг.1а в предпочтительной модификации. Устройство для декодирования закодированного аудио сигнала на фиг.1b получает на входе закодированный аудио сигнал, включающий в себя первый обработанный сигнал, находящийся в третьей области, и второй обработанный сигнал, находящийся во второй области, учитывая то, что вторая область и третья область отличаются друг от друга. В частности, входящий сигнал во входной интерфейс 900 является сходным с выходным сигналом из интерфейса 800 на фиг.1а. Устройство для декодирования включает в себя первый инверсный процессор 430, использующийся для инверсной обработки первого обработанного сигнала, и второй инверсный процессор 530, использующийся для инверсной обработки второго обработанного сигнала. Кроме того, предусмотрен второй преобразователь 440, применяемый для областного преобразования первого инверсного обработанного сигнала из третьей области в другую область. В дополнение к этому применяется первый преобразователь 540, использующийся для преобразования второго инверсного обработанного сигнала в первую область либо для преобразования первого инверсного обработанного сигнала в первую область притом, что другая область отличается от первой области. Таким образом, первый инверсный обработанный сигнал может быть преобразован только при использовании первого преобразователя, когда первый обработанный сигнал еще не находится в первой области, то есть в области цели, которая предусматривает наличие декодированного аудио сигнала либо промежуточного аудио сигнала в случае использования цепи предварительной обработки/пост-обработки данных. Кроме того, декодер содержит байпас 52 для байпасинга первого преобразователя 540, когда другая область отличается от первой области. Схема на фиг.1b также содержит сумматор 600 для объединения выхода первого преобразователя 540 и выхода байпаса, т.е. выходной сигнал от байпаса 52 для получения комбинированного декодированного аудио сигнала 699, который может быть использован сам по себе или который может даже быть декомпрессирован, используя стадию общей пост-обработки, о чем будет описано позднее.
Фиг.1 с представляет предпочтительный вариант модификации изобретенного аудио кодера, в которой сигнал классификатора в психоакустической модели 300 предназначен для классификации входящего аудио сигнала в стадии общей предварительной обработки, сформированной кодером MPEG Surround 101 и процессором расширения спектральной полосы пропускания 102. Кроме того, преобразователь первой области 510 представляет собой стадию анализа LPC и переключаемый байпас, соединенный между входом и выходом стадии анализа LPC 510, который является преобразователем первой области.
Обычно устройство LPC вырабатывает сигнал области LPC, которая может быть любым сигналом в области LPC, таким как, например, возбуждающий сигнал на фиг.7е или взвешенный сигнал на фиг.7f, или любой другой сигнал, который был сформирован при применении коэффициентов фильтра LPC для аудио сигнала. Кроме того, устройство LPC также может определять эти коэффициенты, а также может квантовать/кодировать эти коэффициенты.
Более того, переключатель 200 размещен на выходе преобразователя первой области таким образом, что сигнал на общем выходе байпаса 50 и стадии LPC 510 направляется либо по первой ветви кодирования 400 или по второй ветви кодирования 500. Первая ветвь кодирования 400 содержит преобразователь второй области 410 и первый процессор 420 с фиг.1а, и вторая ветвь кодирования 500 содержит второй процессор 520 с фиг.1а. На фиг.1с модификация кодера, в котором вход преобразователя первой области 510 соединен с входом переключаемого байпаса 50 и выход переключаемого байпаса 50 соединен с выходом преобразователя первой области 510 для создания общего выхода, где этот общий выход является входом в переключатель 200 и где переключатель содержит два выхода, но также может содержать дополнительные выходы для дополнительных кодирующих процессоров.
Предпочтительно, чтобы преобразователь второй области 410 в первой ветви кодирования 400 содержал MDCT преобразование, которое, кроме того, объединено с переключаемой функцией временной деформации (TW). MDCT спектр кодируется при использовании скалера (блока масштабирования)/квантователя, который выполняет квантование входящих значений, основанных на информации, полученной от психоакустичекой модели, расположенной в блоке классификатора 300. С другой стороны, второй процессор содержит кодер временной области кодирования входящего сигнала временной области. В одной модификации переключатель 200 контролируется таким образом, что в случае активного/закрытого байпаса 50 переключатель 200 автоматически переходит на верхнюю ветвь кодирования 400. В другом варианте, однако, переключатель 200 может контролироваться независимо от переключаемого байпаса 50, даже когда байпас активен/закрыт таким образом, что кодер временной области 520 может напрямую получать входной аудио сигнал временной области.
Фиг.1d представляет соответствующий декодер, где блок синтеза LPC 540 соответствует первому преобразователю фиг.1b и может быть проигнорирован посредством байпаса 52, который предпочтительно представляет собой переключаемый байпас, контролируемый посредством сигнала байпаса, выработанного битовым де-мультиплексором цифрового потока 900. Битовый демультиплексор цифрового потока 900 может вырабатывать этот сигнал и другие контрольные сигналы для ветвей кодирования 430, 530 или блок синтеза SBR 701, или блок декодера MPEG Surround 702 из входящего битового потока 899 или может получать данные для эти контрольных линий из анализа сигнала или любого другого отдельного источника информации.
Впоследствии будет представлено более подробное описание модификации на фиг.1 с для кодера и на фиг.Id для декодера.
Предпочтительная модификация состоит из гибридного аудио кодера, который сочетает в себе преимущества успешной технологии MPEG, такой как ААС, SBR и MPEG Surround с успешной технологией речевого кодера. В результате кодек включает в себя общую предварительную обработку для сигналов всех категорий, состоящих из MPEG Surround и расширения SBR (eSBR). Контролируемая психоакустической моделью и основанная на категории сигнала соответствующая модель информационного погружения или источник информации, являясь производной от структуры кодера, будет выбрана на основании каждого шага (пошаговой основе).
Предлагаемый кодек выгодно использует средства кодирования, такие как MPEG Surround, SBR и базовый кодер ААС. Таковые были изменены и усовершенствованы для повышения речепроизводства и с очень низкими битрейтами. При более высоких битрейтах производительность ААС равноценна, так как новый кодек может снизиться до уровня, очень близкого к ААС. Вводится расширенный бесшумный режим кодирования, который предусматривает в среднем чуть лучшее бесшумное выполнение кодирования. Для битрейтов с показателями около 32 кбит/с и ниже активируются дополнительные инструменты для улучшения производительности базового кодера для передачи речи и других сигналов. Основными компонентами этих инструментов являются частота формирования, основанная на LPC, несколько альтернативных вариантов длины импульса для кодера с MDCT основой и кодер временной области. В качестве расширения полосы к инструменту SBR, которое лучше подходят для низких частот кроссовера и речи, используется новая техника расширения пропускной способности. Инструмент Surround MPEG обеспечивает параметрическое воспроизведение стерео- или многоканального сигнала путем микширования низких частот и параметризованного стерео изображения. Для данного тестирования он (инструмент) используется для кодирования только стерео сигналов, но также подходит для многоканальных входящих сигналов при использовании существующей MPEG Surround функциональности от MPEG-D.
Все инструменты в цепи кодека, за исключением MDCT-кодера, предпочтительно использовать только для низких битрейтов.
Технология MPEG Surround используется для передачи входных аудио каналов N с помощью аудио каналов передачи М. Таким образом, система изначально является многоканальной. Технология MPEG Surround была усовершенствована для повышения производительности при низких битрейтах и речеподобных сигналов.
Основной режим обработки это создание высококачественного мономикширования с низкими частотами из входящего стерео сигнала. При этом извлекается множество пространственных параметров. Со стороны декодера генерируется выходящий стерео сигнал при использовании декодированного мономикширования с низкими частотами в сочетании с извлеченными и переданными пространственными параметрами. Низкоскоростной режим с показателями 2-1-2 был добавлен к существующим 5-х-5 или 7-х-7 операционным точкам в формате MPEG Surround, используя простую древовидную структуру, которая состоит из одной ОТТ (от одного до двух) диаграммы в формате MPEG Surround микширования с высокими частотами. Некоторые компоненты были модифицированы для лучшей адаптации к речи. Для более высоких скоростей передачи данных, такие как 64 кбит/с и выше, основной код использует дискретное стерео кодирование (Mid/Side или L/R); формат MPEG Surround не используется для этой операционной точки.
Расширение полосы, представленное в этой технологии, основано на технологии MPEG SBR. Используемый блок фильтров идентичен блоку фильтров в форматах MPEG Surround и SBR, предлагая возможность разделить образцы области QMF между MPEG Surround и SBR без дополнительного синтеза/анализа. По сравнению с стандартизированным инструментом SBR eSBR представляет расширенный алгоритм обработки, которая является оптимальной для обеих составляющих: речевого и аудио-содержания. Включено расширение SBR, которое подходит лучше для очень низких битрейтов и низких перекрестных частот.
Как известно из сочетания SBR и ААС, данная функция может быть деактивирована полностью, оставляя кодирование всего частотного диапазона для основного кодера.
Часть основного кодера предлагаемой системы можно рассматривать как сочетание дополнительного LPC фильтра и переключаемой области частоты/основной кодер временной области.
Как известно из структур речевых кодеров, LPC фильтр обеспечивает основу для исходной модели для человеческой речи. Обработка LPC может быть включена или выключена (проигнорирована) полностью или на основании пошагового решения.
После LPC фильтра сигнал области LPC кодируется с использованием либо временной области или преобразования основанного на структуре кодера частотной области. Переключение между этими двумя ветвями контролируется расширенной психоакустической моделью.
Структура кодера временной области основана на ACELP технологии, обеспечивая оптимальную производительность кодирования особенно для речевых сигналов при низких битрейтах.
Ветвь кодека, основанного на частотной области, базируется на MDCT структуре с скалярным квантователем и энтропийным кодированием.
Как вариант инструмент временной деформации доступен для повышения эффективности кодирования речевых сигналов на более высоких битрейтах (таких, как 64 кбит/с и выше) за счет более компактного воспроизведения сигнала.
MDCT структура обеспечивает хорошее качество при более низких битрейтах и шкалах в отношении четкости, как известно из существующих технологий MPEG. Это также применимо к режиму ААС на более высоких битрейтах.
Требования буфера совпадают с ААС, т.е. максимальное количество бит на входе буфера составляет 6144 на канал основного кодера: 6144 бит на элемент моноканала, 12288 бит на элемент парного канала.
Битовый резервуар контролируется на кодере, который позволяет адаптацию процесса кодирования для текущего битового требования. Характеристики битового резервуара идентичны ААС.
Кодер и декодер являются контролируемыми для работы при разных битрейтах от 12 Кбит/с моно до 64 кбит/с стерео.
Степень сложности схемы декодера отображена в терминах PCU. Для базового декодера требуемая степень сложности составляет около 11.7 PCU. В случае использования инструмента временной деформации, как для 64 кбит /с в тестовом режиме, степень сложности декодера увеличивается до 22.2 PCU.
Требования к RAM и ROM для предпочтительной конфигурации стерео декодера:
RAM: ~ 24 kWords/килослов
ROM: ~ 150 kWords/килослов.
По уведомлению энтропийного кодера, общий размер, который может быть достигнут для всего ROM ~ 98 kWords/килослов.
В случае использования инструмента временной деформации требование RAM увеличивается на ~ 3 kWords/килослов, требование ROM увеличился на ~ 40 kWords/килослов.
Теоретическая алгоритмическая задержка зависит от инструментов, используемых в кодек цепи (например, MPEG Surround и т.д.) Алгоритмическая задержка предлагаемой технологии отображается в рабочей точке на кодек частотой дискретизации. Значения, указанные ниже, не включают кадровую задержку, т.е. задержку, необходимую для заполнения входа буфера числом образцов, необходимых для обработки первого пакета. Такая кадровая задержка составляет 2048 образцов для всех указанных режимов. Последующая таблица содержат как минимальную алгоритмическую задержку, так и задержку для использованного применения. Дополнительная задержка для частоты 48 кГц РСМ входных файлов для кодека частотой дискретизации указана в '(.)'.
Номер испытания
Теоретический минимум алгоритмической задержкой (образцы)
Реализация алгоритмической задержки (образцы)
Тест 1, 64 кбит/с стерео
8278
8278 (+44)
Тест 2, 32 кбит/с стерео
9153
11201 (+44)
Тест 3, 24 kbps стерео
9153
11200 (+45)
Тест 4, 20 kbps стерео
9153
9153 (+44)
Тест 5, 16 kbps стерео
11201
11201 (+44)
Тест 6, 24 kbps моно
4794
5021 (+45)
Тест 7, 20 kbps моно
4794
4854 (+44)
Тест 8, 16 kbps моно
6842
6842 (+44)
Тест 9, 12 kbps моно
6842
6842 (+44)
Основные признаки данного кодека можно обобщить следующим образом. Предлагаемая технология преимущественно использует речь современного уровня развития и технологию кодирования аудио сигналов без нанесения ущерба выполнению кодирования независимо от речевого или музыкального содержания. Это сводится к кодеку, который способен передать современное качество речевого, музыкального и смешанного содержания для битрейтов в диапазоне от очень низких показателей (12 кбит/с) до высокой скорости передачи данных, такой как 128 кбит/с и выше, на которой кодек достигает очевидного качества.
Моно сигнал, стерео сигнал или многоканальный сигнал представляют собой ввод в стадию общей предварительной обработки 100, изображенную на фиг.2а. Общая схема предварительной обработки может содержать совместную стерео функциональность, обрамленную функциональность и/или функциональность расширения полосы. На выходе из блока 100 расположен моно канал, стерео канал или нескольких каналов, которые вводят набор байпасов 50 и преобразователь 510 или множество наборов этого типа.
Набор байпасов 50 и преобразователь 510 могут существовать для каждого выхода из стадии 100, когда стадия 100 содержит два или более выхода, т.е. когда стадия 100 выводит стерео сигнал или многоканальный сигнал. Например, первый канал стерео сигнала может быть каналом речевой связи, а второй канал стерео сигнала может быть музыкальным каналом. В этой ситуации решение на стадии принятия решения может быть отличным между двумя каналами в одно и то же время.
Байпас 50 контролируется стадией принятия решения 300. Блок стадии принятия решения получает в качестве входа входящий сигнал блока 100 или выходной сигнал, произведенный блоком 100. Кроме того, блок стадии принятия решения 300 может также получать дополнительную информацию, которая включена в моно сигнал, стерео сигнал или многоканальный сигнал или, по крайней мере, связана с таким сигналом, в котором существует информация, которая, например, была сгенерирована, изначально образовывая моно сигнал, стерео сигнал или многоканальный сигнал.
В одной из модификаций стадия принятия решения не контролирует стадию предварительной обработки 100, а указатель между блоком 300 и 100 отсутствует. В другой модификации обработка в блоке 100 контролируется в определенной степени решением блока 300, чтобы установить один или несколько параметров в блоке 100 на основании решения. Однако это не влияет на общий алгоритм в блоке 100, так что основная функциональность в блоке 100 является активной независимо от решения на стадии 300.
Блок стадии принятия решения 300 приводит в действие байпас 50 для того, чтобы загрузить выход стадии общей предварительной обработки либо с частотой кодирования 400, изображенной на верхней ветви фиг.1а, либо в области LPC преобразователя 510, которая может быть составляющей второго сегмента кодирования 500, изображенного на нижней ветви фиг.2а и содержащего элементы 510, 520.
В одной из модификаций байпас обходит преобразователь единой области. В другой модификации могут существовать преобразователи дополнительных областей для различных ветвей кодирования, таких как третья ветвь кодирования, или даже четвертая ветвь кодирования или даже еще большее количество ветвей кодирования. В модификации с тремя ветвями кодирования третья ветвь кодирования может быть похожа на вторую ветвь кодирования, но может содержать возбуждающий кодер, который отличается от возбуждающего кодера 520 во второй ветви 500. В данной модификации вторая ветвь включает в себя стадию LPC 510 и кодовую книгу, основанную на возбуждающем кодере, таком как в ACELP, а третья ветвь включает в себя стадию LPC и возбуждающий кодер, действующий на основе спектральной репрезентации выходного сигнала стадии LPC.
Одним из ключевых элементов ветви кодирования области частот является спектральный конверсионный блок 410, который действует для преобразования выходного сигнала общей стадии предварительной обработки в спектральную область. Спектральный конверсионный блок преобразования может содержать MDCT алгоритм, QMF алгоритм, FFT алгоритм, вейвлет-анализ или фильтр-банк, такой как критически отобранный фильтр-банк, имеющий определенное число каналов, где участок полосы частот в данном фильтр-банке могут представлять собой действительные значимые сигналы или составные значимые сигналы. Выход из спектрального конверсионного блока 410 кодируется путем использования спектрального аудио кодера 410, который может содержать блоки обработки, как показано на схеме кодирования ААС.
В нижней ветви кодирования 500 ключевым элементом является анализатор исходной модели/модели источника, такой как LPC (кодирование с линейным предсказанием) 510, который в этой модификации является преобразователем области 510 и который выдает два типа сигналов. Один из сигналов - это информационный сигнал кодирования с линейным предсказанием, который используется для управления параметрами фильтра синтеза кодирования с линейным предсказанием. Эта информация кодирования LPC передается на декодер. Другим выходным сигналом стадии LPC 510 является генерирующий сигнал или сигнал области кодирования с линейным предсказанием, который вводится в генерирующий кодер 520. Генерирующий кодер 520 может исходить из любого входного фильтра кодера модели, такого как кодер CELP (линейное предсказание с мультикодовым управлением), кодер ACELP или любой другой кодер, который обрабатывает сигнал области кодирования с линейным предсказанием.
Другим предпочтительным внедрением/использованием генерирующего кодера является кодирование с преобразованием инициирующего сигнала или сигнала области кодирования с линейным предсказанием. В этой модификации инициирующий сигнал не кодируется с помощью словаря кодов ACELP, но он преобразуется в спектральное представление и значения спектрального представления, такие как сигналы поддиапазона в случае блока фильтров или коэффициентов частоты, в случае преобразования, такие как FFT кодируются для достижения сжатия данных. Использование этого вида генерирующего кодера не что иное как способ кодирования ТСХ, известного по AMR-WB+. Этот способ применяется при соединении выхода LPC стадии 510 со спектральным преобразователем 410. Режим ТСХ, как известно из 3GPP TS 26,290, следует из переработки перцептивно взвешенного сигнала в области преобразования. Преобразованный взвешенный сигнал Фурье оцифровывается при помощи многоуровневой расщепляющей решетки квантования (алгебраического векторного квантования VQ), учитывая коэффициент шума квантования/оцифровки. Преобразование рассчитывается в 1024, 512 или 256 образцах. Генерирующий сигнал возвращается благодаря обратной фильтрации оцифрованного взвешенного сигнала через обратный взвешивающий фильтр.
На фиг.1а или фиг.1с за блоком LPC 510 следует кодер временной области, который может быть блоком ACELP или кодером области преобразования, который может быть блоком ТСХ 527. ACELP описан в 3GPP TS 26,190 и ТСХ описан в 3GPP TS 26,290. В целом, блок ACELP получает генерирующий сигнал кодирования с линейным предсказанием LPC, как подсчитано по процессу, описанному на фиг.7е. Блок ТСХ 527 получает взвешенный сигнал, генерируемый на фиг.7f.
-1
В ТСХ преобразование применяется к взвешенному сигналу, рассчитанному путем фильтрации входящего сигнала через взвешивающий фильтр на основе кодирования с линейным предсказанием. Во взвешивающем фильтре используются предпочтительные модификации изобретения, определяемые фильтром (1-A(z/γ))/(1-µz). Таким образом, взвешенный сигнал - это сигнал кодирования с линейным предсказанием LPC, а его преобразование - это спектральная область кодирования с линейным предсказанием LPC. Сигнал, обрабатываемый ACELP блоком 526, является генерирующим сигналом и отличается от сигнала, обрабатываемого блоком 527, но оба сигнала находятся в области кодирования с линейным предсказанием LPC.
-1
-1
Со стороны декодера после обратного спектрального преобразования применяется обращение взвешивающего фильтра, то есть (1-µz)/A(z/γ). Далее сигнал фильтруется через (1-А(z)) для того, чтобы перейти к области генерации LPC. Таким образом, преобразование в область LPC и операция ТСХ включают обратное преобразование, а затем фильтрацию через
,
чтобы конвертировать из области взвешенного сигнала в область генерации.
Хотя элемент 510 иллюстрирует один блок, блок 510 может выводить различные сигналы до тех пор, пока эти сигналы находятся в области кодирования с линейным предсказанием LPC. Действительный режим блока 510 таков, каков режим генерирующего сигнала или режим взвешенного сигнала, который может зависеть от фактического состояния переключателя. Кроме того, блок 510 может иметь два параллельных устройства обработки данных, где одно устройство применяется аналогично фиг.7е, а другое устройство реализуется в виде фиг.7f. Следовательно, область кодирования с линейным предсказанием LPC на выходе 510 может представлять и генерирующий сигнал LPC, и взвешенный сигнал LPC, а также любой другой сигнал области LPC.
-1
-1
-1
В режиме кодирования с линейным предсказанием LPC, когда байпас неактивен, т.е. когда существует ACELP/ТСХ кодирование, предпочтительно внести предыскажения сигнала через фильтр 1-0.68  перед кодированием. В ACELP/ТСХ декодере синтезированный сигнал корректирует предыскажения с фильтром 1/(1-0.68 ). Предыскажение может быть частью блока кодирования с линейным предсказанием LPC 510, где вносятся предыскажения сигнала перед анализом и оцифровкой /квантованием LPC. Аналогичным образом коррекция предыскажений может быть частью блока синтеза кодирования с линейным предсказанием LPC 540.
-1
Существует несколько областей кодирования с линейным предсказанием. Первая область кодирования с линейным предсказанием представляет генерацию LPC, и вторая область кодирования с линейным предсказанием представляет взвешенный сигнал LPC. То есть первый сигнал области LPC получается путем фильтрации через (1-А()) для преобразования в область остаточной/генерирующей LPC, в то же время второй сигнал области LPC получается путем фильтрации через фильтр (1-A(z/γ))/(1-µz) для преобразования в область взвешенных LPC.
Решение, принятое на стадии решения, может быть сигнал - адаптивным так, что стадия решения выполняет различение музыки/речи и контролирует байпас 50 и, если обнаруживает, осуществляет переключение 200 на фиг.1c таким образом, что музыкальные сигналы входят в верхнюю ветвь 400, а речевые сигналы входят в нижнюю ветвь 500. В одной из модификаций блок стадии решения предоставляет/подает информацию принятого решения в выходящий цифровой поток так, что декодер может использовать эту информацию для выполнения правильных операций декодирования.
Такой декодер показан на фиг.2b. Выход сигнала по спектральному аудио кодеру 420, с момента передачи является входом в спектральной аудио декодер 430. Выход из спектрального аудио декодера 430 является входом в преобразователь временной области 440. Аналогично, выход генерирующего кодера 520 на фиг.2а является входом в генерирующий декодер 530, который выводит сигнал. Сигнал области кодирования с линейным предсказанием является входящим в стадию синтеза кодирования с линейным предсказанием 540, который, как дополнительный вход, получает информацию кодирования с линейным предсказанием, порожденную соответствующей стадией анализа кодирования с линейным предсказанием 510. Выход преобразователя временной области 440 и/или выход стадии синтеза кодирования с линейным предсказанием 540 являются входами в переключаемый байпас 52. Байпас 52 управляется посредством сигнала регулирования байпаса, который был, к примеру, разработан на стадии решения 300, или который был предоставлен извне такими средствами, как производитель исходного моно сигнала, стерео сигнала или многоканального сигнала.
Выход байпаса 540 или стадии 540 является входом в сумматор 600, а также завершенным моно сигналом, который, соответственно, является входом в общую стадию последующей обработки 700, которая может осуществлять общую стерео обработку или обработку расширения полосы частот и т.д. В зависимости от специальных функциональных возможностей общей стадии последующей обработки моно сигнал, стерео сигнал или многоканальный сигнал является выходом, у которого при выполнении операции расширения полосы частот на общей стадии последующей обработки 700 большая полоса частот, чем вход сигнала в блок 700.
В одной из модификаций байпас 52 адаптирован для байпаса преобразователя сигнала 540. В дальнейшей модификации могут находиться дополнительные преобразователи, определяющие дополнительные ветви декодирования, такие как третья ветвь декодирования или даже четвертая ветвь декодирования, или даже большее число ветвей декодирования. В модификации с тремя ветвями декодирования третья ветвь декодирования может быть похожа на вторую ветвь декодирования, но может включать и генерирующий декодер, отличный от генерирующего декодера 530 во второй ветви 530, 540. В этой модификации вторая ветвь включает в себя стадию кодирования с линейным предсказанием 540 генерирующего (ресурсного) декодера на основе словаря кодов, такого как ACELP, и третья ветвь включает в себя стадию кодирования с линейным предсказанием и генерирующий декодер, работающий на спектральном представлении выходного сигнала стадии кодирования с линейным предсказанием.
Как указано выше, фиг.2 показывает предпочтительную схему кодирования в соответствии со вторым аспектом изобретения. Общая схема предварительной обработки в 100 из фиг.1а теперь включает объемный/совместный стерео блок 101, который в качестве выхода производит совместные стерео параметры и выходящий моно сигнал, который порождается входящим сигналом понижающегося микширования, который является сигналом, имеющим два или более каналов. Как правило, сигнал на выходе блока 101 может также быть сигналом, имеющим большее число каналов, но из-за функциональных возможностей понижающегося микширования блока 101 количество каналов на выходе блока 101 будет меньше, чем число входящих каналов в блок 101.
Выход блока 101 является входом в блок расширения полосы 102, который в кодере фиг.2в выводит на выход сигнал с ограниченной полосой частот, такой как узкополосный или низкочастотный сигнал. Помимо всего прочего, для диапазона высоких частот входного сигнала в блок 102 параметры расширения полосы частот, такие как параметры огибающего спектра, параметры инверсной фильтрации, параметры минимального уровня шума и т.д., как известно из НЕ-ААС профиля MPEG-4, формируются и направляются в мультиплексор цифрового потока 800.
Предпочтительно, что стадия решения 300 получает вход сигнала в блок 101 или вход в блок 102 для того, чтобы сделать выбор между, например, режимом музыки или режимом речи. В режиме прослушивания музыки выбрана верхняя ветвь кодирования 400, в то время как в режиме речи выбрана нижняя ветвь кодирования 500. Предпочтительно, что стадия решения дополнительно управляет совместным стерео блоком 101 и/или блоком расширения полосы частот 102, чтобы адаптировать функциональность этих блоков к определенному сигналу. Таким образом, когда стадия решений устанавливает, что определенная часть времени входящего сигнала относится к первому типу, такому как режим воспроизведения музыки, то особенностями блока 101 и/или блока 102 можно управлять с помощью стадии решения 300. Кроме того, когда стадия решения 300 определяет, что сигнал находится в режиме речи или, вообще, в режиме области кодирования с линейным предсказанием, то особенностями блоков 101 и 102 можно управлять в соответствии с выходом стадии решения.
В зависимости от решения переключения, которое может быть получено из входного сигнала переключателя 200 или из любого внешнего источника, такого как производитель первичного звукового сигнала, лежащего в основе входа сигнала в стадию 200, переключатель переключается между ветвью кодирования частоты 400 и ветвью кодирования с линейным предсказанием 500. Ветвь кодирования частоты 400 включает в себя стадию спектрального преобразования и, как следствие, стадию оцифровки/квантования и кодирования. Стадия оцифровки/квантования и кодирования может включать любую из функциональных возможностей, известных из современной области датчиков частоты, таких как кодер ААС. Кроме того, операции оцифровки/квантования в стадии оцифровки/квантования и кодирования могут контролироваться посредством психоакустического модуля, который вырабатывает психоакустическую информацию, такую как психоакустический порог маскирующего эффекта по частоте, где эта информация является входом в данную стадию.
Предпочтительно, чтобы спектральное преобразование осуществлялось с помощью операции MDCT, которая даже более предпочтительно является операцией MDCT деформации шкалы времени (временных деформаций), где степенью или, вообще, величиной деформации можно управлять между показателями нулевой и значительной величиной деформации. При нулевой величине деформации MDCT операция в блоке 400 на фиг.1с является операцией дискретно-косинусного преобразования (MDCT), известной в данной области техники. Значение деформации шкалы времени вместе с дополнительной информацией деформации шкалы времени может быть передана в мультиплексор цифрового потока 800 в качестве дополнительной информации. Поэтому если используется TW-MDCT кодер, дополнительная информация деформации шкалы времени должна направляться по адресу цифрового потока, как показано в элементе 424 на фиг.1 с, и со стороны декодера дополнительная информация деформации шкалы времени должна быть получена из цифрового потока, как показано в позиции 434 на фиг.1d.
В ветви кодирования с линейным предсказанием кодер области кодирования с линейным предсказанием может включать в себя основные ACELP, рассчитывающие коэффициент усиления, время задержки и/или информацию справочника кодов, такую как индекс справочника кодов и кода получения.
В первой ветви кодирования 400, для спектрального преобразователя предпочтительно включить специально адаптированную операцию MDCT, имеющую определенные функции окна, за которой следует стадия кодирования оцифровки/квантования/энтропии, которая может быть стадией вектора оцифровки/квантования, но предпочтительно должна быть цифровым преобразователем/кодером, схожим с цифровым преобразователем/ кодером в ветви кодирования частотной области.
Фиг.2d иллюстрирует схему декодирования, соответствующую схеме кодирования фиг.2 с, цифровой поток, вырабатываемый мультиплексором цифрового потока, является входом в демультиплексор цифрового потока. В зависимости от информации, полученной, например, из цифрового потока через блок режима детектирования, переключатель со стороны декодера управляется либо от прямых сигналов в верхней ветви или от сигналов в нижней ветви к блоку расширения полосы частот 701. Блок расширения полосы частот 701 получает от демультиплексора цифрового потока дополнительную информацию и, основываясь на этой дополнительной информации и выходе из режима решения, сумматором 600 на фиг.1 восстанавливает диапазон высоких частот, исходящих из выхода низких частот.
Полный сигнал диапазона, выработанный блоком 701, является входом в стадию объемной/совместной стерео обработки 702, которая восстанавливает два стереоканала или нескольких мультиканалов. Обычно блок 702 будет иметь на выходе больше каналов, чем было на входе в этот блок. В зависимости от приложения вход в блок 702 может даже включать два канала, такие как стерео- и может даже включать больше каналов при условии, что выход этого блока имеет больше каналов, чем вход в этот блок.
Переключатель 200 на фиг.1с является переключателем между двумя ветвями, так что только одна ветвь получает сигнал на обработку, а другая ветвь не получает сигнал на обработку, как показано в целом на фиг.4а. Однако в альтернативной модификации, показанной на фиг.4b, переключатель, к примеру, может располагаться вслед за/после аудио кодера 420 и генерирующего кодера 520, что означает, что обе ветви 400, 500 обрабатывают один и тот же сигнал параллельно. Однако для того чтобы не удваивать битрейт, только выходящий сигнал одной из тех кодирующих ветвей 400 или 500 выбирается для записи в выходной цифровой поток. Стадия решений будет работать так, что сигнал, записанный в цифровой поток, минимизирует определенные функции затрат, где функция затрат может быть выработанным битрейтом или вызванным персептивным искажением, или скомбинированной суммарной/искаженной функцией затрат. Таким образом, либо в этом режиме или в режимах, приведенных на чертежах, стадия решений может также работать в режиме обратной связи для того, чтобы убедиться, что только выход кодирующей ветви записывается в цифровой поток, которая для данного персептивного искажения имеет самый низкий битрейт или для данного битрейта имеет самые низкие персептивные искажения.
Как правило, обработка в ветви 400 является обработкой в базовой модели восприятия или модели информационного погружения. Таким образом, эта ветвь моделирует акустическую систему человека, получающую звук. Противоположная этому обработка в ветви 500 предназначена для получения сигнала в области генерирования, остатка или кодирования с линейным предсказанием. Как правило, обработка в ветви 500 является обработкой в речевой модели или модели формирования/образования информации. Для речевых сигналов эта модель является моделью речевой/звуковой системы человека, производящей звук. Однако если звук из другого источника, требующий другой модели генерации звука, должен кодироваться, то обработка в ветви 500 может отличаться.
Хотя фиг.1а-4с демонстрируются как блок-схемы аппарата, эти фигуры одновременно являются иллюстрацией метода, в котором функциональные возможности блока соответствуют этапам способа.
Фиг.3с иллюстрирует аудио кодер для кодирования входящего аудио сигнала 195. Входящий аудио сигнал 195 представлен в первой области, которая, к примеру, может быть временной областью, но которая также может быть любой другой областью, такой как частотной областью, областью кодирования с линейным предсказанием, спектральной областью кодирования с линейным предсказанием или любой другой областью. Как правило, преобразование из одной области в другую осуществляется своего рода алгоритмом преобразования, таким как любой из хорошо известных алгоритмов преобразования времени/частоты или алгоритмов преобразования частоты/времени.
Альтернативный переход из временной области, например, в область кодирования с линейным предсказанием является результатом фильтрации сигнала временной области на основе области кодирования с линейным предсказанием, который влечет за собой остаточный сигнал кодирования с линейным предсказанием или генерирующий сигнал, или любой другой сигнал области кодирования с линейным предсказанием. Любые другие процедуры фильтрации, продуцирующие фильтрованный сигнал, который влияет на значительное число образцов сигналов до того как преобразование может быть использовано как алгоритм преобразования в зависимости от обстоятельств. Таким образом, взвешивание аудио сигнала с помощью взвешивающего фильтра на основе кодирования с линейным предсказанием является следующим преобразованием, которое генерирует сигнал в области кодирования с линейным предсказанием. При преобразовании времени/частоты видоизменение одного спектрального значения повлияет на все значения временной области до преобразования. Аналогично, видоизменение любого образца временной области повлияет на каждый образец в частотной области. Подобным образом видоизменение образца генерирующего сигнала в подобной ситуации в области кодирования с линейным предсказанием в зависимости от длины фильтра кодирования с линейным предсказанием будет воздействовать на значительное число образцов до фильтрации кодирования с линейным предсказанием. Совершенно аналогично видоизменение образца до преобразования кодирования с линейным предсказанием повлияет на многие образцы, полученные в результате данного преобразования кодирования с линейным преобразованием в зависимости от эффекта внутренней памяти фильтра кодирования с линейным предсказанием.
Аудио кодер на фиг.3с включает первую ветвь кодирования 522, которая генерирует первый кодированный сигнал. Это первый кодированный сигнал может находиться в четвертой области, которая в предпочтительной модификации является временно-спектральной областью, т.е. областью, которая получается когда сигнал временной области обрабатывается посредством временного/частотного преобразования.
Таким образом, первая ветвь кодирования 522 для кодирования звукового сигнала использует первый алгоритм кодирования, чтобы получить первый кодированный сигнал, где этот первый алгоритм кодирования может включать или не включать алгоритм преобразования времени/частоты.
Кроме того, аудио кодер включает в себя вторую ветвь кодирования 523 для кодирования звукового сигнала. Вторая ветвь кодирования 523 использует второй алгоритм кодирования для получения второго кодированного сигнала, который отличается от первого алгоритма кодирования.
При этом аудио кодер включает в себя первый переключатель 521 для переключения между первой ветвью кодирования 522 и второй ветвью кодирования 523, 524 так, что для части входящего аудио сигнала в выходящий кодированный сигнал включается либо первый кодированный сигнал на выходе блока 522 либо второй кодированный сигнал на выходе второй ветви кодирования. Таким образом, когда для определенной части входящего аудио сигнала 195 первый кодированный сигнал в четвертой области включен в выходящий кодированный сигнал, второй кодированный сигнал, который является либо первым переработанным сигналом во второй области или вторым обработанным сигналом в третьей области, не включен в выходящий кодированный сигнал. Это гарантирует, что этот кодер эффективен при скорости передачи бит. В модификациях любые временные доли аудио сигнала, которые включены в два различных кодированных сигнала, малы по сравнению с длительностью кадра, что будет обсуждаться в связи с фиг.3е. Эти небольшие части используются для перекрестного затухания от одного кодированного сигнала к другому кодированному сигналу в случае переключения, чтобы уменьшить искажения, которые могут возникнуть без перекрестного затухания. Поэтому, помимо области перекрестного затухания, каждый блок временной области представлен кодированным сигналом только одной области.
Как показано на фиг.3с, вторая ветвь кодирования 523 следует за преобразователем 521 для преобразования аудио сигнала в первой области, т.е. сигнала 195 во вторую область и байпас 50. Кроме того, первая ветвь обработки 522 получает первый переработанный сигнал, который предпочтительно находится во второй области таким образом, что первая ветвь обработки 522 не приводит к изменению области или находится в первой области.
Вторая ветвь кодирования 523, 524 преобразует аудио сигнал в третью или четвертую область, которая отличается от первой области и которая также отличается от второй области, с целью получения второго сигнала обработки на выходе второй ветви кодирования 523, 524.
Кроме того, кодер содержит переключатель 521 для переключения между первой ветвью обработки и второй ветвью обработки 523, 524, где этот переключатель соответствует переключателю 200 на фиг.1с.
На фиг.3d изображен соответствующий декодер, использующийся для декодирования закодированного аудио сигнала, генерируемого кодером фиг.3с. Как правило, каждый блок аудио сигнала первой области представлен сигналом либо второй либо первой области либо кодирующим сигналом третьей, либо четвертой области обособленно от области дополнительного перекрестного затухания, которая, предпочтительно, является короче длины одного кадра для того, чтобы получить систему, которая в максимально возможной степени соответствует критическому пределу выборки. Кодированные аудио сигналы включают в себя первый кодированный сигнал, второй кодированный сигнал притом, что первый кодированный сигнал и второй кодированный сигнал относятся к разным временным отрезкам декодированного аудио сигнала и при этом вторая область, третья область и первая область для декодированного аудио сигнала отличаются друг от друга.
Декодер содержит первую ветвь кодирования, основанную на первом алгоритме кодирования. Первая ветвь кодирования изображена на 531 на фиг.3d.
Кроме того, декодер фиг.3d включает в себя вторую ветвь декодирования 533, 534, которая состоит из нескольких элементов.
К тому же декодер содержит первый объединитель 532, использующий для объединения первого инверсного сигнала обработки и второго инверсного сигнала обработки для получения сигнала в первой или второй области, где этот комбинированный сигнал в первое мгновение находится под влиянием только первого инверсного сигнала обработки, а впоследствии находится под влиянием только второго инверсного сигнала обработки.
Более того, декодер включает в себя преобразователь 540, применяемый для преобразования комбинированного сигнала в первой области и переключаемого байпаса 52.
Наконец, декодер, изображенный на фиг.3d, содержит второй блок объединения 600, применяемый для объединения первого декодированного сигнала из байпаса 52 и выходного сигнала преобразователя 540, чтобы получить декодированный выходной сигнал в первой области. Опять же, декодированный выходной сигнал в первой области в первое мгновение находится под влиянием только выходного сигнала преобразователя 540, а впоследствии находится под влиянием только отведенного сигнала.
Данная ситуация представлена с позиции кодера на фиг.3е. Верхняя секция на фиг.3е представлена схематически, аудио сигнал первой области, такой как аудио сигнал временной области, где временной индекс увеличивается слева направо и операция 3 может рассматриваться как поток аудио образцов, представляющих сигнал 195 на фиг.3с. Фиг.3е иллюстрирует кадры 3а, 3б, 3с, 3d, которые могут быть получены путем переключения между первым кодированным сигналом и вторым кодированным сигналом, как указано в позиции 4 фиг.3е. Первый кодированный сигнал и второй кодированный сигнал находятся в разных областях. Для того чтобы убедиться, что переключение между различными областями не приводит к искажению со стороны декодера, кадры 3а, 3б, 3с,…. сигнала временной области обладают перекрывающим диапазоном, который отмечен как область перекрестного затухания. Однако область перекрестного затухания не существует между кадрами 3d, 3с, что означает, что кадр 3d может быть также представлен сигналом в той же области, что и предыдущий 3с сигнал, и нет никакой области изменения между кадрами 3с и 3d.
Вследствие этого, как правило, предпочтительнее не предоставлять область перекрестного затухания там, где нет области изменения, а предоставить область перекрестного затухания, т.е. часть аудио сигнала, которая кодируется двумя последующими кодированными/обработанными сигналами при наличии области изменения, т.е. переключение любого из двух переключателей.
В модификации, в которой первый кодированный сигнал или второй обработанный сигнал был сгенерирован обработкой MDCT при наличии, например, 50 процентов наложения, каждый образец временной области включен в два последующих кадра. В связи с характеристиками MDCT данный процесс, однако, не приводит к непроизводительным потерям, поскольку MDCT является критически дискретной системой. В этом отношении, что особенно важно, критически дискретная означает, что число спектральных значений такое же, как количество значений временной области. Преобразование MDCT выгодно тем, что перекрестный эффект создается без конкретной перекрестной области так, что переход от одного блока MDCT к следующему блоку MDCT осуществляется без каких-либо непроизводительных расходов, которые нарушили бы критические требования выборки.
Предпочтительно, что первый алгоритм кодирования на первой ветви кодирования основан на модели информационного погружения, а второй алгоритм кодирования на второй ветви кодирования основан на модели источника информации или модели SNR. Модель SNR представляет собой модель, которая, главным образом, не связана с конкретным механизмом звукообразования, но которая является одним из режимов кодирования, который может быть выбран среди множества режимов кодирования, основанных, например, на решении обратной связи. Таким образом, модель SNR представляет собой доступную модель кодирования, но которая не обязательно должна быть связана с физическим строением генератора звука, но которая является параметризованной моделью кодирования, отличающейся от модели информационного погружения, которая может быть выбрана на основе решения обратной связи и, в частности, путем сравнения результатов SNR с различными моделями.
Как показано на фиг.3с, предусматривается контроллер 300, 525. Этот контроллер может включать в себя функциональные возможности стадии решения 300 фиг.1с. Как правило, контроллер предназначен для управления байпасом и переключателем 200 на фиг.1с путем сигнальной адаптации. Контроллер используется для разделения входного сигнала на байпас или выход при помощи первой или второй ветви кодирования или сигналов, полученных при кодировании и декодировании с первой ветви и второй ветви за счет целевой функции. Кроме того, контроллер применяется для разделения входного сигнала на выключатель или выход при использовании первой ветви обработки или второй ветви обработки, полученной в результате обработки и инверсной обработки с первой ветви обработки и второй ветви обработки опять же за счет целевой функции.
В одной из модификаций первая ветвь кодирования или вторая ветвь кодирования содержит представляющий наложение спектров временной/частотный конверсионный алгоритм, такой как MDCT или MDST алгоритм, который отличается от простой FFT трансформации, которая не производит эффекта наложения спектров. Кроме того, одна или обе ветви содержат блок кодера квантователя/энтропии. В частности, только вторая ветвь обработки второй ветви кодирования включает в себя временно/частотный преобразователь, вводящий операцию искажения и первую ветвь обработки второй ветви кодирования, который содержит оцифровщик и/или энтропийный кодер и не производит никаких эффектов искажения. Наложение спектров, представленное временно/частотным преобразователем предпочтительно должно включать оконный преобразователь, который используется для применения анализирующего окна и алгоритм преобразования MDCT. В частности, оконный преобразователь работает для применения функции заполнения данными прямоугольника последующих кадров наложенных таким образом, что образец селекторного сигнала происходит, по крайней мере, в двух последующих оконных рамках.
В одной из модификаций первая ветвь обработки включает кодер ACELP и вторая ветвь обработки включает MDCT спектральный преобразователь и оцифровщик для оцифровывания спектральных компонентов, чтобы получить оцифрованные спектральные компоненты, где каждый оцифрованный спектральный компонент равен нулю или определяется одним индексом оцифровщика из множества различных возможных индексов оцифровщика.
Как было сказано выше, обе ветви кодирования работают для кодирования аудио сигнала блочно-организованным способом, когда байпас или переключатель работает блочно-организованным способом так, что переключение или байпассинг имеет место, по крайней мере, после блока заданного числа образцов сигнала, заданного числа формирования длины кадра для соответствующего переключателя. Таким образом, причиной для байпаса может быть, например, блок 2048 или 1028 образцов, и длина кадра, на основании которой переключение байпаса может быть переменным, но, желательно, чтобы он был зафиксирован на такой достаточно длинный период.
Однако, напротив, длина блока для переключателя 200, т.е. когда переключатель 200 переключается с одного вида моды на другой, существенно меньшей, по сравнению с длинной блока в первом переключении. Предпочтительно, чтобы обе длины блока для переключателей выбирались бы так, чтобы более продолжительная длина блока являлась целым кратным более короткой длины блока.
В предпочтительной модификации длина блока первого переключателя равна 2048 и длина блока второго переключателя равна 1024 или более предпочтительно, 512 и даже более предпочтительно, 256 и даже более предпочтительно, 256 или даже 128 образцов с таким результатом, что при максимальном значении переключатель может переключаться 16 раз, тогда как байпас изменяется только один раз.
В дальнейшей модификации контроллер 300 эффективен при выполнении различения музыки от речи для первого переключателя таким образом, что принятие речи благоприятствует принятию музыки. В этой модификации принятие речи происходит даже когда на долю речи приходится менее 50% кадра для первого переключателя и на долю музыки более чем 50% кадра.
Кроме того, контроллер эффективен при переключении на режим речи, когда совсем небольшую долю первого кадра составляет речь и особенно когда доля первого кадра это речь, которая составляет 50% длины меньшего второго кадра. Таким образом, предпочтение выбору/переключению на речь уже отдается речи даже тогда, когда речь составляет, например, только 6% или 12% блока, относящегося к длине кадра первого переключателя.
Эта процедура предпочтительна для того, чтобы в полной мере использовать скорость потока цифровых данных, экономящую способность первой ветви обработки, которая имеет вокализированный речевой центр в одной модификации. Чтобы не ухудшить качество, одинаковое для большого первого кадра, который не является речевым из-за того, что вторая ветвь обработки включает в себя преобразователь и, следовательно, применима для аудио сигналов, которые тоже не имеют речевых сигналов. Предпочтительно, чтобы это вторая ветвь обработки включала совпадающее MDCT, которое критически испытано, и которое даже при малых размерах окна обеспечивает высокую эффективность и свободный ход наложению спектров искажения, обусловленные временной областью, совмещенные с аннулированием обработки, такой как частичное перекрытие и присоединение на поверхности декодера. Кроме того, используется длина большого блока для первой ветви кодирования, которая предпочтительно является ветвью кодирования MDCT ААС типа, так как не-речевые сигналы обычно достаточно постоянны/стационарны, а длинное окно преобразования обеспечивает высокое разрешение по частоте и, следовательно, высокое качество и, кроме того, обеспечивает эффективность скорости потока цифровых данных благодаря управляемому психоакустически оцифровочному модулю, который можно также применить к режиму кодирования на основе преобразования во второй ветви обработки второй ветви кодирования.
Что касается иллюстрации декодера на фиг.3d, предпочтительно, чтобы передаваемый сигнал включал в себя определенный признак, такой как дополнительная информация 4а, как показано на фиг.3е. Эта дополнительная информация 4а добывается анализатором цифрового потока, не показанного на фиг.3d, для того, чтобы направлять соответствующий первый обработанный сигнал или второй обработанный сигнал на соответствующий процессор, такой как первую ветвь инверсной обработки или вторую ветвь инверсной обработки на фиг.3d. Таким образом, закодированный сигнал включает не только закодированные/обработанные сигналы, но и дополнительную информацию, касающуюся этих сигналов. Однако в других модификациях может не быть явно выраженной передачи сигналов, которая позволяет анализатору цифрового потока на стороне декодера различать определенные сигналы. Что касается фиг.3е, то на нем намечено, что первый обработанный сигнал или второй обработанный сигнал являются выходом второй ветви кодирования и, следовательно, вторым кодированным сигналом.
Предпочтительно, что первая ветвь декодирования и/или вторая ветвь инверсной обработки включает преобразования MDCT для преобразования из спектральной области во временную область. С этой целью предоставляется сумматор наложения для обеспечения функциональной возможности прекращения искажения информации временной области, которая в то же время чтобы избежать искажений, обеспечивает эффект перекрестного затухания. Как правило, первая ветвь декодирования видоизменяет кодируемый сигнал в четвертой области в первую область, а вторая ветвь инверсной обработки выполняет преобразование из третьей области во вторую область. Последовательно преобразователь, соединенный с первым блоком объединения, обеспечивает преобразование из второй области в первую область таким образом, что на входе сумматора 600 находятся только сигналы первой области, которые представляют на модификации фиг.3d декодированный выходящий сигнал.
1
2
Фиг.4с иллюстрирует еще один аспект предпочитаемого использования декодера. Для того чтобы избежать звуковые искажения, в частности, в ситуации, в которой первый декодер является декодером, генерирующим наложение времени или установленным обычным образом декодером частотной области, а второй декодер является измерительным устройством временной области, границы между выходящими блоками или кадрами, произведенными первым декодером 450 и вторым декодером 550, не должны быть полностью непрерывными, особенно в ситуации переключения. Таким образом, когда первый блок первого декодера 450 является выходом и когда для последующей фазы времени блок второго декодера является выходом, уместно выполнять операцию перекрестного затухания, как показано на блоке перекрестного затухания 607. С этой целью может быть введен блок перекрестного затухания 607, как показано на фиг.4с на 607а, 607b и 607с. Каждая ветвь может иметь блок весовой обработки с весовым коэффициентом m между 0 и 1 по стандартизованной шкале, где весовой коэффициент может варьироваться, как указано в участке 609, поскольку закон перекрестного затухания доказывает, что происходит непрерывное и гладкое перекрестное затухание, которое дополнительно гарантирует, что пользователь не воспримет колебания громкости. Вместо закона линейного перекрестного затухания могут применяться законы нелинейного перекрестного затухания, такие как закон перекрестного затухания (функции sin).
1
В некоторых примерах последний блок первого декодера был создан с помощью окна, где окно фактически выполняет затухание, выходящее из этого блока. В этом случае весовой коэффициент m в блоке 607а равен 1 и собственно для этой ветви не требуется никакого взвешивания.
2
Когда происходит переключение от второго декодера на первый декодер и когда второй декодер включает окно, которое фактически плавно уменьшает выход к концу блока, то блок весовой обработки, обозначенный m, не требуется, или весовой параметр может быть установлен на 1 на протяжении всей области перекрестного затухания.
Когда после переключения был образован первый блок с использованием операции управления окнами и когда это окно действительно продемонстрировало затухание в действии, тогда соответствующий весовой коэффициент может быть также установлен на 1 таким образом, что блок весовой обработки на самом деле не является необходимым. Поэтому когда последний блок взвешен/обработан методом оконных преобразований для того, чтобы плавно уменьшить уровень сигнала с помощью декодера и когда первый блок после переключения обрабатывается оконным методом, используя декодер для обеспечения плавного увеличения уровня сигнала, тогда блоки весовой обработки 607а, 607b не требуются совсем, и просто достаточно действия сумматора 607с.
В этом случае доля плавного затухания сигнала последнего кадра, доля плавного увеличения уровня сигнала следующего кадра определяют область перекрестного затухания, указанную в блоке 609. Кроме того, в такой ситуации предпочтительно, чтобы последний блок одного декодера имел определенное время перекрытия с первым блоком другого декодера.
Если действие перекрестного затухания не требуется, невозможно или нежелательно, и если возможно только жесткое переключение с одного декодера на другой декодер, то предпочтительно выполнить такое переключение в тихие каналы звукового сигнала или, по крайней мере, в каналы звукового сигнала с низкой энергией, т.е. которые воспринимаются как бесшумные или почти бесшумные. Предпочтительно, что стадия решений 300 в такой модификации гарантирует, что переключатель 200 активен только тогда, когда соответствующая часть времени, которое следует за процессом переключения, обладает энергией, которая, например, ниже, чем средняя энергия звукового сигнала, и, желательно, ниже на 50% средней энергии звукового сигнала, относящейся к двум или более временным долям/кадрам звукового сигнала.
Предпочтительно, чтобы второе правило кодирования/правило декодирования являлось алгоритмом кодирования на основе кодирования с линейным предсказанием LPC. В кодировании речи на основе кодирования с линейным предсказанием LPC устанавливаются различия между квазипериодическими кратковременными генерирующими сегментами сигнала или долями сигнала и шумовыми генерирующими сегментами сигнала или долями сигнала. Это проводится для вокодеров с очень низкой скоростью цифрового потока кодирования с линейным предсказанием LPC (2,4 кбит/с), как на фиг.7b. Однако у кодеров линейного предсказания с мультикодовым управлением со средней скоростью возбуждения добиваются для добавления приведенных векторов из адаптированного словаря кодов и установленного словаря кодов.
Квазипериодические кратковременные генерирующие сегменты сигнала, т.е. сегменты сигнала, имеющие специфическую высоту звука, кодируются механизмами, отличными от используемых для шумовых генерирующих сегментов сигнала. В то время как квазипериодические кратковременные генерирующие сигналы соединяются с вокализированной речью, шумовые сигналы соединяются с невокализированной речью.
Для примера, делается ссылка на фиг.5a-5d. Здесь, к примеру, обсуждаются квазипериодические кратковременные сегменты сигнала или части сигнала и шумовые сегменты сигнала или части сигнала. В частности, вокализированная речь, как показано на фиг.5а во временной области и на фиг.5b в частотной области, рассматривается как пример для части квазипериодического кратковременного сигнала, а сегмент невокализированной речи - как пример части шумового сигнала - рассматривается в связи с фиг.5с и 5d. Речь в целом можно классифицировать как вокализированную, невокализированную или смешанную. Участки временной и частотной области для отобранных вокализированных и невокализированных сегментов показаны на рис.5A-5d. Вокализированная речь квазипериодична во временной области и гармонично структурирована в частотной области, в то время как невокализированная речь произвольна и имеет широкий диапазон частот. Краткосрочный спектр вокализированной речи характеризуется своей формантной микроструктурой. Гармоническая микроструктура является следствием квазипериодичности речи и может приписываться/объясняться вибрирующими голосовыми связками. Формантная структура (спектральный пакет) возникает благодаря взаимодействию источника и речевого тракта. Речевые тракты состоят из глотки и полости рта. Форма спектрального пакета, который "подходит" кратковременному спектру вокализированной речи, связаны с характеристиками переключения речевого тракта и спектральным наклоном (6 дБ/октава) в связи с глотальной/голосообразующей частотой импульсов. Спектральный пакет характеризуется рядом пиковых значений, которые называются формантами. Форманты - это резонансные режимы речевого тракта. Для среднего голосового тракта существует от трех до пяти формантов ниже 5 кГц. Амплитуды и расположение первых трех формант, обычно встречающихся ниже 3 кГц, имеют весьма важное значение как в синтезе речи, так и восприятии. Более высокие форманты также важны для представления широкой полосы и невокализированной речи. Свойства речи связаны с физической системой речеобразования, как следует далее. Вокализированная речь осуществляется путем возбуждения речевого тракта квазипериодическими голосообразующими воздушными импульсами, порождаемыми вибрирующими голосовыми связками. Частота периодических импульсов имеет отношение к основному тону/частоте или высоте тона. Невокализированная речь получается путем нагнетания воздуха через сужение в речевом тракте. Назальные звуки (гнусавость) являются результатом акустической связи носового тракта с речевым трактом, и взрывные звуки образуются из-за резкого освобождения/уменьшения давления воздуха, которое создалось позади места смыкания в тракте.
Таким образом, шумовая составляющая аудио сигнала не показывает ни импульсную структуру временной области, ни гармоничную структуру частотной области, как показано на фиг.5 и на фиг.5d, которая отличается от квазипериодической импульсной составляющей, как показано для примера на фиг.5а и на фиг.5б. Однако, как будет показано в дальнейшем, различие между шумовыми и квазипериодическими импульсными составляющими можно наблюдать и после кодирования с линейным предсказанием LPC для генерирующего сигнала. Кодирование с линейным предсказанием LPC является тем методом, который моделирует речевой тракт и выдержки/фрагменты из генерирующего сигнала речевого тракта.
Кроме того, квази-периодические импульсные доли и шумовые доли могут возникать своевременно, т.е. это означает, что мгновенная доля аудио сигнала во времени - шумная, а другая мгновенная доля звукового сигнала - квази-периодическая, т.е. тональная. Кроме того или дополнительно характеристика сигнала может различаться в различных диапазонах частот. Таким образом, определение того, является ли аудио сигнал шумным или тональным, также может быть выполнено частотно-избирательно так, что определенные полосы частот или несколько определенных полос частот считаются шумными, и другие полосы частот считаются тональными. В этом случае определенная часть времени аудио сигнала может включать тональные шумные компоненты.
Фиг.7а иллюстрирует линейную модель системы речеобразования. Эта система предполагает двухступенчатое возбуждение, т.е. ряд импульсов для вокализированной речи, как показано на фиг.7с, и случайных шумов для не вокализированной речи, как показано на фиг.7d. Речевой тракт моделируется как полюсный/идеальный фильтр 70, который обрабатывает импульсы на фиг.7с или фиг.7d, вырабатываемые голосообразующей моделью 72. Таким образом, система фиг.7а может быть сведена к модели полюсного фильтра на фиг.7b, имеющего усилительный каскад/коэффициент направленного действия 77, канал прямой связи 78, канал обратной связи 79 и дополнительная стадия/ступень 80. В канале обратной связи 79 есть фильтр прогнозирования 81, и вся синтезированная система исходной модели, показанной на фиг.7в, может быть представлена с помощью функций z-области следующим образом:
S(z)=g/(1-A(z))·X(z),
где g означает коэффициент направленного действия, A(z) - фильтр прогнозирования, как определяется LP-анализом, Х(z) - генерирующий сигнал, a S(z) - производимая синтезированная речь.
Фиг.7с и 7d дают графическое описание временной области синтеза вокализированной и невокализированной речи, используя линейную модель исходной системы. Эта система и параметры возбуждения в приведенном выше уравнении неизвестны и должны быть определены из конечного множества образцов речи. Коэффициенты A(z) получены с помощью линейного предсказания входного сигнала и оцифровки коэффициентов фильтра. В p-th порядке в направлении линейного предсказателя настоящий образец последовательности речи предсказан из линейной комбинации прошедших р - образцов. Коэффициенты предсказания могут определяться хорошо известными алгоритмами, такими как алгоритмом Левинсон-Дурбина или обычным методом автокорреляции, или методом отражения (методом отраженных волн).
Фиг.7е иллюстрирует более подробное осуществление анализа блока кодирования с линейным предсказанием LPC 510. Аудио сигнал - это вход в блок фильтрового определителя, который определяет информацию о фильтре (z). Эта информация выводится в виде краткосрочного прогнозирования информации, необходимой для декодера. Эта информация оцифрована квантизатором 81, как известно, например, из условия AMR-WB+. Информация краткосрочного прогнозирования требуется для действующего фильтра предсказания 85. В вычитателе 86 находящийся там образец аудио сигнала является входящим и прогнозируемое значение для данного примера вычитается так, что для этого образца сигнал ошибки прогноза создается в строке 84. Последовательность таких примеров сигнала ошибки прогноза очень схематично показана на фиг.7с или 7d. Таким образом, фиг.7с и 7d можно рассматривать как тип выпрямленного импульсного сигнала.
Тогда как фиг.7е иллюстрирует предпочтительный способ расчета генерирующего сигнала, фиг.7f иллюстрирует предпочтительный способ расчета взвешенного сигнала. В отличие от фиг.7е фильтр 85 отличается при условии, когда значение величины γ отлично от 1. Значение, меньшее 1, является предпочтительным для γ. Кроме того, присутствует блок 87, и значение величины µ предпочтительнее числу, меньшему 1. Как правило, элементы на фиг.7е и 7f могут быть введены как в 3GPP TS 26,190 или 3GPP TS 26,290.
Фиг.7g иллюстрирует процесс инверсной обработки, который можно применить на дополнительном декодере, таком как в элементе 537 на фиг.2b. В частности, блок 88 образует невзвешенный сигнал из взвешенного сигнала, а блок 9 вычисляет возбуждения от невзвешенного сигнала. Как правило, все сигналы, кроме невзвешенного сигнала на рис.7g, находятся в области кодирования с линейным предсказанием LPC, но генерирующий сигнал и взвешенный сигнал являются разными сигналами в одной и той же области. Блок 89 выводит генерирующий сигнал, который впоследствии может быть использован вместе с выходом блока 536. Затем общее инверсное видоизменение кодирования с линейным предсказанием LPC может быть выполнено в блоке 540 на фиг.2b.
w
L
Впоследствии будет обсуждаться кодер линейного предсказания с мультикодовым управлением CELP анализа через синтез в связи с фиг.6, для того чтобы проиллюстрировать модификацию, примененную в этом алгоритме. Этот кодер линейного предсказания с мультикодовым управлением CELP подробно обсуждается в: "Кодирование речи: Учебное пособие", Андреас Spanias, Труды/Записки ученого общества IEEE, том. 82, №10, октябрь 1994 года, стр.1541-1582. Кодер линейного предсказания с мультикодовым управлением CELP, как показано на фиг.6, включает компонент долгосрочного прогнозирования 60 и компонент краткосрочного прогнозирования 62. Кроме того, используется словарь кодов, что указано в позиции 64. Перцепционный взвешивающий фильтр W(z) вводится в/на 66, а контролер сведения ошибки к минимуму приводится на 68. S(n) - это входящий сигнал временной области. Будучи персептивно взвешенным, взвешенный сигнал входит в вычитатель 69, который вычисляет ошибку между взвешенным синтезированным сигналом на выходе блока 66 и начальным взвешенным сигналом S(n). Как правило, коэффициенты фильтра краткосрочного прогнозирования A(z) вычисляются по стадии анализа LP и эти коэффициенты оцифровываются в (z), как показано на фиг.7е. Информация долгосрочного прогнозирования A(z), включая коэффициент направленного действия долгосрочного прогнозирования g и индекс оцифровки вектора, т.е. ссылки словаря кодов, рассчитываются по сигналу прогнозирования ошибок на выходе стадии анализа кодирования с линейным предсказанием LPC, именуемые 10а на фиг.7е. Параметры кодирования с линейным предсказанием LTP являются задержкой основного тона и коэффициента направленного действия. В линейном предсказании с мультикодовым управлением CELP это обычно вводится как адаптивный словарь кодов, содержащий последний генерирующий сигнал (не остаточный). Адаптивная задержка СВ и коэффициент направленного действия рассчитываются путем минимизации среднеквадратичной взвешенной ошибки (поиска основного тона/уклона замкнутого цикла).
При данном условии алгоритм линейного предсказания с мультикодовым управлением CELP кодирует остаточный сигнал, полученный после краткосрочного и долгосрочного прогнозирования словаря кодов, например гауссовых последовательностей.
Алгоритм ACELP, где А означает Алгебраические, имеет особый алгебраически спроектированный/составленный словарь кодов.
В словаре кодов может содержаться больше или меньше векторов, где каждый вектор имеет длину нескольких образцов. Коэффициент усиления g определяет кодовый вектор, и полученный код фильтруется синтезированным фильтром долгосрочного прогнозирования и синтезированным фильтром краткосрочного прогнозирования. Оптимальный кодовый вектор выбирается таким образом, что персептивно взвешенная среднеквадратическая ошибка на выходе вычитателя 69 сведена к минимуму. Процесс поиска в линейном предсказании с мультикодовым управлением CELP проводится через оптимизацию анализа путем синтеза, как показано на фиг.6.
Для конкретных случаев, когда кадр - это смесь невокализированной и вокализированной речи или когда речь преобладает над музыкой, ТСХ-кодирование может больше подходить для кодирования возбуждения в области кодирования с линейным предсказанием LPC. ТСХ кодирование переводит взвешенный сигнал в частотную область без каких-либо допущений получения возбуждения. В таком случае ТСХ-кодирование является более характерным, чем кодирование CELP, и не ограничивается вокализированной и невокализированной моделью источника возбуждения. По-прежнему ТСХ-кодирование является моделью кодирования исходного фильтра, использующего линейный фильтр прогнозирования для моделирования формантов речеподобных сигналов.
В кодировании типа AMR-WB+происходит выбор между различными видами ТСХ и ACELP, известного из описания AMR-WB+. ТСХ режимы отличаются тем, что длина блока дискретного преобразования Фурье различна для разных режимов и наилучший режим может быть выбран методом анализа через синтез или прямым режимом "упреждения".
Как уже обсуждалось в связи с фиг.2с и 2d, общая предварительная стадия обработки 100 предпочтительно включает совместное многоканальное (объемное/совместимое стерео устройство) 101 и, кроме того, стадию расширения полосы частот 102. Соответственно, декодер включает стадию расширения полосы частот 701 и последовательно связанную совместную многоканальную стадию 702. Предпочтительно, совместная многоканальная стадия 101 является по отношению к кодеру связанной заранее стадией расширения полосы частот 102, а также на дополнительном декодере стадия расширения полосы частот 701 является связанной заранее совместной многоканальной стадией 702 относительно направления обработки сигнала. Однако, кроме того, стадия общей предварительной обработки может включать совместную многоканальную стадию без последовательно связанной стадии расширения полосы частот или стадии расширения полосы частот без связанной совместной многоканальной стадии.
Предпочтительный пример для совместной многоканальной связи на дополнительном кодере 101а, 101b и дополнительном декодере 702а и 702В приведен в контексте фиг.8. Ряд исходных входных каналов Е является входом в микшер низких частот 101а, так что микшер низких частот производит ряд К входных каналов, где число К больше или равно единице и меньше или равно Е.
Предпочтительно, чтобы Е входных каналов вводились в общий многоканальный параметрический анализатор 101 В, который образует параметрическую информацию. Эта параметрическая информация предпочтительно энтропически закодирована такими различными кодировками и последующим кодированием Хаффмана или, наоборот, последующим арифметическим кодированием. Закодированная параметрическая выходная информация блока 101D передается в параметрический декодер 702В, который может быть частью рисунка 702 на фиг.2b. Параметрический декодер 702В декодирует передаваемую параметрическую информацию и направляет декодированную параметрическую информацию в микшер высоких частот 702а. Микшер высоких частот 702а получает К передаваемых каналы и образует ряд L выходных каналов, где число L больше или равно К и меньше или равно Е.
Параметрическая информация может включать уровневые различия внутреннего канала, временные различия внутреннего канала, фазовые различия внутреннего канала и/или меры коэффициентов связи внутреннего канала, как известно из техники ВСС или как известно и подробно описано в MPEG стандарте. Ряд передаваемых каналов может быть простым моно каналом для приложений с ультранизким уровнем цифровых потоков или может включать совместимые стерео приложения или совместимый стерео сигнал, то есть два канала. Как правило, число Е входных каналов может быть равно пяти или даже выше. Кроме того, ряд входных каналов Е может быть Е аудио объектами, как известно из контекста пространственного кодирования аудио объекта (SAOC).
В одном из применений микшер низких частот выполняет взвешенное или невзвешенное добавление исходных входных каналов Е или добавление входных аудио объектов Е. В случае когда аудио объекты являются входными каналами, общий многоканальный параметрический анализатор 101b рассчитывает параметры аудио объекта, такие как корреляционная матрица между аудио объектами, предпочтительно для каждой доли времени, и даже более предпочтительно для каждой полосы частот. Для этого весь частотный диапазон может быть разделен, по меньшей мере, на 10, предпочтительно на 32 или 64 полосы частот.
Фиг.9 иллюстрирует предпочтительную модификацию для выполнения стадии расширения полосы частот 102 на фиг.2а, и соответствующей стадии расширения полосы частот 701 на фиг.2b. На дополнительном кодере блок расширения полосы частот 102 предпочтительно включает блок фильтрации нижних частот 102b, блок дискретизатора с пониженной частотой, которая следует за нижними частотами, или который является частью перевернутого квадратурного зеркального фильтра QMF, который действует только на половине полос квадратурного зеркального фильтра QMF и анализатора высоких частот 102а. Исходный входящий аудио сигнал в блок расширения полосы частот 102 фильтруется на низких частотах, чтобы произвести низкочастотный сигнал, который затем станет входящим ветви кодирования и/или переключатель. Низкочастотный фильтр имеет отсеченную частоту, которая может находиться в диапазоне от 3 кГц до 10 кГц. Кроме того, блок расширения полосы частот 102 включает высокочастотный анализатор для подсчета параметров расширения полосы частот, таких как спектральный пакет парамерической информации, параметрическую информацию о минимальном уровне шума, параметрическую информацию об инверсной фильтрации, дальнейшую параметрическую информацию, касающуюся определенных гармонических линий высоких частот, и дополнительные параметры, подробно обсужденные в MPEG-4 стандарте в главе, относящейся к дублированию спектральной полосы.
Со стороны декодера блок расширения полосы частот 701 включает в себя патчер 701А, корректирующее устройство 701b и сумматор 701с. Сумматор 701с сочетает декодированный низкочастотный сигнал, восстановленный и отрегулированный/скорректированный выходящий высокочастотный корректирующим устройством 701b. Вход в корректирующее устройство 701b осуществляется патчером/исправителем, который вводится в действие для получения высокочастотного сигнала из низкочастотного сигнала такими методами, как дублирование спектральной полосы, или, вообще, расширением полосы частот. Исправления, выполненные исправителем 701А, могут осуществляться гармонично или негармонично. Сигнал, производимый исправителем 701А, соответственно, регулируется корректирующим устройством 701b с помощью переданной параметрической информации о расширении полосы частот.
Как показано на фиг.8 и фиг.9, описанные блоки могут иметь режим выбора типа колебаний в предпочтительной модификации. Этот режим выбора типа колебаний является производным от стадии решения 300 выходящего сигнала. В такой предпочтительной модификации характеристика соответствующего блока может быть адаптирована к выходящей стадии решения, т.е. в предпочтительной модификации выбор речи или выбор музыки делается за определенную долю времени аудио сигнала. Предпочтительно, чтобы режим контроля относился только к одной или нескольким функциональным возможностям этих блоков, а не ко всем функциональным возможностям блоков. Например, решение может повлиять только на патчер 701 А, но может не влиять на другие блоки на фиг.9, или может, например, влиять только на общий многоканальный параметрический анализатор 101В на фиг.8, но не на другие блоки на фиг.8. При этом применении желательно, чтобы получался выходящий сигнал большей гибкости и более высокого качества и с менее низкой скоростью цифрового потока, обеспечивая гибкость в общей предварительной стадии обработки. Однако, с другой стороны, использование алгоритмов в общей предварительной стадии обработки для обоих видов сигналов позволяет применить эффективную схему кодирования/декодирования.
Фиг.10а и фиг.10b иллюстрирует два различных применения стадии решения 300. На фиг.10а показаны решения открытого цикла (без обратной связи). Здесь анализатор сигналов 300А в стадии решений использует определенные правила, чтобы решить, имеет ли доля определенного времени или доля определенной частоты входящего сигнала характеристику, которая требует, чтобы эта доля сигнала была закодирована первой ветвью кодирования 400 или второй ветвью кодирования 500. Для этого анализатор сигналов 300А может анализировать входящий аудио сигнал в общей предварительной стадии обработки или может анализировать выходящий аудио сигнал общей предварительной стадией обработки, т.е. промежуточный аудио сигнал; может анализировать промежуточный сигнал в рамках общей предварительной стадии обработки, поскольку выход сигнала микшированного на низких частотах, который может быть моно сигналом или который может быть сигналом, имеющим К (входные) каналы, указанные на фиг.8. Со стороны выхода анализатор сигналов 300А производит решение переключения для управления переключателем 200 на стороне кодера и соответствующего переключателя 600 или сумматора 600 на стороне декодера.
Альтернативно, стадия решений 300 может принимать решения замкнутого цикла (с обратной связью), что означает, что обе ветви кодирования выполняют свои задачи на одной и той же доли аудио сигнал, и оба кодированных сигнала расшифровывается соответствующими ветвями декодирования 300с, 300d. Выход устройств 300с и 300d является входом в блок сравнения/компаратор 300b, который сравнивает выход декодирующих устройств для постановки соответствующей доли, например промежуточного аудио сигнала. Затем в зависимости от функции стоимости, такой как соотношение: сигнал к коэффициенту шума по ветвям, принимается решение переключения. Это решение замкнутого цикла обладает повышенной сложностью по сравнению с решением разомкнутого цикла, но эта сложность существует только на стороне кодера; а у декодера нет никакого препятствия от этого процесса, так как декодер может выгодно использовать выход этого решения кодирования. Таким образом, предпочтительным является режим замкнутого цикла из-за учета сложности и качества в применении, где сложность декодера не является предметом обсуждения такого, как применения прогнозирования/предсказания, где существует только небольшое количество кодеров, но большое количество декодеров, которые, помимо всего, должны быть аккуратными и дешевыми.
Функция стоимости, применяемая блоком сравнения/компаратором 300D, может быть функцией стоимости, обусловленной аспектами качества или может быть функцией стоимости, обусловленной шумовыми аспектами, или может быть функцией стоимости, обусловленной скоростью цифрового потока, или может быть комбинированной функцией стоимости, обусловленной любой комбинацией скорости цифрового потока, качества, шума (введенной кодированием искажений, в частности путем оцифровки) и др.
Предпочтительно, что первая ветвь кодирования или вторая ветвь кодирования включает функцию деформации шкалы времени со стороны кодера и, следовательно, со стороны декодера. В одной из модификаций первая ветвь кодирования включает модуль временного искажения для расчета характеристики переменной деформации, которая зависит от части звукового сигнала, устройство для восстановления дискретизованного сигнала для повторного отбора в соответствии с определенной характеристикой деформации, преобразователь временной области/частотной области, и энтропийный кодер для преобразования результата преобразователя временной области/области преобразования частоты в закодированное воспроизведение. Характеристика переменной деформации включена в закодированный аудио сигнал. Эта информация считывается Time Warp расширенной ветвью декодирования и обрабатывается для получения финального выходящего сигнала по временной недеформированной шкале. Например, ветвь декодирования выполняет энтропийное декодирование, деквантование и преобразование из частотной области обратно во временную область. Во временной области преобразование деформации может быть применено и может сопровождаться соответствующей операцией повторной выборки, чтобы в результате получить дискретный звуковой сигнал с недеформированной временной шкалой.
В зависимости от применения определенных требований, предлагаемых в данном изобретении, инновационные способы могут быть реализованы в оборудовании или в программном обеспечении. Реализация может быть выполнена с использованием цифровых носителей, в частности диска, DVD или CD с функцией электронного чтения контрольных сохраненных сигналов, которые взаимодействуют с системами программируемого компьютера, таких, например, которые представлены в данном изобретении. Как правило, данное изобретение является программным продуктом для компьютера с программным кодом, хранящимся на машиночитаемом носителе, программный код эксплуатируется для воспроизведения изобретенных способов работы, когда компьютерный программный продукт работает на компьютере. Другими словами, изобретенные способы работы представляют собой компьютерную программу, обладающую программным кодом для выполнения хотя бы одного из изобретенного способа работы, когда компьютерная программа работает на компьютере.
Изобретенный кодированный аудио сигнал может быть сохранен на цифровых носителях или может быть передан на носитель передачи информации, такой как беспроводной носитель информации или проводной носитель информации, такой как, например, Интернет.
Описанные выше модификации носят иллюстративный характер для принципов работы данного изобретения. Понятно, что модификации, изменения механизмов и деталей, описанных здесь, будут очевидны для других специалистов в данной области. Изобретение представляет собой намерение, которое ограничено областью предстоящих требований патентной заявки, а не конкретными деталями, представленными здесь в виде описания и объяснения модификаций.