KR101329514B1 - 효율적인 방식으로 변환 값들을 계산하기 위한 방법 및 장치 - Google Patents

효율적인 방식으로 변환 값들을 계산하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101329514B1
KR101329514B1 KR1020107008491A KR20107008491A KR101329514B1 KR 101329514 B1 KR101329514 B1 KR 101329514B1 KR 1020107008491 A KR1020107008491 A KR 1020107008491A KR 20107008491 A KR20107008491 A KR 20107008491A KR 101329514 B1 KR101329514 B1 KR 101329514B1
Authority
KR
South Korea
Prior art keywords
windowing
factors
transform
dct
discrete cosine
Prior art date
Application number
KR1020107008491A
Other languages
English (en)
Other versions
KR20100063122A (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 KR20100063122A publication Critical patent/KR20100063122A/ko
Application granted granted Critical
Publication of KR101329514B1 publication Critical patent/KR101329514B1/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
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

N 포인트 MDCT 변환이 더 작은 크기의 N/2 포인트 DCT-IV 및/또는 DCT-II 변환으로 맵팽되는 더욱 효율적인 인코더/디코더가 제공되는데, 연속한 윈도잉 스테이지에 앞서 이동가능한 사전 곱셈들이 분리된다. 즉, 윈도잉 연산들은 각각 코어 MDCT/IMDCT 함수들에서 첫 번째/최종 스테이지 곱셈들과 통합될 수도 있으며, 결국 전체 수의 곱셈들을 감소시킨다. 부가적으로, MDCT는 오디오 코덱들에서 존재하는 많은 MDCT 설계들에 사용되는 DCT-IV 또는 FFT 코어들에 상반되게 균일하지 않은 스케일링된 5 포인트 DCT-II 코어 함수를 사용함으로써 2의 인자에 의해 체계적으로 데시메이션될 수도 있다. 변형된 윈도잉 스테이지는 변환 스테이지 및 윈도잉 스테이지로부터 인자를 통합하여 피스와이즈 대칭 윈도잉 인자들을 획득하며, 이는 피스와이즈 대칭 윈도잉 인자들의 서스세트로 표현될 수 있으며, 저장 공간을 절약한다. 이러한 특징들은 복잡성은 현저히 감소시키고 종래보다 더 적은 메모리 사용을 초래한다.

Description

효율적인 방식으로 변환 값들을 계산하기 위한 방법 및 장치{A METHOD AND A DEVICE FOR COMPUTING TRANSFORM VALUES IN AN EFFICIENT WAY}
본 출원은 2007년 9월 19일 출원된 "Design of Fast MDCT/IMDCT Module for G.VBR Codec"라는 명칭의 미국 가출원 제 60/973,709 [사건 번호 072441P2], 및 2007년 11월 20일 출원된 "Design of Fixed-Point MDCT/IMDCT Module for G.VBR Codec"라는 명칭의 미국 가출원 제 60/989,400 [사건 번호 080302P1]의 우선권을 청구하며, 상기 가출원은 본 건의 양수인에게 양도되었으며, 본 명세서에 참조로 통합된다.
본 발명은 일반적으로 인코더들 및 디코더들에 관한 것이며, 특히 음성 및 오디오 코덱들에 대한 효율적인 MDCT/IMDCT 구현에 관한 것이다.
오디오 코딩의 일 목적은 가능하면 원음 품질을 유지하면서, 오디오 신호를 원하는 제한된 정보량으로 압축하는 것이다. 인코딩 프로세스에서, 시간 영역에서의 오디오 신호는 주파수 영역으로 변환되며, 대응하는 디코딩 프로세스는 이러한 동작을 역으로 한다.
이러한 인코딩 프로세스의 일부로서, 신호가 변형 이산 코사인 변환(MDCT:modified discrete cosine transform)에 의해 프로세싱될 수도 있다. 변형 이산 코사인 변환(MDCT)은 타입-IV 이산 코사인 변환(DCT-IV)에 기반한 푸리에 관련 변환으로, 일 블록의 끝이 다음 블록의 시작과 일치하도록 블록들이 중첩되는 추가의 특성을 갖는다. 이러한 중첩은 에일리어싱 현상(aliasing artifacts)들을 방지하는데 도움을 주며, DCT의 에너지 집중 특성 외에, MDCT가 신호 압축 애플리케이션에 특히 선호되게 한다.
MDCT 변환은 또한 음성 압축에서의 애플리케이션들을 발견하였다. ITU-T G.722.1 및 G.722.1C 보코더들은 입력 음성 신호에 대해 MDCT를 적용하는 반면, 더욱 최근의 ITU-T G.729.1 및 G.718 알고리즘들은 코드 여기 선형 예측(CELP: Code Excited Linear Prediction)의 사용 후 남아 있는 잔여 신호를 프로세싱하기 위해 이를 사용한다. 전술한 보코더들은 8kHz 또는 16kHz 중 하나의 입력 샘플링 레이트들 및 10 또는 20 밀리초 프레임들로 동작한다. 따라서, 이들의 MDCT 필터뱅크들은 160 또는 320 포인트 변환들 중 하나이다.
그러나 미래의 음성 코더들이 블록 스위칭 기능들을 지원할 것이라면, 감소된 크기들(160, 80, 40 포인트들)에 대한 지원이 또한 필요할 수도 있다.
이하의 설명은 일부 실시예들의 기본적인 이해를 제공하기 위해 하나 이상의 실시예들의 간략한 요약을 제공한다. 이 요약은 모든 고려가능한 실시예들의 광범위한 개요가 아니며, 모든 실시예들의 주요 또는 핵심 엘리먼트들을 식별하거나 모든 또는 임의의 실시예들의 범위를 한정하기 위한 것은 아니다. 요약의 유일한 목적은 이후에 제공되는 더욱 상세한 설명에 대한 서론으로서 간단한 형태로 하나 이상의 실시예들의 소정의 개념들을 제공하는 것이다.
인코딩 방법 및/또는 장치는 변환 값들을 계산하기 위해 제공된다. 오디오 신호를 나타내는 시간 영역 입력 값들이 수신된다. 피스와이즈(piece-wise) 대칭 윈도잉 인자들을 획득하기 위해 변환 연산 및 윈도잉 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수가 생성 또는 획득될 수도 있다. 완전한 세트의 피스와이즈 대칭 윈도잉 인자들이 재구성되게 하는 피스와이즈 대칭 윈도잉 인자들의 서브세트가 저장된다. 피스와이즈 대칭 윈도잉 인자들의 저장된 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대해 고유한 인자들의 적어도 절반을 포함할 수도 있다. 입력 값들을 변환하기 전에, 완전한 세트의 재구성된 피스와이즈 대칭 윈도잉 인자들이 입력 값들에 적용될 수도 있다. 입력 값들은 이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 ―각각의 이러한 변환은 MDCT보다 더 작은 디멘존을 가짐― 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 변환(MDCT)을 이용하여 스펙트럼 계수들로 변환되는데, 여기서, MDCT의 적어도 일부의 곱셈 연산이 입력 값들에 적용되는 이전의 윈도잉 연산과 통합된다. DCT-II는 상이한 크기들의 MDCT들을 구현할 수 있는 5 포인트 변환일 수도 있다. MDCT는 동일한 DCT-II를 이용하여 320, 160, 80, 40 포인트 변환들 중 적어도 두 개를 구현할 수도 있다. 고정 포인트(fixed-point) 구현의 경우, 윈도잉 함수로부터의 출력들에 대한 재규격화 및 동적 범위 평가가 또한 수행될 수도 있다.
디코딩 방법 및/또는 장치는 변환 값들을 계산하기 위해 제공된다. 오디오 신호를 나타내는 스펙트럼 계수들이 수신된다. 스펙트럼 계수들은 이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 ―각각의 이러한 역변환은 IMDCT보다 더 작은 디멘존을 가짐― 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 이용하여 시간 영역 출력 값들로 변환되는데, 여기서, IMDCT의 적어도 일부의 곱셈 연산들이 출력 값들에 적용되는 다음 윈도잉 연산과 통합된다. 예를 들어, IDCT-II는 상이한 크기들의 IMDCT들을 구현하는 5 포인트 역변환이다. IMDCT는 동일한 코어 IDCT-II를 이용하여 320, 160, 80, 40 포인트 역변환들 중 적어도 두 개를 구현할 수도 있다. 부가적으로, 피스와이즈(piece-wise) 대칭 윈도잉 인자들을 획득하기 위해 변환 연산 및 윈도잉 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수가 생성될 수도 있다. 완전한 세트의 피스와이즈 대칭 윈도잉 인자들이 재구성될 수 있게 하는 피스와이즈 대칭 윈도잉 인자들의 서브세트가 저장될 수도 있다. 피스와이즈 대칭 윈도잉 인자들의 저장된 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대해 고유한 인자들의 적어도 절반을 포함한다. 완전한 세트의 재구성된 피스와이즈 대칭 윈도잉 인자들은 스펙트럼 계수들을 변환한 후 출력 값들에 적용될 수도 있다. 고정 포인트(fixed-point) 구현의 경우, 재규격화 및 동적 범위 평가가 윈도잉 함수로부터의 출력들에 대해 수행될 수도 있다.
또 다른 예는 윈도잉 연산을 실행하기 위한 방법 및/또는 장치를 증명한다. 피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 변환 스테이지 및 윈도잉 스테이지로부터의 인자들을 통합하는 변형 윈도잉 함수가 생성된다. 피스와이즈 대칭 윈도잉 인자들은 스플리팅되어 피스와이즈 대칭 윈도잉 인자들의 서브세트를 획득하고 고유한 인자들의 전체 수를 감소시킬 수도 있다. 완전한 세트의 피스와이즈 대칭 윈도잉 인자들이 재구성될 수 있게 하는 피스와이즈 대칭 윈도잉 인자들의 서브세트가 저장될 수도 있다. 피스와이즈 대칭 윈도잉 인자들의 저장된 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대해 고유한 인자들의 적어도 절반을 포함한다. 계속해서, 오디오 신호를 나타내는 입력 값들이 수신될 수도 있다. 재구성된 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 윈도잉된(windowed) 출력 값들을 제공하기 위해 입력 값들에 적용될 수도 있다.
일례에서, 윈도잉 스테이지는 변환 스테이지 이전에 발생할 수도 있다. 변환 스테이지는 이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 ―각각의 이러한 변환은 MDCT보다 더 작은 디멘존을 가짐― 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 변환(MDCT)을 구현할 수도 있다. 변환 스테이지 인자들은 코사인 인자들일 수도 있다.
다른 예에서, 윈도잉 스테이지는 변환 스테이지 이후에 발생할 수도 있다. 변환 스테이지는 이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 ―각각의 이러한 역변환은 IMDCT보다 더 작은 디멘존을 가짐― 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 구현할 수도 있다.
다양한 특징, 특성 및 장점들은 첨부된 도면을 참조할 때 이하의 상세할 설명으로부터 명백하게 될 수도 있으며, 동일한 참조 부호를 도면 전체에서 동일시된다.
도1은 MDCT 분석 필터뱅크를 포함할 수도 있는 인코더의 예를 나타낸 블록도이다.
도2는 IMDCT 합성 필터뱅크를 포함할 수도 있는 디코더의 예를 나타낸 블록도이다.
도3은 N/2 포인트 DCT-IV 코어 함수에 기초하여 MDCT 변환이 어떻게 구현될 수 있는 지를 설명한다.
도4는 N/2 포인트 IDCT-IV 코어 함수에 기초하여 IMDCT 변환이 어떻게 구현될 수 있는 지를 설명한다.
도5는 인코더 MDCT 변환의 일부로서 구현될 수도 있는 5 포인트 DCT-II 변환을 설명하는 도면이다.
도6은 디코더 IMDCT 변환의 일부로서 구현될 수도 있는 5 포인트 IDCT-II 변환을 설명하는 도면이다.
도7은 길이 N=10 포인트들의 DCT-IV 변환이 두 개의 DCT-II 변환들을 이용하여 어떻게 구현되는 지의 예를 나타낸 블록도이다.
도8은 길이 N=10 포인트들의 IDCT-IV 변환이 두 개의 IDCT-II 변환들을 이용하여 어떻게 구현되는 지의 예를 나타낸 블록도이다.
도9는 윈도잉 함수의 피스와이즈 대칭 특성을 나타낸 그래프이다.
도10은 변환 값들을 계산하기 위한 장치를 설명하는 블록도이다.
도11은 코어 DCT-II 변환에 기초한 MDCT 변환을 이용하여 신호를 인코딩하기 위한 방법의 예를 설명한다.
도12는 변환 값들을 계산하기 위한 장치를 설명하는 블록도이다.
도13은 코어 IDCT-II 변환에 기초한 IMDCT 변환을 이용하여 신호를 디코딩하기 위한 방법의 예를 도시한다.
도14는 윈도잉 연산들을 실행하기 위한 장치를 설명하는 블록도이다.
도15는 윈도잉 연산을 실행하기 위한 방법의 예를 설명한다.
다양한 실시예들이 도면을 참조하여 설명되며, 동일한 참조 번호는 동일한 엘리먼트들을 참조하기 위해 사용된다. 이하의 기재에서, 설명을 위해, 다양한 특정 실시예들이 하나 이상의 실시예들의 전체적인 이해를 제공하기 위해 설명된다. 그러나 이러한 실시예(들)가 특정 세부 사항들 없이 실시될 수도 있음이 명백하다. 다른 예들에서, 공지된 구조들 및 장치들은 하나 이상의 실시예들의 설명을 용이하게 하기 위해 블록도의 형태로 도시된다.
개관
일 특징은 다음 윈도잉 스테이지로 진행될 수 있는 분리된 사전 곱셈을 이용하여 N 포인트 MDCT 변환을 더 작은 크기의 N/2 포인트 DCT-IV 및 DCT-II 변환들로 맵핑함으로써 N 포인트 MDCT 변환을 수행한다. 즉, 윈도잉 연산들은 코어 MDCT/IMDCT 함수들에서 최초/최종 스테이지 곱셈들과 통합될 수도 있으며, 결국 전체 곱셈들의 회수를 감소시킨다. 부가적으로, MDCT는 오디오 코덱들의 기존 MDCT 설계들에 사용되는 FFT 또는 DCT-IV와 대조적으로 (최대 5회의 비자명(non-trivial) 곱셈들을 이용하는) 균일하게 스케일링된 5포인트 DCT-II 코어 함수를 사용함으로써 인자 2에 의해 체계적으로 데시메이션(decimated)될 수도 있다.
변형 윈도잉 스테이지는 인자들의 절반을 이용하여 저장될 수 있는 피스와이즈 대칭 인자들을 제공한다. 이러한 특징들은 종래 기술보다 더 적은 메모리 사용 및 현저한 복잡도 감소를 제공한다.
코덱 구조
도1은 MDCT 분석 필터뱅크를 포함할 수도 있는 인코더의 예를 설명하는 블록도이다. 인코더(102)는 입력 오디오 신호(104)를 수신할 수도 있다. MDCT 분석 필터뱅크(106)(즉, 타입-IV 이산 코사인 변환에 기초한 변형 이산 코사인 변환)는 시간 영역 입력 오디오 신호(104)를 다수의 서브 대역 신호들로 분해하고 신호들을 주파수 영역으로 전환시키도록 동작하는데, 각각의 서브대역 신호는 블록 별로 서브대역당 변환 계수로 전환된다. 이어 결과 신호는 양자화기(108)에 의해 양자화되고 엔트로피 인코더(110)에 의해 인코딩되어 디지털화된 오디오 신호의 비트스트림(112)을 생성한다. 일례에 따르면, MDCT 분석 필터뱅크(106)는 윈도잉 함수(114), 변환(116)(예를 들어, 시간 영역에서 주파수 영역으로) 및/또는 스케일링 함수(118)에 의해 구현될 수도 있다. 윈도잉 함수(114), 변환(116) 및/또는 스케일링 함수(116)를 포함하는 MDCT 분석 필터뱅크(106)는 (예를 들어, 프로세서, 회로, 프로그램 가능한 로직 장치 등과 같은) 하드웨어, 소프트웨어(예를 들어, 프로세서에 의해 실행가능한 명령들), 및/또는 이들의 결합으로 구현될 수도 있다.
도2는 IMDCT 합성 필터뱅크를 포함할 수 있는 디코더의 예를 설명하는 블록도이다. 디코더(202)는 비트스트림(204)을 수신할 수도 있다. 엔트로피 디코더(206)는 비트스트림(204)을 디코딩하고, 이어 비트스트림은 역양자화기(208)에 의해 역양자화되어 주파수 영역 신호를 생성한다. IMDCT 합성 필터뱅크(210)(즉, 타입-IV 이산 코사인 변환에 기초한 변형 이산 코사인 역변환)는 주파수 영역 신호(104)를 다시 시간 영역 오디오 신호(212)로 전환시키도록 동작한다. IMDCT 합성 필터뱅크(210)는 MDCT 분석 필터뱅크(106)의 연산들을 역으로 실행할 수도 있다. 일례에 따르면, IMDCT 합성 필터뱅크(210)는 스케일링 함수(214), 역변환(216)(예를 들어, 주파수 영역에서 시간 영역으로) 및 윈도잉 플러스 오버랩 및 합성 함수(218)로 구현될 수도 있다. 스케일링 함수(214), 역변환(216) 및/또는 윈도잉 함수(218)를 포함하는 IMDCT 합성 필터뱅크(210)는 (예를 들어, 프로세서, 회로, 프로그램 가능한 로직 장치 등과 같은) 하드웨어, 소프트웨어(예를 들어, 프로세서에 의해 실행가능한 명령들), 및/또는 이들의 결합으로 구현될 수도 있다.
DCT - IV DCT - II 를 이용하는 MDCT 의 구현
일 특징에 따라, 변환(116)(도1) 및 역변환(216)(도2)은 각각 하나 이상의 DCT-II (및 IDCT-II) 변환으로서 구현될 수 있는 하나 이상의 DCT-IV (및 IDCT-IV)에 의해 데시메이션 및 구현될 수도 있다.
변형 이산 코사인 변환(MDCT)은 다음과 같이 정의될 수 있다.
Figure 112010024765784-pct00001
식(1)
마찬가지로, 역 MDCT(IMDCT)는 다음과 같이 정의될 수 있다.
Figure 112010024765784-pct00002
식(2)
여기서, x(n)(n=0, 1, ..., N-1)는 샘플들의 입력 시퀀스들을 나타내며, N은 프레임 길이를 나타내고, X(k)는 결과 MDCT 계수들이며,
Figure 112010024765784-pct00003
은 재구성된 출력들을 나타낸다.
행렬 표현을 이용하여, MDCT 변환은 행렬 M으로 표현될 수 있다.
Figure 112010024765784-pct00004
여기서,
Figure 112010024765784-pct00005
식(3)
따라서,
Figure 112010024765784-pct00006
이고
Figure 112010024765784-pct00007
이며, 여기서, x는 입력 샘플들의 행렬
Figure 112010024765784-pct00008
을 나타내며, X는 결과 MDCT 계수들의 행렬
Figure 112010024765784-pct00009
을 나타내며,
Figure 112010024765784-pct00010
는 재구성된 출력들의 행렬
Figure 112010024765784-pct00011
을 나타낸다.
MDCT 변환을 구현하기 위해, MDCT 변환은 N/2 포인트 DCT-IV 코어 함수로 맵핑될 수도 있다. 예를 들어, 도1의 변환(116)은 하나 이상의 N/2 포인트 DCT-IV 변환들로서 구현될 수도 있다.
DCT-IV 변환은 다음과 같이 정의될 수 있다.
Figure 112010024765784-pct00012
식(4)
한편, IDCT-IV 변환은 다음과 같이 정의될 수 있다.
Figure 112010024765784-pct00013
식(5)
MDCT 변환은
Figure 112010024765784-pct00014
(식(6)) 같은 N/2 포인트 DCT-IV 변환으로 맵핑될 수 있으며, IMDCT 변환은
Figure 112010024765784-pct00015
(식 (7)) 같은 N/2 포인트 IDCT-IV 변환으로 맵핑될 수 있으며, 여기서, P는 다음과 같다.
Figure 112010024765784-pct00016
식(8)
여기서, IN /4는 N/4 x N/4 항등 행렬(identity matrix)이고, JN /4는 N/4 x N/4차 리버스(reversal) 행렬이며, 행렬 S는 다음과 같이 정의되며,
Figure 112010024765784-pct00017
식(9)
Figure 112010024765784-pct00018
는 다음과 같이 정의될 수 있는 N/2 x N/2 DCT-IV 행렬이다.
Figure 112010024765784-pct00019
식(10)
DCT-IV 행렬의 대칭 및 대합(involutory) 특성을 이용함으로써, DCT-IV 행렬은 DCT-II 변환으로 맵핑될 수 있다. DCT-II 변환은 다음과 같이 정의된다.
Figure 112010024765784-pct00020
식(11)
마찬가지로, IDCT-II 변환은 다음과 같이 정의된다.
Figure 112010024765784-pct00021
식(12)
여기서, k=0일 때,
Figure 112010024765784-pct00022
이며, 그렇지 않으면, 1이다.
도3은 N/2 포인트 DCT-IV 코어 함수에 기초하여 MDCT 변환이 어떻게 구현되는 지를 도시한다. MDCT 변환은 시간 영역 입력 샘플들을 주파수 영역 출력 샘플들로 변환하는 인코더의 일부로서 구현될 수도 있다. 입력 시퀀스(X(3N/4) 내지 X(N/4)(304))에 대해, MDCT 변환은 출력들(308)을 생성하기 위한 DCT-IV 변환(302) 이전에 코사인 인자들(306)에 의해 표현될 수 있다. 후술되듯이, 코사인 인자들(306)은 인코더 내의 사전 윈도잉 스테이지/함수 내에 흡수될 수 있다.
마찬가지로, 도4는 N/2-포인트 IDCT-IV 코어 함수에 기초하여 IMDCT 변환이 어떻게 구현되는 지를 나타낸다. IMDCT 변환은 주파수 영역 입력 샘플들을 시간 영역 출력 샘플들로 변환시키는 디코더의 일부로서 구현될 수도 있다. 입력 시퀀스(X(O) 내지 X(N/2-l)(404))에 대해, IMDCT 변환은 출력들(408)을 생성하기 위한 코사인 인자(406) 이전에 IDCT-IV 변환(402)으로 표현될 수 있다. 후술되듯이, 코사인 인자들(406)은 디코더 내의 다음 윈도잉 스테이지/함수 내로 흡수될 수 있다. 동일한 윈도잉 함수가 인코더 및 디코더에 모두 사용된다는 가정하에, 도4에 도시된 IMDCT 맵핑 및 코사인 인자들은 MDCT 맵핑의 연산들을 역으로 수행하도록 작용한다.
이러한 맵핑들 모두에서 코사인 인자들(306 및 406)의 사용(도3 및 4)은 제로 또는 거의 제로 값에서 수치적 안정성을 제공하는데, 이는 다른 타입의 인자들(예를 들어, 역 코사인 인자들)로 달성될 수 없는 것이다.
MDCT 및 IMDCT 변환들에 대한 입력이 다수의 데이터 포인트들을 갖는 블록들 또는 프레임들로서 프로세싱될 수도 있음을 주목해야 한다. 따라서, 보코더(예를 들어, G.VBR 코덱)가 320보다 작은 프레임 길이들을 갖는 데이터 블록들을 지원하기 위해, 데시메이팅된 크기들의 변환들이 요구된다. 160, 80, 40 등의 프레임 길이를 갖는 블록들의 경우, 이러한 크기들이 모두 5의 배수들임이 관찰된다. 따라서, (데시메이션 기술들에 의한) 최종적인 감소 불가능한 블록 크기는 크기 5의 변환을 사용할 수 있다. 데시메이션 기술들에 관하여, DCT-IV 변환 또는 FFF 변환 중 하나보다는 5 포인트 DCT-II 변환을 설계하는 것이 더욱 효율적임이 관찰된다.
DCT-IV 변환은
Figure 112010024765784-pct00023
(식(13))처럼 DCT-II 변환으로 맵핑될 수도 있으며, 여기서, D는 성분
Figure 112010024765784-pct00024
(식(14))을 갖는 대각 행렬이고,
Figure 112010024765784-pct00025
식(15)이며,
Figure 112010024765784-pct00026
Figure 112010024765784-pct00027
식(16)으로 정의되는 N/2 x N/2 DCT-II 행렬일 수도 있다.
도5는 인코더 MDCT 변환의 일부로서 구현될 수 있는 5 포인트 DCT-II 변환의 인수 분해(factorization)를 도시하는 도면이다. 이런 변환에서 인자 α는 2진 유리수(dyadic rational)이며, α에 의한 곱셈은 바로 2진 시프트 연산이다. 이러한 5포인트 변환은 평면 회전(planar rotation) 및 5회의 곱셈을 이용함으로써, 또는 평면 회전을 인수 분해하거나 리프팅 스텝들을 이용하여 4회의 곱셈을 이용함으로써 구현될 수 있다. 입력들(x)(502)의 5 포인트 시퀀스에 대해, 5 포인트 DCT-II 변환에 대한 출력들(
Figure 112010024765784-pct00028
)(504)은 4회의 비자명 곱셈들 및 13회의 합산 또는 5회의 곱셈들 및 13회의 합산들을 이용하여 생성될 수 있다. DCT-II 변환 출력들(
Figure 112010024765784-pct00029
)은 다음과 같이 생성된다.
Figure 112010024765784-pct00030
도6은 디코더 IMDCT 변환의 일부로서 구현될 수도 있는 5 포인트 IDCT-II 변환을 설명하는 도면이다. 즉, 상기 IDCT-II 변환은 디코더 IMDCT 변환을 위해 IDCT-IV 변환(도4)을 구현하도록 사용될 수도 있다. 이는 평면 회전 및 5회의 곱셈들을 이용하거나, 평면 회전의 인수 분해 또는 리프팅 스텝들의 이용에 의한 4회의 곱셈들을 이용함으로써 구현될 수 있다. 입력들(
Figure 112010024765784-pct00031
)(602)의 5 포인트 시퀀스의 경우, 5 포인트 IDCT-II 변환에 대한 출력들(
Figure 112010024765784-pct00032
)(604)은 도시된 바와 같이, 4회의 비자명 곱셈들 및 13회의 합산들 또는 5회의 비자명 곱셈들 및 12회의 합산들을 이용하여 생성될 수 있다. IDCT-II 변환 출력들(
Figure 112010024765784-pct00033
)은 다음과 같이 생성된다.
Figure 112010024765784-pct00034
도7은 길이 N=10 포인트의 DCT-IV 변환이 두 개의 DCT-II 변환들(N=5포인트)을 이용하여 어떻게 구현될 수 있는 지를 나타낸 블록도이다. 10개의 입력 포인트들의 시퀀스( x(0),..., x(9)(702))의 경우, 10 포인트 DCT-IV 변환이 두 개의 5 포인트 DCT-II 변환들(704 및 706) 및 인자들(708)에 의해 구현되어 출력 계수들(
Figure 112010024765784-pct00035
(710))을 생성할 수 있다. 이러한 방식으로, 코어 5 포인트 DCT-II 변환은 160, 80, 40 등의 프레임 길이들을 프로세싱할 수 있는 변환들을 구현하는데 사용될 수도 있다.
도8은 두 개의 IDCT-II 변환들(N=5포인트)을 이용하여 길이 N=10 포인트들의 IDCT-IV 변환이 어떻게 구현되는 지의 예를 나타낸 블록도이다. 10개의 입력 포인트들(
Figure 112010024765784-pct00036
(802))의 시퀀스의 경우, 10 포인트 IDCT-IV 변환은 두 개의 5 포인트 DCT-II 변환들(804 및 806) 및 인자들(808)에 의해 구현되어 출력 계수들(
Figure 112010024765784-pct00037
(810))을 생성할 수 있다. 이러한 방식으로, 코어 5 포인트 IDCT-II 변환은 160, 80, 40 등의 프레임 길이들을 프로세싱할 수 있는 변환들을 구현하는데 사용될 수도 있다.
곱셈 인자들을 윈도잉 스테이지로 통합
MDCT 변환은 (G.VBR 코덱 같은) 음성 및 오디오 코딩 알고리즘들에 종종 사용되며, 본질적으로 윈도잉 함수 h(n)와 결합되는 스케일링된 MDCT이다.
Figure 112010024765784-pct00038
식(17)
여기서, f(n)은 입력 데이터 샘플들을 나타내며, h(n)은 윈도잉 함수이며, F(k)는 출력 MDCT 스펙트럼 계수들을 나타낸다. 예를 들어, 윈도잉 함수 h(n)는 예를 들어, 사인파 함수일 수도 있다.
Figure 112010024765784-pct00039
식(18)
전술한 바와 같이, DCT-IV 변환을 MDCT 변환으로 맵핑하는데 관여하는 사전 곱셈 인자들(예를 들어, 도3의 306)은 물론, IDCT-IV 변환을 IMDCT 변환으로 맵핑하는데 관여하는 사후 곱셈 인자들(예를 들어, 도4의 406)은 이들 각각의 윈도잉 스테이지 내로 통합될 수 있다. 예를 들어, 윈도잉 함수는 다음과 같이 정의된 사인파 함수일 수도 있다.
Figure 112010024765784-pct00040
식(19)
이러한 윈도잉 함수 h(n) 및 변환 인자들의 결합은 다음과 같은 변형 윈도잉 함수를 생성한다.
Figure 112010024765784-pct00041
식(20)
O ≤ n < N/4의 경우,
Figure 112010024765784-pct00042
식(21)
N/4 ≤ n < 3N/4인 경우,
Figure 112010024765784-pct00043
식(22)
이러한 통합 또는 결합된 윈도잉 인자들은 사전 계산 및/또는 저장될 수도 있다. 코사인 인자들(도3의 306 및 도4의 406)의 경우, 이들은 일단 통합되면 피스와이즈 인자들을 제공한다. 결론적으로, 변형 윈도잉 함수의 경우, 인자들의 단지 서브세트(예를 들어, 절반)가 저장될 필요가 있다. 값들에 대한 윈도잉 연산 동안, 저장된 인자들의 서브세트가 이들의 피스와이즈 대칭 특성들에 따라 리트리뷰(retrieved)되고 사용될 수 있다.
도9는 (식 20의) 윈도잉 함수의 피스와이즈 대칭 특성을 나타내는 그래프이다. 대칭 사인 윈도잉와 비교하면, 윈도잉 인자들의 단지 절반(902 및 904)이 저장되기 때문에, 윈도잉 인자들은 동일한 양의 메모리를 사용하여 저장될 수 있다. 이러한 예에서, N=640 샘플들/인자들 및 도시된 피스와이즈 대칭 윈도잉의 경우, 제1 세트의 160개 샘플들(즉, 0 내지 N/4-1)은 대칭 부분이기 때문에 단지 처음 80개 샘플들 또는 인자들(902)에 의해 표현될 수도 있다. 마찬가지로, 제2 세트의 480개 샘플들/인자들(즉, N/4 내지 N)은 단지 처음 240개 샘플들 또는 인자들(904)에 의해 표현될 수도 있다. 결론적으로, 인자들의 단지 절반이 저장되며, 그로 인해 메모리 공간을 절약한다. 부가적으로, 샘플 포인트들의 이러한 감소는 윈도잉 인자들의 리트리뷰에 사용되는 메모리 액세스들의 수를 감소시키기 때문에 또한 더욱 고속의 프로세싱을 초래할 수도 있다.
MDCT 변환을 이용하는 인코딩의 예
도10은 변환 값들을 계산하기 위한 장치를 나타낸 블록도이다. 장치(1002)는 입력 모듈(1006), 윈도잉 모듈(1010) 및/또는 변환 모듈(1014)을 포함할 수도 있다. 입력 모듈(1006)은 오디오 신호(1004)를 수신하여 오디오 신호를 나타내는 시간 영역 입력 값들(1008)을 제공하도록 적용될 수도 있다. 윈도잉 모듈(1010)은 피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 변환 연산 및 윈도잉 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성할 수도 있다. 예를 들어, 윈도잉 모듈(1010)은 통합 모듈(1018), 인자 스플리팅 모듈(1019), 저장 모듈(1012) 및/또는 윈도잉 함수(1022)를 포함할 수도 있다. 통합 모듈(1018)은 피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 변환 연산 및 윈도잉 연산으로부터의 통합 인자들의 함수를 수행할 수도 있다. 예를 들어, 코사인 인자들(306)(도3)은 다른 윈도잉 함수 인자들과 통합될 수도 있다. 이어 인자 스플리팅 모듈(1019)은 (도9에 도시된 바와 같이) 피스와이즈 대칭 윈도잉 인자들의 서브세트를 획득할 수도 있다. 이어 저장 모듈(1020)은 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장할 수도 있으며, 그로부터 완전한 세트의 피스와이즈 대칭 윈도잉 인자들이 재구성될 수 있다. 예를 들어, 피스와이즈 대칭 윈도잉 인자들의 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대한 고유한 인자들의 적어도 절반을 포함할 수도 있다. (윈도잉 함수(1022)를 거친) 윈도잉 모듈(1010)은 입력 값들을 변환(그로 인해 윈도잉된 입력 값들(1012)을 획득함)하기 전에 입력 값들(1008)에 대해 완전한 세트의 재구성된 피스와이즈 대칭 윈도잉 인자들을 적용시키도록 추가로 재구성될 수도 있다.
변환 모듈(1014)은 윈도잉된 입력 값들(1012)을 예를 들어, 변형 이산 코사인 변환(MDCT)을 사용하여 스펙트럼 계수들(1016)로 변환할 수도 있다. MDCT는 이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 중 적어도 하나로 순환적으로 스플리팅될 수도 있으며, 여기서 각각의 이러한 변환은 MDCT보다 더 작은 디멘존이며, MDCT의 적어도 일부의 곱셈 연산들은 입력 값들에 적용되는 이전의 윈도잉 연산과 통합된다. 일례에서, DCT-II는 도5에 설명된 DCT-II 처럼 상이한 크기들의 MDCT들을 구현하는 5 포인트 변환일 수도 있다. MDCT는 동일한 코어 DCT-II를 이용하는 320, 160, 80, 40 포인트 변환들 중 적어도 두 개를 구현할 수도 있다. 장치(1002)의 컴포넌트들은 하드웨어, 소프트웨어, 및/또는 이 둘의 결합으로 구현될 수도 있다. 예를 들어, 장치(1002)는 컴포넌트들 또는 모듈들의 함수들을 구현하는 프로세서 및/또는 회로일 수도 있다.
도11은 코어 DCT-II 변환에 기초한 MDCT 변환을 이용하여 신호를 인코딩하기 위한 방법의 예를 나타낸다. 오디오 신호를 나타내는 시간 영역 입력 값들이 수신(1102)될 수도 있다. 예를 들어, 아날로그 오디오 신호(예를 들어, 음성 신호, 음악, 비디오 등)는 입력 값들을 획득하기 위해 샘플링될 수도 있다.
일례에서, 변환 연산 및 윈도잉 연산으로부터의 인자들을 통합하여 피스와이즈 대칭 윈도잉 인자들을 획득하는 변형 윈도잉 함수가 생성(1004)될 수도 있다. 이어 피스와이즈 대칭 윈도잉 인자들의 서브세트가 저장되며, 그로부터 완전한 세트의 피스와이즈 대칭 윈도잉 인자들이 재구성(1106)될 수 있다. 입력 값들을 변환하기 전에, 완전한 세트의 재구성된 피스와이즈 대칭 윈도잉 인자들이 입력 값들에 적용(1108)될 수도 있다. 예를 들어, MDCT 변환을 위해 도3에 설명된 코사인 인자들(참조 번호 306)은 이전의 윈도잉 연산에서 적용될 수도 있다. 피스와이즈 대칭 윈도잉 인자들의 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대한 고유한 인자들의 적어도 절반을 포함할 수도 있다.
(윈도잉 연산으로부터의) 결과 (윈도잉된) 입력 값들은 이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 변환(MDCT)을 이용하여 스펙트럼 계수들로 변환(1110)될 수도 있으며, 여기서 각각의 이러한 변환은 MDCT보다 더 작은 디멘존이며, MDCT의 적어도 일부의 곱셈 연산들은 입력 값들에 적용되는 이전의 윈도잉 연산과 통합된다. 예를 들어, MDCT는 코어 DCT-II(예를 들어, 도5에서의 변환)를 기초로 구현되는 이산 코사인 변환 타입 IV(DCT-IV)를 기초로 구현될 수도 있다. DCT-II는 상이한 크기들의 MDCT들을 구현하는 5 포인트 변환일 수도 있다. 예를 들어, MDCT는 동일한 코어 DCT-II를 이용하는 320, 160, 80, 40 포인트 변환들 중 적어도 두 개를 구현할 수도 있다. 코어 DCT-II는 5회의 곱셈 연산들 및 12회의 합산 또는 4회의 곱셈 연산들 및 13회의 합산들을 포함할 수도 있다.
부가적으로, 고정 포인트 구현들의 경우, 동적 범위 추정 및/또는 재규격화가 윈도잉 함수로부터의 출력들에 대해 수행(1112)될 수도 있다. 일례에서, 재규격화는 모든 중간 값들을 (버퍼에서) 좌측으로 시프팅함으로써 행해져서, 변환에서 다음 스테이지들에서의 오버플로우를 방지하기 위해 헤드룸으로서 적어도 1 비트를 보존할 수도 있다.
IMDCT 변환을 이용하는 디코딩의 예
도12는 변환 값들을 계산하기 위한 장치를 설명하는 블록도이다. 장치(1202)는 입력 모듈(1206), 역변환 모듈(1208) 및/또는 윈도잉 모듈(1212)을 포함할 수도 있다. 역변환 모듈(1208)은 스펙트럼 계수들(1204)을 출력 값들(1210)로 변환하기 위해 적용될 수도 있다. 예를 들어, 역변환 모듈은, 이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 이용하여 스펙트럼 계수들(1204)을 시간 영역 출력 값들(1210)로 변환할 수도 있는데, 여기서, 각각의 이러한 역변환은 IMDCT보다 더 작은 디멘존을 가지며, IMDCT의 적어도 일부의 곱셈 연산들이 출력 값들(1210)에 적용되는 다음 윈도잉 연산(1212)과 통합된다.
윈도잉 모듈(1212)은 변환 연산 및 윈도잉 함수로부터의 인자들을 통합하여 피스와이즈 대칭 윈도잉 인자들을 획득하는 변형 윈도잉 함수를 생성할 수도 있다. 예를 들어, 윈도잉 모듈(1212)은 통합 모듈(1218), 인자 스플리팅 모듈(1219), 저장 모듈(1220), 및/또는 윈도잉 함수(1222)를 포함할 수도 있다. 통합 모듈(1218)은 역변환 연산 및 윈도잉 연산으로부터의 인자들을 통합하는 함수를 실행하여 피스와이즈 대칭 윈도잉 인자들을 획득할 수도 있다. 예를 들어, 코사인 인자들(406)(도4)은 다른 윈도잉 함수 인자들과 통합될 수도 있다. 이어 인자 스플리팅 모듈(1219)은 (도9에 도시된 바와 같이) 피스와이즈 대칭 윈도잉 인자들의 서브세트를 획득할 수도 있다. 이어 저장 모듈(1220)은 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장할 수도 있으며, 이로부터 완전한 세트의 피스와이즈 대칭 윈도잉 인자들이 재구성될 수 있다. 예를 들어, 피스와이즈 대칭 윈도잉 인자들의 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대한 고유한 인자들의 적어도 절반을 포함할 수도 있다. (윈도잉 함수(1222)를 거친) 윈도잉 모듈(1212)은 스펙트럼 계수들(1204)의 변환 이후 완전한 세트의 재구성된 피스와이즈 대칭 윈도잉 인자들을 출력 값들(1210)에 적용하도록 추가로 구성될 수도 있다(그로 인해 윈도잉된 출력 값들(1214)을 획득함). 장치(1202)의 컴포넌트들은 하드웨어, 소프트웨어, 및/또는 이들의 결합으로 구현될 수도 있다. 예를 들어, 장치(1202)는 컴포넌트들 또는 모듈들의 기능들을 구현하는 프로세서 및/또는 회로일 수도 있다.
도13은 코어 IDCT-II 변환에 기초한 IMDCT 변환을 이용하여 신호를 디코딩하는 방법의 예를 도시한다. 오디오 신호를 나타내는 스펙트럼 계수들이 수신 또는 획득(1302)된다. 스펙트럼 계수들은 이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 이용하여 시간 영역 출력 값들로 변환(1304)될 수도 있는데, 여기서, 각각의 이러한 역변환은 IMDCT보다 더 작은 디멘존을 가지며, IMDCT의 적어도 일부의 곱셈 연산들이 출력 값들에 적용되는 다음 윈도잉 연산과 통합된다. 코어 IDCT-II는 상이한 크기들의 IMDCT들을 구현하는 5 포인트 역변환일 수도 있다. IMDCT는 동일한 코어 IDCT-II를 이용하여 320, 160, 80, 40 포인트 역변환들 중 적어도 두 개를 구현한다. 다양한 구현들에서, IDCT-II는 5회의 곱셈 연산들 및 12회의 합산들 또는 4회의 곱셈 연산들 및 13회의 합산들을 포함할 수도 있다.
부가적으로, 변환 연산 및 윈도잉 연산으로부터의 인자들을 통합하여 피스와이즈 대칭 윈도잉 인자들을 획득하는 변형 윈도잉 함수가 생성(1306)될 수도 있다. 피스와이즈 대칭 윈도잉 인자들의 서브세트가 저장될 수도 있으며, 이로부터 완전한 세트의 피스와이즈 대칭 윈도잉 인자들이 재구성(1308)될 수 있다. 피스와이즈 대칭 윈도잉 인자들의 저장된 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대해 고유한 인자들의 적어도 절반을 포함할 수도 있다. 이어 완전한 세트의 재구성된 피스와이즈 대칭 윈도잉 인자들이 스펙트럼 계수들을 변환한 후 출력 값들에 적용(1310)될 수도 있다.
선택적으로, 고정 포인트 구현들의 경우, 동적 범위 추정 및 재규격화가 윈도잉 함수에 대한 입력들에 대해 수행(1305)될 수도 있다. 동적 범위 추정 및 재규격화는 MDCT 대 DCT-IV 맵핑에서 모든 순환적으로 프로세싱된 계수간 감산들 이후 실행될 수도 있다. 재규격화는 모든 중간 값들을 좌측으로 시프팅(비트 시프팅)함으로써 실시되어, 이는 다음 변환 스테이지들에서 오버플로우를 방지하도록 헤드룸으로서 적어도 두 개의 비트들을 보존할 할 수도 있다. 동적 영역 확장을 보상하기 위해, IMDCT 변환에서 모든 중간 스테이지들이 자신의 결과량을 1 비트씩 우측으로 시프팅할 수도 있다.
피스와이즈 대칭 윈도잉 인자들의 저장
도14는 윈도잉 연산들을 실행하기 위한 장치를 설명하는 블록도이다. 장치(1402)는 통합 모듈(1404), 인자 스플리팅 모듈(1405), 저장 모듈(1406), 수신기 모듈(1408) 및/또는 윈도잉 모듈(1410)을 포함할 수도 있다. 통합 모듈(1404)은 변환 스테이지 및 윈도잉 스테이지(1412 및 1414)로부터의 인자들을 통합하여 피스와이즈 대칭 윈도잉 인자들(1420)을 획득하는 변형 윈도잉 함수를 구성 또는 생성할 수도 있다. 인자 스플리팅 모듈(1405)은 완전한 세트의 획득된 피스와이즈 대칭 윈도잉 인자들(1420)을 피스와이즈 대칭 윈도잉 인자들의 서브세트(1423)로 스플리팅할 수도 있다. 인자들의 이러한 스플리팅은 예를 들어, 도9에 설명된다. 저장 모듈(1406)은 피스와이즈 대칭 윈도잉 인자들의 서브세트(1423)를 저장할 수도 있으며, 이로부터 완전한 세트의 피스와이즈 대칭 윈도잉 인자들(1420)이 재구성될 수 있다. 수신기 모듈(1408)은 오디오 신호를 나타내는 입력 값들(1416)을 수신할 수도 있다. 윈도잉 모듈(1410)은 (재구성된) 완전한 세트의 재구성된 피스와이즈 대칭 윈도잉 인자들을 입력 값들(1416)에 적용시키고 윈도잉된 출력 값들(1418)을 제공할 수도 있다. 결론적으로, 단지 윈도잉 인자들의 서브세트가 저장되기 때문에, 이는 저장 공간을 절약하고 윈도잉 장치가 더욱 효율적이게 한다. 장치(1402)의 컴포넌트들은 하드웨어, 소프트웨어 및/또는 이들의 결합으로 구현될 수도 있다. 예를 들어, 장치(1402)는 컴포넌트 또는 모듈들의 기능들을 구현하는 프로세서 및/또는 회로일 수도 있다.
도15는 윈도잉 연산을 실행하기 위한 방법의 예를 설명한다. 변환 스테이지 및 윈도잉 스테이지로부터의 인자들을 통합하여 피스와이즈 대칭 윈도잉 인자를 생성할 수도 있는 변형 윈도잉 함수가 생성(1502)될 수도 있다. 피스와이즈 대칭 윈도잉 인자들의 세트는 피스와이즈 대칭 윈도잉 인자들의 서브세트를 획득하고 고유한 인자들의 전체 수를 감소시키기 위해 스플리팅(1504)될 수도 있다. 피스와이즈 대칭 윈도잉 인자들의 서브세트는 저장(1506)되고, 그로부터 완전한 세트의 피스와이즈 대칭 윈도잉 인자들이 재구성될 수 있다. 오디오 신호를 나타내는 입력 값들이 수신(1508)될 수도 있다. 완전한 세트의 재구성된 피스와이즈 대칭 윈도잉 인자들이 입력값들에 적용(1510)되고 윈도잉된 출력 값들을 제공할 수도 있다. 피스와이즈 대칭 윈도잉 인자들의 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대해 고유한 인자들의 적어도 절반을 포함할 수도 있다.
일례에서, 윈도잉 스테이지는 변환 스테이지 전에 발생한다. 이러한 경우, 변환 스테이지는 이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 변환(MDCT)을 구현할 수도 있으며, 여기서, 각각의 이러한 변환은 MDCT보다 더 작은 디멘존을 갖는다. 변환 스테이지 인자들은 예를 들어, 도3의 코사인 인자들일 수도 있다.
다른 예에서, 윈도잉 스테이지는 변환 스테이지 이후에 발생할 수도 있다. 변환 스테이지는 이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 구현할 수도 있으며, 여기서, 각각의 이러한 역변환은 IMDCT보다 더 작은 디멘존을 갖는다. 변환 스테이지 인자들은 예를 들어, 도4의 코사인 인자들일 수도 있다.
설명된 예들 외에, 데시메이팅된 변환들을 구현하는 설명된 알고리즘들은 2의 배수인 어떤 다른 변환을 구현하기 위해 사용될 수도 있다. 부가적으로, 설명된 기술들은 오디오, 음성, 비디오, 데이터 등을 포함하는 다양한 타입의 신호들에 적용될 수도 있다.
정보 및 신호들이 임의의 다양한 기술들을 사용하여 표현될 수도 있다. 예를 들어, 전술한 설명을 통해 참조될 수도 있는 데이터, 명령들, 지시들, 정보, 신호들 등이 전압, 전류, 전자기파, 자기장 또는 입자들, 광학 필드들 또는 입자들 또는 이들의 소정의 결합을 통해 참조될 수도 있다.
본원에서 설명한 다양한 예시적인 논리 블록, 모듈, 회로 및 알고리즘은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 조합으로 구현 또는 실행될 수 있는 것으로 인식한다. 이러한 하드웨어와 소프트웨어의 호환성을 설명하기 위해, 각종 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그 기능과 관련하여 상술되었다. 이러한 기능이 하드웨어로 구현되는지 소프트웨어로 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 좌우된다. 상기 구성들은 순서도, 흐름도, 구조도 또는 블록도로 표현되는 프로세스로서 설명될 수도 있다. 비록 흐름도가 연속한 프로세스로서의 연산들을 설명할 수도 있지만, 많은 연산들이 병렬로 또는 동시에 수행될 수 있다. 또한, 연산의 순서는 재배열될 수도 있다. 프로세스는 연산이 완료된 때 종료된다. 프로세스는 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 함수에 대응할 경우, 그 종료는 메인 함수 또는 호출 함수에 대한 함수의 리턴에 대응한다.
하드웨어로 구현될 때, 다양한 예들은 여기서 설명하는 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 현장 프로그래밍 가능 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능 로직 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 이들의 임의의 조합을 사용할 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로 프로세서는 임의의 종래 프로세서, 제어기, 마이크로컨트롤러 또는 상태 머신일 수도 있다. 프로세서는 또한 연산 장치들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 다수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 구성으로서 구현될 수도 있다.
소프트웨어로 구현될 때, 다양한 예들은 펌웨어, 미들웨어 또는 마이크로코드를 사용할 수도 있다. 필요한 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체 또는 다른 저장소(들)와 같은 기계 판독 가능 매체에 저장될 수 있다. 프로세서(들)는 필요한 작업들을 수행할 수 있다. 코드 세그먼트는 프로시저, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들의 소정의 조합, 데이터 구조 또는 프로그램 명령문들을 나타낼 수 있다. 코드 세그먼트는 정보, 데이터, 인자, 파라미터 또는 메모리 콘텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 연결될 수 있다. 정보, 인자, 파라미터, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신들을 포함하는 임의의 적당한 수단을 통해 전달, 발송 또는 전송될 수 있다.
본 출원에서 사용되는 바와 같이, "컴포넌트", "모듈", "시스템" 등의 용어는 컴퓨터 관련 엔티티, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어를 언급하기 위한 것이다. 예를 들어, 이에 한정되는 것은 아니지만 컴포넌트는 프로세서상에서 실행하는 프로세스, 프로세서, 객체, 실행 가능한 실행 스레드, 프로그램 및/또는 컴퓨터일 수도 있다. 예시로, 연산 장치 상에서 실행하는 애플리케이션 및 연산 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 스레드 내에 상주할 수 있으며, 컴포넌트가 하나의 컴퓨터에 집중될 수도 있고 그리고/또는 2개 이상의 컴퓨터 사이에 분산될 수도 있다. 또한, 이들 컴포넌트는 각종 데이터 구조를 저장한 각종 컴퓨터 판독 가능 매체로부터 실행될 수 있다. 컴포넌트들은 하나 이상의 데이터 패킷(예를 들어, 로컬 시스템, 분산 시스템의 다른 컴포넌트와 그리고/또는 신호에 의해 다른 시스템들과 인터넷과 같은 네트워크를 거쳐 상호 작용하는 하나의 컴포넌트로부터의 데이터)을 갖는 신호에 따르는 등 로컬 및/또는 원격 프로세스에 의해 통신할 수 있다.
하나 이상의 예시적인 실시예에서, 설명한 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현된다면, 이 기능들은 컴퓨터 판독 가능 매체 상에 하나 이상의 명령 또는 코드로서 저장될 수도 있고 이를 통해 전송될 수 있다. 컴퓨터 판독 가능 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체 및 컴퓨터 저장 매체를 모두 포함한다. 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 한정이 아닌 예시로, 이러한 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM이나 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 소자, 또는 명령이나 데이터 구조의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가능한 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독 가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 회선(DSL), 또는 적외선, 라디오 및 초고주파와 같은 무선 기술을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오 및 초고주파와 같은 무선 기술이 매체의 정의에 포함된다. 여기서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD), 레이저 디스크, 광 디스크, 디지털 다목적 디스크(DVD), 플로피디스크 및 블루레이 디스크를 포함하며, 디스크(disk)들은 보통 데이터를 자기적으로 재생하는 반면, 디스크(disc)들은 데이터를 레이저에 의해 광학적으로 재생한다. 상기의 조합 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다. 소프트웨어는 단일 명령 또는 다수의 명령들을 포함할 수도 있으며, 몇몇 상이한 코드 세그먼트들을 통해, 상이한 프로그램들 사이에서, 그리고 다수의 저장 매체에 걸쳐 분산될 수도 있다. 예시적인 저장 매체는 프로세서에 결합되어 프로세서가 저장 매체로부터 정보를 판독 및 저장 매체로 정보를 기록할 수 있게 한다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다.
설명된 방법들은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 동작들을 포함한다. 방법 단계들 및/또는 동작들은 본 청구항들의 범위를 벗어나지 않고 서로 호환될 수도 있다. 다시 말해서, 단계들 또는 동작들의 특정 순서가 설명된 실시예의 적절한 동작을 위해 필요하지 않다면, 순서 및/또는 특정 단계들 및/또는 동작들의 사용은 본 발명의 범위를 벗어나지 않고 변경될 수도 있다.
도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 및/또는 15에 설명된 하나 이상의 컴포넌트들, 단계들 및/또는 기능들은 재배열 및/또는 단일 컴포넌트, 단계 또는 기능으로 결합될 수도 있고, 몇몇 컴포넌트들, 단계들 또는 기능들로 실행될 수도 있다. 추가의 엘리먼트들, 컴포넌트들, 단계들 및/또는 기능들이 또한 부가될 수도 있다. 도1, 2, 10, 12 및 14에 설명된 장치들, 장치들, 및/또는 컴포넌트들은 도3-9, 11, 13 및 15에 설명된 방법들, 기능들 또는 단계들 중 하나 이상을 실행하기 위해 구성 또는 적용될 수도 있다. 설명된 알고리즘은 예를 들어 소프트웨어 및/또는 내장된 하드웨어에서 효율적으로 구현될 수도 있다.
전술한 구성들은 단지 예시들이며, 청구항을 제한하도록 구성되지 않음을 주목해야 한다. 구성들의 설명은 설명의 의도이며, 청구항의 범의를 한정하려는 것은 아니다. 이와 같이, 본 발명의 기술들은 다른 타입의 장치들에 용이하게 적용될 수 있으며, 많은 대안들, 변경들 및 변형들이 기술 분야의 당업자에게 명백할 것이다.

