Прямая компенсация наложения спектров во временной области с применением в области взвешенного или исходного сигнала

Иллюстрации

Показать все

Изобретение относится к способам и устройствам для прямой компенсации наложения спектров во временной области в кодированном сигнале, передаваемом с кодера на декодер. Технический результат заключается в обеспечении компенсации эффектов наложения спектров в точке переключения между режимами кодирования. Технический результат достигается за счет того, что информация, относящаяся к коррекции наложения спектров во временной области в кодированном сигнале, вычисляется в кодере и добавляется в битовый поток, отправляемый с кодера на декодер. Декодер принимает битовый поток и компенсирует наложение спектров во временной области в кодированном сигнале в ответ на информацию, содержащуюся в битовом потоке. Информация может представлять собой разность между кадром звукового сигнала, подлежащего кодированию в первом режиме кодирования, и декодированным сигналом из кадра, включающим в себя эффекты наложения спектров во временной области. 4 н. и 30 з.п. ф-лы, 17 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

В уровне техники при кодировании звука используется частотно-временное разложение для представления сигнала в виде его значимой части для сокращения количества данных. В частности, в кодерах звуковых сигналов используются преобразования для выполнения отображения выборок во временной области в коэффициенты в частотной области. Дискретные временные преобразования, используемые для такого отображения времени в частоту, обычно основываются на ядрах синусоидальных функций, таких как дискретное преобразование Фурье (DFT) и дискретное косинусное преобразование (DCT). Можно показать, что при таких преобразованиях достигается «уплотнение энергии» звуковых сигналов. Это означает, что в области преобразования (или частотной области) распределение энергии локализовано на менее значимых коэффициентах, чем в выборках во временной области. Выигрыш от кодирования может далее достигаться применением адаптивного распределения битов и подходящего квантования для коэффициентов в частотной области. В приемнике биты, представляющие квантованные и кодированные параметры (например, коэффициенты в частотной области), используются для восстановления квантованных коэффициентов в частотной области (или иных квантованных данных, таких как коэффициенты усиления), при этом обратное преобразование генерирует звуковой сигнал во временной области. Такие схемы кодирования обычно называют кодированием с преобразованием.

По определению кодирование с преобразованием работает по последовательным блокам выборок входного звукового сигнала. Поскольку квантование вносит некоторое искажение в каждый синтезированный блок звукового сигнала, использование неперекрывающихся блоков может вносить неоднородности на границах блока, что может ухудшать качество звукового сигнала. Поэтому при кодировании с преобразованием для того, чтобы избежать неоднородностей, кодированные блоки звукового сигнала перекрываются до применения дискретного преобразования и соответствующим образом оконно взвешиваются в перекрывающемся сегменте для обеспечения плавного перехода от одного декодированного блока к следующему. Использование «стандартного» преобразования, такого как DFT (либо его эквивалента - быстрого преобразования Фурье (FFT)) или DCT, и применение его к перекрывающимся блокам, к сожалению, приводит к так называемой «некритической выборке». Например, если взять типичное условие перекрытия 50%, кодирование блока из N последовательных выборок во временной области фактически требует выполнения преобразования по 2N последовательным выборкам - N выборкам от текущего блока и N выборкам от перекрывающейся части следующего блока. Поэтому для каждого блока из N выборок во временной области кодируются 2N коэффициентов в частотной области. Критическая выборка в частотной области подразумевает, что N входных выборок во временной области формируют только N коэффициентов в частотной области, подлежащих квантованию и кодированию.

Были разработаны специализированные преобразования для обеспечения возможности использования перекрывающихся окон и, тем не менее, поддержки критических выборок в области преобразования - чтобы 2N выборок во временной области на входе преобразования приводили к N коэффициентам в частотной области на выходе преобразования. Для достижения этого блок из 2N выборок во временной области сначала сокращается до блока из N выборок во временной области с помощью специальной временной инверсии и суммирования отдельных частей оконно взвешенного сигнала длиной 2N выборок. Такая специальная временная инверсия с суммированием вносит так называемое «наложение спектров во временной области», или TDA. При внесении такого наложения спектров в блок сигнала его нельзя удалить с использованием только этого блока. Это именно тот сигнал с наложением спектров во временной области, который является входным для преобразования размером N (а не 2N), формирующего N коэффициентов в частотной области преобразования. Для восстановления N выборок во временной области при обратном преобразовании фактически должны использоваться коэффициенты преобразования от двух последующих и перекрывающихся окон для компенсации TDA в ходе процесса, называемого компенсацией наложения спектров во временной области, или TDAC.

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

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

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

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

