Аудиокодер и аудиодекодер для кодирования и декодирования отсчетов аудиосигнала

Иллюстрации

Показать все

Аудиокодер (100) для кодирования отсчетов аудиосигнала включает в себя первый кодер с временным наложением (алиасингом) (110) для кодирования аудиоотсчетов в первой области кодирования по первому правилу кадрирования, с приложением стартового окна и стопового окна. Аудиокодер (100), далее включающий в себя второй кодер (120) для кодирования отсчетов во второй области кодирования, обрабатывающий задаваемое форматом фрейма число аудиоотсчетов и содержащий ряд аудиоотсчетов интервала стабилизации режима кодирования, применяющий другое, второе, правило кадрирования, при этом фрейм второго кодера (120) является кодированным представлением последовательных во времени аудиоотсчетов, число которых задается форматом фрейма. Аудиокодер (100) включает в себя, кроме того, контроллер (130), выполняющий коммутацию с первого кодера (110) на второй кодер (120) в соответствии с характеристикой аудиоотсчетов и обеспечивающий корректировку второго правила кадрирования при переключении с первого кодера (110) на второй кодер (120) или модифицирующий стартовое окно или стоповое окно первого кодера (110) с сохранением второго правила кадрирования без изменения. Технический результат - улучшение коммутации между множеством рабочих областей при кодировании звука как во временной, так и в частотной областях. 14 н. и 20 з.п. ф-лы, 28 ил.

Реферат

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

Для кодирования звука и речи при низких битрейтах традиционно применяют несколько алгоритмов, обеспечивающих наилучшее качество субъективного восприятия. Целью применения кодеров обычных музыкальных/звуковых сигналов является оптимизация воспринимаемого на слух качества путем приведения формы ошибки спектрального (и временного) квантования в соответствие с кривой порога маскирования, выводимой из входного сигнала с применением перцептуальной модели («перцептуального аудиокодирования»). Вместе с тем, как показала практика, кодирование речи на очень низких битрейтах весьма эффективно, когда оно базируется на модели воспроизведения человеческой речи, то есть - на использовании кодирования с линейным предсказанием (LPC) для моделирования резонансных эффектов речевого тракта человека в комплексе с продуктивным кодированием остаточного инициирующего сигнала.

Как следствие применения этих двух разных подходов такие аудиокодеры общего назначения, как MPEG-1 уровня 3 (стандарт MPEG разработан «Экспертной группой по движущимся изображениям»), или MPEG-2/4 ААС (усовершенствованный метод кодирования звука), как правило, не дают такой же положительный результат для речевых сигналов с очень низким битрейтом, как специально разработанные линейно-предиктивные речевые кодеры, в силу отсутствия модели источника речи. И наоборот, линейно-предиктивные кодеры речи в большинстве случаев не дают должных результатов при приложении к обычным музыкальным сигналам из-за неспособности гибко формировать огибающую спектра искажения кодирования, соответствующую кривой порога маскирования. Далее описаны концепции, объединяющие преимущества LPC-кодирования и перцептуального аудиокодирования в единую структуру и формирующие таким образом унифицированную систему кодирования звука, то есть - одинаково применимую для кодирования как общеакустических сигналов, так и речи.

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

На фиг.16 представлена блок-схема базовой монофонической перцепционной системы кодирования. Банк фильтров анализа 1600 предназначен для отображения отсчетов временной области в виде спектральных составляющих. В зависимости от числа спектральных составляющих система может также называться кодером поддиапазонов (при небольшом количестве поддиапазонов, например, 32) или кодером-преобразователем (при большом количестве частотных линий, например, 512). Перцепционная («психоакустическая») модель 1602 предназначена для оценки фактического порога маскирования с временной зависимостью. Спектральные компоненты («подполосы» или «дискреты частотной области») квантуют и кодируют 1604 так, чтобы шум квантования был скрыт в фактически передаваемом сигнале и неразличим при последующем декодирование. Это достигается варьированием глубины квантования спектральных величин по времени и частоте.

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