Claims (50)

  1. 변환 값들을 계산하는 방법으로서,
    오디오 신호를 나타내는 시간 영역 입력 값들을 수신하는 단계; 및
    이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 중 적어도 하나로 순환적으로(recursively) 스플리팅(split)되는 변형 이산 코사인 변환(MDCT)을 이용하여 상기 입력 값들을 스펙트럼 계수들로 변환하는 단계를 포함하며, 상기 각각의 이러한 변환은 상기 MDCT보다 더 작은 디멘존을 가지며, 상기 MDCT의 적어도 일부의 곱셈 연산들은 상기 입력 값들에 적용되는 이전의 윈도잉 연산과 통합(merge)되며,
    상기 방법은
    피스와이즈(piece-wise) 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하는 단계; 및
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하는 단계를 더 포함하며, 상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있는, 변환 값들을 계산하는 방법.
  2. 제1항에 있어서,
    상기 DCT-II는 상이한 크기들의 MDCT들을 구현할 수 있는 5포인트 변환인, 변환 값들을 계산하는 방법.
  3. 제1항에 있어서,
    상기 DCT-II는 하기 변환에 의해 특성화되는 인수 분해(factorization)에 의해 정의되며;
    Figure 712012001120995-pct00066

    여기서,
    Figure 712012001120995-pct00067
    인,
    변환 값들을 계산하는 방법.
  4. 제1항에 있어서,
    상기 MDCT는 동일한 DCT-II를 사용하여 320, 160, 80, 40 포인트 변환들 중 적어도 두 개를 구현하는, 변환 값들을 계산하는 방법.
  5. 제1항에 있어서,
    상기 DCT-II는 최대 5회의 곱셈 연산들을 포함하는, 변환 값들을 계산하는 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 입력 값들을 변환하기 이전에, 상기 재구성된 피스와이즈 대칭 윈도잉 인자들의 완전한 세트를 상기 입력 값들에 적용시키는 단계를 더 포함하는, 변환 값들을 계산하는 방법.
  8. 제1항에 있어서,
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대한 고유한 인자들의 적어도 절반을 포함하는, 변환 값들을 계산하는 방법.
  9. 제1항에 있어서,
    상기 윈도잉 함수로부터의 출력들에 대한 동적 범위 추정 및 재정규화(renormalization)를 수행하는 단계를 더 포함하는, 변환 값들을 계산하는 방법.
  10. 변환 값들을 계산하기 위한 장치로서,
    오디오 신호를 수신하고 상기 오디오 신호를 나타내는 시간 영역 입력 값들을 제공하기 위한 입력 모듈; 및
    이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 변환(MDCT)을 이용하여 상기 입력 값들을 스펙트럼 계수들로 변환하기 위한 변환 모듈을 포함하며, 상기 각각의 이러한 변환은 상기 MDCT보다 더 작은 디멘존을 가지며, 상기 MDCT의 적어도 일부의 곱셈 연산들은 상기 입력 값들에 적용되는 이전의 윈도잉 연산과 통합되며,
    상기 장치는
    피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하기 위한 윈도잉 모듈; 및
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하기 위한 저장 모듈을 더 포함하며, 상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있는, 변환 값들을 계산하기 위한 장치.
  11. 제10항에 있어서,
    상기 DCT-II는 상이한 크기들의 MDCT들을 구현하는 5포인트 변환인, 변환 값들을 계산하기 위한 장치.
  12. 제10항에 있어서,
    상기 DCT-II는 하기 변환에 의해 특성화되는 인수 분해에 의해 정의되며,
    Figure 712012001120995-pct00068

    여기서,
    Figure 712012001120995-pct00069
    인,
    변환 값들을 계산하기 위한 장치.
  13. 제10항에 있어서,
    상기 MDCT는 동일한 코어 DCT-II를 사용하여 320, 160, 80, 40 포인트 변환들 중 적어도 두 개를 구현하는, 변환 값들을 계산하기 위한 장치.
  14. 삭제
  15. 제10항에 있어서,
    상기 윈도잉 모듈은 상기 입력 값들을 변환하기 이전에, 상기 재구성된 피스와이즈 대칭 윈도잉 인자들의 완전한 세트를 상기 입력 값들에 적용하도록 추가로 구성되는, 변환 값들을 계산하기 위한 장치.
  16. 제10항에 있어서,
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대한 고유한 인자들의 적어도 절반을 포함하는, 변환 값들을 계산하기 위한 장치.
  17. 변환 값들을 계산하기 위한 장치로서,
    오디오 신호를 나타내는 시간 영역 입력 값들을 수신하기 위한 수단; 및
    이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 변환(MDCT)을 이용하여 상기 입력 값들을 스펙트럼 계수들로 변환하기 위한 수단을 포함하며, 상기 각각의 이러한 변환은 상기 MDCT보다 더 작은 디멘존을 가지며, 상기 MDCT의 적어도 일부의 곱셈 연산들은 상기 입력 값들에 적용되는 이전의 윈도잉 연산과 통합되며,
    상기 장치는
    피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하기 위한 수단; 및
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하기 위한 수단 ―상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있음―; 및
    상기 입력 값들을 변환하기 이전에 재구성된 피스와이즈 대칭 윈도잉 인자들의 완전한 세트를 상기 입력 값들에 적용하기 위한 수단을 더 포함하는, 변환 값들을 계산하기 위한 장치.
  18. 제17항에 있어서,
    상기 DCT-II는 상이한 크기들의 MDCT들을 구현할 수 있는 5포인트 변환인, 변환 값들을 계산하기 위한 장치.
  19. 삭제
  20. 변환 값들을 계산하기 위한 회로로서, 상기 회로는,
    오디오 신호를 나타내는 시간 영역 입력 값들을 수신하고, 그리고
    이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 변환(MDCT)을 이용하여 상기 입력 값들을 스펙트럼 계수들로 변환하도록 적응되며,
    상기 각각의 이러한 변환은 상기 MDCT보다 더 작은 디멘존을 가지며, 상기 MDCT의 적어도 일부의 곱셈 연산들은 상기 입력 값들에 적용되는 이전의 윈도잉 연산과 통합되며,
    상기 회로는
    피스와이즈(piece-wise) 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하고; 그리고
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하도록 추가로 적응되며, 상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있는,
    변환 값들을 계산하기 위한 회로.
  21. 컴퓨터 판독 가능 매체로서,
    프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    오디오 신호를 나타내는 시간 영역 입력 값들을 수신하게 하고, 그리고
    이산 코사인 변환 타입 IV(DCT-IV), 이산 코사인 변환 타입 II(DCT-II), 또는 DCT-IV 및 DCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 변환(MDCT)을 이용하여 상기 입력 값들을 스펙트럼 계수들로 변환하게 하는,
    변환 값들을 계산하기 위한 명령들을 포함하며,
    상기 각각의 이러한 변환은 상기 MDCT보다 더 작은 디멘존을 가지며, 상기 MDCT의 적어도 일부의 곱셈 연산들은 상기 입력 값들에 적용되는 이전의 윈도잉 연산과 통합되며,
    상기 컴퓨터 판독 가능 매체는 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    피스와이즈(piece-wise) 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하게 하고; 그리고
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하게 하는,
    변환 값들을 계산하기 위한 명령들을 더 포함하며,
    상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있는,
    컴퓨터 판독 가능 매체.
  22. 디코더를 제공하는 방법으로서,
    오디오 신호를 나타내는 스펙트럼 계수들을 수신하는 단계; 및
    이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 이용하여 상기 스펙트럼 계수들을 시간 영역 출력 값들로 변환하는 단계를 포함하며, 상기 각각의 이러한 이산 코사인 역변환은 상기 IMDCT보다 더 작은 디멘존을 가지며, 상기 IMDCT의 적어도 일부의 곱셈 연산들은 상기 출력 값들에 적용되는 다음 윈도잉 연산과 통합되며,
    상기 방법은
    피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하는 단계; 및
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하는 단계를 더 포함하며, 상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있는, 디코더를 제공하는 방법.
  23. 제22항에 있어서,
    상기 IDCT-II는 상이한 크기들의 IMDCT들을 구현하는 5 포인트 역변환인, 디코더를 제공하는 방법.
  24. 제22항에 있어서,
    상기 IDCT-II는 하기 변환에 의해 특성화되는 인수 분해에 의해 정의되며,
    Figure 712012001120995-pct00070

    여기서,
    Figure 712012001120995-pct00071
    인,
    디코더를 제공하는 방법.
  25. 제22항에 있어서,
    상기 IMDCT는 동일한 코어 IDCT-II를 이용하여 320, 160, 80, 40 포인트 역변환 중 적어도 두 개를 구현하는, 디코더를 제공하는 방법.
  26. 삭제
  27. 제22항에 있어서,
    상기 스펙트럼 계수들을 변환한 후, 상기 재구성된 피스와이즈 대칭 윈도잉 인자들의 완전한 세트를 상기 출력 값들에 적용하는 단계를 더 포함하는, 디코더를 제공하는 방법.
  28. 제22항에 있어서,
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트는 윈도잉 인자들의 각각의 피스와이즈 대칭 세트에 대한 고유한 인자들의 적어도 절반을 포함하는, 디코더를 제공하는 방법.
  29. 제22항에 있어서,
    상기 윈도잉 함수로부터의 출력들에 대한 동적 범위 추정 및 재정규화를 수행하는 단계를 더 포함하는, 디코더를 제공하는 방법.
  30. 변환 값들을 계산하기 위한 장치로서,
    오디오 신호를 나타내는 스펙트럼 계수들을 수신하기 위한 입력 모듈; 및
    이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 이용하여 상기 스펙트럼 계수들을 시간 영역 출력 값들로 변환하기 위한 역변환 모듈을 포함하며, 상기 각각의 이러한 이산 코사인 역변환은 상기 IMDCT보다 더 작은 디멘존을 가지며, 상기 IMDCT의 적어도 일부의 곱셈 연산들은 상기 출력 값들에 적용되는 다음 윈도잉 연산과 통합되며,
    상기 장치는
    피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하기 위한 통합 모듈;
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하기 위한 저장 모듈 ―상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있음―; 및
    상기 스펙트럼 계수들을 변환한 후 재구성된 피스와이즈 대칭 윈도잉 인자들의 완전한 세트를 상기 출력 값들에 적용하기 위한 윈도잉 모듈을 더 포함하는, 변환 값들을 계산하기 위한 장치.
  31. 제30항에 있어서,
    상기 IDCT-II는 상이한 크기들의 IMDCT들을 구현하는 5 포인트 역변환인, 변환 값들을 계산하기 위한 장치.
  32. 삭제
  33. 변환 값들을 계산하기 위한 장치로서,
    오디오 신호를 나타내는 스펙트럼 계수들을 수신하기 위한 수단; 및
    이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 이용하여 상기 스펙트럼 계수들을 시간 영역 출력 값들로 변환하기 위한 수단을 포함하며, 상기 각각의 이러한 이산 코사인 역변환은 상기 IMDCT보다 더 작은 디멘존을 가지며, 상기 IMDCT의 적어도 일부의 곱셈 연산들은 상기 출력 값들에 적용되는 다음 윈도잉 연산과 통합되며,
    상기 장치는
    피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하기 위한 수단; 및
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하기 위한 수단을 더 포함하며, 상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있는,
    변환 값들을 계산하기 위한 장치.
  34. 변환 값들을 계산하기 위한 회로로서, 상기 회로는,
    오디오 신호를 나타내는 스펙트럼 계수들을 수신하고, 그리고
    이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 이용하여 상기 스펙트럼 계수들을 시간 영역 출력 값들로 변환하도록 적응되며,
    상기 각각의 이러한 이산 코사인 역변환은 상기 IMDCT보다 더 작은 디멘존을 가지며, 상기 IMDCT의 적어도 일부의 곱셈 연산들은 상기 출력 값들에 적용되는 다음 윈도잉 연산과 통합되며,
    상기 회로는
    피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하고; 그리고
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하도록 추가로 적응되며, 상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있는,
    변환 값들을 계산하기 위한 회로.
  35. 컴퓨터 판독 가능 매체로서,
    프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    오디오 신호를 나타내는 스펙트럼 계수들을 수신하게 하고, 그리고
    이산 코사인 역변환 타입 IV(IDCT-IV), 이산 코사인 역변환 타입 II(IDCT-II), 또는 IDCT-IV 및 IDCT-II 모두 중 적어도 하나로 순환적으로 스플리팅되는 변형 이산 코사인 역변환(IMDCT)을 이용하여 상기 스펙트럼 계수들을 시간 영역 출력 값들로 변환하게 하는,
    변환 값들을 계산하기 위한 명령들을 포함하며,
    상기 각각의 이러한 이산 코사인 역변환은 상기 IMDCT보다 더 작은 디멘존을 가지며, 상기 IMDCT의 적어도 일부의 곱셈 연산들은 상기 출력 값들에 적용되는 다음 윈도잉 연산과 통합되며,
    상기 컴퓨터 판독 가능 매체는 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    피스와이즈 대칭 윈도잉 인자들을 획득하기 위해 상기 윈도잉 연산 및 변환 연산으로부터의 인자들을 통합하는 변형 윈도잉 함수를 생성하게 하고; 그리고
    상기 피스와이즈 대칭 윈도잉 인자들의 서브세트를 저장하게 하는,
    변환 값들을 계산하기 위한 명령들을 더 포함하며,
    상기 서브세트로부터 상기 피스와이즈 대칭 윈도잉 인자들의 완전한 세트가 재구성될 수 있는
    컴퓨터 판독 가능 매체.
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
KR1020107008491A 2007-09-19 2008-09-19 효율적인 방식으로 변환 값들을 계산하기 위한 방법 및 장치 KR101329514B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US97370907P 2007-09-19 2007-09-19
US60/973,709 2007-09-19
US98940007P 2007-11-20 2007-11-20
US60/989,400 2007-11-20
US12/212,920 2008-09-18
US12/212,920 US8548815B2 (en) 2007-09-19 2008-09-18 Efficient design of MDCT / IMDCT filterbanks for speech and audio coding applications
PCT/US2008/077129 WO2009039451A2 (en) 2007-09-19 2008-09-19 Efficient design of mdct / imdct filterbanks for speech and audio coding applications