Второе решение состоит в использовании специально разрабатываемых окон, которые не вносят TDA, по меньшей мере, в одной части окна, когда применяется процесс временной инверсии и суммирования. Фиг. 1 представляет собой схему примера окна, вносящего TDA со своей левой стороны, но не вносящего TDA со своей правой стороны. В частности, на фиг. 1 окно из 2N выборок 100 вносит TDA 110 со своей левой стороны. Окно 100 на фиг. 1 пригодно для переходов от кодека на основе TDAC к кодеку не на основе TDAC. Первая половина этого окна формируется таким образом, что она вносит TDA 110, которое может быть скомпенсировано, если в предыдущем окне также используется TDA без перекрытия. Однако с правой стороны окна на фиг. 1 имеется выборка с нулевым значением 120 после точки свертывания в положении 3N/2. Поэтому эта часть окна 100 не вносит никакого TDA, когда процесс временной инверсии и суммирования (или свертывания) выполняется вокруг точки свертывания в положении 3N/2.

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 1 представляет собой схему примера окна, вносящего TDA со своей левой стороны, но не вносящего TDA со своей правой стороны;

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

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

фиг. 4 представляет собой схему, на которой показана прямая коррекция наложения спектров применительно к схеме, показанной на фиг. 2;

фиг. 5 представляет собой схему, на которой показана несвернутая прямая коррекция компенсации наложения спектров (FAC) (слева) и свернутая коррекция FAC (справа);

фиг. 6 представляет собой иллюстрацию первого применения способа коррекции FAC с использованием MDCT;

фиг. 7 представляет собой схему коррекции FAC с использованием информации из режима ACELP;

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

фиг. 9 представляет собой схему несвернутой коррекции FAC (слева) и свернутой коррекции FAC (справа);

фиг. 10 представляет собой иллюстрацию второго применения способа коррекции FAC с использованием MDCT;

фиг. 11 представляет собой блок-схему квантования FAC, включающего в себя коррекцию ошибок ТСХ;

фиг. 12 представляет собой схему различных случаев использования коррекции FAC в многорежимной системе кодирования;

фиг. 13 представляет собой схему другого случая использования коррекции FAC в многорежимной системе кодирования;

фиг. 14 представляет собой схему первого случая использования коррекции FAC при переключении между короткими кадрами с преобразованием и кадрами ACELP;

фиг. 15 представляет собой схему второго случая использования коррекции FAC при переключении между короткими кадрами с преобразованием и кадрами ACELP;

фиг. 16 представляет собой блок-схему примера устройства для прямой компенсации наложения спектров во временной области в кодированном сигнале, принимаемом в битовом потоке; и

фиг. 17 представляет собой блок-схему примера устройства для прямой компенсации наложения спектров во временной области в кодированном сигнале для передачи на декодер.

ПОДРОБНОЕ ОПИСАНИЕ

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

Примером кадра с использованием взвешивания с помощью прямоугольного неперекрывающегося окна является кодирование с линейным предсказанием (LP) и, в частности, линейное предсказание с алгебраическим кодовым возбуждением (ACELP). В альтернативном примере осуществления примером взвешивания с помощью непрямоугольного перекрывающегося окна является кодирование с преобразованием кодированного возбуждения (ТСХ), применяемое в Унифицированном речевом кодеке и аудиокодеке (USAC), в котором в кадрах ТСХ используются как перекрывающиеся кадры, так и модифицированное дискретное косинусное преобразование (MDCT), которое вносит наложение спектров во временной области (TDA). USAC также является типичным примером, в котором смежные кадры могут кодироваться с использованием либо прямоугольных неперекрывающихся окон, как, например, в кадрах ACELP, либо непрямоугольных перекрывающихся окон, как, например, в кадрах ТСХ и в кадрах улучшенного звукового кодирования (ААС). Без ущерба для общности в настоящем описании при этом рассматривается конкретный пример USAC для иллюстрации преимуществ предлагаемых системы и способа.