Закодированный битстрим поступает на интерфейс ввода данных декодера 1610. Блок 1610 отделяет прошедшие энтропийное кодирование и квантование значения спектра/поддиапазонов от служебной информации. Кодированные параметры спектра вводятся в энтропийный декодер, например, декодер Хаффмана, расположенный между 1610 и 1620. Выходные данные энтропийного декодера представляют собой квантованные значения спектра. Эти квантованные спектральные величины вводятся в реквантователь, который выполняет «обратное» квантование, что показано в виде элемента 1620 на фиг.16. Выходные данные элемента 1620 поступают в банк фильтров синтеза 1622, который выполняет синтезирующее фильтрование, включающее в себя частотно-временное преобразование и, как правило, операцию компенсации алиасинга во временной области, такую как наложение и суммирование и/или синтезирующее оконное преобразование, для получения итогового выходного звукового сигнала.

Традиционно эффективное кодирование речи базировалось на линейно-предиктивном кодировании (LPC-кодирование) с моделированием резонансных эффектов человеческого голосового тракта вместе с продуктивным кодированием остаточного возбуждающего сигнала. Параметры LPC-кодирования и возбуждения транслируются от кодера к декодеру. Этот принцип проиллюстрирован на фиг.17А и 17B.

На фиг.17A показана схема линейно-прогностического кодера/декодера со стороны кодера. Входной речевой сигнал вводится в LPC-анализатор 1701, на выходе которого формируются коэффициенты фильтра кодирования с линейным предсказанием. На основании этих коэффициентов LPC-фильтрации производится настройка LPC-фильтра 1703. LPC-фильтр дает на выходе аудиосигнал отбеленного спектра, называемый также «сигналом ошибки предсказания». Этот спектрально отбеленный звуковой сигнал вводится в кодер остаточного возбуждения 1705, который генерирует параметры возбуждения. Таким образом, входной речевой сигнал кодируется в виде параметров возбуждения, с одной стороны, и в виде коэффициентов кодирования с линейным предсказанием, с другой стороны.

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

Длительное время предлагались различные методы эффективной и достоверной передачи остаточного (возбуждающего) сигнала, такие как многоимпульсное возбуждение (МРЕ), регулярное импульсное возбуждение (RPE) и линейное предсказание с кодовым возбуждением (CELP).

С помощью кодирования с линейным предсказанием делается попытка оценки текущей величины отсчета последовательности на основании отслеживания и линейного объединения некоторого числа величин прошлых измерений. Для ограничения избыточности входного сигнала LPC-фильтр кодера «отбеливает» входной сигнал в пределах огибающей его спектра, то есть представляет собой инверсную модель огибающей спектра сигнала. И наоборот, синтезирующий LPC-фильтр декодера является моделью огибающей спектра сигнала. В частности, хорошо известен авторегрессивный анализ с линейным предсказанием, моделирующий огибающую спектра сигнала с помощью полюсной аппроксимации.

Как правило, узкополосные речевые кодеры (то есть речевые кодеры с частотой дискретизации 8 кГц), используют LPC-фильтры от 8 до 12 порядка. Благодаря конструктивным особенностям LPC-фильтра, равномерное частотное разрешение эффективно во всем диапазоне частот. Это не соответствует шкале перцептивных частот.

С целью объединения преимуществ традиционного LPC/CELP метода кодирования (оптимального для голосовых сигналов) и аудиокодирования на базе традиционного перцептуального подхода с использованием банков фильтров (оптимального для музыки) предлагается способ комбинированного кодирования, объединяющий эти два решения. В кодере AMR-WB+(AMR-WB= Adaptive Multi-Rate WideBand = «адаптивный многоскоростной широкополосный»), В.Bessette, R.Lefebvre, R.Salami, «UNIVERSAL SPEECH/AUDIO CODING USING HYBRID ACELP/TCX TECHNIQUES», [«Универсальное кодирование речи/звука с использованием гибридных технологий ACELP/TCX»] Proc. IEEE ICASSP 2005, pp.301-304, 2005, два альтернативных ядра кодирования обрабатывают остаточный сигнал кодирования с линейным предсказанием (LPC-сигнал). Одно базируется на методе ACELP (линейного предсказания с возбуждением алгебраическим кодом) и, следовательно, весьма эффективно для кодирования речевых сигналов. Второе ядро кодирования базируется на технологии ТСХ (возбуждение, управляемое кодом преобразования), то есть - на методе кодирования с применением банков фильтров, напоминающим традиционные алгоритмы кодирования звука, дающие хорошее качество музыкальных сигналов. В зависимости от характеристик входных сигналов на короткий отрезок времени выбирается один из этих двух режимов кодирования для передачи остаточного сигнала LPC. Таким образом, фреймы длительностью 80 мс могут быть разбиты на подфреймы по 40 мс или 20 мс, в течение которых принимается решение о выборе одного из двух режимов кодирования.