Publications (2)

Publication Number Publication Date
KR20100063122A KR20100063122A (ko) 2010-06-10
KR101329514B1 true KR101329514B1 (ko) 2013-11-13

Family

ID=40039658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107008491A KR101329514B1 (ko) 2007-09-19 2008-09-19 효율적인 방식으로 변환 값들을 계산하기 위한 방법 및 장치

Country Status (12)

Country Link
US (1) US8548815B2 (ko)
EP (1) EP2206111A2 (ko)
JP (1) JP2010539625A (ko)
KR (1) KR101329514B1 (ko)
CN (1) CN101796578B (ko)
AU (1) AU2008302070B2 (ko)
BR (1) BRPI0817003A2 (ko)
CA (1) CA2695741A1 (ko)
HK (1) HK1143240A1 (ko)
MX (1) MX2010002848A (ko)
TW (1) TWI398854B (ko)
WO (1) WO2009039451A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9069713B2 (en) 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
CN101930426B (zh) * 2009-06-24 2015-08-05 华为技术有限公司 信号处理方法、数据处理方法及装置
EP2309497A3 (en) * 2009-07-07 2011-04-20 Telefonaktiebolaget LM Ericsson (publ) Digital audio signal processing system
CN102104776A (zh) * 2009-12-21 2011-06-22 康佳集团股份有限公司 一种网络电视平台mpeg音频多相合成滤波方法
US8000968B1 (en) 2011-04-26 2011-08-16 Huawei Technologies Co., Ltd. Method and apparatus for switching speech or audio signals
MY156027A (en) * 2010-08-12 2015-12-31 Fraunhofer Ges Forschung Resampling output signals of qmf based audio codecs
KR101418227B1 (ko) 2010-11-24 2014-07-09 엘지전자 주식회사 스피치 시그널 부호화 방법 및 복호화 방법
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
HUE030185T2 (en) 2011-03-28 2017-04-28 Dolby Laboratories Licensing Corp Reduced Transformation for Low Frequency Effect Channel
CN102568485B (zh) * 2011-12-30 2013-12-11 展讯通信(上海)有限公司 音频信号的频时转换方法及装置
JP6089878B2 (ja) * 2013-03-28 2017-03-08 富士通株式会社 直交変換装置、直交変換方法及び直交変換用コンピュータプログラムならびにオーディオ復号装置
EP2830055A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Context-based entropy coding of sample values of a spectral envelope
CN107452391B (zh) 2014-04-29 2020-08-25 华为技术有限公司 音频编码方法及相关装置
EP3616196A4 (en) * 2017-04-28 2021-01-20 DTS, Inc. AUDIO ENCODER WINDOW AND TRANSFORMATION IMPLEMENTATIONS

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996042071A2 (en) * 1995-06-12 1996-12-27 S3, Incorporated Mpeg audio decoder

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675969B1 (fr) 1991-04-24 1994-02-11 France Telecom Procede et dispositif de codage-decodage d'un signal numerique.
JP3721582B2 (ja) 1993-06-30 2005-11-30 ソニー株式会社 信号符号化装置及び方法並びに信号復号化装置及び方法
US6154762A (en) * 1998-06-03 2000-11-28 Microsoft Corporation Fast system and method for computing modulated lapped transforms
AU2001234971A1 (en) 2000-02-09 2001-08-20 T. C. Cheng Fast method for the forward and inverse mdct in audio coding
JP2002135122A (ja) 2000-10-19 2002-05-10 Nec Corp オーディオ信号符号化装置
DE10129240A1 (de) * 2001-06-18 2003-01-02 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten
KR100519260B1 (ko) * 2002-02-21 2005-10-06 주식회사 애드일렉코 고속 최적화된 무선마이크 장치 및 그 제어방법
US7536305B2 (en) * 2002-09-04 2009-05-19 Microsoft Corporation Mixed lossless audio compression
WO2004080125A1 (en) 2003-03-04 2004-09-16 Nokia Corporation Support of a multichannel audio extension
TW594674B (en) 2003-03-14 2004-06-21 Mediatek Inc Encoder and a encoding method capable of detecting audio signal transient
WO2005031595A1 (en) 2003-09-29 2005-04-07 Agency For Science, Technology And Research Method for performing a domain transformation of a digital signal from the time domain into the frequency domain and vice versa
TWI227866B (en) 2003-11-07 2005-02-11 Mediatek Inc Subband analysis/synthesis filtering method
KR100530377B1 (ko) 2003-12-30 2005-11-22 삼성전자주식회사 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법
CN1914669A (zh) * 2004-01-28 2007-02-14 皇家飞利浦电子股份有限公司 使用复数值数据的音频信号解码
JP4977471B2 (ja) * 2004-11-05 2012-07-18 パナソニック株式会社 符号化装置及び符号化方法
CN100546197C (zh) 2006-08-17 2009-09-30 上海交通大学 适用于多音频标准通用滤波器单元的vlsi实现方法
ES2823560T3 (es) * 2007-08-27 2021-05-07 Ericsson Telefon Ab L M Análisis/síntesis espectral de baja complejidad utilizando resolución temporal seleccionable

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996042071A2 (en) * 1995-06-12 1996-12-27 S3, Incorporated Mpeg audio decoder

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
C. W. Kok, "Fast Algorithm for Computing Discrete Cosine Transform" In : IEEE Transactions on Signal Processing, Vol. 45, No. 3, March 1997. *
C. W. Kok, "Fast Algorithm for Computing Discrete Cosine Transform" In : IEEE Transactions on Signal Processing, Vol. 45, No. 3, March 1997.*
Michael T. Heideman, "Computation of an Odd-Length DCT from a Real-Valued DFT of the Same Length" In : IEEE Transactions on Signal Processing, Vol. 40, No. 1, January 1992. *
Michael T. Heideman, "Computation of an Odd-Length DCT from a Real-Valued DFT of the Same Length" In : IEEE Transactions on Signal Processing, Vol. 40, No. 1, January 1992.*
Mu-Huo Cheng et al. "Fast IMDCT and MDCT Algorithms - A Matrix Approach" In : IEEE Transactions on Signal Processing, Vol. 51, No. 1, January 2003. *
Mu-Huo Cheng et al. "Fast IMDCT and MDCT Algorithms - A Matrix Approach" In : IEEE Transactions on Signal Processing, Vol. 51, No. 1, January 2003.*

