KR100778349B1 - 이산값의 시퀀스를 갖는 신호 처리 장치 및 방법 - Google Patents

이산값의 시퀀스를 갖는 신호 처리 장치 및 방법 Download PDF

Info

Publication number
KR100778349B1
KR100778349B1 KR1020067005972A KR20067005972A KR100778349B1 KR 100778349 B1 KR100778349 B1 KR 100778349B1 KR 1020067005972 A KR1020067005972 A KR 1020067005972A KR 20067005972 A KR20067005972 A KR 20067005972A KR 100778349 B1 KR100778349 B1 KR 100778349B1
Authority
KR
South Korea
Prior art keywords
values
rounding
sequence
signal
block
Prior art date
Application number
KR1020067005972A
Other languages
English (en)
Other versions
KR20060054472A (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 KR20060054472A publication Critical patent/KR20060054472A/ko
Application granted granted Critical
Publication of KR100778349B1 publication Critical patent/KR100778349B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)
  • Complex Calculations (AREA)

Abstract

신호가 높은 에너지를 갖는 제 1 주파수 범위 및 상기 신호가 낮은 에너지를 갖는 제 2 주파수 범위가 존재하는 이산값들의 시퀀스를 갖는 신호의 처리시에, 이산값들의 시퀀스는 조작값들의 시퀀스를 구하기 위해 조작값들 중 적어도 하나가 비정수가 되도록 먼저 조작된다 (202). 그런 후, 조작값들의 시퀀스를 구하기 위하여, 조작값들의 시퀀스를 라운딩한다 (204). 상기 라운딩은 스펙트럼 성형된 라운딩 오차는 제 2 주파수 범위에서보다 제 1 주파수 범위에서 더 높은 에너지를 갖도록 발생된 라운딩 오차의 스펙트럼 성형을 하기 위해 실행된다. 라운딩 오차가 신호 에너지가 없는 저장 영역에서 에너지를 갖지 않도록 상기 라운딩 오차를 스펙트럼 성형함으로써, 특히 효율적인 부호화는 특히 무손실 부호화 문맥과 관련되어구해진다.

Description