Модель AMR-WB+ (расширенный адаптивный многоскоростной широкополосный кодек), ср.: 3GPP (3GPP=Third Generation Partnership Project = «Проект Партнерства третьего поколения»), технические требования №26.290, версия 6.3.0, июнь 2005, предусматривает возможность переключения между двумя разнородными режимами ACELP и ТСХ. В режиме ACELP сигнал временной области кодируется методом возбуждения алгебраическим кодом. В режиме ТСХ применяется быстрое преобразование Фурье (БПФ), и спектральные характеристики взвешенного LPC-сигнала (из которого может быть выведено LPC-возбуждение) кодируются на основе векторного квантования.

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

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

Известно, что в процессе кодировании звука и речи блочное преобразование без оконного взвешивания невыполнимо. Поэтому, в режиме ТСХ сигнал взвешивается с использованием небольшого перекрытия окон на 1/8. Этот участок наложения необходим для затухания предшествующего блока или фрейма при одновременном нарастании очередного, предположим, для подавления артефактов вследствие некоррелированного шума квантования в последующих аудиофреймах. Благодаря этому непроизводительное использование системного ресурса (overhead = оверхед) сохраняется на достаточно низком уровне по сравнению с некритической дискретизацией, и декодирование, необходимое для принятия решения в замкнутом цикле, реконструирует, по меньшей мере, 7/8 отсчетов текущего фрейма.

Кодер AMR-WB+в режиме ТСХ вносит 1/8 протокольной информации (оверхед), то есть число спектральных величин, которые должны быть закодированы, на 1/8-ую превышают число входных отсчетов. Недостатком этого является увеличение вычислительной трудоемкости обработки данных. Более того, соответствующие полосовые фильтры имеют неблагоприятную частотную характеристику из-за крутизны области перекрытия 1/8 последовательных фреймов.

Для иллюстрации увеличения кодируемой служебной информации (за счет оверхеда) и процедуры перекрытия последовательных фреймов на фиг.18 дано определение параметров окна. Окно, показанное на фиг.18, имеет с левой стороны нарастающий фронт, обозначенный «L», называемый также левой областью перекрытия, центральную область, обозначенную «1», которая также называется областью 1 или байпасом (полосовой областью), и зону среза, которая обозначена «R», и называется также областью правого перекрытия. Кроме того, на фиг.18 стрелкой указана область «PR» наилучшей реконструкции внутри фрейма. В дополнение к этому, на фиг.18 стрелкой указана длина ядра преобразования, обозначенного «Т».

На фиг.19 продемонстрирован график последовательности окон AMR-WB+, под которым дана таблица параметров окна согласно фиг.18. Последовательность окон, показанная вверху фиг.19, такова: ACELP, TCX20 (для фрейма длительностью 20 мс), ТСХ20, ТСХ40 (для фрейма длительностью 40 мс), ТСХ80 (для фрейма длительностью 80 мс), TCX20, TCX20, ACELP, ACELP.

