RU2838373C1 - Quantisation and entropy coding of parameters for low-latency audio codec - Google Patents

Quantisation and entropy coding of parameters for low-latency audio codec Download PDF

Info

Publication number
RU2838373C1
RU2838373C1 RU2023100224A RU2023100224A RU2838373C1 RU 2838373 C1 RU2838373 C1 RU 2838373C1 RU 2023100224 A RU2023100224 A RU 2023100224A RU 2023100224 A RU2023100224 A RU 2023100224A RU 2838373 C1 RU2838373 C1 RU 2838373C1
Authority
RU
Russia
Prior art keywords
parameters
quantization
bitrate
quantized
parameter
Prior art date
Application number
RU2023100224A
Other languages
Russian (ru)
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 Долби Лабораторис Лайсэнзин Корпорейшн
Application granted granted Critical
Publication of RU2838373C1 publication Critical patent/RU2838373C1/en

Links

Abstract

FIELD: data processing.
SUBSTANCE: invention relates to the field of entropy coding of parameters for audio codecs with low latency and to mechanisms for achieving target bitrates of parameters by iterative refinement of bitrate of parameters using a range of technologies of quantisation and entropy coding. Disclosed is a method for frame-by-frame encoding of metadata for an input signal, wherein the metadata contain a plurality of at least partially interrelated parameters calculated from the input signal. Method involves iterative execution of the following steps for each frame using a looped process: determining a processing strategy from a plurality of processing strategies for calculating and quantizing parameters, calculating and quantizing parameters based on the determined processing strategy to obtain quantized parameters, and encoding the quantized parameters. In particular, each of the plurality of processing strategies comprises a corresponding first indicator indicating the order related to the calculation and quantization of the individual parameters. Processing strategy is determined based on at least one bitrate threshold value.
EFFECT: minimizing additional information (parameters) while maintaining a high frame refresh rate for the audio data base.
17 cl, 4 dwg, 3 tbl

Description

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИCROSS-REFERENCES TO RELATED APPLICATIONS

Данная заявка заявляет приоритет предварительных заявок на патент США № 63/037,784 и 63/194,010, поданных 11 июня 2020 г. и 27 мая 2021 г. соответственно, каждая из которых включена посредством ссылки в своей полноте.This application claims priority to U.S. Provisional Patent Application Nos. 63/037,784 and 63/194,010, filed June 11, 2020 and May 27, 2021, respectively, each of which is incorporated by reference in its entirety.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES

Настоящее изобретение в общем относится к области энтропийного кодирования параметров (дополнительная информация) для аудиокодеков с низкой задержкой (кодеров/декодеров) и к механизмам для достижения целевых битрейтов параметров путем итеративного уточнения битрейта параметров с использованием диапазона технологий квантования и энтропийного кодирования.The present invention generally relates to the field of entropy parameter coding (additional information) for low-latency audio codecs (encoders/decoders) and to mechanisms for achieving target parameter bitrates by iteratively refining the parameter bitrate using a range of quantization and entropy coding technologies.

УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY

Когда период кадра (размер кадра) аудиокодека (кодера/декодера) приближается к 20 миллисекундам (мс) или меньше, основу аудиоданных обновляют в коротких размерах кадра. Если следовать подходу обновления как основы аудиоданных, так и параметров каждый кадр, дополнительная информация для каждого кадра также будет встраиваться и передаваться с той же частотой.When the frame period (frame size) of the audio codec (encoder/decoder) approaches 20 milliseconds (ms) or less, the audio data base is updated in short frame sizes. If we follow the approach of updating both the audio data base and the parameters every frame, the additional information for each frame will also be embedded and transmitted at the same rate.

Однако в данной области техники в общем известно, что дополнительную информацию не нужно обновлять настолько часто. Например, пространственные параметры обычно могут вычисляться и обновляться, например, каждые 40 мс. Для кодеков с периодами кадра, равными 40 мс или более, это обычно означает, что частота обновления параметров соответствует частоте кадров, и таким образом параметры могут быть закодированы в каждом кадре независимо. Однако в кодеках с короткими периодами кадра, например менее 40 мс, это означает, что параметры будут фактически чрезмерно дискретизированы, если все они будут включаться в каждом кадре.However, it is generally known in the art that the additional information does not need to be updated so frequently. For example, spatial parameters can typically be calculated and updated, for example, every 40 ms. For codecs with frame periods of 40 ms or more, this usually means that the parameter update rate matches the frame rate, and thus the parameters can be encoded in each frame independently. However, in codecs with short frame periods, for example less than 40 ms, this means that the parameters will actually be oversampled if they are all included in each frame.

Таким образом, в широком смысле, цель настоящего изобретения заключается в предоставлении механизмов для того, чтобы насколько возможно свести к минимуму дополнительную информацию (которую иногда также называют параметрами), но сохранить высокую частоту обновления кадров для основы аудиоданных.Thus, in a broad sense, the aim of the present invention is to provide mechanisms for minimizing additional information (which is sometimes also referred to as parameters) as much as possible, but maintaining a high frame rate for the underlying audio data.

СУЩНОСТЬ ИЗОБРЕТЕНИЯESSENCE OF THE INVENTION

Учитывая вышеуказанное, настоящее изобретение в общем предоставляет способ покадрового кодирования метаданных для входного сигнала, а также соответствующие программу, машиночитаемый носитель данных и устройство, обладающие признаками, указанными в соответствующих независимых пунктах формулы изобретения.Taking into account the above, the present invention generally provides a method for frame-by-frame encoding of metadata for an input signal, as well as a corresponding program, a machine-readable storage medium and a device having the features specified in the corresponding independent claims of the invention.

Согласно одному аспекту настоящего изобретения предоставлен способ покадрового кодирования метаданных для входного сигнала. В частности, метаданные можно рассчитать или вычислить (например, извлечь) из входного (звукового или видео) сигнала с использованием подходящего кодека (кодера/декодера). В общем говоря, метаданные можно использовать для восстановления входного сигнала на стороне декодера. Метаданные могут содержать множество по меньшей мере частично взаимосвязанных параметров, вычисляемых из входного сигнала. Другими словами, по меньшей мере некоторые параметры входного сигнала могут быть вычислены (например, сгенерированы или восстановлены) в зависимости от по меньшей мере некоторых других параметров, так что, в зависимости от различных обстоятельств, не все параметры необходимо всегда передавать явным образом. According to one aspect of the present invention, a method for frame-by-frame encoding of metadata for an input signal is provided. In particular, the metadata can be calculated or computed (e.g., extracted) from the input (audio or video) signal using a suitable codec (encoder/decoder). Generally speaking, the metadata can be used to reconstruct the input signal on the decoder side. The metadata can comprise a plurality of at least partially interrelated parameters calculated from the input signal. In other words, at least some parameters of the input signal can be calculated (e.g., generated or reconstructed) depending on at least some other parameters, so that, depending on various circumstances, not all parameters need always be transmitted explicitly.

В частности, способ может содержать/включать, для каждого кадра, итеративное выполнение, с использованием зацикленного процесса, следующих этапов: определение стратегии обработки из множества стратегий обработки для вычисления и квантования параметров; вычисление и квантование параметров на основе определенной стратегии обработки для получения квантованных параметров; и кодирование квантованных параметров. Поскольку зацикленный процесс в общем направлен (помимо прочего) на обработку, связанную с квантованием, в некоторых случаях зацикленный процесс также может называться циклом квантования (или просто циклом, для краткости). Подобным образом, поскольку стратегия обработки также в общем направлена (помимо прочего) на обработку, которая связана с квантованием, в некоторых случаях стратегия обработки также может называться стратегией квантования (или, в некоторых других случаях, взаимозаменяемо называться схемой квантования). Кроме этого необходимо отметить, что процесс кодирования может использовать любую подходящую процедуру кодирования, включая, но без ограничения, энтропийное кодирование (например, кодирование Хаффмана или арифметическое кодирование) или кодирование без энтропии (например, кодирование с основанием 2). В зависимости от различных реализаций и/или требований может использоваться любой другой подходящий механизм кодирования.In particular, the method may comprise/include, for each frame, iteratively performing, using a looped process, the following steps: determining a processing strategy from a plurality of processing strategies for calculating and quantizing parameters; calculating and quantizing parameters based on the determined processing strategy to obtain quantized parameters; and encoding the quantized parameters. Since the looped process is generally directed (among other things) to processing related to quantization, in some cases the looped process may also be called a quantization loop (or simply a loop, for short). Similarly, since the processing strategy is also generally directed (among other things) to processing that is related to quantization, in some cases the processing strategy may also be called a quantization strategy (or, in some other cases, interchangeably referred to as a quantization scheme). In addition, it should be noted that the encoding process may use any suitable encoding procedure, including, but not limited to, entropy encoding (e.g., Huffman encoding or arithmetic encoding) or entropy-free encoding (e.g., base 2 encoding). Depending on various implementations and/or requirements, any other suitable encoding mechanism may be used.

Как будет понятно и очевидно специалисту в данной области, множество стратегий обработки для вычисления и квантования параметров могут быть предоставлены любым подходящим образом, например предварительно определенным или предварительно сконфигурированным. Соответственно, стратегия обработки также может быть определена из множества стратегий обработки любым подходящим образом. Например, в зависимости от (текущего) требования к битрейту, подходящая стратегия обработки может быть выбрана из множества стратегий обработки, так что итоговый битрейт после выполнения вычисления, квантования и кодирования (например, с энтропийным кодированием или без него) на основе выбранной таким образом стратегии обработки удовлетворяет (текущему) требованию к битрейту. Следует отметить, что поскольку требование к битрейту может изменяться время от времени (например, от кадра к кадру), стратегия обработки, определенная таким образом, также может быть разной для каждого кадра или некоторых кадров.As will be clear and obvious to a person skilled in the art, the plurality of processing strategies for calculating and quantizing the parameters may be provided in any suitable manner, such as predetermined or preconfigured. Accordingly, the processing strategy may also be determined from the plurality of processing strategies in any suitable manner. For example, depending on the (current) bit rate requirement, a suitable processing strategy may be selected from the plurality of processing strategies, such that the resulting bit rate after performing the calculation, quantization and encoding (e.g. with or without entropy encoding) based on the processing strategy thus selected satisfies the (current) bit rate requirement. It should be noted that since the bit rate requirement may change from time to time (e.g. from frame to frame), the processing strategy thus determined may also be different for each frame or some frames.

В частности, каждая из множества стратегий обработки может содержать соответствующий первый указатель, указывающий порядок (или последовательность), относящуюся к вычислению и квантованию отдельных параметров. Другими словами, первый указатель может содержать информацию о последовательности, указывающую, когда и в каком порядке выполнять вычисление и квантование отдельных параметров. В качестве примера (но не ограничения), первый указатель может содержать информацию, указывающую, что все параметры сначала вычисляют, перед тем как выполнять квантование любого из них.In particular, each of the plurality of processing strategies may contain a corresponding first pointer indicating an order (or sequence) related to the calculation and quantization of individual parameters. In other words, the first pointer may contain sequence information indicating when and in what order to perform the calculation and quantization of individual parameters. As an example (but not limitation), the first pointer may contain information indicating that all parameters are first calculated before any of them are quantized.

Более конкретно, стратегию обработки определяют на основе по меньшей мере одного порогового значения битрейта. Как будет понятно и очевидно специалисту в данной области, пороговые значение(-я) битрейта могут быть, например, предварительно определены или предварительно сконфигурированы, в зависимости от различных реализаций и/или требований.More specifically, the processing strategy is determined based on at least one bit rate threshold. As will be understood and apparent to a person skilled in the art, the bit rate threshold(s) may, for example, be predetermined or preconfigured, depending on different implementations and/or requirements.

Говоря в общем, в вышеописанной конфигурации предложенный способ согласно настоящему изобретению можно рассматривать как внедряющий идею итеративного и поэтапного подхода к выбору оптимальной схемы/стратегии квантования параметров, который в общем ищет «наилучшую» (или оптимальную) схему квантования из нескольких альтернатив. Тем не менее, следует отметить, что в настоящем случае термин «наилучшая» не обязательно должен относиться к схеме квантования с наименьшим (итоговым) битрейтом параметров (т.е. после квантования и возможного кодирования), но может относится к схеме, способной облегчить потерю состояния для декодера. Как будет понятно специалисту, в общем «состояние» декодера относится к истории информации, которую декодер сохраняет из предыдущих кадров для того, чтобы иметь возможность правильно декодировать текущий кадр. Например (но не в качестве ограничения), в некоторых случаях сторона кодера может применять так называемое временно-дифференциальное кодирование. Однако использование временно-дифференциального кодирования в общем может обладать недостатком, который в первую очередь заключается в том, что обычно вводится состояние от кадра к кадру, что может стать причиной проблем, когда во время передачи звуковой поток может столкнуться с потерей пакетов. В этом случае как звуковые данные, так и параметры, связанные со звуковыми данными, могут быть утеряны во время передачи, так что любые параметры, которые были обновлены с помощью временно-дифференциального кодирования, могут столкнуться с потенциальными артефактами в нескольких последующих кадрах. В этом смысле вышеупомянутое облегчение потери состояния относится к попытке избежать временно-дифференциального кодирования, где это возможно, так что декодеру не нужно полагаться на метаданные, принятые в предыдущих кадрах, чтобы декодировать метаданные текущего кадра. Однако когда требуется временно-дифференциальное кодирование, оно должно быть выполнено таким образом, чтобы система быстро восстановилась от потери пакетов. В частности, путем тщательного выбора подходящей схемы квантования, как описано в настоящем изобретении, представленное выше нежелательное поведение, связанное с потерей пакетов, можно насколько возможно ограничить (уменьшить). Другими словами, настоящее изобретение в общем предлагает уменьшение кодирования (стороны кодера), что включает итеративный процесс выбора для квантования и кодирования (с энтропией или без нее), который пытается свести к минимуму степень возможного внесения артефактов, вызванных потерей пакетов, например из-за использования временно-дифференциального кодирования.Generally speaking, in the above-described configuration, the proposed method according to the present invention can be considered as implementing the idea of an iterative and stepwise approach to selecting an optimal parameter quantization scheme/strategy, which generally searches for the "best" (or optimal) quantization scheme from several alternatives. However, it should be noted that in the present case, the term "best" does not necessarily have to refer to the quantization scheme with the lowest (final) parameter bitrate (i.e. after quantization and possible encoding), but may refer to a scheme that is able to alleviate the loss of state for the decoder. As will be understood by one skilled in the art, in general, the "state" of the decoder refers to the history of information that the decoder stores from previous frames in order to be able to correctly decode the current frame. For example (but not as a limitation), in some cases, the encoder side may apply the so-called time-differential encoding. However, the use of time-differential coding in general may have a disadvantage, which is primarily that state is usually introduced from frame to frame, which may cause problems when the audio stream may experience packet loss during transmission. In this case, both the audio data and the parameters associated with the audio data may be lost during transmission, so that any parameters that have been updated using time-differential coding may experience potential artifacts in several subsequent frames. In this sense, the above-mentioned alleviation of state loss refers to an attempt to avoid time-differential coding where possible, so that the decoder does not have to rely on metadata received in previous frames in order to decode the metadata of the current frame. However, when time-differential coding is required, it must be implemented in such a way that the system quickly recovers from packet loss. In particular, by carefully choosing an appropriate quantization scheme, as described in the present invention, the above-presented undesirable behavior associated with packet loss can be limited (reduced) as much as possible. In other words, the present invention generally proposes a coding reduction (encoder side), which includes an iterative process of choosing for quantization and coding (with or without entropy) that attempts to minimize the degree of possible introduction of artifacts caused by packet loss, for example due to the use of time-differential coding.

В некоторых примерах стратегия обработки может быть определена так, что (итоговый) битрейт закодированных квантованных параметров равен пороговому значению битрейта (метаданных/параметров) или меньше него. По существу, итоговый битрейт после квантования и кодирования с использованием определенной (например, выбранной) стратегии обработки находится в рамках (по меньшей мере одного) порогового значения битрейта, тем самым удовлетворяя требованию к битрейту, например утвержденному заранее или предварительно определенному техническими условиями стандартизации.In some examples, the processing strategy may be defined such that the (resulting) bitrate of the encoded quantized parameters is equal to or less than the (metadata/parameters) bitrate threshold. As such, the resulting bitrate after quantization and encoding using a certain (e.g., selected) processing strategy is within the (at least one) bitrate threshold, thereby satisfying a bitrate requirement, e.g., pre-approved or pre-defined by standardization specifications.

В некоторых примерах каждая из множества стратегий обработки может дополнительно содержать соответствующий второй указатель, указывающий информацию для выполнения квантования параметров.In some examples, each of the plurality of processing strategies may further comprise a respective second pointer indicating information for performing parameter quantization.

В некоторых примерах информация для выполнения квантования параметров содержит соответствующие диапазоны квантования и/или уровни квантования для множества параметров. Например, информация может относиться к максимальному значению, минимальному значению, количеству уровней квантования или любому другому подходящему значению, требуемому для каждого из соответствующих параметров (например, к одному соответствующему параметру на каждый тип параметров). В общем говоря, как будет понятно и очевидно специалисту в данной области, эти связанные с квантованием значения/параметры предоставляют или определяют более грубое или более точное квантование в целом и соответственно сопутствующее лучшее или худшее пространственное воспроизведение. Как будет понятно и очевидно специалисту в данной области, вообще говоря, некоторые параметры (квантования) в общем считаются более чувствительными к квантованию, чем другие, и в общем может отсутствовать абсолютная методика точного/грубого квантования для всех параметров.In some examples, the information for performing quantization of the parameters comprises corresponding quantization ranges and/or quantization levels for a plurality of parameters. For example, the information may relate to a maximum value, a minimum value, a number of quantization levels, or any other suitable value required for each of the corresponding parameters (e.g., one corresponding parameter for each type of parameter). Generally speaking, as will be understood and apparent to one skilled in the art, these quantization-related values/parameters provide or determine a coarser or finer quantization overall and, accordingly, an accompanying better or worse spatial reproduction. As will be understood and apparent to one skilled in the art, generally speaking, some (quantization) parameters are generally considered to be more sensitive to quantization than others, and, in general, there may be no absolute fine/coarse quantization technique for all parameters.

В вышеописанной конфигурации можно считать, что каждая из множества стратегий обработки содержит первый указатель (его первую часть/порцию), относящийся к порядку/последовательности, связанным с вычислением и квантованием; и второй указатель (его вторую часть/порцию), относящийся к фактическому процессу квантования. Путем тщательного проектирования стратегии обработки (например, с помощью разных комбинаций первого указателя и второго указателя) можно эффективно и гибко добиться соответствия разным конфигурациям/требованиям битрейта, например для разных случаев или сценариев использования. В частности, в некоторых случаях может существовать одна стратегия обработки (например, стратегия наиболее грубого квантования из множества стратегий квантования), которая может считаться гарантирующей битрейт ниже целевого порогового значения битрейта (или равный ему).In the above configuration, each of the plurality of processing strategies can be regarded as comprising a first pointer (its first part/chunk) related to the order/sequence associated with the computation and quantization; and a second pointer (its second part/chunk) related to the actual quantization process. By carefully designing the processing strategy (e.g., using different combinations of the first pointer and the second pointer), it is possible to efficiently and flexibly meet different bitrate configurations/requirements, such as for different use cases or scenarios. In particular, in some cases, there may be one processing strategy (e.g., the coarsest quantization strategy among the plurality of quantization strategies) that can be regarded as guaranteeing a bitrate lower than (or equal to) a target bitrate threshold.

В некоторых примерах кодирование параметров может включать временно- и/или частотно-дифференциальное кодирование. Говоря в общем, один параметр метаданных можно квантовать из непрерывного числового значения в индекс, представляющий собой дискретное значение. При недифференциальном кодировании информация, кодируемая для этого параметра метаданных, соответствует непосредственно этому индексу. Следует отметить, что термин «недифференциальное кодирование», используемый в настоящем изобретении, может относиться к не являющемуся временно-дифференциальным кодированию, не являющемуся частотно-дифференциальным кодированию или не являющемуся дифференциальным кодированию всех видов, если это необходимо, как будет понятно и очевидно специалисту в данной области. При временно-дифференциальном кодировании кодируемая информация представляет собой разницу между индексом параметра метаданных из текущего кадра и индексом того же параметра метаданных из предыдущего кадра. Как будет понятно и очевидно специалисту в данной области, вышеописанная общая идея временно-дифференциального кодирования может быть дополнительно расширена, например на множество полос частот. Соответственно, параметр метаданных может быть расширен подобным образом, например на множество параметров, соответственно относящихся ко множеству полос частот (или каждой из них), как необходимо. Частотно-дифференциальное кодирование следует подобному принципу, но закодированная разница является разницей между метаданными одной полосы частот текущего кадра и метаданными другой полосы частот текущего кадра (в отличие от текущего кадра минус предыдущий кадр во временно-дифференциальном кодировании). В качестве простого примера (но не ограничения), предположим, что a0, a1, a2 и a3 будут обозначать индексы параметров в 4 полосах частот конкретного кадра, тогда в одном примере реализации частотно-дифференциальные индексы могут представлять собой a0, a0-a1, a1-a2, a2-a3. Как будет очевидно специалисту в данной области, общая идея (временно- и/или частотно-) дифференциального кодирования заключается в том, что метаданные обычно могут медленно изменяться от кадра к кадру или от полосы частот к полосе частот, так что даже если исходное значение метаданных было большим, разница между ним и метаданными предыдущего кадра или разница между ним и метаданными другой полосы частот вероятно будет небольшой. Это является преимущественным, поскольку в общем параметры со статистическими распределениями, которые стремятся к нулю, могут быть закодированы с использованием меньшего количества битов.In some examples, the encoding of the parameters may include time-differential and/or frequency-differential encoding. Generally speaking, one metadata parameter may be quantized from a continuous numerical value into an index representing a discrete value. In non-differential encoding, the information encoded for this metadata parameter corresponds directly to this index. It should be noted that the term "non-differential encoding" as used in the present invention may refer to non-time-differential encoding, non-frequency-differential encoding, or non-differential encoding of all kinds, if necessary, as will be understood and obvious to one skilled in the art. In time-differential encoding, the information encoded is the difference between the index of the metadata parameter from the current frame and the index of the same metadata parameter from the previous frame. As will be understood and obvious to one skilled in the art, the above-described general idea of time-differential encoding may be further extended, for example, to a plurality of frequency bands. Accordingly, the metadata parameter can be extended in a similar manner, for example, to a plurality of parameters, respectively related to a plurality of frequency bands (or each of them), as needed. Frequency differential coding follows a similar principle, but the encoded difference is the difference between the metadata of one frequency band of the current frame and the metadata of another frequency band of the current frame (as opposed to the current frame minus the previous frame in time differential coding). As a simple example (but not limitation), suppose that a0, a1, a2 and a3 will denote the indices of the parameters in the 4 frequency bands of a particular frame, then in one example of implementation the frequency differential indices can be a0, a0-a1, a1-a2, a2-a3. As will be apparent to those skilled in the art, the general idea of (time- and/or frequency-) differential coding is that metadata may typically vary slowly from frame to frame or from frequency band to frequency band, so that even if the original metadata value was large, the difference between it and the metadata of the previous frame or the difference between it and the metadata of another frequency band is likely to be small. This is advantageous because, in general, parameters with statistical distributions that tend to zero can be encoded using fewer bits.

