RU2782182C1 - Audio encoder with signal-dependent precision and number control, audio decoder and related methods and computer programs - Google Patents
Audio encoder with signal-dependent precision and number control, audio decoder and related methods and computer programs Download PDFInfo
- Publication number
- RU2782182C1 RU2782182C1 RU2022100599A RU2022100599A RU2782182C1 RU 2782182 C1 RU2782182 C1 RU 2782182C1 RU 2022100599 A RU2022100599 A RU 2022100599A RU 2022100599 A RU2022100599 A RU 2022100599A RU 2782182 C1 RU2782182 C1 RU 2782182C1
- Authority
- RU
- Russia
- Prior art keywords
- frame
- audio data
- value
- audio
- information units
- Prior art date
Links
- 230000001419 dependent Effects 0.000 title claims description 26
- 230000000694 effects Effects 0.000 claims abstract description 8
- 230000001276 controlling effect Effects 0.000 claims abstract description 5
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 230000003595 spectral Effects 0.000 claims description 61
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007493 shaping process Methods 0.000 claims description 8
- 230000002123 temporal effect Effects 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 3
- 230000002087 whitening Effects 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000001228 spectrum Methods 0.000 description 30
- 238000000034 method Methods 0.000 description 29
- 238000004364 calculation method Methods 0.000 description 27
- 230000000875 corresponding Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 241001442055 Vipera berus Species 0.000 description 6
- 238000010192 crystallographic characterization Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000006011 modification reaction Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000001143 conditioned Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002194 synthesizing Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Abstract
Description
Настоящее изобретение относится к обработке аудиосигналов и, в частности, к аудиокодерам/декодерам, применяющим зависимое от сигнала управление точностью и числом.The present invention relates to audio signal processing, and in particular to audio encoders/decoders employing signal dependent precision and number control.
Современные аудиокодеры на основе преобразования применяют последовательность психоакустически обусловленных обработок к спектральному представлению аудиосегмента (кадра) для получения остаточного спектра. Этот остаточный спектр квантуется, и коэффициенты кодируются с использованием энтропийного кодирования.Modern transform-based audio encoders apply a sequence of psycho-acoustically conditioned processing to the spectral representation of an audio segment (frame) to produce a residual spectrum. This residual spectrum is quantized and the coefficients are encoded using entropy coding.
В этом процессе, размер шага квантования, который обычно регулируется через глобальное усиление, имеет прямое влияние на потребление битов энтропийного кодера и должен выбираться таким образом, чтобы соответствовать битовому бюджету, который обычно ограничен и зачастую является фиксированным. Поскольку потребление битов энтропийного кодера и, в частности, арифметического кодера точно не известно до кодирования, вычисление оптимального глобального усиления может выполняться только в итерации с замкнутым контуром квантования и кодирования. Тем не менее, это является нецелесообразным при определенных ограничениях по сложности, поскольку арифметическое кодирование влечет за собой существенную вычислительную сложность.In this process, the quantization step size, which is usually controlled via the global gain, has a direct impact on the bit consumption of the entropy encoder and must be chosen to match the bit budget, which is usually limited and often fixed. Because the bit consumption of the entropy encoder, and in particular the arithmetic encoder, is not exactly known prior to encoding, the calculation of the optimal global gain can only be performed in a closed-loop quantization and encoding iteration. However, this is impractical under certain complexity constraints because arithmetic coding entails significant computational complexity.
Кодеры из уровня техники, которые содержатся в кодеке EVS 3GPP, в силу этого содержат модуль оценки потребления битов для извлечения первой оценки глобального усиления, которая обычно работает в спектре мощности остаточного сигнала. В зависимости от ограничения по сложности, после него может содержаться контур скорости передачи для детализации первой оценки. Использование только такой оценки или в сочетании с очень ограниченной пропускной способностью коррекции уменьшает сложность, но также и уменьшает точность, что приводит к существенным недо- или переоценкам потребления битов.The prior art encoders contained in the 3GPP EVS codec therefore include a bit consumption estimator to extract a first global gain estimate, which typically operates in the power spectrum of the residual signal. Depending on the complexity constraint, it may be followed by a rate loop to refine the first estimate. Using this estimate alone, or in combination with very limited correction bandwidth, reduces complexity but also reduces accuracy, resulting in significant under- or overestimation of bit consumption.
Переоценка потребления битов приводит к избыточным битам после первого каскада кодирования. Кодеры из уровня техники используют их для детализации квантования кодированных коэффициентов во втором каскаде кодирования, называемом «остаточным кодированием». Остаточное кодирование фундаментально отличается от первого каскада кодирования, поскольку оно работает при степени детализации в бит и в силу этого не включает энтропийного кодирования. Кроме того, остаточное кодирование обычно применяется только на частотах с квантованными значениями, неравными нулю, оставляя мертвые зоны, которые дополнительно не улучшаются.Overestimating bit consumption results in redundant bits after the first encoding stage. Prior art encoders use them to refine the quantization of coded coefficients in a second coding stage called "residual coding". Residual coding is fundamentally different from the first coding stage because it operates at granularity per bit and therefore does not involve entropy coding. Moreover, residual coding is typically only applied at frequencies with non-zero quantized values, leaving dead zones that do not improve further.
С другой стороны, недооценка потребления битов неизбежно приводит к частичным потерям спектральных коэффициентов, обычно наибольших частот. В кодерах из уровня техники, этот эффект уменьшается посредством применения замещения шума в декодере, которое основано на предположении, что высокочастотное содержимое обычно является шумным.On the other hand, underestimating the consumption of bits inevitably leads to a partial loss of the spectral coefficients, usually the highest frequencies. In prior art encoders, this effect is reduced by applying noise replacement in the decoder, which is based on the assumption that high frequency content is typically noisy.
В этой конфигурации совершенно очевидно, что желательно кодировать максимально возможно большую часть сигнала возможного на первом этапе кодирования, который использует энтропийное кодирование, и в силу этого является более эффективным, чем этап остаточного кодирования. Следовательно, можно хотеть выбирать глобальное усиление с битовой оценкой, максимально возможно близкой к доступному битовому бюджету. Хотя модуль оценки на основе спектра мощности хорошо работает для большей части аудиосодержимого, он может вызывать проблемы для высокотональных сигналов, в которых оценка первого каскада главным образом основана на нерелевантных боковых лепестках частотного разложения гребенки фильтров, в то время как важные компоненты теряются вследствие недооценки потребления битов.In this configuration, it is quite obvious that it is desirable to encode as much of the signal as possible in the first coding step, which uses entropy coding and is therefore more efficient than the residual coding step. Therefore, one may want to choose a global gain with a bit estimate as close as possible to the available bit budget. Although the power spectrum estimator works well for most audio content, it can cause problems for high-pitched signals, in which the first stage estimation is mainly based on irrelevant filterbank frequency decomposition sidelobes, while important components are lost due to underestimation of bit consumption. .
Задача настоящего изобретения состоит в создании усовершенствованной концепции для кодирования или декодирования аудио, которая, тем не менее, является эффективной и достигает хорошего качества звука.The object of the present invention is to provide an improved concept for encoding or decoding audio which is nevertheless efficient and achieves good audio quality.
Данная задача решается аудиокодером по пункту 1, способом кодирования входных аудиоданных по пункту 33 и аудиодекодером по пункту 35, способом декодирования кодированных аудиоданных по пункту 41 или компьютерной программой по пункту 42 формулы.This task is solved by the audio encoder of claim 1, the input audio data encoding method of claim 33 and the audio decoder of
Настоящее изобретение основано на выводах о том, что для повышения эффективности, в частности, в отношении скорости передачи битов, с одной стороны, и качества звучания, с другой стороны, требуется зависимое от сигнала изменение относительно примерной ситуации, которая определяется рассматриваемыми психоакустическими факторами. Обычные психоакустические модели или рассматриваемые психоакустические факторы приводят к хорошему качеству звука при низкой скорости передачи битов для всех классов сигналов в среднем, т.е. для всех кадров аудиосигналов независимо от их характеристики сигналов, когда предусмотрен средний результат. Тем не менее обнаружено, что для определенных классов сигналов или для сигналов, имеющих определенные характеристики сигналов, например, для довольно тональных сигналов, простая психоакустическая модель или простое психоакустическое управление кодером приводит только к субоптимальным результатам относительно качества звучания (когда скорость передачи битов поддерживается постоянной) либо относительно скорости передачи битов (когда качество звучания поддерживается постоянным).The present invention is based on the conclusion that in order to increase efficiency, in particular in terms of bit rate on the one hand and sound quality on the other hand, a signal-dependent change is required relative to the exemplary situation, which is determined by the considered psychoacoustic factors. Conventional psychoacoustic models or considered psychoacoustic factors lead to good sound quality at low bit rates for all signal classes on average, i.e. for all frames of audio signals, regardless of their signal characteristics, when an average result is provided. However, it has been found that for certain classes of signals or for signals having certain signal characteristics, e.g. quite tonal signals, a simple psychoacoustic model or simple psychoacoustic encoder control only leads to sub-optimal results in terms of audio quality (when the bit rate is kept constant) or relative to the bit rate (when the sound quality is kept constant).
Следовательно, для устранения этого недостатка обычных рассматриваемых психоакустических факторов, настоящее изобретение предусматривает, в контексте аудиокодера с препроцессором для предварительной обработки входных аудиоданных для получения аудиоданных, которые должны кодироваться, и процессора кодера для кодирования аудиоданных, которые должны кодироваться, контроллер для управления процессором кодера таким образом, что в зависимости от определенной характеристики сигналов кадра, число элементов аудиоданных для аудиоданных, которые должны кодироваться посредством процессора кодера, уменьшается по сравнению с обычными простыми результатами, полученными посредством рассматриваемых психоакустических факторов из уровня техники. Кроме того, это уменьшение числа элементов аудиоданных выполняется зависимым от сигнала способом таким образом, что для кадра с определенной первой характеристикой сигналов, число более существенно уменьшается, чем для другого кадра с другой характеристикой сигналов, которая отличается от характеристики сигналов из первого кадра. Это уменьшение числа элементов аудиоданных может считаться уменьшением абсолютного числа или уменьшением относительного числа, хотя это не является решающим. Тем не менее, имеется такой признак, что информационные единицы, которые «экономятся» посредством намеренного уменьшения числа элементов аудиоданных, просто не теряются, но используются для более точного кодирования оставшегося числа элементов данных, т.е. элементы данных, которые не исключены посредством намеренного уменьшения числа элементов аудиоданных.Therefore, in order to overcome this shortcoming of the conventional psychoacoustic factors considered, the present invention provides, in the context of an audio encoder with a preprocessor for preprocessing audio input data to obtain the audio data to be encoded and an encoder processor to encode the audio data to be encoded, a controller for controlling the encoder processor such in such a way that, depending on a certain characteristic of the frame signals, the number of audio data elements for audio data to be encoded by the encoder processor is reduced compared to the usual simple results obtained by the considered psychoacoustic factors of the prior art. In addition, this reduction in the number of audio data elements is performed in a signal-dependent manner such that for a frame with a certain first signal characteristic, the number is more significantly reduced than for another frame with a different signal characteristic that is different from the signal characteristic of the first frame. This reduction in the number of audio data elements may be considered an absolute number reduction or a relative number reduction, although this is not decisive. However, there is a feature that the information units that are "saved" by deliberately reducing the number of audio data items are simply not lost, but are used to more accurately encode the remaining number of data items, i.e. data items that are not excluded by intentionally reducing the number of audio data items.
В соответствии с изобретением, контроллер для управления процессором кодера работает таким образом, что в зависимости от первой характеристики сигналов первого кадра аудиоданных, которые должны кодироваться, число элементов аудиоданных для аудиоданных, которые должны кодироваться посредством процессора кодера для первого кадра, уменьшается по сравнению со второй характеристикой сигналов второго кадра, и в то же время первое число информационных единиц, используемых для кодирования уменьшенного числа элементов аудиоданных для первого кадра, более существенно улучшается по сравнению со вторым числом информационных единиц для второго кадра.According to the invention, the controller for controlling the encoder processor operates in such a way that, depending on the first characteristic of the signals of the first frame of audio data to be encoded, the number of audio data elements for the audio data to be encoded by the encoder processor for the first frame is reduced compared to the second characteristic of the signals of the second frame, and at the same time, the first number of information units used to encode the reduced number of audio data elements for the first frame is more significantly improved compared to the second number of information units for the second frame.
В предпочтительном варианте осуществления, уменьшение выполняется таким образом, что для более тональных кадров сигнала, более существенное уменьшение выполняется, и в то же время число битов для отдельных линий более существенно улучшается по сравнению с кадром, который является менее тональным, т.е. который является более шумным. Здесь, число не уменьшается в такой высокой степени, и, соответственно, число информационных единиц, используемых для кодирования менее тональных элементов аудиоданных, не увеличивается настолько сильно.In the preferred embodiment, the reduction is performed in such a way that for more tone frames of the signal, a more significant reduction is performed, and at the same time the number of bits for individual lines is more significantly improved compared to a frame that is less tonal, i.e. which is noisier. Here, the number does not decrease to such a high degree, and accordingly, the number of information units used to encode less pitched audio data items does not increase as much.
Настоящее изобретение обеспечивает инфраструктуру, в которой, зависимым от сигнала способом, обычно предусмотренные рассматриваемые психоакустические факторы в той или иной степени нарушаются. Тем не менее, с другой стороны, это нарушение не трактуется так, как в нормальных кодерах, в которых нарушение рассматриваемых психоакустических факторов, например, осуществляется в чрезвычайной ситуации, например, в ситуации, когда для поддержания требуемой скорости передачи битов, более высокочастотные части задаются равными нулю. Вместо этого, в соответствии с настоящим изобретением, такое нарушение нормальных рассматриваемых психоакустических факторов осуществляется независимо от чрезвычайной ситуации, и «сэкономленные» информационные единицы применяются для дополнительной детализации «сохранившихся» элементов аудиоданных.The present invention provides an infrastructure in which, in a signal-dependent manner, the commonly envisaged psychoacoustic factors in question are violated to some extent. However, on the other hand, this violation is not treated in the same way as in normal encoders, in which the violation of the considered psychoacoustic factors, for example, is carried out in an emergency situation, for example, in a situation where, in order to maintain the required bit rate, higher frequency parts are given zero. Instead, in accordance with the present invention, such disruption of the normal psychoacoustic factors in question occurs regardless of the emergency, and "saved" information units are used to further refine the "surviving" audio data elements.
В предпочтительных вариантах осуществления, используется двухкаскадный процессор кодера, который имеет в качестве каскада начального кодирования, например, энтропийный кодер, такой как арифметический кодер, или кодер переменной длины, такой как кодер Хаффмана. Второй каскад кодирования служит в качестве каскада детализации, и этот второй кодер обычно реализован в предпочтительных вариантах осуществления в виде остаточного кодера или битового кодера, работающего со степенью детализации в бит, которая, например, может быть реализована посредством прибавления определенного заданного смещения в случае первого значения информационной единицы или вычитания смещения в случае противоположного значения информационной единицы. В варианте осуществления, этот детализирующий кодер предпочтительно реализован в виде остаточного кодера, прибавляющего смещение в случае значения первого бита и вычитающего смещение в случае значения второго бита. В предпочтительном варианте осуществления, уменьшение числа элементов аудиоданных приводит к ситуации, когда распределение доступных битов в обычном сценарии с фиксированной частотой кадров изменяется таким образом, что каскад начального кодирования принимает более низкий битовый бюджет, чем каскад детализирующего кодирования. К настоящему моменту, парадигма заключается в том, что каскад начального кодирования заключается в приёме битового бюджета, который является максимально возможно высоким независимо от характеристики сигналов, поскольку считается, что каскад начального кодирования, такой как каскад арифметического кодирования, имеет наибольшую эффективность и в силу этого кодирует гораздо лучше, чем каскад остаточного кодирования с энтропийной точки зрения. Тем не менее, в соответствии с настоящим изобретением, эта парадигма удаляется, поскольку обнаружено, что для определенных сигналов, таких как, например, сигналы с более высокой тональностью, эффективность энтропийного кодера, такого как арифметический кодер, не является настолько высокой, как эффективность, полученная посредством последующего соединенного остаточного кодера, такого как битовый кодер. Тем не менее, хотя следует признавать то, что каскад энтропийного кодирования является высокоэффективным для аудиосигналов в среднем, настоящее изобретение теперь разрешает эту проблему за счет исключения из рассмотрения среднего, но в силу уменьшения битового бюджета для каскада начального кодирования зависимым от сигнала способом и, предпочтительно, для тональных частей сигнала.In preferred embodiments, a two-stage encoder processor is used which has as its initial encoding stage, for example, an entropy encoder such as an arithmetic encoder or a variable length encoder such as a Huffman encoder. The second coding stage serves as the granularity stage, and this second encoder is usually implemented in the preferred embodiments as a residual encoder or bit encoder operating in bit granularity, which for example can be implemented by adding a certain predetermined offset in the case of the first value information unit or offset subtraction in the case of the opposite value of the information unit. In an embodiment, this detail encoder is preferably implemented as a residual encoder adding an offset in case of a first bit value and subtracting an offset in case of a second bit value. In the preferred embodiment, reducing the number of audio data elements results in a situation where the distribution of available bits in a conventional fixed frame rate scenario is changed such that the start coding stage accepts a lower bit budget than the detail coding stage. By now, the paradigm is that the seed coding stage is to receive a bit budget that is as high as possible regardless of the characteristics of the signals, since the seed coding stage, such as the arithmetic coding stage, is considered to have the highest efficiency and therefore encodes much better than the residual coding cascade from an entropy point of view. However, in accordance with the present invention, this paradigm is removed because it is found that for certain signals, such as, for example, signals with higher pitch, the efficiency of an entropy encoder, such as an arithmetic encoder, is not as high as the efficiency obtained by a subsequent connected residual encoder such as a bit encoder. However, while it should be recognized that the entropy coding stage is highly efficient for audio signals on average, the present invention now solves this problem by eliminating the average from consideration, but by reducing the bit budget for the initial coding stage in a signal dependent and preferably , for tonal parts of the signal.
В предпочтительном варианте осуществления, сдвиг битового бюджета из каскада начального кодирования в каскад детализирующего кодирования на основе характеристики сигналов входных данных выполняется таким образом, что по меньшей мере две детализирующих информационных единицы доступны по меньшей мере для одного и предпочтительно 50% и еще более предпочтительно всех элементов аудиоданных, которые остаются в силе после уменьшения числа элементов данных. Кроме того, обнаружено, что очень эффективная процедура для вычисления этих детализирующих информационных единиц на стороне кодера и применения этих детализирующих информационных единиц на стороне декодера представляет собой итеративную процедуру, при которой, в определенном порядке, например, от низкой частоты к высокой частоте, оставшиеся биты из битового бюджета для каскада детализирующего кодирования потребляются один за другим. В зависимости от числа остающихся в силе элементов аудиоданных и в зависимости от числа информационных единиц для каскада детализирующего кодирования, число итераций может быть значительно больше двух, и обнаружено, что для сильно тональных кадров сигналов, число итераций может составлять четыре, пять или даже выше.In a preferred embodiment, shifting the bit budget from the initial coding stage to the detail coding stage based on the characteristics of the input data signals is performed such that at least two detail information units are available for at least one and preferably 50% and even more preferably all elements. audio data that remains valid after the number of data items has been reduced. In addition, it has been found that a very efficient procedure for calculating these detail information units at the encoder side and applying these detail information units at the decoder side is an iterative procedure in which, in a certain order, for example, from low frequency to high frequency, the remaining bits from the bit budget for the detail coding stage are consumed one by one. Depending on the number of audio data elements still valid, and depending on the number of information units for the detail coding stage, the number of iterations can be significantly greater than two, and it has been found that for high tone signal frames, the number of iterations can be four, five, or even higher.
В предпочтительном варианте осуществления, определение управляющего значения посредством контроллера выполняется опосредованным способом, т.е. без явного определения характеристики сигналов. С этой целью управляющее значение вычисляется на основе манипулируемых входных данных, причем эти манипулируемые входные данные, например, представляют собой входные данные, которые должны квантоваться, или связанные с амплитудой данные, извлекаемые из данных, которые должны квантоваться. Хотя управляющее значение для процессора кодера определяется на основе манипулируемых данных, фактическое квантование/кодирование выполняется без этого манипулирования. Таким образом, зависимая от сигнала процедура получается посредством определения значения манипуляции для манипулирования зависимым от сигнала способом, причем это манипулирование в той или иной степени оказывает влияние на полученное уменьшение числа элементов аудиоданных без явно заданных знаний конкретной характеристики сигналов.In the preferred embodiment, the determination of the control value by the controller is performed in an indirect manner, i.e. without explicit definition of signal characteristics. To this end, the control value is computed on the basis of the manipulated input data, where the manipulated input data is, for example, the input data to be quantized or amplitude-related data extracted from the data to be quantized. Although the control value for the encoder processor is determined based on the keyed data, the actual quantization/encoding is performed without this keying. Thus, a signal-dependent procedure is obtained by determining a keying value for signal-dependent manipulation, the manipulation having some effect on the resulting reduction in the number of audio data elements without explicit knowledge of the specific characteristics of the signals.
В другой реализации, может применяться прямой режим, в котором определенная характеристика сигналов непосредственно оценивается и зависит от результата этого анализа сигналов, определенное уменьшение числа элементов данных выполняется для того получения более высокой точности для остающихся в силе элементов данных.In another implementation, a direct mode may be used, in which a certain characteristic of the signals is directly evaluated and depends on the result of this signal analysis, a certain reduction in the number of data elements is performed in order to obtain higher accuracy for the remaining data elements.
В дополнительной реализации, разделенная процедура может применяться для целей уменьшения элементов аудиоданных. В разделенной процедуре, определенное число элементов данных уже получается посредством квантования, управляемого посредством обычно психоакустически обусловленного управления квантователем, и на основе входного аудиосигнала, квантованные элементы аудиоданных уменьшаются относительно своего числа, и, предпочтительно, это уменьшение выполняется посредством исключения наименьших элементов аудиоданных относительно их амплитуды, их энергии или их мощности. Управление для уменьшения, снова, может получаться посредством прямого/явного определения характеристик сигналов либо посредством опосредованного или неявного управления сигналами.In a further implementation, a split procedure may be applied for purposes of reducing audio data elements. In the split procedure, a certain number of data items are already obtained by quantization controlled by the usually psychoacoustically conditioned control of the quantizer, and based on the input audio signal, the quantized audio data items are reduced in relation to their number, and preferably this reduction is performed by eliminating the smallest audio data items in relation to their amplitude , their energies or their powers. Control for reduction, again, can be obtained through direct/explicit signal characterization, or through indirect or implicit signal control.
В дополнительном предпочтительном варианте осуществления, применяется интегрированная процедура, в которой переменный квантователь управляется таким образом, чтобы выполнять одно квантование, но на основе манипулируемых данных, при этом одновременно квантуются неманипулируемые данные. Управляющее значение квантователя, например, глобальное усиление вычисляется с использованием зависимых от сигнала манипулируемых данных, в то время как данные без этого манипулирования квантуются, и результат квантования кодируется с использованием всех доступных информационных единиц таким образом, что в случае двухкаскадного кодирования, обычно большое количество информационных единиц для каскада детализирующего кодирования остается.In a further preferred embodiment, an integrated procedure is applied in which the variable quantizer is controlled to perform one quantization, but based on manipulated data, while non-manipulated data is quantized at the same time. The quantizer control value, for example, the global gain is computed using the signal-dependent keyed data, while the data without this keying is quantized and the result of the quantization is encoded using all available information units such that in the case of two-stage coding, usually a large amount of information units for the detail coding stage remains.
Варианты осуществления обеспечивают решение проблемы потерь качества для высокотонального содержимого, который основан на модификации спектра мощности, который используется для оценки потребления битов энтропийного кодера. Эта модификация существует для сигнально-адаптивного сумматора минимального уровня шума, который поддерживает оценку для общего аудиосодержимого с плоским остаточным спектром на практике неизменной, в то время как он увеличивает оценку битового бюджета для высокотонального содержимого. Эффект от этой модификации является двойным. Во-первых, он вызывает шум гребенки фильтров и нерелевантные боковые лепестки гармонических компонентов, которые накладываются посредством минимального уровня шума, с возможностью квантования в ноль. Во-вторых, он сдвигает биты из первого каскада кодирования в каскад остаточного кодирования. Хотя такой сдвиг не требуется для большинства сигналов, он является полностью эффективным для высокотональных сигналов, поскольку биты используются для повышения точности квантования гармонических компонентов. Это означает, что они используются для кодирования битов с низкой значимостью, которые обычно придерживаются равномерного распределения и в силу этого полностью эффективно кодируются с помощью двоичного представления. Кроме того, процедура является вычислительно недорогой, что делает ее очень эффективным инструментальным средством для решения вышеуказанной проблемы.Embodiments provide a solution to the quality loss problem for high-pitched content that is based on a modification of the power spectrum that is used to estimate the bit consumption of the entropy encoder. This modification exists for the signal-adaptive noise floor adder, which keeps the estimate for overall flat-residual audio content unchanged in practice, while it increases the bit budget estimate for high-pitched content. The effect of this modification is twofold. First, it causes filterbank noise and irrelevant sidelobes of harmonic components, which are superimposed by a noise floor that can be quantized to zero. Second, it shifts the bits from the first coding stage to the residual coding stage. While this shift is not required for most signals, it is fully effective for high-pitched signals because the bits are used to improve the quantization accuracy of the harmonic components. This means that they are used to encode bits with low significance, which usually adhere to a uniform distribution and are therefore completely efficiently encoded using a binary representation. In addition, the procedure is computationally inexpensive, making it a very efficient tool for solving the above problem.
Далее описаны предпочтительные варианты осуществления настоящего изобретения с обращением к сопровождающим чертежам, на которых:The following describes the preferred embodiments of the present invention with reference to the accompanying drawings, in which:
Фиг. 1 является вариантом осуществления аудиокодера;Fig. 1 is an embodiment of an audio encoder;
Фиг. 2 иллюстрирует предпочтительную реализацию процессора кодера по фиг. 1;Fig. 2 illustrates a preferred implementation of the encoder processor of FIG. one;
Фиг. 3 иллюстрирует предпочтительную реализацию каскада детализирующего кодирования;Fig. 3 illustrates a preferred implementation of the detail coding stage;
Фиг. 4a иллюстрирует примерный синтаксис кадра для первого или второго кадра с итеративными детализирующими битами;Fig. 4a illustrates an exemplary frame syntax for the first or second frame with iterative detail bits;
Фиг. 4b иллюстрирует предпочтительную реализацию модуля уменьшения числа элементов аудиоданных в качестве переменного квантователя;Fig. 4b illustrates a preferred implementation of the audio chip reduction module as a variable quantizer;
Фиг. 5 иллюстрирует предпочтительную реализацию аудиокодера со спектральным препроцессором;Fig. 5 illustrates a preferred implementation of an audio encoder with a spectral preprocessor;
Фиг. 6 иллюстрирует предпочтительный вариант осуществления аудиодекодера с временным постпроцессором;Fig. 6 illustrates a preferred embodiment of an audio decoder with a temporary post processor;
Фиг. 7 иллюстрирует реализацию процессора кодера для аудиодекодера по фиг. 6;Fig. 7 illustrates an implementation of the encoder processor for the audio decoder of FIG. 6;
Фиг. 8 иллюстрирует предпочтительную реализацию каскада детализирующего декодирования по фиг. 7;Fig. 8 illustrates a preferred implementation of the detail decoding stage of FIG. 7;
Фиг. 9 иллюстрирует реализацию опосредованного режима для вычисления управляющих значений;Fig. 9 illustrates an indirect mode implementation for calculating control values;
Фиг. 10 иллюстрирует предпочтительную реализацию модуля вычисления значений манипуляции по фиг. 9;Fig. 10 illustrates a preferred implementation of the keying value calculation module of FIG. 9;
Фиг. 11 иллюстрирует вычисление управляющих значений в прямом режиме;Fig. 11 illustrates the calculation of control values in direct mode;
Фиг. 12 иллюстрирует реализацию разделенного уменьшения числа элементов аудиоданных; иFig. 12 illustrates an implementation of split reduction in the number of audio data elements; and
Фиг. 13 иллюстрирует реализацию интегрированного уменьшения числа элементов аудиоданных.Fig. 13 illustrates an implementation of integrated audio element reduction.
Фиг. 1 иллюстрирует аудиокодер для кодирования входных аудиоданных 11. Аудиокодер содержит препроцессор 10, процессор 15 кодера и контроллер 20. Препроцессор 10 предварительно обрабатывает входные аудиоданные 11 для получения аудиоданных в расчете на кадр или аудиоданные, которые должны кодироваться, проиллюстрированные в элементе 12. Аудиоданные, которые должны кодироваться, вводятся в процессор 15 кодера для кодирования аудиоданных, которые должны кодироваться, и процессор кодера выводит кодированные аудиоданные. Контроллер 20 соединяется, относительно своего ввода, с аудиоданными в расчете на кадр препроцессора, но, в качестве альтернативы, контроллер также может быть соединён с возможностью приёма входных аудиоданных без предварительной обработки. Контроллер выполнен с возможностью уменьшения числа элементов аудиоданных в расчете на кадр в зависимости от сигнала в кадре, и в то же время контроллер увеличивает число информационных единиц или, предпочтительно, битов для уменьшенного числа элементов аудиоданных в зависимости от сигнала в кадре. Контроллер выполнен с возможностью управления процессором 15 кодера таким образом, что в зависимости от первой характеристики сигналов первого кадра аудиоданных, которые должны кодироваться, число элементов аудиоданных для аудиоданных, которые должны кодироваться посредством процессора кодера для первого кадра, уменьшается по сравнению со второй характеристикой сигналов второго кадра, и число информационных единиц, используемых для кодирования уменьшенного числа элементов аудиоданных для первого кадра, более существенно улучшается по сравнению со вторым числом информационных единиц для второго кадра.Fig. 1 illustrates an audio encoder for encoding
Фиг. 2 иллюстрирует предпочтительную реализацию процессора кодера. Процессор кодера содержит каскад 151 начального кодирования и каскад 152 детализирующего кодирования. В реализации, каскад начального кодирования содержит энтропийный кодер, такой как арифметический кодер или кодер Хаффмана. В другом варианте осуществления, каскад 152 детализирующего кодирования содержит битовый кодер или остаточный кодер, работающий со степенью детализации в бит или информационную единицу. Кроме того, функциональность относительно уменьшения числа элементов аудиоданных осуществляется на фиг. 2 посредством модуля 150 уменьшения числа элементов аудиоданных, который, например, может быть реализован как переменный квантователь в режиме интегрированного уменьшения, проиллюстрированном на фиг. 13, или в качестве альтернативы, как отдельный элемент, уже работающий с квантованными элементами аудиоданных, как проиллюстрировано в режиме 902 разделенного уменьшения, и в дополнительном непроиллюстрированном варианте осуществления, модуль уменьшения числа элементов аудиоданных также может работать с неквантованными элементами посредством задания равными нулю таких неквантованных элементов или посредством взвешивания, с тем чтобы исключать элементы данных с определенным весовым числом таким образом, что такие элементы аудиоданных квантуются до нуля и в силу этого исключаются в последующем соединенном квантователе. Модуль 150 уменьшения числа элементов аудиоданных по фиг. 2 может работать с элементами неквантованных или квантованных данных в процедуре разделенного уменьшения или может быть реализован посредством переменного квантователя, конкретно управляемого посредством зависимого от сигнала управляющего значения, как проиллюстрировано в режиме интегрированного уменьшения по фиг. 13.Fig. 2 illustrates a preferred encoder processor implementation. The encoder processor comprises an
Контроллер 20 по фиг. 1 выполнен с возможностью уменьшения числа элементов аудиоданных, кодированных посредством каскада 151 начального кодирования для первого кадра, и каскад 151 начального кодирования выполнен с возможностью кодирования уменьшенного числа элементов аудиоданных для первого кадра с использованием начального числа информационных единиц первого кадра, и вычисленные биты/единицы из начального числа информационных единиц выводятся посредством блока 151, как проиллюстрировано на фиг. 2, элемент 151.The
Кроме того, каскад 152 детализирующего кодирования выполнен с возможностью использования оставшегося числа информационных единиц первого кадра для детализирующего кодирования для уменьшенного числа элементов аудиоданных для первого кадра, и начальное число информационных единиц первого кадра, сложенное с оставшимся числом информационных единиц первого кадра, приводит к заданному числу информационных единиц для первого кадра. В частности, каскад 152 детализирующего кодирования выводит оставшееся число битов первого кадра и оставшееся число битов второго кадра, и существуют по меньшей мере два детализирующих бита по меньшей мере для одного или предпочтительно по меньшей мере для 50% или еще более предпочтительно для всех ненулевых элементов аудиоданных, т.е. для элементов аудиоданных, которые остаются в силе после уменьшения элементов аудиоданных и которые начально кодируются посредством каскада 151 начального кодирования.In addition, the
Предпочтительно, заданное число информационных единиц для первого кадра равно заданному числу информационных единиц для второго кадра либо находится достаточно близко к заданному числу информационных единиц для второго кадра таким образом, что получается работа с постоянной или с практически постоянной скоростью передачи битов для аудиокодера.Preferably, the predetermined number of information units for the first frame is equal to the predetermined number of information units for the second frame, or is close enough to the predetermined number of information units for the second frame such that constant or substantially constant bit rate operation is obtained for the audio encoder.
Как проиллюстрировано на фиг. 2, модуль 150 уменьшения числа элементов аудиоданных уменьшает число элементов аудиоданных за рамками психоакустически обусловленного числа зависимым от сигнала способом. Таким образом, для первой характеристики сигналов, число уменьшается незначительно на психоакустически обусловленное число, и в кадре со второй характеристикой сигналов, например, число существенно улучшается за рамками психоакустически обусловленного числа. Так же, предпочтительно модуль уменьшения числа элементов аудиоданных исключает элементы данных с наименьшими амплитудами/мощностями/энергиями, и эта операция предпочтительно выполняется через косвенный выбор, полученный в интегрированном режиме, при этом уменьшение числа элементов аудиоданных осуществляется посредством квантования до нуля определенных элементов аудиоданных. В варианте осуществления, каскад начального кодирования кодирует только элементы аудиоданных, которые не квантованы до нуля, и каскад 152 детализирующего кодирования детализирует только элементы аудиоданных, уже обработанные посредством каскада начального кодирования, т.е. элементы аудиоданных, которые не квантованы до нуля посредством модуля 150 уменьшения числа элементов аудиоданных по фиг. 2.As illustrated in FIG. 2, the audio
В предпочтительном варианте осуществления, каскад детализирующего кодирования выполнен с возможностью итеративного назначения оставшегося числа информационных единиц первого кадра уменьшенному числу элементов аудиоданных первого кадра по меньшей мере на двух последовательно выполняемых итерациях. В частности, значения назначенных информационных единиц по меньшей мере для двух последовательно выполняемых итераций вычисляются, и вычисленные значения информационной единицы по меньшей мере для двух последовательно выполняемых итераций вводятся в кодированный выходной кадр в заданном порядке. В частности, каскад детализирующего кодирования выполнен с возможностью последовательного назначения информационной единицы для каждого элемента аудиоданных из уменьшенного числа элементов аудиоданных для первого кадра в порядке от низкочастотной информации для элемента аудиоданных к высокочастотной информации для элемента аудиоданных на первой итерации. В частности, элементы аудиоданных могут представлять собой отдельные спектральные значения, полученные посредством временно-спектрального преобразования. В качестве альтернативы, элементы аудиоданных могут представлять собой кортежи из двух или более спектральных линий, обычно смежных друг с другом в спектре. Вычисление битовых значений осуществляется от определенного начального значения с низкочастотной информацией к определенному конечному значению с наиболее высокочастотной информацией, и в дополнительной итерации, выполняется та же процедура, т.е. снова обработка от низких спектральных информационных значений/кортежей к высоким спектральным информационным значениям/кортежам. В частности, каскад 152 детализирующего кодирования выполнен с возможностью проверки, является ли число уже назначенных информационных единиц меньшим, чем заданное число информационных единиц для первого кадра, меньшее, чем начальное число информационных единиц первого кадра, и каскад детализирующего кодирования также выполнен с возможностью прекращения второй итерации в случае отрицательного результата проверки, или выполнения в случае положительного результата проверки определенного числа дополнительных итераций до тех пор, пока не будет получен отрицательный результат проверки, причём число дополнительных итераций равно 1, 2, ...,. Предпочтительно, максимальное число итераций ограничено двухразрядным числом, например, значениями от 10 до 30, и предпочтительно 20 итерациями. В альтернативном варианте осуществления, проверка на предмет максимального числа итераций может быть исключена, если сначала подсчитываются ненулевые спектральные линии, и число остаточных битов регулируется соответствующим образом для каждой итерации или для целой процедуры. Следовательно, когда предусмотрено, например, 20 остающихся в силе спектральных кортежей и 50 остаточных битов, можно, без проверки во время процедуры в кодере или декодере, определять то, что число итераций составляет три, и в третьей итерации, детализирующий бит должен вычисляться или быть доступным в потоке битов для первых десяти спектральных линий/кортежей. Таким образом, эта альтернатива не требует проверки во время итеративной обработки, поскольку информация относительно числа ненулевых или остающихся в силе аудиоэлементов известна после обработки начального каскада в кодере или декодере.In a preferred embodiment, the detail coding stage is configured to iteratively assign the remaining number of information units of the first frame to the reduced number of audio data elements of the first frame in at least two successive iterations. In particular, assigned information unit values for at least two successive iterations are computed, and the calculated information unit values for at least two successive iterations are input into the encoded output frame in a predetermined order. In particular, the detail coding stage is configured to sequentially assign an information unit for each audio data item from the reduced number of audio data items for the first frame, in order from low frequency information for the audio data item to high frequency information for the audio data item in the first iteration. In particular, the audio data elements may be individual spectral values obtained by spectral temporal transform. Alternatively, the audio data elements may be tuples of two or more spectral lines, typically adjacent to each other in the spectrum. Bit values are calculated from a certain start value with low frequency information to a certain end value with most high frequency information, and in an additional iteration, the same procedure is performed, i.e. again processing from low spectral information values/tuples to high spectral information values/tuples. Specifically, the
Фиг. 3 иллюстрирует предпочтительную реализацию итеративной процедуры, выполняемой посредством каскада 152 детализирующего кодирования по фиг. 2, которая становится возможной вследствие того факта, что, в отличие от других процедур, число детализирующих битов для кадра значительно увеличено для определенных кадров вследствие соответствующего уменьшения элементов аудиоданных для таких определенных кадров.Fig. 3 illustrates a preferred implementation of the iterative procedure performed by the
На этапе 300, остающиеся в силе элементы аудиоданных определяются. Это определение может автоматически выполняться посредством управления элементами аудиоданных, которые уже обработаны посредством каскада 151 начального кодирования по фиг. 2. На этапе 302, начало процедуры осуществляется в заранее заданном элементе аудиоданных, таком как элемент аудиоданных с наиболее низкой спектральной информацией. На этапе 304, битовые значения для каждого элемента аудиоданных в заранее заданной последовательности вычисляются, причем эта заранее заданная последовательность, например, представляет собой последовательность от низких спектральных значений/кортежей к высоким спектральным значениям/кортежам. Вычисление на этапе 304 выполняется с использованием начального смещения 305 и согласно такому управлению 314, что детализирующие биты по-прежнему доступны. В элементе 316, выводятся первые итеративные детализирующие информационные единицы, т.е. битовая комбинация, указывающая один бит для каждого остающегося в силе элемента аудиоданных, причем бит указывает, должно ли смещение, т.е. начальное смещение 305, прибавляться или вычитаться, либо, в качестве альтернативы, должно ли начальное смещение прибавляться или не прибавляться.At 300, the remaining audio data elements are determined. This determination may be automatically performed by managing the audio data elements that have already been processed by the
На этапе 306, смещение уменьшается с использованием заданного правила. Это заданное правило, например, может заключаться в том, что смещение делится на два, т.е. что новое смещение составляет половину от исходного смещения. Тем не менее, также могут применяться другие правила уменьшения смещения, которые отличаются от взвешивания в 0,5.At step 306, the offset is reduced using the given rule. This predetermined rule could, for example, be that the offset is divided by two, i.e. that the new offset is half of the original offset. However, other bias reduction rules may also apply that differ from the 0.5 weighting.
На этапе 308, битовые значения для каждого элемента в заранее заданной последовательности снова вычисляются, но теперь на второй итерации. В качестве ввода во вторую итерацию, детализированные элементы после первой итерации, проиллюстрированной на 307, вводятся. Таким образом, для вычисления на этапе 314, детализация, представленная посредством первых итеративных детализирующих информационных единиц, уже применяется, и согласно такой необходимой предпосылке, что детализирующие биты по-прежнему доступны, как указано на этапе 314, вторые итеративные детализирующие информационные единицы вычисляются и выводятся на 318.At
На этапе 310, смещение снова уменьшается с использованием заданного правила для готовности к третьей итерации, и третья итерация снова основывается на детализированных элементах после второй итерации, проиллюстрированной на 309, и снова согласно такой необходимой предпосылке, что детализирующие биты по-прежнему доступны, как указано на 314, третьи итеративные детализирующие информационные единицы вычисляются и выводятся на 320.At step 310, the offset is again reduced using the predetermined rule to be ready for the third iteration, and the third iteration is again based on the detail elements after the second iteration illustrated at 309, and again under the necessary premise that the detail bits are still available as indicated. at 314, third iterative detail information items are computed and output at 320.
Фиг. 4a иллюстрирует примерный синтаксис кадра с информационными единицами или битами для первого кадра или второго кадра. Часть битовых данных для кадра состоит из начального числа битов, т.е. элемента 400. Кроме того, первые итеративные детализирующие биты 316, вторые итеративные детализирующие биты 318 и третьи итеративные детализирующие биты 320 также включаются в кадр. В частности, в соответствии с синтаксисом кадра, декодер в состоянии идентификации того, какие биты кадра представляют собой начальное число битов, того, какие биты представляют собой первый, второй или третий итеративные детализирующие биты 316, 318, 320, и того, какие биты в кадре представляют собой любые другие биты 402, такая вспомогательная информация, которая, например, может также включать в себя кодированное представление глобального усиления (gg), например, которое, например, может вычисляться посредством контроллера 200 непосредственно или которое, например, может затрагиваться посредством контроллера посредством выходной информации контроллера 21. В секции 316, 318, 320, придается определенная последовательность отдельных информационных единиц. Эта последовательность предпочтительно является такой, что биты в битовой последовательности применяются к начально декодированным элементам аудиоданных, которые должны декодироваться. Поскольку нецелесообразно, относительно требований по скорости передачи битов, явно передавать в служебных сигналах что-либо относительно первого, второго и третьего итеративных детализирующих битов, порядок отдельных битов в блоках 316, 318, 320 должен быть тем же, что и соответствующий порядок остающихся в силе элементов аудиоданных. С учетом этого, предпочтительно использовать одинаковую итеративную процедуру на стороне кодера, как проиллюстрировано на фиг. 3, и на стороне декодера, как проиллюстрировано на фиг. 8. Не обязательно передавать в служебных сигналах конкретное выделение битов или битовое ассоциирование по меньшей мере в блоках 316-320.Fig. 4a illustrates an exemplary frame syntax with information units or bits for a first frame or a second frame. The bit data portion for a frame consists of an initial number of bits, i. e.
Кроме того, числа для начального числа битов, с одной стороны, и оставшегося числа битов, с другой стороны, являются лишь примерными. Обычно начальное число битов, которые обычно кодируют старшую битовую часть элемента аудиоданных, такую как спектральные значения или кортежи спектральных значений, превышает итеративные детализирующие биты, которые представляют младшую часть «сохранившихся» элементов аудиоданных. Кроме того, начальное число 400 битов обычно определяется посредством энтропийного кодера или арифметического кодера, но итеративные детализирующие биты определяются с использованием остаточного или битового кодера, работающего со степенью детализации в информационную единицу. Хотя каскад детализирующего кодирования не выполняет энтропийное кодирование и т.п., кодирование младшей битовой части элементов аудиоданных, тем не менее, более эффективно выполняется посредством каскада детализирующего кодирования, поскольку можно предполагать, что младшая битовая часть элементов аудиоданных, таких как спектральные значения, одинаково распределяется, и в силу этого энтропийное кодирование с кодом переменной длины или арифметическим кодом вместе с определенным контекстом не вводит дополнительного преимущества, а вместо этого даже вводит дополнительный объем служебной информации.In addition, the numbers for the initial number of bits on the one hand and the remaining number of bits on the other hand are only exemplary. Typically, the initial number of bits that typically encode the high-bit part of an audio data element, such as spectral values or tuples of spectral values, is greater than the iterative detail bits that represent the low-order part of the "preserved" audio data elements. In addition, the initial number of 400 bits is usually determined by an entropy encoder or an arithmetic encoder, but the iterative detail bits are determined using a residual or bit encoder operating at a granularity per information unit. Although the detail coding stage does not perform entropy coding and the like, the encoding of the low bit part of the audio data items is nevertheless more efficiently performed by the detail coding stage, since it can be assumed that the low bit part of the audio data items, such as spectral values, is the same. is distributed, and because of this, entropy coding with a variable length code or an arithmetic code, together with a certain context, does not introduce an additional advantage, but instead even introduces an additional amount of overhead.
Другими словами, для младшей битовой части элементов аудиоданных, использование арифметического кодера должно быть менее эффективным, чем использование битового кодера, поскольку битовый кодер вообще не требует скорости передачи битов для определенного контекста. Намеренное уменьшение числа элементов аудиоданных, вызываемое посредством контроллера, не только повышает точность доминирующих спектральных линий или кортежей линий, но и, кроме того, обеспечивает высокоэффективную операцию кодирования для целей детализации частей MSB этих элементов аудиоданных, представленных посредством арифметического кода или кода переменной длины.In other words, for the least significant bit part of the audio data elements, using an arithmetic encoder should be less efficient than using a bit encoder, since a bit encoder does not require a bit rate at all for a particular context. Intentional reduction in the number of audio data items called by the controller not only improves the accuracy of the dominant spectral lines or line tuples, but also provides a highly efficient encoding operation for the purpose of detailing the MSB portions of these audio data items represented by an arithmetic or variable length code.
С учетом этого, несколько и, например, следующие преимущества получаются посредством реализации процессора 15 кодера по фиг. 1, как проиллюстрировано на фиг. 2, с каскадом 151 начального кодирования, с одной стороны, и с каскадом 152 детализирующего кодирования, с другой стороны.With this in mind, several and for example the following advantages are obtained by implementing the
Предлагается эффективная схема двухкаскадного кодирования, содержащая первый каскад энтропийного кодирования и второй каскад остаточного кодирования на основе однобитового (неэнтропийного) кодирования.An efficient two-stage coding scheme is proposed, containing the first entropy coding stage and the second residual coding stage based on one-bit (non-entropy) coding.
Схема использует модуль оценки глобального усиления с низкой сложностью, который включает модуль оценки потребления битов на основе энергии для первого каскада кодирования, содержащего сигнально-адаптивный сумматор минимального уровня шума.The scheme uses a low complexity global gain estimator that includes an energy-based bit consumption estimator for the first coding stage, comprising a signal-adaptive noise floor adder.
Сумматор минимального уровня шума эффективно передает биты из первого каскада кодирования во второй каскад кодирования для высокотональных сигналов при оставлении оценки для других типов сигналов неизменной. Этот сдвиг битов из каскада энтропийного кодирования в каскад неэнтропийного кодирования является полностью эффективным для высокотональных сигналов.The noise floor combiner efficiently transfers bits from the first coding stage to the second coding stage for high tone signals while leaving the estimate for other types of signals unchanged. This bit shifting from the entropy coding stage to the non-entropy coding stage is fully effective for high pitched signals.
Фиг. 4b иллюстрирует предпочтительную реализацию переменного квантователя, который, например, может быть реализован с возможностью выполнения уменьшения числа элементов аудиоданных управляемым способом предпочтительно в режиме интегрированного уменьшения, проиллюстрированном относительно фиг. 13. С этой целью, переменный квантователь содержит модуль 155 взвешивания, который принимает (неманипулируемые) аудиоданные, которые должны кодироваться, проиллюстрированные в линии 12. Эти данные также вводятся в контроллер 20, и контроллер выполнен с возможностью вычисления глобального усиления 21, но на основе неманипулируемых данных, вводимых в модуль 155 взвешивания, и с использованием зависимого от сигнала манипулирования. Глобальное усиление 21 применяется в модуле 155 взвешивания, и вывод модуля взвешивания вводится в ядро 157 квантователя, которое основывается на фиксированном размере шага квантования. Переменный квантователь 150 реализован в виде управляемого модуля взвешивания, в котором управление выполняется с использованием глобального усиления 21 (gg) и последующего соединенного ядра 157 квантователя с фиксированным размером шага квантования. Тем не менее, также могут выполняться другие реализации, такие как ядро квантователя, имеющее переменный размер шага квантования, который управляется посредством выходного значения контроллера 20.Fig. 4b illustrates a preferred implementation of a variable quantizer, which, for example, may be implemented to perform audio chip reduction in a controlled manner, preferably in the integrated reduction mode illustrated with respect to FIG. 13. To this end, the variable quantizer comprises a
Фиг. 5 иллюстрирует предпочтительную реализацию аудиокодера и, в частности, определенную реализацию препроцессора 10 по фиг. 1. Предпочтительно, препроцессор содержит модуль 13 кодирования со взвешиванием, который формирует, из входных аудиоданных 11, кадр аудиоданных временной области, кодированных со взвешиванием с использованием определенной функции аналитического кодирования со взвешиванием, которая, например, может представлять собой косинусоидальную функцию кодирования со взвешиванием. Кадр аудиоданных временной области вводится в спектральный преобразователь 14, который может быть реализован с возможностью выполнения модифицированного дискретного косинусного преобразования (MDCT) или любого другого преобразования, такого как FFT или MDST, либо любого другого временно-спектрального преобразования. Предпочтительно, модуль кодирования со взвешиванием работает с определенным опережающим управлением таким образом, что формирование перекрывающихся кадров выполняется. В случае 50%-ного перекрытия, опережающее значение модуля кодирования со взвешиванием составляет половину от размера функции аналитического кодирования со взвешиванием, применяемой посредством модуля 13 кодирования со взвешиванием. (Неквантованный) кадр спектральных значений, выводимых посредством спектрального преобразователя, вводится в спектральный процессор 15, который реализован для выполнения некоторой спектральной обработки, такой как выполнение операции формирования временного шума, операции формирования спектрального шума или любой другой операции, такой как операция спектрального отбеливания, посредством которой модифицированные спектральные значения, сформированные посредством спектрального процессора, имеют спектральную огибающую, более плоскую, чем спектральная огибающая спектральных значений перед обработкой посредством спектрального процессора 15. Аудиоданные, которые должны кодироваться (в расчете на кадр), перенаправляются через линию 12 в процессор 15 кодера и в контроллер 20, при этом контроллер 20 передаёт управляющую информацию через линию 21 в процессор 15 кодера. Процессор кодера выводит свои данные в модуль 30 записи потоков битов, реализованный, например, в виде мультиплексора потоков битов, и кодированные кадры выводятся в линии 35.Fig. 5 illustrates a preferred implementation of the audio encoder, and in particular a specific implementation of the
Относительно обработки на стороне декодера, следует обратиться к фиг. 6. Поток битов, выводимый посредством блока 30, например, может непосредственно вводиться в модуль 40 считывания потоков битов после некоторого хранения или передачи. Естественно, любая другая обработка может выполняться между кодером и декодером, например, обработка передачи в соответствии с протоколом беспроводной передачи, таким как протокол DECT или протокол Bluetooth либо любой другой протокол беспроводной передачи. Данные, вводимые в аудиодекодер, показанный на фиг. 6, вводятся в модуль 40 считывания потоков битов. Модуль 40 считывания потоков битов считывает данные и перенаправляет данные в процессор 50 кодера, который управляется посредством контроллера 60. В частности, модуль считывания потоков битов принимает кодированные данные, причем кодированные аудиоданные содержат, для кадра, начальное число информационных единиц кадра и оставшееся число информационных единиц кадра. Процессор 50 кодера обрабатывает кодированные аудиоданные, и процессор 50 кодера содержит каскад начального декодирования и каскад детализирующего декодирования, как проиллюстрировано на фиг. 7 в элементе 51 для каскада начального декодирования и в элементе 52 для каскада детализирующего декодирования, которые управляются посредством контроллера 60. Контроллер 60 выполнен с возможностью управления каскадом 52 детализирующего декодирования таким образом, чтобы использовать при детализации начально декодированных элементов данных, выводимых посредством каскада 51 начального декодирования по фиг. 7, по меньшей мере две информационных единицы из оставшегося числа информационных единиц для детализации одного и того же начально декодированного элемента данных. Кроме того, контроллер 60 выполнен с возможностью управления процессором кодера таким образом, чтобы каскад начального декодирования использовал начальное число информационных единиц кадра для получения начально декодированных элементов данных в линии, соединяющей блок 51 и 52 на фиг. 7, при этом, предпочтительно, контроллер 60 принимает индикатор начального числа информационных единиц кадра, с одной стороны, и начального оставшегося числа информационных единиц кадра из модуля 40 считывания потоков битов, как указано посредством входной линии в блок 60 по фиг. 6 или фиг. 7. Постпроцессор 70 обрабатывает детализированные элементы аудиоданных для получения декодированных аудиоданных 80 в выводе постпроцессора 70.Regarding processing at the decoder side, refer to FIG. 6. The bitstream output by the
В предпочтительной реализации для аудиодекодера, который соответствует аудиокодеру по фиг. 5, постпроцессор 70 содержит, в качестве входного каскада, спектральный процессор 71, который выполняет операцию обратного формирования временного шума или операцию обратного формирования спектрального шума, или операцию обратного спектрального отбеливания, или любую другую операцию, которая уменьшает некоторую обработку, применяемую посредством спектрального процессора 15 по фиг. 5. Вывод спектрального процессора вводится во временной преобразователь 72, который работает с возможностью выполнения преобразования из спектральной области во временную область, и предпочтительно временной преобразователь 72 совпадает со спектральным преобразователем 14 по фиг. 5. Вывод временного преобразователя 72 вводится в каскад 73 суммирования с перекрытием, который выполняет операцию суммирования с перекрытием для определенного числа перекрывающихся кадров, например по меньшей мере для двух перекрывающихся кадров для получения декодированных аудиоданных 80. Предпочтительно, каскад 73 суммирования с перекрытием применяет функцию синтезирующего кодирования со взвешиванием к выводу временного преобразователя 72, причем эта функция синтезирующего кодирования со взвешиванием совпадает с функцией аналитического кодирования со взвешиванием, применяемой посредством модуля 13 аналитического кодирования со взвешиванием. Кроме того, операция перекрытия, выполняемая посредством блока 73, совпадает с опережающей операцией блока, выполняемой посредством модуля 13 кодирования со взвешиванием по фиг. 5.In a preferred implementation for an audio decoder that corresponds to the audio encoder of FIG. 5, the
Как проиллюстрировано на фиг. 4a, оставшееся число информационных единиц кадра содержит вычисленные значения информационных единиц 316, 318, 320 по меньшей мере для двух последовательных итераций в заданном порядке, при этом, в варианте осуществления 4a, проиллюстрированы даже три итерации. Кроме того, контроллер 60 выполнен с возможностью управления каскадом 52 детализирующего декодирования таким образом, чтобы использовать для первой итерации вычисленные значения, например, из блока 316 для первой итерации в соответствии с заданным порядком и использовать для второй итерации вычисленные значения из блока 318 для второй итерации в заданном порядке.As illustrated in FIG. 4a, the remaining number of frame information units contains calculated values of
Затем, предпочтительная реализация каскада детализирующего декодирования под управлением контроллера 60 проиллюстрирована относительно фиг. 8. На этапе 800, контроллер или каскад 52 детализирующего декодирования по фиг. 7 определяет то, подлежащие детализации элементы аудиоданных. Эти элементы аудиоданных обычно представляют собой все элементы аудиоданных, которые выводятся посредством блока 51 по фиг. 7. Как указано на этапе 802, начало в заранее заданном элементе аудиоданных, таком как наиболее низкая спектральная информация, выполняется. С использованием начального смещения 805, первые итеративные детализирующие информационные единицы, принимаемые из потока битов или из контроллера 16, например, данные в блоке 316 по фиг. 4a, применяются 804 для каждого элемента в заранее заданной последовательности, причем заранее заданная последовательность протягивается от низкого к высокому спектральному значению/спектральному кортежу/спектральной информации. Результаты представляют собой детализированные элементы аудиоданных после первой итерации, как проиллюстрировано посредством линии 807. На этапе 808, битовые значения для каждого элемента в заранее заданной последовательности применяются, причем битовые значения исходят из вторых итеративных детализирующих информационных единиц, как проиллюстрировано на 818, и эти биты принимаются из модуля считывания потоков битов или контроллера 60 в зависимости от конкретной реализации. Результат этапа 808 представляет собой детализированные элементы после второй итерации. С другой стороны, на этапе 810, смещение уменьшается в соответствии с использованием заданного правила уменьшения смещения, которое уже применено в блоке 806. С уменьшенным смещением, битовые значения для каждого элемента в заранее заданной последовательности применяются, как проиллюстрировано на 812 с использованием принимаемых третьих итеративных детализирующих информационных единиц, например, из потока битов или из контроллера 60. Третьи итеративные детализирующие информационные единицы записываются в поток битов в элементе 320 по фиг. 4a. Результат процедуры в блоке 812 представляет собой детализированные элементы после третьей итерации, как указано на 821.Next, a preferred implementation of the detail decoding stage under the control of
Эта процедура продолжается до тех пор, пока все итеративные детализирующие биты, включенные в поток битов для кадра, не обрабатываются. Это проверяется посредством контроллера 60 через управляющую линию 814, которая управляет оставшейся доступностью детализирующих битов предпочтительно для каждой итерации, но по меньшей мере для второй и третьей итераций, обработанных в блоках 808, 812. На каждой итерации, контроллер 60 управляет каскадом детализирующего декодирования таким образом, чтобы проверить, является ли число уже считанных информационных единиц меньшим, чем число информационных единиц в оставшихся информационных единицах кадра для кадра, для прекращения второй итерации в случае отрицательного результата проверки, либо, в случае положительного результата проверки, выполнения определенного числа дополнительных итераций до тех пор, пока не получается отрицательный результат проверки. Число дополнительных итераций составляет по меньшей мере одну. Вследствие применения аналогичных процедур на стороне кодера, поясненных в контексте по фиг. 3, и на стороне декодера, как указано на фиг. 8, конкретная передача служебных сигналов вообще не требуется. Вместо этого, множественная итеративная детализирующая обработка осуществляется высокоэффективным способом без конкретного объема служебной информации. В альтернативном варианте осуществления, проверка на предмет максимального числа итераций может быть исключена, если ненулевые спектральные линии подсчитываются сначала, и число остаточных битов регулируются соответствующим образом для каждой итерации.This procedure continues until all of the iterative detail bits included in the bit stream for the frame have been processed. This is checked by
В предпочтительной реализации, каскад 52 детализирующего декодирования выполнен с возможностью сложения смещения с начально декодированным элементом данных, когда считываемая информационная единица данных из оставшегося числа информационных единиц кадра имеет первое значение, и вычитания смещения из начально декодированного элемента, когда считываемая информационная единица данных из оставшегося числа информационных единиц кадра имеет второе значение. Это смещение, для первой итерации, представляет собой детализированные элементы по фиг. 8. На второй итерации, как проиллюстрировано на 808 на фиг. 8, уменьшенное смещение, сформированное посредством блока 806, используется для сложения уменьшенного или второго смещения с результатом первой итерации, когда считываемая информационная единица данных из оставшегося числа информационных единиц кадра имеет первое значение, и для вычитания второго смещения из результата первой итерации, когда считываемая информационная единица данных из оставшегося числа информационных единиц кадра имеет второе значение. Обычно, второе смещение ниже первого смещения, и предпочтительно, если второе смещение составляет 0,4-0,6 раз относительно первого смещения и наиболее предпочтительно 0,5 раз относительно первого смещения.In a preferred implementation, the
В предпочтительной реализации настоящего изобретения с использованием опосредованного режима, проиллюстрированного на фиг. 9, явное определение характеристик сигналов не требуется. Вместо этого, значение манипуляции вычисляется предпочтительно с использованием варианта осуществления, проиллюстрированного на фиг. 9. Для опосредованного режима, контроллер 20 реализован таким образом, как указано на фиг. 9. В частности, контроллер содержит управляющий препроцессор 22, модуль 23 вычисления значений манипуляции, модуль 24 комбинирования и модуль 25 вычисления глобальных усилений, который, в конечном счете, вычисляет глобальное усиление для модуля 150 уменьшения числа элементов аудиоданных по фиг. 2, который реализован в виде переменного квантователя, проиллюстрированного на фиг. 4b. В частности, контроллер 20 выполнен с возможностью анализа аудиоданных первого кадра для определения первого управляющего значения для переменного квантователя для первого кадра, и анализа аудиоданных второго кадра для определения второго управляющего значения для переменного квантователя для второго кадра, причем второе управляющее значение отличается от первого управляющего значения. Анализ аудиоданных кадра выполняется посредством модуля 23 вычисления значений манипуляции. Контроллер 20 выполнен с возможностью выполнения манипулирования аудиоданными первого кадра. В этой операции управляющий препроцессор 20, проиллюстрированный на фиг. 9, не присутствует, и в силу этого обходная линия для блока 22 является активной.In a preferred implementation of the present invention using the indirect mode illustrated in FIG. 9, explicit signal characterization is not required. Instead, the keying value is calculated preferably using the embodiment illustrated in FIG. 9. For the indirect mode, the
Тем не менее, когда манипулирование не выполняется для аудиоданных первого кадра или второго кадра, но применяется к связанным с амплитудой значениям, извлекаемым из аудиоданных первого кадра или второго кадра, управляющий препроцессор 22 присутствует, и обходная линия не существует. Фактическое манипулирование выполняется посредством модуля 24 комбинирования, который комбинирует значение манипуляции, выводимое из блока 23, со связанными с амплитудой значениями, извлекаемыми из аудиоданных определенного кадра. В выводе модуля 24 комбинирования, существуют манипулируемые (предпочтительно энергетические) данные, и на основе этих манипулируемых данных, модуль 25 вычисления глобальных усилений вычисляет глобальное усиление или по меньшей мере управляющее значение для глобального усиления, указываемого на 404. Модуль 25 вычисления глобальных усилений должен вводить ограничения относительно разрешенного битового бюджета для спектра таким образом, что получается определенная скорость передачи данных или определенное число информационных единиц, разрешенных для кадра.However, when the manipulation is not performed on the audio data of the first frame or the second frame, but is applied to the amplitude related values extracted from the audio data of the first frame or the second frame, the
В прямом режиме, проиллюстрированном на фиг. 11, контроллер 20 содержит анализатор 201 для определения характеристик сигналов в расчете на кадр, и анализатор 208 выводит, например, информацию количественных характеристик сигналов, например, информацию тональности, и управляет модулем 202 вычисления управляющих значений с использованием этих предпочтительно количественных данных. Одна процедура для вычисления тональности кадра заключается в вычислении показателя спектральной сглаженности (SFM) кадра. Любые другие процедуры определения тональности или любые другие процедуры определения характеристик сигналов могут выполняться посредством блока 201, и трансляция от определенного значения характеристик сигналов к определенному управляющему значению должна выполняться для получения намеченного уменьшения числа элементов аудиоданных для кадра. Вывод модуля 202 вычисления управляющих значений для прямого режима по фиг. 11 может представлять собой управляющее значение в процессор кодера, например, в переменный квантователь или, в качестве альтернативы, в каскад начального кодирования. Когда управляющее значение передаётся в переменный квантователь, выполняется режим интегрированного уменьшения, в то время как, когда управляющее значение обеспечивается для каскада начального кодирования, выполняется разделенное уменьшение. Другая реализация разделенного уменьшения заключается в удалении или оказании влияния на конкретно выбранные неквантованные элементы аудиоданных, присутствующие до фактического квантования, так что, посредством определенного квантователя, такие затрагиваемые элементы аудиоданных квантуются до нуля и в силу этого должны исключаться для целей энтропийного кодирования и последующего детализирующего кодирования.In the direct mode illustrated in FIG. 11, the
Хотя опосредованный режим по фиг. 9 показан вместе с интегрированным уменьшением, т.е. что модуль 25 вычисления глобальных усилений выполнен с возможностью вычисления переменного глобального усиления, манипулируемые данные, выводимые посредством модуля 24 комбинирования, также могут использоваться для непосредственного управления каскадом начального кодирования для удаления любых определенных квантованных элементов аудиоданных, например, наименьших квантованных элементов данных, либо, в качестве альтернативы, управляющее значение также может отправляться в непроиллюстрированные аудиоданные, оказывающие влияние на каскад, который оказывает влияние на аудиоданные перед фактическим квантованием с использованием переменного управляющего значения квантования, которое определено без манипулирования данными и в силу этого обычно подчиняется психоакустическим правилам, которые, тем не менее, намеренно нарушаются процедурами по настоящему изобретению.Although the indirect mode of FIG. 9 is shown together with integrated reduction, i.e. that the
Как проиллюстрировано на фиг. 11 для прямого режима, контроллер выполнен с возможностью определения первой характеристики тональности в качестве первой характеристики сигналов и определения второй характеристики тональности в качестве второй характеристики сигналов таким образом, что битовый бюджет для каскада детализирующего кодирования увеличивается в случае первой характеристики тональности по сравнению с битовым бюджетом для каскада детализирующего кодирования в случае второй характеристики тональности, при этом первая характеристика тональности указывает большую тональность, чем вторая характеристика тональности.As illustrated in FIG. 11 for direct mode, the controller is configured to determine the first tone characteristic as the first signal characteristic and determine the second tone characteristic as the second signal characteristic such that the bit budget for the detail coding stage is increased in the case of the first tone characteristic compared to the bit budget for of the detail coding stage in the case of the second tone characteristic, the first key characteristic indicating a greater key than the second key characteristic.
Настоящее изобретение не приводит к более приблизительному квантованию, которое обычно получается посредством применения большего глобального усиления. Вместо этого, это вычисление глобального усиления на основе зависимых от сигнала манипулируемых данных приводит только к сдвигу битового бюджета из каскада начального кодирования, который принимает меньший битовый бюджет, в каскад детализирующего декодирования, который принимает более высокий битовый бюджет, но этот сдвиг битового бюджета выполняется зависимым от сигнала способом и составляет больше для части сигнала с более высокой тональностью.The present invention does not result in more approximate quantization, which is usually obtained by applying a larger global gain. Instead, this calculation of the global gain based on the signal-dependent manipulated data results only in a shift of the bit budget from the initial coding stage, which accepts a lower bit budget, to the fine-grained decoding stage, which accepts a higher bit budget, but this bit budget shift is performed by the dependent away from the signal in a way and amounts to more for the higher pitched portion of the signal.
Предпочтительно, управляющий препроцессор 22 по фиг. 9 вычисляет связанные с амплитудой значения в качестве множества значений мощности, извлекаемых из одного или более аудиозначений аудиоданных. В частности, именно эти значения мощности манипулируются с использованием прибавления одинакового значения манипуляции посредством модуля 24 комбинирования, и это одинаковое значение манипуляции, которое определено посредством модуля 23 вычисления значений манипуляции, комбинируется со всеми значениями мощности из множества значений мощности для кадра.Preferably, the
В качестве альтернативы, как указано посредством обходной линии, значения, полученные посредством одинаковой абсолютной величины значения манипуляции, вычисленного посредством блока 23, но предпочтительно с рандомизированными знаками, и/или значения, полученные посредством вычитания немного отличающихся членов из одинаковой абсолютной величины (но предпочтительно с рандомизированными знаками), или комплексное значение манипуляции, или, обобщённо, значения, полученные в качестве выборок из определенного нормализованного распределения вероятностей, масштабируемого с использованием вычисленной комплексной или действительной абсолютной величины значения манипуляции, складываются со всеми аудиозначениями из множества аудиозначений, включенных в кадр. Процедура, выполняемая посредством управляющего препроцессора 22, такая как вычисление спектра мощности и субдискретизация, может включаться в модуль 25 вычисления глобальных усилений. Следовательно, предпочтительно, минимальный уровень шума складывается либо непосредственно со спектральными аудиозначениями, либо, в качестве альтернативы, со связанными с амплитудой значениями, извлекаемыми из аудиоданных в расчете на кадр, т.е. с выводом управляющего препроцессора 22. Предпочтительно препроцессор контроллера вычисляет субдискретизированный спектр мощности, который соответствует использованию возведения в степень со значением экспоненты, равным 2. Тем не менее, в качестве альтернативы, может использоваться другое значение экспоненты, большее 1. В качестве примера, значение экспоненты, равное 3, должно представлять громкость, а не степень. Но также могут использоваться другие значения экспоненты, например, меньшие или большие значения экспоненты.Alternatively, as indicated by a bypass line, values obtained by the same absolute value of the keying value calculated by
В предпочтительной реализации, проиллюстрированной на фиг. 10, модуль 23 вычисления значений манипуляциисодержит модуль 26 поиска для выполнения поиска максимального спектрального значения в кадре и по меньшей мере одно из вычисления не зависимой от сигнала доли, указываемого посредством элемента 27 по фиг. 10, или модуля вычисления для вычисления одного или более моментов в расчете на кадр, как проиллюстрировано посредством блока 28 по фиг. 10. По существу, блок 26 или блок 28 служит здесь для обеспечения зависимого от сигнала влияния на значение манипуляции для кадра. В частности, модуль 26 поиска выполнен с возможностью выполнения поиска максимального значения множества элементов аудиоданных или связанных с амплитудой значений или с возможностью выполнения поиска максимального значения множества субдискретизированных аудиоданных или множества субдискретизированных связанных с амплитудой значений для соответствующего кадра. Фактическое вычисление выполняется посредством блока 29 с использованием вывода блоков 26, 27 и 28, при этом блоки 26, 28 фактически представляют анализ сигналов.In the preferred implementation illustrated in FIG. 10, the keying
Предпочтительно, не зависимая от сигнала доля определяется посредством скорости передачи битов для фактического сеанса работы кодера, длительности кадра или частоты дискретизации для фактического сеанса работы кодера. Кроме того, модуль 28 вычисления для вычисления одного или более моментов в расчете на кадр выполнен с возможностью вычисления зависимого от сигнала весового значения, извлекаемого по меньшей мере из первой суммы абсолютных величин аудиоданных или субдискретизированных аудиоданных в кадре, второй суммы абсолютных величин аудиоданных или субдискретизированных аудиоданных в кадре, умноженном на индекс, ассоциированный с каждой абсолютной величиной, и частного второй суммы и первой суммы.Preferably, the signal-independent fraction is determined by the bit rate for the actual encoder session, the frame duration, or the sampling rate for the actual encoder session. In addition, the
В предпочтительной реализации, выполняемой посредством модуля 25 вычисления глобальных усилений по фиг. 9, требуемая битовая оценка вычисляется для каждого значения энергии в зависимости от значения энергии и возможного значения для значения фактического управления. Требуемые битовые оценки для значений энергии и возможного значения для управляющего значения накапливаются, и проверяется, соответствует ли накопленная битовая оценка для возможного значения для управляющего значения критерию разрешенного потребления битов, например, как проиллюстрировано на фиг. 9, в качестве битового бюджета для спектра, введенного в модуль 25 вычисления глобальных усилений. В случае если критерий разрешенного потребления битов не выполняется, возможное значение для управляющего значения модифицируется, и вычисление требуемой битовой оценки, накопление требуемой скорости передачи битов и проверка соответствия критерию разрешенного потребления битов для модифицированного возможного значения для управляющего значения повторяются. После того, как такое оптимальное управляющее значение обнаруживается, это значение выводится в линии 404 по фиг. 9.In the preferred implementation performed by the global
Далее проиллюстрированы предпочтительные варианты осуществления.The following illustrates preferred embodiments.
Подробное описание кодера (например, фиг. 5)Detailed description of the encoder (for example, Fig. 5)
ОбозначениеDesignation
Обозначим как f базовую частоту дискретизации в Гц, как Nms базовую длительность кадра в миллисекундах, и как br базовую скорость передачи битов в битах в секунду.Let f be the base sampling rate in Hz, N ms the base frame duration in milliseconds, and br the base bit rate in bits per second.
Извлечение остаточного спектра (например, препроцессор 10)Residual spectrum extraction (e.g. preprocessor 10)
Вариант осуществления работает с действительным остаточным спектром , который обычно извлекается посредством временно-частотного преобразования, такого как MDCT, с дальнейшими психоакустически обусловленными модификациями, такими как формирование временного шума (TNS) для удаления временной структуры, и формирование спектрального шума (SNS) для удаления спектральной структуры. Для аудиосодержимого с медленно варьирующейся спектральной огибающей, огибающая остаточного спектра Xf(k) в силу этого является плоской.Embodiment operates with actual residual spectrum , which is typically extracted by a time-frequency transform such as MDCT, with further psychoacoustically driven modifications such as temporal noise shaping (TNS) to remove temporal structure, and spectral noise shaping (SNS) to remove spectral structure. For audio content with a slowly varying spectral envelope, the residual spectrum envelope X f (k) is therefore flat.
Оценка глобального усиления (например, фиг. 9)Global Gain Estimation (eg, Fig. 9)
Квантование спектра управляется посредством глобального усиления gglob через следующее:Spectrum quantization is controlled by the global gain g glob via the following:
Начальная оценка глобального усиления (элемент 22 по фиг. 9) извлекается из спектра Xf(k)2 мощности после субдискретизации на коэффициент 4:The initial global gain estimate (
и сигнально-адаптивного минимального уровня N(Xf) шума, который задается следующим образом:and a signal-adaptive noise floor N(X f ), which is given as follows:
(например, элемент 23 по фиг. 9) (for example,
Параметр regBits зависит от скорости передачи битов, длительности кадра и частоты дискретизации и вычисляется следующим образом:The regBits parameter depends on the bit rate, frame duration and sample rate and is calculated as follows:
(например, элемент 27 по фиг. 10) (for example,
где C(Nms, fs) является таким, как указано в нижеприведенной таблице.where C(Nm s , f s ) is as specified in the table below.
Параметр lowBits зависит от центра масс абсолютных значений остаточного спектра и вычисляется следующим образом:The lowBits parameter depends on the center of mass of the absolute values of the residual spectrum and is calculated as follows:
(например, элемент 28, фиг. 10) (for example,
где:where:
и:and:
являются моментами абсолютного спектра.are moments of the absolute spectrum.
Глобальное усиление оценивается в форме:The global gain is estimated in the form:
из значений:from values:
(например, вывода модуля 24 комбинирования по фиг. 9), (for example,
где ggoff является зависимым от скорости передачи битов и частоты дискретизации смещением.where gg off is a bit rate and sample rate dependent offset.
Следует отметить, что сложение члена N(Xf) минимального уровня шума с PXlp(k) дает ожидаемый результат сложения соответствующего минимального уровня шума с остаточным спектром Xf(k), например, рандомизированного прибавления или вычитания члена для каждой спектральной линии, перед вычислением спектра мощности.It should be noted that adding the noise floor term N(X f ) to PX lp (k) gives the expected result of adding the corresponding noise floor to the residual spectrum X f (k), such as a randomized addition or subtraction of the term for each spectral line, before calculating the power spectrum.
Чистые оценки на основе спектра мощности могут уже обнаруживаться, например, в кодеке EVS 3GPP (3GPP TS 26.445, раздел 5.3.3.2.8.1). В вариантах осуществления выполняется прибавление минимального уровня N(Xf) шума. Минимальный уровень шума является сигнально-адаптивным двумя способами.Pure estimates based on the power spectrum may already be found, for example, in the 3GPP EVS codec (3GPP TS 26.445, section 5.3.3.2.8.1). In embodiments, the addition of a noise floor N(X f ) is performed. The noise floor is signal-adaptive in two ways.
Во-первых, он масштабируется с максимальной амплитудой Xf. Следовательно, влияние на энергию равномерного спектра, в котором все амплитуды находятся близко к максимальной амплитуде, является очень небольшим. Но для высокотональных сигналов, в которых спектр и, в расширении, также остаточный спектр демонстрируют определенное число сильных пиков, полная энергия значительно увеличивается, что увеличивает битовую оценку в вычислении глобального усиления, как указано ниже.First, it scales with the maximum amplitude X f . Therefore, the effect on energy of a uniform spectrum in which all amplitudes are close to the maximum amplitude is very small. But for high-pitched signals, in which the spectrum and, in extension, also the residual spectrum show a certain number of strong peaks, the total energy increases significantly, which increases the bit estimate in the global gain calculation, as indicated below.
Во-вторых, минимальный уровень шума понижается через параметр lowBits, если спектр демонстрирует низкий центр масс. В этом случае, низкочастотное содержимое является доминирующим, в силу чего потери высокочастотных компонентов с большой вероятностью не должны быть настолько критическими, как для высокотонального содержимого.Second, the noise floor is lowered via the lowBits parameter if the spectrum exhibits a low center of mass. In this case, the low frequency content is dominant, whereby the loss of the high frequency components is not likely to be as critical as the high frequency content.
Фактическая оценка глобального усиления выполняется (например, блок 25 по фиг. 9) посредством бисекционного поиска с низкой сложностью, как указано в нижеприведенном коде на языке C, где обозначает битовый бюджет для кодирования спектра. Оценка потребления битов (накопленная в переменной tmp) основана на значениях E(k) энергии с учетом контекстной зависимости в арифметическом кодере, используемом для кодирования в каскаде 1.The actual global gain estimation is performed (eg, block 25 of FIG. 9) by a low complexity bisectional search as indicated in the C code below, where denotes the bit budget for spectrum coding. The bit consumption estimate (accumulated in the tmp variable) is based on the context sensitive energy E(k) values in the arithmetic encoder used to encode in stage 1.
fac=0,3;fac=0.3;
ggind=255;gg ind =255;
for (iter=0; iter<8; iter++)for (iter=0; iter<8; iter++)
{{
fac>>=1;fac>>=1;
ggind-=fac;gg ind -=fac;
tmp=0;tmp=0;
iszero=1;iszero=1;
for (i=N/4-1; i>=0; i--)for (i=N/4-1; i>=0; i--)
{{
if (E[i]*28/20<(ggind+ggoff))if (E[i]*28/20<(gg ind +gg off ))
{{
if (iszero==0)if (iszero==0)
{{
tmp+=2,7*28/20;tmp+=2.7*28/20;
}}
}}
elseelse
{{
if ((ggind+ggoff)<E[i]*28/20-43*28/20)if ((gg ind +gg off )<E[i]*28/20-43*28/20)
{{
tmp+=2*E[i]*28/20-2*(ggind+ggoff)-36*28/20;tmp+=2*E[i]*28/20-2*(gg ind +gg off )-36*28/20;
}}
elseelse
{{
tmp+=E[i]*28/20-(ggind+ggoff)+7*28/20;tmp+=E[i]*28/20-(gg ind +gg off )+7*28/20;
}}
iszero=0;iszero=0;
}}
}}
if (tmp> *1,4*28/20 andand iszero==0)if (tmp> *1.4*28/20 andand iszero==0)
{{
ggind+=fac;gg ind +=fac;
}}
}}
Остаточное кодирование (например, фиг. 3)Residual coding (eg, Fig. 3)
Остаточное кодирование использует избыточные биты, которые доступны после арифметического кодирования квантованного спектра Xq(k). Пусть B обозначает число избыточных битов, и пусть K обозначает число кодированных ненулевых коэффициентов Xq(k). Кроме того, пусть ki, i=1, ... K, обозначает перечисление этих ненулевых коэффициентов от наименьшей к наибольшей частоте. Остаточные биты bi(j) (принимающие значения 0 и 1) для коэффициента ki вычисляются таким образом, чтобы минимизировать ошибку:Residual coding uses redundant bits that are available after arithmetic coding of the quantized spectrum X q (k). Let B denote the number of redundant bits, and let K denote the number of encoded non-zero coefficients X q (k). In addition, let k i , i=1, ... K, denote the enumeration of these non-zero coefficients from the smallest to the largest frequency. The residual bits b i (j) (taking the values 0 and 1) for the coefficient k i are calculated in such a way as to minimize the error:
Это может осуществляться итеративным способом с проверкой того, выполняется ли следующее:This can be done in an iterative way, checking if the following is true:
Если (1) является истинным, то n-й остаточный бит bi(n) для коэффициента ki задается равным 0, и иначе он задается равным 1. Вычисление остаточных битов выполняется посредством вычисления первого остаточного бита для каждого ki и затем второго бита и т.д. до тех пор, пока все остаточные биты не расходуются, или максимальное число nmax итераций не выполняется. Это оставляет:If (1) is true, then the nth residual bit bi(n) for the coefficient k i is set to 0, and otherwise it is set to 1. The calculation of the residual bits is performed by calculating the first residual bit for each k i and then the second bit and etc. until all residual bits are consumed, or the maximum number nmax of iterations is not executed. This leaves:
остаточных битов для коэффициента Xq(ki). Эта схема остаточного кодирования улучшает схему остаточного кодирования, которая применяется в 3GPP EVS-кодеке, который расходует самое большее один бит в расчете на ненулевой коэффициент.residual bits for coefficient X q (k i ). This residual coding scheme improves upon the residual coding scheme applied in the 3GPP EVS codec, which consumes at most one bit per non-zero coefficient.
Вычисление остаточных битов с nmax=20 проиллюстрировано посредством следующего псевдокода, при этом gg обозначает глобальное усиление:The calculation of the residual bits with nmax=20 is illustrated with the following pseudocode, with gg standing for the global gain:
iter=0;iter=0;
nbits_residual=0;nbits_residual=0;
offset=0,25;offset=0.25;
while (nbits_residual<nbits_residual_max andand iter<20)while (nbits_residual<nbits_residual_max andand iter<20)
{{
k=0; k=0;
while (k<NE andand nbits_residual<nbits_residual_max)while (k<N E andand nbits_residual<nbits_residual_max)
{{
if (Xq[k] !=0)if (Xq[k] ! = 0)
{{
if (Xf[k]>=Xq[k]*gg)if ( Xf [k]> =Xq [k]*gg)
{{
res_bits[nbits_residual]=1;res_bits[nbits_residual]=1;
Xf[k] -=offset*gg;X f [k] -=offset*gg;
}}
elseelse
{{
res_bits[nbits_residual]=0;res_bits[nbits_residual]=0;
Xf[k]+=offset*gg; Xf [k]+=offset*gg;
}}
nbits_residual++;nbits_residual++;
}}
k++;k++;
} }
iter++; iter++;
offset/=2; offset/=2;
}}
Описание декодера (например, фиг. 6)Description of the decoder (for example, Fig. 6)
В декодере, энтропийно кодированный спектр получается посредством энтропийного декодирования. Остаточные биты используются для детализации этого спектра, как продемонстрировано следующим псевдокодом (см. также, например, фиг. 8).At the decoder, entropy coded spectrum obtained by entropy decoding. The residual bits are used to refine this spectrum, as demonstrated by the following pseudocode (see also, eg, FIG. 8).
iter=n=0;iter=n=0;
offset=0,25;offset=0.25;
while (iter<20 andand n<nResBits)while (iter<20 andand n<nResBits)
{{
k=0; k=0;
while (k<NE andand n<nResBits)while (k<N E andand n<nResBits)
{{
если ( [k] !=0)if ( [k] !=0)
{{
if (resBits[n++]==0)if (resBits[n++]==0)
{{
[k] -=offset; [k]-=offset;
}}
elseelse
{{
[k]+=offset; [k]+=offset;
}}
}}
k++;k++;
}}
iter++;iter++;
offset/=2; offset/=2;
}}
Декодированный остаточный спектр задается следующим образом:The decoded residual spectrum is given as follows:
ЗаключенияConclusions
Предлагается эффективная схема двухкаскадного кодирования, содержащая первый каскад энтропийного кодирования и второй каскад остаточного кодирования на основе однобитового (неэнтропийного) кодирования.An efficient two-stage coding scheme is proposed, containing the first entropy coding stage and the second residual coding stage based on one-bit (non-entropy) coding.
Схема использует модуль оценки глобального усиления с низкой сложностью, который включает модуль оценки потребления битов на основе энергии для первого каскада кодирования, содержащего сигнально-адаптивный сумматор минимального уровня шума.The scheme uses a low complexity global gain estimator that includes an energy-based bit consumption estimator for the first coding stage, comprising a signal-adaptive noise floor adder.
Сумматор минимального уровня шума эффективно передает биты из первого каскада кодирования во второй каскад кодирования для высокотональных сигналов при оставлении оценки для других типов сигналов неизменной. Утверждается, что этот сдвиг битов из каскада энтропийного кодирования в каскад неэнтропийного кодирования является полностью эффективным для высокотональных сигналов.The noise floor combiner efficiently transfers bits from the first coding stage to the second coding stage for high tone signals while leaving the estimate for other types of signals unchanged. This bit shifting from the entropy coding stage to the non-entropy coding stage is claimed to be fully effective for high-pitched signals.
Фиг. 12 иллюстрирует процедуру для уменьшения числа элементов аудиоданных зависимым от сигнала способом с использованием разделенного уменьшения. На этапе 901, квантование выполняется с использованием неманипулируемой информации, такой как глобальное усиление, вычисленное из сигнальных данных без манипулирования. С этой целью, (полный) битовый бюджет для элементов аудиоданных требуется, и в выводе блока 901, получаются квантованные элементы данных. В блоке 902, число элементов аудиоданных уменьшается посредством исключения (управляемого) количества предпочтительно наименьших элементов аудиоданных на основе зависимого от сигнала управляющего значения. В выводе блока 902, получается уменьшенное число элементов данных, и в блоке 903, применяется каскад начального кодирования, и с битовым бюджетом для остаточных битов, которые остаются вследствие управляемого уменьшения, применяется каскад детализирующего кодирования, как проиллюстрировано на 904.Fig. 12 illustrates a procedure for reducing the number of audio data elements in a signal-dependent manner using split reduction. In
Кроме того, в процедуру на фиг. 12, блок 902 уменьшения также может выполняться перед фактическим квантованием с использованием значения глобального усиления или, в общем, определенного размера шага квантователя, который определен с использованием неманипулируемых аудиоданных. Это уменьшение числа элементов аудиоданных может в силу этого также выполняться в неквантованной области посредством задания равными нулю определенных предпочтительно небольших значений или посредством взвешивания определенных значений с весовыми коэффициентами, что, в конечном счете, приводит к значениям, квантованным до нуля. В реализации для разделенного уменьшения, выполняются этап явного квантования, с одной стороны, и этап явного уменьшения, с другой стороны, при этом управление для конкретного квантования выполняется без манипулирования данных.In addition, in the procedure of FIG. 12,
В отличие от этого, фиг. 13 иллюстрирует режим интегрированного уменьшения в соответствии с вариантом осуществления настоящего изобретения. В блоке 911, манипулируемая информация определяется посредством контроллера 20, такая как, например, глобальное усиление, проиллюстрированное в выводе блока 25 по фиг. 9. В блоке 912, квантование неманипулируемых аудиоданных выполняется с использованием манипулируемого глобального усиления, или в общем, манипулируемой информации, вычисленной в блоке 911. В выводе процедуры квантования блока 912, получается уменьшенное число элементов аудиоданных, которые начально кодируются в блоке 903, и детализация, кодированная в блоке 904. Вследствие зависимого от сигнала уменьшения элементов аудиоданных, остаточные биты по меньшей мере для одной полной итерации и по меньшей мере для части второй итерации и предпочтительно даже более чем для двух итераций остаются. Сдвиг битового бюджета из каскада начального кодирования в каскад детализирующего кодирования выполняется в соответствии с настоящим изобретением и зависимым от сигнала способом.In contrast, FIG. 13 illustrates an integrated reduction mode according to an embodiment of the present invention. In
Настоящее изобретение может быть реализовано по меньшей мере в четырех различных режимах. Определение управляющего значения может выполняться в прямом режиме с явным определением характеристик сигналов или в опосредованном режиме без явного определения характеристик сигналов, но со сложением зависимого от сигнала минимального уровня шума с аудиоданными или с извлеченными аудиоданными в качестве примера для манипулирования. Одновременно, уменьшение числа элементов аудиоданных выполняется интегрированным способом или разделенным способом. Также могут выполняться опосредованное определение и интегрированное уменьшение или опосредованное формирование управляющего значения и разделенное уменьшение. Кроме того, также могут выполняться прямое определение вместе с интегрированным уменьшением и прямое определение управляющего значения вместе с разделенным уменьшением. Для целей низкой эффективности, предпочтительным является опосредованное определение управляющего значения вместе с интегрированным уменьшением элементов аудиоданных.The present invention can be implemented in at least four different modes. The determination of the control value may be performed in direct mode with explicit signal characterization, or in indirect mode without explicit signal characterization, but adding the signal-dependent noise floor to the audio data or extracted audio data as an example for manipulation. At the same time, the reduction in the number of audio data items is performed in an integrated manner or in a divided manner. Indirect determination and integrated reduction or indirect control value generation and divided reduction may also be performed. In addition, direct determination along with integrated reduction and direct determination of the control value along with divided reduction can also be performed. For low efficiency purposes, it is preferable to indirectly determine the control value along with the integrated reduction of audio data elements.
Здесь следует отметить, что все альтернативы или аспекты, поясненные выше, и все аспекты, определённые в независимых пунктах в нижеприведенной формуле изобретения, могут использоваться по отдельности, т.е. без альтернатив или задач, отличных от предполагаемой альтернативы, задачи или независимого пункта формулы изобретения. Тем не менее, в других вариантах осуществления, две или более из альтернатив или аспектов или независимых пунктов формулы изобретения могут комбинироваться друг с другом, и, в других вариантах осуществления, все аспекты или альтернативы и все независимые пункты формулы изобретения могут комбинироваться друг с другом.It should be noted here that all alternatives or aspects explained above and all aspects defined in the independent claims in the following claims may be used individually, i. without alternatives or objectives other than the intended alternative, objective or independent claim. However, in other embodiments, two or more of the alternatives or aspects or independent claims may be combined with each other, and in other embodiments, all aspects or alternatives and all independent claims may be combined with each other.
Кодированный согласно изобретению аудиосигнал может сохраняться на цифровом носителе хранения данных или постоянном носителе хранения данных или может передаваться по среде передачи, такой как беспроводная среда передачи или проводная среда передачи, например, Интернет.The audio signal encoded according to the invention may be stored on a digital storage medium or a permanent storage medium, or may be transmitted over a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.
Хотя некоторые аспекты описаны в контексте устройства, очевидно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогичным образом, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего устройства.Although some aspects are described in the context of a device, it is obvious that these aspects also represent a description of the corresponding method, with the block or device corresponding to a method step or a feature of a method step. Likewise, the aspects described in the context of a method step also provide a description of the corresponding block or element, or feature of the corresponding device.
В зависимости от определенных требований к реализации, варианты осуществления изобретения могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может выполняться с использованием цифрового носителя хранения данных, например, гибкого диска, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сохраненные считываемые электронными средствами управляющие сигналы, которые взаимодействуют (или допускают взаимодействие) с программируемой компьютерной системой таким образом, что осуществляется соответствующий способ.Depending on certain implementation requirements, embodiments of the invention may be implemented in hardware or software. The implementation may be performed using a digital storage medium, such as a floppy disk, DVD, CD, ROM, PROM, EPROM, EEPROM, or flash memory, having stored electronically readable control signals that interact (or are capable of interacting) with a programmable computer system. so that the corresponding method is carried out.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий считываемые электронными средствами управляющие сигналы, которые допускают взаимодействие с программируемой компьютерной системой таким образом, что осуществляется один из способов, описанных в данном документе.Some embodiments of the invention comprise a storage medium having electronically readable control signals that are capable of interacting with a programmable computer system such that one of the methods described herein is carried out.
В общем, варианты осуществления настоящего изобретения могут быть реализованы в виде компьютерного программного продукта с программным кодом, при этом программный код выполнен с возможностью осуществления одного из способов, когда компьютерный программный продукт работает на компьютере. Программный код, например, может сохраняться на машиночитаемом носителе.In general, embodiments of the present invention may be implemented as a computer program product with program code, wherein the program code is configured to perform one of the methods when the computer program product is running on the computer. The program code may, for example, be stored on a computer-readable medium.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из способов, описанных в данном документе, сохраненную на машиночитаемом носителе или на постоянном носителе хранения данных.Other embodiments comprise a computer program for carrying out one of the methods described herein stored on a computer-readable medium or on a permanent storage medium.
Другими словами, таким образом, вариант осуществления способа согласно изобретению представляет собой компьютерную программу, имеющую программный код для осуществления одного из способов, описанных в данном документе, когда компьютерная программа работает на компьютере.In other words, therefore, an embodiment of the method according to the invention is a computer program having program code for carrying out one of the methods described herein when the computer program is running on a computer.
Следовательно, дополнительный вариант осуществления способов согласно изобретению представляет собой носитель хранения данных (цифровой носитель хранения данных или машиночитаемый носитель), содержащий записанную компьютерную программу для осуществления одного из способов, описанных в данном документе.Therefore, a further embodiment of the methods of the invention is a storage medium (digital storage medium or computer-readable medium) containing a recorded computer program for carrying out one of the methods described herein.
Следовательно, дополнительный вариант осуществления способа согласно изобретению представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из способов, описанных в данном документе. Поток данных или последовательность сигналов, например, может быть выполнена с возможностью передачи через соединение для передачи данных, например, через Интернет.Therefore, a further embodiment of the method according to the invention is a data stream or sequence of signals representing a computer program for implementing one of the methods described herein. The data stream or signal sequence, for example, may be configured to be transmitted over a data connection, such as the Internet.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненное с возможностью осуществления одного из способов, описанных в данном документе.An additional embodiment includes processing means, such as a computer or programmable logic device, configured to perform one of the methods described herein.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную компьютерную программу для осуществления одного из способов, описанных в данном документе.An additional embodiment comprises a computer having a computer program installed to implement one of the methods described herein.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может использоваться для выполнения части или всех из функциональностей способов, описанных в данном документе. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором для осуществления одного из способов, описанных в данном документе. В общем, способы предпочтительно осуществляются посредством любого аппаратного устройства.In some embodiments, a programmable logic device (eg, a field programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In some embodiments, a user-programmable gate array may interface with a microprocessor to implement one of the methods described herein. In general, the methods are preferably carried out by any hardware device.
Вышеописанные варианты осуществления являются лишь иллюстративными в отношении принципов настоящего изобретения. Следует понимать, что специалистам в данной области техники должны быть очевидными модификации и изменения конфигураций и подробностей, описанных в данном документе. Следовательно, подразумевается ограничение лишь объемом нижеприведенной формулы изобретения, но не конкретными подробностями, представленными в данном документе в качестве описания и пояснения вариантов осуществления.The above described embodiments are merely illustrative of the principles of the present invention. It should be understood that modifications and changes to the configurations and details described herein should be apparent to those skilled in the art. Therefore, it is intended to be limited only by the scope of the following claims, and not by the specific details provided herein as a description and explanation of the embodiments.
Claims (113)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EPPCT/EP2019/065897 | 2019-06-17 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022101245A Division RU2022101245A (en) | 2019-06-17 | 2020-06-10 | AUDIO ENCODER WITH SIGNAL-DEPENDENT PRECISION AND NUMBER CONTROL, AUDIO DECODER AND RELATED METHODS AND COMPUTER PROGRAMS |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2782182C1 true RU2782182C1 (en) | 2022-10-21 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050228651A1 (en) * | 2004-03-31 | 2005-10-13 | Microsoft Corporation. | Robust real-time speech codec |
US20070124141A1 (en) * | 2004-09-17 | 2007-05-31 | Yuli You | Audio Encoding System |
US20110173008A1 (en) * | 2008-07-11 | 2011-07-14 | Jeremie Lecomte | Audio Encoder and Decoder for Encoding Frames of Sampled Audio Signals |
RU2583717C1 (en) * | 2012-01-09 | 2016-05-10 | Долби Лабораторис Лайсэнзин Корпорейшн | Method and system for encoding audio data with adaptive low frequency compensation |
RU2679571C1 (en) * | 2015-03-09 | 2019-02-11 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Audio coder for coding multi-channel signal and audio coder for decoding coded audio signal |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050228651A1 (en) * | 2004-03-31 | 2005-10-13 | Microsoft Corporation. | Robust real-time speech codec |
US20070124141A1 (en) * | 2004-09-17 | 2007-05-31 | Yuli You | Audio Encoding System |
US20110173008A1 (en) * | 2008-07-11 | 2011-07-14 | Jeremie Lecomte | Audio Encoder and Decoder for Encoding Frames of Sampled Audio Signals |
RU2583717C1 (en) * | 2012-01-09 | 2016-05-10 | Долби Лабораторис Лайсэнзин Корпорейшн | Method and system for encoding audio data with adaptive low frequency compensation |
RU2679571C1 (en) * | 2015-03-09 | 2019-02-11 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Audio coder for coding multi-channel signal and audio coder for decoding coded audio signal |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7383180B2 (en) | Constant bitrate media encoding techniques | |
JP5356406B2 (en) | Audio coding system, audio decoder, audio coding method, and audio decoding method | |
TWI380602B (en) | Apparatus and method for encoding an information signal | |
JP6970789B2 (en) | An audio encoder that encodes an audio signal taking into account the detected peak spectral region in the high frequency band, a method of encoding the audio signal, and a computer program. | |
JP2017501430A (en) | Encoder for encoding audio signal, audio transmission system, and correction value determination method | |
JP7422966B2 (en) | Audio encoders, audio decoders, and related methods and computer programs with signal-dependent number and precision control | |
JP2007512546A (en) | Window type determination method based on MDCT data in audio coding | |
KR101661917B1 (en) | Encoding method, encoder, program and recording medium | |
JP6595687B2 (en) | Encoding method, encoding device, program, and recording medium | |
US8825494B2 (en) | Computation apparatus and method, quantization apparatus and method, audio encoding apparatus and method, and program | |
US20170272766A1 (en) | Encoding apparatus, decoding apparatus, and method and program for the same | |
JP4639073B2 (en) | Audio signal encoding apparatus and method | |
EP2229675A1 (en) | Apparatus and method of enhancing quality of speech codec | |
TWI524331B (en) | Low-complexity tonality-adaptive audio signal quantization | |
RU2782182C1 (en) | Audio encoder with signal-dependent precision and number control, audio decoder and related methods and computer programs | |
KR20220011780A (en) | Audio encoder with a signal-dependent number and precision control, audio decoder, and related methods and computer programs | |
JP2002182695A (en) | High-performance encoding method and apparatus | |
Wu et al. | MPEG-2/4 low-complexity advanced audio coding optimization and implementation on DSP |