Указание возможности повторного использования параметров кадра для кодирования векторов

Изобретение относится к средствам для указания возможности повторного использования параметров кадра для декодирования векторов. Технический результат заключается в обеспечении возможности повторного использования параметров кадра для декодирования векторов. Получают битовый поток, содержащий сжатую версию пространственной компоненты звукового поля. Причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник. Причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, элемента синтаксиса, указывающего режим предсказания, который указывает, выполнялось ли предсказание в отношении упомянутого вектора. 7 н. и 45 з.п. ф-лы, 10 ил., 4 табл.

 

[1] По данной заявке испрашивается приоритет следующих предварительных заявок США:

предварительной заявки на патент США № 61/933,706, поданной 30 января 2014 г., под названием ʺCOMPRESSION OF DECOMPOSED REPRESENTATIONS OF A SOUND FIELDʺ;

предварительной заявки на патент США № 61/933,714, поданной 30 января 2014 г., под названием ʺCOMPRESSION OF DECOMPOSED REPRESENTATIONS OF A SOUND FIELDʺ;

предварительной заявки на патент США № 61/933,731, поданной 30 января 2014 г., под названием ʺINDICATING FRAME PARAMETER REUSABILITY FOR DECODING SPATIAL VECTORSʺ;

предварительной заявки на патент США № 61/949,591, поданной 7 марта 2014 г., под названием ʺIMMEDIATE PLAY-OUT FRAME FOR SPHERICAL HARMONIC COEFFICIENTSʺ;

предварительной заявки на патент США № 61/949,583, поданной 7 марта 2014 г., под названием ʺFADE-IN/FADE-OUT OF DECOMPOSED REPRESENTATIONS OF A SOUND FIELDʺ;

предварительной заявки на патент США № 61/994,794, поданной 16 мая 2014 г., под названием ʺCODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNALʺ;

предварительной заявки на патент США № 62/004,147, поданной 28 мая 2014 г., под названием ʺINDICATING FRAME PARAMETER REUSABILITY FOR DECODING SPATIAL VECTORSʺ;

предварительной заявки на патент США № 62/004,067, поданной 28 мая 2014 г., под названием ʺIMMEDIATE PLAY-OUT FRAME FOR SPHERICAL HARMONIC COEFFICIENTS AND FADE-IN/FADE-OUT OF DECOMPOSED REPRESENTATIONS OF A SOUND FIELDʺ;

предварительной заявки на патент США № 62/004,128, поданной 28 мая 2014 г., под названием ʺCODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNALʺ;

предварительной заявки на патент США № 62/019,663, поданной 1 июля 2014 г., под названием ʺCODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNALʺ;

предварительной заявки на патент США № 62/027,702, поданной 22 июля 2014 г., под названием ʺCODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNALʺ;

предварительной заявки на патент США № 62/028,282, поданной 23 июля 2014 г., под названием ʺCODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNALʺ;

предварительной заявки на патент США № 62/029,173, поданной 25 июля 2014 г., под названием ʺIMMEDIATE PLAY-OUT FRAME FOR SPHERICAL HARMONIC COEFFICIENTS AND FADE-IN/FADE-OUT OF DECOMPOSED REPRESENTATIONS OF A SOUND FIELDʺ;

предварительной заявки на патент США № 62/032,440, поданной 1 августа 2014 г., под названием ʺCODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNALʺ;

предварительной заявки на патент США № 62/056,248, поданной 26 сентября 2014 г., под названием ʺSWITCHED V-VECTOR QUANTIZATION OF A HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNALʺ; и

предварительной заявки на патент США № 62/056,286, поданной 26 сентября 2014 г., под названием ʺPREDICTIVE VECTOR QUANTIZATION OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNALʺ; и

предварительной заявки на патент США № 62/102,243, поданной 12 января 2015 г., под названием ʺTRANSITIONING OF AMBIENT HIGHER-ORDER AMBISONIC COEFFICIENTSʺ,

причем каждая из вышеперечисленных предварительных заявок США включена сюда посредством ссылки в полном объеме.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[2] Это изобретение относится к аудиоданным и, в частности, кодированию аудиоданных с амбиофонией более высокого порядка.

УРОВЕНЬ ТЕХНИКИ

[3] Сигнал амбиофонии более высокого порядка (HOA) (часто представляемый множеством коэффициентов сферических гармоник (SHC) или другими иерархическими элементами), является трехмерным представлением звукового поля. Представление HOA или SHC может представлять это звуковое поле независимо от локальной геометрии громкоговорителей, используемых для проигрывания многоканального аудиосигнала, воспроизводимого из сигнала SHC. Сигнал SHC также может облегчать обратную совместимость, поскольку сигнал SHC можно воспроизводить в общеизвестные и широко распространенные многоканальные форматы, например, формат аудиоканалов 5.1 или формат аудиоканалов 7.1. Таким образом, представление SHC может обеспечивать лучшее представление звукового поля, которое также обладает обратной совместимостью.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[4] В целом, описаны методы кодирования аудиоданных с амбиофонией более высокого порядка. Аудиоданные с амбиофонией более высокого порядка могут содержать, по меньшей мере, одну коэффициент сферической гармоники, соответствующий сферической гармонической базисной функции, имеющей порядок, больший единицы.

[5] В одном аспекте, способ эффективного использования битов содержит получение битового потока, содержащего вектор, представляющий ортогональную пространственную ось в области сферических гармоник. Битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, по меньшей мере, одного элемента синтаксиса, указывающего информацию, используемую при сжатии упомянутого вектора.

[6] В другом аспекте, устройство, выполненное с возможностью осуществления эффективного использования битов, содержит один или более процессоров, выполненных с возможностью получения битового потока, содержащего вектор, представляющий ортогональную пространственную ось в области сферических гармоник. Битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, по меньшей мере, одного элемента синтаксиса, указывающего информацию, используемую при сжатии упомянутого вектора. Устройство также содержит память, выполненную с возможностью сохранения битового потока.

[7] В другом аспекте, устройство, выполненное с возможностью осуществления эффективного использования битов, содержит средство для получения битового потока, содержащего вектор, представляющий ортогональную пространственную ось в области сферических гармоник. Битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, по меньшей мере, одного элемента синтаксиса, указывающего информацию, используемую при сжатии упомянутого вектора. Устройство также содержит средство для сохранения индикатора.

[8] В другом аспекте, на нетранзиторном (некратковременном) компьютерно-читаемом носителе данных хранятся инструкции, которые, при выполнении, предписывают одному или более процессорам получать битовый поток, содержащий вектор, представляющий ортогональную пространственную ось в области сферических гармоник, причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, по меньшей мере, одного элемента синтаксиса, указывающего информацию, используемую при сжатии упомянутого вектора.

[9] Детали одного или более аспектов методов изложены в прилагаемых чертежах и нижеследующем описании. Другие признаки, задачи и преимущества методов явствуют из описания и чертежей, а также из формулы изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[10] Фиг. 1 - схема, демонстрирующая сферические гармонические базисные функции различных порядков и подпорядков.

[11] Фиг. 2 - схема, демонстрирующая систему, которая может осуществлять различные аспекты методов, описанных в этом изобретении.

[12] Фиг. 3 - блок-схема, демонстрирующая, более детально, один пример устройства аудиокодирования, показанного в примере, приведенном на фиг. 2, которое может осуществлять различные аспекты методов, описанных в этом изобретении.

[13] Фиг. 4 - блок-схема, более подробно демонстрирующая устройство аудиодекодирования, показанное на фиг. 2.

[14] Фиг. 5A - блок-схема операций, демонстрирующая работу устройства аудиокодирования при осуществлении различных аспектов методов синтеза на векторной основе, описанных в этом изобретении.

[15] Фиг. 5B - блок-схема операций, демонстрирующая работу устройства аудиокодирования при осуществлении различных аспектов методов кодирования, описанных в этом изобретении.

[16] Фиг. 6A - блок-схема операций, демонстрирующая работу устройства аудиодекодирования при осуществлении различных аспектов методов, описанных в этом изобретении.

[17] Фиг. 6B - блок-схема операций, демонстрирующая работу устройства аудиодекодирования при осуществлении различных аспектов методов кодирования, описанных в этом изобретении.

[18] Фиг. 7 - схема, демонстрирующая, более подробно, кадры битового потока, которые могут указывать сжатые пространственные компоненты.

[19] Фиг. 8 - схема, демонстрирующая часть битового потока, которая может указывать сжатые пространственные компоненты более подробно.

ПОДРОБНОЕ ОПИСАНИЕ

[20] Развитие объемного звука сделало доступными многие выходные форматы для развлечения в наше время. Примеры таких потребительских форматов объемного звука, по большей части, являются основанными на 'каналах', поскольку они неявно указывают подводы к громкоговорителям в определенных геометрических координатах. Потребительские форматы объемного звука включают в себя популярный формат 5.1 (который включает в себя следующие шесть каналов: передний левый (FL), передний правый (FR), центральный или передний центральный, задний левый или левый окружения, задний правый или правый окружения, и низкочастотные эффекты (LFE)), перспективный формат 7.1, различные форматы, которые включают в себя высотные громкоговорители, например формат 7.1.4 и формат 22.2 (например, для использования со стандарт телевидения сверхвысокой четкости). Непотребительские форматы могут занимать любое количество громкоговорителей (в симметричных и несимметричных геометриях), часто именуемые 'решетками окружения'. Один пример такой решетки включает в себя 32 громкоговорителя, расположенные в координатах углов усеченного икосаэдра.

[21] Вход в будущий кодер MPEG, в необязательном порядке, является одним из трех возможных форматов: (i) традиционный аудиосигнал на канальной основе (как рассмотрено выше), что означает проигрывание через громкоговорители в заранее указанных позициях; (ii) аудиосигнал на основе объектов, который предусматривает дискретную импульсно-кодовую модуляцию (ИКМ) данных для единичных аудиообъектов с соответствующими метаданными, содержащими координаты их положения (помимо другой информации); и (iii) аудиосигнал на основе сцены, который предусматривает представление звукового поля с использованием коэффициентов сферических гармонических базисных функций (также именуемых ʺкоэффициентами сферических гармоникʺ или SHC, ʺамбиофонией более высокого порядкаʺ или HOA, и ʺкоэффициентами HOAʺ). Перспективный кодер MPEG описан более детально в документе под названием ʺCall for Proposals for 3D Audioʺ, изданном Международной организацией по стандартизации/ Международной электротехнической комиссией (ISO)/(IEC) JTC1/SC29/WG11/N13411, январь 2013 г. Женева, Швейцария, и доступном по адресу http://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w13411.zip.

[22] На рынке присутствуют различные форматы на канальной основе 'окружающего звука'. Они простираются, например, от 5.1 для системы домашнего кинотеатра (который был наиболее успешным в отношении распространения в жилых помещениях после стерео) до системы 22.2, разработанной NHK (Nippon Hoso Kyokai или Japan Broadcasting Corporation). Создатели контента (например, голливудские студии), вероятно, будут создавать звуковую дорожку для кинофильма один раз, вместо того, чтобы тратить усилия для ее ремикса для каждой конфигурации громкоговорителей. Недавно, организации по разработке стандартов рассмотрели возможности обеспечения кодирования в стандартизованный битовый поток и последующее декодирование, адаптируемое и не зависящее от геометрии (и количества) громкоговорителей и акустических условий в положении проигрывания (с использованием устройства воспроизведения).

[23] Для обеспечения такой гибкости для создателей контента, можно использовать иерархический набор элементов для представления звукового поля. Иерархический набор элементов может означать набор элементов, в котором элементы упорядочены таким образом, что базовый набор элементов более низкого порядка обеспечивает полное представление моделируемого звукового поля. Когда набор расширяется для включения элементов более высокого порядка, представление становится более детализированным, и разрешение увеличивается.

[24] Одним примером иерархического набора элементов является набор коэффициентов сферических гармоник (SHC). Следующее выражение демонстрирует описание или представление звукового поля с использованием SHC:

[25] Выражение показывает, что давление в любой точке звукового поля, в момент времени t, можно однозначно представить посредством SHC, . Здесь, , c - скорость звука (~343 m/s), - точка отсчета (или точка наблюдения), - сферическая бесселева функция порядка n, и - сферические гармонические базисные функции порядка n и подпорядка m. Ясно, что член в квадратных скобках является представлением в частотной области сигнала (т.е., ), который можно аппроксимировать различными частотно-временными преобразованиями, например, дискретным преобразованием Фурье (DFT), дискретным косинусным преобразованием (DCT) или вейвлетным преобразованием. Другие примеры иерархических наборов включают в себя наборы коэффициентов вейвлетного преобразования и другие наборы коэффициентов базисных функций с разными разрешениями.

[26] На фиг. 1 показана схема, демонстрирующая сферические гармонические базисные функции от нулевого порядка (n=0) до четвертого порядка (n=4). Как можно видеть, для каждого порядка, существует расширение подпорядков m, которые показаны, но явно не указаны в примере, приведенном на фиг. 1, для упрощения иллюстрации.

[27] SHC могут либо физически захватываться (например, записываться) различными конфигурациями микрофонной решетки, либо, альтернативно, могут выводиться из описаний звукового поля на канальной основе или на основе объектов. SHC представляют аудиосигнал на основе сцены, где SHC может вводиться на аудиокодер для получения кодированного SHC, что может способствовать более эффективной передаче или хранению. Например, можно использовать представление четвертого порядка, предусматривающее (1+4)2 (25, и, таким образом четвертого порядка) коэффициентов.

[28] Как упомянуто выше, SHC можно выводить из микрофонной записи с использованием микрофонной решетки. Различные примеры, как SHC можно выводить из микрофонных решеток, описаны в Poletti, M., ʺThree-Dimensional Surround Sound Systems Based on Spherical Harmonicsʺ, J. Audio Eng. Soc., Vol. 53, No. 11, 2005 November, pp. 1004-1025.

[29] Для иллюстрации, как SHC можно выводить из описания на основе объектов, рассмотрим следующее уравнение. Коэффициенты для звукового поля, соответствующего отдельному аудиообъекту, можно выразить в виде:

где i это , - сферическая функция Ханкеля (второго рода) порядка n, и - положение объекта. Зная энергию источника объекта как функцию частоты (например, с использованием методов частотно-временного анализа, например, осуществляя быстрое преобразование Фурье на потоке ИКМ) можно преобразовывать каждый объект ИКМ и его положение в SHC . Кроме того, можно показать (поскольку вышеприведенное является линейным и ортогональным разложением), что коэффициенты для каждого объекта аддитивны. Таким образом, большое количество объектов ИКМ можно представить коэффициентами (например, как сумму векторов коэффициентов для отдельных объектов). По существу, коэффициенты содержат информацию о звуковом поле (давление как функцию 3D координат), и вышеприведенное представляет преобразование из отдельных объектов в представление общего звукового поля, вблизи точки наблюдения . Остальные фигуры описаны ниже в контексте аудиокодирования на основе объектов и на основе SHC.

[30] На фиг. 2 показана схема, демонстрирующая систему 10, которая может осуществлять различные аспекты методов, описанных в этом изобретении. Как показано в примере, приведенном на фиг. 2, система 10 включает в себя устройство 12 создателя контента и устройство 14 потребителя контента. Хотя они описаны в контексте устройства 12 создателя контента и устройства 14 потребителя контента, методы можно реализовать в любом контексте, в котором SHC (которые также могут именоваться коэффициентами HOA) или любое другое иерархическое представление звукового поля кодируются для формирования битового потока, представляющего аудиоданные. Кроме того, устройство 12 создателя контента может представлять любую форму вычислительного устройства, способного реализовать методы, описанные в этом изобретении, в том числе, телефонную трубку (или сотовый телефон), планшетный компьютер, смартфон, или настольный компьютер для обеспечения нескольких примеров. Аналогично, устройство 14 потребителя контента может представлять любую форму вычислительного устройства, способного реализовать методы, описанные в этом изобретении, в том числе, телефонную трубку (или сотовый телефон), планшетный компьютер, смартфон, телевизионную приставку или настольный компьютер для обеспечения нескольких примеров.

[31] Устройством 12 создателя контента может оперировать киностудия или другой субъект, который может генерировать многоканальный аудиоконтент для потребления операторами потребителей контента, например, устройством 14 потребителя контента. В некоторых примерах, устройством 12 создателя контента может оперировать отдельный пользователь, который желает сжать коэффициенты 11 HOA. Создатель контента часто генерирует аудиоконтент совместно с видеоконтентом. Устройством 14 потребителя контента может оперировать частное лицо. Устройство 14 потребителя контента может включать в себя систему 16 проигрывания аудиосигнала, которая может представлять собой любую форму системы проигрывания аудиосигнала, способной воспроизводить SHC для проигрывания как многоканального аудиоконтента.

[32] Устройство 12 создателя контента включает в себя систему 18 аудиоредактирования. Устройство 12 создателя контента получает живые записи 7 в различных форматах (в том чистке непосредственно как коэффициенты HOA) и аудиообъекты 9, которые устройство 12 создателя контента может редактировать с использованием система 18 аудиоредактирования. Создатель контента может, при выполнении процесса редактирования, воспроизводить коэффициенты 11 HOA из аудиообъектов 9, прослушивая воспроизведенные подводы громкоговорителя в попытке идентификации различных аспектов звукового поля, которые требуют дополнительного редактирования. Затем устройство 12 создателя контента может редактировать коэффициенты 11 HOA (потенциально опосредованно посредством манипуляции различными аудиообъектами 9 из которых можно выводить исходные коэффициенты HOA вышеописанным образом). Устройство 12 создателя контента может использовать систему 18 аудиоредактирования для генерации коэффициентов 11 HOA. Система 18 аудиоредактирования представляет любую систему, способную редактировать аудиоданные и выводить аудиоданные как один или более исходных коэффициентов сферических гармоник.

[33] По завершении процесса редактирования, устройство 12 создателя контента может генерировать битовый поток 21 на основании коэффициентов 11 HOA. Таким образом, устройство 12 создателя контента включает в себя устройство 20 аудиокодирования, которое представляет устройство, выполненное с возможностью кодирования или иного сжатия коэффициентов 11 HOA в соответствии с различными аспектами методов, описанных в этом изобретении для генерации битового потока 21. Устройство 20 аудиокодирования может генерировать битовый поток 21 для передачи, в порядке одного примера, по каналу передачи, который может быть проводным или беспроводным каналом, устройством хранения данных и т.п. Битовый поток 21 может представлять кодированную версию коэффициентов 11 HOA и может включать в себя первичный битовый поток и другой побочный битовый поток, которые могут именоваться информацией побочного канала.

[34] Хотя более подробно описано ниже, устройство 20 аудиокодирования может быть выполнено с возможностью кодирования коэффициентов 11 HOA на основании синтеза на векторной основе или синтеза на основе направления. Для определения, осуществлять ли методологию разложения на векторной основе или методологию разложения на основе направления, устройство 20 аудиокодирования может определять, по меньшей мере частично, на основании коэффициентов 11 HOA, сгенерированы ли коэффициенты 11 HOA посредством естественной записи звукового поля (например, живой записи 7) или созданы искусственно (т.е., синтетически), в порядке одного примера, из аудиообъектов 9, например, объекта ИКМ. Когда коэффициенты 11 HOA сгенерированы из аудиообъектов 9, устройство 20 аудиокодирования может кодировать коэффициенты 11 HOA с использованием методологии разложения на основе направления. Когда коэффициенты 11 HOA захвачены вживую с использованием, например, собственного микрофона, устройство 20 аудиокодирования может кодировать коэффициенты 11 HOA на основе методологии разложения на векторной основе. Вышеописанное различие представляет один пример, где может быть развернута методология разложения на векторной основе или на основе направления. Могут существовать другие случаи, когда одна или обе могут быть полезны для естественных записей, искусственно генерируемого контента или их смеси (гибридного контента). Кроме того, можно также использовать обе методологии одновременно для кодирования единичного временного кадра коэффициентов HOA.

[35] Предполагая в целях иллюстрации, что устройство 20 аудиокодирования определяет, что коэффициенты 11 HOA захвачены вживую или иначе представляют живые записи, например, живую запись 7, устройство 20 аудиокодирования может быть выполнено с возможностью кодирования коэффициентов 11 HOA с использованием методологии разложения на векторной основе, предусматривающей применение линейного обратимого преобразования (LIT). Один пример линейного обратимого преобразования именуется ʺразложением на сингулярные значенияʺ (или ʺSVDʺ). В этом примере, устройство 20 аудиокодирования может применять SVD к коэффициентам 11 HOA для определения разложенной версии коэффициентов 11 HOA. Затем устройство 20 аудиокодирования может анализировать разложенную версию коэффициентов 11 HOA для идентификации различных параметров, что может облегчать переупорядочение разложенной версии коэффициентов 11 HOA. Затем устройство 20 аудиокодирования может переупорядочивать разложенную версию коэффициентов 11 HOA на основании идентифицированных параметров, где такое переупорядочение, как описано более подробно ниже, может улучшать эффективность кодирования при условии, что преобразование может переупорядочивать коэффициенты HOA по кадрам коэффициентов HOA (где кадр может включать в себя M выборок коэффициентов 11 HOA, и M, в некоторых примерах, задано равным 1024). После переупорядочения разложенной версии коэффициентов 11 HOA, устройство 20 аудиокодирования может выбирать те из разложенной версии коэффициентов 11 HOA, которые представляют переднеплановые (или, другими словами, характерные, преобладающие или заметные) компоненты звукового поля. Устройство 20 аудиокодирования может указывать разложенную версию коэффициентов 11 HOA, представляющую компоненты переднего плана, как аудиообъект и соответствующую информацию направленности.

[36] Устройство 20 аудиокодирования также может осуществлять анализ звукового поля в отношении коэффициентов 11 HOA по порядку, по меньшей мере частично, для идентификации из коэффициентов 11 HOA, представляющих один или более компонентов фона (или, другими словами, окружения) звукового поля. Устройство 20 аудиокодирования может осуществлять компенсация энергии в отношении фоновых компонентов при условии, что, в некоторых примерах, фоновые компоненты могут включать в себя только поднабор любой данной выборки коэффициентов 11 HOA (например, коэффициентов 11 HOA, соответствующих сферическим базисным функциям нулевого и первого порядка, а не коэффициентов 11 HOA соответствующих сферическим базисным функциям второго или более высокого порядка). При осуществлении снижения порядка, другими словами, устройство 20 аудиокодирования может дополнять (например, прибавлять/вычитать энергию) к/из оставшихся коэффициентов HOA фона коэффициентов 11 HOA для компенсации изменения полной энергии, которое обусловлено осуществлением снижения порядка.