В некоторых примерах стратегия обработки, определенная для текущего кадра, может отличаться от стратегии обработки, определенной для предыдущего кадра, и соответственно кодирование параметров может включать временно-дифференциальное кодирование в разных стратегиях обработки. Другими словами, в определенных случаях, где определены разные стратегии обработки (например, для разных кадров входного сигнала), способ согласно настоящему изобретению по-прежнему может кодировать параметры, например с использованием временно-дифференциального кодирования в этих разных стратегиях обработки.In some examples, the processing strategy determined for the current frame may differ from the processing strategy determined for the previous frame, and accordingly, the encoding of the parameters may include time-differential encoding in different processing strategies. In other words, in certain cases where different processing strategies are determined (for example, for different frames of the input signal), the method according to the present invention can still encode the parameters, for example, using time-differential encoding in these different processing strategies.

Как указано выше, каждая из множества стратегий обработки может содержать соответствующий первый указатель, указывающий порядок (или последовательность), относящийся к вычислению и квантованию отдельных параметров.As indicated above, each of the plurality of processing strategies may contain a corresponding first pointer indicating the order (or sequence) related to the calculation and quantization of individual parameters.

В некоторых примерах первый указатель может содержать информацию, указывающую, что все параметры вычисляют перед квантованием.In some examples, the first pointer may contain information indicating that all parameters are calculated before quantization.

В некоторых примерах первый указатель может содержать информацию, указывающую, что параметры вычисляют по отдельности и затем квантуют последовательно друг за другом. В частности, по меньшей мере один параметр из множества параметров может быть вычислен на основе другого квантованного параметра из множества параметров. В качестве примера, но не ограничения, предположим, что всего три параметра необходимо вычислить и квантовать, тогда первый параметр можно вычислить в первую очередь (из входного сигнала) и затем квантовать; тогда как второй параметр можно вычислить на основе (квантованного) первого параметра и затем квантовать сам второй параметр; и наконец, третий параметр вычисляют на основе (квантованного) первого параметра и/или (квантованного) второго параметра и затем квантуют. В одном примере третий параметр вычисляют на основе квантованных первого и второго параметров.In some examples, the first indicator may contain information indicating that the parameters are calculated separately and then quantized sequentially one after another. In particular, at least one parameter of the plurality of parameters may be calculated based on another quantized parameter of the plurality of parameters. As an example, but not limitation, suppose that a total of three parameters are to be calculated and quantized, then the first parameter may be calculated first (from the input signal) and then quantized; while the second parameter may be calculated based on the (quantized) first parameter and then the second parameter itself may be quantized; and finally, the third parameter is calculated based on the (quantized) first parameter and/or the (quantized) second parameter and then quantized. In one example, the third parameter is calculated based on the quantized first and second parameters.

В некоторых примерах первый указатель может содержать информацию, указывающую, что все параметры вычисляют перед квантованием любого параметра; и в частности, по меньшей мере один из параметров повторно вычисляют на основе другого квантованного параметра и повторно вычисленный параметр квантуют. Также принимая в качестве примера вышеописанные три параметра, все параметры сначала вычисляют и затем квантуют первый и второй параметры; после этого повторно вычисляют третий параметр, например на основе квантованных вторых параметров, и затем третий параметр квантуют на основе повторно вычисленного значения.In some examples, the first indicator may contain information indicating that all parameters are calculated before any parameter is quantized; and in particular, at least one of the parameters is recalculated based on another quantized parameter, and the recalculated parameter is quantized. Also taking the above-described three parameters as an example, all parameters are first calculated and then the first and second parameters are quantized; after that, the third parameter is recalculated, for example based on the quantized second parameters, and then the third parameter is quantized based on the recalculated value.

В некоторых примерах способ может дополнительно включать, перед кодированием квантованных параметров, отображение индексов квантованных параметров из предыдущего кадра в индексы текущего кадра. Другими словами, если определяют (например, находят/выбирают) другую стратегию обработки (схему квантования, например, что касается разных уровней и/или последовательностей квантования), индексы (квантования) из предыдущего кадра, которые были квантованы с использованием другой схемы квантования, отображают в индексы текущего кадра. Следует отметить, что это позволяет выполнять временно-дифференциальное кодирование между кадрами без необходимости отправлять недифференциальный кадр при каждом изменении схемы квантования, тем самым дополнительно улучшая общую эффективность и гибкость кодирования.In some examples, the method may further include, before encoding the quantized parameters, mapping the indices of the quantized parameters from the previous frame to the indices of the current frame. In other words, if a different processing strategy (quantization scheme, for example, concerning different quantization levels and/or sequences) is determined (e.g., found/selected), the indices (quantizations) from the previous frame that were quantized using the other quantization scheme are mapped to the indices of the current frame. It should be noted that this allows for time-differential encoding to be performed between frames without the need to send a non-differential frame each time the quantization scheme is changed, thereby further improving the overall efficiency and flexibility of coding.

В некоторых возможных реализациях отображение индексов может быть выполнено на основе формул: , где обозначает индексы текущего кадра после отображения, обозначает индекс предыдущего кадра, обозначает уровень квантования текущего кадра и обозначает уровень квантования предыдущего кадра.In some possible implementations, index mapping can be performed based on formulas: , Where denotes the indices of the current frame after display, denotes the index of the previous frame, denotes the quantization level of the current frame and indicates the quantization level of the previous frame.

В качестве простого иллюстративного примера предположим, что диапазон квантования составляет от 0 до 2, и предположим, что предыдущие уровни квантования составляют 11. В случае равномерного квантования это в общем означало бы, что каждый этап квантования составлял бы 0,2. Далее предположим, что текущие уровни квантования составляют 21, что означает, что каждый этап квантования составляет 0,1 при равномерном квантовании. На основе этих предположений, если квантованное значение в предыдущем кадре составляло 0,4, то при 11 равномерных уровнях квантования получают следующий предыдущий индекс . Отображение предоставляет квантованные индексы метаданных предыдущего кадра, как если бы они были квантованы с использованием уровней квантования текущего кадра. Таким образом, в этом примере, если уровни квантования в текущем кадре составляют 21, то квантованное значение 0,4 будет отображено в . После того, как отображенные индексы вычислены, вычисляют разницу между индексами текущего кадра и предыдущего кадра и кодируют эту разницу. Аналогичные или подобные подходы при необходимости также могут применяться к частотно-дифференциальному кодированию, как будет понятно и очевидно специалисту в данной области.As a simple illustrative example, assume the quantization range is 0 to 2, and assume the previous quantization levels are 11. In the case of uniform quantization, this would generally mean that each quantization step would be 0.2. Further assume the current quantization levels are 21, which means that each quantization step is 0.1 under uniform quantization. Based on these assumptions, if the quantized value in the previous frame was 0.4, then with 11 uniform quantization levels, the next previous index is obtained . The mapping provides the quantized indices of the previous frame's metadata as if they were quantized using the quantization levels of the current frame. So in this example, if the quantization levels in the current frame are 21, then the quantized value 0.4 would be mapped to . After the mapped indices are calculated, the difference between the indices of the current frame and the previous frame is calculated and this difference is encoded. Similar or similar approaches may also be applied to frequency differential coding, if necessary, as will be understood and obvious to a person skilled in the art.

Необходимо отметить, что вышеописанные формулы и соответствующий пример предоставлены лишь с иллюстративной целью и что любой другой подходящий механизм (например, справочная таблица и т.д.) может использоваться для выполнения отображения индексов, как будет понятно и очевидно специалисту в данной области.It should be noted that the above formulas and the corresponding example are provided for illustrative purposes only and that any other suitable mechanism (e.g., a lookup table, etc.) may be used to perform the index mapping, as will be understood and apparent to one skilled in the art.

В некоторых примерах по меньшей мере одно пороговое значение битрейта может содержать целевое пороговое значение битрейта. Соответственно, зацикленный процесс может включать следующие этапы: квантование и кодирование параметров недифференциальным и/или частотно-дифференциальным образом с использованием энтропийного кодера в соответствии с (определенной) стратегией обработки; оценивание (например, вычисление) первого битрейта параметров для закодированных параметров; и выход из зацикленного процесса, если первый битрейт параметров меньше целевого порогового значения битрейта или равен ему. В частности, в некоторых возможных реализациях первый битрейт параметров можно оценить (вычислить) из минимума среди схем недифференциального и частотно-дифференциального кодирования, закодированных с использованием (обученных) энтропийных кодеров. Как будет понятно и очевидно специалисту в данной области, энтропийные кодеры могут быть обучены любым подходящим образом, например для приспособления к отдельным схемам кодирования. Например, в некоторых возможных реализациях обучение энтропийных кодеров может включать разработку вероятностных моделей на основе метаданных, вычисленных из большой группы входных сигналов. Ожидается, что конкретные сигналы, выбранные для разработки этих моделей, будут представлять типы сигналов, которые, как ожидается, будут проходить через систему при повседневном использовании. Таким образом, метаданные из других подобных сигналов должны быть закодированы насколько можно более эффективно. Вкратце, если говорить в общем, целью этого обучения является адаптация энтропийных кодеров для придания им максимальной эффективности с ожидаемым распределением вероятностей параметров.In some examples, the at least one bit rate threshold may comprise a target bit rate threshold. Accordingly, the loop process may comprise the following steps: quantizing and encoding the parameters in a non-differential and/or frequency-differential manner using an entropy coder in accordance with a (specified) processing strategy; estimating (e.g., calculating) a first parameter bit rate for the encoded parameters; and exiting the loop process if the first parameter bit rate is less than or equal to the target bit rate threshold. In particular, in some possible implementations, the first parameter bit rate may be estimated (calculated) from a minimum among non-differential and frequency-differential coding schemes encoded using (trained) entropy coders. As will be understood and apparent to one skilled in the art, entropy coders may be trained in any suitable manner, for example to adapt to individual coding schemes. For example, in some possible implementations, training entropy coders may involve developing probability models based on metadata computed from a large group of input signals. The specific signals chosen to develop these models are expected to represent the types of signals that are expected to flow through the system in everyday use. Thus, metadata from other similar signals should be encoded as efficiently as possible. In short, the goal of this training is to adapt entropy coders to be as efficient as possible with the expected probability distribution of the parameters.

В некоторых примерах, зацикленный процесс может дополнительно включать следующие этапы: если первый битрейт параметров больше целевого порогового значения битрейта, квантование и кодирование параметров недифференциальным образом без энтропии согласно стратегии обработки; оценивание второго битрейта параметров для закодированных параметров; и выход из зацикленного процесса, если второй битрейт параметров меньше целевого порогового значения битрейта или равен ему.In some examples, the loop process may further include the following steps: if the first parameter bit rate is greater than a target bit rate threshold, quantizing and encoding the parameters in a non-differential manner without entropy according to a processing strategy; estimating a second parameter bit rate for the encoded parameters; and exiting the loop process if the second parameter bit rate is less than or equal to the target bit rate threshold.

В некоторых примерах зацикленный процесс может дополнительно включать следующие этапы: если второй битрейт параметров больше целевого порогового значения битрейта, квантование и кодирование параметров временно-дифференциальным образом с использованием (обученного) энтропийного кодера согласно стратегии обработки; оценивание третьего битрейта параметров для закодированных параметров; и выход из зацикленного процесса, если третий битрейт параметров меньше целевого порогового значения битрейта или равен ему.In some examples, the loop process may further include the following steps: if the second parameter bit rate is greater than a target bit rate threshold, quantizing and encoding the parameters in a time-differential manner using a (trained) entropy encoder according to the processing strategy; estimating a third parameter bit rate for the encoded parameters; and exiting the loop process if the third parameter bit rate is less than or equal to the target bit rate threshold.

В некоторых примерах временно-дифференциальное квантование и кодирование может выполняться на подмножестве параметров методом с чередованием частот относительно предыдущего кадра. В частности, как будет понятно и очевидно специалисту в данной области, метод с чередованием частот обычно может относиться к случаям, где разные полосы частот (например, соответствующие разным подмножествам параметров) обрабатываются (например, подвергаются квантованию и кодированию) для разных кадров. Другими словами, временно-дифференциальное квантование и кодирование (по меньшей мере подмножества) параметров для текущего кадра могут быть выполнены в другой полосе частот (соответствующей обрабатываемым в настоящее время параметрам), которая отличается от полосы частот предыдущего кадра.In some examples, the time-differential quantization and encoding may be performed on a subset of the parameters in a frequency-interleaved manner relative to the previous frame. In particular, as will be understood and apparent to one skilled in the art, the frequency-interleaved manner may typically refer to cases where different frequency bands (e.g., corresponding to different subsets of the parameters) are processed (e.g., quantized and encoded) for different frames. In other words, the time-differential quantization and encoding of (at least a subset) of the parameters for the current frame may be performed in a different frequency band (corresponding to the parameters currently being processed) that is different from the frequency band of the previous frame.

В некоторых примерах временно-дифференциальное квантование и кодирование могут быть выполнены путем циклического прохождения через ряд схем временно-дифференциального кодирования с чередованием частот таким образом, что для каждого цикла другое подмножество параметров (соответствующее другому множеству полос частот) квантуют и кодируют временно-дифференциально, тогда как остальные параметры квантуют и кодируют недифференциально.In some examples, time-differential quantization and encoding may be accomplished by cycling through a series of frequency-interleaved time-differential encoding schemes such that for each cycle, a different subset of the parameters (corresponding to a different set of frequency bands) are quantized and encoded time-differentially, while the remaining parameters are quantized and encoded non-differentially.

В некоторых примерах определенная стратегия обработки может считаться первой стратегией обработки, и соответственно зацикленный процесс может дополнительно включать следующие этапы: если третий битрейт параметров больше целевого порогового значения битрейта, определение второй стратегии обработки из множества стратегий обработки, так, что ожидается, что (итоговый) битрейт после применения второй стратегии обработки будет меньше битрейта использования первой стратегии обработки; и повторение вышеописанных этапов зацикленного процесса. Как будет понятно и очевидно специалисту в данной области, в таких случаях определенная (например, выбранная) таким образом вторая стратегия обработки может просто считаться стратегией обработки, которая является более грубой, чем определенная (например, выбранная) ранее первая стратегия обработки. По существу, размер множества возможных квантованных значений/индексов можно уменьшить, что (обычно) также приводит к соответственному уменьшению битрейта.In some examples, the determined processing strategy may be considered as a first processing strategy, and accordingly the loop process may further comprise the following steps: if the third parameter bit rate is greater than the target bit rate threshold, determining a second processing strategy from the plurality of processing strategies such that the (resulting) bit rate after applying the second processing strategy is expected to be less than the bit rate of using the first processing strategy; and repeating the above-described steps of the loop process. As will be understood and obvious to a person skilled in the art, in such cases the determined (e.g., selected) second processing strategy in this way may simply be considered as a processing strategy that is coarser than the previously determined (e.g., selected) first processing strategy. As such, the size of the set of possible quantized values/indices may be reduced, which (usually) also leads to a corresponding reduction in the bit rate.

В некоторых примерах параметры могут быть представлены в первом количестве полос частот, и зацикленный процесс может дополнительно включать следующие этапы: если третий битрейт параметров больше целевого порогового значения битрейта, уменьшение количества полос частот, представляющих параметры, до второго количества, которое меньше первого количества, так что общее количество параметров, которые необходимо квантовать и кодировать, уменьшается; и повторение вышеописанных этапов зацикленного процесса.In some examples, the parameters may be represented in a first number of frequency bands, and the loop process may further include the following steps: if the third bit rate of the parameters is greater than a target bit rate threshold, reducing the number of frequency bands representing the parameters to a second number that is less than the first number, such that the total number of parameters that need to be quantized and encoded is reduced; and repeating the above steps of the loop process.

В некоторых примерах параметры представлены в первом количестве полос частот, и зацикленный процесс может дополнительно включать следующие этапы: если третий битрейт параметров больше целевого порогового значения битрейта, то применяют повторное использование (которое в некоторых случаях называют «замораживанием») параметров в одной или более полос частот из предыдущего кадра в текущем кадре; и повторение этапов вышеописанного зацикленного процесса. В качестве примера, при кодировании с использованием конкретной схемы кодирования можно замораживать параметры в определенных полосе(-ах) частот (например, частотных полосах 2, 6 и 10). В качестве дополнительного иллюстративного примера, если все полосы частот замораживают в течение периода 2 кадров, то кодер может передавать половину полос (например, полосы с четными номерами) в кадре N, а остальную половину (например, полосы с нечетными номерами) в кадре N+1 (тем самым уменьшая общее количество параметров, которые необходимо передавать), что в общем означает, что декодер будет получать все (например, 12) обновленных полос частот раз в два кадра. В таких случаях, если один кадр утерян, обычно остается возможность экстраполирования из двух последних пригодных кадров. При восстановлении после потери пакетов можно выполнить интерполирование между полосами, которые были приняты с заданным кадром. В общем говоря, результатом вышеописанного процесса замораживания будет уменьшение энтропии, что не требует изменения декодера или схемы энтропийного кодирования, с небольшим влиянием на качество.In some examples, the parameters are represented in a first number of frequency bands, and the looping process may further include the following steps: if the third bit rate of the parameters is greater than a target bit rate threshold, then reusing (which in some cases is called "freezing") the parameters in one or more frequency bands from the previous frame in the current frame; and repeating the steps of the looping process described above. As an example, when encoding using a particular coding scheme, it is possible to freeze the parameters in certain frequency band(s) (e.g., frequency bands 2, 6, and 10). As a further illustrative example, if all bands are frozen for a period of 2 frames, then the encoder can transmit half of the bands (e.g., even-numbered bands) in frame N, and the remaining half (e.g., odd-numbered bands) in frame N+1 (thereby reducing the total number of parameters that need to be transmitted), which generally means that the decoder will receive all (e.g., 12) updated bands every two frames. In such cases, if one frame is lost, it is usually possible to extrapolate from the last two usable frames. When recovering from packet loss, interpolation can be performed between the bands that were received with a given frame. In general, the result of the freezing process described above will be a decrease in entropy, which does not require changes to the decoder or the entropy coding scheme, with little impact on quality.

В итоге, когда необходимо уменьшить общее количество полос, это можно выполнить по меньшей мере двумя следующими методами. Первый метод заключается в уменьшении разрешающей способности по частоте, при котором вместо использования N полос используются только M полос (где M < N), и ширина одной или более полос в конфигурации с M полосами выше, чем в конфигурации с N полосами. Эти M полос могут быть производными от N полос, например смежные полосы могут быть сгруппированы вместе попарно, по три и так далее, или в виде любых других групп, которые имеют значимость для восприятия. Второй метод заключается в уменьшении разрешающей способности по времени, при котором значения ширины всех N полос могут оставаться в точности неизменными в частотной области, но полосы замораживаются в течение периода x кадров (где x > 1). Это означает, что обновления для N полос могут быть переданы в течение периода x кадров или, другими словами, только N/x полос из N полос необходимо обновлять и передавать на декодер с каждым кадром.In summary, when it is necessary to reduce the total number of bands, this can be done by at least two methods. The first method is frequency resolution reduction, where instead of using N bands, only M bands are used (where M < N), and one or more bands are wider in the M-band configuration than in the N-band configuration. These M bands may be derivatives of the N bands, such that adjacent bands may be grouped together in pairs, threes, etc., or any other groupings that are perceptually meaningful. The second method is time resolution reduction, where the widths of all N bands may remain exactly the same in the frequency domain, but the bands are frozen for a period of x frames (where x > 1). This means that updates for the N bands may be transmitted over a period of x frames, or in other words, only N/x bands out of the N bands need to be updated and transmitted to the decoder with each frame.

