КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ ПОЗИЦИЙ СЛОТОВ С СОБЫТИЯМИ В КАДРЕ АУДИОСИГНАЛА
ENCODING AND DECODING OF SLOT POSITIONS WITH EVENTS IN AUDIO SIGNAL FRAME

Настоящее изобретение относится к области обработки аудио и аудиокодирования, в частности к кодированию и декодированию позиций слотов с событиями в кадре аудиосигнала.
Обработка аудио и/или аудиокодирование продвинулись во многих отношениях. В частности, применения пространственного аудио становятся все более важными. Обработка аудиосигнала часто используется для декорреляции или воспроизведения сигналов. Более того, декорреляция и воспроизведение сигналов используется в процессе повышающего микширования моно-стерео (из моно в стерео), повышающего микширования из моно/стерео в многоканальный формат, для искусственной реверберации, расширения стерео или взаимодействующего с пользователем микширования/воспроизведения.
Некоторые системы обработки аудиосигнала используют декорреляторы. Важным примером является применение декорреляции сигналов в параметрических пространственных аудиодекодерах для восстановления конкретных свойств декорреляции между двумя или более сигналами, которые реконструируются из одного или нескольких сигналов, полученных понижающим микшированием. Применение декорреляторов значительно улучшает воспринимаемое качество выходного сигнала, например, при сравнении со стерео на основе интенсивности сигнала. Конкретно, использование декорреляторов обеспечивает возможность правильного синтеза пространственного звука с широкой фонограммой, несколькими одновременно действующими звуковыми объектами и/или окружением. Однако также известно, что декорреляторы вносят артефакты, такие как изменения во временной структуре сигнала, тембре и т.д.
Другими примерами декорреляторов при обработке аудио являются, например, генерирование искусственной реверберации для изменения пространственного впечатления или использование декорреляторов в многоканальных акустических системах эхоподавления для улучшения характера сходимости.
Одной важной схемой пространственного аудиокодирования является параметрическое стерео (PS). На фиг.1 проиллюстрирована структура моно-стерео декодера. Одиночный декоррелятор генерирует декоррелированный сигнал D ("обработанный" сигнал) из входного моносигнала M ("необработанного" сигнала). Декоррелированный сигнал D затем подается в микшер вместе с сигналом M. Затем микшер применяет матрицу H микширования к входным сигналам M и D для генерирования выходных сигналов L и R. Коэффициенты в матрице H микширования могут быть фиксированными, зависимыми от сигнала или управляемыми пользователем.
В качестве альтернативы, матрица микширования управляется дополнительной информацией, которая передается вместе с понижающим микшированием и содержит параметрическое описание того, как осуществить повышающее микширование сигналов понижающего микширования для формирования желаемого многоканального выходного сигнала. Пространственная дополнительная информация обычно генерируется во время процесса понижающего микширования до моно в соответственном кодере сигнала.
Пространственное аудиокодирование, как описано выше, широко применяется, например, в параметрическом стерео. Типичная структура декодера параметрического стерео показана на фиг.2. На фиг.2 декорреляция выполняется в области преобразования. Пространственные параметры могут быть модифицированы пользователем или дополнительными инструментами, например, посредством пост-обработки для бинаурального воспроизведения/представления. В этом случае параметры повышающего микширования объединяются с параметрами из бинауральных фильтров, чтобы вычислить входные параметры для матрицы микширования.
Выходной сигнал L/R матрицы H микширования вычисляется из входного моносигнала M и декоррелированного сигнала D.
В матрице микширования величиной декоррелированного звука, поданного на выход, управляют на основании переданных параметров, например межканальных разностей уровней частот (ILD), межканальной корреляции/когерентности (ICC) и/или фиксированных или заданных пользователем настроек.
Концептуально, выходной сигнал выхода D декоррелятора заменяет остаточный сигнал, который в идеале обеспечил бы возможность идеального декодирования первоначальных L/R сигналов. Использование выхода D декоррелятора вместо остаточного сигнала в повышающем микшере приводит к сбережению битовой скорости, которая иначе потребовалась бы для передачи остаточного сигнала. Целью декоррелятора, таким образом, является сгенерировать сигнал D из моносигнала M, который показывает аналогичные свойства, как и остаточный сигнал, который заменяется посредством D. Сделана ссылка на документ:
th
[1] J. Breebaart, S. van de Par, A. Kohlrausch, E. Schuijers, "High-Quality Parametric Spatial Audio Coding at Low Bitrates" in Proceedings of the AES 116 Convention, Berlin, Preprint 6072, May 2004.
Рассматривая MPEG Surround (MPS), структуры, аналогичные PS, называемые блоками преобразования из одного канала в два (OTT-блоки), используются в деревьях пространственного аудиодекодирования. Это может выглядеть как обобщение концепции повышающего микширования моно-стерео для схем многоканального пространственного аудиокодирования/аудиодекодирования. В MPS также существуют системы повышающего микширования из двух каналов в три (TTT-блоки), которые могут применять декорреляторы в зависимости от TTT-режима работы. Подробности описаны в документе:
th
[2] J. Herre, K. Kjorling, J. Breebaart, et al., "MPEG surround - the ISO/MPEG standard for efficient and compatible multi-channel audio coding", in Proceedings of the 122 AES Convention, Vienna, Austria, May 2007.
Что касается направленного аудиокодирования (DirAC), DirAC относится к схеме параметрического кодирования звукового поля, которая не ограничена фиксированным числом каналов выходного аудиосигнала с фиксированными позициями громкоговорителей. DirAC применяет декорреляторы в блоке воспроизведения DirAC, т.е. в пространственном аудиодекодере для синтеза некогерентных составляющих звуковых полей. Направленное аудиокодирование дополнительно описано в:
[3] Pulkki, Ville: "Spatial Sound Reproduction with Directional Audio Coding", в J. Audio Eng. Soc., Vol. 55, № 6, 2007.
Касательно декорреляторов предшествующего уровня техники, сделана ссылка на документы:
[4] ISO/IEC International Standard "Information Technology - MPEG audio technologies - Part1: MPEG Surround", ISO/IEC 23003-1:2007.
th
[5] J. Engdegard, H. Purnhagen, J. Roden, L. Liljeryd, "Synthetic Ambience in Parametric Stereo Coding" in Proceedings of the AES 116 Convention, Preprint, May 2004.
Решетчатые частотнонезависимые IIR-структуры используются в качестве декорреляторов в пространственных аудиодекодерах, таких как MPS [2, 4]. Другие декорреляторы предшествующего уровня техники (потенциально частотнозависимые) применяют задержки к декоррелированным сигналам или свертывают входные сигналы, например, с экспоненциально затухающими шумовыми выбросами. Для обзора декорреляторов предшествующего уровня техники для пространственных аудиосистем повышающего микширования сделана ссылка на документ [5]: "Synthetic Ambience in Parametric Stereo Coding".
В общем, известно, что стерео или многоканальные подобные аплодисментам сигналы, кодированные/декодированные в параметрических пространственных аудиокодерах, приводят к уменьшенному качеству сигнала. Подобные аплодисментам сигналы характеризуются содержанием достаточно частых примесей транзиентов с разных направлений. Примерами для таких сигналов являются аплодисменты, звук дождя, скачущие лошади и т.д. Подобные аплодисментам сигналы часто также содержат составляющие звука от удаленных источников звука, которые ощутимо сливаются с шумоподобным, сглаженным фоновым звуковым полем.
Решетчатые частотнонезависимые структуры, используемые в пространственных аудиодекодерах, таких как MPEG Surround, действуют как генераторы искусственной реверберации и поэтому хорошо подходят для генерирования однородных, сглаженных, шумоподобных, инверсивных звуков (таких как реверберационные хвосты в помещении). Однако они являются примерами звуковых полей с неоднородной пространственно-временной структурой, которые все же создают погружение слушателя: одним заметным примером являются подобные аплодисментам звуковые поля, которые создают охват слушателя не только посредством однородных шумоподобных полей, но также посредством достаточно частых последовательностей одиночных хлопков с разных направлений. Поэтому неоднородная составляющая звуковых полей аплодисментов может характеризоваться пространственно распределенной примесью транзиентов. Эти отличимые хлопки вовсе не являются однородными, сглаженными и шумоподобными.
Из-за их подобного реверберации поведения, решетчатые частотнонезависимые декорреляторы не способны генерировать иммерсивные звуковые поля с характеристиками, например, аплодисментов. Вместо этого, при применении к подобным аплодисментам сигналам они имеют склонность к временному размытию транзиентов в сигнале. Нежелательным результатом является шумоподобное иммерсивное звуковое поле без отличительной пространственно-временной структуры подобных аплодисментам звуковых полей. Кроме того, события транзиентов, такие как одиночные хлопки руками, могут вызывать звенящие артефакты фильтров декоррелятора.
USAC (унифицированное речевое и аудиокодирование) является стандартом аудиокодирования для кодирования речи и аудио и их смешения с разными битовыми скоростями.
Воспринимаемое качество USAC может быть дополнительно улучшено при стереокодировании аплодисментов и подобных аплодисментам звуков с битовыми скоростями в пределах 32 кбит/с, когда применимы методы параметрического стереокодирования. Элементы аплодисментов, кодированные с помощью USAC, имеют склонность показывать узкую звуковую сцену и недостаток охвата, если внутри кодека не применяется выделенная обработка аплодисментов. Во многом методы стереокодирования USAC и их ограничения были унаследованы от MPEG Surround (MPS). Однако USAC предлагает выделенную адаптацию для требования правильной обработки аплодисментов. Вышеупомянутая адаптация называется управляющим транзиентами декоррелятором (TSD) и является вариантом осуществления этого изобретения.
Сигналы аплодисментов можно представить составленными из одиночных, отличимых близких хлопков, временно разделенных несколькими миллисекундами, и наложенного шумоподобного окружения, возникающего из-за очень частых отдаленных хлопков. В параметрическом стереокодировании с разумной скоростью дополнительной информации детализация наборов пространственных параметров (межканальной разности уровней частот, межканальной корреляции и т.д.) является чересчур низкой, чтобы гарантировать достаточное пространственное перераспределение одиночных хлопков, приводя к недостатку охвата. Дополнительно, хлопки подвергаются обработке решетчатым частотнонезависимым декоррелятором. Это неизбежно порождает временную дисперсию транзиентов и дополнительно уменьшает субъективное качество.
Использование управляющего транзиентами декоррелятора (TSD) внутри USAC-декодера приводит к модификации MPS-обработки. Основополагающая идея такого подхода состоит в решении проблемы декорреляции аплодисментов, как следует ниже:
- Отделить транзиенты в QMF-области до решетчатого частотнонезависимого декоррелятора, т.е.: разделить входной сигнал декоррелятора на поток s2 с транзиентами и поток s1 без транзиентов.
- Подать поток с транзиентами на другой управляемый параметрами декоррелятор, который хорошо подходит для примесей транзиентов.
- Подать поток без транзиентов на частотнонезависимый MPS-декоррелятор.
1
2
- Сложить выходные сигналы обоих декорреляторов D и D, чтобы получить декоррелированный сигнал D.
На фиг.3 проиллюстрирована конфигурация преобразования из одного канала в два (OTT) внутри USAC-декодера. U-образный блок обработки транзиентов по фиг.3 содержит параллельный тракт сигнала, предлагаемый для обработки транзиентов.
Два параметра, которые управляют TSD-процессом, передаются как частотнонезависимые параметры из кодера в декодер (см. фиг.3):
- Двоичное решение "транзиенты/без транзиентов" детектора транзиентов, выполняющегося в кодере, используется для управления отделением транзиентов с детализацией временных слотов QMF в декодере. Эффективная схема кодирования без потерь используется для передачи данных о позициях слотов QMF с транзиентами.
- Действительные параметры декоррелятора транзиентов, которые нужны для декоррелятора транзиентов, чтобы управлять пространственным распределением транзиентов. Параметры декоррелятора транзиентов обозначают угол между понижающим микшированием и его остатком. Эти параметры передаются только для временных слотов, в которых на кодере было обнаружено содержание транзиентов.
Для того чтобы оценить качество вышеописанной технологии, были проведены две проверки на прослушивание MUSHRA в управляемой среде проверки на прослушивание с использованием высококачественных электростатических наушников STAX. Проверка выполнялась при конфигурации стерео 32 кбит/с и 16 кбит/с. Шестнадцать экспертных слушателей участвовали в каждой из проверок.
Так как набор для проверки USAC не содержит элементов аплодисментов, чтобы продемонстрировать преимущество предложенной технологии, были выбраны дополнительные элементы аплодисментов. Элементы, приведенные в таблице 1, были включены в проверку:
Таблица 1Элементы проверки на прослушивание
Элемент
Свойства
ARL_applause
аплодисменты с частотой от низкой к средней (элемент набора для проверки MPS)
applause4s
очень частые аплодисменты, содержащие несколько отличимых хлопков
Applse_2ch
частые многоканальные аплодисменты - передние каналы (элемент набора для проверки MPS)
Applse_st
частые многоканальные аплодисменты - понижающее микширование до стерео (элемент набора для проверки MPS)
Klatschen
сигнал редких аплодисментов
Что касается обычных двенадцати элементов проверки на прослушивание MPEG USAC, TSD всегда неактивен. Однако эти элементы не остаются точно идентичными по битам, так как в битовый поток дополнительно включен бит включения TSD (указывающий, что TSD отключен), и, таким образом, это немного воздействует на битовый бюджет для базового кодера. Так как эти отличия очень малы, эти элементы не были включены в проверку на прослушивание. Предоставляются данные по размеру этих отличий, чтобы показать, что эти изменения ничтожны и незаметны.
Инструмент кодека, называемый inter-TES, является частью эталонной модели 8 (RM8) USAC. Так как этот метод был представлен для улучшения воспринимаемого качества транзиентов, включающих в себя подобные аплодисментам сигналы, inter-TES был всегда включен при каждом условии проверки. При такой установке гарантируется наилучшее возможное качество и демонстрируется ортогональность inter-TES и TSD.
Проверки системы имеют следующие конфигурации:
- RM8: система RM8 USAC
- CE: система RM8 USAC, расширенная посредством управляющего транзиентами декоррелятора (TSD)
На фиг.4 и 5 изображены баллы MUSHRA вместе с их 95%-ми доверительными интервалами для сценария проверки при 32 кбит/с. Для данных проверки было предложено t-распределение Стьюдента. Абсолютные баллы на фиг.4 показывают более высокий средний балл для всех элементов, для четырех из пяти элементов существует значительное улучшение в смысле 95% достоверности. Ни один элемент не ухудшился в отличие от RM8. Разностные баллы для USAC+TSD, оцененные в базовом эксперименте (CE) TSD по отношению к RM8 USAC, нанесены на фиг.5. Здесь может быть видно значительное улучшение для всех элементов.
Для схемы проверки при 16 кбит/с на фиг.6 и 7 изображены баллы MUSHRA вместе с их 95%-ми доверительными интервалами. Было предложено t-распределение Стьюдента для данных. Абсолютные баллы на фиг.6 показывают более высокий средний балл для каждого элемента. Для одного элемента может быть видна значимость в смысле 95% достоверности. Ни один элемент не имеет худшего балла, чем RM8. Разностные баллы нанесены на фиг.7. Снова было продемонстрировано значительное улучшение для всех элементов по отношению к разным данным.
Инструмент TSD включается посредством флага bsTsdEnable, передаваемого в битовом потоке. Если TSD включен, действительное разделение транзиентов управляется посредством флагов обнаружения транзиентов TsdSepData, которые также передаются в битовом потоке и которые кодируются в bsTsdCodedPos в случае, когда TSD включен.
В кодере флаг включения TSD bsTsdEnable генерируется посредством сегментного классификатора. Флаги обнаружения транзиентов TsdSepData задаются детектором транзиентов.
Как уже отмечено, TDS не активируется для двенадцати элементов проверки MPEG USAC. Для пяти дополнительных элементов аплодисментов активация TSD изображена на фиг.8, отображающей логическое состояние bsTsdEnable в зависимости от времени.
Если TSD активирован, транзиенты обнаруживаются в определенных временных слотах QMF, и они впоследствии подаются на выделенный декоррелятор транзиентов. Для каждого дополнительного элемента проверки таблица 2 приводит проценты слотов внутри активированных посредством TSD кадров, которые содержат транзиенты.
Таблица 2Процент слотов с транзиентами (частота слотов с транзиентами в % из всех временных слотов TSD-кадров)
Элемент
Частота слотов с транзиентами (%)
ARL_applause
23,4
Applause4s
20,1
applse_2ch
24,7
applse_st
23,8
Klatschen
21,3
Передача решений отделения транзиентов и параметров декоррелятора из кодера в декодер требует определенной величины дополнительной информации. Однако эта величина с избытком компенсируется сбережениями битовой скорости, возникающими из-за передачи пространственных широкополосных меток внутри MPS.
Вследствие этого, средняя битовая скорость дополнительной информации MPS+TSD даже ниже, чем битовая скорость дополнительной информации простого MPS при простом USAC, как приведено в первом столбце таблицы 3. В предложенной конфигурации, использованной для оценки субъективного качества, средние битовые скорости, приведенные во втором столбце таблицы 3, были измерены для TDS:
Таблица 3Битовые скорости MPS(+TSD) в бит/с в рамках сценария со стереокодеком 32 кбит/с
Элемент
Средняя битовая скорость (бит/с) дополнительной информации MPS(+TSD)
простое USAC RM8
USAC с TSD
ARL_applause
2966
2345
Applause4s
2754
2278
applse_2ch
3000
2544
applse_st
2735
2253
Klatschen
2950
2495
Сложность вычисления TSD возникает из-за
- декодирования позиций слотов с транзиентами,
- сложности декоррелятора транзиентов.
Предполагая длину пространственного кадра MPEG Surround в 32 временных слота, декодирование позиций слотов требует (64 делений + 80 умножений) на каждый пространственный кадр в худшем случае, т.е. 64*25+80=1680 операций на каждый пространственный кадр.
Игнорируя операции копирования и условные операторы, сложность декоррелятора транзиентов определяется одним комплексным умножением на каждый слот и гибридным диапазоном QMF.
Это приводит к следующим числам общей сложности TSD, показанным в сравнении с числами сложности простого USAC в таблице 4:
Таблица 4Сложность TSD-декодера в МОПС (миллионах операций в секунду) и относительно сложности простого USAC-декодера
Сложность простого USAC, в МОПС
TSD: сложность декоррелятора транзиентов, в МОПС
TSD: сложность декодера позиций столов, в МОПС
∑(сложность TSD), в МОПС
∑(сложность TSD) относительно простого USAC
16 кбит/с стерео (f<sub>s</sub>=28,8 кГЦ)
8,7
0,117
0,024
0,141
1,62%
32 кбит/с стерео (f<sub>s</sub>=40 кГц)
13,2
0,163
0,033
0,196
1,48%
Итак, данные проверки на прослушивание ясно показывают значительное улучшение субъективного качества сигналов аплодисментов в разностных баллах всех элементов в обеих рабочих точках. В том, что касается абсолютных баллов, все элементы при условии TSD показывают более высокий средний балл. Для 32 кбит/с значительное улучшение существует для четырех из пяти элементов. Для 16 кбит/с один элемент показывает значительное улучшение. Ни один элемент не имеет худшего балла, чем RM8. Улучшение достигается при ничтожных вычислительных затратах, как может быть видно из данных о сложности. Это дополнительно подчеркивает преимущество инструмента TSD для USAC.
Вышеописанный управляющий транзиентами декоррелятор значительно улучшает обработку аудио при USAC. Однако, как было также видно выше, управляющий транзиентами декоррелятор требует информации о существовании или несуществовании транзиентов в конкретном слоте. При USAC, информация о временных слотах может быть передана на покадровой основе. Кадр содержит несколько, например 32, временных слота. Вследствие этого следует осознавать, что кодер также передает информацию о том, какие слоты содержат транзиенты, на покадровой основе. Уменьшение числа битов, которые должны быть переданы, является критичным при обработке аудиосигнала. Поскольку даже одиночная аудиозапись содержит огромное число кадров, это означает, что даже если число битов, которые должны быть переданы для каждого кадра, уменьшено всего лишь на несколько битов, общая скорость передачи битов может быть значительно уменьшена.
Проблема декодирования позиций слотов с событиями в кадре аудиосигнала, однако, не ограничивается проблемой декодирования транзиентов. Более того, было бы полезно декодировать также позиции слотов других событий, как, например, является ли слот кадра аудиосигнала тональным (или нет), содержит ли он шумы (или нет) и подобных. В действительности, устройство для эффективного кодирования и декодирования позиций слотов с событиями в кадре аудиосигнала было бы очень полезным для большого числа разного рода событий.
Когда этот документ ссылается на слоты или позиции слотов кадра аудиосигнала, слоты в этом смысле могут быть временными слотами, частотными слотами, частотно-временными слотами или любым другим типом слотов. Кроме того, следует понимать, что настоящее изобретение не ограничено обработкой аудио и кадров аудиосигнала при USAC, а вместо этого относится к любому типу кадров аудиосигнала и любому типу аудиоформатов, таких как MPEG1/2 уровень 3 ("MP3"), улучшенное аудиокодирование (AAC) и подобным. Эффективное кодирование и декодирование позиций слотов с событиями в кадре аудиосигнала было бы очень полезным для любого типа кадра аудиосигнала.
Вследствие этого, целью настоящего изобретения является предоставить устройство для кодирования позиций слотов с событиями в кадре аудиосигнала с помощью малого числа битов. Более того, целью настоящего изобретения является предоставить устройство для декодирования позиций слотов с событиями в кадре аудиосигнала, кодированных устройством для кодирования согласно настоящему изобретению. Цели настоящего изобретения достигаются посредством устройства для декодирования по п.1 формулы изобретения, устройства для кодирования по п.11 формулы изобретения, способа декодирования по п.14 формулы изобретения, способа кодирования по п.15 формулы изобретения, компьютерной программы для декодирования по п.16 формулы изобретения, компьютерной программы для кодирования по п.17 формулы изобретения и кодированного сигнала по п.18 формулы изобретения.
Согласно настоящему изобретению, предполагается, что число слотов кадра, указывающее общее число слотов кадра аудиосигнала, и число слотов с событиями, указывающее число слотов, содержащих события кадра аудиосигнала, могут быть доступны в декодирующем устройстве настоящего изобретения. Например, кодер может передавать число слотов кадра и/или число слотов с событиями на устройство для декодирования. Согласно варианту осуществления, кодер может указывать общее число слотов кадра аудиосигнала посредством передачи числа, которое является общим числом слотов кадра аудиосигнала минус 1. Кодер может дополнительно указывать число слотов, содержащих события кадра аудиосигнала, посредством передачи числа, которое является числом слотов, содержащих события кадра аудиосигнала, минус 1. В качестве альтернативы, декодер может сам определить общее число слотов кадра аудиосигнала и число слотов, содержащих события кадра аудиосигнала, без информации от кодера.
На основе этих предположений, согласно настоящему изобретению, данное число позиций слотов, содержащих события в кадре аудиосигнала, может быть кодировано и декодировано с использованием следующих результатов изысканий:
Пусть N будет общим числом слотов кадра аудиосигнала, и P будет числом слотов, содержащих события кадра аудиосигнала.
Предполагается, что как устройство для кодирования, так и устройство для декодирования осведомлены о значениях N и P.
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>p</mi><mi>N</mi></msubsup></mrow><mo>)</mo></mrow></mrow>
Зная N и P, можно определить, что есть только
разных комбинаций позиций слотов, содержащих события в кадре аудиосигнала.
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>p</mi><mi>N</mi></msubsup></mrow><mo>)</mo></mrow></mrow>
Например, если позиции слотов в кадре пронумерованы от 0 до N-1 и если P=8, то первой возможной комбинацией позиций слотов с событиями будет (0, 1, 2, 3, 4, 5, 6, 7), второй комбинацией будет (0, 1, 2, 3, 4, 5, 6, 8) и так далее, до комбинации (N-8, N-7, N-6, N-5, N-4, N-3, N-2, N-1), так что в итоге есть
разных комбинаций.
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>p</mi><mi>N</mi></msubsup></mrow><mo>)</mo></mrow></mrow>
Более того, настоящее изобретение использует дополнительные результаты изысканий, что число состояний события может быть кодировано устройством для кодирования и что число состояний события передается декодеру. Если каждая из возможных
комбинаций представлена уникальным числом состояний события и если устройство для декодирования осведомлено о том, какое число состояний события представляет какую комбинацию позиций слотов, содержащих события в кадре аудиосигнала (например, посредством применения соответствующего способа декодирования), то устройство для декодирования может декодировать позиции слотов, содержащие события, с использованием N, P и числа состояний события. Для огромного количества типичных значений для N и P такой метод кодирования использует меньше битов для кодирования позиций слотов с событиями по сравнению с другими методами (например, использующими массив битов с одним битом для каждого слота кадра, в котором каждый бит указывает, встречается ли событие в этом слоте или нет).
k
k
h
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>p</mi><mi>N</mi></msubsup></mrow><mo>)</mo></mrow></mrow>
Другими словами, проблема кодирования позиций слотов с событиями в кадре аудиосигнала может быть решена посредством кодирования дискретного числа P позиций p на диапазоне [0...N-1], так что позиции не перекрываются, p≠p для k≠h, с как можно меньшим количеством битов. Так как порядок позиций не имеет значения, следовательно, число уникальных комбинаций позиций является биномиальным коэффициентом
. Число требуемых битов, таким образом, составляет
.
В варианте осуществления предоставляется устройство для декодирования, в котором данное устройство для декодирования выполнено с возможностью проведения проверки, сравнивающей число состояний события или обновленное число состояний события с пороговым значением. Такая проверка может быть использована для получения позиций слотов, содержащих события, из числа состояний события. Проверка сравнения числа состояний события с пороговым значением может быть проведена посредством сравнения, является ли число состояний события или обновленное число состояний события большим, большим или равным, меньшим или меньшим или равным пороговому значению. Кроме того, предпочтительно, чтобы устройство для декодирования было выполнено с возможностью обновления числа состояний события или обновленного числа состояний события в зависимости от результата проверки.
Согласно варианту осуществления, предоставляется устройство для декодирования, которое выполнено с возможностью проведения проверки, сравнивающей число состояний события или обновленное число состояний события относительно конкретного рассматриваемого слота, при этом пороговое значение зависит от числа слотов кадра, числа слотов с событиями и от позиции рассматриваемого слота внутри кадра. Кроме того, позиции слотов, содержащих события, могут быть определены на послотовой основе, с решением для каждого слота кадра, один за другим, содержит ли слот событие.
Согласно дополнительному варианту осуществления, предоставляется устройство для декодирования, которое выполнено с возможностью разбиения кадра на первый раздел кадра, содержащий первый набор слотов кадра, и на второй раздел кадра, содержащий второй набор слотов кадра, и в котором данное устройство для декодирования дополнительно выполнено с возможностью определения позиций, содержащих события, для каждого из разделов кадра по отдельности. Кроме того, позиции слотов, содержащих события, могут быть определены посредством повторного разбиения кадра или разделов кадра на даже меньшие разделы кадра.
Ниже, варианты осуществления настоящего изобретения описаны более подробно  относительно чертежей, на которых:
на фиг.1 показано типичное применение декоррелятора в повышающем микшере моно-стерео;
на фиг.2 показано дополнительное типичное применение декоррелятора в повышающем микшере моно-стерео;
на фиг.3 показан обзор системы преобразования одного канала в два (OTT), включающей в себя управляющий транзиентами декоррелятор (TSD);
на фиг.4 показана диаграмма, иллюстрирующая абсолютные баллы для 32 кбит/с стерео, сравнивающая RM8 USAC и USAC RM8+TSD в базовом эксперименте (CE) TSD;
на фиг.5 показана диаграмма, отображающая разностные баллы для 32 кбит/с стерео, сравнивающая USAC, использующее управляющий транзиентами декоррелятор, с системой простого USAC;
на фиг.6 показана диаграмма, отображающая абсолютные баллы для 16 кбит/с стерео, сравнивающая RM8 USAC и USAC RM8+TSD в базовом эксперименте (CE) TSD;
на фиг.7 показана диаграмма, отображающая разностные баллы для 16 кбит/с стерео, сравнивающая USAC, использующее управляющий транзиентами декоррелятор, с системой простого USAC;
на фиг.8 отображена активность TSD для пяти дополнительных элементов, изображенная как логическое состояние флага bsTsdEnable;
на фиг.9А проиллюстрировано устройство для декодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно варианту осуществления настоящего изобретения;
на фиг.9В проиллюстрировано устройство для декодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно дополнительному варианту осуществления настоящего изобретения;
на фиг.9С проиллюстрировано устройство для декодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно еще одному варианту осуществления настоящего изобретения;
на фиг.10 показана схема последовательности операций, иллюстрирующая процесс декодирования, проводимый устройством для декодирования, согласно варианту осуществления настоящего изобретения;
на фиг.11 показан псевдокод, реализующий декодирование позиций слотов, содержащих события, согласно варианту осуществления настоящего изобретения;
на фиг.12 показана схема последовательности операций, иллюстрирующая процесс кодирования, проводимый устройством для кодирования, согласно варианту осуществления настоящего изобретения;
на фиг.13 проиллюстрирован псевдокод, изображающий процесс кодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно дополнительному варианту осуществления настоящего изобретения;
на фиг.14 проиллюстрировано устройство для декодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно дополнительному варианту осуществления настоящего изобретения;
на фиг.15 проиллюстрировано устройство для кодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно варианту осуществления настоящего изобретения;
на фиг.16 изображен синтаксис данных MPS 212 USAC согласно варианту осуществления;
на фиг.17 проиллюстрирован синтаксис TsdData USAC согласно варианту осуществления;
на фиг.18 проиллюстрирована таблица nBitsTrSlots в зависимости от длины MPS-кадра;
на фиг.19 показана таблица, относящаяся к bsTempShapeConfig USAC согласно варианту осуществления;
на фиг.20 изображен синтаксис TempShapeData USAC согласно варианту осуществления;
на фиг.21 проиллюстрирован блок D декоррелятора в блоке OTT-декодирования согласно варианту осуществления;
на фиг.22 изображен синтаксис EcData USAC согласно варианту осуществления;
на фиг.23 показана схема прохождения сигналов для генерирования данных TSD.
На фиг.9А проиллюстрировано устройство 10 для декодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно варианту осуществления настоящего изобретения. Устройство 10 для декодирования содержит анализирующий блок 20 и блок 30 генерирования. Число слотов кадра FSN, указывающее общее число слотов кадра аудиосигнала, число слотов с событиями ESON, указывающее число слотов, содержащих события кадра аудиосигнала, и число состояний события ESTN подаются в устройство 10 для декодирования. Устройство 10 для декодирования затем декодирует позиции слотов, содержащих события, посредством использования числа слотов кадра FSN, числа слотов с событиями ESON и числа состояний события ESTN. Декодирование проводится анализирующим блоком 20 и блоком 30 генерирования, которые взаимодействуют в процессе декодирования. Тогда как анализирующий блок 20 ответственен за исполнение проверок, например сравнение числа состояний события ESTN с пороговым значением, блок 30 генерирования генерирует и обновляет промежуточные результаты процесса декодирования, например, обновленное число состояний события.
Кроме того, блок 30 генерирования генерирует указание множества позиций слотов, содержащих события в кадре аудиосигнала. Конкретное указание множества позиций слотов, содержащих события кадра аудиосигнала, может называться как "состояние указания".
Согласно варианту осуществления, указание множества позиций слотов, содержащих события в кадре аудиосигнала, может быть сгенерировано так, что в первый момент времени блок 30 генерирования указывает для первого слота, содержит ли слот событие или нет, во второй момент времени блок 30 генерирования указывает для второго слота, содержит ли слот событие или нет, и так далее.
Согласно дополнительному варианту осуществления, указание множества позиций слотов, содержащих события, может, например, быть массивом битов, указывающим для каждого слота кадра, содержит ли он событие.
Анализирующий блок 20 и блок 30 генерирования могут взаимодействовать так, что оба блока вызывают друг друга один или более раз в процессе декодирования, чтобы произвести промежуточные результаты.
На фиг.9В проиллюстрировано устройство 40 для декодирования согласно варианту осуществления настоящего изобретения. Устройство 40 для декодирования, среди прочего, отличается от устройства 10 для декодирования по фиг.9А в том, что дополнительно содержит процессор 50 аудиосигнала. Процессор 50 аудиосигнала принимает входной аудиосигнал и указание множества позиций слотов, содержащих события в кадре аудиосигнала, которое было сгенерировано блоком 45 генерирования. В зависимости от указания, процессор 50 аудиосигнала генерирует выходной аудиосигнал. Процессор 50 аудиосигнала может генерировать выходной аудиосигнал, например, посредством декоррелирования входного аудиосигнала. Кроме того, процессор 50 аудиосигнала может содержать решетчатый IIR-декоррелятор 54, декоррелятор 56 транзиентов и блок 52 отделения транзиентов для генерирования выходного аудиосигнала, как проиллюстрировано на фиг.3. Если указание множества позиций слотов, содержащих события в кадре аудиосигнала, указывает, что слот содержит транзиенты, то процессор 50 аудиосигнала будет декоррелировать входной аудиосигнал, относящийся к этому слоту, посредством декоррелятора 56 транзиентов. Если, однако, указание множества позиций слотов, содержащих события в кадре аудиосигнала, указывает, что слот не содержит транзиенты, то процессор аудиосигнала будет декоррелировать входной аудиосигнал S, относящийся к этому слоту, посредством использования решетчатого IIR-декоррелятора 54. Процессор аудиосигнала использует блок 52 отделения транзиентов, который решает на основе указания, подан ли участок входного аудиосигнала, относящийся к слоту, в декоррелятор 56 транзиентов или в решетчатый IIR-декоррелятор 54, в зависимости от того, указывает ли указание, что конкретный слот содержит транзиенты (декорреляция посредством декоррелятора 56 транзиентов) или слот не содержит транзиенты (декорреляция посредством решетчатого IIR-декоррелятора 54).
На фиг.9С проиллюстрировано устройство 60 для декодирования согласно варианту осуществления настоящего изобретения. Устройство 60 для декодирования отличается от устройства 10 для декодирования по фиг.9А в том, что дополнительно содержит селектор 90 слотов. Декодирование делается на послотовой основе, с решением для каждого слота кадра, один за другим, содержит ли слот событие. Селектор 90 слотов решает, какой слот кадра рассматривать. Предпочтительным подходом был бы тот, где селектор 90 слотов выбирает слоты кадра один за другим.
Послотовое декодирование устройства 60 для декодирования по этому варианту осуществления основано на следующих результатах изысканий, которые могут быть применены для вариантов осуществления устройства для декодирования, устройства для кодирования, способа декодирования и способа кодирования позиций слотов, которые содержат события в кадре аудиосигнала. Следующие результаты изысканий также применимы для соответствующих компьютерных программ и кодированных сигналов.
Предположим, что N является (общим) числом слотов кадра аудиосигнала и P является числом слотов, содержащих события кадра (это означает, что N может быть числом слотов кадра FSN и P может быть числом слотов с событиями ESON). Рассматривается первый слот кадра. Можно различить два случая.
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>P</mi><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow></mrow>
Если первый слот является слотом, который не содержит событие, то, относительно оставшихся N-1 слотов кадра, есть только
разных возможных комбинаций из P позиций слотов, содержащих событие, относительно оставшихся N-1 слотов кадра.
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mrow><mi>P</mi><mo>−</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>P</mi><mi>N</mi></msubsup></mrow><mo>)</mo></mrow><mo>−</mo><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>P</mi><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow></mrow>
Однако если первый слот является слотом, который содержит событие, то, относительно оставшихся N-1 слотов кадра, есть только
разных возможных комбинаций из оставшихся P-1 слотов, содержащих событие, относительно оставшихся N-1 слотов кадра.
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>P</mi><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow></mrow>
На основе этих результатов изысканий варианты осуществления дополнительно основаны на результатах изысканий, что все комбинации с первым слотом, где событие не встретилось, должны быть кодированы посредством чисел состояний события, которые меньше, чем пороговое значение, или равны ему. Кроме того, все комбинации с первым слотом, где встретилось событие, должны быть кодированы посредством чисел состояний события, которые больше, чем пороговое значение. В варианте осуществления все числа состояний события могут быть положительными целыми числами или 0, и подходящим пороговым значением касательно первого слота может быть
.
В варианте осуществления устройство для декодирования выполнено с возможностью определения того, содержит ли первый слот кадра событие, посредством проверки того, является ли число состояний события большим, чем пороговое значение. (В качестве альтернативы, может также быть реализован процесс кодирования/декодирования по вариантам осуществления, так что устройство для декодирования проверяет, является ли число состояний события большим или равным, меньшим или равным или меньшим, чем пороговое значение.) После анализа первого слота декодирование продолжается для второго слота кадра с использованием отрегулированных значений. Помимо регулирования числа рассматриваемых слотов (которое уменьшено на один), число слотов, содержащих события, также, в конечном счете, уменьшается на один (если первый слот содержит событие), и число состояний события регулируется, в случае, когда число состояний события было больше, чем пороговое значение, чтобы удалить участок, относящийся к первому слоту, исходя из числа состояний события. Процесс декодирования может быть продолжен для дальнейших слотов кадра аналогичным образом.
k
k
h
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>P</mi><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow></mrow>
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>P</mi><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow></mrow>
В варианте осуществления кодируется дискретное число P из позиций p на диапазоне [0...N-1], так что позиции не перекрываются, p≠p для k≠h. Здесь, каждая уникальная комбинация позиций на данном диапазоне называется состоянием, и каждая возможная позиция в этом диапазоне называется слотом. Согласно варианту осуществления устройства для декодирования, рассматривается первый слот в диапазоне. Если слот не имеет назначенной ему позиции, то диапазон может быть уменьшен до N-1, и число возможных состояний уменьшается до
. Напротив, если состояние больше, чем
, то можно сделать вывод, что первый слот имеет назначенную ему позицию. Следующий алгоритм декодирования может быть результатом этого:
Для каждого слота h
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mrow><mtext>    </mtext><mi>P</mi></mrow><mrow><mi>N</mi><mo>−</mo><mi>h</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow></mrow>
Если состояние >
, то
Назначить позицию для слота h
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mrow><mtext>    </mtext><mi>P</mi></mrow><mrow><mi>N</mi><mo>−</mo><mi>h</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow></mrow>
Обновить оставшееся состояние как state:=state-
Уменьшить число позиций влево как P:=P-1
Конец
Конец
Вычисление биномиального коэффициента на каждой итерации было бы затратным. Вследствие этого, согласно вариантам осуществления, следующие правила могут быть использованы для обновления биномиального коэффициента с использованием значения из предыдущей итерации:
Используя эти формулы, каждое обновление биномиального коэффициента стоит только одно умножение и одно деление, тогда как точная оценка стоила бы P умножений и делений на каждой итерации.
В этом варианте осуществления общая сложность декодера составляет P умножений и делений для инициализации биномиального коэффициента, для каждой итерации 1 умножение, деление и оператор "если", и для каждой кодированной позиции 1 умножение, сложение и деление. Следует отметить, что в теории было бы возможно уменьшить число делений, нужных для инициализации, до одного. На практике, однако, этот подход привел бы к очень большим целым числам, которые трудно обработать. Сложностью декодера в худшем случае является тогда N+2P делений и N+2P умножений, P сложений (могут быть проигнорированы, если используются MAC-операции) и N операторов "если".
В варианте осуществления алгоритм кодирования, используемый устройством для кодирования, не должен выполнять итерацию во всех слотах, а только в тех, которые имеют назначенную им позицию. Вследствие этого
h
Для каждой позиции P, h=1...P
<mrow><mrow><mo>(</mo><mrow><mover><mi>h</mi><mrow><mi>P</mi><mi>h</mi><mo>−</mo><mn>1</mn></mrow></mover></mrow><mo>)</mo></mrow></mrow>
Обновить состояние как state:=state+
.
Сложностью кодера в худшем случае является P∙(P-1) умножений и P∙(P-1) делений, а также P-1 делений.
На фиг.10 иллюстрирован процесс декодирования, проводимый устройством для декодирования, согласно варианту осуществления настоящего изобретения. В этом варианте осуществления декодирование выполняется на послотовой основе.
На этапе 110 инициализируются значения. Устройство для декодирования хранит число состояний события, которое оно приняло как входное значение, в переменной s. Кроме того, число слотов, содержащих события кадра, как указано числом слотов с событиями, хранится в переменной p. Кроме того, общее число слотов, содержащихся в кадре, как указано числом слотов кадра, хранится в переменной N.
На этапе 120 значение TsdSepData[t] инициализируется со значением 0 для всех слотов кадра. Массив битов TsdSepData является выходными данными, которые должны быть сгенерированы. Он указывает для каждой позиции слота t, содержит ли событие слот с соответствующей позицией слота (TsdSepData[t]=1) или не содержит (TsdSepData[t]=0). На этапе 120 соответствующие значения всех слотов кадра инициализируются со значением 0.
На этапе 130 переменная k инициализируется со значением N-1. В этом варианте осуществления слоты кадра, содержащего N элементов, пронумерованы 0, 1, 2,..., N-1. Задание k=N-1 означает, что слот с наивысшим числом слота считается первым.
На этапе 140 рассматривается, верно ли k≥0. Если k<0, декодирование позиций слотов было закончено, и процесс прекращается, иначе процесс продолжается на этапе 150.
На этапе 150 проверяется, верно ли p>k. Если p больше, чем k, это означает, что все оставшиеся слоты содержат событие. Процесс продолжается на этапе 230, в котором все значения поля TsdSepData оставшихся слотов 0, 1,..., k заданы в значение 1, указывая, что каждый из оставшихся слотов содержит событие. В этом случае процесс после этого прекращается. Однако если на этапе 150 обнаружено, что p не больше, чем k, процесс декодирования продолжается на этапе 160.
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mi>p</mi><mi>k</mi></msubsup></mrow><mo>)</mo></mrow></mrow>
На этапе 160 вычисляется значение c=
, c используется как пороговое значение.
На этапе 170 проверяется, является ли (в конечном счете, обновленное) число состояний события s большим, чем c, или равно ему, где c является пороговым значением, только что вычисленным на этапе 160.
Если s меньше, чем c, это означает, что рассматриваемый слот (с позицией слота k) не содержит событие. В этом случае не нужно предпринимать дополнительное действие, так как TsdSepData[k] уже был задан в значение 0 для этого слота на этапе 140. Процесс тогда продолжается на этапе 220. На этапе 220 k задается так, чтобы быть k:=k-1, и рассматривается следующий слот.
Однако если проверка на этапе 170 показывает, что s больше, чем c, или равно ему, это означает, что рассматриваемый слот k содержит событие. В этом случае число состояний события s обновляется и задается в значение s:=s-c на этапе 180. Кроме того, TsdSepData[k] задается в значение 1 на этапе 190 для указания, что слот k содержит событие. Более того, на этапе 200 p задается в значение p-1, указывая, что оставшиеся слоты, которые должны быть исследованы, теперь содержат только p-1 слотов с событиями.
На этапе 210 проверяется, является ли p равным 0. Если p равно 0, оставшиеся слоты не содержат события, и процесс декодирования заканчивается. Иначе, по меньшей мере один из оставшихся слотов содержит событие, и процесс продолжается на этапе 220, где процесс декодирования продолжается со следующим слотом (k-1).
Процесс декодирования по варианту осуществления, проиллюстрированному на фиг.10, генерирует массив TsdSepData в качестве выходного значения, указывая для каждого слота k кадра, содержит ли слот событие (TsdSepData[k]=1) или нет (TsdSepData[k]=0).
Возвращаясь к фиг.9c, устройство 60 для декодирования по варианту осуществления, в котором данное устройство реализует процесс декодирования, проиллюстрированный на фиг.10, содержит селектор 90 слотов, который решает, какие слоты рассматривать. Относительно фиг.10, такой селектор слотов был бы выполнен с возможностью исполнения этапов 130 и 220 процесса по Фиг. 10. Подходящий анализирующий блок 70 этого варианта осуществления был бы выполнен с возможностью исполнения этапов 140, 150, 170 и 210 обработки по фиг.10. Блок 80 генерирования по такому варианту осуществления был бы выполнен с возможностью проведения всех остальных этапов обработки по фиг.10.
На фиг.11 показан псевдокод, реализующий декодирование позиций слотов, содержащих события, согласно варианту осуществления настоящего изобретения.
На фиг.12 иллюстрирован процесс кодирования, проводимый устройством для кодирования, согласно варианту осуществления настоящего изобретения. В этом варианте осуществления кодирование выполняется на послотовой основе. Целью процесса кодирования согласно варианту осуществления, проиллюстрированному на фиг.12, является сгенерировать число состояний события.
На этапе 310 инициализируются значения. p_s инициализируется со значением 0. Число состояний события генерируется посредством успешного обновления переменной p_s. Когда процесс кодирования закончен, p_s будет нести число состояний события. Этап 310 также инициализирует переменную k посредством задания k в значение k:= число слотов, содержащих события в кадре, -1.
На этапе 320 переменная "slots" задается в значение slots:=tsdPos[k], где tsdPos является массивом, удерживающим позиции слотов, содержащих события. Позиции слотов в массиве хранятся в возрастающем порядке.
На этапе 330 проводится проверка, проверяющая, верно ли k≥slots. Если это так, процесс прерывается. Иначе, процесс продолжается на этапе 340.
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow /><mrow><mi>k</mi><mo>+</mo><mtext>1</mtext></mrow><mrow><mi>s</mi><mi>l</mi><mi>o</mi><mi>t</mi><mi>s</mi></mrow></msubsup></mrow><mo>)</mo></mrow></mrow>
На этапе 340 вычисляется значение c=
.
На этапе 350 переменная p_s обновляется и задается в значение p_s:=p_s+c.
На этапе 360 k задается в значение k:=k-1.
Затем, на этапе 370 проводится проверка, проверяющая, верно ли k≥0. В этом случае рассматривается следующий слот k-1. Иначе, процесс прерывается.
На фиг.13 изображен псевдокод, реализующий кодирование позиций слотов, содержащих события, согласно варианту осуществления настоящего изобретения.
На фиг.14 проиллюстрировано устройство 410 для декодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно дополнительному варианту осуществления настоящего изобретения. Снова, как на фиг.9a, число слотов кадра FSN, указывающее общее число слотов кадра аудиосигнала, число слотов с событиями ESON, указывающее число слотов, содержащих события кадра аудиосигнала, и число состояний события ESTN подаются в устройство 410 для декодирования. Устройство 410 для декодирования отличается от устройства по фиг.9a в том, что дополнительно содержит блок 440 разделения кадра. Блок 440 разделения кадра выполнен с возможностью разбиения кадра на первый раздел кадра, содержащий первый набор слотов кадра, и на второй раздел кадра, содержащий второй набор слотов кадра, и в котором позиции слотов, содержащие события, определяются по отдельности для каждого раздела кадра. Кроме того, позиции слотов, содержащих события, могут быть определены посредством повторного разбиения кадра или разделов кадра на даже меньшие разделы кадра.
Декодирование "на основе разделения" устройства 410 для декодирования по этому варианту осуществления основано на следующих концепциях, которые могут быть применены для вариантов осуществления устройства для декодирования, устройства для кодирования, способа декодирования и способа кодирования позиций слотов, которые содержат события в кадре аудиосигнала. Следующие концепции также применимы для соответствующих компьютерных программ и кодированных сигналов:
a
b
a
b
a
b
a
b
Декодирование на основе разделения основано на идее, что кадр разбивается на два раздела A и B кадра, причем каждый раздел кадра содержит набор слотов, в котором раздел A кадра содержит N слотов и в котором раздел B кадра содержит N слотов, и что N+N=N. Кадр может быть произвольно разбит на два раздела предпочтительно так, чтобы разделы A и B имели примерно одинаковое общее число слотов (например, так, чтобы N=N или N=N-1). Посредством разбиения кадра на два раздела задача определения позиций слотов, где встретились события, также разбивается на две подзадачи, а именно определение позиций слотов, где встретились события в разделе A кадра, и определение позиций слотов, где встретились события в разделе B кадра.
В этом варианте осуществления снова предполагается, что устройство для декодирования осведомлено о числе слотов кадра, числе слотов, содержащих событие кадра, и числе состояний события. Для решения обеих подзадач устройство для декодирования должно быть осведомлено о числе слотов каждого раздела кадра, числе слотов, где встретились события касательно каждого раздела кадра, и числе состояний события каждого раздела кадра (такое число состояний события раздела кадра теперь называется как "число подсостояний события").
a
b
Так как устройство для декодирования само разбивает кадр на два раздела кадра, оно само по себе знает, что раздел A кадра содержит N слотов, и раздел B кадра содержит N слотов. Определение числа слотов, содержащих события, для каждого из двух разделов кадра основано на следующих результатах изысканий.
Так как кадр был разбит на два раздела, каждый из слотов, содержащих события, теперь расположен либо в разделе A, либо в разделе B. Кроме того, предполагается, что P является числом слотов, содержащих события раздела кадра, и N является общим числом слотов раздела кадра, и что f(P,N) является функцией, которая возвращает число разных комбинаций позиций слотов с событиями раздела кадра, тогда число разных комбинаций позиций слотов с событиями всего кадра (который был разбит на раздел A и раздел B) составляет:
Число слотов, содержащих события, в разделе A
Число слотов, содержащих события, в разделе B
Число разных комбинаций в целом кадре аудиосигнала с этой конфигурацией
0
P
f(0,N<sub>a</sub>)∙f(P,N<sub>b</sub>)
1
P-1
f(1,N<sub>a</sub>)∙f(P-1,N<sub>b</sub>)
2
P-2
f(2,N<sub>a</sub>)∙f(P-2,N<sub>b</sub>)
....
....
....
P
0
f(P,N<sub>a</sub>)∙f(0,N<sub>b</sub>)
a
b
a
b
На основе вышеприведенных размышлений, согласно варианту осуществления, все комбинации с первой конфигурацией, где раздел A имеет 0 слотов, содержащих события, и где раздел B имеет P слотов, содержащих события, должны быть кодированы с числом состояний события, меньшим, чем первое пороговое значение. Число состояний события может быть кодировано как целочисленное значение, являющееся положительным или 0. Так как есть только f(0,N)∙f(P,N) комбинаций с первой конфигурацией, подходящим первым пороговым значением может быть f(0,N)∙f(P,N).
a
b
a
b
a
b
Все комбинации со второй конфигурацией, где раздел A имеет 1 слот, содержащий события, и где раздел B имеет P-1 слотов, содержащих события, должны быть кодированы с числом состояний события, большим, чем первое пороговое значение, или равным ему, но меньшим, чем второе значение, или равным ему. Так как есть только f(1,N)∙f(P-1,N) комбинаций со второй конфигурацией, подходящим вторым значением может быть f(0,N)∙f(P,N)+f(1,N)∙f(P-1,N). Число состояний события для комбинаций с другими конфигурациями определяется аналогично.
a
b
Согласно варианту осуществления, декодирование выполняется посредством разделения кадра на два раздела A и B кадра. Затем, проверяется, является ли число состояний события меньшим, чем первое пороговое значение. В предпочтительном варианте осуществления первым пороговым значением может быть f(0,N)∙f(P,N).
Если число состояний события меньше, чем первое пороговое значение, то может быть сделан вывод, что раздел A содержит 0 слотов, содержащих события, и раздел B содержит все P слотов кадра, где встретились события. Декодирование тогда проводится для обоих разделов с соответственно определенным числом, представляющим число слотов, содержащих события соответствующего раздела. Кроме того, первое число состояний события определяется для раздела A, и второе число состояний события определяется для раздела B, которые соответственно используются как новое число состояний события. В рамках этого документа, число состояний события раздела кадра называется как "число подсостояний события".
a
b
a
b
a
b
Однако если число состояний события больше, чем первое пороговое значение, или равно ему, число состояний события может быть обновлено. В предпочтительном варианте осуществления число состояний события может быть обновлено посредством вычитания значения из числа состояний события, предпочтительно посредством вычитания первого порогового значения, например f(0,N)∙f(P,N). На следующем этапе проверяется, является ли обновленное число состояний события меньше, чем второе пороговое значение. В предпочтительном варианте осуществления вторым пороговым значением может быть f(1,N)∙f(P-1,N). Если число состояний события меньше, чем второе пороговое значение, то может быть получено, что раздел A содержит 1 слот, содержащий события, и раздел B содержит P-1 слотов, содержащих события. Декодирование тогда проводится для обоих разделов с соответственно определенным числом слотов, содержащих события каждого раздела. Первое значение подсостояний события используется для декодирования раздела A, и второе значение подсостояний события используется для декодирования раздела B. Однако если число состояний события больше, чем второе пороговое значение, или равно ему, число состояний события может быть обновлено. В предпочтительном варианте осуществления число состояний события может быть обновлено посредством вычитания значения из числа состояний события, предпочтительно f(1,N)∙f(P-1,N). Процесс декодирования аналогично применяется для оставшихся возможностей распределения слотов, содержащих события касательно двух разделов кадра.
В варианте осуществления значение подсостояний события для раздела A и значение подсостояний события для раздела B могут быть использованы для декодирования раздела A и раздела B, где оба значения подсостояний события определяются посредством проведения деления:
b
значение состояний события/f(число слотов, содержащих события раздела B, N).
Предпочтительно, число подсостояний события раздела A является целочисленной частью вышеприведенного деления, и число подсостояний события раздела B является остатком этого деления. Число состояний события, используемое в этом делении, может быть первоначальным числом состояний события кадра или обновленным числом состояний события, например обновленным посредством вычитания одного или более пороговых значений, как описано выше.
Чтобы проиллюстрировать вышеописанную концепцию декодирования на основе разделения, рассмотрена ситуация, где кадр имеет два слота, содержащих события. Кроме того, если f(p,N) снова является функцией, которая возвращает число разных комбинаций позиций слотов с событиями раздела кадра, в которой p является числом слотов, содержащих события раздела кадра, и N является общим числом слотов этого раздела кадра, тогда, для каждого из возможных распределений позиций в результате получается следующее число возможных комбинаций:
Позиции в разделе A
Позиция в разделе B
Число комбинаций в этой конфигурации
0
2
f(0,N<sub>a</sub>)∙f(2,N<sub>b</sub>)
1
1
f(1,N<sub>a</sub>)∙f(1,Nb)
2
0
f(2,N<sub>a</sub>)∙f(0,N<sub>b</sub>)
a
b
a
b
a
b
Таким образом, может быть сделан вывод, что если кодированное число состояний события кадра меньше, чем f(0,N)∙f(2,N), то слоты, содержащие события, должны быть распределены как 0 и 2. Иначе, f(0,N)∙f(2,N) вычитается из числа состояний события, и результат сравнивается с f(1,N)∙f(1,N). Если он меньше, то позиции распределены как 1 и 1. Иначе, осталось только распределение 2 и 0, и позиции распределены как 2 и 0.
b
Ниже предоставлен псевдокод согласно варианту осуществления для декодирования позиций слотов, содержащих определенные события (здесь: "pulses") в кадре аудиосигнала. В этом псевдокоде "pulses_a" является (предполагаемым) числом слотов, содержащих события в разделе A, и "pulses_b" является (предполагаемым) числом слотов, содержащих события в разделе B. В этом псевдокоде (в конечном счете, обновленное) число состояний события называется "state". Числа подсостояний события разделов A и B по-прежнему кодируются совместно в переменной "state". Согласно схеме совместного кодирования по варианту осуществления, число подсостояний события из A (в настоящем документе называемое "state_a") является целочисленной частью деления state/f(pulses_b, N), и число подсостояний события из B (в настоящем документе называемое "state_b") является остатком этого деления. Кроме того, длина (общее число слотов раздела) и число кодированных позиций (число слотов, содержащих события в разделе) обоих разделов могут быть декодированы посредством одинакового подхода:
Функция x=decodestate(state, pulses, N)
1. Разбить вектор на два раздела длиной Na и Nb.
2. Для pulses_a от 0 до pulses
a. pulses_b=pulses-pulses_a
b. если state<f(pulses_a,Na)*f(pulses_b,Nb), то
прекратить цикл "для".
c. state:=state-f(pulses_a,Na)*f(pulses_b,Nb)
3. Число возможных состояний для раздела В равно
no_states_b=f(pulses_b,Nb)
4. Состояния state_a и state_b разделов A и B,
соответственно, являются целой частью и остатком
от деления state/no_states_b.
5. Если Na>1, то декодированный вектор раздела A
получается рекурсивно как
xa=decodestate(state_a,pulses_a,Na)
Иначе (Na==1), и вектор xa является скаляром, и
мы можем задать xa=state_a.
6. Если Nb>1, то декодированный вектор раздела В
получается рекурсивно как
xb=decodestate(state_b,pulses_b,Nb)
Иначе (Nb==1), и вектор xb является скаляром, и
мы можем задать xb=state_b.
7. Конечный выходной сигнал x получается путем
объединения xa и xb как x=[xa xb].
Выходным сигналом этого алгоритма является вектор, который имеет единицу (1) в каждой кодированной позиции (т.е. позиции слота для слота, содержащего событие) и ноль (0) где-либо еще (т.е. в позициях слотов, которые не содержат события).
Ниже предоставлен псевдокод согласно варианту осуществления для кодирования позиций слотов, содержащих события в кадре аудиосигнала, который использует аналогичные имена переменных с аналогичным значением, как приведено выше:
Функция state=encodestate(x,N)
1. Разбить вектор на два раздела xa и xb
длиной Na и Nb.
2. Подсчитать pulses в разделах A и В в pulses_a и
pulses_b и задать pulses=pulses_a+pulses_b.
3. Задать состояние в 0.
4. Для k от 0 до pulses_a-1
a. state:=state+f(k,Na)*f (pulses-k,Nb).
5. Если Na>1, кодировать раздел A как
state_a=encodestate(xa,Na);
Иначе (Na==1), задать state_a=xa.
6. Если Nb>1, кодировать раздел В как
state_b=encodestate(xb,Nb);
Иначе (Nb==1), задать state_b=xb.
7. Кодировать состояния совместно
state:=state+state_a*f(pulses_b,Nb)+state_b.
Здесь, предполагается, что аналогично алгоритму декодера каждая кодированная позиция (т.е. позиция слота для слота, содержащего событие) идентифицируется посредством единицы (1) в векторе x, и все другие элементы являются нулем (0) (т.е. в позициях слотов, которые не содержат события.)
Вышеприведенные рекурсивные способы, сформулированные в псевдокоде, могут легко быть реализованы нерекурсивным образом с использованием стандартных способов.
Согласно варианту осуществления настоящего изобретения, функция f(p,N) может быть реализована как таблица соответствия. Когда позиции не перекрываются, как, например, в текущем контексте, то функция числа состояний f(p,N) является просто биномиальной функцией, которая может быть вычислена по сети. Имеется
a
b
Согласно варианту осуществления настоящего изобретения, и кодер, и декодер имеют цикл со счетчиком, где произведение f(p-k,N)*f(k,N) вычисляется для последовательных значений из k. Для эффективного вычисления это может быть записано как
Другими словами, последовательные члены для вычитания/сложения (на этапе 2b и 2c в декодере и на этапе 4a в кодере) могут быть вычислены посредством трех умножений и одного деления за итерацию.
Аналогично, как в способе, описанном ранее, состояние длинного вектора (многослотовый кадр) может быть очень большим целым числом, легко продлевающим длину представления в стандартных процессорах. Вследствие этого, будет необходимо использовать арифметические функции, способные обрабатывать очень большие целые числа.
Касательно сложности, рассмотренный здесь способ, в отличие от вышеприведенных послотовых процессов, является алгоритмом типа "разделяй и властвуй". Предполагая, что длина входного вектора имеет степень двойки, тогда рекурсия имеет глубину log2(N).
Так как число импульсов остается постоянным на каждой глубине рекурсии, то число итераций цикла со счетчиком является одинаковым при каждой рекурсии. Из этого следует, что число циклов составляет pulses∙log2(N).
a
b
Как разъяснено выше, каждое обновление f(p-k,N)∙f(k,N) может быть сделано с помощью трех умножений и одного деления.
Следует отметить, что вычитания и сравнения в декодере могут предполагаться как одна операция.
Может быть легко видно, что разделы объединяются log2(N)-1 раз. При совместном кодировании состояний в кодере, таким образом, необходимо умножать и складывать log2(N)-1 раз. Аналогично, при совместном декодировании состояний в декодере необходимо делить log2(N)-1 раз.
Следует отметить, что из делений, только при совместном кодировании состояний в декодере нужны деления, где знаменателем является длинное целое число. Другие деления всегда имеют относительно короткие целые числа в знаменателе. Так как деления с длинными знаменателями являются наиболее сложными операциями, их нужно избегать, когда возможно.
Итак, данное число арифметических операций с длинными целыми числами происходит в декодере
Умножения
(3∙pulses+1)∙log2(N)-1
Деления
(pulses+1)∙log2(N)-1
из которых делений с длинным знаменателем
log2(N)-1
Сложения и вычитания
pulses∙log2(N)
Аналогично, в кодере происходят
Умножения
(3∙pulses+1)∙log2(N)-1
Деления
(pulses+1)∙log2(N)-1
из которых делений с длинным знаменателем
0
Сложения и вычитания
(pulses+2)∙log2(N)
Требуется только log2(N)-1 делений с длинным знаменателем.
В дополнительных вариантах осуществления вышеописанные варианты осуществления, которые содержат или которые выполнены с возможностью использования этапов рекурсивной обработки, модифицированы так, что некоторые или все из этапов рекурсивной обработки реализованы нерекурсивным образом с использованием стандартных способов.
На фиг.15 проиллюстрировано устройство (510) для кодирования позиций слотов, содержащих события в кадре аудиосигнала, согласно варианту осуществления. Устройство (510) для кодирования содержит генератор (530) числа состояний события, который выполнен с возможностью кодирования позиций слотов посредством кодирования числа состояний события. Кроме того, устройство содержит блок (520) информации слота, выполненный с возможностью предоставления числа слотов кадра и числа слотов с событиями в генератор (530) числа состояний события. Генератор числа состояний события может реализовать один из вышеописанных способов кодирования.
В дополнительном варианте осуществления предоставлен кодированный аудиосигнал. Кодированный аудиосигнал содержит число состояний события. В другом варианте осуществления кодированный аудиосигнал, кроме того, содержит число слотов с событиями. Более того, кадр кодированного аудиосигнала может также содержать число слотов кадра. В кадре аудиосигнала позиции слотов, содержащих события в кадре аудиосигнала, могут быть декодированы согласно одному из вышеописанных способов декодирования. В варианте осуществления передаются число состояний события, число слотов с событиями и число слотов кадра, так что позиции слотов, содержащих события в кадре аудиосигнала, могут быть декодированы посредством использования одного из вышеописанных способов.
Изобретенный кодированный аудиосигнал может быть сохранен в цифровом запоминающем носителе или некратковременном запоминающем носителе или может быть передан в среде передачи, такой как среда беспроводной передачи или среда проводной передачи, такая как Интернет.
Нижеследующее разъясняет синтаксические определения USAC, выполненные с возможностью поддержки управляющего транзиентами декоррелятора (TSD) согласно варианту осуществления.
На фиг.16 проиллюстрированы данные MPS (MPEG Surround) 212. Данные MPS 212 являются блоком данных, содержащих полезные данные для стереомодуля MPS 212. Данные MPS 212 содержат данные TSD.
На фиг.17 изображен синтаксис данных TSD. Они содержат число слотов с транзиентами (bsTsdNumTrSlots) и данные фазы транзиентов TSD (bsTsdTrPhaseData) для слотов в кадре данных MPS 212. Если слот содержит данные транзиентов (TsdSepData[ts] задано в значение 1), bsTsdTrPhaseData содержит данные фазы, иначе bsTsdTrPhaseData[ts] задано в значение 0.
nBitsTrSlots задает число битов, используемых для переноса числа слотов с транзиентами (bsTsdNumTrSlots). nBitsTrSlots зависит от числа слотов в кадре данных MPS 212 (numSlots). На фиг.18 проиллюстрирована взаимосвязь числа слотов в кадре данных MPS 212 и числа битов, используемых для переноса числа слотов с транзиентами.
На фиг.19 задается значение tempShapeConfig. tempShapeConfig указывает режим работы временного формирования (STP или GES) или активацию управляющей транзиентами декорреляции в декодере. Если tempShapeConfig задан в значение 0, временное формирование совсем не применяется; если tempShapeConfig задан в значение 1, применяется временная обработка области поддиапазона (STP); если tempShapeConfig задан в значение 2, применяется управляемое формирование огибающей (GES); и если tempShapeConfig задан в значение 3, применяется управляющая транзиентами декорреляция (TSD).
На фиг.20 проиллюстрирован синтаксис данных TempShapeData. Если bsTempShapeConfig задан в значение 3, TempShapeData содержит bsTsdEnable, указывающий, что TSD включена в кадре.
На фиг.21 проиллюстрирован блок D декоррелятора согласно варианту осуществления. Блок D декоррелятора в блоке OTT-декодирования содержит блок разделения сигнала, две структуры декоррелятора и блок объединения сигналов.
AP
D означает: частотнонезависимый декоррелятор, как задано в подразделе 7.11.2.5 (частотнонезависимый декоррелятор).
TR
D означает: декоррелятор транзиентов.
<mrow><msubsup><mi>ν</mi><mrow><mi>X</mi><mo>,</mo><mi>T</mi><mi>r</mi></mrow><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msubsup></mrow>
<mrow><msubsup><mi>ν</mi><mrow><mi>X</mi><mo>,</mo><mi>n</mi><mi>o</mi><mi>n</mi><mi>T</mi><mi>r</mi></mrow><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msubsup></mrow>
Если инструмент TSD активен в текущем кадре, т.е. если (bsTsdEnable==1), входной сигнал разделяется на поток
с транзиентами и поток
без транзиентов согласно:
Флаг послотового отделения транзиентов TsdSepData(n) декодируется из кодового слова переменной длины bsTsdCodedPos посредством TsdTrPos_dec(), как описано ниже. Длина кодового слова из bsTsdCodedPos, т.е. nBitsTsdCW, вычисляется согласно:
Возвращаясь к фиг.11, на фиг.11 проиллюстрировано декодирование данных отделения слота с транзиентами bsTsdCodedPos в TsdSepData[n] согласно варианту осуществления. Массив длины numSlots, состоящий из '1' для кодированных позиций с транзиентами и '0' для других, задается, как проиллюстрировано на фиг.11.
Если инструмент TSD отключен в текущем кадре, т.е. если (bsTsdEnable==0), входной сигнал обрабатывается так, как если бы TsdSepData(n)=0 для всех n.
TR
Составляющие сигнала с транзиентами обрабатываются в структуре декоррелятора транзиентов D, как следует ниже:
<mrow><msubsup><mi>d</mi><mrow><mi>X</mi><mo>,</mo><mi>T</mi><mi>r</mi></mrow><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msubsup><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msup><mi>e</mi><mrow><mi>j</mi><msubsup><mi>ϕ</mi><mrow><mi>T</mi><mi>S</mi><mi>D</mi></mrow><mi>n</mi></msubsup></mrow></msup><mo>⋅</mo><msubsup><mi>v</mi><mrow><mi>X</mi><mo>,</mo><mi>T</mi><mi>r</mi></mrow><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msubsup></mrow></mtd><mtd columnalign="left"><mrow><mtext>, если bsTsdEnable</mtext><mo>=</mo><mn>1</mn></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mn>0</mn></mtd><mtd columnalign="left"><mrow><mtext>, в ином случае</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
,
где
AP
Составляющие сигнала без транзиентов обрабатываются в частотнонезависимом декорреляторе D, как задано в следующем подразделе, выдающем выходной сигнал декоррелятора для составляющих сигнала без транзиентов
Выходные сигналы декоррелятора складываются для образования декоррелированного сигнала, содержащего составляющие как с транзиентами, так и без транзиентов
На фиг.22 проиллюстрирован синтаксис EcData, содержащего bsFrequencyResStrideXXX. Синтаксический элемент bsFreqResStride обеспечивает возможность для использования широкополосных меток в MPS. XXX должно быть заменено значением типа данных (CLD, ICC, IPD).
Управляющий транзиентами декоррелятор в структуре OTT-декодера предоставляет возможность применения специализированного декоррелятора к составляющим с транзиентами подобных аплодисментам сигналов. Активация этой функции TSD управляется сгенерированным кодером флагом bsTsdEnable, который передается раз за кадр.
Данные TSD в модуле преобразования двух каналов в один канал (R-OTT) кодера генерируются, как следует ниже:
- Запустить семантический классификатор сигналов, который обнаруживает подобные аплодисментам сигналы. Результат классификации передается раз за кадр: флаг bsTsdEnable задается в значение 1 для подобных аплодисментам сигналов, иначе он задается в значение 0.
- Если bsTsdEnable задан в значение 0 для текущего кадра, для этого кадра дополнительные данные TSD не генерируются/не передаются.
- Если bsTsdEnable задан в значение 1 для текущего кадра, выполнить следующее:
○ Включить широкополосный расчет пространственных OTT-параметров.
○ Обнаружить транзиенты в текущем кадре (двоичное решение по каждому временному слоту MPS).
○ Кодировать позиции слотов с транзиентами tsdPosLen в векторе tsdPos согласно следующему псевдокоду, где позиции слотов в tsdPos предполагаются в возрастающем порядке. На фиг.13 проиллюстрирован псевдокод для кодирования позиций слотов с транзиентами в tsdPosLen.
○ Передать число слотов с транзиентами (bsTsdNumTrSlots=(число обнаруженных слотов с транзиентами)-1).
○ Передать кодированные позиции с транзиентами (bsTsdCodedPos).
○ Для каждого слота с транзиентами вычислить величину фазы, которая представляет разность фаз при широкополосной передаче между сигналом, полученным понижающим микшированием, и остаточным сигналом.
○ Для каждого слота с транзиентами кодировать и передать величину разности фаз при широкополосной передаче (bsTsdTrPhaseData).
Наконец, на фиг.23 проиллюстрирована схема прохождения сигналов для генерирования данных TSD в модуле преобразования двух каналов в один канал (R-OTT).
Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствует этапу способа, или признака этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока, или элемента, или признака соответствующего устройства.
В зависимости от определенных требований реализации, варианты осуществления данного изобретения могут быть реализованы в аппаратном обеспечении или программном обеспечении. Данная реализация может быть выполнена, используя цифровой запоминающий носитель, например флоппи-диск, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-память, содержащий электронно-считываемые сигналы управления, хранящиеся на нем, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой так, чтобы выполнялся соответствующий способ.
Некоторые варианты осуществления согласно данному изобретению содержат носитель данных, содержащий электронно-считываемые сигналы управления, которые способны взаимодействовать с программируемой компьютерной системой так, чтобы выполнялся один из способов, описанных в настоящем документе.
В общем, варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, причем программный код функционирует для выполнения одного из способов, когда компьютерный программный продукт выполняется на компьютере. Программный код может, например, храниться на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для выполнения одного из способов, описанных в настоящем документе, хранящихся на машиночитаемом носителе или в некратковременном запоминающем носителе.
Другими словами, вариант осуществления изобретенного способа вследствие этого является компьютерной программой, содержащей программный код для выполнения одного из способов, описанных в настоящем документе, когда компьютерная программа выполняется на компьютере.
Дополнительный вариант осуществления изобретенных способов вследствие этого является носителем данных (или цифровым запоминающим носителем или компьютерно-читаемым носителем), содержащим записанную на нем компьютерную программу для выполнения одного из способов, описанных в настоящем документе.
Дополнительный вариант осуществления изобретенного способа вследствие этого является потоком данных или последовательностью сигналов, представляющими компьютерную программу для выполнения одного из способов, описанных в настоящем документе. Поток данных или последовательность сигналов могут, например, быть выполненными с возможностью быть перенесенными через соединение передачи данных, например через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например компьютер или программируемое логическое устройство, сконфигурированное с возможностью или выполненное с возможностью выполнения одного из способов, описанных в настоящем документе.
Дополнительный вариант осуществления содержит компьютер, содержащий установленную на нем компьютерную программу для выполнения одного из способов, описанных в настоящем документе.
В некоторых вариантах осуществления программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может быть использовано для выполнения некоторых или всех функциональных возможностей способов, описанных в настоящем документе. В некоторых вариантах осуществления программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором для выполнения одного из способов, описанных в настоящем документе. В общем, способы предпочтительно выполняются любым аппаратным устройством.
Вышеописанные варианты осуществления являются лишь иллюстративными для принципов настоящего изобретения. Следует понимать, что модификации и вариации данных компоновок и подробности, описанные в настоящем документе, будут очевидны специалистам в данной области техники. Соответственно, подразумевается, что изобретение следует ограничивать только объемом прилагаемой формулы изобретения, но не конкретными подробностями, представленными с целью описания и разъяснения вариантов осуществления в настоящем документе.
Список литературы
th
[1] J. Breebaart, S. van de Par, A. Kohlrausch, E. Schuijers, "High-Quality Parametric Spatial Audio Coding at Low Bitrates" in Proceedings of the AES 116 Convention, Berlin, Preprint 6072, May 2004.
th
[2] J. Herre, K. Kjorling, J. Breebaart et al., "MPEG surround - the ISO/MPEG standard for efficient and compatible multi-channel audio coding", in Proceedings of the 122 AES Convention, Vienna, Austria, May 2007.
[3] Pulkki, Ville: "Spatial Sound Reproduction with Directional Audio Coding", в J. Audio Eng. Soc., Vol. 55, № 6, 2007.
[4] ISO/IEC International Standard "Information Technology - MPEG audio technologies - Part1: MPEG Surround", ISO/IEC 23003-1:2007.
th
[5] J. Engdegard. H. Purnhagen, J. Roden, L. Liljeryd, "Synthetic Ambience in Parametric Stereo Coding" in Proceedings of the AES 116 Convention, Berlin, Preprint, May 2004.