RU2778873C2 - Method and device for arithmetic coding or arithmetic decoding - Google Patents
Method and device for arithmetic coding or arithmetic decoding Download PDFInfo
- Publication number
- RU2778873C2 RU2778873C2 RU2019115916A RU2019115916A RU2778873C2 RU 2778873 C2 RU2778873 C2 RU 2778873C2 RU 2019115916 A RU2019115916 A RU 2019115916A RU 2019115916 A RU2019115916 A RU 2019115916A RU 2778873 C2 RU2778873 C2 RU 2778873C2
- Authority
- RU
- Russia
- Prior art keywords
- spectral coefficients
- context
- previous spectral
- previous
- probability density
- Prior art date
Links
- 230000003595 spectral Effects 0.000 claims abstract description 147
- 238000001228 spectrum Methods 0.000 claims description 26
- 230000000875 corresponding Effects 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000007906 compression Methods 0.000 description 5
- 101700080201 SC29 Proteins 0.000 description 4
- 230000001131 transforming Effects 0.000 description 3
- 230000000977 initiatory Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Abstract
Description
Область техники, к которой относится изобретениеThe field of technology to which the invention belongs
Изобретение относится к арифметическому кодированию и декодированию мультимедийных данных.The invention relates to arithmetic encoding and decoding of multimedia data.
Уровень техникиState of the art
Арифметическое кодирование является способом сжатия данных без потерь. Арифметическое кодирование основано на функции плотности вероятности (ФПВ). Для достижения эффекта сжатия, функция плотности вероятности, на которой основывается кодирование, должна быть идентичной или по меньшей мере похожей – чем ближе, тем лучше – на фактическую функцию плотности вероятности, которой фактически подчиняются данные.Arithmetic coding is a lossless way to compress data. Arithmetic coding is based on a probability density function (PDF). To achieve a compression effect, the probability density function on which the encoding is based must be identical or at least similar - the closer the better - to the actual probability density function that the data actually obeys.
Если арифметическое кодирование основано на подходящей функции плотности вероятности, то оно может обеспечивать значительное сжатие, что приводит по меньшей мере к почти оптимальному коду. Поэтому, арифметическое кодирование является часто используемым методом при кодировании аудио-, голосового или видео сигнала для кодирования и декодирования последовательностей коэффициентов, причем коэффициенты являются квантованными результатами частотно-временного преобразования значений дискретизации видео пикселей или аудио- или голосового сигнала в двоичном представлении.If the arithmetic coding is based on a suitable probability density function, then it can provide significant compression, resulting in at least a near-optimal code. Therefore, arithmetic coding is a commonly used technique in audio, voice, or video coding to encode and decode sequences of coefficients, the coefficients being the quantized results of a time-frequency transformation of video pixel or audio or voice sample values in binary representation.
Для того, чтобы еще больше улучшить сжатие, арифметическое кодирование может быть основано на наборе функций плотности вероятности, причем функция плотности вероятности, используемая для кодирования текущего коэффициента, зависит от контекста упомянутого текущего коэффициента. Таким образом, различные функции плотности вероятности могут использоваться для кодирования того же самого значения квантования в зависимости от контекста, в котором появляется коэффициент, имеющий упомянутое то же самое значение квантования. Контекст коэффициента определяют с помощью значений квантования коэффициентов, содержащихся в близлежащей области из одного или более соседних коэффициентов, граничащих с соответствующим коэффициентом, например, с помощью субпоследовательности из одного или более уже закодированных или уже декодированных коэффициентов, которые непосредственно предшествуют в последовательности соответствующему коэффициенту, который будут кодировать или будут декодировать. Каждый из различных возможных видов, которые может иметь близлежащая область, определяет различный возможный контекст, каждый из которых отображают в связанную с ней функцию плотности вероятности.In order to further improve compression, the arithmetic encoding may be based on a set of probability density functions, wherein the probability density function used to encode the current coefficient depends on the context of said current coefficient. Thus, different probability density functions may be used to encode the same quantization value depending on the context in which the coefficient having said same quantization value appears. The context of a coefficient is determined by the quantization values of the coefficients contained in the adjacent area of one or more neighboring coefficients bordering the corresponding coefficient, for example, by a subsequence of one or more already encoded or already decoded coefficients that immediately precede in sequence the corresponding coefficient that will encode or decode. Each of the different possible views that a nearby area may have defines a different possible context, each of which is mapped to its associated probability density function.
Практически, упомянутое улучшение сжатия реализуется, только если близлежащая область является достаточно большой. Это сопровождается комбинаторным скачкообразным увеличением количества различных возможных контекстов, а также соответствующего огромного количества возможных функций плотности вероятности или соответствующего сложного отображения.In practice, said compression improvement is realized only if the nearby area is large enough. This is accompanied by a combinatorial leap in the number of different possible contexts, as well as the corresponding huge number of possible probability density functions or the corresponding complex mapping.
Пример основанной на контексте схемы арифметического кодирования можно найти в документе ISO/IEC JTC1/SC29/WG11 N10215, октябрь 2008, Пусан, Корея, который предлагает эталонную модель для унифицированного кодирования речи и аудиоинформации (USAC). Согласно данному предложению, для определения контекста рассматривают уже декодированные наборы из 4 элементов.An example of a context-based arithmetic coding scheme can be found in ISO/IEC JTC1/SC29/WG11 N10215, October 2008, Busan, Korea, which proposes a reference model for unified speech and audio coding (USAC). According to this proposal, already decoded sets of 4 elements are considered to determine the context.
Другой пример относящегося к USAC основанного на контексте арифметического кодирования можно найти в документе ISO/IEC JTC1/SC29/WG11 N10847, июль 2009, Лондон, Великобритания.Another example of USAC context-based arithmetic coding can be found in ISO/IEC JTC1/SC29/WG11 N10847, July 2009, London, UK.
Для сокращения сложности условного энтропийного кодирования старшего разряда в патенте США № 5,298,896 предлагают неравномерное квантование приведенных к определенному виду символов.To reduce the complexity of the high-order conditional entropy coding, US Pat. No. 5,298,896 proposes non-uniform quantization of the normalized symbols.
Раскрытие изобретенияDisclosure of invention
В соответствие с огромным количеством контекстов, которые будут обрабатывать, существует огромное число функций плотности вероятности, которые необходимо хранить, извлекать и обрабатывать или по меньшей мере соответствующим образом выполнять сложное отображение контекстов в функции плотности вероятности. Это увеличивает по меньшей мере одно из времени ожидания кодирования/декодирования и требований к емкости запоминающего устройства. В предшествующем уровне техники существует потребность в альтернативном решении, которое предоставляет возможность обеспечения сжатия так же хорошо, уменьшая по меньшей мере одно из времени ожидания кодирования/декодирования и требований к емкости запоминающего устройства.In accordance with the huge number of contexts that will be processed, there is a huge number of probability density functions that need to be stored, retrieved and processed, or at least appropriately perform a complex mapping of contexts into a probability density function. This increases at least one of the encode/decode latency and storage capacity requirements. There is a need in the prior art for an alternative solution that allows compression to be achieved as well while reducing at least one of the encode/decode latency and storage capacity requirements.
Для удовлетворения этой потребности данное изобретение предлагает способ кодирования, который содержит функциональные особенности по п.1, способ декодирования, который содержит функциональные особенности по п.2, устройство для арифметического кодирования, которое содержит функциональные особенности по п.13, устройство для арифметического декодирования, которое содержит функциональные особенности по п.14, и носитель информации по п.15.To meet this need, the present invention provides an encoding method that includes the functionality of claim 1, a decoding method that includes the functionality of claim 2, an arithmetic encoding apparatus that includes the functionality of claim 13, an arithmetic decoding apparatus, which contains the functional features according to claim 14, and the storage medium according to claim 15.
Функциональные особенности дополнительных предложенных вариантов осуществления определяют в зависимых пунктах формулы изобретения.The functional features of additional proposed embodiments are defined in the dependent claims.
Упомянутый способ арифметического кодирования или декодирования, соответственно, использует предыдущие спектральные коэффициенты для арифметического кодирования или декодирования, соответственно, текущего спектрального коэффициента, причем упомянутые предыдущие спектральные коэффициенты уже закодированы или декодированы, соответственно. И упомянутые предыдущие спектральные коэффициенты, и упомянутый текущий спектральный коэффициент содержатся в одном или более квантованных спектров, которые являются результатом квантования результата частотно-временного преобразования значений дискретизации видео-, аудио- или голосовых сигналов. Упомянутый способ дополнительно содержит обработку предыдущих спектральных коэффициентов, использование обработанных предыдущих спектральных коэффициентов для определения класса контекста, который является одним по меньшей мере из двух различных классов контекста, использование определенного класса контекста и отображения по меньшей мере двух различных классов контекста по меньшей мере в две различные функции плотности вероятности для определения функции плотности вероятности, и арифметическое кодирование или декодирование, соответственно, текущего спектрального коэффициента, основываясь на определенной функции плотности вероятности. Функциональной особенностью данного способа является то, что обработка предыдущих спектральных коэффициентов содержит неравномерное квантование абсолютных значений предыдущих спектральных коэффициентов.Said arithmetic encoding or decoding method, respectively, uses previous spectral coefficients to arithmetic encode or decode, respectively, the current spectral coefficient, said previous spectral coefficients having already been encoded or decoded, respectively. Both said previous spectral coefficients and said current spectral coefficient are contained in one or more quantized spectra, which are the result of quantizing the result of time-frequency transformation of video, audio or voice sampling values. Said method further comprises processing previous spectral coefficients, using the processed previous spectral coefficients to determine a context class that is one of at least two different context classes, using the determined context class, and mapping at least two different context classes to at least two different context classes. a probability density function to determine a probability density function; and arithmetic encoding or decoding, respectively, the current spectral coefficient based on the determined probability density function. A functional feature of this method is that the processing of the previous spectral coefficients contains non-uniform quantization of the absolute values of the previous spectral coefficients.
Использование классов контекста в качестве альтернативы контекстам для определения функции плотности вероятности предусматривает группирование двух или более различных контекстов, что приводит к тому, что различные, но очень похожие функции плотности вероятности оказываются в одном классе контекста, который отображают в одну функцию плотности вероятности. Данное группирование обеспечивают с помощью использования неравномерно квантованных абсолютных значений предыдущих спектральных коэффициентов для определения класса контекста.Using context classes as an alternative to contexts to define a probability density function involves grouping two or more different contexts, resulting in different but very similar probability density functions in the same context class, which is mapped to a single probability density function. This grouping is provided by using the non-uniformly quantized absolute values of the previous spectral coefficients to determine the context class.
Например, существует вариант осуществления, в котором обработка предыдущих спектральных коэффициентов содержит определение суммы квантованных абсолютных значений предыдущих спектральных коэффициентов для использования при определении класса контекста. For example, there is an embodiment in which the processing of the previous spectral coefficients comprises determining the sum of the quantized absolute values of the previous spectral coefficients for use in determining the context class.
Точно также существует соответствующий вариант осуществления устройства для арифметического кодирования, а также и соответствующий вариант осуществления устройства для арифметического декодирования, в котором средство обработки выполнено с возможностью определения суммы квантованных абсолютных значений предыдущих спектральных коэффициентов для использования при определении класса контекста.Similarly, there is a corresponding embodiment of an arithmetic encoding apparatus, as well as a corresponding embodiment of an arithmetic decoding apparatus, in which the processing means is configured to determine the sum of the quantized absolute values of the previous spectral coefficients for use in determining the context class.
В дополнительных вариантах осуществления устройств средство обработки выполнено так, что обработка предыдущих спектральных коэффициентов дополнительно содержит первое квантование, в котором абсолютные значения предыдущих спектральных коэффициентов квантуют согласно схеме первого квантования, определение отклонения, в котором определяют отклонения абсолютных значений предыдущих спектральных коэффициентов, квантованных согласно схеме первого квантования, использование определенного отклонения для выбора одной по меньшей мере из двух различных схем нелинейного второго квантования, и второе квантование, в котором абсолютные значения предыдущих спектральных коэффициентов, квантованных согласно схеме первого квантования, дополнительно квантуют согласно выбранной схеме нелинейного второго квантования. Дополнительные варианты осуществления способов содержат соответствующие этапы. In additional device embodiments, the processing means is configured such that the processing of the previous spectral coefficients further comprises a first quantization, in which the absolute values of the previous spectral coefficients are quantized according to the first quantization scheme, a deviation determination, in which deviations of the absolute values of the previous spectral coefficients quantized according to the first quantization scheme are determined. quantization, using a certain deviation to select one of at least two different nonlinear second quantization schemes, and a second quantization in which the absolute values of the previous spectral coefficients quantized according to the first quantization scheme are further quantized according to the selected nonlinear second quantization scheme. Additional embodiments of the methods contain appropriate steps.
Определение отклонения может содержать определение суммы абсолютных значений предыдущих спектральных коэффициентов, квантованных согласно схеме первого квантования, и сравнение определенной суммы по меньшей мере с одним пороговым значением.Determining the deviation may comprise determining the sum of the absolute values of the previous spectral coefficients quantized according to the first quantization scheme and comparing the determined sum with at least one threshold value.
В дополнительных вариантах осуществления средство обработки каждого из устройств может быть выполнено так, что обработка приводит или к первому результату, или по меньшей мере к другому второму результату. В этом случае определение класса контекста дополнительно содержит определение количества тех предшествующих спектральных коэффициентов, для которых обработка привела к первому результату, и использование данного определенного количества для определения класса контекста.In further embodiments, the processing means of each of the devices may be configured such that the processing results in either a first result or at least a different second result. In this case, determining the context class further comprises determining the number of those previous spectral coefficients for which the processing resulted in the first result, and using that determined number to determine the context class.
Каждое из устройств может содержать средство для приема по меньшей мере одного из сигнала переключения режима и сигнала сброса, причем устройства выполнены с возможностью использования по меньшей мере данного одного принятого сигнала для управления определением класса контекста.Each of the devices may comprise means for receiving at least one of a mode switch signal and a reset signal, the devices being configured to use the at least one received signal to drive context class determination.
По меньшей мере две различные функции плотности вероятности можно определять заранее, используя репрезентативный набор данных для определения по меньшей мере двух различных функций плотности вероятности, и отображение может быть реализовано, используя таблицу соответствия или хэш-таблицу.At least two different probability density functions may be determined in advance using a representative data set to determine at least two different probability density functions, and mapping may be implemented using a lookup table or a hash table.
Краткое описание чертежейBrief description of the drawings
Примерные варианты осуществления изобретения показаны на чертежах и пояснены более подробно в нижеследующем описании. Примерные варианты осуществления служат только для разъяснения данного изобретения, но не для ограничения объема и сущности данного изобретения, которые определены в формуле изобретения.Exemplary embodiments of the invention are shown in the drawings and explained in more detail in the following description. Exemplary embodiments serve only to explain the present invention, but not to limit the scope and spirit of the present invention, which are defined in the claims.
На чертежах:On the drawings:
фиг.1 в качестве примера изображает вариант осуществления изобретенного кодера,Fig. 1 shows, by way of example, an embodiment of the inventive encoder,
фиг.2 в качестве примера изображает вариант осуществления изобретенного декодера,figure 2 shows an embodiment of the invented decoder by way of example,
фиг.3 в качестве примера изображает первый вариант осуществления средства классификации контекста для определения класса контекста,3 shows, by way of example, a first embodiment of a context classifier for determining a context class,
фиг.4 в качестве примера изображает второй вариант осуществления средства классификации контекста для определения класса контекста,4 shows, by way of example, a second embodiment of a context classifier for determining a context class,
фиг.5a в качестве примера изображает первую близлежащую область предыдущих спектральных элементов дискретизации, предшествующих текущему спектральному элементу дискретизации, который будут кодировать или который будут декодировать в режиме работы в частотной области,5a shows, by way of example, the first nearby area of the previous spectral bins preceding the current spectral bin to be encoded or to be decoded in the frequency domain mode of operation,
фиг.5b в качестве примера изображает вторую близлежащую область предыдущих спектральных элементов дискретизации, предшествующих текущему спектральному элементу дискретизации, который будут кодировать или который будут декодировать в режиме взвешенного преобразования на основе линейного предсказания,5b exemplifies the second nearby region of previous spectral bins preceding the current spectral bin to be encoded or decoded in a weighted transform mode based on linear prediction,
фиг.6a в качестве примера изображает третью близлежащую область предыдущих спектральных элементов дискретизации, предшествующих текущему спектральному элементу дискретизации самой нижней частоты, который будут кодировать или который будут декодировать в режиме работы в частотной области,6a shows, by way of example, the third nearby region of the previous spectral bins preceding the current lowest frequency spectral bin to be encoded or to be decoded in the frequency domain mode of operation,
фиг.6b в качестве примера изображает четвертую близлежащую область предыдущих спектральных элементов дискретизации, предшествующих текущему спектральному элементу дискретизации второй самой нижней частоты, который будут кодировать или который будут декодировать в режиме работы в частотной области,6b exemplifies the fourth nearby area of the previous spectral bins preceding the current second lowest frequency spectral bin to be encoded or to be decoded in the frequency domain mode,
фиг.7a в качестве примера изображает пятую близлежащую область предыдущих спектральных элементов дискретизации, предшествующих текущему спектральному элементу дискретизации самой нижней частоты, который будут кодировать или который будут декодировать в режиме взвешенного преобразования на основе линейного предсказания,7a exemplifies the fifth nearby area of the previous spectral bins preceding the current lowest frequency spectral bin to be encoded or decoded in a weighted transform mode based on linear prediction,
фиг.7b в качестве примера изображает шестую близлежащую область предыдущих спектральных элементов дискретизации, предшествующих текущему спектральному элементу дискретизации второй самой нижней частоты, который будут кодировать или который будут декодировать в режиме взвешенного преобразования на основе линейного предсказания,7b exemplifies the sixth nearby area of previous spectral bins preceding the current second lowest frequency spectral bin to be encoded or decoded in a weighted transform mode based on linear prediction,
фиг.7c в качестве примера изображает седьмую близлежащую область предыдущих спектральных элементов дискретизации, предшествующих текущему спектральному элементу дискретизации третьей самой нижней частоты, который будут кодировать или который будут декодировать в режиме взвешенного преобразования на основе линейного предсказания,7c exemplifies the seventh nearby area of the previous spectral bins preceding the current third lowest frequency spectral bin to be encoded or decoded in a weighted transform mode based on linear prediction,
фиг.7d в качестве примера изображает восьмую близлежащую область предыдущих спектральных элементов дискретизации, предшествующих текущему спектральному элементу дискретизации третьей самой нижней частоты, который будут кодировать или который будут декодировать в режиме взвешенного преобразования на основе линейного предсказания,FIG. 7d exemplifies the eighth nearby region of previous spectral bins preceding the current lowest third frequency spectral bin to be encoded or decoded in a weighted transform mode based on linear prediction,
фиг.8 в качестве примера изображает близлежащие области различных спектральных элементов дискретизации, которые будут кодировать или которые будут декодировать, упомянутые различные спектральные элементы дискретизации содержатся в первом спектре, который будут кодировать или который будут декодировать после инициирования кодирования/декодирования или возникновения сигнала сброса в режиме работы в частотной области, и8 shows by way of example the nearby regions of different spectral bins to be encoded or to be decoded, said different spectral bins are contained in the first spectrum to be encoded or to be decoded after initiation of encoding/decoding or occurrence of a mode reset signal. work in the frequency domain, and
фиг.9 в качестве примера изображает очередные близлежащие области различных спектральных элементов дискретизации, которые будут кодировать или декодировать в режиме взвешенного преобразования на основе линейного предсказания, упомянутые различные спектральные элементы дискретизации содержатся во втором спектре, который будут кодировать или декодировать после инициирования кодирования/декодирования или возникновения сигнала сброса в режиме взвешенного преобразования на основе линейного предсказания. Fig. 9 exemplifies successive nearby regions of different spectral bins to be encoded or decoded in a weighted transform mode based on linear prediction, said different spectral bins are contained in a second spectrum to be encoded or decoded after initiation of encoding/decoding or occurrence of a reset signal in the weighted transform mode based on linear prediction.
Осуществление изобретенияImplementation of the invention
Данное изобретение можно реализовать в любом электронном устройстве, содержащем устройство обработки, соответствующим образом настроенное. Например, устройство для арифметического декодирования можно реализовывать в телевизионном приемнике, мобильном телефоне или персональном компьютере, mp3-плеере, навигационной системе или автомобильной аудиосистеме. Устройство для арифметического кодирования можно реализовать, к примеру, в мобильном телефоне, персональном компьютере, активной автомобильной навигационной системе, цифровом фотоаппарате, цифровой видеокамере или диктофоне.The present invention can be implemented in any electronic device containing a processing device suitably configured. For example, the arithmetic decoder may be implemented in a television receiver, mobile phone or personal computer, mp3 player, navigation system, or car audio system. The arithmetic encoding device can be implemented in, for example, a mobile phone, a personal computer, an active car navigation system, a digital camera, a digital video camera, or a voice recorder.
Описанные ниже примерные варианты осуществления относятся к кодированию и декодированию квантованных спектральных элементов дискретизации, которые являются результатом квантования результата частотно-временного преобразования мультимедийных выборок.The exemplary embodiments described below relate to encoding and decoding quantized spectral bins that result from quantizing the result of a time-frequency transform of multimedia samples.
Данное изобретение основано на способе, в котором уже переданные квантованные спектральные элементы дискретизации, например, предыдущие квантованные спектральные элементы дискретизации, которые предшествуют текущему квантованному спектральному элементу дискретизации BIN в последовательности, используются для определения функции плотности вероятности ФПВ, которая будет использоваться для арифметического кодирования и декодирования, соответственно, текущего квантованного спектрального элемента дискретизации BIN.The present invention is based on a method in which already transmitted quantized spectral bins, e.g., previous quantized spectral bins that precede the current quantized spectral bin BIN in the sequence, are used to determine the PDF probability density function to be used for arithmetic encoding and decoding. , respectively, of the current quantized spectral bin BIN.
Описанные примерные варианты осуществления способов и устройств для арифметического кодирования или арифметического декодирования содержат несколько этапов, или средств, соответственно, для неравномерного квантования. Все этапы или средства, соответственно, вместе обеспечивают самую высокую эффективность кодирования, но каждый этап или средство, соответственно, в одиночку уже реализует изобретенную концепцию и обеспечивает преимущества, относящиеся ко времени ожидания кодирования/декодирования и/или к требованиям к емкости запоминающего устройства. Поэтому, подробное описание необходимо рассматривать в качестве описания примерных вариантов осуществления, реализующих только один из этапов или средств, соответственно, описанных так же, как описывают примерные варианты осуществления, реализующие комбинацию двух или более описанных этапов или средств.The described exemplary embodiments of methods and apparatus for arithmetic coding or arithmetic decoding comprise several steps, or means, respectively, for non-uniform quantization. All steps or means, respectively, together provide the highest encoding efficiency, but each step or means, respectively, alone already implements the inventive concept and provides advantages in terms of encoding/decoding latency and/or storage capacity requirements. Therefore, the detailed description is to be considered as describing exemplary embodiments implementing only one of the steps or means, respectively, described in the same way as exemplary embodiments implementing a combination of two or more of the steps or means described are described.
Первый этап, который может, но не обязательно должен содержаться в примерном варианте осуществления данного способа, является этапом переключения, на котором определяют, какой основной режим преобразования должен использоваться. Например, в схеме помехоустойчивого кодирования USAC основным режимом преобразования может быть или режим работы в частотной области (FD), или режим взвешенного преобразования на основе линейного предсказания (wLPT). Каждый основной режим может использовать различные близлежащие области, т.е. различные дискретизации закодированных или декодированных, соответственно, спектральных элементов дискретизации для определения ФПВ.The first step, which may but need not be included in an exemplary embodiment of this method, is a switching step in which it is determined which major transform mode is to be used. For example, in the USAC error-correcting coding scheme, the base transform mode can be either a frequency domain (FD) mode or a weighted linear prediction based transform (wLPT) mode. Each major mode can use different nearby areas, i.e. different samplings of the encoded or decoded, respectively, spectral bins to determine the PDF.
После этого контекст текущего спектрального элемента дискретизации BIN можно определять в модуле генерации контекста COCL. Из определенного контекста определяют класс контекста с помощью классификации контекста, причем перед классификацией контекст обрабатывают предпочтительно, но не обязательно, с помощью неравномерного квантования NUQ1 спектральных элементов дискретизации контекста. Классификация может содержать оценку отклонения VES контекста и сравнение данного отклонения по меньшей мере с одним пороговым значением. Или оценку отклонения определяют непосредственно из контекста. Оценку отклонения затем используют для управления дополнительным квантованием NUQ2, которое является предпочтительно, но не обязательно нелинейным.Thereafter, the context of the current spectral bin BIN can be determined in the COCL context generation module. From the determined context, a context class is determined by context classification, where prior to classification the context is processed preferably, but not necessarily, by non-uniform quantization NUQ1 of the spectral bins of the context. The classification may comprise evaluating the context VES variance and comparing that variance against at least one threshold value. Or the deviation score is determined directly from the context. The variance estimate is then used to control NUQ2 additional quantization, which is preferably, but not necessarily non-linear.
В процессе кодирования, для примера изображенном на фиг.1, подходящую функцию плотности вероятности (ФПВ) определяют для кодирования текущего квантованного спектрального элемента дискретизации BIN. Для этой цели может использоваться только информация, которая также уже известна на стороне декодера. Таким образом, можно использовать только предыдущий закодированный или декодированный квантованные спектральные элементы дискретизации. Это делают в блоке классификации контекста COCL. В нем выбранные предыдущие спектральные элементы дискретизации устанавливают границы близлежащей области NBH, которая используется для определения фактического класса контекста. Класс контекста можно обозначать номером класса контекста. Номер класса контекста используется для извлечения соответствующей ФПВ из запоминающего устройства ФПВ MEM1 через отображение MAP, например, через таблицу соответствия или хэш-таблицу. Определение класса контекста может зависеть от коммутатора основного режима GMS, который предоставляет возможность использовать различные близлежащие области в зависимости от выбранного режима. Как указано выше, для USAC может существовать два основных режима (режим FD и режим wLPT). Если коммутатор основного режима GMS реализуют на стороне кодера, то сигнал изменения режима или сигнал текущего основного режима должны содержаться в битовом потоке, так, чтобы основной режим был также известен в декодере. Например, в эталонной модели для унифицированного кодирования речи и аудиоинформации (USAC), предложенной ISO/IEC JTC1/SC29/WG11 N10847, июль 2009, Лондон, Великобритания, существует таблица 4.4 WD core_mode и таблица 4.5 core_mode0/1, предлагаемые для определения основного режима.In the encoding process, for example shown in figure 1, a suitable probability density function (PDF) is determined to encode the current quantized spectral bin BIN. For this purpose, only information that is also already known on the decoder side can be used. Thus, only the previous encoded or decoded quantized spectral bins can be used. This is done in the COCL context classification block. In it, the selected previous spectral bins set the boundaries of the nearby NBH region, which is used to determine the actual context class. A context class can be denoted by a context class number. The context class number is used to retrieve the corresponding PDF from the PDF memory MEM1 via a MAP mapping, such as a lookup table or a hash table. The definition of the context class may depend on the GMS main mode switch, which provides the ability to use different nearby areas depending on the selected mode. As stated above, there can be two main modes for USAC (FD mode and wLPT mode). If the GMS main mode switch is implemented at the encoder side, then the mode change signal or the current main mode signal must be contained in the bitstream so that the main mode is also known to the decoder. For example, in the Reference Model for Unified Voice and Audio Coding (USAC) proposed by ISO/IEC JTC1/SC29/WG11 N10847, July 2009, London, UK, there is a table 4.4 WD core_mode and a table 4.5 core_mode0/1 proposed to define the core mode .
После определения подходящей ФПВ для кодирования текущего квантованного спектрального элемента дискретизации BIN с помощью арифметического кодера AEC, текущий квантованный спектральный элемент дискретизации BIN загружают в запоминающее устройство близлежащей области MEM2, т.е. текущий элемент дискретизации BIN становится предыдущим элементом дискретизации. Предыдущие спектральные элементы дискретизации, содержащиеся в запоминающем устройстве близлежащей области MEM2, могут использоваться блоком COCL для кодирования следующего спектрального элемента дискретизации BIN. Во время, перед или после запоминания текущего спектрального элемента дискретизации BIN упомянутый текущий элемент дискретизации BIN является арифметически закодированным с помощью арифметического кодера AEC. Выходной сигнал арифметического кодирования AEC сохраняют в битовом буфере BUF или записывают непосредственно в битовый поток.After determining a suitable PDF to encode the current quantized spectral bin BIN with the arithmetic encoder AEC, the current quantized spectral bin BIN is loaded into the nearby area memory MEM2, i. the current bin BIN becomes the previous bin. The previous spectral bins contained in the nearby area memory MEM2 may be used by the COCL block to encode the next spectral bin BIN. During, before or after the current spectral bin BIN is stored, said current bin BIN is arithmetically encoded by an AEC arithmetic encoder. The output of the AEC arithmetic coding is stored in a BUF bit buffer or written directly to the bit stream.
Битовый поток или содержимое буфера BUF можно передавать или осуществлять широковещание через кабель или спутник, например. Или, арифметически закодированные спектральные элементы дискретизации можно записывать на таком носителе информации, как DVD (универсальный цифровой диск), жесткий диск, диск «blue-ray» и т.п. Запоминающее устройство ФПВ MEM1 и запоминающее устройство близлежащей области MEM2 можно реализовывать в одном физическом запоминающем устройстве.The bitstream or BUF buffer contents may be transmitted or broadcast over cable or satellite, for example. Or, the arithmetically encoded spectral bins can be recorded on a storage medium such as DVD (Digital Versatile Disc), hard disk, blue-ray disc, and the like. The PDF storage device MEM1 and the nearby area storage device MEM2 may be implemented in the same physical storage device.
Коммутатор сброса RS может предусматривать перезапуск кодирования или декодирования время от времени в специализированных кадрах, в которых кодирование и декодирование можно запускать без информации о предыдущих спектрах, специализированные кадры известны, как точки начала декодирования. Если коммутатор сброса RS реализуют на стороне кодера, то сигнал сброса должен содержаться в битовом потоке, так, чтобы о нем было также известно в декодере. Например, в эталонной модели для унифицированного кодирования речи и аудиоинформации (USAC), предложенный ISO/IEC JTC1/SC29/WG11 N10847, июль 2009, Лондон, Великобритания, существует флаг arith_reset_flag в таблице 4.10 WD и в таблице 4.14.The RS reset switch may allow encoding or decoding to be restarted from time to time in dedicated frames in which encoding and decoding can be started without knowledge of previous spectra, dedicated frames are known as decoding start points. If the RS reset switch is implemented on the encoder side, then the reset signal must be contained in the bitstream so that it is also known to the decoder. For example, in the Reference Model for Unified Speech and Audio Information Coding (USAC) proposed by ISO/IEC JTC1/SC29/WG11 N10847, July 2009, London, UK, there is an arith_reset_flag flag in WD Table 4.10 and in Table 4.14.
Соответствующая схема декодирования на основе близлежащей области для примера изображена на фиг.2. Она содержит аналогичные блоки, как в схеме кодирования. Определение ФПВ, которая будет использоваться для арифметического декодирования, идентично со схемой кодирования, для обеспечения, чтобы и в кодере, и в декодере определенная ФПВ была одинаковой. При арифметическом декодировании получает биты из битового буфера BUF или непосредственно из битового потока и использует определенную ФПВ для декодирования текущего квантованного спектрального элемента дискретизации BIN. Впоследствии декодированный квантованный спектральный элемент дискретизации загружают в запоминающее устройство близлежащей области MEM2 блока определения номера класса контекста COCL, и его можно использовать для декодирования следующего спектрального элемента дискретизации.A corresponding nearby area decoding scheme is shown in FIG. 2 as an example. It contains similar blocks as in the coding scheme. The definition of the PDF to be used for arithmetic decoding is identical to the coding scheme, to ensure that the defined PDF is the same in both the encoder and the decoder. In arithmetic decoding, receives bits from a BUF bit buffer or directly from a bit stream and uses the determined PDF to decode the current quantized BIN spectral bin. Subsequently, the decoded quantized spectral bin is loaded into the nearby area memory MEM2 of the context class number determiner COCL and can be used to decode the next spectral bin.
Фиг.3 для примера подробно изображает первый вариант осуществления средства классификации контекста COCL для определения класса контекста.3, by way of example, shows in detail a first embodiment of a COCL context classifier for determining a context class.
Перед сохранением текущего квантованного спектрального элемента дискретизации BIN в запоминающем устройстве спектров MEM2 его можно неравномерно квантовать в блоке NUQ1. У этого есть два преимущества: во-первых, это предоставляет возможность более эффективного сохранения квантованных элементов дискретизации, которые обычно являются 16-битными целочисленными значениями со знаком. Во-вторых, количество значений, которые может иметь каждый квантованный элемент дискретизации, сокращается. Это предоставляет возможность значительного сокращения возможных классов контекста в процессе определения класса контекста в блоке CLASS. Кроме того, поскольку при определении класса контекста знак квантованных элементов дискретизации можно не учитывать, блок неравномерного квантования NUQ1 может включать в себя вычисление абсолютных значений. В таблице 1 показывают примерное неравномерное квантование, как его можно выполнять с помощью блока NUQ1. В данном примере после неравномерного квантования для каждого элемента дискретизации возможны три различных значения. Но в общем случае, единственное ограничение для неравномерного квантования состоит в том, что оно сокращает количество значений, которые может принимать элемент дискретизации.Before storing the current quantized spectral bin BIN in the spectrum memory MEM2, it may be non-uniformly quantized in block NUQ1. This has two advantages: first, it allows more efficient storage of quantized bins, which are typically 16-bit signed integer values. Second, the number of values that each quantized bin can have is reduced. This allows for a significant reduction in the possible context classes in the process of defining the context class in the CLASS block. In addition, since the sign of the quantized bins may be ignored in determining the context class, the non-uniform quantization block NUQ1 may include calculating absolute values. Table 1 shows an exemplary non-uniform quantization as it can be performed using the NUQ1 block. In this example, after non-uniform quantization, three different values are possible for each bin. But in general, the only limitation for non-uniform quantization is that it reduces the number of values a bin can take.
Примерный этап неравномерного квантования, включающий в себя вычисление абсолютных значенийTable 1
An exemplary non-uniform quantization step including calculation of absolute values
Неравномерно квантованные/отображенные спектральные элементы дискретизации хранят в спектральном запоминающем устройстве MEM2. Согласно выбранному основному режиму GMS, для определения класса контекста CLASS для каждого элемента дискретизации, который будут кодировать, выбирают выбранную близлежащую область NBH спектральных элементов дискретизации.The non-uniformly quantized/mapped spectral bins are stored in the spectral memory MEM2. According to the selected basic GMS mode, to determine the context class CLASS for each bin to be encoded, select the selected nearby region NBH of the spectral bins.
Фиг.5a для примера изображает первую примерную близлежащую область NBH спектрального элемента дискретизации BIN, который будут кодировать или который будут декодировать.5a shows, for example, a first exemplary nearby area NBH of a spectral bin BIN to be encoded or to be decoded.
В данном примере только спектральные элементы дискретизации фактического или текущего спектра (кадра) и спектральные элементы дискретизации одного предыдущего спектра (кадра) определяют близлежащую область NBH. Конечно, можно использовать спектральные элементы дискретизации более чем из одного предыдущего спектра, как часть близлежащей области, что приведет к более высокой сложности, но может также в конечном счете обеспечить более высокую эффективность кодирования. Следует отметить, что для определения близлежащей области NBH из фактического спектра можно использовать только переданные элементы дискретизации, поскольку они также должны быть доступны в декодере. В данном случае, так же как и в последующих примерах, предполагают порядок передачи от низких к высоким частотам для спектральных элементов дискретизации.In this example, only the spectral bins of the actual or current spectrum (frame) and the spectral bins of one previous spectrum (frame) define the nearby NBH region. Of course, it is possible to use spectral bins from more than one previous spectrum as part of the nearby region, resulting in higher complexity, but may also result in higher coding efficiency in the long run. It should be noted that only the transmitted bins can be used to determine the nearby NBH from the actual spectrum, as these must also be available at the decoder. In this case, as well as in the following examples, the order of transmission from low to high frequencies for the spectral bins is assumed.
Выбранную близлежащую область NBH затем используют в качестве входной информации для блока определения класса контекста COCL. Далее сначала объясняют общую идею, которая стоит за определением класса контекста, и упрощенную версию, перед описанием специальной реализации.The selected nearby NBH is then used as input to the COCL context class determiner. Next, the general idea behind the context class definition and the simplified version are first explained before describing the specific implementation.
Общая идея, которая стоит за определением класса контекста, состоит в том, чтобы предоставить возможность кодирования надежной оценки отклонения элемента дискретизации. Это предсказанное отклонение также можно использовать для кодирования оценки ФПВ элемента дискретизации. Для оценки отклонения не требуется оценивать знак элементов дискретизации в близлежащей области. Поэтому знак можно не учитывать уже на этапе квантования перед сохранением в спектральном запоминающем устройстве MEM2. Очень простое определение класса контекста может выглядеть следующим образом: близлежащая область NBH спектрального элемента дискретизации BIN может выглядеть, как на фиг.5a, и состоять из 7 спектральных элементов дискретизации. Если для примера используют неравномерное квантование, показанное в таблице, то каждый элемент дискретизации может иметь 3 значения. Это приводит к 37=2187 возможным классам контекста.The general idea behind the context class definition is to provide the ability to encode a reliable estimate of the bin variance. This predicted variance can also be used to encode a bin PDF estimate. To estimate the deviation, it is not necessary to evaluate the sign of the bins in the nearby area. Therefore, the sign can be ignored already in the quantization step before being stored in the spectral memory MEM2. A very simple definition of the context class could look like this: the nearby region NBH of the spectral bin BIN could look like in FIG. 5a and consist of 7 spectral bins. If the non-uniform quantization shown in the table is used as an example, then each bin can have 3 values. This results in 3 7 =2187 possible context classes.
Для дополнительного сокращения этого количества возможных классов контекста относительное расположение каждого элемента дискретизации в близлежащей области NBH можно не учитывать. Поэтому считают только те элементы дискретизации, которые имеют значения 0, 1 или 2, соответственно, причем сумма количества элементов дискретизации со значением 0, количества элементов дискретизации со значением 1 и количества элементов дискретизации со значением 2 конечно равна общему количеству элементов дискретизации в близлежащей области. В близлежащей области NBH, содержащей n элементов дискретизации, из которых каждый может иметь одно из трех различных значений, существует 0,5*(n2+3*n+2) классов контекста. Например, в близлежащей области 7 элементов дискретизации существуют 36 возможных классов контекста, а в близлежащей области 6 элементов дискретизации существует 28 возможных классов контекста.To further reduce this number of possible context classes, the relative location of each bin in the nearby NBH area can be ignored. Therefore, only those bins that have values of 0, 1, or 2, respectively, are counted, where the sum of the number of bins with a value of 0, the number of bins with a value of 1, and the number of bins with a value of 2 is, of course, equal to the total number of bins in the nearby area. There are 0.5*(n 2 +3*n+2) context classes in a nearby NBH containing n bins, each of which can have one of three different values. For example, in the nearby bin area of 7, there are 36 possible context classes, and in the nearby bin area of 6, there are 28 possible context classes.
Более сложное, но все еще довольно простое определение класса контекста принимает во внимание, что исследование показало, что спектральный элемент дискретизации предыдущего спектра на той же самой частоте является особо важным (спектральный элемент дискретизации, изображенный кругом из точек на фиг.5a, 5b, 6a, 6b, 7a, 7b, 7c, 8 и 9). Для других элементов дискретизации в близлежащей области, изображенных как горизонтально заштрихованные круги на соответствующих фигурах, их относительное расположение менее важно. Таким образом, элемент дискретизации на той же самой частоте в предыдущем спектре используется однозначно для определения класса контекста, тогда как для других 6 элементов дискретизации считают только количество элементов дискретизации со значением 0, количество элементов дискретизации со значением 1 и количество элементов дискретизации со значением 2. Это приводит к 3×28=84 возможным классам контекста. A more complex, but still rather simple definition of the context class takes into account that the study has shown that the spectral bin of the previous spectrum at the same frequency is of particular importance (the spectral bin depicted by the dotted circle in Figs. 5a, 5b, 6a , 6b, 7a, 7b, 7c, 8, and 9). For other bins in the nearby area, depicted as horizontally shaded circles in the respective figures, their relative position is less important. Thus, a bin at the same frequency in the previous spectrum is uniquely used to determine the context class, while for the other 6 bins, only the number of bins with a value of 0, the number of bins with a value of 1, and the number of bins with a value of 2 are counted. This results in 3x28=84 possible context classes.
Эксперименты показали, что такая классификация контекста очень эффективна для режима FD.Experiments have shown that this context classification is very efficient for the FD mode.
Определение класса контекста может быть расширено с помощью оценки отклонения VES, которая управляет неравномерным вторым квантованием NUQ2. Это предоставляет возможность лучшей настройки блока генерации класса контекста COCL для кодирования более высокого динамического диапазона предсказанного отклонения элемента дискретизации. Соответствующая структурная схема расширенного определения класса контекста для примера показана на фиг.4.The context class definition can be extended with a VES variance estimate that controls the non-uniform NUQ2 second quantization. This allows better tuning of the COCL context class generation block to encode a higher dynamic range of the predicted bin variance. The corresponding block diagram of the extended definition of the context class for example is shown in Fig.4.
В примере, показанном на фиг.4, неравномерное квантование разделяют на два этапа, на которых предыдущий этап обеспечивает более частое квантование (блок NUQ1), а последующий этап обеспечивает более редкое квантование (блок NUQ2). Это предусматривает настройку квантования, например, для заданного отклонения близлежащей области. Отклонение близлежащей области оценивают в блоке оценки отклонения VES, причем оценка отклонения основана на упомянутом предыдущем более частом квантовании элементов дискретизации в близлежащей области NBH в блоке NUQ1. Оценка отклонения не обязательно должна быть точной, а может быть очень грубой. Например, приложению USAC достаточно определить, выполняется или нет условие, что сумма абсолютных значений элементов дискретизации в близлежащей области NBH после упомянутого более частого квантования равна или превышает пороговое значение отклонения, т.е. достаточно переключения между большим и небольшим отклонением.In the example shown in FIG. 4, non-uniform quantization is divided into two stages, in which the previous stage provides more frequent quantization (NUQ1 block) and the subsequent stage provides sparser quantization (NUQ2 block). This involves adjusting the quantization, for example, for a given deviation of the nearby area. The nearby area deviation is estimated in the VES deviation estimator, with the deviation estimate based on the previous more frequent bin quantization in the NBH nearby area in the NUQ1 block. The deviation estimate does not need to be exact, but can be very rough. For example, it is sufficient for the USAC application to determine whether or not the sum of the absolute values of the bins in the nearby NBH region after said more frequent quantization is equal to or greater than the deviation threshold, i.e. switching between large and small deviation is sufficient.
Неравномерное квантование с 2 этапами может выглядеть, как показано в таблице 2. В данном примере режим небольшого отклонения соответствует квантованию с 1 этапом, показанному в таблице 2. The 2-stage non-uniform quantization may look as shown in Table 2. In this example, the small deviation mode corresponds to the 1-stage quantization shown in Table 2.
элементов дискретизацииThe absolute value of the quantized spectral
bins
Заключительное определение класса контекста в блоке CLASS является таким же, как в упрощенной версии на фиг.3. Можно использовать различное определение класса контекста согласно режиму отклонения. Также можно использовать больше двух режимов отклонения, что, конечно, приведет к увеличению количества классов контекста и к увеличению сложности.The final definition of the context class in the CLASS block is the same as in the simplified version in FIG. You can use a different context class definition according to the rejection mode. It is also possible to use more than two deflection modes, which of course will increase the number of context classes and increase complexity.
Для первых элементов дискретизации в спектре близлежащую область, как это показано на фиг.5a или 5b, не применяют, потому что для первых элементов дискретизации не существуют ни одного или существуют не все элементы дискретизации более низкой частоты. Для каждого из этих особых случаев может быть определена собственная близлежащая область. В дополнительном варианте осуществления несуществующие элементы дискретизации заполняют предопределенным значением. Для примерной близлежащей области, приведенной на фиг.5a, определенные близлежащие области для первых элементов дискретизации, которые будут передавать в спектре, показывают на фиг.6a и фиг.6b. Идея состоит в том, чтобы расширить близлежащую область до элементов дискретизации более высокой частоты, чтобы предусмотреть использование той же самой функции определения класса контекста, как и для остальной части спектра. Это означает также, что можно использовать те же самые классы контекста, и наконец, те же самые ФПВ. Это не было бы возможно, если размер близлежащей области был просто уменьшен (конечно, это также возможно).For the first bins in the spectrum, the nearby region, as shown in FIGS. 5a or 5b, is not applied because none or not all of the lower frequency bins exist for the first bins. Each of these special cases can have its own nearby area. In a further embodiment, non-existent bins are filled with a predefined value. For the exemplary nearby area shown in Fig. 5a, the determined nearby regions for the first bins to be transmitted in the spectrum are shown in Fig. 6a and Fig. 6b. The idea is to expand the nearby region to higher frequency bins to allow for the use of the same context class determination function as for the rest of the spectrum. This also means that the same context classes can be used, and finally the same PDFs. This would not be possible if the size of the nearby area was simply reduced (of course this is also possible).
Сбросы обычно происходят перед кодированием нового спектра. Как уже указано, это необходимо для предоставления возможности декодирования специализированных начальных точек. Например, если процесс декодирования должен запускаться с определенного кадра/спектра, то фактически процесс декодирования должен начинаться с точки последнего сброса для последовательного декодирования предыдущего кадра до требуемого начального спектра. Это означает, чем больше сбросов происходит, тем больше точек начала декодирования для декодирования существует. Однако, эффективность кодирования меньше в спектре после сброса.Resets usually occur before a new spectrum is coded. As already stated, this is necessary to enable decoding of specialized starting points. For example, if the decoding process is to start from a certain frame/spectrum, then the actual decoding process must start from the last reset point to sequentially decode the previous frame to the desired start spectrum. This means that the more resets that occur, the more decoding start points there are for decoding. However, the coding efficiency is less in the spectrum after the reset.
После того, как сброс произошел, для определения близлежащей области не доступен никакой предыдущий спектр. Это означает, что только предыдущие спектральные элементы дискретизации фактического спектра могут использоваться в близлежащей области. Однако, общую процедуру можно не изменять, и можно использовать те же самые «инструментальные средства». Снова, первые элементы дискретизации необходимо обрабатывать по-другому, как уже объяснено в предыдущем разделе.Once the reset has occurred, no previous spectrum is available to determine the nearby area. This means that only the previous spectral bins of the actual spectrum can be used in the nearby area. However, the general procedure need not be changed and the same "tools" can be used. Again, the first bins need to be handled differently, as already explained in the previous section.
На фиг.8 показывают примерное определение близлежащей области при сбросе. Это определение может использоваться в случае сброса в режиме FD USAC.Figure 8 shows an exemplary definition of the nearby area when reset. This definition can be used in case of reset in FD USAC mode.
Количество дополнительных классов контекста, как показано в примере на фиг.8 (используя квантование в таблице с окончательно 3 возможными квантованными значениями или с 6 значениями, если используются значения после этапа 1 квантования), является следующим: обработка самого первого элемента дискретизации добавляет 1 класс контекста, 2-й элемент дискретизации добавляет 6 (используется значение после этапа 1 квантования), 3-й элемент дискретизации добавляет 6 и 4-й элемент дискретизации добавляет 10 классов контекста. Если дополнительно рассматривают два режима с (небольшим и большим) отклонением, то количество классов контекста почти удваивается (не удваивается только для первого элемента дискретизации, где никакая информация не доступна, и для второго элемента дискретизации, где используется значение элемента дискретизации после этапа 1 квантования).The number of additional context classes, as shown in the example in FIG. 8 (using quantization in a table with finally 3 possible quantized values, or with 6 values if values after quantization step 1 are used), is as follows: processing the very first bin adds 1 context class , the 2nd bin adds 6 (using the value after quantization step 1), the 3rd bin adds 6, and the 4th bin adds 10 context classes. If two modes with (small and large) deviation are additionally considered, then the number of context classes almost doubles (does not double only for the first bin, where no information is available, and for the second bin, where the value of the bin after quantization step 1 is used) .
Это приводит в данном примере к 1+6+2×6+2×10=39 дополнительных классов контекста для обработки сбросов.This results in 1+6+2x6+2x10=39 additional context classes for handling flushes in this example.
Блок отображения MAP использует результат классификации контекста, определенный с помощью блока COCL, например, определенный номер класса контекста, и выбирает соответствующую ФПВ из запоминающего устройства ФПВ MEM1. На этом этапе можно дополнительно уменьшать величину необходимой емкости запоминающего устройства, при использовании одной ФПВ более чем для одного класса контекста. Таким образом, классы контекста, у которых есть аналогичная ФПВ, могут использовать объединенную ФПВ. Эти ФПВ можно предварительно определять на фазе обучения, используя достаточно большой репрезентативный набор данных. Это обучение может включать в себя фазу оптимизации, в которой идентифицируют классы контекста, соответствующие аналогичным ФПВ, и соответствующие ФПВ объединяют. В зависимости от статистики данных это может привести к довольно небольшому количеству ФПВ, которые должны храниться в запоминающем устройстве. В примерной версии эксперимента для USAC было успешно применено отображение 822 классов контекста в 64 ФПВ.The MAP mapping unit uses the context classification result determined by the COCL unit, for example, the determined context class number, and selects the corresponding PDF from the PDF memory MEM1. At this stage, it is possible to further reduce the amount of required storage capacity when using one PDF for more than one context class. Thus, context classes that have a similar PDF can use the combined PDF. These PDFs can be predetermined during the training phase using a sufficiently large representative data set. This learning may include an optimization phase in which context classes corresponding to similar PDFs are identified and the corresponding PDFs are combined. Depending on the statistics of the data, this may result in a rather small number of PDFs that need to be stored in the storage device. In the exemplary USAC version of the experiment, mapping of 822 context classes to 64 PDFs was successfully applied.
Реализацией этой функции отображения MAP может быть просто поиск по таблице, если количество классов контекста не является слишком большим. Если данное количество становится больше, то можно применять поиск по хэш-таблице по причинам эффективности.The implementation of this MAP mapping function can be a simple table lookup if the number of context classes is not too large. If this number becomes larger, then a hash table lookup may be applied for efficiency reasons.
Как указано выше, коммутатор основного режима GMS предусматривает переключение между режимом работы в частотной области (FD) и режимом взвешенного преобразования на основе линейного предсказания (wLPT). В зависимости от режима можно использовать различные близлежащие области. Примерные близлежащие области, изображенные на фиг.5a, фиг.6a и 6b и фиг.8, показали себя в экспериментах, как достаточно большие для режима FD. Но для режима wLPT определили, что более предпочтительны более крупные близлежащие области, как изображенные для примера на фиг.5b, фиг.7a, 7b и 7c и фиг.9. As mentioned above, the GMS main mode switch provides for switching between the frequency domain (FD) mode and the weighted linear prediction transform (wLPT) mode. Depending on the mode, different nearby areas can be used. The exemplary nearby areas depicted in Figs. 5a, 6a and 6b and Fig. 8 have shown themselves in experiments to be large enough for the FD mode. But for the wLPT mode, it has been determined that larger nearby areas are more preferable, as illustrated by way of example in Figures 5b, Figures 7a, 7b and 7c, and Figure 9.
Таким образом, примерная обработка сброса в режиме wLPT изображается на фиг.9. Примерные близлежащие области в режиме wLPT для элемента дискретизации самой низкой частоты, второй самой низкой частоты, третьей самой низкой частоты и четвертой самой низкой частоты в спектре изображают на фиг.7a, 7b, 7c и 7d, соответственно. А примерную близлежащую область в режиме wLPT для всех других элементов дискретизации в спектре изображают на фиг.5b.Thus, exemplary wLPT mode reset processing is depicted in FIG. Exemplary nearby areas in the wLPT mode for the lowest frequency bin, the second lowest frequency, the third lowest frequency, and the fourth lowest frequency in the spectrum are depicted in FIGS. 7a, 7b, 7c, and 7d, respectively. And the approximate nearby area in wLPT mode for all other bins in the spectrum is shown in Fig. 5b.
Количество классов контекста, являющихся результатом примерной близлежащей области, изображенной на фиг.5b, равно 3×91=273 класса контекста. Коэффициент 3 является результатом специальной обработки одного элемента дискретизации на той же самой частоте, как тот элемент, который в настоящий момент должен кодироваться или в настоящий момент должен декодироваться. Согласно приведенной выше формуле, существует 0,5*((12*12)+3*12+2)=91 комбинация индексов элементов дискретизации со значением 2, 1 или 0 для остальных 12 элементов дискретизации в близлежащей области. В варианте осуществления, в котором дифференцируют классы контекста в зависимости от того, выполняется или нет условие, что отклонение близлежащей области равно или превышает пороговое значение, количество 273 класса контекста удваиваются.The number of context classes resulting from the exemplary nearby area depicted in FIG. 5b is 3×91=273 context classes. The factor 3 is the result of special processing of one bin at the same frequency as the bin that is currently to be encoded or is currently to be decoded. According to the above formula, there are 0.5*((12*12)+3*12+2)=91 combination of bin indices with a value of 2, 1, or 0 for the remaining 12 bins in the nearby area. In an embodiment in which the context classes are differentiated depending on whether or not the condition that the deviation of the nearby area is equal to or greater than a threshold value is met, the number 273 of the context class is doubled.
Примерная обработка сброса, как показано на фиг.9, может также добавлять некоторое количество классов контекста.The exemplary reset processing as shown in FIG. 9 may also add a number of context classes.
В протестированном примерном варианте осуществления, который приводил к хорошим результатам в экспериментах, существует 822 возможных класса контекста, которые распределены в следующей таблице 3.In the tested exemplary embodiment, which gave good results in experiments, there are 822 possible context classes, which are distributed in the following table 3.
Распределенные возможные классы контекста в предложении
MPEG CE USACTable 3
Distributed Possible Context Classes in a Sentence
MPEG CE USAC
В протестированном примерном варианте осуществления эти 822 возможных класса контекста отображают в 64 ФПВ. Данное отображение определяют на фазе обучения, как описано выше.In the exemplary embodiment tested, these 822 possible context classes are mapped to 64 PDFs. This mapping is determined in the learning phase as described above.
Результирующие 64 ФПВ должны храниться в таблицах ROM, например, с 16-битной точностью для арифметического кодера с фиксированной точкой. В данном случае обнаруживается другое преимущество предложенной схемы: в текущей работающей черновой версии стандарта USAC, упомянутого в разделе предшествующего уровня техники, тетрады (векторы, содержащие 4 спектральных элементов дискретизации) совместно кодируют с помощью одной кодовой комбинации. Это приводит к очень большим кодовым книгам, даже если динамический диапазон каждого компонента в векторе является очень небольшим (например, каждый компонент может иметь значения [-4, …, 3]→84=4096 возможных различных векторов). Скалярное кодирование, однако, обеспечивает расширенный динамический диапазон для каждого элемента дискретизации с очень небольшой кодовой книгой. Кодовая книга, используемая в протестированном примерном варианте осуществления, имеет 32 записи, обеспечивая динамический диапазон для элемента дискретизации от -15 до +15 и Esc-кодовую комбинацию (для случая, когда значение элемента дискретизации находится вне этого диапазона). Это подразумевает, что только 64×32 16-битовых значений необходимо хранить в таблицах ROM.The resulting 64 PDFs must be stored in ROM tables, for example, with 16-bit precision for a fixed-point arithmetic encoder. In this case, another advantage of the proposed scheme is found: in the current working draft version of the USAC standard mentioned in the background section, tetrads (vectors containing 4 spectral bins) are jointly encoded with a single codeword. This results in very large codebooks, even if the dynamic range of each component in the vector is very small (eg, each component can have the values [-4, ..., 3]→8 4 =4096 possible different vectors). Scalar encoding, however, provides extended dynamic range for each bin with a very small codebook. The codebook used in the tested exemplary embodiment has 32 entries, providing a dynamic bin range of -15 to +15 and an Esc codeword (for the case where the bin value is outside this range). This implies that only 64x32 16-bit values need to be stored in the ROM tables.
Выше описан способ арифметического кодирования текущего спектрального коэффициента, используя предыдущие спектральные коэффициенты, в котором упомянутые предыдущие спектральные коэффициенты уже закодированы, причем упомянутые и предыдущие, и текущий спектральные коэффициенты содержатся в одном или более квантованных спектров, которые являются результатом квантования результата частотно-временного преобразования значений дискретизации видео-, аудио- или голосовых сигналов. В одном из вариантов осуществления упомянутый способ содержит обработку предыдущих спектральных коэффициентов, использование обработанных предыдущих спектральных коэффициентов для определения класса контекста, являющимся одним по меньшей мере из двух различных классов контекста, использование определенного класса контекста и отображения по меньшей мере двух различных классов контекста по меньшей мере в две различные функции плотности вероятности для определения функции плотности вероятности и арифметическое кодирование текущего спектрального коэффициента, основываясь на определенной функции плотности вероятности, причем обработка предыдущих спектральных коэффициентов содержит неравномерное квантование предыдущих спектральных коэффициентов. The above describes a method for arithmetic encoding of the current spectral coefficient using the previous spectral coefficients, in which the said previous spectral coefficients are already encoded, and both the previous ones and the current spectral coefficients are contained in one or more quantized spectra, which are the result of quantizing the result of the time-frequency transformation of the values sampling video, audio or voice signals. In one embodiment, said method comprises processing the previous spectral coefficients, using the processed previous spectral coefficients to determine a context class that is one of at least two different context classes, using the determined context class, and displaying at least two different context classes of at least into two different probability density functions to determine the probability density function; and arithmetic encoding the current spectral coefficient based on the determined probability density function, wherein the processing of the previous spectral coefficients comprises non-uniform quantization of the previous spectral coefficients.
В другом примерном варианте осуществления устройство для арифметического кодирования текущего спектрального коэффициента, используя предыдущие уже закодированные спектральные коэффициенты, содержит средство обработки, первое средство для определения класса контекста, запоминающее устройство, в котором хранят по меньшей мере две различные функции плотности вероятности, второе средство для извлечения плотности вероятности и арифметический кодер.In another exemplary embodiment, a device for arithmetic encoding of the current spectral coefficient, using the previous already encoded spectral coefficients, comprises a processing means, a first means for determining the context class, a memory storing at least two different probability density functions, a second means for extracting probability density and arithmetic encoder.
В этом случае средство обработки выполнено с возможностью обработки предыдущих, уже закодированных спектральных коэффициентов с помощью их неравномерного квантования, и упомянутое первое средство выполнено с возможностью использования результата обработки для определения класса контекста, который является одним по меньшей мере из двух различных классов контекста. Запоминающее устройство хранит по меньшей мере две различные функции плотности вероятности и отображение по меньшей мере двух различных классов контекста по меньшей мере в две различные функции плотности вероятности, что предусматривает извлечение функции плотности вероятности, которая соответствует определенному классу контекста. Второе средство выполнено с возможностью извлечения из запоминающего устройства плотности вероятности, которая соответствует определенному классу контекста, и арифметический кодер выполнен с возможностью арифметического кодирования текущего спектрального коэффициента, основываясь на извлеченной функции плотности вероятности.In this case, the processing means is configured to process the previous, already encoded spectral coefficients by their non-uniform quantization, and said first means is configured to use the processing result to determine a context class, which is one of at least two different context classes. The memory device stores at least two different probability density functions and a mapping of at least two different context classes to at least two different probability density functions, which involves extracting a probability density function that corresponds to a certain context class. The second means is configured to extract from the memory a probability density that corresponds to a certain class of context, and the arithmetic encoder is configured to arithmetic-code the current spectral coefficient based on the extracted probability density function.
Существует соответствующий другой примерный вариант осуществления устройства для арифметического декодирования текущего спектрального коэффициента, используя предыдущие уже декодированные спектральные коэффициенты, который содержит средство обработки, первое средство для определения класса контекста, запоминающее устройство, в котором хранят по меньшей мере две различные функции плотности вероятности, второе средство для извлечения плотности вероятности, и арифметический декодер.There is a corresponding other exemplary embodiment of an apparatus for arithmetic decoding of the current spectral coefficient using previous already decoded spectral coefficients, which comprises a processing means, a first means for determining a context class, a memory storing at least two different probability density functions, a second means to extract the probability density, and an arithmetic decoder.
В этом случае средство обработки выполнено с возможностью обработки предыдущих, уже декодированных спектральных коэффициентов с помощью их неравномерного квантования, и упомянутое первое средство выполнено с возможностью использования результата обработки для определения класса контекста, который является одним по меньшей мере из двух различных классов контекста. Запоминающее устройство хранит по меньшей мере две различные функции плотности вероятности и отображение по меньшей мере двух различных классов контекста по меньшей мере в две различные функции плотности вероятности, что предусматривает извлечение функции плотности вероятности, которая соответствует определенному классу контекста. Второе средство выполнено с возможностью извлечения из запоминающего устройства плотности вероятности, которая соответствует определенному классу контекста, и арифметический декодер выполнен с возможностью арифметического декодирования текущего спектрального коэффициента, основываясь на извлеченной функции плотности вероятности. In this case, the processing means is configured to process the previous, already decoded spectral coefficients using their non-uniform quantization, and said first means is configured to use the processing result to determine a context class, which is one of at least two different context classes. The memory device stores at least two different probability density functions and a mapping of at least two different context classes to at least two different probability density functions, which involves extracting a probability density function that corresponds to a certain context class. The second means is configured to retrieve from the memory a probability density that corresponds to the determined context class, and the arithmetic decoder is configured to arithmetic decode the current spectral coefficient based on the extracted probability density function.
Claims (32)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09305961.6 | 2009-10-09 | ||
EP09305961A EP2315358A1 (en) | 2009-10-09 | 2009-10-09 | Method and device for arithmetic encoding or arithmetic decoding |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015135352A Division RU2691197C2 (en) | 2009-10-09 | 2010-10-01 | Method and device for arithmetic coding or arithmetic decoding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022121863A Division RU2022121863A (en) | 2009-10-09 | 2022-08-11 | METHOD AND DEVICE FOR ARITHMETIC CODING OR ARITHMETIC DECODING |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2019115916A RU2019115916A (en) | 2020-11-23 |
RU2019115916A3 RU2019115916A3 (en) | 2022-02-02 |
RU2778873C2 true RU2778873C2 (en) | 2022-08-26 |
Family
ID=
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5298896A (en) * | 1993-03-15 | 1994-03-29 | Bell Communications Research, Inc. | Method and system for high order conditional entropy coding |
RU2093968C1 (en) * | 1995-08-02 | 1997-10-20 | Закрытое акционерное общество "Техно-ТМ" | Method for encoding and decoding images and device which implements said method |
US20050052295A1 (en) * | 2002-09-20 | 2005-03-10 | Bossen Frank Jan | Method and apparatus for arithmetic coding, including probability estimation state table creation |
EP1921752A1 (en) * | 2006-11-13 | 2008-05-14 | Global IP Solutions (GIPS) AB | Adaptive arithmetic encoding and decoding of digital data |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5298896A (en) * | 1993-03-15 | 1994-03-29 | Bell Communications Research, Inc. | Method and system for high order conditional entropy coding |
RU2093968C1 (en) * | 1995-08-02 | 1997-10-20 | Закрытое акционерное общество "Техно-ТМ" | Method for encoding and decoding images and device which implements said method |
US20050052295A1 (en) * | 2002-09-20 | 2005-03-10 | Bossen Frank Jan | Method and apparatus for arithmetic coding, including probability estimation state table creation |
EP1921752A1 (en) * | 2006-11-13 | 2008-05-14 | Global IP Solutions (GIPS) AB | Adaptive arithmetic encoding and decoding of digital data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11381249B2 (en) | Arithmetic encoding/decoding of spectral coefficients using preceding spectral coefficients | |
RU2778873C2 (en) | Method and device for arithmetic coding or arithmetic decoding |