В некоторых примерах по меньшей мере одно пороговое значение битрейта может дополнительно содержать, в дополнение к вышеописанному целевому пороговому значению битрейта, максимальное пороговое значение битрейта, которое больше целевого порогового значения битрейта. Соответственно, зацикленный процесс может дополнительно включать следующие этапы: перед определением второй стратегии обработки, или уменьшением количества полос частот, или повторным использованием параметров, получение минимума среди первого, второго и третьего битрейтов параметров; и выход из зацикленного процесса, если минимум меньше максимального порогового значения битрейта или равен ему.In some examples, at least one bit rate threshold may further comprise, in addition to the above-described target bit rate threshold, a maximum bit rate threshold that is greater than the target bit rate threshold. Accordingly, the looped process may further comprise the following steps: before determining the second processing strategy, or reducing the number of frequency bands, or reusing the parameters, obtaining a minimum among the first, second, and third bit rates of the parameters; and exiting the looped process if the minimum is less than or equal to the maximum bit rate threshold.

Стоит отметить, что если цикл обработки завершается конкретным этапом, как описано выше, то в общем это означает, что окончательный битрейт параметров является битрейтом, который вычислен на этом этапе (т.е. при выходе из цикла обработки). Кроме того, как указано выше, для большей верности может существовать определенная (например, самая грубая) стратегия квантования среди заданных стратегий квантования, доступных для квантования параметров, которая гарантированно обеспечивает битрейт, который меньше целевого порогового значения битрейта или максимального порогового значения битрейта или равен им. Таким образом, можно гарантировать постоянное наличие решения для подходящего битрейта параметров в рамках целевого порогового значения битрейта или максимального порогового значения битрейта.It is worth noting that if the processing loop terminates at a particular step as described above, this generally means that the final parameter bitrate is the bitrate that is computed at that step (i.e., at the exit of the processing loop). In addition, as noted above, for greater certainty, there may be a certain (e.g., the coarsest) quantization strategy among the given quantization strategies available for parameter quantization that is guaranteed to provide a bitrate that is less than or equal to the target bitrate threshold or the maximum bitrate threshold. In this way, it is possible to guarantee that there is always a solution for a suitable parameter bitrate within the target bitrate threshold or the maximum bitrate threshold.

В некоторых примерах параметры могут содержать один или более параметров предсказания (иногда просто называемых параметрами PR), параметров перекрестного предсказания (иногда просто называемых параметрами C) и параметров декорреляции (иногда просто называемых параметрами P). Как указано выше, по меньшей мере некоторые из параметров по меньшей мере частично взаимосвязаны, так что они могут быть вычислены на основе друг друга. Разумеется, как будет понятно и очевидно специалисту в данной области, могут существовать любые другие параметры (типы параметров), в зависимости от различных реализаций и/или требований (например, использования конкретных кодеков).In some examples, the parameters may comprise one or more prediction parameters (sometimes simply called PR parameters), cross-prediction parameters (sometimes simply called C parameters), and decorrelation parameters (sometimes simply called P parameters). As indicated above, at least some of the parameters are at least partially interrelated, such that they can be calculated based on each other. Of course, as will be understood and apparent to one skilled in the art, there may be any other parameters (types of parameters), depending on different implementations and/or requirements (e.g., use of specific codecs).

Как указано выше, порядок (или последовательность) вычисления и квантования параметров могу быть указаны первым указателем стратегий обработки. As indicated above, the order (or sequence) of parameter computation and quantization can be specified by the first processing strategy indicator.

В некоторых примерах параметры предсказания можно вычислять и квантовать в первую очередь, параметры перекрестного предсказания вычисляют из квантованных параметров предсказания и затем квантуют, а параметры декорреляции сначала вычисляют из квантованных параметров перекрестного предсказания и квантованных параметров предсказания и затем квантуют.In some examples, the prediction parameters may be computed and quantized first, the cross-prediction parameters are computed from the quantized prediction parameters and then quantized, and the decorrelation parameters are first computed from the quantized cross-prediction parameters and the quantized prediction parameters and then quantized.

В некоторых примерах параметры (т.е. параметры предсказания, параметры перекрестного предсказания и параметры декорреляции) могут быть сначала вычислены, затем параметры декорреляции и параметры предсказания квантуют, а параметры перекрестного предсказания повторно вычисляют из квантованных параметров предсказания и затем квантуют.In some examples, the parameters (i.e., the prediction parameters, the cross-prediction parameters, and the decorrelation parameters) may be first computed, then the decorrelation parameters and prediction parameters are quantized, and the cross-prediction parameters are recomputed from the quantized prediction parameters and then quantized.

В некоторых примерах способ может быть применен к кодированию метаданных кодека голосовых и звуковых служб с эффектом присутствия (IVAS) или кодека амбиофонии. Кодек амбиофонии может представлять собой кодек амбиофонии первого порядка (FOA) или даже кодек амбиофонии более высокого порядка (HOA). Разумеется, как будет понятно и очевидно специалисту в данной области, могут применяться любые другие подходящие кодеки, в зависимости от различных реализаций. In some examples, the method can be applied to encoding metadata of an immersive voice and audio services (IVAS) codec or an ambiphony codec. The ambiphony codec can be a first-order ambiphony codec (FOA) or even a higher-order ambiphony codec (HOA). Of course, as will be clear and obvious to a person skilled in the art, any other suitable codecs can be used, depending on the various implementations.

В некоторых примерах размер кадра меньше 40 мс, и в частности равен или меньше 20 мс.In some examples, the frame size is less than 40 ms, and in particular equal to or less than 20 ms.

Согласно другому аспекту настоящего изобретения предоставлено устройство, содержащее процессор и память, соединенную с процессором. Процессор может быть приспособлен для вызова выполнения устройством всех этапов примерных способов, описанных в настоящем изобретении.According to another aspect of the present invention, a device is provided comprising a processor and a memory coupled to the processor. The processor may be adapted to cause the device to perform all the steps of the example methods described in the present invention.

Согласно дополнительному аспекту настоящего изобретения предоставлена компьютерная программа. Компьютерная программа может включать команды, которые при исполнении процессором приводят к выполнению процессором всех этапов иллюстративных способов, описанных в настоящем изобретении. According to a further aspect of the present invention, a computer program is provided. The computer program may include instructions that, when executed by a processor, cause the processor to perform all the steps of the illustrative methods described in the present invention.

Согласно еще одному аспекту предоставлен машиночитаемый носитель данных. Машиночитаемый носитель данных может хранить вышеупомянутую компьютерную программу.According to another aspect, a machine-readable storage medium is provided. The machine-readable storage medium can store the above-mentioned computer program.

Будет понятно, что признаки устройства и этапы способа можно взаимно заменять многими методами. В частности, детали раскрытых способа(-ов) могут быть реализованы соответствующим устройством (или системой) и наоборот, как будет понятно специалисту. Кроме того, понятно, что любое из приведенных выше утверждений в отношении способа(-ов) также применимо и к соответствующему устройству (или системе) и наоборот. It will be understood that the features of the device and the steps of the method can be interchanged with each other in many ways. In particular, the details of the disclosed method(s) can be implemented by the corresponding device (or system) and vice versa, as will be understood by a person skilled in the art. In addition, it will be understood that any of the above statements regarding the method(s) also apply to the corresponding device (or system) and vice versa.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВBRIEF DESCRIPTION OF GRAPHIC MATERIALS

Примерные варианты осуществления настоящего изобретения описаны ниже со ссылкой на сопроводительные графические материалы, на которыхExemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which

фиг. 1 представляет собой схематическое изображение структурной схемы кодера/декодера («кодека») для кодирования и декодирование сигналов (битовых потоков) согласно одному варианту осуществления настоящего изобретения,Fig. 1 is a schematic diagram of a block diagram of an encoder/decoder (“codec”) for encoding and decoding signals (bit streams) according to one embodiment of the present invention,

фиг. 2 представляет собой блок-схему, изображающую пример способа покадрового кодирования метаданных для входного сигнала согласно одному варианту осуществления настоящего изобретения,Fig. 2 is a block diagram illustrating an example of a method for frame-by-frame encoding of metadata for an input signal according to one embodiment of the present invention,

фиг. 3 представляет собой блок-схему, изображающую пример цикла обработки согласно одному варианту осуществления настоящего изобретения, иFig. 3 is a block diagram illustrating an example of a processing cycle according to one embodiment of the present invention, and

фиг. 4 представляет собой блок-схему, изображающую пример цикла обработки согласно другому варианту осуществления настоящего изобретения.Fig. 4 is a block diagram illustrating an example of a processing cycle according to another embodiment of the present invention.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

Фигуры (фиг.) и следующее описание относятся к предпочтительным вариантам осуществления только в качестве иллюстрации. Следует отметить, что из следующего обсуждения альтернативные варианты осуществления конструкций и способов, описанных в настоящем документе, будут легко понятными в качестве подходящих альтернатив, которые могут использоваться без отступления от заявленных принципов.The figures (Fig.) and the following description relate to preferred embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods described herein will be readily apparent as suitable alternatives that can be used without departing from the stated principles.

Теперь будет сделана подробная ссылка на несколько вариантов осуществления, примеры которых проиллюстрированы на прилагаемых фигурах. Нужно отметить, что там, где это применимо, подобные или схожие ссылочные номера могут использоваться в фигурах и могут обозначать подобную или схожую функциональность. Фигуры изображают варианты осуществления описанной системы (или способа) только в целях иллюстрации. Специалисту в данной области будет легко понятно из следующего описания, что альтернативные варианты осуществления структур и способов, изображенных в настоящем документе, могут применяться без отступления от принципов, заявленных в настоящем документе. Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. It should be noted that, where applicable, like or similar reference numerals may be used in the figures and may denote like or similar functionality. The figures depict embodiments of the described system (or method) for illustrative purposes only. It will be readily apparent to one skilled in the art from the following description that alternative embodiments of the structures and methods depicted herein may be employed without departing from the principles disclosed herein.

Кроме того, на фигурах, где соединительные элементы, такие как сплошные или пунктирные линии или стрелки, используют для иллюстрации соединения, отношения или связи между двумя или более другими схематическими элементами или среди них, отсутствие любого из таких соединяющих элементов не подразумевает, что соединение, отношение или связь не может существовать. Другими словами, некоторые соединения, отношения или связи между элементами не показаны на графических материалах, чтобы не затруднять понимание настоящего изобретения. Дополнительно для упрощения иллюстрации один соединительный элемент используют для представления множества соединений, отношений или связей между элементами. Например, если соединительный элемент представляет передачу сигналов, данных или команд, специалистам в данной области техники следует понимать, что такой элемент представляет один или множество путей сигнала, по необходимости, для воздействия на передачу.In addition, in the figures, where connecting elements such as solid or dotted lines or arrows are used to illustrate a connection, relationship or connection between or among two or more other schematic elements, the absence of any of such connecting elements does not imply that the connection, relationship or connection cannot exist. In other words, some connections, relationships or connections between elements are not shown in the drawings so as not to obscure the understanding of the present invention. Additionally, to simplify the illustration, one connecting element is used to represent a plurality of connections, relationships or connections between elements. For example, if a connecting element represents the transmission of signals, data or commands, those skilled in the art will understand that such an element represents one or a plurality of signal paths, as necessary, to affect the transmission.

Как указано выше, когда период кадра аудиокодека (кодера/декодера) приближается к 40 мс, или даже 20 мс или менее, основу аудиоданных можно обновлять в коротких интервалах времени. Однако в общем известно, что дополнительную информацию (или метаданные/параметр) не нужно обновлять настолько часто. Другими словами, в кодеках с короткими периодами кадра это может в общем означать, что параметры будут чрезмерно дискретизированы, если все они будут включаться в каждый кадр (как звуковой сигнал). В некоторых реализациях может существовать возможность не отправлять метаданные в каждом кадре, а только обновлять их в каждом M-ом кадре (например, вплоть до M = 4 в некоторых случаях). Это в общем снижало бы средний битрейт метаданных.As stated above, when the frame period of the audio codec (encoder/decoder) approaches 40 ms, or even 20 ms or less, the core audio data can be updated in short time intervals. However, it is generally known that the additional information (or metadata/parameter) does not need to be updated that often. In other words, in codecs with short frame periods, this may generally mean that the parameters will be oversampled if they are all included in every frame (like an audio signal). In some implementations, it may be possible to not send the metadata in every frame, but only update it in every Mth frame (e.g. up to M=4 in some cases). This would generally reduce the average metadata bitrate.

Учитывая вышесказанное, в широком смысле, применение техники, описанной в настоящей заявке, может применяться к любым параметрам или дополнительной информации в кодировании звука, где временная корреляция параметров превышает шаг кодека. Например (но не в качестве ограничения), процедуры временно-дифференциального энтропийного кодирования с чередованием частот могут применяться к параметрам в кодеке голосовых и звуковых служб с эффектом присутствия (IVAS), соответствующем стандарту проекта партнерства третьего поколения (3GPP), которые моделируют пространственные взаимоотношения, или в любой технологии параметрического стереофонического кодирования, которая пытается минимизировать шаг кодека ниже 40 мс. Однако, как будет понятно и очевидно специалисту в данной области, хотя варианты осуществления настоящего изобретения могут применяться к кодеку амбиофонии первого порядка (FOA) с эффектом присутствия, подход, описанный в настоящем документе, в общем применим к любому другому подходящему аудиокодеку (например, к кодекам амбиофонии более высокого порядка, HOA), где шаг или размер кадра является малым, что в общем представляло бы некоторые специфические трудности при своевременном кодировании дополнительной информации как было упомянуто выше.In view of the above, in a broad sense, the application of the technique described in this application can be applied to any parameters or additional information in audio coding where the temporal correlation of the parameters exceeds the codec pitch. For example (but not as a limitation), the frequency interleaved time differential entropy coding procedures can be applied to parameters in the 3rd Generation Partnership Project (3GPP) IVAS codec that model spatial relationships, or in any parametric stereo coding technology that attempts to minimize the codec pitch below 40 ms. However, as will be understood and apparent to those skilled in the art, although embodiments of the present invention may be applied to a first order ambiphony (FOA) codec with presence effect, the approach described herein is generally applicable to any other suitable audio codec (e.g., higher order ambiphony, HOA codecs) where the step or frame size is small, which would generally present some specific difficulties in timely encoding of additional information as mentioned above.

Обращаясь теперь к фиг. 1, где показано схематическое изображение (упрощенной) структурной схемы кодера/декодера («кодека») 100 для кодирования и декодирование сигналов (битовых потоков) согласно одному варианту осуществления настоящего изобретения. В частности, как может быть понятно специалисту в данной области, иллюстративный пример по фиг. 1 демонстрирует кодек 100 амбиофонии первого порядка (FOA) с пространственным реконструктором (SPAR) для кодирования и декодирования битовых потоков IVAS в формате FOA. Более конкретно, как указано на фигуре, кодек 100 FOA по фиг. 1 включает как пассивное, так и активное предсказание, как будет понятно и очевидно специалисту в данной области. Referring now to Fig. 1, a schematic diagram of a (simplified) block diagram of an encoder/decoder ("codec") 100 for encoding and decoding signals (bitstreams) according to one embodiment of the present invention is shown. In particular, as may be understood by one skilled in the art, the illustrative example of Fig. 1 shows a first-order ambiphony (FOA) codec 100 with a spatial reconstructor (SPAR) for encoding and decoding IVAS bitstreams in FOA format. More particularly, as indicated in the figure, the FOA codec 100 of Fig. 1 includes both passive and active prediction, as will be understood and apparent to one skilled in the art.

В общем говоря, для кодирования кодер IVAS может содержать блок пространственного анализа и понижающего микширования, который принимает аудиоданные, включая, но без ограничения, монофонические сигналы, стереофонические сигналы, бинауральные сигналы, пространственные звуковые сигналы (например, многоканальные пространственные звуковые объекты), FOA, амбиофонию более высокого порядка (HoA) и любые другие подходящие аудиоданные. В некоторых реализациях блок пространственного анализа и понижающего микширования может реализовывать комплексную расширенную связь (CACPL) для анализа / понижающего микширования стереофонических сигналов / звуковых сигналов FOA и/или SPAR для анализа / понижающего микширования звуковых сигналов FOA. В других реализациях блок пространственного анализа и понижающего микширования также может реализовывать любые другие подходящие форматы.In general, for encoding, the IVAS encoder may comprise a spatial analysis and downmix unit that receives audio data including, but not limited to, monophonic signals, stereophonic signals, binaural signals, spatial audio signals (e.g., multi-channel spatial audio objects), FOA, higher-order ambiphony (HoA), and any other suitable audio data. In some implementations, the spatial analysis and downmix unit may implement complex advanced coupling (CACPL) for analyzing/downmixing stereophonic signals/FOA audio signals and/or SPAR for analyzing/downmixing FOA audio signals. In other implementations, the spatial analysis and downmix unit may also implement any other suitable formats.

Теперь снова обращаясь к фиг. 1, кодек 100 FOA может включать кодер 101 SPAR FOA, кодер 105 голосовых служб с расширенными возможностями (EVS), декодер 106 SPAR FOA и декодер 107 EVS. Кодер 101 SPAR FOA может быть выполнен с возможностью преобразования входного сигнала FOA в набор каналов понижающего микширования и параметров, используемых для восстановления входного сигнала на декодере 106 SPAR FOA. В зависимости от различных реализаций, сигналы понижающего микширования могут варьировать от 1 до 4 каналов, а параметры (которые иногда также называют коэффициентами) могут содержать, но без ограничения, коэффициенты предсказания (PR), коэффициенты перекрестного предсказания (С) и коэффициенты декорреляции (Р). Следует отметить, что SPAR представляет собой способ, используемый для реконструкции звукового сигнала из подвергнутой понижающему микшированию версии звукового сигнала с использованием параметров PR, C и P, как будет более подробно описано ниже.Now referring again to Fig. 1, the FOA codec 100 may include a SPAR FOA encoder 101, an enhanced voice services (EVS) encoder 105, a SPAR FOA decoder 106, and an EVS decoder 107. The SPAR FOA encoder 101 may be configured to convert the FOA input signal into a set of downmix channels and parameters used to reconstruct the input signal at the SPAR FOA decoder 106. Depending on the various implementations, the downmix signals may range from 1 to 4 channels, and the parameters (which are sometimes also referred to as coefficients) may include, but are not limited to, prediction coefficients (PR), cross-prediction coefficients (C), and decorrelation coefficients (P). It should be noted that SPAR is a method used to reconstruct an audio signal from a downmixed version of the audio signal using the PR, C and P parameters, as will be described in more detail below.

В зависимости от количества каналов понижающего микширования, один из входных сигналов FOA может всегда передаваться без изменений (например, канал W, как показано в настоящем примере по фиг. 1), а от 1 до 3 других каналов (например, каналы Y, Z и X, как показано в настоящем примере по фиг. 1) могут передаваться или в виде остаточных сигналов, или полностью параметрически.Depending on the number of downmix channels, one of the FOA input signals may always be transmitted unchanged (e.g., channel W, as shown in the present example in Fig. 1), and 1 to 3 other channels (e.g., channels Y, Z, and X, as shown in the present example in Fig. 1) may be transmitted either as residual signals or fully parametrically.

В частности, параметры предсказания могут оставаться теми же независимо от количества каналов понижающего микширования и могут использоваться для сведения к минимуму предсказываемой энергии в остаточных каналах понижающего микширования. С другой стороны, параметры перекрестного предсказания могут использоваться для дополнительного содействия при восстановлении полностью параметризованных каналов из остаточных сигналов. По существу, эти параметры не были бы необходимы в случаях понижающего микширования 1 и 4 каналов, где в первом случае нет остаточных каналов, из которых необходимо выполнять предсказание, а в последнем случае нет параметризованных каналов для предсказания. Кроме этого параметры декоррелятора могут использоваться для возмещения оставшейся энергии, не учтенной предсказанием и перекрестным предсказанием. Как и ранее, количество параметров декорреляции может зависеть от количества каналов понижающего микширования в каждой полосе.In particular, the prediction parameters may remain the same regardless of the number of downmix channels and may be used to minimize the predicted energy in the residual downmix channels. On the other hand, the cross-prediction parameters may be used to further assist in reconstructing the fully parameterized channels from the residual signals. As such, these parameters would not be needed in the 1- and 4-channel downmix cases, where in the former case there are no residual channels to predict from and in the latter case there are no parameterized channels to predict. In addition, the decorrelator parameters may be used to compensate for the remaining energy not accounted for by the prediction and cross-prediction. As before, the number of decorrelation parameters may depend on the number of downmix channels in each band.

