АУДИОКОДИРОВАНИЕ В ЧАСТОТНОЙ ОБЛАСТИ, ПОДДЕРЖИВАЮЩЕЕ ПЕРЕКЛЮЧЕНИЕ ДЛИНЫ ПРЕОБРАЗОВАНИЯ
FREQUENCY-DOMAIN AUDIO CODING SUPPORTING TRANSFORM LENGTH SWITCHING

Настоящая заявка имеет отношение к аудиокодированию в частотной области, поддерживающему переключение длины преобразования.
Современные системы кодирования речи/аудиокодирования в частотной области, такие как кодек Opus/Celt IETF [1], MPEG-4 (HE-)AAC [2] или, в частности, MPEG-D xHE-AAC (USAC) [3], предлагают средства для кодирования аудиокадров с использованием либо одного длинного преобразования – длинного блока – или восьми последовательных коротких преобразований – коротких блоков – в зависимости от стационарности сигнала во времени.
Для некоторых аудиосигналов, таких как дождь или аплодисменты большой аудитории, кодирование ни с длинным, ни с коротким блоком не дает удовлетворительного качества при низких скоростях передачи битов. Это может быть объяснено плотностью выраженных переходных процессов в таких записях; кодирование только с длинными блоками может вызвать частое и слышимое размывание временной характеристики ошибки кодирования, также известное как опережающее эхо, тогда как кодирование только с короткими блоками является в общем неэффективным из-за увеличенных издержек данных, что приводит к спектральным провалам.
Соответственно, будет полезно иметь под рукой концепцию аудиокодирования в частотной области, которая поддерживает длины преобразования, которые также подходят для только что обозначенных видов аудиосигналов. Естественно, будет иметь смысл построить новый аудиокодек в частотной области, поддерживающий переключение между набором длин преобразования, который, среди прочего, охватывает некоторую желаемую длину преобразования, подходящую для некоторого вида аудиосигнала. Однако, получение аудиокодека в частотной области, применяемого на рынке, является непростой задачей. Хорошо известные кодеки уже доступны и часто используются. Соответственно, будет полезно иметь возможность иметь концепцию под рукой, которая обеспечивает существующим аудиокодекам в частотной области возможность расширения таким образом, чтобы дополнительно поддерживать желаемую, новую длину преобразования, но которая, тем не менее, сохраняет обратную совместимость с существующими кодерами и декодерами.
Соответственно, целью настоящего изобретения является предусмотреть такую концепцию, которая обеспечивает существующим аудиокодекам в частотной области возможность расширения обратно совместимым образом в сторону поддержки дополнительной длины преобразования, так чтобы переключаться между длинами преобразования, также включающими в себя эту новую длину преобразования.
Эта цель достигается объектом изобретения по независимым пунктам прилагаемой формулы изобретения.
Настоящее изобретение основано на обнаружении, что аудиокодек в частотной области может быть обеспечен возможностью дополнительной поддержки некоторой длины преобразования обратно совместимым образом, когда коэффициенты частотной области соответствующего кадра передаются перемеженным образом независимо от сигнализации, сигнализирующей для кадров о том, какая длина преобразования применяется в действительности, и когда дополнительно извлечение коэффициентов частотной области и извлечение множителей масштабирования функционируют независимо от сигнализации. Поэтому, устаревшие аудиокодеры/аудиодекодеры в частотной области, нечувствительные к сигнализации, будут тем не менее иметь возможность функционирования без сбоев и при этом воспроизводя приемлемое качество. Одновременно, аудиокодеры/аудиодекодеры в частотной области, отвечающие за переключение с/на дополнительно поддерживаемую длину преобразования, будут достигать даже лучшего качества, не смотря на обратную совместимость. Поскольку рассматриваются ухудшения эффективности кодирования из-за кодирования коэффициентов частотной области прозрачным для более старых декодеров образом, ухудшения носят сравнительно незначительный характер благодаря перемежению.
Предпочтительные реализации по настоящей заявке являются предметом формулы изобретения.
В частности, предварительные варианты осуществления по настоящей заявке описаны ниже относительно Фигур, среди которых
Фиг. 1 показывает схематичную блок-схему аудиодекодера в частотной области в соответствии с вариантом осуществления;
Фиг. 2 показывает схематичную блок-схему, иллюстрирующую функциональность обратного преобразователя по Фиг. 1;
Фиг. 3 показывает схематичную блок-схему, иллюстрирующую возможное смещение процесса фильтрации обратного TNS по Фиг. 2 в обратном направлении в соответствии с вариантом осуществления;
Фиг. 4 показывает возможность выбора окон при использовании разбиения преобразования для длинного старт-стопного окна в USAC в соответствии с вариантом осуществления; и
Фиг. 5 показывает блок-схему аудиокодера в частотной области согласно варианту осуществления.
Фиг. 1 показывает аудиодекодер в частотной области, поддерживающий переключение длины преобразования, в соответствии с вариантом осуществления по настоящей заявке. Аудиодекодер в частотной области по Фиг. 1 в общем указан с использованием ссылочного обозначения 10 и содержит блок 12 извлечения коэффициентов частотной области, блок 14 извлечения множителей масштабирования, обратный преобразователь 16 и блок 18 объединения. На их входе блок извлечения коэффициентов частотной области и блок 12 и 14 извлечения множителей масштабирования имеют доступ к входящему потоку 20 данных. Выходы блока 12 извлечения коэффициентов частотной области и блока 14 извлечения множителей масштабирования соединены с соответствующими входами обратного преобразователя 16. Выход обратного преобразователя 16, в свою очередь, соединен со входом блока 18 объединения. Последний выводит реконструированный аудиосигнал на выход 22 кодера 10.
Блок 12 извлечения коэффициентов частотной области выполнен с возможностью извлечения коэффициентов 24 частотной области кадров 26 аудиосигнала из потока 20 данных. Коэффициенты 24 частотной области могут быть MDCT-коэффициентами или могут принадлежать к некоторому другому преобразованию, такому как другое преобразование с перекрытием. Описанным дополнительно ниже образом, коэффициенты 24 частотной области, принадлежащие некоторому кадру 26, описывают спектр аудиосигнала в пределах соответствующего кадра 26 при варьирующемся спектро-временном разрешении. Кадры 26 представляют временные участки, на которые аудиосигнал последовательно подразделяется во времени. Собрав вместе коэффициенты 24 частотной области всех кадров, они представляют спектрограмму 28 аудиосигнала. Кадры 26 могут, например, иметь одинаковую длину. Из-за изменения вида аудиоконтента аудиосигнала во времени может быть невыгодным описывать спектр для каждого кадра 26 с помощью непрерывного спектро-временного разрешения посредством использования, например, преобразований, имеющих постоянную длину преобразования, которая протягивается, например, на продолжительность каждого кадра 26, т.е. содержит значения выборок в пределах этого кадра 26 аудиосигнала, так же как и выборки временной области, предшествующие и следующие за соответствующим кадром. Артефакты опережающего эхо могут, например, возникать в результате передачи с потерей спектра соответствующего кадра в виде коэффициентов 24 частотной области. Соответственно, дополнительно обозначенным ниже образом, коэффициенты 24 частотной области соответствующего кадра 26 описывают спектр аудиосигнала в пределах этого кадра 26 в переключаемом спектро-временном разрешении посредством переключения между разными длинами преобразования. Однако, поскольку рассматривается блок 12 извлечения коэффициентов частотной области, последнее обстоятельство прозрачно для него. Блок 12 извлечения коэффициентов частотной области функционирует независимо от любой сигнализации, сигнализирующей только что упомянутое переключение между разными спектро-временными разрешениями для кадров 26.
Блок 12 извлечения коэффициентов частотной области может использовать энтропийное кодирование для того, чтобы извлечь коэффициенты 24 частотной области из потока 20 данных. Например, блок извлечения коэффициентов частотной области может использовать контекстно-зависимое энтропийное декодирование, такое как арифметическое декодирование с переменным контекстом, для извлечения коэффициентов 24 частотной области из потока 20 данных с помощью присваивания, каждому из коэффициентов 24 частотной области, одинакового контекста независимо от вышеупомянутой сигнализации, сигнализирующей спектро-временное разрешение кадра 26, которому принадлежит соответствующий коэффициент частотной области. В качестве альтернативы и в качестве второго примера блок 12 извлечения может использовать декодирование Хаффмана и задать набор кодовых слов Хаффмана независимо от вышеуказанной сигнализации, точно определяющей разрешение кадра 26.
Существуют разные возможности для способа, которым коэффициенты 24 частотной области описывают спектрограмму 28. Например, коэффициенты 24 частотной области могут лишь представлять некоторый остаток предсказания. Например, коэффициенты частотной области могут представлять остаток предсказания, который, по меньшей мере частично, был получен посредством стереопредсказания из другого аудиосигнала, представляющего соответствующий аудиоканал, или понижающего микширования из многоканального аудиосигнала, которому принадлежит спектрограмма 28 сигнала. В качестве альтернативы, или дополнительно к остатку предсказания, коэффициенты 24 частотной области могут представлять суммарный (средний) или разностный (боковой) сигнал согласно парадигме M/S стерео [5]. К тому же, коэффициенты 24 частотной области могут быть подвергнуты временному ограничению шума.
Помимо этого, коэффициенты частотной области 12 квантуются, и для того, чтобы удержать ошибку квантования ниже психоакустического порога обнаружения (или маскирования), например, размер шага квантования спектрально варьируется таким образом, который управляется посредством соответствующих множителей масштабирования, ассоциированных с коэффициентами 24 частотной области. Блок 14 извлечения множителей масштабирования отвечает за извлечение множителей масштабирования из потока 20 данных.
Кратко приводя чуть больше сведений по переключению между разными спектро-временными разрешениями от кадра к кадру, отмечено нижеследующее. Как будет описано более подробно ниже, переключение между разными спектро-временными разрешениями будет указывать, что либо в пределах определенного кадра 26 все коэффициенты 24 частотной области принадлежат одному преобразованию, либо, что коэффициенты 24 частотной области некоторого кадра 26 в действительности принадлежат разным преобразованиям, таким как, например, два преобразования, длина преобразования которых составляет половину длины преобразования только что упомянутого одного преобразования. Вариант осуществления, описанный в дальнейшем по отношению к Фигурам, предполагает переключение между одним преобразованием с одной стороны и двумя преобразованиями с другой стороны, но по факту, переключение между одним преобразованием и более чем двумя преобразованиями, в принципе, будет иметь смысл, так же как с вариантами осуществления, приведенными ниже, являющимися легко переносимыми на такие альтернативные варианты осуществления.
Фиг. 1 иллюстрирует, с использованием штриховки, примерный случай, когда текущий кадр имеет тип, представленный двумя короткими преобразованиями, одно из которых было получено с использованием задней половины текущего кадра 26, и другое из которых было получено посредством преобразования передней (ведущей) половины текущего кадра 26 аудиосигнала. Из-за укороченной длины преобразования спектральное разрешение, при котором коэффициенты 24 частотной области описывают спектр кадра 26, уменьшено, а именно уменьшено наполовину в случае использования двух коротких преобразований, тогда как временное разрешение увеличено, а именно удвоено в настоящем случае. На Фиг. 1, например, коэффициенты 24 частотной области, показанные заштрихованными, должны принадлежать переднему (ведущему) преобразованию, тогда как незаштрихованные коэффициенты 24 частотной области должны принадлежать заднему (хвостовому) преобразованию. Спектрально совместно размещенные коэффициенты 24 частотной области, таким образом, описывают одну и ту же спектральную составляющую аудиосигнала в пределах кадра 26, но в немного разных моментах времени, а именно в двух последовательных окнах преобразования кадра с разбиением преобразования.
В потоке 20 данных, коэффициенты 24 частотной области передаются перемеженным образом, так чтобы спектрально соответствующие коэффициенты частотной области двух разных преобразований следовали сразу друг за другом. Даже другими словами, коэффициенты 24 частотной области кадра с разбитым преобразованием, т.е. кадра 26, для которого разбиение преобразования сигнализировано в потоке 20 данных, передаются так, чтобы если коэффициенты 24 частотной области, которые приняты из блока 12 извлечения коэффициентов частотной области, будут последовательно упорядочены таким образом, как если они были бы коэффициентами частотной области длинного преобразования, то они скомпонованы в этой последовательности перемеженным образом, так чтобы спектрально совместно размещенные коэффициенты 24 частотной области соседствовали непосредственно с друг с другом, и пары таких спектрально совместно размещенных коэффициентов 24 частотной области упорядочиваются в соответствии со спектральным/частотным порядком. Примечательно, что упорядоченная таким образом последовательность перемеженных коэффициентов 24 частотной области выглядит аналогичной последовательности коэффициентов 24 частотной области, полученной посредством одного длинного преобразования. Снова, поскольку рассматривается блок 12 извлечения коэффициентов частотной области, переключение между разными длинами преобразования или спектро-временными разрешениями в единицах кадров 26 является прозрачным для него, и соответственно, выбор контекста для энтропийного кодирования коэффициентов 24 частотной области контекстно-адаптивным образом приводит в результате в выбору того же контекста – независимо от текущего кадра, в действительности являющегося кадром с длинным преобразованием, или текущего кадра, имеющего тип с разбитым преобразованием, при том, что блок 12 извлечения не знает об этом. Например, блок 12 извлечения коэффициентов частотной области может выбрать контекст, который должен быть использован для некоторого коэффициента частотной области на основе уже кодированных/декодированных коэффициентов частотной области в спектрально-временной окрестности, причем эта спектрально-временная окрестность задана в перемеженном состоянии, изображенном на Фиг. 1. Это имеет нижеследующее последствие. Представим, что текущий кодированный/декодированный коэффициент 24 частотной области был частью переднего преобразования, указанного с использованием штриховки на Фиг. 1. Непосредственно спектрально смежным коэффициентом частотной области будет тогда в действительности коэффициент 24 частотной области того же переднего преобразования (т.е. заштрихованного на Фиг. 1). Тем не менее, однако, блок 12 извлечения коэффициентов частотной области использует для выбора контекста коэффициент 24 частотной области, принадлежащий к заднему преобразованию, а именно спектрально соседствующий коэффициент 24 частотной области (в соответствии с уменьшенным спектральным разрешением укороченного преобразования), предполагая, что последний будет непосредственным спектральным соседом одного длинного преобразования текущего коэффициента 24 частотной области. Аналогично, при осуществлении выбора контекста для коэффициента 24 частотной области заднего преобразования, блок 12 извлечения коэффициентов частотной области будет использовать в качестве непосредственного спектрального соседа коэффициент 24 частотной области, принадлежащий к переднему преобразованию и являющийся в действительности спектрально совместно размещенным с этим коэффициентом. В частности, порядок декодирования, заданный среди коэффициентов 24 текущего кадра 26, может возникнуть, например, от самой нижней частоты для самой высокой частоты. Аналогичные наблюдения являются достоверными в случае, когда блок 12 извлечения коэффициентов частотной области выполнен с возможностью энтропийного декодирования коэффициентов 24 частотной области текущего кадра 26 в группах/кортежах непосредственно последовательных коэффициентов 24 частотной области, когда упорядочены не обратно перемеженным образом. Вместо использования кортежа спектрально соседних коэффициентов 24 частотной области, принадлежащих только одному и тому же короткому преобразованию, блок 12 извлечения коэффициентов частотной области может выбрать контекст для некоторого кортежа смеси коэффициентов 24 частотной области, принадлежащих разным коротким преобразованиям на основании спектрально соседнего кортежа такой смеси коэффициентов 24 частотной области, принадлежащих к разным преобразованиям.
Из-за того факта, что, как указано выше, в перемеженном состоянии, результирующий спектр, который получен посредством двух коротких преобразований, кажется очень похожим со спектром, полученным посредством одного длинного преобразования, ухудшение энтропийного кодирования, возникающее в результате агностической операции блока 12 извлечения коэффициентов частотной области относительно переключения длины преобразования, является низким.
Описание декодера 10 возобновляется с блока 14 извлечения множителей масштабирования, который, как упомянуто выше, отвечает за извлечение множителей масштабирования коэффициентов 24 частотной области из потока 20 данных. Спектральное разрешение, при котором множители масштабирования присваиваются коэффициентам 24 частотной области, грубее, чем сравнительно тонкое спектральное разрешение, поддерживаемое длинным преобразованием. Как проиллюстрировано фигурными скобками 30, коэффициенты 24 частотной области могут быть сгруппированы в многочисленные диапазоны множителей масштабирования. Подразделение в диапазонах множителей масштабирования может быть выбрано на основе психоакустических соображений и может, например, совпадать с так называемыми диапазонами Барка (или критическими). Так блок 14 извлечения множителей масштабирования является агностическим для переключения длины преобразования, прямо как блок 12 извлечения коэффициентов частотной области, блок 14 извлечения множителей масштабирования предполагает, что каждый кадр 26 должен быть подразделен на некоторое число диапазонов множителей масштабирования 30, которое является равным, независимо от сигнализации переключения длины преобразования, и извлекает множитель 32 масштабирования для каждого такого диапазона 30 множителей масштабирования. На стороне кодера приписывание коэффициентов 24 частотной области к этим диапазонам множителей масштабирования 30 сделано в не обратно перемеженном состоянии, проиллюстрированном на Фиг. 1. Как следствие, поскольку рассматриваются кадры 26, соответствующие разбитому преобразованию, каждый множитель 32 масштабирования принадлежит к группе, наполненной как коэффициентами 24 частотной области переднего преобразования, так и коэффициентами 24 частотной области заднего преобразования.
Обратный преобразователь 16 выполнен с возможностью приема для каждого кадра 26 соответствующих коэффициентов 24 частотной области и соответствующих множителей масштабирования 32 и подвергания коэффициентов 24 частотной области кадра 26, отмасштабированных согласно множителям масштабирования 32, обратному преобразованию для получения участков временной области аудиосигнала. Обратным преобразователем 16 может быть использовано преобразование с перекрытием, такое как, например, модифицированное дискретное косинусное преобразование (MDCT). Блок 18 объединения объединяет участки временной области для получения аудиосигнала, как например, посредством использования, например, подходящего процесса перекрытия с суммированием, приводящим в результате, например, к подавлению помех дискретизации во временной области в пределах перекрывающихся участков для участков временной области, выведенных обратным преобразователем 16.
Естественно, обратный преобразователь 16 отвечает на вышеупомянутое переключение длины преобразования, сигнализированное внутри потока 20 данных для кадров 26. Операция обратного преобразователя 16 описана более подробно по отношению к Фиг. 2.
Фиг. 2 показывает возможную внутреннюю структуру обратного преобразователя 16 более подробно. Как указано на Фиг. 2, обратный преобразователь 16 принимает для текущего кадра коэффициенты 24 частотной области, ассоциированные с этим кадром, так же как и соответствующие множители 32 масштабирования для деквантования коэффициентов 24 частотной области. К тому же, обратный преобразователь 16 управляется посредством сигнализации 34, которая присутствует в потоке 20 данных для каждого кадра. Обратным преобразователем 16 можно дополнительно управлять посредством других компонентов потока 20 данных, опционально содержащихся в нем. В ниже следующем описании, описаны сведения, касающиеся этих дополнительных параметров.
Как показано на Фиг. 2, обратный преобразователь 16 по Фиг. 2 содержит блок 36 деквантования, активируемый обращенный перемежитель 38 и ступень 40 обратного преобразования. Для простоты понимания нижеследующего описания, входящие коэффициенты 24 частотной области, которые получены для текущего кадра из блока 12 извлечения коэффициентов частотной области, показаны пронумерованными с 0 по N–1. Снова, так как блок 12 извлечения коэффициентов частотной области является агностическим по отношению к, т.е. функционирует независимо от сигнализации 34, блок 12 извлечения коэффициентов частотной области предусматривает обратный преобразователь 16 с коэффициентами 24 частотной области таким же образом независимо от того, имеет ли текущий кадр тип с разбитым преобразованием или тип с одним преобразованием, т.е. число коэффициентов 24 частотной области составляет N в настоящем иллюстративном случае, и ассоциация индексов с 0 по N–1 для N коэффициентов 24 частотной области также остается такой же независимо от сигнализации 34. В случае, когда текущий кадр имеет тип с одним или длинным преобразованием, индексы с 0 по N–1 соответствуют упорядочиванию коэффициентов 24 частотной области от меньшей частоты к наивысшей частоте, и в случае, когда текущий кадр имеет тип с разбитым преобразованием, индексы соответствуют порядку коэффициентов частотной области при спектральной компоновке согласно их спектральному порядку, но перемеженным образом, так чтобы каждый второй коэффициент 24 частотной области принадлежал заднему преобразованию, тогда как остальные принадлежали переднему преобразованию.
0
M
Аналогичные факты справедливы для множителей 32 масштабирования. Так как блок 14 извлечения множителей масштабирования функционирует агностическим по отношению к сигнализации 34 образом, число и порядок, так же как и значения множителей 32 масштабирования, поступающих из блока 14 извлечения множителей масштабирования, не зависит от сигнализации 34, причем множители 32 масштабирования на Фиг. 2 для примера обозначены как S-S с индексом, соответствующим последовательному порядку среди диапазонов множителей масштабирования, с которыми эти множители масштабирования ассоциированы.
0
1
0
0
0
1
1
0
3
3
0
4
4
1
9
9
1
Аналогичным блоку 12 извлечения коэффициентов частотной области и блоку 14 извлечения множителей масштабирования образом, блок 36 деквантования может функционировать агностически по отношению к, или независимо от, сигнализации 34. Блок 36 деквантования деквантует, или масштабирует, входящие коэффициенты 24 частотной области с использованием множителя масштабирования, ассоциированного с диапазоном множителей масштабирования, которому принадлежат соответствующие коэффициенты частотной области. Снова, принадлежность входящих коэффициентов 24 частотной области к индивидуальным диапазонам множителей масштабирования, и таким образом ассоциация входящих коэффициентов 24 частотной области с множителями 32 масштабирования, не зависит от сигнализации 34, и обратный преобразователь 16 таким образом подвергает коэффициенты 24 частотной области масштабированию согласно множителям 32 масштабирования при спектральном разрешении, которое не зависит от сигнализации. Например, блок 36 деквантования, независимо от сигнализации 34, присваивает коэффициенты частотной области с индексами 0-3 первому диапазону множителей масштабирования и соответственно первому множителю масштабирования S, коэффициенты частотной области с индексами 4-9 второму диапазону множителей масштабирования и таким образом множителю масштабирования S и т.д. Границы множителей масштабирования являются лишь иллюстративными. Блок 36 деквантования может, например, для того, чтобы деквантовать коэффициенты 24 частотной области, выполнить умножение с использованием ассоциированного множителя масштабирования, т.е. вычислить коэффициент частотной области x как x ∙ s, x как x ∙ s, …, x как x ∙ s, x как x ∙ s, …, x как x ∙ s, и т.д. В качестве альтернативы, блок 36 деквантования может выполнить интерполяцию множителей масштабирования, в действительности используемых для деквантования коэффициентов 24 частотной области, из грубого спектрального разрешения, заданного диапазонами множителей масштабирования. Интерполяция может быть независимой от сигнализации 34. В качестве альтернативы, однако, последняя интерполяция может быть зависимой от сигнализации, для того, чтобы учитывать разные спектро-временные положения выборки коэффициентов 24 частотной области, в зависимости от того, имеет ли текущий кадр тип с разбитым преобразованием или тип с одним/длинным преобразованием.
Фиг. 2 иллюстрирует, что вплоть до стороны входа активируемого обращенного перемежителя 38, порядок среди коэффициентов 24 частотной области остается таким же, и он же применяется, по меньшей мере, существенно, по отношению ко всей операции вплоть до этого момента. Фиг. 2 показывает, что до активируемого обращенного перемежителя 38, дополнительные операции могут быть выполнены посредством обратного преобразователя 16. Например, обратный преобразователь 16 может быть выполнен с возможностью выполнения заполнения шумом в отношении коэффициентов 24 частотной области. Например, в последовательности коэффициентов 24 частотной области могут быть идентифицированы диапазоны множителей масштабирования, т.е. группы входящих коэффициентов частотной области в порядке, следующем индексам с 0 по N–1, где все коэффициенты 24 частотной области соответствующих диапазонов множителей масштабирования квантованы до нуля. Такие коэффициенты частотной области могут быть заполнены, например, с использованием генерирования искусственного шума, такого как, например, с использованием генератора псевдослучайных чисел. Сила/уровень шума, заполняемого в диапазон квантованных до нуля множителей масштабирования, может быть отрегулирован с использованием множителя масштабирования соответствующего диапазона множителей масштабирования, так как он не нужен для масштабирования, так как спектральные коэффициенты в нем все равны нулю. Такое заполнение шумом показано на Фиг. 2 в 40 и описано более подробно в варианте осуществления в патенте EP2304719A1 [6].
Фиг. 2 показывает кроме того, что обратный преобразователь 16 может быть выполнен с возможностью поддержки кодирования сведенного стерео и/или межканального стереопредсказания. В механизме межканального стереопредсказания обратный преобразователь 16 может, например, предсказать 42 спектр в не обратно перемеженном размещении, представленном порядком индексов с 0 по N–1 из другого канала аудиосигнала. То есть, может быть, что коэффициенты 24 частотной области описывают спектрограмму канала стереоаудиосигнала, и что обратный преобразователь 16 выполнен с возможностью интерпретации коэффициентов 24 частотной области как остатка предсказания сигнала предсказания, полученного из другого канала этого стереоаудиосигнала. Это межканальное стереопредсказание может быть, например, выполнено при некоторой спектральной гранулярности независимо от сигнализации 34. Параметры 44 комплексного предсказания, управляющие комплексным стереопредсказанием 42, могут, например, активировать комплексное стереопредсказание 42 для некоторых из вышеупомянутых диапазонов множителей масштабирования. Для каждого диапазона множителей масштабирования, для которого комплексное предсказание активировано посредством параметра 44 комплексного предсказания, масштабированные коэффициенты 24 частотной области, скомпонованные в порядке с 0 по N–1, находящиеся в пределах соответствующего диапазона множителей масштабирования, будут суммированы с сигналом межканального предсказания, полученным из другого канала стереоаудиосигнала. Комплексный множитель, содержащийся внутри параметров 44 комплексного предсказания для этого соответствующего диапазона множителей масштабирования, может управлять сигналом предсказания.
Кроме того, внутри механизма кодирования сведенного стерео, обратный преобразователь 16 может быть выполнен с возможностью выполнения MS-декодирования 46. То есть, декодер 10 по Фиг. 1 может выполнить операции, описанные уже дважды, один раз для первого канала и другой раз для второго канала стереоаудиосигнала, и управляемые посредством MS-параметров внутри потока 20 данных, обратный преобразователь 16 может осуществить MS-декодирование этих двух каналов или оставить их как они есть, а именно как левый и правый каналы стереоаудиосигнала. MS-параметры 48 могут переключать между MS-кодирование на уровне кадра или даже на более тонком уровне, таком как в единицах диапазонов множителей масштабирования или их группах. В случае активированного MS-декодирования, например, обратный преобразователь 16 может сформировать сумму соответствующих коэффициентов 24 частотной области в порядке коэффициентов с 0 по N – 1, с соответствующими коэффициентами частотной области другого канала стереоаудиосигнала, или их разность.
Фиг. 2 затем показывает, что активируемый обращенный перемежитель 38 отвечает на сигнализацию 34 для текущего кадра для того, чтобы, в случае сигнализирования текущего кадра посредством сигнализации 34 как кадра с разбитым преобразованием, осуществить обратное перемежение входящих коэффициентов частотной области, так чтобы получить два преобразования, а именно переднее преобразование 50 и заднее преобразование 52, и оставить коэффициенты частотной области перемеженными, так чтобы получить в результате одно преобразование 54 в случае сигнализации 34, указывающей текущий кадр как кадр с длинным преобразованием. В случае обратного перемежения, обращенный перемежитель 38 формирует одно преобразование из 50 и 52, первое короткое преобразование из коэффициентов частотной области, имеющих четные индексы, и другое короткое преобразование из коэффициентов частотной области в нечетных положениях индексов. Например, коэффициенты частотной области с четным индексом могут сформировать переднее преобразование (начиная с индекса 0), тогда как остальные формируют заднее преобразование. Преобразования 50 и 52 подвергаются обратному преобразованию с более короткой длиной преобразования, давая в результате участки 56 и 58 временной области, соответственно. Блок 18 объединения по Фиг. 1 корректно располагает участки 56 и 58 временной области во времени, а именно участок 56 временной области, возникающий из переднего преобразования 50, перед участком 58 временной области, возникающим из заднего преобразования 52, и выполняет процесс перекрытия с суммированием между ними и с участками временной области, возникающими из предшествующего и последующего кадров аудиосигнала. В случае не обратного перемежения, коэффициенты частотной области, поступающие на перемежитель 38, составляют длинное преобразование 54 как они есть, и ступень 40 обратного преобразования выполняет в отношении них обратное преобразование, так чтобы дать в результате участок 60 временной области, протягивающийся на весь временной интервал текущего кадра 26 и за его пределы. Блок 18 объединения объединяет участок 60 временной области с соответствующими участками временной области, возникающими из предшествующего и последующего кадров аудиосигнала.
Аудиодекодер в частотной области, уже описанный, обеспечивает возможность переключения длины преобразования таким образом, который обеспечивает возможность совместимости с аудиодекодерами в частотной области, которые не отвечают на сигнализацию 34. В частности, такие "устаревшие" декодеры будут ошибочно предполагать, что кадры, которые в действительности сигнализированы посредством сигнализации 34 как имеющие тип с разбитым преобразованием, имеют тип с длинным преобразованием. То есть, они будут ошибочно оставлять коэффициенты частотной области с типом с разбиением перемеженными и выполнять обратное преобразование с длиной длинного преобразования. Однако, результирующее качество подверженных воздействию кадров реконструированного аудиосигнала будет вес еще достаточно приемлемым.
Ухудшение эффективности кодирования, в свою очередь, тоже будет все еще приемлемым. Ухудшение эффективности кодирования возникает в результате игнорирования сигнализации 34, так как коэффициенты частотной области и множители масштабирования кодируются без учета переменного смысла коэффициентов и использования этой переменчивости для того, чтобы увеличить эффективность кодирования. Однако, последнее ухудшение является относительно небольшим по сравнению с преимуществом обеспечения возможности обратной совместимости. Последнее утверждение также справедливо в отношении ограничения на активацию и деактивацию блока 40 заполнения шумом, комплексного стереопредсказания 42 и MS-декодирования 46 лишь в пределах непрерывных спектральных участков (диапазонов множителей масштабирования) в обратно перемеженном состоянии, заданных индексами с 0 по N–1 на Фиг. 2. Возможность осуществления управления этими инструментами кодирования конкретно для типа кадра (например, имеющего два уровня шума) может, вероятно, предоставить преимущества, но преимущества с избытком компенсируются преимуществом обладания обратной совместимостью.
Фиг. 2 показывает, что декодер по Фиг. 1 может быть даже выполнен с возможностью поддержки TNS-кодирования, при этом тем не менее сохраняя обратную совместимость с декодерами, являющимися нечувствительными к сигнализации 34. В частности, Фиг. 2 иллюстрирует возможность выполнения фильтрации обратного TNS после какого-либо комплексного стереопредсказания 42 и MS-декодирования 46, если таковые есть. Для того, чтобы обеспечить обратную совместимость, обратный преобразователь 16 выполнен с возможностью выполнения фильтрации 62 обратного TNS в отношении последовательности из N коэффициентов независимо от сигнализации 34 с использованием соответствующих TNS-коэффициентов 64. Поэтому, поток 20 данных кодирует TNS-коэффициенты 64 в равной степени, независимо от сигнализации 34. То есть, число TNS-коэффициентов и способов их кодирования является одинаковым. Однако, обратный преобразователь 16 выполнен с возможностью по-разному применять TNS-коэффициенты 64. В случае, когда текущий кадр является кадром с длинным преобразованием, фильтрация обратного TNS выполняется в отношении длинного преобразования 54, т.е. коэффициенты частотной области, размещенные последовательно в перемеженном состоянии, и в случае, когда текущий кадр сигнализируется посредством сигнализации 34 как кадр с разбитым преобразованием, обратный преобразователь 16 осуществляет фильтрование 62 обратного TNS связи переднего преобразования 50 и заднего преобразования 52, т.е. последовательности коэффициентов частотной области с индексами 0, 2, …, N–2, 1, 3, 5, …, N–1. Фильтрация 62 обратного TNS может, например, содержать применение фильтра обратным преобразователем 16, передаточная функция которого задана согласно TNS-коэффициентам 64 в отношении обратно перемеженной или перемеженной последовательности коэффициентов, прошедших последовательность обработки до обращенного перемежителя 38.
Таким образом, "устаревший" декодер, который неумышленно интерпретирует кадры типа с разбитым преобразованием как кадры с длинным преобразованием, применяет TNS-коэффициенты 64, которые были сгенерированы кодером посредством анализирования связи двух коротких преобразований, а именно 50 и 52, в отношении преобразования 54 и соответственно производит, посредством обратного преобразования, примененного в отношении преобразования 54, некорректный участок 60 временной области. Однако, даже эта деградация качества при таких декодерах может быть терпимой для слушателей в случае ограничения использования таких кадров с разбитым преобразованием случаями, когда сигнал представляет дождь или аплодисменты или подобное.
Для полноты описания, Фиг. 3 показывает, что фильтрация 62 обратного TNS обратного преобразователя 16 может также быть вставлена куда-либо в последовательность обработки, показанной на Фиг. 2. Например, фильтрация 62 обратного TNS может быть расположена до комплексного стереопредсказания 42. Для того, чтобы сохранить обратно перемеженную область после и до фильтрации 62 обратного TNS, Фиг. 3 показывает, что в этом случае коэффициенты частотной области 24 лишь предварительно подвергаются обратному перемежению 66, для того, чтобы выполнить фильтрацию обратного TNS 68 внутри перемеженного связанного состояния, где коэффициенты 24 частотной области, как уже обработанные, находятся в порядке индексов 0, 2, 4, …, N–2, 1, 3, …, N–3, N–1, после чего обратное перемежение обращается 70, так чтобы снова получить коэффициенты частотной области в версии с фильтрацией обратного TNS в их перемеженном порядке 0, 1, 2, …, N–1. Положение фильтрации 62 обратного TNS в пределах последовательности этапов обработки, показанных на Фиг. 2, может быть фиксированным или может быть сигнализировано посредством потока 20 данных, таким образом как, например, на покадровой основе или с некоторой другой гранулярностью.
Следует отметить, что для уменьшения описания, вышеуказанные варианты осуществления, сконцентрированные только на расположении рядом кадров с длинным преобразованием и кадров с разбитым преобразованием. Однако, варианты осуществления по настоящей заявке могут быть хорошо расширяемы посредством введения кадров с другим типом преобразования, таких как кадры из восьми коротких преобразований. В этой связи, следует отметить, что вышеупомянутый агностицизм, лишь относится к кадрам, отличимым, посредством дополнительной сигнализации, от таких других кадров с любым третьим типом преобразования, так что "устаревший" декодер, посредством инспектирования дополнительной сигнализации, содержащейся во всех кадрах, неумышленно интерпретирует кадры с разбитым преобразованием как кадры с длинным преобразованием, и лишь кадры, отличимые от других кадров (всех кроме кадров с разбитым преобразованием и длинным преобразованием), будут содержать сигнализацию 34. Поскольку рассматриваются другие кадры (все кроме кадров с разбитым преобразованием и длинным преобразованием), следует отметить, что режим функционирования блоков 12 и 14 извлечения, такой как выбор контекста и т.д., может зависеть от дополнительной сигнализации, то есть, вышеуказанный режим функционирования может отличаться от режима функционирования, применяемого для кадров с разбитым преобразованием и длинным преобразованием.
Перед описанием подходящего кодера, согласующегося с вариантами осуществления декодера, описанными выше, описана реализация вышеуказанных вариантов осуществления, которая будет подходить для обновления соответствующим образом аудиокодеров/аудиодекодеров на основе xHE-AAC для обеспечения возможности поддержки разбиения преобразования обратно совместимым образом.
То есть, в нижеследующем описывается возможность того, как выполнить разбиение длины преобразования в аудиокодеке, который основан на MPEG-D xHE-AAC (USAC), с целью улучшения качества кодирования некоторых аудиосигналов при низких скоростях передачи битов. Инструмент разбиения преобразования сигнализируется обратно полусовместимым образом, так чтобы существующие xHE-AAC декодеры могли осуществить синтаксический анализ и декодировать битовые потоки согласно вышеуказанным вариантам осуществления без явных аудиоошибок или провалов. Как будет показано в дальнейшем, эта обратно полусовместимая сигнализация использует неиспользованные возможные значения синтаксического элемента кадра, управляющего, условно кодированным образом, использованием заполнения шумом. Хотя существующие xHE-AAC декодеры нечувствительны к этим возможным значениям соответствующего синтаксического элемента заполнения шумом, усовершенствованные аудиодекодеры чувствительны.
В частности, реализация, описанная ниже, обеспечивает возможность, наряду с вариантами осуществления, описанными выше, предложения промежуточной длины преобразования для кодирования сигналов, аналогичных дождю или аплодисментам, предпочтительно разбитый длинный блок, т.е. два последовательных преобразования, каждый имеет половину или четверть спектральной длины длинного блока, с минимальным перекрытием по времени между этими преобразованиями, являющимся меньшим, чем максимальное временное перекрытие между последовательными длинными блоками. Для обеспечения возможности считывания и синтаксического анализа кодированных битовых потоков с разбиением преобразования, т.е. сигнализацией 34, существующими xHE-AAC декодерами, разбиение должно быть использовано обратно полусовместимым образом: присутствие такого инструмента разбиения преобразования не должно вызвать остановку, или даже запуск, декодирования существующими декодерами. Считываемость таких битовых потоков инфраструктурой xHE-AAC может также способствовать распространению на рынке. Для достижения только что обозначенной цели обратной полусовместимости для использования разбиения преобразования в контексте xHE-AAC или его потенциальных производных, разбиение преобразования сигнализируется посредством сигнализации заполнения шумом для xHE-AAC. В соответствии с вариантами осуществления, описанными выше, для того, чтобы встроить разбиение преобразования в xHE-AAC кодеры/декодеры, вместо последовательности старт-стопных окон в частотной области (FD) может быть использовано разбитое преобразование, состоящее из двух отдельных преобразований с половинной длиной. Последовательные во времени преобразования с половинной длиной перемежаются в единое старт-стопное окно наподобие блока на покоэффициентной основе для декодеров, которые не поддерживают разбиение преобразования, т.е. существующих xHE-AAC декодеров. Сигнализирование посредством сигнализации заполнения шумом выполняется как описано в дальнейшем. В частности, 8-битовая дополнительная информация заполнения шумом может быть использована для подачи разбиения преобразования. Это имеет смысл, так как стандарт MPEG-D [4] указывает, что передаются все 8 битов, даже если уровень шума, который должен быть применен, равен нулю. В этой ситуации, некоторые биты шумового заполнения могут быть повторно использованы для разбиения преобразования, т.е. для сигнализации 34.
Обратная полусовместимость касательно синтаксического анализирования и проигрывания битового потока существующими xHE-AAC декодерами может быть гарантирована как следует ниже. Разбиение преобразования сигнализируется посредством нулевого уровня шума, т.е. каждый из первых трех битов шумового заполнения имеет нулевое значение, за которыми следуют пять ненулевых битов (которые обычно представляют сдвиг шума), содержащие дополнительную информацию, относящуюся к разбиению преобразования, так же как и недостающему уровню шума. Существующий xHE-AAC декодер не учитывает значение 5-битового сдвига, если 3-битовый уровень шума равен нулю, присутствие только сигнализации 34 разбиения преобразования имеет воздействие на заполнение шумом в существующем декодере: заполнение шумом отключается, так как первые три бита являются нулевыми, и остаток операции декодирования выполняется как положено. В частности, разбитое преобразование обрабатывается как обыкновенный старт-стопный блок с помощью обратного преобразования с полной длиной (из-за вышеупомянутого перемежения коэффициентов), и обратное перемежение не выполняется. Поэтому, существующий декодер все равно предлагает "мягкое" декодирование расширенного потока данных/битового потока 20, так как ему не требуется заглушать выходной сигнал 22 или даже прерывать декодирование при достижении кадра типа с разбиением преобразования. Естественно, такой существующий декодер не способен обеспечить корректную реконструкцию кадров с разбитым преобразованием, приводя к ухудшенному качеству в подверженных воздействию кадрах, по сравнению с декодированием посредством соответствующего декодера в соответствии с Фиг. 1, например. Тем не менее, предполагая, что разбиение преобразования используется как положено, т.е. только в отношении переходного процесса или зашумленного ввода при низкой скорости передачи битов, качество посредством xHE-AAC декодера должно быть лучше, чем если подверженные воздействию кадры будут выброшены из-за глушения или иным образом будут приводить к явным ошибкам проигрывания.
Конкретно, расширение xHE-AAC кодера/декодера в сторону разбиения преобразования может быть таким как следует ниже.
В соответствии с вышеуказанным описанием, новый инструмент, который должен быть использован для xHE-AAC, может быть назван разбиением преобразования (TS). Это будет новый инструмент в кодере в частотной области для xHE-AAC или, например, MPEG-H 3D-Audio, основывающихся на USAC [4]. Разбиение преобразования будет тогда пригодным к использованию в отношении некоторых каналов сигнала переходного процесса в качестве альтернативы обычным длинным преобразованиям (которые приводят к размыванию временной характеристики, особенно опережающему эхо, при низкой скорости передачи битов) или восьми коротким преобразованиям (которые приводят к спектральным провалам и пузырьковым артефактам при низкой скорости передачи битов). TS может затем быть сигнализировано обратно полусовместимым образом посредством перемежения FD-коэффициентов в длинное преобразование, которое может быть корректно синтаксически проанализировано существующим MPEG-D USAC декодером.
Описание этого инструмента будет аналогичным вышеуказанному описанию. Когда TS активно в длинном преобразовании, используются два MDCT с половинной длиной вместо одного MDCT с полной длиной, и коэффициенты двух MDCT, т.е. 50 и 52, передаются построчно перемеженным образом. Перемеженная передача уже была использована, например, в случае со старт-(стопными) преобразованиями в FD, с коэффициентами первого по времени MDCT, помещенными при четных, и коэффициенты второго по времени MDCT, помещение при нечетных индексах (где индексирование начинается с нуля), но декодер, не способный справляться с старт-стопными преобразованиями, не будет способен корректно осуществлять синтаксический анализ потока данных. То есть, по причине разного контекста, используемого для энтропийного кодирования, коэффициенты частотной области служат таким старт-стопным преобразованием, переменным синтаксическим элементом, упрощенным до уменьшенных на половину преобразований, любой декодер, не способный поддерживать старт-стопные окна, будет должен игнорировать соответствующие кадры со старт-стопными окнами.
Кратко обращаясь к варианту осуществления, описанному выше, это означает, что декодер по Фиг. 1, за пределами уже изложенного описания, может быть способен в качестве альтернативы поддерживать дополнительную длину преобразования, т.е. подразделение некоторых кадров 26 на даже больше, чем два преобразования, с использованием сигнализации, которая расширяет сигнализацию 34. Касательно расположения рядом подразделений преобразования кадров 26, в отличие от разбитого преобразования, активированного с использованием сигнализации 34, однако, блок 12 извлечения FD-коэффициентов и блок 14 извлечения множителей масштабирования будут чувствительны к этой сигнализации, в том смысле, что их режим функционирования будет изменяться в зависимости от добавленной сигнализации в дополнение к сигнализации 34. К тому же, упрощенная передача TNS-коэффициентов, MS-параметров и параметров комплексного предсказания, привязанных к сигнализированному типу преобразования, отличному от типа с разбитым преобразованием согласно 56 и 59, будет требовать, чтобы каждый декодер был способен отвечать на, т.е. понимать, сигнализацию, выбирая между этими "известными типами преобразования" или кадрами, включающими в себя тип с длинным преобразованием согласно 60 и другими типами преобразований, такими, как тип преобразования, подразделяющий кадры на восемь коротких преобразований, как в случает с AAC, например. В этом случае, эта "известная сигнализация" будет идентифицировать кадры, для которых сигнализация 34 сигнализирует тип с разбитым преобразованием, как кадры типа с длинным преобразованием, так чтобы декодеры, не способные понять сигнализацию 34, интерпретировали эти кадры как кадры с длинным преобразованием, а не как кадры других типов, таких как кадры типа с 8 короткими преобразованиями.
Обращаясь снова к описанию возможного расширения xHE-AAC, некоторые операционные ограничения могут быть предусмотрены для того, чтобы встроить инструмент TS в этот механизм кодирования. Например, может быть обеспечена возможность использования TS только в длинном FD стартовом или старт-стопном окне. То есть, может быть запрошено, чтобы лежащий в основе синтаксический элемент window_sequence равнялся 1. Кроме того, из-за обратно полусовместимого сигнализирования, может быть требование, чтобы TS могло быть применено, только когда синтаксический элемент noiseFilling равен единице в синтаксическом контейнере UsacCoreConfig(). Когда сигнализировано, чтобы TS было активным, все FD-инструменты, кроме TNS и обратного MDCT, функционируют в отношении перемеженного (длинного) набора TS-коэффициентов. Это обеспечивает возможность для повторного использования сдвига диапазона множителей масштабирования и таблиц арифметического кодера с длинным преобразованием, также как и форм окон и длин перекрытий.
В нижеследующем представлены термины и определения, которые используются в нижеследующем для того, чтобы разъяснить, как стандарт USAC, описанный в [4] может быть расширен, чтобы предложить функциональность обратно совместимого TS, при этом иногда делается ссылка на разделы внутри этого стандарта для заинтересованного читателя.
Новым элементом данных может быть:
split_transformдвоичный флаг, указывающий, используется ли TS в текущем кадре и канале
Новыми вспомогательными элементами могут быть:
window_sequence  тип последовательности окна в FD для текущего кадра и канала (раздел 6.2.9)
noise_offset  сдвиг шумового заполнения для модифицирования множителей масштабирования квантованных до нуля диапазонов (раздел 7.2)
noise_level  уровень шумового заполнения, представляющий амплитуду добавленного шума спектра (раздел 7.2)
half_transform_length одна половина coreCoderFrameLength (ccfl, длина преобразования, раздел 6.1.1)
half_lowpass_line  одна половина числа MDCT-линий, переданных для текущего канала.
Декодирование старт-(стопного) преобразования в FD с использованием разбиения преобразования (TS) в механизме USAC может быть выполнено на совершенно последовательных этапах, которые следуют ниже:
Сначала, может быть выполнено декодирование split_transform и half_lowpass_line.
split_transform в действительности не будет представлять независимый элемент битового потока, но получается из элементов заполнения шумом, noise_offset и noise_level, и в случае UsacChannelPairElement(), флага common_window в StereoCoreToolInfo(). Если noiseFilling == 0, split_transform равно 0. В противном случае,
if ((noiseFilling != 0) && (noise_level == 0)) {
split_transform=(noise_offset & 16)/16;
noise_level=(noise_offset & 14)/2;
noise_offset=(noise_offset & 1) * 16;
}
else {
split_transform=0;
}
Другими словами, если noise_level == 0, noise_offset содержит флаг split_transform, за которым следует 4 бита данных заполнения шумом, которые затем перекомпоновываются. Так как эта операция изменяет значения noise_level и noise_offset, она должна исполняться до процесса заполнения шумом по разделу 7.2. Кроме того, если common_window == 1 в UsacChannelPairElement(), split_transform определяется только в левом (первом) канале; split_transform правого канала задается равным (т.е. скопированным из) split_transform левого канала, и вышеуказанный псевдокод не исполняется в правом канале.
half_lowpass_line определяется из таблицы сдвигов "длинного" диапазона множителей масштабирования, swb_offset_long_window, и max_sfb текущего канала, или в случае стерео и common_window == 1, max_sfb_ste.
max_sfb_ste с элементах с StereoCoreToolInfo() и common_window == 1, lowpass_sfb=max_sfb в противном случае. На основе флага igFilling получают half_lowpass_line:
if (igFilling != 0) {
lowpass_sfb=max(lowpass_sfb, ig_stop_sfb);
}
half_lowpass_line=swb_offset_long_window[lowpass_sfb]/2;
Затем, в качестве второго этапа, будет выполнено обратное перемежение спектров с половинной длиной для временного ограничения шума.
После деквантования спектра, заполнения шумом и применения множителей масштабирования и перед применением временного ограничения шума (TNS), TS-коэффициенты в spec[ ] перемежаются с использованием вспомогательного средства buffer[ ]:
for (i=0, i2=0; i < half_lowpass_line; i += 1, i2 += 2) {
spec[i]=spec[i2];  /* изолировать 1е окно */
buffer[i]=spec[i2+1];  /* изолировать 2е окно */
}
for (i=0; i < half_lowpass_line; i += 1) {
spec[i+half_lowpass_line]=buffer[i]; /* скопировать 2е окно */
}
Обратное перемежение по месту эффективно помещает два спектра TS с половинной длиной друг на друга, и инструмент TNS теперь функционирует как обычно в отношении результирующего псевдоспектра с полной длиной.
Обращаясь к вышеуказанному, такая процедура была описана по отношению к Фиг. 3.
Затем, в качестве третьего этапа, временное повторное перемежение может быть использовано вместе с двумя последовательными обратными MDCT.
Если common_window == 1 в текущем кадре или стереодекодирование выполняется после TNS-декодирования (tns_on_lr == 0 в разделе 7.8), должно быть осуществлено временное повторное перемежение spec[ ] в спектр с полной длиной:
for (i=0; i < half_lowpass_line; i += 1) {
buffer[i]=spec[i];     /* скопировать 1е окно */
}
for (i=0, i2=0; i < half_lowpass_line; i += 1, i2 += 2) {
spec[i2]=buffer[i];     /* поглотить 1е окно */
spec[i2+1]=spec[i+half_lowpass_line]; /* поглотить 2е окно */
}
Результирующий псевдоспектр используется для стереодекодирования (раздел 7.7) и для обновления dmx_re_prev[ ]
(разделы 7.7.2 и A.1.4). В случае tns_on_lr == 0, стереодекодированные спектры с полной длиной снова обратно перемежаются посредством повторения процесса из раздела A.1.3.2. Наконец, вычисляются 2 обратных MDCT с помощью ccfl и window_shape канала для текущего и последнего кадра. См. раздел 7.9 и Фигуру 1.
Некоторая модификация может быть сделана в стереодекодировании с комплексными предсказаниями для xHE-AAC.
Способ неявного обратно полусовместимого сигнализирования может быть использован в качестве альтернативы для того, чтобы встроить TS в xHE-AAC.
Вышеописанный подход, который использует один бит в битовом потоке для сигнализирования использования изобретательского разбиения преобразования, содержащегося в split_transform, изобретательскому декодеру. В частности, такое сигнализирование (назовем его явным обратно полусовместимым сигнализированием) обеспечивает нижеследующим существующим данным битового потока – здесь дополнительной информации заполнения шумом – возможность использования независимо от изобретательского сигнала: В настоящем варианте осуществления, данные заполнения шумом не зависят от данных разбиения преобразования, и наоборот. Например, данные заполнения шумом, состоящие их всех нулей (noise_level=noise_offset=0) могут быть переданы, хотя split_transform может удерживать любое возможное значение (являющееся двоичным флагом, либо 0, либо 1).
В случаях, когда такая строгая независимость между существующими и изобретательскими данными битового потока не требуется, и изобретательский сигнал является двоичным решением, можно избежать явной передачи бита сигнализирования, и вышеуказанное двоичное решение может быть сигнализировано посредством присутствия или отсутствия того, что может быть названо неявным обратно полусовместимым сигнализированием. Снова взяв вышеуказанный вариант осуществления в качестве примера, использование разбиения преобразования может быть передано просто посредством использования изобретательского сигнализирования: Есть noise_level равняется нулю, и, в то же время, noise_offset равняется нулю, то split_transform задается равным 1. Если и noise_level, и noise_offset не равны нулю, split_transform задается равным 0. Зависимость изобретательского неявного сигнала от существующего сигнала шумового заполнения проявляется, когда и noise_level, и noise_offset равны нулю. В этом случае, неясно, используется существующее или изобретательское неявное сигнализирование. Чтобы избежать такой неоднозначности, значение split_transform должно быть задано заранее. В настоящем примере, целесообразно задать split_transform=0, если данные заполнения шумом состоят из всех нулей, так как это то, что существующие кодеры без разбиения преобразования должны сигнализировать, когда заполнение шумом не должно быть использовано в кадре.
Проблемой, которую остается решить в случае неявного обратно полусовместимого сигнализирования, является то, как сигнализировать split_transform == 1 и в то же время без заполнения шумом. Как разъяснено, данные шумового заполнения не должны быть всеми нулями, и если требуется нулевая величина шума, noise_level ((noise_offset & 14)/2, как указано выше) должен равняться 0. Это оставляет только noise_offset ((noise_offset & 1)*16, как указано выше) большим, чем 0 в качестве решения. К счастью, значение noise_offset игнорируется, если заполнение шумом не выполняется в декодере, основанном на USAC [4], так этот подход оказывается целесообразным в настоящем варианте осуществления. Вследствие этого, сигнализирование split_transform в псевдокоде, как указано выше, может быть модифицировано, как следует ниже, с использованием сохраненного бита сигнализирования TS для передачи 2 битов (4 значения) вместо 1 бита для noise_offset:
if ((noiseFilling != 0) && (noise_level == 0) && (noise_offset != 0)) {
split_transform=1;
noise_level=(noise_offset & 28)/4;
noise_offset=(noise_offset & 3) * 8;
}
else {
split_transform=0;
}
Соответственно, применяя эту альтернативу, описание USAC может быть расширено с использованием ниже следующего описания.
Описание инструмента будет в большой степени таким же. То есть,
Когда разбиение преобразования (TS) активно в длинном преобразовании, вместо одного MDCT с полной длиной используются два MDCT с половинной длиной. Коэффициенты двух MDCT передаются построчно перемеженным образом как обыкновенное преобразование в частотной области (FD), причем коэффициенты первого по времени MDCT помещены при четных, и коэффициенты второго по времени MDCT помещены при нечетных индексах.
Операционные ограничения могут требовать, чтобы TS могло быть использовано только в длинном FD стартовом или старт-стопном окне (window_sequence == 1), и чтобы TS могло быть применено, только когда noiseFilling равно 1 в UsacCoreConfig(). Когда TS сигнализировано, все FD-инструменты, кроме TNS и обратного MDCT, функционируют в отношении перемеженного (длинного) набора TS-коэффициентов. Это обеспечивает возможность для повторного использования сдвига диапазона множителей масштабирования и таблиц арифметического кодера с длинным преобразованием, также как и форм окон и длин перекрытий.
Термины и определения, использованные в дальнейшем, затрагивают нижеследующие вспомогательные элементы
common_window указывает, используют ли канал 0 и канал 1 CPE идентичные параметры окна (см. ISO/IEC 23003-3:2012 раздел 6.2.5.1.1).
window_sequence тип последовательности окна в FD для текущего кадра и канала (см. ISO/IEC 23003-3:2012 раздел 6.2.9).
tns_on_lr Указывает режим функционирования для TNS-фильтрации (см. ISO/IEC 23003-3:2012 раздел 7.8.2).
noiseFilling Этот флаг сигнализирует использование заполнения шумом спектральных провалов в базовом кодере в FD (см. ISO/IEC 23003-3:2012 раздел 6.1.1.1).
noise_offset сдвиг шумового заполнения для изменения множителей масштабирования квантованных до нуля диапазонов (см. ISO/IEC 23003-3:2012 раздел 7.2).
noise_level уровень шумового заполнения, представляющий амплитуду добавленного шума спектра (см. ISO/IEC 23003-3:2012 раздел 7.2).
split_transform двоичный флаг, указывающий, используется ли TS в текущем кадре и канале.
half_transform_length одна половина coreCoderFrameLength (ccfl, длина преобразования, см. ISO/IEC 23003-3:2012 раздел 6.1.1).
half_lowpass_line одна половина из числа MDCT-линий, переданных для текущего канала.
Процесс декодирования, предусматривающий TS, может быть описан, как следует ниже. В частности, декодирование старт-(стопного) преобразования в FD с помощью TS выполняется в трех последовательных этапах, как следует ниже.
Сначала, выполняется декодирование split_transform и half_lowpass_line. Вспомогательный элемент split_transform не представляет независимый элемент битового потока, но получается из элементов заполнения шумом, noise_offset и noise_level, и в случае UsacChannelPairElement(), флага common_window в StereoCoreToolInfo(). Если noiseFilling == 0, split_transform равно 0. В противном случае,
if ((noiseFilling != 0) && (noise_level == 0)) {
split_transform=1;
noise_level=(noise_offset & 28)/4;
noise_offset=(noise_offset & 3) * 8;
}
else {
split_transform=0;
}
Другими словами, если noise_level == 0, noise_offset содержит флаг split_transform, за которым следует 4 бита данных заполнения шумом, которые затем переставляются. Так как эта операция изменяет значения noise_level и noise_offset, она должна исполняться до процесса заполнения шумом по ISO/IEC 23003-3:2012, разделу 7.2.
Кроме того, если common_window == 1 в UsacChannelPairElement(), split_transform определяется только в левом (первом) канале; split_transform правого канала задается равным (т.е. скопированным из) split_transform левого канала, и вышеуказанный псевдокод не исполняется в правом канале.
Вспомогательный элемент half_lowpass_line определяется из таблицы сдвигов "длинного" диапазона множителей масштабирования, swb_offset_long_window, и max_sfb текущего канала, или в случае стерео и common_window == 1, max_sfb_ste.
На основе флага igFilling получают half_lowpass_line:
if (igFilling != 0) {
lowpass_sfb=max(lowpass_sfb, ig_stop_sfb);
}
half_lowpass_line=swb_offset_long_window[lowpass_sfb]/2;
Затем, выполняется обратное перемежение спектров с половинной длиной для временного ограничения шума.
После деквантования спектра, заполнения шумом и применения множителей масштабирования и перед применением временного ограничения шума (TNS), TS-коэффициенты в spec[ ] перемежаются с использованием вспомогательного средства buffer[ ]:
for (i=0, i2=0; i < half_lowpass_line; i += 1, i2 += 2) {
spec[i]=spec[i2]; /* изолировать 1е окно */
buffer[i]=spec[i2+1]; /* изолировать 2е окно */
}
for (i=0; i < half_lowpass_line; i += 1) {
spec[i+half_lowpass_line]=buffer[i]; /* скопировать 2е окно */
}
Обратное перемежение по месту эффективно помещает два спектра TS с половинной длиной друг на друга, и инструмент TNS теперь функционирует как обычно в отношении результирующего псевдоспектра с полной длиной.
Наконец, могут быть использованы временное повторное перемежение и два последовательных обратных MDCT:
Если common_window == 1 в текущем кадре или стереодекодирование выполняется после TNS-декодирования (tns_on_lr == 0 в разделе 7.8), должно быть осуществлено временное повторное перемежение spec[ ] в спектр с полной длиной:
for (i=0; i < half_lowpass_line; i += 1) {
buffer[i]=spec[i]; /* скопировать 1е окно */
}
for (i=0, i2=0; i < half_lowpass_line; i += 1, i2 += 2) {
spec[i2]=buffer[i]; /* поглотить 1е окно */
spec[i2+1]=spec[i+half_lowpass_line]; /* поглотить 2е окно */
}
Результирующий псевдоспектр используется для стереодекодирования (ISO/IEC 23003-3:2012 раздел 7.7) и обновления dmx_re_prev[ ] (ISO/IEC 23003-3:2012 раздел 7.7.2) и в случает tns_on_lr == 0, стереодекодированные спектры с полной длиной снова обратно перемежаются посредством повторения процесса раздела. Наконец, вычисляются 2 обратных MDCT с помощью ccfl и window_shape канала для текущего и последнего кадра.
Обработка для TS следует описанию, приведенному в ISO/IEC 23003-3:2012 разделе "7.9 Filterbank и block switching". Должны быть учтены нижеследующие дополнения.
TS-коэффициенты в spec[ ] обратно перемежаются с использованием вспомогательного средства buffer[ ] с N, причем длина окна основана значении window_sequence:
for (i=0, i2=0; i < N/2; i += 1, i2 += 2) {
spec[0][i]=spec[i2]; /* изолировать 1е окно */
buffer[i]=spec[i2+1]; /* изолировать 2е окно */
}
for (i=0; i < N/2; i += 1) {
spec[1][i]=buffer[i]; /* скопировать 2е окно */
}
IMDCT для спектра TS с половинной длиной тогда задается как:
Последовательные этапы обработки методом окна и переключения блоков задаются в текстовых подразделах.
Разбиение преобразования с STOP_START_SEQUENCE будет выглядеть как нижеследующее описание:
STOP_START_SEQUENCE в комбинации с разбиением преобразования было изображено на Фиг. 2. Оно содержит два окна 56, 58 с половинной длиной с перекрытием и суммированием с использованием длины N_l/2, которая составляет 1024 (960, 768). N_s задано в значение 256 (240, 192) соответственно.
Окна (0,1) для двух IMDCT с половинной длиной заданы как следует ниже:
где для первого IMDCT применяются окна
и для второго IMDCT применяются окна
Перекрытие и суммирование между двумя окнами с половинной длиной, приводящие к значениям zi,n частотной области, обработанным методом окна, описано как следует ниже. Здесь, N_l задано в значение 2048 (1920, 1536), N_s в значение 256 (240, 192) соответственно:
Разбиение преобразования с LONG_START_SEQUENCE будет выглядеть как нижеследующее описание:
LONG_START_SEQUENCE в комбинации с разбиением преобразования было изображено на Фиг. 4. Он содержит три окна, заданных как следует ниже, где N_l/ задано в значение 1024 (960, 768), N_s задано в значение 256 (240, 192) соответственно.
Левая/правая половины окна задаются посредством:
,
Третье окно равняется левой половине LONG_START_WINDOW:
с
Перекрытие и суммирование между двумя окнами с половинной длиной, приводящие к промежуточным значениям  частотной области, обработанным методом окна, описано как следует ниже. Здесь, N_l задано в значение 2048 (1920, 1536), N_s в значение 256 (240, 192) соответственно.
Итоговые значения zi,n частотной области, обработанные методом окна, получаются посредством применения W2:
Независимо от того, используется ли явное или неявное обратно полусовместимое сигнализирование, каждое из которых было описано выше, некоторые модификации для стереодекодирования с комплексным предсказанием для xHE-AAC могут быть необходимы, для того, чтобы достигнуть значимого функционирования в отношении перемеженных спектров.
Модификация для стереодекодирования с комплексным предсказанием может быть реализована, как следует ниже.
Так как стереоинструменты в FD функционируют в отношении перемеженного псевдоспектра, когда TS активно в канальной паре, изменения для лежащей в основе обработки M/S или комплексного предсказания не требуются. Однако, получение понижающего микширования предыдущего кадра dmx_re_prev[ ] и вычисление MDST с понижающим микшированием dmx_im[ ] в ISO/IEC 23003-3:2012 разделе 7.7.2 должно быть адаптировано, если TS используется в канале либо последнего, либо текущего кадра:
use_prev_frame должно быть 0, если активность TS изменилась в канале либо последнего, либо текущего кадра. Другими словами, dmx_re_prev[ ] не должно быть использовано в этом случае из-за переключения длины преобразования.
Если TS было или является активным, dmx_re_prev[ ] и dmx_re[ ] точно определяют перемеженные псевдоспектры и должны быть подвергнуты обратному перемежению в их соответствующие два спектра TS с половинной длиной для корректного вычисления MDST.
При активности TS, 2 понижающие микширования MDST с половинной длиной вычисляются с использованием адаптированных коэффициентов фильтра (Таблицы 1 и 2) и перемеженных в спектр с полной длиной dmx_im[ ] (прямо как dmx_re[ ]).
window_sequence: Оценки MDST с понижающим микшированием вычисляются для каждой пары окон группы. use_prev_frame оценивается только для первой из двух пар половинных окон. Для оставшейся пары окон, предшествующая пара окон всегда используется для оценки MDST, что предполагает use_prev_frame=1.
Формы окон: Параметры оценки MDST для текущего окна, которые являются коэффициентами фильтра, как описано ниже, зависят от форм левой и правой половин окна. Для первого окна, это означает, что параметры фильтра являются функцией флагов window_shape текущего и предыдущего кадров. Остающееся окно подвергается воздействию только текущего window_shape.
Таблица 1Параметры MDST-фильтра для текущего окна (filter_coefs)
Текущая последовательность окна
Левая половина: Синусоидальная форма Правая половина: Синусоидальная форма
Левая половина: Форма KBD Правая половина: Форма KBD
LONG_START_SEQUENCEStop_START_SEQUENCE
[0,185618f, -0,000000f, 0,627371f,0,000000f,-0,627371f, 0,000000f, -0,185618f]
[0,203599f, -0,000000f, 0,633701f,0,000000f,-0,633701f, 0,000000f, -0,203599f]
Текущая последовательность окна
Левая половина: Синусоидальная форма Правая половина: Форма KBD
Левая половина: Форма KBD Правая половина: Синусоидальная форма
LONG_START_SEQUENCEStop_START_SEQUENCE
[0,194609f, 0,006202f, 0,630536f, 0,000000f,-0,630536f, -0,006202f, -0,194609f]
[0,194609f, -0,006202f, 0,630536f, 0,000000f,-0,630536f, 0,006202f, -0,194609f]
Таблица 2Параметры MDST-фильтра для предыдущего окна (filter_coefs_prev)
Текущая последовательность окна
Левая половина текущего окна: Синусоидальная форма
Левая половина текущего окна: Форма KBD
LONG_START_SEQUENCEStop_START_SEQUENCE
[0,038498, 0,039212, 0,039645,0,039790,0,039645, 0,039212, 0,038498]
[0,038498, 0,039212, 0,039645,0,039790,0,039645, 0,039212, 0,038498]
Наконец, Фиг. 5 показывает для полноты описания возможный аудиокодер в частотной области, поддерживающий переключение длины преобразования, согласующееся с вариантами осуществления, обозначенными выше. То есть, кодер по Фиг. 5, который в общем указан с использованием ссылочного обозначения 100, способен кодировать аудиосигнал 102 в поток 20 данных таким образом, что декодер по Фиг. 1 и соответствующие варианты, описанные выше, способны воспользоваться преимуществом модели разбиения преобразования для некоторых из кадров, хотя "устаревшие" декодеры все еще способны обрабатывать кадры с TS без синтаксического анализа ошибок или подобного.
n
-n
Кодер 100 по Фиг. 5 содержит преобразователь 104, блок 106 обратного масштабирования, блок 108 вставки коэффициентов частотной области и блок 110 вставки множителей масштабирования. Преобразователь 104 принимает аудиосигнал 102, который должен быть кодирован, и выполнен с возможностью подвергания участков временной области аудиосигнала преобразованию для получения коэффициентов частотной области для кадров аудиосигнала. В частности, как стало ясно из вышеуказанного рассмотрения, преобразователь 104 принимает решение на покадровой основе в отношении того, какое подразделение этих кадров 26 на преобразования – или окна преобразования - использовать. Как описано выше, кадры 26 могут быть равной длины, и преобразованием может быть преобразование с перекрытием, использующим перекрывающиеся преобразования с разными длинами. Фиг. 5 иллюстрирует, например, что кадр 26a подвергается одному длинному преобразованию, кадр 26b подвергается разбиению преобразования, т.е. двум преобразованиям с половинной длиной, и дополнительно показано подвержение кадра 26c более, чем двум, т.е. 2>2, даже более коротким преобразованиям с длинной длинного преобразования 2. Как описано выше, поэтому, кодер 100 способен адаптировать спектро-временное разрешение спектрограммы, представленной посредством преобразования с перекрытием, выполненного преобразователем 104, к переменному во времени аудиоконтенту или виду аудиоконтента аудиосигнала 102.
То есть, коэффициенты частотной области возникают на выходе преобразователя 104, представляющего спектрограмму аудиосигнала 102. Блок 106 обратного масштабирования соединен с выходом преобразователя 104 и выполнен с возможностью обратного масштабирования, и одновременного квантования, коэффициентов частотной области согласно множителям масштабирования. Примечательно, блок обратного масштабирования функционирует в отношении частотных коэффициентов по мере их получения преобразователем 104. То есть, блок 106 обратного масштабирования должен, необязательно, знать о присвоении длины преобразования или присвоении режима преобразования кадрам 26. Отметим также, что блок 106 обратного масштабирования должен определить множители масштабирования. Блок 106 обратного масштабирования, в этой связи, например, является частью цикла обратной связи, который оценивает психоакустический порог маскирования, определенный для аудиосигнала 102, так чтобы сохранить шум квантования, введенный квантованием и постепенно заданный согласно множителям масштабирования, ниже психоакустического порога обнаружения как можно дальше с или без соблюдения некоторого ограничения скорости передачи битов.
На выходе блока 106 обратного масштабирования, выводятся множители масштабирования и обратно масштабированные и квантованные коэффициенты частотной области, и блок 110 вставки множителей масштабирования выполнен с возможностью вставки множителей масштабирования в поток 20 данных, тогда как блок 108 вставки коэффициентов частотной области выполнен с возможностью вставки коэффициентов частотной области кадров аудиосигнала, обратно масштабированных и квантованных согласно множителям масштабирования, в поток 20 данных. Соответствующим декодеру образом, оба блока 108 и 110 вставки функционируют независимо от режима преобразования, ассоциированного с кадрами 26, поскольку рассматривается расположение рядом кадров 26a режима длинного преобразования и кадров 26b режима разбиения преобразования.
Другими словами, блоки 110 и 108 вставки функционируют независимо от сигнализации 34, упомянутой выше, с возможностью сигнализации которой, или передачи, в поток 20 данных для кадров 26a и 26b, соответственно, выполнен преобразователь 104.
Другими словами, в вышеуказанном варианте осуществления, это преобразователь 104, который соответствующим образом размещает коэффициенты преобразования кадров с длинным преобразованием и с разбитым преобразованием, а именно посредством простого последовательного размещения или перемежения, и блок вставки работает действительно независимо от 109. Но в более общем смысле достаточно, если независимость блока вставки коэффициентов частотной области от сигнализации ограничивается вставкой последовательности коэффициентов частотной области каждого из кадров с длинным преобразованием и с разбитым преобразованием аудиосигнала, отмасштабированных посредством обратного масштабирования согласно множителям масштабирования, в поток данных, в том, что, в зависимости от сигнализации, последовательность коэффициентов частотной области формируется посредством последовательной компоновке коэффициентов частотной области одного преобразования соответствующего кадра неперемеженным образом в случае, когда кадр является кадром с длинным преобразованием, и посредством перемежения коэффициентов частотной области более, чем одного преобразования соответствующего кадра в случае, когда соответствующий кадр является кадром с разбитым преобразованием.
Поскольку рассматривается блок 108 вставки коэффициентов частотной области, тот факт, что блок 108 вставки коэффициентов частотной области функционирует независимо от сигнализации 34, осуществляющей различие между кадрами 26a с одной стороны и кадрами 26b с другой стороны, означает, что блок 108 вставки вставляет коэффициенты частотной области кадров аудиосигнала, отмасштабированные посредством обратного масштабирования согласно множителям масштабирования, в поток 20 данных последовательным образом в случае одного преобразования, выполненного для соответствующего кадра, неперемеженным образом, и вставляет коэффициенты частотной области соответствующих кадров с использованием перемежения в случае более, чем одного преобразования, выполненного для соответствующего кадра, а именно двух в примере по Фиг. 5. Однако, как уже отмечено выше, режим разбиения преобразования может также быть реализован по-другому, так чтобы разбить одно преобразование на более, чем два преобразования.
Наконец, следует отметить, что кодер по Фиг. 5 может также быть адаптирован для выполнения всех других дополнительных мер кодирования, обозначенных выше по отношению к Фиг. 2, таких как MS-кодирование, комплексное стереопредсказание 42 и TNS с помощью, в этой связи, определения их соответствующих параметров 44, 48 и 64.
Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствует этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента или признака соответствующего устройства. Некоторые или все из этапов способа могут быть выполнены посредством (или используя) аппаратного устройства, как например, микропроцессора, программируемого компьютера или электронной схемы. В некоторых вариантах осуществления, некоторый один или более из наиболее важных этапов способа могут быть выполнены таким устройством.
В зависимости от некоторых требований реализации, варианты осуществления данного изобретения могут быть реализованы в аппаратных средствах или программном обеспечении. Данная реализация может быть выполнена, используя цифровую среду хранения, например, floppy-диск, DVD, Blue-Ray, CD, ROM, PROM, EPROM, EEPROM или flash-память, имеющий электронно-считываемые сигналы управления, хранящиеся на нем, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой, так чтобы выполнялся соответствующий способ. Вследствие этого, цифровой носитель информации может быть компьютерно-читаемым.
Некоторые варианты осуществления согласно данному изобретению содержат носитель данных, имеющий электронно-считываемые сигналы управления, которые способны взаимодействовать с программируемой компьютерной системой, так чтобы выполнялся один из способов, описанных в настоящем документе.
В общем, варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, причем программным кодом, действующим для выполнения одного из способов, когда компьютерный программный продукт запускается на компьютере. Программный код может, например, храниться на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для выполнения одного из способов, описанных в настоящем документе, хранящихся на машиночитаемом носителе.
Другими словами, вариант осуществления изобретательского способа, вследствие этого, является компьютерной программой, имеющей программный код для выполнения одного из способов, описанных в настоящем документе, когда компьютерная программа запускается на компьютере.
Дополнительный вариант осуществления изобретательских способов, вследствие этого, является носителем данных (или цифровой средой хранения или компьютерно-читаемой средой), содержащей, записанную на нем, компьютерную программу для выполнения одного из способов, описанных в настоящем документе. Носитель данных, цифровой носитель информации или носитель записи обычно являются материальными и/или невременными.
Дополнительный вариант осуществления изобретательского способа, вследствие этого, является потоком данных или последовательностью сигналов, представляющих компьютерную программу для выполнения одного из способов, описанных в настоящем документе. Поток данных или последовательность сигналов могут, например, быть выполнены с возможностью пересылки посредством соединения связи, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер, или программируемое логическое устройство, выполненное с возможностью или адаптированное для выполнения одного из способов, описанных в настоящем документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную на нем компьютерную программу для выполнения одного из способов, описанных в настоящем документе.
Дополнительный вариант осуществления согласно данному изобретению содержит устройство или систему, выполненную с возможностью пересылки в приемник (например, электронным образом или оптическим образом) компьютерной программы для выполнения одного из способов, описанных в настоящем документе. Приемник может, например, быть компьютером, мобильным устройством, запоминающим устройством или подобным. Устройство или система могут, например, содержать файл-сервер для пересылки компьютерной программы в приемник.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может быть использовано для выполнения некоторых или всех функциональных возможностей способов, описанных в настоящем документе. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором для выполнения одного из способов, описанных в настоящем документе. В общем, способы предпочтительно выполняются любым аппаратным устройством.
Вышеописанные варианты осуществления являются лишь иллюстративными для принципов настоящего изобретения. Следует понимать, что модификации и вариации данных компоновок и сведений, описанных в настоящем документе, будут понятны специалистам в данной области техники. Вследствие этого, они должны быть ограничены только объемом предстоящей формулы изобретения, а не конкретными сведениями, представленными с целью описания и разъяснения вариантов осуществления в настоящем документе.
Использованная литература
[1] Рабочая группа инженерной поддержки Интернет (IETF), RFC 6716, "Definition of the Opus Audio Codec", предложенный стандарт, сентябрь 2012. Доступно в сети по адресу http://tools.ietf.org/html/rfc6716.
[2] Международная организация по стандартизации, ISO/IEC 14496-3:2009, "Information Technology – Coding of audio-visual objects – Part 3: Audio", Женева, Швецария, август 2009.
[3] M. Neuendorf et al., "MPEG Unified Speech и Audio Coding – The ISO/MPEG Standard for High-Efficiency Audio Coding of All Content Types", in Proc. 132ая конвенция AES, Будапешт, Венгрия, апрель 2012. Также должно появиться в Журнале AES, 2013.
[4] Международная организация по стандартизации, ISO/IEC 23003-3:2012, "Information Technology – MPEG audio – Part 3: Unified speech и audio coding", Женева, январь 2012.
[5] J.D.Johnston и A.J.Ferreira, "Sum-Difference Stereo Transform Coding", in Proc. IEEE ICASSP-92, том 2, март 1992.
[6] N.Rettelbach, et al., патент Европы EP2304719A1, "Audio Encoder, Audio Decoder, Methods for Encoding and Decoding an Audio Signal, Audio Stream and Computer Program", апрель 2011.