СПОСОБ ДЛЯ ДЕКОДИРОВАНИЯ И КОДИРОВАНИЯ МАТРИЦЫ ПОНИЖАЮЩЕГО МИКШИРОВАНИЯ, СПОСОБ ДЛЯ ПРЕДСТАВЛЕНИЯ АУДИОКОНТЕНТА, КОДЕР И ДЕКОДЕР ДЛЯ МАТРИЦЫ ПОНИЖАЮЩЕГО МИКШИРОВАНИЯ, АУДИОКОДЕР И АУДИОДЕКОДЕР
METHOD FOR DECODING AND ENCODING A DOWNMIX MATRIX, METHOD FOR PRESENTING AUDIO CONTENT, ENCODER AND DECODER FOR A DOWNMIX MATRIX, AUDIO ENCODER AND AUDIODECODER

Настоящее изобретение относится к области кодирования/декодирования аудио, особенно к пространственному кодированию аудио и пространственному кодированию аудиообъектов, например к области систем 3D аудиокодека. Варианты осуществления изобретения относятся к способам кодирования и декодирования матрицы понижающего микширования для отображения множества входных каналов аудиоконтента на множество выходных каналов, к способу для представления аудиоконтента, к кодеру для кодирования матрицы понижающего микширования, к декодеру для декодирования матрицы понижающего микширования, к аудиокодеру и аудиодекодеру.
Инструменты пространственного кодирования аудио хорошо известны в области техники и стандартизированы, например, в стандарте MPEG-surround. Пространственное кодирование аудио начинается с множества исходного входа, например, пяти или семи входных каналов, которые идентифицируются посредством своего расположения в установке воспроизведения, например, как левый канал, центральный канал, правый канал, левый канал окружения, правый канал окружения и канал увеличения низких частот. Пространственный аудиокодер может выводить один или более каналов понижающего микширования из исходных каналов и дополнительно может выводить параметрические данные, относящиеся к пространственным особенностям, таким как разности уровней между каналами в значениях когерентности каналов, разности фаз между каналами, разности времени между каналами, и так далее. Один или более каналов понижающего микширования передаются вместе с параметрической побочной (дополнительной) информацией, указывающей пространственные особенности, пространственному аудиодекодеру для декодирования каналов понижающего микширования и ассоциированных параметрических данных для того, чтобы в конечном счете получить выходные каналы, которые являются аппроксимированной версией исходных входных каналов. Расположение каналов в установке выхода может быть фиксированным, например, формата 5.1, формата 7.1 и так далее.
Также инструменты пространственного кодирования аудиообъектов хорошо известны в области техники и являются стандартизированными, например, в стандарте MPEG SAOC (SAOC=пространственное кодирование аудиообъектов). В отличие от пространственного кодирования аудио, начинающегося с исходных каналов, пространственное кодирование аудиообъектов начинается с аудиообъектов, которые не выделяются автоматически для некоторой установки рендеринга для воспроизведения. Точнее расположение аудиообъектов в сцене воспроизведения является гибким и может быть установлено пользователем, например, посредством ввода некоторой информации рендеринга в декодер пространственного кодирования аудиообъектов. Дополнительно или в качестве альтернативы, информация рендеринга может быть передана в качестве дополнительной побочной информации или метаданных; информация рендеринга может включать в себя информацию о том, на какую позицию в установке воспроизведения должен быть помещен некоторый аудиообъект (например, по времени). Для того чтобы получать некоторое сжатие данных, некоторое количество аудиообъектов кодируется с использованием кодера SAOC, который вычисляет из входных объектов один или более транспортных каналов посредством понижающего микширования объектов в соответствии с некоторой информацией понижающего микширования. Кроме того, кодер SAOC вычисляет параметрическую побочную информацию, представляющую особенности между объектами, такие как разности уровней объектов (OLD), значения когерентности объектов и так далее. Как и в SAC (SAC=пространственном кодировании аудио), параметрические данные между объектами вычисляются для индивидуальных фрагментов время/частота. Для некоторого кадра (например, 1024 или 2048 отсчетов) аудиосигнала учитываются множество полос частот (например, 24, 32 или 64 полосы), так что параметрические данные обеспечиваются для каждого кадра и каждой полосы частоты. Например, когда элемент аудио имеет 20 кадров и когда каждый кадр подразделяется на 32 полосы частот, количество фрагментов время/частота равно 640.
В 3D аудиосистемах может быть желательно обеспечивать пространственное ощущение аудиосигнала на приемнике с использованием конфигурации динамиков или громкоговорителей, поскольку это является доступным на приемнике, которая однако может отличаться от оригинальной конфигурации громкоговорителей для оригинального аудиосигнала. В такой ситуации должно быть осуществлено преобразование, которое также упоминается как "понижающее микширование", в соответствии с которым входные каналы, в соответствии с оригинальной конфигурацией громкоговорителей аудиосигнала, отображаются на выходные каналы, заданные в соответствии с конфигурацией громкоговорителей приемника.
Задача настоящего изобретения заключается в обеспечении улучшенного подхода для обеспечения матрицы понижающего микширования приемнику.
Эта задача достигается способом по пункту 1, 2 и 20, посредством кодера по пункту 24, декодера по пункту 26, аудиокодера по пункту 28 и аудиодекодера по пункту 29.
Настоящее изобретение основано на обнаружении того, что более эффективное кодирование устойчивой матрицы понижающего микширования может быть достигнуто посредством использования симметрий, которые могут быть обнаружены в конфигурации входных каналов и в конфигурации выходных каналов относительно расположения громкоговорителей, ассоциированных с соответствующими каналами. Изобретателями настоящего изобретения было обнаружено, что использование такой симметрии позволяет комбинировать симметрично размещенные громкоговорители в общую строку/столбец матрицы понижающего микширования, например тех громкоговорителей, которые имеют, относительно позиции слушателя, позицию, имеющую один и тот же угол возвышения и одно и то же абсолютное значение азимутального угла, но с различными знаками. Это позволяет генерировать компактную матрицу понижающего микширования, имеющую сокращенный размер, который поэтому может быть более легко и более эффективно кодирован, по сравнению с оригинальной матрицей понижающего микширования.
В соответствии с вариантами осуществления задаются не только группы симметричных громкоговорителей, а фактически создаются три класса групп громкоговорителей, а именно вышеупомянутые симметричные громкоговорители, центральные громкоговорители и асимметричные громкоговорители, которые затем могут быть использованы для генерирования компактного представления. Этот подход является преимущественным, так как он позволяет громкоговорителям из соответствующих классов обрабатываться различно и тем самым более эффективно.
В соответствии с вариантами осуществления кодирование компактной матрицы понижающего микширования содержит кодирование значений усилений отдельно от информации о фактической компактной матрице понижающего микширования. Информация о фактической компактной матрице понижающего микширования кодируется посредством создания компактной матрицы значимости, которая указывает относительно компактных конфигураций входных/выходных каналов существование ненулевых усилений посредством слияния каждой из пар входных и выходных симметричных громкоговорителей в одну группу. Этот подход является преимущественным, так как он позволяет эффективное кодирование матрицы значимости на основе схемы по длинам серий.
В соответствии с вариантами осуществления может быть обеспечена матрица шаблона, которая является аналогичной компактной матрице понижающего микширования в том, что записи в элементах матрицы у матрицы шаблона по существу соответствуют записям в элементах матрицы в компактной матрице понижающего микширования. В общем, такие матрицы шаблона обеспечиваются на кодер и на декодер и отличаются от компактной матрицы понижающего микширования только сокращенным количеством элементов матрицы, так что посредством применения поэлементного XOR к компактной матрице значимости с такой матрицей шаблона резко сократится количество элементов матрицы. Этот подход является преимущественным, так как он снова позволяет еще большее увеличение эффективности кодирования матрицы значимости с использованием, например, схемы по длинам серий.
В соответствии с дополнительным вариантом осуществления кодирование дополнительно основывается на указании, микшируются ли стандартные громкоговорители только в стандартные громкоговорители и микшируются ли громкоговорители LFE только в громкоговорители LFE. Это считается преимущественным, так как дополнительно улучшает кодирование матрицы значимости.
В соответствии с дополнительным вариантом осуществления компактная матрица значимости или результат вышеупомянутой операции XOR обеспечивается в отношении одномерного вектора, к которому применяется кодирование по длинам серий для преобразования его в серии из нулей, которые сопровождаются единицей, что является преимущественным, так как это обеспечивает очень эффективную возможность для кодирования информации. Для достижения еще более эффективного кодирования в соответствии с вариантами осуществления к значениям длин серий применяется ограниченное кодирование Голомба-Райса.
В соответствии с дополнительными вариантами осуществления для каждой группы выходных громкоговорителей указывается, применяются ли свойства симметрии и разделимости для всех соответствующих групп входных каналов, которые их генерируют. Это является преимущественным, так как это указывает, что в группе громкоговорителей, состоящей, например, из левых и правых громкоговорителей, левые громкоговорители в группе входных каналов отображаются только на левые каналы в соответствующей группе выходных громкоговорителей, правые громкоговорители в группе входных каналов отображаются только на правые громкоговорители в группе выходных каналов и не имеется микширования из левого канала в правый канал. Это позволяет заменить четыре значения усилений в подматрице 2x2 в оригинальной матрице понижающего микширования одним значением усиления, которое может быть введено в компактную матрицу или в случае, когда компактная матрица является матрицей значимости, может быть кодировано отдельно. В любом случае, общее количество значений усилений, которые должны быть кодированы, сокращается. Таким образом, сигнализируемые свойства симметрии и разделимости являются преимущественными, так как они позволяют эффективно кодировать подматрицы, соответствующие каждой паре групп входных и выходных громкоговорителей.
В соответствии с вариантами осуществления для кодирования значений усилений список возможных усилений создается в конкретном порядке с использованием сигнализируемого минимального и максимального усиления, а также сигнализируемой желательной точности. Значения усилений создаются в таком порядке, что обычно используемые усиления находятся в начале списка или таблицы. Это является преимущественным, так как это позволяет эффективное кодирование значений усилений посредством применения к наиболее часто используемым усилениям наиболее коротких кодовых слов для их кодирования.
В соответствии с вариантом осуществления сгенерированные значения усилений могут быть обеспечены в списке, каждая запись в списке имеет ассоциированный с ней индекс. При кодировании значений усилений вместо кодирования фактических значений кодируются индексы усилений. Это может быть сделано, например, посредством применения подхода ограниченного кодирования Голомба-Райса. Это обработка значений усилений является преимущественной, так как она позволяет эффективно их кодировать.
В соответствии с вариантами осуществления параметры эквалайзера (EQ) могут быть переданы наряду с матрицей понижающего микширования.
Варианты осуществления настоящего изобретения будут описаны в отношении сопроводительных чертежей, на которых:
Фиг. 1 иллюстрирует общий вид 3D аудиокодера 3D аудиосистемы;
Фиг. 2 иллюстрирует общий вид 3D аудиодекодера 3D аудиосистемы;
Фиг. 3 иллюстрирует вариант осуществления средства бинаурального рендеринга, которое может быть осуществлено в 3D аудиодекодере с Фиг. 2;
Фиг. 4 иллюстрирует примерную матрицу понижающего микширования, которая известна в области техники, для отображения из конфигурации входа 22.2 на конфигурацию выхода 5.1;
Фиг. 5 схематически иллюстрирует вариант осуществления настоящего изобретения для преобразования оригинальной матрицы понижающего микширования с Фиг. 4 в компактную матрицу понижающего микширования;
Фиг. 6 иллюстрирует компактную матрицу понижающего микширования с Фиг. 5 в соответствии с вариантом осуществления настоящего изобретения, имеющую преобразованные конфигурации входных и выходных каналов с записями матрицы, представляющими значения значимости;
Фиг. 7 иллюстрирует дополнительный вариант осуществления настоящего изобретения для кодирования структуры компактной матрицы понижающего микширования с Фиг. 5 с использованием матрицы шаблона; и
Фиг. 8(a)-(g) иллюстрируют возможные подматрицы, которые могут быть выведены из матрицы понижающего микширования, показанной на Фиг. 4, согласно различным комбинациям входных и выходных громкоговорителей.
Будут описаны варианты осуществления нового подхода. Нижеследующее описание начнется с общего вида системы в системе 3D аудиокодека, в которой может быть реализован новый подход.
Фиг. 1 и 2 показывают алгоритмические блоки 3D аудиосистемы в соответствии с вариантами осуществления. Более конкретно, Фиг. 1 показывает общий вид 3D аудиокодера 100. Аудиокодер 100 принимает на схеме 102 средства предварительного рендеринга/микшера, которая необязательно может быть обеспечена, входные сигналы, более конкретно множество входных каналов, обеспечивающих аудиокодеру 100 множество канальных сигналов 104, множество сигналов 106 объектов и соответствующие метаданные 108 объектов. Сигналы 106 объектов, обрабатываемые средством предварительного рендеринга/микшером 102 (см. сигналы 110), могут быть обеспечены кодеру 112 SAOC (SAOC=пространственное кодирование аудиообъектов). Кодер 112 SAOC генерирует транспортные каналы 114 SAOC, обеспечиваемые кодеру 116 USAC (USAC=унифицированное кодирование речи и аудио). В дополнение, сигнал 118 SAOC-SI (SAOC-SI=побочная информация SAOC) также обеспечивается кодеру 116 USAC. Кодер 116 USAC дополнительно принимает сигналы 120 объектов непосредственно из средства предварительного рендеринга/микшера, так же как канальные сигналы и подвергнутые предварительному рендерингу сигналы 122 объектов. Информация 108 метаданных объектов применяется к кодеру 124 OAM (OAM=ассоциированные с объектом метаданные), обеспечивающему сжатую информацию 126 метаданных объектов кодеру USAC. Кодер 116 USAC на основе вышеупомянутых входных сигналов генерирует сжатый выходной сигнал mp4, как показано на 128.
Фиг. 2 показывает общий вид 3D аудиодекодера 200 3D аудиосистемы. Кодированный сигнал 128 (mp4), сгенерированный аудиокодером 100 с Фиг. 1, принимается на аудиодекодере 200, более конкретно на декодере 202 USAC. Декодер 202 USAC декодирует принятый сигнал 128 в канальные сигналы 204, подвергнутые предварительному рендерингу сигналы 206 объектов, сигналы 208 объектов, и сигналы 210 транспортного канала SAOC. Дополнительно, сжатая информация 212 метаданных объектов и сигнал 214 SAOC-SI выводится декодером 202 USAC. Сигналы 208 объектов обеспечиваются средству 216 рендеринга, выводящему подвергнутые рендерингу сигналы 218 объектов. Сигналы 210 транспортного канала SAOC подаются на декодер 220 SAOC, выводящий подвергнутые рендерингу сигналы 222 объектов. Сжатая метаинформация 212 объектов подается на декодер 224 OAM, выводящий соответствующие сигналы управления средству 216 рендеринга объектов и декодеру 220 SAOC для генерирования подвергнутых рендерингу сигналов 218 объектов и подвергнутых рендерингу сигналов 222 объектов. Декодер дополнительно содержит микшер 226, принимающий, как показано на Фиг. 2, входные сигналы 204, 206, 218 и 222 для вывода канальных сигналов 228. Канальные сигналы могут быть непосредственно выведены динамику, например, 32-х канальному динамику, как указано на 230. Сигналы 228 могут быть обеспечены схеме 232 преобразования формата, принимающей, в качестве управляющего входного сигнала, сигнал компоновки воспроизведения, указывающий способ, как должны быть преобразованы канальные сигналы 228. В варианте осуществления, изображенном на Фиг. 2, предполагается, что преобразование должно быть сделано таким способом, когда сигналы могут быть обеспечены системе громкоговорителей 5.1, как указано на 234. Также канальные сигналы 228 могут быть обеспечены средству 236 бинаурального рендеринга, генерирующему два выходных сигнала, например для головного телефона, как указано на 238.
В варианте осуществления настоящего изобретения система кодирования/декодирования, изображенная на Фиг. 1 и 2, основана на кодеке USAC MPEG-D для кодирования канальных сигналов и сигналов объектов (см. сигналы 104 и 106). Для повышения эффективности кодирования большого количества объектов может быть использована технология SAOC MPEG. Три типа средств рендеринга могут выполнять задачи по рендерингу объектов в каналы, рендерингу каналов в головные телефоны или рендерингу каналов в отличную установку динамика (см. Фиг. 2, ссылочные позиции 230, 234 и 238). Когда сигналы объектов явно передаются или параметрически кодируются с использованием SAOC, соответствующая информация 108 метаданных объектов сжимается (см. сигнал 126) и мультиплексируется в битовый поток 128 3D аудио.
Блоки алгоритма общей 3D аудиосистемы, показанной на Фиг. 1 и 2, будут дополнительно описаны подробно ниже по тексту.
Средство предварительного рендеринга/микшер 102 может быть необязательно обеспечен для преобразования входной сцены канала плюс объекта в сцену канала до кодирования. С функциональной точки зрения это является идентичным средству рендеринга/микшеру объектов, который будет описан ниже по тексту. Предварительный рендеринг объектов может быть желательным, чтобы обеспечивать энтропию детерминированных сигналов на входе кодера, который в основном является независимым от количества одновременно активных сигналов объектов. С предварительным рендерингом объектов, никакой передачи метаданных объектов не требуется. Кодер сконфигурирован с возможностью использования компоновки каналов, в которую осуществляется рендеринг дискретных сигналов объектов. Веса объектов для каждого канала получаются из ассоциированных метаданных объектов (OAM).
Кодер 116 USAC является основным кодеком для сигналов канала динамика, дискретных сигналов объектов, сигналов понижающего микширования объектов и подвергнутых предварительному рендерингу сигналов. Он основан на технологии USAC MPEG-D. Он управляет кодированием вышеуказанных сигналов посредством создания информации отображения объектов и каналов на основе геометрической и семантической информации входного канала и назначения объекта. Эта информация отображения описывает, как входные каналы и объекты отображаются на элементы канала USAC, аналогичные элементам пары каналов (CPE), элементам одного канала (SCE), элементам квадрафонического канала (QCE) и канала низкочастотных эффектов (LFE) и CPE, SCE и LFE, и соответствующая информация передается декодеру. Все дополнительные полезные нагрузки, аналогичные данным 114 SAOC или метаданным 126 объектов учитываются в управлении скоростью кодера. Кодирование объектов возможно различными способами, в зависимости от требований скорости/искажения и требований взаимодействия для средства рендеринга. В соответствии с вариантами осуществления возможны следующие варианты кодирования объектов:
- Подвергнутые предварительному рендерингу объекты: Сигналы объектов подвергаются предварительному рендерингу и микшируются в 22.2 канальные сигналы до кодирования. Последующая цепь кодирования видит 22,2 канальные сигналы.
- Формы волн дискретных объектов: Объекты подаются в качестве монофонических форм волн на кодер. Кодер использует элементы одного канала (SCE) для передачи объектов в дополнение к канальным сигналам. Декодированные объекты подвергаются рендерингу и микшируются на стороне приемника. Сжатая информация метаданных объектов передается на приемник/средство рендеринга.
- Формы волн параметрических объектов: Свойства объектов и их отношение друг к другу описываются посредством параметров SAOC. Понижающее микширование сигналов объектов кодируется с USAC. Наряду с этим передается параметрическая информация. Определенное количество каналов понижающего микширования выбирается в зависимости от количества объектов и общей скорости передачи данных. Сжатая информация метаданных объектов передается на средство рендеринга SAOC.
Кодер 112 SAOC и декодер 220 SAOC для сигналов объектов может быть основан на технологии SAOC MPEG. Система способна на повторное создание, модификацию и рендеринг некоторого количества аудиообъектов на основе меньшего количества передаваемых каналов и дополнительных параметрических данных, таких как OLD, IOC (когерентность между объектами), DMG (усиления понижающего микширования). Дополнительные параметрические данные показывают значительно более низкую скорость передачи данных, чем требуется для передачи всех объектов индивидуально, делая кодирование очень эффективным. Кодер 112 SAOC принимает в качестве ввода сигналы объектов/канальные сигналы в качестве монофонических форм волн и выводит параметрическую информацию (которая упаковывается в битовый поток 128 3D-аудио) и транспортные каналы SAOC (которые кодируются с использованием элементов одного канала и передаются). Декодер 220 SAOC восстанавливает сигналы объектов/канальные сигналы из декодированных транспортных каналов 210 SAOC и параметрической информации 214, и генерирует сцену аудио вывода на основе компоновки воспроизведения, распакованной информации метаданных объектов и необязательно на основе информации взаимодействия пользователя.
Обеспечивается кодек метаданных объектов (см. кодер 124 OAM и декодер 224 OAM), так что для каждого объекта ассоциированные метаданные, которые точно определяют геометрическую позицию и объем объектов в трехмерном пространстве, эффективно кодируются посредством квантования свойств объектов во времени и пространстве. Сжатые метаданные 126 объектов cOAM передаются на приемник 200 в качестве побочной информации.
Средство 216 рендеринга объектов использует сжатые метаданные объектов для генерирования форм волн объектов согласно данному формату воспроизведения. Каждый объект подвергается рендерингу в некоторый выходной канал согласно своим метаданным. Вывод этого блока следует из суммы частичных результатов. Если и основанный на канале контент, а также и дискретные/параметрические объекты декодируются, основанные на канале формы волн и формы волн подвергнутых рендерингу объектов микшируются микшером 226 до вывода получающихся в результате форм волн 228 или до подачи их на модуль постпроцессора, аналогичный средству 236 бинаурального рендеринга или модулю 232 средства рендеринга динамика.
Модуль 236 средства бинаурального рендеринга производит бинауральное понижающее микширование многоканального аудиоматериала, так что каждый входной канал представляется возможным источником звука. Обработка проводится по кадрам в области QMF (квадратурного зеркального блока фильтров), и бинауральный эффект основывается на измеренных бинауральных импульсных характеристиках помещения.
Средство 232 рендеринга динамика преобразовывает между переданной конфигурацией 228 каналов и желательным форматом воспроизведения. Оно также может быть названо "преобразователем формата". Преобразователь формата выполняет преобразования в меньшие количества выходных каналов, то есть он создает понижающие микширования.
Фиг. 3 иллюстрирует вариант осуществления бинаурального средства 236 рендеринга с Фиг. 2. Модуль средства бинаурального рендеринга может обеспечивать бинауральное понижающее микширование многоканального аудиоматериала. Бинауральный эффект может быть основан на измеренной бинауральной импульсной характеристике помещения. Импульсную характеристику помещения можно считать "характерной особенностью" акустических свойств реального помещения. Импульсная характеристика помещения измеряется и сохраняется, и произвольные акустические сигналы могут быть обеспечены с этой "характерной особенностью", посредством этого предоставляя слушателю симуляцию акустических свойств помещения, ассоциированных с импульсной характеристикой помещения. Бинауральное средство 236 рендеринга может быть запрограммировано или сконфигурировано с возможностью рендеринга выходных каналов в два бинауральных канала с использованием функций моделирования восприятия звука или бинауральных импульсных характеристик помещения (BRIR). Например, для мобильных устройств бинауральный рендеринг желателен для головных телефонов или динамиков, прикрепленных к таким мобильным устройствам. В таких мобильных устройствах вследствие ограничений может быть необходимо ограничивать сложность рендеринга и декодера. В дополнение к исключению декорреляции в таких сценариях обработки может быть предпочтительно сначала выполнять понижающее микширование с использованием понижающего микшера 250 для промежуточного сигнала 252 понижающего микширования, то есть для меньшего количества выходных каналов, что дает в результате меньшее количество входных каналов для фактического бинаурального преобразователя 254. Например, 22.2 канальный материал может быть микширован с понижением понижающим микшером 250 в 5.1 промежуточное понижающее микширование или в качестве альтернативы промежуточное понижающее микширование может быть непосредственно вычислено декодером 220 SAOC на Фиг. 2 в некоторой степени в "ускоренном" режиме. Затем бинауральному рендерингу нужно только применить десять HRTF (функций моделирования восприятия звука) или функций BRIR для рендеринга пяти индивидуальных каналов на различных позициях в отличие от применения 44 HRTF или функций BRIR, если 22.2 входных канала должны были быть подвергнуты рендерингу. Операции свертывания, необходимые для бинаурального рендеринга, требуют много мощности обработки и поэтому сокращение этой мощности обработки, при этом все еще получение приемлемого качества аудио, является особенно полезным для мобильных устройств. Бинауральное средство 236 рендеринга производит бинауральное понижающее микширование 238 многоканального аудиоматериала 228, так что каждый входной канал (за исключением каналов LFE) представляется возможным источником звука. Обработка может быть проведена по кадрам в области QMF. Бинауральный эффект основан на измеренных бинауральных импульсных характеристиках помещения, и прямой звук и первые отражения могут быть запечатлены на аудиоматериале посредством сверточного подхода в псевдо-FFT области с использованием быстрой свертки поверх области QMF, в то время как поздняя реверберация может быть обработана отдельно.
Многоканальные аудиоформаты в настоящий момент присутствуют в большом разнообразии конфигураций, они используются в 3D аудиосистеме, как это было подробно описано выше по тексту, которая используется, например, для обеспечения аудиоинформации, обеспечиваемой на дисках DVD и Blue-ray. Одна важная проблема заключается в приспособлении передачи в реальном времени многоканального аудио при поддержке совместимости с существующими доступными физическими установками громкоговорителей потребителя. Решение заключается в кодировании аудиоконтента в оригинальном формате, используемом, например, в продукции, который типично имеет большое количество выходных каналов. В дополнение, побочная информация понижающего микширования обеспечивается для генерирования других форматов, которые имеют менее независимые каналы. Предполагая, например, некоторое количество N входных каналов и некоторое количество M выходных каналов, процедура понижающего микширования на приемнике может быть точно определена матрицей понижающего микширования, имеющей размер N x M. Эта конкретная процедура, которая могла бы быть осуществлена в понижающем микшере из описанного выше по тексту преобразователя формата или средства бинаурального рендеринга, представляет пассивное понижающее микширование, означающее, что никакая адаптивная обработка сигналов, зависимая от фактического аудиоконтента, не применяется к входным сигналам или к микшированным с понижением выходным сигналам.
Матрица понижающего микширования пытается согласовывать не только физическое микширование аудиоинформации, а также может выражать артистические намерения производителя, который может использовать его знания о фактическом контенте, который передается. Поэтому имеются несколько способов генерирования матриц понижающего микширования, например вручную посредством использования обобщенного акустического знания о роли и позиции входных и выходных громкоговорителей, вручную посредством использования знания о фактическом контенте и артистическом намерении, и автоматически, например, посредством использования инструмента программного обеспечения, который вычисляет аппроксимацию с использованием данных выходных громкоговорителей.
Имеется некоторое количество известных подходов в области техники для обеспечения таких матриц понижающего микширования. Однако существующие схемы делают много предположений и жестко кодируют важную часть структуры и контенты фактической матрицы понижающего микширования. В ссылке [1] предшествующего уровня техники описывается использование конкретных процедур понижающего микширования, которые явно заданы для понижающего микширования из конфигурации каналов 5.1 (см. ссылку [2] предшествующего уровня техники) в конфигурацию каналов 2.0, из конфигурации каналов 6.1 или 7.1 переднего или переднего верхнего вариантов или варианта заднего окружения в конфигурации каналов 5.1 или 2.0. Недостаток этих известных подходов заключается в том, что схемы понижающего микширования имеют только ограниченную степень свободы в том смысле, что некоторые из входных каналов микшируются с предварительно заданными весами (например, в случае отображения конфигурации 7.1 заднего окружения на конфигурацию 5.1, L, R и C входные каналы непосредственно отображаются на соответствующие выходные каналы) и сокращенное количество значений усилений совместно используется для некоторых других входных каналов (например, в случае отображения передней конфигурации 7.1 на конфигурацию 5.1, L, R, Lc и Rc входные каналы микшируются в L и R выходные каналы с использованием только одного значения усиления). Более того, усиления имеют только ограниченный диапазон и точность, например, от 0 дБ до -9 дБ с суммой из восьми уровней. Явное описание процедур понижающего микширования для каждой пары конфигурации входа и выхода является трудоемким и подразумевает приложения к существующим стандартам, за счет отложенного соответствия. Другое предложение описано в ссылке [5] предшествующего уровня техники. Этот подход использует явные матрицы понижающего микширования, которые представляют улучшение в гибкости, однако, схема снова ограничивает диапазон и точность 0 дБ до -9 дБ с суммой из 16 уровней. Более того, каждое усиление кодируется с заданной точностью в 4 бита.
Таким образом, ввиду известного предшествующего уровня техники, требуется улучшенный подход для эффективного кодирования матриц понижающего микширования, включающий в себя аспекты выбора подходящей области представления и схемы квантования, а также кодирование без потерь квантованных значений.
В соответствии с вариантами осуществления неограниченная гибкость для обработки матриц понижающего микширования достигается посредством разрешения кодирования произвольных матриц понижающего микширования с диапазоном и точностью, точно определяемой производителем согласно его нуждам. Также варианты осуществления изобретения обеспечивают очень эффективное кодирование без потерь, следовательно, типичные матрицы используют небольшое количество битов, и уход от типичных матриц только постепенно уменьшит эффективность. Это означает, что чем больше матрица похожа на типичную матрицу, тем более эффективным будет кодирование, описанное в соответствии с вариантами осуществления настоящего изобретения.
В соответствии с вариантами осуществления требуемая точность может быть точно определена производителем как 1 дБ, 0,5 дБ или 0,25 дБ для использования для равномерного квантования. Следует отметить, что в соответствии с другими вариантами осуществления также могут быть выбраны другие значения для точности. В противоположность к этому существующие схемы позволяют только точность 1,5 дБ или 0,5 дБ для значений около 0 дБ при использовании меньшей точности для других значений. Использование грубого квантования для некоторых значений влияет на достигаемые допуски наихудшего случая и делает интерпретацию декодированных матриц более сложной. В существующих технологиях для некоторых значений используется более низкая точность, что является простым средством для сокращения определенного количества требуемых битов с использованием равномерного кодирования. Однако на практике могут быть достигнуты такие же результаты, не жертвуя точностью посредством использования улучшенной схемы кодирования, которая дополнительно будет описана подробно ниже по тексту.
В соответствии с вариантами осуществления значения усилений микширования могут быть точно определены между максимальным значением, например +22дБ, и минимальным значением, например -47дБ. Они также могут включать в себя значение минус бесконечности. Эффективный диапазон значений, используемый в матрице, указывается в битовом потоке как максимальное усиление и минимальное усиление, посредством этого не расходую какие-либо биты на значениях, которые фактически не используются, при этом не ограничивая желательную гибкость.
В соответствии с вариантами осуществления предполагается, что список входных каналов аудиоконтента, для которого должна быть обеспечена матрица понижающего микширования, является доступным, так же, как список выходных каналов, указывающий конфигурацию выходных громкоговорителей. Эти списки обеспечивают геометрическую информацию о каждом громкоговорителе в конфигурации входа и в конфигурации выхода, такую как азимутальный угол и угол возвышения. Необязательно, также могут быть обеспечены традиционные названия громкоговорителей.
Фиг. 4 показывает примерную матрицу понижающего микширования, которая известна в области техники, для отображения из конфигурации входа 22.2 на конфигурацию выхода 5.1. В правом столбце 300 матрицы соответствующие входные каналы в соответствии с конфигурацией 22.2 указываются названиями громкоговорителей, ассоциированными с соответствующими каналами. Нижняя строка 302 включает в себя соответствующие выходные каналы конфигурации выходных каналов, конфигурации 5.1. Снова соответствующие каналы указываются ассоциированными названиями громкоговорителей. Матрица включает в себя множество элементов 304 матрицы, каждый из которых содержит в себе значение усиление, также упоминаемое как усиление микширования. Усиление микширования указывает, как скорректирован уровень данного входного канала, например одного из входных каналов 300, при внесении вклада в соответствующий выходной канал 302. Например, верхний левый элемент матрицы показывает значение "1", означающее, что центральный канал C в конфигурации 300 входных каналов полностью согласован с центральным каналом C из конфигурации 302 выходных каналов. Аналогичным образом соответствующие левые и правые каналы в двух конфигурациях (L/R каналы) полностью отображаются, то есть левые/правые каналы в конфигурации входа вносят полный вклад в левый/правый каналы в конфигурации выхода. Другие каналы, например каналы Lc и Rc в конфигурации входа, отображаются с сокращенным уровнем 0,7 на левый и правый каналы конфигурации 302 выхода. Как может быть видно из Фиг. 4, имеется также некоторое количество элементов матрицы, не имеющих записи, означая, что соответствующие каналы, ассоциированные с элементом матрицы, не отображаются друг на друга, или означая, что входной канал, связанный с выходным каналом через элемент матрицы, не имеющий записи, не вносит вклад в соответствующий выходной канал. Например, ни один из левого/правого входных каналов не отображается на выходные каналы Ls/Rs, то есть левый и правый входные каналы не вносит вклад в выходные каналы Ls/Rs. Вместо обеспечения пустот в матрице также может быть указано нулевое усиление.
В нижеследующем будут описаны несколько технологий, которые применяются в соответствии с вариантами осуществления настоящего изобретения для достижения эффективного кодирования без потерь матрицы понижающего микширования. В нижеследующих вариантах осуществления ссылка будет сделана на кодирование матрицы понижающего микширования, показанной на Фиг. 4, однако без труда будет очевидно, что особенности, описанные в нижеследующем, могут быть применены к любой другой матрице понижающего микширования, которая может быть обеспечена. В соответствии с вариантами осуществления обеспечивается подход для декодирования матрицы понижающего микширования, в котором матрица понижающего микширования кодирована посредством использования симметрии пар громкоговорителей множества входных каналов и симметрии пар громкоговорителей множества выходных каналов. Матрица понижающего микширования декодируется после ее передачи декодеру, например аудиодекодеру, принимающему битовый поток, включающий в себя кодированный аудиоконтент, а также кодированную информацию или данные, представляющие матрицу понижающего микширования, позволяющую построить на декодере матрицу понижающего микширования, соответствующую оригинальной матрице понижающего микширования. Декодирование матрицы понижающего микширования содержит прием кодированной информации, представляющей матрицу понижающего микширования, и декодирование кодированной информации для получения матрицы понижающего микширования. В соответствии с другими вариантами осуществления обеспечивается подход для кодирования матрицы понижающего микширования, который содержит использование симметрии пар громкоговорителей множества входных каналов и симметрии пар громкоговорителей множества выходных каналов.
В нижеследующем описании вариантов осуществления изобретения некоторые аспекты будут описаны в контексте кодирования матрицы понижающего микширования, однако опытному читателю будет понятно, что эти аспекты также представляют описание соответствующего подхода для декодирования матрицы понижающего микширования. Аналогично аспекты, описанные в контексте декодирования матрицы понижающего микширования, также представляют описание соответствующего подхода для кодирования матрицы понижающего микширования.
В соответствии с вариантами осуществления первый этап заключается в том, чтобы воспользоваться значительным количеством нулевых записей в матрице. На следующем этапе в соответствии с вариантами осуществления преимущество заключается в том, чтобы воспользоваться глобальными, а также точными закономерностями уровня, которые типично присутствуют в матрице понижающего микширования. Третий этап заключается в том, чтобы воспользоваться типичным распределением ненулевых значений усилений.
В соответствии с первым вариантом осуществления новый подход начинается с матрицы понижающего микширования, так как она может быть обеспечена производителем аудиоконтента. В нижеследующем обсуждении ради простоты предполагается что учитываемой матрицей понижающего микширования является матрица с Фиг. 4. В соответствии с новым подходом матрица понижающего микширования с Фиг. 4 преобразуется для обеспечения компактной матрицы понижающего микширования, которая может быть более эффективно кодирована по сравнению с оригинальной матрицей.
Фиг. 5 схематично представляет только что упомянутый этап преобразования. В верхней части Фиг. 5 показана оригинальная матрица 306 понижающего микширования с Фиг. 4, которая преобразуется способом, который будет описан подробно в дальнейшем ниже по тексту, в компактную матрицу 308 понижающего микширования, показанную в нижней части Фиг. 5. В соответствии с новым подходом используется концепция "пар симметричных громкоговорителей", которая означает, что один громкоговоритель находится в левой полуплоскости, в то время как другой находится в правой полуплоскости, относительно позиции слушателя. Конфигурация симметричной пары соответствует двум громкоговорителям, имеющим один и тот же угол возвышения, вместе с тем имеющим одно и то же абсолютное значение для азимутального угла, но с различными знаками.
1
9
1
1
6
10
11
7
1
В соответствии с вариантами осуществления задаются различные классы групп громкоговорителей, в основном симметричные громкоговорители S, центральные громкоговорители C и асимметричные громкоговорители A. Центральные громкоговорители - это те громкоговорители, чьи позиции не меняются при изменении знака азимутального угла позиции громкоговорителя. Асимметричные громкоговорители - это те громкоговорители, которым недостает другого или соответствующего симметричного громкоговорителя в данной конфигурации, или в некоторых редких конфигурациях громкоговоритель на другой стороне может иметь отличный угол возвышения или азимутальный угол, так что в этом случае имеются два отдельных асимметричных громкоговорителя вместо симметричной пары. В матрице 306 понижающего микширования, показанной на Фиг. 5, конфигурация 300 входных каналов включает в себя девять пар с S по S симметричных громкоговорителей, которые указываются в верхней части с Фиг. 5. Например, пара S симметричных громкоговорителей включает в себя громкоговорители Lc и Rc из конфигурации 300 входных каналов 22.2. Также громкоговорители LFE в конфигурации входа 22.2 являются симметричными громкоговорителями, так как они имеют относительно позиции слушателя один и тот же угол возвышения и один и тот же абсолютный азимутальный угол с различными знаками. Конфигурация 300 входных каналов 22.2 дополнительно включает в себя шесть центральных громкоговорителей с C по C, а именно громкоговорители C, Cs, Cv, Ts, Cvr и Cb. Ни одного асимметричного канала не представлено в конфигурации входных каналов. Конфигурация 302 выходных каналов, отличная от конфигурации входных каналов, включает в себя только две пары S и S симметричных громкоговорителей и один центральный громкоговоритель C и один асимметричный громкоговоритель A.
1
6
1
9
7
1
10
11
В соответствии с описанным вариантом осуществления матрица 306 понижающего микширования преобразуется в компактное представление 308 посредством группирования вместе входных и выходных громкоговорителей, которые формируют пары симметричных громкоговорителей. Группирование вместе соответствующих громкоговорителей дает компактную конфигурацию 310 входа, включающую в себя такие же центральные громкоговорители с C по C, как в оригинальной конфигурации 300 входа. Однако при сравнении с оригинальной конфигурацией 300 входа симметричные громкоговорители с S по S соответственно группируются вместе, так что соответствующие пары теперь занимают только одну строку, как указано в нижней части с Фиг. 5. Аналогичным способом оригинальная конфигурация 302 выходных каналов также преобразуется в компактную конфигурацию 312 выходных каналов, также включающую в себя оригинальный центральный и несимметричный громкоговорители, а именно центральный громкоговоритель C и асимметричный громкоговоритель A. Однако соответствующие пары S и S громкоговорителей были скомбинированы в один столбец. Таким образом, как может быть видно из Фиг. 5, размерность оригинальной матрицы 306 понижающего микширования, которая составляла 24×6, была сокращена до размерности компактной матрицы 308 понижающего микширования 15×4.
1
11
1
10
В варианте осуществления, описанном в отношении Фиг. 5, видно, что в оригинальной матрице 306 понижающего микширования усиления микширования, ассоциированные с соответствующими парами с S по S симметричных громкоговорителей, которые указывают, насколько сильный вклад входной канал вносит в выходной канал, симметрично скомпонованы для соответствующих пар симметричных громкоговорителей во входном канале и в выходном канале. Например, если см. на пару S и S, соответствующие левые и правые каналы комбинируются посредством усиления 0,7, в то время как комбинации левых/правых каналов комбинируются с усилением 0. Таким образом, при группировании соответствующих каналов вместе способом, который показан в компактной матрице 308 понижающего микширования, элементы 314 компактной матрицы понижающего микширования могут включать в себя соответствующие усиления микширования, также описанные в отношении оригинальной матрицы 306. Таким образом, в соответствии с описанным выше по тексту вариантом осуществления размер оригинальной матрицы понижающего микширования сокращается посредством группирования пар симметричных громкоговорителей вместе, так что "компактное" представление 308 может быть кодировано более эффективно, чем оригинальная матрица понижающего микширования.
Сейчас будет описан дополнительный вариант осуществления настоящего изобретения в отношении Фиг. 6. Фиг. 6 снова показывает компактную матрицу 308 понижающего микширования, имеющую преобразованную конфигурацию 310, 312 входных и выходных каналов, которая уже показана и описана в отношении Фиг. 5. В варианте осуществления с Фиг. 6 записи 314 матрицы у компактной матрицы понижающего микширования, отличные от тех, что с Фиг. 5 не представляют каких-либо значений усилений, а представляют так называемые "значения значимости". Значение значимости указывает, является ли на соответствующих элементах 314 матрицы какое-либо из усилений, ассоциированных с ними, нулем или нет. Те элементы 314 матрицы, которые показывают значение "1", указывают, что соответствующий элемент имеет ассоциированное с ним значение усиление, в то время как пустые элементы матрицы указывают, что ни одного усиления или значения усиления нуля не ассоциировано с этим элементом. В соответствии с этим вариантом осуществления замена фактических значений усилений значениями значимости позволяет еще более эффективное кодирование компактной матрицы понижающего микширования, при сравнении с Фиг. 5, так как представление 308 с Фиг. 6 может быть просто кодировано с использованием, например, одного бита на запись, указывающую значение 1 или значение 0 для соответствующих значений значимости. В дополнение, помимо кодирования значений значимости, также необходимо будет кодировать соответствующие значения усилений, ассоциированные с элементами матрицы, так чтобы после декодирования принятой информации могла быть восстановлена полная матрица понижающего микширования.
В соответствии с другим вариантом осуществления представление матрицы понижающего микширования в своей компактной форме, как показано на Фиг. 6, может быть кодировано с использованием схемы по длинам серий. В такой схеме по длинам серий элементы 314 матрицы трансформируются в одномерный вектор посредством конкатенации строк, начинающихся с 1 и заканчивающихся строкой 15. Этот одномерный вектор затем преобразуется в список, содержащий в себе длины серий, например количество последовательных нулей, которое завершается 1. В варианте осуществления с Фиг. 6, это дает следующий список:
1000 1100 0100 0110 0010 0010 0001 1000 0100 0110 1010 0010 0010 1000 0100 (1)
0 30 3 30 3 3 4 0 4 30 1 1 3 3 1 4 2,
где (1) представляет возможное завершение в случае, когда битовый вектор заканчивается 0. Показанная выше по тексту длина серий может быть кодирована с использованием надлежащей схемы кодирования, такой как ограниченное кодирование Голомба-Райса, которая назначает код префикса переменной длины каждому количеству, так что общая длина в битах минимизируется. Подход кодирования Голомба-Райса используется для кодирования неотрицательного целого числа n≥0, с использованием параметра p≥0 неотрицательного целого числа следующим образом: сначала количество  кодируется с использованием унарного кодирования, причем h битов единицы (1) сопровождаются конечным нулевым битом; затем количество  равномерно кодируется с использованием p битов.
Ограниченное кодирование Голомба-Райса является тривиальным вариантом, используемым, когда заранее известно, что n<N. Оно не включает в себя конечный нулевой бит при кодировании максимального возможного значения h, которое является . Более конкретно, для кодирования  используются только h битов единицы (1) без конечного нулевого бита, который не является необходимым, поскольку декодер может неявно обнаруживать это условие.
Как упомянуто выше по тексту, ассоциированные с соответствующим элементом 314 усиления также должны быть кодированы и переданы, и варианты осуществления для того, чтобы это сделать, будут дополнительно описаны подробно ниже по тексту. Перед подробным обсуждением кодирования усилений сейчас будут описаны дополнительные варианты осуществления для кодирования структуры компактной матрицы понижающего микширования, показанной на Фиг. 6.
Фиг. 7 описывает дополнительный вариант осуществления для кодирования структуры компактной матрицы понижающего микширования, используя факт, что типичные компактные матрицы имеют некоторую значимую структуру, так что они в общем являются аналогичными матрице шаблона, которая доступна и на аудиокодере и аудиодекодере. Фиг. 7 показывает компактную матрицу 308 понижающего микширования, имеющую значения значимости, которая также показана на Фиг. 6. В дополнение, Фиг. 7 показывает пример возможной матрицы 316 шаблона, имеющей такую же конфигурацию 310ʹ, 312ʹ входных и выходных каналов. Матрица шаблона, как и компактная матрица понижающего микширования, включает в себя значения значимости в соответствующих элементах 314ʹ матрицы шаблона. Значения значимости распределяются среди элементов 314ʹ в основном таким же способом, как в компактной матрице понижающего микширования, за исключением того, что матрица шаблона, которая, как упомянуто выше по тексту, является только "аналогичной" компактной матрице понижающего микширования, отличается по некоторым из элементов 314ʹ. Матрица 316 шаблона отличается от компактной матрицы 308 понижающего микширования тем, что в компактной матрице 308 понижающего микширования элементы 318 и 320 матрицы не включают в себя каких-либо значений усилений, в то время как матрица 316 шаблона включает в себя в соответствующих элементах 318ʹ и 320ʹ матрицы значение значимости. Таким образом, матрица 316 шаблона относительно выделенных записей 318ʹ и 320ʹ отличается от компактной матрицы, которая должна быть кодирована. Для достижения еще более эффективного кодирования компактной матрицы понижающего микширования, по сравнению с Фиг. 6, соответствующие элементы 314, 314ʹ матрицы в двух матрицах 308, 316 логически комбинируются для получения аналогичным способом, который описан в отношении Фиг. 6, одномерного вектора, который может быть кодирован аналогичным способом, который описан выше по тексту. Каждый из элементов 314, 314ʹ матрицы может быть подвергнут операции XOR, более конкретно логическая операция поэлементного XOR применяется к компактной матрице с использованием компактного шаблона, что дает одномерный вектор, который преобразуется в список, содержащий в себе следующие длины серий:
0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0100 0000 0000 0000 0000 (1)
29 11 18
Теперь этот список может быть кодирован, например, также посредством использования ограниченного кодирования Голомба-Райса. По сравнению с вариантом осуществления, описанным в отношении Фиг. 6, может быть видно, что этот список может быть кодирован еще более эффективно. В лучшем случае, когда компактная матрица является идентичной матрице шаблона, целый вектор состоит только из нулей и только одно число длины серии должно быть кодировано.
В отношении использования матрицы шаблона, как это было описано относительно Фиг. 7, следует отметить, что и кодер, и декодер должен иметь предварительно заданный набор таких компактных шаблонов, который уникально определяется набором входных и выходных громкоговорителей в отличие от конфигурации входа или выхода, которая определяется списком громкоговорителей. Это означает, что порядок входных и выходных громкоговорителей не является релевантным для определения матрицы шаблона, точнее он может быть переставлен перед использованием для согласования порядка данной компактной матрицы.
В нижеследующем, как упомянуто выше по тексту, варианты осуществления будут описаны касательно кодирования усилений микширования, обеспеченных в оригинальной матрице понижающего микширования, которые больше не присутствуют в компактной матрице понижающего микширования и которые также должны быть кодированы и переданы.
Фиг. 8 описывает вариант осуществления для кодирования усилений микширования. Этот вариант осуществления использует свойства подматриц, которые соответствуют одной или более ненулевым записям в оригинальной матрице понижающего микширования, согласно различным комбинациям групп входных и выходных громкоговорителей, а именно групп S (симметричных, L и R), C (центральных) и A (асимметричных). Фиг. 8 описывает возможные подматрицы, которые могут быть выведены из матрицы понижающего микширования, показанной на Фиг. 4, согласно различным комбинациям входных и выходных громкоговорителей, а именно симметричных громкоговорителей L и R, центральных громкоговорителей C и асимметричных громкоговорителей A. На Фиг. 8 буквы a, b, c и d представляют произвольные значения усилений.
Фиг. 8(a) показывает четыре возможные подматрицы, поскольку они могут быть выведены из матрицы с Фиг. 4. Первой является подматрица, задающая отображение двух центральных каналов, например громкоговорителей C в конфигурации 300 входа и громкоговорителя C в конфигурации 302 выхода, и значение "a" усиления является значением усиления, указанным в элементе [1,1] матрицы (верхний левый элемент на Фиг. 4). Вторая подматрица на Фиг. 8(a) представляет, например, отображение двух симметричных входных каналов, например входных каналов Lc и Rc, на центральный громкоговоритель, такой как громкоговоритель C, в конфигурации выходных каналов. Значения усилений "a" и "b" являются значениями усилений, указанными в элементах [1,2] и [1,3] матрицы. Третья подматрица на Фиг. 8(a) относится к отображению центрального громкоговорителя C, такого как громкоговоритель Cvr в конфигурации 300 входа с Фиг. 4, на два симметричных канала, таких как каналы Ls и Rs, в конфигурации 302 выхода. Значения усилений "a" и "b" являются значениями усилений, указанными в элементах [4,21] и [5,21] матрицы. Четвертая подматрица на Фиг. 8(a) представляет случай, когда отображаются два симметричных канала, например каналы L, R в конфигурации 300 входа отображаются на каналы L, R в конфигурации 302 выхода. Значения усилений с "a" по "d" являются значениями усилений, указанными в элементах [2,4], [2,5], [3,4] и [3,5] матрицы.
Фиг. 8(b) показывает подматрицы при отображении асимметричных громкоговорителей. Первое представление является подматрицей, полученной посредством отображения двух асимметричных громкоговорителей (на Фиг. 4 не представлен пример для такой подматрицы). Вторая подматрица с Фиг. 8(b) относится к отображению двух симметричных входных каналов на асимметричный выходной канал, что в варианте осуществления с Фиг. 4 является, например, отображением двух симметричных входных каналов LFE и LFE2 на выходной канал LFE. Значения усилений "a" и "b" являются значениями усилений, указанными в элементах [6,11] и [6,12] матрицы. Третья подматрица на Фиг. 8(b) представляет случай, когда входной асимметричный громкоговоритель согласуется с симметричной парой выходных громкоговорителей. В случае примера не имеется асимметричного входного громкоговорителя.
Фиг. 8(c) показывает две подматрицы для отображения центральных громкоговорителей на асимметричные громкоговорители. Первая подматрица отображает входной центральный громкоговоритель на асимметричный выходной громкоговоритель (на Фиг. 4 не представлен пример для такой подматрицы), и вторая подматрица отображает асимметричный входной громкоговоритель на центральный выходной громкоговоритель.
В соответствии с этим вариантом осуществления для каждой группы выходных громкоговорителей проверяется, удовлетворяет ли соответствующий столбец для всех записей свойства симметрии и разделимости, и эта информация передается в качестве побочной информации с использованием двух битов.
Свойство симметрии будет описано в отношении Фиг. 8(d) и 8(e) и означает, что группа S, содержащая громкоговорители L и R, микшируется с одинаковым усилением в или из центрального громкоговорителя или асимметричного громкоговорителя, или что группа S микшируется в равной степени в или из другой группы S. Только что упомянутые две возможности микширования группы S изображены на Фиг. 8(d), и две подматрицы соответствуют третьей и четвертой подматрицам, описанным выше по тексту относительно Фиг. 8(a). Применение только что упомянутого свойства симметрии, а именно того, что микширование использует одинаковое усиление, дает первую подматрицу, показанную на Фиг. 8(e), в которой входной центральный громкоговоритель C отображается на группу S симметричных громкоговорителей с использованием одинакового значения усиления (см., например, отображение входного громкоговорителя Cvr на выходные громкоговорители Ls и Rs на Фиг. 4). Это также применяется с обратной стороны, например, если см. на отображение входных громкоговорителей Lc, Rc на центральный громкоговоритель C выходных каналов; здесь может быть найдено такое же свойство симметрии. Свойство симметрии дополнительно приводит к второй подматрице, показанной на Фиг. 8(e), в соответствии с которой микширование среди громкоговорителей симметрии в равной степени означает, что отображение левых громкоговорителей и отображение правых громкоговорителей использует один и тот же коэффициент усиления и отображение левого громкоговорителя на правый громкоговоритель и правого громкоговорителя на левый громкоговоритель также выполняется с использованием одного и того же значения усиления. Это изображено на Фиг. 4, например, относительно отображения входных каналов L, R на выходные каналы L, R с значением "a"=1 усиления и значением "b"=0 усиления.
Свойство разделимости означает, что симметричная группа микшируется в или из другой симметричной группы посредством сохранения всех сигналов из левой стороны в левую и всех сигналов из правой стороны в правую. Это применяется для подматрицы, показанной на Фиг. 8(f), которая соответствует четвертой подматрице, описанной выше по тексту в отношении Фиг. 8(a). Применение только что упомянутого свойства разделимости приводит к подматрице, показанной на Фиг. 8(g), в соответствии с которой левый входной канал отображается только на левый выходной канал и правый входной канал отображается только на правый выходной канал и не имеется отображения "между каналами" вследствие нулевых коэффициентов усиления.
Использование упомянутых выше по тексту двух свойств, с которыми сталкиваются в большинстве известных матрицах понижающего микширования, позволяет дополнительно в значительной степени сокращать фактическое количество усилений, которые должны быть кодированы, а также непосредственно устраняет кодирование, необходимое для большого количества нулевых усилений, в случае удовлетворения свойства разделимости. Например, если учитывать компактную матрицу с Фиг. 6, включающую в себя значения значимости, и при применении упомянутых выше по тексту свойств к оригинальной матрице понижающего микширования, может быть видно, что достаточно задавать одно значение усиления для соответствующих значений значимости, например, способом, который показан на Фиг. 5 в нижней части, поскольку вследствие свойств симметрии и разделимости известно, как соответствующие значения усилений, ассоциированные с соответствующими значениями значимости, должны быть распределены среди оригинальной матрицы понижающего микширования после декодирования. Таким образом, при применении описанного выше по тексту варианта осуществления с Фиг. 8 в отношении матрицы, показанной на Фиг. 6, достаточно обеспечивать только 19 значений усилений, которые должны быть кодированы и переданы вместе с кодированными значениями значимости для разрешения декодеру восстановить оригинальную матрицу понижающего микширования.
В нижеследующем вариант осуществления будет описан для динамического создания таблицы усилений, которые могут быть использованы для определения оригинальных значений усилений в оригинальной матрице понижающего микширования, например, производителем аудиоконтента. В соответствии с этим вариантом осуществления динамически создается таблица усилений между минимальным значением усиления (minGain) и максимальным значением усиления (maxGain) с использованием точно определяемой точности. Предпочтительно, таблица создается так, что наиболее часто используемые значения, а также более "округленные" значения компонуются ближе к началу таблицы или списка, в отличие от других значений, а именно значений, используемых не так часто или не таких округленных значений. В соответствии с вариантом осуществления список возможных значений с использованием maxGain, minGain и уровня точности может быть создан следующим образом:
- добавляют целые кратные 3 дБ, понижая от 0 дБ до minGain;
- добавляют целые кратные 3 дБ, повышая от 3 дБ до maxGain;
- добавляют остальные целые кратные 1 дБ, понижая от 0 дБ до minGain;
- добавляют остальные целые кратные 1 дБ, повышая от 1 дБ до maxGain;
останавливаются здесь, если уровень точности равен 1 дБ;
- добавляют остальные целые кратные 0,5 дБ, понижая от 0 дБ до minGain;
- добавляют остальные целые кратные 0,5 дБ, повышая от 0,5 дБ до maxGain;
останавливаются здесь, если уровень точности равен 0,5 дБ;
- добавляют остальные целые кратные 0,25 дБ, понижая от 0 дБ до minGain; и
- добавляют остальные целые кратные 0,25 дБ, повышая от 0,25 дБ до maxGain.
Например, когда maxGain равно 2 дБ, и minGain равно -6 дБ, и точность равна 0,5 дБ, создается следующий список:
0, -3, -6, -1, -2, -4, -5, 1, 2, -0,5, -1,5, -2,5, -3,5, -4,5, -5,5, 0,5, 1,5.
В отношении вышеуказанного варианта осуществления следует отметить, что изобретение не ограничено значениями, указанными выше по тексту, вместо использования целых кратных 3 дБ и начиная с 0 дБ, могут быть выбраны другие значения, а также могут быть выбраны другие значения для уровня точности в зависимости от условий.
В общем, список значений усилений может быть создан следующим образом:
- добавляют целые кратные первого значения усиления, между минимальным усилением, включительно, и начальным значением усиления, включительно, в порядке убывания;
- добавляют остальные целые кратные первого значения усиления, между начальным значением усиления, включительно, и максимальным усилением, включительно, в порядке возрастания;
- добавляют остальные целые кратные первого уровня точности, между минимальным усилением, включительно, и начальным значением усиления, включительно, в порядке убывания;
- добавляют остальные целые кратные первого уровня точности, между начальным значением усиления, включительно, и максимальным усилением, включительно, в порядке возрастания;
- останавливаются здесь, если уровень точности является упомянутым первым уровнем точности;
- добавляют остальные целые кратные второго уровня точности, между минимальным усилением, включительно, и начальным значением усиления, включительно, в порядке убывания;
- добавляют остальные целые кратные второго уровня точности, между начальным значением усиления, включительно, и максимальным усилением, включительно, в порядке возрастания;
- останавливаются здесь, если уровень точности является упомянутым вторым уровнем точности;
- добавляют остальные целые кратные третьего уровня точности, между минимальным усилением, включительно, и начальным значением усиления, включительно, в порядке убывания; и
- добавляют остальные целые кратные третьего уровня точности, между начальным значением усиления, включительно, и максимальным усилением, включительно, в порядке возрастания.
В вышеуказанном варианте осуществления, когда начальное значение усиление равно нулю, части, которые добавляют остальные значения в порядке возрастания и удовлетворение условия сопровождающей множественности исходно добавит первое значение усиления, или первый, или второй, или третий уровень точности. Однако в общем случае части, которые добавляют остальные значения в порядке возрастания, изначально добавят наименьшее значение, удовлетворяющее условие сопровождающей множественности, в интервале между начальным значением усиления, включительно, и максимальным усилением включительно. Соответственно, части, которые добавляют остальные значения в порядке убывания, изначально добавят наибольшее значение, удовлетворяющее условие сопровождающей множественности, в интервале между минимальным усилением, включительно, и начальным значением усиления включительно.
Принятие во внимание примера, аналогичного вышеуказанному примеру, но с начальным значением усиления = 1 дБ (первое значение усиления = 3 дБ, maxGain = 2 дБ, minGain = -6 дБ и уровень точности = 0,5 дБ) дает нижеследующее:
Вниз: 0, -3, -6
Вверх: [пусто]
Вниз: 1, -2, -4, -5
Вверх: 2
Вниз: 0,5, -0,5, -1,5, -2,5, -3,5, -4,5, -5,5
Вверх: 1,5
Для кодирования значения усиления, усиление предпочтительно ищется в таблице и его позиция внутри таблицы выводится. Желаемое усиление всегда будет найдено, поскольку все усиления предварительно квантуются до ближайшего целого кратного точно определяемой точности, например 1 дБ, 0,5 дБ или 0,25 дБ. В соответствии с предпочтительным вариантом осуществления позиции значений усилений ассоциировали с ними индекс, указывающий позицию в таблице, и причем индексы усилений могут быть кодированы, например, с использованием подхода ограниченного кодирования Голомба-Райса. В результате это дает маленькие индексы для использования меньшего количества битов, чем большие индексы и таким образом, часто используемые значения или типичные значения, такие как 0 дБ, -3 дБ или -6 дБ, используют наименьшее количество битов, а также более "округленные" значения, такие как -4 дБ, используют меньшее количество битов, чем не такие круглые числа (например, -4,5 дБ). Таким образом, посредством использования описанного выше по тексту варианта осуществления, не только производитель аудиоконтента может генерировать желательный список усилений, но эти усиления также могут быть кодированы очень эффективно, так что при применении в соответствии с еще одним вариантом осуществления всех описанных выше по тексту подходов, может быть достигнуто высокоэффективное кодирование матриц понижающего микширования.
Описанная выше по тексту функциональность может быть частью аудиокодера, так как она была описана выше по тексту относительно Фиг. 1, в качестве альтернативы она может быть обеспечена отдельным устройством кодера, которое обеспечивает кодированную версию матрицы понижающего микширования аудиокодеру для передачи в битовом потоке в направлении к приемнику или декодеру.
После приема кодированной компактной матрицы понижающего микширования на стороне приемника, в соответствии с вариантами осуществления обеспечивается способ для декодирования, который декодирует кодированную компактную матрицу понижающего микширования и разгруппировывает (разделяет) сгруппированные громкоговорители в одиночные громкоговорители, посредством этого давая оригинальную матрицу понижающего микширования. Когда кодирование матрицы включает в себя кодирование значений значимости и значений усилений, во время этапа декодирования, они декодируются так, что на основе значений значимости и на основе желательной конфигурации входа/выхода, матрица понижающего микширования может быть восстановлена и соответствующие декодированные усиления могут быть ассоциированы с соответствующими элементами матрицы восстановленной матрицы понижающего микширования. Это может быть выполнено отдельным декодером, который дает завершенную матрицу понижающего микширования аудиодекодеру, который может использовать ее в преобразователе формата, например аудиодекодеру, описанному относительно Фиг. 2, 3 и 4.
Таким образом, новый подход, который задан выше по тексту, также обеспечивает систему и способ для представления аудиоконтента, имеющего специфическую конфигурацию входных каналов, системе приема, имеющей отличную конфигурацию выходных каналов, при этом дополнительная информация для понижающего микширования передается вместе с кодированным битовым потоком со стороны кодера на сторону декодера и, в соответствии с новым подходом, из-за очень эффективного кодирования матриц понижающего микширования потери несомненно сокращаются.
В нижеследующем описывается дополнительный вариант осуществления, реализующий эффективное кодирование статической матрицы понижающего микширования. Более конкретно, будет описан вариант осуществления для статической матрицы понижающего микширования с необязательным кодированием EQ. Как уже упомянуто ранее, одна проблема, связанная с многоканальным аудио, заключается в приспособлении его передачи в реальном времени при поддержки совместимости со всеми существующими доступными физическими установками громкоговорителей потребителя. Одно решение заключается в обеспечении наряду с аудиоконтентом в оригинальном формате продукции побочной информации понижающего микширования для генерирования других форматов, которые имеют менее независимые каналы, при необходимости. Предполагая входные каналы inputCount и выходные каналы outputCount, процедура понижающего микширования точно определяется матрицей понижающего микширования размера inputCount на outputCount. Эта конкретная процедура представляет пассивное понижающее микширование, означающее, что никакая адаптивная обработка сигналов в зависимости от фактического аудиоконтента не применяется к входным сигналам или к микшированным с понижением выходным сигналам. Новый подход, в соответствии с вариантом осуществления, описываемым в настоящий момент, описывает полную схему для эффективного кодирования матриц понижающего микширования, включая аспекты о выборе подходящей области представления и схемы квантования, а также о кодировании без потерь квантованных значений. Каждый элемент матрицы представляет усиление микширования, которое корректирует уровень, при котором данный входной канал вносит вклад в данный выходной канал. Вариант осуществления, описываемый в настоящий момент, направлен на достижение неограниченной гибкости посредством разрешения кодирования произвольных матриц понижающего микширования с диапазоном и точностью, которая может быть точно определена производителем согласно его нуждам. Также желательно эффективное кодирование без потерь, так что типичные матрицы используют небольшое количество битов и уход от типичных матриц только постепенно уменьшит эффективность. Это означает, что чем больше матрица похожа на типичную матрицу, тем более эффективным будет ее кодирование. В соответствии с вариантами осуществления требуемая точность может быть точно определена производителем как 1, 0,5 или 0,25 дБ, для использования для равномерного квантования. Значения усилений микширования могут быть точно определены между максимумом из +22 дБ и минимумом из -47 дБ включительно, а также включать в себя значение  (0 в линейной области). Эффективный диапазон значений, который используется в матрице понижающего микширования, указывается в битовом потоке как максимальное значение усиления maxGain и минимальное значение усиления minGain, поэтому не осуществляется расход каких-либо битов на значениях, которые фактически не используются, при этом нет ограничения гибкости.
Предполагая, что является доступным список входных каналов, а также список выходных каналов, который обеспечивает геометрическую информацию о каждом громкоговорителе, такую как азимутальный угол и угол возвышения и необязательно традиционное название громкоговорителя, например, согласно ссылкам [6] или [7] предшествующего уровня техники, алгоритм для кодирования матрицы понижающего микширования, в соответствии с вариантами осуществления, может быть показан в таблице 1 ниже по тексту:
Алгоритм для декодирования значений усилений в соответствии с вариантами осуществления может быть показан в таблице 2 ниже по тексту:
Алгоритм для определения функции диапазона считывания в соответствии с вариантами осуществления может быть показан в таблице 3 ниже по тексту:
Алгоритм для определения конфигурации эквалайзера в соответствии с вариантами осуществления может быть показан в таблице 4 ниже по тексту:
Элементы матрицы понижающего микширования в соответствии с вариантами осуществления могут быть показаны в таблице 5 ниже по тексту:
<b>Таблица 5</b>
<b>Элементы DownmixMatrix</b>
Поле
Описание/Значения
paramConfig,inputConfig,outputConfig
Векторы конфигурации канала, точно определяющие информацию о каждом громкоговорителе. Каждая запись, paramConfig[i], является структурой с членами:- AzimuthAngle, абсолютное значение азимутального угла громкоговорителя;- AzimuthDirection, азимутальное направление, 0 (влево) или 1 (вправо);- ElevationAngle, абсолютное значение угла возвышения громкоговорителя;- ElevationDirection, направление возвышения, 0 (вверх) или 1 (вниз);- alreadyUsed, указывает, является ли уже громкоговоритель частью группы;- isLFE, указывает, является ли громкоговоритель громкоговорителем LFE.
paramCount,inputCount,outputCount
Количество громкоговорителей в соответствующих векторах конфигурации каналов
compactParamConfig,compactInputConfig,compactOutputConfig
Векторы компактной конфигурации каналов, точно определяющие информацию о каждой группе громкоговорителей. Каждая запись, compactParamConfig[i], является структурой с членами:- pairType, тип группы громкоговорителей, который может быть симметричным (симметричной парой двух громкоговорителей), центральным или асимметричным;- isLFE, указывает, состоит ли группа громкоговорителей из громкоговорителей LFE;- originalPosition, позиция в оригинальной конфигурации каналов первого громкоговорителя или единственного громкоговорителя в группе;- symmetricPair.originalPosition, позиция в оригинальной конфигурации каналов второго громкоговорителя в группе, только для симметричных групп.
compactParamCount,compactInputCount,compactOutputCount
Количество групп громкоговорителей в соответствующих векторах компактной конфигурации каналов
equalizerPresent
Булево выражение, указывающее, присутствует ли информация эквалайзера, которая должна быть применена к входным каналам
precisionLevel
Точность, используемая для равномерного квантования усилений:0=1 дБ, 1=0,5 дБ, 2=0,25 дБ, 3 зарезервировано
maxGain
Максимальное фактическое усиление в матрице, выражаемое в дБ:возможные значения от 0 до 22, линейно 1.. 12,589
minGain
Минимальное фактическое усиление в матрице, выражаемое в дБ:возможные значения от -1 до -47, линейно 0,891.. 0,004
isAllSeparable
Булево выражение, указывающее, удовлетворяют ли все группы выходных громкоговорителей свойство разделимости
isSeparable[i]
Булево выражение, указывающее, удовлетворяет ли группа с индексом i выходных громкоговорителей свойство разделимости
isAllSymmetric
Булево выражение, указывающее, удовлетворяют ли все группы выходных громкоговорителей свойство симметрии
isSymmetric[i]
Булево выражение, указывающее, удовлетворяет ли группа с индексом i выходных громкоговорителей свойство симметрии
mixLFEOnlyToLFE
Булево выражение, указывающее, микшируются ли громкоговорители LFE только в громкоговорители LFE и в то же время микшируются ли громкоговорители не-LFE только в громкоговорители не-LFE
rawCodingCompactMatrix
Булево выражение, указывающее, кодируется ли compactDownmixMatrix без обработки (с использованием одного бита на запись) или она кодируется с использованием кодирования по длинам серий с последующим ограниченным кодом Голомба-Райса
compactDownmixMatrix[i][j]
Запись в compactDownmixMatrix, соответствующая группе i входных громкоговорителей и группе j выходных громкоговорителей, указывающая, является ли какое-либо из ассоциированных усилений ненулевым:0=все усиления равны 0, 1=по меньшей мере одно усиление является ненулевым
useCompactTemplate
Булево выражение, указывающее, применять ли поэлементное XOR к compactDownmixMatrix с предварительно заданной компактной матрицей шаблона, для улучшения эффективности кодирования по длинам серий
runLGRParam
Ограниченный параметр Голомба-Райса, используемый для кодирования нулевых длин серий в линеаризованной flatCompactMatrix
flatCompactMatrix
Линеаризованная версия compactDownmixMatrix с уже применяемой предварительно заданной компактной матрицей шаблона;Когда mixLFEOnlyToLFE разрешено, она не включает в себя записи, которые, как известно, были нулем (вследствие микширования между не-LFE и LFE) или используемые для микширования LFE в LFE
compactTemplate
Предварительно заданная компактная матрица шаблона, имеющая "типичные" записи, которая обработана XOR поэлементно до compactDownmixMatrix для того, чтобы улучшить эффективность кодирования посредством создания главным образом записей нулевых значений
zeroRunLength
Длина нулевой серии, всегда сопровождаемая единицей, в flatCompactMatrix, которая кодируется с ограниченным кодированием Голомба-Райса с использованием параметра runLGRParam
fullForAsymmetricInputs
Булево выражение, указывающее, игнорировать ли свойство симметрии для каждой асимметричной группы входных громкоговорителей;Когда разрешено, у каждой асимметричной группы входных громкоговорителей будет два декодированных значения усилений для каждой симметричной группы с индексом i выходных громкоговорителей, вне зависимости от isSymmetric[i]
gainTable
Динамически сгенерированная таблица усилений, которая содержит в себе список всех возможных усилений между minGain и maxGain с точностью precisionLevel
rawCodingNonzeros
Булево выражение, указывающее, кодируются ли ненулевые значения усилений без обработки (равномерное кодирование, с использованием функции ReadRange) или их индексы в списке gainTable кодируются с использованием ограниченного кодирования Голомба-Райса
gainLGRParam
Ограниченный параметр Голомба-Райса, используемый для кодирования индексов ненулевых усилений, вычисляемых посредством поиска каждого усиления в списке gainTable
Кодирование Голомба-Райса используется для кодирования какого-либо неотрицательного целого числа  с использованием данного параметра неотрицательного целого числа  следующим образом: сначала кодируют количество  с использованием унарного кодирования, поскольку  битов единицы сопровождаются конечным нулевым битом; затем кодируют количество  равномерно используя  битов.
Ограниченное кодирование Голомба-Райса является тривиальным вариантом, используемым, когда известно заранее, что , для данного целого числа . Оно не включает в себя конечный нулевой бит при кодировании максимального возможного значения , которое является . Более конкретно, для кодирования  мы записываем только  битов единицы, но не конечный нулевой бит, который не требуется, поскольку декодер может неявно обнаруживать это условие.
Функция ConvertToCompactConfig(paramConfig, paramCount), описанная ниже по тексту, используется для преобразования данной конфигурации paramConfig, состоящей из громкоговорителей paramCount, в компактную конфигурацию compactParamConfig, состоящую из групп громкоговорителей compactParamCount. Поле compactParamConfig[i].pairType может быть симметричным (S), когда группа представляет пару симметричных громкоговорителей, центральным (C), когда группа представляет центральный громкоговоритель, или асимметричным (A), когда группа представляет громкоговоритель без симметричной пары.
Функция FindCompactTemplate(inputConfig, inputCount, outputConfig, outputCount) используется, чтобы находить компактную матрицу шаблона, согласующуюся с конфигурацией входного канала, представленной посредством inputConfig и inputCount, и конфигурацией выходного канала, представленной посредством outputConfig и outputCount.
Компактная матрица шаблона находится посредством поиска в предварительно заданном списке компактных матриц шаблона, доступных и на кодере, и декодере, компактной матрицы шаблона с таким же набором входных громкоговорителей, как inputConfig, и таким же набором выходных громкоговорителей, как outputConfig, вне зависимости от фактического порядка громкоговорителей, который не является релевантным. До возврата найденной компактной матрицы шаблона функция, возможно, должна переупорядочивать свои линии и столбцы для согласования порядка групп громкоговорителей, который выведен из данной конфигурации входа, и порядка групп громкоговорителей, который выведен из данной конфигурации выхода.
Если согласующаяся компактная матрица шаблона не найдена, функция должна возвратить матрицу, имеющую правильное количество линий (которое является вычисленным количеством групп входных громкоговорителей) и столбцов (которое является вычисленным количеством групп выходных громкоговорителей), которая имеет для всех записей значение один (1).
Функция SearchForSymmetricSpeaker(paramConfig, paramCount, i) используется для поиска конфигурации каналов, представленной посредством paramConfig и paramCount для симметричного громкоговорителя, соответствующего paramConfig[i] громкоговорителя. Этот симметричный громкоговоритель, paramConfig[j], должен быть расположен после громкоговорителя paramConfig[i], поэтому j может быть в диапазоне i+1 до paramConfig - 1, включительно. Дополнительно, он не должен уже быть частью группы громкоговорителей, означая, что paramConfig[j].alreadyUsed должно быть ложью.
Функция readRange() используется для считывания равномерно распределенного целого числа в диапазоне 0.. alphabetSize - 1 включительно, который может иметь сумму возможных значений alphabetSize. Это может быть сделано просто, считывая биты ceil(log2(alphabetSize)), но без использования неиспользуемых значений. Например, когда alphabetSize равен 3, функция использует только один бит для целого числа 0, и два бита для целых чисел 1 и 2.
Функция generateGainTable(maxGain, minGain, precisionLevel) используется, чтобы динамически сгенерировать таблицу усилений gainTable, которая содержит в себе список всех возможных усилений между minGain и maxGain с точностью precisionLevel. Порядок значений выбирается так, что наиболее часто используемые значения, а также более "округленные" значения будут типично ближе к началу списка. Таблица усилений со списком всех возможных значений усилений генерируется следующим образом:
- добавляют целые кратные 3 дБ, понижая от 0 дБ до minGain;
- добавляют целые кратные 3 дБ, повышая от 3 дБ до maxGain;
- добавляют остальные целые кратные 1 дБ, понижая от 0 дБ до minGain;
- добавляют остальные целые кратные 1 дБ, повышая от 1 дБ до maxGain;
- останавливаются здесь, если precisionLevel равен 0 (что соответствует 1 дБ);
- добавляют остальные целые кратные 0,5 дБ, понижая от 0 дБ до minGain;
- добавляют остальные целые кратные 0,5 дБ, повышая от 0,5 дБ до maxGain;
- останавливаются здесь, если precisionLevel равен 1 (что соответствует 0,5 дБ);
- добавляют остальные целые кратные 0,25 дБ, понижая от 0 дБ до minGain;
- добавляют остальные целые кратные 0,25 дБ, повышая от 0,25 дБ до maxGain.
Например, когда maxGain равно 2 дБ, и minGain равно -6 дБ, и precisionLevel равен 0,5 дБ, мы создаем следующий список: 0, -3, -6, -1, -2, -4, -5, 1, 2, -0,5, -1,5, -2,5, -3,5, -4,5, -5,5, 0,5, 1,5.
Элементы для конфигурации эквалайзера в соответствии с вариантами осуществления могут быть показаны в таблице 6 ниже по тексту:
<b>Таблица 6</b>
<b>Элементы EqualizerConfig</b>
Поле
Описание/Значения
numEqualizers
Существующее количество различных фильтров эквалайзера
eqPrecisionLevel
Точность, используемая для равномерного квантования усилений:0=1 дБ, 1=0.5 дБ, 2=0.25 дБ, 3=0.1 дБ
eqExtendedRange
Булево выражение, указывающее, использовать ли расширенный диапазон для усилений; если разрешено, доступный диапазон удваивается
numSections
Количество секций фильтра эквалайзера, каждая из которых является пиковым фильтром
centerFreqLd2
Ведущие две десятичные цифры центральной частоты для пикового фильтра; максимальный диапазон равен 10.. 99
centerFreqP10
Количество нулей, которые должны быть добавлены к centerFreqLd2; максимальный диапазон равен 0.. 3
qFactorIndex
Индекс коэффициента качества для пикового фильтра
qFactorExtra
Экстра биты для декодирования коэффициента качества, большего чем 1,0
centerGainIndex
Усиление на центральной частоте для пикового фильтра
scalingGainIndex
Усиление масштабирования для фильтра эквалайзера
hasEqualizer[i]
Булево выражение, указывающее, имеет ли входной канал с индексом i ассоциированный с ним эквалайзер
eqalizerIndex[i]
Индекс эквалайзера, ассоциированного с входным каналом с индексом i
В нижеследующем будут описаны аспекты процесса декодирования в соответствии с вариантами осуществления, начиная с декодирования матрицы понижающего микширования.
Синтаксический элемент DownmixMatrix() содержит информацию матрицы понижающего микширования. Декодирование сначала считывает информацию эквалайзера, представленную синтаксическим элементом EqualizerConfig(), если разрешено. Затем считываются поля precisionLevel, maxGain и minGain. Конфигурации входа и выхода преобразуются в компактные конфигурации с использованием функции ConvertToCompactConfig(). Затем считываются флаги, указывающие, удовлетворяются ли свойства симметрии и разделимости для каждой группы выходных громкоговорителей.
Матрица значимости затем считывается или a) без обработки с использованием одного бита на запись или b) с использованием ограниченного кодирования Голомба-Райса по длинам серий, и затем копирования декодированных битов из flactCompactMatrix в compactDownmixMatrix и применения матрицы compactTemplate.
В конечном счете считываются ненулевые усиления. Для каждой ненулевой записи compactDownmixMatrix, в зависимости от поля pairType соответствующей входной группы и поля pairType соответствующей выходной группы подматрица с размером до 2 на 2 должна быть восстановлена. С использованием ассоциированных с симметрией и разделимостью свойств некоторое количество значений усилений считываются с использованием функции DecodeGainValue(). Значение усиления может быть кодировано равномерно, посредством использования функции ReadRange(), или с использованием ограниченного кодирования Голомба-Райса индексов усиления в таблице gainTable, которая содержит все возможные значения усилений.
Сейчас будут описаны аспекты декодирования конфигурации эквалайзера. Синтаксический элемент EqualizerConfig() содержит информацию эквалайзера, которая должна быть применена к входным каналам. Некоторое количество фильтров эквалайзера numEqualizers сначала декодируется и после этого выбирается для специфических входных каналов с использованием eqIndex[i]. Поля eqPrecisionLevel и eqExtendedRange указывают точность квантования и доступный диапазон усилений масштабирования и усилений пикового фильтра.
Каждый фильтр эквалайзера является последовательным каскадом, состоящим из некоторого количества numSections пиковых фильтров и одного scalingGain. Каждый пиковый фильтр полностью задается своими centerFreq, qualityFactor и centerGain.
Параметры centerFreq пиковых фильтров, которые принадлежат данному фильтру эквалайзера, должны быть даны в неубывающем порядке. Параметр ограничивается 10.. 24000 Гц включительно, и он вычисляется как
Параметр qualityFactor пикового фильтра может представлять значения между 0,05 и 1,0 включительно с точностью 0,05 и от 1,1 по 11,3 включительно с точностью 0,1 и он вычисляется как
Представлен вектор eqPrecisions, который дает точность в дБ, соответствующую данному eqPrecisionLevel, и матрицы eqMinRanges и eqMaxRanges, которые дают минимальные и максимальные значения в дБ для усилений, соответствующих данному eqExtendedRange и eqPrecisionLevel.
eqPrecisions[4]={1,0, 0,5, 0,25, 0,1};
eqMinRanges[2][4]={{-8,0, -8,0, -8,0, -6,4}, {-16,0, -16,0, -16,0, -12,8}};
eqMaxRanges[2][4]={{7,0, 7,5, 7,75, 6,3}, {15,0, 15,5, 15,75, 12,7}};
Параметр scalingGain использует уровень точности , который является следующим более лучшим уровнем точности, если уже не последним. Отображения из полей centerGainIndex и scalingGainIndex на параметры усиления centerGain и scalingGain вычисляются как
Хотя некоторые аспекты были описаны в контексте устройства, понятно, что эти аспекты также представляют собой описание соответствующего способа, в котором блок или устройство соответствует этапу способа или особенности этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют собой описание соответствующего блока или элемента или признака соответствующего устройства. Некоторые или все этапы способа могут исполняться посредством (или используя) аппаратного устройства, подобного, например, микропроцессору, программируемому компьютеру или электронной схеме. В некоторых вариантах осуществления один или более из наиболее важных этапов способа могут исполняться таким устройством.
В зависимости от конкретных требований реализации варианты осуществления изобретения могут быть реализованы в аппаратном обеспечении или в программном обеспечении. Реализация может быть выполнена с использованием долговременной запоминающей среды, такой как цифровая запоминающая среда, например гибкий диск, жесткий диск, цифровой многофункциональный диск (DVD), диск Blu-Ray, компакт-диск (CD), постоянное запоминающее устройство (ROM), программируемое ROM (PROM), стираемое программируемое ROM (EPROM), электрически-стираемое программируемое ROM (EEPROM) или флэш-память, имеющая хранимые на ней сигналы управления, считываемые электронным образом, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой, так что выполняется соответствующий способ. Поэтому цифровая запоминающая среда может быть считываемой компьютером.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий сигналы управления, считываемые электронным образом, которые способны взаимодействовать с программируемой компьютерной системой, так что выполняется один из способов, описанных в этом документе.
В общем варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, причем программный код выполнен с возможностью для выполнения одного из способов, когда компьютерный программный продукт исполняется на компьютере. Программный код может, например, быть сохранен на машинно-читаемом носителе.
Другие варианты осуществления включают в себя компьютерную программу для выполнения одного из способов, описанных в этом документе, сохраненных на машиночитаемом носителе.
Другими словами, вариантом осуществления способа, соответствующего изобретению, является, таким образом, компьютерная программа, имеющая программный код для выполнения одного из способов, описанных в этом документе, когда компьютерная программа выполняется на компьютере.
Дополнительный вариант осуществления обладающего признаками изобретения способа является поэтому носителем данных (или цифровой запоминающей средой, или считываемой компьютером средой), содержащим записанную на нем компьютерную программу для выполнения одного из способов, описанных в этом документе. Носитель данных, цифровая запоминающая среда или записанная среда обычно являются материальными и/или долговременными.
Дополнительный вариант осуществления способа изобретения является, поэтому, потоком данных или последовательностью сигналов, представляющей компьютерную программу для выполнения одного из способов, описанных в этом документе. Поток данных или последовательность сигналов, например, может быть сконфигурирована с возможностью переноса через соединение связи данных, например через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например компьютер или программируемое логическое устройство, сконфигурированное или запрограммированное с возможностью выполнения одного из способов, описанных в этом документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную на нем компьютерную программу для выполнения одного из способов, описанных в этом документе.
Другой вариант осуществления согласно изобретению содержит устройство или систему, сконфигурированную с возможностью переноса (например, электронным или оптическим образом) на приемник компьютерной программы для выполнения одного из способов, описанных в этом документе. Приемник может, например, быть компьютером, мобильным устройством, запоминающим устройством или подобным. Устройство или система могут, например, содержать файловый сервер для переноса компьютерной программы на приемник.
В некоторых вариантах осуществления может использоваться программируемое логическое устройство (например, программируемая пользователем вентильная матрица), чтобы выполнять некоторые или все из функциональностей способов, описанных в этом документе. В некоторых вариантах осуществления программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором для выполнения одного из способов, описанных в этом документе. В общем, способы предпочтительно выполняются посредством любого устройства аппаратного обеспечения.
Описанные выше варианты осуществления являются просто иллюстративными для принципов настоящего изобретения. Следует понимать, что модификации и вариации компоновок и деталей, описанных в этом документе, будут очевидны для специалистов в данной области техники. Поэтому предполагается ограничиться только объемом приложенной патентной формулы изобретения и не посредством конкретных деталей, представленных в этом документе в качестве описания и объяснения вариантов осуществления.
Литература
[1] Информационные технологии - Кодирование аудиовизуальных объектов - Часть 3: Аудио, Поправка 4: Новые уровни для профилей AAC, ISO/IEC 14496-3:2009/DAM 4, 2013.
[2] ITU-R BS.775-3, "Многоканальная стереофоническая звуковая система с и без сопроводительного изображения", Запись, Международный союз по телекоммуникациям, Женева, Швейцария, 2012.
[3] K. Hamasaki, T. Nishiguchi, R. Okumura, Y. Nakayama и A. Ando, "Многоканальная звуковая система 22.2 для TV с ультравысоким разрешением (UHDTV), "Томография движения SMPTE J., pp. 40-49, 2008.
[4] ITU-R Report BS.2159-4, "Многоканальная звукотехника в доме и приложения вещания", 2012.
[5] Усиленная поддержка аудио и другие улучшения, ISO/IEC 14496-12:2012 PDAM 3, 2013.
[6] Международный стандарт ISO/IEC 23003-3:2012, информационные технологии - технологии аудио MPEG - Часть 3: Объединенное кодирование аудио и речи, 2012.
[7] Международный стандарт ISO/IEC 23001-8:2013, информационные технологии - системные технологии MPEG - Часть 8: Независимые от кодирования кодовые точки, 2013.