Пример по фиг. 1 в общем изображает иллюстративный вариант осуществления такой системы и то, как такие параметры приспособить на стороне декодера. В частности, пример реализации, показанный на фиг. 1, изображает номинальное 2-канальное понижающее микширование, где представление канала W (которое представляет собой W для пассивного предсказания или W’ для активного предсказания) передают на декодер 106 в неизменном виде с одним предсказанным каналом Y’. Коэффициенты (C) перекрестного предсказания позволяют восстанавливать по меньшей мере некоторую часть параметрических каналов из остаточных каналов в случаях, когда по меньшей мере один канал отправлен как остаточный и по меньшей мере один отправлен параметрически, т. е. для понижающих микширований 2 и 3 каналов. Таким образом, в общем говоря, для понижающих микширований двух каналов параметры C позволяют восстанавливать некоторые из каналов X и Z из Y’, а остальные каналы восстанавливают посредством декоррелированных версий канала W, как более подробно описано ниже. В случае понижающего микширования 3 каналов остаточные каналы Y’ и X’ используют для восстановления только Z.The example of Fig. 1 generally depicts an illustrative embodiment of such a system and how such parameters are accommodated at the decoder side. In particular, the example implementation shown in Fig. 1 depicts a nominal 2-channel downmix, where the channel representation W (which is W for passive prediction or W' for active prediction) is transmitted to the decoder 106 unchanged with one predicted channel Y'. The cross-prediction coefficients (C) allow at least some of the parametric channels to be reconstructed from the residual channels in cases where at least one channel is sent as residual and at least one is sent parametrically, i.e. for 2- and 3-channel downmixes. Thus, generally speaking, for 2-channel downmixes, the parameters C allow some of the channels X and Z to be reconstructed from Y', and the remaining channels are reconstructed using decorrelated versions of the channel W, as described in more detail below. In case of 3-channel downmixing, the residual Y' and X' channels are used to restore only Z.

Как также будет понятно и очевидно специалисту в данной области, следует отметить, что в некоторых иллюстративных реализациях W может быть активным каналом (или, другими словами, каналом с активным предсказанием, далее называемым здесь W’). В качестве примера (но не ограничения), активный канал W, который позволяет осуществлять какой-то тип микширования каналов X, Y, Z в канал W, может быть определен следующим образом:As will also be clear and obvious to one skilled in the art, it should be noted that in some illustrative implementations, W may be an active channel (or, in other words, a channel with active prediction, hereinafter referred to as W’). As an example (but not limitation), an active channel W that allows some type of mixing of channels X, Y, Z into channel W may be defined as follows:

где f является подходящей постоянной (например, 0,5), позволяющей микшировать по меньшей мере некоторые из каналов X, Y, Z в канал W, а pry, prx и prz являются коэффициентами предсказания (PR). Соответственно, в случаях пассивного W, f = 0, поэтому микширование каналов X, Y, Z в канал W отсутствует.where f is a suitable constant (e.g. 0.5) allowing at least some of the channels X, Y, Z to be mixed into the channel W, and pr y , pr x and pr z are the prediction coefficients (PR). Accordingly, in cases of passive W, f = 0, so there is no mixing of channels X, Y, Z into the channel W.

В иллюстративной реализации по фиг. 1, кодер 101 SPAR FOA может содержать блок 102 (пассивного или активного) предсказателя, блок 103 повторного микширования и блок 104 выбора извлечения/понижающего микширования. В частности, предсказатель 102 может принимать каналы FOA в 4-канальном формате В (W, Y, Z, X) и вычисляет каналы понижающего микширования (представление W, Y’, Z’, X’).In the exemplary implementation of Fig. 1, the SPAR FOA encoder 101 may comprise a predictor (passive or active) unit 102, a remixer unit 103, and an extraction/downmix selection unit 104. In particular, the predictor 102 may receive FOA channels in a 4-channel B (W, Y, Z, X) format and calculates downmix channels (representation W, Y', Z', X').

Блок 104 выбора извлечения/понижающего микширования может извлекать метаданные SPAR FOA, например из раздела полезной нагрузки метаданных битового потока IVAS. Блок 102 предсказателя и блок 103 повторного микширования затем могут использовать метаданные SPAR FOA для генерирования подвергнутых повторному микшированию каналов FOA (представление W, S1’, S2’и S3’), которые затем могут быть поданы на кодер 105 EVS с целью их кодирования в битовый поток EVS, который может быть впоследствии инкапсулирован в битовом потоке IVAS, отправляемом на декодер 106.The extraction/downmix selection unit 104 may extract the SPAR FOA metadata, for example from a payload section of the IVAS bitstream metadata. The predictor unit 102 and the remix unit 103 may then use the SPAR FOA metadata to generate remixed FOA channels (representation W, S 1 ', S 2 ' and S 3 '), which may then be fed to the EVS encoder 105 for encoding them into an EVS bitstream, which may subsequently be encapsulated in an IVAS bitstream sent to the decoder 106.

Со ссылкой на декодер 106 SPAR FOA, битовый поток EVS декодируется декодером 107 EVS, что в результате дает некоторое количество (например, N_dmx = 2, где N_dmx обозначает количество каналов понижающего микширования) каналов понижающего микширования. В некоторых реализациях декодер 106 SPAR FOA может быть выполнен с возможностью выполнения операций, противоположных операциям, которые были выполнены кодером 101 SPAR. Например, в примере по фиг. 1 подвергнутые повторному микшированию каналы FOA (представление W, S1’, S2’и S3’) могут быть восстановлены из 2 каналов понижающего микширования с использованием пространственных метаданных SPAR FOA. Подвергнутые повторному микшированию каналы SPAR FOA затем могут быть введены в обратный микшер 111 для восстановления каналов понижающего микширования SPAR FOA (представление W, Y’, Z’ и X’). После этого предсказанные каналы SPAR FOA могут затем быть введены в обратный предсказатель 112 для восстановления исходных, не подвергнутых микшированию каналов SPAR FOA (W, Y, Z и X).With reference to the SPAR FOA decoder 106, the EVS bitstream is decoded by the EVS decoder 107, which results in a number (for example, N_dmx = 2, where N_dmx denotes the number of downmix channels) of downmix channels. In some implementations, the SPAR FOA decoder 106 may be configured to perform operations opposite to those performed by the SPAR encoder 101. For example, in the example of Fig. 1, the remixed FOA channels (representation W, S 1 ', S 2 ' and S 3 ') may be reconstructed from the 2 downmix channels using the SPAR FOA spatial metadata. The remixed SPAR FOA channels may then be input to a reverse mixer 111 to reconstruct the downmixed SPAR FOA channels (W, Y', Z' and X' representation). The predicted SPAR FOA channels may then be input to a reverse predictor 112 to reconstruct the original, unmixed SPAR FOA channels (W, Y, Z and X).

Следует отметить, что в этом двухканальном примере для генерирования декоррелированных версий канала W с использованием декоррелятора во временной области или частотной области могут быть использованы блоки 109-1 (dec1) и 109-2 (dec2) декоррелятора. Каналы понижающего микширования и декоррелированные каналы могут быть использованы в комбинации с метаданными SPAR FOA для параметрического восстановления каналов X и Z. Блок 108 C может относиться к умножению остаточного канала на матрицу коэффициентов C размером 2×1, тем самым создавая два сигнала перекрестного предсказания, которые могут быть суммированы в параметрически восстановленные каналы, как показано в примере по фиг. 1. Кроме этого, блок 110-1 P1 и блок 110-2 P2 могут относиться к умножению выходных сигналов декореллятора на столбцы матрицы коэффициентов P размером 2×2, тем самым создавая четыре выходных сигнала, которые могут быть суммированы в параметрически восстановленные каналы, как показано в примере по фиг. 1.It should be noted that in this two-channel example, decorrelator blocks 109-1 (dec 1 ) and 109-2 (dec 2 ) may be used to generate decorrelated versions of channel W using a decorrelator in the time domain or frequency domain. The downmix channels and decorrelated channels may be used in combination with SPAR FOA metadata to parametrically reconstruct channels X and Z. Block 108 C may relate to multiplying the residual channel with a 2×1 matrix of coefficients C, thereby creating two cross-prediction signals that may be summed into parametrically reconstructed channels, as shown in the example of Fig. 1. In addition, block 110-1 P 1 and block 110-2 P 2 may relate to multiplying the decorrelator output signals with columns of a 2×2 matrix of coefficients P, thereby creating four output signals that may be summed into parametrically reconstructed channels, as shown in the example of Fig. 1.

Как указано выше, в некоторых реализациях, в зависимости от количества каналов понижающего микширования, один из входных сигналов FOA может быть передан на декодер 106 SPAR FOA без изменений (например, иллюстративный канал W), а от одного до трех других каналов (Y, Z и X) могут быть переданы на декодер 106 SPAR FOA или в качестве остаточных сигналов, или полностью параметрически. Коэффициенты PR, которые остаются теми же вне зависимости от количества N_dmx каналов понижающего микширования, могут использоваться для сведения к минимуму предсказываемой энергии в остаточных каналах понижающего микширования. Коэффициенты С могут использоваться для дополнительного содействия при восстановлении полностью параметризованных каналов из остаточных сигналов. Как таковые, коэффициенты С могут не требоваться в случаях одно- и четырехканального понижающего микширования, где отсутствовали бы остаточные каналы или параметризованные каналы для предсказания на их основе. Коэффициенты Р используются для возмещения остающейся энергии, не учтенной коэффициентами PR и С. Количество коэффициентов Р обычно зависит от количества N каналов понижающего микширования в каждой полосе.As indicated above, in some implementations, depending on the number of downmix channels, one of the FOA input signals may be passed to the SPAR FOA decoder 106 unchanged (e.g., the exemplary W channel), and one to three other channels (Y, Z, and X) may be passed to the SPAR FOA decoder 106 either as residual signals or fully parametrically. The PR coefficients, which remain the same regardless of the number N_dmx of downmix channels, may be used to minimize the predicted energy in the residual downmix channels. The C coefficients may be used to further assist in reconstructing the fully parametrically configured channels from the residual signals. As such, the C coefficients may not be required in cases of single- and four-channel downmixes where there would be no residual channels or parametrically configured channels to predict based on them. P factors are used to compensate for the remaining energy not accounted for by the PR and C factors. The number of P factors usually depends on the number N of downmix channels in each band.

В некоторых реализациях коэффициенты PR SPAR (только пассивный W) вычисляют следующим образом.In some implementations, SPAR PR coefficients (passive W only) are calculated as follows.

Этап 1. Предсказать все побочные сигналы (Y, Z, X) из основного сигнала W с использованием матрицы предсказания, состоящей из коэффициентов предсказания, следующим образом:Step 1. Predict all side signals (Y, Z, X) from the main signal W using a prediction matrix consisting of prediction coefficients as follows:

где, в качестве примера, параметр предсказания для предсказанного канала Y’ может быть вычислен как:where, as an example, the prediction parameter for the predicted channel Y’ can be calculated as:

где являются элементами входной ковариационной матрицы, соответствующей сигналам А и В, и могут быть вычислены для каждой полосы. Подобным образом, остаточные каналы Z’ и X’ имеют соответствующие параметры предсказания, а именно prz и prx. Вышеописанная матрица известна как матрица предсказания.Where are elements of the input covariance matrix corresponding to signals A and B, and can be calculated for each band. Similarly, the residual channels Z' and X' have corresponding prediction parameters, namely pr z and pr x . The above matrix is known as the prediction matrix.

Этап 2. Выполнить повторное микширование W и предсказанных сигналов (Y’, Z’, X’) от наиболее до наименее акустически значимых, где «повторное микширование» означает изменение порядка или изменение комбинации сигналов на основе некоторой методологии,Step 2. Perform a remix of W and the predicted signals (Y’, Z’, X’) from most to least acoustically significant, where “remix” means changing the order or changing the combination of signals based on some methodology,

Одна возможная реализация повторного микширования представляет собой изменение порядка входных сигналов на W, Y’, X’ и Z’, в предположении, что звуковые метки слева и справа являются более акустически значимыми или важными, чем передне-задние, а передне-задние метки являются более акустически значимыми/важными, чем верхне-нижние метки.One possible implementation of remixing is to reverse the order of the input signals on W, Y', X', and Z', assuming that left-right audio cues are more acoustically significant or important than front-back cues, and front-back cues are more acoustically significant/important than top-bottom cues.

Этап 3. Вычислить ковариацию 4-канального пост-предсказания и повторного микширования понижающего микширования, как:Step 3. Calculate the covariance of the 4-channel post-prediction and downmix remix as:

где матрицы [prediction] и [remix] относятся к матрицам, используемым в уравнениях (2) и (4) соответственно. Окончательная матрица пост-предсказания и повторного микширования понижающего микширования может быть записана в видеwhere the [prediction] and [remix] matrices refer to the matrices used in equations (2) and (4), respectively. The final post-prediction and remix downmix matrix can be written as

где d представляет остаточные каналы (т.е. каналы с 2-го по N_dmx, при этом N_dmx обозначает количество каналов понижающего микширования), а u представляет параметрические каналы, которые необходимо полностью восстановить (т.е. каналы с (N_dmx+1)-ого по 4-й).where d represents the residual channels (i.e. channels 2 through N_dmx, where N_dmx is the number of downmix channels), and u represents the parametric channels that need to be fully reconstructed (i.e. channels (N_dmx+1) through 4).

Для примера понижающего микширования WS1S2S3 с 1-4 каналами d и u могут представлять следующие каналы, показанные в таблице 1:For an example of downmixing WS 1 S 2 S 3 with 1-4 channels d and u can represent the following channels shown in Table 1:

NN Каналы dChannels d Каналы uChannels u 11 ---- S1’, S2’, S3S 1 ', S 2 ', S 3 ' 22 S1S 1 ' S2’, S3S 2 ', S 3 ' 33 S1’, S2S 1 ', S 2 ' S3S 3 ' 44 S1’, S2’, S3S 1 ', S 2 ', S 3 ' ----

Таблица 1. Представления каналов d и uTable 1. Representations of channels d and u

Наибольший интерес для вычисления метаданных SPAR FOA представляют величины Rdd, Rud и Ruu.Of greatest interest for calculating SPAR FOA metadata are the values R dd , R ud and R uu .

Этап 4. На основе величин Rdd, Rud и Ruu кодек 100 может определить, возможно ли перекрестное предсказание какой-либо остающейся части полностью параметрических каналов из остаточных каналов, передаваемых на декодер. В некоторых возможных реализациях необходимые дополнительные коэффициенты C можно вычислить как:Step 4. Based on the values of R dd , R ud , and R uu , the codec 100 can determine whether any remaining portion of the fully parametric channels can be cross-predicted from the residual channels passed to the decoder. In some possible implementations, the required additional coefficients C can be calculated as:

Следовательно, параметр C в общем будет иметь форму (1×2) для 3-канального понижающего микширования и (2×1) для 2-канального понижающего микширования.Therefore, the C parameter will generally have the form (1×2) for a 3-channel downmix and (2×1) for a 2-channel downmix.

Этап 5. Вычислить остающуюся энергию в параметризованных каналах, которые необходимо восстановить декорреляторами 109-1 и 109-2, как:Step 5. Calculate the remaining energy in the parameterized channels that need to be reconstructed by decorrelators 109-1 and 109-2 as:

где является постоянным коэффициентом масштабирования. Следует отметить, что остаточная энергия в каналах Resuu повышающего микширования представляет собой разность между фактической энергией Ruu (пост-предсказание) и восстановленной энергией Reguu перекрестного предсказания.Where is a constant scaling factor. It should be noted that the residual energy in the upmix channels Res uu is the difference between the actual energy R uu (post-prediction) and the reconstructed energy Reg uu of the cross-prediction.

В некоторых возможных реализациях, после того, как недиагональным элементам нормализованной матрицы Resuu были присвоены нулевые значения, из матрицы можно извлечь квадратный корень. P также может представлять собой ковариационную матрицу, а значит являться эрмитово-симметричной. Таким образом, на декодер 106 необходимо передавать только параметры из верхнего или нижнего треугольника. Диагональные элементы могут являться вещественными, тогда как недиагональные элементы могут быть комплексными. В некоторых дополнительных возможных реализациях коэффициенты P могут быть дополнительно разделены на диагональные и недиагональные элементы Pd и Po, соответственно. В некоторых реализациях только диагональные элементы коэффициентов P вычисляют и передают на декодер, и их можно вычислить следующим образом:In some possible implementations, after the off-diagonal elements of the normalized matrix Res uu have been set to zero, the square root of the matrix can be extracted. P can also be a covariance matrix, and thus be Hermitian symmetric. Thus, only the parameters from the upper or lower triangle need to be transmitted to the decoder 106. The diagonal elements can be real, while the off-diagonal elements can be complex. In some additional possible implementations, the coefficients of P can be further divided into diagonal and off-diagonal elements P d and P o , respectively. In some implementations, only the diagonal elements of the coefficients of P are calculated and transmitted to the decoder, and they can be calculated as follows:

Теперь, на стороне кодера, квантование этих параметров может стать необходимым. В частности, учитывая зависимости между тремя типами параметров (т.е. PR, C и P), как указано выше, порядок (или последовательность) их вычисления и квантования может в общем считаться важным для качества звучания. Согласно настоящему изобретению, ниже представлены три возможных варианта осуществления способов достижения этого:Now, on the encoder side, quantization of these parameters may become necessary. In particular, given the dependencies between the three types of parameters (i.e. PR, C and P) as stated above, the order (or sequence) of their calculation and quantization may generally be considered important for the sound quality. According to the present invention, three possible embodiments of methods for achieving this are presented below:

1. Все в одном1. All in one

В этом варианте осуществления декорреляторам в общем запрещено компенсировать погрешности квантованного предсказания.In this embodiment, decorrelators are generally prohibited from compensating for quantized prediction errors.

Точнее, на первом этапе вычисляют параметры PR, затем C, а затем P, как изображено выше, без квантования. Затем все параметры PR, C и P квантуют согласно стратегии или схеме квантования (например, на основе подходящих диапазонов квантования и/или уровней квантования, как будет понятно специалисту в данной области). More precisely, in the first step, the parameters PR are calculated, then C, and then P, as shown above, without quantization. Then, all parameters PR, C, and P are quantized according to a quantization strategy or scheme (e.g., based on suitable quantization ranges and/or quantization levels, as will be understood by a person skilled in the art).

2. Каскадный2. Cascade

В общем говоря, этот конкретный вариант осуществления позволяет выполнять точное предсказание и перекрестное предсказание, а декорреляторы могут возмещать погрешности, вызванные квантованием.In general, this particular embodiment allows for accurate prediction and cross-prediction, and decorrelators can compensate for errors caused by quantization.

Точнее, на первом этапе вычисляют и затем квантуют параметр PR. После этого из квантованных параметров PR вычисляют и затем квантуют параметр C. Наконец, из квантованных параметров C также вычисляют и затем квантуют параметр P. More precisely, in the first stage, the parameter PR is calculated and then quantized. After that, the parameter C is calculated from the quantized parameters PR and then quantized. Finally, the parameter P is also calculated from the quantized parameters C and then quantized.

3. Частичный каскадный3. Partial cascade

В общем говоря, этот конкретный вариант осуществления сводил бы к минимуму коэффициенты P, тем самым позволяя выполнять точное перекрестное предсказание, но не позволяя декорреляторам компенсировать погрешности предсказания.In general, this particular embodiment would minimize the P coefficients, thereby allowing accurate cross-prediction, but not allowing decorrelators to compensate for prediction errors.

Точнее, на первом этапе параметры PR, C и P вычисляют без квантования, как в вышеописанном варианте осуществления «все в одном», а затем квантуют параметр P. После этого также квантуют параметры PR. И наконец, из квантованных параметров PR повторно вычисляют и затем квантуют параметр C.More precisely, in the first step, the parameters PR, C and P are calculated without quantization, as in the above-described all-in-one embodiment, and then the parameter P is quantized. After that, the parameters PR are also quantized. And finally, the parameter C is recalculated from the quantized parameters PR and then quantized.

В каждом из изображенных выше вариантов осуществления понижающее микширование (включая остаточные сигналы) всегда можно вычислить с использованием квантованных коэффициентов предсказания.In each of the embodiments depicted above, the downmix (including residual signals) can always be computed using quantized prediction coefficients.

Как будет понятно и очевидно специалисту в данной области, собственно процесс квантования можно определить с помощью подходящего диапазона (квантования). Например, диапазон [-a, a] может быть определен для некоторых параметров (например, параметров PR, C и недиагональных элементов параметра P), в то время как другой диапазон [0, a] может быть определен для других. Кроме этого, также могут быть определены несколько уровней квантования, которые должны быть равномерно распределены между этими конечными точками. Другими словами, различные ограничения и величины шага могут быть настроены или определены для каждого типа параметра (например, PR, C, Pd, Po). Кроме этого, в некоторых реализациях, если параметры являются комплексными значениями, действительные и мнимые части могут быть квантованы с использованием одинаковых/разных диапазонов и количества шагов, согласно распределению параметров.As will be understood and obvious to one skilled in the art, the quantization process itself can be defined using a suitable (quantization) range. For example, a range [-a, a] can be defined for some parameters (e.g., parameters PR, C, and off-diagonal elements of parameter P), while another range [0, a] can be defined for others. In addition, several quantization levels can also be defined, which should be uniformly distributed between these end points. In other words, different constraints and step sizes can be configured or defined for each type of parameter (e.g., PR, C, P d , P o ). In addition, in some implementations, if the parameters are complex values, the real and imaginary parts can be quantized using the same/different ranges and number of steps, according to the distribution of the parameters.

Возможная реализация процесса квантования может быть определена как:A possible implementation of the quantization process can be defined as:

илиor

где x обозначает индексы квантования, a обозначает диапазон квантования и qlvl обозначает уровень квантования.where x denotes the quantization indices, a denotes the quantization range and qlvl denotes the quantization level.

В некоторых возможных реализациях может быть желательно выбрать нечетные значения для уровней квантования (т.е. qlvl), чтобы обеспечить доступность точки квантования в 0, например для двусторонних параметров, как будет очевидно специалисту в данной области. In some possible implementations, it may be desirable to choose odd values for the quantization levels (i.e. qlvl) to ensure that the quantization point at 0 is accessible, for example for two-sided parameters, as will be apparent to one skilled in the art.

Будет смысл отметить, как уже было указано выше, что пример по фиг. 1 в общем показывает реализацию пассивного предсказания (т.е. канала W). Однако, как будет понятно и очевидно специалисту в данной области, в некоторых других возможных реализациях может применяться активное предсказание. В общем говоря, активный канал W может позволять выполнять некоторый вид микширования по меньшей мере некоторых каналов X, Y, Z в канал W, и такое активное предсказание обычно может использоваться в случае 1-канального понижающего микширования. Соответственно, в случаях пассивного предсказания обычно будет отсутствовать микширование каналов X, Y, Z в канал W.It will be worth noting, as already indicated above, that the example of Fig. 1 generally shows an implementation of passive prediction (i.e. channel W). However, as will be clear and obvious to a person skilled in the art, in some other possible implementations active prediction may be used. Generally speaking, the active channel W may allow some kind of mixing of at least some channels X, Y, Z into channel W, and such active prediction may typically be used in the case of 1-channel downmixing. Accordingly, in cases of passive prediction there will typically be no mixing of channels X, Y, Z into channel W.

Фиг. 2 представляет собой блок-схему, изображающую пример способа 200 покадрового кодирования метаданных для входного сигнала согласно одному варианту осуществления настоящего изобретения. Способ 200, как описано в настоящем документе, может быть применен, например, к кодеку 100, который показан на фиг. 1 (или к любому другому подходящему кодеку). Метаданные можно рассчитать/вычислить (например, извлечь) из входного (звукового или видео) сигнала путем использования подходящего кодека (кодера/декодера). В общем говоря, метаданные можно использовать для оказания помощи в восстановлении входного сигнала на стороне декодера. Метаданные могут содержать множество по меньшей мере частично взаимосвязанных параметров, которые могут быть вычислены из входного сигнала. Другими словами, по меньшей мере некоторые параметры входного сигнала могут быть вычислены (например, сгенерированы или восстановлены) в зависимости от по меньшей мере некоторых других параметров, так что, в зависимости от различных обстоятельств, не все параметры необходимо всегда передавать явным образом.Fig. 2 is a block diagram illustrating an example of a method 200 for frame-by-frame encoding of metadata for an input signal according to one embodiment of the present invention. The method 200, as described herein, can be applied, for example, to the codec 100 shown in Fig. 1 (or to any other suitable codec). Metadata can be calculated/computed (e.g., extracted) from the input (audio or video) signal by using a suitable codec (encoder/decoder). Generally speaking, metadata can be used to assist in reconstructing the input signal on the decoder side. Metadata can comprise a plurality of at least partially interrelated parameters that can be calculated from the input signal. In other words, at least some parameters of the input signal can be calculated (e.g., generated or reconstructed) depending on at least some other parameters, so that, depending on various circumstances, not all parameters need to be explicitly transmitted all the time.

Способ 200 можно выполнять итеративно, например с использованием зацикленного процесса (который будет подробно описан ниже) для каждого кадра входного сигнала. В частности, способ 200 (или точнее, зацикленный процесс) начинается этапом S210, на котором определяют стратегию обработки из множества стратегий обработки для вычисления и квантования параметров. The method 200 can be performed iteratively, for example using a looped process (which will be described in detail below) for each frame of the input signal. In particular, the method 200 (or more precisely, the looped process) begins with step S210, in which a processing strategy is determined from a plurality of processing strategies for calculating and quantizing the parameters.

После определения (например, выбора) стратегии обработки на этапе S210, зацикленный процесс переходит к этапу S220, на котором выполняют вычисление и квантование параметров на основе определенной стратегии обработки, чтобы получить квантованные параметры.After determining (for example, selecting) the processing strategy in step S210, the loop process proceeds to step S220, in which calculation and quantization of parameters are performed based on the determined processing strategy to obtain quantized parameters.

После этого на этапе S230 (квантованные) параметры соответственно кодируют, и затем (итоговый) битрейт оценивают (например, вычисляют) из закодированных параметров и принимают решение на основе оцененного битрейта вместе с по меньшей мере одним целевым пороговым значением битрейта (например, предварительно определенным или предварительно сконфигурированным) на этапе S240.Thereafter, in step S230, the (quantized) parameters are respectively encoded, and then the (final) bit rate is estimated (e.g. calculated) from the encoded parameters and a decision is made based on the estimated bit rate together with at least one target bit rate threshold value (e.g. predetermined or preconfigured) in step S240.

Если условие порогового значения битрейта выполнено, например оцененный битрейт равен пороговому значению битрейта или меньше его, способ 200 выходит из цикла обработки. Иначе цикл возвращается на этап S210 и продолжается этапами S210-S240. В частности, при повторном входе в цикл может быть определена новая стратегия обработки, чтобы удовлетворить условие целевого порогового значения битрейта.If the bit rate threshold condition is met, for example the estimated bit rate is equal to or less than the bit rate threshold, the method 200 exits the processing loop. Otherwise, the loop returns to step S210 and continues with steps S210-S240. In particular, when re-entering the loop, a new processing strategy may be determined to satisfy the target bit rate threshold condition.

Как будет понятно и очевидно специалисту в данной области, множество стратегий обработки для вычисления и квантования параметров могут быть предоставлены любым подходящим образом, например предварительно определенным или предварительно сконфигурированным. Соответственно, стратегия обработки также может быть определена из множества стратегий обработки любым подходящим образом. Например, в зависимости от (текущего) требования к битрейту, подходящая стратегия обработки может быть выбрана из множества стратегий обработки, так что итоговый битрейт после выполнения вычисления, квантования и кодирования (например, с энтропийным кодированием или без него) на основе выбранной таким образом стратегии обработки удовлетворяет (текущему) требованию к битрейту.As will be clear and obvious to a person skilled in the art, the plurality of processing strategies for calculating and quantizing the parameters may be provided in any suitable manner, such as predetermined or preconfigured. Accordingly, the processing strategy may also be determined from the plurality of processing strategies in any suitable manner. For example, depending on the (current) bit rate requirement, a suitable processing strategy may be selected from the plurality of processing strategies, such that the resulting bit rate after performing the calculation, quantization and encoding (e.g. with or without entropy encoding) based on the processing strategy thus selected satisfies the (current) bit rate requirement.

Поскольку зацикленный процесс в общем направлен (помимо прочего) на обработку, связанную с квантованием, в некоторых случаях зацикленный процесс также может называться циклом квантования (или просто циклом в целях краткости). Подобным образом, поскольку стратегия обработки также в общем направлена (помимо прочего) на обработку, связанную с квантованием, в некоторых случаях стратегия обработки также может называться стратегией квантования (или, в некоторых других случаях, взаимозаменяемо называться схемой квантования). Кроме этого необходимо отметить, что процесс кодирования может использовать любую подходящую процедуру кодирования, включающую, но без ограничения, энтропийное кодирование или кодирование без энтропии (например, кодирование с основанием 2). Разумеется, в зависимости от различных реализаций и/или требований может использоваться любой другой подходящий механизм кодирования.Since the loop process is generally directed (among other things) to quantization-related processing, in some cases the loop process may also be referred to as a quantization loop (or simply a loop for brevity). Similarly, since the processing strategy is also generally directed (among other things) to quantization-related processing, in some cases the processing strategy may also be referred to as a quantization strategy (or, in some other cases, interchangeably referred to as a quantization scheme). In addition, it should be noted that the encoding process may use any suitable encoding procedure, including, but not limited to, entropy encoding or entropy-free encoding (e.g., radix 2 encoding). Of course, any other suitable encoding mechanism may be used, depending on various implementations and/or requirements.

В частности, каждая из множества стратегий обработки может содержать соответствующий первый указатель, указывающий на порядок (или последовательность) применительно к вычислению и квантованию отдельных параметров. Другими словами, первый указатель может содержать информацию о последовательности, указывающую, когда и в каком порядке выполнять вычисление и квантование отдельных параметров. В качестве примера (но не ограничения), первый указатель может содержать информацию, указывающую, что все параметры сначала вычисляют, перед тем как выполнять квантование любого из них.In particular, each of the plurality of processing strategies may comprise a corresponding first pointer indicating an order (or sequence) with respect to the calculation and quantization of individual parameters. In other words, the first pointer may comprise sequence information indicating when and in what order to perform the calculation and quantization of individual parameters. As an example (but not limitation), the first pointer may comprise information indicating that all parameters are first calculated before any of them are quantized.

Далее зацикленный процесс будет описан более подробно со ссылкой на примеры, показанные на фиг. 3 и 4.The loop process will now be described in more detail with reference to the examples shown in Figs. 3 and 4.

Как указано выше, в кодеках с короткими шагами или обновлениями кадра параметры могут быть чрезмерно дискретизированы, если все они включаются в каждый кадр. Таким образом, главная цель настоящего изобретения заключается в предоставлении механизмов для того, чтобы насколько возможно свести к минимуму дополнительную информацию, но в то же время сохранить высокую частоту обновления кадров для основы аудиоданных и параметров.As stated above, in codecs with short steps or frame updates, the parameters may be over-sampled if they are all included in each frame. Thus, the main objective of the present invention is to provide mechanisms to minimize the additional information as much as possible, but at the same time maintain a high frame update rate for the basis of audio data and parameters.

В широком смысле, для решения вышеописанной задачи, в частности для оценки распространения дополнительной информации, автор настоящего изобретения в общем предлагает механизм внедрения временно-дифференциальных оценок для параметров некоторых (частотных) полос вместе с недифференциальными оценками для параметров других (частотных) полос. Предложенный подход чередует кодирование полос временно-дифференциальным образом и недифференциальным образом так, что каждую полосу регулярно обновляют недифференциальным вычислением без необходимости в полном обновлении параметров. Ключевая идея заключается в том, что по мере уменьшения размера кадра корреляция параметров от кадра к кадру увеличивается и, таким образом, с помощью временно-дифференциального кодирования параметров можно добиться повышенной эффективности кодирования.In a broad sense, to solve the above-described problem, in particular to estimate the propagation of additional information, the author of the present invention generally proposes a mechanism for introducing time-differential estimates for the parameters of some (frequency) bands together with non-differential estimates for the parameters of other (frequency) bands. The proposed approach alternates coding of the bands in a time-differential manner and in a non-differential manner so that each band is regularly updated by a non-differential calculation without the need for a complete update of the parameters. The key idea is that as the frame size decreases, the correlation of the parameters from frame to frame increases and, thus, by using time-differential coding of the parameters, it is possible to achieve increased coding efficiency.

В дополнение к частотному чередованию временно-дифференциального кодирования также внедрена идея итеративного и поэтапного подхода к выбору оптимальной схемы квантования параметров, который ищет «наилучшую» (или оптимальную) схему квантования из нескольких альтернатив. В этом случае термин «лучшая» или «оптимальная» не обязательно может относиться к схеме квантования с наименьшим битрейтом параметров, а к схеме, которая облегчает состояние для декодера. In addition to frequency interleaving of time-differential coding, the idea of an iterative and stepwise approach to the selection of the optimal parameter quantization scheme is also introduced, which searches for the "best" (or optimal) quantization scheme from several alternatives. In this case, the term "best" or "optimal" may not necessarily refer to the quantization scheme with the lowest parameter bitrate, but to the scheme that facilitates the state for the decoder.

Например, использование временно-дифференциального кодирования в общем может обладать недостатком, который в первую очередь заключается в том, что вводится состояние от кадра к кадру, которое может стать причиной проблем, когда во время передачи звуковой поток может столкнуться с потерей пакетов. В этом случае как звуковые данные, так и параметры могут быть утеряны и любые параметры, обновляемые с помощью временно-дифференциального кодирования, могут столкнуться с потенциальными артефактами в нескольких последующих кадрах. В настоящем изобретении в общем не рассматривается уменьшение указанной проблемы с помощью декодера. Вместо этого данную проблему в общем решают (облегчают) путем выбора подходящей схемы квантования, которая будет насколько возможно ограничивать такое поведение. В широком смысле уменьшение с помощью кодирования (стороной кодера) в общем включает итеративный процесс выбора квантования и энтропийного кодирования, который пытается свести к минимуму возможный масштаб появления артефактов из-за потери пакетов в результате использования временно-дифференциального кодирования.For example, the use of time-differential coding in general may have the disadvantage that it primarily introduces frame-to-frame state that may cause problems when the audio stream may experience packet loss during transmission. In this case, both audio data and parameters may be lost, and any parameters updated using time-differential coding may experience potential artifacts in several subsequent frames. The present invention does not generally consider mitigating this problem using a decoder. Instead, this problem is generally solved (alleviated) by selecting an appropriate quantization scheme that will limit such behavior as much as possible. In a broad sense, mitigation by coding (on the encoder side) generally includes an iterative process of selecting quantization and entropy coding that attempts to minimize the possible extent of packet loss artifacts due to the use of time-differential coding.

Теперь обращаясь назад к фигурам, фиг. 3 представляет собой блок-схему, схематично изображающую пример цикла 300 обработки согласно одному варианту осуществления настоящего изобретения.Now turning back to the figures, Fig. 3 is a block diagram schematically depicting an example of a processing cycle 300 according to one embodiment of the present invention.

Цикл 300 обработки начинается этапом S310, на котором вычисляют (или оценивают) первый битрейт (здесь и далее обозначаемый b1). В некоторых возможных реализациях для каждого кадра оценивают энтропию недифференциально и/или частотно-дифференциально квантованных параметров. В некоторых других возможных реализациях первый битрейт b1 можно вычислить как минимум среди схем недифференциального и частотно-дифференциального кодирования, кодируемых с использованием (обученных) энтропийных кодеров (например, кодирование Хаффмана или арифметическое кодирование).The processing cycle 300 begins with step S310, in which the first bit rate (hereinafter denoted b1) is calculated (or estimated). In some possible implementations, the entropy of the non-differentially and/or frequency-differentially quantized parameters is estimated for each frame. In some other possible implementations, the first bit rate b1 can be calculated at least among non-differential and frequency-differential coding schemes encoded using (trained) entropy coders (e.g., Huffman coding or arithmetic coding).

На этапе S320 первый битрейт b1 сравнивают с целевым битрейтом (здесь и далее обозначаемым t). Если оцененный битрейт b1 параметров находится в рамках (то есть равен или меньше) целевого битрейта t, то выполняют выход из цикла обработки. В результате параметры кодируют так, что любые дополнительные доступные биты предоставляют на аудиокодер для увеличения битрейта основы аудиоданных.In step S320, the first bit rate b1 is compared with the target bit rate (hereinafter denoted t). If the estimated bit rate b1 of the parameters is within (i.e. equal to or less than) the target bit rate t, then the processing loop is exited. As a result, the parameters are encoded such that any additional available bits are provided to the audio encoder to increase the bit rate of the underlying audio data.

Если этап S320 завершается неудачей (т.е. оцененный битрейт b1 больше целевого битрейта t), то на этапе S330 вычисляют второй битрейт (здесь и далее обозначаемый b2) квантованных параметров. В некоторых возможных реализациях второй битрейт b2 можно вычислить недифференциальным образом без энтропийного кодирования (например, с использованием кодирование с основанием 2). If step S320 fails (i.e. the estimated bit rate b1 is greater than the target bit rate t), then step S330 calculates the second bit rate (hereinafter denoted b2) of the quantized parameters. In some possible implementations, the second bit rate b2 can be calculated in a non-differential manner without entropy coding (e.g. using radix 2 coding).

Затем на этапе S340 второй битрейт b2 сравнивают с целевым битрейтом t. Если второй битрейт b2 находится в рамках (то есть равен или меньше) целевого битрейта t, то выполняют выход из цикла обработки.Then, in step S340, the second bit rate b2 is compared with the target bit rate t. If the second bit rate b2 is within (i.e., equal to or less than) the target bit rate t, then the processing loop is exited.

Иначе на этапе S350 вычисляют третий битрейт (здесь и далее обозначаемый b3) параметров. В некоторых возможных реализациях третий битрейт b3 можно вычислить временно-дифференциальным кодированием с использованием (обученных) энтропийных кодеров. В некоторых дополнительных возможных реализациях подгруппу значений параметров в текущем кадре можно квантовать, а затем вычесть из квантованных значений параметров в предыдущем кадре, и можно вычислить дифференциальное квантованное значение и энтропию параметра. Otherwise, in step S350, the third bit rate (hereinafter denoted b3) of the parameters is calculated. In some possible implementations, the third bit rate b3 can be calculated by time-differential coding using (trained) entropy coders. In some further possible implementations, a subset of the parameter values in the current frame can be quantized and then subtracted from the quantized parameter values in the previous frame, and the differential quantized value and entropy of the parameter can be calculated.

На этапе S360, если вычисленный битрейт b3 равен пороговому значению t или меньше него, то выполняют выход из цикла обработки и параметры кодируют с предоставленным битрейтом и дополнительные биты предоставляют для кодирования звуковых данных.In step S360, if the calculated bit rate b3 is equal to or less than the threshold value t, then the processing loop is exited and the parameters are encoded with the provided bit rate and additional bits are provided for encoding the audio data.

Иначе на этапе S370 могут быть реализованы различные меры для итогового обеспечения соответствия целевому пороговому значению битрейта t.Otherwise, at step S370, various measures may be implemented to ultimately ensure compliance with the target bit rate threshold t.

Например, в некоторых возможных реализациях вторая, более грубая, стратегия обработки (стратегия квантования) может быть выбрана из множества стратегий обработки. В таких случаях, как будет понятно и очевидно специалисту в данной области, процесс квантования может включать несколько уровней все более грубого квантования, таких как, например, стратегии точного, среднего, грубого и очень грубого квантования. Затем, после определения (например, выбора) более грубой стратегии квантования, цикл обработки повторяет этапы с S310 по S360.For example, in some possible implementations, a second, coarser, processing strategy (quantization strategy) may be selected from a plurality of processing strategies. In such cases, as will be understood and apparent to one skilled in the art, the quantization process may include several levels of increasingly coarser quantization, such as, for example, fine, average, coarse, and very coarse quantization strategies. Then, after determining (e.g., selecting) a coarser quantization strategy, the processing loop repeats steps S310 through S360.

В некоторых других возможных реализациях уменьшение количества полос частот может быть выполнено на этапе S370. Затем вышеупомянутые этапы (т.е. этапы с S310 по S360) можно повторить с уменьшенной конфигурацией полос. Это в общем уменьшит общее количество параметров для квантования и часто может дать в результате низкий битрейт для (по меньшей мере) некоторых кадров.In some other possible implementations, the reduction of the number of frequency bands may be performed in step S370. Then the above steps (i.e. steps S310 to S360) may be repeated with the reduced band configuration. This will generally reduce the total number of parameters for quantization and may often result in a low bit rate for (at least) some frames.

Альтернативно или дополнительно еще в некоторых других реализациях также можно выполнять этап заморозки (т.е. повторного использования) параметров в полосе из предыдущего кадра. Это по сути предотвратит изменение параметра с течением времени, что приведет к уменьшению энтропии для временно-дифференциального энтропийного кодирования. Например, как изображено в таблице 2 (которая будет подробно описана ниже), при кодировании с использованием схемы 4a кодирования можно заморозить параметры в частотных полосах 2, 6, и 10. Это, как правило, приводит к уменьшению энтропии, отсутствию изменения декодера или схемы энтропийного кодирования и к небольшому влиянию на качество. Необходимо отметить, что вышеуказанный пример с 2, 6 и 10 является лишь иллюстративным примером и много конфигураций полос могут быть заморожены в нескольких кадрах, как будет понятно и очевидно специалисту в данной области. Например, если заморозить все полосы частот в периоде из 2 кадров, то кодер может отправлять половину полос в кадре N и остальную половину в кадре N+1 (тем самым уменьшая общее количество параметров для отправки), что в общем означает, что декодер будет получать все (например, 12) обновленных полос частот раз в два кадра. В таких случаях, если один кадр утерян, обычно остается возможность экстраполирования из двух последних пригодных кадров. При восстановлении после потери пакетов можно выполнить интерполирование между полосами, которые были приняты с заданным кадром.Alternatively or additionally, in some other implementations it is also possible to perform a step of freezing (i.e. reusing) the parameters in the band from the previous frame. This will essentially prevent the parameter from changing over time, which will result in a decrease in entropy for time-differential entropy coding. For example, as shown in Table 2 (which will be described in detail below), when coding using the coding scheme 4a, it is possible to freeze the parameters in frequency bands 2, 6, and 10. This will typically result in a decrease in entropy, no change in the decoder or the entropy coding scheme, and little impact on quality. It should be noted that the above example with 2, 6, and 10 is only an illustrative example and many band configurations can be frozen in several frames, as will be understood and apparent to one skilled in the art. For example, if all the bandwidths are frozen in a 2-frame period, the encoder can send half the bandwidths in frame N and the remaining half in frame N+1 (thereby reducing the total number of parameters to send), which generally means that the decoder will receive all (say, 12) updated bandwidths every two frames. In such cases, if one frame is lost, it is usually possible to extrapolate from the last two usable frames. When recovering from packet loss, it is possible to interpolate between the bandwidths that were received with a given frame.

Следует отметить, что если выход из цикла выполняют на этапе x, то окончательный битрейт параметров представляет собой битрейт, вычисленный на этом этапе x.It should be noted that if the loop exit is performed at step x, then the final bitrate of the parameters is the bitrate calculated at that step x.

Кроме этого, в некоторых реализациях можно (или даже желательно) рассмотреть проектирование битрейта b3 с самой грубой стратегией квантования (из заданного множества стратегий квантования, доступных для квантования параметров) как гарантирующее битрейт, который будет меньше целевого порогового значения t битрейта. В таких случаях можно гарантировать постоянное наличие решения для подходящего битрейта параметров в рамках целевого битрейта t.In addition, in some implementations it may be possible (or even desirable) to consider designing the bitrate b3 with the coarsest quantization strategy (out of a given set of quantization strategies available for quantizing the parameters) as guaranteeing a bitrate that is less than the target bitrate threshold t. In such cases, it may be possible to guarantee that there is always a solution for a suitable parameter bitrate within the target bitrate t.

Фиг. 4 представляет собой блок-схему, изображающую пример цикла 400 обработки согласно другому варианту осуществления настоящего изобретения. В частности, идентичные или подобные ссылочные номера в цикле 400 по фиг. 4 в общем указывают на идентичные или подобные элементы в цикле 300, которые изображены на фиг. 3, так что их повторное описание может быть пропущено в целях краткости.Fig. 4 is a block diagram illustrating an example of a processing cycle 400 according to another embodiment of the present invention. In particular, identical or similar reference numerals in the cycle 400 of Fig. 4 generally refer to identical or similar elements in the cycle 300 that are shown in Fig. 3, so that their repeated description may be omitted for the sake of brevity.

В частности, цикл обработки по фиг. 4 может особенно подходить для случаев, где используются два пороговых значения битрейта (представленных как целевое пороговое значение t1 битрейта и максимальное пороговое значение t2 битрейта), как противоположность сценарию с одним целевым пороговым значением битрейта, изображенным на фиг. 3. В широком смысле, целевое пороговое значение t или t1 битрейта может считаться целью или заданием, которого желательно достичь, в то время как максимальное пороговое значение t2 битрейта может рассматриваться просто как «жесткое» пороговое значение, которое не следует превышать.In particular, the processing loop of Fig. 4 may be particularly suitable for cases where two bit rate thresholds are used (represented as a target bit rate threshold t1 and a maximum bit rate threshold t2), as opposed to the scenario with a single target bit rate threshold depicted in Fig. 3. In a broad sense, the target bit rate threshold t or t1 may be considered a goal or target that is desirable to achieve, while the maximum bit rate threshold t2 may be considered simply as a "hard" threshold that should not be exceeded.

Более конкретно, этапы с S410 по S470 подобны этапам (т.е. этапам с S310 по S370), представленным на фиг. 3, так что их повторное описание можно пропустить в целях краткости.More specifically, steps S410 to S470 are similar to the steps (i.e., steps S310 to S370) shown in Fig. 3, so that their repeated description may be omitted for the sake of brevity.

Однако вместо непосредственного переключения на этап S470, если условие этапа S460 не выполнено, вводят дополнительный этап S461 с вычислением четвертого битрейта (b4) как минимума среди битрейтов b1, b2 и b3. Затем четвертый битрейт b4 сравнивают с максимальным пороговым значением t2 битрейта на этапе S462.However, instead of directly switching to step S470, if the condition of step S460 is not met, an additional step S461 is introduced with calculating the fourth bit rate (b4) as the minimum among the bit rates b1, b2 and b3. Then, the fourth bit rate b4 is compared with the maximum threshold value t2 of the bit rate in step S462.

Если четвертый битрейт b4 равен максимальному пороговому значению t2 битрейта или меньше него, выполняют выход из цикла 400 обработки; иначе цикл 400 обработки продолжается этапом S470 (который по сути подобен этапу S370 по фиг. 4) и повторяют этапы с S410 по S462.If the fourth bit rate b4 is equal to or less than the maximum bit rate threshold value t2, the processing loop 400 is exited; otherwise, the processing loop 400 continues to step S470 (which is essentially similar to step S370 in Fig. 4) and steps S410 to S462 are repeated.

Подобно изображенному на фиг. 3, если выход из цикла выполняют на этапе x, то окончательный битрейт параметров представляет собой битрейт, вычисленный на этом этапе x.As shown in Fig. 3, if the loop exits at step x, then the final parameter bitrate is the bitrate calculated at that step x.

Более того, в некоторых реализациях также можно (или даже желательно) рассмотреть проектирование битрейта b3 с самой грубой стратегией квантования (из заданного множества стратегий квантования, доступных для квантования параметров) как гарантирующее битрейт, который будет меньше максимального порогового значения t2 битрейта. В таких случаях можно гарантировать постоянное наличие решения для подходящего битрейта параметров в рамках максимального битрейта t2.Moreover, in some implementations it is also possible (or even desirable) to consider designing the bitrate b3 with the coarsest quantization strategy (from a given set of quantization strategies available for quantizing the parameters) as guaranteeing a bitrate that is less than the maximum bitrate threshold t2. In such cases, it is possible to guarantee that there will always be a solution for a suitable parameter bitrate within the maximum bitrate t2.

Подводя итоги, этапы S310, S330 и S350 по фиг. 3 и, соответственно, также этапы S410, S430 и S450 по фиг. 4 в общем не влияют на качество звучания. Однако этап S461 по фиг. 4 мог бы ухудшить качество из-за влияния как на битрейт звуковых данных, так и на битрейт параметров. Кроме того, любые возможные технологии, упомянутые выше, на этапах S370 по фиг. 3 и S470 по фиг. 4 (например, переход к более грубому квантованию, сокращение полосы путем уменьшения разрешающей способности по частоте, сокращение полосы путем уменьшения разрешающей способности по времени и т.д.) в основном будут оказывать отрицательное влияние на качество. Таким образом, этапы в примерах по фиг. 3 и 4 расположены в таком порядке, чтобы свести к минимуму ухудшение качества или чтобы справиться с ограничениями в других областях. В широком смысле способ, описанный в настоящем изобретении, стремится выбирать одну или более из изображенных выше технологий для сохранения баланса между уменьшением битрейта метаданных и воспринимаемым качеством.To summarize, steps S310, S330 and S350 of Fig. 3 and, accordingly, also steps S410, S430 and S450 of Fig. 4 generally do not affect the audio quality. However, step S461 of Fig. 4 could degrade the quality due to the effect on both the bit rate of the audio data and the bit rate of the parameters. In addition, any possible technologies mentioned above in steps S370 of Fig. 3 and S470 of Fig. 4 (for example, switching to coarser quantization, reducing the bandwidth by reducing the frequency resolution, reducing the bandwidth by reducing the time resolution, etc.) will generally have a negative effect on the quality. Thus, the steps in the examples of Figs. 3 and 4 are arranged in such an order as to minimize the deterioration in quality or to cope with limitations in other areas. In a broad sense, the method described in the present invention seeks to select one or more of the above-depicted technologies to maintain a balance between metadata bitrate reduction and perceived quality.

Существуют также два дополнительных рассуждения относительно конкретного порядка вышеописанных этапов и причины возможного наличия двух целевых битрейтов параметров (т.е. битрейтов t1 и t2). There are also two additional considerations regarding the specific order of the above steps and the reason for the possible presence of two target parameter bitrates (i.e. bitrates t1 and t2).

В частности, поэтапный порядок позволяет прервать процедуру, если удовлетворены ограничения. Это в общем уменьшит вычислительную нагрузку при последовательном выполнении вычислений, поскольку обычно не нужно будет проходить все доступные этапы.In particular, the stepwise order allows the procedure to be terminated if constraints are satisfied. This will generally reduce the computational burden of sequential computations, since it will usually not be necessary to go through all available steps.

Кроме этого, упорядочивание также обеспечивает неявное наличие альтернатив. Например, расположение недифференциального энтропийного кодирования в качестве первого этапа обычно будет означать, что эта альтернатива является предпочтительной, если она удовлетворяет ограничениям. Это представляет собой упрощение кодера для минимизации состояния с целью улучшения качества в условиях потери пакетов.In addition, the ordering also ensures that alternatives are implicit. For example, placing non-differential entropy coding as the first stage will typically mean that this alternative is preferred if it satisfies the constraints. This represents a simplification of the encoder to minimize state in order to improve performance under packet loss.

Более того, возможность использования двух целей (t1 и t2) в общем предоставляет больше возможности для управления компромиссом между битрейтом звуковых данных и битрейтом параметров.Moreover, the ability to use two targets (t1 and t2) generally provides more control over the trade-off between audio data bitrate and parameter bitrate.

Далее будет подробнее описано чередование для достижения временно-дифференциального кодирования.The interleaving used to achieve time-differential coding will be described in more detail below.

Некоторые возможные реализации для управления чередованием временно-дифференциального энтропийного кодирования показаны в таблице 2.Some possible implementations for controlling the interleaving of time-differential entropy coding are shown in Table 2.

Схема кодированияCoding scheme Временно-дифференциальное кодирование, полосы 1-12Time-differential encoding, bands 1-12 основаниеbase 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 4a4a 0 1 1 1 0 1 1 1 0 1 1 10 1 1 1 0 1 1 1 0 1 1 1 4b4b 1 0 1 1 1 0 1 1 1 0 1 11 0 1 1 1 0 1 1 1 0 1 1 4c4c 1 1 0 1 1 1 0 1 1 1 0 11 1 0 1 1 1 0 1 1 1 0 1 4d4d 1 1 1 0 1 1 1 0 1 1 1 01 1 1 0 1 1 1 0 1 1 1 0

Таблица 2. Чередующиеся схемы временно-дифференциального кодированияTable 2. Alternating time-differential coding schemes

В этом конкретном примере в общем предложено 5 конфигураций для кодирования битового потока метаданных, каждая из которых состоит из 12 (частотных) полос. Более конкретно, полосу, обозначенную цифрой 0, кодируют недифференциально, а полосу, обозначенную цифрой 1, кодируют временно-дифференциально (т.е. квантуют параметр и вычитают из квантованного параметра в предыдущем кадре).In this particular example, a total of 5 configurations are proposed for encoding the metadata bitstream, each consisting of 12 (frequency) bands. More specifically, the band labeled 0 is encoded non-differentially, and the band labeled 1 is encoded time-differentially (i.e., the parameter is quantized and subtracted from the quantized parameter in the previous frame).

Как описано в этом примере, битрейт параметров каждого кадра сначала оценивают путем кодирования недифференциальным образом (т.е. основания) с помощью квантования параметров (например, см. этап S410 или S510). Затем, на этапе S450 или S550 схему временно-дифференциального кодирования выбирают (при необходимости) на основе схемы кодирования предыдущего кадра.As described in this example, the bit rate of the parameters of each frame is first estimated by coding in a non-differential manner (i.e. bases) using quantization of the parameters (e.g. see step S410 or S510). Then, in step S450 or S550, a time-differential coding scheme is selected (if necessary) based on the coding scheme of the previous frame.

Пример отображения из схемы кодирования предыдущего кадра в схему временно-дифференциального кодирования текущего кадра показан ниже в таблице 3:An example of mapping from the previous frame's time-differential coding scheme to the current frame's time-differential coding scheme is shown below in Table 3:

Схема кодирования предыдущего кадраPrevious frame encoding scheme Схема временно-дифференциального кодирования текущего кадраTime-differential coding scheme for the current frame основаниеbase 4a4a 4a4a 4b4b 4b4b 4c4c 4c4c 4d4d 4d4d 4a4a

Таблица 3. Отображение схем временно-дифференциального кодированияTable 3. Display of time-differential coding schemes

Следует отметить, что в настоящем примере термин «основание», используемый в таблице 3, в общем относится к схеме недифференциального кодирования. Таким образом, как видно из таблицы 3, временно-дифференциальное кодирование всегда циклически проходит от 4a до 4d (и обратно). Возможно продолжать циклическое прохождение, даже не требуя реализации недифференциального кодирования. И в этом конкретном примере максимальной запоминаемой информацией или «состоянием» кодека является текущий кадр и три предыдущих кадра (т.е. всего четыре кадра). Разумеется, как будет понятно и очевидно специалисту в данной области, такие количества как 5 конфигураций и 12 (частотных) полос и т.д. используются лишь в качестве примеров с целью иллюстрации, и может использоваться любое другое подходящее количество, в зависимости от различных реализаций и/или требований. Аналогичные или подобные аргументы применяются к переключению между схемами кодирования, как изображено в таблице 3, которое может подобным образом использовать любую подходящую методику.It should be noted that in the present example the term "base" as used in Table 3 generally refers to a non-differential coding scheme. Thus, as can be seen from Table 3, the time-differential coding always cycles from 4a to 4d (and back). It is possible to continue cycling without even requiring the implementation of non-differential coding. And in this particular example the maximum information or "state" of the codec to be stored is the current frame and the three previous frames (i.e. a total of four frames). Of course, as will be understood and apparent to one skilled in the art, such numbers as 5 configurations and 12 (frequency) bands, etc. are used merely as examples for illustrative purposes, and any other suitable number may be used, depending on different implementations and/or requirements. Similar or similar arguments apply to the switching between coding schemes as depicted in Table 3, which may likewise use any suitable technique.

Следует отметить, если выбрана другая схема квантования, то индексы из предыдущего кадра, квантованные с использованием другой схемы квантования, сначала могут быть отображены в индексы текущего кадра. В общем говоря, этап отображения может быть необходим для обеспечения возможности временно-дифференциального кодирования параметров, например когда количество уровней квантования изменяется от одного кадра к следующему, тем самым позволяя выполнять временно-дифференциальное кодирование между кадрами, не прибегая к передаче недифференциального кадра при каждом изменении схемы квантования. It should be noted that if a different quantization scheme is selected, then the indices from the previous frame, quantized using a different quantization scheme, may first be mapped to the indices of the current frame. In general, the mapping step may be necessary to allow time-differential encoding of parameters, for example when the number of quantization levels changes from one frame to the next, thereby allowing time-differential encoding to be performed between frames without resorting to transmitting a non-differential frame each time the quantization scheme is changed.

В качестве возможного примера, отображение индексов может быть выполнено на основе формул:As a possible example, the mapping of indices can be done based on the formulas:

где обозначает индексы текущего кадра после отображения, обозначает индексы предыдущего кадра, обозначает уровень квантования текущего кадра и обозначает уровень квантования предыдущего кадра.Where denotes the indices of the current frame after display, denotes the indices of the previous frame, denotes the quantization level of the current frame and indicates the quantization level of the previous frame.

В качестве простого иллюстративного примера предположим, что диапазон квантования составляет от 0 до 2, и предположим, что предыдущие уровни квантования составляют 11. В случае равномерного квантования это в общем означало бы, что каждый этап квантования составлял бы 0,2. Далее предположим, что текущие уровни квантования составляют 21, что означает, что каждый этап квантования составляет 0,1 при равномерном квантовании. На основе этих предположений, если квантованное значение в предыдущем кадре составляло 0,4, то при 11 равномерных уровнях квантования получают следующий предыдущий индекс . Отображение предоставляет квантованные индексы метаданных предыдущего кадра как если бы они были квантованы с использованием уровней квантования текущего кадра. Таким образом, в этом примере, если уровни квантования в текущем кадре составляют 21, то квантованное значение 0,4 будет отображено в . После того, как отображенные индексы вычислены, вычисляют разницу между индексами текущего кадра и предыдущего кадра и кодируют эту разницу. Аналогичные или подобные подходы при необходимости также могут применяться к частотно-дифференциальному кодированию, как будет понятно и очевидно специалисту в данной области. As a simple illustrative example, assume the quantization range is 0 to 2, and assume the previous quantization levels are 11. In the case of uniform quantization, this would generally mean that each quantization step would be 0.2. Further assume the current quantization levels are 21, which means that each quantization step is 0.1 under uniform quantization. Based on these assumptions, if the quantized value in the previous frame was 0.4, then with 11 uniform quantization levels, the next previous index is obtained . The mapping provides the quantized indices of the previous frame's metadata as if they were quantized using the quantization levels of the current frame. So in this example, if the quantization levels in the current frame are 21, then the quantized value 0.4 would be mapped to . After the mapped indices are calculated, the difference between the indices of the current frame and the previous frame is calculated and this difference is encoded. Similar or similar approaches may also be applied to frequency differential coding, if necessary, as will be understood and obvious to a person skilled in the art.

Разумеется, могут использоваться любые другие подходящие схемы отображения (например, с использованием справочной таблицы или подобного), в зависимости от различных реализаций и/или требований.Of course, any other suitable mapping schemes (e.g. using a lookup table or similar) may be used, depending on different implementations and/or requirements.

Более того, как указано выше, один параметр метаданных можно квантовать из непрерывного числового значения в индекс, представляющий собой дискретное значение. При недифференциальном кодировании информация, кодируемая для этого параметра метаданных, соответствует непосредственно этому индексу. При временно-дифференциальном кодировании кодируемая информация представляет собой разницу между индексом параметра метаданных из текущего кадра и индексом того же параметра метаданных из предыдущего кадра. Как будет понятно и очевидно специалисту в данной области, вышеописанная общая идея временно-дифференциального кодирования может быть дополнительно расширена, например на множество полос частот. Соответственно, параметр метаданных может быть расширен подобным образом, например на множество параметров, соответственно относящихся ко множеству полос частот, при необходимости. Частотно-дифференциальное кодирование следует подобному принципу, но закодированная разница является разницей между метаданными одной полосы частот текущего кадра и метаданными другой полосы частот текущего кадра (в отличие от текущего кадра минус предыдущий кадр во временно-дифференциальном кодировании). В качестве простого примера (но не ограничения), предположим, что a0, a1, a2 и a3 обозначают индексы параметров в 4 полосах частот конкретного кадра, тогда в одном примере реализации частотно-дифференциальные индексы могут представлять собой a0, a0-a1, a1-a2, a2-a3. Как будет очевидно специалисту в данной области, общая идея (временно- и/или частотно-) дифференциального кодирования заключается в том, что метаданные обычно могут медленно изменяться от кадра к кадру или от полосы частот к полосе частот, так что даже если исходное значение метаданных было большим, разница между ним и метаданными предыдущего кадра или разница между ним и метаданными другой полосы частот вероятно будет небольшой. Это является преимущественным, поскольку в общем параметры со статистическими распределениями, которые стремятся к нулю, могут быть закодированы с использованием меньшего количества битов. Таким образом, даже если некоторые из иллюстративных реализаций кратко или просто ссылаются на временно-дифференциальное кодирование, специалисту в данной области будет понятно, что также к ним может применяться и частотно-дифференциальное кодирование (возможно с небольшой подходящей адаптацией).Moreover, as indicated above, one metadata parameter can be quantized from a continuous numerical value into an index representing a discrete value. In non-differential coding, the information encoded for this metadata parameter corresponds directly to this index. In time-differential coding, the encoded information is the difference between the index of the metadata parameter from the current frame and the index of the same metadata parameter from the previous frame. As will be understood and obvious to a person skilled in the art, the above-described general idea of time-differential coding can be further extended, for example to a plurality of frequency bands. Accordingly, the metadata parameter can be similarly extended, for example to a plurality of parameters, respectively related to a plurality of frequency bands, if necessary. Frequency-differential coding follows a similar principle, but the encoded difference is the difference between the metadata of one frequency band of the current frame and the metadata of another frequency band of the current frame (as opposed to the current frame minus the previous frame in time-differential coding). As a simple example (but not limitation), suppose that a0, a1, a2 and a3 denote indices of parameters in 4 frequency bands of a particular frame, then in one example of implementation the frequency differential indices may be a0, a0-a1, a1-a2, a2-a3. As will be apparent to one skilled in the art, the general idea of (time- and/or frequency-) differential coding is that metadata may typically vary slowly from frame to frame or from frequency band to frequency band, so that even if the original metadata value was large, the difference between it and the metadata of the previous frame or the difference between it and the metadata of another frequency band is likely to be small. This is advantageous since in general parameters with statistical distributions that tend to zero can be encoded using fewer bits. Thus, even if some of the illustrative implementations briefly or simply refer to time-differential coding, one skilled in the art will understand that frequency-differential coding can also be applied to them (possibly with some suitable adaptation).

Некоторые дополнительные возможные примеры настоящего изобретения могут относиться к процессу обработки входного звукового сигнала, представленного в подполосах, для получения подвергнутого понижающему микшированию сигнала и связанных с ним метаданных, который может быть выполнен одним или более процессорами. Процесс может включать, для каждой подполосы, определение матрицы понижающего микширования и связанных метаданных; и повторное микширование каждой из указанных подполос согласно указанной матрице понижающего микширования для получения указанного подвергнутого понижающему микшированию сигнала. Одна или более стратегий квантования и одна или более стратегий кодирования могут использоваться для кодирования метаданных, учитывая ограничение целевого и/или максимального битрейта метаданных.Some additional possible examples of the present invention may relate to a process for processing an input audio signal represented in sub-bands to obtain a downmixed signal and associated metadata, which may be performed by one or more processors. The process may include, for each sub-band, determining a downmix matrix and associated metadata; and re-mixing each of said sub-bands according to said downmix matrix to obtain said downmixed signal. One or more quantization strategies and one or more encoding strategies may be used to encode the metadata, taking into account a limitation of the target and/or maximum bitrate of the metadata.

В некоторых реализациях процесс может включать недифференциальное энтропийное кодирование всех подполос. Процесс может дополнительно включать частотно-дифференциальное энтропийное кодирование всех подполос. Процесс может дополнительно включать комбинирование частотного чередования с временно-дифференциальным кодированием квантованных параметров, соответствующих выбранным подполосам, для аудиокодека с низкой задержкой, как подробно описано ниже.In some implementations, the process may include non-differential entropy coding of all subbands. The process may further include frequency-differential entropy coding of all subbands. The process may further include combining frequency interleaving with time-differential coding of quantized parameters corresponding to selected subbands for a low-latency audio codec, as described in detail below.

Процесс может дополнительно включать не являющееся энтропийным кодирование метаданных подполос. Итеративное прохождение этапов для поиска подходящей стратегии кодирования для выполнения требований к битрейту и качеству звучания и уменьшения состояния декодера. Процесс может дополнительно включать уменьшение разрешающей способности по частоте путем уменьшения количества подполос, в которых будут кодированы пространственные метаданные, например с 12 полос до 6 полос. Процесс может включать уменьшение разрешающей способности по времени путем фиксации во времени (или замораживания) метаданных одной или более подполос, так что метаданные подполос не нужно передавать. Процесс может включать использование нескольких стратегий квантования, где каждая стратегия представляет собой комбинацию уровней квантования для различных параметров пространственных метаданных, причем процесс может дополнительно включать выбор одной из этих трех стратегий квантования для обеспечения достижения целевых битрейтов. Процесс может включать итеративное выполнение этапов для нахождения подходящей схемы квантования для выполнения требований к битрейту и качеству звучания. Итеративный способ направлен на получение желаемого битрейта метаданных с желаемой схемой квантования, минимальной вычислительной сложностью и уменьшенным состоянием декодера. Если желаемый уровень квантования не попадает в желаемый диапазон битрейтов, то возвращаются к (например, более грубой) схеме квантования путем обеспечения минимального влияния на качество звучания. The process may further include non-entropy encoding of sub-band metadata. Iteratively performing the steps to find a suitable encoding strategy to meet the bit rate and audio quality requirements and to reduce the decoder state. The process may further include reducing the frequency resolution by reducing the number of sub-bands in which the spatial metadata will be encoded, for example from 12 bands to 6 bands. The process may include reducing the temporal resolution by freezing the metadata of one or more sub-bands in time so that the sub-band metadata does not need to be transmitted. The process may include using multiple quantization strategies, where each strategy is a combination of quantization levels for different parameters of the spatial metadata, and the process may further include selecting one of these three quantization strategies to ensure that the target bit rates are achieved. The process may include iteratively performing the steps to find a suitable quantization scheme to meet the bit rate and audio quality requirements. The iterative method aims to obtain the desired metadata bitrate with the desired quantization scheme, minimal computational complexity, and reduced decoder state. If the desired quantization level does not fall within the desired bitrate range, then revert to a (e.g., coarser) quantization scheme by ensuring minimal impact on audio quality.

В некоторых реализациях отображение индексов из предыдущих кадров, квантованных в другое количество уровней, в индексы текущего кадра позволяет выполнять временно-дифференциальное кодирование между кадрами, не прибегая к передаче недифференциального кадра каждый раз, когда необходим другой уровень квантования.In some implementations, mapping indices from previous frames quantized to a different number of levels to indices of the current frame allows time-differential coding to be performed between frames without having to transmit a non-differential frame each time a different quantization level is needed.

В различных реализациях квантование (преобразование непрерывных значений в дискретные индексы для кодирования) может включать определение наилучшего значения для коэффициентов согласно текущим потребностям, путем изменения порядка вычисления и квантования последовательных коэффициентов метаданных.In various implementations, quantization (transforming continuous values into discrete indices for encoding) may involve determining the best value for the coefficients according to current needs, by changing the order of calculation and quantization of successive metadata coefficients.

Вычислительное устройство, реализующее описанные выше методики, может иметь следующую иллюстративную архитектуру. Возможны и другие архитектуры, включая архитектуры с большим или меньшим количеством компонентов. В некоторых реализациях иллюстративная архитектура включает один или более процессоров (например, двухъядерные процессоры Intel® Xeon®), одно или более устройств вывода (например, ЖК-дисплей), один или более сетевых интерфейсов, одно или более устройств ввода (например, мышь, клавиатуру, сенсорный дисплей) и один или более машиночитаемых носителей (например, RAM, ROM, SDRAM, жесткий диск, оптический диск, флеш-память и т.д.). Эти компоненты могут обмениваться сообщениями и данными по одному или более каналам связи (например, шинам), которые могут использовать различное аппаратное обеспечение и программное обеспечение для облегчения передачи данных и управляющих сигналов между компонентами.A computing device implementing the above-described techniques may have the following exemplary architecture. Other architectures are possible, including architectures with more or fewer components. In some implementations, an exemplary architecture includes one or more processors (e.g., dual-core Intel® Xeon® processors), one or more output devices (e.g., an LCD display), one or more network interfaces, one or more input devices (e.g., a mouse, keyboard, touch display), and one or more computer-readable media (e.g., RAM, ROM, SDRAM, hard disk, optical disk, flash memory, etc.). These components may exchange messages and data over one or more communication channels (e.g., buses), which may use different hardware and software to facilitate the transfer of data and control signals between the components.

Термин «машиночитаемый носитель» относится к носителю, который участвует в предоставлении команд на процессор для исполнения, включая, но без ограничения, энергонезависимые носители (например, оптические или магнитные диски), энергозависимые носители (например, память) и среды передачи. Среды передачи включают, без ограничения, коаксиальные кабели, медный провод и оптоволокно. The term "machine-readable medium" refers to a medium that is involved in providing instructions to a processor for execution, including, but not limited to, non-volatile media (e.g., optical or magnetic disks), volatile media (e.g., memory), and transmission media. Transmission media include, but are not limited to, coaxial cables, copper wire, and optical fiber.

Машиночитаемый носитель может дополнительно включать операционную систему (например, операционную систему Linux®), модуль передачи данных по сети, диспетчер звуковых интерфейсов, диспетчер обработки звука и распределитель содержимого в прямом эфире. Операционная система может быть многопользовательской, многопроцессорной, многозадачной, многопоточной, работать в реальном времени и т.д. Операционная система выполняет базовые задачи, включая, но без ограничения: распознавание входящих данных с сетевых интерфейсов 706 и/или устройств 708 и передачу на них выходных данных; отслеживание и управление файлами и директориями на машиночитаемых носителях (например, в памяти или запоминающем устройстве); управление периферийными устройствами; и управление трафиком одного или более каналов связи. Модуль передачи данных по сети включает различные компоненты для установления и поддержания сетевых соединений (например, программное обеспечение для реализации протоколов связи, таких как TCP/IP, HTTP и т.д.). The machine-readable medium may further include an operating system (e.g., a Linux® operating system), a network data transfer module, an audio interface manager, an audio processing manager, and a live content distributor. The operating system may be multi-user, multi-processor, multi-tasking, multi-threaded, real-time, etc. The operating system performs basic tasks, including, but not limited to: recognizing incoming data from network interfaces 706 and/or devices 708 and transmitting output data to them; tracking and managing files and directories on machine-readable media (e.g., in memory or a storage device); managing peripheral devices; and managing traffic of one or more communication channels. The network data transfer module includes various components for establishing and maintaining network connections (e.g., software for implementing communication protocols such as TCP/IP, HTTP, etc.).

Архитектура может быть реализована в инфраструктуре параллельной обработки или одноранговой инфраструктуре или на одном устройстве с одним или более процессорами. Программное обеспечение может включать несколько программных компонентов или может представлять собой одно тело кода.The architecture may be implemented in a parallel or peer-to-peer infrastructure or on a single device with one or more processors. The software may include multiple software components or may be a single body of code.

Описанные признаки могут быть преимущественным образом реализованы в одной или более компьютерных программах, которые могут быть исполнены на программируемой системе, включающей по меньшей мере один программируемый процессор, соединенный с возможностью приема данных и команд из системы хранения данных и их передачи в нее, по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода. Компьютерная программа представляет собой набор команд, которые могут использоваться, прямо или опосредованно, в компьютере для выполнения определенной деятельности или для получения определенного результата. Компьютерная программа может быть написана на языке программирования любой формы (например, Objective-C, Java), включая компилируемые или интерпретируемые языки, и она может быть развернута в любой форме, например как самостоятельная программа или как модуль, компонент, подпрограмма, веб-приложение, выполняемое в браузере, или другой элемент, подходящий для использования в вычислительной среде.The described features can be advantageously implemented in one or more computer programs that can be executed on a programmable system that includes at least one programmable processor connected with the ability to receive data and commands from a data storage system and transmit them to it, at least one input device and at least one output device. A computer program is a set of commands that can be used, directly or indirectly, in a computer to perform a certain activity or to obtain a certain result. A computer program can be written in a programming language of any form (for example, Objective-C, Java), including compiled or interpreted languages, and it can be deployed in any form, for example as a stand-alone program or as a module, component, subroutine, web application executed in a browser, or another element suitable for use in a computing environment.

Подходящие процессоры для исполнения программы, состоящей из команд, включают, в качестве примера, микропроцессоры как общего, так и специального назначения, и единственный процессор или один из нескольких процессоров или ядер в компьютере любого типа. В целом, процессор будет принимать команды и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, или из обоих. Ключевыми элементами компьютера являются процессор, предназначенный для исполнения команд, и одно или более устройств памяти, предназначенных для хранения команд и данных. В общем, компьютер также может содержать, или может быть функционально соединен для обмена данными, одно или более запоминающих устройств большой емкости для хранения файлов данных; такие устройства включают магнитные диски, такие как внутренние жесткие диски и съемные диски; магнитооптические диски; и оптические диски. Запоминающие устройства, подходящие для материального воплощения компьютерных программных команд и данных, включают все формы энергонезависимой памяти, включая в качестве примера полупроводниковые устройства памяти, такие как EPROM, EEPROM и устройства флеш-памяти; магнитные диски, такие как внутренние жесткие диски и съемные диски; магнитооптические диски; и диски CD-ROM и DVD-ROM. Процессор и память могут быть дополнены интегральными схемами специального назначения (ASIC) или могут быть интегрированы в такие схемы.Suitable processors for executing a program consisting of instructions include, by way of example, both general-purpose and special-purpose microprocessors, and a single processor or one of several processors or cores in a computer of any type. In general, a processor will receive instructions and data from a read-only memory or a random-access memory, or both. The key elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. In general, a computer may also include, or be operatively connected for data exchange with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, by way of example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by application-specific integrated circuits (ASICs) or may be integrated into such circuits.

Для обеспечения взаимодействия с пользователем признаки могут быть реализованы на компьютере, содержащем устройство отображения, такое как монитор CRT (с электронно-лучевой трубкой) или LCD (с жидкокристаллическим дисплеем) или устройство с дисплеем Retina, для отображения информации пользователю. Компьютер может содержать устройство ввода с сенсорной поверхностью (например, сенсорный экран) или клавиатуру и координатно-указательное устройство, такое как мышь или шаровой манипулятор, посредством которого пользователь может предоставить входные данные в компьютер Компьютер может содержать устройство голосового ввода для приема голосовых команд от пользователя.To provide interaction with a user, the features may be implemented on a computer comprising a display device, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor or a device with a Retina display, for displaying information to the user. The computer may comprise an input device with a touch surface (e.g., a touch screen) or a keyboard and a pointing device, such as a mouse or trackball, through which the user can provide input to the computer. The computer may comprise a voice input device for receiving voice commands from the user.

Признаки могут быть реализованы в компьютерной системе, содержащей серверный компонент, такой как сервер данных, или содержащей компонент межплатформенного программного обеспечения, такой как сервер приложений или интернет-сервер, или содержащей клиентский компонент, такой как клиентский компьютер, содержащий графический интерфейс пользователя или интернет-браузер, или любую их комбинацию. Компоненты системы могут быть соединены посредством любой формы или среды цифровой передачи данных, такой как сеть связи. Примеры сетей связи включают, например, LAN, WAN, а также компьютеры и сети, образующие Интернет.The features may be implemented in a computer system comprising a server component, such as a data server, or comprising a middleware component, such as an application server or an Internet server, or comprising a client component, such as a client computer comprising a graphical user interface or an Internet browser, or any combination thereof. The system components may be connected via any form or medium of digital data transmission, such as a communication network. Examples of communication networks include, for example, LANs, WANs, and computers and networks that form the Internet.

Вычислительная система может включать клиенты и сервера. Клиент и сервер обычно удалены друг от друга и, как правило, взаимодействуют через сеть связи. Взаимосвязь клиента и сервера возникает посредством компьютерных программ, работающих на соответствующих компьютерах и имеющих друг с другом взаимосвязь клиент-сервер. В некоторых вариантах осуществления сервер передает данные (например, страницу HTML) на клиентское устройство (например, с целью отображения данных пользователю и приема пользовательского ввода от пользователя, взаимодействующего с клиентским устройством). Данные, генерируемые на клиентском устройстве (например, в результате взаимодействия с пользователем), могут быть приняты с клиентского устройства на сервере.A computing system may include clients and servers. The client and server are typically remote from each other and typically interact via a communications network. The client and server are interconnected by computer programs running on the respective computers and having a client-server interconnection with each other. In some embodiments, the server transmits data (e.g., an HTML page) to the client device (e.g., for the purpose of displaying the data to a user and receiving user input from a user interacting with the client device). Data generated on the client device (e.g., as a result of user interaction) may be received from the client device by the server.

Система из одного или более компьютеров может быть сконфигурирована для выполнения конкретных действий благодаря наличию программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения или их комбинации, установленных в системе, которые при работе приводят к выполнению действий системой. Одна или более компьютерных программ могут быть сконфигурированы для выполнения конкретных действий посредством включения команд, которые при исполнении устройством обработки данных приводят к выполнению действий устройством.A system of one or more computers may be configured to perform specific actions by having software, firmware, hardware, or a combination thereof installed in the system that, when running, cause the system to perform actions. One or more computer programs may be configured to perform specific actions by including instructions that, when executed by a data processing device, cause the device to perform actions.

Хотя это техническое описание содержит много специфических подробностей реализации, их следует толковать не как ограничения в отношении объема любых изобретений или того, что может быть заявлено, а скорее как описания признаков, специфических для конкретных вариантов осуществления конкретных изобретений. Определенные признаки, описанные в данном описании в контексте отдельных вариантов осуществления, также могут быть реализованы в комбинации в одном варианте осуществления. И наоборот, различные признаки, которые описаны в контексте одного варианта осуществления, также могут быть реализованы в нескольких вариантах осуществления по отдельности или в любой подходящей подкомбинации. Кроме того, несмотря на то, что признаки могут быть описаны выше как действующие в определенных комбинациях и даже изначально заявлены как таковые, один или более признаков из заявленной комбинации в некоторых случаях могут быть исключены из комбинации, а заявленная комбинация может быть направлена на подкомбинацию или вариант подкомбинации.Although this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or what may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Furthermore, although features may be described above as operating in certain combinations, and even initially claimed as such, one or more features from a claimed combination may in some cases be excluded from the combination, and the claimed combination may be directed to a subcombination or a variant of a subcombination.

Подобным образом, хотя операции изображены на графических материалах в определенном порядке, это не следует истолковывать как требование того, чтобы для достижения желаемых результатов эти операции выполнялись в конкретном показанном порядке или в последовательном порядке или чтобы выполнялись все проиллюстрированные операции. В некоторых обстоятельствах может оказаться предпочтительной многозадачность и параллельная обработка. Кроме того, разделение различных компонентов системы в вышеописанных вариантах осуществления не следует понимать как требующее такого же разделения во всех вариантах осуществления, а также следует понимать, что описанные программные компоненты и системы в целом могут быть интегрированы вместе в единый продукт программного обеспечения или упакованы в несколько продуктов программного обеспечения.Similarly, although operations are depicted in the drawings in a particular order, this should not be construed as a requirement that these operations be performed in the particular order shown, or in a sequential order, or that all of the illustrated operations be performed to achieve the desired results. In some circumstances, multitasking and parallel processing may be advantageous. Furthermore, the separation of the various system components in the embodiments described above should not be understood as requiring the same separation in all embodiments, and it should also be understood that the software components and systems as a whole described may be integrated together into a single software product or packaged into multiple software products.

Если конкретно не указано иное, как очевидно из следующих обсуждений, то понятно, что во всех обсуждениях настоящего изобретения, в которых используются такие термины, как «обработка», «вычисление», «расчет», «определение», «анализ» или т. п., они относятся к действию и/или процессам компьютера, или вычислительной системы, или подобных электронных вычислительных устройств, которые совершают манипуляции и/или преобразование данных, представленных в виде физических, например электронных, величин, в другие данные, подобно представленные в виде физических величин.Unless specifically stated otherwise, as is evident from the following discussions, it is understood that in all discussions of the present invention, where terms such as "processing," "calculating," "computing," "determining," "analyzing," or the like are used, they refer to the action and/or processes of a computer or computing system or similar electronic computing devices that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.

Отсылка во всем настоящем описании к «одному примерному варианту осуществления», «некоторым примерным вариантам осуществления» или «примерному варианту осуществления» означает, что конкретные признак, структура или характеристика, описанные в связи с примерным вариантом осуществления, включены в по меньшей мере один примерный вариант осуществления настоящего изобретения. Таким образом, появления фраз «в одном примерном варианте осуществления», «в некоторых примерных вариантах осуществления» или «в примерном варианте осуществления» в различных местах по всему настоящему описанию изобретения не обязательно все относятся к одному и тому же примерному варианту осуществления. Кроме того, конкретные признаки, структуры или характеристики могут быть скомбинированы в одном или более примерных вариантах осуществления любым подходящим образом, как будет очевидно из настоящего описания изобретения специалисту в данной области техники.Reference throughout this specification to "one exemplary embodiment," "some exemplary embodiments," or "an exemplary embodiment" means that a particular feature, structure, or characteristic described in connection with the exemplary embodiment is included in at least one exemplary embodiment of the present invention. Thus, appearances of the phrases "in one exemplary embodiment," "in some exemplary embodiments," or "in an exemplary embodiment" in various places throughout this specification are not necessarily all referring to the same exemplary embodiment. Furthermore, particular features, structures, or characteristics may be combined in one or more exemplary embodiments in any suitable manner, as will be apparent from this specification to one skilled in the art.

В контексте настоящего документа, если не указано иное, использование порядковых числительных «первый», «второй», «третий» и т. д. для описания обычного объекта просто указывает на то, что производится ссылка на различные экземпляры сходных объектов, и они не предназначены для обозначения того, что объекты, описанные таким образом, должны находиться в заданной последовательности будь то во времени, в пространстве, по рангу или в любом ином смысле.In the context of this document, unless otherwise indicated, the use of the ordinal numerals "first," "second," "third," etc., to describe an ordinary object merely indicates that reference is being made to different instances of similar objects, and is not intended to indicate that the objects so described are to be in a given sequence, whether in time, space, rank, or in any other sense.

В приведенной ниже формуле изобретения и в настоящем описании любой из терминов «содержащий», «состоящий из» или «который содержит» является открытым термином, что означает включение по меньшей мере следующих за ним элементов/признаков, но не исключение остальных. Поэтому термин «содержащий» при его использовании в формуле изобретения не следует интерпретировать как ограничивающий в отношении средств, или элементов, или этапов, перечисляемых после него. Например, объем выражения «устройство, содержащее А и В» не следует ограничивать устройствами, состоящими только из элементов А и В. Любой из используемых в настоящем документе терминов «включающий» или «который включает» также представляет собой открытый термин, который также означает включение по меньшей мере элементов/признаков, следующих за этим термином, но не исключение остальных. Таким образом, «включающий» означает «содержащий» и является его синонимом. In the claims below and in the present description, any of the terms "comprising", "consisting of" or "which comprises" is an open term, which means including at least the elements/features that follow it, but not excluding the rest. Therefore, the term "comprising" when used in the claims should not be interpreted as limiting with respect to the means or elements or steps listed after it. For example, the scope of the expression "a device comprising A and B" should not be limited to devices consisting only of elements A and B. Any of the terms "comprising" or "which comprises" used in this document is also an open term, which also means including at least the elements/features that follow this term, but not excluding the rest. Thus, "comprising" means "comprising" and is synonymous with it.

Следует понимать, что в приведенном выше описании примерных вариантов осуществления настоящего изобретения различные признаки настоящего изобретения иногда группируются вместе в одном примерном варианте осуществления, на фигуре или в их описании с целью упрощения описания и содействия пониманию одного или более различных аспектов изобретения. Такой способ раскрытия изобретения, однако, нельзя интерпретировать как отражающий намерение того, что формула изобретения требует большего количества признаков, чем те, которые явно перечислены в каждом пункте формулы изобретения. Вместо этого, как отражает нижеследующая формула изобретения, аспекты настоящего изобретения заключаются менее чем во всех признаках одного вышеописанного примерного варианта осуществления. Таким образом, формула изобретения, следующая за разделом «Описание», настоящим явно включена в этот раздел «Описание», причем каждый пункт формулы изобретения самостоятельно представляет собой отдельный примерный вариант осуществления настоящего изобретения.It should be understood that in the above description of exemplary embodiments of the present invention, various features of the present invention are sometimes grouped together in a single exemplary embodiment, figure, or description thereof for the purpose of simplifying the description and promoting an understanding of one or more different aspects of the invention. Such manner of disclosure, however, should not be interpreted as reflecting an intent that the claims require more features than those expressly recited in each claim. Instead, as the following claims reflect, aspects of the present invention reside in less than all of the features of a single exemplary embodiment described above. Accordingly, the claims following the Description section are hereby expressly incorporated into this Description section, with each claim independently representing a separate exemplary embodiment of the present invention.

Кроме того, хотя некоторые примерные варианты осуществления, описанные в настоящем документе, включают одни, а не другие признаки, включенные в другие примерные варианты осуществления, комбинации признаков из разных примерных вариантов осуществления подразумеваются как находящиеся в рамках объема настоящего изобретения и образующие разные примерные варианты осуществления, как будет понятно специалистам в данной области техники. Например, в нижеследующей формуле изобретения любые заявленные примерные варианты осуществления могут применяться в любой комбинации.Furthermore, although some exemplary embodiments described herein include some and not other features included in other exemplary embodiments, combinations of features from different exemplary embodiments are intended to be within the scope of the present invention and to form different exemplary embodiments, as will be understood by those skilled in the art. For example, in the following claims, any of the claimed exemplary embodiments may be used in any combination.

В приведенном в настоящем документе описании изложено множество конкретных деталей. Однако понятно, что примерные варианты осуществления настоящего изобретения могут быть реализованы на практике без этих конкретных деталей. В других случаях хорошо известные способы, структуры и технологии не показаны подробно, чтобы не затруднять понимание данного описания.The description provided herein sets forth numerous specific details. However, it is understood that exemplary embodiments of the present invention may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description.

Таким образом, хотя здесь было описано то, что считается лучшими вариантами осуществления настоящего изобретения, специалистам в данной области будет понятно, что в них могут вноситься другие и дополнительные модификации без отступления от идеи настоящего изобретения, и подразумевается, что все указанные изменения и модификации заявляются как находящиеся в рамках объема настоящего изобретения. Например, любые приведенные выше формулы являются только примерами процедур, которые могут использоваться. Функциональные возможности могут добавляться в структурные схемы или удаляться из них, и операции могут взаимно заменяться среди функциональных блоков. Этапы могут добавляться в способы, описанные в рамках объема настоящего изобретения, или удаляться из них.Thus, although what are believed to be the best embodiments of the present invention have been described herein, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the present invention, and all such changes and modifications are intended to be claimed as being within the scope of the present invention. For example, any formulas given above are merely examples of procedures that may be used. Functionality may be added to or deleted from block diagrams, and operations may be interchanged among functional blocks. Steps may be added to or deleted from methods described within the scope of the present invention.

Различные аспекты и реализации настоящего изобретения можно также понять из следующих пронумерованных примерных вариантов осуществления (ППВО), которые не являются пунктами формулы изобретения.Various aspects and implementations of the present invention may also be understood from the following numbered exemplary embodiments (EEEs), which do not constitute claims.

ППВО 1. Способ обработки входного звукового сигнала, представленного в подполосах, для получения подвергнутого понижающему микшированию сигнала и связанных метаданных, причем способ включает: PPVO 1. A method for processing an input audio signal, represented in sub-bands, to obtain a downmixed signal and associated metadata, the method comprising:

для каждой подполосы, определение матрицы понижающего микширования и связанных метаданных; и; for each sub-band, defining a downmix matrix and associated metadata; and;

повторное микширование каждой из указанных подполос согласно указанной матрице понижающего микширования для получения указанного подвергнутого понижающему микшированию сигнала.re-mixing each of said sub-bands according to said downmix matrix to obtain said downmixed signal.

ППВО 2. Способ согласно ППВО 1, в котором кодирование метаданных выполняют с использованием одной или более стратегий квантования и одной или более стратегий кодирования с учетом ограничения целевого и/или максимального битрейта метаданных.PPVO 2. The method according to PPVO 1, in which the encoding of metadata is performed using one or more quantization strategies and one or more encoding strategies taking into account the limitation of the target and/or maximum bitrate of the metadata.

ППВО 3. Способ согласно ППВО 2, который включает не являющееся временно-дифференциальным энтропийное кодирование всех подполос.PPVO 3. A method according to PPVO 2, which includes non-time-differential entropy coding of all sub-bands.

ППВО 4. Способ согласно ППВО 3, который включает комбинирование частотного чередования с временно-дифференциальным кодированием квантованных параметров, соответствующих выбранным подполосам, для аудиокодека с низкой задержкой.PPVO 4. The method according to PPVO 3, which includes combining frequency interleaving with time-differential coding of quantized parameters corresponding to selected subbands, for a low-latency audio codec.

ППВО5. Способ согласно ППВО 4, который включает не являющееся энтропийным кодирование метаданных подполос.PPVO5. A method according to PPVO 4 that includes non-entropy coding of sub-band metadata.

ППВО 6. Способ согласно ППВО 5, который включает итеративное прохождение этапов с 3) по 5) для нахождения подходящей стратегии кодирования для выполнения требований к битрейту и качеству звучания и для уменьшения состояния декодера. PPVO 6. The method according to PPVO 5, which includes iteratively going through steps 3) through 5) to find a suitable coding strategy to meet the bit rate and audio quality requirements and to reduce the decoder state.