Из представления последовательности окон видно, что области перекрытия варьируются, составляя точно 1/8 от центральной части М. Из таблицы внизу фиг.19 можно также видеть, что ядро преобразования „Т" всегда на 1/8 длиннее области новых совершенно восстановленных отсчетов „PR". Более того, следует отметить, что это касается не только переходов от ACELP к ТСХ, но и переходов от ТСХх к ТСХх (где „х" указывает на произвольную длину фреймов ТСХ). Таким образом в каждый блок вводится 1/8 избыточных данных (оверхед), то есть критическая дискретизация никогда не достигается.

При переключении от ТСХ к ACELP оконные дискреты исключаются из фрейма БПФ-ТСХ в области перекрытия, как, например, в области, обозначенной 1900 на верхнем графике фиг.19. При переключении от ACELP к ТСХ отклик при нулевом входном сигнале (zero-input response=ZIR), помеченный пунктиром 1910 на графике фиг.19, удаляется в кодере перед оконным взвешиванием и добавляется в декодере для восстановления. При переключении между фреймами ТСХ оконные отсчеты используются для микширования наплывом. Так как фреймы ТСХ могут квантоваться по-разному, ошибка квантования или шум квантования между следующими друг за другом фреймами могут отличаться и/или быть независимыми друг от друга. Вследствие этого при переключении от одного фрейма к следующему без наплыва могут возникать значительные артефакты, следовательно, для достижения определенного качества необходимо микширование наплывом. Из нижней таблицы на фиг.19 видно, что участок наплыва увеличивается с увеличением длины фрейма. На фиг.20 дана еще одна таблица, графически представляющая различные конфигурации окон, соответствующие переходам, вероятным для AMR-WB+. При переходе от ТСХ к ACELP перекрываемые отсчеты могут быть отвергнуты. При переходе от ACELP к ТСХ отклик на нулевой входной сигнал от ACELP может быть удален в кодере и добавлен в декодере для восстановления.

Далее будет освещено кодирование во временной области (TD) и частотной области (FD). При этом может применяться переключение между этими двумя областями кодирования.

На фиг.21 представлена временная шкала, на которой FD-кодер кодирует первый фрейм 2101, вслед за которым TD-кодер кодирует фрейм 2103, который перекрывает первый фрейм 2101 в зоне 2102. За фреймом 2103, закодированным во временной области, следует фрейм 2105, кодируемый вновь в частотной области, который перекрывает в зоне 2104 предшествующий фрейм 2103. Области перекрытия 2102 и 2104 возникают при каждом переключении области кодирования.

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

Традиционные концепции управления переходами между режимами кодирования в частотной и временной областях, к примеру, берут на вооружение окна микширования наплывом, то есть вводят объем протокольной информации (оверхед), равный области перекрытия. При этом применяют окно плавного наложения, которое обеспечивает затухание предшествующего фрейма и одновременное нарастание следующего фрейма. Такой подход из-за повышения вычислительной трудоемкости (за счет оверхеда) снижает эффективность декодирования, поскольку при каждом появлении перехода сигнал больше не поддается критической дискретизации. Критически дискретизированные переходы с перекрытием рассмотрены, например, в: J.Princen, A.Bradley, «Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation» [«Конструкция банка фильтров анализа/синтеза на основе удаления наложения (алиасинга) во временной области»], IEEE Trans. ASSP, ASSP-34(5): 1153-1161, 1986, и применены, например, в усовершенствованном алгоритме кодирования звука ААС, ср.: «Generic Coding of Moving Pictures and Associated Audio: Advanced Audio Coding, International Standard 13818-7, ISCMEC JTC1/SC29/WG11 Moving Pictures Expert Group, 1997» [Универсальное кодирование движущегося изображения и связанного с ним звука: Усовершенствованное аудиокодирование, международный стандарт 13818-7, ISO/IEC JTC1/SC29/WG11, Экспертная группа по движущимся изображениям (MPEG), 1997].

Кроме того, переходы наплывом без наложения (без алиасинга) рассмотрены в: Fielder, Louis D., Todd, Craig С., «The Design of a Video Friendly Audio Coding System for Distribution Applications» [«Конструкция системы дружественного к изображению кодирования звука для широкого коммерческого применения».], Paper Number 17-008, The AES 17th International Conference: High-Quality Audio Coding (August 1999) и в: Fielder, Louis D., Davidson, Grant A., «Audio Coding Tools for Digital Television Distribution» [«Средства аудиокодирования для распространения цифрового телевидения»], Preprint Number 5104, 108th Convention of the AES (January 2000).

В WO 2008/071353 представлена концепция переключения между кодером во временной области и кодером в частотной области. Концепция применима к любому кодеку, базирующемуся на переключении временной/частотной области. В частности, эта концепция применима к кодированию во временной области для режима ACELP кодека AMR-WB+ и для ААС в качестве примера кодека частотной области. На фиг.22 показана принципиальная модульная схема традиционного кодера, где в верхней ветви использован декодер частотной области, а в нижней ветви задействован декодер временной области. Сторона декодирования в частотной области представлена декодером ААС и включает в себя блок переквантования 2202 и блок обратного модифицированного дискретного косинусного преобразования 2204. В ААС модифицированное дискретное косинусное преобразование (МДКП=MDCT) применено для преобразования из временной области в частотную. На фиг.22 сторона декодирования во временной области представлена декодером AMR-WB+2206, за которым следует блок МДКП 2208 для совмещения выходных данных декодера 2206 с выходными данными реквантователя 2202 в частотной области.

Это дает возможность слияния в частотной области при том, что после обратного МДКП 2204 может следовать операция сложения наложением, которая не показана на фиг.22, для объединения и монтажа наплывом смежных блоков без необходимости учитывать, в какой области - временной или частотной - они были закодированы.

Другой традиционный подход, изложенный в WO 2008/071353, состоит в предложении исключить показанное на фиг.22 МДКП (MDCT) 2208, то есть ДКП-IV и ОДКП-IV, для декодирования во временной области в пользу подхода с использованием так называемого удаления наложения (алиасинга) во временной области (TDAC=Time-Domain Aliasing Cancellation). На фиг.23 отображен другой декодер, в котором декодер частотной области представлен декодером ААС, включающим в себя блок переквантования 2302 и блок ОМДКП (IMDCT) 2304. Декодирование во временной области вновь представлено декодером AMR-WB+2306, а также блоком TDAC 2308. Декодер, показанный на фиг.23, обеспечивает возможность комбинирования декодированных блоков во временной области, то есть - после ОМДКП 2304, поскольку TDAC 2308 создает необходимый уровень наложения (алиасинга) во временной области для надлежащего комбинирования, то есть - для удаления временного наложения (алиасинга) непосредственно во временной области.

В целях некоторой экономии вычислительного ресурса и вместо использования МДКП на каждом первом и последнем суперфрейме, то есть - на каждых 1024 отсчетах каждого сегмента AMR-WB+, может быть задействован лишь TDAC в зоне или на участке перекрытия для 128 отсчетов. При введении соответствующего обратного наложения (алиасинга) во временной области, выполняемого AMR-WB+, может быть сохранен стандартный алиасинг во временной области, обеспечиваемый алгоритмом ААС.

Окна плавного перехода, не прошедшие предварительное сжатие наложением (алиасинг), имеют тот недостаток, что их кодирование не эффективно, поскольку они генерируют некритически дискретизированные коэффициенты кодирования, внося избыточность (оверхед) в информацию для кодирования. TDA (= Time Domain Aliasing= сложение наложением во временной области) может быть введено в декодер временной области, как, например, в WO 2008/071353, для компенсации такой избыточности (оверхеда), однако применимо только, если разбивка на фреймы (кадрирование) в обоих временных кодерах синхронизирована. Иначе, эффективность кодирования вновь снизится. Более того, TDA со стороны декодера может быть проблематичным, особенно в исходной точке кодера временной области. После потенциального возврата в исходное состояние кодер или декодер временной области, как правило, дают всплеск шума квантования из-за пустоты блоков памяти кодера или декодера временной области, где было применено, допустим, LPC (= кодирование с линейным предсказанием). Декодеру потребуется определенное время для вхождения в постоянный или стабильный режим длительного обеспечения более однородного шума квантования. Подобный всплеск является нежелательным искажением, поскольку различим на слух.

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

Цель достигается с применением кодера по пункту 1 формулы изобретения и способов кодирования по пункту 16, аудиодекодера по пункту 18 и способа аудиодекодирования по пункту 32.

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

Другим выводом из настоящего изобретения является то, что на стороне декодера могут быть применены TDAC и окна перехода наплывом без сжатия наложения (алиасинга).

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

Версии реализации предлагаемого изобретения будут далее детализированы в соответствии с прилагаемыми фигурами, где на фиг.1А дана блок-схема конструкции аудиокодера; на фиг.1В дана блок-схема конструкции аудиодекодера; на фиг.2a-2j даны уравнения МДКП/ОМДКП; на фиг.3 изображена схема модифицированного способа кадрирования; на фиг.4А показан псевдопериодический сигнал во временной области; на фиг.4В показан вокализованный сигнал в частотной области; на фиг.5А показан шумоподобный сигнал во временной области; на фиг.5В показан невокализованный сигнал в частотной области; на фиг.6 дана схема выполнения анализа через синтез с применением алгоритма CELP; на фиг.7 дана блок-схема, иллюстрирующая стадию применения LPC-анализа; на фиг.8А приведен пример применения модифицированного стопового окна; на фиг.8В приведен пример применения модифицированного стартстопного окна; на фиг.9 показан основной вид оконной функции; на фиг.10 дан более детализированный вид оконной функции; на фиг.11 приведен пример модифицированного стопового окна; на фиг.12 приведен пример различных зон или участков перекрытия; на фиг.13 приведен пример модифицированного стартового окна; на фиг.14 проиллюстрировано приложение модифицированного стопового окна без сложения наложением (алиасинга) для кодера; на фиг.15 проиллюстрировано приложение модифицированного стопового окна без сложения наложением (алиасинга) для декодера; на фиг.16 приведены блок-схемы действия стандартных кодера и декодера; на фиг.17А, 17В приведены блок-схемы алгоритма кодирования LPC для вокализованных и невокализованных сигналов; на фиг.18 отображено окно перехода наплывом известного уровня техники; на фиг.19 отображена последовательность окон AMR-WB+ известного уровня техники; на фиг.20 показаны оконные функции, применяемые в AMR-WB+ для переключения между ACELP и ТСХ; на фиг.21 приведен пример последовательности аудиофреймов, кодируемых в разных областях; фиг.22 иллюстрирует традиционный подход к аудиодекодированию в разных областях; и фиг.23 иллюстрирует алгоритм удаления наложения (алиасинга) во временной области.

На фиг.1А дана блок-схема аудиокодера 100, предназначенного для кодирования дискретов аудиосигнала. Аудиокодер 100 имеет в своем составе первый кодер с временным наложением 110, предназначенный для кодирования дискретов аудиосигнала в первой области кодирования, в инструментарий которого включены первое правило кадрирования (деления на фреймы), стартовое окно и стоповое окно. Кроме того, аудиокодер 100 имеет в своем составе второй кодер 120, предназначенный для кодирования дискретов аудиосигнала во второй области кодирования. В инструментарий второго кодера 120 включены число аудиоотсчетов, задаваемое форматом кадра (фрейма), и число аудиоотсчетов в интервале стабилизации режима кодирования. Длительность такого интервала «прогрева» перед кодированием может быть задана предварительно, может зависеть от отсчетов аудиосигнала, от фрейма аудиоотсчетов или от последовательности аудиосигналов. Второй кодер 120 имеет на вооружении другое, второе, правило кадрирования. Суперфрейм второго кодера 120 является кодированным представлением ряда последовательных во времени аудиоотсчетов, число которых задается форматом фрейма.

Далее, аудиокодер 100 имеет в своем составе контроллер 130, коммутирующий между первым кодером с временным наложением 110 и вторым кодером 120 в зависимости от характеристики аудиоотсчетов и выполняющий переход ко второму правилу кадрирования при коммутации от первого кодера с временным наложением 110 ко второму кодеру 120 или корректирующий стартовое окно или стоповое окно первого кодера с временным наложением 110 с сохранением второго правила кадрирования без изменений.

В реализациях контроллер 130 может быть настроен на определение характеристики отсчетов аудиосигнала по входным аудиоотсчетам или по выходным данным первого кодера с временным наложением 110 или второго кодера 120. На фиг.1А пунктиром показан канал, по которому входные аудиоотсчеты могут быть переданы на контроллер 130. Более подробно механизм коммутирования будет рассмотрен ниже.

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

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

Следует заметить, что возможно использование различных обозначений, однако в первом кодере с временным наложением 110 применены маркеры «окно старта» или «окно останова». Здесь и далее принято, что в первом кодере с временным наложением 110 стартовое окно вводится до переключения на второй кодер 120, а при обратном переключении со второго кодера 120 на первый кодер с временным наложением 110 вводится стоповое окно. Являясь универсальным, данное положение справедливо также и в отношении второго кодера 120. Во избежание разночтений здесь термины «старт» (стартовое) и «стоп» (стоповое) обозначают окна, маркируемые на стороне первого кодера 110 перед активацией и после останова второго кодера 120.

При техническом воплощении частотный преобразователь в составе первого кодера с временным наложением 110 может быть настроен на преобразование первого фрейма в частотную область на основании МДКП, а первый кодер с временным наложением 110 может быть настроен на адаптацию формата МДКП к стартстопным или модифицированным стартстопным окнам. Частные моменты МДКП и его форматы будут рассмотрены ниже.

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

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

Контроллер 130 может активировать второй кодер 120 так, чтобы массив аудиоотсчетов времени стабилизации режима кодирования перекрывал безалиасинговый сегмент стартового окна первого кодера с временным наложением 110, а следующий фрейм второго кодера 120 перекрывал стоповое окно в секторе наложения. Иначе говоря, контроллер 130 может согласовывать работу кодеров таким образом, что в период вхождения в готовность к кодированию второго кодера 120 открыт доступ к аудиоотсчетам без наложения (без алиасинга) первого кодера 110, а с началом поступления от первого кодера с временным наложением 110 только аудиоотсчетов с наложением время прогрева второго кодера 120 кончается, и начинается регулярный вывод кодированных аудиоотсчетов вторым кодером 120.

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

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

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

В реализациях первый кодер с временным наложением 110 может включать в себя кодер ААС в соответствии с международным стандартом «Generic Coding of Moving Pictures and Associated Audio: Advanced Audio Coding, International Standard 13818-7, ISO/IEC JTC1/SC29/WG11 Moving Pictures Expert Group, 1997» [Универсальное кодирование движущегося изображения и связанного с ним звука: Усовершенствованное аудиокодирование, международный стандарт 13818-7, ISO/IEC JTC1/SC29/WG11, Экспертная группа по движущимся изображениям (MPEG), 1997].

В реализациях второй кодер 120 может включать в себя кодер AMR-WB+ в соответствии с 3GPP, Technical Specification 26.290, Version 6.3.0 as of June 2005 «Audio Codec Processing Function; Extended Adaptive Multi-Rate-Wide Band Codec; Transcoding Functions», release 6 [„Проект Партнерства третьего поколения"), технические требования №26.290, версия 6.3.0, июнь 2005 «Рабочие функции аудиокодека; Расширенный адаптивный многоскоростной широкополосный кодек (AMR-WB); Функции транскодирования», выпуск 6].

Контроллер 130 может модифицировать правила кадрирования AMR или AMR-WB+, в результате чего первый суперфрейм AMR будет состоять из пяти фреймов AMR, в то время как согласно вышеуказанному техническому условию суперфрейм состоит из четырех стандартных фреймов AMR, ср.: фиг.4, таблица 10 на стр.18 и фиг.5 на стр.20 названного ТУ. Как будет показано ниже, контроллер 130 может вводить дополнительный фрейм в суперфрейм AMR. Следует отметить, что суперфрейм может быть модифицирован путем добавления фрейма в начало или в конец любого суперфрейма, то есть правила кадрирования могут быть применены с конца суперфрейма.

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

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

Далее, аудиодекодер 150 имеет в своем составе контроллер 180, коммутирующий между первым декодером сигнала с временным наложением 160 и вторым декодером 170 на основании индикации в закодированном фрейме аудиоотсчетов, корректирующий второе правило кадрирования в ответ