ДЕКОДЕР ДЛЯ ДЕКОДИРОВАНИЯ КОДИРОВАННОГО АУДИОСИГНАЛА И КОДЕР ДЛЯ КОДИРОВАНИЯ АУДИОСИГНАЛА
DECODER FOR DECODING AN ENCODED AUDIO SIGNAL AND AN ENCODER FOR ENCODING AN AUDIO SIGNAL

Настоящее изобретение относится к декодеру для декодирования кодированного аудиосигнала и кодеру для кодирования аудиосигнала. Варианты осуществления представляют способ и устройство для переключения адаптивного к сигналу ядра преобразования при аудиокодировании. Другими словами, настоящее изобретение относится к аудиокодированию и, в частности, к перцептуальному аудиокодированию посредством перекрывающихся преобразований, таких как, например, модифицированное дискретное косинусное преобразование (MDCT) [1].
M
spec
Все современные перцептуальные аудиокодеки, в том числе кодеки MP3, Opus (Celt), семейства HE-AAC (высокоэффективного усовершенствованного аудиокодирования) и новые MPEG-H 3D Audio и 3GPP Enhanced Voice Services (EVS) кодеки, используют MDCT для квантования и кодирования в спектральной области одной или более форм канальных форм волн. Синтезированная версия данного перекрывающегося преобразования с использованием спектральной функции длиной , [], задается уравнением
, (1)
M
N
N
x
x
i,n
i-1,n
где =/2, и  является длиной временного окна. После обработки оконной функцией, временное выходное значение  комбинируется с предыдущим временным выходным значением путем процесса перекрытия с суммированием (overlap-and-add (OLA)). C может быть постоянным параметром больше 0 или менее или равным 1,таким как, например, равным 2/N.
Хотя MDCT согласно уравнению (1) хорошо работает для высококачественного аудиокодирования достаточно большого числа каналов при различных битрейтах, существуют два случая, при которых качество кодирования может быть недостаточным. К таковым относятся, например:
высоко-гармонические сигналы с некоторыми основными частотами, которые посредством MDCT дискретизируются так, что каждая гармоника представляется более чем одним бином MDCT. Это приводит к субоптимальному уплотнению энергии в спектральной области, т.е. низкой эффективности кодирования.
стереосигналы с приблизительно 90-градусным сдвигом по фазе между бинами MDCT каналов, которые невозможно использовать при традиционном совместном канальном кодировании на основе M/S-стерео. Более сложное стереокодирование, включающее в себя кодирование межканальной разности фаз (IPD), можно обеспечить, например, с использованием системы параметрического стерео формата HE-AAC или объемного звука стандарта MPEG, но данный инструментарий работает в отдельной области банка фильтров, что повышает сложность.
Операции MDCT или подобные MDST упоминаются в нескольких научных публикациях и статьях, иногда с разными названиями, например, «ортогональное перекрывающееся преобразование (LOT)», «расширенное перекрывающееся преобразование (ELT)» или «модулированное перекрывающееся преобразование (MLT)». Только работа [4] упоминает несколько разных перекрывающихся преобразований в одно и то же время, но не устраняет вышеупомянутые недостатки MDCT.
Следовательно существует потребность в усовершенствованном подходе.
Задачей настоящего изобретения является обеспечение улучшенной концепции обработки аудиосигнала. Данная задача решается посредством сущности изобретения независимых пунктов формулы изобретения.
Настоящее изобретение основано на полученных данных о том, что адаптивное(ая) к сигналу изменение или подстановка ядра преобразования может решить вышеупомянутые виды проблем с современным MDCT-кодированием. В соответствии с вариантами осуществления, настоящее изобретение справляется с двумя вышеупомянутыми проблемами, относящимися к традиционному кодированию с преобразованием, посредством принципа обобщенного MDCT-кодирования для включения трех других аналогичных преобразований. С учетом формулы (1) синтеза, это предлагаемое обобщение следует определить в виде
. (2)
k
k
0
0
Следует отметить, что постоянная ½ заменена постоянной , и что функция cos(...) заменена функцией cs(...). Как , так и cs(...) выбираются адаптивно к сигналу и контексту.
В соответствии с вариантами осуществления, предложенная модификация парадигмы MDCT-кодирования может адаптироваться к мгновенным характеристикам входного сигнала по каждому отдельному кадру, так что, например, учитываются ранее описанные проблемы или случаи.
Варианты осуществления представляют декодер для декодирования кодированного аудиосигнала. Декодер содержит адаптивный спектрально-временной преобразователь для преобразования последовательных блоков спектральных значений в последовательные блоки временных значений, например, посредством частотно-временного преобразования. Декодер дополнительно содержит процессор для обработки методом перекрытия с суммированием для перекрытия и суммирования последовательных блоков временных значений, чтобы получать декодированные аудио значения. Адаптивный спектрально-временной преобразователь сконфигурирован с возможностью приема управляющей информации и переключения, в ответ на управляющую информацию, между ядрами преобразования первой группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих разные симметрии по сторонам ядра, и второй группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих одинаковые симметрии по сторонам ядра преобразования. Первая группа ядер преобразования может содержать одно или более ядер преобразования, имеющих нечетную симметрию с левой стороны и четную симметрию с правой стороны ядра преобразования или наоборот, такие как, например, ядро обратного преобразования MDCT-IV или обратного преобразования MDST-IV. Вторая группа ядер преобразования может содержать ядра преобразования, имеющие четную симметрию с обеих сторон ядра преобразования или нечетную симметрию с обеих сторон ядра преобразования, такие как, например, ядро обратного преобразования MDCT-II или обратного преобразования MDST-II. Типы ядер преобразования II и IV будут более подробно описаны в дальнейшем.
Следовательно, для высоко-гармонических сигналов, имеющих тон, по меньшей мере, приблизительно равный целой кратной величине частотного разрешения преобразования, которое может быть шириной полосы одного бина преобразования в спектральной области, предпочтительно использовать ядро преобразования второй группы ядер преобразования, например MDCT-II или MDST-II, для кодирования сигнала, по сравнению с кодированием сигнала с помощью классического MDCT. Другими словами, использование одного из MDCT-II или MDST-II предпочтительно для кодирования высоко-гармонического сигнала, приближающегося к целой кратной величине частотного разрешения преобразования, по сравнению с MDCT-IV.
Дополнительные варианты осуществления представляют декодер, сконфигурированный с возможностью декодирования мультиканальных сигналов, таких как, например, стереосигналы. Для стереосигналов, например, стереообработка центрально/бокового (M/S) каналов обычно превосходит классическую стереообработку левого/правого (L/R) каналов. Однако, данный подход не работает или, по меньшей мере, недостаточно хорошо работает, если оба сигнала имеют сдвиг по фазе 90° или 270°. В соответствии с вариантами осуществления, предпочтительным является кодирование одного из двух каналов посредством кодирования на основе MDST-IV и с использованием, по-прежнему, классического кодирования MDCT-IV, для кодирования второго канала. Это приводит к 90° сдвигу по фазе между этими двумя каналами, объединенными схемой кодирования, которая компенсирует сдвиг по фазе 90° или 270° аудиоканалов.
Дополнительные варианты осуществления, представляют кодер для кодирования аудиосигнала. Кодер содержит адаптивный временно-спектральный преобразователь для преобразования перекрывающихся блоков временных значений в последовательные блоки спектральных значений. Кодер дополнительно содержит контроллер для управления временно-спектральным преобразователем для переключения между ядрами преобразования первой группы ядер преобразования и ядрами преобразования второй группы ядер преобразования. Следовательно, адаптивный временно-спектральный преобразователь принимает управляющую информацию и переключается, в ответ на управляющую информацию, между ядрами преобразования первой группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих разные симметрии по сторонам ядра, и второй группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих одинаковые симметрии по сторонам ядра преобразования. Кодер может быть сконфигурирован с возможностью применения разных ядер преобразования по отношению к анализу аудиосигнала. Следовательно, кодер может применять ядра преобразования так, как уже описано для декодера, при этом, в соответствии с вариантами осуществления, кодер применяет операции MDCT или MDST, и декодер применяет связанные обратные операции, а именно, преобразования IMDCT) или IMDST. Разные ядра преобразования будут подробно описаны в дальнейшем.
В соответствии с дополнительным вариантом осуществления, кодер содержит интерфейс вывода для формирования кодированного аудиосигнала, имеющего, для текущего кадра, управляющую информацию, указывающую симметрию ядра преобразования, используемого для формирования текущего кадра. Интерфейс вывода может формировать управляющую информацию, чтобы декодер мог декодировать кодированный аудиосигнал посредством правильного ядра преобразования. Другими словами, декодер должен применять обратное ядро преобразования ядра преобразования, использованного кодером для кодирования аудиосигнала в каждом кадре и канале. Данная информация может храниться в управляющей информации и передаваться из кодера в декодер, например, с использованием секции управляющих данных кадра кодированного аудиосигнала.
Варианты осуществления настоящего изобретения будут описаны в дальнейшем со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 - блок-схема декодера для декодирования кодированного аудиосигнала;
Фиг. 2 - блок-схема, поясняющая сигнальный поток в декодере в соответствии с вариантом осуществления;
Фиг. 3 - блок-схема кодера для кодирования аудиосигнала в соответствии с вариантом осуществления;
Фиг. 4a - схема последовательности блоков спектральных значений, полученных посредством примерного MDCT-кодера;
Фиг. 4b - схематичное представление временного сигнала, вводимого в примерный MDCT-кодер;
Фиг. 5a - блок-схема примерного MDCT-кодера в соответствии с вариантом осуществления;
Фиг. 5b - блок-схема примерного MDCT-декодера в соответствии с вариантом осуществления;
Фиг. 6 - схематичное представление свойства неявного разложения и симметрий четырех описанных перекрывающихся преобразований;
Фиг. 7 - схематичное представление двух вариантов осуществления случая применения, когда переключение адаптивного к сигналу ядра преобразования применяется к ядру преобразования от одного кадра к следующему кадру, при обеспечении полного восстановления;
Фиг. 8 - блок-схема декодера для декодирования мультиканального аудиосигнала в соответствии с вариантом осуществления;
Фиг. 9 - блок-схема кодера, представленного на фиг. 3, расширенная на мультиканальную обработку в соответствии с вариантом осуществления;
Фиг. 10 - блок-схема аудиокодера для кодирования мультиканального аудиосигнала, содержащего двух- или более канальные сигналы в соответствии с вариантом осуществления;
Фиг. 11a - блок-схема вычислителя кодера в соответствии с вариантом осуществления;
Фиг. 11b - блок-схема альтернативного вычислителя кодера в соответствии с вариантом осуществления;
Фиг. 11c - схема примерного правила комбинирования первого и второго каналов в блоке комбинирования в соответствии с вариантом осуществления;
Фиг. 12a - блок-схема вычислителя декодера в соответствии с вариантом осуществления;
Фиг. 12b - блок-схема матричного вычислителя в соответствии с вариантом осуществления;
Фиг. 12c - схема примерного правила комбинирования, обратного правилу комбинирования, показанному на фиг. 11c, в соответствии с вариантом осуществления;
Фиг. 13a - блок-схема исполнения аудиокодера в соответствии с вариантом осуществления;
Фиг. 13b - блок-схема аудиодекодера, соответствующего аудиокодеру, изображенному на фиг. 13a, в соответствии с вариантом осуществления;
Фиг. 14a - блок-схема дополнительного исполнения аудиокодера в соответствии с вариантом осуществления;
Фиг. 14b - блок-схема аудиодекодера, соответствующего аудиокодеру, изображенному на фиг. 14a, в соответствии с вариантом осуществления;
Фиг. 15 - блок-схема последовательности операций способа декодирования кодированного аудиосигнала;
Фиг. 16 - блок-схема последовательности операций способа кодирования аудиосигнала.
В дальнейшем, варианты осуществления изобретения описаны более подробно. Элементы, показанные на соответствующих фигурах, имеющие идентичные или сходные функции, обозначены идентичными ссылочными позициями.
Фиг. 1 представляет блок-схему декодера 2 для декодирования кодированного аудиосигнала 4. Декодер содержит адаптивный спектрально-временной преобразователь 6 и процессор 8 для обработки методом перекрытия с суммированием. Адаптивный спектрально-временной преобразователь преобразует последовательные блоки спектральных значений 4' в последовательные блоки временных значений 10, например, посредством частотно-временного преобразования. Кроме того, адаптивный спектрально-временной преобразователь 6 принимает управляющую информацию 12 и переключается, в ответ на управляющую информацию 12, между ядрами преобразования первой группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих разные симметрии по сторонам ядра, и второй группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих одинаковые симметрии по сторонам ядра преобразования. Кроме того, процессор 8 для обработки методом перекрытия с суммированием перекрывает и суммирует последовательные блоки временных значений 10, чтобы получать декодированные аудио значения 14, которые могут быть декодированным аудиосигналом.
В соответствии с вариантами осуществления, управляющая информация 12 может содержать текущий бит, указывающий текущую симметрию для текущего кадра, при этом адаптивный спектрально-временной преобразователь 6 сконфигурирован с возможностью непереключения из первой группы во вторую группу, когда текущий бит указывает такую же симметрию, которая использована в предшествующем кадре. Другими словами, если, например, управляющая информация 12 указывает использование ядра преобразования первой группы для предыдущего кадра, и если текущий кадр и предыдущий кадр содержат одинаковую симметрию, например, указанную, если текущий бит текущего кадра и предыдущего кадра имеют одинаковое состояние, то применяется ядро преобразования первой группы, и это означает, что адаптивный спектрально-временной преобразователь не переключается из первой во вторую группу ядер преобразования. И наоборот, т.е. чтобы оставаться во второй группе или не переключаться из второй группы в первую группу, текущий бит, указывающий текущую симметрию для текущего кадра, указывает симметрию, отличающуюся от использованной в предшествующем кадре. Другими словами, если текущая и предыдущая симметрии равны, и если предыдущий кадр кодирован с использованием ядра преобразования из второй группы, то текущий кадр декодируется с использованием ядра обратного преобразования второй группы.
Кроме того, если текущий бит, указывающий текущую симметрию для текущего кадра, указывает симметрию, отличающуюся от использованной в предыдущем кадре, то адаптивный спектрально-временной преобразователь 6 сконфигурирован с возможностью переключения из первой группы во вторую группу. Более конкретно, адаптивный спектрально-временной преобразователь 6 сконфигурирован с возможностью переключения из первой группы во вторую группу, когда текущий бит, указывающий текущую симметрию для текущего кадра, указывает симметрию, отличающуюся от использованной в предшествующем кадре. Кроме того, адаптивный спектрально-временной преобразователь 6 может переключаться из второй группы в первую группу, когда текущий бит, указывающий текущую симметрию для текущего кадра, указывает такую же симметрию, которая была использована в предшествующем кадре. Более конкретно, если текущий и предыдущий кадр содержат одинаковую симметрию, и если предыдущий кадр кодирован с использованием ядра преобразования второй группы ядер преобразования, то текущий кадр может быть декодирован с использованием ядра преобразования первой группы ядер преобразования. Управляющую информацию 12 можно выводить из кодированного аудиосигнала 4 или получать по отдельному передающему каналу или посредством несущего сигнала, как поясняется в последующем. Кроме того, текущий бит, указывающий текущую симметрию текущего кадра, может быть симметрией правой стороны ядер преобразования.
k
k
k
0
0
0
0
Принсен и Бредли в статье 1986 г. [2] описывают два перекрывающихся преобразования, использующих тригонометрическую функцию, которая является либо косинусоидальной функцией, либо синусоидальной функцией. Первое преобразование, которое называется «основанным на DCT (дискретном косинус-преобразовании)» в упомянутой статье, можно получить с использованием уравнения (2) посредством установки cs()=cos() и =0, и второе преобразование, называемое «основанным на DST (дискретном синус-преобразовании)», может быть получено уравнением (2), когда cs()=sin() и k=1. Благодаря их соответственному сходству с DCT-II и DST-II, часто используемых при кодировании изображения, данные конкретные случаи общей формулы (2) следует называть как преобразования «MDCT типа II» и «MDST типа II», соответственно, в настоящем документе. Принсен и Бредли продолжили свое исследование в публикации [3] 1987 г., в которой они предложили общий случай уравнения (2) с cs()=cos() и =0,5, что вводили в уравнение (1), и что общеизвестно как «MDCT». Для ясности и благодаря взаимосвязи с DCT-IV, данное преобразование следует называть в настоящей заявке «MDCT типа IV». Наблюдательный читатель уже обнаружил оставшуюся возможную комбинацию, называемую «MDST типа IV», основанную на DST-IV и получаемую с использованием уравнения (2) с cs()=sin() и =0,5. Варианты осуществления описывают, когда и как следует переключаться адаптивно к сигналу между приведенными четырьмя преобразованиями.
Имеет смысл определить некоторые правила, касающиеся того, как можно достичь переключения по изобретению между четырьмя разными ядрами преобразования, чтобы поддерживать свойство полного восстановления (идентичного восстановления входного сигнала после преобразования анализа и синтеза в отсутствие квантования спектра или другого внесения искажений), как отмечено в [1-3]. С данной целью полезно рассмотреть свойства симметричного расширения преобразований синтеза по уравнению (2), что поясняется со ссылкой на фиг. 6.
MDCT-IV проявляет нечетную симметрию со своей левой стороны и четную симметрию со своей правой стороны; синтезированный сигнал инвертируется со своей левой стороны во время разложения сигнала данного преобразования.
MDST-IV проявляет четную симметрию со своей левой стороны и нечетную симметрию со своей правой стороны; синтезированный сигнал инвертируется со своей правой стороны во время разложения сигнала данного преобразования.
MDCT-II проявляет четную симметрию со своей левой стороны и четную симметрию со своей правой стороны; синтезированный сигнал не инвертируется ни с одной стороны во время разложения сигнала данного преобразования.
MDST-II проявляет нечетную симметрию со своей левой стороны и нечетную симметрию со своей правой стороны; синтезированный сигнал инвертируется с обеих сторон во время разложения сигнала данного преобразования.
0
Кроме того, описываются два варианта осуществления для выведения управляющей информации 12 в декодере. Управляющая информация может содержать, например, значение k и cs() для указания одного из четырех вышеописанных преобразований. Следовательно, адаптивный спектрально-временной преобразователь может считывать из кодированного аудиосигнала управляющую информацию для предыдущего кадра и управляющую информацию для текущего кадра, следующего за предыдущим кадром, из кодированного аудиосигнала в секции управляющих данных для текущего кадра. В возможных вариантах, адаптивный спектрально-временной преобразователь 6 может считывать управляющую информацию 12 из секции управляющих данных для текущего кадра и извлекать управляющую информацию для предыдущего кадра из секции управляющих данных предыдущего кадра или из установки декодера, примененной к предыдущему кадру. Другими словами, управляющая информация может выводится непосредственно из секции управляющих данных, например, в заголовке, текущего кадра или из установки декодера для предыдущего кадра.
В дальнейшем, управляющая информация, которой обмениваются кодер и декодер, описана в соответствии с предпочтительным вариантом осуществления. Настоящий раздел описывает, как дополнительную информацию (т.е. управляющую информацию) можно передавать в кодированном битовом потоке и использовать для выведения и применения подходящего ядра преобразования робастным способом (например, без выпадения кадров).
В соответствии с предпочтительным вариантом осуществления, настоящее изобретение можно интегрировать в кодек MPEG-D USAC (расширенный HE-AAC) или MPEG-H 3D Audio. Установленная дополнительная информация может передаваться в элементе, называемом fd_channel_stream, который имеется для каждого канала и кадра частотной области (FD). В частности, одноразрядный признак currAliasingSymmetry может записываться (кодером) и считываться (декодером) непосредственно перед или после элемента scale_factor_data() битового потока. Если данный кадр является независимым кадром, т.е. indepFlag==1, то записывается и считывается другой бит, prevAliasingSymmetry. Это гарантирует, что как левостороннюю, так и правостороннюю симметрии, и, следовательно, получаемое ядро преобразования, подлежащее использованию в упомянутых кадре и канале, можно идентифицировать в декодере (и правильно декодировать), даже если предыдущий кадр теряется во время передачи битового потока. Если кадр не является независимым кадром, то признак prevAliasingSymmetry не записывается и не считывается, а устанавливается равным значению, которое признак currAliasingSymmetry имел в предыдущем кадре. В соответствии с дополнительными вариантами осуществления, для указания управляющей информации (т.е. дополнительной информации) можно использовать разные биты или признаки.
k
symm
symm
symm
symm
0
i
i
-1
i
i
-1
Затем, из признаков currAliasingSymmetry и prevAliasingSymmetry выводятся соответствующие значения для cs() и , как определяется в таблице 1, в которой признак currAliasingSymmetry сокращенно обозначен , и признак prevAliasingSymmetry сокращенно обозначен . Другими словами,  является управляющей информацией для текущего кадра с индексом i, и  является управляющей информацией для предыдущего кадра с индексом i-1. Таблица 1 представляет матрицу решений на стороне декодера, определяющую значения  и cs(…) на основании переданного и/или иначе выведенной дополнительной информации, касающейся симметрии. Следовательно, адаптивный спектрально-временной преобразователь может применять ядро преобразования на основании таблицы 1.
текущий кадр <i>i </i>→последний кадр <i>i</i>-1 ↓
правосторонняя симметриячетная (<i>symm</i><sub><i>i</i></sub>=0)
правосторонняя симметриянечетная (<i>symm</i><sub><i>i</i></sub>=1)
правосторонняя симметриянечетная (<i>symm</i><sub><i>i</i></sub><sub>-1</sub>=1)
cs(…)=cos(...)
<i>k</i><sub>0</sub>=0,0
cs(…)=sin(...)
<i>k</i><sub>0</sub>=0,5
правосторонняя симметриячетная (<i>symm</i><sub><i>i</i></sub><sub>-1</sub>=0)
cs(…)=cos(…)
<i>k</i><sub>0</sub>=0,5
cs(…)=sin(…)
<i>k</i><sub>0</sub>=1,0
Таблица 1
k
0
И наконец, после того, как cs() и  определены в декодере, обратное преобразование для данных кадра и канала может быть выполнено с подходящим ядром с использованием уравнения (2). До и после данного преобразования синтеза декодер может работать, как принято на современном уровне техники, также в отношении обработки оконной функцией.
k
0
Фиг. 2 представляет блок-схему, поясняющая сигнальный поток в декодере в соответствии с вариантом осуществления, при этом сплошная линия обозначает сигнал, и штриховая линия обозначает дополнительную информацию, i обозначает индекс кадра, и xi обозначает выходной временной сигнал кадра. Демуксиплексор 16 битового потока принимает последовательные блоки спектральных значений 4' и управляющую информацию 12. В соответствии с вариантом осуществления, последовательные блоки спектральных значений 4' и управляющей информации 12 мультиплексируются в комбинированный сигнал, при этом демуксиплексор битового потока сконфигурирован с возможностью выведения последовательных блоков спектральных значений и управляющей информации из комбинированного сигнала. Последовательные блоки спектральных значений могут дополнительно вводиться в спектральный декодер 18. Кроме того, управляющая информация для текущего кадра 12 и предыдущего кадра 12' вводится в блок 20 отображения для применения отображения, показанного в таблице 1. В соответствии с вариантами осуществления, управляющую информацию для предыдущего кадра 12' можно выводить из кодированного аудиосигнала, т.е. спектральных значений предыдущего блока, или с использованием текущей предустановки декодера, которая применялась для предыдущего кадра. Спектрально декодированные последовательные блоки спектральных значений 4'' и обработанная управляющая информация 12', содержащая параметры cs и , вводятся в блок обратного перекрывающегося преобразования с адаптивным ядром, который может быть адаптивным спектрально-временным преобразователем 6, показанным на фиг. 1. Выходом могут быть последовательные блоки временных значений 10, которые, в дополнительных вариантах, могут обрабатываться окном 7 синтеза, например, для устранения разрывов на границах последовательных блоков временных значений, перед вводом в процессор 8 для обработки методом перекрытия с суммированием с целью выполнения алгоритма перекрытия с суммированием, чтобы выводить декодированное аудио значение 14. Блок 20 отображения и адаптивный спектрально-временной преобразователь 6 можно дополнительно переставлять в другое положение декодирования аудиосигнала. Поэтому, местоположение упомянутых блоков является только предлагаемым. Кроме того, управляющую информацию можно вычислять с использованием соответствующего кодера, вариант осуществления которого описан, например, со ссылкой на фиг. 3.
Фиг. 3 представляет блок-схему кодера для кодирования аудиосигнала в соответствии с вариантом осуществления. Кодер содержит адаптивный временно-спектральный преобразователь 26 и контроллер 28. Адаптивный временно-спектральный преобразователь 26 преобразует перекрывающиеся блоки временных значений 30, содержащий, например, блоки 30' и 30'', в последовательные блоки спектральных значений 4'. Кроме того, адаптивный временно-спектральный преобразователь 26 принимает управляющую информацию 12a и переключается, в ответ на управляющую информацию, между ядрами преобразования первой группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих разные симметрии по сторонам ядра, и второй группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих одинаковые симметрии по сторонам ядра преобразования. При этом, контроллер 28 сконфигурирован с возможностью управления временно-спектральным преобразователем для переключения между ядрами преобразования первой группы ядер преобразования и ядрами преобразования второй группы ядер преобразования. При желании, кодер 22 может содержать интерфейс 32 вывода для формирования кодированного аудиосигнала с содержанием управляющей информации 12 для текущего кадра, указывающей симметрию ядра преобразования, используемую для текущего кадра. Текущий кадр может быть текущим блоком последовательных блоков спектральных значений. Интерфейс вывода может включать в секцию управляющих данных текущего кадра информацию о симметрии для текущего кадра и для предыдущего кадра, когда текущий кадр является независимым кадром, или включать в секцию управляющих данных текущего кадра только информацию о симметрии для текущего кадра и не включать информацию о симметрии для предыдущего кадра, когда текущий кадр зависимым кадром. Независимый кадр содержит, например, независимый заголовок кадра, который обеспечивает, чтобы текущий кадр можно было считать без знания предыдущего кадра. Зависимые кадры встречаются, например, в аудиофайлах, содержащих переменное переключение битрейтов. Поэтому зависимый кадр можно считывать только при знании одного или более предыдущих кадров.
Контроллер может быть сконфигурирован с возможностью анализа аудиосигнала 24, например, в отношении основных частот, по меньшей мере, близких к целой кратной величине частотного разрешения преобразования. Следовательно, контроллер может выводить управляющую информацию 12 и снабжать адаптивный временно-спектральный преобразователь 26 и, в дополнительных вариантах, интерфейс 32 вывода управляющей информацией 12. Управляющая информация 12 может указывать подходящие ядра преобразования первой группы ядер преобразования или второй группы ядер преобразования. Первая группа ядер преобразования может содержать одно или более ядер преобразования, имеющих нечетную симметрию с левой стороны ядра и четную симметрию с правой стороны ядра или наоборот. Вторая группа ядер преобразования может содержать одно или более ядер преобразования, имеющих четную симметрию с обеих сторон или нечетную симметрию с обеих сторон ядра. Другими словами, первая группа ядер преобразования может содержать ядро преобразования MDCT-IV или ядро преобразования MDST-IV, или вторая группа ядер преобразования может содержать ядро преобразования MDCT-II или ядро преобразования MDST-II. Для декодирования кодированных аудиосигналов, декодер может применять соответствующее преобразование, обратное относительно ядра преобразования кодера. Следовательно, первая группа ядер преобразования декодера может ядро обратного преобразования MDCT-IV или ядро обратного преобразования MDST-IV, или вторая группа ядер преобразования может содержать ядро обратного преобразования MDCT-II или ядро обратного преобразования MDST-II.
Другими словами, управляющая информация 12 может содержать текущий бит, указывающий текущую симметрию для текущего кадра. Кроме того, адаптивный спектрально-временной преобразователь 6 может быть сконфигурирован с возможностью непереключения из первой группы во вторую группу ядер преобразования, когда текущий бит указывает такую же симметрию, которая использована в предшествующем кадре, и при этом адаптивный спектрально-временной преобразователь сконфигурирован с возможностью переключения из первой группы во вторую группу ядер преобразования, когда текущий бит указывает симметрию, отличающуюся от использованной в предшествующем кадре.
Кроме того, адаптивный спектрально-временной преобразователь 6 может быть сконфигурирован с возможностью непереключения из второй группы в первую группу ядер преобразования, когда текущий бит указывает симметрию, отличающуюся от использованной в предшествующем кадре, и при этом адаптивный спектрально-временной преобразователь сконфигурирован с возможностью переключения из второй группы в первую группу ядер преобразования, когда текущий бит указывает такую же симметрию, которая использована в предшествующем кадре.
В дальнейшем, со ссылкой на фиг. 4a и 4b, поясняется зависимость временных участков и блоков либо на стороне кодера или анализа, либо на стороне декодера или синтеза.
-го
Фиг. 4b схематически представляет временные участки от 0 до третьего, и каждый временной участок данных последовательных временных участков имеет некоторый диапазон 170 перекрытия. На основании данных временных участков блоки последовательности блоков, представляющих перекрывающиеся временные участки, формируются посредством обработки, подробно описанной со ссылкой на фиг. 5a, представляющую операцию вносящего наложение преобразования на стороне анализа.
В частности, сигнал временной области, изображенный на фиг. 4b, когда фиг. 4b относится к стороне анализа, обрабатывается оконной функцией посредством оконного преобразователя 201, применяющего окно анализа. Следовательно, чтобы, например, получить 0-й временной участок, оконный преобразователь обрабатывает окном анализа, например, 2048 выборок и, в частности, с выборки 1 по выборку 2048. Следовательно, N равно 1024, и окно имеет длину 2N выборок, которое в данном примере равно 2048. Затем, оконный преобразователь выполняет дополнительную операцию анализа, но не для выборки 2049 в качестве первой выборки блока, а для выборки 1025 в качестве первой выборки в блоке для того, чтобы получить первый временной участок. Следовательно, получается первый диапазон 170 перекрытия, который имеет длину 1024 выборок при 50% перекрытии. Данная процедура дополнительно применяется для второго и третьего временных участков, но всегда с перекрытием для того, чтобы получать некоторый диапазон 170 перекрытия.
Следует подчеркнуть, что перекрытие не обязательно должно быть 50% перекрытием, но перекрытие может быть большим и меньшим, и возможно даже многократное перекрытие, т.е. перекрытие более чем двух окон таким образом, что выборка аудиосигнала во временной области вносит вклад не только в два окна и, следовательно, блока спектральных значений, но выборка вносит вклад даже в более чем два окна/блока спектральных значений. С другой стороны, специалистам в данной области техники понятно, что существуют окна других форм, которые могут применяться оконным преобразователем 201 на фиг. 5a, которые содержат 0 участки и/или участки, содержащие единичные значения. Что касается участков, содержащих единичные значения, видно, что данные участки обычно перекрываются с 0 участками предшествующих или последующих окон и, следовательно, некоторая выборка аудиосигнала, находящаяся на постоянном участке окна, имеющем единичные значения, вносит вклад только в единственный блок спектральных значений.
Затем временные участки, обработанные оконной функцией, подобные участкам, полученным на фиг. 4b, пересылаются в блок 202 свертки для выполнения операции свертки. Данная операция свертки, например, может выполнять свертку так, что на выходе блока 202 свертки существуют только блоки значений выборки, содержащие N выборок на блок. Затем, после операции свертки, выполненной блоком 202 свертки, применяется временно-частотный преобразователь, который является, например, преобразователем DCT-IV, преобразующим N выборок на блок на входе в N спектральных значений на выходе временно-частотного преобразователя 203.
Таким образом, последовательность блоков спектральных значений, полученных на выходе блока 203, изображена на фиг. 4a, в частности, содержащая первый блок 191, имеющий связанное с ним первое значение модификации, снабженное позицией 102 на фиг. 1a и 1b, и содержащая второй блок 192, имеющий связанное с ним второе значение модификации, снабженное позицией 106 на фиг. 1a и 1b. Естественно, последовательность содержит вдобавок блоки 193 или 194, предшествующие второму блоку или даже опережающий первый блок, как показано. Первый и второй блоки 191, 192 получаются, например, преобразованием первого временного участка, обработанного оконной функцией, показанного на фиг. 4b, для получения первого блока, и второй блок получается преобразованием второго временного участка, обработанного оконной функцией, показанного на фиг. 4b, посредством временно-частотного преобразователя 203, показанного на фиг. 5a. Следовательно, оба блока спектральных значений, смежных по времени в последовательности блоков спектральных значений, представляют диапазон перекрытия, охватывающий первый временной участок и второй временной участок.
Затем рассматривается фиг. 5b, чтобы пояснить обработку, выполняемую на стороне синтеза или стороне декодера, результата обработки, выполненной на стороне кодера или анализа, показанной на фиг. 5a. Последовательность блоков спектральных значений, выдаваемая частотным преобразователем 203, показанным на фиг. 5a, вводится в блок 211 модификации. Как упоминалось, каждый блок спектральных значений содержит N спектральных значений, например, показанных на фиг. 4a-5b (следует отметить, эта величина отличается от уравнений (1) и (2), где использовано M). Каждый блок имеет связанные с ним значения модификации, например, 102, 104, показанные на фиг. 1a и 1b. Затем, в ходе типичной операции IMDCT или снижающего избыточность преобразования синтеза выполняются операции, представленные частотно-временным преобразователем 212, блоком 213 свертки для свертки, оконным преобразователем 214 для обработки окном синтеза, и операция перекрытия/суммирования, представленная блоком 215, для того, чтобы получить временной сигнал в диапазоне перекрытия. В приведенном примере вышеуказанный сигнал содержит 2N значений на блок, так что после каждой операции перекрытия и суммирования получается N новых временных выборок без наложения, при условии, что значения 102, 104 модификации не меняются со временем или частотой. Однако, если такие значения меняются со временем или частотой, то выходной сигнал блока 215 не свободен от наложения, но данная проблема решается первым и вторым аспектами настоящего изобретения, как описано в контексте фиг. 1b и 1a, и как описано в контексте других фигур в настоящем описании.
В дальнейшем представлено дополнительное пояснение процедур, выполняемых блоками, показанными на фиг. 5a и фиг. 5b.
R
Пояснение представлено на примере MDCT, но сходным или аналогичным образом могут выполняться и другие вносящие наложение преобразования. Как перекрывающееся преобразование, MDCT является немного необычным по сравнению с другими преобразованиями, относящимися к преобразованиям Фурье, в том, что оно содержит вдвое меньше выходных значений, чем входных значений (вместо одинакового числа). В частности, оно является линейной функцией :  (где  означает набор вещественных чисел). 2N вещественных чисел x0,..., x2N-1 преобразуются в N вещественных чисел X0,..., XN-1 по формуле:
.
(Нормирующий Коэффициент перед данным преобразованием, в настоящем случае, единица, является произвольным условным значением и различается между вариантами обработки. Ограничено только нижеследующее произведение нормирующих коэффициентов преобразований MDCT и IMDCT.)
Обратное преобразование MDCT известно как IMDCT. Поскольку в данном случае количества входных значений и выходных значений различаются, то на первый взгляд может показаться, что MDCT не должно быть обратимым. Однако, полная обратимость обеспечивается суммированием перекрывающихся преобразований IMDCT смежных по времени перекрывающихся блоков, что вызывает взаимное исключение ошибок и восстановление исходных данных; данный метод известен как подавление наложения во временной области (TDAC).
IMDCT преобразует N вещественных чисел X0,..., XN-1 в 2N вещественных чисел y0,..., y2N-1 по формуле:
.
(Подобно тому, как для ортогонального преобразования DCT-IV, обратное преобразование имеет такую же форму, как прямое преобразование.)
В случае оконного MDCT с обычным оконным нормированием (смотри ниже), нормирующий коэффициент перед IMDCT следует умножить на 2 (т.е. становится 2/N).
В типичных задачах сжатия сигналов свойства преобразования дополнительно улучшают с помощью оконной функции wn (n=0,..., 2N-1), которая умножается на xn и yn в вышеприведенных формулах MDCT и IMDCT, чтобы исключить разрывы на границах n=0 и 2N посредством плавного сведения функции к нулю в упомянутых точках. (То есть, данные обрабатываются оконной функцией перед MDCT и после IMDCT.) В принципе, x и y могут иметь разные оконные функции, и оконная функция может также изменяться от одного блока к следующему блоку (в частности, для случая, когда комбинируются блоки данных разных размеров), но, для простоты, рассматривается общий случай идентичных оконных функций для блоков равного размера.
Преобразование остается обратимым (то есть, TDAC работает), для симметричного окна wn=w2N-1-n, пока w удовлетворяет условию Принсена-Бредли:
,
применяются различные оконные функции. Окно, которое производит форму, известную как модулированное перекрывающееся преобразование, задается выражением
,
и используется для MP3 и MPEG-2 AAC, и
для Vorbis. AC-3 использует выведенное окно Кайзера-Бесселя (KBD), и MPEG-4 AAC также может использовать окно KBD.
Следует отметить, что окна, применяемые к MDCT, отличаются от окон, используемых для некоторых других типов анализа сигналов, поскольку они должны удовлетворять условию Принсена-Бредли. Одной из причин данного отличия является то, что окна MDCT применяются дважды, как при MDCT (анализе), так и при IMDCT (синтезе).
Как можно видеть при рассмотрении определений, при четном N, MDCT, по существу, эквивалентно DCT-IV, где вход сдвинут на N/2, и два N-блока данных преобразуются одновременно. При более внимательном изучении эквивалентности, можно вывести важные свойства, подобные TDAC.
Чтобы определить точную взаимосвязь с DCT-IV, следует понимать, что DCT-IV соответствует попеременным граничным условиям четности/нечетности (т.е. условиям симметрии): четности на своей левой границе (около n=-1/2), нечетности на своей правой границе (около n=N-1/2), и так далее (вместо периодических границ, как при дискретном преобразовании Фурье (ДПФ)). Это следует из тождеств
и
.
Таким образом, если входные значения упомянутого преобразования являются рядом x длиной N, то можно представить распространение данного ряда на (x, -xR, -x, xR,...) и так далее, где xR обозначает x в обратном порядке.
Целесообразно рассмотреть MDCT с 2N входными значениями и N выходными значениями, когда входные значения делятся на четыре блока (a, b, c, d), каждый размером N/2. Если сдвинуть упомянутые блоки вправо на N/2 (исходя из параметра +N/2 в определении MDCT), то (b, c, d) продолжаются за окончание N входных значений преобразования DCT-IV, и поэтому следует «свернуть» их обратно в соответствии с вышеописанными граничными условиями.
Следовательно, преобразование MDCT 2N входных значений (a, b, c, d) в точности эквивалентно преобразованию DCT-IV N входных значений: (-cR-d, a-bR), где R означает вышеупомянутый инвертирующий оператор.
Это поясняется примером для оконной функции 202 на фиг. 5a. Здесь a является участком 204b, b является участком 205a, c является участком 205b, и d является участком 206a.
(Следовательно, любой алгоритм для вычисления DCT-IV можно заведомо применять к MDCT.) Аналогично, вышеприведенная формула IMDCT составляет в точности 1/2 от DCT-IV (которая собственным обратным преобразованием), где выход распространяется (через граничные условия) на длину 2N и сдвигается обратно влево на N/2. Обратное DCT-IV будет просто выдавать обратно вышеупомянутые входные значения (-cR-d, a-bR). Когда это распространяется через граничные условия и сдвигается, получается:
IMDCT(MDCT(a, b, c, d))=(a-bR, b-aR, c+dR, d+cR)/2.
Следовательно, половина выходных значений IMDCT является избыточной ввиду того, что b-aR=-(a-bR)R, и аналогично для последних двух членов. Если сгруппировать входные значение в более крупные блоки A, B размера N, где A=(a, b) и B=(c, d), то приведенный результат может быть записан проще:
IMDCT(MDCT(A, B))=(A-AR, B+BR)/2
Теперь можно понять, как работает TDAC. Предположим, что вычисляется MDCT смежных по времени 2N блоков (B, C) с 50% перекрытием. Тогда IMDCT выдаст, аналогично вышеизложенному: (B-BR, C+CR)/2. Когда это суммируется с предыдущим результатом IMDCT в перекрывающейся половине, то обращенные члены взаимно сокращаются, получается просто B, с восстановлением исходных данных.
Теперь ясно происхождение термина «подавление наложения во временной области». Использованием входных данных, которые продолжаются за границы логического DCT-IV, вызывает наложение данных подобно тому (по отношению к симметрии расширения), как частоты за пределами частоты Найквиста налагаются на более низкие частоты, за исключением того, что данное наложение происходит во временной области вместо частотной области: то есть невозможно различить вклады от a и от bR в MDCT(a, b, c, d), или эквивалентно, в результат IMDCT(MDCT(a, b, c, d))=(a-bR, b-aR, c+dR, d+cR)/2. Комбинации c-dR и так далее, имеют в точности такие знаки, чтобы комбинации взаимно сокращались, когда они суммируются.
Для нечетных N (которые редко используются на практике), N/2 не является целым числом, и поэтому MDCT является не просто сдвиговой перестановкой DCT-IV. В данном случае, дополнительный сдвиг на половину выборки означает, что MDCT/IMDCT становится эквивалентным DCT-III/II, и анализ аналогичен вышеизложенному.
Как видно из вышеизложенного, преобразование MDCT 2N входных значений (a, b, c, d) эквивалентно преобразованию DCT-IV N входных значений (-cR-d, a-bR). DCT-IV предназначено для случая, когда функция на правой границе является нечетной, и поэтому значения вблизи правой границы близки к 0. Если входной сигнал является гладким, то в этом случае: крайние правые составляющие a и bR являются последовательными во входной последовательности (a, b, c, d), и поэтому их разность невелика. При рассмотрении середины интервала: если переписать вышеприведенное выражение в виде (-cR-d, a-bR)=(-d, a)-(b, c)R, то второй член, (b, c)R, дает плавный переход в середине. Однако, в первом члене (-d, a) существует возможный разрыв, где правый конец -d смыкается с левым концом a. Это является основанием для использования оконной функции, которая уменьшает составляющие вблизи границ входной последовательности (a, b, c, d) до 0.
Выше свойство TDAC было доказано для обычного MDCT, из чего видно, что суммирование преобразований IMDCT смежных по времени блоков в их перекрывающейся половине восстанавливает исходные данные. Вывод данного свойства обращения для оконного MDCT оказывается лишь немного сложнее.
Далее рассматриваются два перекрывающихся последовательных набора из 2N входных значений (A,B) и (B,C), для блоков A, B, C размера N. Как изложено выше, когда  и  вводят в MDCT, IMDCT и суммируют в их перекрывающейся половине, то получается , исходные данные.
Далее предполагается, что как входные значения MDCT, так и выходные значения IMDCT умножаются на оконную функцию длиной 2N. Как изложено выше, допускается симметричная оконная функция, которая поэтому имеет форму , где W является вектором с длиной N, и R означает инвертирующий оператор, как и выше. В таком случае, условие Принсена-Бредли можно записать в виде , где возведения в квадрат и суммирования выполняются поэлементно.
A
B
WA
W
B
R
Следовательно, вместо выполнения MDCT(,), теперь выполняются преобразования MDCT(,) со всеми поэлементно выполняемыми умножениями. Когда это вводится в IMDCT и умножается снова (поэлементно) на оконную функцию, половина последнего N становится равной:
W
W
B
W
B
W
W
B
WB
WW
B
.
R
R
R
R
R
R
R
R
R
R
2
⋅(+())=⋅(+)=WB+
(Следует отметить, умножение на 1/2 больше не производится потому, что нормирование IMDCT отличается множителем 2 в случае обработки оконной функцией).
B
C
Аналогично, оконные MDCT и IMDCT от (,) выдают в половине первого N:
.
Когда упомянутые две половины суммируют, исходные данные восстанавливаются. Восстановление возможно также в контексте переключения окон, когда две перекрывающиеся половины окон выполняют условие Принсена-Бредли. В данном случае, подавление наложения может выполняться в точности таким же образом, как описано выше. Для преобразований с множественным перекрытием, потребуются более чем две ветви, с использованием всех вовлеченных коэффициентов усиления.
Ранее были описаны симметрии или граничные условия MDCT или, в частности, MDCT-IV. Описание действительно также для другого ядра преобразования, упоминаемого в настоящем документе, а именно, MDCT-II, MDST-II и MDST-IV. Однако, следует отметить, что следует учитывать отличающуюся симметрию или граничные условия ядра преобразования.
Фиг. 6 схематично представляет свойство неявного разложения и симметрии (т.е. граничные условия) четырех вышеописанных перекрывающихся преобразований. Преобразования выводятся из уравнения (2) посредством первой основной функции синтеза для каждого из четырех преобразований. Преобразования IMDCT-IV 34a, IMDCT-II 34b, IMDST-IV 34c и IMDST-II 34d изображены на схеме зависимости амплитуды от временных выборок. Фиг. 6 ясно указывает четные и нечетные симметрии ядер преобразования у оси 35 симметрии (т.е. точек свертки), в промежуточном положении ядра преобразования, как описано выше.
Свойство подавления наложения во временной области (TDAC) определяет, что упомянутое наложение подавляется, когда четно и нечетно симметричные распространения суммируются в процессе обработки OLA (перекрытия и суммирования). Другими словами, за преобразованием с нечетной правосторонней симметрией должно следовать преобразование с четной левосторонней симметрией и наоборот, чтобы имело место TDAC. Таким образом, можно утверждать, что:
За (обратным) MDCT-IV должно следовать (обратное) MDCT-IV или (обратное) MDST-II.
За (обратным) MDST-IV должно следовать (обратное) MDST-IV или (обратное) MDCT-II.
За (обратным) MDCT-II должно следовать (обратное) MDCT-IV или (обратное) MDST-II.
За (обратным) MDST-II должно следовать (обратное) MDST-IV или (обратное) MDCT-II.
i
i
i
i
i
i
Фиг. 7a, 7b схематично изображает два варианта осуществления случая применения, когда переключение адаптивного к сигналу ядра преобразования применяется к ядру преобразования от одного кадра к следующему кадру, при обеспечении полного восстановления. Иначе говоря, на фиг. 7 показаны примеры двух возможных последовательностей вышеупомянутых последовательностей преобразований. В данном случае, сплошные линии (например, линия 38c) обозначают окно преобразования, штриховые линии 38a обозначают окно преобразования с левосторонней симметрией наложения, и пунктирные линии 38b обозначают окно преобразования с правосторонней симметрией наложения. Кроме того, пики симметрии указывают на четную симметрию, и впадины симметрии указывают на нечетную симметрию. На фиг. 7a, кадр  36a и кадр +1 36b является ядром преобразования MDCT-IV, при этом в кадре +2 36c используется MDST-II в качестве перехода к ядру преобразования MDCT-II, используемому в кадре +3 36d. Кадр +4 36e снова использует MDST-II, например, приводящее к MDST-IV или снова к MDCT-II в кадре +5, который не показан на фиг. 7a. Однако, фиг. 7a ясно указывает, что штриховые линии 38a и пунктирные линии 38b компенсируются для последующих ядер преобразования. Другими словами, суммирование левосторонней симметрии наложения текущего кадра и правосторонней симметрии наложения предыдущего кадра приводит к подавлению наложения во временной области (TDAC), поскольку сумма штриховых и пунктирных линий равна 0. Лево- и правосторонняя симметрии наложения (или граничные условия) относятся к свойству свертки, описанному, например, на фиг. 5a и фиг. 5b, и являются результатом MDCT, формирующим выходные данные, содержащие N выборок из входных данных, содержащих 2N выборок.
i
i
i
i
i
i
i
i
Фиг. 7b аналогичен фиг. 7a, но только с использованием отличающихся ядер преобразования последовательности для кадров от кадра  по кадр +4. Для кадра  36a используется MDCT-IV, при этом кадр +1 36b использует MDST-II в качестве перехода к MDST-IV, используемому в кадре +2 36c. Кадр +3 использует ядро преобразования MDCT-II в качестве перехода от ядра преобразования MDST-IV, используемого в кадре +2 36d, к ядру преобразования MDCT-IV в кадре +4 36e.
Соответствующая матрица решений для последовательностей преобразований представлена в таблице 1.
Варианты осуществления дополнительно показывают, каким образом предлагаемое адаптивное переключение ядра преобразования можно успешно применять в аудиокодеке типа HE-AAC, чтобы минимизировать или даже устранить две проблемы, упомянутые вначале. В дальнейшем рассматриваются высоко-гармонические сигналы, субоптимально кодированные классическим методом MDCT. Адаптивный переход к MDCT-II или MDST-II может выполняться кодером на основе, например, основной частоты входного сигнала. В частности, когда тон входного сигнала в точности равен или очень близок к целой кратной величине частотного разрешения преобразования (т.е. ширине полосы одного бина преобразования в спектральной области), для затрагиваемых кадров и каналов можно использовать MDCT-II или MDST-II. Однако, прямой переход от ядра преобразования MDCT-IV к MDCT-II невозможен или, по меньшей мере, не гарантирует подавление наложения во временной области (TDAC). Поэтому, в данном случае следует использовать MDCT-II в качестве переходного преобразования между двумя преобразованиями. И наоборот, для перехода от MDST-II к традиционному MDCT-IV (т.е. обратное переключение на традиционное MDCT-кодирование), полезно промежуточное MDCT-II.
До сих пор, предлагаемое адаптивное переключение ядра преобразования рассматривалось для единственного аудиосигнала, поскольку оно повышает качество кодирования высоко-гармонических аудиосигналов. Кроме того, его можно легко приспособить для мультиканальных сигналов, например, стереосигналов. В данном случае, адаптивное переключение ядра преобразования также полезно, если, например, по меньшей мере, два канала мультиканального сигнала имеют сдвиг по фазе приблизительно±90° друг относительно друга.
Для обработки мультиканальных аудиосигналов, возможно, подошло бы использование MDCT-IV-кодирование для одного аудиоканала и MDST-IV-кодирование для второго аудиоканала. В частности, если оба аудиоканала содержат сдвиг по фазе приблизительно ±90 градусов перед кодированием, то данный метод является предпочтительным. Поскольку MDCT-IV и MDST-IV выполняют сдвиг по фазе кодированного сигнала на 90 градусов, по сравнению друг с другом, то сдвиг по фазе на ±90 градусов между двумя каналами аудиосигнала компенсируется после кодирования, т.е. преобразуется в 0- или 180-градусный сдвиг по фазе благодаря 90-градусной разности фаз между функциями MDCT-IV косинусоидального вида и функциями MDST-IV синусоидального вида. Следовательно, при применении, например, M/S-стереокодирования, оба канала аудиосигнала можно кодировать в центральном сигнале (моно-сигнале), при этом только минимум разностной информации требуется кодировать в боковом сигнале, в случае вышеупомянутого преобразования в 0-градусный сдвиг по фазе, или наоборот (минимум информации в центральном сигнале) в случае преобразования в 180-градусный сдвиг по фазе, с достижением, тем самым, максимального сжатия канала. Это может обеспечивать сужение полосы частот на величину до 50%, по сравнению с классическим MDCT-IV-кодирование обоих аудиоканалов, при использовании по-прежнему схем кодирования без потерь. Кроме того, можно рассмотреть применение MDCT-стерекодирования в сочетании с комплексным стереопредсказанием. Оба способа вычисляют, кодируют и передают разностный сигнал из двух каналов аудиосигнала. Кроме того, комплексное предсказание вычисляет параметры предсказания для кодирования аудиосигнала, при этом декодер использует передаваемые параметры для декодирования аудиосигнала. Однако, при M/S-кодировании, использующем, например, MDCT-IV и MDST-IV для кодирования двух аудиоканалов, как уже описано выше, передавать следует только информацию, относящуюся к используемой схеме кодирования (MDCT-II, MDST-II, MDCT-IV или MDST-IV), чтобы предоставить декодеру возможность применить соответствующую схему кодирования. Поскольку параметры комплексного стереопредсказания должны квантоваться с использованием сравнительно высокого разрешения, то информацию, относящуюся к используемой схеме кодирования, можно кодировать, 4 битами, поскольку, теоретически, первый и второй каналы могут кодироваться, каждый, с использованием одной из четырех разных схем кодирования, что приводит к 16 разным возможным состояниям.
Следовательно, на фиг. 8 представлена блок-схема декодера 2 для декодирования мультиканального аудиосигнала. По сравнению с декодером на фиг. 1, декодер дополнительно содержит мультиканальный процессор 40 для приема блоков спектральных значений 4a''', 4b''', представляющих первый и второй мультиканал, и для обработки, в соответствии с методом совместной мультиканальной обработки, принятых блоков, чтобы получать обработанные блоки спектральных значений 4a', 4b' для первого мультиканала и второго мультиканала, и при этом адаптивный спектрально-временной процессор сконфигурирован с возможностью обработки обработанных блоков 4a' первого мультиканала с использованием управляющей информации 12a для первого мультиканала и обработанных блоков 4b' для второго мультиканала с использованием управляющей информации 12b для второго мультиканала. Мультиканальный процессор 40 может применять, например, левую/правую стереообработку или центральную/боковую стере-обработку, или мультиканальный процессор применяет комплексное предсказание с использованием управляющей информации, ассоциированной с блоками спектральных значений, представляющих первый и второй мультиканалы. Следовательно, мультиканальный процессор может содержать фиксированную предварительную установку или получать информацию, например, из управляющей информации, указывающей, какая обработка использовалась для кодирования аудиосигнала. Кроме отдельного бита или слова в управляющей информации, мультиканальный процессор может получать эту информацию из имеющейся управляющей информации, например, по отсутствию или наличию параметров мультиканальной обработки. Другими словами, мультиканальный процессор 40 может применять обратную операцию к мультиканальной обработке, выполняемой в кодере, чтобы восстанавливать отдельные каналы мультиканального сигнала. Дополнительные методы мультиканальной обработки описаны со ссылкой на фиг. 10-14. Дополнительно, ссылочные позиции адаптированы к мультиканальной обработке, где ссылочные позиции с расширением буквой «a» указывают первый мультиканал и ссылочные позиции с расширением буквой «b» указывают второй мультиканал. Кроме того, мультиканал не ограничен двумя каналами или стереообработкой, но может применяться к трем или более каналам посредством расширения описанной обработки двух каналов.
В соответствии с вариантами осуществления, мультиканальный процессор декодера может обрабатывать, в соответствии с методом совместной мультиканальной обработки, принятые блоки. Дополнительно, принятые блоки могут содержать кодированный разностный сигнал представления первого мультиканала и представления второго мультиканала. Вместе с тем, мультиканальный процессор может быть сконфигурирован с возможностью вычисления первого мультиканального сигнала и второго мультиканального сигнала с использованием разностного сигнала и дополнительного кодированного сигнала. Другими словами, разностный сигнал может быть боковым сигналом M/S-кодированного аудиосигнала или разностью между каналом аудиосигнала и предсказанием канала, основанном на дополнительном канале аудиосигнала, при использовании, например, комплексного стереопредсказания. Следовательно, мультиканальный процессор может преобразовывать M/S или комплексно предсказанный аудиосигнал в L/R-аудиосигнал для дополнительной обработки, например, применения ядра обратного преобразования. Следовательно, мультиканальный процессор может использовать разностный сигнал и дополнительный кодированный аудиосигнал, который может быть центральным сигналом M/S-кодированного аудиосигнала или (например, MDCT-кодированного) канала аудиосигнала, при использовании комплексного предсказания.
Фиг. 9 представляет кодер 22, показанный на фиг. 3, распространенный на мультиканальную обработку. Хотя фигуры предусматривают, что управляющая информация 12 содержится в кодированном аудиосигнале 4, управляющая информация 12 может дополнительно передаваться с использованием, например, отдельного канала управляющей информации. Контроллер 28 мультиканального кодера может анализировать перекрывающиеся блоки временных значений 30a, 30b аудиосигнала, содержащего первый канал и второй канал, чтобы определять ядро преобразования для кадра первого канала и соответствующего кадра второго канала. Следовательно, контроллер может пробовать каждую комбинацию ядер преобразования, чтобы вывести такой вариант ядер преобразования, который минимизирует разностный сигнал (или боковой сигнал при M/S-кодировании), например, M/S-кодирования или комплексного предсказания. Минимизированный разностный сигнал, является, например, разностным сигналом с наименьшей энергией по сравнению с остальными разностными сигналами. Это, например, полезно, если дополнительное квантование разностного сигнала использует меньше бит для квантования слабого сигнала, по сравнению с квантованием более мощного сигнала. Кроме того, контроллер 28 может определять первую управляющую информацию 12a для первого канала и вторую управляющую информацию 12b для второго канала, вводимые в адаптивный временно-спектральный преобразователь 26, который применяет одно из ранее описанных ядер преобразования. Следовательно, временно-спектральный преобразователь 26 может быть сконфигурирован с возможностью обработки первого канала и второго канала мультиканального сигнала. Вместе с тем, мультиканальный кодер может дополнительно содержать мультиканальный процессор 42 для обработки последовательных блоков спектральных значений 4a', 4b' первого канала и второго канала с использованием метода совместной мультиканальной обработки, например, лево/правого стереокодирования, центрально/бокового стереокодирования или комплексного предсказания, чтобы получать обработанные блоки спектральных значений 40a'''', 40b''''. Кодер может дополнительно содержать кодирующий процессор 46 для обработки обработанных блоков спектральных значений, чтобы получать кодированные каналы 40a''', 40b'''. Кодирующий процессор может кодировать аудиосигнал с использованием, например, схемы сжатия аудиосигнала с потерями или сжатия аудиосигнала без потерь, например, скалярного квантования спектральных линий, энтропийного кодирования, кодирования Хаффмана, канального кодирования, блоковых кодов или сверточных кодов, или применять упреждающую коррекцию ошибок или автоматический запрос повторения. Кроме того, сжатие аудиосигнала с потерями может относиться к использованию квантования на основе психоакустической модели.
В соответствии с дополнительными вариантами осуществления, первые обработанные блоки спектральных значений представляют собой первое кодированное представление метода совместной мультиканальной обработки, и вторые обработанные блоки спектральных значений представляют собой второе кодированное представление метода совместной мультиканальной обработки. Следовательно, кодирующий процессор 46 может быть сконфигурирован с возможностью обработки первых обработанных блоков с использованием квантования и энтропийного кодирования, чтобы формировать первое кодированное представление, и обработки вторых обработанных блоков с использованием квантования и энтропийного кодирования, чтобы формировать второе кодированное представление. Первое кодированное представление и второе кодированное представление могут быть сформированы в виде битового потока, представляющего кодированный аудиосигнал. Другими словами, первые обработанные блоки могут содержать центральный сигнал M/S кодированного или (например, MDCT) кодированного канала кодированного аудиосигнала, использующего комплексное стереопредсказание. Кроме того, вторые обработанные блоки могут содержать параметры или разностный сигнал для комплексного предсказания или боковой сигнал M/S-кодированного аудиосигнала.
Фиг. 10 представляет аудиокодер для кодирования мультиканального аудиосигнала 200, содержащего два или более канальных сигнала, из которых первый канальный сигнал обозначен позицией 201, и второй канальный сигнал обозначен позицией 202. Оба сигнала вводятся в вычислитель 203 кодера для вычисления первого комбинированного сигнала 204 и разностного сигнала 205 предсказания с использованием первого канального сигнала 201 и второго канального сигнала 202 и информацию 206 предсказания таким образом, что разностный сигнал 205 предсказания, при комбинировании с сигналом предсказания, выведенным из первого комбинированного сигнала 204 и информации 206 предсказания, дает, в результате, второй комбинированный сигнал, при этом первый комбинированный сигнал и второй комбинированный сигнал могут быть выведены из первого канального сигнала 201 и второго канального сигнала 202 с использованием правила комбинирования.
Информация предсказания формируется оптимизатором 207 для вычисления информации 206 предсказания таким образом, чтобы разностный сигнал предсказания соответствовал заданному показателю 208 оптимизации. Первый комбинированный сигнал 204 и разностный сигнал 205 вводятся в кодер 209 сигнала для кодирования первого комбинированного сигнала 204, чтобы получить кодированный первый комбинированный сигнал 210, и для кодирования разностного сигнала 205, чтобы получить кодированный разностный сигнал 211. Оба кодированных сигнала 210, 211 вводятся в интерфейс 212 вывода для комбинирования кодированного первого комбинированного сигнала 210 с кодированным разностным сигналом 211 предсказания и информацией 206 предсказания, чтобы получать кодированный мультиканальный сигнал 213.
В зависимости от исполнения, оптимизатор 207 принимает либо первый канальный сигнал 201 и второй канальный сигнал 202, либо, как показано линиями 214 и 215, первый комбинированный сигнал 214 и второй комбинированный сигнал 215, выведенные из блока 2031 комбинирования, показанного на фиг. 11a, который поясняется в дальнейшем.
2
Заданный показатель оптимизации показан на фиг. 10, на котором эффективность кодирования максимально повышается, т.е. битрейт снижается насколько возможно. При заданном показателе оптимизации, разностный сигнал D минимизируется относительно α. Это означает, что информация α предсказания выбирается так, чтобы ||S - αM|| минимизировалось. Это приводит к решению для α, показанному на фиг. 10. Сигналы S, M даются в форме блоков и являются сигналами в спектральной области, где обозначение ||…|| означает норму аргумента по скалярному квадрату, и где <…> изображает, как обычно, скалярное произведение. Когда первый канальный сигнал 201 и второй канальный сигнал 202 вводятся в оптимизатор 207, то оптимизатор должен будет применять правило комбинирования, при этом примерное правило комбинирования показано на фиг. 11c. Однако, когда в оптимизатор 207 вводятся первый комбинированный сигнал 214 и второй комбинированный сигнал 215, то от самого оптимизатора 207 не требуется реализовать правило комбинирования.
Другие заданные параметры оптимизации могут иметь отношение к перцептуальному качеству. Заданный параметр оптимизации может быть таким, что получают максимальное перцептуальное качество. Тогда, оптимизатор потребует дополнительную информацию из перцептуальной модели. Другие исполнения заданного параметра оптимизации могут иметь отношение к получению минимального или фиксированного битрейта. В таком случае, оптимизатор 207 будет реализован с возможностью выполнения операции квантования/энтропийного кодирования, чтобы определять требуемый битрейт для некоторых значений α таким образом, что α можно было устанавливать для выполнения заданных требований, например, минимального битрейта или, в качестве альтернативы, фиксированного битрейта. Другие исполнения заданного параметра оптимизации могут иметь отношение к минимальному использованию ресурсов кодера или декодера. В случае исполнения такого заданного параметра оптимизации в оптимизаторе 207 будет иметься в наличии информация о требуемых ресурсах для некоторой оптимизации. Кроме того, комбинация упомянутых заданных параметров оптимизации или других заданных параметров оптимизации может применяться для управления оптимизатором 207, который вычисляет информацию 206 предсказания.
Вычислитель 203 кодера, показанный на фиг. 10, может быть реализован разными способами, при этом примерное первое исполнение показано на фиг. 11a, где явное правило комбинирования выполняется в блоке 2031 комбинирования. Примерное альтернативное исполнение показано на фиг. 11b, где применяется матричный вычислитель 2039. Блок 2031 комбинирования на фиг. 11a может быть реализован с возможностью выполнения правила комбинирования, показанного на фиг. 11c, которое является, для примера, общеизвестным правилом центрально/бокового кодирования, когда ко всем ветвям применяется весовой коэффициент 0,5. Однако, в зависимости от исполнения можно реализовать другие весовые коэффициенты или не использовать никаких весовых коэффициентов. Кроме того, следует отметить, что можно применять другие правила комбинирования, например, другие правила линейного комбинирования или правила нелинейного комбинирования, при условии, что существует соответствующее обратное правило комбинирования, которое можно применять в блоке 1162 комбинирования декодера, показанном на фиг. 12a, который применяет правило комбинирования, которое является обратным к правилу комбинирования, применяемому кодером. Вследствие совместного стереопредсказания, можно воспользоваться любым правилом обратимого предсказания, поскольку влияние на форму сигнала «уравновешивается» предсказанием, т.е. любая ошибка включается в передаваемый разностный сигнал, поскольку операция предсказания, выполняемая оптимизатором 207 в сочетании с вычислителем 203 кодера является процессом, сохраняющим форму сигнала.
Блок 2031 комбинирования выдает первый комбинированный сигнал 204 и второй комбинированный сигнал 2032. Первый комбинированный сигнал вводится в предсказатель 2033, и второй комбинированный сигнал 2032 вводится в вычислитель 2034 разностного сигнала. Предсказатель 2033 вычисляет сигнал 2035 предсказания, который комбинируется со вторым комбинированным сигналом 2032 для получения в конце разностного сигнала 205. В частности, блок 2031 комбинирования сконфигурирован для комбинирования двух канальных сигналов 201 и 202 мультиканального аудиосигнала двумя разными способами, чтобы получить первый комбинированный сигнал 204 и второй комбинированный сигнал 2032, при этом два разных способа поясняются в примерном варианте осуществления на фиг. 11c. Предсказатель 2033 сконфигурирован для применения информации предсказания к первому комбинированному сигналу 204 или сигналу, выведенному из первого комбинированного сигнала, чтобы получать сигнал 2035 предсказания. Сигнал, выведенный из комбинированного сигнала, может выводится посредством любой нелинейной или линейной операции, при этом предпочтительно преобразование вещественной части в мнимую/преобразование мнимой части в вещественную, которое может быть реализовано с помощью линейного фильтра, например, FIR-фильтра (фильтра с ограниченной частотной характеристикой), выполняющего взвешенные суммирования некоторых значений.
Вычислитель 2034 разностного сигнала на фиг. 11a может выполнять операцию вычитания таким образом, что сигнал 2035 предсказания вычитается из второго комбинированного сигнала. Однако, в вычислителе разностного сигнала возможны другие операции. Соответственно, вычислитель 1161 комбинированного сигнала на фиг. 12a может выполнять операцию сложения, в которой декодированный разностный сигнал 114 и сигнал 1163 предсказания суммируются друг с другом для получения второго комбинированного сигнала 1165.
Вычислитель 116 декодера может быть реализован различным образом. Первое исполнение изображено на фиг. 12a. Данное исполнение содержит предсказатель 1160, вычислитель 1161 комбинированного сигнала и блок 1162 комбинирования. Предсказатель принимает декодированный первый комбинированный сигнал 112 и информацию 108 предсказания и выдает сигнал 1163 предсказания. В частности, предсказатель 1160 сконфигурирован для применения информации 108 предсказания к декодированному первому комбинированному сигналу 112 или сигналу, выведенному из декодированного первого комбинированного сигнала. Правило выведения для выведения сигнала, к которому применяется информация 108 предсказания, может быть преобразованием вещественной части в мнимую или, равным образом, преобразование мнимой части в вещественную или операцией взвешивания, или, в зависимости от исполнения, операцией сдвига по фазе или комбинированной операцией взвешивания/сдвига по фазе. Сигнал 1163 предсказания вводится вместе с декодированным разностным сигналом в вычислитель 1161 комбинированного сигнала для того, чтобы вычислять декодированный второй комбинированный сигнал 1165. Оба сигнала 112 и 1165 вводятся в блок 1162 комбинирования, который комбинирует декодированные первый комбинированный сигнал и второй комбинированный сигнал, чтобы получить декодированный мультиканальный аудиосигнал, содержащий декодированный первый канальный сигнал и декодированный второй канальный сигнал в выходных линиях 1166 и 1167, соответственно. В качестве альтернативы, вычислитель декодера реализован в виде матричного вычислителя 1168, который принимает на входе декодированный первый комбинированный сигнал или сигнал M, декодированный разностный сигнал или сигнал D и информацию α 108 предсказания. Матричный вычислитель 1168 обрабатывает матрицей преобразования, показанной как 1169, сигналы M, D, чтобы получить выходные сигналы L, R, где L является декодированным первым канальным сигналом, и R является декодированным вторым канальным сигналом. Система обозначений на фиг. 12b напоминает систему стереообозначений с левым каналом L и правым каналом R. Данная система обозначений применена для того, чтобы облегчить понимание, но специалистам в данной области техники ясно, что сигналы L, R могут быть любой комбинацией двух канальных сигналов в мультиканальном сигнале, имеющем более чем два канальных сигнала. Матричная операция 1169 соединяет операции в блоках 1160, 1161 и 1162 на фиг. 12a в своего рода «однократное» матричное вычисление, и входные сигналы схемы на фиг. 12a и выходные сигналы из схемы на фиг. 12a являются идентичными входным сигналам матричного вычислителя 1168 и выходным сигналам из матричного вычислителя 1168, соответственно.
Фиг. 12c поясняет пример правила обратного комбинирования, применяемому блоком 1162 комбинирования на фиг. 12a. В частности, правило комбинирования аналогично правилу комбинирования на стороне декодера при общеизвестном центрально/боковом кодировании, где L=M+S, и R=M-S. Следует понимать, что сигнал S, используемый по правилу обратного комбинирования на фиг. 12c, является сигналом, вычисленным вычислителем комбинированного сигнала, т.е. комбинацией сигнала предсказания в линии 1163 декодированного разностного сигнала в линии 114. Следует понимать, что в настоящем описании сигналы в линиях иногда обозначаются численными позициями линий или иногда обозначаются собственными численными позициями, которые приписаны линиям. Поэтому, система обозначений является такой, что линия, содержащая некоторый сигнал, обозначается самим сигналом. Линия может быть физической линией в аппаратном исполнении. Однако, в компьютерном исполнении физической линии не существует, а сигнал, представленный линией, передается из одного вычислительного модуля в другой вычислительный модуль.
Фиг. 13a поясняет исполнение аудиокодера. По сравнению с аудиокодером, изображенным на фиг. 11a, первый канальный сигнал 201 является спектральным представлением временного первого канального сигнала 55a. Соответственно, второй канальный сигнал 202 является спектральным представлением временного канального сигнала 55b. Преобразование из временной области в спектральное представление выполняется временно/частотным преобразователем 50 для первого канального сигнала и временно/частотным преобразователем 51 для второго канального сигнала. В предпочтительном варианте, но не обязательно, спектральные преобразователи 50, 51 реализованы как преобразователи вещественных значений. Алгоритм преобразования может быть дискретным косинус-преобразованием, быстрым преобразованием Фурье (БПФ), в котором используется только вещественная часть, MDCT или любым другим преобразованием, обеспечивающим вещественные спектральные значения. В качестве альтернативы, оба преобразования могут быть реализованы как преобразование мнимой части, например, DST, MDST или БПФ, в котором используется только мнимая часть, и вещественная часть отбрасывается. Можно применить любое другое преобразование, обеспечивающее только мнимые значения. Одной целью применения преобразования только вещественной части или преобразования только мнимой части является сложность вычислений, поскольку, для каждого спектрального значения должно обрабатываться только единственное значение, например, модуль или вещественная часть, или, в качестве альтернативы, фаза или мнимая часть. Напротив, при полностью комплексном преобразовании, например, БПФ, необходимо было бы обработать два значения, т.е. вещественную часть и мнимую часть для каждой спектральной линии, что повышает сложность вычисления в по меньшей мере 2 раза. Другая причина для применения преобразования вещественной части в данном случае состоит в том, такая последовательность преобразования обычно критически дискретизируется даже в присутствии перекрытия между преобразованиями и, следовательно, обеспечивает подходящую (и обычно используемую) область для квантования сигнала и энтропийного кодирования (парадигмы стандартного «перцептуального аудиокодирования», реализованной в «MP3», AAC или аналогичных системах аудиокодирования).
Фиг. 13a дополнительно изображает вычислитель 2034 разностного сигнала в виде сумматора, который принимает боковой сигнал на его входе «плюс», и который принимает сигнал предсказания, выдаваемый предсказателем 2033 на его входе «минус». Кроме того, фиг. 13a изображает ситуацию, в которой управляющая информация предиктора передается из оптимизатора в мультиплексор 212, который выдает мультиплексированный битовый поток, представляющий собой кодированный мультиканальный аудиосигнал. В частности, операция предсказания выполняется таким образом, что боковой сигнал предсказывается по центральному сигналу, как показано уравнениями справа на фиг. 13a.
Управляющая информация 206 предсказателя является коэффициентом, как показано справа на фиг. 11b. В варианте осуществления, в котором управляющая информация предсказания содержит только вещественную составляющую, например, вещественную часть комплексного значения α или модуль комплексного значения α, при этом данная составляющая соответствует коэффициенту, отличному от нуля, высокую эффективность кодирования можно получить, когда центральный сигнал и боковой сигнал сходны друг с другом вследствие структуры их формы сигнала, но имеют разные амплитуды.
Однако, когда управляющая информация предсказания содержит только вторую составляющую, которая может быть мнимой частью комплексного коэффициента или фазовой информацией комплексного коэффициента, в котором мнимая часть или фазовая информация отличается от нуля, настоящее изобретение обеспечивает высокую эффективность кодирования для сигналов, которые сдвинуты по фазе друг относительно друга на значение, отличающееся от 0° или 180°, и которые имеют, кроме сдвига по фазе, сходные характеристики формы сигнала и сходные зависимости амплитуд.
Управляющая информация предсказания является комплексно-значной. В таком случае, высокую эффективность кодирования можно получать для сигналов, отличающихся по амплитуде и сдвинутых по фазе. В ситуации, в которой временно/частотные преобразования обеспечивают комплексные спектры, операция 2034 будет комплексной операцией, при которой вещественная часть управляющей информации предсказателя применяется к вещественной части комплексного спектра M, и мнимая часть комплексной информации предсказания применяется к мнимой части комплексного спектра. В таком случае, в сумматоре 2034 результат данной операции предсказания является предсказанным вещественным спектром и предсказанным мнимым спектром, и предсказанный вещественный спектр будет вычитаться из вещественного спектра бокового сигнала S (по полосам), и предсказанный мнимый спектр будет вычитаться из мнимой части спектра S, чтобы получать комплексный разностный спектр D.
Временные сигналы L и R являются вещественно-значными сигналами, но сигналы в частотной области могут быть вещественно- или комплексно-значными. Когда сигналы в частотной области являются вещественно-значными, преобразование является преобразованием вещественной части. Когда сигналы в частотной области являются комплексными, преобразование является комплексным преобразованием. Это означает, что входной сигнал временно-частотного и выходной сигнал частотно-временного преобразований являются вещественно-значными, хотя сигналы в частотной области могут быть, например, комплексными сигналами в области квадратурных зеркальных фильтров (QMF).
Фиг. 13b изображает аудиодекодер, соответствующий аудиокодеру, показанному на фиг. 13a.
Битовый поток, выдаваемый мультиплексором 212 битового потока на фиг. 13a, вводится в демультиплексор 102 битового потока на фиг. 13b. Демультиплексор 102 битового потока демультиплексирует битовый поток на сигнал M понижающего микширования и разностный сигнал D. Сигнал M понижающего микширования вводится в деквантователь 110a. Разностный сигнал D вводится в деквантователь 110b. Кроме того, демультиплексор 102 битового потока демультипрексирует управляющую информацию 108 предсказателя из битового потока и вводит упомянутую информацию в предсказатель 1160. Предсказатель 1160 выводит предсказанный боковой сигнал α·M, и блок 1161 комбинирования объединяет разностный сигнал, выданный деквантователем 110b, с предсказанным боковым сигналом для того, чтобы, в результате, получать восстановленный боковой сигнал S. Затем боковой сигнал вводится в блок 1162 комбинирования, который выполняет, например, суммарно/разностную обработку, как показано на фиг. 12c, по отношению к центрально/боковому кодированию. В частности, блок 1162 выполняет (обратное) центрально/боковое декодирование, чтобы получить частотное представление левого канала и частотное представление правого канала. Затем частотное представление преобразуется во временное представление посредством соответствующих частотно/временных преобразователей 52 и 53.
В зависимости от исполнения системы, частотно/временные преобразователи 52, 53 являются частотно/временными преобразователями вещественной части, когда частотное представление является вещественным представлением, или комплексными частотно/временными преобразователями, когда частотное представление является комплексным представлением.
R
I
Однако, для повышения эффективности предпочтительно выполнение преобразования вещественной части, как показано в другом исполнении на фиг. 14a для кодера и на фиг. 14b для декодера. Преобразования 50 и 51 вещественной части реализуются посредством MDCT, т.е. MDCT-IV, или, в качестве альтернативы, и в соответствии с настоящим изобретением, MDCT-II или MDST-II, или MDST-IV. Кроме того, информация предсказания вычисляется как комплексное значение, содержащее вещественную часть и мнимую часть. Поскольку оба спектра M, S являются вещественными спектрами, и поскольку, следовательно, никакой мнимой части спектра не существует, то обеспечен преобразователь 2070 вещественной части в мнимую, который вычисляет приблизительный мнимый спектр 600 из вещественного спектра сигнала M. Данный преобразователь 2070 вещественной части в мнимую входит в состав оптимизатора 207, и мнимый спектр 600, рассчитанный блоком 2070, вводится на этап 2071 оптимизатора α вместе с вещественным спектром M для того, чтобы вычислять информацию 206 предсказания, которая, в данном случае, содержит вещественный коэффициент, указанный в позиции 2073, и мнимый коэффициент, указанный позицией 2074. В таком случае, в соответствии с данным вариантом осуществления, вещественный спектр первого комбинированного сигнала M умножается на вещественную часть α 2073, чтобы получить сигнал предсказания, который затем вычитается из вещественного спектра бокового сигнала. Кроме того, мнимый спектр 600 умножается на мнимую часть α, обозначенную позицией 2074, чтобы получить дополнительный сигнал предсказания, при этом данный сигнал предсказания затем вычитается из вещественного спектра бокового сигнала, как указано позицией 2034b. Затем, разностный сигнал D предсказания квантуется в квантователе 209b, а вещественный спектр сигнала M квантуется/кодируется в блоке 209a. Кроме того, информацию α предсказания целесообразно квантовать и кодировать в квантователе/энтропийном кодере 2072, чтобы получить кодированное комплексное значение α, которое пересылается, например, в мультиплексор 212 битового потока, показанный на фиг. 13a, и которое, в конечном счете, вводится в битовый поток в виде информации предсказания.
По поводу положения модуля 2072 квантования/кодирования (Q/C) α следует отметить, что блоки 2073 и 2074 умножения используют точно такое же (квантованное) α, которое будет также использоваться в декодере. Следовательно, модуль 2072 можно переместить непосредственно к выходу модуля 2071, или можно полагать, что квантование α уже учтено в процессе оптимизации на этапе 2071.
R
I
Хотя комплексный спектр можно вычислять на стороне кодера, поскольку доступна вся информация, целесообразно выполнять преобразование вещественной части в комплексную форму в блоке 2070 в декодере таким образом, чтобы создавались подобные условия, как в декодере, изображенном на фиг. 14b. Декодер принимает вещественный кодированный спектр первого комбинированного сигнала и вещественное спектральное представление кодированного разностного сигнала. Кроме того, получается кодированная комплексная информация 108 предсказания, и в блоке 65 выполняются энтропийное декодирование и деквантование, чтобы получить вещественную часть α, обозначенную позицией 1160b, и мнимую часть α, обозначенную позицией 1160c. Центральные сигналы, выдаваемые взвешивающими элементами 1160b и 1160c, прибавляются к декодированному и деквантованному разностному сигналу предсказанию. В частности, спектральные значения, вводимые в блок 1160c весовой обработки, где мнимая часть коэффициента комплексного предсказания, используется как весовой коэффициент, выводятся из вещественного спектра M посредством преобразователя 1160a вещественной части в мнимую, который реализован таким же образом, как блок 2070 на фиг. 14a, относящийся к стороне кодера. На стороне декодера, комплексное представление центрального сигнала или бокового сигнала отсутствует, в противоположность стороне кодера. Основанием является то, что из кодера в декодер переданы только кодированные вещественные спектры по причинам, связанными с битрейтами и сложностью.
Преобразователь 1160a вещественной части в мнимую или соответствующий блок 2070 на фиг. 14a могут быть реализованы как опубликовано в заявке WO 2004/013839 A1 или WO 2008/014853 A1 или патенту США № 6,980,933. В качестве альтернативы, возможна любая другая реализация, известная в данной области техники.
Варианты осуществления дополнительно показывают, как предложенное адаптивное переключение ядра преобразования можно эффективно использовать в аудиокодеке, подобном HE-AAC, чтобы минимизировать или даже устранить две проблемы, упомянутые в разделе постановки задачи. В дальнейшем будут рассмотрены стереосигналы с приблизительно 90-градусным сдвигом по фазе между каналами. При этом, переключение на кодирование, основанное на MDST-IV, можно использовать в одном из двух каналов, а традиционное MDCT-IV-кодирование можно использовать в другом канале. В качестве альтернативы, MDCT-II-кодирование можно использовать в одном канале, и MDST-II-кодирование в другом канале. С учетом того, что косинусоидальная и синусоидальная функции являются вариантами друг друга, сдвинутыми по фазе на 90 градусов, (cos(x)=sin(x+π/2)), соответствующий сдвиг по фазе между спектрами входных каналов может быть преобразован в 0-градусный или 180-градусный сдвиг по фазе таким образом, что возможно высокоэффективное кодирование посредством традиционного совместного M/S-стереокодирования. Как в предыдущем случае для высоко-гармонических сигналов, субоптимально кодированных посредством классического MDCT, в задействованном канале могут быть полезны промежуточные переходные преобразования.
В обоих случаях, для высоко-гармонических сигналов и стереосигналов с приблизительно 90° сдвигом по фазе между каналами, кодер выбирает одно из 4 ядер для каждого преобразования (смотри также фиг. 7). Соответствующий декодер, применяющий переключение ядра преобразования в соответствии с изобретением, может использовать те же самые ядра, и поэтому он может правильно восстановить сигнал. Чтобы такой декодер понял, какое ядро преобразования следует использовать в одном или более обратных преобразований в данном кадре, соответствующим кодером должна передаваться дополнительная информация, описывающая выбор ядра преобразования или, в качестве альтернативы, левосторонней и правосторонней симметрии, по меньшей мере, однократно для каждого кадра. В следующем разделе поясняется предполагаемое интегрирование в (т.е. дополнение к) аудиокодеку MPEG-H 3D Audio.
Дополнительные варианты осуществления относятся к аудиокодированию и, в частности, к низкоскоростному перцептуальному аудиокодированию посредством перекрывающихся преобразований, например, модифицированного дискретного косинус-преобразования (MDCT). Варианты осуществления связывают между собой две конкретные проблемы, касающиеся традиционного кодирования с преобразованием, посредством обобщения принципа MDCT-кодирования для включения трех других подобных преобразований. Варианты осуществления дополнительно демонстрируют адаптивное к сигналу и контексту переключение между четырьмя ядрами преобразования в каждом кодированном канале или кадре, или, по-отдельности, для каждого преобразования в каждом кодированном канале или кадре. Чтобы сообщать о выборе ядра в соответствующий декодер, в кодированном битовом потоке может передаваться соответствующая дополнительная информация.
Фиг. 15 представляет блок-схему последовательности операций способа 1500 декодирования кодированного аудиосигнала. Способ 1500 содержит этап 1505 преобразования последовательных блоков спектральных значений в перекрывающиеся последовательные блоки временных значений, этап 1510 перекрытия и суммирования последовательных блоков временных значений, чтобы получить декодированные аудио значения, и этап 1515 приема управляющей информации и переключения, в ответ на управляющую информацию и в процессе преобразования, между ядрами преобразования первой группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих разные симметрии по сторонам ядра, и второй группы, содержащей одно или более ядер преобразования, имеющих одинаковые симметрии по сторонам ядро преобразования.
Фиг. 16 представляет блок-схему последовательности операций способа 1600 кодирования аудиосигнала. Способ 1600 содержит этап 1605 преобразования перекрывающихся блоков временных значений в последовательные блоки спектральных значений, этап 1610 управления временно-спектральным преобразованием для переключения между ядрами преобразования первой группы ядер преобразования и ядрами преобразования второй группы ядер преобразования, и этап 1615 приема управляющей информации и переключения, в ответ на управляющую информацию и в процессе преобразования, между ядрами преобразования первой группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих разные симметрии по сторонам ядра, и второй группы ядер преобразования, содержащей одно или более ядер преобразования, имеющих одинаковые симметрии по сторонам ядро преобразования.
Следует понимать, что в настоящем описании сигналы в линиях иногда обозначаются численными позициями линий или иногда обозначаются собственными численными позициями, которые приписаны линиям. Поэтому, система обозначений является такой, что линия, содержащая некоторый сигнал, обозначается самим сигналом. Линия может быть физической линией в аппаратном исполнении. Однако, в компьютерном исполнении физической линии не существует, а сигнал, представленный линией, передается из одного вычислительного модуля в другой вычислительный модуль.
Хотя настоящее изобретение описано в контексте блок-схем, на которых блоки представляют реальные или логические аппаратные компоненты, настоящее изобретение может быть реализовано также способом, выполняемым в компьютере. В последнем случае, блоки представляют соответствующие этапы способа, при этом данные этапы обозначают функции, выполняемые соответствующими логическими или физическими аппаратными блоками.
Хотя некоторые аспекты описаны в контексте устройства, ясно, что данные аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего устройства. Некоторые или этапы способа могут выполняться посредством (или с помощью) электронного устройства, например, микропроцессора, программируемого компьютера или электронной схемы. В некоторых вариантах осуществления какой-нибудь один или более из наиболее важных этапов способа могут выполняться таким устройством.
Передаваемый или кодированный сигнал по изобретению может храниться на носителе цифровых данных или может передаваться по каналу передачи, например, беспроводному каналу передачи или проводному каналу передачи, например, сети Интернет.
В зависимости от некоторых требований к исполнению, варианты осуществления изобретения могут быть реализованы в форме аппаратного или программного обеспечения. Исполнение можно осуществить с использованием носителя цифровых данных, например, гибкого диска, DVD (универсального цифрового диска), диска Blu-Ray, CD (компакт-диска), ROM (постоянной памяти), PROM (программируемой постоянной памяти), EPROM (стираемой программируемой постоянной памяти), EEPROM (электронно-стираемой программируемой постоянной памяти) или флэш-памяти, содержащих хранящиеся на них электронно-считываемые управляющие сигналы, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой таким образом, чтобы выполнялся соответствующий способ. Следовательно, носитель цифровых данных может быть компьютерно-считываемым.
Некоторые варианты осуществления в соответствии с изобретением содержат носитель данных, содержащий электронно-считываемые управляющие сигналы, которые способны взаимодействовать с программируемой компьютерной системой таким образом, чтобы выполнялся один из способов, описанных в настоящей заявке.
В общем, варианты осуществления настоящего изобретения можно реализовать в форме компьютерного программного продукта с программным кодом, при этом программный код предназначен для выполнения одного из способов, когда компьютерный программный продукт выполняется в компьютере. Программный код может храниться, например, на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для выполнения одного из способов, описанных в настоящей заявке, хранящуюся на машиночитаемом носителе.
Другими словами, следовательно, вариант осуществления способа по изобретению является компьютерной программой, содержащей программный код для выполнения одного из способов, описанных в настоящей заявке, когда компьютерная программа запускается компьютере.
Следовательно, дополнительный вариант осуществления способов по изобретению является носителем данных (или не временным носителем данных, например, носителем цифровых данных, или компьютерно-читаемым носителем), содержащим записанную на нем компьютерную программу для выполнения одного из способов, описанных в настоящей заявке. Носитель данных, носитель цифровых данных или записываемый носитель являются, обычно, материальным и/или не временным.
Следовательно, дополнительный вариант осуществления способа по изобретению является потоком данных или последовательностью сигналов, представляющим(щей) компьютерную программу для выполнения одного из способов, описанных в настоящей заявке. Поток данных или последовательность сигналов может быть, например, сконфигурирован(а) с возможностью передачи по соединению для передачи данных, например, по сети Интернет.
Дополнительный вариант осуществления содержит средство обработки данных, например, компьютер или программируемое логическое устройство, сконфигурированный(ое) с возможностью или предназначенный(ое) для выполнения одного из способов, описанных в настоящей заявке.
Дополнительный вариант осуществления содержит компьютер, содержащий установленную в нем компьютерную программу для выполнения одного из способов, описанных в настоящей заявке.
Дополнительный вариант осуществления в соответствии с изобретением содержит устройство или систему, сконфигурированное(ую) с возможностью передачи (например, электронной или оптической) компьютерной программы для выполнения одного из способов, описанных в настоящей заявке, в приемник. Приемник может быть, например, компьютером, мобильным устройством, запоминающим устройством и т.п. Устройство или система может содержать, например, файловый сервер для передачи компьютерной программы в приемник.
В некоторых вариантах осуществления программируемое логическое устройство (например, матрица логических элементов с эксплуатационным программированием) может применяться для выполнения некоторых или всех функций способов, описанных в настоящей заявке. В некоторых вариантах осуществления матрица логических элементов с эксплуатационным программированием может взаимодействовать с микропроцессором для того, чтобы выполнять один из способов, описанных в настоящей заявке. В общем, способы предпочтительно выполняются любым электронным устройством.
Вышеописанные варианты осуществления являются простой иллюстрацией принципов настоящего изобретения. Следует понимать, что специалистам в данной области техники будут очевидны модификации и варианты компоновок и деталей, описанных в настоящей заявке. Следовательно, изобретение должно ограничиваться только объемом прилагаемой формулы изобретения, а не специфическими деталями, представленными в описании и пояснении вариантов осуществления настоящей заявки.
Ссылочные материалы
Signal Processing with Lapped Transforms
[1] H. S. Malvar, , Norwood: Artech House, 1992.
IEEE Trans. Acoustics, Speech, and Signal Proc
[2] J. P. Princen and A. B. Bradley, ʺAnalysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation,ʺ ., 1986.
IEEE ICASSP
[3] J. P. Princen, A. W. Johnson, and A. B. Bradley, ʺSubband/transform coding using filter bank design based on time domain aliasing cancellation,ʺ in , vol. 12, 1987.
IEEE Trans. Acoustics, Speech, and Signal Proc
[4] H. S. Malvar, ʺLapped Transforms for Efficient Transform/Subband Coding,ʺ ., 1990.
[5] http://en.wikipedia.org/wiki/Modified_discrete_cosine_transform