ППВО 7. Способ согласно ППВО 6, который включает уменьшение количества полос, передаваемых посредством комбинации метаданных в подполосах.PPVO 7. A method according to PPVO 6, which includes reducing the number of bands transmitted by means of a combination of metadata in sub-bands.

ППВО 8. Способ согласно ППВО 7, который включает фиксацию во времени метаданных одной или более подполос, так что метаданные подполосы не нужно передавать.PPVO 8. A method according to PPVO 7, which includes fixing in time the metadata of one or more sub-bands, such that the sub-band metadata does not need to be transmitted.

ППВО 9. Способ согласно ППВО 8, который включает использование нескольких уровней квантования для заданных метаданных, чтобы гарантировать достижение целевых битрейтов.PPVO 9. A method according to PPVO 8, which involves using multiple quantization levels for given metadata to ensure that target bitrates are achieved.

ППВО 10. Способ согласно ППВО 9, который включает итеративное выполнение этапов ППВО 3-9 для нахождения подходящей схемы квантования для выполнения требований к битрейту и качеству звучания. PPVO 10. The method according to PPVO 9, which includes iteratively performing PPVO steps 3-9 to find a suitable quantization scheme to meet the bit rate and audio quality requirements.

ППВО 11. Способ согласно ППВО 3 или ППВО 9, в котором отображение индексов из предыдущих кадров, квантованных в другое количество уровней, в индексы текущего кадра позволяет выполнять временно-дифференциальное кодирование между кадрами, не прибегая к передаче не являющегося временно-дифференциальным кадра каждый раз, когда необходим другой уровень квантования.PPVO 11. A method according to PPVO 3 or PPVO 9, in which the mapping of indices from previous frames quantized to a different number of levels to indices of the current frame allows time-differential coding to be performed between frames without resorting to transmitting a non-time-differential frame each time a different quantization level is needed.