Also Published As

Publication number Publication date
CA2695741A1 (en) 2009-03-26
WO2009039451A2 (en) 2009-03-26
EP2206111A2 (en) 2010-07-14
AU2008302070A1 (en) 2009-03-26
US8548815B2 (en) 2013-10-01
US20090094038A1 (en) 2009-04-09
TWI398854B (zh) 2013-06-11
CN101796578A (zh) 2010-08-04
KR20100063122A (ko) 2010-06-10
BRPI0817003A2 (pt) 2015-03-31
CN101796578B (zh) 2013-04-10
TW200926146A (en) 2009-06-16
HK1143240A1 (en) 2010-12-24
MX2010002848A (es) 2010-04-01
AU2008302070B2 (en) 2011-06-16
WO2009039451A3 (en) 2009-05-22
JP2010539625A (ja) 2010-12-16

Similar Documents

Publication Publication Date Title
KR101329514B1 (ko) 효율적인 방식으로 변환 값들을 계산하기 위한 방법 및 장치
KR101226094B1 (ko) 5-포인트 dct-ⅱ, dct-ⅳ, 및 dst-ⅳ 및 아키텍쳐들의 계산을 위한 고속 알고리즘들
US8392200B2 (en) Low complexity spectral band replication (SBR) filterbanks
KR100892152B1 (ko) 시간-이산 오디오 신호를 부호화하기 위한 장치 및 방법그리고 부호화 오디오 데이터를 복호화하기 위한 장치 및방법
JP4398979B2 (ja) 変換表現に転換するか、または変換表現を逆変換するための装置および方法
US20090240507A1 (en) Method and device for transcoding audio signals
JP3814611B2 (ja) 時間離散オーディオサンプル値を処理する方法と装置
KR101137745B1 (ko) 분석 및 합성 필터뱅크를 제공하기 위한 방법, 디바이스, 회로 및 머신-판독가능 매체
RU2451998C2 (ru) Эффективный способ проектирования набора фильтров для mdct/imdct в приложениях для кодирования речи и аудиосигналов
RU2464540C2 (ru) Быстрые алгоритмы для вычисления 5-точечного dct-ii, dct-iv и dst-iv, и архитектуры
JP2023526627A (ja) 音声音響統合復号の向上のための方法及び機器

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20120307

Effective date: 20130821

GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 7