이산값의 시퀀스를 갖는 신호 처리 장치 및 방법{DEVICE AND METHOD FOR PROCESSING A SIGNAL WITH A SEQUENCE OF DISCRETE VALUES}
본 발명은 신호 처리에 관한 것으로, 특히 무손실 부호화 응용에 적합한 오디오 또는 비디오 샘플들과 같은 순차적인 값의 신호 처리에 관한 것이다.
본 발명은 오디오 및/또는 이미지 정보를 포함하는 이산값들에 대한 압축 알고리즘에 더욱 적합하며, 특히 주파수 도메인, 시간 도메인, 또는 위치 도메인 내에서의 변환을 포함하는 부호화 알고리즘에 적합하며, 예로서 Huffman 또는 산술 부호화 방식의 엔트로피 부호화와 같은 것에 적합하다.
MPEG 계층 3 (MP3) 또는 MPEG AAC 등과 같은 현대 오디오 부호화 방법들은 소위 변형 이산 코사인 변환 (modified discrete cosine transform 줄여서 MDCT) 같은 변환들을 사용하여 오디오 신호의 블록별 주파수 표현을 구한다. 이러한 오디오 부호기는 통상적으로 시이산 (time-discrete) 오디오 샘플들의 스트림을 구한다. 오디오 샘플들의 스트림은 예를 들어 1,024 개 또는 2,048 개의 윈도윙된 오디오 샘플들의 윈도윙된 블록을 구하기 위해 윈도윙 (windowing) 된다. 윈도윙을 위해 사인 윈도우 등과 같은 다양한 윈도우 함수들이 채택된다.
이 때, 윈도윙된 시이산 오디오 샘플들은 필터 뱅크에 의해 스펙트럼 표현으 로 변환된다. 원칙적으로 푸리에 변환이 채택되나, 특별한 경우에는 FFT 등과 같은 다양한 푸리에 변환 또는 전술한 MDCT 가 채택될 수도 있다. 오디오 스펙트럼값의 블록은 필요한 경우에 필터 뱅크의 출력에서 더 처리될 수도 있다. 상기 오디오 부호기에서는 오디오 스펙트럼값의 양자화가 뒤따르고, 상기 양자화 단계는 통상적으로 양자화에 의해 발생된 양자화 노이즈가 음향심리학적 마스킹 임계치 (psychoacousic masking threshold) 미만이 되도록 선택된다. 즉 마스크되도록 한다. 이 양자화는 손실 부호화이다. 이 때, 데이터량을 더욱 감소시키기 위해서는 양자화된 스펙트럼값이 예를 들어 Huffman 부호화에 의해 엔트로피 부호화되어야 한다. 배율 (scale factor) 등과 같은 부수적인 정보를 부가함으로써, 저장 또는 전송될 수 있는 비트 스트림이 비트 스트림 멀티플렉서를 이용하여 양자화되어 엔트로피 부호화된 스펙트럼값으로부터 형성된다.
오디오 복호기에서는 상기 비트 스트림이 비트 스트림 디멀티플렉서를 이용하여 양자화되어 부호화된 스펙트럼값으로 분리된다. 양자화되어 엔트로피 부호화된 스펙트럼값은 양자화된 스펙트럼값을 구하기 위하여 먼저 엔트로피 복호화된다. 그런 후 양자화된 스펙트럼값은 음향심리학적 마스킹 임계치 미만이어서 들을 수 없는 양자화된 노이즈를 포함하는 복호화된 스펙트럼값을 구하기 위해 역으로 양자화된다. 이러한 스펙트럼값들은 시이산 복호화된 오디오 샘플들을 구하기 위해 합성 필터 뱅크 (synthesis filter bank) 를 이용하여 임시 표현으로 전환된다. 합성 필터 뱅크에서는 변환 알고리즘에 대한 역변환 알고리즘이 채택되어야 한다. 또한, 윈도우로 나타내는 것은 주파수-시간 역방향 변환 후에 역전되어야 한다.
주파수 선택성을 좋게 하기 위해, 현대 오디오 부호기들은 통상 블록 오버랩을 이용한다. 이러한 경우는 도 6a 에 도시된다. 먼저, 예를 들어 2,048 개의 시이산 오디오 샘플들이 윈도우 구현 수단 (402) 에 의해 채택되고 윈도우로 구현된다. 윈도우 구현 수단 (402) 은 2N 개의 샘플들의 윈도우 길이를 갖고, 2N 개의 윈도윙된 샘플들의 블록을 출력측으로 제공한다. 윈도우 오버랩을 달성하기 위해, 2N 개의 윈도윙된 샘플들의 제 2 블록이 단지 설명의 명확성을 위해 도 6a 에서 윈도우 구현 수단 (402) 과 분리되어 도시된 윈도우 구현 수단 (404) 에 의해 형성된다. 윈도우 구현 수단 (404) 에 입력된 2,048 개의 샘플들은 제 1 윈도우 직후의 시이산 오디오 샘플들이 아니다. 다만, 윈도우 구현 수단 (402) 에 의해 윈도우로 구현되는 샘플들의 후반부을 포함하고, 부가적으로 단지 1,024 개의 신규 샘플들을 포함한다. 이 오버랩은 50 % 의 오버랩을 유발하는 도 6a 내의 수단 (406) 에 의해 표시된다. 윈도우 구현 수단 (402) 에 의해 출력되는 2N 개의 윈도윙된 샘플들과 윈도우 구현 수단 (404) 에 의해 출력되는 2N 개의 윈도윙된 샘플들은 수단들 (408 및 410) 각각에 의해 MDCT 알고리즘에 의해 처리된다. 수단 (408) 은 공지의 MDCT 알고리즘에 따른 제 1 윈도우용 N 개의 스펙트럼값을 제공한다. 반면 수단 (410) 도 제 2 윈도우용 N 개의 스펙트럼값을 제공한다. 제 1 윈도우와 제 2 윈도우에는 50 % 의 오버랩된 부분이 있다.
복호기에서는, 도 6b 에서 도시된 바와 같이 제 1 윈도우의 N 개의 스펙트럼값들이 역 변형 이산 코사인 변환을 실행하는 수단 (412) 으로 입력된다. 제 2 윈도우의 N 개의 스펙트럼값에 대해서도 동일하게 적용되어 역 변형 이산 코사인 변 환을 실행하는 수단 (414) 으로 입력된다. 양 수단들 (412 및 414) 은 각각 제 1 윈도우에 2N 개의 샘플들을 제공하고, 제 2 윈도우에 2N 개의 샘플들을 제공한다.
수단 (416) 에서, 도 6b 에 명시된 TDAC (time domain aliasing cancellation) 변환에서 2 개의 윈도우들이 오버랩된 것이 고려된다. 특히, 제 1 윈도우의 후반부에 해당하는 샘플 y1 과 제 2 윈도우의 전반부에 해당하는 샘플 y2 가 합산되어 N 개의 복호화된 임시 샘플들이 출력측에 출력된다. 제 1 윈도우의 후반부에 해당하는 샘플 y1 은 N+k 라는 인덱스를 갖고, 제 2 윈도우의 전반부에 해당하는 샘플 y2 는 k 라는 인덱스를 갖는다.
도 6b 에 개략적으로 도시된 부호기에서 가산 함수의 수단 (416) 에 의해 실행되는 윈도윙은 자동적으로 고려되어 명시적 역 윈도윙이 도 6b 에 도시된 복호기에서 일어나지 않는다는 것에 주의한다.
수단 (402 또는 404) 에 의해 실행되는 윈도우 함수를 w(k) 로 나타내고, 인덱스 k 는 시간 인덱스를 나타내며, 윈도우 가중치 (w(k)) 의 제곱에 윈도우 가중치 (w(N+k)) 의 제곱을 더하면 1 이 되는 조건을 만족해야 하고, k 는 0 부터 N-1 까지 실행된다. 윈도우 가중치가 사인 함수의 전반부를 뒤따르는 사인 윈도우가 사용되면 사인의 제곱과 코사인 제곱의 합이 모든 각도에서 1 이 되므로 이 조건이 항상 만족된다.
도 6a 에서 기술된 순차적인 MDCT 함수를 갖는 윈도우 방법에서, 사인 윈도우의 경우에, 0 과 180 사이의 각도에서 90 도를 제외하면 사인값이 정수가 되지 않기 때문에, 시이산 샘플과의 곱에 의한 윈도윙이 부동소수점 수로 이루어지므로 불리하다. 정수 시이산 샘플들이 윈도윙되었더라도 윈도윙 후에는 부동소수점 수가 된다.
따라서 음향심리학적 부호기가 사용되더라도, 즉 무손실 부호화가 이루어지더라도, 취급가능한 엔트로피 부호화를 합리적으로 실행하기 위해서는 수단들 (408 및 410) 의 출력에서 양자화가 필요하다.
일반적으로, 현재 공지된 무손실 오디오 및/또는 비디오 부호화를 위한 정수 변환은 사용되는 변환들을 기븐스 회전들로 분해하고 각 회전들에 대해 리프팅 기법을 적용함으로써 구해진다. 따라서 각 단계에서 라운딩 오차가 발생된다. 기븐스 회전들의 순차적인 단계에서 라운딩 오차는 누산된다. 결과의 근사 오차는 무손실 오디오 부호화를 시도할 때에 특히 문제가 되며, 특히 긴 변환이 사용될 때 문제가 된다. 예를 들어 오버랩과 가산 함수를 갖는 공지의 MDCT (변형 이산 코사인 변환) 의 경우에 1,024 개의 스펙트럼값들을 제공하는데 긴 변환이 사용된다. 특히 오디오 신호가 통상 매우 적은 양의 에너지를 갖는 고주파수 범위에서, 근사 오차가 실제 신호보다 급격하게 더 커질 수 있으며, 따라서 이러한 접근법은 무손실 부호화에 있어서 부호화 효율에 비해 특히 문제가 있다.
오디오 코딩에 대해, 정수 변환들, 즉 정수 출력값들을 발생시키는 변환 알고리즘들은 특히 DC 성분을 고려하지 않는 공지된 DCT-IV 를 기반으로 한다. 반면 이미지 응용을 위한 정수 변환들은 특히 DC 성분을 위한 조항 (provision) 들을 포함하는 DCT-II 를 일부 기반으로 한다. 이러한 정수 변환들에는 예를 들어, Proc. ICASSP'01, May 2001, pp. 1,181 - 1,184 에 기술된 Y. Zeng, G. Bi, 및 Z. Lin 의 "리프팅 인수분해 기반의 정수 정현 변환", Proc. ICASSP, 1998, VOL.3, pp. 1,769 - 1, 772 에 기술된 K. Komatsu 및 K. Sezaki 의 "가역 이산 코사인 변환", IEEE Trans. Signal Processing, vol. 49, pp. 2,314 - 2,324 에 기술된 P. Hao 및 Q. Shi 의 "가역 정수 매핑을 위한 행렬 인수분해", 및 Proc. ICASSP'03, Hongkong, April 2003 에 기술된 J. Wang, J. Sun, 및 S. Yu 의 "1차원 및 2차원 정수 대 정수 변환" 등이 있다.
상술한 바와 같이, 상기 정수 변환은 변환을 기븐스 회전들로 분해하고 공지의 리프팅 기법을 기븐스 회전들에 적용하는 것에 기반하고 있으며, 이는 누산 라운딩 오차들에 관한 문제가 있다. 즉, 특히 변환 내에서 라운딩이 여러 번 반복되어야만 하며, 특히 긴 변환에서는 그에 해당하는 많은 회수의 리프팅 단계가 소요되므로 특히 많은 회수의 라운딩이 있게 된다. 전술한 바와 같이, 매 리프팅마다 다음 리프팅 단계를 실행하기 위해 라운딩이 실행되므로, 결과로서 누산된 오차가 발생되고, 특히 상대적으로 복잡한 처리에서 발생된다.
이어서, DE 10129240 A1 에 기술된 바와 같이 MDCT 윈도윙의 분해가 도 9 내지 11 을 참조하여 다시 도해될 것이다. 여기서 완전한 정수 MDCT 근사를 구하기 위해, 즉 본 발명에 따른 정수 MDCT (IntMDCT) 를 구하기 위해, MDCT 윈도윙을 리프팅 행렬을 이용하여 기븐스 회전들로 분해하는 것은 도 1 에서 검토된 변환에 대한 개념과 도 2 에서 검토된 역변환에 대한 개념과 잘 결합될 수 있으며, 정방향 및 역방향 변환 개념은 MDCT 의 예로써 주어진다.
도 3 은 Int-MDCT 정수 변환 알고리즘이 동작하는 것을 기반으로 하여 정수값들을 구하기 위해 오디오 신호를 표시하는 시이산 샘플들을 처리하기 위한 본 발명의 바람직한 장치의 개략도를 도시한다. 시이산 샘플들은 도 3 에 도시된 장치에 의해 윈도윙되고, 임의로 스펙트럼 표현으로 변환된다. 변환 특히 정수 DCT 를 실행하기 위한 수단 (14) 을 이용하여 스펙트럼 표현으로 변환되기에 적합한 정수 윈도윙된 샘플들을 출력 (12) 으로 출력하기 위해, 상기 장치에 입력 (10) 으로 제공된 시이산 샘플들을 2N 개의 시이산 샘플들에 해당하는 길이를 갖는 윈도우 (w) 를 이용하여 윈도윙한다. 정수 DCT 는 MDCT 등식으로 인하여 2N 개의 윈도윙된 샘플들로부터 N 개의 스펙트럼 값을 발생시키는 도 6a 의 MDCT 함수 (408) 과는 대조적으로 N 개의 입력값들로부터 N 개의 출력값들을 발생시키도록 설계되었다.
시이산 샘플들을 윈도윙하기 위해, 처음 2 개의 시이산 샘플들이 시이산 샘플들의 벡터를 함께 표시하는 수단 (16) 에서 선택된다. 상기 수단 (16) 에서 선택된 시이산 샘플은 윈도우의 제 1 쿼터 내에 있다. 선택된 나머지 시이산 샘플은 도 5 를 참조하여 상세히 설명한 바와 같이, 상기 윈도우의 제 2 쿼터 내에 있다. 상기 수단 (16) 에 의해 생성된 벡터에는 2 x 2 회전 행렬이 제공되며, 이 연산은 직접 실행되지 않고 소위 수 개의 리프팅 행렬들에 의해 실행된다.
리프팅 행렬은 상기 윈도우 (w) 에 의존하며 1 또는 0 이 아닌 하나의 원소를 구비하는 특징을 갖고 있다.
리프팅 단계들에서 웨이브릿 변환들의 인수 분해는 1996년 루슨트 테크놀로지사 및 벨 연구소의 Ingrid Daubechies 및 Wim Sweldens의 "웨이브릿 변환들의 리프팅 단계들로의 인수분해" 에서 설명되었다. 일반적으로, 리프팅 기법은 동일한 저역통과 또는 고역통과 필터들을 갖는 완전 복구 필터쌍들 (perfectly reconstructing filter pairs) 사이의 단순한 관계이다. 상보적인 필터들 각 쌍은 리프팅 단계들로 인수분해된다. 이것은 특히 기븐스 회전들에 적용된다. 다상 행렬이 기븐스 회전인 경우를 살펴보자. 하기의 관계가 적용된다.
Figure 112006021457357-pct00001
상기 수학식 1 의 우변의 3 개의 리프팅 행렬들 각각은 주대각선 원소로 1 을 갖는다. 게다가, 각 리프팅 행렬에서, 비대각선 원소로는 0 과 회전 각도 α에 의존하는 원소값을 갖는다.
상기 벡터에 제 3 리프팅 행렬, 즉 상기 수학식 1 의 우변에서 가장 오른쪽에 있는 리프팅 행렬을 곱하여 제 1 결과 벡터를 구한다. 이것은 도 3 에서 수단 (18) 에 의해 도시된다. 이제, 도 3 의 수단 (20) 에 의해 도시된 바와 같이 실수 집합을 정수 집합으로 매핑하는 임의의 라운딩 함수를 이용하여 상기 제 1 결과 벡터를 라운딩한다. 수단 (20) 의 출력에서, 라운딩된 제 1 결과 벡터가 구해진다. 제 2 결과 벡터를 구하기 위해, 상기 라운딩된 제 1 결과 벡터에 이제 상기 수학식 1 의 우변의 가운데, 즉 2 번째 리프팅 행렬을 곱한다. 상기 제 2 결과 벡터를 수단 (24) 에서 다시 라운딩하여 라운딩된 제 2 결과 벡터를 구한다. 상기 라운딩된 제 2 결과 벡터에 상기 등식의 우변의 좌측에 표시된 리프팅 행렬, 즉 좌변 첫번째 행렬을 곱하여 제 3 결과 벡터를 구하기 위해 수단 (26) 에 제공된다. 상기 제 3 결과 벡터를 수단 (28) 에서 최종적으로 라운딩하여 최종적으로 정수 윈도윙된 샘플들을 출력 (12) 으로 구한다. 상기 출력 (12) 의 스펙트럼 표현을 원한다면 수단 (14) 으로 처리하여야 정수 스펙트럼값을 스펙트럼 출력 (30) 에서 구할 수 있다.
바람직하게는, 수단 (14) 은 정수 DCT 로서 실행된다.
길이 N 을 갖는 4형 (DCT-IV) 에 따른 시이산 코사인 변환은 하기 수학식에 의해 주어진다.
Figure 112006021457357-pct00002
DCT-IV 의 계수는 N x N 직교 행렬이다. N x N 직교 행렬 각각은 P. P. Vaidyanathan 의 "다중 레이트 시스템 및 필터 뱅크" Prentice Hall, Englewood Cliffs, 1993 에서 검토된 바와 같이 N (N-1)/2 기븐스 회전들로 분해될 수도 있다.
다양한 DCT 알고리즘들의 분류에 관하여, H. S. Malvar 의 "겹침 변환 (lapped transform) 을 이용한 신호 처리", Artech House, 1992 를 참조하라. 일반적으로, DCT 알고리즘들은 그들의 기본 함수들의 종류에 있어서 차이가 있다. 여기서 선호되는 DCT-IV 는 비대칭 기본 함수들, 즉 코사인 1/4 파, 코사인 3/4 파, 코사인 5/4 파, 코사인 7/4 파 등을 포함한다. 반면에, 상기 이산 코사인 변환은 예를 들어 2형 (DCT-II) 의 이산 코사인 변환은 축대칭 함수들 및 점대칭 함수들을 포함한다. 0차 기본 함수는 DC 성분을 갖고, 1차 기본 함수는 코사인 1/2 파이고, 2차 기본 함수는 코사인파이다. DCT-II 가 DC 성분을 중요시하기 때문에 비디오 부호화에 사용되지만, 비디오 부호화에 비해 오디오 부호화에서는 DC 성분이 중요하지 않기 때문에 오디오 부호화에는 사용되지 않는다.
이하에서는, 기븐스 회전의 회전 각도 α가 윈도우 함수에 의존하는 방식에 대해 검토해 보겠다.
2N 의 윈도우 길이를 갖는 MDCT 는 길이 N 의 4형 이산 코사인 변환으로 환원될 수도 있다. 이는 시간 도메인에서 TDAC 연산을 명시적으로 실행함으로써 이루어질 수 있다. 50 % 의 오버랩의 경우에, 블록 (t) 를 위한 윈도우의 좌측 절반이 선행 블록, 즉 블록 (t-1) 의 우측 절반과 오버랩된다. 2 개의 연속적인 블록들 (t-1 및 t) 의 오버랩 부분이 뒤이은 변환, 즉 도 3 의 입력 (10) 및 출력 (12) 사이에서 처리되는 과정에 앞서 시간 도메인에서 처리된다.
Figure 112006021457357-pct00003
상기 수학식 3 에서 틸데 (~) 로 표시된 값들은 도 3 의 출력 (12) 에서의 값들인 반면, 틸데가 표시되지 않은 x 값들은 입력 (10) 에서의 값들 및/또는 하기 선택 수단 (16) 에서의 값들이다. 실행 인덱스 (k) 는 0 내지 N/2-1 인 반면, w 는 윈도우 함수를 나타낸다.
윈도우 함수 (w) 에 대한 TDAC 조건은 하기와 같이 적용된다.
Figure 112006021457357-pct00004
특정 각도들 αk, k = 0, ..., N/2-1 에 대해서, 시간 도메인에서 이러한 전처리가 검토된 바와 같이 기븐스 회전으로 기술된다.
기븐스 회전의 각도 α는 하기와 같이 윈도우 함수 (w) 에 의존한다.
Figure 112006021457357-pct00005
이 TDAC 조건을 만족한다면 임의의 윈도우 함수들 (w) 이 채택될 수도 있음에 주의한다.
하기에서, 캐스캐이드 부호기 및 복호기는 도 4 를 참조하여 기술된다. 윈도우에 의해서 함께 윈도윙되는 시이산 샘플들 (x(0) 내지 x(2N-1)) 은 도 3 의 수단 (16) 에 의해 먼저 선택되어, 샘플 (x(0)) 및 샘플 (x(N-1)), 즉 윈도우의 제 1 쿼터로부터의 샘플 및 윈도우의 제 2 쿼터로부터의 샘플이 선택되어 수단 (16) 의 출력에서 벡터를 형성하도록 한다. 교차 화살표들은 상기 DCT-IV 블록들의 입력에서 정수 윈도윙된 샘플들을 구하기 위한 수단들 (18, 20 및 22, 24 및 26, 28) 의 리프팅 곱셈과 그 후의 라운딩을 각각 개략적으로 나타낸다.
상기 제 1 벡터가 상술한 바와 같이 처리되었을 때, 제 2 벡터가 상기 샘플들 (x(N/1-1) 및 x(N/2)), 즉 상기 윈도우의 제 1 쿼터로부터의 샘플 및 상기 윈도우의 제 2 쿼터로부터의 샘플 중에서 추가로 선택되어 다시 도 3 에서 설명된 알고리즘에 의해서 처리된다. 상기 윈도우의 제 1 및 제 2 쿼터들로부터의 모든 다른 샘플쌍들도 유사하게 처리된다. 상기 제 1 윈도우의 제 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 의 우측 절반에서 복호기가 도시된다. 역방향 변환 및 역 윈도윙으로 이루어지는 상기 복호기는 부호기와 역으로 동작한다. 시이산 오디오 샘플들 (x(0) 내지 x(2-N1)) 을 상기 정수 윈도윙된 샘플들로부터 수단 (34) 및/또는 선행 및 후행 변환의 출력에서 다시 발생시키기 위해, 도 4 에서 도시된 바와 같이, DCT-IV 의 역방향 변환을 위해 역 DCT-IV 가 사용될 수도 있는 것은 알려져 있다. 상기 복호기 DCT-IV (34) 의 출력값들은 선행 변환 및/또는 후행 변환의 해당 값들을 이용해 역으로 처리된다.
출력측 상의 동작은 역 기븐스 회전에 의해여 발생한다. 즉, 블록들 (26, 28, 및 22, 24 및 18, 20) 각각이 반대 방향으로 진행되게 된다. 이것은 수학식 1 의 제 2 리프팅 행렬을 참고하여 상세히 설명될 것이다. (부호기에서) 상기 제 2 결과 벡터는 상기 라운딩된 제 1 결과 벡터를 상기 제 2 리프팅 행렬 (수단 22) 과 곱하여 형성되며, 결과는 하기와 같이 표현된다.
Figure 112006021457357-pct00006
수학식 6 의 우변의 x, y 값은 정수이다. 그러나, x sinα 는 그러하지 아니하다. 여기서, 라운딩 함수 (r) 가 도입되어야 하며, 하기의 수학식으로 표현된다.
Figure 112006021457357-pct00007
이 연산은 상기 수단 (24) 에 의해 실행된다.
(복호기에서) 역 매핑은 하기와 같이 정의된다.
Figure 112006021457357-pct00008
라운딩 연산 앞의 음의 부호 때문에 리프팅 단계의 정수 근사가 오차 발생없이 역전될 수도 있다는 것은 명백해진다. 3 개의 리프팅 단계들 각각에 대한 이러한 근사의 적용은 기븐스 회전의 정수 근사를 도출한다. 라운딩된 회전 (부호기에서) 은 역 라운딩된 리프팅 단계들이 역순으로 진행됨으로써, 즉 도 3 의 알고리즘의 복호화는 아래에서 위로 진행됨으로써 오차 발생없이 역전될 수도 있다 (복호기에서).
라운딩 함수 r 이 점대칭이면, 역 라운딩된 회전은 라운딩된 각도 -α의 회전과 같으며, 이는 하기와 같이 표현된다.
Figure 112006021457357-pct00009
상기 복호기를 위한 리프팅 행렬, 즉 역 기븐스 회전을 위한 리프팅 행렬들은 이 경우에 수학식 1 에서 "sinα" 를 "-sinα" 로 단순히 치환함으로써 도출된다.
하기에서, 윈도우들 (40 내지 46) 의 오버랩을 이용한 통상적인 MDCT 의 분해는 도 5 를 참조하여 다시 설명된다. 윈도우들 (40 내지 46) 각각은 50 % 의 오 버랩을 갖는다. 먼저, 화살표 (48) 에 의해 개략적으로 도시된 바와 같이, 윈도우의 제 1 및 제 2 쿼터들 내에서 및/또는 윈도우의 제 3 및 제 4 쿼터들 내에서 윈도우마다 기븐스 회전이 실행된다. 그런 후, 상기 회전된 값들, 즉 상기 윈도윙된 정수 샘플들이 N-대-N DCT 에 제공되어 항상 윈도우의 제 2 및 제 3 쿼터들 및 뒤이은 윈도우의 제 4 및 제 1 쿼터들 각각이 DCT-IV 에 의해 함께 스펙트럼 표현으로 변환되도록 한다.
따라서 통상적인 기븐스 회전들은 순차적으로 실행되는 리프팅 행렬들로 분해될 수 있다. 여기서 각 리프팅 행렬의 곱셈 후에 라운딩 단계가 삽입되어 부동소수점 수들이 생성된 직후에 라운딩되어 결과 벡터가 리프팅 행렬과의 각 곱셈 전에 상기 결과 벡터는 정수들만을 갖게 된다.
따라서 상기 출력값들은 항상 정수값들로 남아있게 되며, 여기서 또한 정수 입력값들을 사용하는 것을 선호하게 된다. 이것은 제한을 나타내는 것은 아니다. 왜냐하면 임의의 바람직한 PCM 샘플들이 CD 상에 저장될 때와 같이 비트폭에 따라서 범위가 변하는, 즉 시이산 디지털 입력값들이 16 비트값인지 24 비트값인지에 따라 범위가 변하는 정수값들이기 때문이다. 그럼에도, 전체 프로세스는 상술한 바와 같이 역 회전들을 역순으로 실행함으로써 전도될 수 있다. 따라서 완전한 복구, 즉 무손실 변환을 이용한 MDCT 의 정수 근사가 존재한다.
상기 도시된 변환은 부동소수점 값들 대신 정수 출력값들을 제공한다. 그것은 완전 복구를 제공하여 정방향 변환 후 역방향 변환이 실행될 때 오차가 발생되지 않는다. 본 발명의 바람직한 실시예에 따르면, 상기 변환은 변환 이산 코사인 변환의 대체 변환이다. 다른 변환 방법들도 회전들로 분해될 수 있고 회전들이 리프팅 단계들로 분해될 수 있다면 정수들을 이용하여 실행될 수도 있다.
정수 MDCT 는 MDCT 의 가장 우수한 특징들을 갖고 있다. 오버랩 구조를 갖고 있으며, 그로 인해 비오버랩 블록 변환들보다 우수한 주파수 선택성을 갖는다. 상기 변환보다 선행하는 윈도윙에서 이미 고려된 TDAC 함수 때문에, 임계 샘플링이 유지되어 오디오 신호를 나타내는 스펙트럼값들의 전체 개수가 입력 샘플들의 전체 개수와 같도록 한다.
부동소수점 샘플들을 제공하는 통상적인 MDCT 에 비해 상술한 바람직한 정수 변환은 통상적인 MDCT 에 비해 노이즈가 신호 레벨이 매우 낮은 스펙트럼 범위에서만 증가하는 반면, 이러한 노이즈 증가는 신호 레벨이 상당한 스펙트럼 범위에서는 현저하지 않다. 그러나, 정수 처리는 효율적인 하드웨어 실행을 가능하게 한다. 왜냐하면 용이하고 신속하게 하드웨어로 실행되는 시프트/가산 단계들로 용이하게 분해되는 곱셈 단계들만 사용되기 때문이다. 물론, 소프트웨어 실행도 가능하다.
정수 변환은 오디오 신호의 우수한 스펙트럼 표현을 제공하고, 여전히 정수들의 영역에 남아 있다. 오디오 신호의 음조 부분에 적용되었을 때, 우수한 에너지 집중을 보인다. 이를 이용해 효율적인 무손실 부호화 기법은 단순하게 도 3 에 도시된 윈도윙/변환을 단순히 캐스캐이딩함으로써 실현된다. 특히, MPEG AAC 에서 채택된 바와 같이 이스케이프값들 (escape values) 을 이용하여 쌓인 부호화는 유리하다. 그들이 바람직한 부호표에 일치될 때까지 2 개의 특정 파워를 이용하여 모든 값들을 비율 축소시키고, 그런 후 부가적으로 생략된 가장 중요하지 않은 비 트들을 부호화하는 것이 바람직하다. 더 큰 부호표들을 사용하는 대안과 비교하였을 때, 기술된 대안은 부호표들을 저장하기 위해 소모되는 저장 용량의 관련하여 보면 기술된 대안이 더 바람직하다. 대부분의 무손실 부호기는 가장 중요하지 않은 비트들 중 하나를 단순히 생략함으로써도 얻어질 수 있다.
특히 음조 신호들의 경우에, 정수 스펙트럼값들의 엔트로피 부호화는 높은 부호화 이득을 가능하게 한다. 상기 신호의 일시적 부분들에 대해서, 즉 일시적 신호들의 평탄한 스펙트럼으로 인해, 다시 말하면 0 또는 0 에 가까운 소수의 스펙트럼값으로 인해 부호화 이득은 낮다. J. Herre, J. D. Johnston 의 "임시 노이즈 성형을 (TNS) 을 이용한 지각 오디오 부호기의 성능 향상" 101st AES Convention, Los Angeles, 1996, preprint 4384 에서 이러한 평탄함이 사용되었으나, 주파수 도메인에서의 선형 예측을 이용함으로써 사용되었다. 제 1 대안, 즉 개방 루프를 갖는 예측기를 TNS 라고 부른다. 예측 후의 양자화는 결과로서 양자화 노이즈가 오디오 신호의 임시 구조에 적응하게 하여 음향심리학적 오디오 신호기들에서 프리에코를 방지한다. 무손실 오디오 부호화에 대해서, 폐쇄 루프를 이용한 예측은 입력 신호의 정확한 복구를 가능하게 하기 때문에, 제 2 대안, 즉 폐쇄 루프를 갖는 예측기가 더욱 적합하다. 이러한 기술이 생성된 스펙트럼에 적용될 때, 정수들의 영역에 존재하기 위해서 라운딩 단계는 예측 필터의 매 단계 후에 실행되어야 한다. 역 필터 및 동일 라운딩 함수를 사용함으로써 원래 스펙트럼이 정확하게 재생될 수도 있다.
데이터 감소를 위해, 2 개의 채널들 사이의 중복을 이용하기 위하여, π/4 의 각도로의 라운딩된 회전이 사용된다면, 중심측 부호화도 무손실 방식으로 사용될 수도 있다. 스테레오 신호의 좌측 및 우측 채널의 합 및 차이를 계산하는 대안에 비해, 라운딩된 회전은 에너지 보존의 이익이 있다. 접합 스테레오 부호화 기술의 사용은 표준 MPEG AAC 에서도 실행된 바와 같이, 각 밴드에 대해 스위치 온 또는 오프된다. 또한, 회전 각들은 2 개의 채널들 사이의 중복을 더 유연하게 감소시킬 수 있는 것으로 간주될 수도 있다.
특히, 도 3 을 참조하여 설명된 변환 개념은 MDCT 의 정수 실행, 즉 IntMDCT 을 제공한다. IntMDCT 는 정방향 변환 및 뒤이은 역방향 변환에 대해 무손실로 동작한다. 라운딩 단계들 (20, 24, 및 28) 및 정수 DCT (도 3 의 블록 14) 내의 해당 라운딩 단계들에 의해 항상 가능한 정수 처리, 즉 예를 들어, 리프팅 행렬 (도 3 의 블록들 (18, 22 및 26)) 을 이용한 부동소수점 곱셈에 의해 생성된 때보다 더욱 대략적으로 양자화된 값들을 이용한 처리가 더 존재한다.
결과적으로, 전체 IntMDCT 는 계산에 대해 더욱 효율적으로 실행된다.
이러한 IntMDCT 의 무손실성은, 일반적으로 말하면 무손실이라 부르는 모든 부호화 알고리즘의 무손실성은 신호가 부호화된 신호로 부호화되고 그 후 신호가 부호화/복호화된 신호로 다시 복호화될 때 상기 신호는 정확히 원래의 신호와 같은 신호가 됨을 의미한다. 즉, 원래 신호는 부호화/복호화된 원래 신호와 동일하다. 이것은 소위 손실 부호화와 완전히 대조되는 것이며, 음향심리학적 기반에서 동작하는 오디오 부호기의 경우에, 데이터는 부호화 프로세스에 의해, 특히 음향심리학 적 모델에 의해 제어되는 양자화 프로세스에 의해 회복할 수 없게 손실된다.
물론, 라운딩 오차들은 여전히 발생된다. 따라서, 도 3 에 도시된 바와 같이, 블록들 (20, 24, 및 28) 에서 라운딩 단계들이 실행된다. 물론 역동작이 실행될 때 복호기에서 제거되는 라운딩 오차가 발생되는 것이다. 따라서, 무손실 부호화/복호화 개념은 라운딩 오차가 발생되어 다시 제거되야 하는 점에서 손실 부호화/복호화 개념과는 본질적으로 차이가 있다.
그러나, 부호화된 신호, 즉 부호기들을 변환하는 예에서, 한 블록의 임시 샘플들의 스펙트럼의 경우에, 정방향 변환 및/또는 일반적으로 그러한 신호의 양자화에서의 라운딩에서 신호에 오차가 발생한다. 따라서, 라운딩 오차는 신호의 이상적인 무오차 스펙트럼 상에 중첩되며, 상기 오차는 통상적으로 예를 들면, 고려대상인 스펙트럼 범위의 모든 주파수 성분을 동등하게 포함하는 화이트 노이즈이다. 따라서, 상기 이상적 스펙트럼 상에 중첩된 화이트 노이즈는 예를 들어, 윈도윙, 즉 블록 (14) 내의 실제 DCT 에 선행하는 신호의 전처리 동안에 블록들 (20, 24, 및 28) 내에서 라운딩에 의해 발생되는 라운딩 오차를 나타낸다. 특히, 무손실 요구 때문에, 전체 라운딩 오차는 반드시 부호화되어야 한다. 즉, 복호기에 전송되어야 한다. 왜냐하면, 복호기는 정확한 무손실 복구를 위해 전체 라운딩 오차를 요구하기 때문이다.
스펙트럼 표현이 되지 않을 때, 즉 정확히 역 복호기와 매칭시킴으로써 스펙트럼 표현이 다시 저장, 전송 및 복호만 될 때에는 라운딩 오차가 문제가 되지 않을 수 있다. 그 경우에, 무손실 기준은 상기 스펙트럼에 라운딩 오차가 얼마나 발 생하는지에 무관하게 항상 만족될 것이다. 그러나, 어떤 것은 스펙트럼 표현, 즉 라운딩 오차를 포함하는 원래 신호의 이상적 스펙트럼 표현을 이용하여 실행된다면, 예를 들어, 확장성 계층 (scalability layer) 이 생성되면, 이러한 모든 것들이 잘 동작하고, 라운딩 오차가 더 감소할 것이다.
따라서, 무손실 부호화/복호화에서 신호가 특정 복호기에 의해서 무손실 복구가능해야 하지만, 신호는 또한 비이상적 무손실 복호기에도 스펙트럼 표현 또는 확장 계층 (scaling layer) 이 제공되거나 생성될 수도 있기 때문에 유연성을 보유하기 위해 스펙트럼 표현에서 라운딩 오차를 또한 최소로 하도록 하는 요건이 있다.
상술한 바와 같이, 라운딩 오차는 고려 대상인 스펙트럼 전체에 걸친 화이트 노이즈로서 표현된다. 한편, 특히 고품질 응용에서, 예를 들면, 무손실을 특히 중요하게 생각하는 경우에, 즉 96 kHz 등과 같이 매우 높은 샘플링 주파수를 이용하는 오디오 응용에서 오디오 신호는 통상 기껏해야 20 kHz 까지에 이르는 특정 스펙트럼 범위에서 합리적으로 신호 내용 (signal content) 을 갖는다. 통상적으로, 오디오 신호의 대부분의 신호 에너지가 집중되는 범위는 0 내지 10 kHz 가 될 것이며, 10 kHz 를 넘는 범위에서는 신호 에너지가 상당히 감소될 것이다. 그러나, 라운딩에 의해 생성되는 화이트 노이즈에서는 중요하지 않다. 결과적으로 오디오 신호 에너지가 없거나 매우 적은 스펙트럼 범위, 즉 통상 높은 스페트럼 범위에서는 라운딩 오차만이 존재하게 된다. 동시에, 특히 라운딩 오차의 비결정적 본질 때문에 라운딩 오차는 부호화하기 매우 어렵다. 즉 라운딩 오차는 상대적으로 큰 비트 요건을 충족할 때만 부호화할 수 있다. 비트 요건은 결정적인 역할을 하지 않고, 특히 어떤 무손실 응용들에서는 결정적인 역할을 하지 않는다. 그러나, 무손실 부호화 응용들이 점점 확산됨에 따라, 비트에 효율적으로 동작하는 것이 매우 중요하고, 무손실 응용에 고유한 부재중 퀄리티 감소 (absent quality reduction) 의 이익을 손실 부호화 개념들로부터 공지된 해당 비트 효율과 결합하는 것이 매우 중요하다.
본 발명의 목적은 신호 처리에 대한 효율적인 개념을 제공하는 것이다.
이 목적은 청구범위 제 1 항에 따른 이산값들의 시퀀스를 갖는 신호를 처리하기 위한 장치, 제 18 항에 따른 이산값들의 시퀀스를 갖는 신호를 처리하기 위한 방법, 및 제 19 항에 따른 컴퓨터 프로그램에 의해 달성될 것이다.
본 발명은 특히 무손실 부호화/복호화의 콘텍스트 (context) 에서 라운딩 오차가 신호가 높은 신호 에너지를 갖는 부호화 대상 신호의 주파수 범위에서 순응하도록 스펙트럼 성형되는 것과 결과적으로 라운딩 오차가 신호가 에너지를 갖지 않는 범위에서 존재하지 않는다는 것을 발견하는데 기초를 두고 있다. 반면, 종래 기술에서는 라운딩 오차가 무손실 부호화, 특히 정수 알고리즘 기반 무손실 부호화에서 신호의 전체 스펙트럼 범위에 걸쳐 화이트 분포되어 있고, 본 발명에 따르면 라운딩 오차는 핑크 노이즈 형태로 즉, 라운딩으로 인한 노이즈 에너지는 신호가 최대 신호 에너지를 갖는 곳에 존재하고, 라운딩 오차로 인한 노이즈가 부호화될 신호가 자체로 에너지를 갖지 않는 곳에서 또한 아주 적거나 에너지가 없도록 이상적 스펙트럼 상에 중첩된다. 따라서 확률적 신호이기 때문에 부호화하기 어려운 라운딩 오차가 주파수 범위에서 부호화될 유일한 신호이어서 불필요하게 비트 레이트를 증가시키는 최악의 경우는 피할 수 있다.
에너지가 저주파수 범위에 있는 오디오 신호를 고려할 때, 라운딩을 위한 발명의 수단은 부호화된 신호가 고주파수일 때 신호 에너지나 노이즈 에너지가 모두 없도록 발생된 라운딩 오차의 스펙트럼 저역통과 성형을 하도록 설계되며, 라운딩 오차는 신호가 많은 에너지를 갖는 범위로 매핑된다.
이것은 특히 무손실 부호화 응용들에 대해서, 가청 범위 밖의 라운딩 오차를 얻기 위해 라운딩 오차가 스펙트럼 고역통과 필터링되는 종래 기술과 대조적이다. 이것은 라운딩 오차가 존재하는 스펙트럼 범위가 필터링되거나 귀에 의해서 라운딩 오차가 제거되는 경우에도 해당한다. 무손실 부호화/복호화에 대해서 라운딩 오차가 복호기에 명백하게 요구된다. 그렇지 않으면 무손실 부호화 알고리즘에 역인 복호기에서 사용된 알고리즘이 왜곡을 만들기 때문이다.
라운딩 오차의 스펙트럼 성형의 발명 개념은 완전하게 높은 샘플링 레이트를 갖는 무손실 응용에서 사용된다. 특히 스펙트럼 이론적으로 40 kHz 를 넘는 경우에 (오버샘플링 때문에), 동일 상황이 고주파수 범위에서 이루어지고, 여기서 신호 에너지는 없으며, 부화화는 신호 에너지가 고주파수 범위에서 또한 0 인 비정수 부호화 경우와 같이 매우 효율적으로 이루어진다.
많은 수의 영점들은 매우 효율적으로 부호화되고, 부호화에 문제가 되는 라운딩 오차는 통상 매우 세밀하게 부호화되는 범위로 이동되어, 따라서 신호의 전체 데이터 레이트는 라운딩 오차가 전체 주파수 범위에 걸친 화이트 노이즈로서 분포되어 있는 경우에 비해 감소된다. 또한, 부호화 성능 및 여기서는 복호화 성능이 향상된다. 왜냐하면 고주파수 범위의 부호화 및 복호화를 위해 컴퓨팅 시간이 소요되지 않기 때문이다. 따라서, 발명의 개념은 또한 부호화의 부분 및/또는 복호화의 부분에서 더 빠른 신호 처리를 달성하게 된다.
본 발명의 바람직한 실시예에서, 근사 오차를 성형/감소의 발명의 개념은 가역 정수 변환들, 특히 IntMDCT 에 적용된다. 응용에는 2 가지 영역이 있다. 즉, MDCT 는 필요한 라운딩 단계들에 대해서 다차원 리프팅을 이용하여 상당히 단순화되는 다차원 리프팅 영역, 및 실제 DCT 에 선행하는 전처리에서 발생하는 정수 윈도윙에서 요구되는 라운딩 동작들 영역이다.
본 발명에 따르면, 오차 피드백 개념은 라운딩 오차의 스펙트럼 성형을 위해 이용되고, 라운딩 오차는 본 발명에 따르면, 처리되는 신호가 최고의 신호 에너지를 갖는 주파수 범위로 이동된다. 오디오 신호들에 대해서, 특히 비디오 신호들에 대해서도, 이것은 저주파수 범위에 있을 것이며, 따라서 오차 피드백 시스템은 저역통과 특성을 갖는다. 이것은 통상 더 적은 신호 성분들이 존재하는 고주파수 범위에서 라운딩 오차가 더 적어지는 결과를 나타낸다. 종래 기술에서, 라운딩 오차는 고주파수 범위에서 우세하며, 반드시 부호화되어야 하며, 따라서 부호화에 필요한 비트들의 수가 증가한다. 본 발명에 따르면, 이러한 라운딩 오차는 더 높은 주파수들에서 감소하며, 이것은 부호화에 필요한 비트들의 수를 감소시킨다.
본 발명의 바람직한 실시예들은 첨부된 도면들을 참조하여 하기에서 더 상세히 설명될 것이다.
도 1 은 이산값의 시퀀스를 갖는 신호를 처리하기 위한 발명의 개념도이다.
도 2a 는 양자화 오차를 고역통과 스펙트럼 성형하기 위한 공지의 개념도이다.
도 2b 는 본 발명에 따른 라운딩 오차를 저역통과 성형하기 위한 개념도이다.
도 2c 는 본 발명의 바람직한 실시예에 따른 스펙트럼 성형/라운딩 블럭에 대한 블록 회로도이다.
도 3 은 정수 스펙트럼값들이 결정되는 정수들을 구하기 위해 시이산 오디오 샘플들을 처리하는 바람직한 수단의 블록 회로도이다.
도 4 는 MDCT 와 역 MDCT 가 기븐스 회전들 및 2 개의 DCT-IV 동작들로 분해되는 것을 도시한 개념도이다.
도 5 는 50 % 의 오버랩을 갖는 MDCT 가 회전들 및 DCT-IV 동작들로 분해되는 것을 도시한 개념도이다.
도 6a 는 MDCT 및 50 % 오버랩을 갖는 공지의 부호기의 개략적인 블록 회로도이다.
도 6b 는 도 10a 에 의해서 발생되는 값들을 복호화하는 공지의 복호기의 블록 회로도이다.
도 7 은 도 3 에 따른 윈도윙에서의 리프팅을 도시한다.
도 8 은 실제 변환에 선행하는 윈도윙을 위해 도 7 의 리프팅이 요청된 도면이다.
도 9 는 도 3, 7 및 8 에 도시된 윈도윙에 대한 본발명의 응용을 도시한다.
도 10a 내지 10c 는 본 발명의 바람직한 실시예에 따른 변환 장치의 블록 회로도이다.
도 11 은 본 발명의 바람직한 실시예에 따른 역변환 장치를 도시한다.
도 12 는 본 발명에서 사용될 수 있는 2 개의 순차 블록들의 값의 변환을 도시한다.
도 13 은 정방향 변환 행렬을 이용한 다차원 리프팅 단계를 상세히 도시한다.
도 14 는 역방향 변환 행렬을 이용한 다차원 역리프팅 단계를 도시한다.
도 15 는 본 발명에 따라 길이 N 의 DCT-IV 를 길이 N/2 인 2 개의 DCT-IV로 분해하는 것을 도시한다.
도 16 은 도 10 의 다차원 리프팅을 이용한 변환에서의 응용을 도시한다.
도 17 은 2 개의 연속적인 리프팅 단계를 도시한다.
도 18 은 도 17 의 2 개의 연속적인 리프팅 단계에서 라운딩 오차를 감소시키기 위한 개념도이다.
도 19 는 도 18 의 개념과 도 16 의 개념을 결합한 것을 도시한다.
도 1 은 신호 입력 (200) 을 거쳐 조작 수단 (202) 에 입력되는 이산값들의 시퀀스를 갖는 신호의 처리를 위한 장치를 도시한다. 신호는 통상 신호가 제 1 에너지(높은 에너지)를 갖는 제 1 주파수 범위 및 신호가 제 1 에너지보다 낮은 제 2 에너지(낮은 에너지)를 갖는 제 2 주파수 범위를 갖도록 형성된다. 상기 신호가 오디오 신호이면, 제 1 주파수 범위, 즉 저주파수 범위에서 높은 에너지를 가질 것이고, 고주파수 범위에서 낮은 에너지를 가질 것이다. 상기 신호가 비디오 신호이면, 저주파수 범위에서 높은 에너지를 가지고, 고주파수에서는 낮은 에너지를 가질 것이다. 오디오 신호와는 대조적으로, 임시 주파수, 예를 들어 연속 프레임들 내에서 선택된 이미지 영역과 관련된 임시 주파수가 존재하는 연속하는 비디오 프레임들이 고려되지 않는다면, 비디오 신호 내의 주파수 범위는 공간 주파수 범위이다.
조작 수단 (202) 은 일반적으로 이산값들의 시퀀스를 조작하기 위해, 적어도 하나의 조작값이 정수가 아닌 조작값들의 시퀀스를 얻기 위해 형성된다. 이러한 비정수 이산값들의 시퀀스는 라운딩되고 조작값들의 시퀀스를 얻기 위해 조작값들의 시퀀스를 라운딩하기 위한 수단 (204) 에 제공된다. 본 발명에 따르면, 라운딩 수단 (204) 은 라운딩에 의해 발생된 라운딩 오차의 스펙트럼 성형을 실행하기 위해, 제 1 주파수 범위, 즉 원래 신호가 높은 에너지를 갖는 주파수 범위에서, 스펙트럼 성형된 라운딩 오차도 제 1 에너지(높은 에너지)를 갖도록, 그리고 제 2 주파수 범위, 즉 원래 신호가 제 2 에너지 (낮은 에너지)를 갖는 주파수 범위에서, 스펙트럼 성형된 라운딩 오차도 낮은 에너지 또는 에너지가 없도록 형성된다. 일반적으로, 제 1 주파수 범위에서 스펙트럼 성형된 라운딩 오차의 에너지는 따라서 제 2 주파수 범위 내의 스펙트럼 성형된 라운딩 오차의 에너지보다 높다. 그러나, 스펙트럼 성형은 라운딩 오차의 전체 에너지에서 아무 것도 바람직하게 변경하지 못한다.
바람직하게는, 라운딩된 조작값들의 오차를 포함하는 시퀀스를 발생시키기 위한 발명의 장치는 직접 또는 부가의 조작 또는 라운딩 결합들을 통해 스펙트럼 표현으로 변환시키기 위한 수단 (206) 과 결합된다. 따라서, 라운딩된 조작값들의 오차를 포함하는 시퀀스는 라운딩된 조작값들의 오차를 포함하는 시퀀스의 직접 스펙트럼 (direct spectrum) 을 구하기 위해 스펙트럼 표현으로 변환시키기 위한 수단 (206) 으로 직접 제공될 수도 있다.
그러나, 본 발명의 바람직한 실시예에서, 조작 수단은 리프팅 단계 및/또는 리프팅 행렬이고, 라운딩 수단은 리프팅 단계의 비정수 결과들을 라운딩하기 위해 형성된다. 이 경우에, 수단 (204) 은 제 2 리프팅 단계를 실행하기 위한 부가의 수단이 뒤따르며, 차례로, 라운딩 수단이 뒤따르며, 제 3 리프팅 단계를 실행하기 위한 제 3 수단이 뒤따르며, 여기서 3 개의 리프팅 단계들이 실행되기 위해 다른 조작이 있다. 따라서, 수단 (204) 의 출력에서 라운딩된 조작값들의 오차를 포함한 원래의 시퀀스로부터 유도된 라운딩된 조작값들의 오차를 포함한 시퀀스가 생성되며, 이것은 바람직하게는 정수 변환에 의해, 특히 바람직하게는 블록 (206) 에 의해 설명된 발명의 개념이 제공된 정수 변환에 의해 최종적으로 스펙트럼 표현으로 변환된다. 블록 (206) 의 출력에서 스펙트럼 표현의 출력 신호는 이제 종래 기술과는 달리 화이트 분표된 라운딩 오차를 더 이상 갖지 않고 스펙트럼 성형된 라운딩 오차를 갖는다. 그래서 신호 에너지가 없는 주파수 범위들에서 라운딩 오차 에너지가 없는 좋은 경우에도 유용한 스펙트럼이 높은 신호 에너지를 갖는 곳에서 는 높은 라운딩 오차 에너지가 존재한다.
본 발명에 따라 생성된 스펙트럼은 이제 스펙트럼 표현의 엔트로피 부호화를 위한 수단 (208) 에 제공된다. 엔트로피 부호화를 위한 수단은 Huffman 부호화, 산술 부호화 등과 같은 임의의 부호화 방법을 포함할 수 있다. 특히, 영점 또는 경계치인 다수의 스펙트럼선들을 부호화하기 위해서, 물론 각각의 스펙트럼값들은 완전하게 서로 상관이 없기 때문에, 화이트 스펙트럼을 가져서 어떤 종류의 부호화 툴에도 특히 바람직하지 않는 주파수 범위에서 실제로 결정적인 신호가 반드시 부호화되어야 하기 때문에 종래 기술에서는 적용되지 않았지만, 런 렝스 부호화 (run length coding) 도 적합하다.
계속하여, 스펙트럼 성형을 이용한 라운딩 수단 (204) 의 바람직한 실시예는 도 2a, 2b, 및 2c 를 참조하여 검토된다.
도 2a 는 "Digitale Audiosignalverarbeitung", U. Zoelzer, Teubner-Verlag, Stuttgart, 1997 에서 기술된 바와 같이 양자화 오차의 스펙트럼 성형을 위한 공지된 오차 피드백 시스템을 도시한다. 입력값 x(i) 은 입력 가산기 (210) 에 제공된다. 가산기 (210) 의 출력 신호는 스펙트럼 성형 장치의 출력에서 양자화된 출력값 y(i) 를 제공하는 양자화기 (quantizer) (212) 에 제공된다. 제 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) 의 저역 통과 범위로부터 양자화 오차를 마스킹하는데 이용되어 양자화 오차가 감지되지 않는다.
본 발명에 따르면, 도 2b 에서 도시된 바와 같이, 인지 범위 밖이 아니고 바로 인지 범위 안으로 오차의 스펙트럼 성형을 하는 대신에 저역 통과 수치 계산이 실행된다. 이를 위해, 가산기 (210) 의 출력 신호는 도 2b 에서 도시된 바와 같이 어떤 라운딩 함수, 예를 들어 라운딩 업, 라운딩 다운, 버림에 의한 라운딩, 또는 바로 다음 숫자, 또는 2번째 다음 숫자, 또는 3 번째 다음 숫자 등에 대한 라운딩 업/라운딩 다운을 실행하는 라운딩 블록 (218) 에 제공된다. 오차 피드백 경로, 즉 가산기 (214) 와 가산기 (210) 사이에 상기 지연 수단 (216) 뿐만 아니라 임펄스 응답 h(n) 및/또는 이송 함수 (transfer function) 를 갖는 피드백 블록 (220) 이 존재한다. 출력 시퀀스의 z-변환, 즉 Y(z) 는 도 2b 에 도시된 식을 통해 입력 시퀀스 X(z) 와 연관되어 있다.
e(n) = y(n) - x′(n)
상기 등식에서, x′(n) 는 가산기 (210) 의 출력 신호이고, y(n) 은 라운딩 블록 (218) 로부터의 출력 신호이다.
또한, 하기의 등식이 적용된다.
y(n) = round (x′(n))
상기 등식에서, round 는 블록 (218) 에 의해 실행되는 라운딩 함수를 나타낸다. 또한 하기의 식에서 * 는 콘벌루션 연산 (convolution operation) 을 나타낸다.
x′(n) = x(n) - h(n) * e(n-1)
Z 범위에서 결과는 하기와 같다.
Y(z) = X′(z) + E(z)
X′(z) = X(z) - E(z) z-1 H(z)
Y(z) = X(z) + (1 - z-1 H(z)) E(z)
E(z) 는 라운딩 오차이기 때문에, 필터 (1 - z-1 H(z)) 에 의해 스펙트럼 성형된다. 본 발명에 따르면, 이제 저역 통과-유사 이송 함수 (low pass-like transfer function) 가 사용된다. 가장 단순한 저역 통과-유사 이송 함수는 예를 들어 H(z) = -1 로 설정되었을 때 구해진다. 이러한 단순한 예에서, 이전 라운딩 연산의 라운딩 오차가 다음 라운딩 연산이 행해지기 전에 라운딩될 값에 단순히 더해진다. 따라서, 본 발명에 대해 매우 효율적이며, 바람직한 라운딩 오차의 단순한 저역 통과 필터링이 이루어진다.
실행은 도 2c 에 도해되어 있다. 특히, 정수 이산값들의 원래 시퀀스를 조작하기 위한 수단 (202) 이 도시되어 있으며, 이 수단은 비정수 이산값들 y0, y1, y2, ..., yi 의 시퀀스를 출력측에 제공한다. 이제, 종래 기술과 대조적으로 각 값은 더 이상 예를 들어, 도 3 의 블록들 (20, 24, 및 28), 도 10c 의 블록들 (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 가 계산된다. 그런 후, 상기 라운딩 오차 i0 는 블록 (220) 에 의해 바람직하게는 -1 인 이송 함수 H(z) 을 이용하여 가중되고 (필터링되고), 가산기 (210) 에 제공된다. 이러한 필터링된 라운딩 오차는 시퀀스 yi 의 그 다음 값에 가산되고, 상기 가산기 (210) 의 결과는 블록 (218) 에서 라운딩되어, 라운딩된 다음값 [y1] 을 얻는다. 이어서, 상기 라운딩된 오차는 가산기 (214) 에 의해 다시 결정되고, 즉 라운딩된 값 [y1] 및 원래 값 y1 을 이용하여 다시 결정되고, 여기서 구한 라운딩 오차 i1 은 다시 블록 (220) 에서 필터링되어 시퀀스의 그 다음값 y2 에 대한 동일 과정을 실행한다.
이 때, 방향은 상관없음에 주의한다. 이것은 더 큰 인덱스를 갖는 yi 로부터 더 적은 인덱스를 갖는 yi 로 처리하는 것이 가능하는 것을 의미한다. 즉, 블록 (220) 으로부터 가산기 (210) 에 이르는 도 2c 에 도시된 화살표들에 의해 특히 기호화된 것과 반대 방향으로 실행하는 것을 의미한다. 그 순서, 즉 과정이 시퀀스 인덱스가 낮은 쪽에서 높은 쪽으로 또는 높은 쪽에서 낮은 쪽으로 진행되는 여부가 중요하지 않다.
특히, 정수 MDCT (IntMDCT) 의 응용의 경우에, 라운딩 오차의 스펙트럼 성형이 하기의 조건들을 만족하는 곳에서 특별한 효율을 갖고 바람직하게 이용된다.
- 라운딩 오차는 수 개의 서로 독립적인 인접한 값들에서 가산된다.
- 인접한 값들 (넓은 의미에서) 은 변환, 즉 주파수 도메인으로의 변환에 의해 더 늦게 스펙트럼 표현으로 변환되는 시간 신호들이다.
하기에서, 정수 MDCT 의 어느 부분에서 라운딩 오차의 스펙트럼 성형이 바람직하게 이용되는지 더 자세하게 설명된다.
제 1 바람직한 실시예는 실제 변환, 즉 블록들 (20, 24, 및 28) 에 의해 도 3 에 명시된 라운딩을 위한 변환에 선행하는 윈도윙에 존재한다. 원래의 샘플 각각에 실행되고, 도 3 에 개략적으로 도시된 리프팅 연산은 도 7 에서도 도시된다. 여기서, 3 개의 리프팅 행렬들의 적용은, 즉 샘플에 대한 인수에 의해 각각의 곱셈이 샘플마다 도해되어, 결과는 상단에서 하단으로, 하단에서 상단으로 , 및 상단에서 하단으로의 시퀀스이다.
도 7 내의 표시에 대해서, 화살표가 수평선과 만날 때, 가산이 실행되는 것을 주의한다. 그러한 가산은 예를 들어 도 7 에서 27 로 표시된다. 도 4 를 도 7 과 비교할 때, 차이점은 도 4 에서의 x(0) 가 도 7 의 x1 에 해당한다는 것이다. 이러한 관점에서, 도 7 의 xN 은 도 4 의 x(N-1) 에 해당한다. 그러나, 도 4 의 x(N/2-1) 은 도 7 의 xN /2 에 해당한다. 또한 도 4 의 x(N/2) 는 도 7 의 xN /2+1 에 해당하여, 리프팅 단계들에 따라서 결과는 버터플라이들 (butterflies) 이다. 이러한 버터플라이들에 의해 도 2 에서 도시된 윈도우의 제 1 쿼터로부터의 하나의 값이 상기 윈도우의 제 2 쿼터로부터의 하나의 값에 의해 가중되고, 또한 유사하게 도 7 에서 도시된 바와 같이, "다운-업-다운 시스템" 에 의해서 상기 윈도우의 제 3 쿼터의 하나의 값이 상기 윈도우의 제 4 쿼터의 하나의 값으로 처리된다.
한 쌍의 값들 xN /2 및 xN /2+1 에 대해 대응하는 과정이 있다. 다시 다운-업-다운 시퀀스가 다시 있으며, 여기서 다운 단계 (29a) 는 업 단계 (29b) 가 뒤따르며, 차례로 다운 단계 (29c) 가 뒤따른다.
도 7 은 리프팅에 의한 정수 윈도윙을 도시한다. 이 계산은 또한 도 8 에서 도시된 바와 같이 결과를 변경하지 않고 용이하게 재분류될 수 있다. 따라서, 모든 다운 방향 단계들 (모든 단계들 29a) 이 먼저 실행될 수 있다. 그런 후, 모든 업 방향 단계들 (29b) 이 실행되고, 최종적으로 모든 다운 방향 단계들 (29c) 이 실행되어, 결과는 다운 방향 블록 (31a), 업 방향 블록 (31b), 및 다시 다운 방향 블록 (31c) 이 된다. 본 발명을 이해하기 위해 더욱 적합한 또다른 설명을 제외하고 도 8 이 도 7 에 대응하는 것에 주의한다.
도 9 는 이제 발명의 라운딩이 스펙트럼 성형을 이용한 라운딩을 위해 실행되는 발명의 개념을 도시한다. 도 9 에서 도시된 리프팅 계산 개념은 입력값들 (x1, xN /2) 이 입력 (200) 에서 정수 이산값들의 원래의 시퀀스를 나타낸다는 점에서 도 1 에 대응한다. 다운 블록 (31a) 내의 계산 블록들 (cs1, cs2, ..., csk) 은 조작 수단 (202) 을 함께 형성한다. [.]/노이즈성형이라고 표시된 블록은 도 1 의 라운딩 수단 (204) 을 나타낸다. 라운딩된 조작값들의 오차를 포함한 시퀀스는 이제 이 블록 (204) 의 출력에서 결과로 나타난다.
도 9 에서 도시된 실시예에서, 라운딩된 조작값들의 오차 포함 시퀀스는 다른 시퀀스 (xN /2+1 내지 xN) 에 가산되어 정수 이산값들의 새로운 시퀀스를 얻게 되며, 차례로 (업 블록 (31b) 내의 블록들 (s1 및 sk) 에 의해서) 조작되어 다시 요소 (204b) 에 의해서 업 블록 (31b) 에서 발명의 라운딩을 실행하게 된다. 그런 후, 다운 블록 (31a) 에서와 같이, 즉 가산기 (205a) 의 경우에서와 같이, 값 가산기 (value-wise adder) (205b) 에 다시 제공되어, 차례로 조작기 (manipulator) (202c) 에 제공되고, 상기 조작기 (202c) 의 출력 신호가 비정수이고 다른 라운더 (204c) 에서 라운딩되고, 차례로 다른 가산기 (205c) 에 의해서 가산되어 조작기 (202b) 에 제공되는 새로운 시퀀스를 얻게 된다.
도 9 에 도시된 실시예에서 출력측 상의 결과는 도 4 를 참조하여 도해된 개략적 기법에 따라서 이동된 DCT-IV 블록들에 제공되는 윈도윙된 샘플들의 블록이다. 이렇게 이동된 DCT 블록들은 라운딩된 조작값들의 오차 포함 시퀀스를 스펙트럼 표현으로 변환하는 변환을 제공한다. 따라서, 도 4 의 DCT-IV 블록들은 도 1 의 수단 (206) 의 실행을 나타낸다. 유사하게, 역 정수 DCT-IV 를 실행하기 위한 블록들은 임시 표시로 변환하기 위한 유사한 수단을 나타낸다.
계속해서, 도 10a 의 스펙트럼 표현 (206) 로 변환하기 위한 수단의 정수 실행 및/또는 역 변환의 유사한 정수 실행을 나타내기 위하여 다차원 리프팅의 응용에 대해서 도 10 내지 15 를 참조하여 검토된다. 다차원 리프팅의 개념은 독일 특허 출원 번호 10331803.8 에 기재되어 있다.
도 10a 는 이산값들을 정수값들을 이용하여 변환된 표시로 변환하기 위한 장치를 도시한다. 이산값들은 제 1 입력 (100a) 을 경유하고 제 2 입력 (100b) 을 경유하여 상기 장치에 제공된다. 이산값들의 제 1 블록은 입력 (100a) 을 경유하여 제공되고, 이산값들의 제 2 블록은 입력 (100b) 을 경유하여 제공된다. 이산값들은 오디오 데이터 또는 이미지 데이터 및/또는 비디오 데이터를 나타낸다. 하기에서 검토되는 바와 같이, 이산값들의 제 1 블록 및 이산값들의 제 2 블록은 실제로 2 개의 오디오 샘플들의 임시의 연속 블록들을 포함한다. 이산값들의 제 1 및 제 2 블록은 또한 이산값들 및/또는 예측 후의 잔여값들 또는 다른 부호화에서의 차이값들에 의해 표시된 2 개의 이미지들을 포함한다. 택일적으로, 이산값들의 2 개의 블록들을 MDCT 의 정수 실행 등과 같은 전처리를 할 수 도 있다. 여기서 이산값들의 제 1 및 제 2 블록은 실제 윈도윙된 샘플들로부터 기븐스 회전에 의해 발생된다. 따라서, 이산값들의 제 1 및 제 2 블록은 원래의 오디오 데이터 또는 이미지 데이터로부터 회전들, 퍼뮤테이션들 (permutations), 플러스/마이너스 버터플라이들, 스케일링 등과 같은 처리에 의해 유도될 수 있다. 또한, 비록 이산값들의 제 1 및 제 2 블록이 직접 오디오 샘플링되거나, 이산화된 이미지값들이 아니더라도, 오디오 정보 및/또는 이미지 정보를 얻는다.
도 10a 에 도시된 바와 같이 이산값들의 제 1 블록은 입력 (100a) 을 경유하여 제 1 변형 규칙을 이용하여 이산값들의 제 1 블록을 처리하기 위한 수단 (102) 에 제공되어 수단 (102) 의 출력에서 변환된 값들의 제 1 블록을 얻는다. 이러한 변환된 값들의 제 1 블록은 푸리에 변환, 라플라스 변환, FFT, DCT, DST, MDCT, MDST, 또는 임의의 기본 함수들을 이용한 파형 변환을 하는 다른 변환 등과 같은 변환 규칙에 의해 통상적으로 구해지는 값들에서와 마찬가지로 통상 정수가 아니며, 부동 소수점 값들을 포함한다. 변환된 값들의 제 1 블록을 변환된 값들의 제 1 블록을 라운딩하기 위한 수단 (104) 에 제공하여 라운딩된 변환값들의 제 1 블록을 출력측에서 얻는다. 라운딩 수단은 부동소수점 값에 의존하여 수행되는 버림 또는 라운딩 업 및/또는 라운딩 다운에 의한 라운딩 등과 같은 어떤 라운딩 함수를 실행하기 위해 형성된다.
따라서, 변환되어 라운딩된 값들의 제 1 블록은 수단 (104) 에 의해 실행되는 라운딩 규칙에 의해 비롯되며, 이러한 라운딩된 변환값들은 상기 수단 (104) 에 의해 사용되는 라운딩 규칙에 의해 정확도가 결정되는 정수값만으로 다시 구성된다. 제 2 입력 (100b) 에 적용되는 이산값들의 제 2 블록과 마찬가지로 라운딩된 변환값들의 제 1 블록은 가산된 값들의 제 2 블록을 구하기 위해 가산 수단 (106) 에 제공된다. 오디오 신호의 예가 고려될 때, 라운딩된 변환값들의 제 1 블록으로부터의 스펙트럼 값들이 상기 수단 (106) 에 의해 이산값들의 제 2 블록으로부터의 시간 값들에 가산되는 것은 명백하다. 제 2 블록의 이산값들이 예를 들어, 전압 값들인 경우에, 라운딩된 변환값들의 제 1 블록이 또한 전압 진폭, 즉 단위가 V 인 값으로서 존재하는 것이 바람직하다. 이 경우에, 가산 과정에서 단위 문제들이 예상되지 않는다. 그러나, 본 기술 분야의 통상의 지식을 가진 자에게는 임의의 단위 정규화 (unit normalization) 가 변환되어 라운딩된 값들의 제 1 블록 및/또는 이산값들의 제 2 블록을 이용하여 수행될 수도 있다는 것은 자명하다. 여기서 변환되어 라운딩된 값들의 제 1 블록 및 이산값들의 제 2 블록은 예를 들면 단위가 없다.
변환된 값들의 제 2 블록을 구하기 위해, 가산된 값들의 제 2 블록이 제 2 변환 규칙을 이용하여 가산된 값들의 제 2 블록을 처리하기 위한 수단 (108) 에 제공된다. 수단 (102) 에서 이용된 변환 규칙은 예를 들어, 시간-주파수 변환 규칙이라면, 블록 (108) 에서 이용된 제 2 변환 규칙은 예를 들면, 주파수-시간 변환 규칙이다. 그러나, 이러한 관계들은 또한 역전될 수도 있으며, 따라서 이산값들의 제 1 및 제 2 블록은 예를 들어, 스펙트럼 값들이고, 시간 값들은 상기 변환 규칙에 따라 처리하기 위한 수단 (102) 에 의해 구해지며, 스펙트럼 값들은 역 변환 규칙에 따라 처리하기 위한 수단 (108) 에 의해 다시 구해진다. 따라서, 상기 제 1 및 제 2 변환 규칙은 정방향 또는 역방향 변환 규칙일 수 있으며, 이 때 역 변환 규칙은 각각 역방향 변환 규칙 또는 정방향 변환 규칙이다.
출력 (114) 에서 출력될 수도 있는 변환된 표시의 정수 출력값들의 블록을 구하기 위해 제 1 입력 (108a) 을 경유하여 제공되는 이산값들의 제 1 블록에서 라운딩된 변환값들의 제 2 블록을 감산하기 위해 감산 수단 (112) 에 최종적으로 제공되는 라운딩된 변환값들의 제 2 블록을 구하기 위해, 변환값들의 제 2 블록이 도 10a 에 도시된 바와 같이 라운딩 수단 (110) 에 제공된다. 상기 수단 (102) 에서도 사용되는 임의의 제 3 변환 규칙 또는 그와 다른 임의의 제 3 변환 규칙을 이용하여 변환된 표시의 정수 출력 값들의 블록을 처리하고, 변환된 출력값들의 라운딩된 값들의 블록을 구하기 위해 변환된 출력값들의 블록을 라운딩하고, 변환된 출력값들의 라운딩된 값들의 블록과 가산된 값들의 제 2 블록을 가산하여, 변환된 표시의 정수 출력값들의 블록이 더 구해져서, 출력 (114) 에 적용된 정수 출력값들의 블록을 이용하여 이산값들의 제 1 및 제 2 블록의 완전한 변환된 표시를 제공한다.
그러나, 출력 (114) 에서 변환된 표시의 정수 출력 값들의 블록이 이용되는 처리, 라운딩, 및 가산의 마지막 3 개의 단계 없이도, 전체 변환된 표시의 일부분, 즉 예를 들어, 역 처리를 하게 될 때, 이산값들의 제 1 및 제 2 블록의 역 계산을 허용하는 전반이 이미 구해진다. 변환 규칙에 따르면, 제 1, 제 2, 및 제 3 변환 규칙은 존재한다면 동일할 수도 있다는 사실에 주의한다. 이것은 예를 들어 DCT-IV 를 이용하는 경우이다. FFT 가 제 1 변환 규칙으로 이용되면, FFT 와 동일하지 않은 IFFT 가 제 2 (역) 변환 규칙으로 이용될 수 있다.
계산의 편의를 위해, 행렬 형태의 변환 법칙을 제공하는 것이 선호된다. 제 1 블록의 이산값들의 개수가 N 이고, 제 2 블록의 이산값들의 개수가 N 으로 서로 동일하면, N x N 2차 행렬이 된다.
일 실시예에서, 라운딩 수단들 (104 및 110) 은 도 10a 에서 도시된 함수들을 실행하는 컴퓨터 본래의 기계적 정밀도보다 낮은 정밀도로 라운딩된 결과를 제공하는 라운딩 함수에 따라서 라운딩되도록 형성된다. 하나의 바람직한 실시예에서는 라운딩 함수는 비정수를 인접한 크거나 작은 정수로 매핑하는 것에 주의한다. 라운딩 함수가 라운딩되는 수의 정확도를 감소시키는 한, 라운딩 함수는 또한 다른 정수들 상으로 매핑할 수도 있다. 예를 들면, 17.7 을 10 또는 20 으로 매핑할 수도 있다. 상기 예에서, 라운딩되지 않은 수는 소수점 아래의 하나의 숫자를 갖고 있으나, 라운딩된 값은 소수점 아래에 더이상 숫자를 갖지 않는다.
도 10a 에서, 제 1 변환 법칙을 이용한 처리를 위한 수단 (102) 및 제 2 변환 규칙을 이용한 처리를 위한 수단 (108) 은 분리된 수단으로 도시되어 있지만, 구체적인 실행에서, 특정 흐름 제어기 (flow controller) 에 의해 이산값들의 제 1 블록을 먼저 변환하고, 알고리즘의 해당 시간에 가산된 값들의 제 2 블록을 역으로 변환시키도록 제어되는 단지 하나의 변환 함수만이 존재할 수도 있다. 이러한 경우에, 제 1 및 제 2 변환 규칙들은 동일할 수도 있다. 동일한 과정이 라운딩을 위 한 2 개의 수단들 (104 및 110) 에 적용된다. 상기 수단들도 분리된 수단으로 제공되어야 하는 것은 아니며, 마찬가지로 흐름 제어기에 의해 알고리즘의 요구에 따라 변환된 값들이 제 1 블록을 먼저 라운딩하고 나서 변환된 값들의 제 2 블록을 라운딩하도록 다시 제어되는 하나의 라운딩 함수 유닛에 의해 수행될 수도 있다.
도 3 에서 블록 (28) 의 출력에서 구해지는 바와 같이, 일 실시예에서, 이산값들의 제 1 블록 및 이산값들의 제 2 블록은 정수 윈도윙된 샘플들이다. 도 1 에 도시된 정수 알고리즘에 의해 도 3 에 관련된 오디오 신호의 예에서 변환된 표시가 도 3 에 도시된 장치의 출력 (30) 에서 정수 스펙트럼값을 나타내도록 도 3 의 블록 (14) 내의 정수 DCT 는 실행된다.
계속해서, 도 10a 에 해당하는 역 변환 수단은 도 10b 를 참조해서 설명된다. 상기 역 변환 수단에서는, 도 10a 의 블록 (112) 의 출력에서 정수 출력 값들의 블록 외에, 도 10a 의 수단 (106) 의 출력에서 가산된 값들의 제 2 블록도 사용된다. 하기에서 더 상세히 설명될 도 11 을 참고하면, 이것은 블록들 (150 및 130) 만 있고 이송 블록 (124) 은 존재하지 않는 경우에 해당한다.
도 10b 는, 도 10a 의 출력 (114) 에서 구해지는 바와 같이, 변환된 표시의 정수 출력값들의 블록 및 가산된 값들의 제 2 블록을 역으로 변환하기 위한 장치를 도시한다. 가산된 값들의 제 2 블록은 도 10b 에서 도시된 역변환을 위한 장치의 입력 (120) 에 제공된다. 변환된 표시의 출력값들의 블록은 역변환을 위한 장치의 다른 입력 (122) 에 제공된다.
부호화에서 마지막으로 사용된 변환 규칙이 제 2 변환 규칙인 경우에, 가산 된 값들의 제 2 블록은 제 2 변환 규칙을 이용하여 이러한 블록을 처리하기 위한 수단 (130) 에 제공된다. 상기 수단 (130) 은 변환된 값들의 제 1 블록을 출력측 상에 제공하고, 이것은 라운딩 수단 (132) 에 제공되어, 차례로 측력측 상에 변환되어 라운딩된 값들의 제 1 블록을 생성한다. 수단 (134) 을 이용하여, 변환된 표시의 출력값들의 블록에서 변환되어 라운딩된 값들의 제 1 블록을 감산하여 도 10b 의 장치의 제 1 출력 (149) 에서 이산값들의 제 1 블록을 얻는다.
이러한 이산값들의 제 1 블록은 제 1 변환 규칙을 이용하여 이러한 블록을 처리하기 위한 수단 (150) 에 제공되어, 상기 수단 (150) 의 출력에서 변환된 값들의 제 2 블록을 얻는다. 이 감산되고 변환된 값들의 제 2 블록은 수단 (152) 에 제공되어 변환되고 라운딩된 값들의 제 2 블록을 얻는다. 입력 (120) 을 경유하여 입력측에 제공된 가산된 값들의 제 2 블록으로부터 이 변환되고 라운딩된 값들의 제 2 블록을 감산하여 출력측의 출력 (136) 에서 이산값들의 제 2 블록을 얻는다.
제 1, 제 2, 및 제 3 변환 규칙의 관계에 대해서, 통상적인 함수 유닛들 및 해당하는 흐름 제어기/래칭에 의해서 도 10b 내의 개개의 함수 블록들의 특별한 실행에 대해서, 도 10a 를 참조하여 검토해 보자.
계속해서, 도 10a 에서 일반적으로 도해된 변환된 표시로 변환시키기 위한 장치의 바람직한 실시예는 도 10c 를 참조해서 설명될 것이다. 도 10a 에서의 실시예는 가산된 값들의 제 2 블록으로부터 정수 출력값들의 블록을 더 생성하기 위해 도 10a 에 비해 다른 변환/라운딩을 더 포함한다. 도 10a 의 수단 (102) 은 도 10c 의 DCT-IV 변환기로서 도시된다. DCT 변환기 (102) 는 도 10c 에서 수단 (104) 에 의해 도시된 "[.]" 로 표시된 라운딩 규칙에 의해 라운딩되는 N 개의 입력값들로부터 N 개의 출력값들을 발생시키기 위해 형성된다. 가산 수단 (106) 은 값이 가산되도록 도해된다. 이것은 인덱스 0 을 갖는 수단 (102) 의 출력값이 인덱스 N 을 갖는 이산값들의 제 2 블록의 첫번째 값에 가산되는 것을 의미한다. 따라서, 일반적으로, 서수 i 를 갖는 라운딩 수단 (104) 의 출력에서 변환되고 라운딩된 값들의 제 1 블록의 값은 각각 서수 N+i 를 갖는 출력값들의 제 2 블록의 이산값들에 가산되고, i 는 0 에서 N-1 까지 변하는 실행 인덱스이다.
제 2 변환 규칙을 이용하는 처리를 위한 수단 (108) 은 또한 DCT-IV 변환기로 도시된다. 도 10c 에서 도시된 바람직한 실시예에서, 감산 수단 (112) 은 값의 감산, 즉 라운더 (110) 의 출력값들, 즉 변환되어 라운딩된 값들의 제 2 블록의 값들을 각각 이산값들의 제 1 블록으로부터 감산시키기 위해 또한 형성된다. 도 10c 에서 도시된 실시예에서, 서수 N+i 를 갖는 제 2 블록의 값을 서수 i 를 갖는 제 1 블록의 값으로부터 감산하도록 해당 감산을 실행하는 것이 바람직하고, i 는 0 에서 N-1 까지 다시 변한다. 그러나, 역변환에서 이것이 대응되게 고려된다면, 다른 가산/감산이 예를 들어, 서수 N-1 을 갖는 블록의 값이 서수 N 을 갖는 다른 블록의 값으로부터 감산되는 등이 또한 실행될 수도 있다.
감산 수단 (112) 은 출력측 상에 변환된 표시의 정수 출력값들, 즉 변환된 표시의 정수 출력값들 (y0 내지 yN -1) 의 블록을 제공한다. 변환된 표시의 잔여 정수 출력값들, 즉 다른 블록 (yN 내지 y2N -1) 을 또한 얻기 위해, 이것을 원하는 경우 에, 출력 (114) 에 적용된 변환된 표시의 정수 출력값들의 블록이 정방향 변환기 (140) 에 의해 제 3 변환 규칙을 이용한 변환을 하게 된다. 여기서 라운딩 수단 (142) 에 의해 도해된 바와 같이 동일한 것의 출력값들은 다시 라운딩되어, 이제 도 10c 의 도면 부호 144 로 표시된 바와 같이, 이러한 값들을 가산기 (106) 의 출력에서 가산된 값들의 제 2 블록과 가산한다. 이 때, 가산기 (144) 의 출력값들은 yN 내지 y2N - 1 로 표시된 변환된 표시의 정수 출력값들의 다른 블록 (146) 을 표시한다.
계속해서, 본 발명의 실시예에 따른 변환된 표시를 역변환시키기 위한 장치는 도 11 을 참조하여 검토된다. 도 10c 에 도시된 장치에 의해서 수행되는 연산들은 도 11 에 도시된 장치에 의해 무손실 역전되는 것에 주의한다. 도 11 은 도 10b 에서 도시된 실시예에서 변환된 출력값들의 다른 블록으로부터 입력 (120) 으로 제공되는 가산된 값들의 제 2 블록을 발생시키는 부가의 변환/라운딩 단계를 제외하면 도 10b 에 대응한다. 가산 함수는 감산 함수에 의해 각각 역전되는 것에 주의한다. 또한 가산기/감산기 쌍 (도 10c 의 144 및 도 11 의 128) 에는 부호가 역전된 입력 값들이 또한 제공될 수도 있다. 따라서 이것이 실제로 가산 연산을 수행하는 대응 부분 (도 11 의 128) 으로서 고려되는 한, 입력값들의 집합이 도시된 경우에 대하여 음의 부호를 갖는 값으로 제공되면, 가산기는 실제로 감산 연산을 실행한다.
도 11 에 도시된 감산기 (128), 가산기 (134), 및 다른 감산기 (154) 가 각 각의 값을 가산/감산을 실행하기 위해 다시 형성되며, 여기서 동일한 서수 처리는 도 10c 를 참조하여 기술되는 바와 같이 사용된다. 도 10c 에서 채택되어 도시된 것과 다른 서수가 사용되는 경우에는, 도 11 에서 대응되게 고려될 것이다.
감산기 (134) 의 출력에서, x0 내지 xN - 1 로 지정되는 이산값들의 제 1 블록이 이미 존재한다. 역변환된 표시의 나머지 값들을 또한 구하기 위해, 이산값들의 제 1 블록이 제 1 변환 규칙을 이용하여 동작하는 변환기 (150) 에 공급된다. 출력측 상에서 그 값들은 라운더 (152) 에 의해 라운딩되고, 감산기 (128) 의 출력에서 감산된 값들의 제 2 블록으로부터 감산되어, 최종적으로 또한 xN, ..., x2N- 1 로 지정되는 이산값들 (156) 의 제 2 블록을 구한다.
계속하여, 장치들의 수학적 배경은 도 10a, 10b, 10c, 및 11 을 참조하여 기술된 바와 같이 도 12 내지 15 를 참조하여 검토된다. 상기 변환 및/또는 역변환을 위한 장치를 이용하여 근사 오차가 감소되는 무손실 오디오 부호화를 위한 정수 변환 방법이 제공된다. 또한, 베이시스가 더이상 공지의 접근법인 각 기븐스 회전의 리프팅 기법을 적용하는 것이 아니라는 점에서 계산 노력이 또한 고려되어야 한다. 여기서는 항상 간단한 가산-감산 버터플라이들만 발생한다. 이것은 복사될 원래의 비정수 버전의 변환에 비해 계산 노력을 상당히 증가시킨다.
통상적으로, 리프팅 기법이 기븐스 회전의 가역 정수 근사를 얻기 위해 사용된다.
Figure 112006021457357-pct00010
이 정수 근사는 각각의 가산 후에, 즉 각각의 리프팅 단계 후에 라운딩 함수를 이용하여 이루어진다.
리프팅 기법은 또한 특정 스케일링 연산들의 가역 정수 근사를 위해 사용될 수도 있다. R. Geiger 및 G. Schuller 의 "Integer low delay and MDCTm filter banks" Proc. of the Asilomar Conf. on Signals, Systems and Computers, 2002 에서 행렬식이 1 인 2 x 2 스케일링 행렬의 하기의 리프팅 인수분해가 검토되고 기술된다.
Figure 112006021457357-pct00011
1차원이며, 2 x 2 스케일링 행렬에만 관련된 이러한 리프팅 인수분해는 다차원의 경우에도 확장된다. 특히, 블록의 이산값들의 개수가 2 이상인 경우로서, 상기 식으로부터의 모든 값들은 n x n 행렬들로 치환된다. 따라서, 결과는 임의의 완전 가역의 n x n 행렬 T 에 대해 하기의 2n x 2n 블록 행렬들로의 인수분해가 가능하며, En 은 n x n 단위 행렬이다.
Figure 112006021457357-pct00012
퍼뮤테이션 또는 -1 의 곱셈 등과 같은 단순 연산들 뿐만 아니라, 이러한 인수분해의 모든 3 개의 블록들은 하기의 일반적인 구조를 갖는다.
Figure 112006021457357-pct00013
이러한 2n x 2n 블록 행렬에 대해서, 다차원 리프팅이라고도 부르는 일반화된 리프팅 기법이 사용될 수도 있다.
값들 x = (x0, ..., x2n-1) 의 벡터에 대해, 이러한 블록 행렬의 적용은 하기의 식과 같다.
Figure 112006021457357-pct00014
상기 등식의 우변에 차원, 즉 라인들의 개수가 2n 인 벡터가 존재하는 것에 주의한다. 첫번째 n 개의 성분들, 즉 0 에서 n-1 까지의 성분은 x0 내지 xn -1 에 해당한다. 두번째 n 개의 성분들, 즉 상기 등식의 우변 상의 결과 벡터의 후반은 이산값들의 제 2 블록, 즉 xn, ..., x2n- 1 의 합과 동일하지만, 도 10a, 10b, 10c, 및 11 의 변환 행렬에 해당하는 행렬 A 와의 곱셈을 이용하여 가산된다. 이 변환 행렬은 제 1, 제 2, 및 제 3 변환 규칙을 각각 나타낸다.
하기의 형태의 2 x 2 행렬들을 이용한 통상의 리프팅 기법과 유사하게
Figure 112006021457357-pct00015
이러한 2n x 2n 행렬들은 하기의 방식으로 변환 T 의 가역 정수 근사를 위해 이용될 수도 있다. 정수 입력값들 (x0, ..., x2n-1) 에 대한 부동소수점 출력값들 (y0, ..., yn -1) = Aㆍ(x0, ..., xn -1) 은 정수값들 (xn, ..., x2n-1) 에 가산되기 전에 정수값으로 라운딩된다. 블록 행렬의 역은 하기와 같다.
Figure 112006021457357-pct00016
따라서, 이러한 과정은 단순히 동일한 행렬 A 및 동일한 라운딩 함수를 사용하되 이제는 정방향 처리에서의 가산 대신에 결과 값들을 감산함으로써 오차 없이 단순히 역전된다. 정방향 처리는 도 13 에서 설명되고, 역방향 처리는 도 14 에서 설명된다. 도 13 의 변환 행렬은 도 14 의 변환 행렬과 동일한 것에 주의하고, 이것은 실행의 단순성을 위해 선호된다.
값들 (x0, ..., xn -1) 이 도 13 에 도시된 정방향 단계에서 수정되지 않았기 때문에, 역 단계에서도 즉, 도 14 에서의 역방향 단계를 위해 여전히 존재한다. 행렬 A 에 대한 특별한 제한이 없다는 것에 주의한다. 따라서, 행렬 A 가 반드시 가역 행렬이어야 하는 것은 아니다.
공지의 MDCT 의 가역 정수 근사를 구하기 위해, MDCT 는 윈도윙 단계인 첫번째 단계 및 후속의 DCT-IV 단계에서 기븐스 회전들로 인수분해된다. 이 인수분해는 도 3 에서 검토되고, 하기에서 설명될 것이며, DE 10129240 A1 에서 상세히 기재되어 있다.
DCT-IV 가 기븐스 회전들의 수 개의 단계들로 인수분해되는 종래 기술과 달리, 변환 그 자체는 변경되지 않고 라운딩된다.
DCT-IV 의 정수 근사가 리프팅 기반 기븐스 회전들의 수 개의 단계들에 의해 수행되는 것은 공지되어 있다. 기븐스 회전들의 개수는 사용된 기저의 고속 알고리즘 (underlying fast algorithm) 에 의해 결정된다. 따라서, 기븐스 회전들의 개수는 길이 N 의 변환에 대해서는 0 (N log N) 으로 주어진다. 각 MDCT 분해의 윈도윙 단계는 N/2 개의 기븐스 회전들 또는 3N/2 개의 라운딩 단계들로 이루어진다. 따라서, 특히 오디오 부호화 응용에서 사용되는 바와 같이, 변환 길이가 긴 경우 (예를 들어 1,024) 에는 DCT-IV 의 정수 근사가 근사 오차에 주된 기여를 하게 된다.
상기 접근법은 상술한 다차원 리프팅 기법을 이용한다. 따라서, DCT-IV 에서의 라운딩 단계들의 개수가 윈도윙 단계에서의 라운딩 단계들의 개수와 동일하게 되게 하는 3N/2 로 종래의 리프팅 기반 접근법에서의 2N log2 N 개의 라운딩 단계들에 비해 감소된다.
DCT-IV 가 신호들의 2 개의 블록에 동시에 적용된다. 이를 위한 하나의 가 능성이 도 12 에 도시되며, 여기서는 예를 들어 샘플들의 2 개의 임시의 연속적인 블록들이 단순히 DCT-IV 에 적용된다. 2 개의 변환들에 적용되는 2 개의 블록들은 또한 다채널 신호 중 2 개의 채널들의 샘플들이다.
상술한 다차원 리프팅 등식으로부터의 인수분해는 N x N 행렬로서도 고려되는 변환 규칙에 적용된다. 특히 DCT-IV 에 대한 역은 다시 DCT-IV 가 되며, 결과는 도 12 에서 도시된 개념에 대한 하기의 인수분해가 된다.
Figure 112006021457357-pct00017
-1 의 곱셈의 퍼뮤테이션은 개별 블록 행렬들로 추출되고, 따라서 결과는 하기와 같다.
Figure 112006021457357-pct00018
따라서, 2 개의 블록들의 신호들, 즉 2 개의 블록들의 이산값들에 변환을 적용하는 것은 바람직하게는 3 개의 다차원 리프팅 단계들을 이용하여 구해진다.
Figure 112006021457357-pct00019
상기 등식은 일실시예를 기반으로 하여 도 10c 에서 도해되어 있다. 역변환 은 따라서 검토된 바와 같이 도 11 에서 도해되어 있다.
이 접근법을 이용하면, 길이 N 의 2 개의 DCT-IV 변환이 가역 방식으로 실행될 수도 있고, 여기서는 3N 개의 라운딩 단계들, 즉 매 변환마다 3N/2 개의 라운딩 단계들이 필요하다.
3 개의 다차원 리프팅 단계들 내의 DCT-IV 는 임의의 실행, 즉 예를 들어 부동 소수점 기반 또는 고정 소수점 기반 실행을 갖는다. 그것은 가역적일 필요는 없다. 단지, 정방향 및 역방향 과정에서 정확히 동일한 방식으로 실행되기만 하면 된다. 결과적으로, 이러한 개념이 현재의 오디오 부호화 응용에서 사용되는 바와 같이 1,024 와 같은 긴 변환 길이에 적합하다.
전체의 계산 복잡성은 2 개의 DCT-IV 변환들의 비통합 실행의 계산 복잡성의 1.5 배와 같다. 이러한 계산의 복잡성은 종래의 DCT-IV 보다 2 배 복잡한 종래의 리프팅 기반 통합 실행들에 비해 매우 낮다. 왜냐하면 이러한 실행들은 R. Geiger, T. Sporer, J. Koller, 및 K. Brandenburg 의 "Audio coding based on Integer Transforms" in 111th AES Convention, New York, 2001 에 기술된 바와 같이, 에너지 보존을 달성하기 위해 사용된 리프팅 기법에 기반한 간단한 플러스/마이너스 버터플라이들을 이용해야만 하기 때문이다.
도해된 접근법은 적어도 2 개의 DCT-IV 변환들을 동시에, 즉 하나의 변환에서 계산한다. 이것은 오디오 신호의 2 개의 연속적인 블록들 또는 이미지 신호의 2 개의 연속적인 블록들에 대한 DCT-IV 변환을 계산함으로써 이루어질 수 있다. 2 채널 스테레오 신호의 경우에, 이것은 또한 변환 동작 및/또는 역변환 동작에서 왼 쪽 및 오른쪽 채널의 DCT-IV 를 계산함에 의해서 이루어질 수도 있다. 첫번째 유형은 시스템에 한 블록의 추가 지연을 삽입시킨다. 두번째 유형은 스테레오 채널들 및/또는, 통상적으로 말하면, 다채널 신호들에 대해 가능하다.
대안적으로, 2 가지 옵션을 원하지 않고 N 개의 값들의 통상의 블록 처리 길이를 유지하고자 한다면, 길이 N 의 DCT-IV 도 길이 N/2 의 2 개의 DCT-IV 변환들로 인수분해될 수도 있다. 이러한 맥락에서, 이러한 인수분해가 검토된 Y. Zeng, G. Bi, 및 Z. Lin 의 "Integer sinusoidal transforms based on lifting factorization", in Proc. ICASSP'01, May 2001, pp. 1,181 - 1,184 를 참고하라. 길이 N/2 의 2 개의 DCT 변환들 뿐만 아니라, 기븐스 회전들의 수 개의 추가 단계들이 필요하다. 이러한 알고리즘에서, 하기의 블록 행렬이 더 적용된다.
Figure 112006021457357-pct00020
즉, 상기 블록 행렬은 N/2 플러스/마이너스 버터플라이들, N/2 개의 기븐스 회전들을 갖는 블록 대각 행렬, 및 다른 어떤 퍼뮤테이션 행렬들이다. 이러한 N/2 개의 기븐스 회전들의 부가적 단계들을 이용하여, 다차원 리프팅 접근법은 길이 N 의 하나의 DCT-IV 의 계산에도 사용될 수 있다. 이 알고리즘의 기본 구조는 도 15 에 도시되어 있다. 여기서, 길이 N/2 의 2 개의 DCT-IV 변환들이 사용되는 실제 변환 단계 외에, 단지 N/2 의 길이를 갖는 이산값들의 제 1 및 제 2 블록을 계산하는 버터플라이 단계가 먼저 존재한다. 각각 N/2 개의 값들을 갖는 변환된 표시의 출력값들의 블록 및 변환된 표시의 출력값들의 다른 블록으로부터 출력값들 (y0, ..., yN -1) 을 구하기 위해 출력측 상에 회전 단계가 더 제공된다. 여기서 전자의 변환된 표시의 출력값들의 블록으로부터의 출력값들은 도 15 및 도 12 의 입력측 및 출력측 상의 인덱스들의 비교에서도 명백한 바와 같이 도 12 의 DCT-IV 연산의 출력값들과 동일하다.
이제까지, 하기 형태의 블록 행렬에 다차원 리프팅의 적용을 단지 검토하였다.
Figure 112006021457357-pct00021
그러나, 다른 블록 행렬들도 다차원 리프팅 단계들로 인수분해하는 것은 가능하다. 예를 들어, 하기의 인수분해는 정규화된 플러스/마이너스 버터플라이들을 갖는 단계와 DCT-IV 변환들의 2 개의 블록들의 결합을 다차원 리프팅의 3 개의 단계들에 의해 실행하는데 사용될 수도 있다.
Figure 112006021457357-pct00022
상기 등식으로부터 상기 등식의 왼쪽 브래킷에 사용된 제 1 변환 규칙, 상기 등식의 가운데 브래킷에 사용된 제 2 변환 규칙, 상기 등식의 마지막 브래킷에 사용된 제 3 변환 규칙이 동일할 필요가 없다는 것이 명백하다. 또한, 상기 등식으로부터, 주대각 원소들만 있는 블록 행렬들만 인수분해될 뿐 아니라, 다른 원소들도 다 있는 행렬들도 처리될 수 있다는 것이 명백하다. 또한, 변환된 표시로 변환시키는데 사용되는 변환 규칙들이 동일하거나, 서로 관련, 예를 들어 제 2 변환 규칙이 제 1 변환 규칙에 대한 역방향 변환이라는 등의 관계가 있어야 하는 제한이 없다는 것에 주의한다. 기본적으로, 역의 표시에서 이것이 고려된다면, 3 개의 서로 다른 변환 규칙들이 사용될 수도 있다.
이러한 맥락에서, 도 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) 대신에 블록 (204a) 를 사용하는 것이 바람직하다는 것이 명백하다. 스펙트럼 성형이 수행될 때 라운딩 오차의 화이트 노이즈가 문제가 되는 주파수 범위로의 후속 변환이 있을 경우에 이 개념이 특히 유용하기 때문이다. 라운딩 (142) 후에 주파수 변환이 없기 때문에, 블록 (142) 에서의 스펙트럼 성형이 더이상 장점을 갖지 못한다. 그러나, 이것은 블록 (204a) 에 대한 경우이다. 블록 (108) 에서는 변환에 의한 주파수 변환이 다시 있기 때문이다. 따라서, 블록 (204b) 에서의 발명의 스펙트럼 성형은 여전히 유용하다. 왜냐하면 마지막 블록 (140) 에 의한 변환이 다시 있기 때문이다. 그러나, 도 16 을 참조하면 명백하게 노이즈 성형된 라운딩 오차가 이미 출력 블록 (114) 으로 들어가서 라운딩 오차의 스펙트럼 성형 대신에 도 10c 의 블록들 (110) 에 의해 도시된 바와 같이, 블록 (204a) 에서 통상의 라운딩이 이미 또한 실행될 수 있다.
스펙트럼 성형 라운딩 또는 즉 제 2 변환, 즉 변환 (108) 의 마지막에서 화이트 스펙트럼 분포를 갖는 라운딩 오차를 갖는 통상의 라운딩이 있는지 여부가 응용의 개별 경우에 따라 결정된다.
본 발명에 따르면, 특정 수, 예를 들어 k 개의 값들의 독립적인 라운딩은 의존적인 라운딩이라고 부르는 스펙트럼 성형을 이용한 라운딩으로 따라서 치환된다.
도 16 을 참조하여 상기 설명으로부터 라운딩 오차의 스펙트럼 성형은 또한 IntMDCT 에 필요한 정수 DCT 에 사용될 수도 있다는 것이 명백하다. 그러나, 검토된 바와 같이, 오차 피드백에 의한 스펙트럼 성형은 특히 라운딩될 값들이 다른 변환 단계에 의해 주파수 도메인으로 변환되는 시간 신호들일 때에만 유용하다는 것이 여기서 고려되어야 한다. 따라서, 도 16 의 다차원 리프팅을 참조하여 도해된 바와 같이, 스펙트럼 성형은 첫번째 2 개의 단계에서 유용하지만, 3번째 단계에서는 더이상 반드시 유용하지는 않다.
본 발명에 따르면, 도 16 이 도 10c 에 대응하는 부호기에서의 경우를 도시하는 것에 주의한다. 도 16 에 대응하는 복호기에서의 경우는 도 16 및 도 11 의 직접 비교로부터의 결과이다. 도 16 에 직접 대응하는 복호기는 모든 블록들이 2 개의 라운딩 블록들 (132 및 152) 만 제외하고 동일하게 동작한다는 점에서 도 11 로부터 기인한다. 도 11 에서, 이러한 2 개의 라운딩 블록들은 독립적인 라운딩 블록들로서 동작하고, 발명의 복호기에서 예를 들어 도 2c 를 참조하여 도시된 구조를 갖는 의존적인 라운딩 블록들 (204a 및 204b) 에 의해 치환될 수 있다. 특히, 부호기에서와 정확히 동일한 스펙트럼 성형 라운딩 알고리즘이 사용될 것이라는 사실에 주의해야 한다.
도 2b 및 2c 에서 도해된 개념은 특히 H(z) = "-1" 에 대해서, 특히 라운딩 오차의 감소를 이용하는데 또한 적합하고, 특히 정수 변환들에서 라운딩 오차의 감 소를 이용하는데 적합하다. 라운딩 오차의 이러한 감소는 2 개의 부동소수점 값들이 라운딩되고 상이한 값들 대신 동일한 값에 가산될 때마다 라운딩 오차의 감소가 가능하다. 그러한 바람직한 상황이 도 17 에서 도해된다. 여기서, 먼저 리프팅 대상들 x1 및 x3 사이의 다운-업-다운의 시퀀스를 갖는 제 1 리프팅 단계가 있다. 다운-업-다운의 공지의 시퀀스를 갖는 제 2 리프팅 시퀀스가 더 있으며, 여기서 리프팅 대상들은 x2 및 x3 이다. 특히, 상기 제 1 리프팅 연산에서 구해진 값 x3 는 도 17 에서 명백한 바와 같이, 상기 제 2 리프팅 단계에서 가산 대상으로서 제공된다. 화살표가 수평선과 만났을 때, 이것은 가산을 나타내는 것에 다시 주의한다. 즉, 방금 라운딩된 값이 수평선에 해당하는 값에 가산된다.
특히, 도 17 에 도시된 예에서, 값 x1 은 먼저 가중되고 (블록 (205)), 개별적으로 라운딩된다 (블록 (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 의 현재값에 다시 가산하여 x3 의 결과값을 구한다. 도 17 로부터, 먼저 첫번째 값, 즉 블록 (262) 의 결과가 라운딩되고 x3 에 가산되는 것은 명백하다. 또한, 2 번째 값, 즉 블록 (270) 의 결과가 또한 라운딩되어 (블록 272) 상기 값 x3 에 가산된다 (가산기 274). 따라서, 2 개의 부동소수점값들이 순차로 라운딩되고 다른 값들 대신에 동일값에 가산된다. 도 17 에 도시된 예에서, 제 3 및 제 4 리프팅 단계의 결과는 동일값, 즉, x3 에 가산되어 가산이 라운딩 함수 [.] 을 이용하여 수행된다.
[x1ㆍcs1] + [x2ㆍcs2]
라운딩에서 제 3 리프팅 단계의 오차가 제 4 리프팅 단계로 제공되면, 이 경우에 상기 제 3 단계의 오차가 사용될 수도 있고, 2 개의 라운딩 오차들 대신에 하나의 라운딩 오차만이 생성될 수도 있다. 계산은 하기와 같다.
[x1ㆍcs1] + [x2ㆍcs2 + (x1ㆍcs1 - [x1ㆍcs1])] =
[x1ㆍcs1] + [x2ㆍcs2 + x1ㆍcs1] - [x1ㆍcs1] =
[x2ㆍcs2] + [x1ㆍcs1]
계산에서, 이 경우에 라운딩 오차를 다음 라운딩 단계로 제공하는 것은 값들의 가산 및 후속의 라운딩에서와 동일하다. 이 경우는 도 18 에 도해되어 있고, 여기서 도 18 은 도 17 에 대응하는 반면, 2 개의 개별 라운딩 블록들 (264 및 272) 및 2 개의 개별 가산기들 (266 및 274) 은 상기 등식을 실행하기 위해 형성된 블록 (268) 에 의해 치환된다. 따라서, 2 개의 블록들 (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 대신에 사용될 때의 결과로 나타난다.
본 발명에 따르면, 라운딩 오차의 감소를 라운딩 오차의 성형과 결합하는 것이 바람직하다. 라운딩 오차의 감소의 경우에, 수 개의 입력값들이 처리되고, 함께 라운딩되고, 여기서 라운딩 오차의 스펙트럼 성형의 경우에, 라운딩된 값들은 서로에 독립적으로 라운딩되고, 수 개의 각각 다른 값들에 가산된다.
도 15 에서 도해된 바와 같이, N/2 DCT 들이 사용될 때, 도 19 의 상황이 또한 발생하는 것을 주의한다. 여기서, 변환 단계에 앞서, 즉, 2 개의 DCT 블록들에 앞서, 도 15 에서 버터플라이 단계로 부르는 단계가 존재한다. 이 단계에서 입력값들 x0 내지 xN /2-1 는 대응하여 가중되고 라운딩되어 DCT-IV 단계의 값들이 또한 가산될 동일한 값들에 가산된다. 도 15 의 변환 단계는 단지 개략적으로 도해되어 있다는 것에 주의한다. 도 16 에서, xN /2-1 이 xN -1 대신에 기입되고, xN /2 대신에 기입되고, xN -1 이 xN /2-1 대신에 기입되면, 도 15 에서 개략적으로 도해된 2 개의 DCT-IV 블록들은 실제 실행에서 도 16 에 도시된 요소로 치환될 수 있다.
따라서, 도 19 는 단일 응용들, 즉 N/2 DCT-IV 가 사용되는 경우에 대해 특히 바람직한 실행을 도시한다.
환경들에 따라, 이산값들의 시퀀스를 갖는 신호를 처리하기 위한 발명의 방법은 하드웨어 또는 소프트웨어에서 실행될 수 있다. 상기 방법을 실행하기 위해, 그 실행은 프로그램가능한 컴퓨터 시스템에서 동작할 수 있는 디지털 저장 매체, 특히 플로피 디스크 또는 CD 상에 전자적으로 판독되는 제어 신호를 이용하여 실행될 수 있다. 일반적으로, 따라서 본 발명은 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때 기계판독가능한 캐리어 상에 저장된 발명의 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램 제품에 존재한다. 즉, 본 발명은 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때, 상기 발명을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.

Claims (19)

  1. 이산값 시퀀스를 가지고 있는 신호를 처리하기 위한 장치로서, 상기 신호가 제 1 에너지를 갖는 제 1 주파수 범위가 있고, 상기 신호가 제 2 에너지를 갖는 제 2 주파수 범위가 있으며, 상기 제 1 주파수 범위가 상기 제 2 주파수 범위와 서로 다르고, 상기 제 1 에너지가 상기 제 2 에너지보다 높으며, 상기 신호를 처리하기 위한 장치가:
    조작값들의 시퀀스를 구하기 위해 이산값들의 시퀀스를 조작하기 위한 수단으로서 상기 조작값들 중 적어도 하나가 비정수가 되도록 하는 조작수단 (202); 및
    라운딩된 조작값들의 시퀀스를 구하기 위해 조작값들의 시퀀스를 라운딩하기 위한 수단 (204)으로서, 스펙트럼 성형된 라운딩 오차가 상기 제 2 주파수 범위에서보다 상기 제 1 주파수 범위에서 더 큰 에너지를 갖도록 발생된 라운딩 오차의 스펙트럼 성형을 하도록 형성되는 라운딩 수단 (204)를 포함하는 신호 처리 장치
  2. 제 1 항에 있어서,
    상기 신호는 시간 신호이고, 상기 이산값들은 시간 이산값들이며, 이에 더하여,
    적어도 라운딩된 조작값들의 시퀀스 또는 라운딩된 조작값들의 시퀀스로부터 유도된 시퀀스를 상기 제 2 주파수 범위에서보다 상기 제 1 주파수 범위에서 라운딩 오차를 더 많이 포함하는 스펙트럼 계수들을 갖는 스펙트럼 표현으로 변환시키기 위한 변환수단 (208); 및
    상기 스펙트럼 표현을 부호화하기 위한 부호화수단 (208) 을 추가로 포함하 는 신호 처리 장치.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 제 1 주파수 범위는 저주파수들의 범위이고, 상기 제 2 주파수는 고주파수들의 범위이며, 상기 라운딩 수단 (204) 은 피드백 오차 e(n) 를 필터링하기 위해 저역 통과 특성을 이용한 스펙트럼 성형을 하도록 형성되는 것을 특징으로 하는 신호 처리 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 라운딩 수단 (204) 은 첫번째 이산값을 라운딩하고 (218), 상기 이산값의 라운딩에서 발생된 라운딩 오차를 결정하고 (214), 상기 라운딩 오차를 계산하고 (220), 상기 계산된 라운딩 오차를 상기 첫번째 이산값에 인접한 2 번째 이산값과 결합하여 결합된 값을 구하고, 상기 2 번째 값의 라운딩된 버전을 구하기 위해 상기 결합된 값을 라운딩 (218) 하기 위해 형성되는 것을 특징으로 하는 신호 처리 장치.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 라운딩 수단 (204) 은 이송 함수가 "-1" 인 라운딩 함수를 이용하여 상기 라운딩 오차를 구하기 위해 형성되는 것을 특징으로 하는 신호 처리 장치.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 이산값들이 정수값들인 것을 특징으로 하는 신호 처리 장치.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 라운딩 수단 (206) 은 상기 조작값들보다 낮은 정확도를 갖는 라운딩된 값들을 발생시키기 위해 형성되는 것을 특징으로 하는 신호 처리 장치.
  8. 제 1 항 또는 제 2 항에 있어서, 신호 처리 장치가,
    처리과정으로서 정수 윈도윙 또는 정수 역 윈도윙을 실행하기 위해 형성되고,
    상기 신호가 2N 개의 이산값들의 블록으로부터 N/2 개의 이산값들을 포함하고,
    상기 조작 수단 (202a) 은 제 1 리프팅 단계에 의해 결정되는 값을 이용하여 상기 N/2 개의 이산값들 각각을 가중하도록 형성되고,
    더 나아가, 가산된 값들의 제 1 시퀀스를 구하기 위해, 라운딩된 조작값들의 상기 시퀀스를 2N 개의 이산값들의 상기 블록의 N/2 개의 이산값들을 더 갖는 시퀀스에 값에 대해 가산하는 제 1 가산기 (205a) 를 더 포함하고,
    조작값들의 다른 시퀀스를 더 구하기 위해 가산된 값들의 상기 제 1 시퀀스의 각각의 값을 제 2 리프팅 단계에 의해 결정된 값을 이용하여 가중하기 위해 다른 조작 수단 (202b) 을 더 포함하고,
    라운딩된 조작값들의 다른 시퀀스를 구하기 위해, 다른 라운딩 수단 (204b) 을 더 포함하고,
    가산된 값들의 제 2 시퀀스를 구하기 위해, 값의 가산을 위한 제 2 가산기 (205b) 를 더 포함하고,
    조작값들의 다른 시퀀스를 구하기 위해, 가산된 값들의 상기 제 2 시퀀스의 각각의 값들을 제 3 리프팅 단계에 의해 결정된 값을 이용하여 가중하기 위한 다른 조작 수단 (202c) 를 포함하고,
    라운딩된 조작값들의 또다른 시퀀스를 구하기 위해, 또다른 라운딩 수단 (204c) 를 더 포함하며,
    가산된 값들의 제 3 시퀀스를 구하기 위해, 제 3 가산기 (205c) 를 더 포함하고,
    조작값들의 상기 또다른 시퀀스는 N/2 개의 윈도윙 또는 역으로 윈도윙된 값들이고,
    가산된 값들의 상기 제 3 시퀀스는 다른 N/2 개의 윈도윙 또는 역으로 윈도윙된 값들인 것을 특징으로 하는 신호 처리 장치.
  9. 제 8 항에 있어서,
    상기 조작 수단은 상기 N/2 개의 값들에 대한 가중치들로서 하기의 인자들을 사용하도록 형성되고,
    GFk = (cosα - 1)/sinα
    여기서 GFk 가 서수 k 를 갖는 상기 값에 대한 상기 가중치이고, α는 하기 등식이 적용되는 각도를 나타내며,
    α = arctan[w(N/2-1-k) / w(N/2 + k)]
    여기서 k 는 0 과 N/2-1 사이에서 실행되며, w 는 윈도우 함수를 나타내는 것을 특징으로 하는 신호 처리 장치.
  10. 제 9 항에 있어서,
    상기 조작 수단은 하기 인자들이 상기 N/2 개의 값들에 대한 가중치들로서 사용되도록 형성되며,
    GFk = sinα
    여기서 GFk 는 서수 k 를 갖는 상기 값에 대한 상기 가중치이고, α는 하기 등식이 적용되는 각도를 나타내며,
    α = arctan[(w(N/2-1-k) / w(N/2 + k)]
    여기서 k 는 0 과 N/2-1 사이에서 실행되며, w 는 윈도우 함수를 나타내는 것을 특징으로 하는 신호 처리 장치.
  11. 제 8 항에 있어서,
    상기 또 다른 조작 수단은 하기 인자들이 상기 N/2 개의 값들에 대한 가중치들로서 사용되도록 형성되며,
    GFk = (cosα - 1)/sinα
    여기서 GFk 는 서수 k 를 갖는 상기 값에 대한 상기 가중치이고, α는 하기 등식이 적용되는 각도를 나타내며,
    α = arctan[w(N/2-1-k) / w(N/2 + k)]
    여기서 k 는 0 과 N/2-1 사이에서 실행되며, w 는 윈도우 함수를 나타내는 것을 특징으로 하는 신호 처리 장치.
  12. 제 8 항에 있어서,
    신호 처리 장치가 윈도윙을 위해 형성되고, 변환 수단 (206) 이 뒤따르거나, 역윈도윙을 위해 형성되고, 스펙트럼 도메인에서 시간 도메인으로의 역변환 수단에 의해 선행되는 것을 특징으로 하는 신호 처리 장치.
  13. 제 12 항에 있어서, 상기 역변환 수단 또는 상기 변환 수단이 DCT-IV 수단을 포함하는 것을 특징으로 하는 신호 처리 장치.
  14. 제 1 항 또는 제 2 항에 있어서,
    상기 조작 수단 (202) 은 비정수 이산값들의 상기 시퀀스에 해당하는 변환된 값들의 블록을 구하기 위해, 변환 규칙을 이용하여 처리하기 위한 수단 (102, 108, 130, 및 150) 인 것을 특징으로 하는 신호 처리 장치.
  15. 제 14 항에 있어서, 상기 조작 수단 (202) 은 DCT-IV 알고리즘을 실행하기 위한 수단인 것을 특징으로 하는 신호 처리 장치.
  16. 제 1 항 또는 제 2 항에 있어서,
    신호 처리 장치가 원래 신호로부터 부호화된 표시를 발생시키기 위한 부호기의 부분 또는 부호화된 신호로부터 복호화된 표시를 발생시키기 위한 복호기의 부분인 것을 특징으로 하는 신호 처리 장치.
  17. 제 16 항에 있어서,
    상기 부호기 및 상기 복호기는 모두 무손실 부호화 기법을 나타내는 것을 특징으로 하는 신호 처리 장치.
  18. 이산값 시퀀스를 가지고 있는 신호를 처리하기 위한 장치로서, 상기 신호가 제 1 에너지를 갖는 제 1 주파수 범위가 있고, 상기 신호가 제 2 에너지를 가진 제 2 주파수 범위가 있으며, 상기 제 1 주파수 범위가 상기 제 2 주파수 범위와 서로 다르고, 상기 제 1 에너지가 상기 제 2 에너지보다 높으며, 상기 신호를 처리하기 위한 방법으로서,
    조작값들의 시퀀스를 구하기 위해 상기 조작값들 중 적어도 하나가 비정수가 되도록 이산값들의 상기 시퀀스를 조작하는 단계 (202); 및
    라운딩된 조작값들의 시퀀스를 구하기 위해, 조작값들의 상기 시퀀스를 라운딩하는 단계 (204)를 구비하는데, 라운딩 수단은 스펙트럼 성형된 라운딩 오차가 상기 제 2 주파수 범위에서보다 상기 제 1 주파수 범위에서 더 큰 에너지를 갖도록 발생된 라운딩 오차의 스펙트럼 성형을 하기 위해 형성되는 것을 특징으로 하는 신호 처리 방법.
  19. 제 18 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록 매체.
KR1020067005972A 2003-10-02 2004-09-28 이산값의 시퀀스를 갖는 신호 처리 장치 및 방법 KR100778349B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10345995.2 2003-10-02
DE10345995A DE10345995B4 (de) 2003-10-02 2003-10-02 Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten

Publications (2)

Publication Number Publication Date
KR20060054472A KR20060054472A (ko) 2006-05-22
KR100778349B1 true KR100778349B1 (ko) 2007-11-21

Family

ID=34399211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067005972A KR100778349B1 (ko) 2003-10-02 2004-09-28 이산값의 시퀀스를 갖는 신호 처리 장치 및 방법

Country Status (18)

Country Link
US (1) US7917564B2 (ko)
EP (1) EP1647009B1 (ko)
JP (1) JP4439522B2 (ko)
KR (1) KR100778349B1 (ko)
CN (1) CN1860527B (ko)
AT (1) ATE349753T1 (ko)
AU (1) AU2004278828B2 (ko)
BR (1) BRPI0414618B1 (ko)
CA (1) CA2541116C (ko)
DE (2) DE10345995B4 (ko)
ES (1) ES2278338T3 (ko)
HK (1) HK1096760A1 (ko)
IL (1) IL173730A (ko)
MX (1) MXPA06003620A (ko)
NO (1) NO337159B1 (ko)
PT (1) PT1647009E (ko)
RU (1) RU2325708C2 (ko)
WO (1) WO2005034088A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100992675B1 (ko) 2007-12-21 2010-11-05 한국전자통신연구원 오디오 부호화 및 복호화 방법과 그 장치

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10345996A1 (de) 2003-10-02 2005-04-28 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten
EP2063417A1 (en) * 2007-11-23 2009-05-27 Deutsche Thomson OHG Rounding noise shaping for integer transform based encoding and decoding
ES2564400T3 (es) * 2008-07-11 2016-03-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador y descodificador de audio para codificar y descodificar muestras de audio
EP2346030B1 (en) * 2008-07-11 2014-10-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, method for encoding an audio signal and computer program
EP2146344B1 (en) * 2008-07-17 2016-07-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding/decoding scheme having a switchable bypass
US9384748B2 (en) 2008-11-26 2016-07-05 Electronics And Telecommunications Research Institute Unified Speech/Audio Codec (USAC) processing windows sequence based mode switching
KR101315617B1 (ko) 2008-11-26 2013-10-08 광운대학교 산학협력단 모드 스위칭에 기초하여 윈도우 시퀀스를 처리하는 통합 음성/오디오 부/복호화기
RU2523035C2 (ru) * 2008-12-15 2014-07-20 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Аудио кодер и декодер, увеличивающий полосу частот
BRPI0917762B1 (pt) 2008-12-15 2020-09-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V Codificador de áudio e decodificador de extensão de largura de banda
TWI459375B (zh) * 2009-01-28 2014-11-01 Fraunhofer Ges Forschung 音訊編碼器、音訊解碼器、包含經編碼音訊資訊之數位儲存媒體、用以將音訊信號編碼及解碼之方法及電腦程式
JP5754899B2 (ja) * 2009-10-07 2015-07-29 ソニー株式会社 復号装置および方法、並びにプログラム
CN102081926B (zh) * 2009-11-27 2013-06-05 中兴通讯股份有限公司 格型矢量量化音频编解码方法和系统
MY165853A (en) 2011-02-14 2018-05-18 Fraunhofer Ges Forschung Linear prediction based coding scheme using spectral domain noise shaping
AR085217A1 (es) 2011-02-14 2013-09-18 Fraunhofer Ges Forschung Aparato y metodo para codificar una porcion de una señal de audio utilizando deteccion de un transiente y resultado de calidad
EP2676268B1 (en) 2011-02-14 2014-12-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing a decoded audio signal in a spectral domain
SG192747A1 (en) 2011-02-14 2013-09-30 Fraunhofer Ges Forschung Encoding and decoding of pulse positions of tracks of an audio signal
WO2012110478A1 (en) * 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Information signal representation using lapped transform
FR2977439A1 (fr) * 2011-06-28 2013-01-04 France Telecom Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
WO2013107602A1 (en) 2012-01-20 2013-07-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for audio encoding and decoding employing sinusoidal substitution
EP2757558A1 (en) 2013-01-18 2014-07-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Time domain level adjustment for audio signal decoding or encoding
EP2830065A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for decoding an encoded audio signal using a cross-over filter around a transition frequency
CN105096957B (zh) 2014-04-29 2016-09-14 华为技术有限公司 处理信号的方法及设备
CN105096958B (zh) * 2014-04-29 2017-04-12 华为技术有限公司 音频编码方法及相关装置
US10448053B2 (en) * 2016-02-15 2019-10-15 Qualcomm Incorporated Multi-pass non-separable transforms for video coding
EP3276620A1 (en) 2016-07-29 2018-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Time domain aliasing reduction for non-uniform filterbanks which use spectral analysis followed by partial synthesis
KR102615903B1 (ko) * 2017-04-28 2023-12-19 디티에스, 인코포레이티드 오디오 코더 윈도우 및 변환 구현들

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02134010A (ja) * 1988-11-15 1990-05-23 Sony Corp 信号処理装置
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
GB9509831D0 (en) 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
FR2765419B1 (fr) * 1997-06-27 1999-09-17 Thomson Csf Dispositif de generation de signaux analogiques a partir de convertisseurs analogique-numerique, notamment pour la synthese numerique directe
CA2233831A1 (en) * 1998-03-31 1999-09-30 Tom Riley Digital-sigma fractional-n synthesizer
WO2001095496A1 (fr) 2000-06-06 2001-12-13 Sakai, Yasue Procede et appareil de compression, procede et appareil d'expansion, systeme de compression expansion
DE10129240A1 (de) * 2001-06-18 2003-01-02 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten
US7197525B2 (en) * 2002-11-26 2007-03-27 Analog Devices, Inc. Method and system for fixed point fast fourier transform with improved SNR
DE10331803A1 (de) 2003-07-14 2005-02-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Umsetzen in eine transformierte Darstellung oder zum inversen Umsetzen der transformierten Darstellung

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DE KONING D ET AL: "on psychoacoustic noise shaping for audio requantization" 2003 IEEE Int. Conf. on Acoustics, Speech, and Signal Proc.
GEIGER R ET AL: "Fine grain scalable perceptual and lossless audio coding based on INTMDCT", 2003 IEEE Int. Conf. on Acoustics, Speech, and Signal Proc.
GEIGER R ET AL: "INTMDCT-A link between perceptual and lossless audio coding", 2002 IEEE Int. Conf. on Acoustics, Speech, and Signal Proc.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100992675B1 (ko) 2007-12-21 2010-11-05 한국전자통신연구원 오디오 부호화 및 복호화 방법과 그 장치

Also Published As

Publication number Publication date
CN1860527B (zh) 2010-04-14
JP2007510167A (ja) 2007-04-19
JP4439522B2 (ja) 2010-03-24
CA2541116A1 (en) 2005-04-14
DE10345995A1 (de) 2005-05-12
US20060210180A1 (en) 2006-09-21
US7917564B2 (en) 2011-03-29
PT1647009E (pt) 2007-03-30
BRPI0414618B1 (pt) 2019-02-12
RU2006110566A (ru) 2007-10-20
DE10345995B4 (de) 2005-07-07
ATE349753T1 (de) 2007-01-15
IL173730A0 (en) 2006-07-05
AU2004278828A1 (en) 2005-04-14
IL173730A (en) 2010-06-30
AU2004278828B2 (en) 2008-01-10
RU2325708C2 (ru) 2008-05-27
NO337159B1 (no) 2016-02-01
CN1860527A (zh) 2006-11-08
KR20060054472A (ko) 2006-05-22
BRPI0414618A (pt) 2006-11-07
MXPA06003620A (es) 2006-06-05
CA2541116C (en) 2010-12-21
DE502004002475D1 (de) 2007-02-08
EP1647009B1 (de) 2006-12-27
NO20061870L (no) 2006-04-28
WO2005034088A1 (de) 2005-04-14
EP1647009A1 (de) 2006-04-19
ES2278338T3 (es) 2007-08-01
HK1096760A1 (en) 2007-06-08

Similar Documents

Publication Publication Date Title
KR100778349B1 (ko) 이산값의 시퀀스를 갖는 신호 처리 장치 및 방법
US7873227B2 (en) Device and method for processing at least two input values
US8195730B2 (en) Apparatus and method for conversion into a transformed representation or for inverse conversion of the transformed representation
JP5820464B2 (ja) オーディオまたはビデオエンコーダ、オーディオまたはビデオデコーダ、及び予測方向可変の予測を使用したマルチチャンネルオーディオまたはビデオ信号処理方法
US7275036B2 (en) Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
KR100892152B1 (ko) 시간-이산 오디오 신호를 부호화하기 위한 장치 및 방법그리고 부호화 오디오 데이터를 복호화하기 위한 장치 및방법
KR101226094B1 (ko) 5-포인트 dct-ⅱ, dct-ⅳ, 및 dst-ⅳ 및 아키텍쳐들의 계산을 위한 고속 알고리즘들
JP3814611B2 (ja) 時間離散オーディオサンプル値を処理する方法と装置
MXPA06003309A (en) Device and method for processing at least two input values
Herre Audio Coding Based on Integer Transforms

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: 20121112

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131108

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141111

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151106

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161110

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171106

Year of fee payment: 11