ППВО 12. Способ согласно любому из вышеуказанных ППВО, в котором квантование включает определение наилучшего значения для коэффициентов согласно текущим потребностям, путем изменения порядка вычисления и квантования последовательных коэффициентов метаданных. PPVO 12. A method according to any of the above PPVO, wherein the quantization comprises determining the best value for the coefficients according to the current needs, by changing the order of calculation and quantization of successive metadata coefficients.

ППВО 13. Система, содержащая:PPVO 13. A system containing:

один или более процессоров; иone or more processors; and

постоянный машиночитаемый носитель, на котором хранятся команды, которые при исполнении одним или более процессорами приводят к выполнению одним или более процессорами операций согласно любому из ППВО 1-12.a non-transitory machine-readable medium on which instructions are stored that, when executed by one or more processors, cause the one or more processors to perform operations according to any of PPVO 1-12.

ППВО 14. Постоянный машиночитаемый носитель, на котором хранятся команды, которые при исполнении одним или более процессорами приводят к выполнению одним или более процессорами операций согласно любому из ППВО 1-12.PPVO 14. A non-transitory machine-readable medium that stores instructions that, when executed by one or more processors, cause one or more processors to perform operations according to any of PPVO 1-12.

Claims (50)

1. Способ покадрового кодирования метаданных для входного сигнала, где метаданные содержат множество по меньшей мере частично взаимосвязанных параметров, вычисляемых из входного сигнала, при этом способ включает для каждого кадра:1. A method for frame-by-frame encoding of metadata for an input signal, wherein the metadata comprises a plurality of at least partially interrelated parameters calculated from the input signal, wherein the method includes for each frame: итеративное выполнение, с использованием зацикленного процесса, следующих этапов:iterative execution, using a looped process, of the following steps: выбор стратегии квантования из множества стратегий квантования для вычисления и квантования параметров;selecting a quantization strategy from a set of quantization strategies for calculating and quantizing parameters; вычисление и квантование параметров на основе выбранной стратегии квантования для получения квантованных параметров; иcalculating and quantizing the parameters based on the selected quantization strategy to obtain quantized parameters; and кодирование квантованных параметров,coding of quantized parameters, при этом каждая из множества стратегий квантования содержит соответствующий первый указатель, указывающий порядок, относящийся к вычислению и квантованию отдельных параметров; иwherein each of the plurality of quantization strategies comprises a respective first pointer indicating an order related to the calculation and quantization of individual parameters; and при этом стратегию квантования выбирают на основе целевого порогового значения битрейта,in this case, the quantization strategy is selected based on the target bitrate threshold value, при этом стратегия квантования, определенная для текущего кадра, отличается от стратегии квантования, определенной для предыдущего кадра; и при этом кодирование параметров включает временно-дифференциальное кодирование в разных стратегиях квантования.wherein the quantization strategy determined for the current frame differs from the quantization strategy determined for the previous frame; and wherein the parameter coding includes time-differential coding in different quantization strategies. 2. Способ по п. 1, отличающийся тем, что стратегию квантования выбирают так, что битрейт закодированных квантованных параметров равен целевому пороговому значению битрейта.2. The method according to paragraph 1, characterized in that the quantization strategy is selected so that the bitrate of the encoded quantized parameters is equal to the target threshold bitrate value. 3. Способ по п. 1 или п. 2, отличающийся тем, что каждая из множества стратегий квантования дополнительно содержит соответствующий второй указатель, указывающий информацию для выполнения квантования параметров; и3. The method according to claim 1 or claim 2, characterized in that each of the plurality of quantization strategies additionally contains a corresponding second pointer indicating information for performing quantization of the parameters; and при этом, в частности, информация для выполнения квантования параметров содержит соответствующие диапазоны квантования и/или уровни квантования для множества параметров.wherein, in particular, the information for performing quantization of the parameters contains corresponding quantization ranges and/or quantization levels for a plurality of parameters. 4. Способ по любому из предыдущих пунктов, отличающийся тем, что кодирование параметров включает временно- и/или частотно-дифференциальное кодирование.4. A method according to any of the preceding paragraphs, characterized in that the coding of the parameters includes time- and/or frequency-differential coding. 5. Способ по любому из предыдущих пунктов, отличающийся тем, что первый указатель содержит информацию, указывающую, что: 5. A method according to any of the preceding paragraphs, characterized in that the first pointer contains information indicating that: все параметры вычисляют перед квантованием;all parameters are calculated before quantization; параметры вычисляют по отдельности и затем квантуют последовательно друг за другом, и по меньшей мере один параметр из множества параметров вычисляют на основе одного или более других квантованных параметров из множества параметров; илиthe parameters are calculated separately and then quantized sequentially one after another, and at least one parameter of the plurality of parameters is calculated based on one or more other quantized parameters of the plurality of parameters; or все параметры вычисляют перед квантованием любого параметра; и при этом по меньшей мере один из параметров повторно вычисляют на основе другого квантованного параметра и повторно вычисленный параметр квантуют.all parameters are calculated before any parameter is quantized; and at least one of the parameters is recalculated based on another quantized parameter and the recalculated parameter is quantized. 6. Способ по любому из предыдущих пунктов, отличающийся тем, что способ дополнительно включает, перед кодированием квантованных параметров:6. A method according to any of the preceding paragraphs, characterized in that the method additionally includes, before encoding the quantized parameters: отображение индексов квантованных параметров из предыдущего кадра в индексы текущего кадра. mapping the indices of quantized parameters from the previous frame to the indices of the current frame. 7. Способ по любому из предыдущих пунктов, отличающийся тем, что зацикленный процесс включает следующие этапы:7. A method according to any of the preceding paragraphs, characterized in that the looped process includes the following steps: квантование и кодирование параметров недифференциальным и/или частотно-дифференциальным образом с использованием энтропийного кодера согласно стратегии квантования;quantization and coding of parameters in a non-differential and/or frequency-differential manner using an entropy coder according to the quantization strategy; оценивание первого битрейта параметров для закодированных параметров; иestimating the first parameter bitrate for the encoded parameters; and выход из зацикленного процесса, если первый битрейт параметров меньше целевого порогового значения битрейта или равен ему.exit the loop process if the first parameter bitrate is less than or equal to the target bitrate threshold. 8. Способ по п. 7, отличающийся тем, что зацикленный процесс дополнительно включает следующие этапы:8. The method according to paragraph 7, characterized in that the looped process additionally includes the following steps: если первый битрейт параметров больше целевого порогового значения битрейта:if the first parameter bitrate is greater than the target bitrate threshold: квантование и кодирование параметров недифференциальным образом без энтропии согласно стратегии квантования;quantization and encoding of parameters in a non-differential manner without entropy according to the quantization strategy; оценивание второго битрейта параметров для закодированных параметров; иestimating the second parameter bitrate for the encoded parameters; and выход из зацикленного процесса, если второй битрейт параметров меньше целевого порогового значения битрейта или равен ему.exit the loop process if the second parameter bitrate is less than or equal to the target bitrate threshold. 9. Способ по п. 8, отличающийся тем, что зацикленный процесс дополнительно включает следующие этапы: 9. The method according to paragraph 8, characterized in that the looped process additionally includes the following steps: если второй битрейт параметров больше целевого порогового значения битрейта:if the second parameter bitrate is greater than the target bitrate threshold: квантование и кодирование параметров временно-дифференциальным образом с использованием энтропийного кодера согласно стратегии квантования;quantization and encoding of parameters in a time-differential manner using an entropy coder according to the quantization strategy; оценивание третьего битрейта параметров для закодированных параметров; иestimating the third parameter bitrate for the encoded parameters; and выход из зацикленного процесса, если третий битрейт параметров меньше целевого порогового значения битрейта или равен ему.exit the loop process if the third parameter bitrate is less than or equal to the target bitrate threshold. 10. Способ по п. 9, отличающийся тем, что временно-дифференциальное квантование и кодирование выполняют на подмножестве параметров методом с чередованием частот относительно предыдущего кадра.10. The method according to paragraph 9, characterized in that time-differential quantization and coding are performed on a subset of parameters using a method with alternating frequencies relative to the previous frame. 11. Способ по п. 10, отличающийся тем, что временно-дифференциальное квантование и кодирование выполняют посредством циклического прохождения ряда схем временно-дифференциального кодирования с чередованием частот, так, что для каждого цикла разное подмножество параметров квантуют и кодируют временно-дифференциально, при этом остальные параметры квантуют и кодируют недифференциально.11. The method according to claim 10, characterized in that the time-differential quantization and coding are performed by cyclically passing through a series of time-differential coding schemes with alternating frequencies, so that for each cycle a different subset of parameters are quantized and coded time-differentially, while the remaining parameters are quantized and coded non-differentially. 12. Способ по любому из пп. 7-11, отличающийся тем, что выбранная стратегия квантования является первой стратегией квантования, и при этом зацикленный процесс дополнительно включает:12. The method according to any one of paragraphs 7-11, characterized in that the selected quantization strategy is the first quantization strategy, and wherein the looped process additionally includes: если третий битрейт параметров больше целевого порогового значения битрейта:if the third parameter bitrate is greater than the target bitrate threshold: выбор второй стратегии квантования из множества стратегий квантования так, что ожидается, что при применении второй стратегии квантования битрейт будет меньше битрейта использования первой стратегии квантования; иselecting a second quantization strategy from a plurality of quantization strategies such that the bit rate of using the second quantization strategy is expected to be less than the bit rate of using the first quantization strategy; and повторение этапов зацикленного процесса по п. 7.repeating the stages of the looped process according to point 7. 13. Способ по любому из пп. 7-11, отличающийся тем, что параметры представлены в первом количестве полос частот, и при этом зацикленный процесс дополнительно включает следующие этапы:13. The method according to any one of paragraphs 7-11, characterized in that the parameters are presented in a first number of frequency bands, and wherein the looped process additionally includes the following steps: если третий битрейт параметров больше целевого порогового значения битрейта:if the third parameter bitrate is greater than the target bitrate threshold: уменьшение количества полос частот, представляющих параметры, до второго количества, которое меньше первого количества, так, что общее количество параметров, которые необходимо квантовать и кодировать, уменьшается; илиreducing the number of frequency bands representing the parameters to a second number that is less than the first number, such that the total number of parameters that need to be quantized and encoded is reduced; or повторное использование параметров в одной или более полосах частот из предыдущего кадра в текущем кадре; иreusing parameters in one or more frequency bands from the previous frame in the current frame; and повторение этапов зацикленного процесса по п. 7.repeating the stages of the looped process according to point 7. 14. Способ по п. 12 или п. 13, отличающийся тем, что зацикленный процесс дополнительно включает следующие этапы:14. The method according to paragraph 12 or paragraph 13, characterized in that the looped process additionally includes the following steps: перед выбором второй стратегии квантования, или уменьшением количества полос частот, или повторным использование параметров:before choosing a second quantization strategy, or reducing the number of frequency bands, or reusing parameters: получение минимума среди первого, второго и третьего битрейтов параметров; иobtaining the minimum among the first, second and third bitrate parameters; and выход из зацикленного процесса, если минимум меньше максимального порогового значения битрейта или равен ему.exit the loop process if the minimum is less than or equal to the maximum bitrate threshold. 15. Способ по любому из предыдущих пунктов, отличающийся тем, что способ применяют к кодированию метаданных кодека голосовых и звуковых служб с эффектом присутствия, IVAS, или кодека амбиофонии.15. A method according to any of the preceding paragraphs, characterized in that the method is applied to encoding metadata of a codec for voice and sound services with presence effect, IVAS, or an ambiphony codec. 16. Устройство покадрового кодирования метаданных для входного сигнала, содержащее процессор и устройство памяти, соединенное с процессором, при этом процессор приспособлен вызывать выполнение устройством способа по любому из предыдущих пунктов.16. A device for frame-by-frame encoding of metadata for an input signal, comprising a processor and a memory device connected to the processor, wherein the processor is adapted to cause the device to perform the method according to any of the preceding claims. 17. Машиночитаемый носитель данных, на котором хранится программа, содержащая команды, которые при исполнении процессором вызывают выполнение процессором способа по любому из пп. 1-15.17. A machine-readable data carrier on which a program is stored containing instructions that, when executed by a processor, cause the processor to execute the method according to any of paragraphs 1-15.
RU2023100224A 2020-06-11 2021-06-10 Quantisation and entropy coding of parameters for low-latency audio codec RU2838373C1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63/037,784 2020-06-11
US63/194,010 2021-05-27