[37] Затем устройство 20 аудиокодирования может осуществлять форму психоакустического кодирования (например, MPEG surround, MPEG-AAC, MPEG-USAC или другие известные формы психоакустического кодирования) в отношении каждого из коэффициентов 11 HOA, представляющих фоновые компоненты, и каждого из аудиообъектов переднего плана. Устройство 20 аудиокодирования может осуществлять в том или ином виде интерполяцию в отношении информации направленности переднего плана и затем осуществлять снижение порядка в отношении интерполированной информации направленности переднего плана для генерации информации направленности переднего плана сниженного порядка. Устройство 20 аудиокодирования может дополнительно осуществлять, в некоторых примерах, квантование в отношении информации направленности переднего плана сниженного порядка, выводя кодированную информацию направленности переднего плана. В ряде случаев, квантование может содержать скалярное/энтропийное квантование. Затем устройство 20 аудиокодирования может формировать битовый поток 21 для включения кодированных фоновых компонентов, кодированных аудиообъектов переднего плана и квантованной информации направленности. Затем устройство 20 аудиокодирования может передавать или иначе выводить битовый поток 21 на устройство 14 потребителя контента.

[38] Хотя на фиг. 2 показана непосредственная передача на устройство 14 потребителя контента, устройство 12 создателя контента может выводить битовый поток 21 на промежуточное устройство, расположенное между устройством 12 создателя контента и устройством 14 потребителя контента. Промежуточное устройство может сохранять битовый поток 21 для доставки в дальнейшем на устройство 14 потребителя контента, которое может запрашивать битовый поток. Промежуточное устройство может содержать файловый сервер, веб-сервер, настольный компьютер, портативный компьютер, планшетный компьютер, мобильный телефон, смартфон или любое другое устройство, способное сохранять битовый поток 21 для извлечения в дальнейшем аудиодекодером. Промежуточное устройство может располагаться в сети доставки контента, способной к потоковой передаче битового потока 21 (и, возможно, совместно с передачей соответствующего битового потока видеоданных) абонентам, например, устройству 14 потребителя контента, запрашивающему битовый поток 21.

[39] Альтернативно, устройство 12 создателя контента может сохранять битовый поток 21 на носитель данных, например, компакт-диск, цифровой видеодиск, диск видео высокой четкости или другие носители данных, большинство из которых могут считываться компьютером и, таким образом, могут именоваться компьютерно-читаемыми носителями данных или нетранзиторными компьютерно-читаемыми носителями данных. В этом контексте, канал передачи может означать каналы, по которым передается контент, хранящийся на этих носителях (и может включать в себя магазины розничной торговли и другой механизм доставки со склада). В любом случае, методы этого изобретения не подлежат ограничению в этом отношении примером, приведенным на фиг. 2.

[40] Как показано далее в примере, приведенном на фиг. 2, устройство 14 потребителя контента включает в себя систему 16 проигрывания аудиосигнала. Система 16 проигрывания аудиосигнала может представлять любую систему проигрывания аудиосигнала, способную проигрывать многоканальные аудиоданные. Система 16 проигрывания аудиосигнала может включать в себя несколько разных устройств 22 воспроизведения. Каждый из устройств 22 воспроизведения может обеспечивать ту или иную форму воспроизведения, где разные формы воспроизведения могут включать в себя один или более из различных способов осуществления амплитудного панорамирования на векторной основе (VBAP), и/или один или более из различных способов осуществления синтеза звукового поля. Используемый здесь, ʺA и/или Bʺ означает ʺA или Bʺ или оба ʺA и Bʺ.

[41] Система 16 проигрывания аудиосигнала может дополнительно включать в себя устройство 24 аудиодекодирования. Устройство 24 аудиодекодирования может представлять устройство, выполненное с возможностью декодирования коэффициентов 11' HOA из битового потока 21, где коэффициенты 11' HOA могут быть аналогичны коэффициентам 11 HOA, но отличаться вследствие операций с потерями (например, квантования) и/или передачи по каналу передачи. Таким образом, устройство 24 аудиодекодирования может деквантовать информацию направленности переднего плана, указанную в битовом потоке 21, осуществляя также психоакустическое декодирование в отношении аудиообъектов переднего плана, указанных в битовом потоке 21, и кодированных коэффициентов HOA, представляющих фоновые компоненты. Устройство 24 аудиодекодирования может дополнительно осуществлять интерполяцию в отношении декодированной информации направленности переднего плана и затем определять коэффициенты HOA, представляющие компоненты переднего плана, на основании декодированных аудиообъектов переднего плана и интерполированной информации направленности переднего плана. Устройство 24 аудиодекодирования может затем определять коэффициенты 11' HOA на основании определенных коэффициентов HOA, представляющих компоненты переднего плана и декодированных коэффициентов HOA, представляющих фоновые компоненты.

[42] Система 16 проигрывания аудиосигнала могут, после декодирования битового потока 21 получать коэффициенты 11' HOA и воспроизводить коэффициенты 11' HOA для вывода подводов 25 громкоговорителя. Подводы 25 громкоговорителя могут возбуждать один или более громкоговорителей (которые не показаны в примере, приведенном на фиг. 2 для упрощения иллюстрации).

[43] Для выбора надлежащего устройства воспроизведения или, в ряде случаев, генерации надлежащего устройства воспроизведения, система 16 проигрывания аудиосигнала может получать информацию 13 громкоговорителей, указывающую количество громкоговорителей и/или пространственную геометрию громкоговорителей. В ряде случаев, система 16 проигрывания аудиосигнала может получать информацию 13 громкоговорителей с использованием опорного микрофона и возбуждать громкоговорители таким образом, чтобы динамически определять информацию 13 громкоговорителей. В других случаях или совместно с динамическим определением информации 13 громкоговорителей, система 16 проигрывания аудиосигнала может предлагать пользователю взаимодействовать с системой 16 проигрывания аудиосигнала и вводить информацию 13 громкоговорителей.

[44] Затем система 16 проигрывания аудиосигнала может выбирать один из устройств 22 воспроизведения аудио на основании информации 13 громкоговорителей. В ряде случаев, система 16 проигрывания аудиосигнала может, когда ни один из устройств 22 воспроизведения аудио не находится в пределах некоторой пороговой меры подобия (определяемой геометрией громкоговорителей) с указанными в информации 13 громкоговорителей, система 16 проигрывания аудиосигнала может генерировать один из устройств 22 воспроизведения аудио на основании информации 13 громкоговорителей. Система 16 проигрывания аудиосигнала, в ряде случаев, может генерировать один из устройств 22 воспроизведения аудио на основании информации 13 громкоговорителей, не пытаясь сначала выбрать один из существующих устройств 22 воспроизведения аудио.

[45] На фиг. 3 показана блок-схема, демонстрирующая, более детально, один пример устройства 20 аудиокодирования, показанного в примере, приведенном на фиг. 2, которое может осуществлять различные аспекты методов, описанных в этом изобретении. Устройство 20 аудиокодирования включает в себя блок 26 анализа контента, блок 27 разложения на векторной основе и блок 28 разложения на основе направления. Хотя ниже приведено краткое описание, дополнительная информация, касающаяся устройства 20 аудиокодирования и различных аспектов сжатия или иного кодирования коэффициентов HOA, доступна в международной патентной заявке, опубликованной за № WO 2014/194099, под названием ʺINTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELDʺ, поданной 29 мая 2014 г.

[46] Блок 26 анализа контента представляет блок, выполненный с возможностью анализа контента коэффициентов 11 HOA для идентификации, представляют ли коэффициенты 11 HOA контент, генерируемый из живой записи или аудиообъекта. Блок 26 анализа контента может определять, сгенерированы ли коэффициенты 11 HOA из записи фактического звукового поля или из искусственного аудиообъекта. В ряде случаев, когда кадрированные коэффициенты 11 HOA сгенерированы из записи, блок 26 анализа контента передает коэффициенты 11 HOA на блок 27 разложения на векторной основе. В ряде случаев, когда кадрированные коэффициенты 11 HOA сгенерированы из синтетического аудиообъекта, блок 26 анализа контента передает коэффициенты 11 HOA на блок 28 синтеза на основе направления. Блок 28 синтеза на основе направления может представлять блок, выполненный с возможностью осуществления синтеза на основе направления коэффициентов 11 HOA для генерации битового потока 21 на основе направления.

[47] Как показано в примере, приведенном на фиг. 3, блок 27 разложения на векторной основе может включать в себя блок 30 линейного обратимого преобразования (LIT), блок 32 вычисления параметров, блок 34 переупорядочения, блок 36 выбора переднего плана, блок 38 компенсации энергии, блок 40 психоакустического аудиокодера, блок 42 генерации битового потока, блок 44 анализа звукового поля, блок 46 приведения коэффициентов, блок 48 выбора фона (BG), блок 50 пространственно-временной интерполяции и блок 52 квантования.

[48] Блок 30 линейного обратимого преобразования (LIT) принимает коэффициенты 11 HOA в форме каналов HOA, причем каждый канал представляет блок или кадр коэффициента, связанного с данным порядком, подпорядком сферических базисных функций (который может быть обозначен как HOA[k], где k может обозначать текущий кадр или блок выборок). Матрица коэффициентов 11 HOA может иметь размеры D: M×(N+1)2.

[49] Таким образом, блок 30 LIT может представлять блок, выполненный с возможностью осуществления формы анализа именуемый разложение на сингулярные значения. Хотя они описаны в отношении SVD, методы, описанные в этом изобретении можно осуществлять в отношении любого аналогичного преобразования или разложения, которое обеспечивает наборы линейно раскоррелированных, уплотненных по энергии выходов. Также ссылка на ʺнаборыʺ в этом изобретении, в общем случае, призвана означать ненулевые наборы, если прямо не указано обратное, и не призвана означать классическое математическое определение множеств, которое включает в себя так называемое ʺпустое множествоʺ.

[50] Альтернативное преобразование может содержать анализ главных компонентов, часто именуемый ʺPCAʺ. PCA означает математическую процедуру, которая использует ортогональное преобразование для преобразования набор наблюдений возможно коррелирующих переменных в набор линейно раскоррелированных переменных, именуемых главными компонентами. Линейно раскоррелированные переменные представляют переменные, которые не имеют линейного статистического соотношения (или зависимости) друг от друга. Главные компоненты можно описать как имеющие малую степень статистической корреляции друг с другом. В любом случае, количество так называемых главных компонентов меньше или равно количеству исходных переменных. В некоторых примерах, преобразование определяется таким образом, что первая главная компонента имеет наибольшую возможную дисперсию (или, другими словами, учитывает максимально возможную изменчивость данных), и каждая последующая компонента по очереди имеет наивысшую дисперсию, возможную при ограничении, что последующая компонента ортогональна предыдущим компонентам (иными словами, раскоррелирован с ними). PCA может осуществлять в том или ином виде снижение порядка, что в отношении коэффициентов 11 HOA может приводить к сжатию коэффициентов 11 HOA. В зависимости от контекста, PCA может именоваться по-разному, например, дискретное преобразование Карунена-Лева, преобразование Хотеллинга, правильное ортогональное разложение (POD) и разложение по собственным значениям (EVD), и т.д. Свойствами таких операций, которые приводят к лежащий в основе цели сжатия аудиоданных, являются 'уплотнение по энергии' и 'декорреляция' многоканальных аудиоданных.

[51] В любом случае, предполагается, что блок 30 LIT осуществляет разложение на сингулярные значения (которое, опять же, может именоваться ʺSVDʺ), в порядке примера, блок LIT 30 может преобразовывать коэффициент 11 HOA в два или более наборов преобразованных коэффициентов HOA. ʺНаборыʺ преобразованных коэффициентов HOA может включать в себя векторы преобразованных коэффициентов HOA. В примере, приведенном на фиг. 3, блок 30 LIT может осуществлять SVD в отношении коэффициентов 11 HOA для генерации так называемых матрицы V, матрицы S и матрицы U. SVD, в линейной алгебре, может представлять факторизацию действительной или комплексной матрицы X y на z (где X может представлять многоканальные аудиоданные, например, коэффициенты 11 HOA) в следующей форме:

X=USV*

U может представлять действительную или комплексную унитарную матрицу y на y, где y столбцов U известны как левые сингулярные векторы многоканальных аудиоданных. S может представлять прямоугольную диагональную матрицу y на z с неотрицательными действительными числами на диагонали, где диагональные значения S известны как сингулярные значения многоканальных аудиоданных. V* (которая может обозначать транспонированную и комплексно сопряженную матрицу V) может представлять действительную или комплексную унитарную матрицу z на z, где z столбцов V* известны как правые сингулярные векторы многоканальных аудиоданных.

[52] Хотя в этом изобретении они описаны как применяемые к многоканальным аудиоданным, содержащим коэффициенты 11 HOA, методы могут применяться к любой форме многоканальных аудиоданных. Таким образом, устройство 20 аудиокодирования может осуществлять разложение на сингулярные значения в отношении многоканальные аудиоданные, представляющие, по меньшей мере, часть звукового поля для генерации матрицы U, представляющей левые сингулярные векторы многоканальных аудиоданных, матрицы S, представляющей сингулярные значения многоканальных аудиоданных, и матрицы V, представляющей правые сингулярные векторы многоканальных аудиоданных, и представляющей многоканальные аудиоданные как функцию, по меньшей мере, части одной или более из матрицы U, матрицы S и матрицы V.

[53] В некоторых примерах, матрица V* в упомянутом выше математическом выражении SVD обозначается как сопряженная транспонированная матрица V для отражения того, что SVD может применяться к матрицам, содержащим комплексные числа. В случае применения к матрицам, содержащим только действительные числа, комплексно-сопряженную матрицу V (или, другими словами, матрицу V*) можно рассматривать как транспонированную матрица V. Ниже предполагается, для упрощения иллюстрации, что коэффициенты 11 HOA содержат действительные числа, в результате чего, матрица V выводится через SVD вместо матрицы V*. Кроме того, хотя в этом изобретении она обозначена как матрица V, ссылку на матрицу V следует понимать в смысле транспонированной матрицы V, когда это целесообразно. Хотя предполагается, что это матрица V, методы могут применяться аналогичным образом к коэффициентам 11 HOA имеющим комплексные коэффициенты, где выходом SVD является матрица V*. Соответственно, методы не подлежат ограничению в этом отношении только обеспечением применения SVD для генерации матрицы V, но могут включать в себя применение SVD к коэффициентам 11 HOA, имеющим комплексные компоненты, для генерации матрицы V*.

[54] В любом случае, блок 30 LIT может осуществлять поблочную форму SVD в отношении каждого блока (который может означать кадр) аудиоданных амбиофонии более высокого порядка (HOA) (где аудиоданные амбиофонии включают в себя блоки или выборки коэффициентов 11 HOA или любую другую форму многоканальных аудиоданных). Как упомянуто выше, переменную M можно использовать для обозначения длины кадра аудио в выборках. Например, когда кадр аудио включает в себя 1024 выборки аудиосигнала, M равно 1024. Хотя они описаны в отношении типичного значения M, методы изобретения не подлежат ограничению типичным значением M. Таким образом, блок 30 LIT может осуществлять поблочное SVD в отношении блока коэффициентов 11 HOA, имеющего M на (N+1)2 коэффициентов HOA, где N, опять же, обозначает порядок аудиоданных HOA. Блок 30 LIT может генерировать, посредством осуществления SVD, матрицу V, матрицу S и матрицу U, где каждая из матриц может представлять соответствующие матрицы V, S и U, описанные выше. Таким образом, блок 30 линейного обратимого преобразования может осуществлять SVD в отношении коэффициентов 11 HOA для вывода векторов 33 US[k] (которые могут представлять комбинированную версию векторов S и векторов U) имеющих размеры D: M×(N+1)2, и векторов 35 V[k], имеющих размеры D: (N+1)2×(N+1)2. Отдельные элементы вектора в матрице US[k] также могут обозначаться , тогда как, отдельные векторы матрицы V[k] также могут обозначаться .

[55] Анализ матриц U, S и V может показать, что матрицы несут или представляют пространственные и временные характеристики основного звукового поля, представленного выше как X. Каждый из N векторов в U (длиной M выборок) может представлять нормализованные разделенные аудиосигналы как функцию времени (в течение периода времени, представленного M выборками), которые ортогональны друг другу и которые отделены от любых пространственных характеристик (которые также могут именоваться информацией направленности). Пространственные характеристики, представляющие пространственную форму и позицию (r, тета, фи) ширина могут быть альтернативно представлены отдельными i-ыми векторами, , в матрице V (каждый длинной (N+1)2). Отдельные элементы каждого из векторов v(i)(k) могут представлять коэффициент HOA, описывающий форму и направление звукового поля для соответствующего аудиообъекта. Векторы в матрице U и в матрице V нормализованны таким образом, что их среднеквадратические энергии равны единице. Энергия аудиосигналов в U, таким образом, представляется диагональными элементами в S. Умножение U и S для формирования US[k] (с отдельными элементами вектора ), таким образом, представляет аудиосигнал истинными энергиями. Способность разложения SVD отделять временные аудиосигналы (в U), их энергии (в S) и их пространственные характеристики (в V) может поддерживать различные аспекты методов, описанных в этом изобретении. Кроме того, модель синтеза лежащих в основе коэффициентов HOA[k], X, посредством векторного умножения US[k] и V[k] порождает термин ʺразложение на векторной основеʺ, который используется на протяжении этого документа.

[56] Хотя он описан как осуществляемый непосредственно в отношении коэффициентов 11 HOA, блок 30 LIT может применять линейное обратимое преобразование к производным коэффициентов 11 HOA. например, блок 30 LIT может применять SVD в отношении матрицы спектральной плотности мощности, выведенной из коэффициентов 11 HOA. Матрица спектральной плотности мощности может быть обозначена как PSD и получена путем матричного умножения транспонированной hoaFrame на hoaFrame, что изложено в нижеследующем псевдокоде. Обозначение hoaFrame означает кадр коэффициентов 11 HOA.

