СПОСОБ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ АУДИОСИГНАЛА И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ
METHOD OF ENCODING AND DECODING AUDIO SIGNAL AND DEVICE FOR REALISING SAID METHOD

Область техники, к которой относится изобретение
Предмет этой заявки относится в общем к обработке аудиосигнала.
Уровень техники
В настоящее время проводятся исследования и разрабатываются новые подходы к перцептивному кодированию многоканального аудиосигнала, которое обычно называют пространственным аудиокодированием (SAC). SAC дает возможность передавать многоканальный аудиосигнал с низкими скоростями передачи битов, что позволяет использовать SAC для многих популярных аудиоприложений (например, потоковая передача через Интернет, скачивание музыки).
Вместо выполнения дискретного кодирования отдельных входных аудиоканалов, при использовании SAC фиксируется пространственное изображение многоканального аудиосигнала в компактном наборе параметров. Эти параметры могут передаваться в декодер, где они используются для синтеза или восстановления пространственных свойств аудиосигнала.
В некоторых приложениях, относящихся к SAC, пространственные параметры передаются в декодер в виде части битового потока. Битовый поток включает в себя пространственные кадры, которые содержат упорядоченные наборы временных интервалов, для которых могут применяться наборы пространственных параметров. Битовый поток также включает в себя информацию о положении, которая может быть использована декодером для идентификации правильного временного интервала, для которого применяется заданный набор параметров.
В некоторых приложениях SAC в трактах кодирования/декодирования используют концептуальные элементы. Один элемент обычно называется элементом «один к двум» (OTT), а другой элемент обычно называют элементом «два к трем» (TTT), где указанные имена заключают в себе количество входных и выходных сигналов соответствующего элемента декодера. Элемент кодера OTT выделяет два пространственных параметра и создает сигнал, являющийся результатом понижающего микширования, и остаточный сигнал. Элемент TTT выполняет понижающее микширование трех аудиосигналов, в результате чего получают стереосигнал после понижающего микширования плюс остаточный сигнал. Эти элементы могут быть объединены для создания разнообразных конфигураций пространственной аудиосреды (например, объемного звука).
Некоторые приложения SAC могут работать в неуправляемом рабочем режиме, когда из кодера в декодер передается только стереосигнал после понижающего микширования без необходимости передачи пространственных параметров. Декодер синтезирует пространственные параметры из сигнала, полученного в результате понижающего микширования, и использует эти параметры для создания многоканального аудиосигнала.
Сущность изобретения
Пространственная информация, связанная с аудиосигналом, кодируется в битовый поток, который может передаваться в декодер или записываться на носителе данных. Битовый поток может содержать в себе различный синтаксис, относящийся к временной, частотной и пространственной областям. В некоторых вариантах битовый поток включает в себя одну или несколько структур данных (например, кадры), которые содержат упорядоченные наборы временных интервалов, для которых можно применять те или иные параметры. Эти структуры данных могут быть фиксированными или переменными. Индикатор типа структуры данных может быть вставлен в битовый поток, чтобы дать возможность декодеру определить тип структуры данных и инициировать соответствующий процесс декодирования. Структура данных может включать в себя информацию о положении, которая может быть использована декодером для идентификации правильного временного интервала, для которого применим заданный набор параметров. Информация о положении временного интервала может быть закодирована с использованием фиксированного количества бит или переменного количества бит в зависимости от типа структуры данных, указанного индикатором типа структуры данных. Для структуры данных переменного типа информация о положении временного интервала может быть закодирована с использованием переменного количества бит на основе положения временного интервала в упорядоченном наборе временных интервалов.
В некоторых вариантах реализации способ кодирования аудиосигнала включает в себя: определение количества временных интервалов и количества наборов параметров, причем наборы параметров включают в себя один или несколько параметров; создание информации, указывающей положение по меньшей мере одного временного интервала в упорядоченном наборе временных интервалов, для которого применяется набор параметров; кодирование аудиосигнала в виде битового потока, включающего в себя кадр, причем этот кадр содержит упорядоченный набор временных интервалов; и вставку переменного количества бит в битовый поток, которые представляют положение временного интервала в упорядоченном наборе временных интервалов, где переменное количество бит определяется положением временного интервала.
В некоторых вариантах изобретения способ декодирования аудиосигнала включат в себя: прием битового потока, представляющего аудиосигнал, причем битовый поток содержит кадр; определение количества временных интервалов и количество наборов параметров из битового потока, причем наборы параметров включают в себя один или несколько параметров; определение информации о положении из битового потока, причем информация о положении указывает положение временного интервала в упорядоченном наборе временных интервалов, для которого применяется указанный набор параметров, где упорядоченный набор временных интервалов содержится в указанном кадре; и декодирование аудиосигнала на основе количества временных интервалов, количества наборов параметров и информации о положении, где информация о положении представлена переменным количеством бит на основе положения временного интервала.
Раскрыты другие варианты кодирования положения временного интервала, которые относятся к системам, способам, устройствам, структурам данных и считываемым компьютером носителям.
Следует понимать, что предшествующее общее описание и последующее подробное описание вариантов изобретения носят иллюстративный и пояснительный характер и предполагают дополнительное разъяснение заявленного изобретения.
Краткое описание чертежей
Сопроводительные чертежи, которые включены сюда для более глубокого понимания изобретения и образуют часть данной заявки, иллюстрируют вариант (варианты) осуществления изобретения и вместе с описанием служат для объяснения принципов, лежащих в основе настоящего изобретения. На чертежах:
фиг. 1 - схема, иллюстрирующая принцип создания пространственной информации согласно одному варианту настоящего изобретения;
фиг. 2 - блок-схема кодера для кодирования аудиосигнала согласно одному варианту настоящего изобретения;
фиг. 3 - блок-схема декодера для декодирования аудиосигнала согласно одному варианту настоящего изобретения;
фиг. 4 - блок-схема модуля преобразования каналов, содержащегося в блоке повышающего микширования, входящем в декодер, согласно одному варианту настоящего изобретения;
фиг. 5 - схема, объясняющая способ конфигурирования битового потока аудиосигнала согласно одному варианту настоящего изобретения;
фиг. 6А и 6В - схема и график время/частота, объясняющие взаимосвязи между набором параметров, временным интервалом и параметрическими диапазонами согласно одному варианту настоящего изобретения;
фиг. 7А - иллюстрация синтаксиса, представляющего информацию о конфигурации пространственного информационного сигнала согласно одному варианту настоящего изобретения;
фиг. 7В - таблица для нескольких параметрических диапазонов пространственного информационного сигнала согласно одному варианту настоящего изобретения;
фиг. 8А - иллюстрация синтаксиса, представляющего несколько параметрических диапазонов, применимых для блока OTT, в виде фиксированного количества бит согласно одному варианту настоящего изобретения;
фиг. 8В - иллюстрация синтаксиса, представляющего несколько параметрических диапазонов, применимых для блока OTT, с помощью переменного количества бит согласно одному варианту настоящего изобретения;
фиг. 9А - иллюстрация синтаксиса, представляющего несколько параметрических диапазонов, применимых для блока TTT, в виде фиксированного количества бит согласно одному варианту настоящего изобретения;
фиг. 9В - иллюстрация синтаксиса, представляющего несколько параметрических диапазонов, применимых для блока TTT, с помощью переменного количества бит согласно одному варианту настоящего изобретения;
фиг. 10А - иллюстрация синтаксиса информации о конфигурации пространственного расширения для кадра пространственного расширения согласно одному варианту настоящего изобретения;
фиг. 10В и 10С - иллюстрации синтаксисов информации о конфигурации пространственного расширения для остаточного сигнала в том случае, когда остаточный сигнал содержится в кадре пространственного расширения согласно одному варианту настоящего изобретения;
фиг. 10D - иллюстрация синтаксиса для способа представления количества параметрических диапазонов для остаточного сигнала согласно одному варианту настоящего изобретения;
фиг. 11А - блок-схема устройства декодирования при использовании неуправляемого кодирования согласно одному варианту настоящего изобретения;
фиг. 11В - схема для способа представления количества параметрических диапазонов в виде одной группы согласно одному варианту настоящего изобретения;
фиг. 12 - иллюстрация синтаксиса информации о конфигурации пространственного кадра согласно одному варианту настоящего изобретения;
фиг. 13А - иллюстрация синтаксиса информации о положении временного интервала, для которого применятся набор параметров, согласно одному варианту настоящего изобретения;
фиг. 13В - иллюстрация синтаксиса для представления информации о положении временного интервала, для которого применяется набор параметров, в виде абсолютного значения и значения разности согласно одному варианту настоящего изобретения;
фиг. 13С - схема, представляющая множество информаций о положении временных интервалов, для которых применяются наборы параметров, в виде группы согласно одному варианту настоящего изобретения;
фиг. 14 - блок-схема способа кодирования согласно одному варианту настоящего изобретения;
фиг. 15 - блок-схема способа декодирования согласно одному варианту настоящего изобретения; и
фиг. 16 - блок-схема архитектуры устройства для реализации процессов кодирования и декодирования, описанных со ссылками на фигуры 1-15.
Наилучший вариант осуществления изобретения
На фиг. 1 представлена схема, иллюстрирующая принцип создания пространственной информации согласно одному варианту настоящего изобретения. Схема перцептивного кодирования для многоканальных аудиосигналов основана на том факте, что человек может воспринимать аудиосигналы через трехмерное пространство. Это трехмерное пространстве аудиосигнала можно представить с использованием пространственной информации, включающей в себя, но не только, следующие известные пространственные параметры: разности канальных уровней (CLD), межканальную корреляцию/когерентность (ICC), разновременность каналов (CTD), коэффициенты канального предсказания (CPC) и т.д. Параметр CLD описывает разности в энергии (уровне) между двумя аудиоканалами, параметр ICC описывает величину корреляции или когерентности между двумя аудиоканалами, а параметр CTD описывает разность по времени между двумя аудиоканалами.
Создание параметров CTD и CLD показано на фиг. 1. Первая прямая звуковая волна 103 от удаленного источника 101 звука поступает в левое человеческое ухо 107, а вторая прямая звуковая волна 102 дифрагирует вокруг головы человека, достигая его правого уха 106. Прямые звуковые волны 102 и 103 отличаются друг от друга временем поступления и уровнем энергии. Параметры CTD и CLD могут быть созданы на основе разностей времен поступления и уровней энергии звуковых волн 102 и 103 соответственно. Вдобавок, в уши 106 и 107 поступают отраженные звуковые волны 104 и 105 соответственно, которые не имеют взаимной корреляции. Параметр ICC может быть создан на основе корреляции между звуковыми волнами 104 и 105.
В кодере из многоканального входного аудиосигнала выделяется пространственная информация (например, пространственные параметры), и создается сигнал, являющийся результатом понижающего микширования. Сигнал после понижающего микширования и пространственные параметры передаются в декодер. Для сигнала после понижающего микширования можно использовать любое количество аудиоканалов, включая, но не только: моносигнал, стереосигнал или многоканальный аудиосигнал. В декодере из сигнала после понижающего микширования и пространственных параметров создается многоканальный сигнал, являющийся результатом повышающего микширования.
На фиг. 2 представлена блок-схема кодера для кодирования аудиосигнала согласно одному варианту настоящего изобретения. Кодер включает в себя блок 202 понижающего микширования, блок 203 создания пространственной информации, блок 207 кодирования сигнала после понижающего микширования и блок 209 мультиплексирования. Возможны и другие конфигурации кодера. Кодеры могут быть реализованы аппаратными средствами, программными средствами или в виде комбинации аппаратных и программных средств. Кодеры могут быть реализованы в интегральных микросхемах, наборах микросхем, однокристальной системе (SoC), цифровых процессорах сигналов, процессорах общего назначения и различных цифровых и аналоговых устройствах.
1
n
1
m
Блок 202 понижающего микширования создает из многоканального аудиосигнала 201 сигнал 204, являющийся результатом понижающего микширования. На фиг. 2 x,...,x указывают входные аудиоканалы. Как упоминалось выше, сигнал 204 после понижающего микширования может представлять собой моносигнал, стереосигнал или многоканальный аудиосигнал. В показанном примере x',...,x'указывают количество каналов сигнала 204 после понижающего микширования. В некоторых вариантах кодер вместо сигнала 204 понижающего микширования обрабатывает сигнал 205 понижающего микширования, который подается извне (например, понижающее микширование для создания художественных эффектов).
Блок 203 создания пространственной информации извлекает пространственную информацию из многоканального аудиосигнала 201. В этом случае термин «пространственная информация» обозначает информацию, относящуюся к каналам аудиосигнала, используемым при повышающем микшировании сигнала 204 после понижающего микширования с получением многоканального аудиосигнала в декодере. Сигнал 204 понижающего микширования создается посредством понижающего микширования многоканального аудиосигнала. Пространственную информацию кодируют для обеспечения кодированного сигнала 206 с пространственной информацией.
Блок 207 кодирования сигнала понижающего микширования создает кодированный сигнал 208 понижающего микширования путем кодирования сигнала 204 понижающего микширования, созданного в блоке 202 понижающего микширования.
Блок 209 мультиплексирования создает битовый поток 210, включающий в себя кодированный сигнал 208 после понижающего микширования и кодированный сигнал 206 с пространственной информацией. Битовый поток 210 может быть передан в последующий декодер и/или записан на носителе данных.
На фиг. 3 представлена блок-схема декодера для декодирования кодированного аудиосигнала согласно одному варианту настоящего изобретения. Декодер включает в себя блок 302 демультиплексирования, блок 305 декодирования сигнала после понижающего микширования, блок 307 декодирования пространственной информации и блок 309 повышающего микширования. Декодеры могут быть реализованы аппаратными средствами, программными средствами или в виде комбинации аппаратных и программных средств. Декодеры могут быть реализованы в интегральных микросхемах, наборах микросхем, однокристальной системе (SoC), цифровых процессорах сигналов, процессорах общего назначения и различных цифровых и аналоговых устройствах.
1
m
1
m
В некоторых вариантах блок 302 демультиплексирования принимает битовый поток 301, представляющий аудиосигнал, а затем выделяет из битового потока 301 кодированный сигнал 303 после понижающего микширования и кодированный сигнал 304 с пространственной информацией. На фиг. 3 x',...,x' указывают каналы сигнала 303 после понижающего микширования. Блок 305 декодирования сигнала понижающего микширования выводит декодированный сигнал 306 понижающего микширования посредством декодирования кодированного сигнала 303 понижающего микширования. Если декодер не способен выдавать многоканальный аудиосигнал, то тогда блок 305 декодирования сигнала понижающего микширования может непосредственно вывести сигнал 306 понижающего микширования. На фиг. 3 y',...,y' указывают прямые выходные каналы блока 305 декодирования сигнала понижающего микширования.
Блок 307 декодирования сигнала с пространственной информацией выделяет информацию о конфигурации сигнала с пространственной информацией из закодированного сигнала 304 с пространственной информацией, а затем декодирует сигнал 304 с пространственной информацией, используя извлеченную информацию о конфигурации.
1
n
Блок 309 повышающего микширования может выполнить повышающее микширование сигнала 306, являющегося результатом понижающего микширования, с получением многоканального аудиосигнала 310, используя извлеченную пространственную информацию 308. На фиг. 3 y,...,y указывают ряд выходных каналов блока 309 повышающего микширования.
На фиг. 4 представлена блок-схема модуля преобразования каналов, который может быть включен в состав блока 309 повышающего микширования в декодере, показанном на фиг. 3. В некоторых вариантах блок 309 повышающего микширования может включать в себя множество модулей преобразования каналов. Модуль преобразования каналов является концептуальным устройством, которое может отличать количество входных каналов от количества выходных каналов, используя специальную информацию.
В некоторых вариантах модуль преобразования каналов может включать в себя блок OTT (один к двум) для преобразования одного канала в два канала и наоборот и блок TTT (два к трем) для преобразования двух каналов в три канала и наоборот. Блоки OTT и/или TTT могут быть скомпонованы с использованием множества различных полезных конфигураций. Например, блок 309 повышающего микширования, показанный на фиг. 3, может включать в себя конфигурацию 5-1-5, конфигурацию 5-2-5, конфигурацию 7-2-7, конфигурацию 7-5-7 и т.д. В конфигурации 5-1-5 сигнал, имеющий после понижающего микширования один канал, создается путем понижающего микширования пяти каналов в один канал, который затем может быть подвергнут повышающему микшированию до пяти каналов. Аналогичным образом можно создать и другие конфигурации, используя различные комбинации блоков OTT и TTT.
Обратимся к фиг. 4, где показана в качестве примера конфигурация 5-2-5 для блока 400 повышающего микширования. В конфигурации 5-2-5 сигнал 401, который после понижающего микширования имеет два канала, вводится в блок 400 повышающего микширования. В показанном примере в качестве входов в блок 400 повышающего микширования предусмотрены левый канал (L) и правый канал (R). В этом варианте блок 400 повышающего микширования включает в себя один блок TTT 402 и три блока OTT 406, 407 и 408. Сигнал 401, который имеет после понижающего микширования два канала, подается в качестве входного сигнал в блок TTT (TTTo) 402, который обрабатывает сигнал 401 после понижающего микширования и обеспечивает в качестве выходных сигналов три канала 403, 404 и 405. В качестве входа в блок TTT 402 могут быть предусмотрены один или несколько пространственных параметров (например, CPC, CLD, ICC), которые используют для обработки сигнала 401 после понижающего микширования, как описано ниже. В некоторых вариантах в качестве входа в блок TTT 402 может быть избирательно предусмотрен остаточный сигнал. В указанном случае в качестве коэффициента предсказания для создания трех каналов из дух каналов может быть определен параметр CPC.
Канал 403, который предусмотрен в качестве выхода из блока TTT 402, является входом в блок OTT 406, который создает два выходных канала, используя один или несколько пространственных параметров. В показанном примере два выходных канала представляют положения переднего левого (FL) и заднего левого (BL) динамиков, например, в объемной звуковой среде. Канал 404 предусмотрен в качестве входа в блок OTT 407, который создает два выходных канала, используя один или несколько пространственных параметров. В показанном примере два выходных канала представляют положения переднего правого (FR) и заднего правого (BR) динамиков. Канал 405 предусмотрен в качестве входа в блок OTT 408, который создает два выходных канала. В показанном примере два выходных канала представляют положение центрального (С) динамика и канал низкочастотной оптимизации (LFE). В этом случае пространственная информация (например, CLD, ICC) может быть предусмотрена в качестве входа для каждого из блоков OTT. В некоторых вариантах в качестве входов в блоки OTT 406 и 407 могут быть предусмотрены остаточные сигналы (Res1, Res2). В указанном варианте остаточный сигнал может быть не предусмотрен в качестве входного сигнала в блок OTT 408, который выдает центральный канал и канал LFE.
Конфигурация, показанная на фиг. 4, является одним примером конфигурации для модуля преобразования каналов. Возможны другие конфигурации для модуля преобразования каналов, включающие в себя различные комбинации блоков OTT и TTT. Поскольку каждый из модулей преобразования каналов может функционировать в частотной области, можно определить количество параметрических диапазонов, применимых для каждого из модулей преобразования каналов. Диапазон параметра означает по меньшей мере один частотный диапазон, применимый к одному параметру. Ряд параметрических диапазонов описан со ссылками на фиг. 6В.
На фиг. 5 показана схема, иллюстрирующая способ конфигурирования битового потока аудиосигнала согласно одному варианту настоящего изобретения. На фиг. 5(а) показан битовый поток аудиосигнала, включающего только сигнал с пространственной информацией, а на фигурах 5(b) и 5(с) показаны битовые потоки аудиосигнала, включающего в себя сигнал после понижающего микширования и сигнал с пространственной информацией.
Обратимся к фиг. 5(а), где битовый поток аудиосигнала может включать в себя информацию 501 о конфигурации и кадр 503. Кадр 503 может повторяться в битовом потоке, причем в некоторых вариантах включать в себя единственный пространственный кадр 502, содержащий пространственную аудиоинформацию.
В некоторых вариантах информация 501 о конфигурации включает в себя информацию, описывающую общее количество временных интервалов в одном пространственном кадре 502, общее количество параметрических диапазонов, охватывающих частотный диапазон аудиосигнала, количество параметрических диапазонов в блоке OTT, количество параметрических диапазонов в блоке TTT и количество параметрических диапазонов в остаточном сигнале. При необходимости в информацию 501 о конфигурации может быть включена и другая информация.
В некоторых вариантах пространственный кадр 502 включает в себя один или несколько пространственных параметров (например, CLD, ICC), тип кадра, количество наборов параметров в одном кадре, а также временные интервалы, для которых могут быть применены наборы параметров. При необходимости в пространственный кадр 502 может быть включена и другая информация. Смысл и ценность информации 501 о конфигурации и информации, содержащейся в пространственном кадре 502, объясняются ниже со ссылками на фигуры с 6 по 10.
Обратимся к фиг. 5(b), где битовый поток аудиосигнала может включать в себя информацию 504 о конфигурации, сигнал 505 после понижающего микширования и пространственный кадр 506. В этом случае один кадр 507 может включать в себя сигнал 505 после понижающего микширования и пространственный кадр 506, причем кадр 507 может в битовом потоке повторяться.
Обратимся к фиг. 5(с), где битовый поток аудиосигнала может включать в себя сигнал 508 после понижающего микширования, информацию 509 о конфигурации и пространственный кадр 510. В этом случае один кадр 511 может включать в себя информацию 509 о конфигурации и пространственный кадр 510, причем кадр 511 в битовом потоке может повторяться. Если информация 509 о конфигурации вставлена в каждый кадр 511, то аудиосигнал может воспроизводиться устройством воспроизведения с произвольного места.
Хотя на фиг. 5(с) показано, что информация 509 о конфигурации вставлена в битовый поток с помощью кадра 511, должно быть очевидно, что информация 509 о конфигурации может быть вставлена в битовый поток с использованием множества кадров, которые повторяются периодически или непериодически.
На фигурах 6А и 6В представлены схемы, иллюстрирующие связи между набором параметров, временным интервалом и параметрическими диапазонами согласно одному варианту настоящего изобретения. Набор параметров обозначает один или несколько пространственных параметров, используемых для одного временного интервала. Пространственные параметры могут включать в себя пространственную информацию, такую как CDL, ICC, CPC и т.д. Временной интервал означает интервал аудиосигнала, для которого могут быть применены пространственные параметры. Один пространственный кадр может включать в себя один или несколько временных интервалов.
Обратимся к фиг. 6А, где в пространственном кадре может быть использовано несколько наборов параметров 1,…,P, а каждый набор параметров может включать в себя одно или несколько полей 1,…,Q-1 данных. Набор параметров может быть применен ко всему частотному диапазону аудиосигнала, а каждый пространственный параметр в наборе параметров может быть применен к одному или нескольким участкам полосы частот. Например, если набор параметров включает в себя 20 пространственных параметров, то вся полоса частот аудиосигнала может быть разбита на 20 зон (называемых далее «параметрические диапазоны»), и для 20 параметрических диапазонов можно применить 20 пространственных параметров из данного набора параметров. Параметры могут быть применены к параметрическим диапазонам исходя из конкретных требований. Например, пространственные параметры могут быть применены к низкочастотным параметрическим диапазонам без разрядки, а к высокочастотным параметрическим диапазонам с разрядкой.
Обратимся к фиг. 6В, где график время/частота показывает взаимосвязь между наборами параметров и временными интервалами. В показанном примере три набора параметров (набор 1 параметров, набор 2 параметров, набор 3 параметров) применяются для упорядоченного набора из 12 временных интервалов в одном пространственном кадре. В этом случае весь частотный диапазон аудиосигнала разбивается на 9 параметрических диапазонов. Таким образом, горизонтальная ось указывает количество временных интервалов, а вертикальная ось указывает количество параметрических диапазонов. Каждый из трех наборов параметров применяется для конкретного временного интервала. Например, первый набор параметров (набор 1 параметров) применяется для временного интервала #1, второй набор параметров (набор 2 параметров) применяется для временного интервала #5, а третий набор параметров (набор 3 параметров) применяется для временного интервала #9. Наборы параметров могут быть применены для других временных интервалов посредством интерполяции и/или копирования наборов параметров для этих временных интервалов. В общем случае количество наборов параметров может быть меньше или равно количеству временных интервалов, а количество параметрических диапазонов может быть меньше или равно количеству частотных полос аудиосигнала. Посредством кодирования пространственной информации для некоторых частей временной-частотной области аудиосигнала вместо того, чтобы делать это для всей временной-частотной области аудиосигнала, можно уменьшить объем пространственной информации, посылаемой от кодера на декодер. Это сокращение объема данных возможно потому, что согласно известным принципам перцепционного аудиокодирования разряженной информации во временной-частотной области частот часто бывает достаточно для восприятия человеком звука.
Важным признаком раскрытых здесь вариантов осуществления изобретения является кодирование и декодирование положений временных интервалов, для которых применяются наборы параметров, с использованием фиксированного или переменного количества бит. Количество параметрических диапазонов также может быть представлено фиксированным количеством бит или переменным количеством бит. Схема кодирования с переменным количеством бит также может быть применена к другой информации, используемой при пространственном аудиокодировании, в том числе, но не только, к информации, связанной с временной, пространственной и/или частотной областями (например, для нескольких частотных поддиапазонов на выходе гребенки фильтров).
На фиг. 7А показан синтаксис для представления информации о конфигурации пространственного информационного сигнала согласно одному варианту настоящего изобретения. Информация о конфигурации включает в себя множество полей с 701 по 718, которым может быть присвоено некоторое количество бит.
Поле “bsSamplingFreqencyIndex” 701 указывает частоту дискретизации, полученную из процесса дискретизации аудиосигнала. Для представления частоты дискретизации полю “bsSamplingFreqencyIndex” 701 выделено 4 бита. Если значение поля “bsSamplingFreqencyIndex” 701 составляет 15, то есть двоичное число 1111, то добавляется поле “bsSamplingFreqency” 702 для представления частоты дискретизации. В этом случае полю “bsSamplingFreqency” 702 выделяется 24 бита.
Поле “bsFrameLength” 703 указывает общее количество временных интервалов (далее называемое “numSlots”) в одном пространственном кадре, причем между “numSlots” и полем “bsFrameLength” 703 может иметь место соотношение NumSlots = bsFrameLength+1.
Поле “bsFreqRes” 704 указывает общее количество параметрических диапазонов, охватывающих всю частотную область аудиосигнала. Поле “bsFreqRes” 704 объясняется ниже на фиг. 7В.
Поле “bsTreeConfig” 705 указывает информацию для древовидной конфигурации, включающей в себя множество модулей преобразования каналов, таких как были описаны со ссылками на фиг. 4. Информация для древовидной конфигурации включает в себя такую информацию, как тип модуля преобразования каналов, количество модулей преобразования каналов, тип пространственной информации, используемой в модуле преобразования каналов, количество входных/выходных каналов аудиосигнала и т.д.
Древовидная конфигурация может иметь одну из следующих конфигураций: конфигурацию 5-1-5, конфигурацию 5-2-5, конфигурацию 7-2-7, конфигурацию 7-5-7 и т.п., в соответствии с типом модуля преобразования каналов или количеством каналов. На фиг. 4 показана древовидная конфигурация 5-2-5.
Поле 706 “bsQuantMode” указывает информацию о режиме квантования пространственной информации.
Поле “bsOneIcc” 707 указывает, используется ли для всех блоков OTT один поднабор параметров ICC. В этом случае поднабор параметров означает набор параметров, примененных для конкретного временного интервала и конкретного модуля преобразования каналов.
Поле “bsArbitraryDownmix” 708 указывает наличие или отсутствие произвольно выбранного коэффициента усиления при понижающем микшировании. Поле “bsFixedGainSur” 709 указывает коэффициент усиления, применяемый для объемного канала, например, LS (левый канал объемного звучания) и RS (правый канал объемного звучания).
Поле “bsFixedGainLF” 710 указывает коэффициент усиления, применяемый для канала LFE.
Поле “bsFixedGainDM” 711 указывает коэффициент усиления, применяемый для сигнала, являющегося результатом понижающего микширования.
Поле “bsMatrixMode” 712 указывает, создается ли в кодере матрично совместимый стереосигнал после понижающего микширования.
Поле “bsTempShapeConfig” 713 указывает рабочий режим временного формирования (например, TES (формирование временной огибающей) и/или TP (временное формирование)) в декодере.
Поле “bsDecorrConfig” 714 указывает рабочий режим декоррелятора декодера.
И поле “bs3DaudioМode” 715 указывает, закодирован ли сигнал после понижающего микширования в 3D (трехмерный) сигнал и использована ли обработка с применением обратной функции HRTF (функция моделирования восприятия звука человеком).
После того как была определена/извлечена информация из каждого поля в кодере/декодере, в кодере/декодере определяется/извлекается информация для количества параметрических диапазонов, применяемых для модуля преобразования каналов. Сначала определяется/извлекается (716) количество параметрических диапазонов, применяемых для блока OTT, а затем определяется/извлекается (717) количество параметрических диапазонов, применяемых для блока TTT. Количество параметрических диапазонов для блока ATT и/или блока TTT будет подробно описано со ссылками на фигуры с 8А по 9В.
В случае когда существует кадр расширения, блок “spatialExtensionConfig” 718 включает в себя информацию о конфигурации для кадра расширения. Информация, включенная в блок “spatialExtensionConfig” 718, описывается ниже со ссылками на фигуры с 10А по 10D.
На фиг. 7В представлена таблица для количества параметрических диапазонов сигнала с пространственной информацией согласно одному варианту настоящего изобретения. “numBands” указывает количество параметрических диапазонов для всей частотной области аудиосигнала, а “bsFreqRes” указывает индексную информацию для количества параметрических диапазонов. Например, вся частотная область аудиосигнала по желанию может быть разбита на несколько параметрических диапазонов (например, 4, 5, 7, 10, 14, 20, 28 и т.д.).
В некоторых вариантах один параметр может применяться для каждого параметрического диапазона. Например, если “numBands” составляет 28, то тогда вся частотная область аудиосигнала разбивается на 28 параметрических диапазонов, и каждый из 28 параметров может применяться для каждого из 28 параметрических диапазонов. В другом примере если “numBands” равно 4, то тогда вся частотная область данного аудиосигнала разбивается на 4 параметрических диапазона, и каждый из 4 параметров может применяться для каждого из 4 параметрических диапазонов. На фиг. 7В термин “Зарезервировано” означает, что количество параметрических диапазонов для всей частотной области данного аудиосигнала не определено.
Следует заметить, что орган слуха человека не чувствителен к количеству параметрических диапазонов, используемых в схеме кодирования. Таким образом, использование небольшого количества параметрических диапазонов может обеспечить такой же пространственный аудиоэффект для слушателя, как если бы использовалось большее количество параметрических диапазонов.
2
2
В отличие от параметра “numBands”, параметр “numSlots”, представленный полем “bsFrameLength” 703, показанным на фиг. 7А, может представлять все значения. Однако значения “numSlots” могут быть ограничены, если количество отсчетов в одном пространственном кадре точно делится на “numSlots”. Таким образом, если максимальное представляемое значение “numSlots” равно 'b', то каждое значение поля “bsFrameLength” 703 может быть представлено ceil{log(b)} битами. В этом случае 'ceil(x)' означает минимальное целое число, большее или равное значению 'x'. Например, если один пространственный кадр включает в себя 72 временных интервала, то тогда для поля “bsFrameLength” 703 может быть выделено ceil{log(72)} = 7 бит, и количество параметрических диапазонов, применяемых для модуля преобразования каналов, может быть принято равным значению в пределах “numBands”.
На фиг. 8А показан синтаксис для представления количества параметрических диапазонов, применяемых для блока OTT, с помощью фиксированного количества бит согласно одному варианту настоящего изобретения. Обратимся к фигурам 7А и 8А, где 'i' имеет значение от нуля до numOttBoxes - 1 и где 'numOttBoxes' - общее количество блоков OTT. А именно, значение 'i' указывает каждый блок OTT, а количество параметрических диапазонов, применяемое для каждого блока OTT, представлено соответствующим значением 'i'. Если блок OTT имеет режим канала LFE, то количество параметрических диапазонов (обозначенное далее как “bsOttBands”), применяемое для канала LFE блока OTT, можно представить с использованием фиксированного количества бит. В примере, показанном на фиг.8А, для поля “bsOttBands” 801 выделено 5 бит. Если блок OTT не имеет режим канала LFE, то для канала блока OTT может быть применено общее количество параметрических диапазонов (numBands).
На фиг. 8В показан синтаксис для представления количества параметрических диапазонов, применяемых для блока OTT, с переменным количеством бит согласно одному варианту настоящего изобретения. На фиг. 8В, которая аналогична фиг. 8А, в отличие от фиг. 8А поле “bsOttBands” 802, показанное на фиг. 8В, представлено переменным количеством бит. В частности, поле “bsOttBands” 802, значение которого меньше или равно “numBands”, может быть представлено переменным количеством бит с использованием “numBands”.
(n-1)
(n)
Если “numBands” находится в диапазоне, большем или равным 2 и меньшим 2, то поле “bsOttBands” 802 может быть представлено переменным количеством бит n.
Например: (а) если “numBands” равно 40, то поле “bsOttBands” 802 представляется 6 битами; (b) если “numBands” равно 28 или 20, то поле “bsOttBands” 802 представляется 5 битами; (с) если “numBands” равно 14 или 10, то поле “bsOttBands” 802 представляется 4 битами; и (d) если “numBands” равно 7, 5 или 4, то поле “bsOttBands” 802 представляется 3 битами.
(n-1)
(n)
Если “numBands” находится в диапазоне, большем чем 2 и меньшем или равным 2, то поле “bsOttBands” 802 может быть представлено переменным количеством бит n.
Например: (а) если “numBands” равно 40, то поле “bsOttBands” 802 представляется 6 битами; (b) если “numBands” равно 28 или 20, то поле “bsOttBands” 802 представляется 5 битами; (с) если “numBands” равно 14 или 10, то поле “bsOttBands” 802 представляется 4 битами; (d) если “numBands” равно 7, 5, то поле “bsOttBands” 802 представляется 3 битами; и (e) если “numBands” равно 4, то поле “bsOttBands” 802 представляется 2 битами.
Поле “bsOttBands” 802 может быть представлено переменным количеством бит через функцию (далее называемую “функция наименьшего целого”) округления до ближайшего целого значения, где в качестве переменной берется “numBands”.
2
2
В частности: (i) в случае когда 0 < bsOttBands ≤ numBands или 0 ≤ bsOttBands < numBands, поле “bsOttBands” 802 представляется количеством бит, соответствующим значению ceil(log(numBands)); или (ii) в случае когда 0 ≤ bsOttBands ≤ numBands, поле “bsOttBands” 802 может быть представлено ceil(log(numBands+1)) битами.
Если значение, меньшее или равное “numBands” (называемое далее “numberBands”), определено произвольно, то поле “bsOttBands” 802 может быть представлено переменным количеством бит через функцию наименьшего целого, если в качестве переменной принять “numberBands”.
2
2
В частности: (i) в случае когда 0 < bsOttBands ≤ numberBands или 0 ≤ bsOttBands < numberBands, поле “bsOttBands” 802 представляется ceil(log(numberBands)) битами; или (ii) в случае когда 0 ≤ bsOttBands ≤ numberBands, поле “bsOttBands” 802 может быть представлено ceil(log(numberBands+1)) битами.
Если используется более одного блока OTT, то комбинация “bsOttBands” может быть выражена формулой 1, приведенной ниже.
[Формула 1]
i
2
1
0
где bsOttBands указывает i-й “bsOttBands”. Например, предположим, что имеется три блока OTT и три значения (N=3) для поля “bsOttBands” 802. В этом примере три значения поля “bsOttBands” 802 (обозначенные далее a1, a2 и a3 соответственно), применяемые для трех соответствующих блоков OTT, могут быть представлены 2 битами каждое. Следовательно, для выражения значений a1, a2 и a3 потребуется всего 6 бит. Кроме того, если значения a1, a2 и a3 представлены в виде группы, то тогда может возникнуть 27 (=3·3·3) вариантов, которые могут быть представлены 5 битами с экономией одного бита. Если “numBands” равно 3, а значение группы, представленное 5 битами, равно 15, то значение группы может быть представлено в виде 15=1·(3)+2·(3)+0·(3). Следовательно, декодер, применив обратным образом формулу 1, может определить из значения 15 группы, что три значения a1, a2 и a3 поля “bsOttBands” 802 составляют 1, 2 и 0 соответственно.
В случае множества блоков OTT комбинация “bsOttBands” может быть представлена в виде одной из формул с 2 по 4 (определенных ниже) с использованием “numberBands”. Поскольку представление “bsOttBands” с использованием “numberBands” аналогично представлению с использованием “numBands” из формулы 1, подробное объяснение представленных ниже формул опускается.
[Формула 2]
[Формула 3]
[Формула 4]
На фиг. 9А показан синтаксис для представления количества параметрических диапазонов, применяемых для блока TTT, с фиксированным количеством бит согласно одному варианту настоящего изобретения. Обратимся к фигурам 7А и 9А, где 'i' имеет значение от нуля до numTttboxes - 1, где 'numTttboxes' - общее количество блоков TTT. А именно, значение 'i' указывает каждый блок TTT. Количество параметрических диапазонов, применяемое для каждого блока TTT, представляется в соответствии со значением 'i'. В некоторых вариантах блок TTT может быть разбит на низкочастотный диапазон и высокочастотный диапазон, и для низкочастотного и высокочастотного диапазонов могут быть использованы разные процессы обработки. Возможны и другие варианты разбиения.
Поле “bsTttDualMode” 901 указывает, работает ли данный блок TTT в разных режимах (далее это называется “дуальный режим”) для низкочастотного диапазона и высокочастотного диапазона соответственно. Например, если значение поля “bsTttDualMode” 901 равно нулю, то тогда используется один режим для всего диапазона без различия между низкочастотным диапазоном и высокочастотным диапазоном. Если значение поля “bsTttDualMode” 901 равно 1, то тогда для низкочастотного диапазона и высокочастотного диапазона могут использоваться разные режимы.
Поле “bsTttModeLow” 902 указывает рабочий режим данного блока TTT, который может иметь различные рабочие режимы. Например, блок TTT может работать в режиме предсказания, в котором используются, например, параметры CPC и ICC, в режиме на основе оценки энергии, в котором используются, например, параметры CLD, и т.д. Если блок TTT имеет дуальный режим, то для высокочастотного диапазона может потребоваться дополнительная информация.
Поле “bsTttModeHigh” 903 указывает рабочий режим высокочастотного диапазона, и в этом случае блок TTT имеет дуальный режим.
Поле “bsTttBandsLow” 904 указывает количество параметрических диапазонов, применяемых для блока TTT.
Поле “bsTttBandsHigh” 905 имеет “numBands”.
Если блок TTT имеет дуальный режим, то низкочастотный диапазон может быть большим или равным нулю и меньшим чем “bsTttBandsLow”, в то время как высокочастотный диапазон может быть большим или равным “bsTttBandsLow” и меньшим чем “bsTttBandsHigh”.
Если блок TTT не имеет дуальный режим, то количество параметрических диапазонов, применяемых для блока TTT, может быть больше или равно нулю и меньше “numBands” (907).
Поле “bsTttBandsLow” 904 может быть представлено фиксированным количеством бит. Например, как показано на фиг. 9А, для представления поля “bsTttBandsLow” 904 может быть выделено 5 бит.
На фиг. 9В показан синтаксис для представления количества параметрических диапазонов, применяемых для блока TTT, с переменным количеством бит согласно одному варианту настоящего изобретения. Фиг. 9В аналогична фиг. 9А, но отличается от фиг. 9А тем, что поле “bsTttBandsLow” 907 на фиг. 9В представлено переменным количеством бит, в то время как поле “bsTttBandsLow” 904 на фиг. 9А представлено фиксированным количеством бит. В частности, поскольку поле “bsTttBandsLow” 907 имеет значение, меньшее или равное “numBands”, поле “bsTttBands” 907 может быть представлено переменным количеством бит с использованием “numBands”.
(n-1)
(n)
В частности, в случае когда “numBands” больше или равно 2 и меньше 2, поле “bsTttBandsLow” 907 может быть представлено n битами.
Например: (i) если “numBands” равно 40, то поле “bsTttBandsLow” 907 представляется 6 битами; (ii) если “numBands” равно 28 или 20, то поле “bsTttBandsLow” 907 представляется 5 битами; (iii) если “numBands” равно 14 или 10, то поле “bsTttBandsLow” 907 представляется 4 битами; и (iv) если “numBands” равно 7, 5 или 4, то поле “bsTttBandsLow” представляется 3 битами.
(n-1)
(n)
Если “numBands” находится в диапазоне, большем 2 и меньшим или равным 2, то тогда поле “bsTttBandsLow” 907 может быть представлено n битами.
Например: (i) если “numBands” равно 40, то поле “bsTttBandsLow” 907 представляется 6 битами; (ii) если “numBands” равно 28 или 20, то поле “bsTttBandsLow” 907 представляется 5 битами; (iii) если “numBands” равно 14 или 10, то поле “bsTttBandsLow” 907 представляется 4 битами; (iv) если “numBands” равно 7 или 5, то поле “bsTttBandsLow” представляется 3 битами; и (v) если “numBands” равно 4, то поле “bsTttBandsLow” 907 представляется 2 битами.
Поле “bsTttBandsLow” 907 может быть представлено количеством бит, определяемым функцией наименьшего целого, если в качестве переменной принять “numBands”.
2
2
Например: i) в случае когда 0 < bsTttBandsLow ≤ numBands или 0 ≤ bsTttBandsLow < numBands, поле “bsTttBandsLow” 907 представляется количеством бит, соответствующим значению ceil(log(numBands)); или ii) в случае когда 0 ≤ bsTttBandsLow ≤ numBands, поле “bsTttBandsLow” 907 может быть представлено ceil(log(numBands+1)) битами.
Если значение, меньшее или равное “numBands”, то есть “numberBands” определено произвольно, то поле “bsTttBandsLow” 907 может быть представлено переменным количеством бит с использованием “numberBands”.
2
2
В частности: i) в случае когда 0 < bsTttBandsLow ≤ numberBands или 0 ≤ bsTttBandsLow < numberBands, поле “bsTttBandsLow” 907 представляется количеством бит, соответствующим значению ceil(log(numberBands)); или ii) в случае когда 0 ≤ bsTttBandsLow ≤ numberBands, поле “bsTttBandsLow” 907 может быть представлено количеством бит, соответствующим ceil(log(numberBands +1)).
В случае множества блоков TTT комбинация из “bsTttBandsLow” может быть выражена в виде формулы 5, определенной ниже.
[Формула 5]
i
В этом случае bsTttBandsLow указывает i-й “bsTttBandsLow”. Поскольку формула 5 идентична формуле 1, подробное объяснение формулы 5 в дальнейшем описании опущено.
В случае множества блоков TTT комбинация из “bsTttBandsLow” может быть представлена одной из формул с 6 по 8 с использованием “numberBands”. Поскольку формулы с 6 по 8 идентичны формулам с 2 по 4, подробное объяснение формул с 6 по 8 в последующем описании опущено.
[Формула 6]
[Формула 7]
[Формула 8]
Количество параметрических диапазонов, применяемых для модуля преобразования каналов (например, блок OTT и/или блок TTT), может быть представлено в виде значения деления “numBands”. В этом случае в качестве значения деления используют половинное значение “numBands” или значение, являющееся результатом деления “numBands” на конкретное число.
Как только определено количество параметрических диапазонов, применяемых для блока OTT и/или TTT, могут быть определены наборы параметров, которые можно применить для каждого блока OTT и/или каждого блока TTT в рамках количества параметрических диапазонов. Каждый из наборов параметров может быть применен для каждого блока OTT и/или каждого блока TTT за временной интервал, принятый за единицу времени. А именно, один набор параметров может быть применен к одному временному интервалу.
Как упоминалось в предыдущем описании, один пространственный кадр может включать в себя множество временных интервалов. Если пространственный кадр относится к кадру фиксированного типа, тогда набор параметров может быть применен для множества временных интервалов равной длительности. Если кадр относится к кадру переменного типа, то необходимо иметь информацию о положении временного интервала, для которого применяется набор параметров. Это подробно объясняется ниже со ссылками на фигуры с 13А по 13С.
На фиг. 10А показан синтаксис для информации о конфигурации с пространственным расширением для кадра пространственного расширения согласно одному варианту настоящего изобретения. Информация о конфигурации с пространственным расширением может включать в себя поле “bsSacExtType” 1001, поле “bsSacExtLen” 1002, поле “bsSacExtLenAdd” 1003, поле “bsSacExtLenAddAdd” 1004 и поле “bsFillBits” 1007. Возможны и другие поля.
Поле “bsSacExtType” 1001 указывает тип данных кадра пространственного расширения. Например, кадр пространственного расширения может быть заполнен нулями, остаточными данными сигнала, произвольными остаточными данными сигнала после понижающего микширования или произвольными данными о дереве.
Поле “bsSacExtLen” 1002 указывает количество байт информации о конфигурации с пространственным расширением.
Поле “bsSacExtLenAdd” 1003 указывает дополнительное количество байт информации о конфигурации с пространственным расширением, если количество байт информации о конфигурации с пространственным расширением стало больше или равным, например, 15.
Поле “bsSacExtLenAddAdd” 1004 указывает дополнительное количество байт информации о конфигурации с пространственным расширением, если количество байт информации о конфигурации с пространственным расширением стало больше или равно, например, 270.
После определения/выделения в кодере/декодере соответствующих полей определяется (1005) информация о конфигурации для типа данных, включенная в кадр пространственного расширения.
Как упоминалось в приведенном выше описании, в кадре пространственного расширения могут содержаться остаточные данные сигнала, производные остаточные данные сигнала после понижающего микширования, данные о конфигурации дерева или т.п.
Далее вычисляется (1006) количество неиспользованных бит исходя из длины информации о конфигурации с пространственным расширением.
Поле “bsFillBits” 1007 указывает количество бит данных, которые можно опустить при заполнении неиспользованных бит.
На фигурах 10В и 10С показаны синтаксисы для информации о конфигурации с пространственным расширением для остаточного сигнала в том случае, когда остаточный сигнал включен в кадр пространственного расширения, согласно одному варианту настоящего изобретения.
Обратимся к фиг. 10В, где поле “bsResidualSamplingFrequencyIndex” 1008 указывает частоту дискретизации остаточного сигнала.
Поле “bsResidualFramesPerSpetialFrame” 1009 указывает количество остаточных кадров на один пространственный кадр. Например, в одном пространственном кадре может находиться 1, 2, 3 или 4 остаточных кадра.
Блок “ResidualConfig” 1010 указывает количество параметрических диапазонов для остаточного сигнала, применяемое для каждого блока OTT и/или TTT.
Обратимся к фиг. 10С, где поле “bsResidualPresent” 1011 указывает, применим ли остаточный сигнал для каждого блока OTT и/или TTT.
Поле “bsResidualBands” 1012 указывает количество параметрических диапазонов остаточного сигнала, существующее в каждом блоке OTT и/или TTT, если остаточный сигнал существует в каждом блоке OTT и/или TTT. Количество параметрических диапазонов остаточного сигнала может быть представлено фиксированным количеством бит или переменным количеством бит. В случае когда количество параметрических диапазонов представлено фиксированным количеством бит, остаточный сигнал может иметь значение, меньшее или равное общему количеству параметрических диапазонов аудиосигнала. Так для представления всех параметрических диапазонов может быть выделено необходимое количество бит (например, 5 бит на фиг. 10С).
(n-1)
(n)
На фиг. 10D показан синтаксис для представления количества параметрических диапазонов остаточного сигнала с помощью переменного количества бит согласно одному варианту настоящего изобретения. Поле “bsResidualBands” 1014 может быть представлено переменным количеством бит с использованием “numBands”. Если numBands больше или равно 2 и меньше 2, то поле “bsResidualBands” 1014 может быть представлено n битами.
Например: (i) если “numBands” равно 40, то поле “bsResidualBands” 1014 представляется 6 битами; (ii) если “numBands” равно 28 или 20, то поле “bsResidualBands” 1014 представляется 5 битами; (iii) если “numBands” равно 14 или 10, то поле “bsResidualBands” 1014 представляется 4 битами; (iv) если “numBands” равно 7, 5 или 4, то поле “bsResidualBands” 1014 представляется 3 битами.
(n-1)
(n)
Если numBands больше 2 и меньше или равно 2, то количество параметрических диапазонов остаточного сигнала может быть представлено n битами.
Например: (i) если “numBands” равно 40, то поле “bsResidualBands” 1014 представляется 6 битами; (ii) если “numBands” равно 28 или 20, то поле “bsResidualBands” 1014 представляется 5 битами; (iii) если “numBands” равно 14 или 10, то поле “bsResidualBands” 1014 представляется 4 битами; (iv) если “numBands” равно 7 или 5, то поле “bsResidualBands” 1014 представляется 3 битами; и (v) если “numBands” равно 4, то поле “bsResidualBands” 1014 представляется 2 битами.
Кроме того, поле “bsResidualBands” 1014 может быть представлено количеством бит, определяемым функцией округления до ближайшего целого, если в качестве переменной принять “numBands”.
2
2
В частности: i) в случае когда 0 < bsResidualBands ≤ numBands или 0 ≤ bsResidualBands < numBands, поле “bsResidualBands” 1014 представляется ceil(log(numBands)) битами; или ii) в случае когда 0 ≤ bsResidualBands ≤ numBands, поле “bsResidualBands” 1014 может быть представлено ceil(log(numBands+1)) битами.
В некоторых вариантах поле “bsResidualBands” 1014 может быть представлено с использованием значения (numberBands), меньшего или равного numBands.
2
2
В частности: i) в случае когда 0 < bsResidualBands ≤ numberBands или 0 ≤ bsResidualBands < numberBands, поле “bsResidualBands” 1014 представляется ceil(log(numberBands)) битами; или ii) в случае когда 0 ≤ bsResidualBands ≤ numberBands, поле “bsResidualBands” 1014 может быть представлено ceil(log(numberBands +1)) битами.
В случае наличия множества остаточных сигналов (N) комбинация из “bsResidualBands” может быть выражена в виде формулы 9, определенной ниже.
[Формула 9]
i
В этом случае bsResidualBands указывает i-й “bsResidualBands”. Поскольку формула 9 идентична формуле 1, подробное объяснение формулы 9 в дальнейшем описании опущено.
В случае множества остаточных сигналов комбинация из “bsResidualBands” может быть представлена одной из формул с 10 по 12 с использованием “numberBands”. Поскольку представление “bsResidualBands” с использованием “numberBands” идентично представлению формул с 2 по 4, их подробное объяснение в последующем описании опущено.
[Формула 10]
[Формула 11]
[Формула 12]
Количество параметрических диапазонов остаточного сигнала может быть представлено в виде значения деления “numBands”. В этом случае для значения деления можно использовать половинное значение “numBands” или значение, являющееся результатом деления “numBands” на конкретное значение.
Остаточный сигнал может быть включен в битовый поток аудиосигнала вместе с сигналом после понижающего микширования и пространственным информационным сигналом, и этот битовый поток может пересылаться в декодер. Декодер может выделять из битового потока сигнал после понижающего микширования, пространственный информационный сигнал и остаточный сигнал.
Далее сигнал, полученный в результате понижающего микширования, подвергается повышающему микшированию с использованием пространственной информации. Между тем, в ходе повышающего микширования к сигналу понижающего микширования прилагается остаточный сигнал. В частности, сигнал, полученный в результате понижающего микширования, подвергается повышающему микшированию во множестве модулей преобразования каналов с использованием пространственной информации. При выполнении этого в модуль преобразования каналов подается остаточный сигнал. Как упоминалось в предшествующем описании, модуль преобразования каналов имеет несколько параметрических диапазонов, и в модуль преобразования каналов подается набор параметров для каждого временного интервала. Когда остаточный сигнал подается в модуль преобразования каналов, возможно, понадобится, чтобы остаточный сигнал обновил информацию о межканальной корреляции аудиосигнала, для которого применяется остаточный сигнал. Затем обновленная информация о межканальной корреляции используется в процессе повышающего микширования.
На фиг. 11А представлена блок-схема декодера для неуправляемого кодирования согласно одному варианту настоящего изобретения. Неуправляемое кодирование означает, что пространственная информация не включена в битовый поток аудиосигнала.
В некоторых вариантах декодер включает в себя гребенку 1102 фильтров для анализа, блок 1104 анализа, блок 1106 пространственного синтеза и гребенку 1108 фильтров для синтеза. Хотя на фиг. 11А показан сигнал после понижающего микширования в сигнале типа “стерео”, можно использовать и другие типы сигналов после понижающего микширования.
В процессе функционирования декодер принимает сигнал 1101 после понижающего микширования, а гребенка 1102 фильтров для анализа преобразует полученный сигнал 1101 после понижающего микширования в сигнал 1103 частотной области. Блок 1104 анализа создает пространственную информацию на основе преобразованного сигнала 1103 после понижающего микширования. Блок 1104 анализа выполняет обработку по каждому временному интервалу, а пространственная информация 1105 может создаваться для множества временных интервалов. В этом случае временной интервал включает в себя один временной интервал.
Пространственная информация может быть создана в два этапа. Во-первых, из сигнала после понижающего микширования создается параметр понижающего микширования. Во-вторых, параметр понижающего микширования преобразуется в пространственную информацию, например пространственный параметр. В некоторых вариантах параметр понижающего микширования может быть создан посредством матричных вычислений сигнала после понижающего микширования.
Блок 1106 пространственного синтеза создает многоканальный аудиосигнал 1107 путем синтеза созданной пространственной информации 1105 с сигналом 1103 понижающего микширования. Созданный многоканальный аудиосигнал 1107 проходит через гребенку 1108 фильтров для синтеза с целью преобразования в аудиосигнал 1109 во временной области.
Пространственная информация может создаваться с заранее определенных положений временных интервалов. Расстояния между этими положениями могут быть равными (то есть эквидистантные). Например, пространственная информация может создаваться на 4 временных интервала. Пространственная информация может также создаваться с переменных положений временных интервалов. В этом случае информация о положении временного интервала, с которого создается пространственная информация, может быть извлечена из битового потока. Информация о положении может быть представлена переменным количеством бит. Информация о положении может быть представлена в виде абсолютного значения и значения разности относительно предыдущей информации о положении временного интервала.
(n-1)
(n)
В случае использования неуправляемого кодирования количество параметрических диапазонов (далее называемое “bsNumguidedBlindBands”) для каждого канала аудиосигнала может быть представлено фиксированным количеством бит. “bsNumguidedBlindBands” может быть представлено переменным количеством бит с использованием “numBands”. Например, если “numBands” больше или равно 2 и меньше 2, то “bsNumguidedBlindBands” может быть представлено переменным количеством n бит.
В частности, (а) если “numBands” равно 40, то “bsNumguidedBlindBands” представляется 6 битами, (b) если “numBands” равно 28 или 20, то “bsNumguidedBlindBands” представляется 5 битами, (с) если “numBands” равно 14 или 10, то “bsNumguidedBlindBands” представляется 4 битами, и (d) если “numBands” равно 7, 5 или 4, то “bsNumguidedBlindBands” представляется 3 битами.
(n-1)
(n)
Если “numBands” больше 2 и меньше или равно 2, то тогда “bsNumguidedBlindBands” может быть представлено переменным количеством n бит.
Например: (а) если “numBands” равно 40, то “bsNumguidedBlindBands” представляется 6 битами, (b) если “numBands” равно 28 или 20, то “bsNumguidedBlindBands” представляется 5 битами, (с) если “numBands” равно 14 или 10, то “bsNumguidedBlindBands” представляется 4 битами, (d) если “numBands” равно 7 или 5, то “bsNumguidedBlindBands” представляется 3 битами; и (e) если “numBands” равно 4, то “bsNumguidedBlindBands” представляется 2 битами.
Кроме того, “bsNumguidedBlindBands” может быть представлено переменным количеством бит с использованием функции минимального целого, если в качестве переменной принять “numBands”.
2
2
Например, i) в случае если 0 < bsNumguidedBlindBands ≤ numBands или 0 ≤ bsNumguidedBlindBands < numBands, то “bsNumguidedBlindBands” представляется ceil(log(numBands)) битами; или ii) в случае когда 0 ≤ bsNumguidedBlindBands ≤ numBands, то “bsNumguidedBlindBands” может быть представлено ceil(log(numBands+1)) битами.
Если значение меньше или равно “numBands”, то есть “numberBands” определено произвольно, то “bsNumguidedBlindBands” может быть представлено следующим образом.
2
2
В частности, i) в случае если 0 < bsNumguidedBlindBands ≤ numberBands или 0 ≤ bsNumguidedBlindBands < numberBands, то “bsNumguidedBlindBands” представляется ceil(log(numberBands)) битами; или ii) в случае когда 0 ≤ bsNumguidedBlindBands ≤ numberBands, то “bsNumguidedBlindBands” может быть представлено ceil(log(numberBands+1)) битами.
Если существует N каналов, то комбинация “bsNumguidedBlindBands” может быть выражена в виде формулы 13.
[Формула 13]
i
В этом случае bsNumguidedBlindBands указывает i-е “bsNumguidedBlindBands”. Поскольку формула 13 идентична формуле 1, подробное объяснение формулы 13 в последующем описании опущено. Если имеется множество каналов, то “bsNumguidedBlindBands” может быть представлено одной из формул с 14 по 16 с использованием “numberBands”. Поскольку преставление “bsNumguidedBlindBands” с использованием “numberBands” идентично представлениям в формулах с 2 по 4, подробное объяснение формул с 14 по 16 в последующем описании опущено.
[Формула 14]
[Формула 15]
[Формула 16]
На фиг. 11В представлена схема для способа представления количества параметрических диапазонов в виде группы согласно одному варианту настоящего изобретения. Количество параметрических диапазонов включает в себя информацию о количестве параметрических диапазонов, применяемую для модуля преобразования каналов, информацию о количестве параметрических диапазонов, применяемых для остаточного сигнала, и информацию о количестве параметрических диапазонов для каждого канала аудиосигнала в случае использования неуправляемого кодирования. В случае когда существует множество информаций о количестве параметрических диапазонов, множество информаций о количестве (например, “bsOttbands”, “bsTttbands”, “bsResidualBand” и/или “bsNumguidedBlindBands”) может быть представлено по меньшей мере в виде одной или нескольких групп.
Обратимся к фиг. 11В, где если имеется (kN+L) информаций о количестве параметрических диапазонов и если для представления каждой информации о количестве параметрических диапазонов необходимо Q бит, то множество данных о количестве параметрических диапазонов может быть представлено в виде следующей группы. В этом случае 'k' и 'N' являются произвольными целыми числами, не равными нулю, а 'L' является произвольным целым числом, удовлетворяющим неравенству 0≤L<N.
Метод группирования включает в себя шаги создания k групп путем связывания N информаций о количестве параметрических диапазонов и создания последней группы путем связывания последних L информаций о количестве параметрических диапазонов. k групп могут быть представлены в виде M бит, а последняя группа может быть представлена в виде p бит. В этом случае предпочтительно, чтобы M бит было меньше N·Q бит, используемых в случае представления каждой информации о количестве параметрических диапазонов без их группирования. p бит предпочтительно меньше или равно L·Q бит, используемых в случае представления каждой информации о количестве параметрических диапазонов без их группирования.
Предположим, например, что информация о количестве параметрических диапазонов представляет собой b1 и b2 соответственно. Если каждая из величин b1 и b2 может иметь пять значений, то для представления каждой из величин b1 и b2 необходимо иметь 3 бита. В этом случае хотя 3 битами можно представить восемь значений, фактически потребуется только пять значений. То есть каждая из величин b1 и b2 имеет три избыточных значения. Кроме того, в случае представления b1 и b2 в виде группы путем связывания b1 и b2 вместе, вместо 6 бит (=3 бита + 3 бита) можно использовать 5 бит. В частности, поскольку все комбинации b1 и b2 включают в себя 25 (=5·5) вариантов, группа из b1 и b2 может быть представлена 5 битами. Поскольку 5 бит могут представлять 32 значения, в случае представления в виде группы создается семь избыточных значений. Кроме того, в случае представления путем группирования b1 и b2 избыточность получается меньшей, чем в случае представления каждой из величин b1 и b2 в виде 3 бит. Способ представления множества данных о количестве параметрических диапазонов в виде групп может быть реализован различными путями следующим образом.
Если множество данных о количестве параметрических диапазонов имеет 40 значений каждое, то создается k групп с использованием в качестве N значений 2, 3, 4, 5 или 6. k групп могут быть представлены 11, 16, 22, 27 и 32 битами соответственно. В альтернативном варианте k групп представляют путем комбинирования соответствующих вариантов.
Если множество информаций о количестве параметрических диапазонов имеет 28 значений для каждой, то создается k групп с использованием в качестве N значения 6, и k групп можно представить 29 битами.
Если множество информаций о количестве параметрических диапазонов имеет 20 значений для каждой, то создается k групп с использованием в качестве N значений 2, 3, 4, 5, 6 или 7. k групп могут быть представлены 9, 13, 18, 22, 26 и 31 битами соответственно. В альтернативном варианте k групп могут быть представлены путем комбинирования соответствующих случаев.
Если множество информаций о количестве параметрических диапазонов имеет 14 значений для каждой, то создается k групп с использованием в качестве N значения 6. k групп можно представить 23 битами.
Если множество информаций о количестве параметрических диапазонов имеет 10 значений для каждой, то создается k групп с использованием в качестве N значений 2, 3, 4, 5, 6, 7, 8 или 9. k групп могут быть представлены 7, 10, 14, 17, 20, 24, 27 и 30 битами соответственно. В альтернативном варианте k групп могут быть представлены путем комбинирования соответствующих случаев.
Если множество информаций о количестве параметрических диапазонов имеет 7 значений для каждой, то создается k групп с использованием в качестве N значений 6, 7, 8, 9, 10 или 11. k групп могут быть представлены 17, 20, 23, 26, 29 и 31 битами соответственно. В альтернативном варианте k групп представляются путем комбинирования соответствующих случаев.
Если множество информаций о количестве параметрических диапазонов имеет, например, 5 значений для каждой, то создается k групп с использованием в качестве N значений 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 или 13. k групп могут быть представлены 5, 7, 10, 12, 14, 17, 19, 21, 24, 26, 28 и 31 битами соответственно. В альтернативном варианте k групп представляются путем комбинирования соответствующих случаев.
Кроме того, множество информаций о количестве параметрических диапазонов может быть сконфигурировано для представления в виде вышеописанных групп или для последовательного представления путем формирования каждой информации о количестве параметрических диапазонов в виде независимой битовой последовательности.
На фиг. 12 показан синтаксис, представляющий информацию о конфигурации пространственного кадра согласно одному варианту настоящего изобретения. Пространственный кадр включает в себя блок “FramingInfo” 1201, блок “bsIndependencyfield” 1202, блок “OttData” 1203, блок “TttData” 1204, блок “SmgData” 1205 и блок “tempShapeData” 1206.
Блок “FramingInfo” 1201 включает в себя информацию о количестве наборов параметров и информацию о временном интервале, для которого применяется каждый набор параметров. Блок “FramingInfo” 1201 подробно объясняется со ссылками на фиг. 13А.
Поле “bsIndependencyfield” 1202 указывает, можно ли декодировать текущий кадр без сведений о предыдущем кадре.
Блок “OttData” 1203 включает в себя всю информацию о пространственных параметрах для всех блоков OTT.
Блок “TttData” 1204 включает в себя всю информацию о пространственных параметрах для всех блоков TTT.
Блок “SmgData” 1205 включает в себя информацию для временного сглаживания, применяемую для деквантизированного пространственного параметра.
Блок “tempShapeData” 1206 включает в себя информацию для формирования временной огибающей, применяемой для декоррелированного сигнала.
На фиг. 13А показан синтаксис для представления информации о положении временного интервала, для которого применяется набор параметров, согласно одному варианту настоящего изобретения. Поле “bsFramingType” 1301 указывает, является ли пространственный кадр аудиосигнала фиксированным кадром или переменным кадром. Фиксированный кадр означает кадр, в котором набор параметров применяется для предварительно установленного временного интервала. Например, набор параметров применяется к временному интервалу, заранее установленному с равным интервалом. Переменный кадр означает кадр, который избирательно принимает информацию о положении временного интервала, для которого применяется набор параметров.
Поле “bsNumParamSets” 1302 указывает количество наборов параметров в одном пространственном кадре (называемое далее “NumParamSets”), причем между “NumParamSets” и “bsNumParamSets” существует соотношение “NumParamSets = bsNumParamSets +1”.
Например, поскольку для поля “bsNumParamSets” 1302 на фиг. 13А выделено 3 бита, в одном пространственном кадре можно обеспечить максимум восемь наборов параметров. Поскольку количество выделенных бит не ограничено, в пространственном кадре можно обеспечить больше наборов параметров.
Если пространственный кадр относится к фиксированному типу, то информация о положении временного интервала, для которого применяется набор параметров, может быть определена согласно заранее установленному правилу, и в дополнительной информации о положении временного интервала, для которого применяется набор параметров, нет необходимости. Однако если пространственный кадр относится к переменному типу, то необходимо иметь информацию о положении временного интервала, для которого применяется набор параметров.
(n-1)
(n)
Поле “bsParamSlot” 1303 указывает информацию о положении временного интервала, для которого применяется набор параметров. Поле “bsParamSlot” 1303 может быть представлено переменным количеством бит с использованием нескольких временных интервалов в одном пространственном кадре, то есть “numSlots”. В частности, в случае когда “numSlots” больше или равно 2 и меньше 2, поле “bsParamSlot” 1303 может быть представлено n битами.
Например: (i) если “numSlots” находится в диапазоне между 64 и 127, то поле “bsParamSlot” 1303 может быть представлено 7 битами; (ii) если “numSlots” находится в диапазоне между 32 и 63, то поле “bsParamSlot” 1303 может быть представлено 6 битами; (iii) если “numSlots” находится в диапазоне между 16 и 31, то поле “bsParamSlot” 1303 может быть представлено 5 битами; (iv) если “numSlots” находится в диапазоне между 8 и 15, то поле “bsParamSlot” 1303 может быть представлено 4 битами; (v) если “numSlots” находится в диапазоне между 4 и 7, то поле “bsParamSlot” 1303 может быть представлено 3 битами; (vi) если “numSlots” находится в диапазоне между 2 и 3, то поле “bsParamSlot” 1303 может быть представлено 2 битами; (vii) если “numSlots” равно 1, то поле “bsParamSlot” 1303 может быть представлено 1 битом; и (viii) если “numSlots” равно 0, то поле “bsParamSlot” 1303 может быть представлено 0 бит. Аналогичным образом, если “numSlots” находится в диапазоне между 64 и 127, то поле “bsParamSlot” 1303 может быть представлено 7 битами.
Если имеется множество (N) наборов параметров, то комбинация “bsParamSlot” может быть представлена согласно формуле 9.
[Формула 9]
i
2
1
0
В этом случае “bsParamSlot” указывает временной интервал, для которого применяется i-й набор параметров. Предположим, например, что “numSlots” равно 3 и что поле “bsParamSlot” 1303 может иметь десять значений. В этом случае для поля “bsParamSlot” 1303 необходимо три информации (далее называемые с1, с2 и с3 соответственно). Поскольку для представления каждой (с1, с2 и с3) необходимо 4 бита, всего потребуется 12 (= 4·3) бита. В случае представления с1, с2 и с3 в виде группы путем связывания их вместе, может возникнуть 1000 (=10·10·10) случаев, которые могут быть представлены 10 битами, что сэкономит 2 бита. Если “numSlots” равно 3 и если считанное значение в виде 5 бит составляет 31, то это значение может быть представлено как 31=1·(3)+5·(3)+7·(3). Декодирующее устройство может определить, что с1, с2 и с3 составляют 1, 5 и 7 соответственно, применив инверсию формулы 9.
На фиг. 13В показан синтаксис для представления информации о положении временного интервала, для которого применяется набор параметров, в виде абсолютного значения и значения разности согласно одному варианту настоящего изобретения. Если пространственный кадр является кадром переменного типа, то поле “bsParamSlot” 1303 на фиг. 13А может быть представлено в виде абсолютного значения и значения разности с учетом того факта, что значение информации “bsParamSlot” монотонно возрастает.
Например: (i) положение временного интервала, для которого применяется первый набор параметров, может быть сформировано как абсолютное значение, то есть “bsParamSlot[0]”; и (ii) положение временного интервала, для которого применяется второй или последующий набор параметров, может быть сформировано в виде значения разности, то есть “difference value” между “bsParamSlot[ps]” и “bsParamSlot[ps-1]” или “difference value-1” (далее называемое “bsDiffParamSlot[ps]”). В этом случае “ps” означает набор параметров.
Поле “bsParamSlot[0]” 1304 может быть представлено количеством бит (далее называемым “nBitsParamSlot(0)”), вычисленным с использованием “numSlots” и “numParamSets”.
Поле “bsDiffParamSlot[ps]” 1305 может быть представлено количеством бит (далее называемым “nBitsParamSlot(ps)”), вычисленным с использованием “numSlots”, “numParamSets” и положения временного интервала, для которого применяется предыдущий набор параметров, то есть “bsParamSlot[ps-1]”.
В частности, для представления “bsParamSlot[ps]” минимальным количеством бит количество бит для представления “bsParamSlot[ps]” может быть принято на основе следующих правил: (i) множество “bsParamSlot[ps]” увеличивается в возрастающей последовательности (bsParamSlot[ps] > bsParamSlot[ps-1]); (ii) максимальное значение “bsParamSlot[0]” равно “numSlots - numParamSets”; и (iii) в случае если 0 < ps < numParamSets, “bsParamSlot[ps]” может иметь значение только между “bsParamSlot[ps-1] +1” и “numSlots - numParamSets + ps”.
Например, если “numSlots” равно 10 и если “numParamSets” равно 3, то поскольку “bsParamSlot[ps]” возрастает, то максимальное значение “bsParamSlot[0]” становится равным '10-3=7'. А именно, “bsParamSlot[0]” должно выбираться из значений от 0 до 7. Причина этого заключается в том, что количество временных интервалов для остальных наборов параметров (например, если ps равно 1 или 2) недостаточно, если “bsParamSlot[0]” имеет значение, большее 7.
Если “bsParamSlot[0]” равно 5, то положение bsParamSlot[1] временного интервала для второго набора параметров должно выбираться из значений между '5+1=6' и '10-3+1=8'.
Если “bsParamSlot[1]” равно 7, то “bsParamSlot[2]” может стать равным 8 или 9. Если “bsParamSlot[1]” равно 8, то “bsParamSlot[2]” может стать равным 9.
Следовательно, “bsParamSlot[ps]” может быть представлено переменным количеством бит с использованием вышеуказанных признаков вместо представления в виде фиксированного количества бит.
При конфигурировании “bsParamSlot[ps]” в битовом потоке если “ps” равно 0, то “bsParamSlot[0]” может быть представлено в виде абсолютного значения с помощью количества бит, соответствующих “nBitsParamSlot(0)”. Если “ps” больше 0, то “bsParamSlot[ps]” может быть представлено в виде значения разности с помощью количества бит, соответствующих “nBitsParamSlot(ps)”. При считывании сконфигурированного выше “bsParamSlot[ps]” из битового потока длину битового потока для каждых данных, то есть “nBitsParamSlot(ps)”, можно найти, использовав формулу 10.
[Формула 10]
b
b
В частности, “nBitsParamSlot(ps)” можно найти как nBitsParamSlot(0) = f(numSlots - numParamSets +1). Если 0<ps<numParamSets, то “nBitsParamSlot(ps)” можно найти как nBitsParamSlot(ps) = f(numSlots - numParamSets + ps - bsParamSlot[ps-1]). “nBitsParamSlot(ps)” можно определить, если использовать формулу 11, которая дополняет формулу 10 до 7 бит.
[Формула 11]
b
b
Далее приводится пример функции f(x). Если “numSlots” равно 15 и если “numParamSets” равно 3, то эту функцию можно оценить как nBitsParamSlot(0)=f(15-3+1)=4 бита.
b
Если “bsParamSlot[0]”, представленное 4 битами, равно 7, то указанная функция может быть оценена как nBitsParamSlot(1)=f(15-3+1-7)=3 бита. В этом случае поле “bsDiffParamSlot[1]” 1305 может быть представлено 3 битами.
b
Если значение, представленное 3 битами, равно 3, то “bsParamSlot[1]” становится равным 7+3=10. Следовательно, nBitsParamSlot(2)=f(15-3+2-10)=2 бита. В этом случае поле “bsDiffParamSlot[2]” 1305 может быть представлено 2 битами. Если количество оставшихся временных интервалов равно количеству оставшихся наборов параметров, то для поля “bsDiffParamSlot[ps]” может быть выделено 0 бит. Другими словами, для представления положения временного интервала, для которого применяется данный набор параметров, дополнительная информация не требуется.
b
b
2
Таким образом, количество бит для “bsParamSlot[ps]” может быть принято переменным. Количество бит для “bsParamSlot[ps]” может считываться из битового потока с использованием функции f(x) в декодере. В некоторых вариантах функция f(x) может включать в себя функцию ceil(log(x)).
При считывании информации для “bsParamSlot[ps]”, представленной в виде абсолютного значения и значения разности, из битового потока в декодере сначала из битового потока может быть считан “bsParamSlot[0]”, а затем может быть считан “bsDiffParamSlot[ps]” для 0<ps<numParamSets. Затем можно найти “bsParamSlot[ps]” для интервала 0≤ps<numParamSets с использованием “bsParamSlot[0]” и “bsDiffParamSlot[ps]”. Например, как показано на фиг. 13В, “bsParamSlot[ps]” можно найти, добавив “bsParamSlot[ps-1]” к “bsDiffParamSlot[ps]+1”.
На фиг. 13С показан синтаксис для представления информации о положении временного интервала, для которого применяется набор параметров, в виде группы согласно одному варианту настоящего изобретения. В случае когда существует множество наборов параметров, множество “bsParamSlots” 1307 для множества наборов параметров может быть представлено по меньшей мере одной или несколькими группами.
Если количество “bsParamSlots” 1307 равно (kN+L) и если для представления каждого “bsParamSlots” 1307 необходимо Q бит, то “bsParamSlots” 1307 может быть представлено в виде следующей группы. В этом случае 'k' и 'N' являются произвольными целыми числами, не равными нулю, а 'L' является произвольным целым числом, удовлетворяющим неравенству 0≤L<N.
Метод группирования может включать в себя шаги создания k групп путем связывания N “bsParamSlots” 1307 и создания последней группы путем связывания последних L “bsParamSlots” 1307. k групп могут быть представлены M битами, а последняя группа может быть представлена p битами. В этом случае предпочтительно, чтобы M бит было меньше N·Q бит, используемых в случае представления каждого из “bsParamSlots” 1307 без их группирования. p бит предпочтительно меньше или равно L·Q бит, используемых в случае представления каждого “bsParamSlots” 1307 без их группирования.
Предположим, например, что пара “bsParamSlots” 1307 для двух наборов параметров представляет собой d1 и d2 соответственно. Если каждая из величин d1 и d2 может иметь пять значений, то для представления каждой из величин d1 и d2 необходимо иметь 3 бита. В этом случае хотя 3 битами можно представить восемь значений, фактически потребуется пять значений. То есть каждая из величин d1 и d2 имеет три избыточных значения. Кроме того, в случае представления d1 и d2 в виде группы путем связывания d1 и d2 вместе, вместо 6 бит (=3 бита+3 бита) можно использовать 5 бит. В частности, поскольку все комбинации d1 и d2 включают в себя 25 (=5·5) типов, группа из d1 и d2 может быть представлена только 5 битами. Поскольку 5 бит могут представлять 32 значения, в случае представления в виде группы создается семь избыточных значений. Кроме того, в случае представления путем группирования d1 и d2 избыточность получается меньшей, чем в случае представления каждой из величин d1 и d2 в виде 3 бит.
При конфигурировании группы данные для группы можно сконфигурировать, используя “bsParamSlot[0]” для начального значения и значение разности между парами “bsParamSlot[ps]” для второго или последующего значения.
При конфигурировании группы биты можно распределять непосредственно без группирования, если количество наборов параметров равно 1, и биты можно распределять после завершения группирования, если количество наборов параметров больше или равно 2.
На фиг. 14 представлена блок-схема способа кодирования согласно одному варианту настоящего изобретения. Далее разъясняется способ кодирования аудиосигнала и функционирование кодера согласно настоящему изобретению.
Сначала (S1401) определяется общее количество временных интервалов (numSlots) в одном пространственном кадре и общее количество параметрических диапазонов (numBands) аудиосигнала.
Затем (S1402) определяется количество параметрических диапазонов, применяемых для модуля преобразования каналов (блок OTT и/или блок TTT), и/или остаточный сигнал.
Если блок OTT имеет режим канала LFE, то отдельно определяют количество параметрических диапазонов, применяемых для блока OTT.
Если блок OTT не имеет режима канала LFE, то в качестве количества параметров, применяемых для блока OTT, используют “numBands”.
Далее определяется тип пространственного кадра. В этом случае пространственный кадр может быть отнесен к кадру фиксированного типа или кадру переменного типа.
Если пространственный кадр относится к переменному типу (S1403), то определяется (S1406) количество наборов параметров, используемых в одном пространственном кадре. В этом случае набор параметров может быть использован для модуля преобразования каналов на каждом временном интервале.
Далее (S1407) определяют положение временного интервала, для которого применяется данный набор параметров. В этом случае положение временного интервала, для которого применяется данный набор параметров, может быть представлено в виде абсолютного значения и значения разности. Например, положение временного интервала, для которого применяется первый набор параметров, может быть представлено в виде абсолютного значения, а положение временного интервала, для которого применяется второй или последующий набор параметров, может быть представлено в виде значения разности относительно положения предыдущего временного интервала. В этом случае положение временного интервала, для которого применяется данный набор параметров, может быть представлено переменным количеством бит.
В частности, положение временного интервала, для которого применяется первый набор параметров, может быть представлено количеством бит, вычисляемых с использованием общего количества временных интервалов и общего количества наборов параметров. Положение временного интервала, для которого применяется второй или последующий набор параметров, может быть представлено количеством бит, вычисляемым с использованием общего количества временных интервалов, общего количества наборов параметров и положения временного интервала, для которого применяется предыдущий набор параметров.
Если пространственный кадр относится к фиксированному типу, то определяется (S1404) количество наборов параметров, используемых в одном пространственном кадре. В этом случае положение временного интервала, для которого применяется данный набор параметров, выбирают с использованием заранее установленного правила. Например, положение временного интервала, для которого применяется набор параметров, может быть определено таким образом, чтобы он находился на равном расстоянии от положения временного интервала, для которого применяется предыдущий набор параметров (S1405).
Далее блок понижающего микширования и блок создания пространственной информации создают сигнал после понижающего микширования и пространственную информацию соответственно, используя определенное выше общее количество временных интервалов, общее количество параметрических диапазонов, количество параметрических диапазонов, применяемых для блока преобразования канала, общее количество наборов параметров в одном пространственном кадре и информацию о положении временного интервала, для которого применяется набор параметров (S1408).
Наконец, блок мультиплексирования создает битовый поток, включающий в себя сигнал после понижающего микширования и пространственную информацию (S1409), а затем передает созданный битовый поток в декодер (S1409).
На фиг. 15 представлена блок-схема способа декодирования согласно одному варианту настоящего изобретения. Способ декодирования аудиосигнала и функционирование декодера согласно настоящему изобретению поясняются ниже.
Сначала декодер принимает битовый поток аудиосигнала (S1501). Блок демультиплексирования выделяет сигнал после понижающего микширования и сигнал с пространственной информацией из полученного битового потока (S1502). Далее блок декодирования сигнала с пространственной информацией извлекает из информации о конфигурации сигнала с пространственной информацией информацию об общем количестве временных интервалов в одном пространственном кадре, общем количестве параметрических диапазонов и количестве параметрических диапазонов, применяемом для модуля преобразования каналов (S1503).
Если пространственный кадр относится к переменному типу (S1504), из пространственного кадра извлекается количество наборов параметров в одном пространственном кадре и информация о положении временного интервала, для которого применяется данный набор параметров (S1505). Информация о положении временного интервала может быть представлена фиксированным или переменным количеством бит. В этом случае информация о положении временного интервала, для которого применяется первый набор параметров, может быть представлена в виде абсолютного значения, а информация о положении временных интервалов, для которых применяются второй или последующий наборы параметров, может быть представлена в виде значения разности. Действительную информацию о положении временных интервалов, для которых применяются второй или последующие наборы параметров, можно найти путем добавления значения разности к информации о положении временного интервала, для которого применяется предыдущий набор параметров.
Наконец, сигнал после понижающего микширования преобразуется в многоканальный аудиосигнал с использованием извлеченной информации (S1506).
Вышеописанные раскрытые варианты изобретения обеспечивают ряд преимуществ по сравнению со стандартными схемами аудиокодирования.
Во-первых, при кодировании многоканального аудиосигнала путем представления положения временного интервала, для которого применяется набор параметров, с помощью переменного количества бит в раскрытых вариантах изобретения возможно уменьшение объема передаваемых данных.
Во-вторых, путем представления положения временного интервала, для которого применяется первый набор параметров, в виде абсолютного значения и представления положений временных интервалов, для которых применяются второй или последующий наборы параметров, в виде значения разности в раскрытых вариантах изобретения можно уменьшить объем передаваемых данных.
В-третьих, путем представления количества параметрических диапазонов, применяемых для указанного модуля преобразования каналов, в виде блока OTT и/или блока TTT с помощью фиксированного или переменного количества бит в раскрытых вариантах изобретения можно уменьшить объем передаваемых данных. В этом случае положения временных интервалов, для которых применяются наборы параметров, могут быть представлены с использованием обсужденного выше принципа, где наборы параметров могут находиться в рамках количества параметрических диапазонов.
На фиг. 16 представлена блок-схема примерной архитектуры 1600 устройства для реализации аудиокодера/декодера, описанных со ссылками на фигуры 1-15. Архитектура 1600 устройства применима для множества различных устройств, включающих в себя, но не только: персональные компьютеры, компьютеры-серверы, пользовательские электронные устройства, мобильные телефоны, персональные цифровые помощники (PDA), электронные планшеты, телевизионные системы, телевизионные приставки, игровые приставки, медиаплееры, музыкальные плееры, навигационные системы или любое другое устройство, способное декодировать аудиосигналы. В некоторых из этих устройств может быть реализована модифицированная архитектура, где используется комбинация аппаратных и программных средств.
Архитектура 1600 включает в себя один или несколько процессоров 1602 (например, PowerPC, Intel Pentium 4 и т.д.), одно или несколько устройств 1604 отображения (например, электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD)), аудиоподсистему 1606 (например, аппаратные/программные аудиосредства), один или несколько сетевых интерфейсов 1608 (например, Ethernet, FireWire, шина USB и т.д.), устройства 1610 ввода (например, клавиатура, мышь и т.д.) и один или несколько считываемых компьютером носителей 1612 (например, ОЗУ (RAM), ПЗУ (ROM), синхронное динамическое ОЗУ (SDRAM), жесткий диск, оптический диск, флеш-память и т.д.). Эти компоненты могут обмениваться сообщениями и данными через одну или несколько шин 1614 (например, стандартов EISA, PCI, PCI Express и т.д.).
Термин “считываемый компьютером носитель” относится к любому носителю, который участвует в обеспечении процессора 1602 командами для их исполнения, в том числе, но не только: энергонезависимые носители (например, оптические или магнитные диски), энергозависимые носители (например, память) и среду передачи. Среда передачи включает в себя, но не только, коаксиальные кабели, медные провода и оптическое волокно. Среда передачи также может существовать в виде акустических, световых или радиочастотных волн.
Считываемый компьютером носитель 1612, кроме того, включает в себя операционную систему 1616 (например, Mac OS, Windows, Linux и т.д.), сетевой модуль 1618 связи, аудиокодек 1620 и одно или несколько приложений 1622. Операционная система 1616 может быть многопользовательской, многопроцессорной, многозадачной, многопоточной, иметь режим работы в реальном времени и т.п. Операционная система 1616 выполняет базовые задачи, в том числе, но не только: распознавание входных данных, поступающих от устройств 1610 ввода; посылку выходных данных на устройства 1604 отображения и аудиоподсистему 1606; отслеживание файлов и каталогов на считываемых компьютером носителях 1612 (например, память или запоминающее устройство); управление периферийными устройствами (например, накопители на дисках, принтеры и т.д.); и управление трафиком по одной или нескольким шинам 1614.
Сетевой модуль 1618 связи включает в себя различные компоненты для установки и поддержки сетевых соединений (например, программные средства для реализации протоколов связи, таких как TCP/IP, HTTP, Ethernet и т.д.). Сетевой модуль 1618 связи может включать в себя браузер, предоставляющий операторам архитектуры 1600 устройства возможность вести в сети (например, Интернет) поиск информации (например, аудиоконтента).
Аудиокодек 1620 отвечает за реализацию всех или части процессов обработки, связанной с кодированием и/или декодированием и описанной со ссылками на фигуры 1-15. В некоторых вариантах аудиокодек работает вместе с аппаратными средствами (например, процессор (процессоры) 1602, аудиоподсистема 1606) для обработки аудиосигналов, включая кодирование и/или декодирование аудиосигналов, согласно описанному здесь настоящему изобретению.
Приложения 1622 могут включать в себя любое программное приложение, относящееся к аудиоконтенту, и/или к кодированию, и/или декодированию аудиоконтента, в том числе, но не только: к медиаплеерам, музыкальным плеерам (например, MP3 плеерам), приложениям мобильных телефонов, устройствам PDA, телевизионным системам, телевизионным приставкам. В одном варианте аудиокодек может быть использован поставщиком прикладных услуг для обеспечения услуг кодирования/декодирования через сеть (например, Интернет).
В приведенном выше описании в целях объяснения изложены многочисленные конкретные детали, чтобы обеспечить полное понимание изобретения. Однако специалистам в данной области техники должно быть очевидно, что изобретение можно практически реализовать без этих конкретных деталей. В других примерах структуры и устройства показаны в виде блок-схем во избежание затемнения сути изобретения.
В частности, специалисты в данной области техники должны понимать, что могут быть использованы другие архитектуры и графические среды и что настоящее изобретение можно реализовать с использованием графических инструментов и продуктов, отличающихся от описанных выше. В частности, подход по схеме клиент/сервер является лишь примером архитектуры, обеспечивающей инструментальные функциональные возможности настоящего изобретения; специалистам в данной области техники очевидно, что также могут быть использованы другие подходы, отличающиеся от схемы клиент/сервер.
Некоторые разделы подробного описания представлены на языке алгоритмов и символических представлений операций над битами данных в компьютерной памяти. Эти алгоритмические описания и представления являются средствами, используемыми специалистами в области обработки данных для наиболее эффективной передачи существа своей работы другим специалистам в данной области техники. Под алгоритмом здесь, как и в общем случае, понимается самосогласованная последовательность шагов, приводящая к желаемому результату. Эти шаги требуют выполнения физических манипуляций с физическими величинами. Обычно, хотя не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно запоминать, передавать, комбинировать вместе, сравнивать и выполнять с ними иные манипуляции. При практическом использовании эти сигналы удобно называть битами, значениями, элементами, символами, знаками, членами, числами или т.п.
Промышленная применимость
Однако следует иметь в виду, что все указанные и аналогичные термины должны быть связаны с соответствующими физическими величинами и являются просто удобными обозначениями, применяемыми для этих величин. Как очевидно следует из данного обсуждения, если специально не оговорено иное, во всем описании рассуждения, где используются такие термины, как “обработка”, “вычисление”, “расчеты”, “определение” или “отображение” и т.п., относятся к действиям и процессам компьютерной системы или аналогичного электронного вычислительного устройства, которое манипулирует данными и преобразует данные, представленные в виде физических (электронных) величин в регистрах и запоминающих устройствах компьютерной системы, в другие данные, представляемые аналогичным образом как физические величины в запоминающих устройствах и регистрах компьютерной системы или других устройствах для запоминания, передачи или отображения информации.
Настоящее изобретение также относится к устройству для выполнения операций. Это устройство может быть специально сконструировано для требуемых целей либо оно может содержать компьютер общего назначения, избирательно активируемый или реконфигурируемый компьютерной программой, хранящейся в компьютере. Указанная компьютерная программа может храниться на считываемом компьютером носителе, таком как, но не только: диск любого типа, включая гибкие диски, оптические диски, компакт диски (CD-ROM) и магнитооптические диски, память только для считывания (ROM), память с произвольным доступом (RAM), электрически стираемые постоянные запоминающие устройства (EPROM), электрически стираемые программируемые запоминающие устройства (EEPROM), магнитные или оптические карты или носители любого типа, подходящие для запоминания электронных команд и связанные с шиной компьютерной системы.
Представленные здесь алгоритмы и модули по существу не относятся к какому-либо конкретному компьютеру или иному устройству. Могут быть использованы системы общего назначения с программами в соответствии с изложенными здесь основными принципами, или бывает, что удобнее сконструировать более специализированные устройства для выполнения шагов раскрытых здесь способов. Необходимая структура для этих разнообразных систем вытекает из приведенного ниже описания. Вдобавок настоящее изобретение не описано со ссылками на какой-либо конкретный программный язык. Ценно то, что для реализации описанных здесь основных принципов изобретения можно использовать множество различных языков программирования. Кроме того, специалистам в данной области техники должно быть ясно, что указанные модули, признаки, атрибуты, методики и другие аспекты изобретения могут быть реализованы в виде программных средств, аппаратных средств, программно-аппаратных средств или любой их комбинации. Конечно, когда компонента настоящего изобретения реализована в виде программного средства, она может быть выполнена в виде автономной программы, в виде части более крупной программы, множества отдельных программ, статически или динамически связанной библиотеки, загружаемого в ядро модуля и/или любым другим путем, известным в настоящее время или который может появиться в будущем в распоряжении специалистов в области компьютерного программирования. Вдобавок настоящее изобретение не ограничивается реализацией в рамках какой-либо конкретной операционной системы или среды.
Специалистам в данной области техники должно быть ясно, что в обсужденный здесь вариант изобретения могут быть внесены различные изменения и модификации, не выходящие за рамки существа или объема изобретения. Таким образом, здесь предполагается, что настоящее изобретение покрывает все указанные модификации и видоизменения раскрытых здесь вариантов, при условии, если указанные модификации и видоизменения не выходят за рамки объема прилагаемой формулы изобретения и ее эквивалентов.