Publications (1)

Publication Number Publication Date
RU2838373C1 true RU2838373C1 (en) 2025-04-15

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008628A1 (en) * 2003-07-18 2005-01-27 Koninklijke Philips Electronics N.V. Low bit-rate audio encoding
RU2606552C2 (en) * 2011-04-21 2017-01-10 Самсунг Электроникс Ко., Лтд. Device for quantization of linear predictive coding coefficients, sound encoding device, device for dequantization of linear predictive coding coefficients, sound decoding device and electronic device to this end
RU2621003C2 (en) * 2013-01-29 2017-05-30 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Adaptive tone quantization of low complexity audio signals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008628A1 (en) * 2003-07-18 2005-01-27 Koninklijke Philips Electronics N.V. Low bit-rate audio encoding
RU2606552C2 (en) * 2011-04-21 2017-01-10 Самсунг Электроникс Ко., Лтд. Device for quantization of linear predictive coding coefficients, sound encoding device, device for dequantization of linear predictive coding coefficients, sound decoding device and electronic device to this end
RU2621003C2 (en) * 2013-01-29 2017-05-30 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Adaptive tone quantization of low complexity audio signals

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MCGRATH D., BRUHN S., PURNHAGEN H., ECKERT M., TORRES J., BROWN S., DARCY D. Immersive audio coding for virtual reality using a metadata-assisted extension of the 3GPP EVS codec // 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). doi:10.1109/icassp.2019.8683712, pp.730-732, фиг. 1. *