Рассматриваются два отдельных случая. Первый случай имеет место, когда переход осуществляется от кадра с использованием прямоугольного неперекрывающегося окна к кадру с использованием непрямоугольного перекрывающегося окна. Второй случай имеет место, когда переход осуществляется от кадра с использованием непрямоугольного перекрывающегося окна к кадру с использованием прямоугольного неперекрывающегося окна. В целях иллюстрации и без предположения ограничения кадры с использованием прямоугольного неперекрывающегося окна могут кодироваться с использованием модели ACELP, а кадры с использованием непрямоугольного перекрывающегося окна могут кодироваться с использованием модели ТСХ. Кроме того, для некоторых кадров используются конкретные величины длительности, например, 20 миллисекунд для кадра ТСХ, обозначаемые ТСХ20. Однако следует помнить, что эти конкретные примеры используются только в целях иллюстрации, но что могут предполагаться и другие значения длительности и типы кодирования, отличные от ACELP и ТСХ.

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

В соответствии с фиг. 2, типичное прямоугольное неперекрывающееся окно содержит кадр 202 ACELP, а типичное непрямоугольное перекрывающееся окно содержит кадр 206 ТСХ20. ТСХ20 относится к коротким кадрам ТСХ в USAC, которые номинально имеют длительность 20 мс, равно как и кадры ACELP во многих областях применения. На фиг. 2 показано, какие выборки используются в каждом кадре и как они оконно взвешиваются в кодере. То же окно 204 применяется в декодере, так что суммарный эффект, наблюдаемый в декодере, представляет собой квадрат формы окна, показанного на фиг. 2. Разумеется, такое двойное оконное взвешивание - один раз в кодере и второй раз в декодере - является типичным при кодировании с преобразованием. В тех случаях, когда окно не изображено, как в кадре 202 ACELP, это фактически означает, что для данного кадра используется прямоугольное окно. Непрямоугольное окно 204 для кадра 206 ТСХ20, показанное на фиг. 2, выбирается таким образом, что если в предыдущих и последующих кадрах также используются перекрывающиеся и неперекрывающиеся окна, то перекрывающиеся участки 204а и 204b окон после второго оконного взвешивания в декодере являются дополняющими и позволяют восстанавливать «невзвешенный с помощью окна» сигнал в перекрывающейся области окон.

Для эффективного кодирования кадра 206 ТСХ20, показанного на фиг. 2, наложение спектров во временной области (TDA) обычно применяется к оконно взвешенным выборкам для данного кадра 206 ТСХ20. В частности, левый 204а и правый 204b участки свертываются и объединяются. Фиг. 3 представляет собой схему, на которой показаны свертывание и TDA применительно к схеме, показанной на фиг. 2. Непрямоугольное окно 204, введенное в описание фиг. 2, показано в виде четырех четвертей. 1-я и 4-я четверти - 204а и 204d окна 204 - показаны пунктирной линией, поскольку они объединяются со 2-й и 3-й четвертями 204b, 204c, показанными сплошной линией. Объединение 1-й и 4-й четвертей 204а, 204d со 2-й и 3-й четвертями 204b, 204c осуществляется в ходе процесса, аналогичного процессу, используемому при кодировании MDCT, следующим образом. 1-я четверть 204а реверсируется во времени, затем она последовательно повыборочно выравнивается со 2-й четвертью 204b окна и, наконец, реверсированная во времени и сдвинутая 1-я четверть 204е вычитается из 2-й четверти 204b окна. Аналогичным образом 4-я четверть 204d окна реверсируется во времени и сдвигается (204f) для выравнивания с 3-й четвертью 204с окна и, наконец, она суммируется с 3-й четвертью 204с окна. Если в окне 204 ТСХ20, показанном на фиг. 2, имеется 2N выборок, то в конце этого процесса мы получаем N выборок, проходящих в точности от начала до конца изображенного на фиг. 3 кадра 206 ТСХ20. Затем указанные N выборок образуют входные данные соответствующего преобразования для эффективного кодирования в области преобразования. При использовании специального наложения спектров во временной области, описанного на фиг. 3, MDCT может являться преобразованием, используемым для этой цели.

