KR20060071425A - 2 이상의 입력 값을 처리하기 위한 장치 및 방법 - Google Patents

2 이상의 입력 값을 처리하기 위한 장치 및 방법

Info

Publication number
KR20060071425A
KR20060071425A KR1020067006196A KR20067006196A KR20060071425A KR 20060071425 A KR20060071425 A KR 20060071425A KR 1020067006196 A KR1020067006196 A KR 1020067006196A KR 20067006196 A KR20067006196 A KR 20067006196A KR 20060071425 A KR20060071425 A KR 20060071425A
Authority
KR
South Korea
Prior art keywords
value
values
integer
block
rounding
Prior art date
Application number
KR1020067006196A
Other languages
English (en)
Other versions
KR100804053B1 (ko
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 KR20060071425A publication Critical patent/KR20060071425A/ko
Application granted granted Critical
Publication of KR100804053B1 publication Critical patent/KR100804053B1/ko

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Abstract

라운딩 에러의 절감을 위해, 제 1 및 제 2 비-정수 입력 값이 제공되고(260, 262), 예를 들면, 비-정수 상태로 가산에 의해서 결합되어(268), 비-정수 결과 값이 얻어지고, 이 값은 라운딩되어 제 3 입력 값에 가산된다(269). 따라서, 라운드 에러는, 리프팅 단계로 분할된 두 개의 로테이션 사이 또는 리프팅 단계로 분할된 제 1 로테이션과 후속하는 다차원 리프팅 시퀀스의 제 1 리프팅 단계 사이의 인터페이스에서 절감될 수 있다.

Description

2 이상의 입력 값을 처리하기 위한 장치 및 방법{DEVICE AND METHOD FOR PROCESSING AT LEAST TWO INPUT VALUES}
본 발명은 신호 처리에 관한 것으로, 특히 손실 없는 부호화 애플리케이션(coding application)에 특히 적합한 오디오 샘플 또는 비디오 샘플과 같은 순차 값의 신호 처리에 관한 것이다.
본 발명은 또한 오디오 및/또는 화상 정보를 구성하는 이산값(discrete value)에 대한 압축 알고리즘에 적합하고, 특히 허프만 또는 산술 부호화 형태의 엔트로피 부호화 등과 같은 주파수 도메인, 시간 도메인 또는 위치 도메인에서의 변환(transform)을 포함하는 부호화 알고리즘에 적합하다.
MPEG Layer3(MP3) 또는 MPEC AAC와 같은 현대 오디오 부호화 방법은 오디오 신호의 블록-와이즈 주파수 표시(block-wise frequency representation)를 얻기 위해서, 소위 MDCT(modified discrete cosine transform)과 같은 변환을 이용한다. 이러한 오디오 부호화기는 통상적으로 시간-이산(time-discrete) 오디오 샘플의 스트림을 얻는다. 이 오디오 샘플의 스트림이 윈도 처리되어 예를 들면 1024 또는 2048 윈도 오디오 샘플의 윈도 블록이 얻어진다. 이 윈도 처리에 대하여는, 사인 윈도(sine window) 등과 같은 각종 윈도 함수가 채용된다.
그 다음, 시간-이산 오디오 샘플은 필터 뱅크(filter bank)에 의해서 스펙트럼 표시(spectral representation )로 전환(convert)된다. 이를 위해 원칙적으로 퓨리에 변환, 또는 특별한 이유에서의 FFT 또는 상술한 바와 같은 MDCT 등과 같은 변형된 각종 퓨리에 변환이 채용될 수 있다. 필터 뱅크에서의 오디오 스펙트럼 값의 블록은 그 후에 필요에 따라 더 처리가 진행될 수도 있다. 상기 오디오 부호화기에서, 오디오 스펙트럼 값의 양자화는 이하 설명되겠지만, 여기서 양자화 단계는 특히 양자화에 의해서 유도되는 양자화 잡음이 통상적으로 청각심리적 차단 임계값(psychoacousitc masking threshold) 미만이 되도록 선택, 즉 마스크(masked away)된다. 양자화는 손실 부호화(lossy coding)이다. 더욱 데이터량을 감축하기 위해서, 양자화된 스펙트럼 값이 예를 들면 허프만 부호화에 의해서 엔트로피 부호화된다. 스케일 팩터 등과 같은 사이드 정보(side information)를 추가함으로써, 저장되거나 또는 전송되는 비트 스트림이 비트 스트림 멀티플렉서에 의해서 엔트로피 부호화 양자화된 스펙트럼 값으로부터 형성된다.
오디오 복호화기에서, 비트 스트림은 비트 스트림 디멀티플렉서에 의해서 부호화 양자화된 스펙트럼 값과 사이드 정보로 분리된다. 엔트로피 부호화 양자화된 스펙트럼 값은 먼저 엔트로피 양자화되어 양자화된 스펙트럼 값이 얻어진다. 이 양자화된 스펙트럼 값은 그 다음 역으로 양자화되어 양자화 잡음을 포함하는 복호화된 스펙트럼 값이 얻어지지만, 이 양자화 잡음은 청각심리적 차단 임계값 미만이고 따라서 들리지 않는다. 이들 스펙트럼 값은 그 다음 합성 필터 뱅크(synthesis filter bank)에 의해서 일시적 표시로 전환(convert)되어 시간-이산 복호화된 오디 오 샘플이 얻어진다. 합성 필터 뱅크에서, 상기 변환 알고리즘에 반대인 변환 알고리즘이 채용되어야 한다. 더욱이, 윈도 처리는 주파수-시간 역방향 변환 후에 역으로 이루어져야 한다.
양호한 주파수 선택도를 성취하기 위해서, 모던 오디오 부호화기(modern audio coder)는 통상적으로 블록 오버랩(block overlap)을 이용한다. 이러한 경우가 도 6a에 나타나 있다. 먼저, 예를 들면, 2048 타임-이산 오디오 샘플이 취해지고 수단(402)에 의해서 윈도처리된다. 윈도 구현 수단(window embodying means)(402)은 2N개 샘플의 윈도 길이를 가지며 출력측에서 2N개 윈도 샘플의 블록을 제공한다. 윈도 오버랩을 성취하기 위해서, 2N 윈도 샘플의 두 번째 블록이 수단(404)에 의해서 형성되는데, 이 수단은 명확화를 위한 경우에만 도 6a에서의 수단(402)과 분리하여 설명한다. 그러나, 수단(404)에 공급되는 2048 샘플은 첫 번째 윈도에 바로 후속하는 시간-이산 오디오 샘플은 아니지만, 수단(402)에 의해서 윈도 처리된 샘플의 두 번째 절반을 포함하고 게다가 1024 "새로운" 샘플만 포함한다. 오버랩은 도 6a에 수단(406)에 의해서 상징적으로 나타나 있으며, 이 수단은 50% 정도의 오버랩을 일으킨다. 수단(402)에 의해서 출력된 2N 윈도 샘플과 수단(404)에 의해서 출력된 2N 윈도 샘플 모두 수단(408 및 410)에 의해서 각각 MDCT 알고리즘이 행해진다. 수단(408)은 공지된 MDCT 알고리즘에 따라 첫 번째 윈도에 대하여 N개 스펙트럼 값을 제공하고, 수단(410)은 N개 스펙트럼 값을 제공하지만, 두 번째 윈도에 대해서는 제공하지 않으며, 이때, 첫 번째 윈도와 두 번째 윈도 사이에는 50%의 오버랩이 있다.
복호화기에서, 도 6b에 나타나 있는 바와 같이, 첫 번째 윈도의 N개 스펙트럼이 역 MDCT 변환을 수행하는 수단(412)으로 공급된다. 동일하게 두 번째 윈도의 N개 스펙트럼 값에 적용된다. 이들도 역 MDCT 변환을 수행하는 수단(414)에 공급된다. 두 수단(412 및 414)은 각각 첫 번째 윈도에 대하여 2N 샘플을 두 번째 윈도에 대하여 2N개 샘플을 제공한다.
도 6b에서 TDAC(time domain aliasing cancellation)으로 표시되는 수단(416)에서, 두 개의 윈도가 오버랩되는 사실을 상정한다. 특히, 인덱스 N+K를 가진 첫 번째 윈도의 두 번째 절반의 샘플 y1은 인덱스 k를 가진 두 번째 윈도의 첫 번째 절반으로부터 샘플 y2와 합산되어, N개 복호화된 임시 샘플이 출력 측, 즉 복호화기에 출력된다.
가산 기능을 갖는 수단(416)의 기능에 의해, 도 6a에 의해서 개략적으로 나타낸 부호화기에서 수행된 윈도 처리를 상정하면 자동적으로, 도 6b에 의해서 설명된 복호화기에서 "역 윈도처리"가 발생하지 않음을 알 수 있다. 수단(402 또는 404)에 의해서 구현된 윈도 함수가 w(k)에 의해서 설계되는 경우, 여기서 인덱스 k는 시간 인덱스를 나타내며, 조건은 제곱 윈도 가중치 w(N+k)에 제곱 윈도 가중치 w(k)를 가산한 값이 1인 것을 만족하고, 여기서 k는 0 내지 N-1이다. 그 윈도 웨이팅이 사인 함수의 제 1 반 파장을 따르는 사인 함수가 이용되는 경우, 이 조건은 항상 만족하는데, 그 이유는 사인의 제곱과 코사인의 제곱을 더하면 모든 각에서 값이 1이 되기 때문이다.
도 6a에 설명한 후속하는 MDCT 기능을 가진 윈도 방법에서, 사인 윈도를 상정하면, 시간-이산 샘플의 곱에 의한 윈도 처리는 플로팅 포인트 수를 갖게 되는 단점이 있는데, 그 이유는 0과 180도 사이의 각에서의 사인은 90도의 각을 제외하고는 정수를 구할 수 없기 때문이다. 정수 시간-이산 샘플이 윈도 처리되는 경우에도, 플로팅 포인트 수가 윈도 처리 후에 발생하게 된다.
따라서, 청각심리적 부호화기가 이용되지 않는 경우에도, 즉 손실이 없는 부호화가 성취되는 경우에도, 합리적으로 처리할 수 있는 엔트로피 부호화를 수행하기 위해 수단(408과 410)의 출력에서 각각 양자화가 필요하다.
일반적으로, 현재 알려진 손실 없는 오디오 및/또는 비디오 부호화에 대한 정수 변환(integer transform)은 기븐 로테이션(Givens rotation)으로 분해하고, 리프팅 스킴(lifting scheme)을 각 기븐 로테이션에 적용함으로써 얻어진다. 따라서, 라운딩 에러가 각 단계에서 유도된다. 기븐 로테이션의 후속하는 단계 동안, 라운딩 에러는 계속해서 축적된다. 결과적인 근사 에러는 손실 없는 오디오 부호화 접근 방법에 특히 문제가 되는데 특히 예를 들면 오버랩과 가산을 포함하는 알려진 MDCT와 같은 경우 1024개 스펙트럼 값을 제공하는 긴 변환이 이용되는 경우에는 문제가 된다. 특히, 통상적으로 오디오 신호가 매우 작은 에너지량을 가지고 있는 고주파 범위에서는, 근사 에러가 실제 신호보다 빠르게 커지기 때문에, 이들 근사 에러는 손실 없는 부호화에 대하여 문제가 되고 특히 그에 의해 성취될 수 있는 부호화 효율에 문제가 된다.
오디오 부호화에 대하여, 정수 알고리즘, 즉 정수 출력 값을 생성하는 변환 알고리즘은 특히 DC 성분을 고려하지 않은 알려진 DCT-IV에 기초하고 있지만, 화상 애플리케이션에 대한 정수 변환은 특히 DC 성분에 대한 규정을 포함하는 DCT-II에 기초하고 있어 오디오 부호화보다 양호하다. 이러한 정수 변환은 예를 들면, 「Y. Zeng, G. Bi and Z. Lin, "Integer sinusoidal transforms based on lifting factorization", in Proc. ICASSP'1, May 2001, pp. 1,181 - 1,184; K. Komatsu and K. Sezaki, "Reversible Discrete Cosine Transform", in Proc. ICASSP, 1998, vol. 3, pp. 1,769 - 1,772; P. Hao and Q. Shi, "Matrix factorizations for reversible integer mapping", IEEE Trans. Signal Processing, Signal Processing, vol. 49, pp. 2,314 - 2,324; 및 J. Wang, J. Sun and S. Yu, "1-d and 2-d transforms from integers to integers", in Proc. ICASSP'3, Hongkong, April 2003」에 개시되어 있다.
상술한 바와 같이, 상기 정수 변환은 기븐 로테이션으로 변환의 분해와 기븐 로테이션에의 공지된 리프팅 스킴의 적용에 기초를 두고 있고, 이는 결과적으로 라운딩 에러를 축적하는 문제를 발생시킨다. 이는 특히, 변환 중에 라운딩이 매번, 즉 각 리프팅 단계 후에 수행되어야 한다는 사실에 의거하며, 대응하는 리프팅 단계의 수가 많은 긴 변환의 경우에 라운딩 수도 커지기 때문에 특히 더 문제가 된다. 상술한 바와 같이, 이는 결과적으로 에러가 축적되며 상대적으로 복잡한 처리시에는 다음 리프팅 단계를 수행하기 위해서 리프팅 단계 후 매번 라운딩이 수행되어야 하기 때문에 더욱 에러가 축적된다.
다음으로, DE 10129240 A1에 개시된 도 9 내지 도 11을 참조하여 MDCT 윈도 처리의 분해에 대하여 설명한다. 여기서 리프팅 매트릭스를 가진 기븐 로테이션으로의 MDCT 윈도 처리의 분해와 대응하는 라운딩은 전환(conversion)에 대하여 기술 사상이 나타난 도 1과 역전환에 대하여 기술 사상이 나타난 도 2를 유용하게 결합하면, 완전한 정수 MDCT 근사, 즉 본 발명에 따른 정수 MDCT(IntMDCT)가 얻어지며, 순방향 및 역방향 변한 기술 사상 모두가 MDCT의 예에서 얻어진다.
도 3은 Int-MDCT 정수 변환 알고리즘이 운영되는 경우 근거가 되는 정수값을 얻기 위해 오디오 신호를 나타내는 시간-이산 샘플을 처리하는 본 발명의 바람직한 디바이스에 대한 대략적인 다이어그램을 나타낸 도면이다. 시간-이산 샘플은 도 3에 나타낸 디바이스에 의해서 윈도 처리되고 선택적으로 스펙트럼 표시로 전환된다. 입력(10)에서 디바이스에 공급되는 시간-이산 샘플은 2N 시간-이산 샘플에 대응하는 길이를 가진 윈도 w로 윈도 처리되어, 변환 및 특히 정수 DCT를 수행하는 수단(14)에 의해서 스펙트럼 표시로 전환되는데 적합한 정수 윈도 샘플이 출력(12)에서 얻어진다. 정수 DCT는 N개의 입력 값으로부터 N개의 출력 값을 생성하도록 설계되며, 이는 도 6a의 MDCT 기능(408)과는 반대이며, MDCT 식에 의거하여 2N개 윈도 샘플로부터 N개 스펙트럼 값만을 생성한다.
시간-이산 샘플을 윈도 처리하기 위해, 먼저 두 개의 시간-이산 샘플은 시간-이산 샘플의 벡터를 함께 나타내는 수단(16)에서 선택된다. 수단(16)에 의해서 선택된 시간-이산 샘플은 윈도의 제 1 쿼터이고 도 5에 상세하게 나타나 있다. 수단(16)에 의해서 생성된 벡터는 2×2 크기의 로테이션 매트릭스로 제공되며, 이 연산은 직접적으로 수행되지 않고 소위 리프팅 매트릭스에 의해서 수행된다.
리프팅 매트릭스는 윈도 w에 따라 하나의 엘리먼트 "0" 또는 "1" 중 어느 하나만으로 이루어지는 특성을 갖는다.
리프팅 단계에서의 웨이브렛(wavelet) 변환의 인수분해는 「the specialist publication "Factoring Wavelet Transforms Into Lifting Steps", Ingrid Daubechies and Wim Sweldens, Preprint, Bell Laboratories, Lucent Technologies, 1996」에 나타나 있다. 일반적으로, 리프팅 스킴은 동일한 저역 통과 또는 고역 통과 필터를 가진 완전하게 재구성한 필터 쌍 사이의 간략한 관계이다. 각 보완 필터 쌍이 리프팅 단계로 분해될 수도 있다. 이는 특히 기븐 로테이션에 적용된다. 폴리페이즈(polyphase) 매트릭스가 기븐 로테이션인 경우를 상정한다. 그 다음 이하 식을 적용한다.
Figure 112006022325936-PCT00001
이 수학식 우측에 있는 3개의 리프팅 매트릭스 각각은 주 대각 요소로서 값"1"을 갖는다. 또한, 각 리프팅 매트릭스에서, 2차 대각 요소는 0이며 로테이션 각 α에 따른다.
벡터는 세 번째 리프팅 매트릭스, 즉 상기 식에서 우측 가장 끝에 있는 매트릭스에 의해서 곱해져 제 1 결과 벡터가 얻어진다. 이는 수단(18)에 의한 것으로 도 3에 나타나 있다. 제 1 결과 벡터는 수단(20)에 의한 것으로 도 3에 나타나 있는 바와 같이 실수의 세트와 정수의 세트를 정합시키는 임의의 라운딩 함수로 라운 딩된다. 수단(20)에서의 출력에서, 라운딩된 제 1 결과 벡터가 얻어진다. 이 라운딩된 제 1 결과 벡터는 중앙에 있는, 즉 두 번째 리프팅 매트릭스와 승산하는 수단(22)에 공급되어 제 2 결과 벡터가 얻어지고 이 제 2 결과 벡터는 다시 수단(24)에서 라운딩되어, 라운딩된 제 2 결과 벡터가 얻어진다. 라운딩된 제 2 결과 벡터는 상기 식에서 좌측에 나타난 리프팅 매트릭스, 즉 첫 번째 리프팅 매트릭스와 승산하는 수단(26)에 공급되어 제 3 결과 벡터가 얻어지고 이 벡터는 최종적으로 수단(28)에 의해서 라운딩되어 최종적으로 출력(12)에서 정수 윈도 샘플이 얻어지며, 그 스펙트럼 표시가 요구되는 경우, 수단(14)에 의해서 처리되어 스펙트럼 출력(30)에서 정수 스펙트럼 값이 얻어진다.
바람직하게는, 수단(14)은 정수 DCT로서 구현된다.
길이 N을 가진 타입 4(CDT-IV)에 따른 이산 코사인 변환은 다음 식으로 주어진다.
Figure 112006022325936-PCT00002
DCT-IV의 계수는 직교 N×N 매트릭스를 형성한다. 각 직교 N×N 매트릭스는 「the specialist publication P. P. Vaidyanathan, "Multirate Systems And Filter Banks", Prentice Hall, Englewood Cliffs, 1993」에 나타난 바와 같이 N(N-1)/2 기븐 로테이션으로 분해될 수 있다. 다른 분해도 존재할 수 있음을 주지한다.
각종 DCT 알고리즘의 분류에 대해서는 「H. S. Malvar, "Signal Processing With Lapped Transforms", Artech House, 1992」를 보면 알 수 있다. 일반적으로, DCT 알고리즘은 그 기본 함수의 종류에 따라 달라진다. 이중에서 바람직한 DCT-IV는 비대칭 기본 함수, 즉 코사인 쿼터 웨이브, 코사인 3/4 웨이브, 코사인 5/4 웨이브, 코사인 7/4 웨이브 등을 포함하고, 예를 들면, 타입 II(DCT-II)의 이산 코사인 변환은 축대칭 및 점대칭 기본 함수를 갖는다. 0번째 기본 함수는 DC 성분을 가지며, 첫 번째 기본 함수는 절반의 코사인 웨이브이고, 두 번째 기본 함수는 전체 코사인 웨이브이다. DCT-II가 DC 성분을 특히 강조하는 사실에 의거하면, 이는 비디오 부호화에서 이용되고 오디오 부호화에는 이용되지 않는데, 그 이유는 DC 성분은 비디오 부호화에 비해 오디오 부호화가 상대적으로 없기 때문이다.
이하에서, 기분 로테이션의 로테이션 각 α가 윈도 함수에 어떻게 종속하는지에 대하여 설명한다.
2N의 윈도 길이를 갖는 MDCT는 길이 N을 갖는 타입 IV의 이산 코사인 변환으로, 그 길이가 단축될 수 있다. 이는 시간 도메인에서 동작하는 TDAC를 완전히 수행하고, DCT-IV를 적용함으로써 성취된다. 50% 오버랩의 경우에, 블록 t를 위한 윈도의 좌측 절반은 이전 블록, 즉 블록 t-1의 우측 절반과 오버랩된다. 두 개의 연속하는 블록 t-1과 블록 t의 오버랩 부분은 시간 도메인에서, 즉 변환에 앞서 다음과 같이 처리된다. 즉, 도 3의 입력(10)과 출력(12) 사이에서 처리된다.
Figure 112006022325936-PCT00003
틸데(~)로 표시된 값은 도 3의 출력(12)에서의 값이고, 상기 식에서 틸데로 표시되지 않은 값은 입력(10)에서의 값이거나 및/또는 다음 선택 수단(16)에서의 값이다. 런닝 인덱스(running index) k는 0 내지 N/2 - 1이고, w는 윈도 함수를 나타낸다.
윈도 함수 w에 대한 TDAC 조건으로부터, 이하가 적용된다.
Figure 112006022325936-PCT00004
임의의 각 αk, k = 0, ..., N/2 - 1, 시간 도메인에서의 이 처리는 상술한 바와 같이 기븐 로테이션으로서 기재될 수도 있다.
기븐 로테이션의 각 α는 다음 윈도 함수 w에 따른다.
Figure 112006022325936-PCT00005
임의의 윈도 함수 w는 이들이 TDAC 조건을 만족하는 한 채용될 수 있다.
이하에서, 캐스케이드 부호화기와 복호화기가 도 4를 참조하여 설명한다. 윈도에 의해서 "윈도 처리된" 시간-이산 샘플 x(0) 내지 x(2N-1)은 도 3의 수단(16)에 의해서 먼저 선택되어, 샘플 x(0)와 샘플 x(N-1), 즉 윈도의 제 1 쿼터로부 터의 샘플과 제 2 쿼터로부터의 샘플이 선택되고, 이에 의해서 수단(16)의 출력에서 벡터가 형성된다. 십자 화살표가 수단(18, 20과 22, 24와 26, 28)의 리프팅 승산과 후속하는 라운딩을 각각 개략적으로 나타낸다.
제 1 벡터가 상술한 바와 같이 처리된 경우, 제 2 벡터는 또한 샘플 x(N/2-1)과 x(N/2)로부터, 즉 윈도의 제 1 쿼터로부터의 샘플과 윈도의 제 2 쿼터로부터의 샘플로부터 다시 선택되고, 도 3에 나타난 알고리즘에 의해 다시 처리된다. 아날로그적으로, 윈도의 제 1 쿼터 및 제 2 쿼터로부터의 모든 다른 샘플 쌍이 처리된다. 동일한 처리가 첫 번째 윈도의 제 3 쿼터 및 제 4 쿼터에 대하여 수행된다. 도 4에 나타낸 바와 같이 DCT-IV 변환에 공급되는 출력(12)에 2N개 윈도 정수 샘플이 존재한다. 특히, 제 2 쿼터 및 제 3 쿼터의 정수 윈도 샘플은 DCT에 공급된다. 윈도의 제 1 쿼터의 윈도 정수 샘플은 이전 윈도의 제 4 쿼터의 윈도 정수 샘플과 함께 이전 DCT-IV에서 처리된다. 따라서, 도 4에서, 윈도 정수 샘플의 제 4 쿼터는 다음 윈도의 제 1 쿼터와 함께 DCT-IV 변환에 공급된다. 도 4에 나타낸 가운데 정수 DCT-IV 변환(32)은 N개 정수 스펙트럼 값 y(0) 내지 y(N-1)을 제공한다. 이들 스펙트럼 값은 예를 들면 양자화의 중재가 필요하지 않은 간단하게 엔트로피 부호화가 이루어지는데, 그 이유는 윈도 처리와 변환이 정수 출력 값을 구해주기 때문이다.
도 4의 우측 절반에는 복호화기가 나타나 있다. 역방향 변환과 "반전 윈도 처리"를 구성하는 복호화기는 부호화기와 반대로 동작한다. 도 4에 나타나 있는 바와 같이, 역DCT-IV는 DCT-IV의 역변환에 이용될 수 있음을 알 수 있다. 복호화 기 DCT-IV(34)의 출력 값은 도 4에 나타난 바와 같이 이전 변환 및/또는 이후 변환의 대응하는 값으로 역으로 처리되어, 수단(34)의 출력 및/또는 이전과 이후 변환에서 정수 윈도 샘플로부터 시간-이산 오디오 샘플 x(0) 내지 x(2-N1)이 다시 생성된다.
출력측에서의 동작은 역 기븐 로테이션에 의해서, 즉 블록(26, 28과 22, 24와 18, 20) 각각이 반대 방향으로 진행하도록 이루어진다. 이는 수학식 1의 두 번째 리프링 매트릭스를 참조하여 더 상세하게 설명한다. (부호화기에서) 제 2 결과 벡터가 두 번재 리프팅 매트릭스(수단(22))와 라운딩된 제 1 결과 벡터를 승산함으로써 형성되고, 결과적으로 이하 수학식이 된다.
Figure 112006022325936-PCT00006
수학식 6에서 우측에 있는 x와 y는 정수이다. 그러나, 이는 값 x sin α에 적용하지 않는다. 여기서, 라운딩 함수 r은 이하 수학식에 나타난 바와 같이 유도된다.
Figure 112006022325936-PCT00007
이 동작은 수단(24)에 의해서 수행된다.
이 역 매핑(복호화기에서)는 다음과 같이 정의된다.
Figure 112006022325936-PCT00008
라운딩 동작에 앞에 있는 마이너스 표시에 의거하여, 이 식은 리프팅 단계의 정수 근사가 에러 유도 없이 역으로 될 수 있다는 것을 명백히 알 수 있다. 3개의 리프팅 단계의 각각에 대한 이 근사법의 적용으로 기븐 로테이션 정수 근사가 이루어진다. 라운드 로테이션(부호화기에서)은 역순으로 역 라운드 리프팅 단계를 진행함으로써, 즉 복호시 도 3의 알고리즘이 바닥으로부터 위로 수행되는 되면, 에러가 유도되지 않고 반대로 이루어질 수 있다(복호화기에서).
라운딩 함수 r이 점대칭인 경우, 역 라운드 로테이션은 각 -α를 가진 라운드 로테이션과 일치하고 다음과 같이 표시된다.
Figure 112006022325936-PCT00009
복호화기의 리프팅 매트릭스, 즉 역 기븐 로테이션에 대한 경우, 결과적으로 수학식 1로부터 직접 단지 "sin α"를 "-sin α"로 치환함으로써 얻어진다.
이하에서, 오버랩핑 윈도(40 내지 46)를 가진 공통 MDCT의 분해(decompostion)는 도 5를 참조하여 다시 설명한다. 윈도(40 내지 46)은 각각 50% 오버랩을 가진다. 먼저, 화살표(48)에 의해서 개략적으로 나타낸 바와 같이, 기븐 로테이션은 윈도의 제 1 및 제 2 쿼터 내에서 및/또는 윈도의 제 3 및 제 4 쿼터 내에서 윈도당(per window) 수행된다. 그 다음, 로테이트된 값, 즉 윈도 정수 샘플)이 N-to-N DCT에 공급되어, 윈도의 제 2 및 제 3 쿼터와 윈도의 제 4 및 제 1 쿼터가 각각 DCT-IV 알고리즘에 의해서 함께 스펙트럼 표시로 전환된다.
따라서, 공통 기븐 로테이션은 순차적으로 실행되는 리프팅 매트릭스로 분해되고, 각 리프팅 매트릭스 승산 이후에, 라운딩 단계가 삽입되어, 플로팅 포인트 수는, 리프팅 매트릭스와 결과적인 벡터를 각각 승산하기에 앞서 결과 벡터만 정수값을 갖도록 한 직후에 라운딩된다.
따라서, 출력 값이 정수로 항상 남아 있게 되어 정수 입력 값을 이용하는데 바람직하다. 이는 이에 한정하지 않으며, 이들이 CD에 저장된 바와 같이 임의의 예시적인 PCM 샘플은 그 값의 범위가 비트폭에 따라, 즉 시간-이산 디지털 입력 값이 16 비트값 또는 24비트값인지의 여부에 따라 정수값이 되기 때문이다. 그럼에도 불구하고, 전체 처리는 반대 순서로 역 로에티이션을 수행함으로써, 상술한 바와 같이, 반전될 수 있다. 따라서, 완전한 재구성을 가진 MDCT의 정수 근사, 즉 손실 없는 변환이 이루어진다.
나타낸 변환은 플로팅 포인트 값 대신에 정수 출력 값을 제공한다. 이는 순방향 변환 다음에 역방향 변환이 수행되는 경우 에러가 유도되지 않도록 완전한 재구성을 제공한다. 본 발명의 바람직한 실시예에 따르면, 이 변환은 MDCF를 대신한다. 그러나, 다른 변환 방법도 정수를 가지고 로테이션으로의 분해와 리프팅 단계로의 로테이션의 분해가 가능한 한 수행될 수 있다.
정수 MDCT는 MDCT의 유효한 특성을 대부분 가지고 있다. 상기 MDCT는 오버랩핑 구조를 가지고 있고, 이에 의해서 비 오버랩핑 블록 변환보다 더 양호한 주파수 선택도가 얻어진다. 변환에 앞서 윈도 처리하는 것을 이미 고려한 TDAC 함수에 의거하여, 크리티컬 샘플링은 오디오 신호를 나타내는 스펙트럼 값의 총수가 입력 샘플의 총수와 동일하도록 유지된다.
플로팅 포인트 샘플을 제공하는 일반 MDCT에 비해, 상술한 바람직한 정수 변환은, 일반 MDCT에 대한 잡음이 신호 레벨이 작은 스펙트럼 범위에서만 증가하고, 그 잡음은 충분한 신호 레벨에서는 나타나지 않음을 나타낸다. 그러나, 정수 처리는 그 자체로 충분한 하드웨어 구현이 뒷받침되는데, 그 이유는 승산 단계만 간단하고 빠른 방식으로 하드웨어가 구현될 수도 있는 이동(shift)/가산(add) 단계로 용이하게 분해될 수 있기 때문이다.
정수 변환은 오디오 신호의 양호한 스펙트럼 표시를 제공하지만 여전히 정수의 영역에 남아 있게 된다. 이것이 오디오 신호의 톤 부분에 적용되는 경우, 결과적으로 양호한 에너지 집중이 이루어진다. 따라서, 효과적인 손실 없는 부호화 방식(scheme)은 엔트로피 부호화기를 가지고, 도 3에 나타난 윈도 처리/변환를 간단하게 캐스케이딩함으로써 구성될 수도 있다. 특히, MPEC AAC에서 채용하고 있는 바와 같이 이스케이프 값(escape value)을 이용하는 스택 부호화가 유리하다. 이는 이들이 소망하는 부호화 테이블에 고정될 때까지 두 개의 임의의 전력에 의해서 모든 값을 작게 하고 그 다음에 부가적으로 코드를 최소 필요 비트로 하는 것이 바람직하다. 큰 코드 테이블의 이용하는 경우에 비해, 이 바람직한 방법은 코드 테 이블을 저장하는데 소모되는 저장에 관련하여 더 우수하다. 대부분의 손실 없는 부호화기는 간단히 최소 필요 비트 중 확실한 하나를 생략함으로써 얻어진다.
특히, 톤 신호에 대한, 정수 스펙트럼 값의 엔트로피 부호화는 부호화 이득이 높다. 신호의 전이 부분에 대한, 부호화 이득은 낮은데, 그 이유는 전이 신호의 평탄한 스펙트럼 때문이며, 즉 스펙트럼 값의 적은 수는 0이거나 0에 가깝기 때문이다. 「J. Herre, J. D. Johnston: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)", 101st AES Convention, Los Angeles, 1996, preprint 4384」에 개시된 바와 같이, 이 평탄도는 주파수 도메인에서의 선형 예측을 이용함으로써 이용될 수 있는 것이다. 대안은 개방 루프를 가진 예측에 있다. 다른 대안은 폐 루프를 가진 예측기(predictor)에 있다. 첫 번째 대안, 즉 개방 루프를 가진 예측기는 TNS라 칭한다. 예측 후의 양자화는 오디오 신호의 임시 구성에 결과적인 양자화 잡음을 적용하고, 따라서 청각 심리적 오디오 부호화기에서의 프리-에코를 방지한다. 손실 없는 부호화를 위한, 두 번째 다안, 즉 폐루프 예측기가 더 적용가능성이 있는데, 그 이유는 폐루프를 가진 예측은 입력 신호의 재구성을 정확하게 할 수 있기 때문이다. 이 기술이 생성된 스펙트럼에 적용되는 경우, 라운딩 단계는 정수의 영역에 머무르게 하기 위해 예측 필터의 각 단계 후에 수행되어야 한다. 역 필터와 그 라운딩 함수를 이용함으로써, 본래 스펙트럼은 정확하게 재생될 수 있다.
데이터 절감을 위한 두 채널 사이의 잉여분을 이용하기 위해서, π/4의 각을 가진 라운드 로테이션이 이용되는 경우, 중앙측 부호화도 무손실 방식으로 채용될 수도 있다. 스테레오 신호의 좌측 및 우측 채널의 합과 차를 산출하는 방식에 비해, 라운드 로테이션은 에너지 보전 효과의 이점이 있다. 소위 조인트 스테레오 부호화 기술의 이용은 이 기술이 표준 MPEG AAC에 수행될 수 있는 바와 마찬가지로, 각 밴드에 대하여 이용되거나(스위치 온) 또는 이용되지 않을(스위치 오프) 수 있다. 또한, 로테이션 각은 더 탄력적으로 두 개의 채널 사이의 잉여분을 감소시킬 수 있도록 상정될 수도 있다.
특히, 도 3을 참조하여 설명한 변환 기술 사상은 MDCT의 정수 구현, 즉 순방향 및 그 다음 역방향 변환에 대하여 손실 없이 동작하는 IntMDCT를 제공한다. 라운딩 단계(20, 24, 28)와, 정수 DCT(도 3의 블록(14))에서 그 대응하는 라운딩 단계에 의하면, 항상 정수 처리, 즉, 더 성긴 양자화값을 처리하는 것이, 예를 들면, 리프팅 매트릭스(도 3의 블록(18, 22, 26))와의 플로팅 포인트 승산에 의해서 생성된 것보다 더 가능하다.
결과적으로, 전체 IntMDCT는 계산에 대하여 효율적으로 수행될 수 있다.
IntMDCT의 무손실, 또는 일반적으로 무손실로서 언급되는 모든 부호화 알고리즘의 무손실은, 부호화 신호를 성취하기 위해 부호화될 때, 그리고 부호화/복호화 신호를 성취하기 위해 다시 복호화될 때, 신호가 본래 신호와 정확하게 같아 보인다는 사실과 관계 있다. 다시 말하면, 본래 신호가 부호화/복호화 신호에 일치할 때이다. 이는 소위 로시화(lossy) 부호와는 분명히 반대되고, 이 로시 부호하에서는 청각심리적 기반에서 동작하는 오디오 부호화기의 경우에, 데이터가 부호화 처리에 의해서, 그리고 특히 청각심리적 모델에 의해서 제어되는 양자화 처리에 의해서 회복 불능하게 손실된다.
물론, 라운딩 에러는 여전히 유도된다. 따라서, 블록(20, 24, 28)에서 도 3에 관련한 나타낸 바와 같이, 라운딩 단계가 수행되면 라운딩 에러가 유도되는 것은 물론이고, 이 에러는 역동작이 수행되는 복호화기에서만 제거된다. 따라서, 무손실 부호화/복호화 기술 사상은 로시 부호화/복호화 기술 사상과 다르며, 무손실 부호화/복호화 기술 사상에서는, 라운딩 에러가 유도되고 다시 제어될 수 있지만, 이는 로시 부호화/복호화 기술 사상은 아니다.
그러나, 부호화 신호를 상정하면, 즉 변환 부호화기의 예에서, 임시 샘플의 블록의 스펙트럼을 상정하면, 순방향 변환에서의 라운딩 및/또는 신호 등의 양자화는 결과적으로 신호에 에러가 유도된다. 따라서, 라운딩 에러는 신호의 이상적인 에러가 없는 스펙트럼에 부여되고, 그 에러는 전형적으로 도 3의 경우에서 예를 들면 상정된 스펙트럼 영역의 모든 주파수 성분을 포함하는 백색잡음과 동일하다. 따라서, 상기 이상적인 스펙트럼에 부여된 백색 잡음은 예를 들면 윈도 처리 동안, 즉 블록(14)에서 실제 DCT에 앞서 신호를 미리 처리하는 동안 라운딩에 의해서 발생하는 라운딩 에러로 나타난다. 이는 특히 무손실 요구에 대하여, 전체 라운딩 에러가 반드시 부호화 하는데, 즉 반드시 복호화기로 전송되는데, 그 이유는 복호화기는 보정에 의한 무손실 재구성을 성취하기 위해서 상기 부호화기에 유도되는 전체 라운딩 에러가 필요하기 때문이다.
이 라운딩 에러는 스펙트럼 표시에 대하여 아무것도 행하여 지지 않는 경우, 즉, 스펙트럼 표시만이 정확하게 역 복호화기를 정합시킴으로써 다시 저장, 전송 및 복호되는 경우에는 아무런 문제가 되지 않을 수도 있다. 이 경우에, 얼마만 많은 라운딩 에러가 스펙트럼에 유도되었는지에는 관계없이 무손실 크라이테리어는 항상 만족된다. 그러나, 일부 스펙트럼 표시가 행해지는 경우, 즉 라운딩 에러를 포함하는 본래 신호의 이상적인 스펙트럼 표시가 행해지는 경우, 예를 들면, 확장성 층이 생성되면, 모든 작업이 더 좋아지고 라운딩 에러가 더 감소된다.
따라서, 무손실 부호화/복호화에서는, 신호가 특정 복호화기에 의해서 손실 없이 재구성되는 것을 요구할 수 있으나, 이에 부가하여 신호가 그 스펙트럼 표시시에 최소의 라운딩 에러를 가지게 함으로써, 비 이상적인 무손실 복호화기가 스펙트럼 표시에 이용되거나, 스케일링 층 등이 생성되는 경우에도 탄력성을 보존하게 된다.
상술한 바와 같이, 라운딩 에러가 전체 상정된 스펙트럼을 통해 나타나는 백색 잡음으로서 표시된다. 한편, 특히 손실이 없어야 하는 고품질 애플리케이션에서, 즉 96kHz 등의 고주파 샘플링 주파수를 가진 오디오 애플리케이션에서는, 오디오 신호는 임의의 스펙트럼 범위에서만 신호 내용을 가진다. 통상적으로, 오디오 신호의 대부분의 신호 에너지가 집중되어 있는 범위는 0 내지 10kHz의 범위이지만, 10kHz 이상의 범위에서는 신호 에너지가 현저하게 감소한다. 그러나, 이는 라운드에 의해서 유도되는 백색 잡음에는 문제가 되지 않는다. 백색 잡음은 신호 에너지의 전체 상정된 스펙트럼 범위에 걸쳐 나타난다. 그 결과, 스펙트럼 범위, 통상적으로 오디오 신호 에너지가 없거나 또는 매우 적게 존재하는 높은 스펙트럼 범위에 서는, 라운딩 에러만 존재한다. 그때, 특히 특정되지 않은 경우에는, 라운딩 에러는 부호화를 방해하게 되는데, 즉 비교적 높은 비트 요구로만 부호화가 가능하다. 비트 요구는 특히 일분 손실 있는 애플리케이션에서는 결정적인 역할을 하지 않는다. 그러나, 점점 널리 보급되고 있는 무손실 애플리케이션에 대해서, 높은 비트 효율로 동작하는 것이 매우 중요하고, 로시 부호화 기술 사상으로부터 잘 알려진 바와 같이 대응하는 비트 효율로 무손실 애플리케이션의 원천적인 품질 저하를 막는데 이점이 있다.
따라서, 비록 라운딩 에러가 복호시에 제거될 수 있어 무손실 환경에는 전혀 문제가 되지 않는다 하더라도, 첫 번째 장소에서의 무손실 복호화 및/또는 재구성이 수행될 수 있게 하는 것도 충분히 고려해 볼 수 있다. 한편, 상술한 바와 같이, 라운딩 에러가 스펙트럼 표시에 결함으로 나타나는, 즉 라운딩되지 않은 신호의 이상적인 스펙트럼 표시에 비해 스펙트럼 표시를 왜곡하는 것으로 나타난다. 스펙트럼 표시, 부호화 신호가 실질적으로 중요한 특정 애플리케이션의 경우, 즉, 예를 들면, 각종 스케일링 층이 부호화된 신호로부터 생성되는 경우, 재구성시 요구되는 라운딩 에러의 제거가 이루어지지 않는 경우, 가능한 한 적은 라운딩 에러를 포함하여 부호화된 표시를 얻는 것이 매우 중요하다.
본 발명의 목적은 입력 값 처리시 인위성 절감 기술 사상을 제공하는 것을 목적으로 한다.
이 목적은 청구항 1에 따른 적어도 두 개의 입력 값을 처리하는 장치, 또는 청구항 11에 따른 적어도 두 개의 입력 값을 처리하는 방법, 또는 청구항 12에 따른 컴퓨터 프로그램에 의해서 성취될 수 있다.
본 발명은 라운딩 에러의 절감은, 두 개의 값이 실질적으로 라운딩되는 경우 언제나, 두 개의 라운드 값이 제 3의 다른 값에 예를 들면 가산에 의해서 결합되고, 라운딩되지 않은 두 개의 값, 즉 플로팅 포인트 표시를 먼저 가산하고, 그 다음 가산된 출력 값을 제 3 값에 가산하여, 라운딩 에러를 줄임으로써 성취될 수 있음을 발견한 것에 근거한 것이다. 각 값이 개별적으로 처리되는 통상적인 처리에 비해, 본 발명의 기술 사상은 하나의 가산 처리와 하나의 라운딩 처리가 더 감소되며, 따라서 라운딩 에러가 감소된다는 사실 이외에 더 효율적인 알고리즘 실행을 도모할 수 있다.
본 발명의 바람직한 실시예에서, 본 발명의 기술 사상은 두 개의 로테이션이 서로 "인접"하는 리프팅 단계로 분할되는 경우, 먼저, 제 1 값이 제 3 값과 함께 "로테이트"된 상황에 있고, 이 제 1 로테이션의 결과가 제 2 값과 함께 다시 로테이트되는 경우, 라운딩 에러를 절감하기 위해 이용된다.
라운딩 에러를 절감하기 위한 본 발명의 기술 사상이 적용되는 다른 경우는 다차원 리프팅 기술 사상의 리프팅 스테이지가, 절반의 길이, 즉 N/2 포인트를 가지는 2개의 DCT로 N-포인트 DCT가 분리되는 등의 경우에 발생하는 버터플라이에 의해서 선행되는 경우이다. 이 경우, 실제 다차원 리프팅 이전에 버터플라이 스테이지가 존재하고, 다차원 리프팅 후에 회전 스테이지가 존재한다. 특히, 버터플라이 스테이지에 의해서 요구되는 라운딩은 라운딩 에러를 절감하기 위해 다차원 리프팅의 제 1 리프팅 스테이지의 라운딩과 결합될 수도 있다.
정수 윈도 처리/프리-처리와 변환을 위한 다차원 리프팅 처리를 가진 정수 MDCT에서의 라운딩 스테이지의 수는 본 발명을 적용하지 않은 다른 종래 기술에 비하여 현저히 감소되기 때문에, 비록 이미 라운딩 에러가 작다 하더라도, 잔여하는 라운딩 에러도 충분히 감소시킬 수 있다. 그 결과, 예를 들면, 라운딩 에러가 존재하기는 하지만 매우 많이 감소되기 때문에 스펙트럼이 이상적인 스펙트럼과 약간의 편차가 있을 뿐이다.
특히, 무손실 부호화/복호화의 경우에, 본 발명은 라운딩 에러의 스펙트럼 형태과 결합될 수 있고, 잔여하는 라운딩 에러가 특히 형상화되어 높은 에너지 신호를 갖는 부호화될 신호의 주파수 범위에서 축적되므로, 따라서 에너지가 없는 신호가 없는 범위에는 라운딩 에러가 존재하지 않게 된다. 반면에, 종래 기술에서는, 라운딩 에러가 무손실 부호화시, 특히 정수 알고리즘에 근거한 무손실 부호화시 신호의 전체 스펙트럼에 걸쳐 백색 잡음으로서 나타나고, 이 라운딩 에러는 핑크 잡음의 형태로 이상적인 스펙트럼에 부여되고, 즉, 라운딩에 기인하는 잡음 에너지가 가장 높은 신호 에너지를 갖는 신호에 나타나고, 따라서 부호화될 신호 자체가 가지고 있는 에너지가 없는 경우 라운딩 에러에 기인하는 잡음이 없거나 매우 작아진다. 따라서, 최악의 상황이 회피되고, 확률 신호이면서 부호화를 방해하는 라운딩 에러는 주파수 범위에 존재하지 않고 부호화될 신호만 존재하게 되어 비트 레이트가 향상된다.
에너지가 저주파수 범위에 있는 오디오 신호를 상정하는 경우, 라운딩 수단은 생성된 라운딩 에러의 스펙트럼 저역 통과 쉐이프를 성취하도록 설계되어, 신호 에너지에 잡음 에너지의 존재 유무에 관계없이 라운딩 에러는 신호가 높은 에너지를 가진 범위로 정합된다.
이는 특히 무손실 부호화 애플리케이션에 대하여, 들을 수 있는 범위 밖에 있는 라운딩 에러를 제거하기 위해 라운딩 에러가 스펙트럼적으로 고역 통과 필터링되는 종래 기술과는 반대이다. 이는 또한 라운딩 에러가 존재하는 스펙트럼 범위가 라운딩 에러를 제거하기 위해 전기적으로 또는 귀 그 차제로 필터링된 경우에 대응한다. 그러나, 무손실 부호화/복호화에 대하여, 라운딩 에러는 복호화기에서 반드시 요구되는데, 그 이유는 그렇지 않으면 무손실 부호화 알고리즘의 역순인 복호화기에서 이용되는 알고리즘이 왜곡을 일으키기 때문이다.
라운딩 에러의 스펙트럼 쉐이프의 기술 사상은 높은 샘플링 속도를 가진 무손실 애플리케이션에 이용되는 것이 바람직한데, 그 이유는 특히 이론적으로 스펙트럼이 40kHz 이상까지 확장하는 경우에(오버랩핑에 기인함), 동일한 상황이 신호 에너지가 없는, 즉 비-정수 부호화의 경우에서와 마찬가지로 고효율로 부호화가 이루어지고 신호 에너지도 고주파수 범위에서 제로인 고주파수 범위에서 성취된다.
다수의 제로가 매우 효과적으로 부호화되고, 부호화에 문제가되는 라운딩 에러가 매우 미세하게 부호화되는 범위로 이동됨에 따라, 신호의 전체 데이터 속도는 라운딩 에러가 분포되어 전체 주파수 범위에 걸쳐 백색 잡음이 나타나는 경우에 비하여 단축된다. 또한, 부호화 성능(복호화 특성)이 향상되는데, 그 이유는 고주파수 범위의 부호화 및 복호화에 대하여 소비되는 시간이 없기 때문이다. 이러한 본 발명의 기술 사상은 결과적으로 부호화기의 부품에서 및/또는 복호화기의 부품에서 더욱 빠른 신호 처리가 성취될 수 있게 한다.
일 실시예에서, 근사 에러를 쉐이핑/감소시키는 기술 사상은 반전 가능한 정수 변환, 특히 IntMDCT에 적용된다. 애플리케이션의 두 영역이 있는데, 즉, 한편으로, MDCT가 요구되는 라운딩 단계에서 대하여 매우 간소한 다차원 리프팅과, 다른 한편으로, 실제 DCT에 앞서 미리 처리시에 발생하는 등의 정수 윈도 처리에 요구되는 라운딩 동작이다.
에러 피드백 기술 사상은 라운딩 에러가, 처리된 신호가 가장 높은 신호 에너지를 갖는 주파수 범위로 이동되는 라운딩 에러의 스펙트럼 쉐이핑에 이용된다. 오디오 신호에 대하여, 그리고 특히 비디오 신호에 대하여, 이는 저주파수 범위에 있게 되어, 에러 피드백 시스템은 저역 통과 특성을 가져야 한다. 이는 결과적으로 정상적으로 신호 성분이 거의 없는 상위 주파수 범위에서는 일부 라운딩 에러가 남게 된다. 종래 기술에서, 라운딩 에러는 부호화 되어야 하고 부호화시에 요구되는 비트의 수가 많은 상위 범위에서 우세하다. 이 라운딩 에러는 부호화에 요구되는 비트의 수를 직접 줄인 고주파수에서 감소되게 하는 것이 바람직하다.
본 발명의 바람직한 실시예는 첨부된 도면을 참조하여 이하 상세하게 설명한다.
도 1은 라운딩 에러의 스펙트럼 쉐이핑으로 이산값의 시퀀스를 갖는 신호를 처리하는 기술 사상의 블록 회로도를 나타낸 도면.
도 2a는 양자화 에러를 고역 통과 스펙트럼 쉐이핑하는 알려진 기술 사상을 나타낸 도면.
도 2b는 라운딩 에러를 저역 통과 쉐이핑하는 기술 사상을 나타낸 도면.
도 2c는 스펙트럼 쉐이핑/라운딩 블록을 위한 실시예에 따른 블록 회로도를 나타낸 도면.
도 3은 정수 스펙트럼 값이 결정될 수 있는 정수값을 얻기 위해 시간-이산 오디오 샘플을 처리하는 바람직한 수단의 블록 회로도를 나타낸 도면.
도 4는 기븐 로테이션과 두 개의 DCT-IV 동작으로의 MDCT와 역 MDCT의 분해를 개략적으로 나타낸 도면.
도 5는 로테이션과 DCT-IV로의 50% 오버랩을 가진 MDCT의 분해를 나탄 도면.
도 6a는 MDCT와 50% 오버랩을 가진 알려진 부호화기의 개략적인 블록 회로도를 나타낸 도면.
도 6b는 도 10a에 의해서 생성된 값을 복호화 하는 알려진 복호화기의 블록 회로도를 나타낸 도면.
도 7은 도 3에 따른 윈도 처리시 리프팅을 나타낸 도면.
도 8은 실제 변환에 앞서 윈도 처리하는 도 7의 리프팅의 재분류를 나타낸 도면.
도 9는 도 3, 7 및 8에 따라 윈도 처리하기 위한 스펙트럼 쉐이핑의 애플리케이션을 나타낸 도면.
도 10은 본 발명의 바람직한 실시예에 따라 전환하는 디바이스의 블록 회로 도를 나타낸 도면.
도 11은 본 발명의 바람직한 실시예에 따라 역전환하는 디바이스를 나타낸 도면.
도 12는 본 발명에 이용할 수 있는 두 개의 연속하는 블록의 변환을 나타낸 도면.
도 13은 순방향 변환 매트릭스를 가진 다차원 리프팅 단계의 상세한 설명을 나타낸 도면.
도 14는 역방향 변환 매트릭스를 가진 다차원 역리프팅 단계를 나타낸 도면.
도 15는 길이 N의 DCT-IV를 길이 N/2의 두 개의 DCT-IV로 분해하는 본 발명을 나타낸 도면.
도 16은 도 10의 다차원 리프팅을 가진 변환 내에서의 본 발명의 기술 사상의 애플리케이션을 나타낸 도면.
도 17은 본 발명의 라운딩 에러 절감을 위한 두 개의 연속하는 리프팅 단계를 설명한 도면.
도 18은 도 17의 두 개의 연속하는 리프팅 단계에서 라운딩 에러를 절감시키는 본 발명의 기술 사상을 나타낸 도면.
도 19는 도 16의 기술 사상과 도 18의 기술 사상의 바람직한 결합을 나타낸 도면.
도 1은 신호 입력(200)을 통해 조작 수단(202)에 입력되는 이산값의 시퀀스 를 갖는 신호를 처리하는 디바이스를 나타내는 도면이다. 이 신호는 통상적으로 에너지가 높은 제 1 주파수 범위와, 비교적 에너지가 낮은 제 2 주파수 범위를 갖도록 형성된다. 이 신호가 오디오 신호인 경우, 제 1 주파수 범위, 즉 저 주파수 범위에서 높은 에너지를 가지게 되며 고 주파수 범위에서 낮은 에너지를 가지게 된다. 이 신호가 비디오 신호인 경우, 또한 저 주파수 범위에서 높은 에너지를 가지게 되고 고 주파수 범위에서 낮은 에너지를 가지게 된다. 오디오 신호와 반대로, 연속하는 비디오 프레임이 예를 들면 선택된 이미지 영역에 관한 일시적 주파수가 연속하는 프레임 내에도 존재하는 것으로 상정되는 한 비디오 신호의 주파수 범위는 공간 주파수 범위이다.
조작 수단(202)은 일반적으로 이산값의 시퀀스를 조작하여 적어도 하나가 정수가 아닌 조작된 값의 시퀀스가 얻어지도록 형성된다. 이러한 순차 비-정수(non-integer) 이산값은 조작된 값의 시퀀스를 라운딩하는 수단(204)에 공급되고 라운딩된 조작된 값의 시퀀스가 얻어진다. 이 라운딩 수단(204)은 라운딩에 의해 발생하는 라운딩 에러의 스펙트럼 쉐이프에 영향을 주어, 제 1 주파수 범위, 즉 원래 신호의 에너지가 높은 주파수 범위에서는, 스펙트럼 쉐이프 라운딩 에러가 높은 에너지를 갖게 되고, 제 2 주파수 범위, 즉 원래 신호의 에너지가 낮은 주파수 범위에서는, 스펙트럼 쉐이프 라운딩 에러가 낮은 에너지를 갖거나 또는 에너지가 없게 되도록 형성된다. 따라서, 일반적으로, 제 1 주파수 범위에서의 스펙트럼 쉐이프 라운딩 에러의 에너지는 제 2 주파수 범위에서의 스펙트럼 쉐이프 라운딩 에러의 에너지보다 높다. 그러나, 스펙트럼 쉐이프가 라운딩 에러의 전체 에너지가 조금 도 변하지 않게 하는 것이 바람직하다. 바람직하게는, 에러 포함 순차 라운드 조작 값을 생성하는 디바이스가 다른 조작 또는 라운딩 결합 장치를 통해 또는 직접 스펙트럼 표시로 전환하는 수단(206)에 결합된다. 따라서, 에러 포함 순차 라운드 조작값은, 스펙트럼 표시로 전환하는 수단(106)에 직접 공급되어 에러 포함 순차 라운드 조작값의 직접 스펙트럼이 얻어진다. 그러나, 일 실시예에서, 조작 수단은 리프팅 스텝 및/또는 리프팅 매트릭스이고, 라운딩 수단은 리프팅 스텝의 비-정수 결과를 라운딩하도록 형성된다. 이 경우에, 이 수단(204) 다음에는 두 번째 리프팅 단계를 수행하는 다른 조작 수단이 마련되고, 그 다음에는 라운딩하는 수단이 마련되고, 그 다음에는 세 번째 리프팅 단계를 구현하는 조작 수단이 마련되고, 그 다음에는 세 개의 모든 리프팅 단계가 완료되도록 하는 다른 조작이 마련되어 있다. 따라서, 수단(204)의 출력에서 라운드 조작 값의 본래 에러 포함 시퀀스로부터 유도된 라운드 조작 값의 에러 포함 시퀀스가 생성되고, 그 다음 스펙트럼 표시로, 블록(206)에 의해 나타낸 바와 같이, 바람직하게는 정수 알고리즘에 의해서 최종적으로 전환된다. 블록(206)의 출력에서의 스펙트럼 표시의 출력 신호는 종래 기술과는 반대로 백색 분포된 라운딩 에러를 더 이상 갖지 않는 스펙트럼을 가지게 하지만, 실제 "유용한 스펙트럼"가 높은 신호 에너지를 가진 경우, 심지어 신호 에너지가 없는 주파수 범위에서 라운드 에러의 에너지도 없는 경우에도, 라운딩 에러 에너지가 높아지도록 라운딩 에러 스펙트럼 쉐이핑이 행해진다.
그 다음 이 스펙트럼은 스펙트럼 표시의 엔트로피 부호화 수단(208)에 공급된다. 엔트로피 부호화 수단은 허프만 부호화(Huffman coding), 산술 부화 등과 같은 임의의 부호화 방법을 포함할 수 있다. 특히 제로 또는 서로 경계가 되는 다수의 스펙트럼 선을 부호화하기 위해서는, 런 렝스 부호화(run length coding)가 적절한데. 이 런 렝스 부호화는 종래 기술에는 적용할 수 없는 것은 당연하며, 그 이유는 실제로 결정적 신호가 이러한 주파수 범위에서 부호화되어야 하기 때문이다. 그러나 이 런 렝스 부호화는 화이트 스펙트럼을 가지며, 따라서 특히 모든 종류의 부호화 툴에 적합하지 않은데, 그 이유는 개별 스펙트럼 값이 서로 완전히 상관되지 않기 때문이다.
다음으로, 도 2a, 2b 및2c를 참조하여 스펙트럼 쉐이프로 라운딩하는 수단(204)의 바람직한 실시예를 설명한다.
도 2a는 「specialist book "Digitale Audiosignalverarbeitung", U. Zoelzer, Teubner-Verlag, stuttgart, 1997」에 개시된 바와 같이 양자화 에러의 스펙트럼 쉐이프를 위한 공지된 에러 피드백 시스템을 나타낸다. 입력 값 X(i)는 입력 합산기(210)에 공급된다. 합산기(210)의 출력 신호는 스펙트럼 쉐이프 디바이스의 출력에서 양자화 출력 값 y(i)을 제공하는 양자화기(122)에 공급된다. 제 2 합산기(214)에서, 양자화기(212) 이후의 값과 양자화기(212) 이전의 값 사이의 차, 즉 라운딩 에러 e(i)가 판정된다. 제 2 합산기(214)의 출력 신호는 지연 수단(216)에 공급된다. 원 타임 유닛에 의해서 지연된 에러 e(i)는 그 후에 가산기(210)에 의한 입력 값으로부터 감산된다. 이는 결과적으로 본래 에러 신호 e(n)의 고역 통과 평가값이 된다.
도 2a에서 도면 부호 216으로 지시된 지연 수단 Z-1 대신에 Z-1(-2 + Z-1)가 이용되는 경우, 그 결과는 2차 고역 통과 평가가 된다. 임의의 실시예에서, 이러한 양자화 에러의 스펙트럼 쉐이프를 이용하여, 인지할 수 있는 범위로부터, 즉 예를 들면 신호 x(n)의 저역 통과 범위로부터, 양자화 에러를 "마스크 아웃(mask out)"시켜, 양자화 에러가 감지되지 않게 한다. 도 2b에 나타낸 바와 같이, 감지 범위 밖에 있지 않고 정확하게 감지 범위에 있는 에러의 스펙트럼 쉐이프를 얻는 대신에 저역 통과 평가가 수행된다. 이를 위해, 도 2b에 나타낸 바와 같이, 가산기(210)의 출력 신호는 일부 라운딩 함수를 구현하는 라운딩 블록(218)에 공급되는데, 이 라운딩 함수는 예를 들면, 라운딩 업, 라운딩 다운, 끝수 버림에 의한 라운딩, 다음 정수까지 라운딩 업/라운딩 다운, 또는 한 개를 제외한 다음 정수까지, 두 개를 제외한 다음 정수까지 ... 라운딩 업/라운딩 다운이 될 수도 있다. 현재 에러 피드백 경로, 즉 가산기(214)와 가산기(210) 사이에, 상기 지연 부재(216)에 부가하여,임펄스 응답 h(n) 및/또는 전달 함수 H(z)를 갖는 다른 피드백 블록(220)이 있다. 출력 시퀀스의 Z 변환, 즉 Y(z)은 도 2b에 나타난 수학식을 통해 입력 시퀀스 X(z)에 관련된다.
e(n) = x'(n) - y(n)
상기 수학식에서, x(n)은 가산기(210)에 대한 입력 신호이고, y(n)은 라운딩 블록(218)으로부터의 출력 신호이다.
또한, 이하 수학식
y(n) = round(x'(n))Z
이 적용된다.
이 수학식에서, "round"는 블록(218)에 의해서 구현되는 라운딩 함수를 나타낸다. 또한, 이하 수학식
x'(n) = x(n) - h(n) * e(n-1)
이 적용되는데, 여기서 "*"는 컨볼루션 연산을 나타낸다.
Z 영역에서, 이하 결과가 얻어진다.
Y(z) = X'(z) + E(z)
X(z) = X(z) - E(z)z-1H(z)
Y(z) = X(z) + (1 - z-1 H(z))E(z)
E(z)가 라운딩 에러이기 때문에, 이는 필터(1 - z-1 H(z))에 의해서 스펙트럼적으로 형성된다. 본 발명에 따르면, 저역 통과형 전달 함수가 이용된다. 가장 간단한 저역 통과형 전달 함수는 예를 들면 H(z) = -1로 설정된 경우 얻어질 수 있다. 이 간단한 예에서, 이전 라운딩 연산의 라운딩 에러는 단순히 다음 라운딩 연산이 적용되기 전에 라운딩될 값에 가산된다. 따라서, 본 발명에 매우 유용하여 바람직한 간단한 저역 통과 필터링이 성취된다.
그 구현이 도 2c에 나타나 있다. 특히, 정수 이산값의 본래 시퀀스를 조작하는 수단(202)이 나타나 있으며, 이는 출력측에 비정수 이산값 y0, y1, y2, ... yi 의 시퀀스를 제공한다. 종래 기술과는 반대로, 각 값은 그 자체로는 더 이상 라운딩되지 않는데, 이는 예를 들면 도 3에서의 블록(20, 24, 28) 또는 도 10에서의 블록(104, 110, 142) 또는 도 11에서의 블록(126, 132, 150)에 관련하여 설명한 바와 같다. 대신에, 시퀀스 y0, y1, y2, y3 ... 의 비정수 이산값은 도 2c에 나타낸 "네트워크"에 의해서 피드백 브랜치에서의 저역 통과 특성을 가지고 서로 종속하여 필터링되기 때문에, 그 결과는 이산된 스펙트럼 쉐이프가 된다. 도 2c 및 도 2b에서의 동일한 구성 요소는 동일한 도면 참조 부호로 나타나 있다.
또한, 도 2c는 병렬 구현, 즉, 라운딩될 값이 병렬로 제공되는 구현을 나타낸다. 물론, 이 설명은 단지 개략적인 것이다. 상기 값 y0, y1, y2, ... 은 순차적으로 제공되고 그 다음 순차 출력 값이 얻어지고, 이 경우, 구성 요소(210, 214, 216, 218, 220)의 구조는 단일 구현으로부터 충분하다. 구성 요소(214, 218, 210, 220)의 반복되는 구조는 단지 설명을 명확히 하기 위해서 나타낸 것이다. 따라서, 도 2c에 나타낸 라운딩 수단(204)은 연산을 하여 먼저 라운드 값[y0]을 계산한다. 그 다음, 라운딩 에러(i0)는 바람직하게는 -1인 전달 함수 H(z)로 블록(220)에 의해서 가중(필터링)되고, 가산기(210)로 공급된다. 이 필터링된 라운드 에러는 시퀀스 yi의 다음 값에 가산되고, 그 가산기(210)의 결과가 블록(218)에서 라운딩되어 라운딩된 다음 값[y1]가 얻어진다. 계속해서, 다시 라운딩 에러가 가산기(214)에 의해서, 즉 라운딩된 값[y1]와 본래 값 y1을 이용하여 판정되고, 이 얻어진 라운딩 에러 i1은 블록(220)에서 다시 필터링되어 시퀀스의 다음 값 y2에 대해서도 동일한 처리가 수행된다.
이런 점에서 방향이 무관함을 알 수 있다. 이는 블록(220)으로부터 가산기(210)으로 연장하는 도 2c에서의 화살표에 의해서 특히 기호화한 바와 같이 반대 방향으로 큰 인덱스를 가진 yi로부터 작은 익덱스를 가진 yi로 진행하는 것이 가능한 것을 의미한다. 따라서, 순서, 즉 진행이 작은 시퀀스 인덱스로부터 높은 시퀀스 인덱스로 진행할지 또는 높은 시퀀스 인덱스로부터 낮은 시퀀스 인덱스로 진행할지의 여부는 중요하지 않다.
특히, 정수 MDCT(IntMDCT)의 적용 경우에, 라운딩 에러의 스펙트럼 쉐이프는 이하 조건을 만족하는 장소에서 특정 효율로 바람직하게 이용된다.
- 라운딩 에러는 서로 독립적인 수개의 인접하는 값에 가산된다.
- 이들 인접하는 값은 나중에 변환에 의해서, 즉 주파수 도메인으로 전사됨으로써 스펙트럼 표시로 전환되는 시간 신호(가장 넓은 센스에서)이다.
다음으로, 정수 MDCT의 부분, 즉 라운딩 에러의 스펙트럼 쉐이프가 바람직하게 이용되는 부분을 설명한다.
바람직한 제 1 실시예는 실제 변환, 즉 블록(20, 24, 28)에 의해서 도 3에서 특정된 라운딩을 행하기에 앞서 윈도 처리를 포함한다. 각 개별 본래 샘플 x1, ..., xN에 의해서 경험되고 도 3에 기초하여 개략적으로 나타낸 바와 같은 리프팅 동작은 도 7에 나타낸 도면에 의해서 설명될 수 있다. 여기서, 세개의 리프팅 매트릭스의 애플리케이션, 즉 샘플에 대한 팩터와의 각각의 곱은 샘플-와이즈로 나타나며, 따라서 결과는 "탑으로부터 바틈으로", "바틈으로부터 탑으로"와 "탑으로부터 바틈으로"의 시퀀스가 된다.
도 7에서의 표시법(notation)을 참조하면, 화살표가 수평선을 만난 경우, 거기서 가산이 행해진다. 이러한 가산은 예를 들면 도 7의 27에서 나타나 있다. 도 4를 도 7과 비교하면, 도 7의 x1에 대응하여 도 4에 x(0)가 있다는 것만 차이가 난다. 이와 관련하여, 도 7에서의 xN은 도 4에서의 x(N-1)에 대응한다. 그러나, 도 4의 x(N/2 - 1)은 도 7의 xN /2에 대응한다. 또한, 도 4에서의 x(N/2)는 도 7의 xN/2+1에 대응하여, 그 결과는 도 2에 나타낸 버터플라이가 되는데, 이에 의하면, 리프팅 단계에 따른 윈도의 제 2 쿼터로부터의 하나의 값으로 윈도의 제 1 쿼터로부터의 값이 항상 웨이팅되고. 윈도의 제 3 쿼터의 하나의 값은 윈도의 제 4 쿼터의 값으로 도 7에 나타낸 바와 같이 "다운-업-다운 시스템"에 의해서 처리된다.
값 xN /2와 xN /2+1의 쌍에 대한 대응하는 절차가 진행된다. 다시 다운-업-다운 시퀀스가 진행되는데, 다운 단계(29a) 다음에 업 단계(29c)가 진행되고 그 다음에 다운 단계(29c)가 진행된다.
도 7은 리프팅에 의한 정수 윈도 처리를 나타낸 도면이다. 이 계산은 도 8에 나타낸 바와 같이, 결과를 변경시키지 않고 용이하게 재분류될 수 있다. 따라서, 모든 다운 방향 단계(모든 단계(29a))가 먼저 수행될 수 있음은 물론이다. 다 음으로, 모든 업 방향 단계(29b)가 수행되고, 최종적으로 모든 다운 방향 단계(29c)를 수행하고, 결과적으로 다운 방향 블록(31a), 업 방향 블록(31b), 다운 방향 블록(31c)이 된다. 도 8은 도 7에 대응하지만, 본 발명을 이해하는데 더 적합하다.
도 9는 스펙트럼 쉐이핑으로 라운딩이 수행된 기술 사상을 나타낸 도면이다. 도 9에 나타낸 리프팅 계산 기술 사상은 입력 값 x1, xN /2는 입력(200)에서 정수 이산 값의 본래 시퀀스를 나타내는 도 1에 대응한다. 다운 블록(31a)에서 평가 블록 CS1, CS2, ..., CSK은 조작 수단(202)을 함께 형성한다. 블록 지정된 [.]/NoiseShaping은 도 1의 라운딩 수단(204)을 나타낸다. 라운드 조작 값의 에러 포함 시퀀스는 결과적으로 이 블록(204)의 출력에 나타난다.
도 9에 나타낸 실시예에서, 에러 포함 라운드 조작 값의 시퀀스는 다른 시퀀스 xN /2+1 내지 xN에 가산되어 정수 이산 값의 새로운 시퀀스가 얻어지고, 다음으로, 엘리먼트(204b)에 의해서 업 블록(31b)에서 다시 라운딩을 성취하도록 (업 블록(31b)에서 블록 S1, Sk에 의해서) 조작된다. 그 다음, 다운 블록(31a)에서와 같이, 즉, 가산기(205a)의 경우에서와 같이, 값-와이즈 가산기(205b)가 마련되어, 새로운 시퀀스가 얻어지고, 이 시퀀스는 조작기(202c)에 공급되고, 이 조작기(202c)의 출력 신호는 비 정수이고, 다음으로 다른 가산기(205c)에 의해서 가산될, 즉 상기 시퀀스가 조작기(202b)에 공급되도록 다른 라운더(204c)에서 라운딩된다.
도 9에 나타낸 실시예에서, 출력측에서의 결과는 도 4를 참조하여 설명한 바 와 같이 시스템 구현에 따라 윈도 샘플의 블록이 된다. 이들 이동된 DCT 블록은 라운드 조작 값의 에러 포함 시퀀스를 스펙트럼 표시로 전환하도록 변환을 제공한다. 따라서, 도 4에서의 DCT-IV 블록은 도 1의 수단(206)의 구현을 나타낸다. 따라서, 역 정수 DCT-IV를 수행하는 블록은 일저 표시로 전환하는 아날로그 수단을 나타낸다.
다음으로, 다차원 리프팅의 애플리케이션은 도 10a에서의 스펙트럼 표시로 변환하는 수단의 정수 구현 및/또는 역변환(복호화기에 대해)의 아날로그 정수 구현을 나타내는 도 10 내지 15를 참조하여 설명한다. 다차원 리프팅의 기술 사상은 독일 특허출원 (참조 번호 10331803.8)에 나타나 있다.
도 10a는 정수 값을 갖는 변환 표시로 이산 값을 전환하는 디바이스를 나타낸다. 이 이산 값은 제 1 입력(100a)과 제 2 입력(100b)을 통해 디바이스에 공급된다. 이산 값의 제 1 블록은 입력(100a)을 통해 공급되고, 이산 값의 제 2 블록은 입력(100b)을 통해 공급된다. 이산 값은 오디오 데이터 또는 화상 데이터 및/또는 비디오 데이터를 나타낸다. 후술하는 바와 같이, 이산 값의 제 1 블록과 이산 값의 제 2 블록은 실질적으로 오디오 샘플의 두 개의 일시적으로 연속하는 블록을 포함한다. 이산 값의 제 1 및 제 2 블록은 또한 다른 부호화 등에서 예측 또는 다른 값 이후의 이산 값 및/또는 잔여 값에 의해서 표시되는 두 개의 이미지를 포함할 수도 있다. 그러나, 대안적으로, 이산 값의 두 개의 블록은 MDCT의 정수 구현에서와 같이 미리 처리될 수 있는데, 이 경우 이산 값의 제 1 블록 및 제 2 블록은 실질적으로 윈도 처리된 샘플로부터 기븐 로테이션에 의해서 생성된다. 이산 값의 제 1 및 제 2 블록은 로테이션, 퍼뮤테이션, 플러스/마이너스 버터플라이, 스케일링 등과 같은 임의의 처리에 의해서 본래 오디오 데이터 또는 이미지 데이터로부터 유도될 수도 있다. 또한, 이산 값의 제 1 및 제 2 블록은 비록 이들이 직접적으로 오디오 샘플 또는 이산된 이미지 값이 아니더라도 오디오 정보 및/또는 이미지 정보를 얻는다.
이산 값의 제 1 블록은 입력(100a)을 통해 제 1 변환 규칙을 이용하여 이산 값의 제 1 블록을 처리하는 수단(102)에 공급되어 도 10a에 나타낸 바와 같이 수단(102)의 출력에서 변환 값의 제 1 블록이 얻어진다. 변환 값의 제 1 블록은 통상적으로 정수는 아니지만 퓨리에 변환, 라플라스 변환, FFT, DCT, DST, MDCT 및 MDST 또는 임의의 기본 함수를 가진 웨이블릿 변환과 같은 임의의 다른 변환 등의 임의의 변환 규칙에 의해서 통상적으로 얻어지는 플로팅 포인트 값을 포함한다. 변환 값의 제 1 블록은 변환 값의 제 1 블록을 라운딩하는 수단(104)로 공급되어 출력 측에서 라운드 변형 값의 제 1 블록이 얻어진다. 라운딩 수단(104)은 플로팅 포인 값 등에 따라 수행될 트렁케이팅 또는 라운딩 업 및/또는 다운, 라운딩 다운에 의한 라운딩 등의 임의의 라운딩 함수를 수행하도록 형성된다.
수단(104)에 의해서 구현된 라운딩 규칙은 그 정확성이 수단(104)에 의해서 이용되는 라운딩 규칙에 의해서 판정되는 정수값만을 포함하는 라운드 변환 값의 제 1 블록을 담당한다. 제 2 입력(100b)에 인가되는 이산 값의 제 2 블록과 같은 라운드 변환 값의 제 2 블록은 합산 수단(106)에 공급되어 합산된 값의 제 2 블록이 얻어진다. 오디오 신호 샘플이 상정되는 경우, 라운드 변환 값의 제 1 블록으 로부터의 스펙트럼 값이 수단(106)에 의해서 이산 값의 제 2 블록으로부터의 시간 값에 가산되는 것이 명백하다. 제 2 블록의 이산 값이 예를 들면 전압 값인 경우, 전압 진폭으로서, 즉 단위 V를 갖는 값으로서 라운드 변환 값의 제 1 블록이 존재하는 것이 추천된다. 이 경우, 합산에서 단위 문제가 발생하지 않게 된다. 그러나, 당해 기술 분야에서 숙련된 자에게는, 라운드 변환 값의 제 1 블록과 이산 값의 제 2 블록 둘 다는 예를 들면 단위가 없어, 라운드 변환 값의 제 1 블록에 및/또는 과 이산 값의 제 1 블록에 임의의 단위 정규화가 수행될 수 있다.
합산 값의 제 2 블록은 제 2 변환 규칙을 이용하여 합산 값의 제 2 블록을 처리하여 변환 값의 제 2 블록이 얻어진다. 수단(102)에 이용되는 변환 규칙은 예를 들면 시간-주파수 변환 규칙이고, 그 다음 블록(108)에 이용되는 제 2 변환 규칙은 예를 들면 주파수-시간 변환 규칙이다. 그러나, 이들 관계는 역으로도 될 수 있고, 따라서 이산 값의 제 1 블록 및 제 2 블록은, 시간 값이 변환 규칙 하에서 처리하는 수단(102)에 의해서 얻어지고, 다시 스펙트럼 값은 반전 변환 규칙에 의해서 처리하는 수단, 즉 수단(108)에 의해서 처리하는 수단에 의해서 얻어지도록 예를 들면, 스펙트럼 값이 된다. 이 제 1 변환 규칙과 제 2 변환 규칙은 순방향 변환 규칙일 수도 있고 역방향 변환 규칙일 수도 있으며, 반전 변환 규칙은 역방향 변환 규칙 또는 순방향 변환 규칙이다.
변환 값의 제 2 블록은 도 10a에 나타낸 바와 같이 라운딩 수단(110)에 공급되어, 라운드 변환 값의 제 2 블록이 얻어지고, 이는 최종적으로 감산 수단(112)에 공급되어 제 1 입력(108a)을 통해 공급되는 이산 값의 제 1 블록으로부터 라운드 변환 값의 제 2 블록이 감산되고, 따라서 출력(114)에서 출력될 수 있는 변환 표시의 정수 출력 값의 일 블록이 얻어진다. 수단(102)에 이용되거나 또는 이와는 다른 임의의 제 3 변환 규칙을 이용하는 변환 표시의 정수 출력 값의 블록을 처리하고, 그 다음 변환 출력 값의 블록을 라운딩하여 라운드 변환 값의 블록을 얻고, 다음으로 라운드 변환 출력 값의 블록과 합산 값의 제 2 블록을 합산 함으로써, 변환 표시의 정수 출력 값의 다른 블록이 얻어져, 출력(114)에 인가되는 정수 출력 값의 블록과 이산 값의 제 1 및 제 2 블록의 완전 변환 표시가 이루어진다.
그러나, 처리, 라운딩 및 합산의 마지막 세 단계가 없는 경우에도, 출력(114)에서 변환 표시의 정수 출력 값의 블록이 이용되고, 그 변환 표시의 일부가 미리 얻어지는데, 예를 들면 반전 처리되는 경우 이산 값의 제 1 및 제 2 블록의 뒤 반대 계산 가능한 첫 번째 절반이 미리 얻어진다.
이런 점에서, 상기 변환 규칙에 따르면, 제 1, 제 2 및 제 3 변환 규칙은 이들은 동일할 수도 있다. 예를 들면 DCT-IV인 경우 그렇다. FFT가 제 1 변환 규칙으로서 이용된 경우, FFT에 일치하지 않는 IFFT가 제 2 (역) 변환 규칙으로서 이용될 수 있다.
계산의 편리성을 위해, 매트릭스의 형태로 변환 규칙을 마련하는 것이 바람직한데, 그 매트릭스는, 제 1 블록의 다수의 이산값이 제 2 블록의 다수의 인산값과 동일한 경우, 제 1 블록의 다수의 이산값과 제 2 블록의 다수의 이산값을 각각 N이라 하면 정방형 N×N 매트릭스가 된다.
일 실시예에서, 라운딩 수단(104 및 110)은 라운드 결과를 제공하는 라운드 함수에 따라 라운딩하도록 형성되고, 그 정확성은 도 10a에 나타낸 함수들을 수행하는 컴퓨터에 대한 기계 고유의 정확성보다는 낮다. 라운딩 함수에 관하여, 하나의 바람직한 실시예에서 비정수를 보다 크거나 작은 다음 정수에 정합하는 것이 알려져 있다. 이 라운딩 함수는 또한 다른 정수에 정합될 수도 있는데, 예를 들면 라운딩될 수의 정확성이 떨어지기야 하겠지만 17.7을 10 또는 20에 정합시킬 수도 있다. 상술한 예에서, 라운딩되지 않은 수는 콤마 이하 한자리 수이지만 라운딩된 수는 콤마 이하에 더 이상 자리수를 갖지 않는 수이다.
비록, 도 10a에서, 제 1 변환 규칙을 이용하여 처리하는 수단(102)과 제 2 변환 규칙을 이용하여 처리하는 수단(108)이 상이한 수단으로서 나타나 있지만, 구체적인 구현시에는, 특정 프로 제어기에 의해서 제어되며, 먼저 이산값의 제 1 블록을 변환하고, 그 다음 알고리즘의 대응 시간에서 합산된 값의 제 2 블록을 역으로 변환하는 단지 하나의 변환 함수 유닛이 존재할 수 있다. 이 경우에, 제 1 및 제 2 변환 규칙은 일치한다. 동일한 것이 두 개의 라운딩 수단(104, 110)에 적용된다. 이들은 또한 반드시 별개의 수단으로서 제공되어야 필요는 없지만, 상기 플로 제어기에 의해서 다시 제어되며, 상기 알고리즘의 요청에 따라 먼저 변환된 값의 제 1 블록을 라운딩하고 그 다음 변환된 값의 제 2 블록을 라운딩하는 하나의 라운딩 함수 유닛에 의해서 구현될 수도 있다.
일 실시예에서, 이산 값의 제 1 블록과 이산 값의 제 2 블록은 도 3에서 블록(28)의 출력에서 얻어진 그대로 정수 윈도 샘플이다. 그 다음, 도 3의 블록(14)에서의 정수 DCT는 도 1에 도시된 정수 알고리즘에 의해서 구현되어, 도 3에 관련 한 오디오 신호의 예에서 변환된 표시가 도 3에 도시된 디바이스의 출력(30)에서의 정수 스펙트럼 값을 나타낸다.
다음으로, 도 10a에 대응하는 역 전환 수단을 도 10b에 관련지어 설명한다. 도 10b에서는, 도 10a의 블록(112)의 출력에서 정수 출력 값의 블록이외에도, 도 10a의 수단(106)의 출력에서의 합산된 값의 블록이 이용되고 있다. 이하 상세하게 설명할 도 11과 관련하여, 이는 블록(150) 및 블록(130)만 있고 변환 블록(124)은 없는 경우에 대응한다.
도 10b는 도 10a의 출력(114)에서 얻어지는 바와 같은, 변한 표시의 정수 출력 값의 블록과 합산 값의 제 2 블록을 반전 전환하는 디바이스를 나타낸 도면이다. 합산 값의 제 2 블록은 도 10b에 나타낸 반전 전환 디바이스의 입력(120)에 공급된다. 변환 표시의 출력 값의 블록은 반전 전환 디바이스의 다른 입력(122)에 공급된다.
합산 값의 제 2 블록은 부호화시에 마지막에 이용되는 변환 규칙이 제 2 변환 규칙인 경우, 제 2 변환 규칙을 이용하여 이 블록을 처리하는 수단(130)에 공급된다. 이 수단(130)은 출력 측에 변환 값의 제 1 블록을 제공하고, 그 다음 라운드 수단(132)에 공급되고, 그 다음 출력 측에서 라운드 변환 값의 제 1 블록을 생성한다. 그 다음, 라운드 변환 값의 제 1 블록은 수단(134)에 의해서 변환 표시의 출력 값의 블록으로부터 감산되어, 도 10b의 디바이스의 제 1 출력(149)에서 이산 값의 제 1 블록이 얻어진다.
이 이산 값의 제 1 블록은 제 1 변환 규칙을 이용하여 이 블록을 처리하는 수단(150)에 공급됨으로써, 수단(150)의 출력에서 변환 규칙의 제 2 블록이 얻어진다. 다음으로, 변환 감산 값의 제 2 블록은 수단(152)에서 라운딩되어, 라운드 변환 값의 제 2 블록이 얻어진다. 이 라운드 변환 값의 제 2 블록은 입력(120)을 통해 입력된 입력 측에서 제공된 합산 값의 제 2 블록으로부터 감산되어, 출력측의 출력(136)에서 이산 값의 제 2 블록이 얻어진다.
제 1, 제 2 및 제 3 변환 규칙의 관계에 대하여, 그리고 공통 함수 유닛과 대응하는 플로 제어기/래칭에 의한 도 10b에서의 개별 함수 블록의 특정 구현에 대하여 도 10a를 참조하여 설명한다.
다음으로, 도 10a에 통상적으로 나타낸 변환 표시로의 전환 디바이스의 바람직한 실시예를 도 10c를 참조하여 설명한다. 도 10a에서의 실시예는 도 10a에 비하여 다른 변환/라운딩을 포함하여 합산 값의 제 2 블록으로부터 정수 출력 값의 다른 블록을 생성한다.
제 1 입력(100a)은 이산 값의 제 1 블록의 N 값을 입력하는 N개 입력 라인 x0, x1, ..., xN -1을 포함한다. 또한, 제 2 입력(10b)은 이산 값의 제 2 블록의 N 값 xN, ..., x2N-1을 입력하는 N개 라인을 포함한다. 도 10a의 수단(102)은 도 10c에서의 DCT-IV 변환기로서 도시되어 있다. DCT 변환기(102)는 N개 입력 값으로부터 N개 출력 값을 생성하도록 형성되고, 그 각각은 그 다음 도 10c에서의 수단(104)에 의해서 나타난 바와 같이 라운딩 규칙 지정된 "[.]"에 의해서 라운딩된다. 합산 수단(106)은 값-와이즈 합산(value-wise summation)이 존재하도록 합산 수단 (106)이 나타나 있다. 이는 인덱스 0을 가진 수단(102)의 출력 값이 인덱스 N을 가진 이산 값의 제 2 블록의 제 1 값과 합산된다. 통상적으로, 차수 i를 가진 라운딩 수단(104)의 출력에서의 라운드 변환 값의 제 1 블록의 값은 차수 N+i를 가지는 출력 값의 제 2 블록의 이산 값과 개별적으로 합산되고, 여기서 i는 0으로부터 N-1로 확장하는 러닝 인덱스이다.
또한, 제 2 변환 규칙을 이용하여 처리하는 수단(108)은 DCT-IV 변환기로서 도시되어 있다. 도 10c에 나타난 바람직한 실시예에서, 감산 수단(112)은 값-와이즈 감산을 수행하도록, 즉 라운더(110)의 출력 값, 즉 라운드 변환 값의 제 2 블록의 값이 개별적으로 되도록 형성된다. 도 10c에 나타낸 실시예예서는, N+i의 차수를 갖는 제 2 블록의 값이 차수 i를 갖는 제 1 블록의 값으로부터 감산되고, 여기서 i는 0으로부터 N-1로 확장한다. 그러나, 대안적으로, 역 반전을 대응하여 상정하는 한, 예를 들면, 차수 N을 갖는 다른 블록의 값으로부터 차수 N-1을 갖는 블록의 값이 감산되도록 다른 합산/감산이 수행될 수도 있다.
감산 수단(112)은 출력측에 변환 표시의 정수 출력 값의 블록, 즉 변환 표시의 정수 출력 값 y0 내지 yN -1을 제공한다. 또한, 변환 표시의 잔여하는 정수 출력 값, 즉 다른 블록 yN 내지 y2N -1을 얻기 위해서, 선택적으로 소망되는 경우, 출력(114)에 공급되는 변환 표시의 정수 출력 값의 블록은 순방향 변환기(140)에 의해서 제 3 변환 규칙을 이용하여 변환되고, 그 출력 값은 라운딩 수단(142)에 의해서 설명한 바와 같이 다시 라운딩되어, 도 10c에서의 도면 참조 번호 144에 의해 나타 낸 바와 같이 합산기(106)의 출력에서 합산 값의 제 2 블록과 이들 값의 합산이 수행된다. 그 다음, 합산기(144)의 출력 값이 지정된 yN 내지 y2N -1인 변환 표시의 정수 출력 값의 다른 블록(146)을 나타낸다.
다음으로, 본 실시예에 따른 변환 표시를 역으로 전환하는 디바이스를 도 11을 참조하여 설명한다. 도 10c에서 나타낸 디바이스에 의해서 수행되는 동작은 도 11에 나타낸 디바이스에 의해서 손실없이 역으로 수행됨을 알 수 있다. 도 10b에 대응하는 도 11은, 변환 출력 값의 다른 블록으로부터, 도 10b에 나타낸 실시예에서의 입력(120)에 공급되는 합산 값의 제 2 블록을 생성하도록 추가 변환/라운딩 스테이지를 제외하고 도 10b에 대응한다. 가산 함수는 각각 감산 함수에 역으로 행해짐을 알 수 있다. 또한, 가산기/감산기 쌍(도 10c의 144와 도 11의 128)은 표시에 대하여 반전된 입력 량이 제공될 수 있어, 입력 량의 그룹에 사익 경우와 달리 네거티브 표시가 부여된 경우, 가산기(144)는 대체부(도 11의 128)로서 고려될 수 있는 한 실질적으로 감산 동작을 수행하고, 그 다음에 가산 동작을 수행한다는 것을 알 수 있다.
도 11에 나타낸 감산기(128), 가산기(134) 및 다른 감산기(154)는 다시 개별 값-와이즈 가산/감산을 수행하도록 형성되고, 다시 동일한 차수 처리가 도 10c에 나타낸 바와 같이 이용된다. 상기 이외에 다른 차수 사용이 도 10c에 채용되는 경우, 도 11에서 대응하여 상정할 수 있다.
감산기(134)의 출력에는, 이미 x0 내지 xN -1 지정된 이산 값의 제 1 블록이 있다. 역 변환 표시의 나머지를 얻기 위해서, 이산 값의 제 1 블록이 변환기(150)에 공급되고 이 변환기는 제 1 변환 규칙으로 동작하고, 그 출력에서의 값이 라운더(152)에 의해서 라운딩되고 그 다음 감산기(128)의 출력에서 감산 값의 제 2 블록으로부터 감산되어, 최종적으로 xN, ..., x2N-1 지정된 이산 값의 제 2 블록(156)이 얻어진다.
다음으로, 도 10a, 10b, 10c 및 11에 대하여 설명한 바와 같은, 디바이스에 대한 수학적 배경을 도 12 내지 도 15를 참조하여 설명한다. 전환 및/또는 역 전환 디바이스에 의해서, 무손실 오디오 부호화를 위한 정수 변환 방법이 제공되어 근사 에러가 감소된다. 또한, 항상 사소한 합-차 버터플라이가 발생하는 각 기븐 로테이션에 리프팅 스킴을 적용하는 알려진 근사법을 더 이상 사용하지 않는 것을 기반으로 하여 계사 효율을 상정해보면, 그 효율은 복사될 변환의 본래 비-정수 버전에 비해 크게 향상됨을 알 수 있다.
통상적으로, 리프팅 스킴은 기븐 로테이션의 반전 정수 근사를 얻기 위해 이용된다.
Figure 112006022325936-PCT00010
정수 근사는 각 가산 후에, 각 리프팅 단계 후에 라운딩 함수를 이용하여 성취된다.
또한, 리프팅 스킴은 임의의 스테일링 동작의 반전(inveryible) 정수 근사에 이용될 수 있다. 「the specialist publication R. Geiger and G. Schuller, "Integer low delay and MDCT filter banks", Proc. of the Asilomar Conf. on Signals, Systems and Computers, 2002」에서, 디터미넌트가 1인 2×2 스케일링 매트릭스의 후속하는 리프팅 분해(lifting decomposition)를 설명한다.
Figure 112006022325936-PCT00011
1차원인, 즉, 2×2 스케일링에만 관련된 리프팅 분해는 다차원인 경우로 확장된다. 구체적으로, 상기 식으로부터의 모든 값이 n×n으로 대체되고, 여기서 n, 즉 블록의 이산 값의 수는 2 이상의 정수이다. 따라서, 그 결과는 반전될 수 있는 임의의 n×n 매트릭스 T가 될 수 있고, 후속하여 2n×2n블록 매트릭스로의 분해가 가능하고, 여기서 En은 n×n 매트릭스를 기술한다.
Figure 112006022325936-PCT00012
-1로 치환 또는 곱하는 등의 간단한 동작에 부가하여, 이 분해의 세 개의 모든 블록은 이하 일반적인 구조를 갖는다.
Figure 112006022325936-PCT00013
이 2n×2n블록 매트릭스에 대하여, 일반화된 리프팅 스킴이 이용될 수 있고, 그 다음 다차원 리프팅이 될 수 있ㄷ.ㅏ
값 x = (x0, ..., x2n-1)의 벡터에 대하여, 이 블록 매트릭스의 애플리케이션은 다음 식으로 주어진다.
상기 동작의 우측에, 그 차원, 즉 라인 수가 2n인 벡터가 있다. 첫 번째 n 성분, 즉 0 내지 n-1인 성분은 x0 내지 xn -1에 대응한다. 두 번째 n 성분, 즉 상기 수학식의 우측에 결과적으로 나타나는 벡터의 제 2 절반은 이산 값의 제 2 블록, 즉 x0 내지 x2n-1과 이산 값의 제 1 블록 x0 내지 xn -1의 합과 동일하지만, 현재 도 10a, 10b, 10c 및 11의 변환 매트릭스에 대응하는 매트릭스 A의 곱과 합산된다. 변환 매트릭스는 각각 제 1, 제 2 및 제 3 변환 규칙을 나타낸다.
형태
Figure 112006022325936-PCT00015
의 2×2 매트릭스를 갖는 공통 리프팅 스킴과 마찬가지로, 2n×2n 매트릭스는 이하 방식으로 변환 T의 반전 가능 정수 근사(invertible integer approximation)에 사용될 수 있다. 정수 입력 값(x0,..., x2n-1)에 대하여, 플로팅 포인트 출력 값(y0, ..., yn -1) = A·(x0,..., xn -1)이 라운딩되고, 즉 정수값으로 되고, 그 후에 이들이 정수값(x0,..., x2n-1)에 가산된다. 블록 매트릭스의 역은 다음과 같다.
Figure 112006022325936-PCT00016
따라서, 이 처리는 동일한 매트릭스 A와 동일한 라운딩 함수를 이용하고, 순방향 처리에서의 가산 대신에 결과 값을 감산함으로써 에러 없이 반전될 수 있다. 이 순방향 처리는 도 13에 나타나 있고, 역방향 처리는 도 14에 나타나 있다. 도 13에서의 변환 매트릭스는 구현을 간략화 하는데 바람직한 도 14에서의 변환 매트릭스에 일치하는 것을 알 수 있다.
값 (x0,..., xn -1)이 도 13에 나타낸 순방향 단계에서 수정되지 않기 때문에, 이들은 역 단계 동안, 도 14에서 역방향 단계 동안 나타난다. 매트릭스 A에 대하여는 특정 제한이 없음을 알 수 있다. 따라서, 반전 가능할 필요는 없다.
알려진 MDCT의 반전 가능한 정수 근사를 얻기 위해서, MDCT는 제 1 스테이지에서 기븐 로테이션으로 분해되고, 이 스테이지는 윈도 처리 스테이지이고 후속하여 DCT-IV 스테이지가 있다. 이 분해는 도 3에 나타나 있고 이하에서 설명하고 있으며 독일 특허 공개 10129240 Al에 상세하게 설명되어 있다.
DCT-IV가 기븐 로테이션의 수 개의 스테이지로 분해되는 종래와는 반대로, 변환 그 자체가 변하지 않으면서 계속해서 라운딩된다.
따라서, DCT-IV의 정수 근사는 리프팅 기판 기븐 로테이션의 수 개의 스테이지에 의해서 수행된다. 기븐 로테이션의 수는 사용되는 페스트 알고리즘에 의해서 결정된다. 따라서, 기븐 로테이션의 수는 길이 N의 변환에 대해서는 0(N log N)으로 주어진다. 각 MDCT 분해의 윈도 처리 스테이지는 N/2 기븐 로테이션 또는 3N/2 라운딩 단계로만 구성된다. 따라서, 특히 오디오 부호화 애플리케이션에 사용되는 긴(예를 들면, 1024) 변환 길이에 대하여, DCT-IV의 정수 근사는 근사 에러에 주로 영향을 준다.
이 근사는 상술한 다차원 리프팅 스킴에 사용한다. 따라서, DCT에서의 라운딩 단계의 수는 3N/2로 감소되고, 즉 종래 리프팅 기반 근사에서 약 2N log2 2N에 비해, 윈도 처리 스테이지에서의 라운딩 단계의 수와 동일하게 된다.
DCT-IV는 동일한 시간에 신호의 두 개의 블록에 인가된다. 이에 대한 하나의 가능성을 도 12에서 설명한다. 여기서, 샘플의 두 개의 임시 연속 블록은 DCT-IV로 간단히 처리된다. 두 개의 변환으로 처리되는 두 개의 블록은 다차원 신호의 두 개의 채널의 샘플이 될 수도 있다.
상술한 다차원 리프팅 수학식으로부터의 분해는 N×N 매트릭스로서 상정될 수 있는 변환 규칙에 적용된다. 특히 DCT-IV에 대한 역은 DCT-IV가 다시되고, 그 결과는 도 12에 나타낸 기술 사상인 다음 분해이다.
Figure 112006022325936-PCT00017
-1에 의한 승산의 치환은 다른 블록 매트릭스로 추출되어 결과는 다음과 같이 된다.
Figure 112006022325936-PCT00018
따라서, 신호의 두 개의 블록, 즉 이산 값의 두 개의 블록에 대한 변환의 애플리케이션은 바람직하게 세 개의 다차원 리프팅 단계로 얻어질 수 있다.
Figure 112006022325936-PCT00019
상기 식은 일 실시예에 근거하여 도 10c에 개략적으로 나타나 있다. 역 전환(inverse converting)은 상술한 바와 같이 도 11에 대응하여 나타나 있다.
근사에 대하여, 길이 N의 DCT-IV 변환은 역 가능한 방식으로 구현될 수 있고, 여기서 3N 라운딩 단계만, 변환 당 3N/2 라운딩 단계가 요구된다.
세 개의 다차원 리프팅 단계에서의 DCT-IV는 입의의 구현, 즉 플로팅 포인트 기판 또는 고정 포인트 기판 구현을 가질 수 있다. 역 가능하지 않아도 된다. 순방향 처리와 역방향 처리에서 정확하게 동일한 방식으로 수행되어야 한다. 결과적으로, 이 기술 사상은 현재 오디오 부호화 애플리케이션에 사용되는 1024의 변환 길이가 긴 것에 적합하다.
전체 계산 근사는 두 개의 DCT-IV 변환의 비 정수 구현의 계산 복잡도에 비해 1.5배이다. 이 계산 근사는 종래 DCT-IV에 약 두 배인 종래 리프팅 기반 정수 구현에 비해 충분히 낮은데, 그 이유는 이들 구현이 「R. Geiger, T. Sporer, J. Koller and K. Brandenburg, "Audio Coding based on Integer Transforms", in 111th AES Convention, New York, 2001」에 기술된 바와 같이, 에너지 보존을 성취하기 위해서 사용되는 리프팅 스킴에 근거하여 평범한 플러스/마이너스 버터플라이를 사용하기 때문이다.
상술한 근사는 적어도 두 개의 DCT-IV 변환을 동시에, 즉 한 번의 전환으로 계산한다. 이는 예를 들면, 오디오 신호의 두 개의 연속하는 블록 또는 이미지 신호의 두 개의 연속하는 이미지에 대하여 DCT-IV 변환을 계산함으로써 성취된다. 두 채널 스테레오 신호의 경우, 이는 전환 동작 및/또는 역 전환 동작에서 좌측 및 우측 채널의 DCT-IV를 계산함으로써 성취될 수 있다. 이 제 1 버전은 하나의 블록의 추가 지연을 시스템으로 유도하는 것이다. 제 2 버전은 스테레오 채널 및/또는 다채널 신호에 대하여 적용 가능하다.
대안적으로, 두 옵션은 바람직하지 않지만 N 값의 정상 블록 처리 길이가 유지될 수 있는 경우, 길이 N의 DCT-IV는 또한 길이 N/2의 두 개의 DCT-IV 변환으로 분해될 수 있다. 이러한 내용으로는, 「Y. Zeng, G. Bi and Z. Lin, "Integer sinusoidal transforms based on lifting factorization" in Proc. ICASSP'1, May 2001, pp. 1.181 - 1.184」를 보면, 이 분해가 개시되어 있다. 길이 N/2의 두 개 의 DCT-IV 변환에 부가하여, 기븐 로테이션의 수개의 추가 스테이지가 요구된다. 이 알고리즘에는, 다른 블록 매트릭스가 적용되는데,
Figure 112006022325936-PCT00020
즉, N/2 플러스/마이너스 버터플라이, N/2 기븐 로테이션을 갖는 블록 대각 매트릭스 및 다른 일부 치환 매트릭스가 있다. N/2 기븐 로테이션의 이들 추가 스테이지를 사용하면, 다차원 리프팅 근사가 길이 N의 하나의 DCT-IV의 계산에 사용될 수도 있다. 알고리즘의 기본 구조는 도 15에 나타나 있고, 실제 전환 스테이 이외에, N/2의 길이를 가진 두 개의 DCT-IV 변환이 사용되고, N/2의 길이를 갖는 이산 값의 제 1 및 제 2 블록을 계산하기 위해 먼저 버터플라이 스테이지가 있다. 변환 표시의 출력 값의 블록과 변환 표시의 출력 값의 다른 블록으로부터 출력 값 y0, ..., yN -1을 얻기 위해 출력 측에 로테이션 스테이지가 있고, 이들은 각각 N/2 값을 가지며, 전자는 도 12의 DCT-IV 출력 값과 동일하고, 도 15 및 도 12의 입력 측과 출력 측에서 인덱스의 비교로 명백해진다.
지금까지, 이하 형태의 블록 매트릭스에 리프팅하는 다차원의 애플리케이션에 대하여만 설명하였다.
Figure 112006022325936-PCT00021
그러나, 다른 블록 매트릭스를 다차원 리프팅 단계로 분해하는 것이 가능하다. 예를 들면, 이하 분해는 다차원 리프팅의 세 단계에 의한 DCT-IV 변환의 두 개의 블록과 정규화된 플러스/마이너스 버터플라이를 가진 스테이지의 조합을 구현하기 위해 이용될 수 있다.
Figure 112006022325936-PCT00022
상기 식으로부터, 상기 식의 좌측 괄호에 사용되는 제 1 변환 규칙, 상기 식의 중앙 괄호에 사용되는 제 2 변환 규칙, 및 상기 식의 마지막 괄호에 사용되는 제 3 변환 규칙이 동일할 필요는 없다는 것을 명백히 알 수 있다. 또한, 상기 식으로부터, 주 대각 요소가 점유하고 있는 블록 매트릭스가 분해될 수 있지만 완전히 점유된 매트릭스도 처리될 수 있음을 명백히 알 수 있다. 또한, 변환 표시로 전환시 사용되는 변환 규칙은 동일하여야 하고, 서로 어떤 관련성을 가지고 있어야 하며, 예를 들면, 제 2 변환 규칙은 제 1 변환 규칙에 대하여 역방 변환 규칙이다. 기본적으로, 역 표시를 상정하는 한 세 개의 서로 다른 변환 규칙이 사용되어야 한다.
이러한 내용에 대하여, 도 10c 및 11을 다시 참조한다. 변환 표시에 대한 이산 값의 전환시, 수단(102)은 임의의 변환 규칙 1을 구현하도록 형성될 수 있다. 또한, 수단(108)은 변환 규칙 2와 동일한 변환 규칙을 또는 다른 규칙을 사용하도록 형성될 수 있다. 수단(140)은 제 1 또는 제 2 변환 규칙과 동일한 필요는 없는 임의의 변환 규칙 3을 사용하도록 형성될 수 있다.
그러나, 변환 표시의 역 전환에서는, 도 10c에 나타낸 변환 규칙 1 내지 3에 적용되며, 전환하는 제 1 수단(124)은 임의의 변환 규칙을 실행하지 않지만 도 10c의 블록(140)에서 변환 규칙 3이 실행된다. 대응하여, 도 11에서의 수단(130)은 도 10c에서의 블록(108)에 의해서 실행되는 변환 규칙 2를 실행한다. 마지막으로, 도 11의 수단(150)은 무손실 역 전환을 얻기 위해 도 10c의 수단(102)에 의해서 실행된 변환 규칙 1을 실행한다.
도 16은 도 10c에서 설명한 기술 사상의 변형을 나타낸 도면이다. 특히, 순방향 변환을 위한 엘리먼트(104, 110, 142)에서 또는 역방향 변환을 위한 엘리먼트(126, 132, 152)에서 라운딩은 더 이상 샘플-와이즈 실행되지 않지만 라운드 에러의 스펙트럼 쉐이핑은 있다.
도 10c을 도 16에 비교하면, 단지 블록(104)을 블록(204a)으로 치환하고 라운딩 블록(110) 대신에 블록(204b)를 사용하는 것이 바람직함을 알 수 있다. 이는 라운딩 에러의 백색 잡음이 스펙트럼 쉐이핑이 수행되지 않는 경우 문제가 될 수 있는 주파수 범위로 후속 변환이 존재하는 경우 특히 이점이 있기 때문이다. 라운딩(142) 후에 주파수 변환이 없으면, 블록(142)에서의 스펙트럼 쉐이핑은 더 이상 상 상기 이점을 포함하지 않는다. 이는 블록(108)에서의 변환에 의한 주파수 전환이 있기 때문에 블록(204a)에 대한 경우이다. 따라서, 블록(204b)에서의 스펙트럼 쉐이핑은 마지막 블록(140)에 의한 변환이 다시 존재하기 때문에 여전히 이점이 있다. 그러나, 도 16으로 알 수 있는 바와 같이, 잡음 쉐이핑 라운딩 에러는 이미 출력 블록(104)에 들어갔기 때문에, 블록(204b)에서는 도 10c의 블록(110)에 의해서 설명한 바와 같이, 라운딩 에러의 스펙트럼 쉐이핑 대신에 공통 라운딩이 미리 수행될 수 있다. 이는 애플리케이션의 개별적으로, 스펙트럼 쉐이핑 라운딩 또는 공통 라운딩이 존재하는지의 여부에 따르며, 제 2 변환의 끝, 즉 변환(108)에서 백색 스펙트럼 분포를 가진 라운딩 에러를 가지는지의 여부에 따른다.
예를 들면, k 값의 임의의 수의 독립 라운딩이 스펙트럼 쉐이핑을 가진 라운딩으로 치환되고, 이는 "종속 라운딩"이라 한다.
도 16에 대한 설명으로부터, 라운딩 에러의 스펙트럼 쉐이핑은 IntMDCT에 요구되는 정수 DCT에 이용될 수 있음을 명백히 알 수 있다. 그러나, 상술한 바와 같이, 라운드될 값이 다른 변환 단계에 의해서 주파수 도메인으로 전사되는 시간 신호인 경우 에러 피드백에 의한 스펙트럼 쉐이핑이 특히 이점이 있다는 것을 상정했다. 따라서, 도 16의 다차원 리프팅에 대하여 설명한 바와 같이, 스펙트럼 쉐이핑이 처음 두 단계에서는 이점이 있지만 세 번째 단계에서는 더 이상 이점이 존재하지 않는다.
도 16은 도 10c에 대응하는 부호화기의 경우를 나타냄을 알 수 있다. 도 16에 대응하는 복호화기의 경우, 도 16과 도 11을 직접 비교한다. 도 11의 도 16에 직접 대응하는 복호화기는 두 개의 라운딩 블록(132, 152)을 제외한 모든 블록이 독립적으로 동작한다. 도 11에서, 이들 두 개의 라운딩 블록은 독립 라운딩 블록 으로서 동작하고, 복호화기에서 종속 라운딩 블록(204a, 204b)으로 치환되며, 이들은 모두 예를 들면 도 2c에 나타낸 구조를 갖는다. 특히, 부호화기와 완전히 동일한 스펙트럼 쉐이핑 라운딩 알고리즘이 복호화기에 사용되는 것을 알 수 있다.
도 2b와 도 2c에 나타낸 기술 사상은 특히 H(z) = -1인 경우, 라운딩 에러의 절감과 특히 정수 변환에서의 라운딩 에러의 절감을 성취하는데 적합하다.
본 발명에 따르면, 라운딩 에러의 이러한 절감은 두 개의 플로팅 포인트 값이 라운딩되어 상이한 값 대신에 동일한 값에 가산되는 경우에는 언제나 가능하다. 이러한 예시적인 상황이 도 17에 나타나 있다. 여기서는, 처음에 리프팅 관계자 x1과 x3 사이의 다운-업-다운의 시퀀스를 갖는 제 1 리프팅 단계가 있다. 또한 다운-업-다운의 알려진 시퀀스이지만 리프팅 관계자 x2와 x3을 가진 제 2 리프팅 단계가 있다. 특히, 제 1 리프팅 동작에서 얻어지는 값 x3은 도 17로부터 알 수 있는 바와 같이 제 2 리프팅 단계에서 가산 파트너로서 역을 하는데 이용될 수 있다. 화살표가 수평 라인에 도달한 경우, 이는 가산을 나타낸다. 즉, 라운딩된 값이 수평 라인에 대응하는 값에 가산된다.
구체적으로, 도 17에 나타낸 예에서, 값 x1이 먼저 웨이트되고(블록(250), 그 다음 개별적으로 라운딩된다(블록(252)). 블록(252)의 출력 신호는 x3블록((254))에 가산된다. 그 다음, 가산(254)의 결과가 다시 웨이트되고(블록(256)) 다시 라운딩된다(블록(258)). 이 라운딩(258)의 결과는 x1(260)에 가산된다. 이 가산(260)의 결과는 다시 웨이트되고(블록(262)) 다시 라운딩되어(블록(264)), x3의 현재 값(블록(266))에 가산된다. 결과적으로, 값 x2는 블록(270)에 의해서 웨이트되고 블록(272)에 의해서 라운딩된다. 블록(272)의 결과는 현재 x3의 값에 가산된다(274). 그 다음, 다시 웨이팅(276)과 라운딩(278)이 있고 다시 블록(278)의 결과를 x2의 현재 값에 가산된다. 이 가산(280)의 결과는 다시 웨이트되고(블록(282)), 이 웨이트된 결과는 라운딩되고(블록(284)), 라운딩 블록(284)의 결과를 다시 x3(블록(286))의 현재 값에 가산되어, x3에 대한 결과 값이 얻어진다. 도 17로부터, 먼저 제 1 값, 즉 블록(262)의 결과가 라운딩되고, 그 다음 x3에 가산된다. 또한, 제 2 값, 즉 블록(270)의 결과가 라운딩되고(블록(272)) x3(가산기(274))에 가산된다. 두 개의 플로팅 포인 값이 서로 라운딩되고 상이한 값 대신에 동일한 갓에 가산되는 상황에 놓여있다. 도 17에 나타낸 예에서, 제 3 및 제 4 리프팅 단계의 결과는 동일한 값, 즉 x3에 가산되고, 그래서 가산이 라운딩 함수 [.]로 행해진다.
[x1ㆍcs1] + [x2ㆍcs2]
라운딩에서 제 3 리프팅 단계의 에러가 제 4 리프팅 단계로 공급되는 경우, 제 3 단계의 에러가 이 경우에 사용되고, 하나의 라운딩 에너지만 두 개의 라운딩 에러 대신에 생성된다. 계산에 대하여, 이는 다음 식으로부터 이루어진다.
[x1ㆍcs1] + [x2ㆍcs2 + (x1ㆍcs1 - [x1ㆍcs1])] =
[x1ㆍcs1] + [x2ㆍcs2 + x1ㆍcs1] - [x1ㆍcs1] =
[x2ㆍcs2] + [x1ㆍcs1]
계산에 대하여, 다음 라운딩 단계로의 라운딩 에러 공급은 이 경우에 값의 가산과 후속하는 라운딩에 이상적이다. 이 상황은 도 18에 나타나 있으며, 도 18은 도 17에 대응하지만, 두 개의 분리된 라운딩 블록(264, 272)과 두 개의 분리된 가산기(266, 274)는 상기 식을 구현하기 위해 형성된 블록(268)으로 대체된다. 따라서, 두 개의 블록(262 및 270)의 결과는 먼저 라운딩되지 않은 형태로 가산되고 그 다음 라운딩된다. 이 경우에, 라운드 에러는 절반이 된다. 블록(268)의 출력에서는, 가산기(269)에 의해서 x3에 가산되는 하나의 단일 값이 존재한다.
라운딩 에러의 절감과 쉐이핑의 조합이 이루어질 수 있고, 예를 들면, 한 세트의 기븐 로테이션과 다차원 리프팅 단계가 도 19에 나타낸 바와 같이 서로 따르는 경우이다. 실시예에 의해서, 일부 값에 대한 다운-업-다운 시퀀스의 마지막 단계가 값 x1 내지 x4, 즉 예를 들면, 도 9의 다운 단계(31c)에서 수행된다. 이들 값은 대응하는 값에 가산되고, 이에, 도 16에서의 라운드 값, 즉 블록(204a)의 출력에서의 값이 가산된다. 이 경우, 라운딩되지 않은 값을 먼저 가산하고, 즉 도 19에 나타낸 가산기(203)에 의해서 가산하고, 도 19의 블록(204)에서 이 가산된 값을 라운드하고, 이들을 동시에 쉐이핑 시킴으로써, 간단한 라운드 에러만 얻어지고 가 산기(106)에 의한 가산 후에 출력 값은 에러가 거의 포함되지 않는다. 따라서, 도 19에서의 상황은 결과적으로 도 9가 도 16의 좌측에 놓이고, 특히 N/2 값 DCT-IV가 N 값 DCT-IV 대신 사용되는 경우가 된다.
본 발명에 따르면, 라운딩 에러의 쉐이핑과 라운딩 에러의 절감을 조합하는 것이 바람직하다. 라운딩 에러의 절감의 경우에, 일부 입력 값이 처리되고, 함께 라운딩되고, 라운드 값은 하나의 값에 가산되고, 라운드 에러의 스펙트럼 쉐이핑의 경우에, 라운드 값이 서로 독립적으로 라운딩되고 각각 서로 다른 일부 값에 가산된다.
도 19에서의 상황은 도 15에 설명한 바와 같이 N/2 DCT가 이용되는 경우 발생할 수 있음을 알 수 있다. 여기서, 전환 단계에 앞서, 즉 도 15에서의 버터플라이 스테이지에 앞서, 입력 값 x0와 xN /2-1이 대응하여 웨이트되고, 그 다음 동일한 값에 가산되고, 이에 DCT-IV의 값이 가산된다. 도 15에서 전환 스테이지가 개략적으로만 나타나 있다. 도 15에 개략적으로 나타낸 두 개의 DCT-IV 블록은 실제 구현시에, 즉 도 16에서, xN /2-1은 xN -1 대신에 기입되고, xN /2 대신에 기입되고, xN -1이 xN/2-1대신에 기입 되는 경우, 도 16에 나타낸 구성 요소로 대체된다.
도 19는 특히 모노애플리케이션에 대하여, N/2 DCT-IV가 이용되는 경우에 대하여 바람직한 구현을 나타낸다.
이러한 환경에 따르면, 라운딩에 대한 본 방법 발명은 하드웨어 또는 소프트웨어로 구현될 수 있다. 이 구현은 디지털 저장 매체로, 특히 방법이 수행되도록 프로그램 가능 컴퓨터 시스템과 연동할 수 있고, 전기적으로 판독 가능한 제어 신호를 가진 플라피 디스크 또는 CD에 수행될 수 있다. 통상적으로, 본 발명은 컴퓨터 프로그램 제품이 컴퓨터에서 실행되는 경우 기계 판독 가능 캐리어에 저장된 본 발명의 방법을 수행하는 프로그램 코드를 가진 컴퓨터 프로그램 제품으로 이루어진다. 다시 말하면, 본 발명은 컴퓨터 프로그램이 컴퓨터에서 동작하는 경우 상기 방법을 수행하는 프로그램 코드를 가진 컴퓨터 프로그램이다.

Claims (13)

  1. 적어도 두 개의 입력 값을 처리하는 디바이스로서,
    제 1 비-정수(non-integer) 입력 값과 제 2 비-정수 입력 값을 제공하는 제공 수단(202, 250, 252, 254, 256, 258, 260, 262); 및
    상기 제 1 입력 값과 상기 제 2 입력 값을 결합하여 비-정수 결과 값을 얻고, 그 결과 값을 라운딩(rounding)하여 라운드 결과 값을 얻는 결합 수단(268)을 구비하는 것을 특징으로 하는 디바이스.
  2. 제 1 항에 있어서,
    상기 결합 수단은 합 또는 차를 형성하도록 설계된 것을 특징으로 하는 디바이스.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 입력 값과 제 2 입력 값은 오디오 및/또는 비디오 정보를 포함하는 이산 값인 것을 특징으로 하는 디바이스.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 결과 값을 제 3 입력 값에 연결시켜 출력 값을 얻는 연결 수단(269)을 더 구비하는 것을 특징으로 하는 디바이스.
  5. 제 4 항에 있어서,
    상기 연결 수단(269; 104)은 합산기 또는 감산기로서 설계되는 것을 특징으로 하는 디바이스.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 제 3 입력 값은 정수 입력 값이어서, 상기 출력 값도 정수 값인 것을 특징으로 하는 디바이스.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 제공 수단은 제 1 및 제 2 리프팅 단계와 후속 웨이팅(262)에 의해서 제 1 본래 값과 제 3 값(x3)으로부터 상기 제 1 입력 값을 생성하고, 웨이팅(270)에 의해서 본래 제 2 입력 값(x2)으로부터 상기 제 2 입력 값을 생성하도록 설계되는 것을 특징으로 하는 디바이스.
  8. 제 7 항에 있어서,
    상기 정수 결과 값을 리프팅 동작에 의해서 수정된 제 3 입력 값에 가산하고, 리프팅 동작에 의해서 수정된 상기 제 3 입력 값과 상기 제 2 입력 값으로 로테이션의 제 2 및 제 3 리프팅 단계를 수행하도록 설계되는 것을 특징으로 하는 디 바이스.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 제공 수단은 제 1 본래 값을 웨이팅하여 상기 제 1 입력 값을 얻고, 상기 본래 제 1 값(x1)이 속하는 본래 입력 값의 시퀀스로부터 변환에 의해 상기 제 2 입력 값을 계산하도록 설계되는 것을 특징으로 하는 디바이스.
  10. 제 9 항에 있어서,
    상기 정수 입력 값을, 제 1 변환 규칙(102)에 의해 처리된 시퀀스의 부분인 다른 입력 값에 가산하여, 제 2 변환 규칙에 의해서 처리될 다른 시퀀스의 값을 얻는 가산 수단(106)을 더 구비하고, 상기 제 1 변환 규칙과 상기 제 2 변환 규칙은 제 1 및 제 2 다차원 리프팅 단계를 규정하는 변환 규칙인 것을 특징으로 하는 디바이스.
  11. 적어도 두 개의 입력 값을 처리하는 방법으로서,
    제 1 비-정수 입력 값과 제 2 비-정수 입력 값을 제공하는 단계(202, 250, 252, 254, 256, 258, 260, 262); 및
    상기 제 1 입력 값과 상기 제 2 입력 값을 결합하여 비-정수 결과 값을 얻고, 그 결과 값을 라운딩하여 라운드 결과 값을 얻는 결합 단계(268)를 구비하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 결합 단계 후에,
    상기 결과 값을 제 3 정수 입력 값에 연결하여 정수 입력 값을 얻는 연결 단계(269)가 수행되는 것을 특징으로 하는 방법.
  13. 제 11 항에 기재된 방법을 수행하기 위한 프로그램 코드를 가진 컴퓨터 프로그램으로서, 상기 프로그램은 컴퓨터에서 실행되는 것을 특징으로 컴퓨터 프로그램.
KR1020067006196A 2003-10-02 2004-09-28 2 이상의 입력 값을 처리하기 위한 장치 및 방법 KR100804053B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10345996A DE10345996A1 (de) 2003-10-02 2003-10-02 Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten
DE10345996.0 2003-10-02

Publications (2)

Publication Number Publication Date
KR20060071425A true KR20060071425A (ko) 2006-06-26
KR100804053B1 KR100804053B1 (ko) 2008-02-18

Family

ID=34399212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067006196A KR100804053B1 (ko) 2003-10-02 2004-09-28 2 이상의 입력 값을 처리하기 위한 장치 및 방법

Country Status (16)

Country Link
US (1) US7873227B2 (ko)
EP (1) EP1654674B1 (ko)
JP (1) JP4328805B2 (ko)
KR (1) KR100804053B1 (ko)
CN (1) CN100435137C (ko)
AT (1) ATE364206T1 (ko)
AU (1) AU2004278829B2 (ko)
BR (1) BRPI0415152B1 (ko)
CA (1) CA2540581C (ko)
DE (2) DE10345996A1 (ko)
DK (1) DK1654674T3 (ko)
HK (1) HK1086367A1 (ko)
IL (1) IL174318A (ko)
NO (1) NO334930B1 (ko)
RU (1) RU2323469C2 (ko)
WO (1) WO2005033965A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214200B2 (en) * 2007-03-14 2012-07-03 Xfrm, Inc. Fast MDCT (modified discrete cosine transform) approximation of a windowed sinusoid
EP2063417A1 (en) 2007-11-23 2009-05-27 Deutsche Thomson OHG Rounding noise shaping for integer transform based encoding and decoding
US8447591B2 (en) 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
PL2311032T3 (pl) 2008-07-11 2016-06-30 Fraunhofer Ges Forschung Koder i dekoder audio do kodowania i dekodowania próbek audio
RU2523035C2 (ru) * 2008-12-15 2014-07-20 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Аудио кодер и декодер, увеличивающий полосу частот
PL4053838T3 (pl) 2008-12-15 2023-11-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Dekoder powiększania szerokości pasma audio, powiązany sposób oraz program komputerowy
CA2763793C (en) * 2009-06-23 2017-05-09 Voiceage Corporation Forward time-domain aliasing cancellation with application in weighted or original signal domain
JP5774010B2 (ja) 2009-09-25 2015-09-02 グラクソスミスクライン バイオロジカルズ ソシエテ アノニム インフルエンザウイルスのための免疫拡散アッセイ
EP2524374B1 (en) 2010-01-13 2018-10-31 Voiceage Corporation Audio decoding with forward time-domain aliasing cancellation using linear-predictive filtering
WO2012070866A2 (ko) * 2010-11-24 2012-05-31 엘지전자 주식회사 스피치 시그널 부호화 방법 및 복호화 방법
BR112013020588B1 (pt) 2011-02-14 2021-07-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparelho e método para codificação de uma parte de um sinal de áudio utilizando uma detecção transiente e um resultado de qualidade
ES2529025T3 (es) 2011-02-14 2015-02-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para procesar una señal de audio decodificada en un dominio espectral
PL2676266T3 (pl) 2011-02-14 2015-08-31 Fraunhofer Ges Forschung Układ kodowania na bazie predykcji liniowej wykorzystujący kształtowanie szumu w dziedzinie widmowej
PT2676267T (pt) 2011-02-14 2017-09-26 Fraunhofer Ges Forschung Codificação e descodificação de posições de pulso de faixas de um sinal de áudio
MX2012013025A (es) * 2011-02-14 2013-01-22 Fraunhofer Ges Forschung Representacion de señal de informacion utilizando transformada superpuesta.
MX2013010537A (es) 2011-03-18 2014-03-21 Koninkl Philips Nv Codificador y decodificador de audio con funcionalidad de configuracion.
ES2617958T3 (es) * 2011-04-05 2017-06-20 Nippon Telegraph And Telephone Corporation Codificación de una señal acústica
CA2900437C (en) 2013-02-20 2020-07-21 Christian Helmrich Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap
EP2830063A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for decoding an encoded audio signal
US9094033B1 (en) 2015-01-23 2015-07-28 Pmc-Sierra Us, Inc. Quantization noise-shaping device
US10743025B2 (en) * 2016-09-01 2020-08-11 Lg Electronics Inc. Method and apparatus for performing transformation using layered givens transform
CN109408427B (zh) * 2017-08-18 2021-01-22 龙芯中科技术股份有限公司 一种跨时钟域数据处理方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757659B1 (en) * 1998-11-16 2004-06-29 Victor Company Of Japan, Ltd. Audio signal processing apparatus
DE10129240A1 (de) * 2001-06-18 2003-01-02 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten
JP2003108248A (ja) * 2001-09-27 2003-04-11 Alpine Electronics Inc 操作装置
US7076108B2 (en) * 2001-12-11 2006-07-11 Gen Dow Huang Apparatus and method for image/video compression using discrete wavelet transform
CN1154084C (zh) * 2002-06-05 2004-06-16 北京阜国数字技术有限公司 一种基于伪小波滤波的音频编/解码方法
KR100885437B1 (ko) 2003-09-29 2009-02-24 에이전시 포 사이언스, 테크놀로지 앤드 리서치 시간 도메인에서 주파수 도메인으로 그리고 그 반대로디지털 신호를 변환하는 방법
DE10345995B4 (de) 2003-10-02 2005-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten

Also Published As

Publication number Publication date
RU2006110319A (ru) 2007-10-20
JP4328805B2 (ja) 2009-09-09
HK1086367A1 (en) 2006-09-15
NO334930B1 (no) 2014-07-14
ATE364206T1 (de) 2007-06-15
RU2323469C2 (ru) 2008-04-27
CA2540581A1 (en) 2005-04-14
CN1864158A (zh) 2006-11-15
WO2005033965A1 (de) 2005-04-14
JP2007508605A (ja) 2007-04-05
BRPI0415152A (pt) 2006-11-28
US7873227B2 (en) 2011-01-18
NO20061450L (no) 2006-06-14
AU2004278829B2 (en) 2008-04-24
DK1654674T3 (da) 2007-10-08
BRPI0415152B1 (pt) 2017-03-07
IL174318A0 (en) 2006-08-01
US20070196022A1 (en) 2007-08-23
IL174318A (en) 2010-11-30
EP1654674B1 (de) 2007-06-06
CA2540581C (en) 2012-11-27
AU2004278829A1 (en) 2005-04-14
KR100804053B1 (ko) 2008-02-18
DE502004004043D1 (de) 2007-07-19
DE10345996A1 (de) 2005-04-28
CN100435137C (zh) 2008-11-19
EP1654674A1 (de) 2006-05-10

Similar Documents

Publication Publication Date Title
KR100804053B1 (ko) 2 이상의 입력 값을 처리하기 위한 장치 및 방법
US7917564B2 (en) Device and method for processing a signal having a sequence of discrete values
US8195730B2 (en) Apparatus and method for conversion into a transformed representation or for inverse conversion of the transformed representation
RU2422987C2 (ru) Канальное кодирование на основе комплексного преобразования с частотным кодированием с расширенной полосой
JP4887307B2 (ja) ニアトランスペアレントまたはトランスペアレントなマルチチャネルエンコーダ/デコーダ構成
US7275036B2 (en) Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
JP3814611B2 (ja) 時間離散オーディオサンプル値を処理する方法と装置
JP4416752B2 (ja) オーディオ符号化方法及びその装置
MXPA06003309A (en) Device and method for processing at least two input values

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140206

Year of fee payment: 7

FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20160202

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170203

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180130

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 12