Similar Documents

Publication Publication Date Title
JP7831938B2 (en) Parameter quantization and entropy coding for low-latency audio codecs
US9741354B2 (en) Bitstream syntax for multi-process audio decoding
RU2625444C2 (en) Audio processing system
RU2418324C2 (en) Subband voice codec with multi-stage codebooks and redudant coding
RU2555221C2 (en) Complex transformation channel coding with broadband frequency coding
TWI821966B (en) Method, system and non-transitory computer-readable medium of encoding and decoding immersive voice and audio services bitstreams
CN101124740B (en) Multi-channel audio encoding and decoding method and device, audio transmission system
RU2541864C2 (en) Audio or video encoder, audio or video and related methods of processing multi-channel audio or video signals using variable prediction direction
KR102296067B1 (en) Method and apparatus for decoding a compressed hoa representation, and method and apparatus for encoding a compressed hoa representation
JP7829668B2 (en) Encoding and decoding of IVAS bitstreams
KR102492119B1 (en) Audio coding and decoding mode determining method and related product
US12499899B2 (en) Low-latency, low-frequency effects codec
US9287895B2 (en) Method and decoder for reconstructing a source signal
TW202336739A (en) Spatial coding of higher order ambisonics for a low latency immersive audio codec
RU2838373C1 (en) Quantisation and entropy coding of parameters for low-latency audio codec
JP2025504862A5 (en)
KR102632523B1 (en) Coding method for time-domain stereo parameter, and related product
HK40094000A (en) Quantization and entropy coding of parameters for a low latency audio codec
CN118871986A (en) Spatial Coding of High-Order Ambisonics for Low-Latency Immersive Audio Codecs
CN119943066A (en) Audio encoding and decoding method and device, computer equipment, program product and storage medium
WO2025239172A1 (en) Encoding device and method, decoding device and method, program, and information processing system
JP2025541140A (en) Method and decoder for stereo decoding using neural network models
HK40115398A (en) Spatial coding of higher order ambisonics for a low latency immersive audio codec
CN121012935A (en) Multimedia data processing methods, apparatus, equipment and storage media
CN120129940A (en) Encoder and encoding method for non-continuous transmission of independent streams with metadata via parameterized coding