[57] Блок 30 LIT может, после применения SVD (svd) к PSD, может получать матрицу S[k]2 (S_squared) и матрицу V[k]. Матрица S[k]2 может обозначать квадрат матрицы S[k], в связи с чем, блок 30 LIT может применять операцию извлечения квадратного корня из матрицы S[k]2 для получения матрицы S[k]. Блок 30 LIT может, в ряде случаев, осуществлять квантование в отношении матрицы V[k] для получения квантованной матрицы V[k] (которая может быть обозначена как матрица V[k]'). Блок 30 LIT может получать матрицу U[k], сначала умножая матрицу S[k] на квантованную матрицу V[k]' для получения матрицы SV[k]'. Затем блок 30 LIT может получать псевдообратную (pinv) матрицу SV[k]' и затем умножать коэффициенты 11 HOA на псевдообратную матрицу SV[k]' для получения матрицы U[k]. Вышеприведенное описание может быть представлено следующим псевдокодом:

PSD=hoaFrame'*hoaFrame;

[V, S_squared]=svd(PSD,'econ');

S=sqrt(S_squared);

U=hoaFrame * pinv(S*V');

[58] Путем осуществления SVD в отношении спектральной плотности мощности (PSD) коэффициентов HOA вместо самих коэффициентов, блок 30 LIT может потенциально снижать вычислительную сложность осуществления SVD в отношении одного или более из циклов процессор и пространства хранения, достигая при этом такой же эффективности аудиокодирования источника, как если бы SVD применялось непосредственно к коэффициентам HOA. Таким образом, вышеописанное SVD типа PSD может потенциально требовать меньше вычислительной мощности, поскольку SVD осуществляется на матрице F*F (где F - количество коэффициентов HOA), по сравнению с матрицей M*F, где M - длина кадра, т.е. 1024 или более выборок. Теперь сложность SVD, благодаря применению к PSD вместо коэффициентов 11 HOA, может быть около O(L3) по сравнению с O(M*L2) в случае применения к коэффициентам 11 HOA (где O(*) обозначает символ большого O вычислительной сложности, обычно используемый в компьютерной технике).

[59] В этом отношении, блок LIT 30 может осуществлять разложение в отношении или иным образом подвергать разложению аудиоданные 11 с амбиофонией более высокого порядка для получения вектора (например, вышеупомянутого V-вектора), представляющего ортогональную пространственную ось в области сферических гармоник. Разложение может включать в себя SVD, EVD или любую другую форму разложения.

[60] Блок вычисления параметров 32 представляет блок, выполненный с возможностью вычисления различных параметров, например, параметра корреляции (R), параметров свойств направленности (θ,ϕ,r) и свойства энергии (e). Каждый из параметров для текущего кадра может быть обозначен как R[k], θ[k], ϕ[k], r[k] и e[k]. Блок 32 вычисления параметров может осуществлять анализ энергии и/или корреляцию (или так называемую кросс-корреляцию) в отношении векторов 33 US[k] для идентификации параметров. Блок 32 вычисления параметров также может определять параметры для предыдущего кадра, где параметры предыдущего кадра могут быть обозначены R[k-1], θ[k-1], ϕ[k-1], r[k-1] и e[k-1], на основании предыдущего кадра вектора US[k-1] и векторов V[k-1]. Блок 32 вычисления параметров может выводить текущие параметры 37 и предыдущие параметры 39 на блок 34 переупорядочения.

[61] Разложение SVD не гарантирует, что аудиосигнал/объект представленный p-ым вектором в векторах 33 US[k-1], который может быть обозначен как вектор US[k-1][p] (или, альтернативно, как ), будет тем же аудиосигналом/объектом (развившимся во времени), представленным p-ым вектором в векторах 33 US[k], которые также могут быть обозначены как векторы 33 US[k][p] (или, альтернативно, как ). Параметры, вычисленные блоком 32 вычисления параметров, могут использоваться блоком 34 переупорядочения для переупорядочения аудиообъектов для представления их естественного оценивания или непрерывности в течение времени.

[62] Таким образом, блок 34 переупорядочения может сравнивать каждый из параметров 37 из первых векторов 33 US[k] поочередно с каждым из параметров 39 для вторых векторов 33 US[k-1]. Блок 34 переупорядочения может переупорядочивать (с использованием, в порядке одного примера, венгерского алгоритма) различные векторы в матрице 33 US[k] и матрице 35 V[k] на основании текущих параметров 37 и предыдущих параметров 39 для вывода переупорядоченной матрицы 33' US[k] (которая может быть математически обозначена как ) и переупорядоченной матрицы 35' V[k] (которая может быть математически обозначена как ) на блок 36 выбора звука переднего плана (или преобладающего звука - PS) (ʺблок 36 выбора переднего планаʺ) и блок 38 компенсации энергии.

[63] Блок 44 анализа звукового поля может представлять блок, выполненный с возможностью осуществления анализа звукового поля в отношении коэффициентов 11 HOA, чтобы потенциально достичь целевой битовой скорости 41. Блок 44 анализа звукового поля может, на основании анализа и/или принятой целевой битовой скорости 41, определять суммарное количество экземпляров психоакустического кодера (которое может быть функцией суммарного количества каналов окружения или фона (BGTOT) и количества каналов переднего плана или, другими словами, преобладающих каналов. Суммарное количество экземпляров психоакустического кодера можно обозначить как numHOATransportChannels.

[64] Блок 44 анализа звукового поля также может определять, опять же для потенциального достижения целевой битовой скорости 41, суммарное количество каналов переднего плана (nFG) 45, минимальный порядок звукового поля фона (или, другими словами, окружения) (NBG или, альтернативно, MinAmbHOAorder), соответствующее количество фактических каналов, представляющих минимальный порядок фонового звукового поля (nBGa=(MinAmbHOAorder+1)2), и индексы (i) дополнительных каналов HOA BG для отправки (которые могут совместно обозначаться как информация 43 фонового канала в примере, приведенном на фиг. 3). Информация 42 фонового канала также может именоваться информацией 43 канала окружения. Каждый из каналов, оставшихся из numHOATransportChannels-nBGa, может быть либо ʺдополнительным каналом фона/окруженияʺ, ʺактивным преобладающим каналом на векторной основеʺ, ʺактивным преобладающим сигналом на основе направленностиʺ или ʺполностью неактивнымʺ. В одном аспекте, типы каналов могут указываться (как ʺChannelTypeʺ) элемент синтаксиса двумя битами (например, 00: сигнал на основе направленности; 01: преобладающий сигнал на векторной основе; 10: дополнительный сигнал окружения; 11: неактивный сигнал). Суммарное количество сигналов фона или окружения, nBGa, можно задавать в виде (MinAmbHOAorder+1)2+число раз, когда индекс 10 (в вышеприведенном примере) выглядит, как тип канала в битовом потоке для этого кадра.

[65] В любом случае, блок 44 анализа звукового поля может выбирать количество каналов фона (или, другими словами, окружения) и количество каналов переднего плана (или, другими словами, преобладающих) на основании целевой битовой скорости 41, выбирать больше каналов фона и/или переднего плана, при относительно более высокой целевой битовой скорости 41 (например, когда целевая битовая скорость 41 больше или равна 512 кбит/с). В одном аспекте, numHOATransportChannels можно задать равным 8, тогда как MinAmbHoaOrder можно задать равным 1 в секции заголовка битового потока. В этом сценарии, в каждом кадре, четыре канала могут быть предназначены для представления фоновой или окружающей части звукового поля, тогда как другие 4 канала могут, на основе кадров, зависеть от типа канала - например, либо используемого как дополнительный канал фона/окружения, либо как переднеплановый/преобладающий канал. Сигналы переднего плана/преобладающие сигналы могут быть либо сигналами на векторной основе, либо сигналами на основе направленности, как описано выше.

[66] В ряде случаев, суммарное количество преобладающих сигналов на векторной основе для кадра, можно задавать в виде числа раз, когда индекс ChannelType равен 01, в битовом потоке этого кадра. В рассмотренном выше аспекте, для каждого дополнительного канала фона/окружения (например, соответствующего ChannelType, равному 10), соответствующая ему информация из возможных коэффициентов HOA (помимо первых четырех) может быть представлена в этом канале. Информация, для контента HOA четвертого порядка, может быть индексом для указания коэффициентов HOA 5-25. Первые четыре коэффициента HOA окружения 1-4 могут отправляться каждый раз, когда minAmbHoaOrder задан равным 1, поэтому устройству аудиокодирования может потребоваться указывать только один из дополнительных коэффициентов HOA окружения, имеющих индекс 5-25. Информация, таким образом, может отправляться с использованием 5-битового элемента синтаксиса (для контента 4-го порядка), который может быть обозначен как ʺCodedAmbCoeffIdx.ʺ

[67] Для иллюстрации, предположим, что minAmbHOAorder задан равным 1, и дополнительный коэффициент HOA окружения с индексом шесть, в порядке одного примера, отправляется посредством битового потока 21. В этом примере, minAmbHOAorder, равный 1, указывает, что коэффициенты HOA окружения имеют индекс 1, 2, 3 и 4. Устройство 20 аудиокодирования может выбирать коэффициенты HOA окружения, поскольку коэффициенты HOA окружения имеют в этом примере индекс, меньший или равный (minAmbHOAorder+1)2 или 4. Устройство 20 аудиокодирования может указывать коэффициенты HOA окружения, связанные с индексами 1, 2, 3 и 4 в битовом потоке 21. Устройство 20 аудиокодирования также может указывать дополнительный коэффициент HOA окружения с индексом 6 в битовом потоке в качестве additionalAmbientHOAchannel с ChannelType равным 10. Устройство 20 аудиокодирования может указывать индекс с использованием элемента синтаксиса CodedAmbCoeffIdx. На практике, элемент CodedAmbCoeffIdx может указывать все индексы 1-25. Однако, поскольку minAmbHOAorder задан равным единице, устройство 20 аудиокодирования может не указывать ни одного из первых четырех индексов (поскольку известно, что первые четыре индекса указаны в битовом потоке 21 посредством элемента синтаксиса minAmbHOAorder). В любом случае, поскольку устройство 20 аудиокодирования указывает пять коэффициентов HOA окружения посредством minAmbHOAorder (для первых четырех) и CodedAmbCoeffIdx (для дополнительного коэффициента HOA окружения), устройство 20 аудиокодирования может не указывать соответствующие элементы V-вектора, связанные с коэффициентами HOA окружения, имеющими индекс 1, 2, 3, 4 и 6. В результате, устройство 20 аудиокодирования может указывать V-вектор с элементами [5, 7:25].

[68] Во втором аспекте, все сигналы переднего плана/преобладающие сигналы являются сигналами на векторной основе. В этом втором аспекте, суммарное количество сигналов переднего плана/преобладающих сигналов можно задавать в виде nFG=numHOATransportChannels - [(MinAmbHOAorder+1)2+каждый из additionalAmbientHOAchannel].

[69] Блок 44 анализа звукового поля выводит информацию 43 фонового канала и коэффициенты 11 HOA на блок 48 выбора фона (BG), информацию 43 фонового канала на блок 46 приведения коэффициентов и блок 42 генерации битового потока, и nFG 45 на блок 36 выбора переднего плана.

[70] Блок 48 выбора фона может представлять блок, выполненный с возможностью определения коэффициентов 47 HOA фона или окружения на основании информации фонового канала (например, фонового звукового поля (NBG) и количества (nBGa) и индексов (i) дополнительных каналов HOA BG для отправки). Например, когда NBG равно единице, блок 48 выбора фона может выбирать коэффициенты 11 HOA для каждой выборки кадра аудио, имеющего порядок, меньший или равный единице. Затем блок 48 выбора фона может, в этом примере, выбрать коэффициенты 11 HOA, имеющие индекс, идентифицированный одним из индексов (i) как дополнительные коэффициенты HOA BG, где nBGa поступает на блок 42 генерации битового потока для указания в битовом потоке 21, чтобы устройство аудиодекодирования, например, устройство 24 аудиодекодирования, показанное в примере, приведенном на фиг. 2 и 4, синтаксически анализировало коэффициенты 47 HOA из битового потока 21. Затем блок 48 выбора фона может выводить коэффициенты 47 HOA окружения на блок 38 компенсации энергии. Коэффициенты 47 HOA окружения могут иметь размеры D: M×[(NBG+1)2+nBGa]. Коэффициенты 47 HOA окружения также могут именоваться ʺкоэффициентами 47 HOA окруженияʺ, где каждый из коэффициентов 47 HOA окружения соответствует отдельному каналу 47 HOA окружения, подлежащему кодированию блоком 40 психоакустического аудиокодера.

[71] Блок 36 выбора переднего плана может представлять блок, выполненный с возможностью выбора тех из переупорядоченной матрицы 33' US[k] и переупорядоченной матрицы 35' V[k], которые представляют компоненты переднего плана или характерные компоненты звукового поля на основании nFG 45 (который может представлять один или более индексов, идентифицирующих векторы переднего плана). Блок 36 выбора переднего плана может выводить сигналы 49 nFG (которые могут быть обозначены как переупорядоченные US[k]1, …, nFG 49, FG1, …, nfG[k] 49 или 49) на блок 40 психоакустического аудиокодера, где сигналы 49 nFG могут иметь размеры D: M ×nFG, каждый из которых представляет монофонические аудиообъекты. Блок 36 выбора переднего плана также может выводить переупорядоченную матрицу 35' V[k] (или 35'), соответствующую компонентам переднего плана звукового поля, на блок 50 пространственно-временной интерполяции, где поднабор переупорядоченной матрицы 35' V[k], соответствующей компонентам переднего плана, может быть обозначен как матрица 51k переднего плана V[k] (которая может математически обозначаться как ), имеющая размеры D: (N+1)2×nFG.

[72] Блок 38 компенсации энергии может представлять блок, выполненный с возможностью осуществления компенсации энергии в отношении коэффициентов 47 HOA окружения для компенсации потери энергии вследствие удаления различных каналов HOA блоком 48 выбора фона. Блок 38 компенсации энергии может осуществлять анализ энергии в отношении одной или более из переупорядоченной матрицы 33' US[k], переупорядоченной матрицы 35' V[k], сигналов 49 nFG, векторов 51k переднего плана V[k] и коэффициентов 47 HOA окружения и затем осуществлять компенсацию энергии на основании анализа энергии для генерации коэффициентов 47' HOA окружения с компенсацией энергии. Блок 38 компенсации энергии может выводить коэффициенты 47' HOA окружения с компенсацией энергии на блок 40 психоакустического аудиокодера.

[73] Блок 50 пространственно-временной интерполяции может представлять блок, выполненный с возможностью приема векторов 51k переднего плана V[k] для k-го кадра и векторов 51k-1 переднего плана V[k-1] для предыдущего кадра (поэтому обозначенных k-1) и осуществления пространственно-временной интерполяции для генерации интерполированных векторов переднего плана V[k]. Блок 50 пространственно-временной интерполяции может рекомбинировать сигналы 49 nFG с векторами 51k переднего плана V[k] для восстановления переупорядоченных коэффициентов HOA переднего плана. Затем блок 50 пространственно-временной интерполяции может делить переупорядоченные коэффициенты HOA переднего плана на интерполированные векторы V[k] для генерации интерполированных сигналов 49' nFG. Блок 50 пространственно-временной интерполяции также может выводить те из векторов 51k переднего плана V[k], которые использовались для генерации интерполированных векторов переднего плана V[k], благодаря чему, устройство аудиодекодирования, например, устройство 24 аудиодекодирования, может генерировать интерполированные векторы переднего плана V[k] и, таким образом, восстанавливать векторы 51k переднего плана V[k]. Векторы 51k переднего плана V[k], используемые для генерации интерполированных векторов переднего плана V[k], обозначены как оставшиеся векторы 53 переднего плана V[k]. Чтобы гарантировать, что одни и те же V[k] и V[k-1] используются на кодере и декодере (для создания интерполированных векторов V[k]) на кодере и декодере можно использовать их квантованные/деквантованные версии векторов.

[74] В ходе эксплуатации, блок 50 пространственно-временной интерполяции может интерполировать один или более подкадров первого кадра аудио из первого разложения, например, векторов 51k переднего плана V[k], части первого множества коэффициентов 11 HOA, включенных в первый кадр, и второго разложения, например, векторов 51k-1 переднего плана V[k], части второго множества коэффициентов 11 HOA, включенных во второй кадр для генерации разложенных интерполированных коэффициентов сферических гармоник для одного или более подкадров.

[75] В некоторых примерах, первое разложение содержит первые векторы 51k переднего плана V[k], представляющие правые сингулярные векторы части коэффициентов 11 HOA. Аналогично, в некоторых примерах, второе разложение содержит вторые векторы 51k переднего плана V[k], представляющие правые сингулярные векторы части коэффициентов 11 HOA.

[76] Другими словами, 3D аудио на основе сферических гармоник может быть параметрическим представление 3D поля давления в отношении ортогональных базисных функций на сфере. Чем выше порядок N представления, тем потенциально выше пространственное разрешение, и, часто, тем больше количество коэффициентов сферических гармоник (SH) (для всего (N+1)2 коэффициентов). Для многих применений, может потребоваться, чтобы сжатие полосы коэффициентов позволяло эффективно передавать и сохранять коэффициенты. Методы, предусмотренные в этом изобретении, могут обеспечивать процесс снижения размерности на кадровой основе с использованием разложения на сингулярные значения (SVD). Анализ SVD может подвергать разложению каждый кадр коэффициентов на три матрицы U, S и V. В некоторых примерах, методы могут обрабатывать некоторые из векторов в матрице US[k] как компоненты переднего плана основного звукового поля. Однако, при такой обработке, векторы (в матрице U S[k]) являются разрывными от кадра к кадру, хотя они представляют один и тот же характерный аудиокомпонент. Нарушения непрерывности могут приводить к значительным артефактам, когда компоненты поступают через преобразующие аудиокодеры.

[77] В некоторых отношениях, пространственно-временная интерполяция может опираться на то факт, что, что матрицу V можно интерпретировать как ортогональные пространственные оси в области сферических гармоник. Матрица U[k] может представлять проекцию данных сферических гармоник (HOA) в отношении базисных функций, где нарушение непрерывности может приписываться ортогональной пространственной оси (V[k]), которые изменяют каждый кадр, и, таким образом, сами являются разрывными. В этом состоит отличие от некоторых других разложений, например, преобразования Фурье, где базисные функции, в некоторых примерах, постоянны от кадра к кадру. В этом отношении, SVD можно рассматривать как алгоритм преследования совпадения. Блок 50 пространственно-временной интерполяции может осуществлять интерполяцию, чтобы потенциально поддерживать непрерывность между базисными функциями (V[k]) от кадра к кадру - путем интерполяции между ними.

[78] Как упомянуто выше, интерполяцию можно осуществлять в отношении выборок. В вышеприведенном описании обобщен случай, когда подкадры содержат единичный набор выборок. В обоих случаях интерполяции по выборкам и по подкадрам, операция интерполяции может принимать форму следующего уравнения:

В вышеприведенном уравнении, интерполяцию можно осуществлять в отношении единичного V-вектора из единичного V-вектора , который в одном варианте осуществления может представлять V-векторы из соседних кадров k и k-1. В вышеприведенном уравнении l представляет разрешение, с которым осуществляется интерполяция, где l может указывать целочисленную выборку, и l=1, …, T (где T - длина выборок, по которым осуществляется интерполяция, и по которым требуются выходные интерполированные векторы , и также указывает, что выход этого процесса создает l векторов). Альтернативно, l может указывать подкадры, состоящие из множественных выборок. Когда, например, кадр делится на четыре подкадра, l может содержать значения 1, 2, 3 и 4, для каждого из подкадров. Значение l может сигнализироваться как поле под названием ʺCodedSpatialInterpolationTimeʺ посредством битового потока, благодаря чему, операция интерполяции может повторяться на декодере. может содержать значения весовых коэффициентов интерполяции. Когда интерполяция является линейной, может изменяться линейно и монотонно между 0 и 1, как функция l. В других случаях, может изменяться между 0 и 1 нелинейно, но монотонно (например, как четвертьпериод приподнятого косинуса) как функция l. Функция может индексироваться между несколькими разными возможностями функций и сигнализироваться в битовом потоке как поле под названием ʺSpatialInterpolationMethodʺ, таким образом, что идентичная операция интерполяции может повторяться декодером. Когда имеет значение, близкое к 0, выход может иметь высокий вес или определяться . В то же время, когда имеет значение, близкое к 1, это гарантирует, что выход имеет высокий вес или определяется .

[79] Блок 46 приведения коэффициентов может представлять блок, выполненный с возможностью осуществления приведение коэффициентов в отношении оставшихся векторов 53 переднего плана V[k] на основании информации 43 фонового канала для вывода приведенные векторы 55 переднего плана V[k] на блок 52 квантования. Приведенные векторы 55 переднего плана V[k] могут иметь размеры D: [(N+1)2- (NBG+1)2-BGTOT]×nFG.

[80] Блок 46 приведения коэффициентов может, в этом отношении, представлять блок, выполненный с возможностью снижения количества коэффициентов в оставшихся векторах 53 переднего плана V[k]. Другими словами, блок 46 приведения коэффициентов может представлять блок, выполненный с возможностью исключения коэффициентов векторов переднего плана V[k] (которые образуют оставшиеся векторы 53 переднего плана V[k]), имеющих мало или не имеющих информации направленности. Как описано выше, в некоторых примерах, коэффициенты характерных или, другими словами, векторов переднего плана V[k], соответствующие базисным функциям первого и нулевого порядка (которые могут быть обозначены как NBG) обеспечивают мало информации направленности и, таким образом, могут быть удалены из V-векторов переднего плана (посредством процесса, который может именоваться ʺприведение коэффициентовʺ). В этом примере, повышенная гибкость может обеспечиваться не только для идентификации этих коэффициентов, которые соответствуют NBG, но и для идентификации дополнительных каналов HOA (которые могут обозначаться переменной TotalOfAddAmbHOAChan) из набора [(NBG+1)2+1,(N+1)2]. Блок 44 анализа звукового поля может анализировать коэффициенты 11 HOA для определения BGTOT, который может идентифицировать не только (NBG+1)2, но и TotalOfAddAmbHOAChan, которые могут совместно именоваться информацией 43 фонового канала. Затем блок 46 приведения коэффициентов может удалять коэффициенты, соответствующие (NBG+1)2, и TotalOfAddAmbHOAChan из оставшихся векторов 53 переднего плана V[k] для генерации матрицы 55 V[k] меньшего размера размером ((N+1)2- (BGTOT)×nFG, которые также могут именоваться приведенными векторами 55 переднего плана V[k].

[81] Другими словами, как упомянуто в публикации № WO 2014/194099, блок 46 приведения коэффициентов может генерировать элементы синтаксиса для информации 57 побочного канала. Например, блок 46 приведения коэффициентов может указывать элемент синтаксиса в заголовке единицы доступа (который может включать в себя один или более кадров), обозначающий, какой из множества режимов конфигурации выбран. Хотя он описан как указанный на основе единиц доступа, блок 46 приведения коэффициентов может указывать элемент синтаксиса на покадровой основе или любой другой периодической основе или непериодической основе (например, один раз для всего битового потока). В любом случае, элемент синтаксиса может содержать два бита, указывающие, какой из трех режимов конфигурации был выбран для указания ненулевого набора коэффициентов приведенных векторов 55 переднего плана V[k] для представления аспектов направленности этого характерного компонента. Элемент синтаксиса может быть обозначен как ʺCodedVVecLengthʺ. Таким образом, блок 46 приведения коэффициентов может сигнализировать или иначе указывать в битовом потоке, какой из трех режимов конфигурации использовался для указания приведенных векторов 55 переднего плана V[k] в битовом потоке 21.

[82] Например, три режима конфигурации можно представлять в таблице синтаксиса для VVecData (приведенной ниже в этом документе). В этом примере, режимы конфигурации таковы: (режим 0), полная длина V-вектора передается в поле VVecData; (режим 1), элементы V-вектора, связанного с минимальным количеством коэффициентов для коэффициентов HOA окружения и все элементы V-вектора, которые включали дополнительные каналы HOA, которые не передаются; и (режим 2), элементы V-вектора, связанного с минимальным количеством коэффициентов для коэффициентов HOA окружения не передаются. Таблица синтаксиса VVecData иллюстрирует режимы совместно с операторами switch и case. Хотя они описаны в отношении трех режимов конфигурации, методы не подлежат ограничению тремя режимами конфигурации и могут включать в себя любое количество режимов конфигурации, включая единственный режим конфигурации или несколько режимов. В публикации № WO 2014/194099 приведен другой пример с четырьмя режимами. Блок 46 приведения коэффициентов также может указывать флаг 63 в качестве другого элемента синтаксиса в информации 57 побочного канала.

[83] Блок 52 квантования может представлять блок, выполненный с возможностью осуществления любой формы квантования для сжатия приведенных векторов 55 переднего плана V[k] для генерации кодированных векторов 57 переднего плана V[k], вывода кодированных векторов 57 переднего плана V[k] на блок 42 генерации битового потока. В ходе эксплуатации, блок 52 квантования может представлять блок, выполненный с возможностью сжатия пространственной компоненты звукового поля, т.е. одного или более из приведенных векторов 55 переднего плана V[k] в этом примере. Для примера, предполагается, что приведенные векторы 55 переднего плана V[k] включают в себя два вектора-строки, имеющие, в результате приведения коэффициентов, менее 25 элементов каждый (что предполагает представление HOA звукового поля четвертого порядка). Хотя описание приведено в отношении двух векторов-строк, любое количество векторов может быть включено в приведенные векторы 55 переднего плана V[k] вплоть до (n+1)2, где n обозначает порядок представления HOA звукового поля. Кроме того, хотя он описан ниже как осуществляющий скалярное и/или энтропийное квантование, блок 52 квантования может осуществлять любую форму квантования, которая приводит к сжатию приведенных векторов 55 переднего плана V[k].

[84] Блок 52 квантования может принимать приведенные векторы 55 переднего плана V[k] и осуществлять схему сжатия для генерации кодированных векторов 57 переднего плана V[k]. Схема сжатия могут предусматривать, в общем случае, любую допустимую схему сжатия для сжатия элементов вектора или данных, и не подлежат ограничению примером, более детально описанным ниже. Блок 52 квантования может осуществлять, в порядке примера, схему сжатия, которая включает в себя один или более из преобразования представлений с плавающей запятой каждого элемента приведенных векторов 55 переднего плана V[k] в целочисленные представления каждого элемента приведенных векторов 55 переднего плана V[k], однородного квантования целочисленных представлений приведенных векторов 55 переднего плана V[k] и категоризации и кодирования квантованных целочисленных представлений оставшихся векторов 55 переднего плана V[k].

[85] В некоторых примерах, несколько из одного или более процессов схемы сжатия могут динамически управляться параметрами для достижения или примерного достижения, в порядке одного примера, целевой битовой скорости 41 для результирующего битового потока 21. При условии, что каждый из приведенных векторов 55 переднего плана V[k] ортонормальны друг другу, каждый из приведенных векторов 55 переднего плана V[k] можно кодировать независимо. В некоторых примерах, как более подробно описано ниже, каждый элемент каждого из приведенных векторов 55 переднего плана V[k] можно кодировать с использованием одного и того же режима кодирования (заданного различными подрежимами).

[86] Как описано в публикации № WO 2014/194099, блок 52 квантования может осуществлять скалярное квантование и/или хаффмановское кодирование для сжатия приведенных векторов 55 переднего плана V[k], выводя кодированные векторы 57 переднего плана V[k], которые также могут именоваться информацией 57 побочного канала. Информация 57 побочного канала может включать в себя элементы синтаксиса, используемые для кодирования оставшихся векторов 55 переднего плана V[k].

[87] Кроме того, хотя они описаны в отношении формы скалярного квантования, блок 52 квантования может осуществлять векторное квантование или любой другой формы квантования. В ряде случаев, блок 52 квантования может переключаться между векторным квантованием и скалярным квантованием. В ходе вышеописанного скалярного квантования, блок 52 квантования может вычислять разность между двумя последовательными V-векторами (последовательными в смысле от кадра к кадру) и кодировать разность (или, другими словами, остаток). Это скалярное квантование может представлять форму кодирования с предсказанием на основании ранее указанного вектора и разностного сигнала. Векторное квантование не предусматривает такого кодирования разности.

[88] Другими словами, блок 52 квантования может принимать входной V-вектор (например, один из приведенных векторов 55 переднего плана V[k]) и осуществлять различные типы квантования для выбора одного из типов квантования, подлежащих использованию для входного V-вектора. Блок 52 квантования может, в порядке одного примера, осуществлять векторное квантование, скалярное квантование без хаффмановского кодирования и скалярное квантование с хаффмановским кодированием.

[89] В этом примере, блок 52 квантования может подвергать векторному квантованию входной V-вектор согласно режиму векторного квантования для генерации подвергнутого векторному квантованию V-вектора. Подвергнутый векторному квантованию V-вектор может включать в себя подвергнутые векторному квантованию весовые значения, которые представляют входной V-вектор. Подвергнутые векторному квантованию весовые значения могут, в некоторых примерах, быть представлены как один или более индексов квантования, которые указывают на кодовое слово квантования (т.е. вектор квантования) в кодовых словах квантования кодовой книги квантования. Блок 52 квантования может, будучи выполнен с возможностью осуществления векторного квантования, подвергать разложению каждый из приведенных векторов 55 переднего плана V[k] на взвешенную сумму векторов кода на основании векторов 63 кода (ʺCV 63ʺ). Блок 52 квантования может генерировать весовые значения для каждого из выбранных из векторов 63 кода.

[90] Затем блок 52 квантования может выбирать поднабор весовых значений для генерации выбранного поднабора весовых значений. Например, блок 52 квантования может выбирать Z весовых значений наибольшей величины из набора весовых значений для генерации выбранного поднабора весовых значений. В некоторых примерах, блок 52 квантования может дополнительно переупорядочивать выбранные весовые значения для генерации выбранного поднабора весовых значений. Например, блок 52 квантования может переупорядочивать выбранные весовые значения на основании величины начиная с весового значения наибольшей величины и заканчивая весовым значением наименьшей величины.

[91] При осуществлении векторного квантования, блок 52 квантования может выбирать Z-компонентный вектор из кодовой книги квантования для представления Z весовых значений. Другими словами, блок 52 квантования может подвергать векторному квантованию Z весовых значений для генерации Z-компонентного вектора, который представляет Z весовых значений. В некоторых примерах, Z может соответствовать количеству весовых значений, выбранному блоком 52 квантования для представления единичного V-вектора. Блок 52 квантования может генерировать данные, указывающие Z-компонентный вектор, выбранный для представления Z весовых значений, и сообщать эти данные блоку 42 генерации битового потока в качестве кодированных весовых коэффициентов 57. В некоторых примерах, кодовая книга квантования может включать в себя множество Z-компонентных векторов, которые проиндексированы, и данные, указывающие Z-компонентный вектор, могут быть значением индекса в кодовой книге квантования, которое указывает на выбранный вектор. В таких примерах, декодер может включать в себя аналогично индексированную кодовую книгу квантования для декодирования значения индекса.

[92] Математически, каждый из приведенных векторов 55 переднего плана V[k] может быть представлен на основании следующего выражения:

(1)

где представляет j-й кодовый вектор в наборе векторов кода (), представляет j-й весовой коэффициент в наборе весовых коэффициентов (), соответствует V-вектору, который представляется, подвергается разложению и/или кодируется блоком 52 кодирования V-вектора, и J представляет количество весовых коэффициентов и количество векторов кода, используемых для представления V. Правая сторона выражения (1) может представлять взвешенную сумму векторов кода, которая включает в себя набор весовых коэффициентов ()и набор векторов кода ().

[93] В некоторых примерах, блок 52 квантования может определять весовые значения на основании следующего уравнения:

(2)

где представляет транспонирование k-го кодового вектора в наборе векторов кода (), соответствует V-вектору, который представляется, подвергается разложению и/или кодируется блоком 52 квантования, и представляет k-й весовой коэффициент в наборе весовых коэффициентов ().

[94] Рассмотрим пример, где 25 весовых коэффициентов и 25 векторов кода используются для представления V-вектора . Такое разложение можно записать в виде:

(3)

где представляет j-й кодовый вектор в наборе векторов кода (), представляет j-й весовой коэффициент в наборе весовых коэффициентов (), и соответствует V-вектору, который представляется, подвергается разложению и/или кодируется блоком 52 квантования.

[95] В примерах, где набор векторов кода () является ортонормальным, может применять следующее выражение:

(4)

В таких примерах, правую сторону уравнения (3) можно упростить следующим образом:

(5)

где соответствует k-му весовому коэффициенту во взвешенной сумме векторов кода.

[96] Для иллюстративной взвешенной суммы векторов кода, используемых в уравнении (3), блок 52 квантования может вычислять весовые значения для каждого из весовых коэффициентов во взвешенной сумме векторов кода с использованием уравнения (5) (аналогично уравнению (2)), и результирующие весовые коэффициенты можно представить как:

(6)

Рассмотрим пример, где блок 52 квантования выбирает пять максимальных весовых значений (т.е. весовые коэффициенты с наибольшими значениями или абсолютными значениями). Поднабор весовых значений, подлежащих квантованию, может быть представлен как:

(7)

Поднабор весовых значений совместно с соответствующими ими векторами кода можно использовать для формирования взвешенной суммы векторов кода, которая оценивает V-вектор, как показано в следующем выражении:

(8)

где представляет j-й кодовый вектор в поднаборе векторов кода (), представляет j-й весовой коэффициент в поднаборе весовых коэффициентов (), и соответствует оцененному V-вектору, который соответствует V-вектору, разложенному и/или кодированному блоком 52 квантования. Правая сторона выражения (1) может представлять взвешенную сумму векторов кода, которая включает в себя набор весовых коэффициентов () и набор векторов кода ().

[97] Блок 52 квантования может квантовать поднабор весовых значений для генерации квантованных весовых значений, которые можно представить как:

(9)

Квантованные весовые значения совместно с соответствующими ими векторами кода можно использовать для формирования взвешенной суммы векторов кода, которая представляет квантованную версию оцененного V-вектора, как показано в следующем выражении:

(10)

где представляет j-й кодовый вектор в поднаборе векторов кода (), представляет j-й весовой коэффициент в поднаборе весовых коэффициентов (), и соответствует оцененному V-вектору, который соответствует V-вектору, разложенному и/или кодированному блоком 52 квантования. Правая сторона выражения (1) может представлять взвешенную сумму поднабора векторов кода, который включает в себя набор весовых коэффициентов () и набор векторов кода ().

[98] Альтернативно переформулировать вышеизложенное (что, по большей части, эквивалентно описанному выше) можно следующим образом. V-векторы можно кодировать на основании заранее заданного набора векторов кода. Для кодирования V-векторов, каждый V-вектор подвергается разложению на взвешенную сумму векторов кода. Взвешенная сумма векторов кода состоит из k пар заранее заданных векторов кода и соответствующих весовых коэффициентов:

(11)

где представляет j-й кодовый вектор в наборе заранее заданных векторов кода (), представляет j-й действительнозначный вес в наборе заранее заданных весовых коэффициентов (), соответствует индексу слагаемых, который может быть до 7, и соответствует V-вектору, который кодируется. Выбор зависит от кодера. Если кодер выбирает взвешенная сумма двух или более векторов кода, суммарное количество заранее заданных векторов кода, которое может выбирать кодер, равно (N+1)2, которые заранее заданные векторы кода выводятся как коэффициенты расширения HOA из таблиц F.3 - F.7 стандарта 3D Audio под названием ʺInformation technology - High effeciency coding and media delivery in heterogeneous environments - Part 3: 3D audioʺ, от ISO/IEC JTC 1/SC 29/WG 11, датированного 2014-07-25, и идентифицированного документом номер ISO/IEC DIS 23008-3. Когда N равно 4, используется таблица в приложении F.5 вышеупомянутого стандарта 3D Audio с 32 заранее заданными направлениями. Во всех случаях абсолютные значения весовых коэффициентов подвергаются векторному квантованию в отношении заранее заданных весовых значений , найденный в первых столбцах таблицы в таблице F.12 вышеупомянутого стандарта 3D Audio, и сигнализируются с соответствующим индексом номера строки.

[99] Знаки числа весовых коэффициентов по отдельности кодируются как:

. (12)

[100] Другими словами, после сигнализации значения , V-вектор кодируется индексами, которые указывают на заранее заданных векторов кода , один индекс, который указывает на квантованных весовых коэффициентов в заранее заданной кодовой книге взвешивания, и значений знака числа :

. (13)

Если кодер выбирает взвешенную сумму одного кодового вектора, кодовая книга, выведенная из таблицы F.8 вышеупомянутого стандарта 3D Audio используется совместно с абсолютными весовыми значениями в таблице таблицы F.11 вышеупомянутого стандарта 3D Audio, где обе эти таблицы показаны ниже. Также, знак числа весового значения можно кодировать отдельно. Блок 52 квантования может сигнализировать, какая из вышеупомянутых кодовых книг, указанных в вышеупомянутых таблицах F.3 - F.12, используются для кодирования входного V-вектора с использованием элемента синтаксиса индекса кодовой книги (который может быть обозначен ниже как ʺCodebkIdxʺ). Блок 52 квантования также может подвергать скалярному квантованию входной V-вектор для генерации выходного подвергнутого скалярному квантованию V-вектора без хаффмановского кодирования подвергнутого скалярному квантованию V-вектора. Блок 52 квантования может дополнительно подвергать скалярному квантованию входной V-вектор согласно режиму хаффмановского кодирования скалярного квантования для генерации кодированного по Хаффману подвергнутого скалярному квантованию V-вектора. Например, блок 52 квантования может подвергать скалярному квантованию входной V-вектор для генерации подвергнутого скалярному квантованию V-вектора и кодировать по Хаффману подвергнутый скалярному квантованию V-вектор для генерации выходного кодированного по Хаффману подвергнутого скалярному квантованию V-вектора.

[101] В некоторых примерах, блок 52 квантования может осуществлять в той или иной форме предсказанное векторное квантование. Блок 52 квантования может идентифицировать, предсказывается ли векторное квантование, указывая один или более битов (например, элемент синтаксиса PFlag) в битовом потоке 21, указывающих, осуществляется ли предсказание для векторного квантования (что идентифицируется одним или более битами, например, элементом синтаксиса NbitsQ, указывающим режим квантования).

[102] Для иллюстрации предсказанного векторного квантования, блок 42 квантования может быть выполнен с возможностью принимать весовые значения (например, величины весовых значений), которые соответствуют разложению на основе кодовых векторов вектора (например, V-вектора), для генерации предсказанных весовых значений на основании принятых весовых значений и на основании реконструированных весовых значений (например, реконструированных весовых значений из одного или более предыдущих или последующих кадров аудио), и подвергать векторному квантованию наборы предсказанных весовых значений. В ряде случаев, каждое весовое значение в наборе предсказанных весовых значений может соответствовать весовому значению, включенному в разложение на основе кодовых векторов единичного вектора.

[103] Блок 52 квантования может принимать весовое значение и взвешенное реконструированное весовое значение из предыдущего или последующего кодирования вектора. Блок 52 квантования может генерировать предсказанное весовое значение на основании весового значения и взвешенного реконструированного весового значения. Блок 42 квантования может вычитать взвешенное реконструированное весовое значение из весового значения для генерации предсказанного весового значения. Предсказанное весовое значение можно альтернативно именовать, например, остатком, остатком предсказания, остаточным весовым значением, разностью весовых значений, ошибкой или ошибкой предсказания.

[104] Весовое значение может быть представлено как , который является величиной (или абсолютным значением) соответствующего весового значения . Таким образом, весовое значение можно альтернативно именовать величиной весового значения или величиной весового значения. Весовое значение соответствует j-му весовому значению из упорядоченного поднабора весовых значений для i-го кадра аудио. В некоторых примерах, упорядоченный поднабор весовых значений может соответствовать поднабору весовых значений в разложении на основе кодовых векторов вектора (например, V-вектор), упорядоченному на основании величины весовых значений (например, упорядоченному от наибольшей величины до наименьшей величины).

[105] Взвешенное реконструированное весовое значение может включать в себя член , который соответствует величине (или абсолютному значению) соответствующего реконструированного весового значения . Реконструированное весовое значение соответствует j-му реконструированному весовому значению из упорядоченного поднабора реконструированных весовых значений для (i-1)-го кадра аудио. В некоторых примерах, упорядоченный поднабор (или набор) реконструированных весовых значений может генерироваться на основании квантованных предсказанных весовых значений, которые соответствуют реконструированным весовым значениям.

[106] Блок 42 квантования также включает в себя весовой коэффициент . В некоторых примерах, , и в этом случае взвешенное реконструированное весовое значение может уменьшаться до . В других примерах, . Например, может определяться на основании следующего уравнения:

,

где I соответствует количеству кадров аудио, используемых для определения . Как показано в предыдущем уравнении, весовой коэффициент, в некоторых примерах, может определяться на основании множества разных весовых значений из множества разных кадров аудио.

[107] Также будучи выполнен с возможностью осуществления предсказанного векторного квантования, блок 52 квантования может генерировать предсказанное весовое значение на основании следующего уравнения:

,

где соответствует предсказанному весовому значению для j-го весового значения из упорядоченного поднабора весовых значений для i-го кадра аудио.

[108] Блок 52 квантования генерирует квантованное предсказанное весовое значение на основании предсказанного весового значения и кодовой книги предсказанного векторного квантования (PVQ). Например, блок 52 квантования может подвергать векторному квантованию предсказанное весовое значение совместно с другими предсказанными весовыми значениями, генерируемыми для вектора, подлежащего кодированию, или для кадра, подлежащего кодированию, для генерации квантованного предсказанного весового значения.

[109] Блок 52 квантования может подвергать векторному квантованию предсказанное весовое значение 620 на основании кодовой книги PVQ. Кодовая книга PVQ может включать в себя множество M-компонентных кандидатов в векторы квантования, и блок 52 квантования может выбирать один из кандидатов в векторы квантования для представления Z предсказанных весовых значений. В некоторых примерах, блок 52 квантования может выбирать из кодовой книги PVQ кандидат в векторы квантования, который минимизирует ошибку квантования (например, минимизирует наименьшую квадратичную ошибку).

[110] В некоторых примерах, кодовая книга PVQ может включать в себя множество записей, где каждая из записей включает в себя индекс кодовой книги квантования и соответствующий M-компонентный кандидат в векторы квантования. Каждый из индексов в кодовой книге квантования может соответствовать соответствующему одному из множества M-компонентных кандидатов в векторы квантования.

[111] Количество компонент в каждом из векторов квантования может зависеть от количества весовых коэффициентов (т.е. Z), выбранных для представления единичного V-вектора. В целом, для кодовой книги с Z-компонентными кандидатами в векторы квантования, блок 52 квантования может подвергать векторному квантованию одновременно Z предсказанных весовых значений для генерации единичного квантованного вектора. Количество записей в кодовой книге квантования может зависеть от битовой скорости, используемой для векторного квантования весовых значений.

[112] Когда блок 52 квантования подвергает векторному квантованию предсказанное весовое значение, блок 52 квантования может выбирать Z-компонентный вектор из кодовой книги PVQ в качестве вектора квантования, который представляет Z предсказанных весовых значений. Квантованное предсказанное весовое значение может быть обозначено как , которое может соответствовать j-ой компоненте Z-компонентного вектора квантования для i-го кадра аудио, которая может дополнительно соответствовать подвергнутой векторному квантованию версии j-го предсказанного весового значения для i-го кадра аудио.

[113] Будучи выполнен с возможностью осуществления предсказанного векторного квантования, блок 52 квантования также может генерировать реконструированное весовое значение на основании квантованного предсказанного весового значения и взвешенного реконструированного весового значения. Например, блок 52 квантования может прибавлять взвешенное реконструированное весовое значение к квантованному предсказанному весовому значению для генерации реконструированного весового значения. Взвешенное реконструированное весовое значение может быть идентично взвешенному реконструированному весовому значению, которое описано выше. В некоторых примерах, взвешенное реконструированное весовое значение может быть взвешенной и задержанной версией реконструированного весового значения.

[114] Реконструированное весовое значение может быть представлено как , который соответствует величине (или абсолютному значению) соответствующего реконструированного весового значения . Реконструированное весовое значение соответствует j-му реконструированному весовому значению из упорядоченного поднабора реконструированных весовых значений для (i-1)-го кадра аудио. В некоторых примерах, блок 52 квантования может по отдельности кодировать данные, указывающие знак кодируемого с предсказанием весового значения, и декодер может использовать эту информацию для определения знака реконструированного весового значения.

[115] Блок 52 квантования может генерировать реконструированное весовое значение на основании следующего уравнения:

,

где соответствует квантованному предсказанному весовому значению для j-го весового значения из упорядоченного поднабора весовых значений (например, j-ой компоненты M-компонентного вектора квантования) для i-го кадра аудио, соответствует величине реконструированного весового значения для j-го весового значения из упорядоченного поднабора весовых значений для (i-1)-го кадра аудио, и соответствует весовому коэффициенту для j-го весового значения из упорядоченного поднабора весовых значений.

[116] Блок 52 квантования может генерировать задержанное реконструированное весовое значение на основании реконструированного весового значения. Например, блок 52 квантования может задерживать реконструированное весовое значение на один кадр аудио для генерации задержанного реконструированного весового значения.

[117] Блок 52 квантования также может генерировать взвешенное реконструированное весовое значение на основании задержанного реконструированного весового значения и весового коэффициента. Например, блок 52 квантования может умножать задержанное реконструированное весовое значение на весовой коэффициент для генерации взвешенного реконструированного весового значения.

[118] Аналогично, блок 52 квантования генерирует взвешенное реконструированное весовое значение на основании задержанного реконструированного весового значения и весового коэффициента. Например, блок 52 квантования может умножать задержанное реконструированное весовое значение на весовой коэффициент для генерации взвешенного реконструированного весового значения.

[119] В случае выбора Z-компонентного вектора из кодовой книги PVQ в качестве вектора квантования для Z предсказанных весовых значений, блок 52 квантования может, в некоторых примерах, кодировать индекс (из кодовой книги PVQ), который соответствует выбранному Z-компонентному вектору, вместо того, чтобы кодировать сам выбранный Z-компонентный вектор. Индекс может указывать набор квантованных предсказанных весовых значений. В таких примерах, декодер 24 может включать в себя кодовую книгу, аналогичную кодовой книге PVQ, и может декодировать индекс, указывающий квантованные предсказанные весовые значения, отображая индекс в соответствующий Z-компонентный вектор в кодовой книге декодера. Каждая из компонент в Z-компонентном векторе может соответствовать квантованному предсказанному весовому значению.

[120] Скалярное квантование вектора (например, V-вектора) может предусматривать квантование каждой из компонент вектора по отдельности и/или независимо от других компонент. Например, рассмотрим следующий иллюстративный V-вектор:

Для скалярного квантования этого иллюстративного V-вектора, каждую из компонент можно по отдельности квантовать (т.е. подвергать скалярному квантованию). Например, если шаг квантования равен 0,1, то компоненту 0,23 можно квантовать до 0,2, компоненту 0,31 можно квантовать до 0,3, и т.д. Компоненты, подвергнутые скалярному квантованию, могут совместно образовывать подвергнутый скалярному квантованию V-вектор.

[121] Другими словами, блок 52 квантования может осуществлять однородное скалярное квантование в отношении всех элементов данного одного из приведенных векторов 55 переднего плана V[k]. Блок 52 квантования может идентифицировать размер шага квантования на основании значения, которое может быть обозначено как элемент синтаксиса NbitsQ. Блок 52 квантования может динамически определять этот элемент синтаксиса NbitsQ на основании целевой битовой скорости 41. Элемент синтаксиса NbitsQ также может идентифицировать режим квантования, как упомянуто в представленной ниже таблице синтаксиса ChannelSideInfoData, идентифицируя также, в целях скалярного квантования, размер шага. Таким образом, блок 52 квантования может определять размер шага квантования как функцию этого элемента синтаксиса NbitsQ. В порядке одного примера, блок 52 квантования может определять размер шага квантования (обозначенный как ʺдельтаʺ или ʺΔʺ в этом изобретении) равным 216-NbitsQ. В этом примере, когда значение элемента синтаксиса NbitsQ равно шести, дельта равно шести, дельта равна 210, и существует 26 уровней квантования. В этом отношении, для элемента v вектора, квантованный элемент vq вектора равен [v/Δ] и -2NbitsQ-1<vq<2NbitsQ-1.

[122] Блок 52 квантования затем может осуществлять категоризацию и остаточное кодирование квантованных элементов вектора. В порядке одного примера, блок 52 квантования может, для данного квантованного элемента vq вектора, идентифицировать категорию (определяя идентификатор категории cid), которой соответствует этот элемент, с использованием следующего уравнения:

Блок 52 квантования затем может кодировать по Хаффману этот индекс категории cid, идентифицируя также знаковый бит, который указывает, имеет ли vq положительное значение или отрицательное значение. Блок 52 квантования затем может идентифицировать остаток в этой категории. В порядке одного примера, блок 52 квантования может определять этот остаток в соответствии со следующим уравнением:

Блок 52 квантования затем может блочно кодировать этот остаток cid-1 битами.

[123] Блок 52 квантования может, в некоторых примерах, выбирать разные кодовые книги Хаффмана для разных значений элемента синтаксиса NbitsQ при кодировании cid. В некоторых примерах, блок 52 квантования может обеспечивать разные таблицы хаффмановского кодирования для значений элемента синтаксиса NbitsQ 6, …, 15. Кроме того, блок 52 квантования может включать в себя пять разных кодовых книг Хаффмана для каждого из разных значений элемента синтаксиса NbitsQ в пределах 6, …, 15 для всего 50 кодовых книг Хаффмана. В этом отношении, блок 52 квантования может включать в себя множество разных кодовых книг Хаффмана для размещения кодирования cid в нескольких разных статистических контекстах.

[124] Для иллюстрации, блок 52 квантования может, для каждого из значений элемента синтаксиса NbitsQ, включать в себя первую кодовую книгу Хаффмана для кодирования элементов вектора с первого по четвертый, вторую кодовую книгу Хаффмана для кодирования элементов вектора с пятого по девятый, третью кодовую книгу Хаффмана для кодирования элементов вектора с девятого и выше. Эти первые три кодовые книги Хаффмана можно использовать, когда один из приведенных векторов 55 переднего плана V[k] подлежащий сжатию не предсказывается из последующего во времени соответствующего одного из приведенных векторов 55 переднего плана V[k] и не представляет пространственную информацию синтетического аудиообъекта (заданного, например, первоначально аудиообъектом, подвергнутым импульсно-кодовой модуляции (ИКМ)). Блок 52 квантования может дополнительно включать в себя, для каждого из значений элемента синтаксиса NbitsQ, четвертую кодовую книгу Хаффмана для кодирования одного из приведенных векторов 55 переднего плана V[k], когда этот один из приведенных векторов 55 переднего плана V[k] предсказывается из последующего во времени соответствующего одного из приведенных векторов 55 переднего плана V[k]. Блок 52 квантования также может включать в себя, для каждого из значений элемента синтаксиса NbitsQ, пятую кодовую книгу Хаффмана для кодирования одного из приведенных векторов 55 переднего плана V[k], когда этот один из приведенных векторов 55 переднего плана V[k] представляет синтетический аудиообъект. Различные кодовые книги Хаффмана можно разрабатывать для каждого из этих разных статистических контекстов, т.е. не предсказанного и не синтетического контекста, предсказанного контекста и синтетического контекста в этом примере.

[125] Нижеследующая таблица демонстрирует выбор таблицы Хаффмана и биты, подлежащие указанию в битовом потоке, чтобы блок снятия сжатия мог выбирать надлежащую таблицу Хаффмана:

Режим предсказания Информация HT Таблица HT
0 0 HT5
0 1 HT{1,2,3}
1 0 HT4
1 1 HT5

В вышеприведенной таблице, режим предсказания (ʺрежим предсказанияʺ) указывает, осуществлялось ли предсказание для текущего вектора, тогда как таблица Хаффмана (ʺинформация HTʺ) указывает дополнительную информацию кодовой книги (или таблицы) Хаффмана, используемую для выбора одной из таблиц Хаффмана с первой по пятую. Режим предсказания также может быть представленный как рассмотренный ниже элемент синтаксиса PFlag, тогда как информация HT может быть представлена рассмотренным ниже элементом синтаксиса CbFlag.

[126] Нижеследующая таблица дополнительно демонстрирует этот процесс выбора таблицы Хаффмана в различных статистических контекстах или сценариях.

Запись Синтетический
Без предсказания HT{1,2,3} HT5
С предсказанием HT4 HT5

В вышеприведенной таблице, столбец ʺзаписьʺ указывает контекст кодирования, когда вектор представляет аудиообъект, который был записан, тогда как столбец ʺсинтетическийʺ указывает контекст кодирования, когда вектор представляет синтетический аудиообъект. Строка ʺбез предсказанияʺ указывает контекст кодирования, когда предсказание не осуществляется в отношении элементов вектора, тогда как строка ʺс предсказаниемʺ указывает контекст кодирования, когда предсказание осуществляется в отношении элементов вектора. Как показано в этой таблице, блок 52 квантования выбирает HT{1, 2, 3}, когда вектор представляет записанный аудиообъект, и предсказание не осуществляется в отношении элементов вектора. Блок 52 квантования выбирает HT5, когда аудиообъект представляет синтетический аудиообъект, и предсказание не осуществляется в отношении элементов вектора. Блок 52 квантования выбирает HT4, когда вектор представляет записанный аудиообъект, и предсказание осуществляется в отношении элементов вектора. Блок 52 квантования выбирает HT5, когда аудиообъект представляет синтетический аудиообъект, и предсказание осуществляется в отношении элементов вектора.

[127] Блок 52 квантования может выбирать один из не предсказанного подвергнутого векторному квантованию V-вектора, предсказанного подвергнутого векторному квантованию V-вектора, не кодированного по Хаффману подвергнутого скалярному квантованию V-вектора и кодированного по Хаффману подвергнутого скалярному квантованию V-вектора для использования в качестве выходного квантованного с переключением V-вектора на основании любой комбинации критериев, рассмотренных в этом изобретении. В некоторых примерах, блок 52 квантования может выбирать режим квантования из набора режимов квантования, который включает в себя режим векторного квантования и один или более режимов скалярного квантования, и квантовать входной V-вектор на основании выбранного режима (или согласно ему). Затем блок 52 квантования может подавать выбранный один из не предсказанного подвергнутого векторному квантованию V-вектора (например, в отношении весовых значений или указывающих их битов), предсказанного подвергнутого векторному квантованию V-вектора (например, в отношении значений ошибки или указывающих их битов), не кодированного по Хаффману подвергнутого скалярному квантованию V-вектора и кодированного по Хаффману подвергнутого скалярному квантованию V-вектора на блок 52 генерации битового потока в качестве кодированных векторов 57 переднего плана V[k]. Блок 52 квантования также может обеспечивать элементы синтаксиса, указывающие режим квантования (например, элемент синтаксиса NbitsQ) и любые другие элементы синтаксиса, используемые для деквантования или иной реконструкции V-вектора как более подробно рассмотрено ниже в отношении примера, приведенного на фиг. 4 и 7.

[128] Блок 40 психоакустического аудиокодера, включенный в устройство 20 аудиокодирования, может представлять множественные экземпляры психоакустического аудиокодер, каждый из которых используется для кодирования отдельного аудиообъекта или канала HOA каждого из коэффициентов 47' HOA окружения с компенсацией энергии и интерполированных сигналов 49' nFG для генерации кодированных коэффициентов 59 HOA окружения и кодированных сигналов 61 nFG. Блок 40 психоакустического аудиокодера может выводить кодированные коэффициенты 59 HOA окружения и кодированные сигналы 61 nFG на блок 42 генерации битового потока.

[129] Блок 42 генерации битового потока, включенный в устройство 20 аудиокодирования представляет блок, который форматирует данные для согласования с известным форматом (который может означать формат, известный устройству декодирования), таким образом, генерируя битовый поток 21 на векторной основе. Другими словами, битовый поток 21 может представлять кодированные аудиоданные, которые были закодированы вышеописанным образом. Блок 42 генерации битового потока в некоторых примерах может представлять мультиплексор, который может принимать кодированные векторы 57 переднего плана V[k], кодированные коэффициенты 59 HOA окружения, кодированные сигналы 61 nFG и информацию 43 фонового канала. Затем блок 42 генерации битового потока может генерировать битовый поток 21 на основании кодированных векторов 57 переднего плана V[k], кодированных коэффициентов 59 HOA окружения, кодированных сигналов 61 nFG и информации 43 фонового канала. Таким образом, блок 42 генерации битового потока может указывать векторы 57 в битовом потоке 21 для получения битового потока 21, как описано ниже более подробно в отношении примера, приведенного на фиг. 7. Битовый поток 21 может включать в себя первичный или главный битовый поток и один или более битовых потоков побочных каналов.

[130] Хотя это не показано в примере, приведенном на фиг. 3, устройство 20 аудиокодирования также может включать в себя блок вывода битового потока, который переключает битовый поток, выводимый из устройства 20 аудиокодирования (например, между битовым потоком 21 на основе направления и битовым потоком 21 на векторной основе) на основании того, подлежит ли текущий кадр кодированию с использованием синтеза на основе направления или синтеза на векторной основе. Блок вывода битового потока может осуществлять переключение на основании элемента синтаксиса, выводимого блоком 26 анализа контента, указывающего, осуществлялся ли синтез на основе направления (в результате обнаружения, что коэффициенты 11 HOA сгенерированы из синтетического аудиообъекта) или осуществлялся ли синтез на векторной основе (в результате обнаружения, что коэффициенты HOA были записаны). Блок вывода битового потока может указывать правильный синтаксис заголовка для указания переключения или текущего кодирования, используемого для текущего кадра совместно с соответствующим одним из битовых потоков 21.

[131] Кроме того, как упомянуто выше, блок 44 анализа звукового поля может идентифицировать коэффициенты 47 HOA окружения BGTOT, которые могут изменяться на покадровой основе (хотя иногда BGTOT могут оставаться постоянными или одинаковыми на протяжении двух или более соседних (по времени) кадров). Изменение BGTOT может приводить к изменению коэффициентов, выраженных в приведенных векторах 55 переднего плана V[k]. Изменение BGTOT может приводить к изменению коэффициентов HOA фона (которые также могут именоваться ʺкоэффициентами HOA окруженияʺ) на покадровой основе (хотя, опять же, иногда BGTOT могут оставаться постоянными или одинаковыми на протяжении двух или более соседних (по времени) кадров). Изменения часто приводят к изменению энергии для аспектов звукового поля, выражающемуся в добавлении или удалении дополнительных коэффициентов HOA окружения и соответствующем удалении коэффициентов из или добавлении коэффициентов к приведенным векторам 55 переднего плана V[k].

[132] В результате, блок 44 анализа звукового поля может дополнительно определять, когда коэффициенты HOA окружения изменяются от кадра к кадру и генерировать флаг или другой элемент синтаксиса, указывающий изменение коэффициента HOA окружения в отношении использования для представления компонент звукового поля окружения (где изменение также может именоваться ʺпереходомʺ коэффициента HOA окружения или ʺпереходомʺ коэффициента HOA окружения). В частности, блок 46 приведения коэффициентов может генерировать флаг (который может быть обозначен как флаг AmbCoeffTransition или флаг AmbCoeffIdxTransition), передавая флаг на блок 42 генерации битового потока, что позволяет включать флаг в битовый поток 21 (возможно, как часть информации побочного канала).

[133] Блок 46 приведения коэффициентов, помимо указания флаг перехода коэффициента окружения, может также вносить изменения в генерацию приведенных векторов 55 переднего плана V[k]. В одном примере, определив, что один из коэффициентов HOA окружения находится в переходе в ходе текущего кадра, блок 46 приведения коэффициентов может указывать, коэффициент вектора (который также может именоваться ʺэлементом вектораʺ или ʺэлементовʺ) для каждого из V-векторов приведенных векторов 55 переднего плана V[k], который соответствует коэффициенту HOA окружения в переходе. Опять же, коэффициент HOA окружения в переходе можно добавлять или удалять из суммарного количества коэффициентов фона BGTOT. Поэтому результирующее изменение суммарного количества коэффициентов фона влияет на включение или не включение коэффициента HOA окружения в битовый поток и включение соответствующего элемента V-векторов для V-векторов, указанных в битовом потоке в описанных выше втором и третьем режимах конфигурации. Дополнительная информация, касающаяся того, как блок 46 приведения коэффициентов может указывать приведенные векторы 55 переднего плана V[k] для преодоления изменений энергии обеспечена в заявке США № 14/594,533, под названием ʺTRANSITIONING OF AMBIENT HIGHER_ORDER AMBISONIC COEFFICIENTSʺ, поданной 12 января 2015 г.

[134] На фиг. 4 показана блок-схема, более подробно демонстрирующая устройство 24 аудиодекодирования, показанное на фиг. 2. Как показано в примере, приведенном на фиг. 4, устройство 24 аудиодекодирования может включать в себя блок 72 извлечения, блок 90 реконструкции на основе направленности и блок 92 реконструкции на векторной основе. Хотя описанный ниже, дополнительная информация, касающаяся устройства 24 аудиодекодирования и различных аспектов снятия сжатия или иного декодирования коэффициентов HOA, доступна в международной патентной заявке, опубликованной за № WO 2014/194099, под названием ʺINTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELDʺ, поданной 29 мая 2014 г..

[135] Блок 72 извлечения может представлять блок, выполненный с возможностью приема битового потока 21 и извлечения различных кодированных версий (например, кодированной версии на основе направления или кодированной версии на векторной основе) коэффициентов 11 HOA. Блок 72 извлечения может определять из вышеупомянутого элемента синтаксиса, указывающего, кодированы ли коэффициенты 11 HOA посредством различных версий на основе направления или на векторной основе. Если осуществлялось кодирование на основе направления, блок 72 извлечения может извлекать версию на основе направления коэффициентов 11 HOA и элементы синтаксиса, связанные с этой кодированной версией (которая обозначается как информация 91 на основе направления в примере, приведенном на фиг. 4), передавая информацию 91 на основе направленности на блок 90 реконструкции на основе направления. Блок 90 реконструкции на основе направления может представлять блок, выполненный с возможностью реконструкции коэффициентов HOA в форме коэффициентов 11' HOA на основании информации 91 на основе направления. Битовый поток и размещение элементов синтаксиса в битовом потоке описаны ниже более детально в отношении примера, приведенного на фиг. 7A-7J.

[136] Когда элемент синтаксиса указывает, что коэффициенты 11 HOA были кодированы с использованием синтеза на векторной основе, блок 72 извлечения может извлекать кодированные векторы 57 переднего плана V[k] (которые могут включать в себя кодированные весовые коэффициенты 57 и/или индексы 63 или скалярно квантованные V-векторы), кодированные коэффициенты 59 HOA окружения и соответствующие аудиообъекты 61 (которые также могут именоваться кодированными сигналами 61 nFG). Каждый аудиообъект 61 соответствует одному из векторов 57. Блок 72 извлечения может передавать кодированные векторы 57 переднего плана V[k] на блок 74 реконструкции V-векторов и кодированные коэффициенты 59 HOA окружения совместно с кодированными сигналами 61 nFG на блок 80 психоакустического декодирования.

[137] Для извлечения кодированных векторов 57 переднего плана V[k], блок 72 извлечения может извлекать элементы синтаксиса в соответствии с нижеследующей таблицей синтаксиса ChannelSideInfoData (CSID).

Таблица - синтаксис ChannelSideInfoData(i)

[138] Семантика для вышеприведенной таблицы такова.

Эта полезная нагрузка поддерживает побочную информацию для i-го канала. Размер и данные полезной нагрузки зависят от типа канала.

ChannelType[i] - этот элемент сохраняет тип i-го канала, который задан в таблице 95.

ActiveDirsIds[i] - этот элемент указывает направление активного направленного сигнала с использованием индекса 900 заранее заданных, равномерно распределенных точек из приложения F.7. Кодовое слово 0 используется для сигнализации конца направленного сигнала.

PFlag[i] - флаг предсказания, используемый для хаффмановского декодирования подвергнутого скалярному квантованию V-вектора, связанного с сигналом на векторной основе i-го канала.

CbFlag[i] - флаг кодовой книги, используемый для хаффмановского декодирования подвергнутого скалярному квантованию V-вектора, связанного с сигналом на векторной основе i-го канала.

CodebkIdx[i] - сигнализирует конкретную кодовую книгу, используемую для деквантования подвергнутого векторному квантованию V-вектора, связанного с сигналом на векторной основе i -го канала.

NbitsQ[i] - этот индекс определяет таблицу Хаффмана, используемую для хаффмановского декодирования данных, связанных с сигналом на векторной основе i-го канала. Кодовое слово 5 определяет использование равномерного 8-битового деквантователя. Два MSB 00 определяет повторное использование данных NbitsQ[i], PFlag[i] и CbFlag[i] предыдущего кадра (k-1).

bA, bB - msb (bA) и второй msb (bB) поля NbitsQ[i].

uintC - кодовое слово двух оставшихся битов поля NbitsQ[i].

NumVecIndices - количество векторов, используемых для деквантования подвергнутого векторному квантованию V-вектора.

AddAmbHoaInfoChannel(i) - эта полезная нагрузка поддерживает информацию для дополнительных коэффициентов HOA окружения.

[139] В соответствии с таблицей синтаксиса CSID, блок 72 извлечения может сначала получать элемент синтаксиса ChannelType, указывающий тип канала (например, когда нулевое значение сигнализирует сигнал на основе направления, значение 1 сигнализирует сигнал на векторной основе, и значение 2 сигнализирует дополнительный сигнал HOA окружения). На основании элемента синтаксиса ChannelType, блок 72 извлечения может переключаться между тремя случаями.

[140] Фокусируясь на случае 1 для иллюстрации одного примера методов, описанных в этом изобретении, блок 72 извлечения может получать старший бит элемента синтаксиса NbitsQ (т.е. элемент синтаксиса bA в вышеприведенной иллюстративной таблице синтаксиса CSID) и второй по старшинству бит элемента синтаксиса NbitsQ (т.е. элемент синтаксиса bB в вышеприведенной иллюстративной таблице синтаксиса CSID). (k)[i] в NbitsQ(k)[i] может обозначать, что элемент синтаксиса NbitsQ получается для k-го кадра i-го транспортного канала. Элемент синтаксиса NbitsQ может представлять один или более битов, указывающих режим квантования, используемый для квантования пространственной компоненты звукового поля, представленной коэффициентами 11 HOA. Пространственная компонента также может именоваться V-вектор в этом изобретении или кодированными векторами 57 переднего плана V[k].

[141] В вышеприведенной иллюстративной таблице синтаксиса CSID, элемент синтаксиса NbitsQ может включать в себя четыре бита для указания одного из 12 режимов квантования (поскольку значение от нуля до трех для элемента синтаксиса NbitsQ зарезервированы или не используются), используемых для сжатия вектора, указанного в соответствующем поле VVecData. 12 режимов квантования включают в себя следующие, указанные ниже:

0-3: зарезервированы

4: векторное квантование

5: скалярное квантование без хаффмановского кодирования

6: 6-битовое скалярное квантование с хаффмановским кодированием

7: 7-битовое скалярное квантование с хаффмановским кодированием

8: 8-битовое скалярное квантование с хаффмановским кодированием

… …

16: 16-битовое скалярное квантование с хаффмановским кодированием

Согласно вышесказанному, значение элемента синтаксиса NbitsQ из 6-16 указывает не только, что скалярное квантование подлежит осуществлению с хаффмановским кодированием, но и размер шага квантования для скалярного квантования. В этом отношении, режим квантования может содержать режим векторного квантования, режим скалярного квантования без хаффмановского кодирования и режим скалярного квантования с хаффмановским кодированием.

[142] Возвращаясь к вышеприведенной иллюстративной таблице синтаксиса CSID, блок 72 извлечения может объединять элемент синтаксиса bA с элементом синтаксиса bB, причем это объединение может быть сложением как показано в вышеприведенной иллюстративной таблице синтаксиса CSID. Объединенный элемент синтаксиса bA/bB может представлять индикатор необходимости повторного использования, из предыдущего кадра, по меньшей мере, одного элемента синтаксиса, указывающего информацию, используемую при сжатии упомянутого вектора. Затем блок 72 извлечения сравнивает объединенный элемент синтаксиса bA/bB со значением нуль. Когда объединенный элемент синтаксиса bA/bB имеет значение нуль, блок 72 извлечения может определить, что информация режима квантования для текущего k-го кадра i-го транспортного канала (т.е. элемент синтаксиса NbitsQ, указывающий режим квантования в вышеприведенной иллюстративной таблице синтаксиса CSID) идентична информации режима квантования (k-1)-го кадра i-го транспортного канала. Другими словами, индикатор, будучи установлен на нулевое значение, указывает необходимость повторного использования, по меньшей мере, одного элемента синтаксиса из предыдущего кадра.

[143] Блок 72 извлечения аналогично определяет, что информация предсказания для текущего k-го кадра i-го транспортного канала (т.е. элемент синтаксиса PFlag, указывающий, осуществляется ли предсказание в ходе векторного квантования или скалярного квантования в примере), идентична информации предсказания (k-1)-го кадра i-го транспортного канала. Блок 72 извлечения также может определить, что информация кодовой книги Хаффмана для текущего k-го кадра i-го транспортного канала (т.е. элемент синтаксиса CbFlag, указывающий кодовую книгу Хаффмана, используемую для реконструкции V-вектора), идентична информации кодовой книги Хаффмана (k-1)-го кадра i-го транспортного канала. Блок 72 извлечения также может определить, что информация векторного квантования для текущего k-го кадра i-го транспортного канала (т.е. элемент синтаксиса CodebkIdx, указывающий кодовую книгу векторного квантования, используемую для реконструкции V-вектора, и элемент синтаксиса NumVecIndices, указывающий количество векторов кода, используемых для реконструкции V-вектора) идентична информации векторного квантования (k-1)-го кадра i-го транспортного канала.

[144] Когда объединенный элемент синтаксиса bA/bB не имеет значения нуль, блок 72 извлечения может определить, что информация режима квантования, информация предсказания, информация кодовой книги Хаффмана и информация векторного квантования для k-го кадра i-го транспортного канала не такая же, как для (k-1)-го кадра i-го транспортного канала. В результате, блок 72 извлечения может получать младшие биты элемента синтаксиса NbitsQ (т.е. элемент синтаксиса uintC в вышеприведенной иллюстративной таблице синтаксиса CSID), объединяя bA, bB и элемент синтаксиса uintC для получения элемента синтаксиса NbitsQ. Основание этого элемента синтаксиса NbitsQ блок 72 извлечения может получать либо, когда элемент синтаксиса NbitsQ сигнализирует векторное квантование, элементы синтаксиса PFlag, CodebkIdx и NumVecIndices, либо, когда элемент синтаксиса NbitsQ сигнализирует скалярное квантование с хаффмановским кодированием, элементы синтаксиса PFlag и CbFlag. Таким образом, блок 72 извлечения может извлекать вышеупомянутые элементы синтаксиса, используемые для реконструкции V-вектора, передавая эти элементы синтаксиса на блок 92 реконструкции на векторной основе.

[145] Затем блок 72 извлечения может извлекать V-вектор из k-го кадра i-го транспортного канала. Блок 72 извлечения может получать контейнер HOADecoderConfig, который включает в себя элемент синтаксиса, обозначенный CodedVVecLength. Блок 72 извлечения может синтаксически анализировать CodedVVecLength из контейнера HOADecoderConfig. Блок 72 извлечения может получать V-вектор в соответствии с нижеследующей таблицей синтаксиса VVecData.

VVec(k)[i] - V-вектор для k-го HOAframe() для i-го канала.

VvecLength - эта переменная указывает количество считываемых элементов вектора.

VvecCoeffId - этот вектор содержит индексы переданных коэффициентов V-вектора.

VecVal - целочисленное значение от 0 до 255.

aVal - временная переменная, используемая при декодировании VVectorData.

huffVal - слово кода Хаффмана, подлежащее декодированию по Хаффману.

SgnVal - это кодированное значение знака, используемое при декодировании.

intAddVal - это дополнительное целочисленное значение, используемое при декодировании.

NumVecIndices - количество векторов, используемых для деквантования подвергнутого векторному квантованию V-вектора.

WeightIdx - индекс в WeightValCdbk, используемый для деквантования подвергнутого векторному квантованию V-вектора.

nBitsW - размер поля для считывания WeightIdx для декодирования подвергнутого векторному квантованию V-вектора.

WeightValCbk - кодовая книга, которая содержит вектор положительных действительнозначных весовых коэффициентов. Необходимо только, чтобы NumVecIndices был > 1. Обеспечен WeightValCdbk с 256 записями.

WeightValPredCdbk - кодовая книга, которая содержит вектор предсказанных весовых коэффициентов. Необходимо только, чтобы NumVecIndices был > 1. Обеспечен WeightValPredCdbk с 256 записями.

WeightValAlpha - коэффициенты кодирования, которые используются для режима кодирования с предсказанием квантования V-вектора.

VvecIdx - индекс для VecDict, используемый для деквантования подвергнутого векторному квантованию V-вектора.

nbitsIdx - размер поля для считывания VvecIdx для декодирования подвергнутого векторному квантованию V-вектора.

WeightVal - действительнозначный весовой коэффициент для декодирования подвергнутого векторному квантованию V-вектора.

[146] В вышеприведенной таблице синтаксиса, блок 72 извлечения может определять, равно ли значение элемента синтаксиса NbitsQ четырем (или, другими словами, сигнализировать, что для реконструкции V-вектора используется векторное деквантование). Когда значение элемента синтаксиса NbitsQ равно четырем, блок 72 извлечения может сравнивать значение элемента синтаксиса NumVecIndices со значением единица. Когда значение NumVecIndices равно единице, блок 72 извлечения может получать элемент синтаксиса VecIdx. Элемент синтаксиса VecIdx может представлять один или более битов, указывающих индекс для VecDict, используемого для деквантования подвергнутого векторному квантованию V-вектора. Блок 72 извлечения может приписывать значение массиву VecIdx, где нулевой элемент установлен на значение элемента синтаксиса VecIdx плюс один. Блок 72 извлечения также может получать элемент синтаксиса SgnVal. Элемент синтаксиса SgnVal может представлять один или более битов, указывающих кодированное значение знака, используемое при декодировании V-вектора. Блок 72 извлечения может приписывать значение массиву WeightVal, задавая нулевой элемент как функцию значения элемента синтаксиса SgnVal.

[147] Когда значение элемента синтаксиса NumVecIndices не равно значению единица, блок 72 извлечения может получать элемент синтаксиса WeightIdx. Элемент синтаксиса WeightIdx может представлять один или более битов, указывающих индекс в массиве WeightValCdbk, используемом для деквантования подвергнутого векторному квантованию V-вектора. Массив WeightValCdbk может представлять кодовую книгу, которая содержит вектор положительных действительнозначных весовых коэффициентов. Затем блок 72 извлечения может определять nbitsIdx как функцию элемента синтаксиса NumOfHoaCoeffs, указанного в контейнере HOAConfig (указанного в порядке одного примера в начале битового потока 21). Затем блок 72 извлечения может совершать итерацию по NumVecIndices, получая элемент синтаксиса VecIdx из битового потока 21 и задавая элементы массива VecIdx с каждым полученным элементом синтаксиса VecIdx.

[148] Блок 72 извлечения не осуществляет сравнения синтаксиса следующего PFlag, которое предусматривают определение значений переменной tmpWeightVal, которые не связаны с извлечением элементов синтаксиса из битового потока 21. Таким образом, блок 72 извлечения может затем получать элемент синтаксиса SgnVal для использования при определении элемента синтаксиса WeightVal.

[149] Когда значение элемента синтаксиса NbitsQ равно пяти (сигнализируя, что для реконструкции V-вектора используется скалярное деквантование без хаффмановского декодирования), блок 72 извлечения совершает итерацию от 0 до VVecLength, присваивая переменную aVal элементу синтаксиса VecVal, полученному из битового потока 21. Элемент синтаксиса VecVal может представлять один или более битов, указывающих целое число от 0 до 255.

[150] Когда значение элемента синтаксиса NbitsQ больше или равно шести (сигнализируя, что для реконструкции V-вектора используется NbitsQ-битовое скалярное деквантование с хаффмановским декодированием), блок 72 извлечения совершает итерацию от 0 до VVecLength, получая один или более из элементов синтаксиса huffVal, SgnVal и intAddVal. Элемент синтаксиса huffVal может представлять один или более битов, указывающих слово кода Хаффмана. Элемент синтаксиса intAddVal может представлять один или более битов, указывающих дополнительные целочисленные значения, используемый при декодировании. Блок 72 извлечения может подавать эти элементы синтаксиса на блок 92 реконструкции на векторной основе.

[151] Блок 92 реконструкции на векторной основе может представлять блок, выполненный с возможностью осуществления операций, обратных описанным выше в отношении блока 27 синтеза на векторной основе, для реконструкции коэффициентов 11' HOA. Блок 92 реконструкции на векторной основе может включать в себя блок 74 реконструкции V-векторов, блок 76 пространственно-временной интерполяции, блок 78 формирования переднего плана, блок 80 психоакустического декодирования, блок 82 формирования коэффициентов HOA, блок 770 плавного изменения и блок 84 переупорядочения. Пунктирные линии блока 770 плавного изменения указывает, что блок 770 плавного изменения может быть необязательным блоком в том смысле, что он может входить в состав блока 92 реконструкции на векторной основе.

[152] Блок 74 реконструкции V-векторов может представлять блок, выполненный с возможностью реконструкции V-векторов из кодированных векторов 57 переднего плана V[k]. Блок 74 реконструкции V-векторов может действовать обратно действию блока 52 квантования.

[153] Другими словами, блок 74 реконструкции V-векторов может действовать в соответствии со следующим псевдокодом для реконструкции V-векторов:

[154] Согласно вышеприведенному псевдокоду, блок 74 реконструкции V-векторов может получать элемент синтаксиса NbitsQ для k-го кадра i-го транспортного канала. Когда элемент синтаксиса NbitsQ равен четырем (что, опять же, сигнализирует, что векторное квантование произведено), блок 74 реконструкции V-векторов может сравнивать элемент синтаксиса NumVecIndicies с единицей. Элемент синтаксиса NumVecIndicies может, как описано выше, представлять один или более битов, указывающих количество векторов, используемых для деквантования подвергнутого векторному квантованию V-вектора. Когда значение элемента синтаксиса NumVecIndicies равно единице, блок 74 реконструкции V-векторов затем может совершать итерацию от нуля до значения элемента синтаксиса VVecLength, устанавливая переменную idx на VVecCoeffId и VVecCoeffId-й элемент V-вектора () на WeightVal, умноженный на запись VecDict, идентифицированную посредством [900] [VecIdx[0]][idx]. Другими словами, когда значение NumVvecIndicies равно единице, коэффициенты расширения HOA векторной кодовое книги, выведенные из таблицы F.8 совместно с кодовой книгой 8×1 весовых значений, показанных в таблице F.11.

[155] Когда значение элемента синтаксиса NumVecIndicies не равно единице, блок 74 реконструкции V-векторов может устанавливать переменная cdbLen на O, которая является переменной, обозначающей количество векторов. Элемент синтаксиса cdbLen указывает количество записей в словаре или кодовой книге векторов кода (где этот словарь обозначен как ʺVecDictʺ в вышеприведенном псевдокоде и представляет кодовую книгу с записями кодовой книги cdbLen, содержащими векторы коэффициентов расширения HOA, используемые для декодирования подвергнутого векторному квантованию V-вектора). Когда порядок (обозначенный ʺNʺ) коэффициентов 11 HOA равен четырем, блок 74 реконструкции V-векторов может устанавливать переменную cdbLen на 32. затем блок 74 реконструкции V-векторов может совершать итерацию от нуля до O, устанавливая массив TmpVVec на нуль. В ходе этих итераций, блок 74 реконструкции V-векторов также может совершать итерацию от нуля до значения элемента синтаксиса NumVecIndices, задавая m-ую запись массива TempVVec равным j-му WeightVal, умноженному на запись [cdbLen][VecIdx[j]][m] VecDict.

[156] Блок 74 реконструкции V-векторов может выводить WeightVal согласно следующему псевдокоду:

В вышеприведенном псевдокоде, блок 74 реконструкции V-векторов может совершать итерацию от нуля до значения элемента синтаксиса NumVecIndices, сначала определяя, равно ли значение элемента синтаксиса PFlag нулю. Когда элемент синтаксиса PFlag равен нулю, блок 74 реконструкции V-векторов может определять переменную tmpWeightVal, задавая переменную tmpWeightVal равной записи [CodebkIdx][WeightIdx] кодовой книги WeightValCdbk. Когда значение элемента синтаксиса PFlag не равно нулю, блок 74 реконструкции V-векторов может устанавливать переменную tmpWeightVal равной записи [CodebkIdx][WeightIdx] кодовой книги WeightValPredCdbk плюс переменная WeightValAlpha, умноженная на tempWeightVal (k-1)-го кадра i-го транспортного канала. Переменная WeightValAlpha может означать вышеупомянутое значение альфа, которое может статически задаваться на устройствах20 и 24 аудиокодирования и аудиодекодирования. Затем блок 74 реконструкции V-векторов может получать WeightVal как функцию элемента синтаксиса SgnVal, полученного блоком 72 извлечения, и переменной tmpWeightVal.

[157] Другими словами, блок 74 реконструкции V-векторов может выводить весовое значение для каждого соответствующего кодового вектора, используемого для реконструкции V-вектора, на основании кодовой книги весовых значений (обозначенной как ʺWeightValCdbkʺ для не предсказанного векторного квантования и ʺWeightValPredCdbkʺ для предсказанного векторного квантования, которые оба могут представлять многомерную таблицу, индексированную на основании одного или более из индекса кодовой книги (обозначенного как элемент синтаксиса ʺCodebkIdxʺ в вышеприведенной таблице синтаксиса VVectorData(i)) и весового индекс (обозначенного как элемент синтаксиса ʺWeightIdxʺ в вышеприведенной таблице синтаксиса VVectorData(i))). Этот элемент синтаксиса CodebkIdx может задаваться в части информации побочного канала, как показано в нижеприведенной таблице синтаксиса ChannelSideInfoData(i).

[158] Оставшаяся часть векторного квантования вышеприведенного псевдокода относится к вычислению FNorm для нормализации элементов V-вектора, сопровождаемому вычислением элемента V-вектора () как равного TmpVVec[idx], умноженному на FNorm. Блок 74 реконструкции V-векторов может получать переменную idx как функцию для VVecCoeffID.

[159] Когда NbitsQ равно 5, осуществляется однородное 8-битовое скалярное деквантование. Напротив, значение NbitsQ, большее или равное 6, может приводить к применению хаффмановского декодирования. Вышеупомянутое значение cid может быть равно двум младшим битам значения NbitsQ. Режим предсказания обозначается в вышеприведенной таблице синтаксиса как PFlag, тогда как бит информации таблицы Хаффмана обозначается в вышеприведенной таблице синтаксиса как CbFlag. Оставшийся синтаксис указывает, как происходит декодирование, по существу, аналогично описанному выше.

[160] Блок 80 психоакустического декодирования может действовать в режиме, обратном блоку 40 психоакустического аудиокодера, показанному в примере, приведенном на фиг. 3, чтобы декодировать кодированные коэффициенты 59 HOA окружения и кодированные сигналы 61 nFG и, таким образом, генерировать коэффициенты 47' HOA окружения с компенсацией энергии и интерполированных сигналов 49' nFG (которые также могут именоваться интерполированными аудиообъектами 49' nFG). Блок 80 психоакустического декодирования может передавать коэффициенты 47' HOA окружения с компенсацией энергии на блок 770 плавного изменения и сигналы 49' nFG на блок 78 формирования переднего плана.

[161] Блок 76 пространственно-временной интерполяции может действовать аналогично описанному выше в отношении блока 50 пространственно-временной интерполяции. Блок 76 пространственно-временной интерполяции может принимать приведенные векторы 55k переднего плана V[k] и осуществлять пространственно-временную интерполяцию в отношении векторов 55k переднего плана V[k] и приведенных векторов 55k-1 переднего плана V[k-1] для генерации интерполированных векторов 55k'' переднего плана V[k]. Блок 76 пространственно-временной интерполяции может пересылать интерполированные векторы 55k'' переднего плана V[k] на блок 770 плавного изменения.

[162] Блок 72 извлечения также может выводить сигнал 757, указывающий, когда один из коэффициентов HOA окружения находится в переходе, на блок 770 плавного изменения, который может затем определять, какой из SHCBG 47' (где SHCBG 47' также может быть обозначен как ʺканалы 47' HOA окруженияʺ или ʺкоэффициенты 47' HOA окруженияʺ) и элементов интерполированных векторов 55k'' переднего плана V[k] подлежат плавному увеличению или плавному уменьшению. В некоторых примерах, блок 770 плавного изменения может действовать противоположно в отношении каждого из коэффициентов 47' HOA окружения и элементов интерполированных векторов 55k'' переднего плана V[k]. Таким образом, блок 770 плавного изменения может осуществлять плавное увеличение или плавное уменьшение или оба плавное увеличение и плавное уменьшение в отношении соответствующего одного из коэффициентов 47' HOA окружения, осуществляя плавное увеличение или плавное уменьшение или оба плавное увеличение и плавное уменьшение, в отношении соответствующего одного из элементов интерполированных векторов 55k'' переднего плана V[k]. Блок 770 плавного изменения может выводить отрегулированные коэффициенты 47'' HOA окружения на блок 82 формирования коэффициентов HOA и отрегулированные векторы 55k''' переднего плана V[k] на блок 78 формирования переднего плана. В этом отношении, блок 770 плавного изменения представляет блок, выполненный с возможностью осуществления операции плавного изменения в отношении различных аспектов коэффициентов HOA или их производных, например, в форме коэффициентов 47' HOA окружения и элементов интерполированных векторов 55k'' переднего плана V[k].

[163] Блок 78 формирования переднего плана может представлять блок, выполненный с возможностью осуществления матричного умножения в отношении отрегулированных векторов 55k''' переднего плана V[k] и интерполированных сигналов 49' nFG для генерации коэффициентов 65 HOA переднего плана. В этом отношении, блок 78 формирования переднего плана может объединять аудиообъекты 49' (что является другим вариантом обозначения интерполированных сигналов 49' nFG) с векторами 55k''' для реконструкции переднеплановых или, другими словами, преобладающих аспектов коэффициентов 11 HOA'. Блок 78 формирования переднего плана может осуществлять матричное умножение интерполированных сигналов 49' nFG на отрегулированные векторы 55k''' переднего плана V[k].

[164] Блок 82 формирования коэффициентов HOA может представлять блок, выполненный с возможностью объединения коэффициентов 65 HOA переднего плана с отрегулированными коэффициентами 47'' HOA окружения для получения коэффициентов 11' HOA. Обозначение прим отражает тот факт, что коэффициенты 11' HOA могут быть аналогичны, но не идентичны коэффициентам 11 HOA. Разности между коэффициентами 11 и 11' HOA могут быть обусловлены потерями вследствие передачи по средам передачи с потерями, квантования или других операций с потерями.

[165] На фиг. 5A показана блок-схема операций, демонстрирующая работу устройства аудиокодирования, например, устройства 20 аудиокодирования, показанного в примере, приведенном на фиг. 3, при осуществлении различных аспектов методов синтеза на векторной основе, описанных в этом изобретении. Первоначально устройство 20 аудиокодирования принимает коэффициенты 11 HOA (106). Устройство 20 аудиокодирования может вызывать блок 30 LIT, который может применять LIT в отношении коэффициентов HOA для вывода преобразованных коэффициентов HOA (например, в случае SVD, преобразованные коэффициенты HOA могут содержать векторы 33 US[k] и векторы 35 V[k]) (107).

[166] Затем устройство 20 аудиокодирования может вызывать блок 32 вычисления параметров для осуществления вышеописанного анализа в отношении любой комбинации векторов 33 US[k], векторов 33 US[k-1], векторов 35 V[k] и/или V[k-1] для идентификации различных параметров вышеописанным образом. Таким образом, блок 32 вычисления параметров может определять, по меньшей мере, один параметр на основании анализа преобразованных коэффициентов 33/35 HOA (108).

[167] Затем устройство 20 аудиокодирования может вызывать блок 34 переупорядочения, который может переупорядочивать преобразованные коэффициенты HOA (которые, опять же, в контексте SVD, могут означать векторы 33 US[k] и векторы 35 V[k]) на основании параметра для генерации переупорядоченных преобразованных коэффициентов 33'/35' HOA (или, другими словами, векторов 33' US[k] и векторов 35' V[k]), как описано выше (109). Устройство 20 аудиокодирования может, при выполнении любой из вышеприведенных операций или последующих операций, также вызывать блок 44 анализа звукового поля. Блок 44 анализа звукового поля может, как описано выше, осуществлять анализ звукового поля в отношении коэффициентов 11 HOA и/или преобразованных коэффициентов 33/35 HOA для определения суммарного количества каналов 45 переднего плана (nFG), порядка фонового звукового поля (NBG) и количества (nBGa) и индексов (i) дополнительных каналов HOA BG для отправки (которые могут совместно обозначаться как информация 43 фонового канала в примере, приведенном на фиг. 3) (109).

[168] Устройство 20 аудиокодирования может также вызывать блок 48 выбора фона. Блок 48 выбора фона может определять коэффициенты 47 HOA фона или окружения на основании информации 43 фонового канала (110). Устройство 20 аудиокодирования может дополнительно вызывать блок 36 выбора переднего плана, который может выбирать те из переупорядоченных векторов 33' US[k] и переупорядоченных векторов 35' V[k], которые представляют компоненты переднего плана или характерные компоненты звукового поля на основании nFG 45 (который может представлять один или более индексов, идентифицирующих векторы переднего плана) (112).

[169] Устройство 20 аудиокодирования может вызывать блок 38 компенсации энергии. Блок 38 компенсации энергии может осуществлять компенсацию энергии в отношении коэффициентов 47 HOA окружения для компенсации потери энергии вследствие удаления различных коэффициентов HOA блоком 48 выбора фона (114) и, таким образом, генерировать коэффициенты 47' HOA окружения с компенсацией энергии.

[170] Устройство 20 аудиокодирования также может вызывать блок 50 пространственно-временной интерполяции. Блок 50 пространственно-временной интерполяции может осуществлять пространственно-временную интерполяцию в отношении переупорядоченных преобразованных коэффициентов 33'/35' HOA для получения интерполированных сигналов 49' переднего плана (которые также могут именоваться ʺинтерполированными сигналами 49' nFGʺ) и оставшейся информации 53 направленности переднего плана (которая также может именоваться ʺвекторами 53ʺ V[k]) (116). Затем устройство 20 аудиокодирования может вызывать блок 46 приведения коэффициентов. Блок 46 приведения коэффициентов может осуществлять приведение коэффициентов в отношении оставшихся векторов 53 переднего плана V[k] на основании информации 43 фонового канала для получения сокращенной информации 55 направленности переднего плана (которая также может именоваться приведенными векторами 55 переднего плана V[k]) (118).

[171] Затем устройство 20 аудиокодирования может вызывать блок 52 квантования для сжатия, вышеописанным образом, приведенных векторов 55 переднего плана V[k] и генерации кодированных векторов 57 переднего плана V[k] (120).

[172] Устройство 20 аудиокодирования может также вызывать блок 40 психоакустического аудиокодера. Блок 40 психоакустического аудиокодера может психоакустически кодировать каждый вектор коэффициентов 47' HOA окружения с компенсацией энергии и интерполированных сигналов 49' nFG для генерации кодированных коэффициентов 59 HOA окружения и кодированных сигналов 61 nFG. Затем устройство аудиокодирования может вызывать блок 42 генерации битового потока. Блок 42 генерации битового потока может генерировать битовый поток 21 на основании кодированной информации 57 направленности переднего плана, кодированных коэффициентов 59 HOA окружения, кодированных сигналов 61 nFG и информации 43 фонового канала.

[173] На фиг. 5B показана блок-схема операций, демонстрирующая работу устройства аудиокодирования при осуществлении методов кодирования, описанных в этом изобретении. Блок 42 генерации битового потока устройства 20 аудиокодирования, показанный в примере, приведенном на фиг. 3, может представлять один пример блока, выполненного с возможностью осуществления методов, описанных в этом изобретении. Блок 42 генерации битового потока может определять, идентичен ли режим квантования кадра режиму квантования предыдущего во времени кадра (который может быть обозначен как ʺвторой кадрʺ) (314). Хотя они описаны в отношении предыдущего кадра, методы можно осуществлять в отношении последующих во времени кадров. Кадр может включать в себя часть одного или более транспортных каналов. Часть транспортного канала может включать в себя ChannelSideInfoData (сформированный в соответствии с таблицей синтаксиса ChannelSideInfoData) совместно с некоторой полезной нагрузкой (например, полями VVectorData 156 в примере, приведенном на фиг. 7). Другие примеры полезной нагрузки могут включать в себя поля AddAmbientHOACoeffs.

[174] Когда режимы квантования идентичны (ʺдаʺ 316), блок 42 генерации битового потока может указывать часть режима квантования в битовом потоке 21 (318). Часть режима квантования может включать в себя элемент синтаксиса bA и элемент синтаксиса bB, но не элемент синтаксиса uintC. Элемент синтаксиса bA может представлять бит, указывающий старший бит элемента синтаксиса NbitsQ. Элемент синтаксиса bB может представлять бит, указывающий второй по старшинству бит элемента синтаксиса NbitsQ. Блок 42 генерации битового потока может устанавливать значение каждого из элемента синтаксиса bA и элемента синтаксиса bB на нуль, тем самым сигнализируя, что поле режима квантования в битовом потоке 21 (т.е. поле NbitsQ в порядке одного примера) не включает в себя элемент синтаксиса uintC. Эта сигнализация нулевого значения элемента синтаксиса bA и элемента синтаксиса bB также указывает, что значение NbitsQ, значение PFlag, значение CbFlag и значение CodebkIdx из предыдущего кадра подлежат использованию как соответствующие значения для одних и тех же элементов синтаксиса текущего кадра.

[175] Когда режимы квантования не идентичны (ʺнетʺ 316), блок 42 генерации битового потока может указывать один или более битов, указывающих весь режим квантования в битовом потоке 21 (320). Таким образом, блок 42 генерации битового потока указывает элементы синтаксиса bA, bB и uintC в битовом потоке 21. Блок 42 генерации битового потока также может указывать информация квантования на основании режима квантования (322). Эта информация квантования может включать в себя любую информацию, относящуюся к квантованию, например, информацию векторного квантования, информацию предсказания и информацию кодовой книги Хаффмана. Информация векторного квантования может включать в себя, в порядке одного примера, один или оба из элемента синтаксиса CodebkIdx и элемента синтаксиса NumVecIndices. Информация предсказания может включать в себя, в порядке одного примера, элемент синтаксиса PFlag. Информация кодовой книги Хаффмана может включать в себя, в порядке одного примера, элемент синтаксиса CbFlag.

[176] В этом отношении, методы могут предусматривать, что устройство 20 аудиокодирования выполнено с возможностью получения битового потока 21, содержащего сжатую версию пространственной компоненты звукового поля. Пространственная компонента может генерироваться путем осуществления векторного синтеза в отношении множества коэффициентов сферических гармоник. Битовый поток может дополнительно содержать индикатор необходимости повторного использования одного или более битов поля заголовка, из предыдущего кадра, где указана информация, используемая при сжатии пространственной компоненты.

[177] Другими словами, методы могут предусматривать, что устройство 20 аудиокодирования выполнено с возможностью получения битового потока 21, содержащего вектор 57, представляющий ортогональную пространственную ось в области сферических гармоник. Битовый поток 21 дополнительно может содержать индикатор (например, элементы синтаксиса bA/bB элемента синтаксиса NbitsQ) необходимости повторного использования, из предыдущего кадра, по меньшей мере, одного элемента синтаксиса, указывающего информацию, используемую при сжатии (например, квантовании) вектора.

[178] На фиг. 6A показана блок-схема операций, демонстрирующая работу устройства аудиодекодирования, например, устройства 24 аудиодекодирования, показанного на фиг. 4, при осуществлении различных аспектов методов, описанных в этом изобретении. Первоначально, устройство 24 аудиодекодирования может принимать битовый поток 21 (130). После приема битового потока, устройство 24 аудиодекодирования может вызывать блок 72 извлечения. Предполагая в целях рассмотрения, что битовый поток 21 указывает, что реконструкция на векторной основе подлежит осуществлению, блок 72 извлечения может синтаксически анализировать битовый поток для извлечения вышеупомянутой информации, передавая информацию на блок 92 реконструкции на векторной основе.

[179] Другими словами, блок 72 извлечения может извлекать кодированную информацию 57 направленности переднего плана (которая, опять же, также может именоваться кодированными векторами 57 переднего плана V[k]), кодированные коэффициенты 59 HOA окружения и кодированные сигналы переднего плана (которые также могут именоваться кодированными сигналами 59 nFG переднего плана или кодированными аудиообъектами 59 переднего плана) из битового потока 21 вышеописанным образом (132).

[180] Устройство 24 аудиодекодирования может дополнительно вызывать блок 74 деквантования. Блок 74 деквантования может энтропийно декодировать и деквантовать кодированную информацию 57 направленности переднего плана для получения сокращенной информации 55k направленности переднего плана (136). Устройство 24 аудиодекодирования также может вызывать блок 80 психоакустического декодирования. Блок 80 психоакустического аудиодекодирования может декодировать кодированные коэффициенты 59 HOA окружения и кодированные сигналы 61 переднего плана для получения коэффициентов 47' HOA окружения с компенсацией энергии и интерполированных сигналов 49' переднего плана (138). Блок 80 психоакустического декодирования может передавать коэффициенты 47' HOA окружения с компенсацией энергии на блок 770 плавного изменения и сигналы 49' nFG на блок 78 формирования переднего плана.

[181] Затем устройство 24 аудиодекодирования может вызывать блок 76 пространственно-временной интерполяции. Блок 76 пространственно-временной интерполяции может принимать переупорядоченную информацию 55k' направленности переднего плана и осуществлять пространственно-временную интерполяцию в отношении сокращенной информации 55k/55k-1 направленности переднего плана для генерации интерполированной информации 55k'' направленности переднего плана (140). Блок 76 пространственно-временной интерполяции может пересылать интерполированные векторы 55k'' переднего плана V[k] на блок 770 плавного изменения.

[182] Устройство 24 аудиодекодирования может вызывать блок 770 плавного изменения. Блок 770 плавного изменения может принимать или иным образом получать элементы синтаксиса (например, от блока 72 извлечения), указывающие, когда коэффициенты 47' HOA окружения с компенсацией энергии находятся в переходе (например, элемент синтаксиса AmbCoeffTransition). Блок 770 плавного изменения может, на основании переходных элементов синтаксиса и поддерживаемой переходной информации состояния, плавно увеличивать или плавно уменьшать коэффициенты 47' HOA окружения с компенсацией энергии, выводя отрегулированные коэффициенты 47'' HOA окружения на блок 82 формирования коэффициентов HOA. Блок 770 плавного изменения также может, на основании элементов синтаксиса и поддерживаемой переходной информации состояния, плавно уменьшать или плавно увеличивать соответствующие один или более элементов интерполированных векторов 55k'' переднего плана V[k], выводя отрегулированные векторы 55k''' переднего плана V[k] на блок 78 формирования переднего плана (142).

[183] Устройство 24 аудиодекодирования может вызывать блок 78 формирования переднего плана. Блок 78 формирования переднего плана может осуществлять матричное умножение сигналов 49' nFG на отрегулированную информацию 55k''' направленности переднего плана для получения коэффициентов 65 HOA переднего плана (144). Устройство 24 аудиодекодирования также может вызывать блок 82 формирования коэффициентов HOA. Блок 82 формирования коэффициентов HOA может складывать коэффициенты 65 HOA переднего плана с отрегулированными коэффициентами 47'' HOA окружения для получения коэффициентов 11' HOA (146).

[184] На фиг. 6B показана блок-схема операций, демонстрирующая работу устройства аудиодекодирования при осуществлении методов кодирования, описанных в этом изобретении. Блок 72 извлечения устройства 24 аудиокодирования, показанного в примере, приведенном на фиг. 4, может представлять один пример блока, выполненного с возможностью осуществления методов, описанных в этом изобретении. Блок 72 извлечения битового потока может получать биты, указывающие, идентичен ли режим квантования кадра режиму квантования предыдущего во времени кадра (который может быть обозначен как ʺвторой кадрʺ) (362). Опять же, хотя они описаны в отношении предыдущего кадра, методы можно осуществлять в отношении последующих во времени кадров.

[185] Когда режимы квантования идентичны (ʺдаʺ 364), блок 72 извлечения может получать часть режима квантования из битового потока 21 (366). Часть режима квантования может включать в себя элемент синтаксиса bA и элемент синтаксиса bB, но не элемент синтаксиса uintC. Блок 42 извлечения также может устанавливать значение NbitsQ, значение PFlag, значение CbFlag, значение CodebkIdx и значение NumVertIndices для текущего кадра идентичными значению NbitsQ, значению PFlag, значению CbFlag, значению CodebkIdx и значению NumVertIndices, установленным для предыдущего кадра (368).

[186] Когда режимы квантования не идентичны (ʺнетʺ 364), блок 72 извлечения может получать один или более битов, указывающих весь режим квантования из битового потока 21. Таким образом, блок 72 извлечения получает элементы синтаксиса bA, bB и uintC из битового потока 21 (370). Блок 72 извлечения также может получать один или более битов, указывающих информации квантования на основании режима квантования (372). Как упомянуто выше в отношении фиг. 5B, информация квантования может включать в себя любую информацию, относящуюся к квантованию, например, информацию векторного квантования, информацию предсказания и информацию кодовой книги Хаффмана. Информация векторного квантования может включать в себя, в порядке одного примера, один или оба из элемента синтаксиса CodebkIdx и элемента синтаксиса NumVecIndices. Информация предсказания может включать в себя, в порядке одного примера, элемент синтаксиса PFlag. Информация кодовой книги Хаффмана может включать в себя, в порядке одного примера, элемент синтаксиса CbFlag.

[187] В этом отношении, методы могут предусматривать, что устройство 24 аудиодекодирования выполнено с возможностью получения битового потока 21, содержащего сжатую версию пространственной компоненты звукового поля. Пространственная компонента может генерироваться путем осуществления векторного синтеза в отношении множества коэффициентов сферических гармоник. Битовый поток может дополнительно содержать индикатор необходимости повторного использования одного или более битов поля заголовка, из предыдущего кадра, где указана информация, используемая при сжатии пространственной компоненты.

[188] Другими словами, методы могут предусматривать, что устройство 24 аудиодекодирования выполнено с возможностью получения битового потока 21, содержащего вектор 57, представляющий ортогональную пространственную ось в области сферических гармоник. Битовый поток 21 дополнительно может содержать индикатор (например, элементы синтаксиса bA/bB элемента синтаксиса NbitsQ) необходимости повторного использования, из предыдущего кадра, по меньшей мере, одного элемента синтаксиса, указывающего информацию, используемую при сжатии (например, квантовании) вектора.

[189] На фиг. 7 показана схема, демонстрирующая иллюстративные кадры 249S и 249T, указанные в соответствии с различными аспектами методов, описанных в этом изобретении. Как показано в примере, приведенном на фиг. 7, кадр 249S включает в себя поля 154A-154D ChannelSideInfoData (CSID), поля HOAGainCorrectionData (HOAGCD), поля 156A и 156B VVectorData и поля HOAPredictionInfo. Поле 154A CSID включает в себя элемент синтаксиса 267 uintC (ʺuintCʺ), установленный на значение 10, элемент синтаксиса 266 bB (ʺbBʺ), установленный на значение 1, и элемент синтаксиса 265 bA (ʺbAʺ), установленный на значение 0 совместно с элементом синтаксиса 269 ChannelType (ʺChannelTypeʺ) установленным на значение 01.

[190] Элемент синтаксиса 267 uintC, элемент синтаксиса 266 bB и элемент синтаксиса 265 bA совместно образуют элемент синтаксиса 261 NbitsQ с элементом синтаксиса 265 bA, образующим старший бит, элементом синтаксиса 266 bB, образующим второй по старшинству бит, и элементом синтаксиса 267 uintC, образующим младшие биты элемента синтаксиса 261 NbitsQ. Элемент синтаксиса 261 NbitsQ может, как упомянуто выше, представлять один или более битов, указывающих режим квантования (например, один из режима векторного квантования, режима скалярного квантования без хаффмановского кодирования и режима скалярного квантования с хаффмановским кодированием), используемый для кодирования аудиоданных с амбиофонией более высокого порядка.

[191] Элемент синтаксиса 154A CSID также включает в себя элемент синтаксиса 300 PFlag и элемент синтаксиса 302 CbFlag упомянутые выше в различных таблицах синтаксиса. Элемент синтаксиса 300 PFlag может представлять один или более битов, указывающих, предсказывается ли кодированный элемент пространственной компоненты звукового поля, представленный коэффициентами 11 HOA (где, опять же, пространственная компонента может означать V-вектор) первого кадра 249S из второго кадра (например, предыдущего кадра в этом примере). Элемент синтаксиса 302 CbFlag может представлять один или более битов, указывающих информацию кодовой книги Хаффмана, которые могут идентифицировать, какую из кодовых книг Хаффмана (или, другими словами, таблиц) использовать для кодирования элементов пространственной компоненты (или, другими словами, элементов V-вектора).

[192] Поле 154B CSID включает в себя элемент синтаксиса 266 bB и элемент синтаксиса bB 265 совместно с элементом синтаксиса ChannelType 269, каждый из которых установлен на соответствующие значения 0 и 0 и 01 в примере, приведенном на фиг. 7. Каждое из полей 154C и 154D CSID включает в себя поле 269 ChannelType, имеющее значение 3 (112). Каждое из полей 154A-154D CSID соответствует соответствующему одному из транспортных каналов 1, 2, 3 и 4. Фактически, каждое поле 154A-154D CSID указывает, является ли соответствующая полезная нагрузка сигналами на основе направления (когда соответствующий ChannelType равен нулю), сигналами на векторной основе (когда соответствующий ChannelType равен единице), дополнительным коэффициентом HOA окружения (когда соответствующий ChannelType равен двум), или пустым (когда ChannelType равен трем).

[193] В примере, приведенном на фиг. 7, кадр 249S включает в себя два сигнала на векторной основе (при условии, что элементы синтаксиса 269 ChannelType равны 1 в полях 154A и 154B CSID) и два пустых (при условии, что ChannelType 269 равен 3 в полях 154C и 154D CSID). Кроме того, устройство 20 аудиокодирования применяло предсказание как указано элементом синтаксиса 300 PFlag, установленным на единицу. Опять же, предсказание, как указано элементом синтаксиса 300 PFlag, относится к указанию режима предсказания, указывающему, осуществлялось ли предсказание в отношении соответствующего одного из сжатых пространственных компонентов v1-vn. Когда элемент синтаксиса 300 PFlag задан равным единице, устройство 20 аудиокодирования может использовать предсказание, беря разность между, для скалярного квантования, элемента вектора из предыдущего кадра с соответствующим элементом вектора текущего кадра или, для векторного квантования, разность между весом из предыдущего кадра с соответствующим весом текущего кадра.

[194] Устройство 20 аудиокодирования также определило, что значение для элемента синтаксиса 261 NbitsQ для поля 154B CSID второго транспортного канала в кадре 249S идентично значению элемента синтаксиса 261 NbitsQ для поля 154B CSID второго транспортного канала предыдущего кадра, например кадра 249T в примере, приведенном на фиг. 7. В результате, устройство 20 аудиокодирования указало значение нуль для каждого из элемента синтаксиса 265 bA и элемента синтаксиса 266 bB для сигнализации, что значение элемента синтаксиса 261 NbitsQ второго транспортного канала в предыдущем кадре 249T повторно используется для элемента синтаксиса 261 NbitsQ второго транспортного канала в кадре 249S. В результате, устройство 20 аудиокодирования может избегать указания элемента синтаксиса 267 uintC для второго транспортного канала в кадре 249S совместно с другим элементом синтаксиса, идентифицированным выше.

[195] На фиг. 8 показана схема, демонстрирующая иллюстративные кадры для одного или более каналов, по меньшей мере, одного битового потока в соответствии с описанными здесь методами. Битовый поток 450 включает в себя кадры 810A-810H, каждый из которых может включать в себя один или более каналов. Битовый поток 450 может быть одним примером битового потока 21, показанного в примере, приведенном на фиг. 7. В примере, приведенном на фиг. 8, устройство 24 аудиодекодирования поддерживает информацию состояния, обновляя информацию состояния для определения, как декодировать текущий кадр k. Устройство 24 аудиодекодирования может использовать информацию состояния из конфигурации 814 и кадров 810B-810D.

[196] Другими словами, устройство 20 аудиокодирования может включать в себя, в блоке 42 генерации битового потока, например, конечный автомат 402, который поддерживает информацию состояния для кодирования каждого из кадров 810A-810E, в которых блок 42 генерации битового потока может указывать элементы синтаксиса для каждого из кадров 810A-810E на основании конечного автомата 402.

[197] Устройство 24 аудиодекодирования может аналогично включать в себя, в блоке 72 извлечения битового потока, например, аналогичный конечный автомат 402, который выводит элементы синтаксиса (некоторые из которых явно не указаны в битовом потоке 21) на основании конечного автомата 402. Конечный автомат 402 устройства 24 аудиодекодирования может действовать аналогично конечному автомату 402 устройства 20 аудиокодирования. Таким образом, конечный автомат 402 устройства 24 аудиодекодирования может поддерживать информацию состояния, обновляя информацию состояния на основании конфигурации 814 и, в примере, приведенном на фиг. 8, декодирования кадров 810B-810D. На основании информации состояния, блок 72 извлечения битового потока может извлекать кадр 810E на основании информации состояния, поддерживаемой конечным автоматом 402. Информация состояния может обеспечивать несколько неявных элементов синтаксиса, которые устройство 20 аудиокодирования может использовать при декодировании различных транспортных каналов кадра 810E.

[198] Вышеупомянутые методы можно осуществлять в отношении любого количества разных контекстов и аудио-экосистем. Ниже описано несколько иллюстративных контекстов, хотя методы не подлежат ограничению иллюстративными контекстами. Одна иллюстративная аудио-экосистема может включать в себя аудиоконтент, киностудии, музыкальные студии, студии записи звукового сопровождения игр, аудиоконтент на основе каналов, машины кодирования, игровые аудиостемы, машины игрового аудиокодирования/воспроизведения и системы доставки.

[199] Киностудии, музыкальные студии и студии записи звукового сопровождения игр могут принимать аудиоконтент. В некоторых примерах, аудиоконтент может представлять выход захвата. Киностудии могут выводить аудиоконтент на основе каналов (например, в 2.0, 5.1 и 7.1), например, с использованием рабочей станции цифрового аудио (DAW). Музыкальные студии могут выводить аудиоконтент на основе каналов (например, в 2.0 и 5.1), например, с использованием DAW. В любом случае, машины кодирования могут принимать и кодировать аудиоконтент на основе каналов на базе одного или более кодеков (например, AAC, AC3, Dolby True HD, Dolby Digital Plus и DTS Master Audio) для вывода системами доставки. Студии записи звукового сопровождения игр могут выводить один или более игровых аудиостемов, например, с использованием DAW. Машины игрового аудиокодирования/воспроизведения могут кодировать и/или воспроизводить аудиостемы в аудиоконтент на основе каналов для вывода системами доставки. Другой иллюстративный контекст, в котором можно осуществлять методы, содержит аудио-экосистему, которая может включать в себя аудиообъекты широковещательной записи, профессиональные аудиосистемы, потребительский захват на устройстве, аудиоформат HOA, воспроизведение на устройстве, потребительское аудио, TV и вспомогательные устройства, и автомобильные аудиосистемы.

[200] Аудиообъекты широковещательной записи, профессиональные аудиосистемы и потребительский захват на устройстве могут кодировать свой выходной сигнал с использованием аудиоформата HOA. Таким образом, аудиоконтент можно кодировать с использованием аудиоформата HOA в единое представление, которое может проигрываться с использованием воспроизведения на устройстве, потребительского аудио, TV и вспомогательных устройств, и автомобильных аудиосистем. Другими словами, единое представление аудиоконтента может проигрываться на универсальной системе проигрывания аудиосигнала (т.е., в отличие от требующей конкретной конфигурации, например, 5.1, 7.1 и т.д.), например, системы 16 проигрывания аудиосигнала.

[201] Другие примеры контекста, в котором можно осуществлять методы, включают в себя аудио-экосистему, которая может включать в себя элементы захвата и элементы проигрывания. Элементы захвата могут включать в себя проводные и/или беспроводные устройства захвата (например, собственные микрофоны), захват объемного звука на устройстве, и мобильные устройства (например, смартфоны и планшеты). В некоторых примерах, проводные и/или беспроводные устройства захвата могут быть подключены к мобильному устройству по проводному(ым) и/или беспроводному(ым) каналу(ам) связи.

[202] В соответствии с одним или более методами этого изобретения, мобильное устройство можно использовать для захвата звукового поля. Например, мобильное устройство может захватывать звуковое поле посредством проводных и/или беспроводных устройств захвата и/или захвата объемного звука на устройстве (например, множества микрофонов, встроенных в мобильное устройство). Затем мобильное устройство может кодировать захваченное звуковое поле в коэффициенты HOA для проигрывания одним или более из элементов проигрывания. Например, пользователь мобильного устройства может записывать (захватывать звуковое поле) живого события (например, встречи, конфигурации, игры, концерта и т.д.), и кодировать запись в коэффициенты HOA.

[203] Мобильное устройство также может использовать один или более из элементов проигрывания для проигрывания кодированного звукового полосы HOA. Например, мобильное устройство может декодировать кодированное звуковое поле HOA и выводить сигнал на один или более из элементов проигрывания, что побуждает один или более из элементов проигрывания воссоздавать звуковое поле. В порядке одного примера, мобильное устройство может использовать проводные и/или беспроводные каналы связи для вывода сигнала на один или более громкоговорителей (например, решетки громкоговорителей, звуковые панели и т.д.). В порядке другого примера, мобильное устройство может использовать решения стыковки для вывода сигнала на одну или более стыковочных станций и/или один или более пристыкованных громкоговорителей (например, акустических систем в интеллектуальных автомобилях и/или домах). В порядке другого примера, мобильное устройство может использовать воспроизведение с помощью головных телефонов для вывода сигнала на комплект головных телефонов, например, для создания реалистического стереофонический звука.

[204] В некоторых примерах, конкретное мобильное устройство может, как захватывать 3D звуковое поле, так и проигрывать то же самое 3D звуковое поле в более позднее время. В некоторых примерах, мобильное устройство может захватывать 3D звуковое поле, кодировать 3D звуковое поле в HOA и передавать кодированное 3D звуковое поле на одно или более других устройств (например, другие мобильные устройства и/или другие немобильные устройства) для проигрывания.

[205] Еще один контекст, в котором можно осуществлять методы, включает в себя аудио-экосистему, которая может включать в себя аудиоконтент, игровые студии, кодированный аудиоконтент, машины воспроизведения и системы доставки. В некоторых примерах, игровые студии могут включать в себя одну или более DAW, которые могут поддерживать редактирование сигналов HOA. Например, одна или более DAW могут включать в себя сменные платы HOA и/или инструменты, которые могут быть выполнены с возможностью действовать с (например, работать с) одной или более игровыми аудиосистемами. В некоторых примерах, игровые студии могут выводить новые форматы стема, которые поддерживают HOA. В любом случае, игровые студии могут выводить кодированный аудиоконтент на машины воспроизведения, которые могут воспроизводить звуковое поле для проигрывания системами доставки.

[206] Методы также может осуществляться в отношении иллюстративных устройств захвата аудиосигнала. Например, методы можно осуществлять в отношении собственного микрофона, который может включать в себя множество микрофонов, которые совместно выполнены с возможностью записи 3D звукового поля. В некоторых примерах, множество микрофонов собственного микрофона может располагаться на поверхности, по существу, сферического шара радиусом приблизительно 4 см. В некоторых примерах, устройство 20 аудиокодирования может встроено в собственный микрофон для вывода битового потока 21 непосредственно из микрофона.

[207] Другой иллюстративный контекст захват аудиосигнала может включать в себя телевизионный автомобиль, который может быть выполнен с возможностью приема сигнала от одного или более микрофонов, например, одного или более собственных микрофонов. Телевизионный автомобиль также может включать в себя аудиокодер, например, аудиокодер 20, показанный на фиг. 3.

[208] Мобильное устройство также может, в ряде случаев, включать в себя множество микрофонов, которые совместно выполнены с возможностью записи 3D звукового поля. Другими словами, множество микрофонов может иметь разнесение по X, Y, Z. В некоторых примерах, мобильное устройство может включать в себя микрофон, который может вращаться для обеспечения разнесения по X, Y, Z относительно одного или более других микрофонов мобильного устройства. Мобильное устройство также может включать в себя аудиокодер, например, аудиокодер 20, показанный на фиг. 3.

[209] Износоустойчивое устройство захвата видео дополнительно может быть выполнено с возможностью записи 3D звукового поля. В некоторых примерах, износоустойчивое устройство захвата видео может быть присоединено к шлему пользователя, вовлеченного в деятельность. Например, износоустойчивое устройство захвата видео может быть присоединено к шлему пользователя, участвующего в сплаве по бурной реке. Таким образом, износоустойчивое устройство захвата видео может захватывать 3D звуковое поле, которое представляет действие вокруг пользователя (например, бурление воды позади пользователя, речь другого рафтера перед пользователем, и т.д.).

[210] Методы также могут осуществляться в отношении мобильного устройства с дополнительными возможностями, которое может быть выполнено с возможностью записи 3D звукового поля. В некоторых примерах, мобильное устройство могут быть аналогично мобильным устройствам, рассмотренным выше, с добавлением одного или более вспомогательных устройств. Например, собственный микрофон может быть присоединен к вышеупомянутому мобильному устройству для формирования мобильного устройства с дополнительными возможностями. Таким образом, мобильное устройство с дополнительными возможностями может захватывать версию более высокого качества 3D звукового поля, а не просто использовать компоненты захвата звука, встроенные в мобильное устройство с дополнительными возможностями.

[211] Иллюстративные устройства проигрывания аудиосигнала, которые могут осуществлять различные аспекты методов, описанных в этом изобретении, дополнительно рассмотрены ниже. В соответствии с одним или более методами этого изобретения, громкоговорители и/или звуковые панели могут располагаться в любой произвольной конфигурации, позволяющей проигрывать 3D звуковое поле. Кроме того, в некоторых примерах, устройства проигрывания в виде головных телефонов могут быть подключены к декодеру 24 посредством проводного или беспроводного соединения. В соответствии с одним или более методами этого изобретения, единичное универсальное представление звукового поля может использоваться для воспроизведения звукового поля на любой комбинации громкоговорителей, звуковых панелей и устройств проигрывания в виде головных телефонов.

[212] Несколько разных иллюстративных сред проигрывания аудиосигнала также могут быть пригодны для осуществления различных аспектов методов, описанных в этом изобретении. Например, среда проигрывания с конфигурацией громкоговорителей 5.1, среда проигрывания с конфигурацией громкоговорителей 2.0 (например, стерео), среда проигрывания с конфигурацией громкоговорителей 9.1 с передними громкоговорителями в человеческий рост, среда проигрывания с конфигурацией громкоговорителей 22.2, среда проигрывания с конфигурацией громкоговорителей, 16.0 среда проигрывания с автомобильной конфигурацией громкоговорителей и мобильное устройство со средой проигрывания в виде миниатюрных наушников могут пригодными средами для осуществления различных аспектов методов, описанных в этом изобретении.

[213] В соответствии с одним или более методами этого изобретения, единичное универсальное представление звукового поля может использоваться для воспроизведения звукового поля в любой из вышеупомянутых сред проигрывания. Дополнительно, методы этого изобретения допускают воспроизведение для воспроизведения звукового поля из универсального представления для проигрывания в средах проигрывания, отличных от описанных выше. Например, если соображения конструкции препятствуют правильному размещению громкоговорителей согласно среде проигрывания с конфигурацией громкоговорителей 7.1 (например, если невозможно разместить правый громкоговоритель окружения), методы этого изобретения допускают воспроизведение для компенсации с другими 6 громкоговорителями таким образом, что проигрывания можно добиться в среде проигрывания с конфигурацией громкоговорителей 6.1.

[214] Кроме того, пользователь может смотреть спортивную игру при ношении головных телефонов. В соответствии с одним или более методами этого изобретения, может захватываться 3D звуковое поле спортивной игры (например, один или более собственных микрофонов может располагаться в и/или вокруг бейсбольного стадиона), коэффициенты HOA, соответствующие 3D звуковому полю, можно получать и передавать на декодер, декодер может принять решение реконструировать 3D звуковое поле на основании коэффициентов HOA и выводить реконструированное 3D звуковое поле на устройство воспроизведения, устройство воспроизведения может получать указание в отношении типа среды проигрывания (например, головных телефонов), и воспроизводить реконструированное 3D звуковое поле в сигналы, которые предписывают головным телефонам выводить представление 3D звукового поля спортивной игры.

[215] В каждом из различных вышеописанных случаев, следует понимать, что устройство 20 аудиокодирования может осуществлять способ или иным образом содержать средство для осуществления каждого этапа способа, который призвано осуществлять устройство 20 аудиокодирования. В ряде случаев, средство может содержать один или более процессоров. В ряде случаев, один или более процессоров может представлять процессор специального назначения, выполняющий инструкции, хранящиеся на нетранзиторном компьютерно-читаемом носителе данных. Другими словами, различные аспекты методов в каждом из наборов примеров кодирования могут предусматривать нетранзиторный компьютерно-читаемый носитель данных, где хранятся инструкции, которые, при выполнении, предписывают одному или более процессорам осуществлять способ, для выполнения которого предназначено устройство 20 аудиокодирования.

[216] В одном или более примерах, описанные функции могут быть реализованы в оборудовании, программном обеспечении, программно-аппаратном обеспечении, или любой их комбинации. Будучи реализованы в программном обеспечении, функции могут храниться или передаваться в виде одной или более инструкций или кода на компьютерно-читаемом носителе и выполняться аппаратным блоком обработки. Компьютерно-читаемые носители может включать в себя компьютерно-читаемые носители данных, которые соответствует вещественному носителю, например, носителям данных. Носителями данных могут быть любые доступные носители, к которым может обращаться один или более компьютеров или один или более процессоров для извлечения инструкций, кода и/или структур данных для реализации методов, описанных в этом изобретении. Компьютерный программный продукт может включать в себя компьютерно-читаемый носитель.

[217] Аналогично, в каждом из различных вышеописанных случаев, следует понимать, что устройство 24 аудиодекодирования может осуществлять способ или иным образом содержать средство для осуществления каждого этапа способа, для выполнения которого предназначено устройство 24 аудиодекодирования. В ряде случаев, средство может содержать один или более процессоров. В ряде случаев, один или более процессоров может представлять процессор специального назначения, выполняющий инструкции, хранящиеся на нетранзиторном компьютерно-читаемом носителе данных. Другими словами, различные аспекты методов в каждом из наборов примеров кодирования могут предусматривать нетранзиторный компьютерно-читаемый носитель данных, где хранятся инструкции, которые, при выполнении, предписывают одному или более процессорам осуществлять способ, для выполнения которого предназначено устройство 24 аудиодекодирования.

[218] В порядке примера, но не ограничения, такие компьютерно-читаемые носители данных могут содержать ОЗУ, ПЗУ, ЭСППЗУ, CD-ROM или другое хранилище на основе оптического диска, хранилище на основе магнитного диска, или другие магнитные запоминающие устройства, флэш-память, или любой другой носитель который можно использовать для хранения желаемого программного кода в форме инструкций или структур данных, к которым может обращаться компьютер. Однако следует понимать, что компьютерно-читаемые носители данных и носители данных не включают в себя соединения, несущие волны, сигналы или другие транзиторные носители, но, вместо этого, относятся к нетранзиторным, вещественным носителям данных. Используемый здесь термин «диск» включает в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD), флоппи-диск и диск Blu-ray, причем магнитные диски обычно воспроизводят данные магнитными средствами, тогда как оптические диски воспроизводят данные оптическими средствами с помощью лазеров. Комбинации вышеописанных устройств также подлежат включению в объем определения компьютерно-читаемых носителей.

[219] Инструкции могут выполняться одним или более процессорами, например, одним или более цифровыми сигнальными процессорами (DSP), микропроцессорами общего назначения, специализированными интегральными схемами (ASIC), программируемыми пользователем вентильными матрицами (FPGA), или другими эквивалентными интегральными или дискретными логическими схемами. Соответственно, используемый здесь термин ʺпроцессорʺ может означать любую из вышеприведенных структур или любую другую структуру, пригодную для реализации описанных здесь методов. Кроме того, в некоторых аспектах, описанные здесь функциональные возможности могут обеспечиваться в специализированном оборудовании и/или программные модули, сконфигурированные для кодирования и декодирования, или внедрены в комбинированный кодек. Также, методы могут быть полностью реализованы в одной или более схемах или логических элементах.

[220] Методы этого изобретения можно реализовать в разнообразных устройствах или аппаратах, включающих в себя беспроводную телефонную трубку, интегральную схему (IC) или набор IC (например, чипсет). Различные компоненты, модули или блоки описаны в этом изобретении, чтобы подчеркнуть функциональные аспекты устройств, выполненных с возможностью осуществления раскрытых методов, но не обязательно требуют реализации разными аппаратными блоками. Напротив, как описано выше, различные блоки могут быть объединены в аппаратном блоке кодека или обеспечены совокупностью взаимодействующих аппаратных блоков, включающих в себя один или более процессоров, как описано выше, совместно с пригодным программным обеспечением и/или программно-аппаратным обеспечением.

[221] Были описаны различные аспекты методов. Эти и другие аспекты методов входят в объем нижеследующей формулы изобретения.

1. Способ эффективного использования битов, причем способ содержит этапы, на которых:

получают битовый поток, содержащий сжатую версию пространственной компоненты звукового поля, причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник, причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, элемента синтаксиса, указывающего режим предсказания, который указывает, выполнялось ли предсказание в отношении упомянутого вектора.

2. Способ по п. 1, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор содержит один или более битов второго элемента синтаксиса, причем второй элемент синтаксиса указывает режим квантования, используемый при сжатии упомянутого вектора.

3. Способ по п. 2, в котором упомянутый один или более битов второго элемента синтаксиса, будучи установлен на нулевое значение, указывает необходимость повторного использования первого элемента синтаксиса из предыдущего кадра.

4. Способ по п. 2, в котором режим квантования содержит режим векторного квантования.

5. Способ по п. 2, в котором режим квантования содержит режим скалярного квантования без хаффмановского кодирования.

6. Способ по п. 2, в котором режим квантования содержит режим скалярного квантования с хаффмановским кодированием.

7. Способ по п. 2, в котором упомянутый индикатор включает в себя старший бит второго элемента синтаксиса и второй по старшинству бит второго элемента синтаксиса.

8. Способ по п. 1, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает таблицу Хаффмана, используемую при сжатии упомянутого вектора.

9. Способ по п. 1, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает идентификатор категории, который идентифицирует категорию сжатия, которой соответствует упомянутый вектор, причем категория сжатия является величиной, которая зависит от величины сжатой версии упомянутого вектора.

10. Способ по п. 1, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает, имеет ли элемент упомянутого вектора положительное значение или отрицательное значение.

11. Способ по п. 1, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает количество векторов кода, используемых при сжатии упомянутого вектора.

12. Способ по п. 1, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает кодовую книгу векторного квантования, используемую при сжатии упомянутого вектора.

13. Способ по п. 1, в котором сжатая версия упомянутого вектора представляется в битовом потоке с использованием, по меньшей мере частично, кода Хаффмана для представления остаточного значения элемента упомянутого вектора.

14. Способ по п. 1, дополнительно содержащий этапы, на которых:

подвергают разложению аудиоданные с амбиофонией более высокого порядка для получения вектора; и

указывают вектор в битовом потоке для получения битового потока.

15. Способ по п. 1, дополнительно содержащий этапы, на которых:

получают, из битового потока, аудиообъект, который соответствует упомянутому вектору; и

объединяют аудиообъект с вектором для реконструкции аудиоданных с амбиофонией более высокого порядка.

16. Способ по п. 1, в котором сжатие вектора включает в себя квантование вектора.

17. Устройство для эффективного использования битов, причем устройство содержит:

один или более процессоров, выполненных с возможностью получения битового потока, содержащего сжатую версию пространственной компоненты звукового поля, причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник, причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, элемента синтаксиса, указывающего режим предсказания, который указывает, выполнялось ли предсказание в отношении упомянутого вектора; и

память, выполненную с возможностью сохранения битового потока.

18. Устройство по п. 17, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор содержит один или более битов второго элемента синтаксиса, причем второй элемент синтаксиса указывает режим квантования, используемый при сжатии упомянутого вектора.

19. Устройство по п. 18, в котором упомянутый один или более битов второго элемента синтаксиса, будучи установлен на нулевое значение, указывает необходимость повторного использования первого элемента синтаксиса из предыдущего кадра.

20. Устройство по п. 18, в котором режим квантования содержит режим векторного квантования.

21. Устройство по п. 18, в котором режим квантования содержит режим скалярного квантования без хаффмановского кодирования.

22. Устройство по п. 18, в котором режим квантования содержит режим скалярного квантования с хаффмановским кодированием.

23. Устройство по п. 18, в котором упомянутый индикатор включает в себя старший бит второго элемента синтаксиса и второй по старшинству бит второго элемента синтаксиса.

24. Устройство по п. 17, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает таблицу Хаффмана, используемую при сжатии упомянутого вектора.

25. Устройство по п. 17, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает идентификатор категории, который идентифицирует категорию сжатия, которой соответствует упомянутый вектор, причем категория сжатия является величиной, которая зависит от величины сжатой версии упомянутого вектора.

26. Устройство по п. 17, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает, имеет ли элемент упомянутого вектора положительное значение или отрицательное значение.

27. Устройство по п. 17, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает количество векторов кода, используемых при сжатии упомянутого вектора.

28. Устройство по п. 17, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает кодовую книгу векторного квантования, используемую при сжатии упомянутого вектора.

29. Устройство по п. 17, в котором сжатая версия упомянутого вектора представляется в битовом потоке с использованием, по меньшей мере частично, кода Хаффмана для представления остаточного значения элемента упомянутого вектора.

30. Устройство по п. 17, в котором один или более процессоров дополнительно выполнены с возможностью разложения аудиоданных с амбиофонией более высокого порядка для получения вектора и указания вектора в битовом потоке для получения битового потока.

31. Устройство по п. 17, в котором один или более процессоров дополнительно выполнены с возможностью получения, из битового потока, аудиообъекта, который соответствует упомянутому вектору, и объединения аудиообъекта с вектором для реконструкции аудиоданных с амбиофонией более высокого порядка.

32. Устройство по п. 17, в котором сжатие вектора включает в себя квантование вектора.

33. Устройство для эффективного использования битов, причем устройство содержит:

средство для получения битового потока, содержащего сжатую версию пространственной компоненты звукового поля, причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник, причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, элемента синтаксиса, указывающего режим предсказания, который указывает, выполнялось ли предсказание в отношении упомянутого вектора; и

средство для сохранения индикатора.

34. Устройство по п. 33, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор содержит один или более битов второго элемента синтаксиса, причем второй элемент синтаксиса указывает режим квантования, используемый при сжатии упомянутого вектора.

35. Устройство по п. 34, в котором упомянутый один или более битов второго элемента синтаксиса, будучи установлен на нулевое значение, указывает необходимость повторного использования первого элемента синтаксиса из предыдущего кадра.

36. Устройство по п. 34, в котором режим квантования содержит режим векторного квантования.

37. Устройство по п. 34, в котором режим квантования содержит режим скалярного квантования без хаффмановского кодирования.

38. Устройство по п. 34, в котором режим квантования содержит режим скалярного квантования с хаффмановским кодированием.

39. Устройство по п. 34, в котором упомянутый индикатор включает в себя старший бит второго элемента синтаксиса и второй по старшинству бит второго элемента синтаксиса.

40. Устройство по п. 33, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает таблицу Хаффмана, используемую при сжатии упомянутого вектора.

41. Устройство по п. 33, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает идентификатор категории, который идентифицирует категорию сжатия, которой соответствует упомянутый вектор, причем категория сжатия является величиной, которая зависит от величины сжатой версии упомянутого вектора.

42. Устройство по п. 33, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает, имеет ли элемент упомянутого вектора положительное значение или отрицательное значение.

43. Устройство по п. 33, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает количество векторов кода, используемых при сжатии упомянутого вектора.

44. Устройство по п. 33, в котором упомянутый элемент синтаксиса является первым элементом синтаксиса, а упомянутый индикатор указывает необходимость повторного использования, из предыдущего кадра, второго элемента синтаксиса, причем второй элемент синтаксиса указывает кодовую книгу векторного квантования, используемую при сжатии упомянутого вектора.

45. Устройство по п. 33, в котором сжатая версия упомянутого вектора представляется в битовом потоке с использованием, по меньшей мере частично, кода Хаффмана для представления остаточного значения элемента упомянутого вектора.

46. Устройство по п. 33, дополнительно содержащее:

средство для разложения аудиоданных с амбиофонией более высокого порядка для получения вектора; и

средство для указания вектора в битовом потоке для получения битового потока.

47. Устройство по п. 33, дополнительно содержащее:

средство для получения, из битового потока, аудиообъекта, который соответствует упомянутому вектору; и

средство для объединения аудиообъекта с вектором для реконструкции аудиоданных с амбиофонией более высокого порядка.

48. Устройство по п. 33, в котором сжатие вектора включает в себя квантование вектора.

49. Компьютерно-читаемый носитель данных, содержащий сохраненные на нем инструкции, которые, при выполнении, предписывают одному или более процессорам:

получать битовый поток, содержащий сжатую версию пространственной компоненты звукового поля, причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник, причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, по меньшей мере, одного элемента синтаксиса, указывающего режим предсказания, который указывает, выполнялось ли предсказание в отношении упомянутого вектора.

50. Устройство для эффективного использования битов, причем устройство содержит:

один или более процессоров, выполненных с возможностью получения битового потока, содержащего сжатую версию пространственной компоненты звукового поля, причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник, причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, элемента синтаксиса, указывающего таблицу Хаффмана, используемую при сжатии упомянутого вектора; и

память, выполненную с возможностью сохранения битового потока.

51. Устройство для эффективного использования битов, причем устройство содержит:

один или более процессоров, выполненных с возможностью получения битового потока, содержащего сжатую версию пространственной компоненты звукового поля, причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник, причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, элемента синтаксиса, указывающего кодовую книгу векторного квантования, используемую при сжатии упомянутого вектора; и

память, выполненную с возможностью сохранения битового потока.

52. Устройство для эффективного использования битов, причем устройство содержит:

один или более процессоров, выполненных с возможностью получения битового потока, содержащего сжатую версию пространственной компоненты звукового поля, причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник, причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, элемента синтаксиса, указывающего режим квантования, используемый при сжатии упомянутого вектора, причем упомянутый индикатор содержит один или более битов упомянутого элемента синтаксиса; и

память, выполненную с возможностью сохранения битового потока.



 

Похожие патенты:

Изобретение относится к средствам для сжатия разложенных представлений звукового поля. Технический результат заключается в повышении эффективности обработки звукового поля.

Изобретение относится к области стереофонического воспроизведения. Технический результат – обеспечение более гибкого распределения стереофонических передаточных функций с учетом положений головы.

Изобретение относится к области воспроизведения звука. Заявлено звуковоспроизводящее устройство, которое обеспечивает выходной звук по меньшей мере через один оконечный модуль, и соответствующий способ применения такого устройства.

Изобретение относится к аудиосигналам и к устройствам или способам для их получения, передачи, преобразования и воспроизведения. Технический результат заключается в улучшении стереофонического воспроизведения монофонически отображаемого источника звука.

Предложенное изобретение относится к области передачи иммерсивного аудиосигнала в среде равноправных узлов. Оно направлено на решение такой задачи, как создание голосов, которые кажутся реально исходящими от аватаров в виртуальном пространстве.

Изобретение относится к области передачи аудиопотоков. .

Изобретение относится к смешиванию звуковых сигналов и, более конкретно, к смешиванию или смешиванию с понижением двух или большего количества звуковых каналов с использованием коррелированных выходных данных.

Изобретение относится к области электроакустики, а именно к элементам конструкции громкоговорителей для высококачественного воспроизведения звука. .

Изобретение относится к средствам для кодирования аудиосигналов. Технический результат заключается в повышении эффективности кодирования аудио.

Изобретение относится к области вычислительной техники для обработки аудиоданных. Технический результат заключается в повышении скорости передачи битов для кодирования НОА-аудио сигналов при разложении V-вектора на взвешенную сумму кодовых векторов.

Изобретение относится к средствам для обработки сигналов. Технический результат заключается в повышении эффективности кодирования и декодирования сигналов.

Изобретение относится к средствам для расширения диапазона частот для акустических сигналов. Технический результат заключается в повышении эффективности расширения диапазона частот входных сигналов для повышения качества аудио.

Изобретение относится к обработке звуковых сигналов, в частности к декодерам. Устройство содержит демультиплексор, формирующий из кадров аудиоинформации базовый сигнал и набор параметров, повышающий дискретизатор для повышающей дискретизации базового сигнала и выдачи первого спектра с повышенной дискретизацией и следующего по времени второго спектра с повышенной дискретизацией.

Изобретение относится к средствам для управления громкостью. Технический результат заключается в повышении эффективности манипулирования громкостью для ее компенсации.

Изобретение относится к средствам для кодирования векторов, разложенных из коэффициентов амбиофонии высшего порядка. Технический результат заключается в повышении качества представления звукового поля.

Изобретение относится к высокочастотной реконструкции (HFR), усиленной перекрестными произведениями, где новая составляющая с частотой QΩ+rΩ0 генерируется на основе существующих составляющих с частотами Ω и Ω+Ω0.

Изобретение относится к области цифровой связи и может быть использовано в системах телеинформационных коммуникаций при низкоскоростном кодировании речевого сигнала.

Изобретение относится к средствам для генерации высокополосного сигнала возбуждения. Технический результат заключается в уменьшении количества артефактов в невокализованной области высокополосного сигнала.

Изобретение относится к кодированию и декодированию аудиосигналов. Технический результат – уменьшение количества расчетов для декодирования аудиосигналов. Устройство декодирования содержит по меньшей мере одну схему, выполненную с возможностью получения одного или более кодированных аудиосигналов, включающих в себя множество каналов и/или множество объектов и информацию приоритета для каждого из множества каналов и/или множества объектов, и декодирования одного или больше кодированных аудиосигналов в соответствии с информацией приоритета. 3 н. и 11 з.п. ф-лы, 32 ил.

Изобретение относится к средствам для указания возможности повторного использования параметров кадра для декодирования векторов. Технический результат заключается в обеспечении возможности повторного использования параметров кадра для декодирования векторов. Получают битовый поток, содержащий сжатую версию пространственной компоненты звукового поля. Причем пространственная компонента звукового поля представлена посредством вектора, представляющего ортогональную пространственную ось в области сферических гармоник. Причем битовый поток дополнительно содержит индикатор необходимости повторного использования, из предыдущего кадра, элемента синтаксиса, указывающего режим предсказания, который указывает, выполнялось ли предсказание в отношении упомянутого вектора. 7 н. и 45 з.п. ф-лы, 10 ил., 4 табл.

Наверх