RU2810027C2 - Audio encoder and audio decoder - Google Patents

Audio encoder and audio decoder Download PDF

Info

Publication number
RU2810027C2
RU2810027C2 RU2019141091A RU2019141091A RU2810027C2 RU 2810027 C2 RU2810027 C2 RU 2810027C2 RU 2019141091 A RU2019141091 A RU 2019141091A RU 2019141091 A RU2019141091 A RU 2019141091A RU 2810027 C2 RU2810027 C2 RU 2810027C2
Authority
RU
Russia
Prior art keywords
encoding
vector
audio
symbol
entropy
Prior art date
Application number
RU2019141091A
Other languages
Russian (ru)
Other versions
RU2019141091A (en
Inventor
Лейф Йонас САМУЭЛЬССОН
Хейко ПУРНХАГЕН
Original Assignee
Долби Интернэшнл Аб
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Долби Интернэшнл Аб filed Critical Долби Интернэшнл Аб
Publication of RU2019141091A publication Critical patent/RU2019141091A/en
Application granted granted Critical
Publication of RU2810027C2 publication Critical patent/RU2810027C2/en

Links

Images

Abstract

FIELD: computer engineering.
SUBSTANCE: processing audio data. The technical result is achieved by representing each parameter as a vector through an index value that can take N values; calculating one or more symbols, the calculation including: calculating the difference between the index value of the second element and the index value of its previous element in the vector: and applying a modulo N operation to the difference; associating at least each of one second element with a corresponding symbol out of one or more symbols, and encoding at least each of one second element by entropy encoding the symbol associated with at least one second element based on the probability table , containing the probabilities of the symbols.
EFFECT: increase of efficiency and quality of the encoded audio signal.
7 cl, 15 dwg

Description

Перекрестная ссылка на родственные заявкиCross reference to related applications

Настоящая заявка испрашивает приоритет по дате подачи американской предварительной заявки на патент № 61/827264, поданной 24 мая 2013 года, содержащейся в данном документе по ссылке.This application claims priority to the filing date of U.S. Provisional Patent Application No. 61/827264, filed May 24, 2013, incorporated herein by reference.

Область техникиTechnical field

Раскрытие сущности в данном документе, в общем, относится к кодированию аудио. В частности, оно относится к кодированию и декодированию вектора параметров в системе кодирования аудио. Раскрытие сущности дополнительно относится к способу и устройству для восстановления аудиообъекта в системе декодирования аудио.The disclosure herein generally relates to audio encoding. In particular, it relates to the encoding and decoding of a parameter vector in an audio encoding system. The disclosure further relates to a method and apparatus for recovering an audio object in an audio decoding system.

Предшествующий уровень техникиPrior Art

В традиционных аудиосистемах используется канальный подход. Каждый канал, например, может представлять контент одного динамика или одного массива динамиков. Возможные схемы кодирования для таких систем включают в себя дискретное многоканальное кодирование или параметрическое кодирование, к примеру, стандарт объемного звучания MPEG.Traditional audio systems use a channel approach. Each channel, for example, can represent the content of one speaker or one array of speakers. Possible encoding schemes for such systems include discrete multi-channel encoding or parametric encoding, such as the MPEG surround sound standard.

Впоследствии был разработан новый подход. Этот подход является объектно-ориентированным. В системе с использованием объектно-ориентированного подхода, трехмерная аудиосцена представлена посредством аудиообъектов с их ассоциированными позиционными метаданными. Эти аудиообъекты перемещаются в трехмерной аудиосцене во время воспроизведения аудиосигнала. Система дополнительно может включать в себя так называемые подложенные каналы, которые могут описываться как стационарные аудиообъекты, которые непосредственно преобразуются в позиции динамиков, например, традиционной аудиосистемы, как описано выше.Subsequently, a new approach was developed. This approach is object-oriented. In a system using an object-oriented approach, a three-dimensional audio scene is represented by audio objects with their associated positional metadata. These audio objects move in the 3D audio scene as the audio signal plays. The system may further include so-called underlay channels, which can be described as stationary audio objects that are directly converted to speaker positions, for example, a traditional audio system, as described above.

Проблема, которая может возникать в объектно-ориентированной аудиосистеме, состоит в этом, как эффективно кодировать и декодировать аудиосигнал и сохранять качество кодированного сигнала. Возможная схема кодирования включает в себя, на стороне кодера, создание сигнала понижающего микширования, содержащего число каналов, из аудиообъектов и подложенных каналов и вспомогательной информации, которая обеспечивает воссоздание аудиообъектов и подложенных каналов на стороне декодера.A problem that may arise in an object-oriented audio system is how to efficiently encode and decode an audio signal and maintain the quality of the encoded signal. A possible encoding scheme includes, on the encoder side, creating a downmix signal containing a number of channels from audio objects and underlay channels and auxiliary information that enables reconstruction of the audio objects and underlay channels at the decoder side.

Пространственное кодирование аудиообъектов по стандарту MPEG (MPEG SAOC) описывает систему для параметрического кодирования аудиообъектов. Система отправляет вспомогательную информацию, к примеру, матрицу повышающего микширования, описывающую свойства объектов посредством параметров, таких как разность уровня и взаимная корреляция объектов. Эти параметры затем используются для того, чтобы управлять воссозданием аудиообъектов на стороне декодера. Этот процесс может быть математическим комплексом и зачастую должен основываться на допущениях касательно свойств аудиообъектов, которые явно не описываются посредством параметров. Способ, представленный в MPEG SAOC, может понижать требуемую скорость передачи битов для объектно-ориентированной аудиосистемы, но дальнейшее улучшение может быть необходимо, чтобы дополнительно повышать эффективность и качество, как описано выше.MPEG Spatial Audio Object Coding (MPEG SAOC) describes a system for parametric coding of audio objects. The system sends auxiliary information, such as an upmix matrix, that describes object properties through parameters such as level difference and object cross-correlation. These parameters are then used to control the reconstruction of audio objects on the decoder side. This process can be mathematically complex and often must be based on assumptions about properties of audio objects that are not explicitly described by parameters. The method presented in MPEG SAOC may reduce the required bit rate for an object-oriented audio system, but further improvement may be necessary to further improve efficiency and quality as described above.

Краткое описание чертежейBrief description of drawings

Ниже описываются примерные варианты осуществления со ссылкой на прилагаемые чертежи, на которых:Exemplary embodiments are described below with reference to the accompanying drawings, in which:

Фиг. 1 является обобщенной блок-схемой системы кодирования аудио в соответствии с примерным вариантом осуществления;Fig. 1 is a general block diagram of an audio encoding system in accordance with an exemplary embodiment;

Фиг. 2 является обобщенной блок-схемой примерного кодера матрицы повышающего микширования, показанного на фиг. 1;Fig. 2 is a generalized block diagram of the exemplary upmix matrix encoder shown in FIG. 1;

Фиг. 3 показывает примерное распределение вероятностей для первого элемента в векторе параметров, соответствующих элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио по фиг. 1;Fig. 3 shows an approximate probability distribution for the first element in a vector of parameters corresponding to an element in the upmix matrix determined by the audio coding system of FIG. 1;

Фиг. 4 показывает примерное распределение вероятностей, по меньшей мере, для одного дифференциально кодированного по модулю второго элемента в векторе параметров, соответствующих элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио по фиг. 1;Fig. 4 shows an exemplary probability distribution for at least one differentially modulo encoded second element in a vector of parameters corresponding to an element in the upmix matrix determined by the audio coding system of FIG. 1;

Фиг. 5 является обобщенной блок-схемой системы декодирования аудио в соответствии с примерным вариантом осуществления;Fig. 5 is a general block diagram of an audio decoding system in accordance with an exemplary embodiment;

Фиг. 6 является обобщенной блок-схемой декодера матрицы повышающего микширования, показанного на фиг. 5;Fig. 6 is a generalized block diagram of the upmix matrix decoder shown in FIG. 5;

Фиг. 7 описывает способ кодирования для вторых элементов в векторе параметров, соответствующих элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио по фиг. 1;Fig. 7 describes an encoding method for second elements in a parameter vector corresponding to an element in the upmix matrix determined by the audio encoding system of FIG. 1;

Фиг. 8 описывает способ кодирования для первого элемента в векторе параметров, соответствующих элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио по фиг. 1;Fig. 8 describes an encoding method for a first element in a vector of parameters corresponding to an element in the upmix matrix determined by the audio encoding system of FIG. 1;

Фиг. 9 описывает части способа кодирования по фиг. 7 для вторых элементов в примерном векторе параметров;Fig. 9 describes parts of the encoding method of FIG. 7 for the second elements in the example parameter vector;

Фиг. 10 описывает части способа кодирования по фиг. 8 для первого элемента в примерном векторе параметров;Fig. 10 describes parts of the encoding method of FIG. 8 for the first element in the example parameter vector;

Фиг. 11 является обобщенной блок-схемой второго примерного кодера матрицы повышающего микширования, показанного на фиг. 1;Fig. 11 is a generalized block diagram of the second exemplary upmix matrix encoder shown in FIG. 1;

Фиг. 12 является обобщенной блок-схемой системы декодирования аудио в соответствии с примерным вариантом осуществления;Fig. 12 is a general block diagram of an audio decoding system according to an exemplary embodiment;

Фиг. 13 описывает способ кодирования для разреженного кодирования строки матрицы повышающего микширования;Fig. 13 describes a coding method for sparse row coding of an upmix matrix;

Фиг. 14 описывает части способа кодирования по фиг. 10 для примерной строки матрицы повышающего микширования;Fig. 14 describes parts of the encoding method of FIG. 10 for an example upmix matrix row;

Фиг. 15 описывает части способа кодирования по фиг. 10 для примерной строки матрицы повышающего микширования;Fig. 15 describes parts of the encoding method of FIG. 10 for an example upmix matrix row;

Все данные являются схематичными и показывают, в общем, только части, которые требуются, чтобы пояснять раскрытие сущности, тогда как другие части могут опускаться или просто предполагаться. Если не указано иное, аналогичные ссылки с номерами означают аналогичные части на различных чертежах.All data is schematic and generally shows only those parts that are required to clarify the disclosure, while other parts may be omitted or simply assumed. Unless otherwise indicated, like reference numbers indicate like parts in the different drawings.

Подробное описание изобретенияDetailed Description of the Invention

С учетом вышеизложенного, цель заключается в том, чтобы предоставлять кодеры и декодеры и ассоциированные способы, которые предоставляют повышенную эффективность и качество кодированного аудиосигнала.In view of the foregoing, the goal is to provide encoders and decoders and associated methods that provide increased efficiency and quality of the encoded audio signal.

I. Обзор: кодерI. Review: Encoder

Согласно первому аспекту, примерные варианты осуществления предлагают способы кодирования, кодеры и компьютерные программные продукты для кодирования. Предложенные способы, кодеры и компьютерные программные продукты могут, в общем, иметь идентичные признаки и преимущества.According to a first aspect, exemplary embodiments provide encoding methods, encoders, and computer program products for encoding. The proposed methods, encoders and computer program products may generally have identical features and advantages.

Согласно примерным вариантам осуществления, предусмотрен способ для кодирования вектора параметров в системе кодирования аудио, причем каждый параметр соответствует апериодической величине, вектор имеет первый элемент и, по меньшей мере, один второй элемент, при этом способ содержит: представление каждого параметра в векторе посредством значения индекса, которое может принимать N значений; ассоциирование каждого, по меньшей мере, из одного второго элемента с символом, причем символ вычисляется посредством следующего: вычисление разности между значением индекса второго элемента и значением индекса его предыдущего элемента в векторе; применение операции по модулю N к разности. Способ дополнительно содержит этап кодирования каждого, по меньшей мере, из одного второго элемента посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов.According to exemplary embodiments, a method is provided for encoding a vector of parameters in an audio coding system, wherein each parameter corresponds to an aperiodic quantity, the vector has a first element and at least one second element, the method comprising: representing each parameter in the vector by an index value , which can take N values; associating each of the at least one second element with a symbol, the symbol being calculated by: calculating a difference between the index value of the second element and the index value of its previous element in the vector; applying the operation modulo N to the difference. The method further comprises the step of encoding each of the at least one second element by entropy encoding a symbol associated with the at least one second element based on a probability table containing probabilities of the symbols.

Преимущество этого способа состоит в том, что число возможных символов уменьшается приблизительно на коэффициент в два по сравнению с традиционными стратегиями разностного кодирования, в которых по модулю N не применяется к разности. Следовательно, размер таблицы вероятностей уменьшается приблизительно на коэффициент в два. Как результат, меньше запоминающего устройства требуется, чтобы сохранять таблицу вероятностей и, поскольку таблица вероятностей зачастую сохраняется в дорогом запоминающем устройстве в кодере, кодер в силу этого может становиться менее дорогим. Кроме того, может повышаться скорость поиска символа в таблице вероятностей. Дополнительное преимущество состоит в том, что эффективность кодирования может увеличиваться, поскольку все символы в таблице вероятностей представляют собой возможные варианты, которые должны быть ассоциированы с конкретным вторым элементом. Оно может сравниваться с традиционными стратегиями разностного кодирования, в которых только приблизительно половина символов в таблице вероятностей представляют собой возможные варианты для ассоциирования с конкретным вторым элементом.The advantage of this method is that the number of possible symbols is reduced by approximately a factor of two compared to traditional delta coding strategies in which modulo N is not applied to the delta. Consequently, the size of the probability table is reduced by approximately a factor of two. As a result, less storage is required to store the probability table and, since the probability table is often stored in expensive storage in the encoder, the encoder can thereby become less expensive. In addition, the speed of searching for a symbol in the probability table can be increased. An additional advantage is that coding efficiency can be increased since all symbols in the probability table represent possibilities that must be associated with a particular second element. It can be compared to traditional difference coding strategies, in which only approximately half of the symbols in the probability table represent possibilities for association with a particular second element.

Согласно вариантам осуществления, способ дополнительно содержит ассоциирование первого элемента в векторе с символом, причем символ вычисляется посредством следующего: сдвиг значения индекса, представляющего первый элемент в векторе, посредством значения смещения; применение операции по модулю N к сдвигаемому значению индекса. Способ дополнительно содержит этап кодирования первого элемента посредством энтропийного кодирования символа, ассоциированного с первым элементом, с использованием идентичной таблицы вероятностей, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент.According to embodiments, the method further comprises associating a first element in the vector with a symbol, wherein the symbol is calculated by: shifting an index value representing the first element in the vector by an offset value; applying a modulo N operation to the index value being shifted. The method further comprises the step of encoding the first element by entropy encoding a symbol associated with the first element using an identical probability table that is used to encode the at least one second element.

Этот вариант осуществления использует тот факт, что распределение вероятностей значения индекса первого элемента и распределение вероятностей символов, по меньшей мере, одного второго элемента являются аналогичными, хотя и сдвинутыми относительно друг друга посредством значения смещения. Как следствие, идентичная таблица вероятностей может использоваться для первого элемента в векторе вместо выделенной таблицы вероятностей. Это может приводить к снижению требований к запоминающему устройству и менее дорогому кодеру согласно вышеуказанному.This embodiment takes advantage of the fact that the probability distribution of the index value of the first element and the probability distribution of the symbols of at least one second element are similar, although shifted relative to each other by an offset value. As a consequence, an identical probability table can be used for the first element in the vector instead of a dedicated probability table. This may result in lower storage requirements and a less expensive encoder as discussed above.

Согласно варианту осуществления, значение смещения равно разности между наиболее вероятным значением индекса для первого элемента и наиболее вероятным символом, по меньшей мере, для одного второго элемента в таблице вероятностей. Это означает то, что пики распределений вероятностей совмещаются. Следовательно, практически идентичная эффективность кодирования поддерживается для первого элемента по сравнению с тем, как если бы использовалась выделенная таблица вероятностей для первого элемента.In an embodiment, the offset value is equal to the difference between the most likely index value for the first element and the most likely symbol for at least one second element in the probability table. This means that the peaks of the probability distributions overlap. Consequently, virtually identical encoding efficiency is maintained for the first element compared to if a dedicated probability table for the first element was used.

Согласно вариантам осуществления, первый элемент и, по меньшей мере, один второй элемент вектора параметров соответствуют различным полосам частот, используемым в системе кодирования аудио в конкретном временном кадре. Это означает то, что данные, соответствующие множеству полос частот, могут кодироваться в идентичной операции. Например, вектор параметров может соответствовать коэффициенту повышающего микширования или восстановления, который варьируется по множеству полос частот.In embodiments, the first element and at least one second element of the parameter vector correspond to different frequency bands used in the audio coding system in a particular time frame. This means that data corresponding to multiple frequency bands can be encoded in an identical operation. For example, the parameter vector may correspond to an upmix or restore coefficient that varies across multiple frequency bands.

Согласно варианту осуществления, первый элемент и, по меньшей мере, один второй элемент вектора параметров соответствуют различным временным кадрам, используемым в системе кодирования аудио в конкретной полосе частот. Это означает то, что данные, соответствующие множеству временных кадров, могут кодироваться в идентичной операции. Например, вектор параметров может соответствовать коэффициенту повышающего микширования или восстановления, который варьируется в зависимости от множества временных кадров.According to an embodiment, the first element and at least one second element of the parameter vector correspond to different time frames used in the audio coding system in a particular frequency band. This means that data corresponding to multiple time frames can be encoded in an identical operation. For example, the parameter vector may correspond to an upmix or restore factor that varies across multiple time frames.

Согласно вариантам осуществления, таблица вероятностей преобразуется в таблицу кодирования Хаффмана, при этом символ, ассоциированный с элементом в векторе, используется в качестве индекса таблицы кодирования, и при этом этап кодирования содержит кодирование каждого, по меньшей мере, из одного второго элемента посредством представления второго элемента с помощью кодового слова в таблице кодирования, которая индексируется посредством индекса таблицы кодирования, ассоциированного со вторым элементом. Посредством использования символа в качестве индекса таблицы кодирования может увеличиваться скорость поиска кодового слова, чтобы представлять элемент.In embodiments, the probability table is converted to a Huffman encoding table, wherein a symbol associated with an element in the vector is used as an index of the encoding table, and wherein the encoding step comprises encoding each of the at least one second element by representing the second element using a codeword in a codebook, which is indexed by the codebook index associated with the second element. By using a symbol as a codebook index, the search speed of a codeword to represent an element can be increased.

Согласно вариантам осуществления, этап кодирования содержит кодирование первого элемента в векторе с использованием идентичной таблицы кодирования Хаффмана, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент посредством представления первого элемента с помощью кодового слова в таблице кодирования Хаффмана, которая индексируется посредством индекса таблицы кодирования, ассоциированного с первым элементом. Следовательно, только одна таблица кодирования Хаффмана должна сохраняться в запоминающем устройстве кодера, что может приводить к менее дорогому кодеру согласно вышеуказанному.In embodiments, the encoding step comprises encoding a first element in the vector using an identical Huffman codebook that is used to encode at least one second element by representing the first element with a codeword in a Huffman codebook that is indexed by the codebook index associated with the first element. Therefore, only one Huffman encoding table needs to be stored in the encoder memory, which can result in a less expensive encoder as above.

Согласно дополнительному варианту осуществления, вектор параметров соответствует элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио. Это может снижать требуемую скорость передачи битов в системе кодирования/декодирования аудио, поскольку может эффективно кодироваться матрица повышающего микширования.According to a further embodiment, the parameter vector corresponds to an element in the upmix matrix determined by the audio coding system. This may reduce the required bit rate in an audio encoding/decoding system since the upmix matrix can be efficiently encoded.

Согласно примерным вариантам осуществления, предусмотрен машиночитаемый носитель, содержащий инструкции в виде машинного кода, адаптированные выполнять любой способ первого аспекта при выполнении на устройстве, имеющем возможности обработки. According to exemplary embodiments, a computer-readable medium is provided comprising machine code instructions adapted to perform any method of the first aspect when executed on a device having processing capabilities.

Согласно примерным вариантам осуществления, предусмотрен кодер для кодирования вектора параметров в системе кодирования аудио, причем каждый параметр соответствует апериодической величине, вектор имеет первый элемент и, по меньшей мере, один второй элемент, причем кодер содержит: приемный компонент, адаптированный с возможностью принимать вектор; компонент индексации, адаптированный с возможностью представлять каждый параметр в векторе посредством значения индекса, которое может принимать N значений; компонент ассоциирования, адаптированный с возможностью ассоциировать каждый, по меньшей мере, один второй элемент с символом, причем символ вычисляется посредством следующего: вычисление разности между значением индекса второго элемента и значением индекса его предыдущего элемента в векторе; применение операции по модулю N к разности. Кодер дополнительно содержит компонент кодирования для кодирования каждого, по меньшей мере, из одного второго элемента посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов. According to exemplary embodiments, an encoder is provided for encoding a vector of parameters in an audio encoding system, each parameter corresponding to an aperiodic quantity, the vector having a first element and at least one second element, the encoder comprising: a receiving component adapted to receive the vector; an indexing component adapted to represent each parameter in the vector by an index value that can take N values; an association component adapted to associate each at least one second element with a symbol, the symbol being calculated by: calculating the difference between the index value of the second element and the index value of its previous element in the vector; applying the operation modulo N to the difference. The encoder further includes an encoding component for encoding each of the at least one second element by entropy encoding a symbol associated with the at least one second element based on a probability table containing probabilities of the symbols.

II. Обзор: декодерII. Review: Decoder

Согласно второму аспекту, примерные варианты осуществления предлагают способы декодирования, декодеры и компьютерные программные продукты для декодирования. Предложенные способы, декодеры и компьютерные программные продукты могут, в общем, иметь идентичные признаки и преимущества.According to a second aspect, exemplary embodiments provide decoding methods, decoders, and computer program products for decoding. The proposed methods, decoders, and computer program products may generally have identical features and advantages.

Преимущества относительно признаков и компоновок, как представлено в обзоре кодера выше, в общем, могут быть применимыми для соответствующих признаков и компоновок для декодера.The advantages regarding features and arrangements as presented in the encoder overview above may generally be applicable to corresponding features and arrangements for a decoder.

Согласно примерным вариантам осуществления, предусмотрен способ для декодирования вектора энтропийно кодированных символов в системе декодирования аудио в вектор параметров, связанных с апериодической величиной, вектор энтропийно кодированных символов содержит первый энтропийно кодированный символ и, по меньшей мере, один второй энтропийно кодированный символ и вектор параметров содержит первый элемент и, по меньшей мере, один второй элемент, при этом способ содержит: представление каждого энтропийно кодированного символа в векторе энтропийно кодированных символов посредством символа, который может принимать N целочисленных значений посредством использования таблицы вероятностей; ассоциирование первого энтропийно кодированного символа со значением индекса; ассоциирование каждого, по меньшей мере, из одного второго энтропийно кодированного символа со значением индекса, причем значение индекса, по меньшей мере, одного второго энтропийно кодированного символа вычисляется посредством следующего: вычисление суммы значения индекса, ассоциированного с энтропийно кодированным символом, предшествующим второму энтропийно кодированному символу в векторе энтропийно кодированных символов, и символа, представляющего второй энтропийно кодированный символ; применение операции по модулю N к сумме. Способ дополнительно содержит этап представления, по меньшей мере, одного второго элемента вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному, по меньшей мере, с одним вторым энтропийно кодированным символом. According to exemplary embodiments, a method is provided for decoding a vector of entropy coded symbols in an audio decoding system into a vector of parameters associated with an aperiodic quantity, the vector of entropy coded symbols comprises a first entropy coded symbol and at least one second entropy coded symbol, and the parameter vector comprises a first element and at least one second element, the method comprising: representing each entropy encoded symbol in the vector of entropy encoded symbols by a symbol that can take N integer values through the use of a probability table; associating the first entropy encoded symbol with an index value; associating each of the at least one second entropy coded symbol with an index value, wherein the index value of the at least one second entropy coded symbol is calculated by: calculating the sum of the index value associated with the entropy coded symbol preceding the second entropy coded symbol in a vector of entropy-coded symbols, and a symbol representing a second entropy-coded symbol; applying an operation modulo N to a sum. The method further comprises the step of representing at least one second element of the parameter vector by a parameter value corresponding to an index value associated with the at least one second entropy-coded symbol.

Согласно примерным вариантам осуществления, этап представления каждого энтропийно кодированного символа в векторе энтропийно кодированных символов посредством символа выполняется с использованием идентичной таблицы вероятностей для всех энтропийно кодированных символов в векторе энтропийно кодированных символов, при этом значение индекса, ассоциированное с первым энтропийно кодированным символом, вычисляется посредством следующего: сдвиг символа, представляющего первый энтропийно кодированный символ в векторе энтропийно кодированных символов, посредством значения смещения; применение операции по модулю N к сдвинутому символу. Способ дополнительно содержит этапы: представление первого элемента вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному с первым энтропийно кодированным символом.According to exemplary embodiments, the step of representing each entropy coded symbol in the entropy coded symbol vector by a symbol is performed using an identical probability table for all entropy coded symbols in the entropy coded symbol vector, wherein the index value associated with the first entropy coded symbol is calculated by the following : offset the symbol representing the first entropy-coded symbol in the vector of entropy-coded symbols by an offset value; applying a modulo N operation to a shifted symbol. The method further comprises the steps of: representing a first element of the parameter vector by a parameter value corresponding to an index value associated with the first entropy encoded symbol.

Согласно варианту осуществления, таблица вероятностей преобразуется в таблицу кодирования Хаффмана, и каждый энтропийно кодированный символ соответствует кодовому слову в таблице кодирования Хаффмана.According to an embodiment, the probability table is converted into a Huffman encoding table, and each entropy encoded symbol corresponds to a codeword in the Huffman encoding table.

Согласно дополнительным вариантам осуществления, каждое кодовое слово в таблице кодирования Хаффмана ассоциировано с индексом таблицы кодирования, и этап представления каждого энтропийно кодированного символа в векторе энтропийно кодированных символов посредством символа содержит представление энтропийно кодированного символа посредством индекса таблицы кодирования, ассоциированного с кодовым словом, соответствующим энтропийно кодированному символу.According to further embodiments, each codeword in the Huffman codebook is associated with a codebook index, and the step of representing each entropy-coded symbol in the vector of entropy-coded symbols by the symbol comprises representing the entropy-coded symbol by a codebook index associated with the codeword corresponding to the entropy-coded symbol. symbol.

Согласно вариантам осуществления, каждый энтропийно кодированный символ в векторе энтропийно кодированных символов соответствует различным полосам частот, используемым в системе декодирования аудио в конкретном временном кадре.In embodiments, each entropy coded symbol in the vector of entropy coded symbols corresponds to different frequency bands used in the audio decoding system in a particular time frame.

Согласно варианту осуществления, каждый энтропийно кодированный символ в векторе энтропийно кодированных символов соответствует различным временным кадрам, используемым в системе декодирования аудио в конкретной полосе частот.According to an embodiment, each entropy coded symbol in the vector of entropy coded symbols corresponds to different time frames used in the audio decoding system in a particular frequency band.

Согласно вариантам осуществления, вектор параметров соответствует элементу в матрице повышающего микширования, используемой посредством системы декодирования аудио.According to embodiments, the parameter vector corresponds to an element in the upmix matrix used by the audio decoding system.

Согласно примерным вариантам осуществления, предусмотрен машиночитаемый носитель, содержащий инструкции в виде машинного кода, адаптированные выполнять любой способ второго аспекта при выполнении на устройстве, имеющем возможности обработки.According to exemplary embodiments, a computer-readable medium is provided comprising machine code instructions adapted to perform any method of the second aspect when executed on a device having processing capabilities.

Согласно примерным вариантам осуществления, предусмотрен декодер для декодирования вектора энтропийно кодированных символов в системе декодирования аудио в вектор параметров, связанных с апериодической величиной, вектор энтропийно кодированных символов содержит первый энтропийно кодированный символ и, по меньшей мере, один второй энтропийно кодированный символ и вектор параметров содержит первый элемент и, по меньшей мере, второй элемент, декодер содержит: приемный компонент, выполненный с возможностью принимать вектор энтропийно кодированных символов; компонент индексации, выполненный с возможностью представлять каждый энтропийно кодированный символ в векторе энтропийно кодированных символов посредством символа, который может принимать N целочисленных значений посредством использования таблицы вероятностей; компонент ассоциирования, выполненный с возможностью ассоциировать первый энтропийно кодированный символ со значением индекса; компонент ассоциирования, дополнительно выполненный с возможностью ассоциировать каждый, по меньшей мере, один второй энтропийно кодированный символ со значением индекса, причем значение индекса, по меньшей мере, одного второго энтропийно кодированного символа вычисляется посредством следующего: вычисление суммы значения индекса, ассоциированного с энтропийно кодированным символом, предшествующим второму энтропийно кодированному символу в векторе энтропийно кодированных символов, и символа, представляющего второй энтропийно кодированный символ; применение операции по модулю N к сумме. Декодер дополнительно содержит компонент декодирования, выполненный с возможностью представлять, по меньшей мере, один второй элемент вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному, по меньшей мере, с одним вторым энтропийно кодированным символом.According to exemplary embodiments, a decoder is provided for decoding a vector of entropy-coded symbols in an audio decoding system into a vector of parameters associated with an aperiodic quantity, the vector of entropy-coded symbols comprises a first entropy-coded symbol and at least one second entropy-coded symbol, and the parameter vector comprises the first element and at least the second element, the decoder comprises: a receiving component configured to receive a vector of entropy encoded symbols; an indexing component configured to represent each entropy-coded symbol in the vector of entropy-coded symbols by a symbol that can take N integer values by using a probability table; an association component configured to associate the first entropy encoded symbol with an index value; an association component further configured to associate each at least one second entropy encoded symbol with an index value, wherein the index value of the at least one second entropy encoded symbol is calculated by: calculating the sum of the index value associated with the entropy encoded symbol preceding the second entropy encoded symbol in the vector of entropy encoded symbols, and a symbol representing the second entropy encoded symbol; applying an operation modulo N to a sum. The decoder further includes a decoding component configured to represent the at least one second element of the parameter vector by a parameter value corresponding to an index value associated with the at least one second entropy-coded symbol.

III. Обзор: разреженный матричный кодерIII. Review: Sparse Matrix Encoder

Согласно третьему аспекту, примерные варианты осуществления предлагают способы кодирования, кодеры и компьютерные программные продукты для кодирования. Предложенные способы, кодеры и компьютерные программные продукты могут, в общем, иметь идентичные признаки и преимущества.According to a third aspect, exemplary embodiments provide encoding methods, encoders, and computer program products for encoding. The proposed methods, encoders and computer program products may generally have identical features and advantages.

Согласно примерным вариантам осуществления, предусмотрен способ для кодирования матрицы повышающего микширования в системе кодирования аудио, причем каждая строка матрицы повышающего микширования содержит M элементов, обеспечивающие возможность восстановления частотно-временного мозаичного фрагмента аудиообъекта из сигнала понижающего микширования, содержащего M каналов, при этом способ содержит: для каждой строки в матрице повышающего микширования: выбор поднабора элементов из M элементов строки в матрице повышающего микширования; представление каждого элемента в выбранном поднаборе элементов посредством значения и позиции в матрице повышающего микширования; кодирование значения и позиции в матрице повышающего микширования каждого элемента в выбранном поднаборе элементов.According to exemplary embodiments, a method is provided for encoding an upmix matrix in an audio encoding system, wherein each row of the upmix matrix contains M elements capable of recovering a time-frequency tile of an audio object from a downmix signal containing M channels, the method comprising: for each row in the upmixing matrix: selecting a subset of elements from the M row elements in the upmixing matrix; representing each element in the selected subset of elements by a value and position in the upmixing matrix; encoding the value and position in the upmix matrix of each element in a selected subset of elements.

При использовании в данном документе, посредством термина "сигнал понижающего микширования, содержащий M каналов" предназначен сигнал, который содержит M-сигналы или каналы, причем каждый из каналов представляет собой комбинацию множества аудиообъектов, включающую в себя аудиообъекты, которые должны быть восстановлены. Число каналов типично больше одного, и во многих случаях число каналов равно пяти или более.As used herein, the term “downmix signal containing M channels” means a signal that contains M signals or channels, each of the channels being a combination of a plurality of audio objects including audio objects to be reconstructed. The number of channels is typically greater than one, and in many cases the number of channels is five or more.

При использовании в данном документе, термин "матрица повышающего микширования" означает матрицу, имеющую N строк и M столбцов, которая дает возможность восстановления N аудиообъектов из сигнала понижающего микширования, содержащего M каналов. Элементы на каждой строке матрицы повышающего микширования соответствуют одному аудиообъекту и предоставляют коэффициенты, которые должны быть перемножены с M каналами понижающего микширования, чтобы восстанавливать аудиообъект.As used herein, the term "upmix matrix" means a matrix having N rows and M columns that allows N audio objects to be reconstructed from a downmix signal containing M channels. The elements on each row of the upmix matrix correspond to one audio object and provide coefficients that must be multiplied with the M downmix channels to reconstruct the audio object.

При использовании в данном документе, посредством позиции в матрице повышающего микширования, в общем, означается индекс строки и столбца, который указывает строку и столбец матричного элемента. Термин "позиция" также может означать индекс столбца в данной строке матрицы повышающего микширования.As used herein, by position in the upmix matrix, generally means a row and column index that indicates the row and column of the matrix element. The term "position" can also mean the index of a column in a given row of the upmix matrix.

В некоторых случаях, отправка всех элементов матрицы повышающего микширования в расчете на частотно-временной мозаичный фрагмент требует нежелательно высокой скорости передачи битов в системе кодирования/декодирования аудио. Преимущество способа состоит в том, что только поднабор элементов матрицы повышающего микширования должен кодироваться и передаваться в декодер. Это может снижать требуемую скорость передачи битов системы кодирования/декодирования аудио, поскольку передается меньший объем данных, и данные могут кодироваться более эффективно.In some cases, sending all the elements of the upmix matrix per time-frequency tile requires an undesirably high bit rate in the audio encoding/decoding system. The advantage of the method is that only a subset of the upmix matrix elements need to be encoded and transmitted to the decoder. This can reduce the required bit rate of an audio encoding/decoding system because less data is transmitted and the data can be encoded more efficiently.

Системы кодирования/декодирования аудио типично разделяют частотно-временное пространство на частотно-временные мозаичные фрагменты, например, посредством применения подходящих гребенок фильтров к входным аудиосигналам. Посредством частотно-временного мозаичного фрагмента, в общем, означается часть частотно-временного пространства, соответствующего временному интервалу и подполосе частот. Временной интервал типично может соответствовать длительности временного кадра, используемого в системе кодирования/декодирования аудио. Подполоса частот типично может соответствовать одной или нескольким подполосам частот соседней частоты, заданным посредством гребенки фильтров, используемой в системе кодирования/декодирования. В случае если подполоса частот соответствует нескольким подполосам частот соседней частоты, заданным посредством гребенки фильтров, это предоставляет возможность наличия неравномерных подполос частот в процессе декодирования аудиосигнала, например, более широких подполос частот для верхних частот аудиосигнала. В широкополосном случае, в котором система кодирования/декодирования аудио управляет полным частотным диапазоном, подполоса частот частотно-временного мозаичного фрагмента может соответствовать полному частотному диапазону. Вышеописанный способ раскрывает этапы кодирования для кодирования матрицы повышающего микширования в системе кодирования аудио для предоставления возможности восстановления аудиообъекта во время одного такого частотно-временного мозаичного фрагмента. Тем не менее, следует понимать, что способ может повторяться для каждого частотно-временного мозаичного фрагмента системы кодирования/декодирования аудио. Также следует понимать, что несколько частотно-временных мозаичных фрагментов могут кодироваться одновременно. Типично, соседние частотно-временные мозаичные фрагменты могут перекрывать бит во времени и/или частоту. Например, перекрытие во времени может быть эквивалентным линейной интерполяции элементов матрицы восстановления во времени, т.е. от одного временного интервала до следующего. Тем не менее, это раскрытие сущности направлено на другие части системы кодирования/декодирования, и реализация перекрытия во времени и/или по частоте между соседними частотно-временными мозаичными фрагментами оставлена для специалистов в данной области техники.Audio encoding/decoding systems typically partition time-frequency space into time-frequency tiles, for example, by applying suitable filter banks to the input audio signals. By a time-frequency tile, a portion of the time-frequency space corresponding to a time domain and frequency subband is generally designated. The time interval may typically correspond to the duration of a time frame used in an audio encoding/decoding system. A subband typically may correspond to one or more adjacent frequency subbands defined by a filter bank used in the encoding/decoding system. In the case where a sub-band corresponds to several adjacent frequency sub-bands defined by a filter bank, this allows for the possibility of having uneven sub-bands in the audio decoding process, for example, wider sub-bands for the higher frequencies of the audio signal. In the wideband case, in which the audio encoding/decoding system controls the entire frequency range, a subband of the time-frequency tile may correspond to the entire frequency range. The above-described method discloses encoding steps for encoding an upmix matrix in an audio encoding system to enable reconstruction of an audio object during one such time-frequency tile. However, it should be understood that the method may be repeated for each time-frequency tile of the audio encoding/decoding system. It should also be understood that multiple time-frequency tiles may be encoded simultaneously. Typically, adjacent time-frequency tiles may overlap a bit in time and/or frequency. For example, overlap in time may be equivalent to linear interpolation of the elements of the reconstruction matrix in time, i.e. from one time interval to the next. However, this disclosure is directed to other parts of the encoding/decoding system, and the implementation of overlap in time and/or frequency between adjacent time-frequency tiles is left to those skilled in the art.

Согласно вариантам осуществления, для каждой строки в матрице повышающего микширования, позиции в матрице повышающего микширования выбранного поднабора элементов варьируются для множества полос частот и/или для множества временных кадров. Соответственно, выбор элементов может зависеть от конкретного частотно-временного мозаичного фрагмента, так что различные элементы могут выбираться для различных частотно-временных мозаичных фрагментов. Это предоставляет более гибкий способ кодирования, который повышает качество кодированного сигнала.In embodiments, for each row in the upmix matrix, the positions in the upmix matrix of a selected subset of elements vary across multiple frequency bands and/or across multiple time frames. Accordingly, the selection of elements may depend on a particular time-frequency tile, such that different elements may be selected for different time-frequency tiles. This provides a more flexible encoding method that improves the quality of the encoded signal.

Согласно вариантам осуществления, выбранный поднабор элементов содержит идентичное число элементов для каждой строки матрицы повышающего микширования. В дополнительных вариантах осуществления, число выбранных элементов может составлять ровно один. Это уменьшает сложность кодера, поскольку алгоритм должен только выбирать идентичное число элемента (элементов) для каждой строки, т.е. элемент (элементы), которые являются наиболее важными при выполнении повышающего микширования на стороне декодера.In embodiments, the selected subset of elements contains an identical number of elements for each row of the upmix matrix. In further embodiments, the number of elements selected may be exactly one. This reduces encoder complexity as the algorithm only needs to select an identical number of element(s) for each line, i.e. the element(s) that are most important when performing decoder-side upmixing.

Согласно вариантам осуществления, для каждой строки в матрице повышающего микширования и для множества полос частот или множества временных кадров, значения элементов выбранных поднаборов элементов формируют один или более векторов параметров, причем каждый параметр в векторе параметров соответствует одному из множества полос частот или множества временных кадров, и при этом один или более векторов параметров кодируются с использованием способа согласно первому аспекту. Другими словами, могут эффективно кодироваться значения выбранных элементов. Преимущества относительно признаков и компоновок как представлено в обзоре первого аспекта выше, в общем, могут быть допустимы для этого варианта осуществления.In embodiments, for each row in the upmix matrix and for a plurality of frequency bands or a plurality of time frames, the element values of the selected subsets of elements form one or more parameter vectors, wherein each parameter in the parameter vector corresponds to one of the plurality of frequency bands or multiple time frames, and wherein one or more parameter vectors are encoded using the method according to the first aspect. In other words, the meanings of the selected elements can be effectively encoded. Advantages regarding features and arrangements as presented in the review of the first aspect above may generally be acceptable for this embodiment.

Согласно вариантам осуществления, для каждой строки в матрице повышающего микширования и для множества полос частот или множества временных кадров, позиции элементов выбранных поднаборов элементов формируют один или более векторов параметров, причем каждый параметр в векторе параметров соответствует одному из множества полос частот или множества временных кадров, и при этом один или более векторов параметров кодируются с использованием способа согласно первому аспекту. Другими словами, могут эффективно кодироваться позиции выбранных элементов. Преимущества относительно признаков и компоновок как представлено в обзоре первого аспекта выше, в общем, могут быть допустимы для этого варианта осуществления.In embodiments, for each row in the upmix matrix and for a plurality of frequency bands or a plurality of time frames, the element positions of the selected subsets of elements form one or more parameter vectors, wherein each parameter in the parameter vector corresponds to one of the plurality of frequency bands or multiple time frames, and wherein one or more parameter vectors are encoded using the method according to the first aspect. In other words, the positions of selected elements can be effectively encoded. Advantages regarding features and arrangements as presented in the review of the first aspect above may generally be acceptable for this embodiment.

Согласно примерным вариантам осуществления, предусмотрен машиночитаемый носитель, содержащий инструкции в виде машинного кода, адаптированные выполнять любой способ третьего аспекта при выполнении на устройстве, имеющем возможности обработки.According to exemplary embodiments, a computer-readable medium is provided comprising machine code instructions adapted to perform any method of the third aspect when executed on a device having processing capabilities.

Согласно примерным вариантам осуществления, предусмотрен кодер для кодирования матрицы повышающего микширования в системе кодирования аудио, причем каждая строка матрицы повышающего микширования содержит M элементов, обеспечивающие возможность восстановления частотно-временного мозаичного фрагмента аудиообъекта из сигнала понижающего микширования, содержащего M каналов, причем кодер содержит: приемный компонент, адаптированный с возможностью принимать каждую строку в матрице повышающего микширования; компонент выбора, адаптированный с возможностью выбирать поднабор элементов из M элементов строки в матрице повышающего микширования; компонент кодирования, адаптированный с возможностью представлять каждый элемент в выбранном поднаборе элементов посредством значения и позиции в матрице повышающего микширования, причем компонент кодирования дополнительно адаптирован с возможностью кодировать значение и позицию в матрице повышающего микширования каждого элемента в выбранном поднаборе элементов. According to exemplary embodiments, an encoder is provided for encoding an upmix matrix in an audio encoding system, wherein each row of the upmix matrix contains M elements capable of reconstructing a time-frequency tile of an audio object from a downmix signal containing M channels, wherein the encoder comprises: a receive a component adapted to receive each row in the upmix matrix; a selection component adapted to select a subset of elements from the M row elements in the upmixing matrix; an encoding component adapted to represent each element in the selected subset of elements by a value and position in the upmix matrix, wherein the encoding component is further adapted to encode the value and position in the upmix matrix of each element in the selected subset of elements.

IV. Обзор: разреженный матричный декодерIV. Review: Sparse Matrix Decoder

Согласно четвертому аспекту, примерные варианты осуществления предлагают способы декодирования, декодеры и компьютерные программные продукты для декодирования. Предложенные способы, декодеры и компьютерные программные продукты могут, в общем, иметь идентичные признаки и преимущества.According to a fourth aspect, exemplary embodiments provide decoding methods, decoders, and computer program products for decoding. The proposed methods, decoders, and computer program products may generally have identical features and advantages.

Преимущества относительно признаков и компоновок, как представлено в обзоре разреженного матричного кодера выше, в общем, могут быть допустимыми для соответствующих признаков и компоновок для декодера.The advantages regarding features and arrangements, as presented in the overview of the sparse matrix encoder above, may generally be valid for the corresponding features and arrangements for the decoder.

Согласно примерным вариантам осуществления, предусмотрен способ для восстановления частотно-временного мозаичного фрагмента аудиообъекта в системе декодирования аудио, содержащий: прием сигнала понижающего микширования, содержащего M каналов; прием, по меньшей мере, одного кодированного элемента, представляющего поднабор M элементов строки в матрице повышающего микширования, каждый кодированный элемент содержит значение и позицию в строке в матрице повышающего микширования, позиция указывает один из M каналов сигнала понижающего микширования, которому соответствует кодированный элемент; и восстановление частотно-временного мозаичного фрагмента аудиообъекта из сигнала понижающего микширования посредством формирования линейной комбинации каналов понижающего микширования, которые соответствуют, по меньшей мере, одному кодированному элементу, при этом в упомянутой линейной комбинации каждый канал понижающего микширования умножается на значение его соответствующего кодированного элемента.According to exemplary embodiments, there is provided a method for reconstructing a time-frequency tile of an audio object in an audio decoding system, comprising: receiving a downmix signal containing M channels; receiving at least one coded element representing a subset of M row elements in the upmix matrix, each coded element comprising a value and a row position in the upmix matrix, the position indicating one of the M downmix signal channels to which the coded element corresponds; and recovering a time-frequency tile of the audio object from the downmix signal by forming a linear combination of downmix channels that correspond to at least one encoded element, wherein in said linear combination each downmix channel is multiplied by the value of its corresponding encoded element.

Таким образом, согласно этому способу частотно-временной мозаичный фрагмент аудиообъекта восстановлен посредством формирования линейной комбинации поднабора каналов понижающего микширования. Поднабор каналов понижающего микширования соответствует этим каналам, для которых приняты кодированные коэффициенты повышающего микширования. Таким образом, способ предоставляет возможность восстановления аудиообъекта, несмотря на то, что принимается только поднабор, к примеру, разреженный поднабор, матрицы повышающего микширования. Посредством формирования линейной комбинации только каналов понижающего микширования, которые соответствуют, по меньшей мере, одному кодированному элементу, может снижаться сложность процесса декодирования. Альтернатива заключается в том, чтобы формировать линейную комбинацию всех сигналов понижающего микширования и затем перемножать некоторые из них (которые не соответствуют, по меньшей мере, одному кодированному элементу) со значением нуль.Thus, according to this method, a time-frequency tile of an audio object is reconstructed by forming a linear combination of a subset of downmix channels. A subset of downmix channels corresponds to those channels for which encoded upmix coefficients are received. Thus, the method provides the ability to reconstruct an audio object even though only a subset, eg, a sparse subset, of the upmix matrix is received. By forming a linear combination of only the downmix channels that correspond to at least one encoded element, the complexity of the decoding process can be reduced. An alternative is to form a linear combination of all the downmix signals and then multiply some of them (that do not correspond to at least one coded element) with the value zero.

Согласно вариантам осуществления, позиции, по меньшей мере, одного кодированного элемента варьируются для множества полос частот и/или для множества временных кадров. Другими словами, различные элементы матрицы повышающего микширования могут кодироваться для различных частотно-временных мозаичных фрагментов.According to embodiments, the positions of at least one coded element vary across multiple frequency bands and/or across multiple time frames. In other words, different elements of the upmix matrix may be encoded for different time-frequency tiles.

Согласно вариантам осуществления, число элементов, по меньшей мере, одного кодированного элемента равно одному. Это означает то, что аудиообъект восстановлен из одного канала понижающего микширования в каждом частотно-временном мозаичном фрагменте. Тем не менее, один канал понижающего микширования, используемый для того, чтобы восстанавливать аудиообъект, может варьироваться между различными частотно-временными мозаичными фрагментами.According to embodiments, the number of elements of at least one coded element is one. This means that the audio object is reconstructed from one downmix channel in each time-frequency tile. However, the single downmix channel used to reconstruct the audio object may vary between different time-frequency tiles.

Согласно вариантам осуществления, для множества полос частот или множества временных кадров, значения, по меньшей мере, одного кодированного элемента формируют один или более векторов, при этом каждое значение представлено посредством энтропийно кодированного символа, при этом каждый символ в каждом векторе энтропийно кодированных символов соответствует одной из множества полос частот или одному из множества временных кадров, и при этом один или более векторов энтропийно кодированных символов декодируются с использованием способа согласно второму аспекту. Таким образом, значения элементов матрицы повышающего микширования могут эффективно кодироваться.In embodiments, for a plurality of frequency bands or a plurality of time frames, the values of at least one encoded element form one or more vectors, wherein each value is represented by an entropy coded symbol, wherein each symbol in each entropy coded symbol vector corresponds to one from a plurality of frequency bands or one of a plurality of time frames, and wherein one or more vectors of entropy encoded symbols are decoded using the method according to the second aspect. In this way, the values of the upmix matrix elements can be efficiently encoded.

Согласно вариантам осуществления, для множества полос частот или множества временных кадров, позиции, по меньшей мере, одного кодированного элемента формируют один или более векторов, при этом каждая позиция представлена посредством энтропийно кодированного символа, при этом каждый символ в каждом векторе энтропийно кодированных символов соответствует одной из множества полос частот или множества временных кадров, и при этом один или более векторов энтропийно кодированных символов декодируются с использованием способа согласно второму аспекту. Таким образом, могут эффективно кодироваться позиции элементов матрицы повышающего микширования.In embodiments, for a plurality of frequency bands or a plurality of time frames, the positions of at least one encoded element form one or more vectors, each position being represented by an entropy coded symbol, wherein each symbol in each entropy coded symbol vector corresponds to one from a plurality of frequency bands or a plurality of time frames, and wherein one or more vectors of entropy encoded symbols are decoded using the method according to the second aspect. In this way, the element positions of the upmix matrix can be efficiently encoded.

Согласно примерным вариантам осуществления, предусмотрен машиночитаемый носитель, содержащий инструкции в виде машинного кода, адаптированные выполнять любой способ третьего аспекта при выполнении на устройстве, имеющем возможности обработки.According to exemplary embodiments, a computer-readable medium is provided comprising machine code instructions adapted to perform any method of the third aspect when executed on a device having processing capabilities.

Согласно примерным вариантам осуществления, предусмотрен декодер для восстановления частотно-временного мозаичного фрагмента аудиообъекта, содержащий: приемный компонент, выполненный с возможностью принимать сигнал понижающего микширования, содержащий M каналов и, по меньшей мере, один кодированный элемент, представляющий поднабор M элементов строки в матрице повышающего микширования, каждый кодированный элемент содержит значение и позицию в строке в матрице повышающего микширования, позиция указывает один из M каналов сигнала понижающего микширования, которому соответствует кодированный элемент; и компонент восстановления, выполненный с возможностью восстанавливать частотно-временной мозаичный фрагмент аудиообъекта из сигнала понижающего микширования посредством формирования линейной комбинации каналов понижающего микширования, которые соответствуют, по меньшей мере, одному кодированному элементу, при этом в упомянутой линейной комбинации каждый канал понижающего микширования умножается на значение его соответствующего кодированного элемента.According to exemplary embodiments, a decoder is provided for reconstructing a time-frequency tile of an audio object, comprising: a receiving component configured to receive a downmix signal containing M channels and at least one encoded element representing a subset of M row elements in the upmix matrix mixing, each coded element contains a value and a row position in the upmix matrix, the position indicating one of the M downmix signal channels to which the coded element corresponds; and a recovery component configured to recover a time-frequency tile of an audio object from the downmix signal by forming a linear combination of downmix channels that correspond to at least one encoded element, wherein in said linear combination each downmix channel is multiplied by a value its corresponding coded element.

V. Примерные варианты осуществленияV. Exemplary Embodiments

Фиг. 1 показывает обобщенную блок-схему системы 100 кодирования аудио для кодирования аудиообъектов 104. Система кодирования аудио содержит компонент 106 понижающего микширования, который создает сигнал 110 понижающего микширования из аудиообъектов 104. Сигнал 110 понижающего микширования, например, может представлять собой сигналы объемного звучания 5.1 или 7.1, которые являются обратно совместимыми с установленными системами декодирования звука, такими как Dolby Digital Plus, или MPEG-стандартами, такими как AAC, USAC или MP3. В дополнительных вариантах осуществления, сигнал понижающего микширования не является обратно совместимым.Fig. 1 shows a general block diagram of an audio encoding system 100 for encoding audio objects 104. The audio encoding system includes a downmix component 106 that creates a downmix signal 110 from audio objects 104. The downmix signal 110, for example, may be 5.1 or 7.1 surround signals. , which are backward compatible with established audio decoding systems such as Dolby Digital Plus, or MPEG standards such as AAC, USAC or MP3. In further embodiments, the downmix signal is not backwards compatible.

Чтобы иметь возможность восстанавливать аудиообъекты 104 из сигнала 110 понижающего микширования, параметры повышающего микширования определяются в компоненте 112 анализа параметров повышающего микширования из сигнала 110 понижающего микширования и аудиообъектов 104. Например, параметры повышающего микширования могут соответствовать элементам матрицы повышающего микширования, которая дает возможность восстановления аудиообъектов 104 из сигнала 110 понижающего микширования. Компонент 112 анализа параметров повышающего микширования обрабатывает сигнал 110 понижающего микширования и аудиообъекты 104 относительно отдельных частотно-временных мозаичных фрагментов. Таким образом, параметры повышающего микширования определяются для каждого частотно-временного мозаичного фрагмента. Например, матрица повышающего микширования может определяться для каждого частотно-временного мозаичного фрагмента. Например, компонент 112 анализа параметров повышающего микширования может работать в частотной области, такой как область квадратурных зеркальных фильтров (QMF), которая дает возможность частотно-избирательной обработки. По этой причине, сигнал 110 понижающего микширования и аудиообъекты 104 могут быть преобразованы в частотную область посредством обработки сигнала 110 понижающего микширования и аудиообъектов 104 в гребенке 108 фильтров. Это, например, может осуществляться посредством применения QMF-преобразования или любого другого подходящего преобразования.To be able to recover audio objects 104 from the downmix signal 110, upmix parameters are determined in the upmix parameter analysis component 112 from the downmix signal 110 and audio objects 104. For example, the upmix parameters may correspond to elements of an upmix matrix that enables the reconstruction of audio objects 104 from the downmix signal 110. The upmix parameter analysis component 112 processes the downmix signal 110 and audio objects 104 relative to individual time-frequency tiles. Thus, upmix parameters are determined for each time-frequency tile. For example, an upmix matrix may be determined for each time-frequency tile. For example, the upmix parameter analysis component 112 may operate in a frequency domain, such as a quadrature mirror filter (QMF) domain, which enables frequency-selective processing. For this reason, the downmix signal 110 and audio objects 104 can be converted into the frequency domain by processing the downmix signal 110 and audio objects 104 in the filter bank 108. This may, for example, be accomplished by applying a QMF transform or any other suitable transform.

Параметры 114 повышающего микширования могут быть организованы в векторном формате. Вектор может представлять параметр повышающего микширования для восстановления конкретного аудиообъекта из аудиообъектов 104 в различных полосах частот в конкретном временном кадре. Например, вектор может соответствовать определенному матричному элементу в матрице повышающего микширования, при этом вектор содержит значения определенного матричного элемента для последующих полос частот. В дополнительных вариантах осуществления, вектор может представлять параметры повышающего микширования для восстановления конкретного аудиообъекта из аудиообъектов 104 в различных временных кадрах в конкретной полосе частот. Например, вектор может соответствовать определенному матричному элементу в матрице повышающего микширования, при этом вектор содержит значения определенного матричного элемента для последующих временных кадров, но на одной частоте полосы частот.The upmix parameters 114 may be organized in a vector format. The vector may represent an upmix parameter for reconstructing a particular audio object from audio objects 104 in different frequency bands in a particular time frame. For example, a vector may correspond to a specific matrix element in the upmix matrix, where the vector contains the values of the specific matrix element for subsequent frequency bands. In additional embodiments, a vector may represent upmix parameters for reconstructing a particular audio object from audio objects 104 at different time frames in a particular frequency band. For example, a vector may correspond to a specific matrix element in the upmix matrix, wherein the vector contains the values of the specific matrix element for subsequent time frames, but at the same frequency band.

Каждый параметр в векторе соответствует апериодической величине, например, величине, которая принимает значение между -9,6 и 9,4. Под апериодической величиной, в общем, подразумевается величина, для которой отсутствует периодичность в значениях, которые может принимать величина. Это представляет собой отличие от периодической величины, такой как угол, для которой имеется четкое периодическое соответствие между значениями, которые может принимать величина. Например, для угла, предусмотрена периодичность 2π, так что, например, нулевой угол соответствует углу 2π.Each parameter in the vector corresponds to an aperiodic quantity, for example, a quantity that takes a value between -9.6 and 9.4. By aperiodic quantity, in general, we mean a quantity for which there is no periodicity in the values that the quantity can take. This is in contrast to a periodic quantity such as an angle, for which there is a clear periodic correspondence between the values that the quantity can take. For example, for an angle, a periodicity of 2π is provided, so that, for example, a zero angle corresponds to an angle of 2π.

Параметры 114 повышающего микширования затем принимаются посредством кодера 102 матрицы повышающего микширования в векторном формате. Далее подробно поясняется кодер матрицы повышающего микширования в связи с фиг. 2. Вектор принимается посредством приемного компонента 202 и имеет первый элемент и, по меньшей мере, один второй элемент. Число элементов зависит от, например, числа полос частот в аудиосигнале. Число элементов также может зависеть от числа временных кадров аудиосигнала, кодируемого в одной операции кодирования.The upmix parameters 114 are then received by the upmix matrix encoder 102 in vector format. Next, the upmix matrix encoder will be explained in detail in connection with FIG. 2. The vector is received by receiving component 202 and has a first element and at least one second element. The number of elements depends on, for example, the number of frequency bands in the audio signal. The number of elements may also depend on the number of time frames of the audio signal being encoded in one encoding operation.

Вектор затем индексируется посредством компонента 204 индексации. Компонент индексации выполнен с возможностью представлять каждый параметр в векторе посредством значения индекса, которое может принимать предварительно заданное число значений. Это представление может выполняться за два шага. Сначала параметр квантуется, и затем квантованное значение индексируется посредством значения индекса. В качестве примера, в случае если каждый параметр в векторе может принимать значение между -9,6 и 9,4, это может выполняться посредством использования шагов квантования 0,2. Квантованные значения затем могут индексироваться посредством индексов 0-95, т.е. 96 различных значений. В следующих примерах, значение индекса находится в диапазоне 0-95, но это представляет собой, конечно, только пример, другие диапазоны значений индекса являются одинаково возможными, например, 0-191 или 0-63. Меньшие шаги квантования могут давать в результате менее искаженный декодированный аудиосигнал на стороне декодера, но также могут давать в результате большую требуемую скорость передачи битов для передачи данных между системой 100 кодирования аудио и декодером.The vector is then indexed by indexing component 204. The indexing component is configured to represent each parameter in the vector by an index value that can take on a predetermined number of values. This representation can be performed in two steps. First the parameter is quantized, and then the quantized value is indexed by the index value. As an example, in case each parameter in the vector can take a value between -9.6 and 9.4, this can be accomplished by using quantization steps of 0.2. The quantized values can then be indexed using indices 0-95, i.e. 96 different values. In the following examples, the index value is in the range 0-95, but this is of course only an example, other index value ranges are equally possible, for example 0-191 or 0-63. Smaller quantization steps may result in a less distorted decoded audio signal on the decoder side, but may also result in a higher required bit rate for transmitting data between the audio encoding system 100 and the decoder.

Индексированные значения затем отправляются в компонент 206 ассоциирования, который ассоциирует каждый, по меньшей мере, один второй элемент с символом с использованием стратегии дифференциального кодирования по модулю. Компонент 206 ассоциирования выполнен с возможностью вычислять разность между значением индекса второго элемента и значением индекса предыдущего элемента в векторе. Посредством использования только традиционной стратегии дифференциального кодирования, разность может составлять любое значение в диапазоне от -95 до 95, т.е. она имеет 191 возможное значение. Это означает то, что, когда разность кодируется с использованием энтропийного кодирования, требуется таблица вероятностей, содержащая 191 вероятность, т.е. одна вероятность для каждого из 191 возможного значения разностей. Кроме того, эффективность кодирования снижается, поскольку для каждой разности, приблизительно половина из этих 191 вероятности являются невозможными. Например, если второй элемент, который должен дифференциально кодироваться, имеет значение индекса 90, возможные различия находятся в диапазоне от -5 до +90. Типично, наличие стратегии энтропийного кодирования, в которой некоторые вероятности являются невозможными для каждого значения, которое должно кодироваться, снижает эффективность кодирования. Стратегия дифференциального кодирования в этом раскрытии сущности может преодолевать эту проблему и одновременно сокращать число необходимых кодов до 96 посредством применения операции по модулю 96 к разности. Алгоритм ассоциирования в силу этого может выражаться как:The indexed values are then sent to an association component 206, which associates every at least one second element with a symbol using a modulo differential encoding strategy. The association component 206 is configured to calculate the difference between the index value of the second element and the index value of the previous element in the vector. By using only the traditional differential encoding strategy, the difference can be any value in the range from -95 to 95, i.e. it has 191 possible meanings. This means that when the difference is encoded using entropy coding, a probability table containing 191 probabilities is required, i.e. one probability for each of the 191 possible difference values. In addition, coding efficiency is reduced because for each difference, approximately half of the 191 probabilities are impossible. For example, if the second element to be differentially encoded has an index value of 90, possible differences range from -5 to +90. Typically, having an entropy encoding strategy in which some probabilities are impossible for each value to be encoded reduces encoding efficiency. The differential coding strategy in this disclosure can overcome this problem and simultaneously reduce the number of required codes to 96 by applying a modulo 96 operation to the difference. The association algorithm can therefore be expressed as:

где b является элементом в дифференциально кодируемом векторе, NQ является числом возможных значений индекса, и является символом, ассоциированным с элементом b.where b is an element in the differentially encoded vector, N Q is the number of possible index values, and is the symbol associated with element b.

Согласно некоторым вариантам осуществления, таблица вероятностей преобразуется в таблицу кодирования Хаффмана. В этом случае, символ, ассоциированный с элементом в векторе, используется в качестве индекса таблицы кодирования. Компонент 208 кодирования затем может кодировать каждый, по меньшей мере, один второй элемент посредством представления второго элемента с помощью кодового слова в таблице кодирования Хаффмана, которая индексируется посредством индекса таблицы кодирования, ассоциированного со вторым элементом.In some embodiments, the probability table is converted to a Huffman encoding table. In this case, the character associated with the element in the vector is used as the codebook index. Encoding component 208 may then encode each of the at least one second element by representing the second element with a codeword in a Huffman codebook that is indexed by the codebook index associated with the second element.

Любая другая подходящая стратегия энтропийного кодирования может реализовываться в компоненте 208 кодирования. В качестве примера, такая стратегия кодирования может быть стратегией кодирования диапазона или стратегией арифметического кодирования.Any other suitable entropy encoding strategy may be implemented in encoding component 208. As an example, such an encoding strategy may be a range encoding strategy or an arithmetic encoding strategy.

Далее показано то, что энтропия подхода применения операции по модулю всегда ниже или равна энтропии традиционного дифференциального подхода. Энтропия, , традиционного дифференциального подхода следующая:It is further shown that the entropy of the modulo operation approach is always lower than or equal to the entropy of the traditional differential approach. Entropy, , the traditional differential approach is as follows:

где является вероятностью простого дифференциального значения n индекса.Where is the probability of a simple differential value of the n index.

Энтропия, , подхода выполнения операции по модулю следующая:Entropy, , the approach to performing the operation modulo is as follows:

где q(n) является вероятностью дифференциального значения n индекса по модулю как задано посредством следующего:where q(n) is the probability of the differential index value n modulo as specified by the following:

В силу этого мы имеем следующее:Because of this we have the following:

Подстановка в выходах последнего суммированияSubstitution in the outputs of the last summation

Дополнительно,Additionally,

При сравнении сумм почленно, посколькуWhen comparing sums term by term, since

и аналогично:and similarly:

мы имеем, что we have that

Как показано выше, энтропия для подхода выполнения операции по модулю всегда ниже или равна энтропии традиционного дифференциального подхода. Случай, в котором энтропия равна, является редким случаем, когда данные, чтобы кодироваться являются патологическими данными, т.е. данные с отклоняющимся характером изменения, которые в большинстве случаев не применяются, например, к матрице повышающего микширования.As shown above, the entropy for the modulo operation approach is always lower than or equal to the entropy of the traditional differential approach. The case in which the entropy is equal is the rare case where the data to be encoded is pathological data, i.e. data with a deviating pattern of change that in most cases does not apply, for example, to an upmix matrix.

Поскольку энтропия для подхода выполнения операции по модулю всегда ниже или равна энтропии традиционного дифференциального подхода, энтропийное кодирование символов, вычисленных посредством подхода выполнения операции по модулю, должно обеспечивать в результате более низкую или, по меньшей мере, идентичную скорость передачи битов по сравнению с энтропийным кодированием символов, вычисленных посредством традиционного дифференциального подхода. Другими словами, энтропийное кодирование символов, вычисленных посредством подхода выполнения операции по модулю, в большинстве случаев является более эффективным, чем энтропийное кодирование символов, вычисленных посредством традиционного дифференциального подхода.Since the entropy of the modulo approach is always lower than or equal to the entropy of the traditional differential approach, entropy encoding of symbols computed by the modulo approach should result in a lower or at least identical bit rate compared to entropy encoding symbols computed using the traditional differential approach. In other words, entropy encoding of symbols computed using the modulo approach is, in most cases, more efficient than entropy encoding of symbols computed using the traditional differential approach.

Дополнительное преимущество, как упомянуто выше, заключается в том, что число требуемых вероятностей в таблице вероятностей в подходе выполнения операции по модулю составляет приблизительно половину от числа требуемых вероятностей в традиционном подходе не по модулю.An additional advantage, as mentioned above, is that the number of required probabilities in the probability table in the modulo approach is approximately half of the number of required probabilities in the traditional non-modulo approach.

Выше описан подход выполнения операции по модулю для кодирования, по меньшей мере, одного второго элемента в векторе параметров. Первый элемент может кодироваться посредством использования индексированного значения, посредством которого представлен первый элемент. Поскольку распределение вероятностей значения индекса первого элемента и дифференциального значения по модулю, по меньшей мере, одного второго элемента может быть существенно отличающимся, (см. фиг. 3 для распределения вероятностей индексированного первого элемента и фиг. 4 для распределения вероятностей дифференциального значения по модулю, т.е. символ, по меньшей мере, для одного второго элемента), выделенная таблица вероятностей для первого элемента может быть необходима. Это требует, чтобы и система 100 кодирования аудио, и соответствующий декодер имели такую выделенную таблицу вероятностей в своем запоминающем устройстве.The above describes an approach to perform a modulo operation to encode at least one second element in a parameter vector. The first element may be encoded by using the indexed value by which the first element is represented. Since the probability distribution of the index value of the first element and the differential value modulo of at least one second element may be significantly different (see Fig. 3 for the probability distribution of the indexed first element and Fig. 4 for the probability distribution of the differential value modulo, t .e. symbol for at least one second element), a dedicated probability table for the first element may be necessary. This requires that both the audio encoding system 100 and the corresponding decoder have such a dedicated probability table in their storage.

Тем не менее, авторы изобретения наблюдают, что форма распределений вероятностей в некоторых случаях может быть достаточно похожей, хотя сдвигается относительно друг друга. Это наблюдение может использоваться для того, чтобы аппроксимировать распределение вероятностей индексированного первого элемента посредством сдвигаемой версии распределения вероятностей символа, по меньшей мере, для одного второго элемента. Такой сдвиг может реализовываться посредством адаптации компонента 206 ассоциирования, чтобы ассоциировать первый элемент в векторе с символом посредством сдвига значения индекса, представляющего первый элемент в векторе, посредством значения смещения и затем применяться по модулю 96 (или соответствующее значение) в сдвигаемое значение индекса.However, the inventors observe that the shape of the probability distributions in some cases can be quite similar, although shifted relative to each other. This observation may be used to approximate the probability distribution of the indexed first element by a shifted version of the symbol probability distribution of the at least one second element. Such a shift may be implemented by adapting the association component 206 to associate the first element in the vector with a symbol by shifting the index value representing the first element in the vector by an offset value and then applying modulo 96 (or the corresponding value) to the shifted index value.

Вычисление символа, ассоциированного с первым элементом, в силу этого может выражаться как:The computation of the symbol associated with the first element can therefore be expressed as:

Такой достигаемый символ используется посредством компонента 208 кодирования, который кодирует первый элемент посредством энтропийного кодирования символа, ассоциированного с первым элементом, с использованием идентичной таблицы вероятностей, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент. Значение смещения может быть равно, или, по меньшей мере, близко к, разности между наиболее вероятным значением индекса для первого элемента и наиболее вероятным символом, по меньшей мере, для одного второго элемента в таблице вероятностей. На фиг. 3, наиболее вероятное значение индекса для первого элемента обозначается посредством стрелки 302. При условии, что наиболее вероятный символ, по меньшей мере, для одного второго элемента является нулем, значение, обозначаемое посредством стрелки 302, должно быть используемым значением смещения. Посредством использования подхода смещения, пики распределений на фиг. 3 и 4 совмещаются. Этот подход исключает необходимость выделенной таблицы вероятностей для первого элемента, и, следовательно, экономит объем запоминающего устройства в системе 100 кодирования аудио и соответствующем декодере при одновременном поддержании практически идентичной эффективности кодирования, которую обеспечивает выделенная таблица вероятностей.Such an achieved symbol is used by encoding component 208, which encodes the first element by entropy encoding the symbol associated with the first element using an identical probability table that is used to encode at least one second element. The offset value may be equal to, or at least close to, the difference between the most likely index value for the first element and the most likely symbol for at least one second element in the probability table. In fig. 3, the most probable index value for the first element is indicated by arrow 302. Provided that the most probable symbol for at least one second element is zero, the value indicated by arrow 302 should be the offset value used. By using the offset approach, the peaks of the distributions in Figs. 3 and 4 are combined. This approach eliminates the need for a dedicated probability table for the first element, and therefore saves storage space in the audio encoding system 100 and associated decoder while maintaining substantially identical encoding efficiency that a dedicated probability table provides.

В случае если энтропийное кодирование, по меньшей мере, одного второго элемента выполняется с использованием таблицы кодирования Хаффмана, компонент 208 кодирования может кодировать первый элемент в векторе с использованием идентичной таблицы кодирования Хаффмана, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент посредством представления первого элемента с помощью кодового слова в таблице кодирования Хаффмана, которая индексируется посредством индекса таблицы кодирования, ассоциированного с первым элементом.In the event that entropy encoding of at least one second element is performed using a Huffman codebook, encoding component 208 may encode the first element in the vector using an identical Huffman codebook that is used to encode at least one second element. element by representing the first element with a codeword in a Huffman codebook, which is indexed by the codebook index associated with the first element.

Поскольку скорость поиска может быть важной при кодировании параметра в системе декодирования аудио, запоминающее устройство, на котором сохраняется таблица кодирования, преимущественно представляет собой быстродействующее запоминающее устройство и в силу этого является дорогим. Посредством использования только одной таблицы вероятностей, кодер в силу этого может быть менее дорогим, чем в случае, если используются две таблицы вероятностей.Since search speed may be important when encoding a parameter in an audio decoding system, the storage device on which the coding table is stored is advantageously a high-speed storage device and is therefore expensive. By using only one probability table, the encoder can therefore be less expensive than if two probability tables are used.

Можно отметить, что распределения вероятностей, показанные на фиг. 3 и фиг. 4, зачастую вычисляются для обучающего набора данных заранее и в силу этого не вычисляются при кодировании вектора, но конечно, можно вычислять распределения "на лету" при кодировании.It may be noted that the probability distributions shown in FIG. 3 and fig. 4 are often calculated in advance for the training data set and are therefore not calculated when encoding the vector, but of course it is possible to calculate distributions on the fly during encoding.

Можно также отметить, что вышеприведенное описание системы 100 кодирования аудио с использованием вектора из матрицы повышающего микширования в качестве кодируемого вектора параметров представляет собой просто примерный вариант применения. Способ для кодирования вектора параметров, согласно этому раскрытию сущности, может использоваться в других вариантах применения в системе кодирования аудио, например, при кодировании других внутренних параметров в системе кодирования с понижающим микшированием, к примеру, параметров, используемых в параметрической системе расширения полосы пропускания, к примеру, репликации полос спектра (SBR).It may also be noted that the above description of the audio encoding system 100 using a vector from an upmix matrix as a parameter vector to be encoded is merely an exemplary application. The method for encoding a parameter vector according to this disclosure may be used in other applications in an audio encoding system, for example, when encoding other internal parameters in a downmix encoding system, for example, parameters used in a parametric bandwidth extension system, to for example, spectrum band replication (SBR).

Фиг. 5 является обобщенной блок-схемой системы 500 декодирования аудио для повторного создания кодированных аудиообъектов из кодированного сигнала 510 понижающего микширования и кодированной матрицы 512 повышающего микширования. Кодированный сигнал 510 понижающего микширования принимается посредством приемного компонента 506 понижающего микширования, в котором сигнал уже декодирован, и, если не находится в подходящей частотной области, преобразуется в подходящую частотную область. Декодированный сигнал 516 понижающего микширования затем отправляется в компонент 508 повышающего микширования. В компоненте 508 повышающего микширования, кодированные аудиообъекты воссоздаются с использованием декодированного сигнала 516 понижающего микширования и декодированной матрицы 504 повышающего микширования. Более конкретно, компонент 508 повышающего микширования может выполнять матричную операцию, в которой декодированная матрица 504 повышающего микширования умножается на вектор, содержащий декодированные сигналы 516 понижающего микширования. Ниже описывается процесс декодирования матрицы повышающего микширования. Система 500 декодирования аудио дополнительно содержит компонент 514 рендеринга, которые выводят аудиосигнал на основе восстановленных аудиообъектов 518 в зависимости от того, какой модуль воспроизведения, который подключается к системе 500 декодирования аудио.Fig. 5 is a general block diagram of an audio decoding system 500 for re-creating coded audio objects from a coded downmix signal 510 and a coded upmix matrix 512. The encoded downmix signal 510 is received by the receive downmix component 506, in which the signal has already been decoded, and, if not in a suitable frequency domain, is converted to a suitable frequency domain. The decoded downmix signal 516 is then sent to the upmix component 508. In the upmix component 508, encoded audio objects are reconstructed using the decoded downmix signal 516 and the decoded upmix matrix 504. More specifically, the upmix component 508 may perform a matrix operation in which the decoded upmix matrix 504 is multiplied by a vector containing the decoded downmix signals 516. The following describes the decoding process of the upmix matrix. The audio decoding system 500 further includes a rendering component 514 that outputs an audio signal based on the reconstructed audio objects 518 depending on which playback module is connected to the audio decoding system 500.

Кодированная матрица 512 повышающего микширования принимается посредством декодера 502 матрицы повышающего микширования, который подробно поясняется далее в связи с фиг. 6. Декодер 502 матрицы повышающего микширования выполнен с возможностью декодировать вектор энтропийно кодированных символов в системе декодирования аудио в вектор параметров, связанных с апериодической величиной. Вектор энтропийно кодированных символов содержит первый энтропийно кодированный символ и, по меньшей мере, один второй энтропийно кодированный символ, и вектор параметров содержит первый элемент и, по меньшей мере, второй элемент. Кодированная матрица 512 повышающего микширования в силу этого принимается посредством приемного компонента 602 в векторном формате. Декодер 502 дополнительно содержит компонент 604 индексации, выполненный с возможностью представлять каждый энтропийно кодированный символ в векторе посредством символа, который может принимать N значений посредством использования таблицы вероятностей. N, например, может быть 96. Компонент 606 ассоциирования выполнен с возможностью ассоциировать первый энтропийно кодированный символ со значением индекса посредством любого подходящего средства, в зависимости от способа кодирования, используемого для кодирования первого элемента в векторе параметров. Символ для каждого из вторых кодов и значения индекса для первого кода затем используется посредством компонента 606 ассоциирования, который ассоциирует каждый, по меньшей мере, один второй энтропийно кодированный символ со значением индекса. Значение индекса, по меньшей мере, одного второго энтропийно кодированного символа вычисляется посредством первого вычисления суммы значения индекса, ассоциированного с энтропийно кодированным символом, предшествующим второму энтропийно кодированному символу в векторе энтропийно кодированных символов, и символа, представляющего второй энтропийно кодированный символ. Затем, операция по модулю N применяется к сумме. Предположим, без потери общности, что минимальное значение индекса 0 и максимальное значение индекса, является N-1, например, 95. Алгоритм ассоциирования в силу этого может выражаться как:The encoded upmix matrix 512 is received by the upmix matrix decoder 502, which is explained in detail below in connection with FIG. 6. The upmix matrix decoder 502 is configured to decode a vector of entropy encoded symbols in an audio decoding system into a vector of parameters associated with an aperiodic quantity. The entropy-coded symbol vector contains a first entropy-coded symbol and at least one second entropy-coded symbol, and the parameter vector contains a first element and at least a second element. The encoded upmix matrix 512 is therefore received by the receiving component 602 in vector format. Decoder 502 further includes an indexing component 604 configured to represent each entropy encoded symbol in the vector by a symbol that can take on N values through the use of a probability table. N, for example, may be 96. The association component 606 is configured to associate the first entropy encoded symbol with an index value by any suitable means, depending on the encoding method used to encode the first element in the parameter vector. The symbol for each of the second codes and the index value for the first code are then used by an association component 606 that associates each of the at least one second entropy encoded symbol with an index value. The index value of at least one second entropy encoded symbol is calculated by first calculating the sum of the index value associated with the entropy encoded symbol preceding the second entropy encoded symbol in the vector of entropy encoded symbols and the symbol representing the second entropy encoded symbol. Then, the modulo N operation is applied to the sum. Assume, without loss of generality, that the minimum index value is 0 and the maximum index value is N-1, for example 95. The association algorithm can therefore be expressed as:

где b является элементом в декодируемом векторе, и является числом возможных значений индекса.where b is an element in the vector to be decoded, and is the number of possible index values.

Декодер 502 матрицы повышающего микширования дополнительно содержит компонент 608 декодирования, который выполнен с возможностью представлять, по меньшей мере, один второй элемент вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному, по меньшей мере, с одним вторым энтропийно кодированным символом. Таким образом, это представление представляет собой декодированную версию параметра, кодированного, например, посредством системы 100 кодирования аудио, показанной на фиг. 1. Другими словами, это представление равно квантованному параметру, кодированному посредством системы 100 кодирования аудио, показанной на фиг. 1.The upmix matrix decoder 502 further includes a decoding component 608, which is configured to represent at least one second element of the parameter vector by a parameter value corresponding to an index value associated with the at least one second entropy-coded symbol. Thus, this representation is a decoded version of a parameter encoded, for example, by the audio encoding system 100 shown in FIG. 1. In other words, this representation is equal to the quantized parameter encoded by the audio encoding system 100 shown in FIG. 1.

Согласно одному варианту осуществления настоящего изобретения, каждый энтропийно кодированный символ в векторе энтропийно кодированного символа представлен посредством символа с использованием идентичной таблицы вероятностей для всех энтропийно кодированных символов в векторе энтропийно кодированных символов. Преимущество этого состоит в том, что только одна таблица вероятностей должна сохраняться в запоминающем устройстве декодера. Поскольку скорость поиска может быть важной при декодировании энтропийно кодированного символа в системе декодирования аудио, запоминающее устройство, на котором сохраняется таблица вероятностей, преимущественно представляет собой быстродействующее запоминающее устройство и в силу этого является дорогим. Посредством использования только одной таблицы вероятностей, декодер в силу этого может быть менее дорогим, чем в случае, если используются две таблицы вероятностей. Согласно этому варианту осуществления, компонент ассоциирования 606 может быть выполнен с возможностью ассоциирования первого энтропийно кодированного символа со значением индекса посредством первого сдвига символа, представляющего первый энтропийно кодированный символ в векторе энтропийно кодированных символов, посредством значения смещения. Операция по модулю N затем применяется к сдвинутому символу. Алгоритм ассоциирования в силу этого может выражаться как:According to one embodiment of the present invention, each entropy coded symbol in the entropy coded symbol vector is represented by a symbol using an identical probability table for all entropy coded symbols in the entropy coded symbol vector. The advantage of this is that only one probability table needs to be stored in the decoder memory. Since lookup speed may be important when decoding an entropy-coded symbol in an audio decoding system, the storage device on which the probability table is stored is advantageously a high-speed storage device and is therefore expensive. By using only one probability table, the decoder can therefore be less expensive than if two probability tables are used. According to this embodiment, associate component 606 may be configured to associate a first entropy-coded symbol with an index value by a first offset of the symbol representing the first entropy-coded symbol in the vector of entropy-coded symbols by an offset value. The modulo N operation is then applied to the shifted symbol. The association algorithm can therefore be expressed as:

Компонент 608 декодирования выполнен с возможностью представлять первый элемент вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному с первым энтропийно кодированным символом. Таким образом, это представление представляет собой декодированную версию параметра, кодированного посредством, например, системы 100 кодирования аудио, показанной на фиг. 1.The decoding component 608 is configured to represent the first element of the parameter vector by a parameter value corresponding to an index value associated with the first entropy encoded symbol. Thus, this representation is a decoded version of a parameter encoded by, for example, the audio encoding system 100 shown in FIG. 1.

Далее подробно поясняется способ дифференциального кодирования апериодической величины в связи с фиг. 7-10.Next, the differential encoding method for an aperiodic quantity will be explained in detail in connection with FIG. 7-10.

Фиг. 7 и 9 описывает способ кодирования для четырех (4) вторых элементов в векторе параметров. Входной вектор 902 в силу этого содержит пять параметров. Параметры могут принимать любое значение между минимальным значением и максимальным значением. В этом примере минимальное значение - 9,6, и максимальное значение - 9,4. Первый этап S702 в способе кодирования должен представлять каждый параметр в векторе 902 посредством значения индекса, которое может принимать N значений. В этом случае, N выбран равным 96, что означает то, что размер шага квантования равен 0.2. Это дает вектор 904. Следующий этап S704 заключается в том, чтобы вычислять разность между каждым из вторых элементов, т.е. четырьмя верхними параметрами в векторе 904, и его предыдущим элементом. Результирующий вектор 906 в силу этого содержит четыре дифференциальных значения: эти четыре верхних значения в векторе 906. Как можно видеть на фиг. 9, дифференциальные значения могут быть отрицательными, нулевыми и положительными. Как пояснено выше, преимущественно иметь дифференциальные значения, которые только могут принимать N значений, в этом случае 96 значений. Чтобы достигать этого, на следующем этапе S706 этого способа, операция по модулю 96 применяется ко вторым элементам в векторе 906. Результирующий вектор 908 не содержит отрицательных значений. Такой достигаемый символ, показанный в векторе 908, затем используется для кодирования вторых элементов вектора в конечном этапе S708 способа, показанного на фиг. 7 посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов, показанных в векторе 908.Fig. 7 and 9 describe the encoding method for the second four (4) elements in the parameter vector. The input vector 902 therefore contains five parameters. Parameters can take any value between the minimum value and maximum value. In this example, the minimum value is 9.6 and the maximum value is 9.4. The first step S702 in the encoding method is to represent each parameter in the vector 902 by an index value that may have N values. In this case, N is chosen to be 96, which means that the quantization step size is 0.2. This produces a vector 904. The next step S704 is to calculate the difference between each of the second elements, i.e. the top four parameters in vector 904, and its previous element. The resulting vector 906 therefore contains four differential values: these are the top four values in vector 906. As can be seen in FIG. 9, differential values can be negative, zero and positive. As explained above, it is preferable to have differential values that can only take N values, in this case 96 values. To achieve this, in the next step S706 of this method, a modulo 96 operation is applied to the second elements in the vector 906. The resulting vector 908 does not contain negative values. Such reached symbol shown in vector 908 is then used to encode second elements of the vector in final step S708 of the method shown in FIG. 7 by entropy encoding a symbol associated with at least one second element based on a probability table containing probabilities of the symbols shown in vector 908.

Как видно на фиг. 9, первый элемент не обрабатывается после этапа S702 индексации. На фиг. 8 и 10, описывается способ для кодирования первого элемента во входном векторе. Допущение, идентичное допущению в вышеприведенном описании по фиг. 7 и 9 относительно минимального и максимального значения параметров и числа возможных значений индекса, является допустимым при описании фиг. 8 и 10. Первый элемент 1002 принимается посредством кодера. На первом этапе S802 способа кодирования, параметр первого элемента представлен посредством значения 1004 индекса. На следующем этапе S804, индексированное значение 1004 сдвигается посредством значения смещения. В этом примере, значение смещения равно 49. Это значение вычисляется так, как описано выше. На следующем этапе S806, операция по модулю 96 применяется к сдвигаемому значению 1006 индекса. Результирующее значение 1008 затем может использоваться на этапе кодирования S802, чтобы кодировать первый элемент посредством энтропийного кодирования символа 1008 с использованием идентичной таблицы вероятностей, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент на фиг. 7.As can be seen in FIG. 9, the first element is not processed after the indexing step S702. In fig. 8 and 10, a method for encoding the first element in an input vector is described. An assumption identical to the assumption in the above description of FIG. 7 and 9 regarding the minimum and maximum values of the parameters and the number of possible index values, is valid when describing FIG. 8 and 10. The first element 1002 is received by the encoder. In the first encoding method step S802, a first element parameter is represented by an index value 1004. In the next step S804, the indexed value 1004 is shifted by the offset value. In this example, the offset value is 49. This value is calculated as described above. In the next step S806, a modulo 96 operation is applied to the index value 1006 to be shifted. The resulting value 1008 can then be used in encoding step S802 to encode the first element by entropy encoding the symbol 1008 using an identical probability table that is used to encode the at least one second element in FIG. 7.

Фиг. 11 показывает вариант 102' осуществления компонента 102 кодирования матрицы повышающего микширования на фиг. 1. Кодер 102' матрицы повышающего микширования может использоваться для кодирования матрицы повышающего микширования в системе кодирования аудио, например, система 100 кодирования аудио, показанная на фиг. 1. Как описано выше, каждая строка матрицы повышающего микширования содержит M элементов, обеспечивающие возможность восстановления аудиообъекта из сигнала понижающего микширования, содержащего M каналов.Fig. 11 shows an embodiment 102' of the upmix matrix encoding component 102 of FIG. 1. The upmix matrix encoder 102' may be used to encode the upmix matrix in an audio coding system, for example, the audio coding system 100 shown in FIG. 1. As described above, each row of the upmix matrix contains M elements allowing the audio object to be reconstructed from a downmix signal containing M channels.

В низких полных целевых скоростях передачи битов, кодируя и отправляя все M элементов матрицы повышающего микширования в расчете на объект и мозаичный T/F-фрагмент, один для каждого канала понижающего микширования, может требовать нежелательно высокой скорости передачи битов. Это может уменьшить, путем "прореживания" матрицы повышающего микширования, т.е. пытаясь сокращать число ненулевых элементов. В некоторых случаях, четыре из пяти элементов являются нулями, и только один канал понижающего микширования используется в качестве основы для восстановления аудиообъекта. Разреженные матрицы имеют другие распределения вероятностей кодированных индексов (абсолютных или дифференциальных) по сравнению с неразреженными матрицами. В случаях, если матрица повышающего микширования содержит значительную часть нулей, так что значение нуль становится более вероятным, чем 0,5, и используется кодирование методом Хаффмана, эффективность кодирования снижается, поскольку алгоритм кодирования методом Хаффмана является неэффективным, когда конкретное значение, например нуль, имеет вероятность больше 0,5. Кроме того, поскольку многие элементы в матрице повышающего микширования имеют значение в нуль, они не содержат информации. Стратегия в силу этого может состоять в том, чтобы выбирать поднабор элементов матрицы повышающего микширования и только его кодировать и передавать в декодер. Это может снижать требуемую скорость передачи битов системы кодирования/декодирования аудио, поскольку передается меньший объем данных.At low overall target bit rates, encoding and sending all M upmix matrix elements per object and T/F tile, one for each downmix channel, may require an undesirably high bit rate. This can be reduced by "thinning" the upmix matrix, i.e. trying to reduce the number of non-zero elements. In some cases, four of the five elements are zeros, and only one downmix channel is used as the basis for reconstructing the audio object. Sparse matrices have different probability distributions of encoded indices (absolute or differential) compared to non-sparse matrices. In cases where the upmix matrix contains a significant portion of zeros such that the value zero becomes more likely than 0.5, and Huffman encoding is used, the encoding efficiency is reduced because the Huffman encoding algorithm is inefficient when a particular value, such as zero, has a probability greater than 0.5. In addition, since many elements in the upmix matrix have a value of zero, they do not contain information. A strategy could therefore be to select a subset of the upmix matrix elements and only encode that and pass it to the decoder. This may reduce the required bit rate of the audio encoding/decoding system since less data is transmitted.

Чтобы увеличивать эффективность кодирования матрицы повышающего микширования, может использоваться выделенный режим кодирования для разреженных матриц, который подробнее поясняется ниже.To increase the coding efficiency of the upmix matrix, a dedicated sparse matrix coding mode can be used, which is explained in more detail below.

Кодер 102' содержит приемный компонент 1102, адаптированный с возможностью принимать каждую строку в матрице повышающего микширования. Кодер 102' дополнительно содержит компонент 1104 выбора, адаптированный с возможностью выбирать поднабор элементов из M элементов строки в матрице повышающего микширования. В большинстве случаев поднабор содержит все элементы, не имеющие нулевое значение. Но согласно некоторому варианту осуществления, компонент выбора может предпочитать не выбирать элемент, имеющий ненулевое значение, например, элемент, имеющий значение близко к нулю. Согласно вариантам осуществления, выбранный поднабор элементов может содержать идентичное число элементов для каждой строки матрицы повышающего микширования. Чтобы дополнительно уменьшать требуемую скорость передачи битов, число выбранных элементов может составлять один (1).Encoder 102' includes a receive component 1102 adapted to receive each row in the upmix matrix. Encoder 102' further includes a selection component 1104 adapted to select a subset of elements from the M row elements in the upmix matrix. In most cases, the subset contains all elements that do not have a null value. But according to some embodiment, the selection component may choose not to select an element that has a non-zero value, for example, an element that has a value close to zero. In embodiments, the selected subset of elements may contain an identical number of elements for each row of the upmix matrix. To further reduce the required bit rate, the number of elements selected may be one (1).

Кодер 102' дополнительно содержит компонент 1106 кодирования, который выполнен с возможностью представлять каждый элемент в выбранном поднаборе элементов посредством значения и позиции в матрице повышающего микширования. Компонент 1106 кодирования дополнительно выполнен с возможностью кодировать значение и позицию в матрице повышающего микширования каждого элемента в выбранном поднаборе элементов. Это, например, может быть выполнено с возможностью кодировать значение с использованием дифференциального кодирования по модулю, как описано выше. В этом случае, для каждой строки в матрице повышающего микширования и для множества полос частот или множества временных кадров, значения элементов выбранных поднаборов элементов формируют один или более векторов параметров. Каждый параметр в векторе параметров соответствует одной из множества полос частот или множества временных кадров. Вектор параметров в силу этого может кодироваться с использованием дифференциального кодирования по модулю, как описано выше. В дополнительных вариантах осуществления, вектор параметров может кодироваться с использованием обычного дифференциального кодирования. В еще одном другом варианте осуществления, компонент 1106 кодирования выполнен с возможностью кодировать каждое значение отдельно, с использованием кодирования с фиксированной скоростью истинного значения квантования, т.е. не дифференциально кодированного, каждого значения.Encoder 102' further includes an encoding component 1106, which is configured to represent each element in a selected subset of elements by a value and position in the upmix matrix. The encoding component 1106 is further configured to encode the value and position in the upmix matrix of each element in the selected subset of elements. This may, for example, be configured to encode the value using differential modulo encoding as described above. In this case, for each row in the upmix matrix and for a plurality of frequency bands or multiple time frames, the element values of the selected subsets of elements form one or more parameter vectors. Each parameter in the parameter vector corresponds to one of a plurality of frequency bands or a plurality of time frames. The parameter vector can therefore be encoded using modulo differential encoding as described above. In additional embodiments, the parameter vector may be encoded using conventional differential encoding. In yet another embodiment, encoding component 1106 is configured to encode each value separately using fixed rate encoding of the true quantization value, i.e. not differentially encoded, each value.

Нижеприведенные примеры средних скоростей передачи данных наблюдаются для типичного контента. Скорости передачи битов измерены для случая, в котором M=5, число аудиообъектов, которые должны быть восстановлены на стороне декодера, составляет 11, число полос частот составляет 12, и размер шага квантователя параметров составляет 0,1 и имеет 192 уровня. Для случая, в котором все пять элементов в расчете на строку в матрице повышающего микширования кодировались, следующие средние скорости передачи данных наблюдаются:The following examples of average data rates are observed for typical content. The bit rates are measured for the case in which M=5, the number of audio objects to be reconstructed at the decoder side is 11, the number of frequency bands is 12, and the step size of the parameter quantizer is 0.1 and has 192 levels. For the case in which all five elements per row in the upmix matrix were encoded, the following average data rates are observed:

Кодирование с фиксированной скоростью: 165 Кбит/сек,Fixed bit rate encoding: 165 Kbps,

Дифференциальное кодирование: 51 Кбит/сек,Differential encoding: 51 Kbps,

Дифференциальное кодирование по модулю: 51 Кбит/с, но с половиной размера таблицы вероятностей или таблицы кодирования, как описано выше.Differential modulo encoding: 51 Kbps, but with half the size of the probability table or encoding table as described above.

Для случая, в котором только один элемент выбран для каждой строки в матрице повышающего микширования, т.е. разреженное кодирование, посредством компонента 1104 выбора, следующие средние скорости передачи данных наблюдаются:For the case in which only one element is selected for each row in the upmixing matrix, i.e. sparse coding, through selection component 1104, the following average data rates are observed:

Кодирование с фиксированной скоростью (с использованием 8 битов для значения и 3 битов для позиции): 45 Кбит/с,Fixed rate encoding (using 8 bits for value and 3 bits for position): 45 Kbps,

Дифференциальное кодирование по модулю и для значения элемента и для позиции элемента: 20 Кбит/с.Differential encoding modulo for both element value and element position: 20 Kbps.

Компонент 1106 кодирования может быть выполнен с возможностью кодировать позицию в матрице повышающего микширования каждого элемента в поднаборе элементов аналогичным образом в качестве значения. Компонент 1106 кодирования также может быть выполнен с возможностью кодировать позицию в матрице повышающего микширования каждого элемента в поднаборе элементов различным способом по сравнению с кодированием значения. В случае кодирования позиции с использованием дифференциального кодирования или дифференциального кодирования по модулю, для каждой строки в матрице повышающего микширования и для множества полос частот или множества временных кадров, позиции элементов выбранных поднаборов элементов формируют один или более векторов параметров. Каждый параметр в векторе параметров соответствует одной из множества полос частот или множества временного кадра. Вектор параметров в силу этого кодируется с использованием дифференциального кодирования или дифференциального кодирования по модулю, как описано выше.Encoding component 1106 may be configured to encode a position in the upmix matrix of each element in a subset of elements in a similar manner as a value. Encoding component 1106 may also be configured to encode the position in the upmix matrix of each element in a subset of elements in a different manner compared to encoding the value. In the case of position encoding using differential encoding or differential modulo encoding, for each row in the upmix matrix and for a plurality of frequency bands or multiple time frames, the element positions of the selected subsets of elements form one or more parameter vectors. Each parameter in the parameter vector corresponds to one of a plurality of frequency bands or a plurality of time frames. The parameter vector is therefore encoded using differential encoding or modulo differential encoding as described above.

Можно отметить, что кодер 102' может быть комбинирован с кодером 102 на фиг. 2, чтобы достигать дифференциального кодирования по модулю разреженной матрицы повышающего микширования согласно вышеуказанному.It may be noted that the encoder 102' may be combined with the encoder 102 in FIG. 2 to achieve differential encoding modulo the sparse upmix matrix according to the above.

Можно дополнительно отметить, что способ кодирования строки в разреженной матрице иллюстрировался выше для кодирования строки в разреженной матрице повышающего микширования, но способ может использоваться для кодирования других типов разреженных матриц, известных специалистам в данной области техники.It may be further noted that the method for encoding a row in a sparse matrix was illustrated above for encoding a row in a sparse upmix matrix, but the method can be used for encoding other types of sparse matrices known to those skilled in the art.

Далее подробно поясняется способ для кодирования разреженной матрицы повышающего микширования в связи с фиг. 13-15.Next, a method for encoding a sparse upmix matrix will be explained in detail in connection with FIG. 13-15.

Матрица повышающего микширования принимается, например, посредством приемного компонента 1102 на фиг. 11. Для каждой строки 1402, 1502 в матрице повышающего микширования, при этом способ содержит выбор поднабора S1302 из M, например, 5, элементов строки в матрице повышающего микширования. Каждый элемент в выбранном поднаборе элементов затем представлен S1304 посредством значения и позиции в матрице повышающего микширования. На фиг. 14 один элемент выбирается S1302 в качестве поднабора, например, элемент номер 3, имеющий значение 2,34. Представление в силу этого может представлять собой вектор 1404, имеющий два поля. Первое поле в векторе 1404 представляет значение, например, 2,34, и второе поле в векторе 1404 представляет позицию, например, 3. На фиг. 15 два элемента выбираются S1302 в качестве поднабора, например, элемент номер 3, имеющий значение 2,34, и элемент номер 5, имеющий значение -1,81. Представление в силу этого может представлять собой вектор 1504, имеющий четыре поля. Первое поле в векторе 1504 представляет значение первого элемента, например, 2,34, и второе поле в векторе 1504 представляет позицию первого элемента, например, 3. Третье поле в векторе 1504 представляет значение второго элемента, например, -1,81, и четвертое поле в векторе 1504 представляет позицию второго элемента, например, 5. Представления 1404, 1504 затем кодируются S1306 согласно вышеуказанному.The upmix matrix is received, for example, by the receiving component 1102 in FIG. 11. For each row 1402, 1502 in the upmix matrix, the method comprises selecting a subset S1302 of M, for example 5, row elements in the upmix matrix. Each element in the selected subset of elements is then represented by S1304 by a value and position in the upmix matrix. In fig. 14, one element is selected by S1302 as a subset, for example, element number 3 having a value of 2.34. The representation may therefore be a vector 1404 having two fields. The first field in vector 1404 represents a value, for example, 2.34, and the second field in vector 1404 represents a position, for example, 3. In FIG. 15, two items are selected by S1302 as a subset, for example, item number 3 having a value of 2.34 and item number 5 having a value of -1.81. The representation may therefore be a vector 1504 having four fields. The first field in vector 1504 represents the value of the first element, such as 2.34, and the second field in vector 1504 represents the position of the first element, such as 3. The third field in vector 1504 represents the value of the second element, such as -1.81, and the fourth a field in vector 1504 represents the position of the second element, for example, 5. Representations 1404, 1504 are then encoded by S1306 as above.

Фиг. 12 является обобщенной блок-схемой системы 1200 декодирования аудио в соответствии с примерным вариантом осуществления. Декодер 1200 содержит приемный компонент 1206, выполненный с возможностью принимать сигнал 1210 понижающего микширования, содержащий M каналов и, по меньшей мере, один кодированный элемент 1204, представляющий поднабор M элементов строки в матрице повышающего микширования. Каждый из кодированных элементов содержит значение и позицию в строке в матрице повышающего микширования, позиция, указывающая один из M каналов сигнала 1210 понижающего микширования, которому соответствует кодированный элемент. По меньшей мере, один кодированный элемент 1204 декодируется посредством компонента 1202 декодирования элементов матрицы повышающего микширования. Компонент 1202 декодирования элементов матрицы повышающего микширования выполнен с возможностью декодировать, по меньшей мере, один кодированный элемент 1204 согласно стратегии кодирования, используемой для кодирования, по меньшей мере, одного кодированного элемента 1204. Примеры для таких стратегий кодирования раскрыты выше. По меньшей мере, один декодированный элемент 1214 затем отправляется в компонент 1208 восстановления, который выполнен с возможностью восстанавливать частотно-временной мозаичный фрагмент аудиообъекта из сигнала 1210 понижающего микширования посредством формирования линейной комбинации каналов понижающего микширования, которые соответствуют, по меньшей мере, одному кодированному элементу 1204. При формировании линейной комбинации каждый канал понижающего микширования умножается на значение его соответствующего кодированного элемента 1204.Fig. 12 is a general block diagram of an audio decoding system 1200 in accordance with an exemplary embodiment. Decoder 1200 includes a receiving component 1206 configured to receive a downmix signal 1210 comprising M channels and at least one coded element 1204 representing a subset of the M row elements in the upmix matrix. Each of the coded elements contains a value and a row position in the upmix matrix, a position indicating one of the M channels of the downmix signal 1210 to which the coded element corresponds. At least one coded element 1204 is decoded by an upmix matrix element decoding component 1202. The upmix matrix element decoding component 1202 is configured to decode at least one encoded element 1204 according to an encoding strategy used to encode the at least one encoded element 1204. Examples for such encoding strategies are disclosed above. The at least one decoded element 1214 is then sent to a recovery component 1208, which is configured to recover a time-frequency tile of an audio object from the downmix signal 1210 by generating a linear combination of downmix channels that correspond to the at least one encoded element 1204 When forming a linear combination, each downmix channel is multiplied by the value of its corresponding coded element 1204.

Например, если декодированный элемент 1214 содержит значение 1,1 и позицию 2, частотно-временной мозаичный фрагмент второго канала понижающего микширования умножается на 1,1, и это затем используется для восстановления аудиообъекта.For example, if decoded element 1214 contains a value of 1.1 and a position of 2, the time-frequency tile of the second downmix channel is multiplied by 1.1 and this is then used to reconstruct the audio object.

Система 500 декодирования аудио дополнительно содержит компонент 1216 рендеринга, который выводит аудиосигнал на основе восстановленного аудиообъекта 1218. Тип аудиосигнала зависит от того, какой тип модуль воспроизведения подключается к системе 1200 декодирования аудио. Например, если пара наушников подключается к системе 1200 декодирования аудио, стереосигнал может быть выведен посредством компонента 1216 рендеринга.The audio decoding system 500 further includes a rendering component 1216 that outputs an audio signal based on the reconstructed audio object 1218. The type of audio signal depends on what type of playback module is connected to the audio decoding system 1200. For example, if a pair of headphones is connected to the audio decoding system 1200, a stereo signal may be output by rendering component 1216.

Эквиваленты, дополнения, альтернативы, а также разные аспектыEquivalents, additions, alternatives, as well as various aspects

Дополнительные варианты осуществления настоящего раскрытия сущности должны становиться очевидными для специалистов в данной области техники после изучения вышеприведенного описания. Даже если настоящее описание и чертежи раскрывают варианты осуществления и примеры, раскрытие сущности не ограничивается этими конкретными примерами. Множество модификаций и изменений могут вноситься без отступления от объема настоящего раскрытия сущности, который задается посредством прилагаемой формулы изобретения. Все ссылки с номерами, содержащиеся в формуле изобретения, не должны пониматься как ограничивающие ее объема.Additional embodiments of the present disclosure will become apparent to those skilled in the art upon examination of the foregoing description. Even though the present description and drawings disclose embodiments and examples, the disclosure is not limited to these specific examples. Many modifications and changes may be made without departing from the scope of the present disclosure, which is set forth by the appended claims. All reference numbers contained in the claims should not be construed as limiting its scope.

Дополнительно, вариации в раскрытых вариантах осуществления могут пониматься и выполняться специалистами в данной области техники при применении на практике заявленного изобретения, из изучения чертежей, раскрытия сущности и прилагаемой формулы изобретения. В формуле изобретения, слово "содержащий" не исключает другие элементы или этапы, и неопределенный артикль "a" или "an" не исключает множество. Простой факт того, что определенные средства упомянуты в различных зависимых пунктах формулы изобретения, не означает того, чтобы комбинация этих средств не может быть выгодно использована.Additionally, variations in the disclosed embodiments may be understood and carried out by those skilled in the art in practicing the claimed invention from examination of the drawings, disclosure, and appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. The mere fact that certain agents are mentioned in various dependent claims does not mean that a combination of these agents cannot be advantageously used.

Системы и способы, раскрытые выше, могут реализовываться как программное обеспечение, микропрограммное обеспечение, аппаратные средства или комбинация вышеозначенного. В аппаратной реализации разделение задач между функциональными модулями, означаемыми в вышеприведенном описании, не обязательно соответствует разделению на физические модули; наоборот, один физический компонент может иметь несколько функциональностей, и одна задача может выполняться посредством нескольких физических компонентов совместно. Определенные компоненты или все компоненты могут реализовываться как программное обеспечение, выполняемое посредством процессора цифровых сигналов или микропроцессора, или реализовываться как аппаратные средства или в качестве специализированной интегральной схемы. Такое программное обеспечение может распространяться на машиночитаемых носителях, которые могут содержать компьютерные носители хранения данных (или энергонезависимые носители) и среды связи (или энергозависимые носители). Как известно в специалистов в данной области техники, термин "компьютерные носители хранения данных" включает в себя оба энергозависимых и энергонезависимых, съемных и стационарных носителя, реализованные в любом способе или технологии для хранения информации, к примеру, через машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители хранения данных включают в себя, но не только, RAM, ROM, EEPROM, флэш-память или другую технологию запоминающих устройств, CD-ROM, универсальный цифровой диск (DVD) или другие оптические дисковые запоминающие устройства, магнитные кассеты, магнитную ленту, магнитные запоминающие диски или другие магнитные запоминающие устройства, либо любой другой носитель, который может быть использован для хранения требуемой информации и к которому может быть осуществлен доступ посредством компьютера. Дополнительно специалистам в данной области техники известно то, что среды связи типично осуществляют машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, к примеру, несущая или другой транспортный механизм и включают в себя любые среды доставки информации.The systems and methods disclosed above may be implemented as software, firmware, hardware, or a combination thereof. In a hardware implementation, the division of concerns between functional modules, as denoted in the above description, does not necessarily correspond to the division into physical modules; conversely, a single physical component can have multiple functionalities, and a single task can be performed by multiple physical components together. Some or all of the components may be implemented as software executed by a digital signal processor or microprocessor, or implemented as hardware or an application specific integrated circuit. Such software may be distributed on computer-readable media, which may include computer storage media (or nonvolatile media) and communications media (or volatile media). As is known to those skilled in the art, the term "computer storage media" includes both volatile and non-volatile, removable and non-removable media, implemented in any method or technology for storing information, for example, through machine-readable instructions, data structures, software modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other storage technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage devices, magnetic cassettes, magnetic tape, magnetic storage disks or other magnetic storage devices, or any other medium that can be used to store the required information and that can be accessed by a computer. Additionally, those skilled in the art will recognize that communications media typically implement machine-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier or other transport mechanism, and include any information delivery media.

Claims (7)

1. Способ кодирования вектора параметров в системе кодирования аудио, причем каждый параметр соответствует апериодической величине, вектор имеет первый элемент и, по меньшей мере, один второй элемент, при этом способ содержит: представление каждого параметра в векторе посредством значения индекса, которое может принимать N значений; вычисление одного или более символов, причем вычисление включает в себя: вычисление разности между значением индекса второго элемента и значением индекса его предыдущего элемента в векторе: и применение операции по модулю N к разности; ассоциирование каждого, по меньшей мере, из одного второго элемента с соответствующим символом одного или более символов, и кодирование каждого, по меньшей мере, из одного второго элемента посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов. 1. A method for encoding a vector of parameters in an audio coding system, wherein each parameter corresponds to an aperiodic quantity, the vector has a first element and at least one second element, the method comprising: representing each parameter in the vector by an index value that may take N values; calculating one or more symbols, the calculation including: calculating the difference between the index value of the second element and the index value of its previous element in the vector: and applying a modulo N operation to the difference; associating each of the at least one second element with a corresponding symbol of the one or more symbols, and encoding each of the at least one second element by entropy encoding the symbol associated with the at least one second element based on the probability table , containing the probabilities of the symbols. 2. Способ по п.1, в котором первый элемент и, по меньшей мере, один второй элемент вектора параметров соответствуют различным полосам частот, используемым в системе кодирования звука в конкретный временной интервал.2. The method of claim 1, wherein the first element and at least one second element of the parameter vector correspond to different frequency bands used in the audio coding system in a particular time interval. 3. Способ по п.1, в котором первый элемент и, по меньшей мере, один второй элемент вектора параметров соответствуют различным временным кадрам, используемым в системе кодирования аудио в конкретной полосе частот.3. The method of claim 1, wherein the first element and at least one second element of the parameter vector correspond to different time frames used in the audio coding system in a particular frequency band. 4. Способ по п.1, в котором таблица вероятностей преобразуется в таблицу кодирования Хаффмана, при этом символ, ассоциированный с элементом в векторе, используется в качестве индекса таблицы кодирования, и при этом этап кодирования содержит кодирование каждого, по меньшей мере, из одного второго элемента посредством представления второго элемента с помощью кодового слова в таблице кодирования, которая индексируется посредством индекса таблицы кодирования, ассоциированного со вторым элементом.4. The method of claim 1, wherein the probability table is converted to a Huffman encoding table, wherein a symbol associated with an element in the vector is used as an index of the encoding table, and wherein the encoding step comprises encoding each of at least one the second element by representing the second element by a codeword in a codebook, which is indexed by a codebook index associated with the second element. 5. Способ по п.4, в котором этап кодирования содержит кодирование первого элемента в векторе с использованием идентичной таблицы кодирования Хаффмана, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент посредством представления первого элемента с помощью кодового слова в таблице кодирования Хаффмана, которая индексируется посредством индекса таблицы кодирования, ассоциированного с первым элементом.5. The method of claim 4, wherein the encoding step comprises encoding the first element in the vector using an identical Huffman encoding table that is used to encode the at least one second element by representing the first element with a codeword in the table Huffman encoding, which is indexed by the codebook index associated with the first element. 6. Способ по п.1, в котором вектор параметров соответствует элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио.6. The method of claim 1, wherein the parameter vector corresponds to an element in the upmix matrix determined by the audio coding system. 7. Машиночитаемый носитель хранения данных, содержащий инструкции в виде машинного кода, адаптированные с возможностью осуществлять способ по п.1 при выполнении на устройстве, имеющем возможности обработки.7. A computer-readable storage medium containing machine code instructions adapted to carry out the method of claim 1 when executed on a device having processing capabilities.
RU2019141091A 2013-05-24 2019-12-12 Audio encoder and audio decoder RU2810027C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361827264P 2013-05-24 2013-05-24
US61/827,264 2013-05-24

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2018144368A Division RU2710909C1 (en) 2013-05-24 2018-12-14 Audio encoder and audio decoder

Publications (2)

Publication Number Publication Date
RU2019141091A RU2019141091A (en) 2021-06-15
RU2810027C2 true RU2810027C2 (en) 2023-12-21

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055510A1 (en) * 2005-07-19 2007-03-08 Johannes Hilpert Concept for bridging the gap between parametric multi-channel audio coding and matrixed-surround multi-channel coding
US20070078646A1 (en) * 2005-10-04 2007-04-05 Miao Lei Method and apparatus to encode/decode audio signal
US20080097749A1 (en) * 2006-10-18 2008-04-24 Polycom, Inc. Dual-transform coding of audio signals
RU2376654C2 (en) * 2005-02-14 2009-12-20 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Parametric composite coding audio sources
US20120323568A1 (en) * 2010-03-02 2012-12-20 Telefonaktiebolaget L M Ericsson (Publ) Source Code Adaption Based on Communication Link Quality and Source Coding Delay

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2376654C2 (en) * 2005-02-14 2009-12-20 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Parametric composite coding audio sources
US20070055510A1 (en) * 2005-07-19 2007-03-08 Johannes Hilpert Concept for bridging the gap between parametric multi-channel audio coding and matrixed-surround multi-channel coding
US20070078646A1 (en) * 2005-10-04 2007-04-05 Miao Lei Method and apparatus to encode/decode audio signal
US20080097749A1 (en) * 2006-10-18 2008-04-24 Polycom, Inc. Dual-transform coding of audio signals
US20120323568A1 (en) * 2010-03-02 2012-12-20 Telefonaktiebolaget L M Ericsson (Publ) Source Code Adaption Based on Communication Link Quality and Source Coding Delay

Similar Documents

Publication Publication Date Title
RU2710909C1 (en) Audio encoder and audio decoder
RU2810027C2 (en) Audio encoder and audio decoder