После объединения реверсированных во времени и сдвинутых участков окна, описанного на фиг. 3, уже невозможно восстановить исходные выборки во временной области в кадре ТСХ20, поскольку они смешиваются с реверсированными во времени версиями выборок за пределами кадра ТСХ20. В кодере звуковых сигналов на основе MDCT, таком как MPEG AAC, в котором все кадры кодируются с использованием одного и того же преобразования и перекрывающихся окон, такое наложение спектров во временной области может быть скомпенсировано, при этом выборки звуковых сигналов могут быть восстановлены путем использования двух последовательных перекрывающихся кадров. Однако когда в смежных кадрах не используется один и тот же процесс оконного взвешивания и перекрытия, как на фиг. 2, на которой кадру ТСХ20 предшествует кадр ACELP, эффект непрямоугольного окна и наложения спектров во временной области не может быть исключен с использованием только информации из предыдущего кадра ACELP и последующего кадра ТСХ20.

Выше были представлены методы управления переходом такого типа. В настоящем описании предлагается альтернативный подход к управлению такими переходами. В данном подходе не используются неоптимальные и асимметричные окна в кадре, в котором используется кодирование в области преобразований на основе MDCT. Вместо этого введенные здесь способы и устройства позволяют использовать симметричные окна с центром в середине кодированного кадра, такого как, например, изображенный на фиг. 3 кадр ТСХ20, и с 50%-ным перекрытием с кадрами, кодированными с использованием MDCT, в которых также используются непрямоугольные окна. Таким образом, в введенных здесь способах и устройствах предлагается отправлять от кодера к декодеру в качестве дополнительной информации в битовом потоке коррекцию для компенсации эффекта оконного взвешивания и наложения спектров во временной области при переключении от кадров, кодированных с прямоугольным неперекрывающимся окном, к кадрам, кодированным с непрямоугольным перекрывающимся окном, и наоборот. При таких переходах возможны несколько случаев.

На фиг. 2 взвешивание с помощью прямоугольного неперекрывающегося окна показано для кадра ACELP, а взвешивание с помощью непрямоугольного перекрывающегося окна показано для кадра ТСХ20. При использовании TDA, введенного на фиг. 3, декодер, принимающий сначала биты от кадра ACELP, имеет достаточно информации для полного декодирования данного кадра ACELP вплоть до своей последней выборки. Но затем, после приема битов от кадра ТСХ20, надлежащее декодирование всех выборок в кадре ТСХ20 нарушается из-за эффекта наложения спектров, вызванного наличием предыдущего кадра ACELP. Если в следующем кадре также используется перекрывающееся окно, то взвешивание с помощью непрямоугольного окна и TDA, введенное в кодере, может компенсироваться во второй половине показанного кадра ТСХ20, и эти выборки могут быть надлежащим образом декодированы. Следовательно, в первой половине кадра ТСХ20, в котором реверсированная во времени и сдвинутая 1-я четверть 204е вычитается из 204b на фиг. 3, эффект непрямоугольного окна и TDA, введенное в кодере, не могут компенсироваться, поскольку в предыдущем кадре ACELP используется неперекрывающееся окно. Поэтому в введенных здесь способах и устройствах предлагается передавать информацию - Прямую компенсацию наложения спектров во временной области (FAC) - для компенсации указанных эффектов, и надлежащим образом восстанавливать первую половину кадра ТСХ20.

