KR100892152B1 - Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data - Google Patents

Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data Download PDF

Info

Publication number
KR100892152B1
KR100892152B1 KR1020047016744A KR20047016744A KR100892152B1 KR 100892152 B1 KR100892152 B1 KR 100892152B1 KR 1020047016744 A KR1020047016744 A KR 1020047016744A KR 20047016744 A KR20047016744 A KR 20047016744A KR 100892152 B1 KR100892152 B1 KR 100892152B1
Authority
KR
South Korea
Prior art keywords
block
integer
time
discrete
audio data
Prior art date
Application number
KR1020047016744A
Other languages
Korean (ko)
Other versions
KR20050007312A (en
Inventor
랄프 가이거
토마스 스포러
칼하인즈 브란덴부르크
위르겐 헤르
위르겐 콜러
요아힘 데구아라
Original Assignee
프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 filed Critical 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우
Publication of KR20050007312A publication Critical patent/KR20050007312A/en
Application granted granted Critical
Publication of KR100892152B1 publication Critical patent/KR100892152B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

According to the invention, a time-discrete audio signal is processed (52) in order to provide a quantization block with quantized spectral values (52). In addition, a whole-number spectral representation is generated from a time-discrete audio signal, using a whole-number transformation algorithm (56). The quantization block, which has been generated using a psychoacoustic model (54), is inverse quantized and rounded (58) to form a differential between the whole-number spectral values and the inverse quantized rounded spectral values. The quantization block alone produces a psychoacoustic encoded/decoded audio signal affected by loss after the decoding process, whereas the quantization block together with the combination block provides a loss-free, or practically loss-free encoded and decoded audio signal during said decoding process. The generation of the differential signal in the frequency range allows a simpler encoder/decoder structure to be produced.

Description

시간-이산 오디오 신호를 부호화하기 위한 장치 및 방법 그리고 부호화 오디오 데이터를 복호화하기 위한 장치 및 방법{Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data} Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data             

본 발명은 오디오 부호화/복호화에 관한 것으로서, 더욱 상세하게는 무손실 복호화(lossless decoding)를 위한 심리음향 제1 스케일링 레이어(scaling layer)와 제2 스케일링 레이어를 갖는 스케일러블 부호화/복호화 알고리즘(scalable coding/decoding algorithms)에 관한 것이다.
The present invention relates to audio encoding / decoding, and more particularly, to a scalable coding / decoding algorithm having a psychoacoustic first scaling layer and a second scaling layer for lossless decoding. decoding algorithms).

MPEG Layer3 (MP3) 또는 MPEG AAC와 같은 최신 오디오 부호화 방법은, 오디오 신호의 블록형 주파수 표시(block-wise frequency representation)를 얻기 위해 소위 변경 이산 코사인 변환(modified discrete cosine transform; MDCT) 이라 불리는 변환을 사용한다. 그러한 오디오 부호기(coder)는 시간-이산 오디오 샘플들의 하나의 스트림을 얻는 것이 일반적이다. 오디오 샘플들의 하나의 스트림은 예를 들어 1,024 또는 2,048 윈도윙화(windowed) 오디오 샘플들의 하나의 윈도윙화 블록을 얻도록 윈도윙화된다. 상기 윈도윙을 위해, 사인 윈도우(sine window)와 같은 여러 가지 윈도우 기능들이 사용된다. Modern audio encoding methods, such as MPEG Layer 3 (MP3) or MPEG AAC, employ a so-called modified discrete cosine transform (MDCT) to obtain a block-wise frequency representation of the audio signal. use. Such an audio coder generally obtains one stream of time-discrete audio samples. One stream of audio samples is windowed to obtain, for example, one windowing block of 1,024 or 2,048 windowed audio samples. For the windowing, various window functions such as a sine window are used.

윈도윙화 시간-이산 오디오 샘플들은 그 다음에 하나의 필터 뱅크(filter bank)에 의해 스펙트럼 표시(spectral representation)로 변환된다. 원칙적으로, 푸리에 변환(Fourier transform), 또는 FFT 또는 앞서 설명된 MDCT와 같은 특별한 이유로 인한 푸리에 변환의 변환이 이를 위해 사용될 수 있다. 필터 뱅크의 출력부의 오디오 스펙트럼 값의 블록은 필요(demand)에 따라 더 처리될 수 있다. 상기 오디오 부호기들에 있어서, 오디오 스펙트럼 값의 양자화가 뒤따르는데, 이 때 양자화에 의해 생기는 양자화 잡음(quantization noise)이 심리음향 차폐 임계치(psychoacoustic masking threshold) 아래에 있게, 즉 차폐되도록(masked away) 양자화 단계가 선택되는 것이 일반적이다. 양자화는 손실 부호화(lossy coding)이다. 데이터 양을 추가적으로 감소시키기 위하여, 양자화된 스펙트럼 값은 그 다음에 예를 들어 허프만 부호화(Huffman coding)로 엔트로피 부호화된다. 스케일 계수(scale factor) 등과 같은 보조 정보(side information)를 추가함에 의해, 저장되거나 전송될 하나의 비트 스트림이 엔트로피-부호화 양자화된 스펙트럼 값(entropy-coded quantized spectral value)으로부터 비트 스트림 다중화기(multiplexer)에 의하여 만들어진다.Windowing time-discrete audio samples are then converted into a spectral representation by one filter bank. In principle, a Fourier transform or a Fourier transform due to special reasons such as FFT or MDCT described above can be used for this. The block of audio spectral values at the output of the filter bank can be further processed as needed. In the audio encoders, quantization of the audio spectral values is followed, whereby the quantization noise caused by the quantization is below the psychoacoustic masking threshold, i.e. masked away. It is common for the quantization step to be chosen. Quantization is lossy coding. In order to further reduce the amount of data, the quantized spectral values are then entropy coded, for example with Huffman coding. By adding side information such as scale factor, one bit stream to be stored or transmitted is obtained from a bitstream multiplexer from an entropy-coded quantized spectral value. Is made by).

오디오 복호기에 있어서, 비트 스트림은 비트 스트림 복다중화기(de-multiplexer)에 의해 부호화 양자화 스펙트럼 값(coded quantized spectral values)과 보조 정보로 나누어진다. 그 다음에 엔트로피-부호화 양자화 스펙트럼 값은, 심리음향 차폐 임계치 아래에 있어 들리지 않는 양자화 잡음으로 구성되는 복호화 스펙트럼 값을 얻기 위해 역양자화된다. 이러한 스펙트럼 값들은 그 다음에 시간-이산 복호화 오디오 샘플을 얻기 위해 합성 필터 뱅크에 의해 시간 표시(temporal representation)로 변환된다. 합성 필터 뱅크에서, 상기 변환 알고리즘에 반대인 하나의 변환 알고리즘이 사용되어야 한다. 게다가, 주파수-시간 역 변환(inverse or backward transform) 이후에 윈도윙(windowing)이 취소되어야(cancelled) 한다.In an audio decoder, a bit stream is divided into coded quantized spectral values and auxiliary information by a bit stream de-multiplexer. The entropy-encoded quantization spectral value is then inverse quantized to obtain a decoded spectral value consisting of quantization noise that is inaudible below the psychoacoustic shielding threshold. These spectral values are then transformed into a temporal representation by the synthesis filter bank to obtain a time-discrete decoded audio sample. In the synthesis filter bank, one transform algorithm must be used that is opposite to the transform algorithm. In addition, windowing must be canceled after an inverse or backward transform.

우수한 주파수 선택성(selectivity)을 얻기 위해, 최신 오디오 부호기들은 블록 중첩(block overlap)을 사용하는 것이 일반적이다. 그러한 경우가 도 4a에 나타나 있다. 먼저, 예를 들어 2,048 시간-이산 오디오 샘플들이 취해져서 수단(402)에 의해 윈도윙화된다. 윈도우 구현 수단(window embodying means)(402)은 2N 샘플들의 윈도우 길이를 갖고 2N 윈도우 샘플들의 블록을 출력 측(output side)에 제공한다. 명확화라는 이유만으로(only for clarity reasons) 수단(402)과 분리된 것으로 도 4a에 도시되어 있는 수단(404)에 의한 윈도우 중첩을 얻기 위해, 2N 윈도윙화 샘플들의 제2 블록이 생성된다. 그러나, 수단(404)에 공급된 2,048 샘플들은 제1 윈도우에 이어 즉시 발생되는 시간-이산 오디오 샘플들이 아니지만, 수단(402)에 의해 윈도윙화 샘플들의 제2 하프(the second half)를 포함하고 1,024 "새로운(new)" 샘플들만을 추가적으로 포함한다. 윈도우 중첩은, 50%의 중첩도(overlapping degree)를 일으키는 도 4a의 수단(406)에 의해 상징적으로 도시되어 있다. 수단(402)에 의해 출력된 2N 윈도윙화 샘플들 출력과 수단(404)에 의해 2N 윈도윙화 샘플 출력 모두 그 다음에 수단(408 및 410)에 의한 MDCT 알고리즘에 각각 처리된다. 수단(408)은 공지된 MDCT 알고리즘에 따라 제1 윈도우를 위한 N 스펙트럼 값을 제공하는 반면, 수단(410)은 제2 윈도우를 위한 N 스펙트럼 값들을 제공하며, 이 때 상기 제1 윈도우와 제2 윈도우 사이에 50%의 중첩이 있다.In order to obtain good frequency selectivity, it is common for modern audio encoders to use block overlap. Such a case is shown in FIG. 4A. First, for example 2,048 time-discrete audio samples are taken and windowed by means 402. Window embodying means 402 has a window length of 2N samples and provides a block of 2N window samples to the output side. A second block of 2N windowing samples is created to obtain window overlap by means 404 shown in FIG. 4A as separate from the means 402 for only clarity reasons. However, the 2,048 samples supplied to the means 404 are not time-discrete audio samples that occur immediately following the first window, but comprise the second half of windowed samples by means 402 and 1,024. It only additionally includes "new" samples. Window overlap is shown symbolically by means 406 of FIG. 4A resulting in a 50% overlapping degree. Both 2N windowing samples output output by means 402 and 2N windowing sample output by means 404 are then processed in the MDCT algorithm by means 408 and 410 respectively. The means 408 provides N spectral values for the first window according to a known MDCT algorithm, while the means 410 provides N spectral values for a second window, wherein the first window and the second There is 50% overlap between the windows.

복호기에 있어서, 도 4b에 나타나 있는 제1 윈도우의 N 스펙트럼 값은, 역 변경 이산 코사인 변환(inverse modified discrete cosine transform)을 실행하는 수단(412)에 공급된다. 제2 윈도우의 N 스펙트럼 값도 동일하다. 이들은 역 변경 이산 코사인 변환을 또한 실행하는 수단(414)에 공급된다. 수단(412 및 414) 모두 제1 윈도우를 위한 2N 샘플들과 제2 윈도우를 위한 2N 샘플들을 각각 제공한다. In the decoder, the N spectral value of the first window shown in FIG. 4B is supplied to means 412 for performing an inverse modified discrete cosine transform. The N spectral value of the second window is also the same. These are supplied to means 414 for also performing inversely alternating discrete cosine transform. Both means 412 and 414 provide 2N samples for the first window and 2N samples for the second window, respectively.

도 4b에 TDAC(time domain aliasing cancellation)로 표시된 수단(416)에 있어서, 두 개의 윈도우가 중첩된다는 사실이 고려된다. 특히, 제1 윈도우의 제2 하프의 샘플(y1), 즉 지표(index) N+k를 갖는 샘플은, 제2 윈도우의 제1 하프로부터 샘플(y2), 즉 지표 k를 갖는 샘플과 합산되어, N 복호화 시간 샘플들이 출력 측에, 즉 복호기에 생성된다. In the means 416 indicated by time domain aliasing cancellation (TDAC) in FIG. 4B, the fact that two windows overlap is considered. In particular, the sample y1 of the second half of the first window, i.e., the sample with index N + k, is summed up with the sample y2, i.e., the sample with index k, from the first half of the second window. , N decoding time samples are generated at the output side, i.e. in the decoder.

가산 함수(add function)로도 불리는, 수단(416)의 함수(function)에 의해, 도 4a에 개략적으로 나타나 있는 부호기에서 실행된 윈도윙이 자동적으로 얼마간 고려되어, 도 4b에 도시된 복호기에서 명백한(explicit) "역 윈도윙(inverse windowing)"이 발생하지 않아야 한다. By means of the function of the means 416, also called an add function, the windowing executed in the encoder shown schematically in FIG. 4A is automatically considered for some time, which is apparent in the decoder shown in FIG. explicit) "inverse windowing" shall not occur.

수단(402 또는 404)에 의해 실행된 윈도우 함수가 [w(k)]로 표시될 때, 지표 k는 시간을 나타내고, 제곱된 윈도우 가중치 [w(N+k)]에 더해진 제곱된 윈도우 가 중치 [w(k)]가 함께 1이 되는 조건과 맞아야만 하며, 여기서 k는 0에서 N-1이다. 그 윈도우 가중치가 사인 함수의 제1 반파(the first half-wave)를 뒤따르는 사인 윈도우가 사용될 때는, 각 각도의 사인(sine)의 제곱과 코사인(cosine)의 제곱의 합의 값이 1이 되기 때문에 이 조건이 항상 충족된다. When the window function executed by the means 402 or 404 is represented by [w (k)], the index k represents time and the squared window weight added to the squared window weight [w (N + k)] It must meet the condition that [w (k)] becomes 1 together, where k is 0 to N-1. When the sine window whose window weight follows the first half-wave of the sine function is used, since the sum of the square of the sine of each angle and the square of the cosine is 1 This condition is always met.

90도 각도는 별문제로 하고, 0도와 180도 사이의 하나의 각도의 사인(sine)이 정수(integer)가 되지 않기 때문에, 도 4a에 설명된 후행(ensuing) MDCT 함수를 갖는 윈도우 방법은, 부동소수점 수(floating-point number)로 얻어지므로 시간-이산 샘플의 다중화(multiplication)에 의한 윈도윙은 하나의 사인 윈도우로 생각할 때 불리하다. 정수 시간-이산 샘플들이 윈도윙될 때조차도 부동소수점 수들이 윈도윙 후에 나온다.Since the 90 degree angle is another matter, and the sine of one angle between 0 and 180 degrees does not become an integer, the window method with the ensuing MDCT function described in FIG. 4A is floating. Because it is obtained with floating-point numbers, windowing by multiplication of time-discrete samples is disadvantageous when considered as one sine window. Floating-point numbers come after windowing even when integer time-discrete samples are windowed.

따라서, 심리음향 부호기가 사용되지 않을 때, 즉, 무손실 부호화가 달성되어야 할 때라도, 합리적으로 제어가 용이한(reasonably manageable) 엔트로피 부호화를 실행할 수 있도록 수단(408 또는 410)의 출력부에서의 양자화가 필요하다.Thus, even when the psychoacoustic encoder is not used, i.e. when lossless coding is to be achieved, the quantization at the output of the means 408 or 410 is capable of performing reasonably manageable entropy coding. need.

도 4a에 따라 설명한 공지의 변환을 무손실 오디오 부호화를 위해 사용하려고 할 때, 부동소수점 수의 라운딩 때문에 생기는 오류를 무시할 수 있도록 고정밀 양자화(very fine quantization)가 사용되어야만 하거나, 또는 오류 신호가 예를 들어 시간 도메인에서 부가적으로 부호화되어야만 한다. When attempting to use the known transformation described in accordance with FIG. 4A for lossless audio coding, very fine quantization must be used so that errors resulting from rounding of floating point numbers can be ignored, or an error signal can be used, for example. It must be additionally coded in the time domain.

앞에서 설명한, 즉 양자화가 매우 정밀하게 조정되어 부동소수점 수의 라운딩으로 인해 생기는 오류가 무시할 수 있는 정도가 된다는 개념(concepts)은 예를 들어 독일 특허 제DE 197 42 201 C1호에 개시되어 있다. 여기서, 오디오 신호가 양 자화된 스펙트럼 값을 얻기 위하여 그 스펙트럼 표시로 변환되어 양자화된다. 양자화된 스펙트럼 값들은 그 다음에 역양자화되고, 시간 도메인으로 변환된 다음, 원래의 오디오 신호와 비교된다. 만약 오류, 즉 원래의 오디오 신호와 양자화/역양자화 오디오 신호간의 오류가 오류 임계치 위에 있다면, 양자화기는 피드백(feedback)에서 더 정밀하게 조절되어, 다시 비교된다. 오류 임계치가 임계치를 하회하면 위 과정의 반복이 종결된다. 여전히 존재할 수 있는 잔류 신호는 시간 도메인 부호기에 의해 부호화되어, 시간-도메인-부호화 잔류 신호는 별도로 하고 반복 취소시에 존재했고 양자화기 조절에 따라 양자화된 부호화 스펙트럼 값을 또한 포함하는 하나의 비트 스트림으로 기록된다(write). 양자화기는 심리음향 모델로부터 제어되지 않아, 부호화 스펙트럼 값들이 심리음향 모델로 인한 경우보다 더 정확하게 양자화되는 것이 일반적이다.The concepts described earlier, ie the quantization is so precisely adjusted that the error resulting from the rounding of floating point numbers is negligible are disclosed, for example, in DE 197 42 201 C1. Here, the audio signal is converted and quantized into its spectral representation to obtain quantized spectral values. The quantized spectral values are then dequantized, converted into the time domain, and then compared with the original audio signal. If the error, ie the error between the original audio signal and the quantized / dequantized audio signal is above the error threshold, the quantizer is more precisely adjusted in the feedback and compared again. If the error threshold is below the threshold, the repetition of the above process is terminated. The residual signal, which may still be present, is encoded by the time domain coder, so that the time-domain-encoded residual signal is present at the time of repetition cancellation, apart from the time-domain coder, and also contains a quantized coded spectral value according to quantizer adjustment Write. The quantizer is not controlled from the psychoacoustic model, so it is common for the coded spectral values to be quantized more accurately than with the psychoacoustic model.

