УСТРОЙСТВО АУДИО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ДЛЯ КОДИРОВАНИЯ ФРЕЙМОВ, ПРЕДСТАВЛЕННЫХ В ВИДЕ ВЫБОРОК ЗВУКОВЫХ СИГНАЛОВ
AUDIO ENCODER AND AUDIO DECODER FOR ENCODING FRAMES PRESENTED IN FORM OF AUDIO SIGNAL SAMPLES

Настоящее изобретение относится к области аудио кодирования/декодирования, более конкретно к способам кодирования звука с использованием нескольких доменов кодирования.
В технике кодирования известны схемы кодирования в частотной области, такие как МР3 или ААС. Эти кодировщики в частотной области основаны на преобразовании «временная область»/«частотная область», с последующим этапом дискретизации, в котором ошибка дискретизации управляется с помощью информации из психоакустического модуля и этапом кодирования, в котором дискретные спектральные коэффициенты и соответствующая дополнительная информация позволяют выполнить кодировку энтропии с помощью кодовой таблицы.
С другой стороны существуют кодировщики, которые очень хорошо подходят для обработки речи, такие как AMR-WB+, как описано в 3GPP TS 26,290. Такие схемы кодирования речи выполняют LP (LP = Линейное Предсказание) фильтрацию сигнала во временной области. Такая LP фильтрация получается на основе анализа линейного предсказания входного сигнала во временной области. Результирующие коэффициенты LP фильтрации затем дискретизируются/кодируются и передаются в виде дополнительной информации. Процесс известен как LPC (LPC = кодирование линейного предсказания). На выходе фильтра разностный сигнал прогнозирования или сигнал ошибки предсказания, который также известен как сигнал возбуждения, кодируется с помощью этапа анализа-синтеза ACELP кодировщика или, наоборот, кодируется с помощью кодировщика преобразования, в котором используется преобразование Фурье с перекрытием. Выбор между ACELP кодированием и преобразованием закодированного возбуждения, которое также называют ТСХ, кодирование производится с использованием алгоритма с замкнутым или открытым циклом.
Схемы кодирования звука в частотной области, такие как высоко эффективная схема кодирования ААС, сочетают в себе схемы кодирования ААС и метод восстановления спектрального диапазона, могут быть объединены с инструментами стерео или многоканального кодирования, которые известны под термином "MPEG среда".
С другой стороны, речевые кодировщики, такие как AMR-WB+, также имеют этап усиления высоких частот и стерео канал.
Схемы кодирования в частотной области выгодны тем, что они позволяют получить высокое качество при низком битрейтинге [низкой частоте дискретизации] для музыкальных сигналов. Однако проблематично получить качественные речевые сигналы при низком битрейтинге. Схемы кодирования речи позволяют получить высокое качество для речевых сигналов даже при низком битрейтинге, и дают низкое качество для музыкальных сигналов при низком битрейтинге.
Схемы кодирования в частотной области часто используют так называемые MDCT (MDCT = Улучшенное дискретное косинусное преобразование). MDCT первоначально была описана в J. Princen, A. Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation", IEEE Trans. ASSP, ASSP-34(5):1153-1161, 1986., IEEE Trans. ASSP, ASSP-34 (5):1153-1161, 1986. MDCT или набор фильтров MDCT широко используется в современных и эффективных аудио кодировщиках. Этот вид обработки сигнала обеспечивает следующие преимущества: Плавный кроссфейд [переход] между блоками обработки: Даже если сигнал в каждом блоке обработки изменяется по-разному (например, из-за дискретизации спектральных коэффициентов), при этом не исчезают артефакты [отклонения, искажения], связанные с резкими переходами от блока к блоку, происходящими из-за перекрытия окон/ [либо] дополнительной операции. Критический момент [MDCT]: число спектральных значений на выходе блока фильтров равно числу входных значений временных областей на входе [блока фильтров] и при этом должны передаваться дополнительные значения.
MDCT блок фильтров обеспечивает высокую частотную избирательность и кодирование усиления.
Эти полезные свойства достигаются за счет использования метода исключения наложения во временной области. Исключение наложения во временной области выполняет синтез свертки перекрытия двух сигналов соседних окон. Если между этапами анализа и синтеза MDCT не применяется дискретизация, получается качественное восстановление исходного сигнала. Однако, MDCT используется для кодирования, которое специально адаптировано для музыкальных сигналов. Такие схемы кодирования в частотной области, как отмечалось выше, снижают качество речевых сигналов при низкой скорости передачи, в то время как специально адаптированные кодировщики речи имеют более высокое качество при сопоставимой скорости передачи или даже имеют значительно более низкие скорости передачи данных для такого же качества по сравнению со схемами кодирования в частотной области. Методы кодирования речи, такие как AMR-WB+ (AMR-WB+ = адаптивный многоскоростной широкополосный) кодировщик, как это определено в технических характеристиках «Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec», 3GPP TS 26.290 V6.3.0, 2005-06, [методы кодирования речи] не используют MDCT и, следовательно, не могут использовать никакие преимущества из превосходных свойств MDCT которые, в частности, с одной стороны, опираются на критически отобранный процесс, и с другой стороны, используют переход от одного блока к другому.
Таким образом, переход от одного блока к другому достигается с помощью MDCT без потерь в скорости передачи данных и, следовательно, критический момент MDCT еще не возникает в речевых кодировщиках. Можно было бы объединить речевые кодировщики и аудио кодировщики в пределах одной гибридной схемы кодирования, но существует еще проблема переключения из одного режима кодировки в другой при низкой скорости передачи данных и с высоким качеством.
Обычные подходы к кодированию звука обычно предназначаются для начала звукового файла или для связи. Использование этих традиционных подходов, фильтрующих структур, таких как фильтров предсказания, позволяет достигнуть стационарного состояния в определенное время от начала процедуры кодирования или декодирования. Однако для включения системы кодирования звука, например, с одной стороны, с использованием преобразования на основе кодирования и, с другой стороны, [с использованием] кодирования речи в соответствии с предварительным анализом на входе, соответствующие структуры фильтров не будут активными и постоянно обновляющимися. Например, речевые кодировщики в течение короткого периода времени могут многократно использоваться [загружаться]. После перезагрузки снова начинается период запуска, внутренние состояния обнуляются. Например, необходимая продолжительность достижения устойчивого состояния для кодировщика речи может иметь решающее значение, особенно для качества переходов. Обычные подходы, такие как, например, AMR-WB+ "с техническими характеристиками Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec", 3GPP TS 26,290 V6.3.0, 2005-06, используются для общего сброса кодировщика речи при переходе или переключении между преобразованием основного кодировщика и кодировщиком речи. AMR-WB+ оптимизирован с условием, что он запускается только один раз, когда сигнал утрачивается в предположении, что нет промежуточных остановок или сбросов. Следовательно, вся память кодировщика может быть обновлена для фрейма с использованием самого фрейма. В случае, когда AMR-WB+ используется в середине сигнала, вызывается сброс, и вся память, используемая для кодирования или декодирования, обнуляется. Таким образом, обычные подходы имеют проблему в том, что используются слишком длительное время до достижения устойчивого состояния кодировщика речи, и, кроме того, вносят сильные искажения в нестабильность фазы.
Еще одним недостатком обычных подходов является то, что они используют большие сегменты перекрытия при переключении областей кодирования, внося перекрытия, которые дают неблагоприятные эффекты для эффективности кодирования.
Объектом настоящего изобретения является улучшение концепции кодирования звука с использованием переключения областей кодирования.
Это достигается за счет аудио кодировщика и в соответствии с п.1, методом для аудио кодирования в соответствии с п.7, устройстве аудио декодирования по п.8, методом аудио декодирования в соответствии с п.14, и компьютерной программой по п.15. Настоящее изобретение основано на предположении, что вышеупомянутые проблемы могут быть решены в устройстве декодирования, путем рассмотрения информации о состоянии фильтра после сброса. Например, после сброса, когда состояние определенного фильтра обнуляется, процедура запуска или перевода фильтра в рабочее состояние может быть сокращена, если фильтр начинает работу не с этапа включения, т.е. когда все состояния или память установлены в ноль, а [начинает работу] с информации о некотором состоянии, начиная с которого может быть реализован быстрый запуск или малый период до начала работы.
Следующее положение в изобретении заключается в том, что указанная выше информация о состоянии переключения может быть сгенерирована в устройстве кодирования или декодирования. Например, при выборе между подходом к кодированию на основе предсказания и на основе преобразования, дополнительная информация может быть предоставлена до переключения для того, чтобы устройство декодирования начало использовать фильтры синтеза предсказания в устойчивом состоянии, прежде чем использовать результаты их [фильтров] работы.
Другими словами, это раскрытие настоящего изобретения, которое особенно важно при переключении между областью преобразования и областью предсказания при переключении устройства аудио кодирования, дополнительная информация о состоянии фильтра незадолго до фактического переключения на область предсказания, может исключить проблему генерации артефактов [искажений] переключения.
Другой аспект изобретения состоит в том, что такая информация о переключении могут быть передана в устройство декодирования только при анализе его выхода незадолго до выполнения фактического переключения, и основной процесс запуска кодировщика происходит на основе обработки выхода и определения информации о фильтре или состояния памяти незадолго до переключения. В некоторых вариантах для этого можно использовать обычные кодировщики и уменьшение проблем артефактов при переключении будет связано исключительно с работой устройства декодирования. Принимая во внимание вышесказанную информацию, например, фильтры предсказания могут находиться в рабочем состоянии уже до фактического переключения, т.е. путем анализа выхода области преобразования соответствующего устройства декодирования. Воплощения настоящего изобретения будут конкретизированы с использованием сопровождающих рисунков, на которых:
фиг.1 показывает вариант устройства аудио кодирования;
на фиг.2 показан вариант устройства аудио декодирования;
фиг.3 показывает форму окна, используемого в воплощении;
фиг.4а и 4b показывают MDCT и временную область наложения;
фиг.5 показана блок-схема воплощения для отмены временной области наложения;
фиг.6a-6g иллюстрируют сигналы, обрабатываемые для отмены наложения временной области в воплощении;
фиг.7a-7g иллюстрируют цепь обработки сигналов для отмены наложения временной области в воплощении, в котором используется устройство декодирования линейного предсказания;
фиг.8a-8g показывает цепь обработки сигнала в варианте с отменой наложения временной области; и
фиг.9а и 9b показывают обработку сигнала в устройстве кодирования и декодирования в вариантах.
Фиг.1 показан вариант устройства аудио кодирования 100. Устройство аудио кодирования 100 предназначено для кодирования фреймов представленного в виде выборок звукового сигнала для получения закодированных фреймов, в которых фрейм состоит из нескольких аудио выборок во временной области. Воплощение устройства аудио кодирования включает в себя этап анализа при кодировании с предсказанием 110 для определения информации о коэффициентах фильтра синтеза и информацию о фрейме предсказания области на основе фрейма из аудио выборок. В вариантах воплощения фрейм предсказания области может соответствовать фрейму возбуждения или отфильтрованной версии фрейма возбуждения. Впоследствии в пего может быть включено кодирование области предсказания при кодировании информации о коэффициентах фильтра синтеза и информация о фрейме области предсказания па основе фрейма из аудио выборок. Кроме того, воплощение устройства аудио кодирования 100 содержит преобразователь области 120 для преобразования фрейма из аудио выборок частотной области для получения спектра фрейма. Впоследствии он может использоваться для преобразования кодирования области, когда кодируется фрейм спектра. Кроме того, воплощение устройства аудио кодирования 100 содержит вычислитель кодирования области 130 для принятия решения, будут закодированные данные для фрейма основаны на информации о коэффициентах и на информации о фрейме области предсказания, либо [данные для фрейма основаны] на спектре фрейма. Воплощение устройства аудио кодирования 100 содержит контроллер 140 для определения информации о коэффициенте переключения, когда вычислитель кодирования области определяет, что закодированные данные текущего фрейма на основе информации о коэффициентах и информации о фрейме области предсказания, причем закодированные данные предыдущего фрейма кодируются на основе предыдущего спектра фрейма.
Воплощение устройства аудио кодирования 100 дополнительно содержит кодировщик избыточности сокращения 150 для кодирования информации о фрейме области предсказания, информацию о коэффициентах, информацию о коэффициенте области переключения и/или о фрейме спектра. Другими словами, вычислитель области кодирования 130 определяет область кодирования, в то время как контроллер 140 предоставляет информацию о коэффициенте переключения при переключении от области преобразования к области предсказания.
На фиг.1 некоторые соединения отображается ломаными линиями. Они указывают на различные варианты в воплощениях. Например, информация о коэффициентах переключения может быть просто получена при постоянной работе стадии анализа кодирования предсказания 110 так, что информация о коэффициентах и информация о фреймах области предсказания всегда имеется на соответствующем выходе. Затем контроллер 140 может указать избыточность сокращения в устройстве кодирования 150, когда кодирование выхода из стадии анализа кодирования предсказания 110 и, когда кодирование выходного спектра фрейма в преобразователе частотной области 120 после решения о переключении выполняется вычислителем области кодирования 130. Поэтому контроллер 140 может обнаружить избыточность сокращения в кодировщике избыточности сокращения 150 и закодировать информацию о коэффициенте переключения для переключения от области преобразования к области предсказания.
Если происходит переключение, контроллер 140 может указывать на избыточность сокращения в устройстве кодирования 150, чтобы закодировать перекрывающийся фрейм, в течение предыдущего фрейма избыточность сокращения в устройстве кодирования 150 может управляться контроллером 140 таким образом, чтобы поток битов содержал как предыдущий фрейм, так и информацию о коэффициентах, информацию о фрейме области предсказания, а также спектр фрейма. Иными словами, в вариантах воплощений, контроллер может управлять избыточностью сокращения в устройстве кодирования 150 таким образом, что закодированные фреймы включают описанную выше информацию. В других вариантах, вычислитель области кодирования 130 может принять решение об изменении кодировки области и выполнить переключение от стадии анализа кодирования предсказания 110 к преобразователю частотной области 120.
В этих вариантах контроллер 140 может выполнять некоторый внутренний анализ, для того, чтобы получить коэффициенты переключения. В воплощениях информация о коэффициенте переключении может соответствовать информации о состояниях фильтра, адаптированному содержанию кодовой таблицы, состоянию памяти, информацию о сигнале возбуждения, LPC коэффициентов и т.д.
Информация о коэффициенте переключения может содержать любую информацию, которая позволяет перевести в рабочее состояние или инициализировать стадию синтеза предсказания 220.
Вычислитель области кодирования 130 может определить свое решение для переключения области кодировки на основе фреймов или выборок аудио сигналов, которые также показаны пунктирной линией на фиг 1. В других вариантах, это решение может быть сделано на основе коэффициентов информации, информации о прогнозировании фрейма области, и/или фрейма спектра.
Вообще, возможные варианты не ограничиваются способом, который воплощается в вычислителе области кодирования 130 для изменения области кодирования, причем, наиболее важно, что изменение области кодирования определяется вычислителем области кодирования 130, во время работы которого возникают описанные выше проблемы. В некоторых вариантах воплощений устройство аудио кодирования 100 согласовывается таким образом, что описанные выше существенные недостатки, по крайней мере, частично компенсированы. В вариантах воплощений, вычислитель области кодирования 130 может быть адаптирован к принятию решения на основе свойств сигнала или аудио фреймов. Как уже известно, свойства звукового сигнала могут определять эффективность кодирования, т.е. для некоторых характеристик звукового сигнала, можно с большей эффективностью использовать преобразование на основе кодирования, для других характеристик может быть более эффективно использование предсказание области кодирования. В некоторых вариантах, вычислитель области кодирования 130 может быть адаптирован для принятия решения об использовании преобразования на основе кодирования, когда сигнал имеет смешанный или голосовой тип. Если сигнал смешанного или голосового типа, вычислитель области кодирования 130 может быть адаптирован для принятия решения об использовании фрейма области предсказания, который используется при кодировании.
В соответствии с ломаными линиями и стрелками на фиг.1 контроллер 140 может быть обеспечен информацией о коэффициентах, информацией о фрейме области предсказания и спектре фрейма, а также контроллер 140 может быть адаптирован для определения информации о коэффициенте переключения на основе вышеуказанной информации. В других вариантах, контроллер 140 может предоставлять информацию для этапа анализа при кодировании с предсказанием ПО, чтобы определить коэффициенты переключения. В одних вариантах воплощений коэффициенты переключения могут соответствовать информации о коэффициентах, а в других вариантах, они могут определяться различными способами.
На фиг.2 показан вариант устройства аудио декодирования 200. Воплощение устройства аудио декодирования 200 предназначено для декодирования закодированных фреймов для получения фреймов выборок звукового сигнала, причем фрейм состоит из нескольких аудио выборок во временной области. Воплощение устройства аудио декодирования 200 включает декодеровщик получения избыточности 210 для декодирования закодированных фреймов и получения информации о фрейме области предсказания, информации о коэффициентах для фильтра синтеза и/или спектре фрейма. Кроме того, воплощение устройства аудио декодирования 200 включает в себя этап синтеза предсказания 220 для определения фрейма предсказания аудио выборок на основе информации о коэффициентах для фильтра синтеза и информации о фрейме области предсказания, и преобразователь временной области 230 для преобразования фрейма спектра во временную область и получения преобразованного фрейма из спектра фрейма. Воплощение устройства аудио декодирования 200 дополнительно содержит сумматор 240 для объединения преобразованного фрейма и фрейма предсказания и получения фреймов представленного в виде выборок звукового сигнала.
Кроме того, воплощение устройства аудио декодирования 200 включает в себя контроллер 250 для управления процессом переключения. Процесс переключения осуществляется эффективно, когда предыдущий фрейм основан на преобразованном фрейме, а текущий фрейме основан на фрейме предсказания. Контроллер 250 позволяет получить коэффициенты переключения стадии синтеза предсказания 220 для подготовки инициализации или перевода в рабочее состояние стадии синтеза предсказания 220, так что этап синтеза предсказания 220 инициализируется, когда осуществляется процесс перехода.
В соответствии с пунктирными стрелками на фиг.2 контроллер 250 может быть адаптирован для управления частями или всеми компонентами устройства аудио декодирования 200. Контроллер 250 может быть, например, адаптирован для координации получения избыточности в устройстве аудио декодирования 210, с целью получения дополнительной информации о коэффициентах перехода или информации о предыдущем фрейме области предсказания и т.д. В других вариантах, контроллер 250 может быть адаптирован для получения вышеуказанной информации на самих коэффициентов переключения, например, путем получения декодированных фреймов сумматором 240 и проведением LP-анализа на выходе сумматора 240. Контроллер 250 может быть адаптирован для координации или управления стадии синтеза предсказания 220 и преобразования временной области 230 в целях создания описанных выше фреймов перекрытия, синхронизации, анализа временной области и отмены анализа временной области и т.д.
Далее рассматривается LPC, основанный на кодировании области, включающем предсказатели и внутренние фильтры, которым во время запуска требуется определенное время для достижения состояния, при котором обеспечивается точный синтез фильтра. Другими словами, в воплощениях устройство аудио декодирования 100 стадии анализа кодирования предсказания 110 может быть адаптировано для определения информации о коэффициентах фильтра синтеза и информации о фрейме области предсказания на основе анализа LPC.
В вариантах устройство аудио декодирования 200 стадии синтеза предсказания 220 может быть адаптировано для определения предсказанных фреймов с помощью фильтра синтеза ЛКП.
Очевидно, что использование прямоугольного окна в начале первого LPD (LPD = домена линейного предсказания) фрейма и сброс кодирования на основе LPD в нулевое состояние, не обеспечивают идеальное выполнение таких переходов, потому что будет недостаточно времени при LPD кодировании для создания хорошего сигнала, в который будет введено блокирование артефактов.
В вариантах исполнения для управления переходом от не- LPD режима к режиму LPD, можно использовать перекрытия окон. Иными словами, в вариантах устройства аудио кодирования 100, преобразователь частотной области 120 может быть адаптирован для преобразования фрейма аудио выборок на основе быстрого преобразования Фурье (FFT [БПФ] = быстрое преобразование Фурье), или MDCT (MDCT = Модифицированное Дискретное Косинусное Преобразование). В вариантах исполнения устройство аудио декодирования 200, преобразователь временной области 230 могут быть адаптированы для преобразования фрейма спектра временной области на основе обратного БПФ (IFFT = обратное БПФ), или [на основе] обратного MDCT (IMDCT=обратное MDCT).
При этом варианты могут работать в не-LPD режиме, который может быть использован в качестве основного режима преобразования, или [варианты могут работать] в режиме LPD, который также используется в качестве анализа и синтеза предсказания. Вообще, варианты могут использовать перекрывающиеся окна, особенно при использовании MDCT и IMDCT. Иными словами, в не-LPD режиме может быть использовано перекрытие окон с временной областью наложения (TDA = Наложение во Временной Области). При этом при переключении с не-LPD режима в режим LPD, наложение во временной области в последнем не-LPD фрейме может быть компенсировано. Воплощения могут ввести временную область наложения в исходный сигнал перед выполнением LPD кодирования, однако, наложение [алиасинг] временной области может быть не совместимо с прогнозом, основанном на кодировании домена времени, таким как ACELP (ACELP = Возбуждение Линейного Предсказания Алгебраической Кодовой Таблицы). Воплощения могут ввести искусственное сглаживание в начале сегмента LPD и применить отмену домена времени так же, как для переходов от ACELP к не-LPD. Иными словами, в вариантах воплощения анализ и синтез предсказания могут быть основаны на ACELP.
В некоторых вариантах искусственное сглаживание производится на основе сигнала синтеза вместо оригинального сигнала. Так как сигнал синтеза является неточным, особенно на этапе запуска LPD, эти воплощения могут несколько компенсировать блок артефактов путем введения искусственных TDA, однако, введение искусственных TDA может внести дополнительную погрешность наряду с сокращением артефактов.
Фиг.3 иллюстрирует процесс перехода в одном из воплощений. В варианте на фиг.3, предполагается, что процесс перехода переключается с не-LPD режима, например режима MDCT, на режим LPD. Как указано на фиг.3, общая длина окна считается равной 2048 выборкам. На левой части фиг.3, показано расширение фронта MDCT окна на все 512 выборок. В процессах MDCT и IMDCT, эти 512 выборок из фронта окна MDCT будет складываться со следующими 512 выборками, которые на фиг.3 предназначены для MDCT ядра, включая центральные 1024 выборки в полном окне 2048- выборок. Далее будет более подробно объяснено, что использование процессов MDCT и IMDCT во временной области наложения не является критическим, когда предыдущий фрейм также был закодирован в не-LPD режиме. Это одно из выгодных преимуществ MDCT определяется тем, что сглаживание временной области может быть по своей сути компенсировано соответствующим последовательным перекрытием MDCT окон.
Сейчас рассмотрим правую часть MDCT окна. При переключении в режим LPD такая отмена временной области наложения автоматически не осуществляется, и, начиная с первого фрейма, декодированного в режиме LPD, наложение временной области для компенсации с предыдущим MDCT фреймом автоматически не используется. Таким образом, в области перекрытия, варианты могут использовать искусственное сглаживание домена времени, как это показано на фиг.3 в области из 128 выборок с центром в конце MDCT окна ядра, т.е. с центром после 1536 выборок. Другими словами, на фиг.3 предполагается, что искусственное сглаживание временной области введено в начале, т.е. В этом варианте первые 128 выборок, из фрейма режима LPD, введены в конец последнего фрейма MDCT для компенсации с временной областью наложения.
В предпочтительном варианте MDCT применяется для получения критической выборки для перехода от операции кодирования в одной области к операции кодирования в другой отличающейся области, т.е. осуществляется в воплощениях преобразователя области 120 и/или преобразователя временной области 230. Однако во всех других преобразователях [MDCT] также может быть применено. Поскольку, однако, MDCT является предпочтительным вариантом, MDCT будет обсуждаться более подробно на фиг.4а и фиг.4b.
На фиг.4а показано окно 470, которое имеет возрастающий участок слева и уменьшающийся участок справа, где можно разделить окно на четыре части: A, B, C и D. Окно 470 имеет, как видно из рисунка, показана ситуация только с наложением участков на 50% области перекрытия/добавления. В частности, первая часть с выборками от нуля до N соответствует второй части предыдущего окна 469, а вторая половина, располагающаяся между выборками от N до 2N в окне 470 перекрывается с первым участком окна 471, который в показанном воплощении является окном i+1, а окно 470 является окном с номером i.
R
R
Операции MDCT можно рассматривать как каскадирование операций: оконной, свертки, операции последующего преобразования и, в частности, с последующим DCT (DCT = дискретное косинусное преобразование), где применяется операция DCT IV типа (DCT-IV). В частности, операция свертки получена путем вычисления первой части N/2 складываемого блока как -c-d, и расчета второй части N/2 складывающихся на выходе выборок, так и a-b, где R является обратным оператором. Таким образом, результаты операции свертки представлены в N выходных значениях, в то время как было получено 2N входных значений.
Соответствующая операция развертки в устройстве декодирования проиллюстрирована в форме уравнения на фиг.4а.
a
R
Как правило, MDCT операция с результатами в виде (, b, c, d) в точности те же значения на выходе, как и DCT-IV с результатом (-CR-d, a-b), что показано на фиг.4а.
Соответственно с использованием операции развертки результаты операции IMDCT на выходе операции развертки передаются на выход обратного преобразования DCT-IV. Таким образом, время наложения определяется путем выполнения операции свертки в устройстве кодирования. Затем, результат оконной операции и операции свертки преобразуется в частотную область с использованием блока преобразования DCT-IV, для которого требуется N входных значений.
В устройстве декодирования, N входных значений преобразуются обратно во временную область с использованием DCT-IV операции, и выход этой операции обратного преобразования, таким образом, превращается в операцию развертки для получения 2N значений на выходе, которые, однако, являются сглаженными выходными значениями.
Для исключения сглаживания, которое было введено на операции свертки и которое все еще сохраняется после операции развертки, операция перекрытия/свертки может осуществить отмену наложения во временной области.
Поэтому, когда результат операции развертки складывается с предыдущим результатом IMDCT в перекрывающихся участках, обратные условия отмены получаются просто из уравнения в нижней части фиг.4а, например, b и d, таким образом, восстанавливая исходные данные.
Для того чтобы получить TDAC для оконного MDCT, существует требование, известное как "Princen-Bradley"-состояние, что означает, что окно коэффициентов увеличивается на 2 для соответствующих выборок, которые объединены во временной области компенсатором наложения так, что результат находится в блоке (1) для каждой выборки.
На фиг.4а показана последовательность из окна, которая, например, применяется в AAC-MDCT (ААС = Улучшенное Аудио Кодирование), для длинных или коротких окон, фиг.4, b иллюстрирует различные функции окна, которые имеют, помимо участков наложения, также и участок без сглаживания.
На фиг.4, b показана функция анализа окна 472, имеющая нулевой участок a1 и d2, участок наложения 472a, 472c, и участок без наложения 472c.
k
k
k
Участок наложения 472c протяженностью c2, d1 имеет соответствующий участок наложения последующего окна 473, обозначенный 473b. Соответственно окно 473 дополнительно включает в себя участок без наложения 473a. Из сравнения фиг.4, b с фиг.4a ясно, что в связи с тем, что вследствие того, что есть нулевые участки a1, d1, для окна 472 или c1 для окна 473, оба окна получают участок без наложения, и функция окна в участке наложения круче, чем на фиг.4а. В связи с этим, участок наложения 472a соответствует L, участок без наложения 472 с соответствует участку M, и участок наложения 472b соответствует R на фиг.4b.
Когда операция свертки применяется к блоку выборок, помещенных в окно 472, получается ситуация, показанная на фиг.4b. Левый участок продляется до первых N/4 складываемых выборок. Вторая часть протяженностью N/2 выборок свободна от наложения, поскольку операция свертки применяется к участкам окна, имеющим нулевые значения, и последние N/4 выборок, опять же, складываются. В связи с операцией свертки, количество выходных значений операции свертки равно N, а на входе было 2N значений, хотя, на самом деле, N/2 значений в этом варианте были установлены в нуль из-за операции в окне с использованием окна 472.
Далее, DCT-IV применяется к результату операции свертки, но, что важно, участок наложения 472, который при переходе из одного режима кодирования в другой режим кодирования обрабатывается способом, отличающимся от такового для участка без наложения, хотя обе части принадлежат одному блоку выборок и, что немаловажно, вводятся в тот же блок операции преобразования.
Кроме того, фиг.4b показывает последовательности значений в окнах 472, 473, 474, где окно 473 является окном перехода из ситуации, когда существуют участок без наложения к ситуации, когда существуют только участки наложения. Получается асимметрично сформированная функция окна. Правый участок окна 473 похожа на правый участок окна в последовательности окна на фиг.4a, в то время как левый участок имеет участок без наложения и соответствующий нулевой участок (С1). Таким образом, фиг.4, b иллюстрирует переход от MDCT-TCX в ААС, когда ААС выполняется с помощью полностью перекрывающихся окон или, наоборот, [рисунок] иллюстрирует переход от ААС в MDCT-TCX, когда окно 474 содержит блок ТСХ данных с полным перекрытием, что является регулярной операцией для MDCT-TCX с одной стороны, и MDCT-AAC с другой стороны, следовательно, нет никаких причин для переключения из одного режима в другой. Таким образом, окно 473 можно назвать "остановленным окном", которое, кроме того, имеет предпочтительную характеристику вследствие того, что длина этого окна совпадает с длиной, по крайней мере, одного соседнего окна так, что общая структура блока или граница растра сохраняется, когда блок настроен на такое же количество оконных коэффициентов, т.е., например, 2N выборок на фиг.4а или фиг.4b. Далее, методы искусственного наложения во временной области и отмены наложения во временной области будут описаны подробно. На фиг.5 показана блок-схема, которая может быть использована в воплощении, которое содержит цепь обработки сигнала. Рисунки с 6a по 6g и с 7a по 7g иллюстрируют выборки сигналов, причем рисунки с 6a по 6g иллюстрируют принцип процесса отмены наложения во временной области в предположении, что используется исходный сигнал, причем рисунки с 7a по 7g иллюстрируют выборки сигналов, которые определяются на основе предположения, что первый фрейм LPD получается после полной перезагрузки и без каких-либо адаптации.
k
k
k
Другими словами, фиг.5 иллюстрирует воплощение процесса введения искусственного наложения во временной области и отмены наложения во временной области для первого фрейма в режиме LPD в случае перехода от не-LPD режима в LPD режим. Фиг.5 показывает, что первое окно применяется для текущего фрейма LPD в блоке 510. Как показано на фиг.6а, 6b, и на фиг.7а, 7b, окно соответствует исчезновению соответствующих сигналов. Как показано на малом графике выше блока окон 510 на фиг.5, предполагается, что окно применяется к L выборкам. Операция в окне 510 соответствует операции свертки 520, в результате чего получается L/2 выборок. Результат операции свертки показан на фиг.6c и 7c. Видно, что в связи с сокращением числа выборок, есть нулевая область, продленная на L/2 выборок в начале соответствующих сигналов.
Оконные операции в блоке 510 и сложение в блоке 520 можно резюмировать как наложение во временной области, которое вводится через MDCT. Однако последующие эффекты свертки возникают при обратном преобразовании с помощью IMDCT. Эффекты, вызванные IMDCT, приведены на фиг.5 блоками 530 и 540, которые могут снова быть суммированы в обратным наложением во временной области. Как показано на фиг.5, при этом осуществляется развертка в блоке 530, что приводит к удвоению числа выборок, т.е. в результате будет Lk образцов. Соответствующие сигналы представлены на фиг.6d и 7d.
Из фиг.6d и 7d видно, что количество выборок было удвоено, и было задано время наложения. Операция развертки 530 вызывается другой оконной операцией 540, по мере прохождения сигналов. Результаты второго оконной операции 540 представлены на фиг.6e и 7e. Наконец, в течение искусственного [заданного] времени наложения сигналов, показанного на фиг.6e и 7e, происходит их наложение добавление к предыдущему фрейму, закодированному в не-LPD режиме, [фрейму] который показан блоком 550 на фиг.5, а соответствующие сигналы представлены на фиг.6f и 7f.
Иными словами, в воплощениях устройство аудио декодирования 200 и сумматор 240 могут быть адаптированы для выполнения функций блока 550 на фиг.5.
Результирующие сигналы показаны на фиг.6g и 7g. Подводя итог, в обоих случаях левая часть соответствующих фреймов обрабатывается в окне, что показано на фиг.6а, 6b, 7а, и 7b. Затем левая часть окна складывается, она показана на фиг.6с и 7с. После развертывания, см. 6d и 7d, применяется другая оконная операция, см. фиг.6e и 7e. На Фиг.6f и 7f показан фрейм текущего процесса, имеющий форму предыдущего не-LPD фрейма, а фиг.6g и 7g представляют результаты после операцией наложения и суммирования. Из рисунков с 6a по 6g видно, что высокое качество восстановления может быть достигнуто в воплощениях с применением искусственных TDA для LPD фреймов и использовании перекрытия и свертки с предыдущим фреймом. Однако, во втором случае, т.е. в случае, показанном на рисунках с 7a по 7g, восстановление не является совершенным. Как уже упоминалось выше, предполагается, что во втором случае, режим LPD был полностью сброшен, т.е. все состояния и память при LPC синтезе были установлены в нуль. Результат синтеза сигнала не был точным, начиная с первых выборок. Случай искусственного TDA с добавленным перекрытием результатов свертки приводит к искажениям и артефактам, большим, чем в идеальном восстановлении, ср. фиг.6g и 7g.
На фиг.6a-6g и 8a-8g показано сравнение случая использования исходного сигнала для искусственного наложения временной области и отменой искусственного наложения временной области, [сравнение] с другим случаем использования запуска сигнала LPD, однако, на рисунках с 8a по 8g предполагается, что начальный период LPD занимает больше времени, чем требуется на рисунках с 7a по 7g. Рисунки с 6a по 6g и с 8a по 8g иллюстрируют графики выбранных сигналов, к которым были применены те же операции, которые уже было объяснены на фиг.5.
Из сравнения фиг.6g и 8g, видно, что искажения и артефакты, вносимые в сигнал, показанные на фиг.8g, являются более значительными, чем на фиг.7g. Сигнал, показанный на фиг.8g, содержит много искажений в течение относительно длительного времени. Для сравнения, фиг.6g показывает идеальную реконструкцию [восстановление] при применении к исходному сигналу отмены наложения во временной области.
Воплощения настоящего изобретения могут ускорить период запуска, например, кодировщиков на основе LPD по сравнению с воплощением стадии анализа кодирования предсказания 110 и стадии синтеза предсказания 220 соответственно. Воплощения могут обновить все необходимые состояния и память, чтобы приблизить синтезированный сигнал как можно ближе к оригинальному сигналу, и уменьшить искажения, как показано на фиг.7g и 8g. Кроме того, в воплощения могут быть включены большие перекрытия и периоды свертки, которые возможны из-за улучшенного введения времени наложения во временной области и отмены наложения во временной области.
Как уже было описано выше, использование прямоугольного окна в начале первого или текущего фрейма LPD и сброс кодирования на основе LPD в нулевое состояние, не является идеальным вариантом для переходов. Искажения и артефакты могут возникнуть, так как может не хватить оставшегося времени для LPD кодировщика, чтобы создать хороший сигнал. Аналогичные соображения справедливы для настройки внутренних переменных состояния кодировщика для любых заданных начальных значений, так как устойчивое состояние такого кодировщика зависит от многих свойств сигнала, и время запуска из любого заранее заданного, но фиксированного начального состояния может быть долгим.
В вариантах воплощения устройство аудио кодирования 100, контроллер 140 могут быть адаптированы для определения информации о коэффициентах для фильтра синтеза и информации о фрейме области прогнозирования переключения на основе анализа LPC. Другими словами, варианты могут использовать прямоугольные окна и сбрасывать внутреннее состояние кодировщика LPD. В некоторых вариантах, кодировщик может включать в себя информацию о памяти фильтра и/или адаптивной кодовой таблицы, использующей ACELP, о синтезе выборок от предыдущих, не-LPD фреймов в закодированные фреймы и обеспечении их декодирования. Другими словами, воплощения аудио кодировщика 100 могут декодировать предыдущие не-LPD фреймы, выполнить анализ LPC, и применить фильтра LPC анализа для не-LPD сигнала синтеза и предоставить информацию для декодирования.
Как уже отмечалось выше, контроллер 140 может быть адаптирован для определения информации о коэффициенте переключения таким образом, что указанная информация может представлять фрейм аудио выборок, перекрывающих предыдущий фрейм.
В вариантах аудио кодек и 100 может быть адаптирован для кодирования такой информации в коэффициентах переключения с помощью использования кодировщика избыточности сокращения 150. В рамках одного из вариантов воплощения, процедура перезагрузки может быть улучшена путем передачи или путем включения информации о дополнительном параметре LPC, вычисленном по предыдущему фрейму в потоке битов. Дополнительный набор коэффициентов LPC далее будем называть LPC0.
В одном из вариантов кодировщик может работать в основном режиме кодирования LPD, используя четыре LPC фильтра, а именно с LPC1 по LPC4, которые оцениваются и определяются точно для каждого фрейма. В варианте, при переходах от не-LPD кодирования к кодированию LPD, дополнительный LPC фильтр, обозначенный как LPC0, который соответствует LPC анализу с центром в конце предыдущего фрейма, [фильтр] также может быть точно определен или оценен. Иными словами, в воплощении, фреймы аудио выборок, перекрывающиеся предыдущим фреймом, могут иметь центр в конце предыдущего фрейма.
В воплощениях устройство аудио декодирования 200, декодировщик получения избыточности 210 могут быть адаптированы для декодирования информации о коэффициенте переключения из закодированных фреймов. Соответственно стадия синтеза предсказания 220 может быть адаптирована для определения переключения фрейма предсказания, который накладывается на предыдущий фрейм. В другом варианте, при переключении фрейма предсказания, он может иметь центр в конце предыдущего фрейма.
В вариантах, LPC фильтр, соответствующий концу не-LPD сегмента или фрейму, т.е. LPCO, может быть использован для интерполяции LPC коэффициентов или для вычисления отклика при отсутствии входного сигнала в случае ACELP.
Как уже упоминалось выше, этот LPC фильтр может быть оценен прямым методом, т.е. [фильтр] рассчитывается на основе входного сигнала, дискретизируется кодировщиком и передается на декодировщик. В других вариантах, LPC фильтр может быть оценен обратным методом, т.е. декодировщиком на основе последнего синтезированного сигнала. Прямая оценка может использовать дополнительные битрейты [скорости прохождения битов информации], но может также дать более эффективный и надежный период запуска. Иными словами, в других вариантах контроллер 250 в воплощении устройства аудио декодирования 200 может быть адаптирован для анализа предыдущего фрейма и получения информации о предыдущем фрейме в виде коэффициентов для фильтра синтеза и/или информации о предыдущем фрейме в виде фрейма области предсказания. Кроме того, контроллер 250 может быть адаптирован для предоставления информации о предыдущем фрейме в виде коэффициентов для стадии синтеза предсказания 220, то есть коэффициентов переключения. Контроллер 250 может также выдавать информацию о предыдущем фрейме в виде фрейма области предсказания для подготовки стадии синтеза предсказания 220.
В вариантах, когда устройство аудио кодирования 100 предоставляет информацию о коэффициентах переключения, количество битов в потоке битов может незначительно увеличиться. Проведение анализа на декодер не может увеличить количество битов в битовый поток. Однако, проведение анализа в устройстве декодирования может иметь дополнительные сложности. Таким образом, в воплощениях, разрешение при анализе LPC может быть повышено за счет сокращения спектрального динамического диапазона, т.е. фреймы сигнала могут пройти сначала предварительную обработку через фильтр компенсации предыскажений. Обратные низкочастотные искажения могут использоваться в варианте устройства декодирования 200, а также в устройстве аудио кодирования 100 для получения сигнала возбуждения или фрейма области предсказания, необходимого для кодирования последующих фреймов. Все эти фильтры могут дать отклик при отсутствии входного сигнала, т.е. сигнал на выходе фильтра вследствие влияния текущего входа, который не является предыдущими входами, т.е. при условии, что информация о состоянии фильтра устанавливается в ноль после общего сброса. Вообще, когда режим LPD кодирования работает нормально, информация о состоянии в фильтре обновляется в конечном состоянии после фильтрации предыдущего фрейма.
В воплощениях, чтобы установить состояние внутреннего фильтра, LPD кодируется таким образом, что уже на первом LPD фрейме все фильтры и предсказатели инициализируются для работы в оптимальных или улучшенных режимах для первого фрейма, либо информация о коэффициенте переключения /[или] коэффициентах может быть представлена устройством аудио кодирования 100, или в устройстве декодирования 200 может быть проведена дополнительная обработка.
Как правило, фильтры и предсказатели для анализа, реализованные в устройстве аудио кодирования 100 для использования в стадии анализа кодирования предсказания 110, отличаются от фильтров и предсказателей, использованных для синтеза в устройстве аудио декодирования 200.
Для такого анализа, как, например, стадия анализа кодирования предсказания 110, во все или, по крайней мере, в один из этих фильтров можно подавать соответствующие оригинальные выборки предыдущего фрейма для обновления памяти. Фиг.9а показано воплощение структуры фильтра, используемой для анализа. Первый фильтр является фильтром компенсации предыскажений 1002, и может быть использован для повышения разрешения фильтра LPC анализа 1006, т.е. стадия анализа кодирования предсказания 110. В вариантах, фильтр LPC анализа 1006 может точно вычислить или оценить краткосрочные коэффициенты фильтра с использованием, например высокочастотной фильтрации выборок речи в пределах окна анализа. Иными словами, в вариантах, контроллер 140 может быть адаптирован для определения информации о коэффициенте переключения на основе результата высокочастотной фильтрации декодированного фрейма спектра из предыдущего фрейма. Аналогичным образом, полагая, что анализ проводится с помощью воплощения устройства аудио декодирования 200, контроллер 250 может быть адаптирован для анализа результата высокочастотной фильтрации предыдущего фрейма.
Как показано на фиг.9а, фильтру LP анализа 1006 предшествует фильтр оценки восприятия 1004. В вариантах, фильтр оценки восприятия 1004 может быть использован при поиске кодовых таблиц в анализе-синтезе. Фильтр может использовать маскировку шумовых свойств у формант, таких как, например, резонансов вокальных [голосовых] трактов, путем оценки уменьшения ошибки в областях, близких к частотам формант и увеличения в областях, далеких от них. В воплощениях, кодировщик сокращения избыточности 150 может быть применен для кодирования на основе кодовых таблиц, адаптированных к соответствующему фрейму области предсказания/фреймам. Соответственно, декодер введения избыточности 210 может быть адаптирован для декодирования на основе кодовой таблицы, адаптированной к выборкам фреймов.
Фиг.9b иллюстрирует блок-схему обработки сигнала в случае синтеза. В случае синтеза, в вариантах на все или, по крайней мере, на один из фильтров можно подавать соответствующие синтезированные выборки предыдущего фрейма для обновления памяти. В вариантах устройства аудио декодирования 200, это может быть просто, поскольку непосредственно доступен синтез предыдущих не-LPD фреймов. Однако, в варианте устройства аудио кодирования 100, синтез не может быть осуществлен по умолчанию и, соответственно, синтезированные выборки не могут быть доступны. Таким образом, в воплощениях устройство аудио кодирования 100, контроллер 140 могут быть адаптированы для декодирования предыдущего не-LPD фрейма. После декодирования не-LPD фрейма, в обоих вариантах, т.е. в устройствах аудио кодирования 100 и 200, синтез предыдущего фрейма может осуществляться в соответствии с фиг.9б в блоке 1012. Кроме того, выход фильтра синтеза LP 1012 может быть введен в обратный фильтр оценки восприятия 1014, после которого применяется фильтр компенсации предыскажений 1016. В вариантах, адаптированная кодовая таблица может быть использована и заполняется синтезированными выборками из предыдущего фрейма. В других вариантах, адаптированная кодовая таблица может содержать векторы возбуждения, которые адаптированы для каждого подфрейма. Адаптированная кодовая таблица может быть получена из долговременного фильтра состояния. Задержка значения может быть использована в качестве индекса в адаптированной кодовой таблице. В вариантах воплощения, для заполнения адаптированной кодовой таблицы, сигнал возбуждения или разностный сигнал может, в результате, быть вычислен путем фильтрации дискретизированного взвешенного сигнала с помощью обратного фильтра взвешивания [оценки] с обнуленной памятью. В частности, возбуждение может быть необходимо в устройстве кодирования 100 в целях обновления долгосрочного предсказателя памяти.
Воплощения настоящего изобретения могут обеспечить преимущество, заключающееся в том, что перезапуск процедуры фильтрации может быть улучшен или ускорен путем предоставления дополнительных параметров и/или загрузки внутренней памяти устройств кодирования или декодирования выборками предыдущего фрейма, закодированного кодировщиком на основе преобразования.
Воплощения могут обеспечить преимущество в ускорении начала процедуры основных LPC кодировки путем обновления всех или части соответствующих блоков памяти, в результате чего синтезированный сигнал может быть ближе к оригинальному [исходному] сигналу, чем при использовании обычных концепций, особенно за счет использования полного сброса. Кроме того, варианты могут использовать большие перекрытия и дополнительные окна и тем самым позволяют более эффективно использовать отмену временной области наложения. Воплощения могут иметь преимущество в том, что нестационарность фазы устройства кодирования речи может быть уменьшена, и возникающие артефакты во время перехода от кодировщика на основе преобразования к кодировщику речи также могут быть снижены.
В зависимости от определенных требований к реализации предлагаемого метода, методы изобретения могут быть реализованы в аппаратной части или в программном обеспечении. Реализация может быть выполнена с использованием цифровых носителей, в частности, дисков DVD, CD, с читаемыми электронным способом управляющими сигналами, хранящимися на них, которые взаимодействуют (или способны работать совместно) с программируемой системой компьютера, таким образом, что выполняются соответствующие методы.
Поэтому настоящее изобретение является программным продуктом с программным кодом, хранящимся на машиночитаемом носителе. Когда компьютерный программный продукт запускается на компьютере, программный код осуществляет выполнение одного из методов. Другими словами, методы изобретения являются компьютерной программой, имеющей программный код для выполнения хотя бы одного из методов изобретения, когда компьютерная программа работает на компьютере.
Хотя предшествующий вариант изобретения был подробно показан и описан со ссылкой на конкретные его воплощения, для специалистов в данной области должно быть понятно, что могут быть сделаны различные прочие изменения в форме и деталях, без отхода от сущности и содержания его изложения. Следует понимать, что различные изменения могут быть сделаны в адаптации к различным вариантам, не отходя от общей концепции, описанной здесь и представленной в положениях, которые следуют далее.