Фиг. 4 представляет собой схему, на которой показана прямая коррекция наложения спектров (FAC) применительно к схеме, показанной на фиг. 2. На фиг. 4 иллюстрируется ситуация в декодере, при которой взвешивание с помощью окна, например, косинусоидального окна, применяемого при MDCT, уже применялось во второй раз после обратного преобразования. Рассматривается только переход от ACELP к ТСХ20 независимо от кадра, следующего за кадром ТСХ20. Поэтому на фиг. 4 выборки, в которых применяется коррекция FAC, соответствуют первой половине кадра ТСХ20. Это то, что называется зоной 402 FAC. Имеются два эффекта, которые компенсируются с помощью FAC в данном примере. Первым эффектом является эффект оконного взвешивания, называемый x_w 404 на фиг. 4. Это соответствует умножению выборок в первой половине кадра 206 ТСХ20 на 2-ю четверть 204b непрямоугольного окна на фиг. 3. Поэтому первая часть коррекции FAC содержит прибавление дополнения этих оконно взвешенных выборок, что соответствует коррекции для сегмента x_w 406 на фиг. 4. Например, если данная входная выборка x[n] умножалась на оконную выборку w[n] в кодере, то дополнение этой оконно взвешенной выборки попросту равно величине (1-w[n]), умноженной на x[n]. Сумма x_w 404 и коррекция для x_w 406 равна 1 для всех выборок в данном сегменте. Вторая часть коррекции FAC соответствует компоненте наложения спектров во временной области, которая добавлялась в кодере в кадре ТСХ20. Для исключения этой компоненты наложения спектров, именуемой частью наложения спектров х_а 408 на фиг. 4, коррекция для х_а 406 на фиг. 4 инвертируется во времени, выравнивается с первой половиной кадра ТСХ20 и суммируется с указанной первой половиной сегмента, показанной как часть наложения спектров х_а 408. Она суммируется, а не вычитается потому, что на фиг. 3 левая часть свертывания, ведущая к наложению спектров во временной области, включала в себя вычитание данной компоненты, поэтому для исключения их она теперь вновь добавляется. Сумма указанных двух частей - компенсации окна x_w 404 и компенсации наложения спектров х_а 408 образует полную коррекцию FAC в зоне 402 FAC.

Существует несколько вариантов кодирования коррекции FAC. Фиг. 5 представляет собой схему, на которой показана несвернутая коррекция FAC (слева) и свернутая коррекция FAC (справа). Одним из вариантов может быть прямое кодирование оконно взвешенного FAC сигнала, как показано с левой стороны на фиг. 5. Данный сигнал, именуемый окном 502 FAC на фиг. 5, дважды перекрывает длину зоны FAC. В декодере декодированный оконно взвешенный FAC сигнал может далее быть свернут (инвертирование во времени левой половины и суммирование ее с правой половиной), а затем данный свернутый сигнал может быть добавлен в качестве коррекции 504 в зоне 402 FAC, как показано с правой стороны на фиг. 5. В данном подходе выборки во временной области кодируются дважды по сравнению с длиной коррекции.

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

Еще один подход к кодированию сигнала коррекции FAC, показанного слева на фиг. 5, состоит в использовании неявного свертывания MDCT. Фиг. 6 представляет собой иллюстрацию первого применения способа коррекции FAC с использованием MDCT. В верхнем левом квадранте показано содержимое окна 502 FAC с незначительным изменением. В частности, последняя четверть окна 502а FAC сдвинута влево от окна 502 FAC и инвертирована по знаку (502b). Иными словами, окно FAC на фиг. 5 циклически поворачивается вправо на ¼ от его полной длины, а затем знак первой ¼ выборок инвертируется. Затем к оконно взвешенному сигналу применяется MDCT. MDCT по своей математической конструкции неявно применяет операцию свертывания, что приводит к свернутому сигналу 602, показанному в верхнем правом квадранте фиг. 6. Такое свертывание в MDCT применяет инверсию знака в левой части 502b, но не в правой части 502с, в которой добавляется свернутый сегмент. Сравнивая результирующий свернутый сигнал 602 с полной коррекцией 504 FAC на фиг. 5, можно увидеть, что он эквивалентен коррекции 504 FAC, за исключением инверсии во времени. Таким образом, в декодере после обратного MDCT (IMDCT) этот сигнал 602, который является инвертированным сигналом коррекции FAC, инвертируется во времени (или зеркально отражается) и становится сигналом 604 коррекции FAC, как показано в нижнем правом квадранте фиг. 6. Как указано выше, эта коррекция 604 FAC может добавляться к сигналу в зоне FAC фиг. 4.

