RU2823988C2 - Кодирование и декодирование акустического окружения - Google Patents
Кодирование и декодирование акустического окружения Download PDFInfo
- Publication number
- RU2823988C2 RU2823988C2 RU2023135085A RU2023135085A RU2823988C2 RU 2823988 C2 RU2823988 C2 RU 2823988C2 RU 2023135085 A RU2023135085 A RU 2023135085A RU 2023135085 A RU2023135085 A RU 2023135085A RU 2823988 C2 RU2823988 C2 RU 2823988C2
- Authority
- RU
- Russia
- Prior art keywords
- structural
- acoustic
- vertex
- list
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 28
- 239000000463 material Substances 0.000 claims abstract description 16
- 230000000306 recurrent effect Effects 0.000 claims description 22
- 239000012814 acoustic material Substances 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 9
- 230000005236 sound signal Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims 1
- 230000009849 deactivation Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000013139 quantization Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000013179 statistical model Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- CYJRNFFLTBEQSQ-UHFFFAOYSA-N 8-(3-methyl-1-benzothiophen-5-yl)-N-(4-methylsulfonylpyridin-3-yl)quinoxalin-6-amine Chemical compound CS(=O)(=O)C1=C(C=NC=C1)NC=1C=C2N=CC=NC2=C(C=1)C=1C=CC2=C(C(=CS2)C)C=1 CYJRNFFLTBEQSQ-UHFFFAOYSA-N 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
Изобретение относится к области вычислительной техники для обработки аудиоданных. Технический результат заключается в повышении эффективности и при одновременном снижении сложности индивидуально настраиваемой схемы кодирования. Технический результат достигается за счет декодирования акустического окружения, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется посредством списка структурно-акустических данных, который связывает данные положения многоугольников со структурно-акустическими свойствами материалов, при этом данные положения включают в себя, для каждого многоугольника, положение одной первичной структурно-акустической вершины и положение оставшихся структурно-акустических вершин, при этом способ содержит этапы, на которых: считывают из потока битов кодированную версию структурно-акустических данных и по меньшей мере один аудиопоток, который должен рендерироваться, сформированный по меньшей мере посредством одного аудиоисточника в акустическом окружении; декодируют по меньшей мере один аудиопоток; и декодируют структурно-акустические данные. 3 н. и 28 з.п. ф-лы, 18 ил.
Description
Раскрыты устройства и способы кодирования и декодирования акустического окружения.
Уровень техники
Данные треугольной ячеистой сетки представляют собой важный компонент виртуального акустического окружения. Ячеистая сетка состоит из списка вершин и списка граней треугольника. Каждая вершина представляет собой точку в трехмерном пространстве, локализованную посредством ее координат X, Y и Z, и имеет ассоциированный индекс в списке вершин. Каждый треугольник идентифицирует простую поверхность и содержит три индексов вершин и ассоциированный акустический материал. Индексы вершин для треугольника перечисляются в конкретном порядке, который задает указывающую наружу нормаль простой поверхности.
Предусмотрено множество форматов обмена и сжатия для общих данных треугольной ячеистой сетки. Тем не менее, они обычно предназначаются для кодирования визуальных данных треугольной ячеистой сетки, типично объектов и окружений. Напротив, данные ячеистого сетчатого треугольника для виртуальных акустических окружений и объектов имеют несколько конкретных свойств. Например, данные ячеистой сетки обычно содержат только акустически релевантные поверхности достаточного размера. Значительное число поверхностей объектов расположено на небольшом числе плоскостей или имеет многослойную структуру. Поверхности, которые не содержат акустический материал, являются невидимыми для акустических целей и могут отбрасываться. Также могут быть предусмотрены координатные симметрии, сформированные в силу того факта, что объекты с регулярными формами используют относительную систему координат, центрированную в их кажущемся центре тяжести. Все эти дополнительные свойства могут использоваться для более эффективной и одновременно имеющей низкую сложность индивидуально настраиваемой схемы кодирования.
Раскрытие изобретения
В соответствии с примером, предусмотрено устройство для декодирования акустического окружения, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется посредством структурно-акустических данных, которые связывают данные положения многоугольников с акустическими свойствами акустических материалов, при этом данные положения включают в себя, для каждого многоугольника, положение вершин, причем устройство содержит:
- модуль считывания потоков битов для считывания из потока битов кодированной версии структурно-акустических данных и по меньшей мере одного аудиопотока, который должен рендерироваться, сформированного по меньшей мере посредством одного аудиоисточника в акустическом окружении;
- блок декодирования аудиоисточников для декодирования по меньшей мере одного аудиопотока, представляющего по меньшей мере один аудиоисточник;
- блок декодирования структурно-акустических данных для декодирования структурно-акустических данных.
Также предусмотрено устройство для кодирования акустического окружения, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется по меньшей мере посредством одних структурно-акустических данных, которые связывают данные положения многоугольников с акустическими свойствами акустических материалов, при этом структурно-акустические данные включают в себя, для каждого многоугольника, положение вершины, причем устройство содержит:
- блок кодирования аудиоисточников, выполненный с возможностью кодирования по меньшей мере одного аудиопотока, который должен рендерироваться, причем по меньшей мере один аудиопоток ассоциирован по меньшей мере с одним аудиоисточником;
- блок кодирования структурно-акустических данных, выполненный с возможностью кодирования по меньшей мере одних структурно-акустических данных для получения кодированной версии по меньшей мере одних структурно-акустических данных,
- модуль записи потоков битов, выполненный с возможностью записи в потоке битов по меньшей мере одного аудиопотока и кодированной версии по меньшей мере одних структурно-акустических данных.
Также предусмотрен способ кодирования акустического окружения, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется по меньшей мере посредством одних структурно-акустических данных, которые связывают данные положения многоугольников со структурно-акустическими свойствами материалов, при этом данные положения включают в себя, для каждого многоугольника, положение одной первичной вершины многоугольника и положение оставшихся вершин многоугольника, при этом способ содержит:
- кодирование по меньшей мере одного аудиопотока, который должен рендерироваться, в ассоциации по меньшей мере с одним аудиоисточником;
- кодирование по меньшей мере одних структурно-акустических данных для получения кодированной версии по меньшей мере одних структурно-акустических данных, и
- запись в потоке битов по меньшей мере одного аудиопотока и кодированной версии по меньшей мере одних структурно-акустических данных.
Также предусмотрен поток битов, кодирующий аудиоинформацию, в которой кодируется акустическое окружение, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется по меньшей мере посредством одного списка структурно-акустических данных, который преобразует данные положения многоугольников в акустические материалы, при этом данные положения включают в себя, для каждого многоугольника, положение одной вершины, причем поток битов содержит:
- по меньшей мере один аудиопоток, который должен рендерироваться;
- кодированную версию по меньшей мере одних структурно-акустических данных.
Также предусмотрен постоянный блок хранения, сохраняющий инструкции, которые при выполнении процессором предписывают процессору:
- управлять операцией декодирования акустического окружения, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется посредством списка структурно-акустических данных, который связывает данные положения многоугольников со структурно-акустическими свойствами материалов, при этом данные положения включают в себя, для каждого многоугольника, положение одной первичной структурно-акустической вершины и положение оставшихся структурно-акустических вершин,
- управлять считыванием, из потока битов, кодированной версии структурно-акустических данных и по меньшей мере одного аудиопотока, который должен рендерироваться, сформированного по меньшей мере посредством одного аудиоисточника в акустическом окружении;
- управлять декодированием по меньшей мере одного аудиопоток; и
- декодировать структурно-акустические данные.
Также предусмотрен постоянный блок хранения, сохраняющий инструкции, которые при выполнении процессором предписывают процессору:
- управлять операцией кодирования акустического окружения в способе, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется по меньшей мере посредством одних структурно-акустических данных, которые связывают данные положения многоугольников со структурно-акустическими свойствами материалов, при этом данные положения включают в себя, для каждого многоугольника, положение одной первичной вершины многоугольника и положение оставшихся вершин многоугольника,
- управлять кодированием по меньшей мере одного аудиопотока, который должен рендерироваться, в ассоциации по меньшей мере с одним аудиоисточником;
- управлять кодированием по меньшей мере одних структурно-акустических данных для получения кодированной версии по меньшей мере одних структурно-акустических данных, и
- управлять записью, в потоке битов по меньшей мере одного аудиопотока и кодированной версии по меньшей мере одних структурно-акустических данных.
Краткое описание чертежей
Фиг. 1 показывает пример многоугольников (треугольников), которые должны кодироваться/декодироваться.
Фиг. 2 показывает пример устройства для кодирования акустического окружения.
Фиг. 3 показывает пример устройства для декодирования акустического окружения.
Фиг. 4 показывает пример операции кодирования или декодирования списка вершин.
Фиг. 5 показывает пример ограничивающего прямоугольника.
Фиг. 6a и 6b показывают примеры операций в кодере и декодере, соответственно, для кодирования списка треугольников.
Фиг. 7 показывает пример структур данных, которые могут использоваться в настоящих примерах.
Фиг. 8 показывает пример блока кодирования структурно-акустических данных, который может составлять часть кодера по фиг. 2.
Фиг. 9 показывает пример блока кодирования структурно-акустических данных, который может составлять часть декодера по фиг. 3.
Фиг. 10a-10h показывают последовательность операций в кодере.
Кодер
Фиг. 2 показывает кодер 200, который может пониматься как устройство для кодирования акустического окружения 202. Акустическое окружение может пониматься как способ представления аудиосигнала 211 в конкретном акустическом окружении, которое должно кодироваться в потоке 204 битов. Акустическое окружение может представляться согласно пространственным координатам. Акустическое окружение может представляться согласно пространственной системе координат (например, X, Y, Z, к примеру, на фиг. 1). Акустическое окружение может включать в себя по меньшей мере один аудиоисточник, который виртуально расположен в некоторых частях окружения. Окружение может пониматься как виртуальное окружение, которое должно рендерироваться с наибольшей возможной точностью воспроизведения. Кодер 200 может включать в себя блок 220 кодирования структурно-акустических данных, который может связывать данные положения многоугольников со свойствами, ассоциированными с акустическими материалами. Многоугольники могут представлять собой треугольники. Каждый многоугольник (либо, более конкретно, треугольник) может представляться как тройка (триплет) вершин. Вывод блока 222 кодирования данных многоугольников в силу этого может в принципе представляться посредством триплета структурно-акустических данных и значения, кодирующего материал. Многоугольники в силу этого могут представлять собой поверхности объемистого материального элемента, которые имеют влияние на поведение аудиосигнала, виртуально сформированного посредством аудиоисточника в положении, указываемом посредством аудиоисточника. Кодер 200 может включать в себя модуль 230 записи потоков битов для записи потока 204 битов. Следовательно, аудиоисточники, которые представляют аудиосигнал, виртуально сформированный посредством них, и их положение в окружении 212 и структурно-акустические данные 222, представляющие различные материалы в окружении, могут кодироваться в потоке 204 битов.
В общих чертах, кодер 200 может рассматриваться в качестве устройства для кодирования акустического окружения, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется по меньшей мере посредством одного списка структурно-акустических данных, который связывает данные положения многоугольников с акустическими свойствами акустических материалов. Данные положения могут включать в себя, для каждого многоугольника, положение одной первичной вершины (110ax, 110ay, 110az) многоугольника и положение оставшихся вершин (110b, 110c, 120b) многоугольника. Устройство может содержать:
- блок 210 кодирования аудиоисточников, выполненный с возможностью кодирования по меньшей мере одного аудиопотока, который должен рендерироваться;
- блок 220 кодирования структурно-акустических данных, выполненный с возможностью кодирования версии (222) по меньшей мере одних структурно-акустических данных (221); и
- модуль 230 записи потоков битов, выполненный с возможностью записи в потоке 204 битов по меньшей мере одного аудиопотока 212 и данных положения, включающих в себя кодированные версии структурно-акустических данных.
Также аудиопоток 212, в общем, ассоциирован с данными положения аудиоисточника таким образом, что аудиоисточник 211, представленный посредством аудиопотока 212, может соответствовать определенным положениям в акустическом окружении, в котором они виртуально формируются. В общих чертах по меньшей мере один аудиоисточник, который кодируется в потоке 204 битов в ассоциации с положением, в которой он виртуально формируется в акустическом окружении, также кодируется со вспомогательной информацией, обеспечивающей его виртуальное положение в акустическом окружении. Следовательно, пространственные данные также могут кодироваться, в качестве вспомогательной информации по меньшей мере одного аудиопотока 212, указывающей взаимосвязи положений по меньшей мере между одним аудиоисточником и акустическим окружением. После декодирования, аудиоисточник должен рендерироваться по-прежнему с учетом пространственных взаимосвязей между аудиоисточником и по меньшей мере одним аудиообъектом.
Декодер
Фиг. 3 показывает декодер 300, который работает с возможностью рендеринга акустического окружения, кодированного в потоке 304 битов. Аудиосигнал 301 в силу этого может формироваться посредством декодера 300. Несмотря на это, заявленный декодер 300 может иметь, в качестве вывода, акустическое окружение 302, которое возможно, представляет собой наилучшее представление исходного акустического окружения 202, которое должно представляться посредством модуля 350 рендеринга. Декодер 300 может включать в себя модуль 330 считывания потоков битов, который может считывать поток 204 битов. Таким образом модуль считывания потоков битов может обеспечивать кодированную версию 312 по меньшей мере одного аудиоисточника, кодированного (в качестве 212) посредством блока 210 кодирования аудиоисточников. Модуль 330 считывания потоков битов также может обеспечивать кодированную версию 322 структурно-акустических данных 222, кодированных посредством блока 220 кодирования структурно-акустических данных. Блок 310 декодирования аудиоисточников может обеспечивать декодированную версию 311 исходного аудиоисточника 211. Блок 320 декодирования структурно-акустических данных может обеспечивать декодированную версию 321 исходных структурно-акустических данных 221. Декодированная версия 311 исходного аудиоисточника 211 и декодированная версия 321 исходных структурно-акустических данных 221 в силу этого могут совместно считаться декодированной версией 302 окружения 202.
Модуль 350 рендеринга должен принимать декодированное окружение 302 (включающее в себя его компоненты 311 и 321) для рендеринга аудиосигнала 301, максимально возможно ближайшего к исходному аудиосигналу 202. В частности, модуль 350 рендеринга может представлять по меньшей мере один аудиоисточник по-прежнему с учетом его положения (например, виртуального положения) в акустическом окружении и за счет обуславливания, которому звук (виртуально или в реальности) подвергается на основе присутствия по меньшей мере одного аудиообъекта.
В общих чертах, аудиоисточник, который кодируется в потоке 204 битов в ассоциации с положением, в котором он виртуально формируется в акустическом окружении, также кодируется со вспомогательной информацией, обеспечивающей его виртуальное положение в акустическом окружении. Следовательно, модуль 350 рендеринга может представлять звук как виртуально сформированный в конкретном местоположении (например, указываемом посредством данных положения аудиоисточника) согласно эффекту присутствия (например, виртуального присутствия) по меньшей мере одного аудиообъекта.
Декодер 300 может представлять собой устройство для декодирования акустического окружения 302, причем акустическое окружение 302 включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется посредством списка структурно-акустических данных, который связывает данные положения многоугольников с акустическими свойствами акустических материалов. Данные положения могут включать в себя, для каждого многоугольника, положение одной первичной структурно-акустической вершины и положение оставшихся структурно-акустических вершин. Устройство может содержать по меньшей мере одно из следующего:
- модуль 330 считывания потоков битов, выполненный с возможностью считывания из потока 204 битов кодированной версии (322, 222) структурно-акустических данных 211 и по меньшей мере одного аудиопотока 212, который должен рендерироваться, сформированного по меньшей мере посредством одного аудиоисточника в акустическом окружении 302;
- блок 310 декодирования аудиоисточников для декодирования по меньшей мере одного аудиопотока (312, 212);
- блок 320 декодирования структурно-акустических данных для декодирования структурно-акустических данных 211.
Структурно-акустические данные
Как показано на фиг. 1, структурно-акустические данные могут быть ассоциированы с многоугольниками (либо, более конкретно, в этом примере, с треугольниками). Многоугольники могут представлять собой многоугольники ячеистой сетки. Здесь, показаны три треугольника 110, 120 и 130. Первый треугольник имеет основную вершину 110a и две оставшихся вершины 110b и 110c. Второй треугольник 120 имеет основную вершину, которая совпадает с основной вершиной 110a первого треугольника 110 (и, таким образом, указывается с той же ссылочной позицией), и две других оставшихся вершины 120b (которая не совпадает с другой вершиной первого треугольника 110) и 110c (которая совпадает с другой вершиной первого треугольника 110). Третий треугольник 130 имеет основную вершину 130a и две оставшихся вершины 130b и 130c. В этом случае, оказывается, что координата Y основной вершины 130a является равной координате Y вершины 110 первого и второго треугольников.
Фиг. 7 показывает пример того, как могут пониматься структурно-акустические данные. Как можно видеть, треугольники 110 и 120 с вершинами 110a, 110b, 110c для треугольника 110a, 110c и 120b показаны (треугольник 130 не показан здесь). Как можно видеть, первый список (804, 3804, 400) вершин охватывает вершину (например, 110a, 110b, 110c, 120b и т.д.) в каждой записи, в комбинации с ее координатами (с координатой X, координатой Y, координатой Z). Следовательно, связывание между каждым индексом 403 вершины в списке вершин и координатами каждой вершины указывается (обозначения координат представляются с добавлением "X", "Y" или "Z"). Список (804, 3804, 400) вершин в силу этого ассоциирует индекс 403 вершины с триплетом (или n-кортежем, согласно размерностям) пространственных координат, которые идентифицируют положение вершины. В некоторых случаях, возможно то, что некоторые вершины повторяются, на основе того, что они представляют собой совпадающие вершины различных треугольников (например, вершины 110a и 11c повторяются, поскольку они являются совпадающими, но в различных треугольниках).
Фиг. 7 также показывает список (802, 3802) треугольников, который связывает каждый треугольник с индексами 403 вершин треугольника (либо, если обобщать, многоугольника). Например, в ассоциации с треугольником 110, наблюдается то, что предусмотрен индекс 0 вершины (ассоциированный с координатами вершины 110a), индекс 1 вершины (ассоциированный с вершиной 110b) и индекс 2 вершины (ассоциированный с вершиной 110c). В списке (802, 3802) треугольников, треугольник 120 ассоциирован с индексами вершин: 3 (ассоциированным с вершиной 110a), 4 (ассоциированным с вершиной 110c треугольника) и 5 (ассоциированным с вершиной 120b треугольника). Как можно видеть, в списке (802, 3802) треугольников, вместе с идентификацией данных треугольников и вершин, преобразующихся в вершины из списка вершин (и затем в положения вершин), также сохраняются акустические признаки (806, 3806), например, ассоциированные с акустическими свойствами материала.
По существу, фиг. 7 показывает пример структурно-акустических данных 221 (которые должны кодироваться), которые связывают треугольники (110, 120, 130) и их данные положения (например, координаты вершин) с акустическими свойствами материалов. Показано, что можно сжимать их структурно-акустические данные и записывать их в поток 204 битов.
Фиг. 4 показывает пример списка 400 структурно-акустических данных (который может представлять собой пример списка 400 (802, 3802) вершин, который перечисляет, в различных записях, материалы, ассоциированные с данными положения первичной вершины и оставшихся вершин каждого из треугольников 110, 120. Здесь, список 400 структурно-акустических данных показан как разделенный между координатами X (для размерности X), координатами Y (для размерности Y) и координатами Z (для размерности Z). Например, в координатах X, список 400 структурно-акустических данных имеет сохраненными, для первого треугольника 110:
- координату 110ax X первичной вершины 110a; и
- координаты 110bx и 110cx X оставшихся вершин 110b и 110c, соответственно.
Аналогично, в соответствующей записи координат Y списка 400 структурно-акустических данных (не показан на фиг. 4), соответствующий столбец первичной вершины включает в себя координату 110ay Y первичной вершины 110a, тогда как соответствующие столбцы для оставшихся вершин имеют вставленные координаты 110by и 110cy Y оставшихся вершин 110b и 110c, соответственно. То же применимо к размерности Z: в соответствующей записи координат Z списка 400 структурно-акустических данных (не показан на фиг. 4), соответствующий столбец первичной вершины включает в себя координату 110az Z первичной вершины 110a, тогда как соответствующие столбцы для оставшихся вершин 110b и 110c имеют вставленные координаты 110by и 110cy Y, соответственно.
Во второй записи (второй горизонтальный ряд сверху) списка 400 структурно-акустических данных, сохраняются координаты второго треугольника 120. Можно видеть, что координаты первичной вершины 110ax (но также и 110ay, 110az) повторяются (например, координата 110ax X первичной вершины 110a второго треугольника 120 повторяет равное значение, сохраненное для представления первичной вершины первого треугольника, несмотря на тот факт, что эти значения являются равными). То же применимо к вершине 110c, координаты 110cx, 110cy, 110cz которой являются равными для первого треугольника 110 и второго треугольника 120.
Кодирование/декодирование аудиоисточников
Блок 210 кодирования аудиоисточников и блок 210 декодирования аудиоисточников представляют собой важные элементы кодера 200 и декодера 300, соответственно. Источник звука, который должен кодироваться и декодироваться, может представляться по меньшей мере посредством одного аудиопотока 212, 312. Несмотря на это, он не представляется. По меньшей мере один источник звука может быть ассоциирован с данными положения (например, метаданными), которые определяют положение (например, виртуальную положение) по меньшей мере одного источника звука в акустическом окружении. Соответственно, звук 301 (аудиосигнал) может рендерироваться (например, посредством модуля 350 рендеринга) на основе структурно-акустических взаимосвязей между данными положения по меньшей мере одного аудиообъекта, акустическими свойствами материалов (предполагаемых в качестве материалов объекта) и данными положения по меньшей мере одного аудиоисточника. Эта операция может выполняться посредством модуля 350 рендеринга в декодере (который может представлять собой внешнее устройство).
Например по меньшей мере один аудиоисточник может иметь данные положения, которые включают в себя координаты, которые позволяют локализовать по меньшей мере один аудиоисточник в акустическом окружении за счет учета данных положения по меньшей мере одного объекта (и, в частности, вершин и треугольник) и структурных свойств материалов. По меньшей мере один аудиоисточник в силу этого локализуется в конкретном положении в акустическом окружении, и слушатель должен воспринимать звук как исходящий из этого положения и согласно эффекту свойств материалов.
Когда упоминается акустическое окружение, в силу этого отмечается не только пространственное окружение, но также и полная аудиосцена, которая должна кодироваться/декодироваться перед рендерингом. Акустическое окружение имеет собственные пространственные характеристики (например, данные положения, такие как список вершин и список треугольников, сжатые либо несжатые), но также и свойства материалов, которые составляют объекты в окружении, а также звук, который может виртуально формироваться в аудиоисточнике, локализованном в конкретном положении в пространственном окружении, и который виртуально обуславливается посредством структурно-акустических данных (данных положения и свойств акустических материалов), которые встречаются в пространственном окружении.
Блок кодирования структурно-акустических данных
Фиг. 8 показывает пример блока 220 кодирования структурно-акустических данных кодера 200. Как можно видеть, ввод в блок 220 кодирования структурно-акустических данных включает в себя структурно-акустические данные 221. Структурно-акустические данные 221 могут содержать, например, список 802 треугольников, список 804 вершин и акустические признаки 806. Акустические признаки 806 могут представлять собой часть списка 802 треугольников, но они здесь показаны по-другому для понятности.
Блок 220 кодирования структурно-акустических данных может содержать кодер 800 списков вершин, который может кодировать список 804 вершин для получения кодированного списка 808 вершин. Ниже поясняется, как может формироваться список 808 вершин кодера.
Блок 220 кодирования структурно-акустических данных может включать в себя кодер 850 списков треугольников. Кодер списков треугольников может заполняться посредством списка 802 треугольников, включающего в себя акустические признаки 806 и кодированный список 808 вершин в случаях, в которых кодированный список вершин предусмотрен в кодированной версии, либо, в качестве альтернативы, посредством списка 804 вершин в некодированной версии. Следовательно, в некоторых случаях не обязательно, что ввод 804 и 808 должны предоставляться в кодер 850 списков треугольников. Кодер 850 списков треугольников может обеспечивать кодированный список 852 треугольников, в котором список 802 треугольников сжимается. Даже при том, что фиг. 8 главным образом поясняется посредством использования слова «треугольник», тот же результат может получаться путём использования различных многоугольников.
Блок кодирования структурно-акустических данных
Фиг. 9 показывает пример блока 320 декодирования структурно-акустических данных декодера 300. Из потока 204 битов получается кодированная версия структурно-акустических данных 322 (которая представляет собой кодированную версию 222 структурно-акустических данных, кодированных посредством кодера 200). Модуль 330 считывания потоков битов может обеспечивать кодированную версию 3852 списка треугольников (которая представляет собой копию списка 852 треугольников кодера, кодированного посредством кодера 850 списков треугольников) и кодированную версию 3808 списка вершин (которая представляет собой копию кодированного списка 808 вершин, кодированного посредством кодера 800 списков вершин). Декодер 3850 списков треугольников может заполняться посредством списка 3852 треугольников кодера. Декодер 3800 списков вершин может заполняться посредством кодированного списка 3808 вершин таким образом, чтобы обеспечивать декодированный список 3804 вершин. Декодер 3850 списков треугольников может выводить декодированный список 3802 треугольников. Декодер 3850 списков треугольников может заполняться либо посредством кодированного списка 3808 вершин, либо посредством списка 3804 вершин, выводимого посредством декодера 3800 списков вершин. Структурно-акустические данные 321 в силу этого могут содержать список 3802 треугольников (включающий в себя акустические признаки 3806) и список 3804 вершин. Список 3802 треугольников может указывать, для каждого треугольника, индекс вершины, принимаемый из списка 804 и 3804 вершин. Даже при том, что фиг. 9 главным образом поясняется путём использования слова «треугольник», тот же результат может получаться путём использования различных многоугольников.
Кодирование и декодирование индексов вершин
Теоретически может быть возможным просто кодировать все координаты каждой вершины в потоке 204 битов. Например, может быть возможным кодирование для первичной вершины всех ее координат (110ax, 110ay, 110az) X, Y, Z; выполнение той же операции для оставшихся вершин 110b и 110c первого треугольника 110 и повторение всех полей также для второго треугольника 120 (т.е. представление всех координат X, Y, Z для первичной вершины 110a и для оставшихся вершин 120bx и 110cx). Тем не менее, следует понимать, что при таком подходе должно вызываться повторение полей данных. Например, тот факт, что координаты первичной вершины 110a (которая является общей для обоих треугольников 110 и 120) повторяются, увеличивает длину потока 204 битов и уменьшает эффективность.
Следовательно, предпочтительно приспосабливать технологию, согласно которой по меньшей мере для одной размерности (X, Y, Z) (и в некоторых примерах для каждой размерности акустического окружения) можно записывать координату только однократно для первого треугольника (например, 110) и посредством ссылки по меньшей мере на одну ранее кодированную координату при кодировании по меньшей мере одной координаты последующего треугольника (например, 120). В примере по фиг. 1, в силу этого преимущественно можно применять такую технологию к каждой из координат X, Y, Z основной вершины 110a второго треугольника 120 и к каждой из координат X, Y, Z вершины 110c второго треугольника 120 (это невозможно для координат вершины 120b, и их значение должно вставляться в поток 204 битов). Технология может подразумевать ссылку, например, через короткий код, на ранее кодированную координату вершины. Показано, что можно сохранять уже кодированные координаты в упорядоченном окончательном списке 450 (с созданиями 450x, 450 лет, 450z экземпляра для различных размерностей) и адресовать их просто посредством кодирования упорядоченного значения (например, индекса), которое представляет собой упорядоченное значение, которое, в окончательном списке 450, ассоциировано с ранее кодированной координатой.
Вышеприведенный пример также может применяться к одиночным координатам каждой вершины. Например, если группа вершин имеет равную координату X или координату Z, или координату Y, они могут кодироваться посредством ссылки на предыдущую координату (а именно, кодер может определять необходимость декодировать их в близкой последовательности таким образом, что сохраненные координаты поддерживаются в окончательном списке, перед обновлением). Например, координата (независимо от того, X, Y или Z) может фактически записываться в поток 204 битов только для первой вершины, которая кодируется, тогда как последующие вершины могут кодироваться посредством простой ссылки на предшествующую кодированную координату. Например, координаты 110ay и 130ay Y вершины 110a (в треугольниках 110 и 120) и вершины 130a, соответственно, являются одинаковыми (см. фиг. 1); следовательно, предпочтительно записывать в поток 204 битов (и, до этого, в кодированный список 808 вершин) значение 110ay координаты и ссылаться на него в дальнейшем посредством кодирования значения, которое представляет собой порядковое значение в упорядоченном окончательном списке 450. Поскольку кодер и декодер обновляют окончательный список аналогичным образом (как реплику), они совместно используют сведения по значениям в упорядоченном окончательном списке 450 (и в его созданиях 450x, 450 лет, 450z экземпляра). Если обобщать, следует понимать, что упорядоченный окончательный список 450, в котором координаты ранее кодированных вершин сохраняются в ассоциации с ординальным значением 455 (подвергнутым созданию экземпляра посредством 455x, 455y, 455z).
Фиг. 4 показывает создание 450x экземпляра первого окончательного списка для координаты X, второй окончательный список 450y для координаты Y и третий окончательный список 450z для координаты Z. Как можно видеть, в создании 450x экземпляра окончательного списка, первое значение (ассоциированное с упорядоченным значением 0) сохраняется в качестве 110ax, поскольку оно представляет собой координату 110ax X первой обработанной вершины первого треугольника 110. Во втором упорядоченном значении 1, сохраняется значение 110bx, которое ссылается на координату 110bx X вершины 110b треугольника 110. В третьем упорядоченном значении 2 (в третьем индексе), сохраняется значение 110cx, полученное из координаты 110cx X вершины 110c первого треугольника 110. В четвертом упорядоченном значении 3 (в четвертом индексе), записывается координата 120bx X вершины 120b второго треугольника 120. Это аналогично должно происходить для окончательного списка 450y и окончательного списка 450z для координат Y и Z, соответственно (предусмотрено ординальное значение для каждого из окончательных списков, т.е. для каждой из размерностей). Следует отметить, что упорядоченный список 450 пополняется (сохраняется) на лету во время кодирования потока 204 битов (или кодированной версии структурно-акустических данных 422). В примерах, упорядоченный окончательный список 450 пополняется при условии, что кодированная версия 222 структурно-акустических данных 221 формируется. Например, когда координата 110ax X записывается в кодированную версию 222 структурно-акустических данных 221 (и, в частности, в кодированный список 808 вершин), значения 110bx, 110cx, 120bx, по-прежнему не присутствуют в создании 450x экземпляра окончательного списка для координаты X. Следовательно, упорядоченный окончательный список 450 (и в его созданиях 450x, 450 лет, 450z экземпляра) обновляется на лету в то время, когда кодированная версия 222 структурно-акустических данных 221 формируется (и более конкретно, кодированный список 808 вершин формируется).
Фиг. 4 также показывает кодирование вершины 130a. Поскольку координата Y вершин 110a и 130a является равной (но координаты X и Z не являются равными), координата Y вершин не повторяется в создании 450y экземпляра окончательного списка для координаты Y (и, фактически, создание 450y экземпляра окончательного списка имеет меньше сохраненных координат по сравнению с созданиями 450x и 450z экземпляра окончательного списка). Кроме того, это противоречит этому факту, что одинаковое значение 110ay координаты повторяется в координатах Y обеих вершин 110a и 130a. Кроме того, при кодировании версии 222 структурно-акустических данных 221 (либо, если обобщать, при кодировании кодированной версии 808 списка 400, 804 вершин), можно базово ссылаться на индекс 0 создания 450y экземпляра окончательного списка, которое имеет, в общем, меньшую битовую длину, чем более длинные коды.
Фиг. 4 показывает пример кодированной версии 222 структурно-акустических данных 221, которая должна записываться в поток 204 битов (и, в частности, кодированной версии 808, 3808 кодированного списка вершин). Каждое кодирование каждой вершины включает в себя маску 160 для каждой вершины, информирующую в отношении того, фактически кодируются значения координат, либо кодируется только их ссылка через упорядоченное значение (450), сохраненное в окончательном списке (450x, 450y, 450z). Маска 160, в этом случае, представляется в качестве трех двоичных значений 160x, 160y, 160z, каждое из которых указывает выбор двоичной информации между следующим:
- кодирование координаты вершины; и
- кодирование упорядоченного значения (индекса) из упорядоченного окончательного списка.
Когда первичная вершина 110a первого треугольника 110 кодируется, другая вершина фактически заранее не сохраняется в окончательном списке 450: это означает то, что окончательный список 450 является пустым, и в силу этого невозможно ссылаться на положение 455 любой ранее кодированной координаты. Следовательно, все двоичные значения 160x, 160y, 160z маски 160 равны 0 (здесь предполагается, что 0 означает то, что координаты должны кодироваться в кодированной версии 222 структурно-акустических данных 221, тогда как двоичное значение 1 означает то, что только упорядоченное значение ординатного списка 450 кодируется, но двоичные значения могут иметь противоположное смысловое значение в других примерах). Затем, кодируется индекс 403 вершины (или другой идентификатор вершины), а в полях 170c данных значений координат, также кодируются значения 110ax, 110ay, 110az координат. То же повторяется для кодирования оставшихся вершин 110b, 110c.
Фиг. 4 также показывает кодирование вершины 130a. Поскольку координаты Y вершин 110a и 130a являются равными (но координаты X и Z не являются равными), не обязательно повторять кодирование значения координаты Y вершины 130a. Как можно видеть, ее значение 110ay уже сохраняется в первом положении создания 450y экземпляра окончательного списка 450. По этой причине, упорядоченное значение 0 вставляется в кодированную версию 222 структурно-акустических данных 221 (либо, более конкретно, в кодированную версию 808, 3808 кодированного списка вершин и в поток битов). Как можно видеть, маска 160 равна 0 для двоичных значений 160x и 160z, но равна 1 для двоичного значения 160y. Фактически, затем поле 170v данных ординальных значений (переносящее упорядоченное значение 0, которое представляет собой упорядоченное значение координаты 110ay для ссылки в создании 450y экземпляра окончательного списка) кодируется вместо значения координаты по длине. Как указано посредством двоичных значений 160x и 160z, на значения координат 130ax и 130az ссылаются не через упорядоченные значения, а с помощью всех значений координат, в полях 170c данных значений координат.
В примерах, вершина 110a не кодируется двукратно в кодированной версии 222 структурно-акустических данных 221 (либо, более конкретно, в кодированной версии 808, 3808 кодированного списка вершин). Просто список треугольников должен ссылаться на одинаковую вершину 110a для обоих треугольников 110 и 120.
В общих чертах, для каждой координаты каждой вершины (первичной вершины или оставшейся вершины), блок 220 кодирования структурно-акустических данных (и, в частности, кодер 800 списков вершин) кодирует: значение, выбранное между:
- значением координаты; и
- ординальным значением (455x, 455y, 455z) ранее кодированной координаты (и в силу этого ранее кодированным в кодированной версии 222, которая должна записываться в потоке 204 битов, либо, более конкретно, в кодированной версии 808, 3808 кодированного списка вершин).
Выбор между кодированием значения координаты и ординального значения 455 (455x, 455y, 455z) может осуществляться на основе того, находится ли ранее кодированная координата в окончательном списке 450.
Конечно, если вторая вершина треугольника имеет одну и ту же ось координат с другим треугольником (но не является совпадающей), то двоичные значения в полях 160x, 160y, 160z маски 160 могут отличаться (поскольку могут быть предусмотрены одна или две координаты, должны фактически кодироваться в кодированной версии 122 структурно-акустических данных 221), тогда как по меньшей мере одно двоичное поле должно быть равным 1 (и необходимо указывать то, какое упорядоченное значение в кодированной версии 222 данных 221 многоугольников). Это имеет место для вершины 130a, которая имеет одинаковую координату Y с вершиной 110a. По этой причине, для каждой вершины, могут быть предусмотрены некоторые координаты, которые могут записываться в кодированную версию 222 данных 221 многоугольников, тогда как координаты, которые уже записаны идеально (и сохранены в упорядоченном окончательном списке 450), могут просто задаваться с ординальными значениями.
Окончательный список 450 может обновляться, например, таким образом, что менее частые значения координат удаляются из окончательного списка 450 (например, на основе более частых кодируемых значений координат). В качестве альтернативы или дополнения, окончательный список 450 может обновляться таким образом, что последние значения координат, кодированные в потоке 204 битов, принимают ранее кодированные значения координат. Эти технологии могут комбинироваться между собой: например, ранжирование может устанавливаться между уже кодированными координатами, причем ранжирование основано на количественном показателе, назначенному каждой уже кодированной координате на основе смешанного критерия, который охватывает как частоту кодирования координаты (посредством увеличения количественного показателя для самой частой координаты), так и новизну координаты (посредством увеличения количественного показателя для последней координаты), с тем чтобы присваивать первые положения в окончательном списке 450 (ассоциированные с меньшими битовыми длинами) этим уже кодированным координатам, имеющим более высокий количественный показатель, и посредством исключения из окончательного списка 450 этих уже кодированных координат, имеющих более низкий количественный показатель, до точки исключения этих уже кодированных координат, имеющих минимальный количественный показатель.
Также можно кодировать различные многоугольники (например, треугольники), имеющие вершины, которые имеют равные координаты в близкой последовательности относительно друг друга, с тем чтобы увеличивать вероятность того, что координата уже присутствует в окончательном списке 450. Если обобщать, можно упорядочивать кодирование структурно-акустических данных 221 таким образом, что многоугольники (например, треугольники), имеющие вершины, которые имеют равные координаты, кодируются с шагами, более близкими, чем многоугольники (например, треугольники), имеющие вершины, которые не имеют равные координаты. В примерах, упорядочение кодирования может выбираться таким образом, что чем больше общими являются координаты, тем ближе кодирование вершин.
На основе вышеприведенных технологий, эти индексы 450 (ординальные значения), которые главным образом используются, очень существенно уменьшаются по размерности, что подразумевает то, что также кодированная версия 222 структурно-акустических данных 221 сжимается, и поток 204 битов уменьшается по длине.
Следует отметить, что выше предполагается, что значения в упорядоченном окончательном списке 450 кодируются на лету, посредством последующего обновления упорядоченного окончательного списка. Это может возникать, например, в случае потоковой передачи.
Следовательно, блок 220 кодирования структурно-акустических данных может использовать по меньшей мере для одной размерности (X, Y, Z) акустического окружения (или ограничивающего прямоугольника, см. ниже), упорядоченный окончательный список 450, в котором значения координат ранее кодированных вершин многоугольника сохраняются согласно порядку (индексу, ординальному значению 450). Блок 220 кодирования структурно-акустических данных может, в случае, если значение координаты одной текущей основной вершины многоугольника или оставшейся вершины многоугольника является равным одному значению координаты ранее кодированных основных вершин многоугольника или оставшихся вершин многоугольника, сохраненных в окончательном списке в определенном ординальном значении, кодировать ординальное значение окончательного списка 450. В случае если значение координаты одного текущего многоугольника отличается от любого значения координаты одной ранее кодированной основной вершины многоугольника или оставшейся вершины, сохраненной в окончательном списке 450, то значение координаты кодируется в потоке 204 битов. В свою очередь, блок 320 декодирования структурно-акустических данных кодера 200 также может использовать по меньшей мере для одинаковой размерности, упорядоченный окончательный список, в котором значения координат ранее декодированных основных вершин многоугольника или оставшихся вершин многоугольника сохраняются согласно порядку. Блок 320 декодирования структурно-акустических данных может, в случае если в потоке 204 битов кодировано конкретное ординальное значение окончательного списка, восстанавливать значение координаты в качестве значения, сохраненного в окончательном списке 450, ассоциированном с ординальным значением.
По существу, окончательный список 450 в декодере 300 может пониматься как реплика окончательного списка 450 в кодере 200.
Блок 220 кодирования структурно-акустических данных кодера 200 может кодировать по меньшей мере для одной размерности (но предпочтительно для каждой из трех размерностей), значение (160x, 160y, 160z) двоичной маски, указывающее, кодируется ли значение координаты или ординальное значение в окончательном списке (в поле 170c или 170v). В свою очередь, блок 320 декодирования структурно-акустических данных декодера 300 может оценивать, для каждой вершины, значение 160 (160x, 160y, 160z) двоичной маски, указывающее, кодируется ли значение координаты или ординальное значение в окончательном списке в потоке (204) битов. Соответственно, блок 320 декодирования структурно-акустических данных может определять то, кодируется каждая координата в качестве значения координаты или в качестве индекса (ординального значения).
Как пояснено выше, если две вершины имеют только одну или две равных координаты (таких как вершины 130a и 110a), то кодирование/декодирование ординального значения (индекса) вместо значения координаты должно возникать только для равных координат, тогда как для различных одной или двух координат, значение координаты независимо кодируется/декодируется.
Как пояснено выше, окончательный список 450 может разделяться в созданиях 450x, 450 лет, 450z экземпляра, которые могут независимо трактоваться. В примерах, блок 220 кодирования структурно-акустических данных сконфигурирован таким образом, чтобы:
- в случае, если для первой размерности, значение координаты одной текущей вершины является равным одному значению координаты одной ранее кодированной вершины, сохраненной в создании экземпляра окончательного списка, связанном с первой размерностью в определенном ординальном значении, кодировать ординальное значение создания экземпляра окончательного списка, и
- в случае, если для второй размерности, значение координаты текущей вершины отличается от любого значения координаты одной ранее кодированной вершины, сохраненной в создании экземпляра окончательного списка, связанном со второй размерностью, кодировать значение координаты.
Аналогично, в декодере 300:
- в случае, если для первой размерности, значение координаты одной текущей вершины является равным одному значению координаты одной ранее декодированной вершины, сохраненной в создании экземпляра окончательного списка, связанном с первой размерностью в определенном ординальном значении (и это может передаваться в служебных сигналах в потоке 204 битов, например, в одном первом из двоичных значений маски 160), декодировать ординальное значение создания экземпляра окончательного списка, и
- в случае, если для второй размерности, значение координаты текущей вершины отличается от любого значения координаты одной ранее декодированной вершины, сохраненной в создании экземпляра окончательного списка, связанном со второй размерностью (и это также может передаваться в служебных сигналах в потоке 204 битов, например, в одном втором из двоичных значений маски 160), декодировать значение координаты.
Кодирование списков треугольников/декодирование
Фиг. 6a показывает то, как, чтобы кодировать кодирующий список 852 треугольников. Как пояснено, каждый треугольник кодируется посредством связывания индексов вершин для вершин из списка вершин (в сжатой форме 804, 3804, 400) и акустических признаков материала. Для каждого треугольника, может кодироваться индекс вершины для вершины либо из списка вершин в сжатой форме (808), либо из индекса во втором окончательном списке (также называемом здесь «списком MTF (с продвижением вперед)»). Второй окончательный список (список MTF), который поясняется подробнее далее, содержит индексы вершин, которые ранее использованы. Если индекс вершины уже находится во втором окончательном списке, то его положение кодируется. В противном случае, индекс вершины из кодированного списка 808 вершин записывается. Символы, ассоциированные с различными положениями, могут быть такими, что их битовая длина увеличивается с расстоянием от первого положения. Дополнительное значение (которое может превышать любое другое значение второго окончательного списка) может кодироваться в любое время, когда индекс вершины должен записываться вместо положения во второй окончательный список. Пример приведён на фиг. 6a. На этапе 602, получается вершина, которая должна записываться в поток 204 битов. На этапе 604 оценивается, находится ли уже индекс вершины во втором окончательном списке (списке MTF). Если индекс вершины не находится во втором окончательном списке (списке MTF), то символ (например, 0b11111111) записывается в поток битов, а после этого также индекс вершины, извлекаемый из кодированного списка 808 вершин или из исходной вершины 804. На этапе 612, второй окончательный список может обновляться посредством записи индекса вершины, записанного в поток битов (либо, если обобщать, в кодированный список 852 треугольников). Дополнительно, можно модифицировать статистику вхождений индексов вершин, посредством модификации надлежащим образом гистограмм, ассоциированных с индексом вершины. Следует отметить, что порядок этапов 610 и 612 может инвертироваться или обращаться. Если на этапе 604 определяется то, что индекс вершины уже находится во втором окончательном списке (MTF), то его положение записывается в поток битов (либо, если обобщать, в кодированный список 852). Также в этом случае, гистограммы и список MTF могут модифицироваться на этапе 608. Кроме того, порядок этапов 606 и 608 может инвертироваться. Затем, новый индекс вершины может кодироваться. Следует отметить, что как положение, так и индекс вершины могут кодироваться согласно так называемому арифметическому кодированию, которое требует сведений по гистограммам вероятности каждого индекса вершины как посредством кодера, так и посредством декодера.
Фиг. 6b показывает пример декодирования списков треугольников. На этапе 3602, новый индекс вершины должен декодироваться. На этапе 3604 определяется, находится ли уже индекс вершины в списке MTF. Это может определяться, например, посредством проверки в потоке битов. В случае потока битов, имеющего символ, указывающий то, что индекс вершины записывается полностью (а не его положение из второго окончательного списка), далее этапы 3610 и 3612 активируются. На этапе 3610, индекс вершины считывается и записывается в декодированной версии списка треугольников. На этапе 3612, гистограммы и список MTF обновляются. В случае если оценка на этапе 3604 предусматривает, что индекс вершины уже находится во втором окончательном списке (списке MTF), то этапы 3606 и 3608 активируются. На этапе 3606, положение индексной вершины считывается из второго окончательного списка (посредством точки с конкретным порядковым значением второго окончательного списка), и его значение считывается из окончательного списка. На этапе 3608, гистограммы в списке MTF модифицируются. На этапах 3608 и 3612, когда гистограммы модифицируются, это означает, что вероятность наличия конкретного индекса вершины увеличивается. Когда речь идет о том, что список MTF модифицируется, это означает то, что индекс вершины вставляется в первое положение (в положение с наименьшим положением второго окончательного списка). Этапы 3606 и 3608 могут инвертироваться между собой. Этапы 3610 и 3612 могут инвертироваться между собой.
По существу, как кодер, так и декодер содержат второй окончательный список (список MTF), и необходимо понимать, что второй окончательный список декодера представляет собой реплику второго окончательного списка кодера. По существу, операции являются одинаковыми, за исключением того факта, что в одном случае, кодированный список 852 треугольников кодируется, а в другом декодируется.
Фиг. 10a-10g показывают пример операций в кодере 850 списков треугольников (они могут легко адаптироваться к операциям в декодере 3850 списков треугольников). Кодер упоминается только для прозрачности, но тот же пример может приводиться для декодера. На фиг. 10a, показывается этап 0 инициализации, на котором второй окончательный список 1450 (список MTF) является пустым от значений. На фиг. 10b (этап 1), первые индексы 0 и 10 вершин должны кодироваться. Обновляются как второй окончательный список 1450, так и гистограммы 1460. В частности, второй окончательный список 1450 имеет, в своих первых положениях, значения 0 и 5, которые должны кодироваться. Гистограммы ассоциируют вхождения 1 для каждого из значений 0 и 6. Вхождения должны пониматься как ассоциированные с вероятностями. На фиг. 10c, вершина 5 кодируется. Второй окончательный список 1450 и гистограммы 1460 обновляются. Как можно видеть во втором окончательном списке 1450, значение 5 занимает первое положение, тогда как значения 0 и 10 сдвигаются к менее значимым положениям во втором окончательном списке. На фиг. 107, другая вершина 7 кодируется. Она размещается во втором окончательном списке 1450, и гистограммы 1460 обновляются. На фиг. 10e, вершина 5 должна записываться снова. Соответственно, в кодированной версии 852 списка треугольников (и затем в потоке 204 битов), кодируется положение 1470 (указываемое как 0b10) значения 5 (как можно видеть, значение 5 находится во втором положении). В этот момент, также вершина 5 занимает первое положение во втором окончательном списке 1450 (списке MTF). Следует отметить, что фиг. 10e фактически показывает этап 606 способа, показанного на фиг. 6a, поскольку положение записывается, с символом 1470, аналогично этапу 606 по фиг. 6a. Следует отметить, что занимаемое положение представляет собой второе положение до обновления второго окончательного списка 1450 (этап 608, который указывается на фиг. 10a). Фиг. 10f просто показывает то, что другие коды кодируются. Фиг. 10g показывает пример, в котором вершина 8 должна кодироваться, но 8 не находится в окончательном списке 1450 (при том, что окончательный список является полным). Это представляет собой пример этапа 610 по фиг. 6a. В этом случае, код 0b11111111 (или другой код, указывающий ту же ситуацию) кодируется для указания, что код не находится во втором окончательном списке 1450. Как можно видеть, второй окончательный список 1450 обновляется посредством помещения значения 8 в первое положение и посредством исключения (выталкивания) последнего значения в списке.
Фиг. 10h показывает пример кодов, ассоциированных с положением. Как можно видеть, первое положение ассоциировано с 0b0, который представляет собой кратчайший код, тогда как конечный код 0b11111111 указывает, что положение не кодируется, но значение индекса вершины должно кодироваться. То же должно применяться к декодеру, но в этом случае, кодированное значение считывается, и необходимо понимать, следует ли выполнять поиск конкретного индекса вершины из второго окончательного списка 1450 (списка MTF), либо то, кодируется ли индекс вершины.
В любом случае, может использоваться арифметическое кодирование, при котором более короткие коды назначаются более рекуррентным значениям индекса, которые должны кодироваться.
Ограничивающий прямоугольник
Можно уменьшать длину данных, которая должна кодироваться в кодированной версии 222 и/или в потоке 204 битов, посредством интеллектуального изменения пространственной системы координат с исходной пространственной системы координат на систему координат, имеющую преимущественные особенности.
Например, можно изменять систему координат таким образом, что она имеет начало координат ближе к вершинам многоугольника, в силу этого уменьшая расстояния от начала координат (а также длину координат). Например, она может выбираться таким образом, чтобы уменьшать объем, который должен кодироваться, до ограничивающего прямоугольника, в частности, в случаях, в которых вершина не исключается. В частности, ограничивающий прямоугольник может содержаться в акустическом окружении, и структурно-акустические данные, которые должны кодироваться в потоке 204 битов и/или в версии 222, кодируются со ссылкой на пространственную систему координат, заданную посредством одной определенной вершины ограничивающего прямоугольника.
Пример ограничивающего прямоугольника 500 приведён на фиг. 5. Ограничивающий прямоугольник может представлять собой параллелепипедальный объем (либо, если обобщать, полиэдральный объем), но в общих чертах может примерно иллюстрироваться в качестве призматического объема (в частности, с прямоугольным основанием), и в некоторых случаях, он может представлять собой куб. Фиг. 5 показывает ограничивающий прямоугольник 500 и, только для иллюстрации, многоугольник 510, содержащийся в ограничивающем прямоугольнике 500. Многоугольник 510 (треугольник) в качестве первичной вершины 510a и двух оставшихся вершин 510b и 510c. Многоугольник 510 содержится в ограничивающем прямоугольнике 500 (в общих чертах, он представляет собой ограничивающий прямоугольник 500, который выбирается таким образом, что все многоугольники содержатся). На фиг. 5, другие треугольники вообще не показаны только для простоты. Ограничивающий прямоугольник 500 может передаваться в служебных сигналах, например, посредством записи его признаков положения и/или признаков ориентации. Например, может кодироваться положение определенной вершины 502 (например, положение ближе к исходному началу системы координат). В некоторых случаях, другие вершины ограничивающего прямоугольника 500 и/или информация ориентации ограничивающего прямоугольника 500 могут кодироваться в потоке битов. Форма и ориентация ограничивающего прямоугольника 500 передаются в служебных сигналах однозначно таким образом, что декодер может восстанавливать положение вершин 510a, 510b, 510c относительно ограничивающего прямоугольника и, в свою очередь, относительно начала координат исходных осей. Ограничивающий прямоугольник 500 также может составлять новую пространственную систему координат посредством перемещения в пространстве, вращения, либо, если обобщать, вращательного перемещения в пространстве. В простом случае по фиг. 5, координаты вдоль размерностей Y и Z поддерживаются одинаковыми между старой системой координат и новой системой координат, но X сдвигается на величину "bounding_box_min", вызываемую посредством сдвига начала координат, так что она соответствует вершине 502 ограничивающего прямоугольника 500. Это является преимущественным в случае, в котором, в промежуточном пространстве между вершиной 502 и началом O исходной пространственной системы координат, не присутствуют вершины. Следовательно, когда координаты вершин 510a, 510b и 510c многоугольника 510 кодируются (в версии 222 и/или в потоке 204 битов), битовая длина координат в направлении по оси X уменьшается. Следовательно, ограничивающий прямоугольник 500 может задаваться таким образом, что он содержит все вершины, которые должны кодироваться, но с уменьшением пространства между исходным началом системы координат и новым началом системы координат (которое в этом случае соответствует вершине 502 ограничивающего прямоугольника 500). По существу, смена системы координат осуществляется таким способом для уменьшения длины координат, которые должны кодироваться в потоке 204 битов и/или в версии 222 структурно-акустических данных.
В качестве альтернативы или дополнения, могут выполняться другие виды оптимизаций, ассоциированные с определением ограничивающего прямоугольника. Например, можно оценивать возможные рекуррентные шаблоны. Если акустическое окружение представляет по меньшей мере один рекуррентный шаблон, можно ограничивать ограничивающий прямоугольник по меньшей мере одним рекуррентным шаблоном. Рекуррентный шаблон, например, может представлять собой симметричный шаблон. Например, симметрия может представлять собой радиальную симметрию или плоскую симметрию (другие симметрии являются возможными). В случае симметрии (либо, если обобщать, рекуррентного шаблона), не обязательно кодировать все вершины всех многоугольников, поскольку можно кодировать только координаты рекуррентного шаблона (например, в случае плоской симметрии, половины симметричного объема), с тем чтобы уменьшать количество вершин, которые должны кодироваться в потоке 204 битов. По существу, ограничивающий прямоугольник 500 может задаваться таким образом, что он содержит рекуррентный шаблон однократно, без повторного кодирования других рекуррентных шаблонов (например, в случае плоской симметрии, необходимо не только то, что ограничивающий прямоугольник 500 должен содержать половину симметричного объема из плоскости симметрии к одному из двух направлений). Данные рекуррентного шаблона передаются в служебных сигналах в потоке 204 битов (например, в случае плоской симметрии, данные симметрии должны кодироваться таким образом, что кодер 200 может восстанавливать форму представленного акустического объекта; например, в случае плоской симметрии, можно просто обеспечивать информацию, задающую плоскость симметрии, так что декодер может восстанавливать конечную форму посредством повторной вставки некодированной половины симметричной формы). То же может выполняться в случае, если рекуррентные шаблоны представляют собой периодические формы: ограничивающий прямоугольник может быть ограничен формой, которая периодически повторяется, тогда как данные рекуррентного шаблона могут включать в себя информацию, которая позволяет восстанавливать конечную форму акустического объекта посредством декодера (например, включающую в себя пространственный период, например, в трех размерностях и т.д.). То же также может применяться в случае переменной симметрии, согласно которой задается только угловая форма, и данные рекуррентного шаблона передаются в служебных сигналах относительно точки симметрии и/или радиуса симметрии, так что декодер 300 может восстанавливать конечную радиальную симметричную форму на основе данных симметрии.
Из нижеприведенных фрагментов текста должно быть очевидным, что также можно задавать ограничивающий блок, в котором, когда пространственная система координат изменяется на пространственную систему координат, заданную посредством ограничивающего прямоугольника, координаты, значения которых имеют наибольший общий делитель больше 1, максимизируются.
В примерах, блок 210 кодирования аудиоисточников кодера 200 в силу этого может задавать ограничивающий прямоугольник, содержащийся в акустическом окружении, и кодировать структурно-акустические данные в ограничивающем прямоугольнике, в силу этого отказываясь от записи структурно-акустических данных в областях за пределами ограничивающего прямоугольника. Ограничивающий прямоугольник может исключать части акустического окружения, которые вообще не содержат первичных вершин и оставшихся вершин многоугольника. Информация относительно ограничивающего прямоугольника, включающего в себя данные положения ограничивающего прямоугольника, может передаваться в служебных сигналах в потоке 204 битов таким образом, чтобы обеспечивать локализацию ограничивающего прямоугольника в акустическом окружении. Структурно-акустические данные в силу этого могут подвергаться изменению системы координат на новую систему координат, заданную посредством ограничивающего прямоугольника, и координаты вершин многоугольников в силу этого могут кодироваться со ссылкой на новую систему координат, заданную посредством ограничивающего прямоугольника. В свою очередь, блок 310 декодирования аудиоисточников декодера 300 может считывать, во вспомогательной информации потока 204 битов, информацию относительно ограничивающего прямоугольника и, в частности, данные положения. Следовательно, блок 310 декодирования аудиоисточников может локализовать ограничивающий прямоугольник в окружении. Кроме того, блок 310 декодирования аудиоисточников может декодировать структурно-акустические данные в ограничивающем прямоугольнике, и, на основе локализации, выполняемой через данные положения ограничивающего прямоугольника, блок 310 декодирования аудиоисточников может восстанавливать данные положения ограничивающего прямоугольника в окружении. Блок 310 декодирования аудиоисточников выполняет смену системы координат с системы координат, заданной посредством ограничивающего прямоугольника, на исходную систему координат окружения, например, посредством выполнения смены системы координат, инвертированной относительно смены, выполняемой в кодере 200.
Как пояснено выше, блок 210 кодирования аудиоисточников кодера 200 также может оценивать, представляет ли акустическое окружение по меньшей мере один рекуррентный шаблон, и ограничивать ограничивающий прямоугольник по меньшей мере одним рекуррентным шаблоном. Данные рекуррентного шаблона в силу этого могут передаваться в служебных сигналах в потоке 204 битов. В этом случае, блок 310 декодирования аудиоисточников декодера 300 может восстанавливать по меньшей мере один акустический объект посредством применения рекурренции (например, посредством продления посредством симметрии посредством периодичности и т.д.) к рекуррентному шаблону в ограничивающем прямоугольнике.
Например по меньшей мере один рекуррентный шаблон может представлять собой симметричный шаблон (например, плоский симметричный шаблон), и данные рекуррентного шаблона в силу этого могут представлять собой данные симметрии (например, данные положения, указывающие положение и/или ориентацию плоскости симметрии), которые могут передаваться в служебных сигналах в потоке 204 битов. В свою очередь, блок 310 декодирования аудиоисточников декодера 300 может восстанавливать по меньшей мере один объект посредством симметричного формирования структурно-акустических данных в положениях, симметричных по отношению к положениям первичных вершин и оставшихся вершин многоугольника в ограничивающем прямоугольнике (например, относительно плоскости симметрии).
Наибольший общий делитель
С или без присутствия ограничивающего прямоугольника, в примерах, кодер может выполнять поиск вершин, которые имеют по меньшей мере в одной координате, общий наибольший общий делитель. Следовательно, кодер 200 дополнительно выполнен с возможностью выполнения поиска для конкретной размерности акустического окружения, которое должно кодироваться, и для множества первичных вершин многоугольника или оставшихся вершин многоугольника по меньшей мере одного общего делителя, делящего координаты первичных вершин многоугольника или оставшихся вершин многоугольника, чтобы за счет этого кодировать поделенную версию значения координаты.
Рассмотрим, на фиг. 5, координату xa X вершины 510a и координату xb X вершины 510b (например, координаты xa и xb, возможно, дискретизированы таким образом, что они являются целыми числами). Если координаты xa и xb имеют наибольший общий делитель g>1, то можно разлагать на множители xa и xb, так что xa=g*da и xb=g*db, и где da и da являются целым числом, где da<xa и db<xb, и где g<xa и g<xb. Следовательно, вместо кодирования (в кодированной версии 222 структурно-акустических данных и/или в потоке 204 битов) больших чисел (с большой битовой длиной) xa и xb, могут кодироваться небольшие числа (с небольшой битовой длиной) g, da и db. Соответственно, надлежащее уменьшение битовой длины может достигаться, в частности, когда наибольший общий делитель извлекается для множества координат вершин.
В примерах, блок 210 кодирования аудиоисточников кодера 200 в силу этого может выполнять поиск по меньшей мере для одной размерности окружения или ограничивающего прямоугольника, общего делителя, отличающегося от (большего) 1, из координат множества первичных вершин многоугольника или оставшихся вершин многоугольника, чтобы за счет этого кодировать в потоке 204 битов общий делитель и результаты делений координат на общий делитель. Следовательно, поток 204 битов кодирует в данном документе по меньшей мере два значения координат по меньшей мере двух различных вершин в разложенной на множители форме согласно общему делителю. Это передается в служебных сигналах в потоке 204 битов (также общий делитель кодируется). В свою очередь, блок 310 декодирования аудиоисточников декодера 300 может восстанавливать по меньшей мере два значения координат, кодированные в разложенной на множители форме, посредством умножения каждого по меньшей мере из двух значений координат на общий делитель, с тем чтобы восстанавливать по меньшей мере два значения координат.
На фиг. 4, поток 204 битов показан как имеющий поля 170c данных значений координат, в которых кодируются значения координат, и поля 170v данных ординальных значений, в которых кодируются ординальные значения окончательного списка 450. Поля 170c данных значений имеют, в общем, большую битовую длину, чем поля 170v данных ординальных значений.
Квантование
Следует отметить, что блок кодирования структурно-акустических данных может предварительно выполнять квантование для структурно-акустических данных 221, за исключением дублированных вершин и вырожденных многоугольников. Когда это применяется, пример, поясненный выше (со ссылкой на фиг. 1 и 4), может по существу управляться через квантование.
Пояснение
Новый подход на основе кодирования с помощью треугольной ячеистой сетки состоит из нескольких этапов, каждый из которых способствует повышенной эффективности. Не обязательно строго выполнять все этапы вместе.
Первый этап равномерно квантует координаты вершин, с использованием выбираемого кодером шага квантования, и исключает все дублированные вершины и все дублированные и вырожденные треугольники. Второй этап вычисляет ограничивающий прямоугольник для всего списка вершин. Третий этап выступает в качестве препроцессора, обнаруживающего неявно уменьшенную точность координат, что означает, что все координаты вершин представляют собой кратное некоторого целого числа, отдельно для каждой размерности. Четвертый этап использует преимущество геометрий, в которых значительное число вершин расположено на общих плоскостях, которые являются параллельными с осями координат. Пятый этап детализирует четвертый этап за счет учета и создания статистической модели информации новизны повторных координат, отдельно для каждой размерности. Каждый из этих этапов вычисляет несколько параметров модели для наилучшего представления, обнаруженного посредством кодера, которые кодируются очень эффективно в качестве вспомогательной информации вместе с самими данными с использованием диапазонного кодера.
Первый этап равномерно квантует координаты вершин, с использованием выбираемого кодером шага квантования. Шаг квантования обычно выбирается таким образом, что он является достаточно небольшим, так что процесс квантования не вводит акустических артефактов, типично в диапазоне от 1 мм до 2 см. После квантования, все дублированные вершины и все дублированные и вырожденные треугольники исключаются. В зависимости от алгоритма формирования для треугольной ячеистой сетки, абсолютно равные дублированные вершины могут появляться потенциально много раз.
Второй этап вычисляет точный ограничивающий прямоугольник для всего списка вершин для исключения из кодирования всех диапазонов, которые фактически не используются. Ограничивающий прямоугольник кодируется очень эффективно, с оптимизацией для некоторых часто встречающихся шаблонов. Один частый шаблон задается, когда диапазон координат ограничивающего прямоугольника является симметричным вокруг нуля, например, -150 и 150, причем только абсолютное значение кодируется однократно. Это применяется, когда акустическое окружение или объект является симметричным относительно этой координаты. Другой шаблон задается, когда диапазон координат ограничивающего прямоугольника имеет ширину в нуль, например, 150 и 150, причем только одно значение кодируется однократно. Это применяется, когда акустический объект является абсолютно плоским.
Третий этап выступает в качестве препроцессора, обнаруживающего неявно уменьшенную точность координат, что означает то, что все координаты вершин представляют собой кратные некоторого целого числа, отдельно для каждой размерности. Например, если предполагается, что точность квантования задается равной 1 мм, и что все координаты X фактически выражаются в кратных числах относительно 10 мм, то все квантованные координаты X и в силу этого все квантованные размеры для координаты X представляют собой кратные числа 10. Кроме того, если координаты задаются относительно ограничивающего прямоугольника, полная инвариантность перемещения в пространстве достигается (например, все размеры могут представлять собой кратные числа 10, но все координаты могут сдвигаться с 1). Эти общие кратные, когда отличаются от 1, могут удаляться из значений, с тем чтобы уменьшать диапазон данных. Общие кратные для каждой координаты кодируются очень эффективно, с оптимизацией для некоторых часто встречающихся шаблонов, к примеру, для значения 1 (что означает то, что общее кратное не обнаружено) и для значения, точно равного соответствующей ширине ограничивающего прямоугольника (что означает то, что точно два различных значения присутствуют для этой координаты). Таким образом, куб, совмещенный с осями координат, должен иметь, для каждой координаты, в качестве общего кратного точно ширину ограничивающего прямоугольника этой каждой координаты. Следовательно, после предварительной обработки, для каждой координаты только значения 0 и 1 должны оставаться.
Четвертый этап использует преимущество геометрий, в которых значительное число вершин расположено на общих плоскостях, которые являются параллельными с осями координат. Например, если определенное число вершин расположено на плоскости, параллельной с осями координаты X и Y, это означает то, что все значения координат Z этих вершин являются одинаковыми. Способ использовать преимущество повторяющихся значений координат, отдельно на каждой оси, состоит в том, чтобы кодировать каждое значение координаты либо в качестве индекса в список ранее кодированных уникальных значений, либо в качестве нового значения, кодированного явно, которое затем должно добавляться в список ранее кодированных уникальных значений. Указание того, каким из двух способов фактически кодируется значение, требует бита «маски», отдельно для каждой координаты. Эти 3 бита «маски» в расчете на вершину оптимально кодируются с использованием адаптивного двоичного модуля оценки вероятностей. Если число различающихся значений для каждой координаты существенно меньше числа вершин, то даже с объемом служебной информации для битов «маски», кодированный размер является существенно меньшим. Кодер может оптимально определять, только на основе числа уникальных значений для координаты и числа вершин, является ли это представление более эффективным, чем прямое представление.
Пятый этап детализирует четвертый этап за счет учета и создания статистической модели информации новизны повторных координат, отдельно для каждой размерности. Четвертый этап должен кодировать для повторяющегося значения его индекс в список ранее кодированных уникальных значений, с использованием равномерного распределения. Тем не менее, значимая пропорция повторяющихся значений преобразуется в индексы, которые использованы совсем недавно. За счет введения параметра, представляющего максимальное число nr недавних значений индекса, которые должны запоминаться, статистическая модель создается с возможностью кодирования последних nr уникальных значений индекса, используемых более эффективно, чем все остальные. Список с продвижением вперед (MTF) из nr+1 записей используется для отслеживания значений самых недавних nr значений индекса, тогда как последняя запись представляет все другие индексы. Если значение индекса обнаруживается в списке MTF, его положение в списке кодируется, и это значение индекса перемещается в начало списка MTF. В противном случае, кодируется положение nr в списке, указывающее, что индекс не использован недавно, и далее выполняется равномерное кодирование непосредственно значения индекса. Положения в списке MTF кодируются с использованием модуля оценки адаптивной вероятности, так что они оптимально совпадают с относительным распределением новизны. Увеличение nr повышает эффективность кодирования; тем не менее, небольшое значение 8 для nr уже позволяет достигать близких к оптимальным результатов, обеспечивая возможность реализации с низкой сложностью.
Альтернативные примеры
Здесь следует отметить, что все альтернативы или аспекты, поясненные выше, и все аспекты, определяемые независимыми пунктами в нижеприведенной формуле изобретения, могут использоваться отдельно, т.е. без альтернатив или целей, отличных от предполагаемой альтернативы, цели или независимого пункта формулы изобретения. Тем не менее, в других вариантах осуществления, две или более альтернатив или аспектов, или независимых пунктов формулы изобретения могут комбинироваться между собой, и, в других вариантах осуществления, все аспекты или альтернативы и все независимые пункты формулы изобретения могут комбинироваться между собой. Кодированный сигнал согласно изобретению может сохраняться на цифровом носителе хранения данных или на постоянном носителе данных либо может передаваться по передающей среде, такой как беспроводная среда передачи или проводная среда передачи, к примеру, Интернет.
Хотя некоторые аспекты описаны в контексте устройства, очевидно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего устройства.
В зависимости от определенных требований к реализации, варианты осуществления изобретения могут реализовываться в аппаратных средствах или в программном обеспечении. Реализация может выполняться с использованием цифрового носителя хранения данных, например, гибкого диска, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сохраненные электронночитаемые управляющие сигналы, которые взаимодействуют (или допускают взаимодействие) с программируемой компьютерной системой таким образом, что осуществляется соответствующий способ.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий электронночитаемые управляющие сигналы, которые допускают взаимодействие с программируемой компьютерной системой таким образом, что осуществляется один из способов, описанных в данном документе.
В общем, варианты осуществления настоящего изобретения могут реализовываться как компьютерный программный продукт с программным кодом, при этом программный код выполнен с возможностью осуществления одного из способов, когда компьютерный программный продукт выполняется на компьютере. Программный код, например, может сохраняться на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из способов, описанных в данном документе, сохраненную на машиночитаемом носителе или на постоянном носителе данных.
Другими словами, вариант осуществления способа согласно изобретению, таким образом, представляет собой компьютерную программу, имеющую программный код для осуществления одного из способов, описанных в данном документе, когда компьютерная программа выполняется на компьютере.
Следовательно, дополнительный вариант осуществления способов согласно изобретению представляет собой носитель хранения данных (цифровой носитель данных или машиночитаемый носитель), содержащий записанную компьютерную программу для осуществления одного из способов, описанных в данном документе.
Следовательно, дополнительный вариант осуществления способа согласно изобретению представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из способов, описанных в данном документе. Поток данных или последовательность сигналов, например, может быть выполнена с возможностью передачи через соединение для передачи данных, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненное с возможностью осуществления одного из способов, описанных в данном документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную компьютерную программу для осуществления одного из способов, описанных в данном документе.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может использоваться для выполнения части или всех из функциональностей способов, описанных в данном документе. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором, чтобы осуществлять один из способов, описанных в данном документе. В общем, способы предпочтительно осуществляются посредством любого аппаратного устройства.
Вышеописанные варианты осуществления являются просто иллюстративными в отношении принципов настоящего изобретения. Следует понимать, что модификации и изменения компоновок и подробностей, описанных в данном документе, должны быть очевидными для специалистов в данной области техники. Следовательно, они подразумеваются как ограниченные только посредством объема нижеприведенной формулы изобретения, а не посредством конкретных подробностей, представленных посредством описания и пояснения вариантов осуществления в данном документе.
Claims (43)
1. Устройство (300) для декодирования акустического окружения (302), причем акустическое окружение (302) включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется посредством структурно-акустических данных, которые связывают данные положения (110ax, 120bx) многоугольников (110, 120) с акустическими свойствами акустических материалов (150), при этом данные положения включают в себя, для каждого многоугольника, положение вершин, причем устройство содержит:
- модуль (330) считывания потоков битов для считывания, из потока (204) битов, кодированной версии (322) структурно-акустических данных и по меньшей мере одного аудиопотока (312), который должен рендерироваться, сформированного по меньшей мере посредством одного аудиоисточника в акустическом окружении (302);
- блок (310) декодирования аудиоисточников для декодирования по меньшей мере одного аудиопотока (312), представляющего по меньшей мере один аудиоисточник;
- блок (320) декодирования структурно-акустических данных для декодирования структурно-акустических данных (211).
2. Устройство по п. 1, дополнительно содержащее модуль (350) рендеринга для рендеринга аудиосигнала (301), полученного по меньшей мере из одного аудиопотока (312, 212) согласно структурным и взаимосвязям положений между тем по меньшей мере одним источником и декодированными структурно-акустическими данными (211).
3. Устройство по любому из предшествующих пунктов, в котором блок (320) декодирования структурно-акустических данных включает в себя декодер (3800) списков вершин для декодирования списка (3802) вершин, указывающего положения вершин, причем каждая вершина имеет индекс вершины.
4. Устройство по п. 3, в котором декодер (3800) списков вершин выполнен с возможностью извлечения для каждой координаты каждой вершины значения координаты или индекса вершины ординального значения, ассоциированного в окончательном списке, ранее кодированной вершины.
5. Устройство по п. 4, выполненное с возможностью считывания передачи в служебных сигналах в потоке (204) битов, причем передача служебных сигналов указывает то, кодируется в потоке битов значение координаты или индекс вершины.
6. Устройство по любому из предшествующих пунктов, в котором блок (320) декодирования структурно-акустических данных использует по меньшей мере для одной размерности (X, Y, Z), упорядоченный окончательный список, в котором значения координат ранее декодированных вершин сохраняются согласно порядку,
- при этом блок (220) декодирования структурно-акустических данных выполнен с возможностью восстановления, в случае, если в потоке (204) битов кодировано ординальное значение упорядоченного окончательного списка, значения координаты в качестве значения, сохраненного в упорядоченном окончательном списке (450), ассоциированном с ординальным значением.
7. Устройство по п. 6, в котором блок декодирования структурно-акустических данных выполнен с возможностью оценки для каждой вершины значения (160x, 160y, 160z) двоичной маски, указывающего, кодируется ли значение координаты или ординальное значение в упорядоченном окончательном списке в потоке (204) битов.
8. Устройство по п. 6 или 7, выполненное с возможностью выбора, на основе передачи в служебных сигналах формы потока битов, между активацией и деактивацией упорядоченного окончательного списка по меньшей мере для одной размерности, чтобы за счет этого деактивировать упорядоченный окончательный список.
9. Устройство по любому из пп. 6-8, выполненное с возможностью определения множества координат вершин таким образом, чтобы назначить более высоко ранжированные упорядоченные значения и/или упорядоченные значения с меньшим числом битов для координат с более высоким множеством.
10. Устройство по любому из пп. 6-9, выполненное с возможностью обновления упорядоченного окончательного списка в реальном времени на основе значений координат и/или ординальных значений, декодированных из потока битов.
11. Устройство по любому из пп. 6-10, в котором упорядоченный окончательный список (450) включает в себя одно создание (450x, 450y, 450z) экземпляра окончательного списка для каждой размерности.
12. Устройство по п. 11, в котором блок декодирования структурно-акустических данных выполнен с возможностью:
- в случае, если для первой размерности значение координаты одной текущей вершины является равным одному значению координаты одной ранее декодированной вершины, сохраненной в создании экземпляра окончательного списка, связанном с первой размерностью в определенном ординальном значении, декодирования ординального значения создания экземпляра окончательного списка, и
- в случае, если для второй размерности значение координаты текущей вершины отличается от любого значения координаты одной ранее декодированной вершины, сохраненной в создании экземпляра окончательного списка, связанном со второй размерностью, декодирования значения координаты.
13. Устройство по любому из предшествующих пунктов, выполненное с возможностью декодирования структурно-акустических данных с использованием арифметического кодирования.
14. Устройство по любому из предшествующих пунктов, с использованием, для того чтобы декодировать по меньшей мере одни структурно-акустические данные, второго окончательного списка, согласно которому по меньшей мере одни структурно-акустические данные декодируются из положения во втором окончательном списке.
15. Устройство по п. 14, сконфигурированное таким образом, что если по меньшей мере одни структурно-акустические данные не находятся во втором окончательном списке по меньшей мере одни структурно-акустические данные считываются полностью из потока битов.
16. Устройство по п. 14 или 15, в котором конкретный код имеет большую битовую длину, чем коды, используемые для указания положения во втором окончательном списке.
17. Устройство по любому из пп. 14-16, в котором последние декодированные структурно-акустические данные расположены в первом положении во втором окончательном списке, и другие декодированные структурно-акустические во втором окончательном списке сдвигаются.
18. Устройство по любому из пп. 14-17, в котором коды, указывающие первые положения во втором окончательном списке, имеет меньшую битовую длину, чем коды, указывающие последние положения во втором окончательном списке.
19. Устройство по любому из пп. 14-18, с использованием второго окончательного списка для декодирования списка данных многоугольников.
20. Устройство по п. 19, с использованием второго окончательного списка для декодирования списка данных многоугольников, в котором указываются индексы вершин для вершин в списке вершин.
21. Устройство по любому из предшествующих пунктов, выполненное с возможностью считывания передаваемой в служебных сигналах в потоке (204) битов информации относительно ограничивающего прямоугольника (500), содержащегося в акустическом окружении, причем информация относительно ограничивающего прямоугольника включает в себя данные положения для локализации ограничивающего прямоугольника (500) в окружении, причем устройство дополнительно выполнено с возможностью декодирования структурно-акустических данных в ограничивающем прямоугольнике.
22. Устройство по п. 21, в котором декодер выполнен с возможностью восстановления положения каждой вершины на основе информации относительно ограничивающего прямоугольника, включающей в себя данные положения.
23. Устройство по п. 21 или 22, сконфигурированное таким образом, чтобы, в случае, если поток (204) битов передает в служебных сигналах то, что акустическое окружение представляет по меньшей мере один рекуррентный шаблон, восстанавливать по меньшей мере один акустический объект посредством применения рекурренции к рекуррентному шаблону в ограничивающем прямоугольнике.
24. Устройство по п. 23, конфигурированное таким образом, чтобы, в случае, если поток (204) битов передает в служебных сигналах то, что по меньшей мере один рекуррентный шаблон представляет собой симметричный шаблон, включенный в ограничивающий прямоугольник, восстанавливать по меньшей мере один объект посредством симметричного формирования структурно-акустических данных в положениях, симметричных по отношению к положениям вершин в ограничивающем прямоугольнике.
25. Устройство по п. 24, в котором симметрия представляет собой плоскую симметрию, и передаваемые в служебных сигналах в потоке битов данные симметрии включают в себя информацию, ассоциированную с плоскостью симметрии, при этом устройство выполнено с возможностью восстановления по меньшей мере одного объекта посредством симметричного формирования структурно-акустических данных в положениях, симметричных по отношению к положениям вершин в ограничивающем прямоугольнике относительно плоскости симметрии.
26. Устройство по любому из пп. 21-25, выполненное с возможностью выполнения смены системы координат вершин с пространственной системы координат ограничивающего прямоугольника, заданной по меньшей мере посредством одной определенной вершины ограничивающего прямоугольника, на исходную систему координат.
27. Устройство по любому из предшествующих пунктов, дополнительно выполненное с возможностью в случае, если поток (104) битов передает в служебных сигналах, что по меньшей мере два значения координат по меньшей мере двух вершин кодируются в разложенной на множители форме согласно общему делителю, умножения каждого из по меньшей мере двух значений координат, кодированных в разложенной на множители форме, и общий делитель, с тем чтобы восстанавливать по меньшей мере два значения координат.
28. Устройство по п. 27, в котором общий делитель представляет собой наибольший общий делитель.
29. Устройство по любому из предшествующих пунктов, в котором многоугольники представляют собой треугольники.
30. Способ декодирования акустического окружения (302), причем акустическое окружение (302) включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется посредством списка (400) структурно-акустических данных, который связывает данные положения (110ax, 120bx) многоугольников (110, 120) со структурно-акустическими свойствами материалов (150), при этом данные положения включают в себя, для каждого многоугольника, положение одной первичной структурно-акустической вершины (110ax) и положение оставшихся структурно-акустических вершин (110b), при этом способ содержит этапы, на которых:
- считывают из потока (204) битов кодированную версию (322) структурно-акустических данных (211) и по меньшей мере один аудиопоток (212), который должен рендерироваться, сформированный по меньшей мере посредством одного аудиоисточника в акустическом окружении (302);
- декодируют по меньшей мере один аудиопоток (312, 212); и
- декодируют структурно-акустические данные (211).
31. Устройство для кодирования акустического окружения, причем акустическое окружение включает в себя по меньшей мере один аудиоисточник и по меньшей мере один аудиообъект, причем по меньшей мере один аудиообъект представляется по меньшей мере посредством одних структурно-акустических данных, которые связывают данные положения (110ax, 120bx) многоугольников (110, 120) с акустическими свойствами акустических материалов (150), при этом структурно-акустические данные включают в себя, для каждого многоугольника, положение вершин (110ax, 110ay, 110az), причем устройство содержит:
- блок (210) кодирования аудиоисточников, выполненный с возможностью кодирования по меньшей мере одного аудиопотока, который должен рендерироваться, причем по меньшей мере один аудиопоток ассоциирован по меньшей мере с одним аудиоисточником;
- блок (220) кодирования структурно-акустических данных, выполненный с возможностью кодирования по меньшей мере одних структурно-акустические данные (221) для получения кодированной версии (222) по меньшей мере одних структурно-акустических данных (221),
- модуль (230) записи потоков битов, выполненный с возможностью записи в потоке (204) битов по меньшей мере одного аудиопотока (212) и кодированной версии (222) по меньшей мере одних структурно-акустических данных (221).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21176345.3 | 2021-05-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2023135085A RU2023135085A (ru) | 2024-01-15 |
RU2823988C2 true RU2823988C2 (ru) | 2024-07-31 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100299145A1 (en) * | 2009-05-22 | 2010-11-25 | Honda Motor Co., Ltd. | Acoustic data processor and acoustic data processing method |
RU2460155C2 (ru) * | 2006-09-18 | 2012-08-27 | Конинклейке Филипс Электроникс Н.В. | Кодирование и декодирование звуковых объектов |
RU2551797C2 (ru) * | 2006-09-29 | 2015-05-27 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способы и устройства кодирования и декодирования объектно-ориентированных аудиосигналов |
US20200227052A1 (en) * | 2015-08-25 | 2020-07-16 | Dolby Laboratories Licensing Corporation | Audio Encoding and Decoding Using Presentation Transform Parameters |
US20200335112A1 (en) * | 2016-01-27 | 2020-10-22 | Dolby Laboratories Licensing Corporation | Acoustic Environment Simulation |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2460155C2 (ru) * | 2006-09-18 | 2012-08-27 | Конинклейке Филипс Электроникс Н.В. | Кодирование и декодирование звуковых объектов |
RU2551797C2 (ru) * | 2006-09-29 | 2015-05-27 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способы и устройства кодирования и декодирования объектно-ориентированных аудиосигналов |
US20100299145A1 (en) * | 2009-05-22 | 2010-11-25 | Honda Motor Co., Ltd. | Acoustic data processor and acoustic data processing method |
US20200227052A1 (en) * | 2015-08-25 | 2020-07-16 | Dolby Laboratories Licensing Corporation | Audio Encoding and Decoding Using Presentation Transform Parameters |
US20200335112A1 (en) * | 2016-01-27 | 2020-10-22 | Dolby Laboratories Licensing Corporation | Acoustic Environment Simulation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113615181A (zh) | 用于点云编码的隐式四叉树或二叉树几何形状分割 | |
KR101654777B1 (ko) | 3차원 메쉬 가변 부호화 장치 및 방법, 그리고 3차원 메쉬 가변 복호화 장치 및 방법 | |
JP5932051B2 (ja) | 予測位置復号 | |
JP7379524B2 (ja) | ニューラルネットワークモデルの圧縮/解凍のための方法および装置 | |
CN113632142B (zh) | 点云编解码的方法和装置 | |
JP7157260B2 (ja) | ポイントクラウドコーディング向けのジオメトリマージモードに関する方法、装置、及びコンピュータプログラム | |
US20240087582A1 (en) | Encoding and decoding of acoustic environment | |
CN105979267A (zh) | 一种视频压缩、播放方法以及装置 | |
Kälberer et al. | Freelence-coding with free valences | |
KR100984234B1 (ko) | 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어플레이어 | |
JP2024022620A (ja) | 点群復号装置、点群復号方法及びプログラム | |
JP2019528027A (ja) | Chanフレームワーク、chanコーディング及びchanコード | |
CN113259678A (zh) | 对点云信息进行编解码的方法和装置 | |
CN109412604A (zh) | 一种基于语言模型的数据压缩方法 | |
CN113795869A (zh) | 用于神经网络模型压缩的量化、自适应块分区和码本编解码的方法和装置 | |
RU2823988C2 (ru) | Кодирование и декодирование акустического окружения | |
WO2022054358A1 (ja) | 点群復号装置、点群復号方法及びプログラム | |
KR102592986B1 (ko) | 포인트 클라우드 코딩을 위한 점유 코딩의 콘텍스트 모델링 | |
JP4037875B2 (ja) | コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 | |
Kim et al. | Multiresolution random accessible mesh compression | |
US7205915B2 (en) | Method of decoding variable length prefix codes | |
CN107948628A (zh) | 一种多维视频数据的编码、解码方法和装置 | |
CN112188216B (zh) | 视频数据的编码方法、装置、计算机设备及存储介质 | |
WO2020261334A1 (ja) | 符号化装置、符号化方法及びプログラム | |
WO2024013265A1 (en) | Apparatus and method for encoding or decoding of precomputed data for rendering early reflections in ar/vr systems |