티. 모리야(T. Moriya) 등의 (Proc. ICASSP, 2000) 출판물 "손실 및 무손실 스케일러블 오디오 부호화의 설계(A Design of Lossy and Lossless Scalable Audio Coding)"에, 예를 들어 MPEG 부호기를 제1 손실 데이터 압축 모듈(lossy data compression module)로서 포함하는 스케일러블 부호기가 설명되어 있는데, 이 MPEG 부호기는 블록형 디지털 신호 형식(form)을 입력 신호로서 가지며 압축 비트 스트림을 발생시킨다. 역시 그안에 있는(also present) 로컬 복호기에서, 부호화가 다시 취소되고 하나의 부호화/복호화 신호가 생성된다. 이 신호는 원래의 입력 신호에서 부호화/복호화 신호를 제하고 원래의 입력 신호와 비교된다. 오류 신호는 그 다음에 무손실 비트 전환(conversion)이 사용되는 제2 모듈로 공급된다. 이 전환은 두 단계를 거친다. 제1 단계는 2의 보완 포맷(a two's complement format)으로부터 프리사인-매그니튜드 포맷(a presign-magnitude format)으로의 전환으로 구성된다. 제2 단계는 하나의 프로세싱 블록에서 수직 매그니튜드 시퀀스(vertical magnitude sequence)로부터 수평 비트 시퀀스(horizontal bit sequence)로의 변환으로 구성된다. 이러한 무손실 데이터 전환은 디지털 수로 인해 존재하는 시간 오류 신호의 가능한 한 양호한 압축을 얻기 위해 0의 갯수(number)를 최대화하기 위해 또는 하나의 시퀀스내의 연속적 0의 갯수들을 최대화하기 위해 실행된다. 이 원리는 출판물 "(다층 비트 슬라이스화 레이트 스케일러블 오디오 부호기(Multi-Layer Bit Sliced Rate Scalable Audio Coder)" (103차 AES Convention, Preprint No. 4520)에 설명되어 있는 BSAC(bit slice arithmetic coding) 체계에 기초한 것이다. tea. (Proc. ICASSP, 2000) publication "A Design of Lossy and Lossless Scalable Audio Coding" by T. Moriya et al. A scalable encoder is described which includes as a lossy data compression module, which has a block-type digital signal form as an input signal and generates a compressed bit stream. In the local decoder, which is also also present, the encoding is canceled again and one encoded / decoded signal is generated. This signal is compared with the original input signal by subtracting the encoded / decoded signal from the original input signal. The error signal is then fed to a second module where lossless bit conversion is used. This conversion takes two steps. The first step consists of switching from a two's complement format to a presign-magnitude format. The second step consists of the conversion from a vertical magnitude sequence to a horizontal bit sequence in one processing block. This lossless data conversion is performed to maximize the number of zeros or to maximize the number of consecutive zeros in one sequence in order to obtain the best possible compression of the time error signal present due to the digital number. This principle is based on the bit slice arithmetic coding (BSAC) scheme described in the publication "Multi-Layer Bit Sliced Rate Scalable Audio Coder" (103rd AES Convention, Preprint No. 4520). Is based on.

상술한 개념의 단점은 무손실 확장 레이어(expansion layer)를 위한 데이터, 즉 오디오 신호의 무손실 복호화를 달성하기 위해 필요한 보조 데이터가 시간 도메인에서 얻어져야만 한다는 것이다. 이것은 주파수/시간 변환을 포함하는 완전한 복호화가 시간 도메인에서 부호화/복호화 신호를 얻기 위해 필수적이라는 것을 의미하여, 심리음향 부호화로 인해 손실이 발생되는, 원래의 오디오 입력 신호와 부호화/복호화 오디오 신호 간의 샘플형 차분 형성(sample-wise difference formation)에 의해, 오류 신호가 계산된다. 이 개념은, 오디오 데이터 스트림을 발생시키는 부호기에서, 필터 뱅크 또는 예를 들어 MDCT 알고리즘과 같은 쌍방 완전 시간/주파수 전환 수단(both complete time/frequency conversion means)이 순방향 변환(forward transform)을 위해 필요하고, 동시에 오류 신호의 발생만을 위하여 완전 역 필터 뱅크(complete inverse filter bank) 또는 완전 합성 알고리즘이 필요한 점에서 특히 불리하다. 따라서, 그 고유의 부호기 기능성(functionalities)외에 또 완벽한 복호기 기능성을 포함하여야만 한다. 상기 부호기가 소프트웨어에서 실행되면, 그에 따른 저장 용량(storage capacity)과 프로세서 용량(processor capacity)이 모두 필요하며, 이는 부호기를 실행시키는 비용의 증가로 이어진다.
A disadvantage of the above concept is that data for a lossless expansion layer, i.e. auxiliary data necessary to achieve lossless decoding of the audio signal, must be obtained in the time domain. This means that complete decoding, including frequency / time conversion, is necessary to obtain the encoded / decoded signal in the time domain, so that samples between the original audio input signal and the encoded / decoded audio signal are lost due to psychoacoustic encoding. By sample-wise difference formation, the error signal is calculated. The idea is that in encoders that generate audio data streams, a filter bank or both complete time / frequency conversion means such as, for example, an MDCT algorithm, is required for forward transform. At the same time, it is particularly disadvantageous in that a complete inverse filter bank or a full synthesis algorithm is needed only for the generation of an error signal. Thus, in addition to its inherent encoder functionalities, it must also include complete decoder functionality. If the encoder is implemented in software, then both storage capacity and processor capacity are required, leading to an increase in the cost of executing the encoder.

본 발명의 목적은, 적어도 거의 무손실 방식으로 복호화될 수 있는 오디오 데이터 스트림을 생성할 수 있는, 저비용 개념(a less expensive concept)을 제공하는 것이다.It is an object of the present invention to provide a less expensive concept that can produce an audio data stream that can be decoded at least in a nearly lossless manner.

이 목적은 청구항 1의 시간-이산 오디오 신호를 부호화하기 위한 장치에 의해, 청구항 21의 시간-이산 오디오 신호를 부호화하는 방법에 의해, 청구항 22의 부호화 오디오 데이터 신호를 복호화하기 위한 장치에 의해, 청구항 31의 부호화 오디오 데이터를 복호화하는 방법에 의해, 또는 청구항 32 또는 33의 컴퓨터 프로그램에 의해 달성될 수 있다.This object is claimed by the apparatus for encoding the time-discrete audio signal of claim 1, by the method for encoding the time-discrete audio signal of claim 21, by the apparatus for decoding the encoded audio data signal of claim 22, By the method of decoding the encoded audio data of 31 or by the computer program of claim 32 or 33.

본 발명은, 오디오 신호의 무손실 복호화를 가능하게 하는 보조 오디오 데이터(ancillary audio data)를, 통상적으로 양자화된 스펙트럼 값의 하나의 블록을 제공하고, 그 다음에 그것을 심리음향 모델에 의한 양자화로 인해 손실이 있는 역양자화된 스펙트럼 값을 갖도록 하기 위해 역양자화함으로써 얻을 수 있다는 발견(finding)에 기초한다. 이러한 역양자화 스펙트럼 값은 그 다음에 라운딩된 (rounded) 역양자화 스펙트럼 값의 라운딩 블록을 얻기 위해 라운딩된다. 본 발명에 따르면, 차분 형성(difference formation)을 위한 기준(reference)으로서, 정수 시간-이산 샘플들의 하나의 블록으로부터의 정수 스펙트럼 값들로만 구성되는 스펙트럼 값의 하나의 정수 블록을 발생시키는 정수 변환 알고리즘이 사용된다. 본 발명에 따르면, 라운딩 블록과 정수 블록의 스펙트럼 값들의 결합(combination)은, 부호기 그 자체에서 합성 알고리즘, 즉, 역 필터 뱅크 또는 역 MDCT 알고리즘이 필요하지 않도록 스펙트럼 값에 관하여(spectral value-wise), 즉 주파수 도메인에서, 실행된다. 차분 스펙트럼 값들로 구성되는 결합 블록(combination block)은, 정수 변환 알고리즘과 라운딩된 양자화 값(rounded quantization values)으로 인해, 공지된 방식으로 엔트로피 부호화될 수 있는 정수 값들만을 포함한다. 임의의 엔트로피 부호기(arbitrary entropy coders)가 결합 블록의 엔트로피 부호화를 위해 사용될 수 있음을 알 수 있는데, 허프만 부호기 또는 연산 부호기(arithmetic coder) 등이 그 예이다.The present invention provides one block of quantized spectral values, typically ancillary audio data that enables lossless decoding of the audio signal, which is then lost due to quantization by a psychoacoustic model. Is based on the finding that it can be obtained by inverse quantization in order to have an inverse quantized spectral value. This inverse quantization spectral value is then rounded to obtain a rounding block of rounded inverse quantization spectral values. According to the present invention, as a reference for difference formation, an integer conversion algorithm for generating one integer block of spectral values consisting only of integer spectral values from one block of integer time-discrete samples is provided. Used. According to the invention, the combination of the spectral values of the rounding block and the integer block is spectral value-wise so that no synthesis algorithm, i.e. an inverse filter bank or an inverse MDCT algorithm, is needed in the encoder itself. , In the frequency domain. The combination block, which consists of differential spectral values, contains only integer values that can be entropy coded in a known manner, due to the integer transform algorithm and the rounded quantization values. It can be seen that arbitrary entropy coders can be used for entropy encoding of a combined block, for example, Huffman coders or arithmetic coders.

양자화 블록의 양자화된 스펙트럼 값의 부호화를 위해 임의의 부호기들이 또한 사용될 수 있는데, 최신 오디오 부호기에 통상 사용되는 공지된 툴(tools)들이 그것이다. Arbitrary encoders can also be used for encoding the quantized spectral values of the quantization block, known tools commonly used in modern audio encoders.

본 발명의 부호화/복호화 개념이, 윈도우 스위칭(window switching), TNS 또는 다중-채널 오디오 신호의 센터/사이드 부호화(center/side coding)와 같은 최신 부호화 툴(tool)과 호환성이 있음을 알 수 있다.It can be seen that the coding / decoding concept of the present invention is compatible with modern coding tools such as window switching, TNS or center / side coding of multi-channel audio signals. .

본 발명의 바람직한 실시예에서, 심리음향 모델을 사용하여 스펙트럼 값의 하나의 양자화 블록을 제공하기 위해 MDCT가 사용된다. 추가적으로, 정수 변환 알고리즘으로 소위 IntMDCT를 사용하는 것이 선호된다. In a preferred embodiment of the present invention, MDCT is used to provide one quantization block of spectral values using a psychoacoustic model. In addition, it is preferred to use so-called IntMDCT as the integer conversion algorithm.

본 발명의 다른 실시예에 있어서, 양자화블록의 제공이 통상적인 MDCT 없이 행해질 수 있으며, IntMDCT가 MDCT와 유사한 것(approximation)으로서 사용될 수 있는바, 즉, IntMDCT 스펙트럼 값을 얻기 위해 정수 변환 알고리즘에 의해 얻어진 정수 스펙트럼이 심리음향적 양자화기(psychoacoustic quantizer)로 공급되며, 양자화된 IntMDCT는 원래의 정수 스펙트럼 값과 비교되기 위해 다음에 다시 역양자화되고 양자화된다. 이 경우 단일 변환만이 필요한 바, 즉 IntMDCT가 정수 시간-이산 샘플들로부터의 정수 스펙트럼 값을 발생시킨다. In another embodiment of the present invention, provision of a quantization block can be done without conventional MDCT, and IntMDCT can be used as an approximation to MDCT, i.e. by an integer transform algorithm to obtain IntMDCT spectral values. The resulting integer spectrum is fed to a psychoacoustic quantizer, and the quantized IntMDCT is then inverse quantized and quantized again to be compared with the original integer spectral values. In this case only a single transform is needed, ie IntMDCT generates integer spectral values from integer time-discrete samples.

일반적으로, 프로세서는 정수들로 동작하거나(work), 또는 각 부동소수점 수가 하나의 정수로 표시될 수 있다. In general, a processor may work as integers, or each floating point number may be represented by one integer.

정수 연산(integer arithmetic)이 프로세서에서 사용된다면, 역양자화된 스펙트럼 값을 라운딩하지 않고서 실행될 수 있는데 이는, 프로세서의 연산 때문에, 최하위 비트(LSB, the least significant bit)의 정확도(accuracy)내에 라운딩값이 여하튼 존재하기 때문이다. 이 경우에, 완전 무손실 프로세싱, 즉 사용된 프로세서 시스템의 정확도내의 처리가 달성된다. 그러나, 이와 달리, 결합 블록의 차분 신호가 라운딩 함수(rounding function)에 의해 고정되는 정확도로 라운딩되는 더 낮은(rougher) 정확도로의 라운딩이 실행될 수 있다. 프로세서 시스템의 고유 라운딩(inherent rounding)을 넘어서는 라운딩을 도입하는 것은, 데이터 압축의 의미에서(in the sense of data compression) 거의 무손실 부호기를 발생시키기 위하여, 부 호화의 무손실의 "정도(degree)"에 영향을 미치는 한 융통성(flexibility)을 가능하게 한다. If integer arithmetic is used in the processor, it can be executed without rounding the dequantized spectral value, which, due to the processor's operation, causes the rounding value to fall within the accuracy of the least significant bit (LSB). Because it exists anyway. In this case, complete lossless processing, ie processing within the accuracy of the processor system used is achieved. Alternatively, however, rounding to a lower accuracy may be performed in which the differential signal of the combined block is rounded to an accuracy that is fixed by a rounding function. Introducing rounding beyond the inherent rounding of the processor system is a lossless "degree" of encryption in order to generate an almost lossless encoder in the sense of data compression. It allows for flexibility as long as it affects.

본 발명의 복호기는 심리음향적으로 부호화 오디오 데이터와, 그 오디오 데이터로부터 추출되어 존재가능성 있는(possibly present) 엔트로피 부호화를 거친 다음 후술하는 바와 같이 처리되는 보조 오디오 데이터 두가지에 특색이 있다. 먼저, 엔트로피-복호화 보조 오디오 데이터에 첨가되기 위해 복호기의 양자화 블록이 역양자화되고, 부호기에서 또한 사용된 동일한 라운딩 함수를 사용하여 라운딩된다. 그 다음에는, 복호기에 오디오 신호의 심리음향적 압축 스펙트럼 표시와 오디오 신호의 무손실 표시(a lossless representation)가 존재하는데, 여기서 오디오 신호의 심리음향적 압축 스펙트럼 표시는 손실초래(lossy) 부호화/복호화 오디오 신호를 얻기 위해 시간 도메인으로 변환되며, 한편 무손실 표시는 전술한 바와 같이 무손실적으로 또는 거의 무손실적으로 부호화/복호화된 오디오 신호를 얻기 위해 상기 정수 변환 알고리즘에 반대되는 하나의 정수 변환 알고리즘을 사용하여 시간 도메인으로 변환된다.
The decoder of the present invention is characterized by two psychoacoustically encoded audio data and auxiliary audio data which are extracted from the audio data and possibly subjected to entropy encoding, and then processed as described below. First, the quantization block of the decoder is dequantized to be added to the entropy-decoded auxiliary audio data and rounded using the same rounding function also used at the encoder. Next, the decoder has a psychoacoustic compressed spectral representation of the audio signal and a lossless representation of the audio signal, where the psychoacoustic compressed spectral representation of the audio signal is lossy encoded / decoded audio. The signal is transformed into the time domain to obtain a signal, while the lossless representation uses one integer conversion algorithm as opposed to the integer conversion algorithm to obtain an audio signal that is encoded or decoded losslessly or almost losslessly as described above. Is converted to the time domain.

본 발명의 이러한 그리고 다른 목적들과 특성들이 첨부도면을 참고한 다음의 설명으로부터 명백해질 것인 바, These and other objects and features of the present invention will become apparent from the following description with reference to the accompanying drawings, in which:

도 1은 그로부터 정수 스펙트럼 값이 확인될(ascertained) 수 있는 정수 값을 얻기 위해 시간-이산 오디오 샘플들을 처리하기 위한 바람직한 수단의 블록 회 로도이고; 1 is a block circuit diagram of a preferred means for processing time-discrete audio samples to obtain an integer value from which an integer spectral value can be ascertained;

도 2는, 기븐스 회전(Givens rotations)과 두 개의 DCT-IV 연산(operations)에서 MDCT 및 역 MDCT의 분할(split-up)의 개략도이며;2 is a schematic of split-up of MDCT and inverse MDCT in Givens rotations and two DCT-IV operations;

도 3은, 상기 회전 및 DCT-IV 연산(operations)에서 50% 중첩된 MDCT의 분할을 설명하기 위한 도면이고; 3 is a diagram illustrating the division of 50% overlapped MDCT in the rotation and DCT-IV operations;

도 4a는, MDCT와 50% 중첩을 갖는 공지된 부호기의 블록 회로 개략도이며;4A is a block circuit schematic of a known encoder having 50% overlap with MDCT;

도 4b는, 도 4a에 의해 발생된 값을 복호화하기 위한 공지의 복호기의 블록 회로 개략도이고;4B is a block circuit schematic diagram of a known decoder for decoding the value generated by FIG. 4A;

도 5는, 본 발명의 바람직한 부호기의 원리 블록 회로도(principle block circuit diagram)이며;5 is a principle block circuit diagram of a preferred encoder of the present invention;

도 6은, 본 발명의 바람직한 다른 부호기의 원리 블록 회로도이고;6 is a principle block circuit diagram of another preferred encoder of the present invention;

도 7은, 본 발명의 바람직한 복호기의 원리 블록 회로도이며;7 is a principle block circuit diagram of a preferred decoder of the present invention;

도 8a는, 제1 스케일링 레이어와 제2 스케일링 레이어를 갖는 하나의 비트 스트림의 개략도이고;8A is a schematic diagram of one bit stream having a first scaling layer and a second scaling layer;

도 8b는, 제1 스케일링 레이어와 몇 개의 추가 스케일링 레이어를 갖는 하나의 비트 스트림의 개략도이며;8B is a schematic diagram of one bit stream having a first scaling layer and several additional scaling layers;

도 9는, 차분 스펙트럼값의 정확도(비트) 및/또는 차분 스펙트럼값의 주파수(샘플속도: sample rate)와 관련하여 실행가능한 스케일링을 설명하기 위한 이진 부호화 차분 스펙트럼 값의 개략도이다.
9 is a schematic diagram of binary coded differential spectral values for explaining possible scaling in relation to the accuracy (bits) of the differential spectral values and / or the frequency (sample rate) of the differential spectral values.

다음에서, 도 5 내지 7에 따라, 본 발명의 부호기 회로(도 5 및 도 7) 또는 본 발명의 바람직한 복호기 회로(도 7)를 설명하기로 한다. 도 5에 도시된 본 발명의 부호기는, 부호화 오디오 데이터가 출력되는 하나의 출력부(52) 와 함께 시간-이산 오디오 신호가 공급되는 하나의 입력부(50)를 포함한다. 입력부(50)에 공급된 시간-이산 오디오 신호는, 출력부 측에 시간-이산 오디오 신호의 양자화 블록을 제공하고 심리음향 모델(54)을 사용하여 시간-이산 오디오 신호(50)의 양자화된 스펙트럼 값을 포함하여 구성되는 양자화 블록을 제공하기 위한 수단(52)에 공급된다. 본 발명의 부호기는, 정수 시간-이산 샘플들로부터 정수 스펙트럼 값을 발생시키도록 동작하며(operative), 정수 변환 알고리즘(56)을 사용하여 하나의 정수 블록을 발생시키기 위한 수단을 더 포함한다.In the following, the encoder circuit (FIGS. 5 and 7) of the present invention or the preferred decoder circuit (FIG. 7) of the present invention will be described according to Figs. The encoder of the present invention shown in FIG. 5 includes one output unit 52 to which encoded audio data is output, and one input unit 50 to which a time-discrete audio signal is supplied. The time-discrete audio signal supplied to the input unit 50 provides a quantization block of the time-discrete audio signal on the output side and uses the psychoacoustic model 54 to quantize the spectralized audio signal 50. Supplied to the means 52 for providing a quantization block comprising a value. The encoder of the present invention is operative to generate integer spectral values from integer time-discrete samples, and further includes means for generating one integer block using an integer transform algorithm 56.

본 발명의 부호기는, 양자화 블록제공수단(52)에서 출력된 양자화 블록을 역 양자화하기 위한 수단(58) 그리고 프로세서 정확도외에 또 다른 정확도가 필요할 때 라운딩 기능을 더 포함한다. 전술한 바와 같이, 그것이 프로세서 시스템의 정확도까지 도달해야만 한다면, 정수 연산(integer arithmetic)을 갖는 프로세서가 여하튼 비-정수 값을 제공할 수 없기 때문에, 그 라운딩 기능이 이미 양자화 블록의 역양자화에 원래부터 포함된다. 따라서, 수단(58)은, 원래부터 또는 명시적으로 라운딩된 정수인, 역양자화된 스펙트럼 값을 포함하는 소위 라운딩 블록을 제공한다. 라운딩 블록과 정수 블록 모두 차분형성(difference formation)을 사용하여, 차분 블록에 차분 스펙트럼 값들을 제공하는 결합 수단(combining means)으로 공급되며, 여기서 "차분 블록"이라는 용어는 차분 스펙트럼 값들이 정수 블록과 라운딩 블록 사이의 차분을 포함하는 값이라는 것을 의미하는 것이다. The encoder of the present invention further includes means 58 for inverse quantization of the quantization block output from the quantization block providing means 52 and a rounding function when further accuracy is required besides the processor accuracy. As mentioned above, if it must reach up to the accuracy of the processor system, the rounding function is already inherent in the dequantization of the quantization block, since a processor with integer arithmetic cannot somehow provide a non-integer value. Included. Thus, the means 58 provide a so-called rounding block comprising dequantized spectral values, which are inherently or explicitly rounded integers. Both the rounding block and the integer block are supplied to combining means that provide differential spectral values to the differential block using difference formation, where the term "differential block" is used to determine that the differential spectral values It means that the value includes the difference between the rounding blocks.

수단(52)으로부터 출력된 양자화 블록과 차분 형성 수단으로부터 출력된 차분 블록 모두가, 예를 들어 양자화 블록의 통상적인 처리를 실행하고 그리고 예를 들어 차분 블록의 엔트로피 부호화를 일으키는, 프로세싱 수단(60)으로 공급된다. 프로세싱 수단(60)은 양자화 블록의 정보와 차분 블록의 정보를 모두 포함하는 부호화 오디오 데이터를 출력부(52)에서 출력한다. Both the quantization block output from the means 52 and the difference block output from the difference forming means perform, for example, the normal processing of the quantization block and cause, for example, entropy encoding of the difference block. Supplied by. The processing means 60 outputs the encoded audio data including both the information of the quantization block and the information of the difference block from the output unit 52.

도 6에 도시된 바람직한 제1 실시예에 있어서, 시간-이산 오디오 신호가, MDCT에 의해 그 스펙트럼 표시로 변환된 다음에 양자화된다. 따라서, 양자화 블록을 제공하기 위한 수단(52)은 MDCT 수단(52a)과 하나의 양자화기(52b)로 구성된다. In the first preferred embodiment shown in Fig. 6, the time-discrete audio signal is converted into its spectral representation by MDCT and then quantized. Thus, the means 52 for providing the quantization block consist of MDCT means 52a and one quantizer 52b.

또한, 정수 변환 알고리즘인 하나의 IntMDCT(56)로 정수 블록을 발생시키는 것이 바람직하다.It is also preferable to generate an integer block with one IntMDCT 56, which is an integer conversion algorithm.

도 6에 있어서, 도 5에 도시된 프로세싱 수단(60)이, 차분 블록을 엔트로피 부호화하기 위한 엔트로피 부호기(60b)에 의해서 뿐만 아니라 수단(52b)에 의해서 출력된 양자화 블록을 비트 스트림 부호화하기 위한 비트 스트림 부호화 수단(60a)으로 또한 도시되어 있다. 엔트로피 부호기(60b)가 하나의 엔트로피-부호화 차분 블록(entropy-coded difference block)을 출력하는 반면, 비트 스트림 부호기(60a)는 심리음향적 부호화 오디오 데이터(psychoacoustically coded audio data)를 출력한다. 블록(60a 및 60b)의 두 개의 출력 데이터는, 제1 스케일링 레이어로 심리음향적 부호화 오디오 데이터를 가지며 제2 스케일링 레이어로 무손실 복호화를 위 한 부가적인 오디오 데이터를 가지는 하나의 비트 스트림으로 적절한 방식으로 결합될 수 있다. 스케일링된 비트 스트림(scaled bit stream)은 그 다음에 부호기의 출력부(52)에서 도 5에 나타낸 부호화 오디오 데이터(coded audio data)에 상응한다. In FIG. 6, the processing means 60 shown in FIG. 5 uses the bits for bitstream encoding the quantization block outputted by the means 52b as well as by the entropy encoder 60b for entropy encoding the differential block. Also shown by the stream encoding means 60a. Entropy encoder 60b outputs one entropy-coded difference block, while bit stream encoder 60a outputs psychoacoustic coded audio data. The two output data of blocks 60a and 60b are in an appropriate manner with one bit stream having psychoacoustic coded audio data in the first scaling layer and additional audio data for lossless decoding in the second scaling layer. Can be combined. The scaled bit stream then corresponds to the coded audio data shown in FIG. 5 at the output 52 of the encoder.

다른 바람직한 실시예에서는, 도 5에 점선 화살표(62)로 나타낸 바와 같이, 도 6의 MDCT 블록(52a) 없이도 실행될 수 있다. 이 경우에, 정수 변환 수단(56)에 의해 제공된 정수 스펙트럼은 도 6의 차분 형성 수단(59)과 양자화기(52b) 모두로 공급된다. 정수 변환에 의해 발생된 스펙트럼 값들은, 여기서 통상적인 MDCT 스펙트럼과 유사한 것(approximation)으로서 어느정도 사용된다. 이 실시예는 부호기에 IntMDCT 알고리즘만이 존재하고, 부호기에 IntMDCT 알고리즘과 MDCT 알고리즘 모두가 존재해야 하는 것은 아니라는 이점이 있다. In another preferred embodiment, as indicated by the dashed arrow 62 in FIG. 5, it may be executed without the MDCT block 52a of FIG. 6. In this case, the integer spectrum provided by the integer converting means 56 is supplied to both the difference forming means 59 and the quantizer 52b in FIG. The spectral values generated by the integer conversion are used here to some extent as an approximation to conventional MDCT spectra. This embodiment has the advantage that only the IntMDCT algorithm is present in the encoder and not both the IntMDCT algorithm and the MDCT algorithm must exist in the encoder.

도 6을 다시 참조하면, 점선 블록과 선(dashed blocks and lines)이 그러한 통상적인 MPEG 부호기의 확장(extension)을 설명하는 반면, 실선 블록과 선(solid blocks and lines)이 MPEG 표준들중의 하나에 따른 통상적인 오디오 부호기를 설명함을 알 수 있다. 따라서, 통상적인 MPEG 부호기의 근본적인 변경이 필요하지 않으나, 정수 변환에 의한 무손실 부호화를 위한 보조 오디오 데이터의 본 발명에 의한 데이터 입력(inventive capture)이 부호기/복호기 기본 구조에 대한 변경없이 추가될 수 있음을 알 수 있다.Referring back to FIG. 6, dashed blocks and lines illustrate the extension of such a conventional MPEG encoder, while solid blocks and lines are one of the MPEG standards. It can be seen that the conventional audio encoder according to the description. Thus, a fundamental change of the conventional MPEG encoder is not necessary, but an inventive capture of auxiliary audio data for lossless encoding by integer conversion can be added without changing the basic structure of the encoder / decoder. It can be seen.

도 7은 도5의 출력부(52)에서 출력된 부호화 오디오 데이터를 복호화하기 위한 본 발명의 복호기의 원리 블록 회로도를 나타낸다. 이것은 먼저 한편으로는 심 리음향적 부호화 오디오 데이터로, 다른 한편으로는 보조 오디오 데이터로 분할된다. 보조 오디오 데이터가 부호기에서 엔트로피 부호화될 때 엔트로피 부호기(72)에 의해 엔트로피 부호화되는 반면, 심리음향적 부호화 오디오 데이터는 하나의 통상적인 비트 스트림 복호기(70)로 공급된다. 도 7의 비트 스트림 복호기(70)의 출력부에 존재하는 양자화된 스펙트럼 값들이 도 6의 수단의 역양자화기와 원리적으로 동일하게 구성될 수 있는 역양자화기(74)로 공급된다. 프로세서 정확도에 부합하지 않는 정확도를 목적으로 한다면, 실수를 정수로 맵핑(mapping)하기 위한 동일한 알고리즘 또는 동일한 라운딩 기능을 실행하는 라운딩 수단(76)이 복호기에 또한 제공되며, 도 6의 수단(58)에서도 실행될 수 있다. 복호기-측 콤바이너(decoder-side combiner)(78)에 있어서, 라운딩 역양자화 스펙트럼 값들(rounded inversely quantized spectral values)은 스펙트럼 값에 관하여(spectral value-wise) 엔트로피 부호화 보조 오디오 데이터에 추가적으로 결합되어, 복호기에서 한편으로는 역양자화된 스펙트럼 값들이 수단(74)의 출력부에 존재하고 다른 한편으로는 정수 스펙트럼 값들이 콤바이너(78)의 출력부에 존재하는 것이 바람직하다. 7 shows a principle block circuit diagram of a decoder of the present invention for decoding the encoded audio data output from the output unit 52 of FIG. It is first divided into psychoacoustic encoded audio data on the one hand and auxiliary audio data on the other. While the auxiliary audio data is entropy coded by the entropy encoder 72 when it is entropy coded in the encoder, psychoacoustic coded audio data is supplied to one conventional bit stream decoder 70. The quantized spectral values present at the output of the bit stream decoder 70 of FIG. 7 are fed to an inverse quantizer 74, which can be constructed in principle identically to the inverse quantizer of the means of FIG. For the purpose of accuracy that does not match the processor accuracy, the decoder is also provided with a rounding means 76 that executes the same algorithm or the same rounding function for mapping real numbers to integers, and the means 58 of FIG. Can also be run from In the decoder-side combiner 78, rounded inversely quantized spectral values are further coupled to entropy coded auxiliary audio data with respect to the spectral value-wise. In the decoder, the dequantized spectral values on the one hand are present at the output of the means 74 and on the other hand the integer spectral values are at the output of the combiner 78.

수단(74)의 출력측 스펙트럼 값들은, 그 다음에 손실 발생적으로 심리음향 부호화되고 다시 복호화된 오디오 신호를 얻기 위해, 역 변경 이산 코사인 변환(inverse modified discrete cosine transform)을 실행하기 위한 수단(80)에 의해 시간 도메인으로 변환될 수 있다. 무손실 부호화/복호화 오디오 신호, 또는 상응하는 낮은 수준의(rougher) 라운딩이 사용될 때는 거의 무손실 부호화되고 다시 복호화된 오디오 신호를 얻기 위해, 콤바이너(78)의 출력 신호도 역 정수(inverse integer) MDCT(IntMDCT)를 실행하기 위한 수단(82)에 의해 그 시간 표시로 변환된다.The output spectral values of the means 74 are then passed to the means 80 for executing an inverse modified discrete cosine transform to obtain a lossy psychoacoustically encoded and decoded audio signal. By the time domain. The output signal of the combiner 78 is also an inverse integer MDCT to obtain an almost lossless encoded and decoded audio signal when a lossless encoded / decoded audio signal, or a corresponding rougher rounding is used. The means 82 for executing (IntMDCT) is converted to the time display.

다음에, 특히 바람직한 실시예의 도 6의 엔트로피 부호기(60b)를 설명한다. 통상적인 최신 MPEG 부호기에 양자화 스펙트럼 값들의 평균 통계(average statistics)에 따라 선택된 여러가지 부호 테이블들이 존재하기 때문에, 콤바이너(59)의 출력부에 차분 블록의 엔트로피 부호화를 위한 동일한 코드 테이블 또는 코드 북을 사용하는 것이 바람직하다. 차분 블록, 즉 잔류 IntMDCT 스펙트럼의 크기가 양자화의 정확도에 달려있기 때문에, 엔트로피 부호기(60b)의 하나의 코드북 선택이 보조 정보(ancillary side information)없이 실행될 수 있다.Next, the entropy encoder 60b of FIG. 6 of a particularly preferred embodiment will be described. Since there are various code tables selected according to average statistics of quantization spectral values in a typical modern MPEG encoder, the same code table or codebook for entropy encoding of differential blocks at the output of the combiner 59 Preference is given to using. Since the size of the differential block, ie, the residual IntMDCT spectrum, depends on the accuracy of the quantization, one codebook selection of entropy encoder 60b can be performed without ancillary side information.

MPEG-2 AAC 부호기에서, 스펙트럼 계수(spectral coefficients), 즉 양자화된 스펙트럼 값들은 양자화 블록내의 스케일 계수 밴드들(scale factor bands)로 그룹지어지며, 여기서 스펙트럼 값들은 하나의 스케일 인수(factor) 밴드와 관련된 하나의 상응 스케일 인수로부터 유래된 이득 인수(gain factor)와 비교된다(weighed). 이 공지된 부호기 개념에서 비-균일 양자화기(a non-uniform quantizer)가 비교된 스펙트럼 값들(weighted spectral values)을 양자화하기 위해 사용되기 때문에, 잔류 값(residual values), 즉 콤바이너(59)의 출력부에서의 스펙트럼 값의 크기는 스케일 인수 뿐만 아니라 그들 자신의 양자화 값(quantized values)에도 달려 있다. 그러나, 스케일 인수와 양자화 스펙트럼 값 모두가 도 6의 수단(60a)에 의해 발생된 비트 스트림, 즉 심리음향적 부호화 오디오 데이터에 포함되기 때문에, 차분 스펙트럼 값의 크기에 따라 부호기에서 코드북 선택을 실행하고, 또한 비트 스트림내에 전송된 스케일 인수들과 양자화 값 두가지를 기초로 하여 복호기에서 부호기에 사용된 코드 테이블을 확인하는(ascertain) 것이 바람직하다. 콤바이너(59)의 출력부에서 보조 정보가 차분 스펙트럼 값들의 엔트로피 부호화를 위해 송신되어야 하는 것은 아니므로, 엔트로피 부호화는, 엔트로피 부호기(60b)를 위한 보조 정보로서 신호화 비트(signalization bits)를 데이터 스트림내에 확장시키지 않고, 단지 데이터 레이트 압축(data rate compression)으로 이어진다. In an MPEG-2 AAC encoder, the spectral coefficients, or quantized spectral values, are grouped into scale factor bands in the quantization block, where the spectral values are associated with one scale factor band. It is compared with a gain factor derived from one corresponding scale factor involved. In this known encoder concept a non-uniform quantizer is used to quantize the weighted spectral values, so that residual values, ie combiners 59 The magnitude of the spectral values at the output of is dependent not only on the scale factor but also on their own quantized values. However, since both the scale factor and the quantization spectrum value are included in the bit stream generated by the means 60a of FIG. 6, that is, psychoacoustic encoded audio data, the codebook selection is performed in the encoder according to the magnitude of the differential spectrum value. In addition, it is desirable to ascertain the code table used for the encoder in the decoder based on two scale factors and quantization values transmitted in the bit stream. Since the auxiliary information at the output of the combiner 59 does not have to be transmitted for entropy encoding of differential spectral values, entropy encoding sets the signaling bits as auxiliary information for the entropy encoder 60b. It does not expand in the data stream, but only leads to data rate compression.

표준 MPEG-2 AAC에 따른 오디오 부호기에서, 과도적 오디오 신호 영역(transient audio signal areas)에서의 프리-에코(pre-echoes)를 피하기 위해 윈도우 스위칭(window switching)이 사용된다. 이 기술은 MDCT 윈도우의 각 하프(half)에서 윈도우 형상(window shapes)을 개별적으로 선택할 가능성(possibility)에 기초하고, 연속적인 블록에서 블록 크기를 변경하는 것을 가능하게 한다. 이와 유사하게, 도 1 내지 3을 참고하여 설명된 IntMDCT 형태의 정수 변환 알고리즘이 또한 윈도윙에서 그리고 MDCT 분할(split-up)의 시간 도메인 에일리어싱 섹션(time domain aliasing section)에서 상이한 윈도우 형상을 사용하기 위해 실행된다. 따라서, 정수 변환 알고리즘 그리고 양자화 블록을 발생시키기 위한 변환 알고리즘 모두를 위해 동일한 윈도우 결정(window decisions)을 사용하는 것이 바람직하다.In audio encoders according to the standard MPEG-2 AAC, window switching is used to avoid pre-echoes in transient audio signal areas. This technique is based on the possibility of individually selecting window shapes in each half of the MDCT window, and makes it possible to change the block size in successive blocks. Similarly, the IntMDCT type integer conversion algorithm described with reference to FIGS. 1-3 also uses different window shapes in windowing and in the time domain aliasing section of the MDCT split-up. To be executed. Thus, it is desirable to use the same window decisions for both the integer transform algorithm and the transform algorithm for generating the quantization block.

MPEG-2 AAC에 따른 부호기에 있어서, TNS(temporal noise shaping) 그리고 센터/사이드 스테레오 부호화[center/side (CS) stereo coding]이 언급될 몇몇의 추가 부호화 툴(coding tools)이 또한 존재한다. 바로 CS 부호화와 같은 TNS 부호 화에서, 양자화에 앞서 스펙트럼 값의 변환이 실행된다. 따라서, IntMDCT 값들간의 차분, 즉 정수 블록과 양자화된 MDCT 값 사이의 차분이 증가한다. 본 발명에 따르면, 정수 스펙트럼 값들의 TNS 부호화와 센터/사이드 부호화 모두를 허용하기 위해 정수 변환 알고리즘이 만들어진다. TNS 기술은 주파수에 걸친 MDCT 값(MDCT values over the frequency)의 적응성 순방향 예측(adaptive forward prediction)에 기초한다. 신호-적응 방식으로(in a signal-adaptive manner) 통상적인 TNS 모듈에 의해 계산된 동일한 예상 필터(prediction filter)도 정수 스펙트럼 값을 예측하기 위하여 사용되는 것이 바람직한데, 여기서 비-정수 값이 그것에 의해 발생되면, 정수 값을 다시 발생시키기 위하여 하향 라운딩(downstream rounding)이 사용될 수 있다. 이 라운딩은 각 예상 단계 후에 일어나는 것이 바람직하다. 복호기에서, 원래의 스펙트럼은 역 필터(inverse filter)와 동일한 라운딩 기능을 사용하여 다시 재구성(reconstructed)될 수 있다. 이와 유사하게, CS 부호화가 또한 리프팅 스킴(lifting scheme)에 기초한 각도 p/4의 라운딩된 기븐스 회전(rounded Givens rotations)을 적용함에 의해 IntMDCT 스펙트럼 값에 적용될 수 있다. 그것에 의해, 복호기의 원래의 IntMDCT 값들이 재구성될 수 있다.In the encoder according to MPEG-2 AAC, there are also some additional coding tools to which temporal noise shaping (TNS) and center / side (CS) stereo coding are mentioned. In TNS encoding, such as CS coding, the conversion of spectral values is performed prior to quantization. Thus, the difference between IntMDCT values, that is, the difference between an integer block and a quantized MDCT value, increases. According to the present invention, an integer conversion algorithm is made to allow both TNS coding and center / side coding of integer spectral values. TNS techniques are based on adaptive forward prediction of MDCT values over the frequency. The same prediction filter calculated by a conventional TNS module in a signal-adaptive manner is also preferably used to predict integer spectral values, where a non-integer value is thereby used. If generated, downstream rounding may be used to regenerate the integer value. This rounding preferably occurs after each expected step. In the decoder, the original spectrum can be reconstructed again using the same rounding function as the inverse filter. Similarly, CS coding can also be applied to IntMDCT spectral values by applying rounded Givens rotations of angle p / 4 based on a lifting scheme. Thereby, the original IntMDCT values of the decoder can be reconstructed.

정수 변환 알고리즘으로 IntMDCT를 갖는 바람직한 실시예에 있어서의 본 발명의 개념이 모든 MDCT-기초 청취-적응 오디오 부호기(MDCT-based hearing-adapted audio coders)에 적용될 수 있음을 알 수 있다. 그러한 부호기들은, 단지 하나의 예시로서, MPEG-4 AAC 스케일러블(Scalable), MPEG-4 AAC 저지연(Low Delay), MPEG-4 BSAC, MPEG-4 트윈(Twin) VQ, 돌비(Dolby) AC-3 등에 따른 부호기들이다. It can be seen that the inventive concept in the preferred embodiment with IntMDCT as an integer conversion algorithm can be applied to all MDCT-based hearing-adapted audio coders. Such encoders are, by way of example only, MPEG-4 AAC Scalable, MPEG-4 AAC Low Delay, MPEG-4 BSAC, MPEG-4 Twin VQ, Dolby AC -Encoders according to -3 and the like.                 

특히, 본 발명의 개념은 역으로 호환가능함을 알 수 있다. 청취-적응 부호기(hearing-adapted coder) 또는 복호기가 변경되지는 않으나 다만 확장된다. 무손실 성분(lossless components)을 위한 보조 정보는, "보조 데이터" 필드의 MPEG-2 AAC와 같은 역으로 호환가능한 방식으로 청취-적응 방식으로 부호화된 비트 스트림에 전송될 수 있다. 도 7의 점선으로 그려진 앞의 청취-적응 복호기에의 추가는 이 보조 데이터의 값을 구하고(evaluate), 양자화된 MDCT 스펙트럼과 함께 IntMDCT 스펙트럼을 청취-적응 복호기로부터 무손실 방식으로 복원할 수 있다. In particular, it can be seen that the inventive concepts are backwards compatible. The listening-adapted coder or decoder does not change but only expands. Ancillary information for lossless components may be transmitted in a bit stream encoded in a listen-adaptive manner in a backwards compatible manner, such as MPEG-2 AAC in the "Auxiliary Data" field. The addition to the previous listen-adaptive decoder drawn by the dashed line in FIG. 7 can evaluate this auxiliary data and restore the IntMDCT spectrum along with the quantized MDCT spectrum from the listen-adaptive decoder in a lossless manner.

본 발명의 무손실적 또는 거의 무손실적 부호화에 의해 보완되는 심리음향적 부호화의 개념은, 스케일러블 데이터 스트림의 발생, 전송, 및 복호화에 특히 적합하다. 스케일러블 데이터 스트림이, 적어도 그 하위 스케일링 레이어들이 상위 스케일링 레이어들(higher scaling layers)과 독립적으로 전송되고 복호화될 수 있는 여러 가지 스케일러블 레이어들을 포함함이 잘 알려져 있다. 또한, 스케일링 레이어들 또는 강화 레이어들(enhancement layers)이 데이터의 스케일러블 처리에서(in a scalable processing) 제1 스케일링 레이어 또는 베이스 레이어(base layer)에 추가된다. 완전히 갖추어진 부호기는 제1 스케일링 레이어를 가지며 원리적으로 임의의 수(arbitrary number)의 추가 스케일링 레이어들을 갖는 하나의 스케일러블 데이터 스트림을 발생시킬 수 있다. 스케일링 개념의 이점은, 광대역 전송 채널(broadband transmission channel)이 이용가능한 경우, 부호기에 의해 발생되어 스케일링된 데이터 스트림(scaled data stream)이 광대역 전송 채널을 통해 완전히, 즉 모든 스케일링 레이어를 포함하여, 전송될 수 있다는 점이다. 그러나, 만약 협 대역 전송 채널(narrowband transmission channel)만이 있다면, 부호화 신호는 단지 제1 스케일링 레이어 또는 특정의 수의 추가 스케일링 레이어들의 형태로만 전송 채널을 통해 전송될 수 있으며, 여기서 상기 특정의 수는 부호기에 의해 발생된 스케일링 레이어들의 전체 수보다 더 작다. 물론, 그것이 연결된 채널에 적합한(adapted) 부호기는, 채널에 의존하는 베이스 스케일링 레이어 또는 제1 스케일링 레이어 그리고 많은 추가 스케일링 레이어들을 발생시킬 수 있다.The concept of psychoacoustic coding complemented by lossless or near lossless coding of the present invention is particularly suitable for the generation, transmission and decoding of scalable data streams. It is well known that a scalable data stream includes various scalable layers, at least the lower scaling layers of which can be transmitted and decoded independently of the higher scaling layers. In addition, scaling layers or enhancement layers are added to the first scaling layer or base layer in a scalable processing of the data. The fully equipped encoder has a first scaling layer and can in principle generate one scalable data stream with an arbitrary number of additional scaling layers. The advantage of the scaling concept is that if a wideband transmission channel is available, the scaled data stream generated by the encoder is transmitted over the wideband transmission channel completely, i.e. including all the scaling layers. Can be. However, if there is only a narrowband transmission channel, the coded signal can be transmitted through the transmission channel only in the form of a first scaling layer or a specific number of additional scaling layers, where the specific number is an encoder. Is smaller than the total number of scaling layers generated by. Of course, an encoder adapted to the channel to which it is connected may generate a base scaling layer or a first scaling layer and many additional scaling layers depending on the channel.

복호기 측에서(on the decoder side), 스케일러블 개념(scalable concept)은 역으로 호환가능하다는 점에서 또한 유리하다. 이것은 제1 스케일링 레이어만을 처리할 수 있는 복호기가 데이터 스트림의 제2 및 추가 스케일링 레이어들을 쉽게 무시하고 유용한 출력 신호를 발생시킬 수 있다는 것을 의미한다. 그러나, 만약 복호기가 스케일링된 데이터 스트림으로부터의 몇몇의 스케일링 레이어들을 처리할 수 있는 최신식 복호기라면, 이 부호기는 동일한 데이터 스트림을 가지고 베이스 복호기(base decoder)로 지정될(addressed) 수 있다. On the decoder side, the scalable concept is also advantageous in that it is backwards compatible. This means that a decoder that can only process the first scaling layer can easily ignore the second and additional scaling layers of the data stream and generate a useful output signal. However, if the decoder is a state-of-the-art decoder capable of processing several scaling layers from the scaled data stream, this encoder can be addressed to the base decoder with the same data stream.

본 발명에 있어서, 베이직 스케일러빌리티(basic scalability)는 양자화 블록, 즉 비트 스트림 부호기(60a)의 출력은, 도 6을 고려할 때 예를 들어 하나의 프레임(frame)을 위한 심리음향적으로 부호화된 데이터(psychoacoustically coded data)를 포함하는 도 8의 제1 스케일링 레이어에 기록된다. 결합 수단(59)에 의해 발생된 바람직하게는 엔트로피-부호화된 차분 스펙트럼 값들은, 하나의 프레임을 위한 보조 오디오 데이터를 포함하는, 심플 스케일러빌리티에서의(at simple scalability), 도 8a의 도면부호 82로 표시된, 제2 스케일링 레이어로 기록된다(written). In the present invention, basic scalability means that the output of the quantization block, i.e., the bit stream encoder 60a, is psychoacoustically encoded data, for example, for one frame in consideration of FIG. (psychoacoustically coded data) is recorded in the first scaling layer of FIG. Preferably entropy-encoded differential spectral values generated by the combining means 59 are at simple scalability, 82 of FIG. 8A, comprising auxiliary audio data for one frame. Written in the second scaling layer, denoted by.

만약 부호기로부터 복호기로의 전송 채널이 하나의 광대역 전송 채널이면, 두 스케일링 레이어들(81 및 82) 모두 복호기로 전송될 수 있다. 그러나, 만약 전송 채널이 제1 스케일링 레이어만이 "꼭 들어맞는(fit)" 하나의 협대역 전송 채널이라면, 제2 스케일링 레이어는 전송 전에 데이터 스트림으로부터 쉽게 제거되어, 복호기가 제1 스케일링 레이어로만 지정될(addressed) 수 있다.If the transport channel from the encoder to the decoder is one broadband transport channel, both scaling layers 81 and 82 can be transmitted to the decoder. However, if the transport channel is one narrowband transport channel that only "fits" the first scaling layer, the second scaling layer is easily removed from the data stream prior to transmission, so that the decoder designates only the first scaling layer. Can be addressed.

복호기 측에서, 하나의 심리음향 부호화 데이터만을 처리할 수 있는 "베이스 복호기"는, 광대역 전송 채널을 통해 수신되는 한, 제2 스케일링 레이어(82)를 쉽게 생략할 수 있다. 그러나, 복호기가 심리음향 복호화 알고리즘과 정수 복호화 알고리즘을 둘다 포함하는 완전히 갖추어진 복호기라면, 완전히 갖추어진 이 복호기는, 무손실 부호화되고 다시 복호화 출력 신호를 생성시키기 위하여 복호화를 위한 제1 스케일링 레이어와 제2 스케일링 레이어를 모두 취할 수 있다. On the decoder side, the " base decoder " capable of processing only one psychoacoustic encoded data can easily omit the second scaling layer 82 as long as it is received via the wideband transport channel. However, if the decoder is a fully equipped decoder that includes both a psychoacoustic decoding algorithm and an integer decoding algorithm, the fully equipped decoder is lossless coded and again includes a first scaling layer and a second scaling layer for decoding to generate a decoded output signal. It can take all of the scaling layers.

도 8a에 개략적으로 도시된 본 발명의 바람직한 실시예에서, 하나의 프레임을 위한 심리음향 부호화 데이터는 다시 제1 스케일링 레이어에 있게 된다. 그러나, 도 8a의 제2 스케일링 레이어는 더 정밀하게 스케일링되어(scaled), 도 8a의 이 제2 스케일링 레이어로부터 (더 작은) 제2 스케일링 레이어, 제3 스케일링 레이어, 제4 스케일링 레이어 등과 같은 몇개의 스케일링 레이어들이 생긴다. In the preferred embodiment of the present invention schematically shown in FIG. 8A, the psychoacoustic encoded data for one frame is again in the first scaling layer. However, the second scaling layer of FIG. 8A is scaled more precisely, so that from this second scaling layer of FIG. 8A some of the second (smaller) scaling layer, third scaling layer, fourth scaling layer, etc. Scaling layers are created.

가산기(adder)(59)에서 출력된 차분 스펙트럼 값은, 도 9를 기초하여 설명된 바와 같이, 특히 추가 서브스케일링(further subscaling)에 매우 적합하다(suited). 도 9는 이진 부호화 스펙트럼 값(binarily coded spectral values)을 개략적으로 도시한다. 도 9의 각 열(90)은 이진 부호화 차분 스펙트럼 값을 나타낸다. 도 9에서, 차분 스펙트럼 값은 화살표 91로 표시된 바와 같이 주파수에 따라 분류된다(sorted). 따라서, 차분 스펙트럼 값(92)은 차분 스펙트럼 값(90) 보다 높은 주파수(higher frequency)를 가진다. 도 9의 표의 첫번째 열(the first column)은 하나의 차분 스펙트럼 값의 최상위 비트(most significant bit)를 제공한다. 두 번째 자릿수(the second digit)는 중요도(significance) MSB-1을 갖는 비트를 제공하고, 세 번째 열은 중요도(significance) MSB-2를 갖는 비트를 제공한다. 뒤에서부터 세 번째 열은 중요도 LSB+2를 갖는 비트를 제공한다. 뒤에서부터 두 번째 열은 중요도 LSB+1을 갖는 비트를 제공한다. 마지막으로, 마지막 열은 중요도 LSB를 갖는 비트, 즉 차분 스펙트럼 값의 최하위 비트(least significant bit)를 제공한다.The differential spectral values output from adder 59 are particularly suited for further subscaling, as described based on FIG. 9. 9 schematically illustrates binary coded spectral values. Each column 90 in FIG. 9 represents a binary coded differential spectrum value. In FIG. 9, the differential spectral values are sorted according to frequency as indicated by arrow 91. Thus, the differential spectral value 92 has a higher frequency than the differential spectral value 90. The first column of the table of FIG. 9 provides the most significant bit of one differential spectral value. The second digit gives the bit with importance MSB-1, and the third column gives the bit with importance MSB-2. The third column from the back provides the bits with importance LSB + 2. The second column from the back provides the bits with importance LSB + 1. Finally, the last column provides the bits with the importance LSB, i.e., the least significant bits of the differential spectral values.

본 발명의 바람직한 실시예에 있어서, 정밀 스케일링(accuracy scaling)은, 원할 경우 그 다음에 엔트로피 부호기(60b)로 엔트로피 부호화되도록, 예를 들어 차분 스펙트럼 값의 16 최상위 비트가 제2 스케일링 레이어로 취해질 때 이루어진다. 제2 스케일링 레이어를 사용하는 복호기는 출력부 측에 16 비트의 정확도로 차분 스펙트럼 값을 얻어, 제2 스케일링 레이어가 제1 스케일링 레이어와 함께 CD 음질(quality)로 무손실 복호화 오디오 신호를 제공한다. 16 비트의 폭(width)을 갖는 CD 음질의 오디오 샘플들이 있는 것으로 알려져 있다.In a preferred embodiment of the present invention, precision scaling is performed, for example, when the 16 most significant bits of the differential spectral values are taken into the second scaling layer so that if desired, entropy coded by the entropy encoder 60b. Is done. The decoder using the second scaling layer obtains a differential spectral value with an accuracy of 16 bits on the output side, so that the second scaling layer together with the first scaling layer provides a lossless decoded audio signal in CD quality. It is known that there are audio samples of CD quality with a width of 16 bits.

다른 한편으로 스튜디오 음질(studio quality)의 오디오 신호, 즉 각기 24 비트를 포함하는 샘플들을 갖는 오디오 신호가 부호기에 공급되면, 부호기는 최종 8 비트(the last eight bits)의 차분 스펙트럼 값을 포함하고, 필요에 따라 엔트로피 부호화도 되는 제3 스케일링 레이어[도 6의 수단(60)]을 추가로 생성시킬 수 있다.On the other hand, if a studio quality audio signal, i.e. an audio signal having samples each comprising 24 bits, is supplied to the encoder, the encoder comprises a differential spectral value of the last eight bits, If necessary, a third scaling layer (means 60 in FIG. 6), which is also entropy encoded, may be further generated.

제1 스케일링 레이어, 제2 스케일링 레이어(16 최상위 비트의 차분 스펙트럼 값) 그리고 제3 스케일링 레이어(8 하위 비트의 차분 스펙트럼 값)를 갖는 데이터 스트림을 얻는 완전히 갖추어진 복호기는, 세가지 모두의 스케일링 레이어들을 사용하여 스튜디오 음질의, 즉, 복호기의 출력부에 존재하는 24 비트의 샘플의 단어 폭(word width)을 갖는, 무손실 부호화/복호화 오디오 신호를 제공할 수 있다.A fully equipped decoder that obtains a data stream having a first scaling layer, a second scaling layer (difference spectral value of 16 most significant bits), and a third scaling layer (difference spectral value of 8 lower bits), obtains all three scaling layers. Can be used to provide a lossless encoded / decoded audio signal of studio quality, i.e., having a word width of a 24-bit sample present at the output of the decoder.

스튜디오 영역(studio area)에서는 소비자 영역(consumer area)에서 보다 상위 단어 길이(higher word length)를 갖는 샘플들이 더 일반적이다. 소비자 영역에서 단어 폭은 오디오 CD로 16 비트인 반면, 스튜디오 영역에서 24 비트 또는 20 비트가 사용된다.In the studio area, samples with higher word length are more common than in the consumer area. In the consumer domain, the word width is 16 bits for the audio CD, whereas in the studio domain, 24 or 20 bits are used.

전술된 바와 같은 IntMDCT 영역에서의 스케일링의 개념에 기초하여, 모든 3가지 정확도(accuracies)(16 비트, 20 비트 또는 24 비트) 또는 최소한 1 비트로 스케일링된(scaled) 임의 정확도(arbitrary accuracies)가 스케일링가능하게 부호화될(scalably coded) 수 있다. Based on the concept of scaling in the IntMDCT domain as described above, all three accuracies (16 bits, 20 bits or 24 bits) or arbitrary accuracies scaled to at least 1 bit are scalable Can be coded well.

여기서, 24 비트 정확도로 제공되는 오디오 신호는, 역 IntMDCT의 도움으로 정수 스펙트럼 영역에 제공되고, 청각-적응 MDCT-기초 오디오부호기 출력 신호(hearing-adapted MDCT-based audiocoder output signal)에 스케일링가능하게 결합된다(scalably combined). Here, the audio signal provided with 24-bit accuracy is provided in the integer spectral region with the aid of inverse IntMDCT, and is scalable to be coupled to the hearing-adapted MDCT-based audiocoder output signal. Scalably combined.                 

무손실 표시(lossless representation)를 위해 존재하는 정수 차분 값은 하나의 스케일링 레이어에서 완벽하게 부호화되지 않고 처음에는 하위 정확도로 부호화된다. 추가 스케일링 레이어에서만, 정확한 표시를 위해 필수적인 잔류 값이 전송된다. 그러나, 이와 달리, 차분 스펙트럼 값은 전체로, 즉 예를 들어 24 비트로, 하나의 추가 레이어에서도 표시될 수 있어, 이 추가 스케일링 레이어의 복호화를 위해 하위 스케일링 레이어(underlying scaling layer)가 필요하지 않다. 그러나, 이 시나리오(scenario)는 전체적으로 상위 비트 스트림 크기(higher bit stream size)에 이르게 하나, 복호기에서 스케일링 레이어는 그 다음에 더 이상 결합되지 않고 하나의 스케일링 레이어 단독으로도 복호화할 수 있기 때문에 전송 채널의 대역폭이 문제되지 않을(unproblematic) 때는 복호기의 간소화(simplification)에 기여할 수 있다. Integer differential values present for lossless representation are not fully encoded in one scaling layer but are initially encoded with lower accuracy. Only in the additional scaling layer, the residual values necessary for accurate display are transmitted. Alternatively, however, the differential spectral values may be represented entirely, i.e., 24 bits, in one additional layer, so that an underlying scaling layer is not needed for decoding of this additional scaling layer. However, this scenario leads to a higher bit stream size as a whole, but since the scaling layer in the decoder is then no longer combined and can be decoded by one scaling layer alone, the transport channel When the bandwidth of the signal is unproblematic, it can contribute to the simplification of the decoder.

예를 들어 도 9에 도시된 하위 8 LSB(the lower eight LSB)가 먼저 전송되지 않는다면, 24 비트와 16 비트 사이의 스케일러빌리티가 달성된다.For example, if the lower eight LSBs shown in FIG. 9 are not transmitted first, scalability between 24 and 16 bits is achieved.

하위 정확도로 시간 도메인으로 전송된 값들의 역 변환을 위해, 전송된 값들은 예를 들어 28을 그들에 곱함에 의해 원래의 영역으로, 예를 들어 24 비트로, 역 스케일링화되는(scaled back) 것이 바람직하다. 그 다음에 역 IntMDCT가 상응 역 스케일링화 값(correspondingly scaled-back values)에 적용된다.For inverse conversion of values transmitted in the time domain with lower accuracy, the transmitted values are inversely scaled back to the original region, for example 24 bits, for example by multiplying them by 2 8 . desirable. Inverse IntMDCT is then applied to correspondingly scaled-back values.

본 발명의 주파수 도메인에서의 정밀 스케일링에 있어서, LSBs의 중복성(redundancy)을 이용하는 것도 선호된다. 예를 들어 오디오 신호가 상위 주파수 도 메인(upper frequency domain)에서 매우 적은 에너지를 가진다면 이것은 또한 IntMDCT 스펙트럼에서 매우 작은 값, 예를 들어 8 비트로 가능한 값(-128, ..., 127) 보다 상당히 더 작은 값을 나타낸다. 이것은 IntMDCT 스펙트럼의 LSB값의 압축성(compressibility)에 나타나 있다. 또한, 매우 작은 차분 스펙트럼 값, 대표적으로 MSB에서 MSB-1의 다수의 비트들은 대체로 0 이며, 게다가 이진 부호화 차분 스펙트럼 값의 첫 번째, 즉, 리딩(leading) 1은 유효자릿수(significance) MSB-n-1을 갖는 비트 앞에 나타나지 않는다. 그러한 경우에, 제2 스케일링 레이어의 차분 스펙트럼 값이 0 만을 포함할 때 엔트로피 부호화는 특히 추가 데이터 압축에 매우 적합하다.In the fine scaling in the frequency domain of the present invention, it is also preferable to use the redundancy of LSBs. For example, if an audio signal has very little energy in the upper frequency domain, it is also significantly smaller than the possible values (-128, ..., 127) in the IntMDCT spectrum, for example, 8 bits. Represent a smaller value. This is shown in the compressibility of LSB values of the IntMDCT spectrum. In addition, very small differential spectral values, typically the majority of bits of MSB-1 in the MSB, are generally zero, and in addition, the first of the binary coded differential spectral values, i.e. leading 1, is the significance MSB-n. Does not appear before the bit with -1. In such a case, entropy coding is particularly well suited for further data compression when the differential spectral value of the second scaling layer contains only zero.

본 발명의 다른 실시예에 따르면, 도 8a의 제2 스케일링 레이어에 있어서 하나의 샘플 레이트 스케일러빌리티(sample rate scalability)가 선호된다. 샘플 레이트 스케일러빌리티는 도 9의 오른쪽에 도시된 바와 같이 제2 스케일링 레이어에 포함된 제1 차단 주파수까지의 차분 스펙트럼 값에 의해 얻어지는 반면, 제1 차단 주파수와 최대 주파수 사이의 주파수를 갖는 차분 스펙트럼 값은 추가 스케일링 레이어에 포함된다. 물론, 추가 스케일링은 몇몇의 스케일링 레이어가 전체 주파수 도메인(entire frequency domain)으로 만들어지도록 실행될 수 있다.According to another embodiment of the present invention, one sample rate scalability is preferred for the second scaling layer of FIG. 8A. Sample rate scalability is obtained by the difference spectrum value up to the first cutoff frequency included in the second scaling layer, as shown on the right side of FIG. 9, while the difference spectrum value having a frequency between the first cutoff frequency and the maximum frequency. Is included in the additional scaling layer. Of course, further scaling may be performed such that several scaling layers are made in the entire frequency domain.

본 발명의 바람직한 실시예에 있어서, 도 9의 제2 스케일링 레이어는, 48 kHz의 샘플 레이트에 해당하는 24 kHz의 주파수까지 차분 스펙트럼 값을 포함한다. 그 다음에 제3 스케일링 레이어는 96 kHz의 샘플 레이트에 해당하는 24 kHz에서 48 kHz까지의 스펙트럼 값을 포함한다. In a preferred embodiment of the present invention, the second scaling layer of FIG. 9 includes differential spectral values up to a frequency of 24 kHz corresponding to a sample rate of 48 kHz. The third scaling layer then includes spectral values from 24 kHz to 48 kHz corresponding to a sample rate of 96 kHz.                 

제2 스케일링 레이어와 제3 스케일링 레이어에서 차분 스펙트럼 값의 모든 비트가 반드시 부호화되어야만 하는 것은 아니다. 결합 스케일러빌리티(combined scalability)의 추가 형태에서, 제2 스케일링 레이어는 MSB 내지 MSB-X 비트의 차분 스펙트럼 값을 특정(certain) 차단 주파수까지 포함할 수 있다. 그 다음에 제3 스케일링 레이어는 MSB 내지 MSB-X 비트의 차분 스펙트럼 값을 제1 차단 주파수에서 최대 주파수까지 포함할 수 있다. 그 다음에 제4 스케일링 레이어는 잔류 비트(residual bits)의 차분 스펙트럼 값을 차단 주파수까지 포함할 수 있다. 그 다음에 최종 스케일링 레이어는 상위 주파수를 위한, 잔류 비트의 차분 스펙트럼 값을 포함할 수 있다. 이 개념은 도 9의 표를 각 면이 하나의 스케일링 레이어를 나타내는 4 분면(quarter)으로 분할되게 한다.Not all bits of the differential spectral values in the second and third scaling layers need to be coded. In a further form of combined scalability, the second scaling layer may include differential spectral values of MSB to MSB-X bits up to a specific cutoff frequency. The third scaling layer can then include differential spectral values of the MSB to MSB-X bits from the first cutoff frequency to the maximum frequency. The fourth scaling layer can then include differential spectral values of residual bits up to the cutoff frequency. The final scaling layer can then include the differential spectral value of the residual bits for the higher frequency. This concept causes the table of FIG. 9 to be divided into quarters, each representing one scaling layer.

주파수의 스케일러빌리티와 관련하여, 본 발명의 바람직한 실시예에서 48 kHz 및 96 kHz 샘플 레이트 사이의 스케일러빌리티가 설명된다. 96 kHz 샘플 신호는 먼저 무손실 확장 레이어(lossless extension layer)의 IntMDCT 영역에서 하프(half)만이 부호화되고 전송된다. 상위부(upper part)가 추가로 전송되지 않는다면, 복호기에서 0으로 인식된다. 역 IntMDCT (부호기에서와 동일한 길이), 그 다음에 상위 주파수 도메인의 에너지를 포함하지 않아 음질 손실(quality losses) 없이 48kHz에서 서브샘플링될(subsampled) 수 있는 96 kHz 신호가 생성된다.Regarding the scalability of frequency, in a preferred embodiment of the present invention, scalability between 48 kHz and 96 kHz sample rates is described. The 96 kHz sample signal is first encoded and transmitted only in the IntMDCT region of the lossless extension layer. If the upper part is not sent further, it is recognized as 0 in the decoder. Inverse IntMDCT (the same length as in the encoder), followed by a 96 kHz signal that does not include the energy of the higher frequency domain, which can be subsampled at 48 kHz without quality losses.

실제로 스케일링 레이어에 예를 들어 16 비트 또는 8 비트 또는 차단 주파수까지 또는 차단 주파수보다 높은 스펙트럼 값이 포함되어야만 하기 때문에, 고정 경계선(fixed boundaries)을 갖는 도 9의 4분면에서의 차분 스펙트럼 값의 스케일 링은 스케일링 레이어의 크기에 관해서는 유리하다.In practice, scaling of differential spectral values in the quadrant of FIG. 9 with fixed boundaries, since the scaling layer must include, for example, 16-bit or 8-bit or spectral values higher than or above the cutoff frequency. Is advantageous with regard to the size of the scaling layer.

다른 스케일링은 도 9의 4분면 경계선을 얼마간 "약화시키는(soften)" 것이다. 주파수 스케일러빌리티의 예시에서, 이것은 차분 스펙트럼 값이 차단 주파수 앞에서는 불변이고 차단 주파수 다음에는 0인 소위 "장벽 저역 통과(brickwall low pass)"에 적용하지 않는 것을 의미할 수 있다. 그 대신에, 차단 주파수 아래의 스펙트럼 값은 다소 저해하나 차단 주파수 위의 스펙트럼 값은 차분 스펙트럼 값이 에너지를 감소시킴에도 불구하고 여전히 에너지를 유지시키는 임의 저역 통과로 차분 스펙트럼 값이 또한 필터링될 수 있다. 그 다음에 그렇게 생성된 스케일링 레이어에 차단 주파수 위의 스펙트럼 값이 또한 포함된다. 그러나 이 스펙트럼 값들은 상대적으로 작기 때문에 엔트로피 부호화에 의해 유효하게 부호화될 수 있다. 이 경우 최상위 스케일링 레이어(the highest scaling layer)는 완전 차분(complete difference) 스펙트럼 값과 제2 스케일링 레이어에 포함된 스펙트럼 값 사이의 차분을 가진다. Another scaling is to “soften” some of the quadrant boundaries of FIG. 9. In the example of frequency scalability, this may mean that the differential spectral value does not apply to a so-called "brickwall low pass" where the difference spectrum value is unchanged before the cutoff frequency and zero after the cutoff frequency. Instead, the spectral values below the cutoff frequency are somewhat hindered but the spectral values above the cutoff frequency can also be filtered out with any lowpass that still retains energy despite the differential spectral value decreasing energy. . The resulting scaling layer then also includes spectral values above the cutoff frequency. However, since these spectral values are relatively small, they can be effectively coded by entropy coding. In this case, the highest scaling layer has a difference between a complete difference spectrum value and a spectral value included in the second scaling layer.

정밀 스케일링(accuracy scaling)은 유사하게 얼마간 약화될 수 있다. 제1 스케일링 레이어는 예를 들어 16 비트보다 큰 스펙트럼 값을 또한 가질 수 있으며, 여기서 다음 스케일링 레이어는 그 후에 여전히 차분을 가진다. 대체로, 다음 스케일링 레이어의 레스트(rest), 즉, 완전 스펙트럼 값과, 제2 스케일링 레이어에 포함된 스펙트럼 값 사이의 차분이 전송되기 때문에 제2 스케일링 레이어는 이와 같이 낮은 정확도로 차분 스펙트럼 값을 가진다. 이로써, 정확도의 가변성(variable accuracy)이 축소된다. Precision scaling can similarly be weakened to some extent. The first scaling layer can also have a spectral value, for example greater than 16 bits, where the next scaling layer still has a difference thereafter. In general, the second scaling layer has a differential spectral value with such a low accuracy because the difference between the rest of the next scaling layer, that is, the full spectral value and the spectral value included in the second scaling layer, is transmitted. This reduces the variable accuracy of accuracy.                 

본 발명의 부호화 또는 복호화 방법은 전자식 판독가능 제어 신호(electronically readable control signals)로 플로피 디스크와 같은 디지털 저장 매체(digital storage medium)에 저장되는 것이 바람직하며, 여기서 제어 신호가 프로그램가능 컴퓨터(programmable computer)와 협력하여 부호화 및/또는 복호화 방법이 실행될 수 있다. 바꾸어 말하면, 프로그램 제품이 컴퓨터에서 실행될 때, 부호화 방법 및/또는 복호화 방법을 실행하기 위한 기계 판독형 매체(machine-readable carrier)에 저장된 프로그램 부호를 갖는 컴퓨터 프로그램 제품이 있다. 본 발명의 방법은, 컴퓨터 프로그램이 컴퓨터에서 실행될 때 본 발명의 방법을 실행하기 위한 프로그램 부호로 실현될 수 있다.The encoding or decoding method of the present invention is preferably stored in a digital storage medium such as a floppy disk as electronically readable control signals, where the control signal is a programmable computer. The encoding and / or decoding method may be executed in cooperation with. In other words, there is a computer program product having a program code stored in a machine-readable carrier for executing an encoding method and / or a decoding method when the program product is executed in a computer. The method of the present invention can be realized with program code for executing the method of the present invention when the computer program is executed on a computer.

다음에, 정수 변환 알고리즘의 하나의 예시로서, "정수 변환에 의존하는 오디오 부호화(Audio Coding Based on Integer Transforms)" [111차 AES Convention, 뉴욕, 2001]에 설명된 IntMDCT 변환 알고리즘에 이른다. IntMDCT는 오디오 신호, 임계 샘플링(critical sampling) 및 블록 중첩의 우수한 스펙트럼 표시와 같은 MDCT의 두드러진 특성을 가지기 때문에 특히 유리하다. 도 5에 화살표 62로 도시된 바와 같이, 하나의 IntMDCT가 MDCT의 우수한 근사치(good approximation)인 것은 도 5에 나타낸 복호기에서 단 하나의 변환 알고리즘만을 사용하는 것을 가능하게 한다. 도 1 내지 4를 기초로 하여, 이 특정 형태의 정수 변환 알고리즘의 실질적 특성이 설명된다. Next, as an example of the integer transform algorithm, it leads to the IntMDCT transform algorithm described in "Audio Coding Based on Integer Transforms" [111st Order AES Convention, New York, 2001]. IntMDCT is particularly advantageous because it has the salient characteristics of MDCT, such as an excellent spectral representation of the audio signal, critical sampling and block superposition. As shown by arrow 62 in FIG. 5, the fact that one IntMDCT is a good approximation of MDCT makes it possible to use only one transform algorithm in the decoder shown in FIG. 5. On the basis of Figs. 1 to 4, substantial characteristics of this particular type of integer conversion algorithm are described.

도 1은, Int-MDCT 정수 변환 알고리즘이 동작하는 정수 값을 얻기 위해 하나의 오디오 신호를 나타내는 시간-이산 샘플들을 처리하기 위한 본 발명의 바람직한 장치의 개략도를 나타낸다. 시간-이산 샘플들은 도 1에 도시된 장치에 의해 윈도윙되고 선택적으로 스펙트럼 표시로 변환된다. 입력부(10)에서 장치로 공급된 시간-이산 샘플들은, 정수 윈도윙 샘플들을 출력부(12)에 얻기 위해 2N 시간-이산 샘플들에 상응하는 길이를 갖는 하나의 원도우(w)로 윈도윙되고, 이것은 변환 그리고 특히 하나의 정수 DCT를 실행하기 위한 수단(14)에 의해 하나의 스펙트럼 표시로 변환되기에 적합하다. 도 4a의 MDCT 함수(408)와는 달리, 정수 DCT는 N 입력값으로부터 N 출력값을 생성시키도록 만들어지며, 이것은 MDCT 식(equation)으로 인해 2N 윈도윙된 샘플들로부터 N 스펙트럼 값들만을 생성시킨다. 1 shows a schematic diagram of a preferred apparatus of the present invention for processing time-discrete samples representing one audio signal to obtain an integer value at which the Int-MDCT integer conversion algorithm operates. Time-discrete samples are windowed by the apparatus shown in FIG. 1 and optionally converted into spectral representations. The time-discrete samples supplied to the device at the input 10 are windowed into one window w having a length corresponding to 2N time-discrete samples to obtain integer windowing samples at the output 12. This is suitable for conversion into one spectral representation by means of conversion and in particular means 14 for carrying out one integer DCT. Unlike the MDCT function 408 of FIG. 4A, the integer DCT is made to produce an N output value from the N input value, which only generates N spectral values from 2N windowed samples due to the MDCT equation.

시간-이산 샘플들을 윈도윙하기 위해, 먼저 시간-이산 샘플들의 하나의 벡터를 동시에 나타내는 두개의 시간-이산 샘플들이 수단(16)에서 선택된다. 수단(16)에 의해 선택된 시간-이산 샘플들은 윈도우의 제1 4분면(the frist quarter)에 있다. 다른 시간-이산 샘플은, 도 3에 기초하여 더욱 상세히 설명된 윈도우의 제2 4분면에 있다. To window the time-discrete samples, firstly two time-discrete samples are selected in means 16 which simultaneously represent one vector of time-discrete samples. The time-discrete samples selected by the means 16 are in the frist quarter of the window. Another time-discrete sample is in the second quadrant of the window described in more detail based on FIG. 3.

수단(16)에 의해 생성된 벡터에 2X2 차원(dimension)의 회전 매트릭스가 적용되는데, 여기서 이 연산(operation)은 몇몇의 소위 리프팅 매트릭스(lifting matrices)에 의한 것을 제외하고는 즉시 실행되지 않는다.A rotation matrix of 2 × 2 dimension is applied to the vector produced by the means 16, where this operation is not executed immediately except by some so-called lifting matrices.

리프팅 매트릭스는 윈도우 (w)에 의존하고 "1" 또는 "0"이 아닌 하나의 요소(element)로만 구성되는 특성을 가진다. 리프팅 단계로의 웨이브렛 변환(wavelet transform)의 인수분해(factorization)가 잉그리드 다우베치즈(Ingrid Daubechies) 및 윔 스웰덴스(Wim Sweldens)의 출판물 "Factoring Wavelet Transforms Into Lifting Steps" [견본인쇄(preprint), 벨 래버러토리즈(Bell Laboratories), 루센트 테크놀로지즈(Lucent Technologies), 1996년]에 설명되어 있다. 일반적으로, 리트팅 체계(lifting scheme)는 동일한 저역 또는 고역 필터(high-pass)를 갖는 완벽하게 복원된 필터 쌍들(perfectly reconstructed filter pairs) 사이의 단순 관계(simple relation)이다. 각 쌍의 상보 필터들(complementary filters)은 리프팅 단계로 인수분해될(factorized) 수 있다. 이것은 특히 기븐스 회전(Givens rotations)에 적용된다. 다상 매트릭스(poly-phase matrix)가 하나의 기븐스 회전인 경우를 고려하면, 다음이 적용된다.The lifting matrix has a property that depends on the window w and consists of only one element, not "1" or "0". The factorization of the wavelet transform to the lifting step is published by Ingrid Daubechies and Weim Sweldens, "Factoring Wavelet Transforms Into Lifting Steps" [preprint , Bell Laboratories, Lucent Technologies, 1996. In general, the lifting scheme is a simple relation between perfectly reconstructed filter pairs with the same low or high-pass filter. Each pair of complementary filters may be factorized in the lifting step. This applies in particular to Givens rotations. Considering the case where the poly-phase matrix is one Givens rotation, the following applies.

Figure 112004047222971-pct00001
Figure 112004047222971-pct00001

등호 오른쪽의 세개의 리프팅 매트릭스 각각은 주 대각선 요소(main diagonal elements)로서 값 "1"을 가진다. 또한, 각 리프팅 매트릭스에서 주 대각선에 있지 않은 하나의 요소는 0 이고, 주 대각선에 있지 않은 하나의 요소는 회전 각도에 달려있다.Each of the three lifting matrices to the right of the equal sign have the value "1" as the main diagonal elements. Also, in each lifting matrix one element not on the major diagonal is zero, and one element not on the major diagonal depends on the angle of rotation.

벡터는 제1 결과 벡터를 얻기 위해 제3 매트릭스, 즉 상기 식에서 제일 오른쪽에 있는 리프팅 매트릭스로 곱해진다. 이것은 도 1에 수단(18)에 의해 설명되어 있다. 제1 결과 벡터는, 도 1에 수단(20)으로 설명된 바와 같이, 실수 세트를 정수 세트로 맵핑하는(mapping) 임의 라운딩 함수(arbitrary rounding function)로 라운딩된다. 수단(20)의 출력부에서, 라운딩 제1 결과 벡터(rounded first result vector)가 얻어진다. 라운딩 제2 결과 벡터를 얻기 위해 수단(24)에서 다시 라운딩되는 제2 결과 벡터를 얻기 위하여 라운딩 제1 결과 벡터가 가운데, 즉 제2 리프팅 매트릭스를 곱하기 위한 수단(22)으로 공급된다. 라운딩 제2 결과 벡터는, 그 스펙트럼 표시가 필요할 때 스펙트럼 출력부(30)에 정수 스펙트럼 값을 얻기 위해 수단(14)에 의해 처리되어야만 하는 정수 윈도윙 샘플들(integer windowed samples)을 출력부(12)에 얻기 위한 수단(28)으로 여전히 라운딩되는 제3 결과 벡터를 얻기 위해 상기 식의 왼쪽에 보이는 리프팅 매트릭스, 즉 첫 번째 것을 곱하기 위한 수단(26)으로 공급된다.The vector is multiplied by a third matrix, i.e. the rightmost lifting matrix, in order to obtain the first result vector. This is illustrated by means 18 in FIG. 1. The first result vector is rounded with an arbitrary rounding function that maps the real set to an integer set, as described by means 20 in FIG. 1. At the output of the means 20, a rounded first result vector is obtained. A rounding first result vector is fed to the middle 22, ie, means for multiplying the second lifting matrix, to obtain a second result vector that is rounded again in means 24 to obtain a rounding second result vector. The rounding second result vector outputs integer windowed samples that must be processed by means 14 to obtain an integer spectral value at spectral output 30 when its spectral representation is needed. Is fed to the lifting matrix shown to the left of the equation, i.e. the means 26 for multiplying the first one, to obtain a third result vector that is still rounded to a means 28 for obtaining.

수단(14)은 정수 DCT로 구체화하는 것이 바람직하다.The means 14 is preferably embodied in an integer DCT.

N 길이를 갖는 유형(type) 4 (DCT-IV)에 따른 이산 코사인 변환이 다음 식으로 주어진다:The discrete cosine transform according to type 4 (DCT-IV) with length N is given by:

Figure 112004047222971-pct00002
Figure 112004047222971-pct00002

DCT-IV의 계수는 정방형(orthonormal) N x N 매트릭스를 형성한다. 각 정방형 N x N 매트릭스는, 피. 피. 배이디어나단(P. P. Vaidyanathan)의 출판물 "다중속도 시스템 및 필터 뱅크(Multirate Systems And Filter Banks)" [ 프렌티스 홀(Prentice Hall), 엔글우드 클리프스(Englewood Cliffs), 1993년]에 설명된 바와 같이, N (N-1)/2 기븐스 회전(Givens rotations)으로 분할될 수 있다. 추가 분할이 있음을 알 수 있다. The coefficients of DCT-IV form an orthonormal N × N matrix. Each square N x N matrix is p. blood. As described in PP Vaidyanathan's publication "Multirate Systems And Filter Banks" (Prentice Hall, Englewood Cliffs, 1993). , N (N-1) / 2 Givens rotations. It can be seen that there is an additional split.                 

여러 가지 DCT 알고리즘의 분류와 관련하여, 에이취. 에스. 맬버(H. S. Malvar)의 "(랩 변환을 갖는 신호 처리(Signal Processing With Lapped Transforms)" [아르테크 하우스(Artech House), 1992년]을 참조한다. 일반적으로 DCT 알고리즘들은 그 기저 함수(basis function)의 종류가 다르다. 본 발명에서 선호되는 DCT-IV는, 비대칭형 기저 함수, 즉 코사인 쿼터 파장, 코사인 3/4 파장, 코사인 5/4 파장, 코사인 7/4 파장 등을 포함하나, 예를 들어 유형 II (DCT-II)의 이산 코사인 변환은 축-대칭 그리고 점-대칭 기저 함수(axis-symmetrical and point-symmetrical basis functions)를 가진다. 0번째 기저 함수는 하나의 DC 요소를 가지며, 제1 기저 함수는 코사인 파장의 반(half)이고, 제2 기저 함수는 전체 코사인 파장 등이다. DCT-II 가 특히 DC 요소를 참작한다는 사실로 인하여, 비디오 부호화와는 달리 오디오 부호화에서 DC 요소는 무관하기 때문에 이것은 오디오 부호화가 아닌 비디오 부호화에서 사용된다.Regarding the classification of various DCT algorithms, H. s. See Malcolm's "Signal Processing With Lapped Transforms" [Artech House, 1992.] In general, DCT algorithms have their basis function. The DCT-IV preferred in the present invention includes an asymmetric basis function, that is, a cosine quarter wavelength, a cosine 3/4 wavelength, a cosine 5/4 wavelength, a cosine 7/4 wavelength, and the like. Discrete cosine transforms of type II (DCT-II) have axis-symmetrical and point-symmetrical basis functions, where the 0th basis function has one DC element and the first basis The function is half the cosine wavelength, the second base function is the total cosine wavelength, etc. Due to the fact that DCT-II takes into account the DC component in particular, unlike video encoding, since the DC component is irrelevant This is the audio encoding Used in non-video encoding.

다음에서, 기븐스 회전의 회전 각도 a가 윈도우 함수에 어떻게 의존하는지 설명한다.In the following, it is explained how the rotation angle a of the Givens rotation depends on the window function.

2N 윈도우 길이를 갖는 MDCT는 N 길이를 갖는 유형 IV의 이산 코사인 변환을 축소시킬 수 있다. 이것은 시간 도메인과, 그 다음에 적용되는 DCT-IV에서 명시적으로 실행되는 TDAC 연산에 의해 달성된다. 블록(t)의 윈도우의 왼쪽 반이 선행 블록, 즉 블록(t-1)의 오른쪽 반과 50% 중첩으로 중첩된다. 두 개의 연속적인 블록들(t-1과 t)의 중첩부는 시간 도메인에서, 변환 이전에, 즉 도 1의 입력부(10)와 출력부(12) 사이에 다음과 같이 예비처리(preprocessed)된다: MDCT with 2N window length can reduce the discrete cosine transform of type IV with N length. This is accomplished by a TDAC operation explicitly executed in the time domain and then DCT-IV applied. The left half of the window of block t overlaps with the preceding block, i.e., the right half of block t-1, by 50% overlap. The overlap of two consecutive blocks (t-1 and t) is preprocessed in the time domain, before conversion, ie between the input 10 and the output 12 of FIG. 1 as follows:                 

Figure 112004047222971-pct00003
Figure 112004047222971-pct00003

상기 식에서 틸데(tilde; ~)없이 지정된(addressed) x 값은 입력부(10)에서의 값이거나 선택 수단(16) 뒤의 값인 반면, 틸데(tilde; ~)가 있는 x 값은 도 1의 출력부(12)에서의 값이다. w가 윈도우 함수를 나타내는 반면, 운전 지표(running index) k는 0 에서 N/2-1 까지의 값이다.In the above equation, an x value addressed without a tilde is a value at the input unit 10 or a value after the selection means 16, while an x value with a tilde is the output unit of FIG. It is the value in (12). While w represents the window function, the running index k is a value from 0 to N / 2-1.

윈도우 함수(w)를 위한 TDAC 조건(condition)으로부터 다음의 관계가 적용된다:From the TDAC condition for the window function w the following relationship applies:

Figure 112004047222971-pct00004
Figure 112004047222971-pct00004

임의의 각도 ak (k = 0, . . . ., N/2-1)를 위해, 시간 도메인에서의 이 예비처리는 전술된 바와 같이 기븐스 회전으로 기록될 수 있다.For any angle a k (k = 0,..., N / 2-1), this pretreatment in the time domain can be recorded in Givens rotation as described above.

기븐스 회전의 각도 a는 윈도우 함수(w)에 다음과 같이 의존한다:The angle a of the Givens rotation depends on the window function w as follows:

Figure 112004047222971-pct00005
Figure 112004047222971-pct00005

이 TDAC 조건과 부합하는 임의 윈도우 함수(arbitrary window functions; w)가 사용될 수 있다. Any window function (w) that meets this TDAC condition can be used.

다음에서, 도 2에 기초하여 계단식(cascaded) 부호기와 복호기가 설명된다. 하나의 윈도우로 같이 윈도윙된(windowed) 시간-이산 샘플들[x(0) 내지 x(2N-1)]은 처음에 도 1의 수단(16)에 의해 선택되어 샘플 [x(0)]과 샘플 [x(N-1)] , 즉 원도우의 제1 4분면의 샘플과 윈도우의 제2 4분면의 샘플이 수단(16)의 출력부에 벡터를 만들기 위하여 선택된다. 횡단 화살표들이 DCT-IV 블록의 입력부에 정수 윈도윙 샘플들을 얻기 위한 리프팅 곱셈과 수단(18, 20 또는 22, 24 또는 26, 28)의 연속적인 라운딩(ensuing roundings)을 개략적으로 설명한다.In the following, a cascaded encoder and decoder are described based on FIG. The time-discrete samples (x (0) through x (2N-1)) windowed together into one window are initially selected by means 16 of FIG. 1 to obtain a sample [x (0)]. And samples [x (N-1)], i.e., samples of the first quadrant of the window and samples of the second quadrant of the window, are selected to produce a vector at the output of the means 16. The cross arrows outline the lifting multiplication and the successive roundings of the means 18, 20 or 22, 24 or 26, 28 to obtain integer windowing samples at the input of the DCT-IV block.

제1 벡터가 상술한 대로 처리될 때, 제2 벡터가 샘플 [x(N/2-1) 및 x(N/2)], 즉 윈도우의 제1 4분면의 하나의 샘플과 윈도우의 제2 4분면의 하나의 샘플로부터 선택되고 다시 도 1에 설명된 알고리즘에 의해 처리된다. 윈도우의 제1 및 제2 4분면들의 모든 다른 샘플 쌍들이 그와 유사하게 처리된다. 제1 윈도우의 제3 및 제4 4분면들을 위해 동일한 처리가 실행된다. 도 2에 설명된 바와 같이, 하나의 DCT-IV 변환으로 공급되는 N 윈도윙 정수 샘플들이 출력부(12)에 존재한다. 특히, 제2 및 제3 4분면들의 정수 윈도윙 샘플들이 DCT로 공급된다. 윈도우의 제1 4분면의 윈도윙 정수 샘플들이 선행 윈도우의 제4 4분면의 윈도윙 정수 샘플들과 함께 선행 DCT-IV로 처리된다. 도 2의 윈도윙 정수 샘플들의 제4 4분면이 다음 윈도우의 제1 4분면과 함께 이와 유사하게 하나의 DCT-IV 변환으로 공급된다. 도 2에 나타낸 센터 정수 DCT-IV 변환(32)은 N 정수 스펙트럼 값[y(0) 내지 y(N-1)]을 제공한다. 이러한 정수 스펙트럼 값들은, 윈도윙과 변환이 정수 출력 값을 제공하기 때문에 필요한 양자화를 간섭받지 않고(without an intervening quantization) 쉽게 엔트로피 부호화될 수 있다. When the first vector is processed as described above, the second vector is a sample [x (N / 2-1) and x (N / 2)], i.e. one sample of the first quadrant of the window and the second of the window. One sample of the quadrant is selected and again processed by the algorithm described in FIG. All other sample pairs of the first and second quadrants of the window are similarly processed. The same processing is performed for the third and fourth quadrants of the first window. As illustrated in FIG. 2, there are N windowing integer samples fed to one DCT-IV transform at the output 12. In particular, integer windowing samples of the second and third quadrants are fed to the DCT. Windowing integer samples of the first quadrant of the window are treated with preceding DCT-IV along with windowing integer samples of the fourth quadrant of the preceding window. A fourth quadrant of the windowing integer samples of FIG. 2 is similarly fed to one DCT-IV transform with the first quadrant of the next window. The center integer DCT-IV transform 32 shown in FIG. 2 provides N integer spectral values y (0) to y (N-1). These integer spectral values can be easily entropy coded without out of an intervening quantization because windowing and transform provide an integer output value.                 

도 2의 오른쪽 반의 영역(half)에서 복호기가 설명된다. 역 변환과 "역 윈도윙"을 포함하는 복호기는 부호기의 역으로 동작한다. 도 2에 도시된 바와 같이 DCT-IV의 역 변환을 위해 역 DCT-IV가 사용될 수 있다. 수단(34) 또는 선행 및 후행 변환의 출력부에 정수 윈도윙 샘플들로부터 시간-이산 오디오 샘플들[x(0) 내지 x(2N-1)]을 다시 생성시키기 위하여, 도 2에 도시된 바와 같이, 복호기(DCT-IV)(34)의 출력 값이 선행 변환 또는 후행 변환의 상응하는 값으로 역 처리된다. The decoder is described in the half of the right half of FIG. Decoders that include inverse transforms and "inverse windowing" act as the inverse of the encoder. Inverse DCT-IV may be used for inverse transformation of DCT-IV as shown in FIG. 2. In order to regenerate time-discrete audio samples (x (0) to x (2N-1)) from the integer windowing samples at the means 34 or at the output of the preceding and trailing transform, as shown in FIG. Likewise, the output value of the decoder (DCT-IV) 34 is reversed to the corresponding value of the preceding or trailing transform.

출력측 연산(output-side operation)은 역 기븐스 회전에 의해 생성되어, 블록들(26, 28 또는 22, 24 또는 18, 20)이 반대 방향으로 통과된다. 이것은 식 1의 제2 리프팅 매트릭스에 기초하여 더 상세히 설명된다. (부호기에서) 제2 결과 벡터가 라운딩 제1 결과 벡터에 제2 리프팅 매트릭스[수단(22)]를 곱함에 의해 만들어질 때, 다음 식(term)이 결과로 나온다: The output-side operation is created by inverse Givens rotation, so that blocks 26, 28 or 22, 24 or 18, 20 are passed in the opposite direction. This is explained in more detail based on the second lifting matrix of equation (1). When the second result vector (in the encoder) is created by multiplying the rounding first result vector by the second lifting matrix [means 22], the following term results:

Figure 112004047222971-pct00006
Figure 112004047222971-pct00006

식 (6)의 오른쪽 값(x, y)은 정수이다. 그러나, 이것은 [x sinα] 값에는 적용되지 않는다. 여기서, 라운딩 함수(r)는 다음 식으로 설명되어야 한다. The right value (x, y) of equation (6) is an integer. However, this does not apply to the [x sinα] value. Here, the rounding function r should be described by the following equation.

Figure 112004047222971-pct00007
Figure 112004047222971-pct00007

이 연산은 수단(24)을 실행한다.This operation executes the means 24.

(복호기에서) 역 맵핑(inverse mapping)은 다음과 같이 규정된다: Inverse mapping (in the decoder) is defined as follows:                 

Figure 112004047222971-pct00008
Figure 112004047222971-pct00008

라운딩 작용 앞의 마이너스 부호(minus sign)로 인해, 리프팅 단계의 정수 근사치가 오류의 도입없이 반전될(reversed) 수 있음이 명백해진다. 세 리프팅 단계의 각각에 이 근사치의 적용은 기븐스 회전의 정수 근사치로 이끈다. 도 1의 알고리즘 복호화가 하부로부터 상부로 실행될 때 (부호기에서) 라운딩 회전은 오류의 도입없이, 즉 역순서로 역 라운딩 리프팅 단계를 통과함에 의해 (복호기에서) 반전될 수 있다.Due to the minus sign before the rounding action, it becomes clear that the integer approximation of the lifting step can be reversed without introducing an error. The application of this approximation to each of the three lifting steps leads to an integer approximation of Givens rotation. When the algorithm decoding of Fig. 1 is executed from bottom to top, the rounding rotation (in the encoder) can be reversed (in the decoder) without introducing an error, i.e. by passing the reverse rounding lifting step in reverse order.

라운딩 함수(r)이 점대칭인 경우, 역 라운딩 회전은 각도 -α를 갖는 라운딩 회전과 동일하며, 다음과 같이 판독된다.If the rounding function r is point symmetrical, the reverse rounding rotation is equal to the rounding rotation with the angle -α and is read as follows.

Figure 112004047222971-pct00009
Figure 112004047222971-pct00009

이 경우에 복호기, 즉 역 기븐스 회전을 위한 리프팅 매트릭스가 항(term) "sinα"를 항 "-sinα"로 단순 대체함에 의해 즉시 식 (1)의 결과로서 생긴다. In this case the decoder, i.e. the lifting matrix for the inverse Givens rotation, is immediately produced as a result of equation (1) by simply replacing the term "sinα" with the term "-sinα".

다음에서, 중첩 윈도우(overlapping windows)(40 내지 46)를 갖는 통상적인 MDCT의 분할(split-up)이 도 3에 기초하여 다시 한번 설명된다. 윈도우(40 내지 46)는 각각 50% 중첩이다. 화살표 (48)에 의해 개략적으로 설명된 바와 같이, 윈도우마다 먼저 윈도우의 제1 및 제2 4분면내에서 또는 윈도우의 제3 및 제4 4분면내에서 기븐스 회전이 실행된다. 그 다음에 회전값, 즉 윈도윙 정수 샘플들이 N-대-N DCT로 공급되어, 윈도우의 제2 및 제3 4분면들 또는 연속적인 윈도우의 제4 및 제1 4분면들이 같이 DCT-IV 알고리즘에 의해 스펙트럼 표시로 변환된다. In the following, a split-up of a conventional MDCT with overlapping windows 40 to 46 is described once again based on FIG. 3. The windows 40 to 46 are 50% overlap each. As outlined by the arrow 48, each window first undergoes a Givens rotation within the first and second quadrants of the window or within the third and fourth quadrants of the window. The rotation value, or windowing integer samples, is then fed to the N-to-N DCT, such that the second and third quadrants of the window or the fourth and first quadrants of the continuous window are together. Is converted into the spectral display.

그러므로, 연속적으로 실행되는 통상적인 기븐스 회전은 리프팅 매트릭스들로 분할되고, 여기서 각 리프팅 매트릭스 곱셈 후에 하나의 라운딩 단계가 도입되어, 부동소수점 수들이 발생(development) 후에 즉시 라운딩되고, 결과 벡터의 리프팅 매트릭스에 의한 각 곱셈 이전에 결과 벡터는 정수만을 가진다.Therefore, a typical Givens rotation that is executed continuously is divided into lifting matrices, where one rounding step is introduced after each lifting matrix multiplication, so that floating-point numbers round immediately after development, and the lifting matrix of the result vector Before each multiplication by, the result vector has only integers.

출력값은 항상 정수인 채로 있으며, 정수 입력 값을 사용하는 것이 바람직하다. 하나의 CD에 저장된 예시적인 PCM 샘플들(exemplary PCM samples)은, 그 범위가 비트 폭에 따라, 즉 시간-이산 디지털 입력 값이 16-비트 값인지 24-비트 값인지에 따라, 변화하는 정수 값이기 때문에 이것은 제한을 의미하는 것이 아니다. 그렇지만, 전술한 바와 같이, 전체 처리(entire process)는 역순서로 역 회전을 실행함에 의해 전회가 가능하다(invertible). 따라서, 완벽하게 복원된 MDCT의 정수 근사치, 즉 무손실 변환이 존재한다. The output value always remains an integer, preferably using an integer input value. Exemplary PCM samples stored on one CD are integer values that vary depending on the bit width, ie, whether the time-discrete digital input value is a 16-bit or 24-bit value. This does not mean a limit. However, as described above, the entire process is invertible by executing reverse rotation in reverse order. Thus, there is an integer approximation of a perfectly reconstructed MDCT, i.e. a lossless transform.

명백한(shown) 변환은 부동소수점 값 대신에 정수 출력 값을 제공한다. 정방향 그리고 그 다음에 역방향 변환을 실행할 때 완벽한 복원을 제공하여 오류가 도입되지 않게 한다. 본 발명의 바람직한 실시예에 따른 변환은 변경 이산 코사인 변환을 위한 대체(replacement)이다. 그러나, 다른 변환 방법들이 또한 회전으로의 분할 그리고 리프팅 단계로의 회전의 분할을 하는 한 정수 방식으로(in an integer manner) 실행될 수 있다.The shown transform provides an integer output value instead of a floating point value. When performing forward and then reverse translations, it provides complete recovery so that no errors are introduced. The transform according to the preferred embodiment of the present invention is a replacement for the modified discrete cosine transform. However, other conversion methods can also be carried out in an integer manner, with division into rotation and division of rotation into lifting steps.

정수 MDCT는 MDCT의 가장 유리한 특성을 가진다. 그것은 하나의 중첩 구조를 가지며, 그것에 의해 비-중첩 블록에서 보다 더 우수한 주파수 선택성(selectivity)이 얻어진다. 변환에 앞서 윈도윙될 때 이미 고려된 TDAC 기능성에 의해, 임계 샘플링(critical sampling)이 유지되어, 하나의 오디오 신호를 나타내는 스펙트럼 값들의 전체 갯수(overall number)가 입력 샘플들의 전체 갯수와 동일하다.Integer MDCTs have the most advantageous properties of MDCT. It has one overlapping structure, whereby better frequency selectivity is obtained than in a non-overlapping block. With the TDAC functionality already considered when windowed prior to conversion, critical sampling is maintained so that the overall number of spectral values representing one audio signal is equal to the total number of input samples.

전술된 바람직한 정수 변환에서 부동소수점 샘플을 제공하는 표준(normal) MDCT와 비교해 보면, 미미한 신호 레벨(little signal level)이 있는 스펙트럼 영역에서만 잡음이 증대되나 이 잡음 증대는 상당한 신호 레벨(significant signal levels)에서는 느껴지지 않는다. Compared to normal MDCT, which provides floating point samples in the preferred integer transformations described above, noise is increased only in the spectral region where there is little signal level, but this increase in noise is a significant signal level. I can't feel it.

시프트/가산 단계(shift/add steps)로 쉽게 분할될 수 있고 하드웨어에서 용이하게 그리고 신속히 실행될 수 있는 곱셈 단계만이 사용되기 때문에, 정수 처리는 그 자체가 유효한 하드웨어 실행에 기여한다. 물론, 소프트웨어 실행이 또한 가능하다.Since only multiplication steps that can be easily divided into shift / add steps and can be executed easily and quickly in hardware are used, integer processing itself contributes to valid hardware execution. Of course, software execution is also possible.

정수 변환은 오디오 신호의 우수한 스펙트럼 표시를 제공하나 여전히 정수의 영역에 남아있다. 오디오 신호의 음조부(tonal parts)에 적용될 때, 이것은 에너지를 상당히 농축시킨다. 이로써, 유효 무손실 부호화 체계(efficient lossless coding scheme)는, 하나의 엔트로피 부호기로 도 1에 설명된 윈도윙/변환을 단순히 캐스케이딩(cascadeing)함에 의해 구축될(built up) 수 있다. 특히, 이스케이프 값(escape values)을 사용하는 스택 부호화(stacked coding)가 MPEG AAC에 사용되기 때문에 유리하다. 원하는 부호 테이블에 맞을 때까지 2의 특정 제곱으로(by a certain power of two) 모든 값들을 축소시킨 다음 추가로 생략된 최하위 비트(the omitted least significant bits)를 부호화하는 것이 바람직하다. 더 큰 부호 테이블을 사용하는 다른 경우와 비교할 때, 다른 경우가 부호 테이블을 저장하기 위한 저장공간 소비량(storage consumption)에 대해서는 더 유리하다. 거의 무손실 부호화가 또한 임의의 최하위 비트를 단순히 생략함에 의해 얻어질 수 있다. Integer conversion provides an excellent spectral representation of the audio signal but still remains in the integer range. When applied to the tonal parts of an audio signal, this concentrates the energy considerably. As such, an efficient lossless coding scheme can be built up by simply cascading the windowing / transformation described in FIG. 1 with one entropy encoder. In particular, stacked coding using escape values is advantageous because it is used in MPEG AAC. It is desirable to reduce all values by a certain power of two until they fit the desired sign table and then code the omitted least significant bits. Compared with other cases using a larger sign table, another case is more advantageous for storage consumption for storing the sign table. Nearly lossless coding can also be obtained by simply omitting any least significant bit.

특히, 음조 신호(tonal signals)에 있어서, 정수 스펙트럼 값의 엔트로피 부호화가 고능률 부호화 이득(high coding gain)을 가능하게 한다. 신호의 과도부(transient parts)에 있어서, In particular, for tonal signals, entropy coding of integer spectral values enables high coding gain. In the transient parts of the signal,

과도 신호의 평평한 스펙트럼(flat spectrum)으로 인해, 다시 말하면 0 이거나 거의 0인 낮은 스펙트럼 값 때문에, 부호화 이득이 낮다. 제이. 헤리, 제이. 디. 존스톤(J. Herre, J. D. Johnston)의 "TNS를 사용한 지각 오디오 부호기의 실행 강화[Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)]" [101차 AES Convention, 로스 엔젤레스, 1996년, Preprint 4384] 에 설명되어 있듯이, 이 평탄도(flatness)는 그러나 주파수 도메인에서 선형 예측(linear prediction)의 사용에 이용될 수 있다. 하나의 대안은 개방 루프(open loop)를 구비한 예측기이다. 또 다른 대안은 패쇄 루프(closed loop)를 구비한 예측기(predictor)이다. 첫 번째 대안, 즉 개방 루프를 구비한 예측기는 TNS로 불리운다. 예측 후의 양자화는 최종 양자화 소음(resulting quantization noise)의 오디오 신호의 시간 구조(temporal structure)로의 적응(adaptation)으로 이끌고 이리하여 심리음향 오디오 부호기에서 프리-에코(pre-echoes)를 방지한다. 무손실 오 디오 부호화를 위한 제2 대안, 즉 패쇄 루프를 구비한 예측기가 더 적합한데, 패쇄 루프를 사용한 예측은 입력 신호의 정확한 복원을 가능하게 하기 때문이다. 이 기술이 생성된 스펙트럼에 적용될 때, 라운딩 단계는, 정수의 영역에 머무르기 위하여 예측 필터(prediction filter)의 각 단계 이후에 실행되어야만 한다. 역 필터 및 동일한 라운딩 함수를 사용함에 의해 원래의 스펙트럼은 정확하게 생성될 수 있다.Due to the flat spectrum of the transient signal, in other words because of the low spectral value being zero or almost zero, the coding gain is low. second. Here, Jay. D. J. Herre, JD Johnston, "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)" [101st AES Convention, Los Angeles, 1996, As described in Preprint 4384, this flatness can however be used for the use of linear prediction in the frequency domain. One alternative is a predictor with an open loop. Another alternative is a predictor with a closed loop. The first alternative, the predictor with open loop, is called TNS. Post-prediction quantization leads to the adaptation of the resulting quantization noise to the temporal structure of the audio signal, thereby preventing pre-echoes in the psychoacoustic audio coder. A second alternative for lossless audio coding, i.e., a predictor with a closed loop, is more suitable, since the prediction using the closed loop allows accurate reconstruction of the input signal. When this technique is applied to the generated spectrum, the rounding step must be performed after each step of the prediction filter in order to stay in the range of integers. By using an inverse filter and the same rounding function, the original spectrum can be generated accurately.

데이터 축소(data reduction)를 위해 두 개의 채널 간의 중복성(redundancy)을 이용하기 위하여, 센터측(center-side) 부호화가 각도 a/4의 라운딩화 회전이 사용되는 무손실 방식으로 사용될 수 있다. 스테레오 신호의 왼쪽 및 오른쪽 채널의 합과 차분을 계산하는 다른 방법과 비교할 때, 라운딩화 회전은 에너지 보존의 이점이 있다. 소위 접속 스테레오 부호화 기술(joint stereo coding techniques)은 표준 MPEG AAC에서도 실행되기 때문에 이것의 사용은 각 밴드를 위해 켜지거나 꺼질 수(switched on or off) 있다. 두 채널간의 중복성을 더욱 융통성있게 감소시킬 수 있도록 추가 회전 각도도 고려될 수 있다.In order to take advantage of the redundancy between the two channels for data reduction, center-side coding can be used in a lossless manner in which a rounding rotation of angle a / 4 is used. Rounding rotation has the advantage of energy conservation when compared to other methods of calculating the sum and difference of the left and right channels of a stereo signal. Since so-called joint stereo coding techniques are also implemented in the standard MPEG AAC, its use can be switched on or off for each band. Additional angles of rotation can also be considered to more flexibly reduce the redundancy between the two channels.

Claims (33)

심리음향(psychoacoustic) 모델(54)을 사용하여 양자화된 시간-이산 오디오 신호의 스펙트럼 값(spectral values)의 양자화 블록(quantization block)을 제공하기 위한 수단(52)과;Means 52 for providing a quantization block of spectral values of the quantized time-discrete audio signal using a psychoacoustic model 54; 라운드된 역양자화 스펙트럼 값(rounded inversely quantized spectral values)의 라운딩 블록(rounding block)을 획득하도록 상기 양자화 블록을 역양자화하고 역양자화된 스펙트럼 값을 라운딩하기 위한 수단(58)과;Means (58) for dequantizing the quantization block and rounding the dequantized spectral value to obtain a rounding block of rounded inversely quantized spectral values; 정수 시간-이산 샘플(integer time-discrete samples)의 블록으로부터 스펙트럼 값의 정수 블록(integer block)을 발생하도록 형성된 정수 변환 알고리즘(integer transform algorithm)을 사용하여 정수 스펙트럼 값의 정수 블록을 발생시키기 위한 수단(56)과;Means for generating an integer block of integer spectral values using an integer transform algorithm configured to generate an integer block of spectral values from a block of integer time-discrete samples 56; 차분 스펙트럼 값(difference spectral values)을 갖는 차분 블록(difference block)을 얻기 위하여, 상기 라운딩 블록과 정수 블록의 스펙트럼 값의 차분(spectral value-wise difference)에 따라 하나의 차분 블록을 생성하기 위한 결합 수단(combination means)(59)과;Combining means for generating one differential block according to the spectral value-wise difference between the rounding block and the integer block in order to obtain a difference block having differential spectral values (combination means) 59; 상기 양자화 블록의 정보와 차분 블록의 정보를 포함하는 부호화 오디오 데이터를 생성하기 위하여 상기 양자화 블록과 차분 블록을 처리(processing) 하기 위한 수단(60)을 포함하여 구성되는, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치.A time for obtaining encoded audio data, comprising means (60) for processing the quantized block and the differential block to produce encoded audio data comprising information of the quantization block and information of the differential block. Discrete audio signal encoding apparatus. 제1항에 있어서, 상기 양자화 블록 제공 수단(52)이,The method of claim 1, wherein the quantization block providing means (52) MDCT를 통해 시간적 오디오 신호(temporal audio signal)값의 시간 블록에서 MDCT 스펙트럼 값의 MDCT 블록을 형성하고, 양자화된 MDCT 스펙트럼 값으로 구성되는 양자화 블록을 생성하도록, 심리음향 모델을 사용하여 상기 MDCT 블록을 양자화하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. The MDCT block is formed using a psychoacoustic model to form an MDCT block of MDCT spectral values in a time block of temporal audio signal values through MDCT, and generate a quantized block composed of quantized MDCT spectral values. Apparatus for encoding time-discrete audio signals configured to quantize to obtain coded audio data. 제2항에 있어서, 상기 정수 블록을 발생시키기 위한 수단(56)이, The method according to claim 2, wherein the means for generating the integer block (56) IntMDCT 스펙트럼 값으로 구성되는 정수 블록을 형성하기 위하여 상기 시간 블록에 IntMDCT를 실행하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. A time-discrete audio signal encoding apparatus for obtaining encoded audio data, configured to execute IntMDCT on the time block to form an integer block composed of IntMDCT spectral values. 제1항에 있어서, 상기 양자화 블록 제공 수단(52)이,The method of claim 1, wherein the quantization block providing means (52) 부동소수점 변환 알고리즘(floating-point transform algorithm)을 사용하여 양자화 블록을 계산하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. A time-discrete audio signal encoding apparatus for obtaining coded audio data, configured to calculate a quantization block using a floating-point transform algorithm. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제공 수단(52)이,The method according to any one of claims 1 to 3, wherein the providing means 52 상기 발생 수단(56)에 의해 발생된 정수 블록을 사용하여 양자화 블록을 계 산하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. A time-discrete audio signal encoding apparatus for obtaining coded audio data, configured to calculate a quantization block using an integer block generated by the generating means (56). 제1항에 있어서, 상기 프로세싱 수단(60)이, The method of claim 1 wherein the processing means 60 comprises: 엔트로피-부호화된 양자화 블록(entropy-coded quantization block)을 얻기 위하여 양자화 블록을 엔트로피 부호화시키고(60a),Entropy-encode the quantization block (60a) to obtain an entropy-coded quantization block, 엔트로피-부호화된 라운딩 블록을 얻기 위하여 라운딩 블록을 엔트로피 부호화시키며(60b),Entropy encoding the rounding block (60b) to obtain an entropy-encoded rounding block, 엔트로피-부호화된 양자화 블록을 부호화 오디오 데이터를 표시하는 스케일 데이터 스트림(scaled data stream)의 제1 스케일링 레이어(scaling layer)로, 엔트로피-부호화된 라운딩 블록을 스케일 데이터 스트림의 제2 스케일링 레이어로 전환시키도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. Converting the entropy-coded quantization block into a first scaling layer of a scaled data stream representing coded audio data, and converting the entropy-encoded rounding block into a second scaling layer of the scale data stream. And a time-discrete audio signal encoding apparatus for obtaining encoded audio data. 제6항에 있어서, 상기 프로세싱 수단(60)이 또한,The method of claim 6, wherein the processing means 60 further comprises: 양자화 블록의 엔트로피 부호화를 위한 양자화 스펙트럼 값에 의존하는 다수의 부호 테이블들 중 하나를 사용하기 위해 형성되고, 차분 블록의 엔트로피 부호화를 위한 양자화 블록을 생성시키기 위해 양자화에 사용가능한 양자화기(quantizer)의 특성에 의존하는 다수의 부호 테이블들 중의 하나를 선택하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. A quantizer formed for use with one of a plurality of code tables that depend on quantization spectral values for entropy encoding of the quantization block, and usable for quantization to produce a quantization block for entropy encoding of the differential block. A time-discrete audio signal encoding apparatus for obtaining coded audio data, configured to select one of a plurality of code tables depending on the characteristic. 제1항에 있어서, The method of claim 1, 상기 양자화 블록 제공 수단(52)이, 오디오 신호의 특성에 의존하는 오디오 신호 값의 시간 블록(temporal block)을 윈도우화(windowing)하기 위해 다수의 윈도우들 중의 하나를 사용하도록 형성되고, The quantization block providing means 52 is configured to use one of a plurality of windows to window a temporal block of an audio signal value depending on the characteristics of the audio signal, 상기 발생 수단(56)이 상기 정수 변환 알고리즘을 위해 상기 시간블록을 윈도우화하기 위해 사용할 윈도우와 같은 윈도우를 선택하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. And said generating means (56) is configured to select a window, such as a window, to use for windowing said time block for said integer conversion algorithm. 제1항에 있어서, The method of claim 1, 상기 발생 수단이, The generating means, N개의 입력값으로 N개의 출력값을 발생시킬 수 있는 변환(transform)을 통한 시간-이산 샘플의 스펙트럼 표시로의 전환을 위해 윈도우 처리된 시간-이산 샘플들을 제공하도록, 2N 시간-이산 샘플들에 상응하는 길이를 갖는 윈도우(w)로 상기 시간-이산 샘플들을 윈도우화하는 단계로서, Corresponds to 2N time-discrete samples to provide windowed time-discrete samples for conversion of the time-discrete sample to a spectral representation through a transform capable of generating N outputs with N input values. Windowing the time-discrete samples into a window w having a length of 시간-이산 샘플들의 벡터를 얻기 위해 윈도우의 하나의 4분면으로부터 하나의 시간-이산 샘플 그리고 윈도우의 다른 4분면으로부터의 하나의 시간-이산 샘플을 선택하는 소단계(16)와, A small step 16 of selecting one time-discrete sample from one quadrant of the window and one time-discrete sample from the other quadrant of the window to obtain a vector of time-discrete samples, 제1 결과 벡터(result vector)를 얻기 위하여 상기 시간-이산 샘플들의 벡터를 리프팅 매트릭스로 곱하는 부분 단계(18)와, 라운드된 제1 결과 벡터를 얻기 위하여 하나의 실수를 하나의 정수로 맵핑(mapping)하는 라운딩 함수(r)로 제1 결과 벡터의 하나의 성분(component)을 라운딩하는 부분 단계(20)를 포함하며, 각기 윈도우(w)에 의존하고 1 또는 0이 아닌 하나의 요소(element)를 포함하여서만 구성되는 다수의 리프팅 매트릭스로 표시될 수 있고 그 차원(dimension)이 상기 시간-이산 샘플들의 벡터의 차원과 매칭하는 스퀘어 전환 매트릭스(square rotation matrix)를 상기 시간-이산 샘플들의 벡터에 적용하는 소단계와, A partial step 18 of multiplying the vector of time-discrete samples by a lifting matrix to obtain a first result vector, and mapping a real number to an integer to obtain a rounded first result vector. A rounding function (r), which comprises a partial step (20) of rounding one component of the first result vector, each element dependent on the window (w) and not one or zero. And a square rotation matrix whose dimension matches a dimension of the vector of time-discrete samples, wherein the dimension is matched to the vector of time-discrete samples. Small steps to apply, 윈도우의 하나의 4분면으로부터 얻어진 정수 윈도우 샘플과 윈도우의 다른 4분면으로부터 얻어진 정수 윈도우 샘플을 포함하여 구성되는 하나의 순환 벡터(rotated vector)를 얻기 위하여 모든 리프팅 매트릭스(lifting matrices)들이 처리될 때까지 리프팅 매트릭스로 곱하고(22) 라운딩하는(24) 단계를 연속적으로 실행하는 소단계와, 그리고 Until all the lifting matrices have been processed to obtain a rotated vector consisting of an integer window sample from one quadrant of the window and an integer window sample from the other quadrant of the window. A small step of successively executing the steps of multiplying (22) and rounding (24) by the lifting matrix, and 2N개의 필터링 정수 값(filtered integer values)을 얻기 위하여 남아 있는 윈도우4분면들의 모든 시간-이산 샘플들에 대해 윈도우 처리하는 단계를 수행하는 소 단계를 포함하는 단계와; 그리고A sub-step of performing windowing on all time-discrete samples of the remaining quadrants of the window to obtain 2N filtered integer values; And N개의 정수 스펙트럼 값을 얻기 위하여 윈도우의 제2 4분면과 윈도우의 제3 4분면의 필터링된 정수 샘플들을 갖는 값들에 대한 정수 DCT처리에 의해 N개의 윈도우 처리된 정수 샘플들을 스펙트럼 표시(representation)로 전환하는 단계(14)를 포함하여 구성된 정수 변환 알고리즘을 사용하기 위해 형성된 것인, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. N windowed integer samples are subjected to spectral representation by integer DCT processing on values having filtered integer samples of the second quadrant of the window and the third quadrant of the window to obtain N integer spectral values. Time-discrete audio signal encoding apparatus for obtaining encoded audio data, the method being configured for using an integer conversion algorithm configured to convert (14). 제1항에 있어서, The method of claim 1, 상기 양자화 블록을 제공하는 수단(52)이, 양자화 후에 양자화 블록을 표시할 수 있도록 하는 예측 잔류 스펙트럼 값(prediction residual spectral values)을 얻기 위하여, 양자화 단계(52b) 이전에 예측 필터를 사용하여 주파수에 대한 스펙트럼 값(spectral values over the frequency)을 예측하도록 형성되고;The means for providing the quantization block 52 uses a predictive filter prior to the quantization step 52b to obtain the prediction residual spectral values that enable the quantization block to be represented after quantization. Is configured to predict spectral values over the frequency; 상기 정수 블록의 정수 스펙트럼 값의 주파수에 대한 예측을 하도록 형성된 예측 수단과, 라운딩 블록을 표시할 수 있도록 하는 정수 스펙트럼 값으로 예측 잔류 스펙트럼 값을 라운딩하기 위한 라운딩 수단이 더 구비된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. And encoding means for predicting a frequency of an integer spectral value of the integer block, and rounding means for rounding the prediction residual spectral value to an integer spectral value for displaying a rounding block. Time-discrete audio signal encoding apparatus for obtaining. 제1항에 있어서, The method of claim 1, 상기 시간-이산 오디오 신호가 적어도 두 개의 채널을 포함하여 구성되고;The time-discrete audio signal comprises at least two channels; 상기 제공 수단(52)이 중심/측면 스펙트럼 값의 양자화 후의 양자화 블록을 얻기 위하여 시간-이산 오디오 신호의 스펙트럼 값으로 중심/측면(center/side) 부호화를 실행하도록 형성되며; 그리고The providing means 52 is configured to perform center / side coding with the spectral values of the time-discrete audio signal to obtain a quantization block after quantization of the center / side spectral values; And 상기 정수 블록을 발생시키는 수단(56)이 상기 제공 수단(52)의 중심/측면 부호화에 상응하는 중심/측면 부호화를 또한 실행하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. And a means (56) for generating said integer block is further configured to perform center / side coding corresponding to the center / side coding of said providing means (52). 제1항에 있어서, The method of claim 1, 상기 프로세싱 수단(60)이 MPEG-2 AAC 데이터 스트림을 발생시키도록 형성되고, 보조 데이터(Ancillary Data)내의 하나의 필드에 정수 변환 알고리즘을 위한 보조 정보(ancillary information)가 도입되는, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. The processing means 60 is configured to generate an MPEG-2 AAC data stream, and encoded audio data into which ancillary information for an integer conversion algorithm is introduced into one field in the ancillary data. Time-discrete audio signal encoding apparatus for obtaining. 제1항에 있어서, The method of claim 1, 상기 프로세싱 수단(60)이, 상기 부호화 오디오 데이터들을 다수의 스케일링 레이어들을 갖는 데이터 스트림으로 출력하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. And the processing means (60) is configured to output the encoded audio data to a data stream having a plurality of scaling layers. 제13항에 있어서, The method of claim 13, 상기 프로세싱 수단(60)이, 양자화 블록의 정보를 제1 스케일링 레이어(81)로 삽입하고, 차분 블록의 정보를 제2 스케일링 레이어(82)로 삽입하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. The processing means 60 is configured to insert information of the quantization block into the first scaling layer 81 and insert the information of the difference block into the second scaling layer 82, to obtain time-discrete for obtaining the encoded audio data. Audio signal encoding device. 제13항에 있어서, The method of claim 13, 상기 프로세싱 수단(60)이, 양자화 블록의 정보를 제1 스케일링 레이어(81)로 삽입하고, 차분 블록의 정보를 적어도 제2 및 제3 스케일링 레이어로 삽입하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. The processing means 60 is configured to insert information of the quantization block into the first scaling layer 81 and insert information of the difference block into at least the second and third scaling layers. Discrete audio signal encoding apparatus. 제15항에 있어서, The method of claim 15, 정확도가 저하된(with reduced accuracy) 차분 스펙트럼 값이 제2 스케일링 레이어에 포함되고, 상기 차분 스펙트럼 값의 나머지 부분(residual part)이 하나 또는 그 이상의 상위 스케일링 레이어(higher scaling layers)에 포함되는, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. Encoding in which a reduced spectral value with reduced accuracy is included in a second scaling layer and a residual part of the differential spectral value is included in one or more higher scaling layers. An apparatus for encoding time-discrete audio signals for obtaining audio data. 제15항에 있어서, The method of claim 15, 상기 차분 블록의 정보가 이진 부호화 차분 스펙트럼 값(binarily coded difference spectral values)을 포함하고, The information of the difference block includes binary coded difference spectral values, 상기 차분 블록을 위한 제2 스케일링 레이어가 차분 스펙트럼 값에 대한 최상위 비트(most significant bit; MSB)로부터 하위 비트(less significant bit; MSB-x)까지의 다수의 비트를 포함하며, 그리고The second scaling layer for the differential block comprises a plurality of bits from the most significant bit (MSB) to the less significant bit (MSB-x) for the differential spectral value, and 제3 스케일링 레이어가 하위 비트(less significant bit; MSB-x-1)로부터 최하위 비트(least significant bit; LSB)까지의 다수의 비트를 포함하는, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. Apparatus for encoding coded audio data, wherein the third scaling layer includes a plurality of bits from a less significant bit (MSB-x-1) to a least significant bit (LSB) . 제17항에 있어서, The method of claim 17, 시간-이산 오디오 신호가 24 비트의 폭(width)을 갖는 샘플의 형태로 존재하고, The time-discrete audio signal is present in the form of a sample having a width of 24 bits, 상기 프로세싱 수단(60)이, 차분 스펙트럼 값의 더 유효한 16 비트를 제2 스 케일링 레이어에 삽입하고, 상기 차분 스펙트럼 값의 잔류 8 비트를 제3 스케일링 레이어에 삽입하여, 복호기(decoder)가 제2 스케일링 레이어를 사용하여 CD 음질(quality)에 도달하도록 하고 제3 스케일링 레이어를 또한 사용하여 스튜디오 음질(studio quality)에 도달하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. The processing means 60 inserts more valid 16 bits of the differential spectral value into the second scaling layer and inserts the remaining 8 bits of the differential spectral value into the third scaling layer so that the decoder 12. A time-discrete audio signal encoding apparatus for obtaining encoded audio data, configured to reach CD quality using two scaling layers and reaching studio quality using a third scaling layer as well. 제15항에 있어서, The method of claim 15, 상기 프로세싱 수단(60)이, The processing means 60, 저역 통과 신호(low-pass signal)의 표시를 위해 하나의 차분 스펙트럼 값의 적어도 일부를 제2 스케일링 레이어에 삽입하고, Inserting at least a portion of one differential spectral value into a second scaling layer for display of a low-pass signal, 제2 스케일링 레이어의 차분 스펙트럼 값과 원래의 차분 스펙트럼 값(original difference spectral values) 사이의 차분(difference)을 적어도 하나의 추가 스케일링 레이어로 삽입하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. Time-discrete audio signal encoding for obtaining encoded audio data, configured to insert a difference between the difference spectral value of the second scaling layer and the original difference spectral values into at least one additional scaling layer. Device. 제15항에 있어서, The method of claim 15, 상기 프로세싱 수단(60)이, 특정(a certain) 차단 주파수(cut-off frequency)까지의 차분 스펙트럼 값의 적어도 일부를 제2 스케일링 레이어에 삽입하고, 상기 특정 차단 주파수로부터 그 보다 높은 주파수까지의 차분 스펙트럼 값의 적어도 일부를 제3 스케일링 레이어에 삽입하도록 형성된, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 장치. The processing means 60 inserts at least a portion of the difference spectral value up to a certain cut-off frequency into a second scaling layer, and the difference from the specific cutoff frequency to a higher frequency. And a time-discrete audio signal encoding device for obtaining encoded audio data, the at least part of the spectral values being inserted into the third scaling layer. 심리음향 모델(54)을 사용하여 양자화된 시간-이산 오디오 신호의 스펙트럼 값의 양자화 블록을 제공하는 단계(52)와;Providing 52 a quantization block of spectral values of the quantized time-discrete audio signal using psychoacoustic model 54; 라운드된 역양자화 스펙트럼 값의 라운딩 블록을 얻기 위하여 상기 양자화 블록을 역양자화하고 역양자화 스펙트럼 값을 라운딩하는 단계(58)와;Inverse quantizing the quantization block and rounding the inverse quantization spectral value to obtain a rounding block of rounded inverse quantization spectral values; 정수 시간-이산 샘플의 블록으로부터 스펙트럼 값의 정수 블록을 발생시키도록 형성된 정수 변환 알고리즘을 사용하여 정수 스펙트럼 값의 정수 블록을 발생시키는 단계(56)와;Generating (56) an integer block of integer spectral values using an integer transform algorithm configured to generate an integer block of spectral values from a block of integer time-discrete samples; 차분 스펙트럼 값을 갖는 차분 블록을 얻기 위하여 라운딩 블록과 정수 블록의 스펙트럼 값 차분(a spectral value-wise difference)에 따른 차분 블록을 형성하는 단계(59)와;Forming a differential block according to a spectral value-wise difference between a rounding block and an integer block to obtain a differential block having a differential spectral value (59); 양자화 블록의 정보와 차분 블록의 정보를 포함하는 부호화 오디오 데이터를 발생시키기 위하여 양자화 블록과 차분 블록을 처리하는 단계(60)를 포함하여 구성되는, 부호화 오디오 데이터를 얻기 위한 시간-이산 오디오 신호 부호화 방법. And processing 60 the quantization block and the differential block to generate encoded audio data including information of the quantization block and information of the differential block. . 심리음향 모델(54)을 사용하여 양자화된 시간-이산 오디오 신호의 스펙트럼 값의 양자화 블록을 제공하고(52), 라운드된 역양자화 스펙트럼 값의 양자화 블록을 얻기 위하여 양자화블록을 역양자화하고 역양자화 스펙트럼값을 라운딩하며(58), 정수 시간-이산 샘플들로부터 스펙트럼 값의 정수 블록을 발생시키도록 형성된 정수 변환 알고리즘을 사용하여 정수 스펙트럼값의 정수블록을 발생시키고(56), 그리고 차분 스펙트럼 값을 갖는 차분 블록을 얻기 위하여 라운딩 블록과 정수 블록의 스펙트럼 값 차분에 따라 하나의 차분 블록을 형성함(59)에 의해 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터를 복호화하기 위한 장치에 있어서, Psychoacoustic model 54 is used to provide a quantization block of spectral values of the quantized time-discrete audio signal (52), inversely quantize the quantization block to obtain a quantized block of rounded inverse quantization spectral values, and inverse quantization spectrum. Rounding the value (58), generating an integer block of integer spectral values (56) using an integer conversion algorithm configured to generate an integer block of spectral values from integer time-discrete samples, and having a differential spectral value An apparatus for decoding encoded audio data generated from a time-discrete audio signal by forming (59) one difference block according to the spectral value difference between a rounding block and an integer block to obtain a difference block. 하나의 양자화 블록과 하나의 차분 블록을 얻기 위하여 부호화 오디오 데이터를 처리하기 위한 수단(70)과;Means (70) for processing the encoded audio data to obtain one quantization block and one difference block; 하나의 정수 역양자화된 양자화 블록(integer inversely quantized quantization block)을 얻기 위하여 양자화 블록을 역양자화하고 라운딩하기 위한 수단(74)과;Means 74 for dequantizing and rounding the quantization block to obtain one integer inversely quantized quantization block; 하나의 결합 블록을 얻기 위하여, 정수 양자화 블록과 차분 블록을 스펙트럼 관련 값으로 결합시키기 위한 수단(78)과; 그리고Means (78) for combining the integer quantization block and the differential block into spectral related values to obtain one combined block; And 결합 블록을 사용하고 상기 정수 변환 알고리즘의 역 정수 변환 알고리즘을 사용하여 시간-이산 오디오 신호의 시간 표시(temporal representation)를 발생시키기 위한 수단(82)을 포함하여 구성되는, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치.Generating from a time-discrete audio signal, comprising means 82 for using a joint block and generating a temporal representation of the time-discrete audio signal using the inverse integer transform algorithm of the integer transform algorithm. Encoded audio data decoding apparatus. 제22항에 있어서, The method of claim 22, 상기 부호화 오디오 데이터가 스케일되고(scaled), 복수의 스케일링 레이어들을 포함하며,The encoded audio data is scaled and comprises a plurality of scaling layers, 상기 부호화 오디오 데이터로부터 양자화 블록을 제1 스케일링 레이어로 확인하고(ascertain) 부호화 오디오 데이터로부터의 차분 블록을 제2 스케일링 레이어로 확인하도록 형성된, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치.And ascertain a quantization block from the encoded audio data as a first scaling layer and identify a difference block from the encoded audio data as a second scaling layer. 제22항에 있어서, The method of claim 22, 차분 블록의 정보가 이진 부호화 차분 스펙트럼 값을 포함하고;The information of the difference block includes binary coded differential spectral values; 상기 부호화 오디오 데이터가 스케일되고 다수의 스케일링 레이어들을 포함하며;The encoded audio data is scaled and comprises a plurality of scaling layers; 상기 부호화 오디오 데이터를 처리하기 위한 수단(70)이 부호화 오디오 데이터로부터 얻어진 양자화 블록을 제1 스케일링 레이어로 확인하고 정확도가 저하된(with reduced accuracy) 차분 스펙트럼 값의 표시(representation)를 제2 스케일링 레이어로 추출하도록(extract) 형성된, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치.The means for processing the encoded audio data 70 identifies the quantization block obtained from the encoded audio data as a first scaling layer and displays a representation of the differential spectral value with reduced accuracy in the second scaling layer. And an encoded audio data decoding device generated from a time-discrete audio signal. 제24항에 있어서, The method of claim 24, 상기 부호화 오디오 데이터를 처리하기 위한 수단(70)이, 최상위 비트(a most significant bit)로부터 차분 스펙트럼 값의 최하위 비트보다는 더 중요한(more significant) 하위 비트(a less significant bit)까지의 다수의 비트를 제2 스케일링 레이어로 추출하도록 형성되고, 그리고The means for processing the coded audio data 70 is configured to extract a plurality of bits from a most significant bit to a less significant bit than the least significant bit of the differential spectral value. To extract to a second scaling layer, and 시간-이산 오디오 신호의 시간 표시를 발생시키기 위한 수단(82)이 정수 변환 알고리즘의 사용 전에 차분 스펙트럼 값을 위한 분실 비트(missing bits)를 합성적으로(synthetically) 발생시키도록 형성된, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치. Means for generating a time representation of the time-discrete audio signal 82, configured to generate missing bits for differential spectral values synthetically prior to use of the integer conversion algorithm. An encoded audio data decoding apparatus generated from a signal. 제25항에 있어서, The method of claim 25, 상기 수단(82)이, 2n (여기서 n은 제2스케일링 레이어에 포함되지 않은 하위 비트들의 수이다)과 동일한 하나의 스케일 계수(scale factor)가 사용되는, 합성적 발생(synthetical generation)을 위한 제2 스케일링 레이어의 업스케일링(upscaling)을 실행하거나, 또는 종합적 발생을 위한 디더링 알고리즘(dithering algorithm)을 사용하도록 형성된, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치. The means 82 is adapted for synthetic generation, in which one scale factor equal to 2 n (where n is the number of lower bits not included in the second scaling layer) is used. An apparatus for decoding encoded audio data generated from a time-discrete audio signal, configured to perform upscaling of a second scaling layer or to use a dithering algorithm for comprehensive generation. 제22항에 있어서, The method of claim 22, 상기 부호화 오디오 데이터가 스케일되고(scaled), 다수의 스케일링 레이어들을 포함하며,The encoded audio data is scaled and comprises a plurality of scaling layers, 상기 부호화 오디오 데이터를 처리하기 위한 수단(70)이 부호화 오디오 데이터로부터 얻어진 양자화 블록을 제1 스케일링 레이어로 확인하고, 저역 필터링된 차분 스펙트럼 값을 제2 스케일링 레이어로 확인하도록 형성된, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치. Means 70 for processing the encoded audio data is configured to identify a quantization block obtained from the encoded audio data with a first scaling layer and identify a low-pass filtered differential spectrum value with a second scaling layer. The encoded audio data decoding apparatus generated from the. 제22항에 있어서, The method of claim 22, 상기 부호화 오디오 데이터가 스케일되고 다수의 스케일링 레이어들을 포함하며,The encoded audio data is scaled and comprises a plurality of scaling layers, 상기 부호화 오디오 데이터를 처리하기 위한 수단(70)이 부호화 데이터의 양자화 블록을 제1 스케일링 레이어로 확인하고, 하나의 부호기(corder)에서 발생될 수 있는 차분 스펙트럼 값의 최대 주파수보다 더 작은 제1 차단 주파수까지의 차분 스펙트럼 값을 제2 스케일링 레이어로 확인하도록 형성된, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치. The means for processing the coded audio data 70 identifies the quantization block of coded data as a first scaling layer and a first cutoff that is less than the maximum frequency of the differential spectral value that can be generated in one coder. The encoded audio data decoding apparatus generated from the time-discrete audio signal, configured to confirm the differential spectrum value up to frequency with the second scaling layer. 제28항에 있어서, The method of claim 28, 상기 시간-이산 오디오 신호의 시간 표시를 발생시키기 위한 수단(82)이, 제2 스케일링 레이어의 차단 주파수 전체 길이(full length)에 대한 정수 변환 알고리즘내의 입력값을 예정값(a predetermined value)으로 셋팅하고, 하나의 부호기에 의해 발생될 수 있는 차분 스펙트럼 값의 최대 주파수와 차단 주파수의 비율에 상응하여 선택된 하나의 계수(factor)에 의한 역 정수 변환 알고리즘(inverse integer transform algorithm)을 사용한 후에 시간-이산 오디오 신호의 시간 표시를 다운샘플(downsample)하도록 형성된, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치. Means 82 for generating a time representation of the time-discrete audio signal sets an input value in an integer conversion algorithm for a full length of cutoff frequency of a second scaling layer to a predetermined value. And time-discrete after using an inverse integer transform algorithm with one factor selected corresponding to the ratio of the maximum frequency and the cutoff frequency of the differential spectrum value that can be generated by one encoder. An encoded audio data decoding apparatus generated from a time-discrete audio signal, configured to downsample a time representation of an audio signal. 제29항에 있어서,The method of claim 29, 차단 주파수상의 모든 입력값에 대해 상기 예정값이 0인, 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터 복호화 장치. And the predetermined value is 0 for all input values on the cutoff frequency. 하나의 양자화 블록과 하나의 차분 블록을 얻기 위하여 부호화 오디오 데이터를 처리하는 단계(70)와;Processing (70) the encoded audio data to obtain one quantization block and one difference block; 하나의 정수 역양자화된 양자화 블록을 얻기 위하여, 양자화 블록을 역양자화하고 라운딩(rounding)하는 단계(74)와;Inverse quantizing and rounding the quantization block to obtain one integer dequantized quantization block; 하나의 결합 블록을 얻기 위하여 정수 양자화 블록과 차분 블록을 스펙트럼 관련 값으로 결합시키는(spectral value-wise combining) 단계(78)와; 그리고Spectral value-wise combining 78 with an integer quantization block and a differential block to obtain one combining block; And 하나의 결합 블록을 사용하여 그리고 상기 부호화 오디오 데이터를 발생시킬 때 사용된 정수 변환 알고리즘에 대한 역 정수 변환 알고리즘을 사용하여(using an integer transform algorithm inversed to an integer transformation algorithm used when generating the coded audio data) 시간-이산 오디오 신호의 시간 표시를 발생시키는 단계(82)를 포함하여 구성되는, 제공, 역양자화, 발생, 형성 및 처리(processing)단계에 의해 시간-이산 오디오 신호로부터 발생된 부호화 오디오 데이터의 복호화 방법.Using an integer transform algorithm inversed to an integer transformation algorithm used when generating the coded audio data Decoding of the encoded audio data generated from the time-discrete audio signal by a providing, inverse quantization, generation, forming and processing step comprising the step 82 of generating a time representation of the time-discrete audio signal. Way. 컴퓨터에 실행될 때, 제21항의 부호화 방법을 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장된 컴퓨터 프로그램 저장 매체.A computer program storage medium storing a computer program having a program code for executing the encoding method of claim 21 when executed in a computer. 컴퓨터에 실행될 때, 제31항의 복호화 방법을 실행하기 위한 프로그램 부호를 갖는 컴퓨터 프로그램이 저장된 컴퓨터 프로그램 저장 매체.A computer program storage medium having stored therein a computer program having a program code for executing the decoding method of claim 31 when executed in a computer.
KR1020047016744A 2002-04-18 2002-12-02 Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data KR100892152B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10217297.8 2002-04-18
DE10217297A DE10217297A1 (en) 2002-04-18 2002-04-18 Device and method for coding a discrete-time audio signal and device and method for decoding coded audio data
PCT/EP2002/013623 WO2003088212A1 (en) 2002-04-18 2002-12-02 Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data

Publications (2)

Publication Number Publication Date
KR20050007312A KR20050007312A (en) 2005-01-17
KR100892152B1 true KR100892152B1 (en) 2009-04-10

Family

ID=28798541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047016744A KR100892152B1 (en) 2002-04-18 2002-12-02 Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data

Country Status (9)

Country Link
EP (1) EP1495464B1 (en)
JP (1) JP4081447B2 (en)
KR (1) KR100892152B1 (en)
CN (1) CN1258172C (en)
AT (1) ATE305655T1 (en)
CA (1) CA2482427C (en)
DE (2) DE10217297A1 (en)
HK (1) HK1077391A1 (en)
WO (1) WO2003088212A1 (en)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007507790A (en) * 2003-09-29 2007-03-29 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ Method for converting a digital signal from time domain to frequency domain and vice versa
US8446947B2 (en) * 2003-10-10 2013-05-21 Agency For Science, Technology And Research Method for encoding a digital signal into a scalable bitstream; method for decoding a scalable bitstream
DE102004007200B3 (en) * 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device for audio encoding has device for using filter to obtain scaled, filtered audio value, device for quantizing it to obtain block of quantized, scaled, filtered audio values and device for including information in coded signal
DE102004007184B3 (en) * 2004-02-13 2005-09-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for quantizing an information signal
DE102004059979B4 (en) 2004-12-13 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device and method for calculating a signal energy of an information signal
JP2009500657A (en) 2005-06-30 2009-01-08 エルジー エレクトロニクス インコーポレイティド Apparatus and method for encoding and decoding audio signals
US7765104B2 (en) 2005-08-30 2010-07-27 Lg Electronics Inc. Slot position coding of residual signals of spatial audio coding application
KR100857120B1 (en) 2005-10-05 2008-09-05 엘지전자 주식회사 Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7716043B2 (en) 2005-10-24 2010-05-11 Lg Electronics Inc. Removing time delays in signal paths
EP1852849A1 (en) * 2006-05-05 2007-11-07 Deutsche Thomson-Brandt Gmbh Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream
EP1883067A1 (en) * 2006-07-24 2008-01-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream
EP1903559A1 (en) 2006-09-20 2008-03-26 Deutsche Thomson-Brandt Gmbh Method and device for transcoding audio signals
DE102006051673A1 (en) * 2006-11-02 2008-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for reworking spectral values and encoders and decoders for audio signals
DE102007003187A1 (en) * 2007-01-22 2008-10-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating a signal or a signal to be transmitted
KR101149448B1 (en) 2007-02-12 2012-05-25 삼성전자주식회사 Audio encoding and decoding apparatus and method thereof
EP2015293A1 (en) * 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
ES2658942T3 (en) * 2007-08-27 2018-03-13 Telefonaktiebolaget Lm Ericsson (Publ) Low complexity spectral analysis / synthesis using selectable temporal resolution
EP2063417A1 (en) * 2007-11-23 2009-05-27 Deutsche Thomson OHG Rounding noise shaping for integer transform based encoding and decoding
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
BRPI0914056B1 (en) * 2008-10-08 2019-07-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. MULTI-RESOLUTION SWITCHED AUDIO CODING / DECODING SCHEME
CN102918590B (en) * 2010-03-31 2014-12-10 韩国电子通信研究院 Encoding method and device, and decoding method and device
US20120029926A1 (en) 2010-07-30 2012-02-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
JP5799707B2 (en) * 2011-09-26 2015-10-28 ソニー株式会社 Audio encoding apparatus, audio encoding method, audio decoding apparatus, audio decoding method, and program
EP2830058A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frequency-domain audio coding supporting transform length switching
CN105632503B (en) * 2014-10-28 2019-09-03 南宁富桂精密工业有限公司 Information concealing method and system
US10339947B2 (en) 2017-03-22 2019-07-02 Immersion Networks, Inc. System and method for processing audio data
EP3471271A1 (en) * 2017-10-16 2019-04-17 Acoustical Beauty Improved convolutions of digital signals using a bit requirement optimization of a target digital signal
WO2019091576A1 (en) * 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
CN107911122A (en) * 2017-11-13 2018-04-13 南京大学 Based on the distributed optical fiber vibration sensing data lossless compression method for decomposing compression
EP3738074A4 (en) 2018-01-08 2021-10-13 Immersion Networks, Inc. Methods and apparatuses for producing smooth representations of input motion in time and space
US11817111B2 (en) 2018-04-11 2023-11-14 Dolby Laboratories Licensing Corporation Perceptually-based loss functions for audio encoding and decoding based on machine learning
DE102019204527B4 (en) * 2019-03-29 2020-11-19 Technische Universität München CODING / DECODING DEVICES AND METHODS FOR CODING / DECODING VIBROTACTILE SIGNALS
KR102250835B1 (en) * 2019-08-05 2021-05-11 국방과학연구소 A compression device of a lofar or demon gram for detecting a narrowband of a passive sonar

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Geiger et al. "IntMDCT - A link between perceptual and lossless audio coding", ICASSP 2002, pp.1813-1816, May 2002
Geiger etal. "Audio coding based on Integer transforms", AES Covention paper 5471, November 2001
ISO/IEC JTC1/SC29/WG11 (MPEG), Internatinal standard ISO/IEC 13818-7 Generic coding of moving pictures and associated audio : Advanced audio coding, 1997
T. Moriya et al. "A design of lossy and lossless scalable audio coding", ICASSP 2000, pp.889-892, June 2000

Also Published As

Publication number Publication date
CN1258172C (en) 2006-05-31
WO2003088212A1 (en) 2003-10-23
CA2482427C (en) 2010-01-19
JP4081447B2 (en) 2008-04-23
AU2002358578A1 (en) 2003-10-27
HK1077391A1 (en) 2006-02-10
DE50204426D1 (en) 2005-11-03
ATE305655T1 (en) 2005-10-15
DE10217297A1 (en) 2003-11-06
CN1625768A (en) 2005-06-08
EP1495464B1 (en) 2005-09-28
JP2005527851A (en) 2005-09-15
CA2482427A1 (en) 2003-10-23
KR20050007312A (en) 2005-01-17
EP1495464A1 (en) 2005-01-12

Similar Documents

Publication Publication Date Title
KR100892152B1 (en) Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data
US7275036B2 (en) Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
US7343287B2 (en) Method and apparatus for scalable encoding and method and apparatus for scalable decoding
US8620674B2 (en) Multi-channel audio encoding and decoding
US8255234B2 (en) Quantization and inverse quantization for audio
US7801735B2 (en) Compressing and decompressing weight factors using temporal prediction for audio data
US8195730B2 (en) Apparatus and method for conversion into a transformed representation or for inverse conversion of the transformed representation
EP2279562B1 (en) Factorization of overlapping transforms into two block transforms
US7512539B2 (en) Method and device for processing time-discrete audio sampled values
Britanak et al. Cosine-/Sine-Modulated Filter Banks
Geiger et al. IntMDCT-A link between perceptual and lossless audio coding
Geiger et al. Integer low delay and MDCT filter banks
US20170206905A1 (en) Method, medium and apparatus for encoding and/or decoding signal based on a psychoacoustic model
Herre Audio Coding Based on Integer Transforms
Fraunhofer INTMDCT-A LINK BETWEEN PERCEPTUAL AND LOSSLESS AUDIO CODING

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140320

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160323

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170323

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180327

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 11