В конкретном случае перехода от кадра ACELP к кадру ТСХ дополнительная эффективность может быть достигнута за счет использования информации, уже имеющейся в декодере. Фиг. 7 представляет собой схему коррекции FAC с использованием информации режима ACELP. Синтезированный сигнал 702 ACELP вплоть до конца кадра 202 ACELP известен в декодере. Кроме того, отклик при отсутствии входного сигнала (ZIR) 704 синтезирующего фильтра имеет хорошую корреляцию с сигналом в начале кадра 206 ТСХ20. Эта особенность уже использовалась в стандарте 3GPP AMR-WB+ для управления переходами от кадров ACELP к кадрам ТСХ. Здесь эта информация используется в двух целях: 1) для снижения амплитуды сигнала, подлежащего кодированию в качестве коррекции FAC, и 2) для обеспечения непрерывности сигнала ошибки с целью повышения эффективности кодирования MDCT этого сигнала ошибки. В соответствии с фиг. 7, сигнал 706 коррекции, подлежащий кодированию для передачи коррекции FAC, вычисляется следующим образом. Первая половина этого сигнала 706 коррекции, которая проходит до конца кадра 202 ACELP, берется как разность 708 между взвешенным сигналом 710 в исходной некодированной области и взвешенным синтезированным сигналом 702 в кадре 202 ACELP. Принимая во внимание, что модуль кодирования ACELP имеет достаточные характеристики, эта первая половина сигнала 706 коррекции имеет уменьшенную энергию и амплитуду по сравнению с исходным сигналом. Далее, что касается второй половины упомянутого сигнала 706 коррекции, берется разность 708 между взвешенным сигналом 712 в исходной некодированной области в начале кадра 206 ТСХ20 и откликом при отсутствии входного сигнала 704 взвешивающего синтезирующего фильтра ACELP. Поскольку отклик при отсутствии входного сигнала 704 коррелирован с взвешенным сигналом 712, по меньшей мере, в некоторой степени, особенно в начале кадра ТСХ20, указанная разность имеет меньшую амплитуду и энергию по сравнению с взвешенным сигналом 712 в начале кадра ТСХ20. Такая эффективность отклика при отсутствии входного сигнала 704 при моделировании исходного сигнала обычно выше в начале кадра. При добавлении эффекта окна 502 FAC, которое имеет уменьшающуюся амплитуду для данной второй половины окна FAC, форма второй половины сигнала 706 коррекции на фиг. 7 должна стремиться к нулю в начале и в конце, при этом, возможно, больше энергии концентрируется в середине второй половины окна 502 FAC в зависимости от точности соответствия ZIR взвешенному сигналу. После выполнения этих операций оконного взвешивания и различения, как описано применительно к фиг. 7, результирующий сигнал 706 коррекции может кодироваться, как описано на фиг. 5 или 6, либо любым заданным способом кодирования FAC-сигнала. В декодере фактический сигнал коррекции FAC вновь вычисляется сначала декодированием передаваемого сигнала 706 коррекции, описанного выше, а затем вновь суммированием синтезированного сигнала 702 ACELP с сигналом 706 в первой половине окна 502 FAC и суммированием ZIR 704 с тем же сигналом 706 во второй половине окна 502 FAC.

До сих пор в настоящем изобретении описывались переходы от кадра с использованием прямоугольного неперекрывающегося окна к кадру с использованием непрямоугольного перекрывающегося окна на примере случая перехода от кадра ACELP к кадру ТСХ. Следует понимать, что может возникнуть противоположная ситуация, а именно переход от кадра ТСХ к кадру ACELP. Фиг. 8 представляет собой схему коррекции FAC, применяемой при переходе от кадра с использованием перекрывающегося непрямоугольного окна к кадру с использованием неперекрывающегося прямоугольного окна. На фиг. 8 показан кадр 802 ТСХ20, за которым следует кадр 804 ACELP, со свернутым окном 806 ТСХ20, как видно в декодере, в кадре ТСХ. На фиг. 8 также показана зона 810 FAC, в которой коррекция FAC применяется для компенсации эффекта оконного взвешивания и наложения спектров во временной области в конце кадра 802 ТСХ20. Следует отметить, что кадр 804 ACELP не несет информации для компенсации указанных эффектов. Окно 812 FAC является симметричным относительно окна 502 FAC на фиг. 5.

