RU2574849C2 - Apparatus and method for encoding and decoding audio signal using aligned look-ahead portion - Google Patents

Apparatus and method for encoding and decoding audio signal using aligned look-ahead portion Download PDF

Info

Publication number
RU2574849C2
RU2574849C2 RU2013141919/08A RU2013141919A RU2574849C2 RU 2574849 C2 RU2574849 C2 RU 2574849C2 RU 2013141919/08 A RU2013141919/08 A RU 2013141919/08A RU 2013141919 A RU2013141919 A RU 2013141919A RU 2574849 C2 RU2574849 C2 RU 2574849C2
Authority
RU
Russia
Prior art keywords
window
frame
data
encoding
prediction
Prior art date
Application number
RU2013141919/08A
Other languages
Russian (ru)
Other versions
RU2013141919A (en
Inventor
Эммануэль РАВЕЛЛИ
Ральф ГАЙГЕР
Маркус ШНЕЛЛЬ
Гийом ФУКС
Веза РУОППИЛА
Том БЯКСТРЕМ
Бернхард ГРИЛЛ
Кристиан ХЕЛЬМРИХ
Original Assignee
Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. filed Critical Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф.
Priority claimed from PCT/EP2012/052450 external-priority patent/WO2012110473A1/en
Publication of RU2013141919A publication Critical patent/RU2013141919A/en
Application granted granted Critical
Publication of RU2574849C2 publication Critical patent/RU2574849C2/en

Links

Images

Abstract

FIELD: radio engineering, communication.
SUBSTANCE: windower for applying a prediction coding analysis window to a stream of audio samples to obtain windowed data for prediction analysis and for applying a transform coding analysis window to the stream of audio samples to obtain windowed data for transform analysis. The transform coding analysis window is associated with audio samples within a current frame of audio samples and with audio samples of a predefined portion of a future frame of audio samples which is a transform-coding look-ahead portion. The prediction coding analysis window is associated with the portion of the audio samples of the current frame and with audio samples of a predefined portion of the future frame which is a prediction coding look-ahead portion.
EFFECT: high quality of the encoded audio signal.
26 cl, 17 dwg

Description

Настоящее изобретение относится к кодированию аудиосигнала и, в частности, к кодированию аудиосигнала, основанному на переключаемых аудиокодерах и соответственно управляемых аудиодекодерах, особенно подходящих для приложений с малой задержкой.The present invention relates to encoding an audio signal and, in particular, to encoding an audio signal based on switchable audio encoders and accordingly controlled audio decoders, especially suitable for low-latency applications.

Известны несколько концепций кодирования аудиосигнала, основанных на переключаемых кодеках. Одна известная концепция кодирования аудиосигнала - это так называемый кодек Расширенного широкополосного адаптивного кодирования с переменной скоростью (AMR-WB+), как описано в 3 GPP TS 26.290 B10.0.0 (2011-03). AMR-WB+ аудиокодек содержит все режимы 1-9 кодека AMR-WB для речевых сигналов и AMR-WB VAD и DTX. AMR-WB+ расширяет кодек AMR-WB, посредством добавления TCX, расширения полосы частот и стерео.Several audio coding concepts based on switchable codecs are known. One well-known audio coding concept is the so-called Advanced Broadband Adaptive Variable Speed Encoding (AMR-WB +) codec, as described in 3 GPP TS 26.290 B10.0.0 (2011-03). AMR-WB + audio codec contains all modes 1-9 of the AMR-WB codec for speech signals and AMR-WB VAD and DTX. AMR-WB + extends the AMR-WB codec by adding TCX, bandwidth extension and stereo.

AMR-WB+ аудиокодек обрабатывает входные кадры, равные 2048 дискретным значениям, c внутренней частотой дискретизации FS. Внутренняя частота дискретизации ограничена диапазоном 12800-38400 Гц. Кадры по 2048 дискретных значений делятся на два критически дискретизированных равных диапазона частот. Результатом этого являются два суперкадра по 1024 дискретных значения, соответствующих низкочастотному (LF) и высокочастотному (HF) диапазонам. Каждый суперкадр делится на четыре кадра по 256 дискретных значений. Дискретизация c внутренней частотой дискретизации получается путем использования регулируемой схемы преобразования дискретизации, которая повторно дискретизирует входной сигнал.AMR-WB + audio codec processes input frames equal to 2048 discrete values, with an internal sampling frequency F S. The internal sampling rate is limited to the range of 12800-38400 Hz. Frames of 2048 discrete values are divided into two critically sampled equal frequency ranges. The result of this is two superframes of 1024 discrete values corresponding to the low-frequency (LF) and high-frequency (HF) ranges. Each superframe is divided into four frames of 256 discrete values. Sampling with an internal sampling rate is obtained by using an adjustable sampling conversion circuit that resambles the input signal.

LF и HF сигналы затем кодируются с использованием двух различных подходов: LF кодируется и декодируется с помощью "основного" кодера/декодера, основанного на переключаемом ACELP и возбуждения кодированным преобразованием (TCX). В режиме ACELP используется стандартный кодек AMR-WB. HF сигнал кодируется относительно небольшим числом бит (16 бит/кадр) с помощью метода расширения полосы частот (BWE). Параметры, передаваемые от кодера декодеру, являются битами выбора режима, параметрами LF и параметрами HF. Параметры для каждого суперкадра в 1024 дискретных значений разделены на четыре пакета одинакового размера. Когда входной сигнал является стерео-сигналом, левый и правый каналы объединяются в моно-сигнал для кодирования ACELP/TCX, тогда как кодирование стерео принимает оба входных канала. На стороне декодера LF и HF диапазоны декодируются отдельно, после чего они объединяются в синтезирующем банке фильтров. Если выходной сигнал ограничен только моно-сигналом, параметры стерео опускаются, и декодер функционирует в режиме моно. AMR-WB+ кодек применяет анализ LP и для режима ACELP, и для режима TCX при кодировании сигнала LF. Коэффициенты LP линейно интерполируются в каждом подкадре с 64 дискретными значениями. Окно анализа LP является полукосинусом с длиной в 384 дискретных значения. Для кодирования основного моно-сигнала для каждого кадра используется или кодирование ACELP или TCX. Режим кодирования выбирается на основании метода «анализ через синтез» с обратной связью. Для кадров ACELP рассматриваются только кадры с 256 дискретными значениями, тогда как в режиме TCX возможны кадры с 256, 512 или 1024 дискретными значениями. Окно, используемое для анализа LPC в AMR-WB+, изображено на фиг. 5b. Используется симметричное окно анализа LPC с опережающим просмотром в 20 мс. Опережающий просмотр означает, что, как показано на фиг. 5b, окно анализа LPC для текущего кадра, изображенное под номером 500, простирается не только в пределах текущего кадра, обозначенного между 0 и 20 мс на фиг. 5b и изображенного под номером 502, но простирается в будущий кадр между 20 и 40 мс. Это означает, что при использовании этого окна анализа LPC необходима дополнительная задержка в 20 мс, то есть целый будущий кадр. Поэтому часть опережающего просмотра, обозначенная как 504 на фиг. 5b, вносит вклад в систематическую задержку, связанную с AMR-WB+ кодером. Другими словами, будущий кадр должен быть полностью доступен, чтобы могли быть вычислены коэффициенты анализа LPC для текущего кадра 502.LF and HF signals are then encoded using two different approaches: LF is encoded and decoded using a “main” encoder / decoder based on switchable ACELP and encoded transform excitation (TCX). In ACELP mode, the standard AMR-WB codec is used. The HF signal is encoded with a relatively small number of bits (16 bits / frame) using the bandwidth extension method (BWE). The parameters transmitted from the encoder to the decoder are mode selection bits, LF parameters, and HF parameters. The parameters for each superframe of 1024 discrete values are divided into four packets of the same size. When the input signal is a stereo signal, the left and right channels are combined into a mono signal for ACELP / TCX encoding, while stereo encoding receives both input channels. On the decoder side, LF and HF ranges are decoded separately, after which they are combined in a synthesizing filter bank. If the output signal is limited only to a mono signal, the stereo parameters are omitted, and the decoder operates in mono mode. The AMR-WB + codec uses LP analysis for both ACELP and TCX modes when encoding an LF signal. LP coefficients are linearly interpolated in each subframe with 64 discrete values. The LP analysis window is a half-sine with a length of 384 discrete values. For encoding the main mono signal for each frame, either ACELP or TCX encoding is used. The encoding mode is selected based on the feedback analysis method. For ACELP frames, only frames with 256 discrete values are considered, while in TCX mode, frames with 256, 512, or 1024 discrete values are possible. The window used for LPC analysis in AMR-WB + is depicted in FIG. 5b. A symmetric LPC analysis window is used with a 20 ms lead time. Advance viewing means that, as shown in FIG. 5b, the LPC analysis window for the current frame, shown at 500, extends not only within the current frame, designated between 0 and 20 ms in FIG. 5b and shown at 502, but extends into a future frame between 20 and 40 ms. This means that when using this LPC analysis window, an additional delay of 20 ms is required, i.e. an entire future frame. Therefore, the look-ahead portion designated 504 in FIG. 5b contributes to the systematic delay associated with the AMR-WB + encoder. In other words, the future frame must be fully accessible so that LPC analysis coefficients for the current frame 502 can be calculated.

Фиг. 5a изображает другой кодер, так называемый кодер AMR-WB и, в частности, окно анализа LPC, используемое для вычисления коэффициентов анализа для текущего кадра. Еще раз, текущий кадр простирается между 0 и 20 мс, а будущий кадр простирается между 20 и 40 мс. В отличие от фиг. 5b, окно анализа LPC AMR-WB, обозначенное как 506, имеет часть 508 опережающего просмотра лишь в 5 мс, то есть временной интервал между 20 мс и 25 мс. Следовательно, задержка, вносимая анализом LPC, в значительной степени уменьшается относительно фиг. 5a. С другой стороны, однако, было установлено, что большая часть опережающего просмотра для определения коэффициентов LPC, то есть большая часть опережающего просмотра для окна анализа LPC, приводит к лучшим коэффициентам LPC и, следовательно, меньшей энергии в остаточном сигнале и, следовательно, более низкой битовой скорости, так как предсказание LPC лучше совпадает с исходным сигналом.FIG. 5a shows another encoder, the so-called AMR-WB encoder, and in particular, the LPC analysis window used to calculate the analysis coefficients for the current frame. Once again, the current frame extends between 0 and 20 ms, and the future frame extends between 20 and 40 ms. In contrast to FIG. 5b, the AMR-WB LPC analysis window, designated as 506, has a lead-in view portion 508 of only 5 ms, i.e., a time interval between 20 ms and 25 ms. Therefore, the delay introduced by the LPC analysis is significantly reduced relative to FIG. 5a. On the other hand, however, it was found that most of the leading look for determining the LPC coefficients, that is, most of the leading look for the LPC analysis window, leads to better LPC coefficients and therefore less energy in the residual signal and therefore lower bit rate, since LPC prediction matches better with the original signal.

Хотя фиг. 5a и 5b относятся к кодерам, имеющим только одно окно анализа для определения коэффициентов LPC для одного кадра, фиг. 5c изображает ситуацию для речевого кодера G.718. Спецификация G718 (06-2008) относится к системам передачи и цифровым медиа системам и сетям и, в частности, описывает цифровое терминальное оборудование и, в частности, кодирование голосовых и аудиосигналов для такого оборудования. В частности, этот стандарт относится к надежному узкополосному и широкополосному встроенному кодированию с переменной скоростью речи и звука от 8-32 Кбит/с, как это определено в рекомендации ITU-T G718. Входной сигнал обрабатывается с использованием 20 мс кадров. Задержка кодека зависит от частоты дискретизации ввода и вывода. Для широкополосного ввода и широкополосного вывода полная алгоритмическая задержка этого кодирования составляет 42,875 мс. Она состоит из одного 20 мс кадра, 1,875 мс задержки входного и выходного фильтров повторной дискретизации, 10 мс для опережающего просмотра кодера, одной мс задержки постфильтрации и 10 мс в декодере для обеспечения операции добавления с наложением кодирования с преобразованием более высоких слоев. Для узкополосного ввода и узкополосного вывода более высокие слои не используются, но 10 мс задержка декодера используется для улучшения эффективности кодирования при наличии стирания кадров и для музыкальных сигналов. Если вывод ограничен слоем 2, задержка кодека может быть уменьшена на 10 мс. Описание кодера следующее. Два нижних слоя применяются к сигналу с предыскажениями, дискретизированному с частотой 12,8 кГц, а три верхних слоя используются в области входного сигнала, дискретизированного с частотой 16 кГц. Основной слой основан на технологии линейного предсказания с кодовым возбуждением (CELP), в которой речевой сигнал моделируется сигналом возбуждения, прошедшим через синтезирующий фильтр линейного предсказания (LP), представляющим собой огибающую спектра. Фильтр LP квантуется в области спектральной частоты иммитанса (ISF), используя переключаемый прогнозирующий подход и многоступенчатое векторное квантование. Анализ основного тона без обратной связи выполняется отслеживающим основной тон алгоритмом, чтобы гарантировать гладкий контур основного тона. Два одновременных контура эволюции основного тона сравниваются и выбирается дорожка, которая выдает более гладкий контур, чтобы сделать оценку основного тона более надежной. Предварительная обработка на уровне кадра содержит высокочастотную фильтрацию, преобразование частоты дискретизации к 12800 дискретным значениям в секунду, внесение предыскажений, спектральный анализ, обнаружение узкополосных вводов, обнаружение голосовой активности, оценку помех, шумоподавление, анализ с линейным предсказанием, преобразование LP в ISF и интерполяцию, вычисление взвешенного речевого сигнала, анализ основного тона без обратной связи, обновление фонового шума, классификацию сигналов для выбора режима кодирования и маскирование стирания кадра. Кодирование слоя 1 с использованием выбранного типа кодирования содержит невокализированный режим кодирования, вокализированный режим кодирования, переходный режим кодирования, общий режим кодирования, прерывистую передачу и генерацию комфортного шума (DTX/CNG).Although FIG. 5a and 5b relate to encoders having only one analysis window for determining LPC coefficients for one frame, FIG. 5c depicts a situation for a G.718 speech encoder. Specification G718 (06-2008) relates to transmission systems and digital media systems and networks and, in particular, describes digital terminal equipment and, in particular, encoding voice and audio signals for such equipment. In particular, this standard refers to reliable narrow-band and wide-band embedded coding with variable speech and sound speeds from 8-32 Kbps, as defined in ITU-T G718. The input signal is processed using 20 ms frames. Codec delay depends on the sampling rate of the input and output. For broadband input and broadband output, the total algorithmic delay of this encoding is 42.875 ms. It consists of one 20 ms frame, 1.875 ms delay of the input and output resampling filters, 10 ms for the advanced viewing of the encoder, one ms post-filtering delay, and 10 ms in the decoder to provide encoding with conversion of higher layers. For narrow-band input and narrow-band output, higher layers are not used, but the 10 ms decoder delay is used to improve coding efficiency in the presence of frame erasure and for music signals. If the output is limited to layer 2, the codec delay can be reduced by 10 ms. The description of the encoder is as follows. The two lower layers are applied to the pre-emphasis signal sampled at a frequency of 12.8 kHz, and the three upper layers are used in the area of the input signal sampled at a frequency of 16 kHz. The base layer is based on Code Excited Linear Prediction (CELP) technology, in which a speech signal is modeled by an excitation signal that passes through a linear prediction synthesis filter (LP), which is an envelope of the spectrum. The LP filter is quantized in the spectral frequency domain of the immitance (ISF) using a switchable predictive approach and multi-stage vector quantization. Feedback analysis of the pitch is performed by a pitch tracking algorithm to ensure a smooth pitch contour. The two simultaneous contours of the evolution of the fundamental tone are compared and a track is selected that produces a smoother outline to make the assessment of the fundamental tone more reliable. Pre-processing at the frame level includes high-pass filtering, converting the sampling frequency to 12800 discrete values per second, predistorting, spectral analysis, detecting narrow-band inputs, detecting voice activity, noise estimation, noise reduction, linear prediction analysis, converting LP to ISF and interpolating, calculation of the weighted speech signal, analysis of the fundamental tone without feedback, updating the background noise, classification of signals for choosing the encoding mode and mask vanie frame erasure. Encoding a layer 1 using a selected encoding type comprises an unvoiced encoding mode, a voiced encoding mode, a transient encoding mode, a general encoding mode, intermittent transmission, and comfort noise generation (DTX / CNG).

Анализ с долгосрочным предсказанием или линейным предсказанием (LP) с использованием автокорреляционного подхода определяет коэффициенты синтезирующего фильтра модели CELP. В CELP, однако, долгосрочное предсказание обычно является "адаптивной кодовой книгой" и, таким образом, отличается от линейного предсказания. Следовательно, линейное предсказание может рассматриваться более как краткосрочное предсказание. Автокорреляция речи, обработанной с помощью оконной функции, преобразуется в коэффициенты LP с использованием алгоритма Левинсона-Дарбина. Затем коэффициенты LPC преобразуются в спектральные пары иммитанса (ISP) и, следовательно, к спектральным частотам иммитанса (ISF) для целей интерполяции и квантования. Интерполированные подвергнутые квантованию и обратному квантованию коэффициенты преобразуются обратно в область LP для построения синтезирующего и взвешивающего фильтров для каждого подкадра. В случае кодирования активного кадра сигнала оцениваются два набора коэффициентов LP в каждом кадре, используя два окна анализа LPC, обозначенные как 510 и 512 на фиг. 5c. Окно 512 называется "окном LPC середины кадра", а окно 510 называется "окном LPC конца кадра". Часть 514 опережающего просмотра в 10 мс используется для вычисления автокорреляции конца кадра. Структура кадра показана на фиг. 5c. Кадр делится на четыре подкадра, каждый подкадр имеет продолжительность 5 мс, которая соответствует 64 дискретным значениям при частоте дискретизации 12,8 кГц. Окна для анализа конца кадра и для анализа середины кадра имеют центр в четвертом подкадре и втором подкадре соответственно, как показано на фиг. 5c. Окно Хэмминга с длиной в 320 дискретных значений используется для обработки с помощью оконной функции. Коэффициенты определены в G.718, раздел 6.4.1. Вычисление автокорреляции описано в разделе 6.4.2. Алгоритм Левинсона-Дарбина описан в разделе 6.4.3, преобразование LP в ISP описано в разделе 6.4.4, а преобразование ISP в LP описано в разделе 6.4.5.Analysis with long-term prediction or linear prediction (LP) using the autocorrelation approach determines the coefficients of the synthesis filter of the CELP model. In CELP, however, long-term prediction is usually an “adaptive codebook” and thus differs from linear prediction. Therefore, linear prediction can be considered more as a short-term prediction. Autocorrelation of speech processed using a window function is converted to LP coefficients using the Levinson-Darbin algorithm. The LPC coefficients are then converted to immitance spectral pairs (ISP) and, therefore, to immitance spectral frequencies (ISF) for interpolation and quantization. The interpolated quantized and inverse quantized coefficients are converted back to the LP region to construct synthesizing and weighting filters for each subframe. In the case of encoding an active signal frame, two sets of LP coefficients in each frame are estimated using two LPC analysis windows, indicated as 510 and 512 in FIG. 5c. Window 512 is called the "mid-frame LPC window", and window 510 is called the "end-of-frame LPC window". The 10 ms look-ahead portion 514 is used to calculate end-of-frame autocorrelation. The frame structure is shown in FIG. 5c. The frame is divided into four subframes, each subframe has a duration of 5 ms, which corresponds to 64 discrete values at a sampling frequency of 12.8 kHz. Windows for analyzing the end of the frame and for analyzing the middle of the frame are centered in the fourth subframe and second subframe, respectively, as shown in FIG. 5c. A Hamming window with a length of 320 discrete values is used for processing using a window function. Odds are defined in G.718, section 6.4.1. Autocorrelation calculation is described in section 6.4.2. The Levinson-Darbin algorithm is described in section 6.4.3, the conversion of LP to ISP is described in section 6.4.4, and the conversion of ISP to LP is described in section 6.4.5.

Параметры кодирования речи, такие как задержка и усиление адаптивной кодовой книги, индекс и усиление алгебраической кодовой книги ищутся путем минимизации ошибки между входным сигналом и синтезированным сигналом в перцепционно взвешенной области. Перцепционное взвешивание выполняется путем пропускания сигнала через перцепционно взвешивающий фильтр, полученный из коэффициентов фильтра LP. Перцепционно взвешенный сигнал также используется в анализе основного тона без обратной связи.Speech encoding parameters such as delay and gain of the adaptive codebook, index and gain of the algebraic codebook are sought by minimizing the error between the input signal and the synthesized signal in a perceptually weighted region. Perceptual weighting is performed by passing a signal through a perceptual weighting filter obtained from the LP filter coefficients. A perceptually weighted signal is also used in open-loop pitch analysis.

Кодер G.718 является исключительно речевым кодером, имеющим только один режим кодирования речи. Поэтому кодер G.718 не является переключаемым кодером и, следовательно, этот кодер имеет тот недостаток, что он обеспечивает только один режим кодирования речи в пределах основного слоя. Следовательно, будут иметь место проблемы с качеством, когда этот кодер будет применен к другим сигналам, отличным от речевых сигналов, то есть к обычным аудиосигналам, для которых модель, стоящая за кодированием CELP, не подходит.The G.718 encoder is an exclusively speech encoder having only one speech encoding mode. Therefore, the G.718 encoder is not a switchable encoder and, therefore, this encoder has the disadvantage that it provides only one speech encoding mode within the main layer. Therefore, there will be quality problems when this encoder is applied to signals other than speech signals, that is, ordinary audio signals for which the model behind the CELP encoding is not suitable.

Дополнительным переключаемым кодеком является так называемый кодек USAC, то есть унифицированный кодек для речи и звука, как определено в ISO/IEC CD 23003-3 от 24 сентября 2010. Окно анализа LPC, используемое для этого переключаемого кодека, обозначено на фиг. 5d под номером 516. Опять же, предполагается текущий кадр, простирающийся между 0 и 20 мс, и, следовательно, оказывается, что часть 618 опережающего просмотра этого кодека равна 20 мс, то есть значительно больше, чем часть опережающего просмотра G.718. Следовательно, хотя кодер USAC обеспечивает хорошее качество звука вследствие наличия у него переключения, задержка является значительной из-за части 518 опережающего просмотра окна анализа LPC на фиг. 5d. Общая структура USAC имеет следующий вид. Во-первых, имеется общая пред/постобработка, состоящая из функционального блока окружения MPEG (MPEGS) для обработки стерео или для многоканальной обработки и блока усовершенствованной SBR (eSBR), который обрабатывает параметрическое представление более высоких звуковых частот во входном сигнале. Кроме того, имеются две ветви, одна состоит из пути инструмента модифицированного усовершенствованного кодирования аудио (AAC), а другая состоит из пути, основанного на кодировании с линейным предсказанием (область LP или LPC), который в свою очередь показывает или представление в частотной области, или представление во временной области остатка LPC. Все переданные спектры и для AAC, и для LPC представлены в области MDCT после квантования и арифметического кодирования. Представление во временной области использует схему кодирования с возбуждением ACELP. Инструмент ACELP обеспечивает способ эффективно представить сигнал возбуждения во временной области путем объединения долгосрочного прогнозирующего механизма (адаптивного кодового слова) с импульсоподобной последовательностью (инновационного кодового слова). Реконструированное возбуждение отправляется через синтезирующий фильтр LP для формирования сигнала во временной области. Ввод для инструмента ACELP содержит адаптивную и инновационную кодовые книги, значения усиления адаптивного и инновационного кодов, другие управляющие данные и обратно квантованные и интерполированные коэффициенты фильтра LPC. Выводом инструмента ACELP является реконструированный во временной области аудиосигнал.An additional switchable codec is the so-called USAC codec, that is, a unified codec for speech and sound, as defined in ISO / IEC CD 23003-3 of September 24, 2010. The LPC analysis window used for this switchable codec is indicated in FIG. 5d is numbered 516. Again, it is assumed that the current frame extends between 0 and 20 ms, and therefore it turns out that the forward look part 618 of this codec is 20 ms, that is, significantly larger than the G.718 look-ahead part. Therefore, although the USAC encoder provides good sound quality due to having a switch, the delay is significant due to the LPC analysis window portion 518 of the LPC analysis window of FIG. 5d. The general structure of USAC is as follows. Firstly, there is a general pre / post-processing, consisting of an MPEG environment function block (MPEGS) for stereo or multi-channel processing and an advanced SBR (eSBR) block that processes the parametric representation of higher audio frequencies in the input signal. In addition, there are two branches, one consisting of a modified advanced audio coding (AAC) instrument path, and the other consisting of a linear prediction coding path (LP or LPC region), which in turn shows or representation in the frequency domain, or representation in the time domain of the remainder of the LPC. All transmitted spectra for both AAC and LPC are presented in the MDCT domain after quantization and arithmetic coding. The time domain representation uses an ACELP excitation coding scheme. The ACELP tool provides a way to efficiently present an excitation signal in the time domain by combining a long-term predictive mechanism (adaptive codeword) with a pulse-like sequence (innovative codeword). The reconstructed excitation is sent through an LP synthesis filter to generate a signal in the time domain. The input for the ACELP tool contains adaptive and innovative codebooks, gain values of adaptive and innovative codes, other control data and inversely quantized and interpolated LPC filter coefficients. The output of the ACELP tool is a time-reconstructed audio signal.

Инструмент TCX декодирования на основе MDCT используется для возвращения взвешенного представления остатка LP из области MDCT назад в сигнал во временной области, он выводит взвешенный сигнал во временной области, включающий в себя взвешенную синтезирующую фильтрацию LP. IMDCT может быть сконфигурирован поддерживать 256, 512 или 1024 спектральных коэффициентов. Ввод для инструмента TCX содержит (подвергнутые обратному квантованию) спектры MDCT и подвергнутые обратному квантованию и интерполированные коэффициенты фильтра LPC. Выводом инструмента TCX является реконструированный аудиосигнал во временной области.The MDCT-based decoding tool TCX is used to return a weighted representation of the LP remainder from the MDCT region back to a signal in the time domain; it outputs a weighted signal in the time domain including the weighted synthesizing LP filtering. IMDCT can be configured to support 256, 512, or 1024 spectral coefficients. The input for the TCX instrument contains (back quantized) MDCT spectra and back quantized and interpolated LPC filter coefficients. The output of the TCX instrument is a reconstructed time-domain audio signal.

Фиг. 6 показывает ситуацию в USAC, где изображены окна 516 анализа LPC для текущего кадра и 520 для прошлого или последнего кадра, и где, кроме того, изображено окно 522 TCX. Окно 522 TCX имеет центр в центре текущего кадра, простираясь между 0 и 20 мс и простираясь на 10 мс в прошлый кадр и 10 мс в будущий кадр, простирающийся между 20 и 40 мс. Следовательно, окно 516 анализа LPC требует части опережающего просмотра LPC между 20 и 40 мс, то есть 20 мс, в то время как окно анализа TCX дополнительно имеет часть опережающего просмотра, простирающуюся между 20 и 30 мс в будущий кадр. Это означает, что задержка, вносимая окном 516 анализа USAC, равна 20 мс, в то время как задержка, вносимая в кодер окном TCX, равна 10 мс. Следовательно, становится ясно, что части опережающего просмотра обоих видов окон не выровнены друг с другом. Поэтому даже при том, что окно 522 TCX вносит лишь задержку в 10 мс, общая задержка кодера равна, тем не менее, 20 мс из-за окна 516 анализа LPC. Поэтому даже при том, что есть довольно небольшая часть опережающего просмотра для окна TCX, это не уменьшает полную алгоритмическую задержку кодера, так как полная задержка определяется наибольшим вкладом, то есть равна 20 мс из-за окна 516 анализа LPC, простирающегося на 20 мс в будущий кадр, то есть охватывающего не только текущий кадр, но и дополнительно охватывающего будущий кадр.FIG. 6 shows a situation in USAC, where LPC analysis windows 516 for the current frame and 520 for past or last frames are shown, and where, in addition, TCX window 522 is shown. Window 522 TCX has a center in the center of the current frame, extending between 0 and 20 ms and extending for 10 ms in the last frame and 10 ms in the future frame, extending between 20 and 40 ms. Therefore, the LPC analysis window 516 requires a LPC look-ahead portion between 20 and 40 ms, i.e. 20 ms, while the TCX analysis window further has a look-ahead portion extending between 20 and 30 ms in a future frame. This means that the delay introduced by the USAC analysis window 516 is 20 ms, while the delay introduced by the TCX window into the encoder is 10 ms. Therefore, it becomes clear that parts of the look-ahead of both types of windows are not aligned with each other. Therefore, even though the TCX window 522 introduces only a delay of 10 ms, the overall encoder delay is nevertheless equal to 20 ms due to the LPC analysis window 516. Therefore, even though there is a rather small part of the look-ahead for the TCX window, this does not reduce the overall algorithmic delay of the encoder, since the total delay is determined by the largest contribution, i.e., it is equal to 20 ms because of the LPC analysis window 516, which extends for 20 ms in future frame, that is, covering not only the current frame, but also further covering the future frame.

Задачей настоящего изобретения является обеспечение улучшенной концепции кодирования для кодирования или декодирования аудиосигнала, которая, с одной стороны, обеспечивает хорошее качество аудио и которая, с другой стороны, приводит к уменьшению задержки.It is an object of the present invention to provide an improved coding concept for encoding or decoding an audio signal, which, on the one hand, provides good audio quality and which, on the other hand, leads to a reduction in delay.

Эта цель достигается с помощью устройства для кодирования аудиосигнала по п. 1, способа кодирования аудиосигнала по п. 15, аудиодекодера по п. 16, способа декодирования аудиосигнала по п. 24 или компьютерной программы по п. 25.This goal is achieved using a device for encoding an audio signal according to claim 1, a method of encoding an audio signal according to claim 15, an audio decoder according to claim 16, a method of decoding an audio signal according to claim 24, or a computer program according to claim 25.

В соответствии с настоящим изобретением применена переключаемая схема аудиокодека, имеющая ветвь кодирования с преобразованием и ветвь кодирования с предсказанием. Важно отметить, что два вида окон, то есть окно анализа кодирования с предсказанием с одной стороны и окно анализа кодирования с преобразованием с другой стороны, выровнены в отношении их части опережающего просмотра так, что часть опережающего просмотра кодирования с преобразованием и часть опережающего просмотра кодирования с предсказанием идентичны или отличаются друг от друга менее чем 20% части опережающего просмотра кодирования с предсказанием или менее чем 20% части опережающего просмотра кодирования с преобразованием. Следует отметить, что окно опережающего анализа используется не только в ветви кодирования с предсказанием, но оно фактически используется в обеих ветвях. Анализ LPC также используется для формирования шумов в области преобразования. Поэтому, другими словами, части опережающего просмотра идентичны или очень близки друг к другу. Это гарантирует, что достигается оптимальный компромисс, и что ни качество звука, ни параметры задержки не будут установлены субоптимальным образом. Следовательно, для кодирования с предсказанием в окне анализа было обнаружено, что анализ LPC тем лучше, чем больше опережающий просмотр, но, с другой стороны, увеличивается задержка для большей части опережающего просмотра. С другой стороны, то же самое справедливо для окна TCX. Чем больше часть опережающего просмотра окна TCX, тем сильнее может быть уменьшена битовая скорость TCX, так как более длительные окна TCX приводят к более низким битовым скоростям в общем случае. Поэтому, в соответствии с настоящим изобретением, части опережающего просмотра идентичны или весьма близки друг к другу и, в частности, отличаются друг от друга менее чем на 20%. Поэтому часть опережающего просмотра, которая нежелательна по причинам задержки, с другой стороны, оптимально используется обеими ветвями кодирования/декодирования.In accordance with the present invention, a switchable audio codec circuit having a transform encoding branch and a predictive encoding branch is applied. It is important to note that two types of windows, that is, a predictive encoding analysis window on the one hand and a transform encoding analysis window on the other hand, are aligned with respect to their part of the leading look-up so that the part of the leading look-up of the encoding with conversion and the part of the look-ahead of the encoding with less than 20% of the predictive coding preview portion of the transform are identical or different from each other with prediction, or less than 20% of the predictive encoding preview portion of the transform. It should be noted that the forward analysis window is used not only in the prediction coding branch, but it is actually used in both branches. LPC analysis is also used to generate noise in the transform domain. Therefore, in other words, the parts of the leading look are identical or very close to each other. This ensures that an optimal compromise is achieved and that neither sound quality nor delay parameters are set in a suboptimal way. Therefore, for predictive coding, it was found in the analysis window that the LPC analysis is better, the larger the look-ahead, but, on the other hand, the delay increases for most look-ahead. On the other hand, the same is true for the TCX window. The larger the portion of the TCX window look-ahead, the stronger the TCX bit rate can be reduced, since longer TCX windows result in lower bit rates in general. Therefore, in accordance with the present invention, the parts of the leading viewing are identical or very close to each other and, in particular, differ from each other by less than 20%. Therefore, a portion of the look-ahead that is undesirable for delay reasons, on the other hand, is optimally used by both encoding / decoding branches.

Ввиду этого настоящее изобретение обеспечивает улучшенную концепцию кодирования, с одной стороны, с низкой задержкой, когда часть опережающего просмотра для обоих окон анализа установлена небольшой, и обеспечивает, с другой стороны, концепцию кодирования/декодирования с хорошими характеристиками вследствие того, что задержка, которая должна быть внесена по причинам качества звука или причинам битовой скорости, в любом случае оптимально используется обеими ветвями кодирования, а не только одной ветвью кодирования.In view of this, the present invention provides an improved coding concept, on the one hand, with a low latency, when the part of the look-ahead for both analysis windows is set small, and provides, on the other hand, a good coding / decoding concept due to the delay, which should be introduced for sound quality reasons or bit rate reasons, in any case it is optimally used by both coding branches, and not just by one coding branch.

Устройство для кодирования аудиосигнала, имеющего поток дискретных значений, содержит блок применения оконной функции для применения окна анализа кодирования с предсказанием к потоку дискретных значений аудиосигнала для получения обработанных с помощью оконной функции данных для предсказывающего анализа и для применения окна анализа кодирования с преобразованием к потоку дискретных значений аудиосигнала для получения обработанных с помощью оконной функции данных для анализа с преобразованием. Окно анализа кодирования с преобразованием связано с дискретными значениями аудиосигнала текущего кадра дискретных значений аудиосигнала заданной части опережающего просмотра будущего кадра дискретных значений аудиосигнала, являющихся частью опережающего просмотра кодирования с преобразованием.An apparatus for encoding an audio signal having a discrete value stream comprises a window function application unit for applying a predictive coding analysis window to a stream of discrete audio values to obtain predictive analysis data processed by a window function and for applying a transform analysis coding window to a discrete value stream audio signal for receiving processed using the window function data for analysis with conversion. The transform coding analysis window is associated with discrete audio values of the current frame of discrete audio values of a given portion of the forward look-ahead of the future frame of discrete audio values that are part of the look-ahead of the transform coding.

Кроме того, окно анализа кодирования с предсказанием связано по меньшей мере с частью дискретных значений аудиосигнала текущего кадра и с дискретными значениями аудиосигнала заданной части будущего кадра, являющегося частью опережающего просмотра кодирования с предсказанием.In addition, the prediction encoding analysis window is associated with at least a portion of the discrete audio values of the current frame and with discrete audio values of a predetermined portion of the future frame that is part of the predictive encoding look-ahead.

Часть опережающего просмотра кодирования с преобразованием и часть опережающего просмотра кодирования с предсказанием идентичны друг другу или отличаются друг от друга менее чем 20% части опережающего просмотра кодирования с предсказанием или менее чем 20% части опережающего просмотра кодирования с преобразованием и поэтому довольно близки друг к другу. Устройство дополнительно содержит процессор кодирования для генерации данных, кодированных с предсказанием, для текущего кадра, используя обработанные с помощью оконной функции данные для опережающего анализа, или для генерации данных, кодированных с преобразованием, для текущего кадра, используя данные окна для анализа с преобразованием.The conversion coding look-ahead part and the predictive coding look-ahead part are identical to each other or less than 20% of the predictive coding look-ahead part or less than 20% of the look-ahead coding look-up and are therefore quite close to each other. The device further comprises a coding processor for generating predictive encoded data for the current frame using windowed data for advanced analysis, or for generating transform encoded data for the current frame using window data for transform analysis.

Аудиодекодер для декодирования кодированного аудиосигнала содержит декодер параметров предсказания для выполнения декодирования данных для кадра, кодированного с предсказанием, из кодированного аудиосигнала и, для второй ветви, декодер параметров преобразования для выполнения декодирования данных для кадра, кодированного с преобразованием, из закодированного аудиосигнала.An audio decoder for decoding an encoded audio signal comprises a prediction parameter decoder for decoding data for a prediction encoded frame from the encoded audio signal and, for a second branch, a transform parameter decoder for decoding data for the encoded conversion frame from the encoded audio signal.

Декодер параметров преобразования сконфигурирован для выполнения спектрально-временного преобразования, которое предпочтительно является подверженным искажениям преобразованием, таким как MDCT или MDST или любым другим подобным преобразованием, и для применения окна синтеза к преобразованным данным для получения данных для текущего кадра и будущего кадра. Окно синтеза, примененное аудиодекодером, таково, что оно имеет первую перекрывающуюся часть, смежную вторую неперекрывающуюся часть и смежную третью перекрывающуюся часть, при этом третья перекрывающаяся часть связана с дискретными значениями аудиосигнала для будущего кадра, а неперекрывающаяся часть связана с данными текущего кадра. Кроме того, чтобы иметь хорошее качество звука на стороне декодера, добавляющий перекрытие блок применяется для наложения и добавления обработанных с помощью окна синтеза дискретных значений, связанных с третьей перекрывающейся частью окна синтеза для текущего кадра, и обработанных с помощью окна синтеза дискретных значений, связанных с первой перекрывающейся частью окна синтеза для будущего кадра, для получения первой части дискретных значений аудиосигнала для будущего кадра, при этом оставшиеся дискретные значения аудиосигнала для будущего кадра являются обработанными с помощью окна синтеза дискретными значениями, связанными со второй неперекрывающейся частью окна синтеза для будущего кадра, полученной без добавления перекрытия, когда текущий кадр и будущий кадр содержат данные, кодированные с преобразованием.The transform parameter decoder is configured to perform a spectral-temporal transform, which is preferably a distorted transform, such as MDCT or MDST or any other similar transform, and to apply the synthesis window to the transformed data to obtain data for the current frame and future frame. The synthesis window used by the audio decoder is such that it has a first overlapping part, an adjacent second non-overlapping part and an adjacent third overlapping part, while the third overlapping part is associated with discrete audio signal values for the future frame, and the non-overlapping part is associated with the data of the current frame. In addition, in order to have good sound quality on the side of the decoder, an overlapping block is used to superimpose and add discrete values processed by the synthesis window associated with the third overlapping part of the synthesis window for the current frame and processed by the synthesis window of discrete values associated with the first overlapping part of the synthesis window for the future frame, to obtain the first part of the discrete values of the audio signal for the future frame, while the remaining discrete values of the audio signal for future frames are discrete values processed using the synthesis window associated with the second non-overlapping part of the synthesis window for the future frame obtained without adding overlap when the current frame and the future frame contain data encoded with conversion.

Предпочтительные варианты воплощения настоящего изобретения имеют ту особенность, что опережающие просмотры для ветви кодирования с преобразованием, такой как ветвь TCX, и ветви кодирования с предсказанием, такой как ветвь ACELP, идентичны друг другу, так что оба режима кодирования имеют максимально доступный опережающий просмотр при ограничениях, накладываемых на задержку. Кроме того, является предпочтительным, чтобы перекрытие окна TCX ограничивалось частью опережающего просмотра, чтобы переключение с режима кодирования с преобразованием на режим кодирования с предсказанием от одного кадра к следующему кадру было легко осуществимо без каких-либо проблем с искажениями.Preferred embodiments of the present invention have the feature that the leading views for the transform coding branch, such as the TCX branch, and the predictive coding branches, such as the ACELP branch, are identical to each other, so that both encoding modes have the most accessible leading viewing with limitations superimposed on the delay. In addition, it is preferable that the TCX window overlap be limited to a portion of the look-ahead, so that switching from a coding mode with conversion to a coding mode predicting from one frame to the next frame is easily possible without any distortion problems.

Дополнительной причиной ограничить перекрытие опережающим просмотром является желание не вводить задержку на стороне декодера. Если бы имелось окно TCX с опережающим просмотром в 10 мс и, например, перекрытием 20 мс, это ввело бы еще 10 мс задержки в декодере. Когда имеется окно TCX с опережающим просмотром в 10 мс и перекрытием в 10 мс, нет никакой дополнительной задержки на стороне декодера. Хорошим следствием этого является более легкое переключение.An additional reason to limit the overlap to leading viewing is the desire not to introduce a delay on the side of the decoder. If there were a TCX window with a 10 ms look-ahead and, for example, 20 ms overlap, this would introduce another 10 ms of delay in the decoder. When there is a TCX window with 10 ms look-ahead and 10 ms overlap, there is no additional delay on the decoder side. A good consequence of this is an easier switchover.

Поэтому является предпочтительным, чтобы вторая неперекрывающаяся часть окна анализа и, конечно, окно синтеза простирались до конца текущего кадра, а третья перекрывающаяся часть начиналась только относительно будущего кадра. Кроме того, ненулевая часть окна анализа/синтеза кодирования TCX или кодирования с преобразованием выравнивается с началом кадра так, чтобы, опять же, было возможно легкое и низкое по эффективности переключение с одного режима на другой режим.Therefore, it is preferable that the second non-overlapping part of the analysis window and, of course, the synthesis window extend to the end of the current frame, and the third overlapping part starts only relative to the future frame. In addition, the nonzero part of the TCX coding analysis / synthesis window or transform coding window is aligned with the beginning of the frame so that, again, it is possible to switch easily from one mode to another mode with low efficiency.

Кроме того, является предпочтительным, чтобы целый кадр, состоящий из множества подкадров, например четырех подкадров, мог быть или полностью кодирован в режиме кодирования с преобразованием (таком как режим TCX) или полностью кодирован в режиме кодирования с предсказанием (таком как режим ACELP).Furthermore, it is preferable that an entire frame consisting of a plurality of subframes, for example four subframes, can be either fully encoded in transform coding mode (such as TCX mode) or fully encoded in predictive coding mode (such as ACELP mode).

Кроме того, является предпочтительным использовать не только одно окно анализа LPC, а два различных окна анализа LPC, где одно окно анализа LPC выровнено с центром четвертого подкадра и является окном анализа конца кадра, в то время как другое окно анализа выровнено с центром второго подкадра и является окном анализа середины кадра. Если кодер переключается на кодирование с преобразованием, то, тем не менее, является предпочтительным передавать только один набор данных коэффициентов LPC, полученный из анализа LPC, основанного на окне анализа LPC конца кадра. Кроме того, на стороне декодера является предпочтительным не использовать эти данные LPC непосредственно для синтеза кодирования с преобразованием, и, в частности, спектрального взвешивания коэффициентов TCX. Вместо этого предпочтительно интерполировать данные TCX, полученные из окна анализа LPC конца кадра текущего кадра с помощью данных, полученных окном анализа LPC конца кадра из прошлого кадра, то есть кадра, непосредственно предшествующего во времени текущему кадру. Путем передачи только одного набора коэффициентов LPC для целого кадра в режиме TCX может быть получено дополнительное уменьшение битовой скорости по сравнению с передачей двух наборов данных коэффициентов LPC для анализа середины кадра и анализа кадра конца. Однако, когда кодер переключается на режим ACELP, оба набора коэффициентов LPC передаются от кодера декодеру.In addition, it is preferable to use not only one LPC analysis window, but two different LPC analysis windows, where one LPC analysis window is aligned with the center of the fourth subframe and is an end-of-frame analysis window, while the other analysis window is aligned with the center of the second subframe and is a mid-frame analysis window. If the encoder switches to transform coding, it is nevertheless preferable to transmit only one set of LPC coefficient data obtained from the LPC analysis based on the end-of-frame LPC analysis window. In addition, on the decoder side, it is preferable not to use this LPC data directly for the synthesis of transform coding, and in particular spectral weighting of TCX coefficients. Instead, it is preferable to interpolate the TCX data obtained from the LPC analysis window of the end of the frame of the current frame using the data obtained by the LPC analysis window of the end of the frame from the last frame, i.e., the frame immediately preceding the current frame in time. By transmitting only one set of LPC coefficients for an entire frame in TCX mode, an additional reduction in bit rate can be obtained compared to transmitting two sets of LPC coefficient data for mid-frame analysis and end frame analysis. However, when the encoder switches to ACELP mode, both sets of LPC coefficients are transmitted from the encoder to the decoder.

Кроме того, является предпочтительным, чтобы окно анализа LPC середины кадра заканчивалось сразу на следующей границе кадра текущего кадра и дополнительно простиралось в прошлый кадр. Это не вносит никакой задержки, так как прошлый кадр уже доступен и может использоваться без какой-либо задержки.In addition, it is preferable that the mid-frame LPC analysis window terminates immediately at the next frame boundary of the current frame and extends further to the last frame. This does not introduce any delay since the last frame is already available and can be used without any delay.

С другой стороны является предпочтительным, чтобы окно анализа конца кадра начиналось где-нибудь в пределах текущего кадра, а не в начале текущего кадра. Это, однако, не является проблемой, так как для формирования взвешивания TCX используется среднее набора данных LPC конца кадра для прошлого кадра и набора данных LPC кадра конца для текущего кадра, так что в итоге все данные в некотором смысле используются для вычисления коэффициентов LPC. Следовательно, начало окна анализа конца кадра предпочтительно находится в пределах части опережающего просмотра окна анализа конца прошлого кадра.On the other hand, it is preferable that the end-of-frame analysis window starts somewhere within the current frame, rather than at the beginning of the current frame. This, however, is not a problem, since the average of the end-of-frame LPC dataset for the last frame and the end-frame LPC dataset for the current frame are used to generate TCX weighting, so that in the end all the data is used in some sense to calculate the LPC coefficients. Therefore, the start of the end-of-frame analysis window is preferably within a portion of the leading view of the end-of-frame analysis window.

На стороне декодера получается значительно уменьшенное служебное сигнализирование для переключения с одного режима на другой режим. Причина состоит в том, что неперекрывающаяся часть окна синтеза, которая предпочтительно симметрична в своих пределах, не связана с дискретными значениями текущего кадра, а связана с дискретными значениями будущего кадра, и поэтому простирается только в пределах части опережающего просмотра, то есть только в будущем кадре. Следовательно, окно синтеза таково, что только первая перекрывающаяся часть, предпочтительно начинающаяся в средней части текущего кадра, находится в пределах текущего кадра, а вторая неперекрывающаяся часть простирается от конца первой перекрывающейся части до конца текущего кадра и, поэтому, вторая перекрывающаяся часть совпадает с частью опережающего просмотра. Поэтому, когда имеется переход от TCX к ACELP, данные, полученные из перекрывающейся части окна синтеза, просто отбрасываются и заменяются данными кодирования с предсказанием, которые доступны с самого начала будущего кадра из ветви ACELP.On the decoder side, a significantly reduced overhead is obtained for switching from one mode to another mode. The reason is that the non-overlapping part of the synthesis window, which is preferably symmetrical in its limits, is not associated with discrete values of the current frame, but is associated with discrete values of the future frame, and therefore extends only within the part of the leading view, that is, only in the future frame . Therefore, the synthesis window is such that only the first overlapping part, preferably starting in the middle part of the current frame, is within the current frame, and the second non-overlapping part extends from the end of the first overlapping part to the end of the current frame and, therefore, the second overlapping part coincides with the part leading view. Therefore, when there is a transition from TCX to ACELP, data obtained from the overlapping part of the synthesis window is simply discarded and replaced with predictive coding data, which are available from the very beginning of the future frame from the ACELP branch.

С другой стороны, когда имеется переключение от ACELP к TCX, применяется специальное окно перехода, которое начинается сразу в начале текущего кадра, то есть кадра сразу после переключения, с неперекрывающейся части, так что не нужно реконструировать никакие данные, чтобы найти перекрывающихся "партнеров". Вместо этого неперекрывающаяся часть окна синтеза предоставляет правильные данные без какого-либо перекрытия и без какой-либо добавляющей перекрытие процедуры, необходимых в декодере. Только для перекрывающихся частей, то есть третьей части окна для текущего кадра и первой части окна для следующего кадра, добавляющая перекрытие процедура полезна и выполняется, чтобы иметь, как в прямом MDCT, непрерывное возрастание/затухание от одного блока к другому, чтобы в конце получить хорошее качество звука без необходимости увеличивать битовую скорость из-за критически дискретизированных свойств MDCT, что также известно в области техники под термином "устранение искажений во временной области (TDAC).On the other hand, when there is a switch from ACELP to TCX, a special transition window is applied, which starts immediately at the beginning of the current frame, that is, the frame immediately after the switch, from the non-overlapping part, so that no data needs to be reconstructed to find overlapping "partners" . Instead, the non-overlapping portion of the synthesis window provides the correct data without any overlap and without any overlap-adding procedure required by the decoder. Only for overlapping parts, that is, the third part of the window for the current frame and the first part of the window for the next frame, the overlap-adding procedure is useful and is performed to have, as in direct MDCT, continuous increase / decrease from one block to another, in order to finally get good sound quality without the need to increase bit rate due to the critically sampled properties of MDCT, which is also known in the art under the term “time domain distortion correction (TDAC).

Кроме того, декодер полезен тем, что для режима кодирования ACELP передаются данные LPC, полученные из окна середины кадра и окна конца кадра в кодере, в то время как для режима кодирования TCX используется только один набор данных LPC, полученный из окна конца кадра. Однако, для декодированных спектрально взвешенных данных TCX переданные данные LPC как таковые не используются, а данные усредняются с соответствующими данными из окна анализа LPC конца кадра, полученного для прошлого кадра.In addition, the decoder is useful in that for the ACELP encoding mode, LPC data received from the middle of the frame window and the end of the frame window in the encoder is transmitted, while for the TCX encoding mode, only one LPC data set obtained from the end of the frame window is used. However, for decoded spectrally weighted TCX data, the transmitted LPC data is not used as such, and the data is averaged with the corresponding data from the LPC analysis window of the end of the frame obtained for the last frame.

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

фиг. 1a изображает блок-схему переключаемого аудиокодера;FIG. 1a is a block diagram of a switchable audio encoder;

фиг. 1b изображает блок-схему соответствующего переключаемого декодера;FIG. 1b is a block diagram of a corresponding switchable decoder;

фиг. 1c изображает более подробно декодер параметров преобразования, изображенный на фиг. 1b;FIG. 1c shows in more detail the transform parameter decoder shown in FIG. 1b;

фиг. 1d изображает более подробно режим кодирования с преобразованием декодера на фиг. 1a;FIG. 1d depicts in more detail the encoding mode with transform of the decoder in FIG. 1a;

фиг. 2a изображает предпочтительный вариант воплощения для блока применения оконной функции, применяемого в кодере для анализа LPC с одной стороны и анализа кодирования с преобразованием с другой стороны, он является представлением окна синтеза, используемого в декодере кодирования с преобразованием на фиг. 1b;FIG. 2a shows a preferred embodiment for a window function application block used in an encoder for LPC analysis on the one hand and transform coding analysis on the other hand, it is a representation of the synthesis window used in the transform coding decoder in FIG. 1b;

фиг. 2b изображает последовательность выровненных окон анализа LPC и окон TCX для промежутка времени более двух кадров;FIG. 2b shows a sequence of aligned LPC analysis windows and TCX windows for a time span of more than two frames;

фиг. 2c изображает ситуацию для перехода от TCX к ACELP и окно перехода для перехода от ACELP к TCX;FIG. 2c shows a situation for transition from TCX to ACELP and a transition window for transition from ACELP to TCX;

фиг. 3a изображает более подробно кодер на фиг. 1a;FIG. 3a shows in more detail the encoder of FIG. 1a;

фиг. 3b изображает процедуру анализа посредством синтеза для выбора режима кодирования для кадра;FIG. 3b shows a synthesis analysis procedure for selecting a coding mode for a frame;

фиг. 3c изображает дополнительный вариант воплощения для выбора между режимами для каждого кадра;FIG. 3c shows an additional embodiment for choosing between modes for each frame;

фиг. 4a изображает вычисление и использование данных LPC, полученных путем использования двух различных окон анализа LPC для текущего кадра;FIG. 4a shows the calculation and use of LPC data obtained by using two different LPC analysis windows for the current frame;

фиг. 4b изображает использование данных LPC, полученных путем обработки с помощью оконной функции, используя окно анализа LPC для ветви TCX кодера;FIG. 4b shows the use of LPC data obtained by processing using a window function using the LPC analysis window for a TCX encoder branch;

фиг. 5a изображает окно анализа LPC для AMR-WB;FIG. 5a shows an LPC analysis window for AMR-WB;

фиг. 5b изображает симметричные окна для AMR-WB+ для анализа LPC;FIG. 5b shows symmetric windows for AMR-WB + for LPC analysis;

фиг. 5c изображает окна анализа LPC для кодера G.718;FIG. 5c shows LPC analysis windows for a G.718 encoder;

фиг. 5d изображает окна анализа LPC, используемые в USAC; иFIG. 5d shows the LPC analysis windows used in USAC; and

фиг. 6 изображает окно TCX для текущего кадра относительно окна анализа LPC для текущего кадра.FIG. 6 shows a TCX window for the current frame relative to the LPC analysis window for the current frame.

Фиг. 1a изображает устройство для кодирования аудиосигнала, имеющего поток дискретных значений аудиосигнала. Поступление дискретных значений аудиосигнала или аудиоданных в кодер показано под номером 100. Аудиоданные поступают в блок 102 применения оконной функции для применения окна анализа кодирования с предсказанием к потоку дискретных значений аудиосигнала для получения обработанных с помощью оконной функции данных для анализа с предсказанием. Блок 102 применения оконной функции дополнительно сконфигурирован применять окно анализа кодирования с преобразованием к потоку дискретных значений аудиосигнала для получения обработанных с помощью оконной функции данных для анализа с преобразованием. В зависимости от варианта осуществления окно LPC применяется не непосредственно к исходному сигналу, а к сигналу "с предыскажениями" (как в AMR-WB, AMR-WB+, G718 и USAC). С другой стороны, окно TCX применяется непосредственно к исходному сигналу (как в USAC). Однако оба окна могут также применяться к одним и тем же сигналам, или окно TCX может также применяться к обработанному аудиосигналу, полученному из исходного сигнала, посредством предыскажения или любого другого взвешивания, используемого для улучшения качества или эффективности сжатия.FIG. 1a shows an apparatus for encoding an audio signal having a stream of discrete values of an audio signal. The arrival of the discrete values of the audio signal or audio data to the encoder is shown at number 100. The audio data is supplied to the window function application unit 102 for applying the predictive encoding analysis window to the stream of discrete audio values to obtain predicted analysis data processed by the window function. The window function application unit 102 is further configured to apply a transform coding analysis window to a stream of discrete audio signal values to obtain data processed by the window function for transform analysis. Depending on the embodiment, the LPC window is not applied directly to the original signal, but to the “pre-emphasized” signal (as in AMR-WB, AMR-WB +, G718 and USAC). On the other hand, the TCX window is applied directly to the original signal (as in USAC). However, both windows can also be applied to the same signals, or the TCX window can also be applied to the processed audio signal obtained from the original signal by pre-emphasis or any other weighting used to improve the quality or compression efficiency.

Окно анализа кодирования с преобразованием связано с дискретными значениями аудиосигнала в текущем кадре дискретных значений аудиосигнала и с дискретными значениями аудиосигнала заданной части будущего кадра дискретных значений аудиосигнала, являющегося частью опережающего просмотра кодирования с преобразованием.The conversion coding analysis window is associated with discrete values of the audio signal in the current frame of discrete values of the audio signal and with discrete values of the audio signal of a given part of the future frame of discrete values of the audio signal, which is part of the look-ahead coding with conversion.

Кроме того, окно анализа кодирования с предсказанием связано с по меньшей мере частью дискретных значений аудиосигнала текущего кадра и с дискретными значениями аудиосигнала заданной части будущего кадра, являющегося частью опережающего просмотра кодирования с предсказанием.In addition, the prediction encoding analysis window is associated with at least a portion of the discrete audio values of the current frame and with discrete audio values of a predetermined portion of the future frame that is part of the predictive encoding look-ahead.

Как указано в блоке 102, часть опережающего просмотра кодирования с преобразованием и часть опережающего просмотра кодирования с предсказанием выровнены друг с другом, что означает, что эти части или идентичны, или достаточно близки друг к другу, например, отличаются друг от друга менее чем 20% части опережающего просмотра кодирования с предсказанием или менее чем 20% части опережающего просмотра кодирования с преобразованием. Предпочтительно, когда части опережающего просмотра идентичны или отличаются друг от друга менее чем 5% части опережающего просмотра кодирования с предсказанием или менее чем 5% части опережающего просмотра кодирования с преобразованием.As indicated in block 102, the conversion coding look-ahead part and the predictive coding look-ahead part are aligned with each other, which means that these parts are either identical or close enough to each other, for example, less than 20% differ from each other parts of the look-ahead coding review with prediction or less than 20% of the parts of the look-ahead coding with conversion. Preferably, when the leading parts of the look-ahead are identical or different from each other, less than 5% of the parts of the leading-look coding with predictions or less than 5% of the parts of the leading-look coding with conversion.

Кодер дополнительно содержит процессор 104 кодирования для генерации данных, кодированных с предсказанием, для текущего кадра с использованием обработанных с помощью оконной функции данных для анализа с предсказанием или для генерации данных, кодированных с преобразованием, для текущего кадра с использованием обработанных с помощью оконной функции данных для анализа с преобразованием.The encoder further comprises an encoding processor 104 for generating predicted encoded data for the current frame using windowed data for prediction analysis or for generating transform encoded data for the current frame using windowed data for analysis with conversion.

Кроме того, кодер предпочтительно содержит выходной интерфейс 106 для приема для текущего кадра и, фактически, для каждого кадра данных 108a LPC и данных, кодированных с преобразованием, (таких как данные TCX) или данных, кодированных с предсказанием, (данных ACELP) по линии 108b. Процессор 104 кодирования обеспечивает эти два вида данных и принимает, в качестве входной информации, обработанные с помощью оконной функции данные для анализа с предсказанием, обозначенные как 110a, и обработанные с помощью оконной функции данные для анализа с преобразованием, обозначенные как 110b. Кроме того, устройство для кодирования содержит селектор режима кодирования или контроллер 112, который принимает в качестве входных данных аудиоданные 100 и который обеспечивает в качестве выходных данных управляющую информацию для процессора 104 кодирования через линии 114a управления или управляющую информацию для выходного интерфейса 106 через линию 114b управления.In addition, the encoder preferably comprises an output interface 106 for receiving for the current frame and, in fact, for each frame, LPC data and transform encoded data (such as TCX data) or predictive encoded data (ACELP data) on the line 108b. The coding processor 104 provides these two kinds of data and receives, as input, the window-processed data for the prediction analysis designated as 110a and the window-processed data for the conversion analysis designated 110b. In addition, the encoding device comprises an encoding mode selector or controller 112 that receives audio data 100 as input and which provides control information for encoding processor 104 via control lines 114a or control information for output interface 106 via control line 114b as input. .

Фиг. 3a показывает более подробно процессор 104 кодирования и блок 102 применения оконной функции. Блок 102 применения оконной функции предпочтительно содержит в качестве первого модуля блок 102a применения оконной функции анализа кодирования с предсказанием или LPC и в качестве второго компонента или модуля блок 102b применения оконной функции кодирования с преобразованием (такой как блок применения оконной функции TCX). Как показано стрелкой 300, окно анализа LPC и окно TCX выровнены друг с другом, так что части опережающего просмотра обоих окон идентичны друг другу, что означает, что обе части опережающего просмотра простираются до одного и того же момента времени в будущий кадр. Верхняя ветвь на фиг. 3a от блока 102a применения оконной функции LPC и далее вправо является ветвью кодирования с предсказанием, содержащей LPC анализатор и интерполятор 302, фильтр перцепционного взвешивания или блок 304 взвешивания и вычислитель 306 параметров кодирования с предсказанием, такой как вычислитель параметров ACELP. Аудиоданные 100 обеспечиваются для блока 102a применения оконной функции LPC и блока 304 перцепционного взвешивания. Кроме того, аудиоданные обеспечиваются для блока применения оконной функции TCX, и нижняя ветвь от выхода блока применения оконной функции TCX вправо составляет ветвь кодирования с преобразованием. Эта ветвь кодирования с преобразованием содержит блок 310 частотно-временного преобразования, блок 312 спектрального взвешивания и блок 314 кодирования с обработкой/квантованием. Блок 310 частотно-временного преобразования предпочтительно реализован как вносящее искажения преобразование, такое как MDCT, MDST или любое другое преобразование, которое имеет число входных значений больше, чем число выходных значений. Частотно-временное преобразование имеет, в качестве входных данных, обработанные с помощью оконной функции выходные данные блока 102b применения оконной функции TCX или, говоря в общем случае, кодирования с преобразованием.FIG. 3a shows in more detail the encoding processor 104 and the window function application unit 102. The window function application unit 102 preferably comprises, as a first module, a predictive coding analysis window function or LPC application unit 102a and, as a second component or module, a transform coding window function application block 102b (such as a TCX window function application unit). As shown by arrow 300, the LPC analysis window and the TCX window are aligned with each other, so that the pieces of the look-ahead of both windows are identical to each other, which means that both parts of the look-ahead extend to the same point in time in a future frame. The upper branch in FIG. 3a from the LPC window function application block 102a and further to the right is a prediction encoding branch comprising an LPC analyzer and an interpolator 302, a perceptual weighting filter or a weighting unit 304 and a predictive encoding parameter calculator 306, such as an ACELP parameter calculator. Audio data 100 is provided for the LPC window function application unit 102a and the perceptual weighting unit 304. In addition, audio data is provided for the TCX window function application unit, and the lower branch from the output of the TCX window function application unit to the right constitutes a transform encoding branch. This transform coding branch comprises a time-frequency transform unit 310, a spectral weighting unit 312, and a processing / quantization encoding unit 314. The time-frequency transform block 310 is preferably implemented as a distortion transform, such as MDCT, MDST, or any other transform that has a number of input values greater than the number of output values. The time-frequency conversion has, as input, the window data processed by the window function using the TCX window function application unit or, generally speaking, transform coding.

Хотя фиг. 3a показывает для ветви кодирования с предсказанием обработку LPC с алгоритмом кодирования ACELP, могут также применяться другие кодеры с предсказанием, такие как CELP или любые другие кодеры во временной области, известные в области техники, хотя алгоритм ACELP предпочтителен вследствие его качества с одной стороны и его эффективности с другой стороны.Although FIG. 3a shows for the predictive coding branch LPC processing with the ACELP coding algorithm, other predictive encoders such as CELP or any other time-domain encoders known in the art may also be used, although the ACELP algorithm is preferred because of its quality on the one hand and its efficiency on the other hand.

Кроме того, для ветви кодирования с преобразованием в блоке 310 частотно-временного преобразования предпочтительна, в частности, обработка MDCT, хотя также могут выполняться любые другие преобразования в спектральной области.Furthermore, for the transform coding branch in the time-frequency transform block 310, in particular, MDCT processing is preferable, although any other transforms in the spectral domain can also be performed.

Кроме того, фиг. 3a изображает спектральное взвешивание 312 для преобразования спектральных значений, выводимых блоком 310, в область LPC. Это спектральное взвешивание 312 выполняется с помощью данных взвешивания, полученных из данных анализа LPC, генерируемых блоком 302 в ветви кодирования с предсказанием. Альтернативно, однако, преобразование из временной области в область LPC может также выполняться во временной области. В этом случае фильтр анализа LPC будет размещен перед блоком 102b применения оконной функции TCX, чтобы вычислить остаточные данные предсказания во временной области. Однако было обнаружено, что преобразование из временной области в область LPC предпочтительно выполнять в спектральной области путем спектрального взвешивания в данных, кодированных с преобразованием, используя данные анализа LPC, преобразованные из данных LPC в соответствующие весовые коэффициенты в спектральной области, такой как область MDCT.In addition, FIG. 3a shows spectral weighting 312 for converting spectral values output by block 310 into an LPC region. This spectral weighting 312 is performed using the weighting data obtained from the LPC analysis data generated by block 302 in the predictive coding branch. Alternatively, however, the conversion from the time domain to the LPC area may also be performed in the time domain. In this case, the LPC analysis filter will be placed in front of the TCX window function application block 102b to calculate the residual time domain prediction data. However, it was found that the conversion from the time domain to the LPC region is preferably performed in the spectral region by spectrally weighting the transform encoded data using LPC analysis data converted from the LPC data to corresponding weights in the spectral region, such as the MDCT region.

Фиг. 3b изображает общий вид для иллюстрации анализа посредством синтеза или определения "с обратной связью" режима кодирования для каждого кадра. С этой целью кодер, изображенный на фиг. 3c, содержит полный кодер кодирования с преобразованием и декодер кодирования с преобразованием, как это показано под номером 104b, и, дополнительно, содержит полный кодер кодирования с предсказанием и соответствующий декодер, обозначенный как 104a на фиг. 3c. Оба блока 104a, 104b принимают в качестве входных данных аудиоданные и выполняют полную операцию кодирования/декодирования. Затем результаты операции кодирования/декодирования для обеих ветвей 104a, 104b кодирования сравниваются с исходным сигналом и определяется показатель качества, чтобы узнать, какой режим кодирования обеспечивает лучшее качество. Показатель качества может быть сегментированным значением SNR или средним сегментированным SNR, таким как, например, описанное в разделе 5.2.3 из 3GPP TS 26.290. Однако также могут применяться любые другие показатели качества, которые обычно основаны на сравнении результата кодирования/декодирования с исходным сигналом.FIG. 3b is a perspective view for illustrating analysis by synthesizing or determining a “feedback” coding mode for each frame. To this end, the encoder shown in FIG. 3c, comprises a complete transform coding encoder and a transform encoding decoder, as shown under 104b, and further comprises a complete predictive encoding encoder and a corresponding decoder, designated 104a in FIG. 3c. Both blocks 104a, 104b receive audio data as input and perform a complete encoding / decoding operation. Then, the results of the encoding / decoding operation for both encoding branches 104a, 104b are compared with the original signal and a quality indicator is determined to find out which encoding mode provides the best quality. The quality score can be a segmented SNR value or an average segmented SNR, such as, for example, described in section 5.2.3 of 3GPP TS 26.290. However, any other quality indicators that are usually based on comparing the encoding / decoding result with the original signal may also be applied.

На основании показателя качества, который предоставляется от каждой ветви 104a, 104b решающему блоку 112, решающий блок решает, должен ли рассматриваемый кадр кодироваться с использованием ACELP или TCX. После принятия решения есть несколько путей выполнения выбора режима кодирования. Один путь состоит в том, что решающий блок 112 управляет соответствующими блоками 104a, 104b кодера/декодера, чтобы просто вывести результат кодирования для текущего кадра на выходной интерфейс 106 так, чтобы гарантировалось, что для некоторого кадра только один результат кодирования передается в выходном кодированном сигнале в 107.Based on the quality score that is provided from each branch 104a, 104b to the decision block 112, the decision block decides whether the frame in question should be encoded using ACELP or TCX. After making a decision, there are several ways to make the choice of encoding mode. One way is that the decision block 112 controls the corresponding encoder / decoder blocks 104a, 104b to simply output the encoding result for the current frame to the output interface 106 so that it is guaranteed that for only one frame, only one encoding result is transmitted in the output encoded signal at 107.

Альтернативно, оба устройства 104a, 104b могут передать свой результат кодирования выходному интерфейсу 106, и оба результата хранятся в выходном интерфейсе 106 до тех пор, пока решающий блок не прикажет выходному интерфейсу через линию 105 вывести или результат блока 104b, или блока 104a.Alternatively, both devices 104a, 104b may transmit their encoding result to the output interface 106, and both results are stored in the output interface 106 until the decision unit orders the output interface to either output the block 104b or block 104a through line 105.

Фиг. 3b изображает более подробно концепцию фиг. 3c. В частности, блок 104a содержит полный кодер ACELP, полный декодер ACELP и устройство 112a сравнения. Устройство 112a сравнения обеспечивает показатель качества для устройства 112c сравнения. То же самое справедливо для устройства 112b сравнения, которое имеет показатель качества в результате сравнения закодированного с помощью TCX и снова декодированного сигнала с исходным аудиосигналом. Затем оба устройства 112a, 112b сравнения обеспечивают свои показатели качества в конечное устройство 112c сравнения. В зависимости от того, какой показатель качества лучше, устройство сравнения выбирает CELP или TCX. Решение может быть уточнено путем введения дополнительных факторов в процесс принятия решения.FIG. 3b shows in more detail the concept of FIG. 3c. In particular, block 104a comprises a complete ACELP encoder, a complete ACELP decoder, and a comparison device 112a. The comparison device 112a provides a quality score for the comparison device 112c. The same is true for comparator 112b, which has a quality metric as a result of comparing the TCX encoded and decoded signal with the original audio signal. Then, both comparison devices 112a, 112b provide their quality metrics to the final comparison device 112c. Depending on which quality score is better, the comparison device selects CELP or TCX. The decision can be clarified by introducing additional factors into the decision making process.

Альтернативно, может выполняться режим без обратной связи для определения режима кодирования для текущего кадра, основанный на анализе сигнала аудиоданных для текущего кадра. В этом случае решающий блок 112 на фиг. 3c будет выполнять анализ сигнала аудиоданных для текущего кадра и будет затем или управлять кодером ACELP или кодером TCX, чтобы фактически закодировать текущий аудиокадр. В этой ситуации кодер не нуждается в полном декодере, и будет достаточен вариант осуществления только этапов кодирования кодером. Классификации сигналов и принятие решений относительно сигналов без обратной связи также описаны, например, в AMR-WB+ (3 GPP TS 26.290).Alternatively, a non-feedback mode may be performed to determine the encoding mode for the current frame based on the analysis of the audio signal for the current frame. In this case, the decision block 112 in FIG. 3c will perform an analysis of the audio data signal for the current frame and will then either control the ACELP encoder or the TCX encoder to actually encode the current audio frame. In this situation, the encoder does not need a full decoder, and an embodiment of only the encoding steps of the encoder will be sufficient. Signal classifications and decision making regarding feedback signals are also described, for example, in AMR-WB + (3 GPP TS 26.290).

Фиг. 2a изображает предпочтительный вариант осуществления блока 102 применения оконной функции и, в частности, окон, предоставляемых блоком применения оконной функции.FIG. 2a shows a preferred embodiment of a window function application unit 102 and, in particular, windows provided by a window function application unit.

Предпочтительно, окно анализа кодирования с предсказанием для текущего кадра центрирован в центре четвертого подкадра, и это окно обозначено номером 200. Кроме того, предпочтительно использовать дополнительное окно анализа LPC, то есть окно анализа LPC середины кадра, обозначенное под номером 202 и имеющее центр в центре второго подкадра текущего кадра. Кроме того, окно кодирования с преобразованием, такое как, например, окно 204 MDCT, размещено относительно двух окон 200, 202 анализа LPC, как изображено на фигуре. В частности, часть 206 опережающего просмотра из окна анализа имеет такую же длину по времени, как часть 208 опережающего просмотра окна анализа кодирования с предсказанием. Обе части опережающего просмотра простираются на 10 мс в будущий кадр. Кроме того, предпочтительно, чтобы окно анализа кодирования с преобразованием имело не только перекрывающуюся часть 206, но имело неперекрывающуюся часть 208 между 10 и 20 мс и первую перекрывающуюся часть 210. Перекрывающиеся части 206 и 210 таковы, что добавляющий перекрытие блок в декодере выполняет обработку с добавлением перекрытия в перекрывающейся части, и процедура добавления перекрытия не является необходимой для неперекрывающейся части.Preferably, the predictive coding analysis window for the current frame is centered in the center of the fourth subframe, and this window is indicated by 200. In addition, it is preferable to use an additional LPC analysis window, that is, the mid-frame LPC analysis window, labeled 202 and having a center in the center second subframe of the current frame. In addition, a transform coding window, such as, for example, MDCT window 204, is positioned relative to two LPC analysis windows 200, 202, as shown in the figure. In particular, the look-ahead portion 206 from the analysis window has the same time length as the look-ahead portion 208 of the predictive coding analysis window. Both pieces of look-ahead extend for 10 ms in a future frame. In addition, it is preferable that the transform coding analysis window not only has an overlapping part 206, but also has an non-overlapping part 208 between 10 and 20 ms and a first overlapping part 210. The overlapping parts 206 and 210 are such that the overlapping adding unit in the decoder processes with adding overlap in the overlapping part, and the procedure for adding overlap is not necessary for the non-overlapping part.

Предпочтительно, первая перекрывающаяся часть 210 начинается в начале кадра, то есть при 0 мс и простирается до центра кадра, то есть 10 мс. Кроме того, неперекрывающаяся часть простирается от конца первой части кадра 210 до конца кадра при 20 мс, так что вторая перекрывающаяся часть 206 полностью совпадает с частью опережающего просмотра. Это имеет преимущества из-за переключения с одного режима на другой режим. С точки зрения эффективности TCX было бы лучше использовать синусоидальное окно с полным перекрытием (перекрытие 20 мс, как в USAC). Это, однако, сделало бы необходимым использование технологии, такой как прямое устранение искажений для переходов между TCX и ACELP. Прямое устранение искажений используется в USAC для устранения искажений, вносимых отсутствием следующих кадров TCX (замененных ACELP). Прямое устранение искажений требует существенного количества битов и, таким образом, является неподходящим для постоянной битовой скорости и, в частности, кодека с низкой битовой скоростью, как предпочтительный вариант воплощения описанного кодека. Поэтому в соответствии с вариантами воплощения изобретения вместо использования FAC (прямого устранения искажений) уменьшается перекрытие окна TCX, и окно смещается в будущее так, чтобы вся перекрывающаяся часть 206 была размещена в будущем кадре. Кроме того, окно, изображенное на фиг. 2a для кодирования с преобразованием, имеет, тем не менее, максимальное перекрытие для получения идеальной реконструкции в текущем кадре, когда следующий кадр является ACELP, без использования прямого устранения искажений. Это максимальное перекрытие предпочтительно установлено равным 10 мс, что является доступным опережающим просмотром во времени, то есть 10 мс, как видно из фиг. 2a.Preferably, the first overlapping portion 210 starts at the beginning of the frame, i.e. at 0 ms, and extends to the center of the frame, i.e. 10 ms. In addition, the non-overlapping part extends from the end of the first part of the frame 210 to the end of the frame at 20 ms, so that the second overlapping part 206 completely coincides with the leading viewing part. This has the advantage of switching from one mode to another mode. In terms of TCX efficiency, it would be better to use a sine window with full overlap (20 ms overlap, as in USAC). This, however, would necessitate the use of technology, such as the direct correction of distortions for transitions between TCX and ACELP. USAC Direct Correction is used to eliminate distortion introduced by the absence of the following TCX frames (replaced by ACELP). Direct elimination of distortion requires a significant number of bits and, therefore, is not suitable for a constant bit rate and, in particular, a codec with a low bit rate, as a preferred embodiment of the described codec. Therefore, in accordance with embodiments of the invention, instead of using FAC (direct distortion elimination), the TCX window overlap is reduced and the window is shifted to the future so that the entire overlapping portion 206 is placed in a future frame. In addition, the window shown in FIG. 2a for transform coding, however, has a maximum overlap to obtain perfect reconstruction in the current frame when the next frame is ACELP, without using direct distortion correction. This maximum overlap is preferably set to 10 ms, which is an available leading-time view, i.e. 10 ms, as can be seen from FIG. 2a.

Хотя фиг. 2a была описана со ссылкой на кодер, в котором окно 204 для кодирования с преобразованием является окном анализа, следует отметить, что окно 204 также представляет собой окно синтеза для декодирования с преобразованием. В предпочтительном варианте воплощения окно анализа идентично окну синтеза, и оба окна симметричны сами по себе. Это означает, что оба окна симметричны относительно (горизонтальной) осевой линии. В других приложениях, однако, могут использоваться несимметричные окна, где окно анализа отличается по форме от окна синтеза.Although FIG. 2a has been described with reference to an encoder in which the transform encoding window 204 is an analysis window, it should be noted that the window 204 is also a synthesis window for transform decoding. In a preferred embodiment, the analysis window is identical to the synthesis window, and both windows are symmetrical on their own. This means that both windows are symmetrical about the (horizontal) center line. In other applications, however, asymmetric windows may be used where the analysis window differs in shape from the synthesis window.

Фиг. 2b изображает последовательность окон на части прошлого кадра, последующем текущем кадре, будущем кадре, который следует за текущим кадром, и следующим за будущим кадром, который следует после будущего кадра.FIG. 2b depicts a sequence of windows on a portion of a past frame, subsequent to the current frame, future frame that follows the current frame, and next to the future frame that follows the future frame.

Становится ясным, что добавляющая перекрытие часть, обработанная добавляющим перекрытие процессором, изображенная под номером 250, простирается от начала каждого кадра до середины каждого кадра, то есть между 20 и 30 мс для вычисления данных будущего кадра и между 40 и 50 мс для вычисления данных TCX для следующего за будущим кадра или между нулем и 10 мс для вычисления данных для текущего кадра. Однако для вычисления данных во второй половине каждого кадра нет добавленного перекрытия, и поэтому не нужна никакая техника прямого устранения искажений. Это связано с тем, что окно синтеза имеет не перекрывающуюся часть во второй половине каждого кадра.It becomes clear that the overlap-adding part, processed by the overlap-adding processor, depicted at number 250, extends from the beginning of each frame to the middle of each frame, that is, between 20 and 30 ms for calculating future frame data and between 40 and 50 ms for calculating TCX data for a frame following the future, or between zero and 10 ms to calculate data for the current frame. However, to calculate the data in the second half of each frame, there is no added overlap, and therefore no technique for directly eliminating distortion is needed. This is due to the fact that the synthesis window has a non-overlapping part in the second half of each frame.

Как правило, длина окна MDCT равна удвоенной длине кадра. Это имеет место также и в настоящем изобретении. Однако когда, опять же, рассматривается фиг. 2a, становится ясно, что окно анализа/синтеза простирается только от нуля до 30 мс, а полная длина окна равна 40 мс. Эта полная длина имеет большое значение для обеспечения входных данных для соответствующей операции свертки и обратной свертки вычисления MDCT. Чтобы расширить окно до полной длины 40 мс, 5 мс нулевых значений добавлены между -5 и 0 мс, и 5 мс нулевых значений MDCT также добавлены в конце кадра между 30 и 35 мс. Однако эти дополнительные части, имеющие только нули, не играют никакой роли, когда дело доходит до рассмотрения задержки, так как кодеру или декодеру известно, что последние пять мс окна и первые пять мс окна это нули, так что эти данные уже присутствуют без какой-либо задержки.Typically, the MDCT window length is twice the frame length. This also occurs in the present invention. However, when, again, FIG. 2a, it becomes clear that the analysis / synthesis window extends only from zero to 30 ms, and the total window length is 40 ms. This full length is of great importance in providing input for the corresponding convolution and inverse convolution of the MDCT calculation. To expand the window to a full length of 40 ms, 5 ms of zero values are added between -5 and 0 ms, and 5 ms of zero MDCT values are also added at the end of the frame between 30 and 35 ms. However, these additional parts, with only zeros, do not play any role when it comes to considering the delay, since the encoder or decoder knows that the last five ms of the window and the first five ms of the window are zeros, so this data is already present without any or delays.

Фиг. 2c изображает два возможных перехода. Для перехода от TCX к ACELP, однако, не нужны никакие специальные предосторожности, так как когда предполагается относительно фиг. 2a, что будущий кадр является кадром ACELP, то данные, полученные с помощью декодирования TCX последнего кадра для части 206 опережающего просмотра, могут быть просто удалены, так как кадр ACELP начинается сразу в начале будущего кадра и, следовательно, нет промежутка без данных. Данные ACELP являются самосогласованными и, следовательно, декодер, когда имеется переключение с TCX на ACELP, использует данные, вычисленные по TCX для текущего кадра, отбрасывает данные, полученные с помощью обработки TCX для будущего кадра и вместо этого использует данные будущего кадра из ветви ACELP.FIG. 2c shows two possible transitions. For the transition from TCX to ACELP, however, no special precautions are necessary, since when assumed with respect to FIG. 2a that the future frame is an ACELP frame, the data obtained by TCX decoding the last frame for the look-ahead part 206 can simply be deleted, since the ACELP frame starts immediately at the beginning of the future frame and, therefore, there is no gap without data. ACELP data is self-consistent and, therefore, the decoder, when switching from TCX to ACELP, uses the data calculated by TCX for the current frame, discards the data obtained by TCX processing for the future frame, and instead uses the data of the future frame from the ACELP branch.

Однако когда выполняется переход от ACELP к TCX, то используется специальное окно перехода, как показано на фиг. 2c. Это окно начинается в начале кадра от нуля до 1, имеет неперекрывающуюся часть 220 и имеет перекрывающуюся часть в конце, обозначенную как 222, которая идентична перекрывающейся части 206 прямого окна MDCT.However, when the transition from ACELP to TCX is performed, a special transition window is used, as shown in FIG. 2c. This window starts at the beginning of the frame from zero to 1, has a non-overlapping portion 220 and has an overlapping portion at the end, designated 222, which is identical to the overlapping portion 206 of the direct MDCT window.

Это окно дополнительно заполняется нулями между -12,5 мс и нулем в начале окна и между 30 и 35,5 мс в конце, то есть после части 222 опережающего просмотра. Это приводит к увеличенной длине преобразования. Длина равна 50 мс, но длина прямого окна анализа/синтеза равна только 40 мс. Это, однако, не уменьшает эффективность или увеличивает битовую скорость, и это более длинное преобразование необходимо, когда имеет место переключение с ACELP на TCX. Окно перехода, используемое в соответствующем декодере, идентично окну, изображенному на фиг. 2c.This window is additionally filled with zeros between -12.5 ms and zero at the beginning of the window and between 30 and 35.5 ms at the end, that is, after part 222 of the forward viewing. This results in an increased conversion length. The length is 50 ms, but the length of the direct analysis / synthesis window is only 40 ms. This, however, does not decrease efficiency or increase bit rate, and this longer conversion is necessary when switching from ACELP to TCX takes place. The transition window used in the corresponding decoder is identical to the window shown in FIG. 2c.

Далее более подробно обсуждается декодер. Фиг. 1b изображает аудиодекодер для декодирования закодированного аудиосигнала. Аудиодекодер содержит декодер 180 параметров предсказания, при этом декодер параметров предсказания сконфигурирован выполнять декодирование данных для кадра кодированного с предсказанием, из закодированного аудиосигнала, принятого в 181 и поступающего в интерфейс 182. Декодер дополнительно содержит декодер 183 параметров преобразования для выполнения декодирования данных для кадра кодированного с преобразованием, аудиосигнала на линии 181. Декодер параметров преобразования сконфигурирован для выполнения, предпочтительно, подверженного искажениям спектрально-временного преобразования и для применения окна синтеза к преобразованным данным для получения данных для текущего кадра и будущего кадра. Окно синтеза имеет первую перекрывающуюся часть, смежную вторую неперекрывающуюся часть и смежную третью перекрывающуюся часть, как показано на фиг. 2a, при этом третья перекрывающаяся часть связана только с дискретными значениями аудиосигнала для будущего кадра, а неперекрывающаяся часть связана только с данными текущего кадра. Кроме того, добавляющий перекрытие блок 184 обеспечен для наложения и добавления дискретных значений окна синтеза, связанных с третьей перекрывающейся частью окна синтеза для текущего кадра и окна синтеза при дискретных значениях, связанных с первой перекрывающейся частью окна синтеза для будущего кадра, для получения первой части дискретных значений аудиосигнала для будущего кадра. Остальные дискретные значения аудиосигнала для будущего кадра являются обработанными с помощью оконной функции синтеза дискретными значениями, связанными со второй неперекрывающейся частью окна синтеза для будущего кадра, полученного без добавления перекрытия, когда текущий кадр и будущий кадр содержат данные, кодированные с преобразованием. Однако когда имеет место переключение с одного кадра на следующий кадр, полезным является объединитель 185, который должен заботиться о хорошем переключении с одного режима кодирования на другой режим кодирования, чтобы в конце получить декодируемые аудиоданные на выходе объединителя 185.The decoder is discussed in more detail below. FIG. 1b shows an audio decoder for decoding an encoded audio signal. The audio decoder comprises a prediction parameter decoder 180, wherein the prediction parameter decoder is configured to decode data for the prediction encoded frame from the encoded audio signal received at 181 and supplied to the interface 182. The decoder further comprises a transform parameter decoder 183 to decode data for the frame encoded with conversion, the audio signal on line 181. The conversion parameter decoder is configured to perform, preferably subject to distortions of the spectral-temporal transformation and for applying the synthesis window to the converted data to obtain data for the current frame and future frame. The synthesis window has a first overlapping portion, an adjacent second non-overlapping portion, and an adjacent third overlapping portion, as shown in FIG. 2a, while the third overlapping part is associated only with discrete values of the audio signal for the future frame, and the non-overlapping part is associated only with the data of the current frame. In addition, an overlapping block 184 is provided for superimposing and adding discrete synthesis window values associated with a third overlapping part of the synthesis window for the current frame and a synthesis window with discrete values associated with the first overlapping part of the synthesis window for a future frame to obtain the first discrete part audio values for the future frame. The remaining discrete values of the audio signal for the future frame are the discrete values processed using the synthesis window function associated with the second non-overlapping part of the synthesis window for the future frame obtained without adding overlap when the current frame and the future frame contain data encoded with conversion. However, when switching from one frame to the next frame takes place, combiner 185 is useful, which should take care of a good switch from one encoding mode to another encoding mode, in order to finally receive decoded audio data at the output of combiner 185.

Фиг. 1c изображает более подробно конструкцию декодера 183 параметров преобразования.FIG. 1c shows in more detail the construction of a transform parameter decoder 183.

Декодер содержит каскад 183a обработки декодера, который сконфигурирован для выполнения всей обработки, необходимой для декодирования закодированных спектральных данных, такой как арифметическое декодирование, или декодирование по алгоритму Хаффмана, или, в общем случае, статистическое декодирование и последующее обратное квантование, заполнение шумом и т.д. для получения декодированных спектральных значений на выходе блока 183. Эти спектральные значения подаются на вход блока 183b спектрального взвешивания. Блок 183b спектрального взвешивания принимает данные спектрального взвешивания от вычислителя 183c взвешенных данных LPC, которому подаются данные LPC, генерируемые блоком анализа предсказания на стороне кодера и принимаемые в декодере через входной интерфейс 182. Затем выполняется обратное спектральное преобразование, которое содержит, в качестве первого этапа, предпочтительно обратное преобразование 183d DCT-IV и последующую обратную свертку и обработку 183e с помощью оконной функции синтеза, прежде чем данные для будущего кадра, например, будут предоставлены добавляющему перекрытие блоку 184. Добавляющий перекрытие блок может выполнять операцию добавления перекрытия, когда доступны данные для следующего будущего кадра. Блоки 183d и 183e вместе составляют спектральное/временное преобразование или, в варианте воплощения на фиг. 1с, предпочтительное обратное преобразование MDCT (MDCT-1).The decoder comprises a decoder processing stage 183a that is configured to perform all the processing necessary to decode the encoded spectral data, such as arithmetic decoding, or Huffman decoding, or, in general, statistical decoding and subsequent inverse quantization, noise filling, etc. d. to obtain decoded spectral values at the output of block 183. These spectral values are supplied to the input of spectral weighting unit 183b. The spectral weighting unit 183b receives spectral weighting data from the LPC weighted data calculator 183c, to which LPC data generated by the prediction analysis unit on the encoder side and received at the decoder via the input interface 182 is supplied. The inverse spectral conversion is then performed, which contains, as a first step, preferably, the inverse transform 183d of DCT-IV and the subsequent inverse convolution and processing 183e using the window synthesis function, before the data for the future frame, for example, redostavleny added overlap unit 184. Adding unit may perform an overlap add operation overlap when data is available for the next future frame. Blocks 183d and 183e together constitute spectral / temporal conversion, or, in the embodiment of FIG. 1c, the preferred inverse transformation is MDCT (MDCT -1 ).

В частности, блок 183d принимает данные для кадра в 20 мс и увеличивает объем данных в этапе обратной свертки блока 183e до данных для 40 мс, то есть в два раза большее количество данных по сравнению с тем, что было до этого, и затем к этим 40 мс данных применяется окно синтеза, имеющее продолжительность в 40 мс (когда добавлены нулевые части в начале и конце окна). Затем на выходе блока 183e доступны данные для текущего блока и данные в пределах части опережающего просмотра для будущего блока.In particular, block 183d receives data for a 20 ms frame and increases the amount of data in the reverse convolution step of block 183e to data for 40 ms, that is, twice as much data as before, and then to that 40 ms of data, a synthesis window is applied having a duration of 40 ms (when zero parts are added at the beginning and end of the window). Then, at the output of block 183e, data is available for the current block and data within the look-ahead part for the future block.

Фиг. 1d изображает соответствующую обработку на стороне кодера. Функции, которые обсуждались в контексте фиг. 1d, реализованы в процессоре 104 кодирования или соответствующих блоках на фиг. 3a. Частотно-временное преобразование 310 на фиг. 3a предпочтительно реализовано как MDCT и содержит этап 310a применения оконной функции, свертки, где операция применения оконной функции в блоке 310a реализована в виде блока 103d применения оконной функции TCX. Следовательно, фактически первой операцией в блоке 310 на фиг. 3a является операция свертки, чтобы вернуть 40 мс входных данных к 20 мс данным кадра. Затем, со свернутыми данными, которые теперь получили вклад искажений, выполняется DCT-IV, как показано в блоке 310d. Блок 302 (анализ LPC) предоставляет данные LPC, полученные с помощью анализа с использованием окна LPC конца кадра, блоку 302b (LPC к MDCT), а блок 302d генерирует весовые коэффициенты для осуществления спектрального взвешивания с помощью блока 312 спектрального взвешивания. Предпочтительно, 16 коэффициентов LPC для одного кадра в 20 мс в режиме кодирования TCX преобразуются в 16 весовых коэффициентов MDCT-области, предпочтительно путем использования oDFT (нечетного дискретного преобразования Фурье). Для других режимов, таких как режимы NB, имеющих частоту дискретизации 8 кГц, число коэффициентов LPC может быть ниже, например, 10. Для других режимов с более высокими частотами дискретизации также может иметься больше чем 16 коэффициентов LPC. Результатом этого oDFT являются 16 весовых значений, и каждое весовое значение связано с полосой спектральных данных, полученных блоком 310b. Спектральное взвешивание происходит путем деления всех спектральных значений MDCT для одной полосы на такое же весовое значение, связанное с этой полосой, для очень эффективного выполнения этой операции спектрального взвешивания в блоке 312. Следовательно, каждая из 16 полос значений MDCT делятся на соответствующий весовой коэффициент, чтобы вывести спектрально взвешенные спектральные значения, которые затем дополнительно обрабатываются блоком 314, как известно в области техники, то есть, например, путем квантования и статистического кодирования.FIG. 1d shows the corresponding processing on the encoder side. The functions discussed in the context of FIG. 1d are implemented in coding processor 104 or corresponding blocks in FIG. 3a. Time-frequency conversion 310 of FIG. 3a is preferably implemented as an MDCT and comprises a step 310a of applying a window function, a convolution, where the operation of applying a window function in block 310a is implemented as a TCX window function application block 103d. Therefore, in fact, the first operation in block 310 in FIG. 3a is a convolution operation to return 40 ms of input data to 20 ms frame data. Then, with the collapsed data that has now received the distortion contribution, DCT-IV is executed, as shown in block 310d. Block 302 (LPC analysis) provides LPC data obtained by analysis using the end-of-frame LPC window to block 302b (LPC to MDCT), and block 302d generates weights for performing spectral weighting using spectral weighting unit 312. Preferably, 16 LPCs for one 20 ms frame in TCX coding mode are converted to 16 weighting factors of the MDCT domain, preferably by using oDFT (odd discrete Fourier transform). For other modes, such as NB modes having a sampling frequency of 8 kHz, the number of LPC coefficients may be lower, for example, 10. For other modes with higher sampling rates, there may also be more than 16 LPC coefficients. The result of this oDFT is 16 weight values, and each weight value is associated with a band of spectral data obtained by block 310b. Spectral weighting is done by dividing all the MDCT spectral values for one band by the same weight value associated with that band to perform this spectral weighting operation very efficiently in block 312. Therefore, each of the 16 bands of MDCT values is divided by a corresponding weight coefficient so that derive spectrally weighted spectral values, which are then further processed by block 314, as is known in the art, i.e., for example, by quantization and statistical coding Ania.

С другой стороны, на стороне декодера спектральное взвешивание, соответствующее блоку 312 на фиг. 1d, будет умножением, выполняемым блоком 183b применения спектральных весовых коэффициентов, изображенным на фиг. 1с.On the decoder side, on the other hand, spectral weighting corresponding to block 312 in FIG. 1d will be the multiplication performed by the spectral weighting unit 183b shown in FIG. 1s

Далее обсуждаются фиг. 4a и фиг. 4b, чтобы показать, как данные LPC, генерируемые окном анализа LPC или генерируемые двумя окнами анализа LPC, изображенными на фиг. 2, используются в режиме ACELP или в режиме TCX/MDCT.Next, FIG. 4a and FIG. 4b to show how the LPC data generated by the LPC analysis window or generated by the two LPC analysis windows shown in FIG. 2, are used in ACELP mode or in TCX / MDCT mode.

После применения окна анализа LPC, выполняется вычисление автокорреляции с помощью обработанных с помощью оконной функции данных LPC. Затем применяется алгоритм Левинсона Дарбина к автокорреляционной функции. Затем 16 коэффициентов LP для каждого анализа LP, то есть 16 коэффициентов для окна середины кадра и 16 коэффициентов для окна конца кадра, преобразуются в значения ISP. Следовательно, этапы от вычисления автокорреляции до преобразования ISP выполняются, например, в блоке 400 на фиг. 4a.After applying the LPC analysis window, autocorrelation is calculated using the LPC data processed using the window function. Then the Levinson Darbin algorithm is applied to the autocorrelation function. Then, 16 LP coefficients for each LP analysis, that is, 16 coefficients for the mid-frame window and 16 coefficients for the end-frame window, are converted to ISP values. Therefore, the steps from calculating autocorrelation to ISP conversion are performed, for example, in block 400 of FIG. 4a.

Затем вычисления продолжаются на стороне кодера в виде квантования коэффициентов ISP. Затем коэффициенты ISP опять подвергаются обратному квантованию и преобразуются обратно в область коэффициентов LP. Следовательно, получаются данные LPC или, говоря иначе, 16 коэффициентов LPC, которые немного отличаются от коэффициентов LPC, полученных в блоке 400 (из-за квантования и обратного квантования), и которые затем могут использоваться непосредственно для четвертого подкадра, как показано на этапе 401. Для других подкадров, однако, предпочтительно выполнять несколько интерполяций как, например, описано в разделе 6.8.3 Рек. ITU-T G.718 (06/2008). Данные LPC для третьего подкадра вычисляются путем интерполяции данных LPC конца кадра и середины кадра, представленной блоком 402. Предпочтительной интерполяцией является, деление всех соответствующих данных на два и их сложение, то есть среднее данных LPC конца кадра и середины кадра. Чтобы вычислить данные LPC для второго подкадра, как изображено в блоке 403, дополнительно выполняется интерполяция. В частности, 10% значений данных LPC конца кадра последнего кадра, 80% данных LPC середины кадра для текущего кадра и 10% значений данных LPC для конца кадра текущего кадра используются, чтобы в итоге вычислить данные LPC для второго подкадра.Then the calculations are continued on the encoder side in the form of quantization of the ISP coefficients. Then, the ISP coefficients are again inverse quantized and converted back to the LP coefficient domain. Therefore, LPC data or, in other words, 16 LPC coefficients is obtained, which are slightly different from the LPC coefficients obtained in block 400 (due to quantization and inverse quantization), and which can then be used directly for the fourth subframe, as shown in step 401 For other subframes, however, it is preferable to perform several interpolations as, for example, described in section 6.8.3 of ITU-T Rec. ITU-T G.718 (06/2008). The LPC data for the third subframe is calculated by interpolating the LPC data of the end of the frame and the middle of the frame represented by block 402. The preferred interpolation is to divide all the corresponding data into two and add them, that is, the average of the LPC data of the end of the frame and the middle of the frame. In order to calculate the LPC data for the second subframe, as shown in block 403, interpolation is further performed. In particular, 10% of the end-of-frame LPC data values of the last frame, 80% of the mid-frame LPC data of the current frame and 10% of the LPC data values for the end of the current frame frame are used to ultimately calculate the LPC data for the second subframe.

Наконец, вычисляются данные LPC для первого подкадра, как показано в блоке 404, путем формирования среднего между данными LPC конца кадра последнего кадра и данными LPC середины кадра текущего кадра.Finally, LPC data for the first subframe is calculated, as shown in block 404, by forming the middle between the LPC data of the end frame of the last frame and the LPC data of the middle of the frame of the current frame.

Для выполнения кодирования ACELP оба квантованных набора параметров LPC, то есть от анализа середины кадра и анализа конца кадра, передаются декодеру.To perform ACELP encoding, both quantized sets of LPC parameters, i.e., from mid-frame analysis and end-of-frame analysis, are transmitted to the decoder.

На основании результатов для отдельных подкадров, вычисленных блоками 401-404, выполняются вычисления ACELP, как указано в блоке 405, для получения данных ACELP, которые будут переданы декодеру.Based on the results for the individual subframes computed by blocks 401-404, ACELP calculations are performed, as indicated in block 405, to obtain ACELP data to be transmitted to the decoder.

Далее описывается фиг. 4b. Опять же, в блоке 400 вычисляются данные LPC середины кадра и конца кадра. Однако так как имеем режим кодирования TCX, только данные LPC конца кадра передаются декодеру, а данные LPC середины кадра не передаются декодеру. В частности, непосредственно коэффициенты LPC не передаются декодеру, а передаются значения, полученные после преобразования ISP и квантования. Следовательно, является предпочтительным, чтобы, как и данные LPC, квантованные значения ISP, полученные из коэффициентов данных LPC конца кадра, передавались декодеру.Next, FIG. 4b. Again, in block 400, LPC data of the middle of the frame and the end of the frame are calculated. However, since we have the TCX coding mode, only the end-of-frame LPC data is transmitted to the decoder, and the mid-frame LPC data is not transmitted to the decoder. In particular, the LPC coefficients are not directly transmitted to the decoder, but the values obtained after ISP conversion and quantization are transmitted. Therefore, it is preferable that, like the LPC data, the quantized ISP values obtained from the LPC data coefficients of the end of the frame are transmitted to the decoder.

Однако в кодере должны быть выполнены процедуры этапов 406-408 для получения весовых коэффициентов для получения весовых коэффициентов для взвешивания спектральных данных MDCT текущего кадра. С этой целью интерполируются данные LPC конца кадра текущего кадра и данные LPC конца кадра предыдущего кадра. Однако предпочтительно не интерполировать непосредственно коэффициенты данных LPC, полученные непосредственно из анализа LPC. Вместо этого предпочтительно интерполировать квантованные и снова подвергнутые обратному квантованию значения ISP, полученные из соответствующих коэффициентов LPC. Следовательно, данные LPC, используемые в блоке 406, так же как данные LPC, используемые для других вычислений в блоке 401-404, всегда, предпочтительно, являются данными ISP, подвергнутыми квантованию и обратному квантованию, полученными из исходных 16 коэффициентов LPC на каждое окно анализа LPC.However, the procedures of steps 406-408 must be performed in the encoder to obtain weights to obtain weights for weighting the MDCT spectral data of the current frame. To this end, the LPC data of the end of the frame of the current frame and the LPC data of the end of the frame of the previous frame are interpolated. However, it is preferable not to directly interpolate the LPC data coefficients obtained directly from the LPC analysis. Instead, it is preferable to interpolate the quantized and again quantized ISP values obtained from the corresponding LPC coefficients. Therefore, the LPC data used in block 406, as well as the LPC data used for other calculations in block 401-404, is always preferably the quantized and inverse quantized ISP data obtained from the original 16 LPC coefficients per analysis window LPC

Интерполяция в блоке 406 является предпочтительно чистым усреднением, то есть соответствующие значения складываются и делятся на два. Затем, в блоке 407 спектральные данные MDCT текущего кадра взвешиваются с использованием интерполированных данных LPC и, в блоке 408, выполняется дальнейшая обработка взвешенных спектральных данных, чтобы в конце получить закодированные спектральные данные, которые будут переданы от кодера декодеру. Следовательно, процедуры, выполняемые на этапе 407, соответствуют блоку 312, а процедура, выполняемая в блоке 408 на фиг. 4b соответствует блоку 314 на фиг. 3a. Соответствующие операции фактически выполняются на стороне декодера. Следовательно, те же самые интерполяции необходимы на стороне декодера, чтобы вычислить коэффициенты спектрального взвешивания с одной стороны или вычислить коэффициенты LPC для отдельных подкадров путем интерполяции с другой стороны. Поэтому фиг. 4a и фиг. 4b одинаково применимы к стороне декодера в отношении процедур в блоках 401-404 или 406 на фиг. 4b.The interpolation in block 406 is preferably a pure averaging, i.e. the corresponding values are added and divided by two. Then, in block 407, the MDCT spectral data of the current frame is weighted using the interpolated LPC data and, in block 408, further processing of the weighted spectral data is performed to finally obtain encoded spectral data that will be transmitted from the encoder to the decoder. Therefore, the procedures performed at step 407 correspond to block 312, and the procedure performed at block 408 in FIG. 4b corresponds to block 314 in FIG. 3a. The corresponding operations are actually performed on the side of the decoder. Therefore, the same interpolations are needed on the decoder side in order to calculate the spectral weighting coefficients on the one hand or to calculate the LPC coefficients for individual subframes by interpolation on the other hand. Therefore, FIG. 4a and FIG. 4b are equally applicable to the decoder side with respect to the procedures in blocks 401-404 or 406 of FIG. 4b.

Настоящее изобретение в частности полезно для вариантов осуществления кодека с низкой задержкой. Это означает, что такие кодеки разработаны так, чтобы иметь алгоритмическую или систематическую задержку предпочтительно менее 45 мс и, в некоторых случаях, даже равную или менее 35 мс. Тем не менее, часть опережающего просмотра для анализа LPC и анализа TCX необходима для получения хорошего качества звука. Поэтому необходим хороший компромисс между этими двумя противоречивыми требованиями. Было обнаружено, что хороший компромисс между задержкой с одной стороны и качеством с другой стороны может быть получен посредством переключаемого аудиокодера или декодера, имеющих длительность кадра 20 мс, но также было найдено, что значения для длин кадров между 15 и 30 мс также обеспечивают приемлемые результаты. С другой стороны, было обнаружено, что часть опережающего просмотра в 10 мс приемлема, когда речь идет о проблемах задержки, но значения между 5 мс и 20 мс также полезны в зависимости от соответствующего применения. Кроме того, было обнаружено, что соотношение между частью опережающего просмотра и длиной кадра является полезным, когда оно равно 0,5, но и другие значения между 0,4 и 0,6 также полезны. Кроме того, хотя изобретение было описано с ACELP с одной стороны и MDCT-TCX с другой стороны, другие алгоритмы, работающие во временной области, такие как CELP или любые другие алгоритмы с предсказанием или формой сигнала также полезны. Что касается TCX/MDCT, также могут применяться другие алгоритмы кодирования области преобразования, такие как MDST или любые другие основанные на преобразовании алгоритмы.The present invention is particularly useful for low latency codec embodiments. This means that such codecs are designed to have an algorithmic or systematic delay of preferably less than 45 ms and, in some cases, even equal to or less than 35 ms. However, part of the lead-in viewing for LPC analysis and TCX analysis is necessary to get good sound quality. Therefore, a good compromise is needed between these two conflicting requirements. It was found that a good compromise between delay on the one hand and quality on the other can be obtained by a switchable audio encoder or decoder having a frame duration of 20 ms, but it was also found that values for frame lengths between 15 and 30 ms also provide acceptable results. . On the other hand, it was found that the 10 ms look-ahead portion is acceptable when it comes to delay problems, but values between 5 ms and 20 ms are also useful depending on the respective application. In addition, it was found that the ratio between the portion of the look-ahead and the frame length is useful when it is 0.5, but other values between 0.4 and 0.6 are also useful. Furthermore, although the invention has been described with ACELP on the one hand and MDCT-TCX on the other, other time-domain algorithms such as CELP or any other prediction or waveform algorithms are also useful. For TCX / MDCT, other transform domain coding algorithms, such as MDST or any other transform-based algorithms, may also be used.

То же самое справедливо для конкретного варианта осуществления анализа LPC и вычисления LPC. Предпочтительно полагаться на процедуры, описанные выше, но и другие процедуры для вычисления/интерполяции и анализа также могут использоваться, если эти процедуры полагаются на окно анализа LPC.The same is true for a particular embodiment of LPC analysis and LPC calculation. It is preferable to rely on the procedures described above, but other procedures for calculation / interpolation and analysis can also be used if these procedures rely on the LPC analysis window.

Хотя некоторые аспекты были описаны в контексте устройства, очевидно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствуют этапу способа или свойству этапа способа. Аналогично, аспекты, описанные в контексте этапа способа также, представляют описание соответствующего блока или элемента или свойства соответствующего устройства.Although some aspects have been described in the context of the device, it is obvious that these aspects also represent a description of the corresponding method, where the unit or device corresponds to a method step or a property of a method step. Similarly, the aspects described in the context of a method step also provide a description of the corresponding unit or element or property of the corresponding device.

В зависимости от некоторых требований варианта осуществления варианты воплощения изобретения могут быть реализованы в виде аппаратных средств или в виде программного обеспечения. Вариант осуществления может быть выполнен с использованием цифрового носителя данных, например гибкого диска, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сохраненные в нем считываемые электронным образом управляющие сигналы, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой так, что выполняется соответствующий способ.Depending on some requirements of an embodiment, embodiments of the invention may be implemented in hardware or in software. An embodiment may be performed using a digital storage medium such as a floppy disk, DVD, CD, ROM, PROM, EPROM, EEPROM or flash memory having electronically readable control signals that interact (or are capable of interacting) with the programmable a computer system such that an appropriate method is performed.

Некоторые варианты воплощения настоящего изобретения содержат невременный носитель данных, имеющий считываемые электронным образом управляющие сигналы, которые могут взаимодействовать с программируемой компьютерной системой так, что выполняется один из способов, описанных здесь.Some embodiments of the present invention comprise a non-transitory storage medium having electronically readable control signals that can interact with a programmable computer system such that one of the methods described herein is performed.

Как правило, варианты воплощения настоящего изобретения могут быть реализованы в виде компьютерного программного продукта с кодом программы, кода программы, исполняемого для выполнения одного из способов, когда компьютерный программный продукт выполняется на компьютере. Код программы может, например, храниться на машиночитаемом носителе.Typically, embodiments of the present invention may be implemented as a computer program product with program code, program code executed to execute one of the methods when the computer program product is executed on a computer. The program code may, for example, be stored on a computer-readable medium.

Другие варианты воплощения содержат компьютерную программу для выполнения одного из способов, описанных здесь, которая хранится на машиночитаемом носителе.Other embodiments include a computer program for performing one of the methods described herein, which is stored on a computer-readable medium.

Поэтому, другими словами, вариантом воплощения способа согласно изобретению является компьютерная программа, имеющая код программы для выполнения одного из способов, описанных здесь, когда компьютерная программа выполняется на компьютере.Therefore, in other words, an embodiment of the method according to the invention is a computer program having program code for executing one of the methods described herein when the computer program is executed on a computer.

Еще одним вариантом воплощения способов согласно изобретению является носитель информации (или цифровой носитель данных, или машиночитаемый носитель), содержащий записанную на нем компьютерную программу для выполнения одного из способов, описанных здесь.Another embodiment of the methods of the invention is a storage medium (either a digital storage medium or a computer-readable medium) comprising a computer program recorded thereon for performing one of the methods described herein.

Еще одним вариантом воплощения способа согласно изобретению является поток данных или последовательность сигналов, представляющих собой компьютерную программу для выполнения одного из способов, описанных здесь. Поток данных или последовательность сигналов могут быть, например, сконфигурированы для передачи через соединение для передачи данных, например через Интернет.Another embodiment of the method according to the invention is a data stream or a sequence of signals representing a computer program for performing one of the methods described herein. The data stream or signal sequence may, for example, be configured to be transmitted via a data connection, for example via the Internet.

Еще один вариант воплощения содержит средство обработки, например компьютер или программируемое логическое устройство, сконфигурированное или адаптированное выполнять один из способов, описанных здесь.Another embodiment includes a processing means, such as a computer or programmable logic device, configured or adapted to perform one of the methods described herein.

Еще один вариант воплощения содержит компьютер, имеющий установленную на нем компьютерную программу для выполнения одного из способов, описанных здесь.Another embodiment includes a computer having a computer program installed thereon for performing one of the methods described herein.

В некоторых вариантах воплощения может использоваться программируемое логическое устройство (например, программируемая пользователем вентильная матрица) для выполнения некоторых или всех функций способов, описанных здесь. В некоторых вариантах воплощения программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором для выполнения одного из способов, описанных здесь. В общем случае способы предпочтительно выполняются любыми аппаратными средствами.In some embodiments, a programmable logic device (eg, a user programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a user-programmable gate array may interact with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by any hardware.

Описанные выше варианты воплощения просто иллюстрируют принципы настоящего изобретения. Подразумевается, что модификации и вариации компоновок и деталей, описанных здесь, будут очевидны для специалистов области техники. Поэтому предполагается, что изобретение ограничено только объемом прилагаемой формулы изобретения, а не конкретными деталями, представленными здесь в виде описания и пояснения вариантов воплощения.The embodiments described above merely illustrate the principles of the present invention. It is understood that modifications and variations of the arrangements and details described herein will be apparent to those skilled in the art. Therefore, it is intended that the invention be limited only by the scope of the appended claims, and not by the specific details presented herein in the form of a description and explanation of embodiments.

Claims (26)

1. Устройство для кодирования аудиосигнала, имеющего поток дискретных значений (100) аудиосигнала, содержащее:
блок (102) применения оконной функции для применения окна (200) анализа кодирования с предсказанием к потоку дискретных значений аудиосигнала для получения обработанных с помощью оконной функции данных для анализа с предсказанием и для применения окна (204) анализа кодирования с преобразованием «время-частота» к потоку дискретных значений аудиосигнала для получения обработанных с помощью оконной функции данных для анализа с преобразованием, при этом кодирование с предсказанием является кодированием с предсказанием будущего кадра,
причем окно анализа кодирования с преобразованием связано с дискретными значениями аудиосигнала в пределах текущего кадра дискретных значений аудиосигнала и с дискретными значениями аудиосигнала заранее заданной части будущего кадра дискретных значений аудиосигнала, являющимися частью (206) опережающего просмотра кодирования с преобразованием,
причем окно анализа кодирования с предсказанием связано с, по меньшей мере, частью дискретных значений аудиосигнала текущего кадра и с дискретными значениями аудиосигнала заранее заданной части будущего кадра, являющимися частью (208) опережающего просмотра кодирования с предсказанием,
причем часть (206) опережающего просмотра кодирования с преобразованием и часть (208) опережающего просмотра кодирования с предсказанием тождественны друг другу или отличаются друг от друга менее чем на 20% части (208) опережающего просмотра кодирования с предсказанием или менее чем на 20% части (206) опережающего просмотра кодирования с преобразованием; и
процессор (104) кодирования для генерации данных, кодированных с предсказанием, для текущего кадра с использованием обработанных с помощью оконной функции данных для анализа с предсказанием или для генерации данных, кодированных с преобразованием, для текущего кадра с использованием обработанных с помощью оконной функции данных для анализа с преобразованием.
1. A device for encoding an audio signal having a stream of discrete values (100) of an audio signal, comprising:
a window function application unit (102) for applying a prediction coding analysis window (200) to a stream of discrete audio signal values to obtain data processed by the window function for prediction analysis and for applying a time-frequency transformation coding window (204) to the stream of discrete values of the audio signal to obtain processed data using the window function for analysis with conversion, wherein the prediction encoding is the prediction encoding of the future frame,
wherein the conversion coding analysis window is associated with discrete values of the audio signal within the current frame of discrete values of the audio signal and with discrete values of the audio signal of a predetermined portion of the future frame of discrete values of the audio signal, which are part (206) of the forward looking encoding with conversion,
moreover, the prediction coding analysis window is associated with at least a portion of the discrete audio values of the current frame and with discrete audio values of a predetermined portion of the future frame, which are part (208) of the predictive coding preview,
moreover, the part (206) of the forward lookup of the coding with conversion and the part (208) of the forward lookup of the coding with prediction are identical to each other or differ from each other by less than 20% of the part (208) of the forward lookup of the coding with prediction or less than 20% of the part ( 206) look-ahead coding conversion; and
an encoding processor (104) for generating predicted encoded data for the current frame using windowed data for prediction analysis or for generating transform encoded data for the current frame using windowed data for analysis with conversion.
2. Устройство по п. 1, в котором окно (204) анализа кодирования с преобразованием содержит неперекрывающуюся часть, простирающуюся в части (206) опережающего просмотра кодирования с преобразованием.2. The device according to claim 1, wherein the transform coding analysis window (204) comprises a non-overlapping portion extending in a look-ahead coding conversion portion (206). 3. Устройство по п. 1, в котором окно (204) анализа кодирования с преобразованием содержит дополнительную перекрывающуюся часть (210), начинающуюся в начале текущего кадра и заканчивающуюся в начале неперекрывающейся части (208).3. The device according to claim 1, wherein the transform coding analysis window (204) comprises an additional overlapping part (210) starting at the beginning of the current frame and ending at the beginning of the non-overlapping part (208). 4. Устройство по п. 1, в котором блок (102) применения оконной функции сконфигурирован с возможностью использовать только начальное окно (220, 222) для перехода от кодирования с предсказанием к кодированию с преобразованием от кадра к следующему кадру, причем начальное окно не используется для перехода от кодирования с преобразованием к кодированию с предсказанием от одного кадра к следующему кадру.4. The device according to claim 1, in which the block (102) for applying the window function is configured to use only the initial window (220, 222) to switch from predictive encoding to encoding with conversion from a frame to the next frame, and the initial window is not used to move from transform coding to predictive coding from one frame to the next frame. 5. Устройство по п. 1, дополнительно содержащее:
выходной интерфейс (106) для вывода кодированного сигнала для текущего кадра; и
селектор (112) режима кодирования для управления процессором (104) кодирования для вывода или данных, кодированных с предсказанием, или данных, кодированных с преобразованием, для текущего кадра,
причем селектор (112) режима кодирования сконфигурирован с возможностью переключаться только между кодированием с предсказанием или кодированием с преобразованием для целого кадра, так что кодируемый сигнал для целого кадра или содержит данные, кодированные с предсказанием, или данные, кодированные с преобразованием.
5. The device according to claim 1, further comprising:
an output interface (106) for outputting an encoded signal for the current frame; and
an encoding mode selector (112) for controlling an encoding processor (104) for outputting either prediction encoded data or transform encoded data for the current frame,
wherein the encoding mode selector (112) is configured to switch only between prediction encoding or transform coding for the whole frame, so that the encoded signal for the whole frame either contains prediction encoded data or transform encoded data.
6. Устройство по п. 1,
в котором блок применения (102) оконной функции использует в дополнение к окну анализа кодирования с предсказанием дополнительное окно (202) анализа кодирования с предсказанием, связанное с дискретными значениями аудиосигнала, размещенными в начале текущего кадра, и в котором окно (200) анализа кодирования с предсказанием не связано с дискретными значениями аудиосигнала, размещенными в начале текущего кадра.
6. The device according to claim 1,
in which the application block (102) of the window function uses, in addition to the prediction encoding analysis window, an additional prediction encoding analysis window (202) associated with discrete audio values located at the beginning of the current frame, and in which the encoding analysis window (200) with prediction is not associated with discrete values of the audio signal located at the beginning of the current frame.
7. Устройство по п. 1,
в котором кадр содержит множество подкадров, причем окно (200) анализа с предсказанием центрировано в центре подкадра, и причем окно анализа кодирования с преобразованием центрировано на границе между двумя подкадрами.
7. The device according to claim 1,
wherein the frame contains a plurality of subframes, the prediction analysis window (200) being centered in the center of the subframe, and the transform coding analysis window being centered on the boundary between the two subframes.
8. Устройство по п. 7,
в котором окно (200) анализа с предсказанием центрировано в центре последнего подкадра кадра, причем дополнительное окно анализа (202) центрировано в центре второго подкадра текущего кадра, и причем окно анализа кодирования с преобразованием центрировано на границе между третьим и четвертым подкадром текущего кадра, причем текущий кадр подразделен на четыре подкадра.
8. The device according to p. 7,
wherein the prediction analysis window (200) is centered in the center of the last subframe of the frame, wherein the additional analysis window (202) is centered in the center of the second subframe of the current frame, and wherein the transform coding analysis window is centered on the boundary between the third and fourth subframe of the current frame, the current frame is subdivided into four subframes.
9. Устройство по п. 1, в котором дополнительное окно (202) анализа кодирования с предсказанием не имеет части опережающего просмотра в будущем кадре и связано с дискретными значениями текущего кадра.9. The device according to claim 1, in which the additional window (202) of the prediction coding analysis does not have a part of the look-ahead in the future frame and is associated with discrete values of the current frame. 10. Устройство по п. 1, в котором окно анализа кодирования с преобразованием дополнительно содержит нулевую часть перед началом окна и нулевую часть после конца окна так, чтобы полная длина во времени окна анализа кодирования с преобразованием была в два раза больше длины во времени текущего кадра.10. The device according to claim 1, wherein the transform coding analysis window further comprises a zero part before the start of the window and a zero part after the end of the window so that the total time length of the transform coding analysis window is two times the length in time of the current frame . 11. Устройство по п. 10, в котором для перехода от режима кодирования с предсказанием к режиму кодирования с преобразованием от одного кадра к следующему кадру блоком (102) применения оконной функции используется окно перехода,
причем окно перехода содержит первую неперекрывающуюся часть, начинающуюся в начале кадра, и перекрывающуюся часть, начинающуюся в конце неперекрывающейся части и простирающуюся в будущий кадр,
причем перекрывающаяся часть, простирающаяся в будущий кадр, имеет длину, которая идентична длине части опережающего просмотра кодирования с преобразованием окна анализа.
11. The device according to claim 10, in which the transition window is used to switch from the prediction encoding mode to the encoding mode with conversion from one frame to the next frame by the window function application unit (102),
moreover, the transition window contains the first non-overlapping part, starting at the beginning of the frame, and an overlapping part, starting at the end of the non-overlapping part and extending to the future frame,
moreover, the overlapping part, extending into the future frame, has a length that is identical to the length of the leading part of the coding preview with the transformation of the analysis window.
12. Устройство по п. 1, в котором длина во времени окна анализа кодирования с преобразованием больше, чем длина во времени окна (200, 202) анализа кодирования с предсказанием.12. The device according to claim 1, wherein the time length of the transform coding analysis window is greater than the time length of the predictive coding analysis window (200, 202). 13. Устройство по п. 1, дополнительно содержащее:
выходной интерфейс (106) для вывода закодированного сигнала для текущего кадра; и
селектор (112) режима кодирования для управления процессором (104) кодирования для вывода или данных, кодированных с предсказанием, или данных, кодированных с преобразованием, для текущего кадра,
причем окно (102) сконфигурировано с возможностью использовать дополнительное окно кодирования с предсказанием, расположенное в текущем кадре перед окном кодирования с предсказанием, и
причем селектор (112) режима кодирования сконфигурирован с возможностью управлять процессором (104) кодирования для посылки только данных анализа кодирования с предсказанием, полученных из окна кодирования с предсказанием, когда данные, кодированные с преобразованием, выводятся на выходной интерфейс, и не посылать данные анализа кодирования с предсказанием, полученные из дополнительного окна кодирования с предсказанием, и
причем селектор (112) режима кодирования сконфигурирован с возможностью управлять процессором (104) кодирования для посылки данных анализа кодирования с предсказанием, полученных из окна кодирования с предсказанием, и для посылки данных анализа кодирования с предсказанием, полученных из дополнительного окна кодирования с предсказанием, когда данные, кодированные с предсказанием, выводятся на выходной интерфейс.
13. The device according to claim 1, further comprising:
an output interface (106) for outputting an encoded signal for the current frame; and
an encoding mode selector (112) for controlling an encoding processor (104) for outputting either prediction encoded data or transform encoded data for the current frame,
moreover, the window (102) is configured to use an additional prediction encoding window located in the current frame in front of the prediction encoding window, and
wherein the encoding mode selector (112) is configured to control the encoding processor (104) to send only predictive encoding analysis data obtained from the predictive encoding window when the encoded transform data is output to the output interface and not send encoding analysis data with prediction obtained from the additional prediction coding window, and
wherein the encoding mode selector (112) is configured to control the encoding processor (104) to send prediction encoding analysis data obtained from the prediction encoding window and to send prediction encoding analysis data obtained from the additional prediction encoding window when the data encoded with prediction are output to the output interface.
14. Устройство по п. 1, в котором процессор (104) кодирования содержит:
анализатор (302) кодирования с предсказанием для получения данных кодирования с предсказанием для текущего кадра из обработанных с помощью оконной функции данных (100а) для анализа с предсказанием;
ветвь кодирования с предсказанием, содержащую:
каскад (304) фильтра для вычисления данных фильтра по дискретным значениям аудиосигнала для текущего кадра, используя данные кодирования с предсказанием; и
вычислитель (306) параметров кодера с предсказанием для вычисления параметров кодирования с предсказанием для текущих кадров; и
ветвь кодирования с преобразованием, содержащую:
спектрально-временной преобразователь (310) для
преобразования данных окна для алгоритма кодирования с преобразованием в спектральное представление;
блок (312) спектрального взвешивания для взвешивания спектральных данных, используя взвешенные данные взвешивания, полученные из данных кодирования с предсказанием, для получения взвешенных спектральных данных; и
процессор (314) спектральных данных для обработки взвешенных спектральных данных для получения данных, кодированных с преобразованием, для текущего кадра.
14. The device according to claim 1, wherein the encoding processor (104) comprises:
a prediction encoding analyzer (302) for obtaining prediction encoding data for a current frame from the window-processed data (100a) for prediction analysis;
a predictive coding branch comprising:
a filter stage (304) for computing filter data from discrete audio signal values for the current frame using predictive coding data; and
a predictor encoder parameter calculator (306) for calculating predictive encoding parameters for the current frames; and
a transform encoding branch containing:
spectral-time converter (310) for
transforming window data for a coding algorithm with conversion to a spectral representation;
a spectral weighting unit (312) for weighting the spectral data using the weighted weighting data obtained from the predictive coding data to obtain weighted spectral data; and
a spectral data processor (314) for processing weighted spectral data to obtain transform encoded data for the current frame.
15. Способ кодирования аудиосигнала, имеющего поток дискретных значений (100) аудиосигнала, содержащий:
применение (102) окна (200) анализа кодирования с предсказанием к потоку дискретных значений аудиосигнала для получения обработанных с помощью оконной функции данных для анализа с предсказанием и применения окна (204) анализа кодирования с преобразованием «время-частота» к потоку дискретных значений аудиосигнала для получения обработанных с помощью оконной функции данных для анализа с преобразованием, при этом кодирование с предсказанием является кодированием с предсказанием будущего кадра,
причем окно анализа кодирования с преобразованием связано с дискретными значениями аудиосигнала в пределах текущего кадра дискретных значений аудиосигнала и с дискретными значениями аудиосигнала заранее заданной части будущего кадра дискретных значений аудиосигнала, являющимися частью (206) опережающего просмотра кодирования с преобразованием,
причем окно анализа кодирования с предсказанием связано с, по меньшей мере, частью дискретных значений аудиосигнала текущего кадра и с дискретными значениями аудиосигнала заранее заданной части будущего кадра, являющимися частью (208) опережающего просмотра кодирования с предсказанием,
причем часть (206) опережающего просмотра кодирования с преобразованием и часть (208) опережающего просмотра кодирования с предсказанием тождественны друг другу или отличаются друг от друга менее чем на 20% части (208) опережающего просмотра кодирования с предсказанием или менее чем на 20% части (206) опережающего просмотра кодирования с преобразованием; и
генерацию (104) данных, кодированных с преобразованием, для текущего кадра, используя обработанные с помощью оконной функции данные для анализа с предсказанием, или для генерации данных, кодированных с преобразованием, для текущего кадра, используя обработанные с помощью оконной функции данные для анализа с преобразованием.
15. A method of encoding an audio signal having a stream of discrete values (100) of an audio signal, comprising:
application (102) of a predictive coding analysis window (200) to a stream of discrete values of an audio signal to obtain processed data using a window function for predicting analysis and applying a time-frequency coding analysis window (204) to a stream of discrete values of an audio signal for receiving processed by a window function data for analysis with conversion, while prediction encoding is prediction encoding of a future frame,
wherein the conversion coding analysis window is associated with discrete values of the audio signal within the current frame of discrete values of the audio signal and with discrete values of the audio signal of a predetermined portion of the future frame of discrete values of the audio signal, which are part (206) of the forward looking encoding with conversion,
moreover, the prediction coding analysis window is associated with at least a portion of the discrete audio values of the current frame and with discrete audio values of a predetermined portion of the future frame, which are part (208) of the predictive coding preview,
moreover, the part (206) of the forward lookup of the coding with conversion and the part (208) of the forward lookup of the coding with prediction are identical to each other or differ from each other by less than 20% of the part (208) of the forward lookup of the coding with prediction or less than 20% of the part ( 206) look-ahead coding conversion; and
generating (104) transform encoded data for the current frame using the window-processed data for prediction analysis, or to generate transform encoded data for the current frame using the window-processed data for transform .
16. Аудиодекодер для декодирования закодированного аудиосигнала, содержащий:
декодер (180) параметров предсказания для выполнения декодирования данных для кадра, кодированного с предсказанием, из закодированного аудиосигнала, при этом кадр, кодированный с предсказанием, является кодированным с предсказанием будущего кадра;
декодер (183) параметров преобразования для выполнения декодирования данных для кадра, кодированного с преобразованием «время-частота», из закодированного аудиосигнала,
причем декодер (183) параметров преобразования сконфигурирован выполнять спектрально-временное преобразование и применять окно синтеза к преобразованным данным для получения данных для текущего кадра и будущего кадра, причем окно синтеза имеет первую перекрывающуюся часть, смежную вторую неперекрывающуюся часть и смежную третью перекрывающуюся часть (206), причем третья перекрывающаяся часть связана с дискретными значениями аудиосигнала для будущего кадра, и неперекрывающаяся часть (208) связана с данными текущего кадра; и
добавляющий перекрытие блок (184) для перекрытия и добавления обработанных с помощью окна синтеза дискретных значений, связанных с третьей перекрывающейся частью окна синтеза для текущего кадра, и обработанных с помощью окна синтеза дискретных значений, связанных с первой перекрывающейся частью окна синтеза для будущего кадра, для получения первой части дискретных значений аудиосигнала для будущего кадра, причем оставшиеся дискретные значения аудиосигнала для будущего кадра являются обработанными с помощью окна синтеза дискретными значениями, связанными со второй неперекрывающейся частью окна синтеза для будущего кадра, полученными без добавления перекрытия, когда текущий кадр и будущий кадр содержат данные, кодированные с преобразованием.
16. An audio decoder for decoding an encoded audio signal, comprising:
a prediction parameter decoder (180) for decoding data for a prediction encoded frame from the encoded audio signal, wherein the prediction encoded frame is a prediction encoded frame;
a transform parameter decoder (183) for decoding data for a frame encoded with a time-frequency transform from the encoded audio signal,
moreover, the transform parameter decoder (183) is configured to perform spectral-temporal conversion and apply the synthesis window to the converted data to obtain data for the current frame and the future frame, the synthesis window having a first overlapping part, an adjacent second non-overlapping part and an adjacent third overlapping part (206) moreover, the third overlapping part is associated with discrete values of the audio signal for the future frame, and the non-overlapping part (208) is associated with the data of the current frame; and
block adding (184) for overlapping and adding discrete values processed using the synthesis window associated with the third overlapping part of the synthesis window for the current frame and processed with the synthesis window discrete values associated with the first overlapping part of the synthesis window for the future frame, receive the first part of the discrete values of the audio signal for the future frame, and the remaining discrete values of the audio signal for the future frame are processed using the synthesis window discrete values values associated with the second non-overlapping part of the synthesis window for the future frame, obtained without adding overlap, when the current frame and the future frame contain data encoded with the conversion.
17. Аудиодекодер по п. 16, в котором текущий кадр закодированного аудиосигнала содержит данные, кодированные с преобразованием, и будущий кадр содержит данные, кодированные с предсказанием, причем декодер (183) параметров преобразования сконфигурирован выполнять обработку с помощью окна синтеза, используя окно синтеза для текущего кадра, для получения обработанных с помощью оконной функции дискретных значений аудиосигнала, связанных с неперекрывающейся частью (208) окна синтеза, причем обработанные с помощью окна синтеза дискретные значения аудиосигнала, связанные с третьей перекрывающейся частью окна синтеза для текущего кадра, отбрасываются, и в котором дискретные значения аудиосигнала для будущего кадра обеспечены декодером (180) параметров предсказания без данных от декодера (183) параметров преобразования.17. The audio decoder according to claim 16, in which the current frame of the encoded audio signal contains data encoded with conversion, and the future frame contains data encoded with prediction, and the decoder (183) of the conversion parameters is configured to perform processing using the synthesis window using the synthesis window for the current frame, in order to obtain discrete values of the audio signal processed using the window function associated with the non-overlapping part (208) of the synthesis window, and discrete values processed using the synthesis window an audio signal associated with the third part of the overlapped synthesis window to the current frame is discarded, and wherein discrete values for the future audio signal frames are provided by the decoder (180) prediction parameters without data from the decoder (183) transformation parameters. 18. Аудиодекодер по п. 16, в котором текущий кадр содержит данные кодирования с предсказанием, а будущий кадр содержит данные кодирования с преобразованием,
в котором декодер (183) параметров преобразования сконфигурирован использовать окно перехода, отличающееся от окна синтеза, в котором окно (220, 222) перехода содержит первую неперекрывающуюся часть (220) в начале будущего кадра и перекрывающуюся часть (222), начинающуюся в конце будущего кадра и простирающуюся в кадр, следующий после будущего кадра во времени, и
в котором дискретные значения аудиосигнала для будущего кадра генерируются без перекрытия, и аудиоданные, связанные со второй перекрывающейся частью (222) окна для будущего кадра, вычисляются добавляющим перекрытие блоком (184) с использованием первой перекрывающейся части окна синтеза для кадра, следующего после будущего кадра.
18. The audio decoder according to claim 16, in which the current frame contains predictive encoding data, and the future frame contains transform encoding data,
in which the transform parameter decoder (183) is configured to use a transition window different from the synthesis window, in which the transition window (220, 222) contains the first non-overlapping part (220) at the beginning of the future frame and the overlapping part (222) starting at the end of the future frame and extending into the frame following the future frame in time, and
in which discrete values of the audio signal for the future frame are generated without overlapping, and the audio data associated with the second overlapping window portion (222) for the future frame is calculated by adding overlapping block (184) using the first overlapping portion of the synthesis window for the frame following the future frame.
19. Аудиодекодер по п. 16,
в котором вычислитель (183) параметров преобразования содержит:
блок (183b) спектрального взвешивания для взвешивания декодированных с преобразованием спектральных данных для текущего кадра, используя данные кодирования с предсказанием; и
вычислитель (183с) данных взвешивания кодирования с предсказанием для вычисления данных кодирования с предсказанием путем объединения взвешенной суммы данных кодирования с предсказанием, полученных из прошлого кадра, и данных кодирования с предсказанием, полученных из текущего кадра, для получения интерполированных данных кодирования с предсказанием.
19. The audio decoder according to claim 16,
in which the transmitter (183) of the conversion parameters contains:
a spectral weighting unit (183b) for weighting the transform-decoded spectral data for the current frame using predictive encoding data; and
a predictive encoding weighting data calculator (183c) for calculating predictive encoding data by combining a weighted sum of the predicted encoding data obtained from the previous frame and predictive encoding data obtained from the current frame to obtain interpolated predictive encoding data.
20. Аудиодекодер по п. 19,
в котором вычислитель (183с) данных взвешивания кодирования с предсказанием сконфигурирован с возможностью преобразовывать данные кодирования с предсказанием в спектральное представление, имеющее весовые значения для каждого диапазона частот, и
причем блок (183b) спектрального взвешивания сконфигурирован с возможностью взвешивать все спектральные значения в полосе частот посредством идентичного весового значения для этой полосы частот.
20. The audio decoder according to claim 19,
in which the predictive encoding weighting data calculator (183c) is configured to convert the predictive encoding data into a spectral representation having weight values for each frequency range, and
wherein the spectral weighting unit (183b) is configured to weight all spectral values in a frequency band by means of an identical weight value for that frequency band.
21. Аудиодекодер по любому из п. 16, в котором окно синтеза сконфигурировано с возможностью иметь полную продолжительность менее 50 мс и более 25 мс, причем первая и третья перекрывающиеся части имеют одинаковую длину, и причем третья перекрывающаяся часть имеет длину менее 15 мс.21. The audio decoder according to any one of p. 16, in which the synthesis window is configured to have a total duration of less than 50 ms and more than 25 ms, the first and third overlapping parts have the same length, and the third overlapping part has a length of less than 15 ms. 22. Аудиодекодер по п. 16,
в котором окно синтеза имеет продолжительность 30 мс без заполненных нулями частей, первая и третья перекрывающиеся части имеют длительность 10 мс каждая, а неперекрывающаяся часть имеет длительность 10 мс.
22. The audio decoder according to claim 16,
in which the synthesis window has a duration of 30 ms without parts filled with zeros, the first and third overlapping parts have a duration of 10 ms each, and the non-overlapping part has a duration of 10 ms.
23. Аудиодекодер по п. 16,
в котором декодер (183) параметров преобразования сконфигурирован с возможностью применять для спектрально-временного преобразования преобразование (183d) DCT, имеющее число дискретных значений, соответствующих длине кадра, и операцию (183е) обратной свертки для генерации числа временных значений, в два раза превышающего число временных значений до DCT, и
применять (183е) окно синтеза к результату операции обратной свертки, причем окно синтеза содержит перед первой перекрывающейся частью и после третьей перекрывающейся части нулевые части, имеющие длину, равную половине длины первой и третьей перекрывающихся частей.
23. The audio decoder according to claim 16,
wherein the transform parameter decoder (183) is configured to apply a DCT transform (183d) having a number of discrete values corresponding to a frame length for a spectral-temporal transform, and a reverse convolution operation (183e) to generate a number of time values twice the number time values to DCT, and
apply (183e) the synthesis window to the result of the reverse convolution operation, and the synthesis window contains zero parts having a length equal to half the length of the first and third overlapping parts before the first overlapping part and after the third overlapping part.
24. Способ декодирования кодированного аудиосигнала, содержащий:
выполнение (180) декодирования данных для кадра, кодированного с предсказанием, из закодированного аудиосигнала, причем кадр, кодированный с предсказанием, является кодированным с предсказанием будущего кадра;
выполнение (183) декодирования данных для кадра, кодированного с преобразованием «время-частота», из закодированного аудиосигнала,
причем этап выполнения (183) декодирования данных для кадра, кодированного с преобразованием, содержит выполнение спектрально-временного преобразования и применение окна синтеза к преобразованным данным для получения данных для текущего кадра и будущего кадра, причем окно синтеза имеет первую перекрывающуюся часть, смежную вторую неперекрывающуюся часть и смежную третью перекрывающуюся часть (206), при этом третья перекрывающаяся часть связана с дискретными значениями аудиосигнала для будущего кадра, и неперекрывающаяся часть (208) связана с данными текущего кадра; и
перекрытие и добавление (184) обработанных с помощью окна синтеза дискретных значений, связанных с третьей перекрывающейся частью окна синтеза для текущего кадра, и обработанных с помощью окна синтеза дискретных значений, связанных с первой перекрывающейся частью окна синтеза для будущего кадра, для получения первой части дискретных значений аудиосигнала для будущего кадра, причем оставшиеся дискретные значения аудиосигнала для будущего кадра являются обработанными с помощью окна синтеза дискретными значениями, связанными со второй неперекрывающейся частью окна синтеза для будущего кадра, полученными без добавления перекрытия, когда текущий кадр и будущий кадр содержат данные, кодированные с преобразованием.
24. A method for decoding an encoded audio signal, comprising:
performing (180) decoding the data for the prediction encoded frame from the encoded audio signal, wherein the prediction encoded frame is a prediction encoded future frame;
performing (183) decoding data for a frame encoded with a time-frequency transformation from the encoded audio signal,
moreover, the step of executing (183) decoding the data for the frame encoded with the conversion comprises performing a spectral-time conversion and applying the synthesis window to the converted data to obtain data for the current frame and the future frame, the synthesis window having a first overlapping part, an adjacent second non-overlapping part and an adjacent third overlapping part (206), while the third overlapping part is associated with discrete values of the audio signal for the future frame, and the non-overlapping part (208) is connected and a current frame data; and
overlapping and adding (184) the discrete values processed by the synthesis window associated with the third overlapping part of the synthesis window for the current frame and the processed by the synthesis window discrete values associated with the first overlapping part of the synthesis window for the future frame to obtain the first part of the discrete values of the audio signal for the future frame, and the remaining discrete values of the audio signal for the future frame are processed using the synthesis window, discrete values associated with the second the overlapping part of the synthesis window to the future frame, obtained without the addition of overlap, when the current frame and the next frame contains data encoded with the conversion.
25. Машиночитаемый носитель, содержащий сохраненные на нем машиночитаемые команды, которые при выполнении на компьютере вынуждают компьютер осуществлять способ кодирования аудиосигнала по п. 15.25. A computer-readable medium containing computer-readable instructions stored on it that, when executed on a computer, force the computer to implement the audio encoding method of claim 15. 26. Машиночитаемый носитель, содержащий сохраненные на нем машиночитаемые команды, которые при выполнении на компьютере вынуждают компьютер осуществлять способ декодирования кодированного аудиосигнала по п. 24. 26. A computer-readable medium containing computer-readable instructions stored on it that, when executed on a computer, force the computer to implement a method for decoding an encoded audio signal according to claim 24.
RU2013141919/08A 2011-02-14 2012-02-14 Apparatus and method for encoding and decoding audio signal using aligned look-ahead portion RU2574849C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161442632P 2011-02-14 2011-02-14
US61/442,632 2011-02-14
PCT/EP2012/052450 WO2012110473A1 (en) 2011-02-14 2012-02-14 Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion

Publications (2)

Publication Number Publication Date
RU2013141919A RU2013141919A (en) 2015-03-27
RU2574849C2 true RU2574849C2 (en) 2016-02-10

Family

ID=

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2911228A1 (en) * 2007-01-05 2008-07-11 France Telecom TRANSFORMED CODING USING WINDOW WEATHER WINDOWS.
DE102008015702A1 (en) * 2008-01-31 2009-08-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for bandwidth expansion of an audio signal
WO2009121499A1 (en) * 2008-04-04 2009-10-08 Frauenhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction
EP2109098A2 (en) * 2006-10-25 2009-10-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples
EP2144230A1 (en) * 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
WO2010003563A1 (en) * 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding and decoding audio samples
RU2008126699A (en) * 2006-01-09 2010-02-20 Нокиа Корпорейшн (Fi) DECODING BINAURAL AUDIO SIGNALS
WO2010040522A2 (en) * 2008-10-08 2010-04-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Multi-resolution switched audio encoding/decoding scheme
WO2010081892A2 (en) * 2009-01-16 2010-07-22 Dolby Sweden Ab Cross product enhanced harmonic transposition

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008126699A (en) * 2006-01-09 2010-02-20 Нокиа Корпорейшн (Fi) DECODING BINAURAL AUDIO SIGNALS
EP2109098A2 (en) * 2006-10-25 2009-10-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples
FR2911228A1 (en) * 2007-01-05 2008-07-11 France Telecom TRANSFORMED CODING USING WINDOW WEATHER WINDOWS.
DE102008015702A1 (en) * 2008-01-31 2009-08-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for bandwidth expansion of an audio signal
WO2009121499A1 (en) * 2008-04-04 2009-10-08 Frauenhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction
EP2144230A1 (en) * 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
WO2010003563A1 (en) * 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding and decoding audio samples
WO2010040522A2 (en) * 2008-10-08 2010-04-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Multi-resolution switched audio encoding/decoding scheme
WO2010081892A2 (en) * 2009-01-16 2010-07-22 Dolby Sweden Ab Cross product enhanced harmonic transposition

Similar Documents

Publication Publication Date Title
US10249310B2 (en) Audio decoder and method for providing a decoded audio information using an error concealment modifying a time domain excitation signal
US10381012B2 (en) Audio decoder and method for providing a decoded audio information using an error concealment based on a time domain excitation signal
EP2676265B1 (en) Apparatus and method for encoding an audio signal using an aligned look-ahead portion
MX2011000366A (en) Audio encoder and decoder for encoding and decoding audio samples.
RU2574849C2 (en) Apparatus and method for encoding and decoding audio signal using aligned look-ahead portion
ES2963367T3 (en) Apparatus and method of decoding an audio signal using an aligned lookahead part