Свертывание двух частей - 812-й левой и 812-й правой - окна 812 FAC при этом показано в случае перехода от кадра ТСХ к кадру ACELP. По сравнению с фиг. 5 имеются следующие различия: окно 812 FAC в данном случае реверсировано во времени, а свертывание части наложения спектров применяется к операции вычитания вместо суммирования, как проиллюстрировано на фиг. 5, чтобы согласовываться со знаком свертывания MDCT в этой части окна.

Фиг. 9 представляет собой схему несвернутой коррекции FAC (слева) и свернутой коррекции FAC (справа). Окно 812 FAC воспроизведено на левой стороне фиг. 9. Сигнал 902 свернутой коррекции FAC может кодироваться с использованием DCT или какого-либо иного подходящего способа. Если исходить из окна Хеннинга в преобразовании, которое использовалось, например, в MDCT, уравнения 904 и 906 на фиг. 9 описывают окно 812 FAC в случае фиг. 9. Разумеется, при использовании окон другой формы другие уравнения используются для описания окна FAC. Кроме того, использование окна типа Хеннинга в MDCT означает, что перед MDCT в кодере используется косинусоидальное окно, а в декодере после IMDCT вновь используется косинусоидальное окно. Именно повыборочная комбинация этих двух косинусоидальных окон приводит к требуемой форме окна Хеннинга, которая имеет соответствующую дополняющую форму для перекрытия и суммирования в части окна с 50%-ным перекрытием.

И снова, подход с MDCT также может использоваться для кодирования окна FAC, как описывалось на фиг. 6. Фиг. 10 представляет собой иллюстрацию второго применения способа коррекции FAC с использованием MDCT. В верхнем левом квадранте на фиг. 10 показано окно 812 FAC, изображенное на фиг. 8. Первая четверть 812а окна 812 FAC сдвинута вправо от окна FAC и инвертирована по знаку (812b). Иными словами, окно 812 FAC циклически поворачивается влево на ¼ от его полной длины, а затем знак последней ¼ выборок инвертируется. Затем к этому оконно взвешенному сигналу в верхнем правом квадранте фиг. 10 применяется MDCT. MDCT применяет внутри операцию свертывания, что приводит к свернутому сигналу 1002, показанному в верхнем правом квадранте фиг. 10. Такое свертывание в MDCT применяет инверсию знака в левой части 812с, но не в правой части 812b, в которой добавляется свернутый сегмент. Сравнивая результирующий свернутый сигнал 1002 с сигналом 902 коррекции FAC с правой стороны на фиг. 9, можно увидеть, что он эквивалентен, за исключением инвертирования во времени (зеркального отражения) и инверсии знака. Таким образом, в декодере после IMDCT этот сигнал 1002, который является инвертированной коррекцией FAC, инвертируется во времени (или зеркально отражается), инвертируется по знаку и становится коррекцией 1004 FAC, как показано в нижнем правом квадранте фиг. 10. Как указано выше, эта коррекция 1004 FAC может добавляться к сигналу в зоне FAC фиг. 8.

Квантование сигнала, соответствующего коррекции FAC, предполагает надлежащее выполнение. Действительно, коррекция FAC является частью кодированного в области преобразований сигнала, включая, например, кадры ТСХ20, используемые в примерах на фиг. 2-10, поскольку она добавляется к кадру для компенсации эффектов оконного взвешивания и наложения спектров. Поскольку квантование такой коррекции FAC вносит искажение, данное искажение управляется таким образом, что оно надлежащим образом смешивается с кодированным в области преобразований сигналом или согласуется с его искажением и не вносит звуковые артефакты в данный переход, соответствующий зоне FAC. Если вызываемый квантованием уровень шума, а также форма шума квантования во временной и частотной областях сохраняются приблизительно такими же в сигнале коррекции FAC, как и в кодированном с преобразованием кадре, в котором применяется коррекция FAC, то коррекция FAC не вносит дополнительного искажения.

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