KR20100086031A - 스케일러블 음성 및 오디오 코덱들에서 양자화된 mdct 스펙트럼에 대한 코드북 인덱스들의 인코딩/디코딩을 위한 기술 - Google Patents

스케일러블 음성 및 오디오 코덱들에서 양자화된 mdct 스펙트럼에 대한 코드북 인덱스들의 인코딩/디코딩을 위한 기술 Download PDF

Info

Publication number
KR20100086031A
KR20100086031A KR1020107012403A KR20107012403A KR20100086031A KR 20100086031 A KR20100086031 A KR 20100086031A KR 1020107012403 A KR1020107012403 A KR 1020107012403A KR 20107012403 A KR20107012403 A KR 20107012403A KR 20100086031 A KR20100086031 A KR 20100086031A
Authority
KR
South Korea
Prior art keywords
indices
codebook
descriptor
transform
spectral bands
Prior art date
Application number
KR1020107012403A
Other languages
English (en)
Other versions
KR101139172B1 (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 KR20100086031A publication Critical patent/KR20100086031A/ko
Application granted granted Critical
Publication of KR101139172B1 publication Critical patent/KR101139172B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech 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 predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Abstract

스케일러블 음성 및 오디오 코덱에 대한 코드북 인덱스들이 이러한 코드북 인덱스들에 대한 예상 확률 분포들을 기초로 효율적으로 인코딩될 수 있다. 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의 잔차 신호가 획득될 수 있으며, 여기서 잔차 신호는 원본 오디오 신호와 상기 원본 오디오 신호의 재구성된 버전 간의 차이다. 잔차 신호는 대응하는 변환 스펙트럼을 획득하기 위해 이산 코사인 변환(DCT) 타입 변환 계층에서 변환될 수 있다. 변환 스펙트럼은 다수의 스펙트럼 대역으로 분할될 수 있으며, 여기서 각 스펙트럼 대역은 다수의 스펙트럼 선을 갖는다. 그 다음, 스펙트럼 대역들을 인코딩하기 위해 다수의 서로 다른 코드북이 선택되며, 여기서 각 코드북들은 코드북 인덱스와 관련된다. 그 다음, 선택된 코드북들과 관련된 다수의 인덱스가 인코딩되어 코드북 인덱스들을 더욱 치밀하게 표현하는 디스크립터 코드를 얻는다.

Description

스케일러블 음성 및 오디오 코덱들에서 양자화된 MDCT 스펙트럼에 대한 코드북 인덱스들의 인코딩/디코딩을 위한 기술{TECHNIQUE FOR ENCODING/DECODING OF CODEBOOK INDICES FOR QUANTIZED MDCT SPECTRUM IN SCALABLE SPEECH AND AUDIO CODECS}
본 특허 출원은 "Low-Complexity Technique for Encoding/Decoding of Quantized MDCT Spectrum in Scalable Speech + Audio Codecs"라는 명칭으로 2007년 11월 4일자 제출된 미국 예비 출원 60/985,263호에 대한 우선권을 주장하며, 이는 본원의 양수인에게 양도되었고 이로써 본원에 참조로 포함된다.
다음 설명은 일반적으로 인코더들과 디코더들에 관한 것으로, 특히 스케일러블 음성 및 오디오 코덱의 일부로서 변형 이산 코사인 변환(MDCT) 스펙트럼을 코딩하는 효율적인 방법에 관한 것이다.
오디오 코딩의 한 가지 목적은 가능한 한 원래의 음질을 유지하면서 오디오 신호를 원하는 한정된 정보량으로 압축하는 것이다. 인코딩 프로세스에서, 시간 영역의 오디오 신호는 주파수 영역으로 변환된다.
MPEG 계층-3(MP3), MPEG-2 및 MPEG-4와 같은 지각적 오디오 코딩 기술들은 데이터량을 줄이기 위해 인간의 귀의 특성들을 차단(mask)하는 신호를 사용한다. 그와 같이 함으로써, 양자화 잡음이 우세한 전체 신호에 의해 차단되도록, 즉 양자화 잡음이 여전히 들리지 않는 방식으로 주파수 대역들에 분포된다. 오디오 품질의 지각적 손실이 거의 없거나 전혀 없이 상당한 저장 크기 축소가 가능하다. 지각적 오디오 코딩 기술들은 종종 스케일러블(scalable)하며 기본 또는 핵심 계층 및 적어도 하나의 확장 계층을 갖는 계층화된 비트 스트림을 생성한다. 이는 비트 레이트 스케일러빌러티(scalability), 즉 디코더 측에서 서로 다른 오디오 품질 레벨로의 디코딩 또는 트래픽 쉐이핑(traffic shaping)이나 컨디셔닝에 의한 네트워크에서의 비트 레이트 감소를 허용한다.
코드 여진 선형 예측(CELP: Code excited linear prediction)은 대수 CELP (ACELP), 완화 CELP(RCELP), 저 지연(LD-CELP) 및 벡터합 여진 선형 예측(VSELP)을 포함하여, 음성 코딩에 널리 이용되는 알고리즘들의 한 부류이다. CELP 배후의 한 가지 원리는 합성에 의한 분석(AbS: Analysis-by-Synthesis)이라 하며, 폐루프에서 디코딩된(합성) 신호를 지각적으로 최대한 활용함으로써 인코딩(분석)이 수행됨을 의미한다. 이론상, 모든 가능한 비트 조합들을 시도하고 최상 사운드의 디코딩된 신호를 산출하는 조합을 선택함으로써 최상의 CELP 스트림이 생성된다. 이는 실제로는 두 가지 이유로 명백히 가능하지 않은데, 즉 구현이 매우 복잡하고 "최상 사운드" 선택 기준은 인간 청취자를 의미한다. 한정된 계산 자원들을 이용하여 실시간 인코딩을 달성하기 위해, CELP 탐색은 지각적 가중 함수를 이용하여 더 작고 처리하기 더 쉬우며 순차적인 탐색들로 분해된다. 일반적으로, 인코딩은 (a) 입력 오디오 신호에 대한 선형 예측 코딩 계수들의 (보통, 선 스펙트럼 쌍들로서) 계산 및/또는 양자화, (b) 코딩된 신호를 생성하기 위해 코드북들을 사용하여 최선 매치를 탐색, (c) 코딩된 신호와 실제 입력 신호 간의 차인 에러 신호 생성, 및 (d) 재구성된 또는 합성된 신호의 품질을 개선하기 위해 하나 이상의 계층에서 (보통 MDCT 스펙트럼에서의) 이러한 에러 신호를 추가 인코딩하는 것을 포함한다.
CELP 알고리즘들을 기반으로 음성 및 오디오 코덱들을 구현하는데 많은 여러 가지 기술이 이용될 수 있다. 이러한 기술들 중 일부에서는 에러 신호가 생성되는데, 이는 뒤에 (보통 DCT, MDCT 또는 비슷한 변환을 이용하여) 변환되고 인코딩되어 인코딩된 신호의 품질을 더 개선한다. 그러나 많은 모바일 디바이스들과 네트워크들의 처리 및 대역폭 한계로 인해, 저장 또는 전송되는 정보의 크기를 줄이도록 이러한 MDCT 스펙트럼 코딩의 효율적인 구현이 바람직하다.
일부 실시예들의 기본적인 이해를 제공하기 위해 다음은 하나 이상의 실시예의 간단한 개요를 나타낸다. 이러한 개요는 예기되는 모든 실시예의 광범위한 개관이 아니며, 모든 실시예의 주요 또는 핵심 엘리먼트들을 식별하거나 임의의 또는 모든 실시예들의 범위를 기술하기 위한 것은 아니다. 그 유일한 목적은 뒤에 제공되는 더 상세한 설명에 대한 서론으로서 하나 이상의 실시예의 몇 가지 개념을 간단한 형태로 제공하는 것이다.
일례로, 스케일러블 음성 및 오디오 인코더가 제공된다. 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의 잔차 신호가 획득될 수 있으며, 상기 잔차 신호는 원본 오디오 신호와 상기 원본 오디오 신호의 재구성된 버전 간의 차이다. 잔차 신호는 대응하는 변환 스펙트럼을 획득하기 위해 이산 코사인 변환(DCT) 타입 변환 계층에서 변환될 수 있다. DCT 타입 변환 계층은 변형 이산 코사인 변환(MDCT) 계층일 수 있고 변환 스펙트럼은 MDCT 스펙트럼이다. 변환 스펙트럼은 다수의 스펙트럼 대역으로 분할될 수 있으며, 각 스펙트럼 대역은 다수의 스펙트럼 선(spectral line)을 갖는다. 어떤 구현들에서는, 인코딩 전에 스펙트럼 대역들의 수를 줄이기 위해 한 세트의 스펙트럼 대역들이 누락될 수 있다. 그 다음, 스펙트럼 대역들을 인코딩하기 위해 다수의 서로 다른 코드북이 선택되며, 여기서 코드북들은 관련 코드북 인덱스들을 갖는다. 벡터 양자화된 인덱스들을 획득하기 위해 상기 선택된 코드북들을 이용하여 각 스펙트럼 대역의 스펙트럼 선들에 대해 벡터 양자화가 수행된다.
코드북 인덱스들이 인코딩되고 벡터 양자화된 인덱스들 또한 인코딩된다. 일례로, 코드북 인덱스들의 인코딩은 적어도 2개의 인접한 스펙트럼 대역을 상기 인접한 스펙트럼 대역들의 양자화 특성들의 확률 분포를 기초로 하는 일대일 디스크립터 코드(pair-wise descriptor code)로 인코딩하는 것을 포함할 수 있다. 상기 적어도 2개의 인접한 스펙트럼 대역들의 인코딩은 (a) 스펙트럼 대역들의 인접한 쌍들의 특성들을 확인하기 위해 상기 쌍들을 스캔하는 단계, (b) 상기 스펙트럼 대역들 각각에 대한 코드북 인덱스를 식별하는 단계, 및/또는 (c) 각 코드북 인덱스에 대한 디스크립터 컴포넌트 및 확장 코드 컴포넌트를 획득하는 단계를 포함할 수 있다. 상기 일대일 디스크립터 코드를 획득하기 위해 제 1 디스크립터 컴포넌트와 제 2 디스크립터 컴포넌트가 2개 한 쌍으로 인코딩될 수 있다. 상기 일대일 디스크립터 코드는 서로 다른 코드북에 대한 다수의 가능한 가변 길이 코드들(VLC) 중 하나에 매핑될 수 있다. 오디오 프레임 내의 각 해당 스펙트럼 대역의 상대적 위치와 인코더 계층 번호를 기초로 디스크립터 컴포넌트들의 각 쌍에 VLC 코드북들이 할당될 수 있다. 상기 일대일 디스크립터 코드들은 디스크립터들의 각 쌍에서 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 할 수 있다. k 값보다 큰 코드북 인덱스들에 대해 단일 디스크립터 컴포넌트가 사용될 수 있고, 상기 k 값보다 큰 코드북 인덱스들에 대해 확장 코드 컴포넌트들이 사용된다. 일례로, 각 코드북 인덱스는 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 하는 디스크립터 컴포넌트와 관련되는데, 선택될 확률이 더 큰 코드북 인덱스들에는 개별 디스크립터 컴포넌트들이 할당되고 선택될 확률이 더 작은 코드북 인덱스들은 그룹화되어 단일 디스크립터가 할당된다.
양자화된 변환 스펙트럼을 표현하기 위해 상기 인코딩된 코드북 인덱스들 및 인코딩된 벡터 양자화된 인덱스들의 비트스트림이 형성된다.
스케일러블 음성 및 오디오 디코더 또한 제공된다. 잔차 신호의 양자화된 변환 스펙트럼을 표현하는 다수의 인코딩된 코드북 인덱스들 및 다수의 인코딩된 벡터 양자화된 인덱스들을 갖는 비트스트림이 획득되며, 여기서 잔차 신호는 원본 오디오 신호와 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의 상기 원본 오디오 신호의 재구성된 버전 간의 차이다. 그 다음, 다수의 스펙트럼 대역들에 대한 디코딩된 코드북 인덱스들을 획득하기 위해 다수의 인코딩된 코드북 인덱스들이 디코딩된다. 마찬가지로, 다수의 스펙트럼 대역들에 대한 디코딩된 벡터 양자화된 인덱스들을 획득하기 위해 다수의 인코딩된 벡터 양자화된 인덱스들 또한 디코딩된다. 그 다음, 이산 코사인 역변환(IDCT) 타입 역변환 계층에서 상기 잔차 신호의 재구성된 버전을 획득하기 위해 상기 디코딩된 코드북 인덱스들 및 디코딩된 벡터 양자화된 인덱스들을 이용하여 다수의 스펙트럼 대역들이 합성될 수 있다. IDCT 타입 변환 계층은 변형 이산 코사인 역변환(IMDCT) 계층일 수 있고 상기 변환 스펙트럼은 IMDCT 스펙트럼이다.
다수의 인코딩된 코드북 인덱스들은 오디오 프레임의 다수의 인접한 변환 스펙트럼의 스펙트럼 대역들을 표현하는 일대일 디스크립터 코드로 표현될 수 있다. 일대일 디스크립터 코드는 인접한 스펙트럼 대역들의 양자화된 특성들의 확률 분포를 기초로 할 수 있다. 일대일 디스크립터 코드는 서로 다른 코드북에 대한 다수의 가능한 가변 길이 코드(VLC) 중 하나에 매핑된다. 오디오 프레임 내의 각 해당 스펙트럼 대역의 상대적 위치와 인코더 계층 번호를 기초로 디스크립터 컴포넌트들의 각 쌍에 VLC 코드북들이 할당될 수 있다.
일례로, 다수의 인코딩된 코드북 인덱스들의 디코딩은 (a) 다수의 스펙트럼 대역들 각각에 대응하는 디스크립터 컴포넌트를 획득하는 단계, (b) 다수의 스펙트럼 대역들 각각에 대응하는 확장 코드 컴포넌트를 획득하는 단계, (c) 상기 디스크립터 컴포넌트 및 확장 코드 컴포넌트를 기초로 다수의 스펙트럼 대역들 각각에 대응하는 코드북 인덱스 컴포넌트를 획득하는 단계, 및/또는 (d) 다수의 스펙트럼 대역들 각각에 대응하여, 스펙트럼 대역을 합성하기 위해 해당 코드북 인덱스를 이용하는 단계를 포함할 수 있다. 디스크립터 컴포넌트는 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 하는 디스크립터 컴포넌트와 관련될 수 있는데, 선택될 확률이 더 큰 코드북 인덱스들에는 개별 디스크립터 컴포넌트들이 할당되고 선택될 확률이 더 작은 코드북 인덱스들은 그룹화되어 단일 디스크립터가 할당된다. k 값보다 큰 코드북 인덱스들에 대해 단일 디스크립터 컴포넌트가 사용될 수 있고, 상기 k 값보다 큰 코드북 인덱스들에 대해 확장 코드 컴포넌트들이 사용된다. 일대일 디스크립터 코드들은 디스크립터들의 각 쌍에서 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 할 수 있다.
다양한 특징, 성질 및 이점이 도면과 관련하여 후술하는 상세한 설명으로부터 명백해질 수 있으며, 도면에서 동일 참조 부호들이 전체에 걸쳐 대응하게 식별된다.
도 1은 하나 이상의 코딩 특징이 구현될 수 있는 통신 시스템을 설명하는 블록도이다.
도 2는 일례에 따라 효율적인 오디오 코딩을 수행하도록 구성될 수 있는 송신 디바이스를 설명하는 블록도이다.
도 3은 일례에 따라 효율적인 오디오 디코딩을 수행하도록 구성될 수 있는 수신 디바이스를 설명하는 블록도이다.
도 4는 일례에 따른 스케일러블 인코더의 블록도이다.
도 5는 인코더의 상위 계층들에서 구현될 수 있는 예시적인 MDCT 스펙트럼 인코딩 프로세스를 설명하는 블록도이다.
도 6은 MDCT 스펙트럼의 인코딩을 용이하게 하기 위해 MDCT 스펙트럼 오디오 프레임이 어떻게 다수의 n-점 대역(또는 서브 벡터들)으로 분할될 수 있는지를 설명하는 도면이다.
도 7은 MDCT 임베디드 대수 벡터 양자화(EAVQ) 코드북 인덱스들의 인코딩을 수행하는 인코딩 알고리즘의 일례를 설명하는 흐름도이다.
도 8은 스케일러블 음성 및 오디오 코덱에 대한 인코더를 설명하는 블록도이다.
도 9는 다수의 스펙트럼 대역을 인코딩하는 일대일 디스크립터 코드를 획득하기 위한 방법의 예를 설명하는 블록도이다.
도 10은 확률 분포를 기초로 코드북들과 디스크립터들 간의 매핑을 생성하기 위한 방법의 예를 설명하는 블록도이다.
도 11은 디스크립터 값들이 어떻게 생성될 수 있는지의 예를 설명하는 블록도이다.
도 12는 스펙트럼 대역들에 대한 다수의 디스크립터의 확률 분포를 기초로 디스크립터 쌍들-일대일 디스크립터 코드들의 매핑을 생성하기 위한 방법의 예를 설명하는 블록도이다.
도 13은 디코더의 예를 설명하는 블록도이다.
도 14는 일대일 디스크립터 코드를 효율적으로 디코딩할 수 있는 디코더를 설명하는 블록도이다.
도 15는 스케일러블 음성 및 오디오 코덱에서 변환 스펙트럼을 디코딩하기 위한 방법을 설명하는 블록도이다.
도면을 참조하여 각종 실시예가 설명되며, 도면 전반에서 동일 엘리먼트를 언급하는 데 동일 참조부호가 사용된다. 다음 설명에서는, 하나 이상의 실시예의 전반적인 이해를 제공하기 위해 설명을 목적으로 다수의 특정 항목이 언급된다. 그러나 이러한 실시예(들)는 이들 특정 항목 없이 실시될 수도 있음이 명백하다. 다른 경우에, 하나 이상의 실시예의 설명을 돕기 위해 잘 알려진 구조 및 장치가 블록도 형태로 도시된다.
개요
오디오 신호를 반복적으로 인코딩하기 위해 다수의 코딩 계층들이 사용되는, 오디오 신호들을 인코딩/디코딩하기 위한 스케일러블 코덱에서, 인코딩을 위해 오디오 신호 잔차들이 (예를 들어, MDCT 영역으로) 변환되는 하나 이상의 코딩 계층에서 변형 이산 코사인 변환이 사용될 수 있다. MDCT 영역에서, 스펙트럼 선들의 프레임이 다수의 대역으로 분할될 수 있다. 각 스펙트럼 대역은 코드북 인덱스에 의해 효율적으로 인코딩될 수 있다. 코드북 인덱스는 또한 확장 코드들을 가진 디스크립터들의 작은 세트로 인코딩될 수 있으며, 인접한 스펙트럼 대역들에 대한 디스크립터들은 또한 일부 코드북 인덱스들과 디스크립터들이 다른 것들보다 높은 확률 분포를 가짐을 인식하는 일대일 디스크립터 코드들로 인코딩될 수 있다. 추가로, 코드북 인덱스들은 또한 변환 스펙트럼 내의 해당 스펙트럼 대역들의 상대적 위치뿐 아니라 인코더 계층 번호에도 기초하여 인코딩된다.
일례로, 한 세트의 임베디드 대수 벡터 양자화기(EAVQ)들이 MDCT 스펙트럼의 n-점 대역들의 코딩에 사용된다. 벡터 양자화기들은 각 n-점 대역을 인코딩하는데 사용되는 레이트 및 코드북 번호들을 정의하는 인덱스들로 무손실 압축될 수 있다. 코드북 인덱스들은 또한 인접한 스펙트럼 대역들에 대한 일대일 코드북 인덱스들을 나타내는 한 세트의 컨텍스트(context) 선택 가능 허프만(Huffman) 코드들을 이용하여 인코딩될 수 있다. 큰 값의 인덱스들의 경우, 코드북 인덱스들을 나타내는 디스크립터 값들을 표현하기 위해 추가 일진 코딩된(unary coded) 확장들이 추가 사용될 수 있다.
통신 시스템
도 1은 하나 이상의 코딩 특징이 구현될 수 있는 통신 시스템을 설명하는 블록도이다. 코더(102)는 착신 입력 오디오 신호(104)를 수신하여 인코딩된 오디오 신호(106)를 생성한다. 인코딩된 오디오 신호(106)는 송신 채널(예를 들어, 무선 또는 유선)을 통해 디코더(108)로 전송될 수 있다. 디코더(108)는 인코딩된 오디오 신호(106)를 기초로 입력 오디오 신호(104)의 재구성을 시도하여 재구성된 출력 오디오 신호(110)를 생성한다. 설명을 위해, 코더(102)는 송신기 디바이스에서 작동할 수 있는 반면, 디코더 디바이스는 수신 디바이스에서 작동할 수 있다. 그러나 이러한 임의의 디바이스들은 인코더와 디코더를 모두 포함할 수도 있음이 명백해야 한다.
도 2는 일례에 따라 효율적인 오디오 코딩을 수행하도록 구성될 수 있는 송신 디바이스(202)를 설명하는 블록도이다. 입력 오디오 신호(204)가 마이크(206)에 의해 포착되고, 증폭기(208)에 의해 증폭되며, A/D 변환기(210)에 의해 디지털 신호로 변환되어, 디지털 신호가 음성 인코딩 모듈(212)로 전송된다. 음성 인코딩 모듈(212)은 입력 신호의 다층화(스케일링된) 코딩을 수행하도록 구성되며, 여기서 이러한 적어도 하나의 계층은 MDCT 스펙트럼에서 잔차(에러 신호)의 인코딩을 수반한다. 음성 인코딩 모듈(212)은 도 4, 도 5, 도 6, 도 7, 도 8, 도 9 및 도 10과 관련하여 설명하는 바와 같이 인코딩을 수행할 수 있다. 음성 인코딩 모듈(212)로부터의 출력 신호들은 송신 경로 인코딩 모듈(214)로 전송될 수 있으며, 여기서 채널 디코딩이 수행되고 결과적인 출력 신호들이 변조 회로(216)로 전송되어 D/A 변환기(218) 및 RF 증폭기(220)를 통해 인코딩된 오디오 신호(224)의 송신을 위한 안테나(222)로 전송되도록 변조된다.
도 3은 일례에 따라 효율적인 오디오 디코딩을 수행하도록 구성될 수 있는 수신 디바이스(302)를 설명하는 블록도이다. 인코딩된 오디오 신호(304)가 안테나(306)에 의해 수신되고 RF 증폭기(308)에 의해 증폭되며, A/D 변환기(310)를 통해 복조 회로(312)로 전송되어 복조된 신호들이 송신 경로 디코딩 모듈(314)에 제공된다. 송신 경로 디코딩 모듈(314)로부터의 출력 신호는 입력 신호의 다층화(스케일링된) 디코딩을 수행하도록 구성된 음성 디코딩 모듈(316)로 전송되며, 여기서 이러한 적어도 하나의 계층은 IMDCT 스펙트럼에서 잔차(에러 신호)의 디코딩을 수반한다. 음성 디코딩 모듈(316)은 도 11, 도 12 및 도 13과 관련하여 설명하는 바와 같이 신호 디코딩을 수행할 수 있다. 음성 디코딩 모듈(316)로부터의 출력 신호들은 D/A 변환기(318)로 전송된다. D/A 변환기(318)로부터의 아날로그 음성 신호는 증폭기(320)를 통해 스피커(322)로 전송되어 재구성된 출력 오디오 신호(324)를 제공한다.
스케일러블 오디오 코덱 구조
코더(102)(도 1), 디코더(108)(도 1), 음성/오디오 인코딩 모듈(212)(도 2) 및/또는 음성/오디오 디코딩 모듈(316)(도 3)은 스케일러블 오디오 코덱으로서 구현될 수 있다. 이러한 스케일러블 오디오 코덱은 에러가 발생하기 쉬운 통신 채널들에 대해, 높은 품질로 전달되는 인코딩된 협대역 음성 신호들 또는 광대역 오디오/음악 신호들로 고성능 광대역 음성 코딩을 제공하도록 구현될 수 있다. 스케일러블 오디오 코덱에 대한 한 가지 접근법은 한 계층으로부터의 에러 신호(잔차)가 다음 계층에서 인코딩되어 이전 계층들에서 인코딩된 오디오 신호를 추가로 개선하는 반복적인 인코딩 계층들을 제공하는 것이다. 예컨대, 코드북 여진 선형 예측(CELP)은 인코더 및 디코더에서 서로 다른 여진 신호들의 코드북이 유지되는 선형 예측 코딩의 개념을 기초로 한다. 인코더는 가장 적합한 여진 신호를 찾아 그에 대응하는 (고정, 대수 및/또는 적응형 코드북으로부터의) 인덱스를 (코드북을 기초로) 신호를 재생하는데 사용하는 디코더로 전송한다. 인코더는 오디오 신호를 인코딩한 다음 디코딩하여 재구성된 또는 합성된 오디오 신호를 생성하는 합성에 의한 분석을 수행한다. 그 다음, 인코더는 에러 신호, 즉 원본 오디오 신호와 재구성 또는 합성된 오디오 신호 간의 차의 에너지를 최소화하는 파라미터들을 찾는다. 채널 요건들 및 원하는 오디오 품질을 충족시키기 위해 더 많은 또는 더 적은 코딩 계층들을 사용함으로써 출력 비트 레이트가 조정될 수 있다. 이러한 스케일러블 오디오 코덱은 하위 계층들의 디코딩에 영향을 주지 않고 상위 계층 비트스트림들이 폐기될 수 있는 여러 계층을 포함할 수 있다.
이러한 다층 구조를 사용하는 기존 스케일러블 코덱들의 예시들은 ITU-T 권고 G.729.1 및 신흥 ITU-T 표준, 코드명 G.EV-VBR을 포함한다. 예를 들어, 임베디드 가변 비트 레이트(EV-VBR) 코덱은 다수의 계층 L1(핵심 계층) 내지 LX(여기서 X는 최상위 확장 계층의 번호임)로서 구현될 수 있다. 이러한 코덱은 16㎑로 샘플링된 광대역(WB) 신호들과 8㎑로 샘플링된 협대역(NB) 신호들을 모두 수용할 수 있다. 마찬가지로, 코덱 출력은 광대역 또는 협대역일 수 있다.
L1(핵심 계층) 내지 L5(최상위 확장 계층)로 지칭되는 5개의 계층을 포함하는 코덱(예를 들어, EV-VBR 코덱)에 대한 계층 구조의 예가 테이블 1에 도시된다. 하위 2개의 계층(L1 및 L2)은 코드 여진 선형 예측(CELP) 알고리즘을 기반으로 할 수 있다. 핵심 계층 L1은 가변 다중 레이트 광대역(VMR-WB) 음성 코딩 알고리즘으로부터 유도될 수 있고, 서로 다른 입력 신호에 대해 최적화된 여러 코딩 모드를 포함할 수 있다. 즉, 핵심 계층 L1은 오디오 신호를 더 양호하게 모델화하도록 입력 신호들을 분류할 수 있다. 핵심 계층 L1로부터의 코딩 에러(잔차)는 적응형 코드북 또는 고정 대수 코드북을 기초로 강화 또는 확장 계층 L2에 의해 인코딩된다. 계층 L2로부터의 에러 신호(잔차)는 또한 변환 영역에서 변형 이산 코사인 변환(MDCT)을 이용하여 상위 계층들(L3-L5)에 의해 코딩될 수 있다. 계층 L3에서 보조(side) 정보가 전송되어 프레임 삭제 은닉(FEC: frame erasure concealment)을 강화할 수 있다.
Figure pct00001
테이블 1
핵심 계층 L1 코덱은 본질적으로 CELP 기반 코덱이고, 적응적 다중 레이트(AMR), AMR 광대역(AMR-WB), 가변 다중 레이트 광대역(VMR-WB), 확장 가변 레이트 코덱(EVRC) 또는 EVR 광대역(EVRC-WB) 코덱들과 같은 잘 알려진 다수의 협대역 또는 광대역 보코더 중 하나와 호환 가능할 수도 있다.
스케일러블 코덱의 계층 2는 코드북들을 사용하여 핵심 계층 L1로부터의 지각적으로 가중된 코딩 에러(잔차)를 추가로 최소화할 수 있다. 코덱 프레임 삭제 은닉(FEC)을 강화하기 위해, 보조 정보가 계산되어 다음 계층 L3으로 전송될 수 있다. 핵심 계층 코딩 모드와 무관하게, 보조 정보는 신호 분류를 포함할 수 있다.
광대역 출력의 경우, 계층 L2 인코딩 후의 가중된 에러 신호는 변형 이산 코사인 변환(MDCT) 또는 비슷한 타입의 변환을 기초로 중첩-가산 변환 코딩을 이용하여 코딩되는 것으로 추정된다. 즉, 코딩된 계층들 L3, L4 및/또는 L5의 경우, 신호는 MDCT 스펙트럼으로 인코딩될 수 있다. 따라서 MDCT 스펙트럼으로 신호를 코딩하는 효율적인 방법이 제공된다.
인코더 예
도 4는 일례에 따른 스케일러블 인코더(402)의 블록도이다. 인코딩 전의 전처리 단계에서, 입력 신호(404)는 불필요한 저주파 성분들을 억제하기 위해 고역 통과 필터링(406)되어 필터링된 입력 신호 SHP(n)을 생성한다. 예를 들어, 고역 통과 필터(406)는 광대역 입력 신호에 대해 25㎐ 컷오프 및 협대역 입력 신호에 대해 100㎐를 가질 수 있다. 그 다음, 필터링된 입력 신호 SHP(n)은 재샘플링 모듈(408)에 의해 재샘플링되어 재샘플링된 입력 신호 S12 .8(n)을 생성한다. 예를 들어, 원래의 입력 신호(404)는 16㎑로 샘플링될 수 있고, 계층 L1 및/또는 L2 인코딩에 사용된 내부 주파수일 수 있는 12.8㎑로 재샘플링된다. 그 다음, 프리-앰퍼시스 모듈(410)이 1차 고역 통과 필터를 적용하여 재샘플링된 입력 신호 S12 .8(n)의 고역 주파수들을 강조한다(그리고 저역 주파수들을 감쇠시킨다). 그 다음, 음성 신호가 스펙트럼 포락선을 나타내는 선형 예측(LP) 합성 필터를 통과한 여진 신호로 모델화되는 코드 여진 선형 예측(CELP) 기반 알고리즘을 기초로 계층 L1 및/또는 L2 인코딩을 수행할 수 있는 인코더/디코더 모듈(412)로 결과적인 신호가 전달된다. 지각적 임계 대역마다 신호 에너지가 계산되어 계층 L1 및 L2 인코딩의 일부로서 사용될 수 있다. 추가로, 인코딩된 인코더/디코더 모듈(412)은 또한 입력 신호의 버전을 합성(재구성)할 수도 있다. 즉, 인코더/디코더 모듈(412)이 입력 신호를 인코딩한 후, 인코더/디코더 모듈(412)은 그 신호를 디코딩하고, 디앰퍼시스 모듈(416) 및 재샘플링 모듈(418)이 입력 신호(404)의 버전
Figure pct00002
을 재생성한다. 원본 신호 SHP(n)과 재생성된 신호
Figure pct00003
간의 차를 취함으로써 잔차 신호
Figure pct00004
이 생성된다(즉,
Figure pct00005
). 그 다음, 잔차 신호
Figure pct00006
이 가중 모듈(424)에 의해 지각적으로 가중되고 MDCT 변환 모듈(428)에 의해 MDCT 스펙트럼 또는 영역으로 변환되어 잔차 신호 X 2(k)를 생성한다. 이러한 변환의 수행시, 신호는 프레임들로 지칭되는 샘플들의 블록들로 분할될 수 있고, 각 프레임은 선형 직교 변환, 예를 들어 이산 푸리에 변환 또는 이산 코사인 변환에 의해 처리되어 변환 계수들을 생성할 수 있으며, 그 다음에 이들은 양자화될 수 있다.
그 다음, 잔차 신호 X 2(k)는 잔차 신호 X 2(k)를 인코딩하여 계층 L3, L4 및/또는 L5에 대한 인코딩된 파라미터들을 생성하는 스펙트럼 인코더(432)에 제공된다. 일례로, 스펙트럼 인코더(432)는 잔차 신호 X 2(k)에서 0이 아닌 스펙트럼 선들(펄스들)을 나타내는 인덱스를 생성한다.
계층 L1 내지 L5로부터의 파라미터들은 송신기 및/또는 저장 디바이스(436)에 전송되어, 뒤에 디코더에서 원본 입력 신호(404)의 버전을 재구성 또는 합성하는데 사용될 수 있는 출력 비트스트림으로 작용할 수 있다.
계층 1 - 분류 인코딩: 핵심 계층 L1이 인코더/디코더 모듈(412)에 구현될 수 있고 신호 분류 및 4개의 서로 다른 코딩 모드를 사용하여 인코딩 성능을 개선할 수 있다. 일례로, 각 프레임의 서로 다른 인코딩을 위해 고려될 수 있는 이러한 4개의 서로 다른 신호 클래스는 (1) 무성음 프레임들에 대한 무성 코딩(UC), (2) 평활 피치 전개를 갖는 준-주기적 세그먼트들에 대해 최적화된 음성 코딩(VC), (3) 프레임 삭제의 경우 에러 전파를 최소화하도록 설계된 음성 개시(onset)들이 이어지는 프레임들에 대한 전이 모드(TC), 및 (4) 다른 프레임들에 대한 일반 코딩(GC)을 포함할 수 있다. 무성 코딩(UC)에서는, 적응형 코드북이 사용되지 않고 가우스 코드북으로부터 여진이 선택된다. 준-주기적 세그먼트들은 음성 코딩(VC) 모드로 인코딩된다. 음성 코딩 선택은 평활 피치 전개에 의해 조정된다. 음성 코딩 모드는 ACELP 기술을 이용할 수 있다. 전이 코딩(TC) 프레임에서, 제 1 피치 구간의 성문 임펄스(glottal impulse)를 포함하는 서브프레임의 적응형 코드북은 고정 코드북으로 대체된다.
핵심 계층 L1에서, 신호는 스펙트럼 포락선을 나타내는 선형 예측(LP) 합성 필터를 통과하는 여진 신호에 의해 CELP 기반 패러다임을 이용하여 모델화될 수 있다. LP 필터는 일반 코딩 모드 및 음성 코딩 모드에 대해 안전망(Safety-Net) 접근법 및 다단계 벡터 양자화(MSVQ)를 이용하여 이미턴스 스펙트럼 주파수(ISF: Immitance spectral frequency) 영역에서 양자화될 수 있다. 피치 추적 알고리즘에 의해 개루프(OL) 피치 분석이 수행되어 평활 피치 윤곽을 확보한다. 그러나 피치 추정의 확고함을 강화하기 위해, 2개의 동시 피치 전개 윤곽이 비교될 수 있고, 더 평활한 윤곽을 산출하는 추적이 선택된다.
20㎳ 분석 윈도우를 이용하는 대부분의 모드에서, 프레임 종단과 중간 프레임에 하나씩, 프레임마다 두 세트의 LPC 파라미터들이 추정되어 인코딩된다. 중간 프레임 ISF들은 각 ISF 하위 그룹에 대해 발견된 선형 보간 계수를 갖는 보간 분할 VQ로 인코딩되어, 추정된 ISF와 보간된 양자화된 ISF 간의 차가 최소화된다. 일례로, LP 계수들의 ISF 표현을 양자화하기 위해, (취약한 예측 및 유력한 예측에 대응하는) 2개의 코드북 세트가 동시에 검색되어 추정된 스펙트럼 포락선의 왜곡을 최소화하는 예측기 및 코드북 엔트리를 찾을 수 있다. 이러한 안전망 접근법의 주요한 이유는 프레임 삭제들이 스펙트럼 포락선이 급속도로 전개하고 있는 세그먼트들에 부합할 때 에러 전파를 줄이기 위해서이다. 부가적인 에러 확고함을 제공하기 위해, 취약한 예측기는 때때로 예측 없이 양자화를 야기하는 0으로 설정된다. 예측 없는 경로는 항상 그 양자화 왜곡이 예측을 갖는 경로와 충분히 가까울 때나 양자화 왜곡이 투명한 코딩을 제공하기에 충분히 작을 때 선택될 수 있다. 또한, 유력한 예측 코드북 검색에서는, 차선의 코드북 벡터가 완전한 채널 성능에 영향을 주는 것이 아니라 프레임 삭제의 존재로 에러 전파를 감소시키는 것으로 예상된다면 차선의 코드북 벡터가 선택된다. UC 및 TC 프레임들의 ISF들은 또한 예측 없이 체계적으로 양자화된다. UC 프레임들의 경우, 예측이 없더라도 매우 우수한 스펙트럼 양자화를 허용하는 충분한 비트가 이용 가능하다. TC 프레임들은 완전한 채널 성능의 잠재적 감소에도, 예측이 사용되기에는 프레임 삭제들에 너무 민감한 것으로 간주된다.
협대역(NB) 신호들의 경우, 양자화되지 않은 최적 이득들을 갖고 생성된 L2 여진을 이용하여 피치 추정이 수행된다. 이러한 접근법은 이득 양자화의 영향을 제거하고 계층들에 걸쳐 피치 지연(pitch-lag) 추정치를 개선한다. 광대역(WB) 신호들의 경우, 표준 피치 추정(양자화된 이득들을 갖는 L1 여진)이 사용된다.
계층 2 - 확장 인코딩: 계층 L2에서, 인코더/디코더 모듈(412)은 또 대수 코드북들을 이용하여 핵심 계층 L1로부터의 양자화 에러를 인코딩할 수 있다. L2 계층에서, 인코더는 또한 지난 L1 기여뿐 아니라 지난 L2 기여 또한 포함하도록 적응형 코드북을 수정한다. 적응적 피치 지연은 계층들 간의 시간 동기를 유지하기 위해 L1과 L2에서 동일하다. L1 및 L2에 대응하는 적응형 및 대수 코드북 이득들은 지각적으로 가중된 코딩 에러를 최소화하도록 다시 최적화된다. 업데이트된 L1 이득들과 L2 이득들은 L1에서 이미 양자화된 이득들에 대해 예측적으로 벡터 양자화된다. CELP 계층들(L1 및 L2)은 내부(예를 들어, 12.8 ㎑) 샘플링 레이트로 작동할 수 있다. 따라서 계층 L2로부터의 출력은 0~6.4㎑ 주파수 대역으로 인코딩된 합성 신호를 포함한다. 광대역 출력의 경우, 누락되는 6.4-7㎑ 대역폭을 생성하기 위해 AMR-WB 대역폭 확장이 사용될 수 있다.
계층 3 - 프레임 삭제 은닉: 프레임 삭제 조건들(FEC)에서 성능을 강화하기 위해, 프레임 에러 은닉 모듈(414)은 인코더/디코더 모듈(412)로부터 보조 정보를 획득할 수 있고, 이를 사용하여 계층 L3 파라미터들을 생성한다. 보조 정보는 모든 코딩 모드에 대한 클래스 정보를 포함할 수 있다. 핵심 계층 전이 코딩을 위해 이전 프레임 스펙트럼 포락선 정보 또한 전송될 수 있다. 다른 핵심 계층 코딩 모드들의 경우, 합성 신호의 위상 정보 및 피치 동기 에너지 또한 전송될 수 있다.
계층 3, 4, 5 - 변환 코딩: 계층 L2에서 제 2 단계 CELP 코딩으로부터 발생한 잔차 신호 X 2(k)는 MDCT 또는 중첩 가산 구조를 갖는 비슷한 변환을 이용하여 계층 L3, L4 및 L5에서 양자화될 수 있다. 즉, 이전 계층으로부터의 잔차 또는 "에러" 신호가 다음 계층에 의해 (디코더로의 송신을 위해 이러한 에러를 효율적으로 나타내고자 하는) 파라미터를 생성하는데 사용된다.
MDCT 계수들은 여러 가지 기술을 이용함으로써 양자화될 수 있다. 어떤 경우에, MDCT 계수들은 스케일러블 대수 벡터 양자화를 이용하여 양자화된다. MDCT는 20 밀리초(㎳)마다 계산될 수 있고, 그 스펙트럼 계수들은 8차원 블록들로 양자화된다. 원본 신호의 스펙트럼으로부터 유도되는 오디오 클리너(MDCT 영역 잡음 성형 필터)가 적용된다. 계층 L3에서 전역적 이득들이 전송된다. 또한, 고주파 보상을 위해서는 극히 적은 비트가 사용된다. 나머지 계층 L3 비트들은 MDCT 계수들의 양자화에 사용된다. 계층 L4 및 L5 비트들은 계층 L4 및 L5 레벨에서 성능이 독립적으로 최대화되도록 사용된다.
어떤 구현들에서, MDCT 계수들은 음성 우세 오디오 콘텐츠와 음악 우세 오디오 콘텐츠에 대해 서로 다르게 양자화될 수 있다. 음성 콘텐츠와 음악 콘텐츠 간의 판별은 L2 가중된 합성 MDCT 컴포넌트들을 대응하는 입력 신호 컴포넌트들과 비교함으로써 CELP 모델 효율성의 평가를 기반으로 한다. 음성 우세 콘텐츠의 경우, 8차원 블록들로 양자화된 스펙트럼 계수들에 의해 L3 및 L4에서 스케일러블 대수 벡터 양자화(AVQ)가 사용된다. L3에서 전역적 이득이 전송되고 고주파 보상을 위해 소수의 비트가 사용된다. 나머지 L3 및 L4 비트들은 MDCT 계수들의 양자화에 사용된다. 양자화 방법은 다중 레이트 격자 VQ(MRLVQ)이다. 인덱스화 프로시저의 복잡도 및 메모리 비용을 줄이기 위해 새로운 다중 레벨 순열 기반 알고리즘이 사용되었다. 랭크 계산이 여러 단계로 이루어진다. 첫째, 입력 벡터가 부호 벡터 및 절대값 벡터로 분해된다. 둘째, 추가로 절대값 벡터가 여러 레벨로 분해된다. 최상위 레벨 벡터가 원본 절대값 벡터이다. 상위 레벨 벡터로부터 가장 빈번한 엘리먼트를 삭제함으로써 각각의 하위 레벨 벡터가 얻어진다. 각 하위 레벨 벡터의 상위 레벨 벡터와 관련된 위치 파라미터는 순열 및 조합 함수를 기초로 인덱스화된다. 마지막으로, 모든 하위 레벨의 인덱스와 부호가 출력 인덱스로 구성된다.
음악 우세 콘텐츠의 경우, 계층 L3에서 대역 선택적 형상 이득 벡터 양자화(형상 이득 VQ)가 사용될 수 있고, 추가적인 펄스 위치 벡터 양자화기가 계층 L4에 적용될 수 있다. 계층 L3에서는, 우선 MDCT 계수들의 에너지를 계산함으로써 대역 선택이 수행될 수 있다. 그 다음, 선택된 대역의 MDCT 계수들이 다중 펄스 코드북을 이용하여 양자화된다. 대역의 MDCT 계수들(스펙트럼 선들)에 대한 대역 이득들을 양자화하기 위해 벡터 양자화기가 사용된다. 계층 L4에서, 펄스 위치 결정 기술을 이용하여 전체 대역폭이 코딩될 수 있다. 오디오 소스 모델 오정합으로 인해 음성 모델이 불필요한 잡음을 생성하는 경우, L2 계층 출력의 어떤 주파수들은 감쇠되어 MDCT 계수들이 보다 공격적으로 코딩되게 할 수 있다. 이는 입력 신호의 MDCT와 계층 L4을 통과하여 코딩된 오디오 신호의 MDCT 간의 제곱 에러를 최소화함으로써 폐루프 방식으로 이루어진다. 적용되는 감쇠량은 6㏈까지일 수 있으며, 이는 2개 또는 그보다 적은 비트를 사용함으로써 전달될 수 있다. 계층 L5는 부가적인 펄스 위치 코딩 기술을 이용할 수 있다.
MDCT 스펙트럼의 코딩
계층 L3, L4 및 L5는 MDCT 스펙트럼(예를 들어, 이전 계층에 대한 잔차를 나타내는 MDCT 계수들)에서 코딩을 수행하기 때문에, 이러한 MDCT 스펙트럼 코딩이 효율적인 것이 바람직하다. 따라서 MDCT 스펙트럼 코딩의 효율적인 방법이 제공된다.
도 5는 인코더의 상위 계층들에서 구현될 수 있는 예시적인 MDCT 스펙트럼 인코딩 프로세스를 설명하는 블록도이다. 인코더(502)는 이전 계층들로부터 잔차 신호(504)의 입력 MDCT 스펙트럼을 얻는다. 이러한 잔차 신호(504)는 원본 신호와 (예를 들어, 원본 신호의 인코딩된 버전으로부터 재구성된) 원본 신호의 재구성된 버전 간의 차일 수 있다. 잔차 신호의 MDCT 계수들은 양자화되어 소정의 오디오 프레임에 대한 스펙트럼 라인들을 생성할 수 있다.
일례로, MDCT 스펙트럼(504)은 CELP 코어(계층 1 및 2)가 적용된 후의 에러 신호의 완전한 MDCT 스펙트럼일 수도 있고, 이 프로시저의 이전 적용들 후의 잔차 MDCT 스펙트럼일 수도 있다. 즉, 계층 3에서 계층 1 및 2로부터의 잔차 신호에 대한 완전한 MDCT 스펙트럼이 수신되어 부분적으로 인코딩된다. 그 다음, 계층 4에서 계층 3으로부터의 신호의 MDCT 스펙트럼 잔차가 인코딩되는 식이다.
인코더(502)는 MDCT 스펙트럼(504)을 다수의 대역으로 분할하거나 분해하는 대역 선택기(508)를 포함할 수 있으며, 여기서 각 대역은 다수의 스펙트럼 선 또는 변환 계수를 포함한다. 그 다음, 대역 에너지 추정기(510)가 대역들 중 하나 이상에서 에너지의 추정치를 제공할 수 있다. 지각적 대역 랭킹 모듈(512)은 각 대역을 지각적으로 랭크할 수 있다. 그 다음, 지각적 대역 선택기(514)가 일부 대역들을 인코딩하는 동시에 다른 대역들을 모두 0 값이 되게 하도록 결정할 수 있다. 예컨대, 임계치 이상의 신호 에너지를 나타내는 대역들이 인코딩될 수 있는 한편, 이러한 임계치 미만의 신호 에너지를 갖는 대역들은 모두 0이 될 수 있다. 예컨대, 이러한 임계치는 지각적 차단 및 다른 인간 오디오 민감 현상에 따라 설정될 수 있다. 이러한 개념 없이는 이와 같이 하길 원하는 이유가 명확하지 않다. 그 다음, 코드북 인덱스 및 레이트 할당기(516)가 선택된 대역들에 대한 코드북 인덱스 및 레이트 할당을 결정할 수 있다. 즉, 대역마다 해당 대역을 가장 잘 나타내는 코드북이 확인되고 인덱스에 의해 식별된다. 코드북에 대한 "레이트"는 코드북에 의해 달성되는 압축량을 지정한다. 그 다음, 벡터 양자화기(518)가 각 대역에 대한 다수의 스펙트럼 선들(변환 계수들)을 양자화된 스펙트럼 선들(변환 계수들)을 특성화하는 벡터 양자화된(VQ) 값(크기 또는 이득)으로 양자화한다.
벡터 양자화에서, 여러 샘플(스펙트럼 선들 또는 변환 계수들)이 함께 벡터들로 블록화되며, 각 벡터는 코드북의 하나의 엔트리로 근사화(양자화)된다. (대역의 스펙트럼 선들 또는 변환 계수들을 나타내는) 입력 벡터를 양자화하기 위해 선택된 코드북 엔트리는 일반적으로 거리 기준에 따라 코드북 간격이 가장 가까운 이웃이다. 예를 들어, 코드북의 다수의 벡터를 나타내기 위해 하나 이상의 중심이 사용될 수 있다. 대역을 나타내는 입력 벡터(들)는 코드북 중심(들)과 비교되어 어느 코드북(및/또는 코드북 벡터)이 최소 거리 측정치(예를 들어, 유클리드(Euclidean) 거리)를 제공하는지를 결정한다. 가장 가까운 거리를 갖는 코드북이 대역을 나타내는데 사용된다. 코드북에 더 많은 엔트리를 추가하는 것은 비트 레이트 및 복잡도를 증가시키지만 평균 왜곡을 감소시킨다. 코드북 엔트리들은 종종 코드 벡터로 지칭된다.
이에 따라, 인코더(502)는 MDCT 스펙트럼(504)을 하나 이상의 코드북 인덱스(nQ)(526), 벡터 양자화된 값들(VQ)(528), 및/또는 잔차 신호(504)에 대한 MDCT 스펙트럼의 버전을 재구성하는데 사용될 수 있는 다른 오디오 프레임들 및/또는 대역 정보로 인코딩될 수 있다. 디코더에서, 수신된 양자화 인덱스 또는 인덱스들 및 벡터 양자화 값들은 프레임의 각 대역에 대한 양자화된 스펙트럼 선들(변환 계수들)을 재구성하는데 사용된다. 그 다음, 합성된 프레임을 재구성하기 위해 이러한 양자화된 스펙트럼 선들(변환 계수들)에 역변환이 적용된다.
다음 인코딩 계층에 대한 입력으로서 사용될 수 있는 출력 잔차 신호(522)가 (원본 입력 잔차 신호(504)로부터 잔차 신호 Sxt를 차감함으로써) 얻어질 수 있다는 점에 주목한다. 이러한 출력 MDCT 스펙트럼 잔차 신호(522)는 코드북 인덱스들(526) 및 벡터 양자화된 값들(528)로부터 MDCT 스펙트럼을 재구성하고 재구성된 MDCT 스펙트럼을 입력 MDCT 스펙트럼(504)에서 차감하여 출력 MDCT 스펙트럼 잔차 신호(522)를 획득함으로써 얻어질 수 있다.
한 특징에 따르면, Embedded Algebraic Vector Quantization (EAVQ) With Application To Wideband Audio Coding(IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), Atlanta, GA, U. S. A, vol. 1, pp. 240-243, 1996 (Xie, 19, 96))에서 M. Xie 및 J.- P. Adoul에 의해 기술된 임베디드 대수 벡터 양자화 방식의 변형인 벡터 양자화 방식이 구현된다. 특히, 2개 이상의 순차적 스펙트럼 대역의 인덱스들을 조합하고 확률 분포들을 사용하여 코드 인덱스들을 더욱 치밀하게 표현함으로써 코드북 인덱스(526)가 효율적으로 표현될 수 있다.
도 6은 MDCT 스펙트럼의 인코딩을 용이하게 하기 위해 MDCT 스펙트럼 오디오 프레임(602)이 어떻게 다수의 n-점 대역(또는 서브 벡터들)으로 분할될 수 있는지를 설명하는 도면이다. 예를 들어, 320개 스펙트럼 선(변환 계수)의 MDCT 스펙트럼 오디오 프레임(602)이 40개의 대역(서브 벡터)(604)으로 분할될 수 있는데, 각 대역(604a)은 8개의 점(또는 스펙트럼 선들)을 갖는다. (예를 들어, 입력 신호가 더 좁은 스펙트럼을 갖는다는 사전 지식을 가진) 어떤 실제 상황들에서, 마지막 4~5개의 대역을 0이 되게 하여, 35~36개의 대역만 인코딩되도록 남기는 것이 또한 가능할 수도 있다. 어떤 추가적인 상황들에서(예를 들어, 상위 계층들의 인코딩시), 어떤 10개의 더 낮은 순서(저주파)의 대역을 스킵하여, 인코딩될 대역 수를 단지 25~26개로 감소시키는 것이 가능할 수도 있다. 보다 일반적인 경우에, 각 계층은 인코딩될 대역들의 특정 서브세트를 지정할 수 있으며, 이들 대역은 이전 인코딩된 서브세트들과 중첩할 수도 있다. 예를 들어, 계층 3 대역들 B1~B40은 계층 4 대역들 C1~C40과 중첩할 수도 있다. 각 대역(604)은 코드북 인덱스 nQx 및 벡터 양자화된 값 VQx로 표현될 수 있다.
벡터 양자화 인코딩 방식
일례로, 인코더는 n*4 비트의 대응하는 할당된 레이트를 갖는 코드북들의 어레이 Qn(n = 0, 2, 3, 4, … , MAX)을 이용할 수 있다. Q0은 모두 0인 벡터를 포함하고, 따라서 이를 전송하기 위해 비트가 필요하지 않은 것으로 추정된다. 더욱이, 인덱스 n=l은 사용되지 않으며, 이는 코드북 수를 줄이도록 이루어진다. 그래서 0이 아닌 벡터들을 갖는 코드북에 할당될 수 있는 최소 레이트는 2*4=8 비트이다. 각 대역을 인코딩하기 위해 어느 코드북이 사용되는지를 지정하기 위해, 각 대역에 대한 벡터 양자화(VQ) 값들 또는 인덱스들과 함께 코드북 인덱스들 nQ(n 값들)이 사용된다.
일반적으로, 각 코드북 인덱스는 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 하는 디스크립터 컴포넌트로 표현될 수 있는데, 선택될 확률이 더 큰 코드북 인덱스들에는 개별 디스크립터 컴포넌트들이 할당되고 선택될 확률이 더 작은 코드북 인덱스들은 그룹화되어 단일 디스크립터가 할당된다.
상기한 바와 같이, 일련의 가능한 코드북 인덱스들 {n}은 코드북 인덱스 0과 인덱스 2 사이에 불연속성을 가지며, 실제로 36일 수도 있는 MAX까지 계속된다. 더욱이, 가능한 n 값들의 분포들의 통계적 분석은 모든 경우의 90% 이상이 작은 세트의 코드북 인덱스들 n={0, 2, 3}에 집중됨을 나타낸다. 그러므로 {n} 값들을 인코딩하기 위해, 이들을 테이블 1에 제시한 바와 같이, 보다 작은 세트의 디스크립터들에 매핑하는 것이 유리할 수 있다.
Figure pct00007
테이블 1
이러한 매핑은 n>=4인 모든 값이 단일 디스크립터 값 3에 매핑되기 때문에 전단사(bijective)가 아니라는 점에 주목한다. 이러한 디스크립터 값 3은 "탈출 코드(escape code)"의 목적에 맞고, 이는 코드북 인덱스 n의 참값이 디스크립터 뒤에 전송된 확장 코드를 이용하여 디코딩될 필요가 있을 것임을 지시한다. 가능한 확장 코드의 예는 테이블 2에 나타낸 클래스 일진 코드이며, 이는 코드북 인덱스들 >= 4의 송신에 사용될 수 있다.
Figure pct00008
테이블 2
추가로, 디스크립터들은 2개씩 쌍으로 인코딩될 수 있는데, 여기서 각각의 일대일 디스크립터 코드는 테이블 3에 나타낸 것과 같이 할당될 수 있는 3개의 가능한 가변 길이 코드(VLC) 중 하나를 가질 수 있다.
Figure pct00009
테이블 3
이러한 일대일 디스크립터 코드들은 디스크립터들의 각 쌍에서 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 할 수 있으며, 예를 들어 허프만 알고리즘 또는 코드를 이용함으로써 구성될 수 있다.
디스크립터들의 각 상에 사용할 VLC 코드북들의 선택은 각 대역의 위치 및 인코더/디코더 계층 번호에 부분적으로 기초하여 이루어질 수 있다. 이러한 가능한 할당의 예는 테이블 4에 도시되어 있으며, 여기서는 VLC 코드북들(예를 들어, 코드북 0, 1 또는 2)이 오디오 프레임 내의 스펙트럼 대역 위치들(예를 들어, 0/1, 2/3, 4/5, 6/7, … ) 및 인코더/디코더 계층 번호를 기초로 스펙트럼 대역들에 할당된다.
Figure pct00010
테이블 4
테이블 4에 나타낸 예는, 어떤 경우에는 코드북 인덱스들 및/또는 코드북 인덱스들에 대한 디스크립터들의 쌍들의 분포가 오디오 프레임 내에서 어떤 스펙트럼 대역들이 처리되고 있는지 그리고 또 어떤 인코딩 계층(예를 들어, 계층 3, 4 또는 5)이 인코딩을 수행하고 있는지에 따라 달라질 수 있음을 인식하고 있다. 따라서 사용되는 VLC 코드북은 오디오 프레임 내의 (인접한 대역들에 대응하는) 디스크립터들의 쌍의 상대적 위치 및 해당 대역이 속하는 인코딩 계층에 좌우될 수 있다.
도 7은 MDCT 임베디드 대수 벡터 양자화(EAVQ) 코드북 인덱스들의 인코딩을 수행하는 인코딩 알고리즘의 일례를 설명하는 흐름도이다. MDCT 스펙트럼 오디오 프레임을 나타내는 다수의 스펙트럼 대역이 획득된다(702). 각 스펙트럼 대역은 다수의 스펙트럼 선 또는 변환 계수를 포함할 수 있다. 스펙트럼 대역들의 순차적 또는 인접한 쌍들의 특성들을 확인하기 위해 이러한 쌍들이 스캔된다(704). 각 스펙트럼 대역의 특성을 기초로, 스펙트럼 대역들 각각에 대한 해당 코드북 인덱스가 식별된다(706). 코드북 인덱스는 이러한 스펙트럼 대역의 특성을 가장 잘 나타내는 코드북을 식별할 수 있다. 즉, 대역마다 해당 대역의 스펙트럼 선들을 나타내는 코드북 인덱스가 검색된다. 추가로, 각 스펙트럼 대역에 대한 벡터 양자화된 값 또는 인덱스가 획득된다(708). 이러한 벡터 양자화 값은 적어도 부분적으로는, 코드북의 선택된 엔트리(예를 들어, 코드북 내의 재구성 포인트들)에 인덱스를 제공할 수 있다. 일례로, 코드북 인덱스들 각각은 디스크립터 컴포넌트 및 확장 코드 컴포넌트로 분할 또는 분해된다(710). 예컨대, 제 1 코드북 인덱스의 경우, 테이블 1로부터 제 1 디스크립터가 선택된다. 비슷하게, 제 2 코드북 인덱스의 경우에도, 테이블 1로부터 제 2 디스크립터가 선택된다. 일반적으로, 코드북 인덱스와 디스크립터 간의 매핑은 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 할 수 있는데, 여기서 신호의 대다수의 대역들은 더 적은 수(서브세트)의 코드북들에 집중된 인덱스들을 갖는 경향이 있다. 인접한(예를 들어, 순차적) 코드북 인덱스들의 디스크립터 컴포넌트들이, 예를 들어 일대일 디스크립터 코드들에 의해 테이블 3을 기초로 쌍으로 인코딩된다. 이러한 일대일 디스크립터 코드들은 각 쌍에서 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 할 수 있다. 디스크립터들의 각 쌍에 사용할 VLC 코드북들의 선택은 도 4에 나타낸 것과 같이, 각 대역의 위치 및 계층 번호에 부분적으로 기초하여 이루어질 수 있다. 추가로, 각 코드북 인덱스에 대해, 예를 들어 테이블 2를 기초로 확장 코드 컴포넌트가 획득된다(714). 그 다음, 일대일 디스크립터 코드, 각 코드북 인덱스에 대한 확장 코드 컴포넌트, 및 각 스펙트럼 대역에 대한 벡터 양자화된 값이 전송 또는 저장될 수 있다(716).
여기서 설명한 코드북 인덱스들의 인코딩 방식을 적용함으로써, 예를 들어 G.729 오디오 압축 알고리즘 임베디드 가변(EV)-가변 비트레이트(VBR) 코덱에 사용된 종래 기술의 방법에 비해 약 25-30% 비트레이트의 절약이 달성될 수 있다.
예시적인 인코더
도 8은 스케일러블 음성 및 오디오 코덱에 대한 인코더를 설명하는 블록도이다. 인코더(802)는 MDCT 스펙트럼 오디오 프레임(801)을 수신하여 이를 다수의 대역들로 분할하는 대역 생성기를 포함할 수 있으며, 여기서 각 대역은 다수의 스펙트럼 선들 또는 변환 계수들을 가질 수 있다. 그 다음, 코드북 선택기(808)는 각 대역을 나타내기 위해 다수의 코드북(804) 중 하나로부터 코드북을 선택할 수 있다.
선택적으로, 코드북(CB) 인덱스 식별기(809)는 특정 대역에 대해 선택된 코드북을 나타내는 코드북 인덱스를 얻을 수 있다. 그 다음, 디스크립터 선택기(812)가 미리 설정된 코드북-디스크립터 매핑 테이블(813)을 이용하여 각 코드북 인덱스를 디스크립터로서 표현할 수 있다. 디스크립터들에 대한 코드북 인덱스들의 매핑은 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 할 수 있는데, 여기서 오디오 프레임의 대다수의 대역은 적은 수(서브세트)의 코드북들에 집중된 인덱스들을 갖는 경향이 있다.
그 다음, 코드북 인덱스 인코더(814)가 선택된 코드북들에 대한 코드북 인덱스들을 인코딩하여 인코딩된 코드북 인덱스들(818)을 산출할 수 있다. 이러한 인코딩된 코드북 인덱스들은 송신 경로 인코딩 모듈(예를 들어, 도 2의 모듈(214))이 아니라 음성/오디오 인코딩 모듈(예를 들어, 도 2의 모듈(212))의 변환 계층에서 인코딩된다는 점이 명백해야 한다. 예를 들어, (한 쌍의 인접한 대역들에 대한) 한 쌍의 디스크립터들은 디스크립터 쌍들과 가변 길이 코드들 간의 미리 설정된 관계를 이용하여 일대일 디스크립터 코드(예를 들어, 인코딩된 코드북 인덱스들(818))를 얻을 수 있는 일대일 디스크립터 인코더(예를 들어, 코드북 인덱스 인코더(814))에 의해 쌍으로 인코딩될 수 있다. 디스크립터 쌍들과 가변 길이 코드들 간의 미리 설정된 관계들은 더 높은 확률의 디스크립터 쌍들에는 더 짧은 길이 코드들을, 더 낮은 확률의 디스크립터 쌍들에는 더 긴 코드들을 이용할 수 있다. 어떤 경우에는, 다수의 코드북(VLC)을 단일 디스크립터 쌍에 매핑하는 것이 유리할 수도 있다. 예컨대, 인코더/디코더 계층 및/또는 프레임 내의 해당 스펙트럼 대역들의 위치에 따라 디스크립터 쌍의 확률 분포가 달라진다는 점이 발견될 수 있다. 따라서 이러한 미리 설정된 관계들은 (오디오 프레임 내에서) 인코딩/디코딩되는 스펙트럼 대역들의 쌍의 위치 및 인코딩/디코딩 계층을 기초로 특정 코드북이 선택되는 다수의 VLC 코드북(816)으로서 표현될 수 있다. 일대일 디스크립터 코드는 2개(또는 그 이상)의 연속한 대역에 대한 조합된 코드북 인덱스들 또는 개별 디스크립터들보다 적은 수의 비트로 이들 대역에 대한 코드북 인덱스들을 표현할 수 있다. 추가로, 확장 코드 선택기(810)는 디스크립터 코드 하에서 함께 그룹화될 수 있었던 인덱스들을 나타내기 위한 확장 코드들(820)을 생성할 수 있다. 벡터 양자화기(811)는 각 스펙트럼 대역에 대한 벡터 양자화된 값 또는 인덱스를 생성할 수 있다. 그 다음, 벡터 양자화된 인덱스 인코더(815)가 벡터 양자화된 값 또는 인덱스 중 하나 이상을 인코딩하여 인코딩된 벡터 양자화된 값들/인덱스들(822)을 산출할 수 있다. 벡터 양자화된 인덱스들의 인코딩은 벡터 양자화된 인덱스들을 나타내는데 사용되는 비트 수를 줄이는 방식으로 수행될 수 있다.
인코딩된 코드북 인덱스들(818)(예를 들어, 일대일 디스크립터 코드들), 확장 코드들(820) 및/또는 인코딩된 벡터 양자화된 값들/인덱스들(822)이 MDCT 스펙트럼 오디오 프레임(810)의 인코딩된 표현들로서 전송 및/또는 저장될 수 있다.
도 9는 다수의 스펙트럼 대역을 인코딩하는 일대일 디스크립터 코드를 획득하기 위한 방법을 설명하는 블록도이다. 일례로, 이 방법은 스케일러블 음성 및 오디오 코덱에서 작동할 수 있다. 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터 잔차 신호가 획득되는데, 여기서 잔차 신호는 원본 오디오 신호와 원본 오디오 신호의 재구성된 버전 간의 차이다(902). 잔차 신호는 이산 코사인 변환(DCT) 타입 변환 계층에서 변환되어 대응하는 변환 스펙트럼을 획득한다(904). 예컨대, DCT 타입 변환 계층은 변형 이산 코사인 변환(MDCT) 계층일 수 있고, 변환 스펙트럼은 MDCT 스펙트럼이다. 그 다음, 변환 스펙트럼은 다수의 스펙트럼 대역으로 분할되는데, 각 스펙트럼 대역은 다수의 스펙트럼 선을 갖는다(906). 어떤 경우에는, 인코딩 전에 스펙트럼 대역들 중 일부가 제거되어 스펙트럼 대역들의 수를 줄일 수도 있다. 스펙트럼 대역들을 인코딩하기 위한 다수의 서로 다른 코드북이 선택되며, 여기서 코드북들은 관련 코드북 인덱스들을 갖는다(908). 예를 들어, 스펙트럼 대역들의 인접한 또는 순차적 쌍들의 특성들(예를 들어, 스펙트럼 대역들에서 스펙트럼 계수들 및/또는 선들의 하나 이상의 특성들)을 확인하기 위해 이러한 쌍들이 스캔될 수 있으며, 스펙트럼 대역들 각각을 가장 잘 나타내는 코드북이 선택되고, 코드북 인덱스가 식별되고 그리고/또는 스펙트럼 대역들의 인접한 쌍들 각각에 관련될 수 있다. 어떤 구현들에서, 디스크립터 컴포넌트 및/또는 확장 코드 컴포넌트가 획득되어 각 코드북 인덱스를 나타내는데 사용될 수 있다. 그 다음, 벡터 양자화된 인덱스들을 획득하기 위해 선택된 코드북들을 이용하여 각 스펙트럼 대역의 스펙트럼 선들에 대해 벡터 양자화가 수행된다(910). 그 다음, 선택된 코드북 인덱스들이 인코딩된다(912). 일례로, 인접한 스펙트럼 대역들에 대한 코드북 인덱스들 또는 관련 디스크립터들은 인접한 스펙트럼 대역들의 양자화된 특성들의 확률 분포를 기초로 하는 일대일 디스크립터 코드로 인코딩될 수 있다. 추가로, 벡터 양자화된 인덱스들 또한 인코딩된다(914). 벡터 양자화된 인덱스들을 나타내는데 사용되는 비트 수를 줄이는 임의의 알고리즘을 이용하여 벡터 양자화된 인덱스들의 인코딩이 수행될 수 있다. 변환 스펙트럼을 표현하기 위해 인코딩된 코드북 인덱스들 및 인코딩된 벡터 양자화된 인덱스들을 이용하여 비트스트림이 형성될 수 있다(916).
일대일 디스크립터 코드는 서로 다른 코드북에 대한 다수의 가능한 가변 길이 코드(VLC) 중 하나에 매핑될 수 있다. VLC 코드북들은 오디오 프레임 내의 각 해당 스펙트럼 대역의 위치 및 인코더 계층 번호를 기초로 디스크립터 컴포넌트들의 각 쌍에 할당될 수 있다. 일대일 디스크립터 코드들은 디스크립터들의 각 쌍의 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 할 수 있다.
일례로, 각 코드북 인덱스는 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 하는 디스크립터 컴포넌트를 갖는데, 선택될 확률이 더 큰 코드북 인덱스들에는 개별 디스크립터 컴포넌트들이 할당되고 선택될 확률이 더 작은 코드북 인덱스들은 그룹화되어 단일 디스크립터가 할당된다. k 값보다 큰 코드북 인덱스들에 대해 단일 디스크립터 컴포넌트가 사용되고, k 값보다 큰 코드북 인덱스들에 대해 확장 코드 컴포넌트들이 사용된다.
디스크립터 생성의 예 도 10은 확률 분포들을 기초로 코드북들과 디스크립터들 간의 매핑을 생성하기 위한 방법의 예를 설명하는 블록도이다. 각 스펙트럼 대역의 특성들을 확인하기 위해 다수의 스펙트럼 대역이 샘플링된다(1000). 사운드의 성질 및 코드북 정의들로 인해, 작은 서브세트의 코드북들이 이용되기 더 쉽다는 인식으로, 디스크립터들을 더 효율적으로 할당하기 위해 해당 신호들에 대해 통계적 분석이 수행될 수 있다. 그러므로 샘플링된 각 스펙트럼 대역은 다수의 코드북 중 하나와 관련되는데, 여기서 관련된 코드북은 스펙트럼 대역 특성들 중 적어도 하나를 나타낸다(1002). 다수의 코드북 각각에 관련된 다수의 샘플링된 스펙트럼 대역들을 기초로 각 코드북에 대한 통계적 확률이 할당된다(1004). 또한, 임계 확률보다 큰 통계적 확률을 갖는 다수의 코드북 각각에 대해 명백한 개개의 디스크립터가 할당된다(1006). 그 다음, 다른 나머지 코드북들에 단일 디스크립터가 할당된다(1008). 단일 디스크립터에 할당된 코드북들 각각에 확장 코드가 관련된다(1010). 결과적으로, 이 방법은 더 작은 세트의 디스크립터들에 코드북 인덱스들을 매핑하는 표(예를 들어, 테이블 1)를 구성하는 스펙트럼 대역들의 충분히 큰 샘플을 획득하는데 이용될 수 있다. 추가로, 테이블 2에 도시한 바와 같이 확장 코드들은 일진 코드일 수 있다.
도 11은 디스크립터 값들이 어떻게 생성될 수 있는지의 예를 설명하는 블록도이다. 스펙트럼 대역들의 샘플 시퀀스 B0 … Bn(1102)에 대해, 각 스펙트럼 대역을 나타내기 위해 코드북(1104)이 선택된다. 즉, 스펙트럼 대역의 특성들을 기초로, 스펙트럼 대역을 가장 면밀히 표현하는 코드북이 선택된다. 어떤 구현들에서, 각 코드북은 해당 코드북 인덱스(1106)에 의해 표현될 수 있다. 이 프로세서는 코드북들에 대한 스펙트럼 대역들의 통계적 분포를 생성하는데 사용될 수 있다. 이 예에서, 2개의 스펙트럼 대역에 대해 코드북 A(예를 들어, 모두 0인 코드북)가 선택되고, 하나의 스펙트럼 대역에 의해 코드북 B가 선택되며, 3개의 스펙트럼 대역에 대해 코드북 C가 선택되는 식이다. 따라서 가장 빈번하게 선택된 코드북들이 식별될 수 있고, 서로 다른/개개의 디스크립터 값 "0", "1" 및 "2"가 이러한 빈번하게 선택된 코드북들에 할당된다. 나머지 코드북들에는 단일 디스크립터 값 "3"이 할당된다. 이러한 단일 디스크립터 "3"에 의해 표현된 대역들의 경우, (예를 들어, 테이블 2에서와 같이) 단일 디스크립터에 의해 식별되는 특정 코드북을 보다 구체적으로 식별하기 위해 확장 코드(1110)가 사용될 수 있다. 이 예에서, 디스크립터 값들의 수를 4개로 줄이기 위해 코드북 B(인덱스 1)는 무시된다. 4개의 디스크립터 "0", "2", "3", "4"가 매핑되어 2 비트로 표현될 수 있다(예를 들어, 테이블 1). 현재 상당 비율의 코드북들이 단일 2-비트 디스크립터 값 "3"으로 표현되기 때문에, 이러한 통계적 분포의 수집은, 이를테면 36개의 코드북을 표현하는데 사용되는 비트 수(즉, 6 비트)를 줄이는데 도움이 된다.
도 10 및 도 11은 코드북 인덱스들이 어떻게 더 적은 비트로 인코딩될 수 있는지의 예를 설명한다. 다양한 다른 구현에서, 동일한 결과를 달성하면서 "디스크립터들"의 개념이 회피 및/또는 수정될 수 있다.
일대일 디스크립터 코드 생성의 예 도 12는 스펙트럼 대역들에 대한 다수의 디스크립터의 확률 분포를 기초로 디스크립터 쌍들-일대일 디스크립터 코드들의 매핑을 생성하기 위한 방법의 예를 설명하는 블록도이다. (이전에 설명한 바와 같이) 다수의 스펙트럼 대역을 디스크립터 값들에 매핑한 후, (예를 들어, 오디오 프레임의 순차적 또는 인접한 스펙트럼 대역들에 대한) 디스크립터 값들의 쌍들에 대해 확률 분포가 결정된다. 인접한 스펙트럼 대역들(예를 들어, 2개의 연속한 대역)과 관련된 다수(예를 들어, 2개)의 디스크립터 값이 획득된다(1200). 디스크립터 값들의 서로 다른 쌍에 대해 예상 확률 분포가 획득된다(1202). 즉, 디스크립터 값들의 각 쌍(예를 들어, 0/0, 0/1, 0/2, 0/3, 1/0, 1/1, 1/2, 1/3, 2/0, 2/1 … 3/3)이 발생할 확률을 기초로, (예를 들어, 2개의 인접한 또는 순차적 스펙트럼 대역에 대해) 가장 가능성 높은 디스크립터 쌍들에서부터 가장 가능성 낮은 디스크립터 쌍들의 분포가 확인될 수 있다. 추가로, 오디오 프레임 내의 특정 대역의 상대적 위치와 특정 인코딩 계층(예를 들어, L3, L4, L5 등)을 기초로 예상 확률 분포가 수집될 수 있다. 그 다음, 디스크립터 값들의 각 쌍에 대해 이들의 예상 확률 분포 및 인코딩 계층과 오디오 프레임에서의 상대적 위치를 기초로 개별 가변 길이 코드(VLC)가 할당된다. 예컨대, (특정 인코더 계층 및 프레임 내에서의 상대적 위치에 대해) 더 높은 확률의 디스크립터 쌍들에는 더 낮은 확률의 디스크립터 쌍들보다 짧은 코드들이 할당될 수 있다. 일례로, 가변 길이 코드들을 생성하기 위해 (예를 들어, 테이블 3에서와 같이) 더 높은 확률의 디스크립터 쌍들에는 더 짧은 코드들이 할당되고 더 낮은 확률의 디스크립터 쌍들에는 더 긴 코드들이 할당되는 허프만 코딩이 사용될 수 있다.
서로 다른 계층에 대한 디스크립터 확률 분포들을 획득하기 위해 이 프로세스가 반복될 수 있다(1206). 따라서 서로 다른 인코더/디코더 계층의 동일한 디스크립터 쌍에 대해 서로 다른 가변 길이 코드가 사용될 수 있다. 가변 길이 코드들을 식별하기 위해 다수의 코드북이 이용될 수 있는데, 여기서 가변 길이 코드를 암호화/복호화하기 위해 어느 코드북이 사용되는지는 인코딩/디코딩되는 각 스펙트럼 대역의 상대적 위치 및 인코더 계층 번호에 좌우된다(1208). 테이블 4에 나타낸 예에서, 인코딩/디코딩되는 대역들의 쌍의 위치 및 계층에 따라 서로 다른 VLC 코드북이 사용될 수 있다.
이 방법은 서로 다른 인코더/디코더 계층에 걸쳐 디스크립터 쌍들에 대한 확률 분포의 구성을 가능하게 하며, 이로써 각 계층에 대한 가변 길이 코드에 대한 디스크립터 쌍들의 매핑을 가능하게 한다. 가장 일반적인(더 높은 확률의) 디스크립터 쌍들에 더 짧은 코드들이 할당되기 때문에, 이는 스펙트럼 대역들을 인코딩할 때 사용되는 비트 수를 감소시킨다.
MDCT 스펙트럼의 디코딩 도 13은 디코더의 예를 설명하는 블록도이다. 오디오 프레임(예를 들어, 20 밀리초 프레임)마다, 디코더(1302)는 수신기 및 저장 디바이스(1304)로부터 인코딩된 MDCT 스펙트럼의 하나 이상의 계층의 정보를 포함하는 입력 비트스트림을 수신할 수 있다. 수신된 계층들은 계층 1에서부터 계층 5까지의 범위일 수 있으며, 이들은 8 kbit/sec 내지 32 kbit/sec의 비트 레이트에 대응할 수 있다. 이는 디코더 동작이 각 프레임에서 수신된 비트(계층) 수에 의해 조정됨을 의미한다. 이 예에서, 출력 신호(1332)는 WB이고 모든 계층은 디코더(1302)에 정확히 수신된 것으로 추정된다. 핵심 계층(계층 1) 및 ACELP 확장 계층(계층 2)이 먼저 디코더 모듈(1306)에 의해 디코딩되고, 신호 합성이 수행된다. 그 다음, 합성된 신호는 디앰퍼시스 모듈(1308)에 의해 강조 해제되고, 재샘플링 모듈(1310)에 의해 16㎑로 재샘플링되어 신호
Figure pct00011
을 생성한다. 후처리 모듈이
Figure pct00012
을 추가 처리하여 계층 1 또는 계층 2의 합성된 신호
Figure pct00013
을 생성한다.
그 다음, 스펙트럼 디코더 모듈(1316)에 의해 상위 계층들(계층 3, 4, 5)이 디코딩되어 MDCT 스펙트럼 신호
Figure pct00014
를 획득한다. MDCT 스펙트럼 신호
Figure pct00015
는 MDCT 역변환 모듈(1320)에 의해 역변환되고, 결과적인 신호
Figure pct00016
이 계층 1 및 2의 지각적으로 가중된 합성 신호
Figure pct00017
에 더해진다. 그 다음, 성형 모듈(1322)에 의해 시간 영역 잡음 성형이 적용된다. 그 다음, 현재 프레임과 중첩하는 이전 프레임의 가중된 합성 신호
Figure pct00018
이 합성에 더해진다. 그 다음, 지각적 역 가중(1324)이 적용되어 합성된 WB 신호를 복원한다. 마지막으로, 복원된 신호에 대해 피치 후-필터(1326)가 적용되고, 다음에 고역 통과 필터(1328)가 적용된다. 후-필터(1326)는 MDCT(계층 3, 4, 5)의 중첩-가산 합성에 의해 유도된 여분의 디코더 지연을 활용한다. 이는 최적의 방식으로 2개의 피치 후-필터 신호들을 조합한다. 하나는 여분의 디코더 지연을 활용함으로써 생성되는 계층 1 또는 계층 2 디코더 출력의 고품질 피치 후-필터 신호
Figure pct00019
이다. 다른 하나는 상위 계층들(계층 3, 4, 5) 합성 신호의 저 지연 피치 후-필터 신호
Figure pct00020
이다. 그 다음, 필터링된 합성 신호
Figure pct00021
이 잡음 게이트(1330)에 의해 출력된다.
도 14는 일대일 디스크립터 코드를 효율적으로 디코딩할 수 있는 디코더를 설명하는 블록도이다. 디코더(1402)는 인코딩된 코드북 인덱스들(1418)을 수신할 수 있다. 예를 들어, 인코딩된 코드북 인덱스들(1418)은 일대일 디스크립터 코드들 및 확장 코드들(1420)일 수 있다. 일대일 디스크립터 코드는 2개(이상)의 연속한 대역들에 대한 조합된 코드북 인덱스들 또는 개별 디스크립터들보다 적은 비트로 이들 대역에 대한 코드북 인덱스들을 표현할 수 있다. 그 다음, 코드북 인덱스 디코더(1414)는 인코딩된 코드북 인덱스들(1418)을 디코딩할 수 있다. 예컨대, 코드북 인덱스 디코더(1414)는 (오디오 프레임 내에서) 디코딩되는 스펙트럼 대역들의 쌍의 위치 및 디코딩 계층을 기초로 VLC 코드북(1416)이 선택될 수 있는, 다수의 VLC 코드북(1416)에 의해 표현되는 미리 설정된 관계들을 이용함으로써 일대일 디스크립터 코드들을 디코딩할 수 있다. 디스크립터 쌍들과 가변 길이 코드들 간의 미리 설정된 관계들은 더 높은 확률의 디스크립터 쌍들에 대해 더 짧은 길이의 코드들을 그리고 더 낮은 확률의 디스크립터 쌍들에 대해 더 긴 코드들을 사용할 수 있다. 일례로, 코드북 인덱스 디코더(1414)는 2개의 인접한 스펙트럼 대역을 나타내는 한 쌍의 디스크립터를 생성할 수 있다. 그 다음, (한 쌍의 인접한 대역들에 대한) 디스크립터들은 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 생성된 디스크립터-코드북 인덱스 매핑 테이블(1413)을 사용하는 디스크립터 식별기(1412)에 의해 디코딩되며, 여기서 오디오 프레임의 대다수의 대역은 적은 수(서브세트)의 코드북들에 집중된 인덱스들을 갖는 경향이 있다. 따라서 디스크립터 식별기(1412)는 해당 스펙트럼 대역을 나타내는 코드북 인덱스들을 제공할 수 있다. 그 다음, 코드북 인덱스 식별기(1409)는 각 대역에 대한 코드북 인덱스들을 식별한다. 추가로, 확장 코드 식별기(1410)가 수신된 확장 코드(1420)를 사용하여, 단일 디스크립터로 그룹화될 수 있었던 코드북 인덱스들을 추가로 식별할 수 있다. 벡터 양자화 디코더(1411)는 각 스펙트럼 대역에 대한 수신된 인코딩 벡터 양자화된 값들/인덱스들(1422)을 디코딩할 수 있다. 그 다음, 코드북 선택기(1408)는 벡터 양자화된 값(1422)을 이용하여 각 스펙트럼 대역을 재구성하기 위해 식별된 코드북 인덱스 및 확장 코드(1420)를 기초로 코드북을 선택할 수 있다. 그 다음, 대역 합성기(1406)가 재구성된 스펙트럼 대역들을 기초로 MDCT 스펙트럼 오디오 프레임(1401)을 재구성하는데, 각 대역은 다수의 스펙트럼 선들 또는 변환 계수들을 가질 수 있다.
예시적인 디코딩 방법 도 15는 스케일러블 음성 및 오디오 코덱에서 변환 스펙트럼을 디코딩하기 위한 방법을 설명하는 블록도이다. 잔차 신호의 양자화된 변환 스펙트럼을 표현하는 다수의 인코딩된 코드북 인덱스들 및 다수의 인코딩된 벡터 양자화된 인덱스들을 갖는 비트스트림이 수신 또는 획득될 수 있으며, 여기서 잔차 신호는 원본 오디오 신호와 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의, 원본 오디오 신호의 재구성된 버전 간의 차이다(1502). IDCT 타입 변환 계층은 변형 이산 코사인 역변환(IMDCT) 계층일 수 있으며, 변환 스펙트럼은 IMDCT 스펙트럼이다. 그 다음, 다수의 스펙트럼 대역들에 대한 디코딩된 코드북 인덱스들을 획득하기 위해 다수의 인코딩된 코드북 인덱스들이 디코딩될 수 있다(1504). 마찬가지로, 다수의 스펙트럼 대역들에 대한 디코딩된 벡터 양자화된 인덱스들을 획득하기 위해 다수의 인코딩된 벡터 양자화된 인덱스들이 디코딩될 수 있다(1506).
일례로, 다수의 인코딩된 코드북 인덱스들의 디코딩은 (a) 다수의 스펙트럼 대역들 각각에 대응하는 디스크립터 컴포넌트를 획득하는 단계, (b) 다수의 스펙트럼 대역들 각각에 대응하는 확장 코드 컴포넌트를 획득하는 단계, (c) 디스크립터 컴포넌트 및 확장 코드 컴포넌트를 기초로 다수의 스펙트럼 대역들 각각에 대응하는 코드북 인덱스 컴포넌트를 획득하는 단계, (d) 다수의 스펙트럼 대역들 각각에 대응하여, 스펙트럼 대역을 합성하기 위해 해당 코드북 인덱스를 이용하는 단계를 포함할 수 있다. 디스크립터 컴포넌트는 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 하는 코드북 인덱스와 관련될 수 있는데, 선택될 확률이 더 큰 코드북 인덱스들에는 개별 디스크립터 컴포넌트들이 할당되고 선택될 확률이 더 작은 코드북 인덱스들은 그룹화되어 단일 디스크립터가 할당된다. k 값보다 큰 코드북 인덱스들에 대해 단일 디스크립터 컴포넌트가 사용될 수 있고, k 값보다 큰 코드북 인덱스들에 대해 확장 코드 컴포넌트들이 사용된다. 오디오 프레임의 다수의 인접한 변환 스펙트럼의 스펙트럼 대역들을 나타내는 일대일 디스크립터 코드에 의해 다수의 인코딩된 코드북 인덱스가 표현될 수 있다. 일대일 디스크립터 코드들은 인접한 스펙트럼 대역들의 양자화된 특성들의 확률 분포를 기초로 할 수 있다. 일례로, 일대일 디스크립터 코드는 서로 다른 코드북에 대한 다수의 가능한 가변 길이 코드(VLC) 중 하나에 매핑될 수 있다. VLC 코드북들은 오디오 프레임 내의 각각의 해당 스펙트럼 대역의 위치와 인코더 계층 번호를 기초로 디스크립터 컴포넌트들의 각 쌍에 할당될 수 있다. 일대일 디스크립터 코드들은 디스크립터들의 각 쌍에서 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 할 수 있다.
그 다음, 이산 코사인 역변환(IDCT) 타입 역변환 계층에서 잔차 신호의 재구성된 버전을 획득하기 위해 디코딩된 코드북 인덱스들 및 디코딩된 벡터 양자화된 인덱스들을 이용하여 다수의 스펙트럼 대역들이 합성될 수 있다(1508).
여기서 설명한 다양한 예시적인 논리 블록, 모듈, 회로 및 알고리즘 단계들은 전자 하드웨어, 소프트웨어, 또는 이 둘의 조합으로 구현 또는 수행될 수 있다. 이러한 하드웨어와 소프트웨어의 호환성을 설명하기 위해, 각종 예시적인 컴포넌트, 블록, 모듈, 회로 및 단계들은 일반적으로 그 기능과 관련하여 상술하였다. 이러한 기능이 하드웨어로 구현되는지 소프트웨어로 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 좌우된다. 구성들은 순서도, 흐름도, 구조도 또는 블록도로 나타낸 프로세스로서 설명될 수 있다는 점에 유의한다. 흐름도는 순차적 프로세스로서 동작들을 설명할 수 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 또한, 동작 순서는 재배열될 수도 있다. 프로세스는 그 동작이 완료될 때 종료된다. 프로세스는 방법, 함수, 프로시저, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응할 때, 그 종료는 호출 함수 또는 메인 함수로의 해당 함수 리턴에 대응한다.
하드웨어로 구현될 때, 다양한 예시는 여기서 설명한 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 현장 프로그래밍 가능 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합을 이용할 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로 프로세서는 임의의 종래 프로세서, 제어기, 마이크로컨트롤러 또는 상태 머신일 수도 있다. 프로세서는 또한 연산 디바이스들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 다수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 구성으로서 구현될 수도 있다.
소프트웨어로 구현될 때, 다양한 예시는 펌웨어, 미들웨어 또는 마이크로코드를 이용할 수 있다. 필요한 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 컴퓨터 판독 가능 매체나 다른 저장소(들)에 저장될 수 있다. 프로세서는 필요한 작업들을 수행할 수 있다. 코드 세그먼트는 프로시저, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들 또는 프로그램 명령문들의 임의의 조합을 나타낼 수 있다. 코드 세그먼트는 정보, 데이터, 인수(argument)들, 파라미터들 또는 메모리 콘텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 연결될 수 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적당한 수단을 통해 전달, 발송 또는 전송될 수 있다.
이 출원에서 사용된 것과 같이, "컴포넌트", "모듈", "시스템" 등의 용어들은 컴퓨터 관련 엔티티, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어를 지칭하기 위한 것이다. 예를 들어, 이에 한정되는 것은 아니지만 컴포넌트는 프로세서상에서 실행하는 프로세스, 프로세서, 객체, 실행 가능한 실행 스레드, 프로그램 및/또는 컴퓨터일 수도 있다. 예시로, 연산 디바이스상에서 구동하는 애플리케이션과 연산 디바이스 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 스레드 내에 상주할 수 있으며, 컴포넌트가 하나의 컴퓨터에 집중될 수도 있고 그리고/또는 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, 도 3, 도 4, 도 5, 도 8, 도 13 및 도 14에서 설명한 장치들, 디바이스들 및/또는 컴포넌트들은 도 6 ~ 도 7, 도 9 ~ 도 12 및 도 15에서 설명한 방법들, 특징들 또는 단계들 중 하나 이상을 수행하도록 구성 또는 개조될 수 있다. 여기서 설명한 알고리즘들은 소프트웨어 및 또는 내장형 하드웨어로 효율적으로 구현될 수도 있다.
상술한 구성들은 예시일 뿐이며 청구범위를 한정하는 것으로 해석되는 것은 아니라는 점에 유의해야 한다. 구성들의 설명은 예시를 위한 것이며, 청구범위를 한정하는 것은 아니다. 이와 같이, 본 교지들은 다른 타입의 장치들에 쉽게 적용될 수 있으며, 많은 대안, 변형 및 개조가 당업자들에게 명백할 것이다.

Claims (39)

  1. 스케일러블(scalable) 음성 및 오디오 코덱에서 인코딩하기 위한 방법으로서,
    코드 여진 선형 예측(CELP: Code Excited Linear Prediction) 기반 인코딩 계층으로부터 잔차 신호(residual signal)를 획득하는 단계 ― 상기 잔차 신호는 원본(original) 오디오 신호와 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    대응하는 변환 스펙트럼을 획득하기 위해 이산 코사인 변환(DCT: Discrete Cosine Transform) 타입 변환 계층에서 상기 잔차 신호를 변환하는 단계;
    상기 변환 스펙트럼을 다수의 스펙트럼 대역들로 분할하는 단계 ― 각 스펙트럼 대역은 다수의 스펙트럼 선(spectral line)들을 가짐 ―;
    상기 스펙트럼 대역들을 인코딩하기 위한 다수의 서로 다른 코드북들을 선택하는 단계 ― 상기 코드북들은 관련 코드북 인덱스들을 가짐 ―;
    벡터 양자화된 인덱스들을 획득하기 위해 상기 선택된 코드북들을 이용하여 각 스펙트럼 대역의 스펙트럼 선들에 대해 벡터 양자화를 수행하는 단계;
    상기 코드북 인덱스들을 인코딩하는 단계;
    상기 벡터 양자화된 인덱스들을 인코딩하는 단계; 및
    양자화된 변환 스펙트럼을 표현하기 위해 상기 인코딩된 코드북 인덱스들 및 인코딩된 벡터 양자화된 인덱스들의 비트스트림을 형성하는 단계를 포함하는, 인코딩하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 DCT 타입 변환 계층은 변형 이산 코사인 변환(MDCT: Modified Discrete Cosine Transform) 계층이고 상기 변환 스펙트럼은 MDCT 스펙트럼인, 인코딩하기 위한 방법.
  3. 제 1 항에 있어서,
    인코딩 전에 스펙트럼 대역들의 수를 줄이기 위해 한 세트의 스펙트럼 대역들을 누락시키는 단계를 더 포함하는, 인코딩하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 코드북 인덱스들을 인코딩하는 단계는 적어도 2개의 인접한 스펙트럼 대역들을 상기 인접한 스펙트럼 대역들의 양자화 특성들의 확률 분포를 기초로 하는 일대일 디스크립터 코드(pair-wise descriptor code)로 인코딩하는 단계를 포함하는, 인코딩하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 적어도 2개의 인접한 스펙트럼 대역들을 인코딩하는 단계는,
    스펙트럼 대역들의 인접한 쌍들의 특성들을 확인하기 위해 상기 쌍들을 스캔하는 단계;
    상기 스펙트럼 대역들 각각에 대한 코드북 인덱스를 식별하는 단계; 및
    각 코드북 인덱스에 대한 디스크립터 컴포넌트 및 확장 코드 컴포넌트를 획득하는 단계를 포함하는, 인코딩하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 일대일 디스크립터 코드를 획득하기 위해 제 1 디스크립터 컴포넌트와 제 2 디스크립터 컴포넌트를 2개 한 쌍으로 인코딩하는 단계를 더 포함하는, 인코딩하기 위한 방법.
  7. 제 5 항에 있어서,
    상기 일대일 디스크립터 코드는 서로 다른 코드북들에 대한 다수의 가능한 가변 길이 코드들(VLC) 중 하나에 매핑되는, 인코딩하기 위한 방법.
  8. 제 7 항에 있어서,
    오디오 프레임 내의 각 해당 스펙트럼 대역의 상대적 위치와 인코더 계층 번호를 기초로 디스크립터 컴포넌트들의 각 쌍에 VLC 코드북들이 할당되는, 인코딩하기 위한 방법.
  9. 제 8 항에 있어서,
    상기 일대일 디스크립터 코드들은 디스크립터들의 각 쌍에서 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 하는, 인코딩하기 위한 방법.
  10. 제 5 항에 있어서,
    k 값보다 큰 코드북 인덱스들에 대해 단일 디스크립터 컴포넌트가 사용되고, 상기 k 값보다 큰 코드북 인덱스들에 대해 확장 코드 컴포넌트들이 사용되는, 인코딩하기 위한 방법.
  11. 제 5 항에 있어서,
    각 코드북 인덱스는 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 하는 디스크립터 컴포넌트와 관련되는데, 선택될 확률이 더 큰 코드북 인덱스들에는 개별 디스크립터 컴포넌트들이 할당되고 선택될 확률이 더 작은 코드북 인덱스들은 그룹화되어 단일 디스크립터가 할당되는, 인코딩하기 위한 방법.
  12. 스케일러블 음성 및 오디오 인코더 디바이스로서,
    코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터 잔차 신호를 획득하고 ― 상기 잔차 신호는 원본 오디오 신호와 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―, 대응하는 변환 스펙트럼을 획득하기 위해 이산 코사인 변환(DCT) 타입 변환 계층에서 상기 잔차 신호를 변환하도록 적응된(adapted) 이산 코사인 변환(DCT) 타입 변환 계층 모듈;
    상기 변환 스펙트럼을 다수의 스펙트럼 대역들로 분할하기 위한 대역 선택기 ― 각 스펙트럼 대역은 다수의 스펙트럼 선들을 가짐 ―;
    상기 스펙트럼 대역들을 인코딩하기 위한 다수의 서로 다른 코드북들을 선택하기 위한 코드북 선택기 ― 상기 코드북들은 관련 코드북 인덱스들을 가짐 ―;
    벡터 양자화된 인덱스들을 획득하기 위해 상기 선택된 코드북들을 이용하여 각 스펙트럼 대역의 스펙트럼 선들에 대해 벡터 양자화를 수행하기 위한 벡터 양자화기;
    다수의 코드북 인덱스들을 함께 인코딩하기 위한 코드북 인덱스 인코더;
    상기 벡터를 인코딩하기 위한 벡터 양자화된 인덱스 인코더; 및
    양자화된 변환 스펙트럼을 표현하기 위해 상기 인코딩된 코드북 인덱스들 및 인코딩된 벡터 양자화된 인덱스들의 비트스트림을 전송하기 위한 송신기를 포함하는, 스케일러블 음성 및 오디오 인코더 디바이스.
  13. 제 12 항에 있어서,
    상기 DCT 타입 변환 계층 모듈은 변형 이산 코사인 변환(MDCT) 계층 모듈이고 상기 변환 스펙트럼은 MDCT 스펙트럼인, 스케일러블 음성 및 오디오 인코더 디바이스.
  14. 제 12 항에 있어서,
    상기 코드북 인덱스 인코더는 적어도 2개의 인접한 스펙트럼 대역들에 대한 코드북 인덱스들을 상기 인접한 스펙트럼 대역들의 양자화 특성들의 확률 분포를 기초로 하는 일대일 디스크립터 코드로 인코딩하도록 적응되는, 스케일러블 음성 및 오디오 인코더 디바이스.
  15. 제 14 항에 있어서,
    상기 코드북 선택기는 스펙트럼 대역들의 인접한 쌍들의 특성들을 확인하기 위해 상기 쌍들을 스캔하도록 적응되고, 상기 디바이스는,
    상기 스펙트럼 대역들 각각에 대한 코드북 인덱스를 식별하기 위한 코드북 인덱스 식별기; 및
    각 코드북 인덱스에 대한 디스크립터 컴포넌트 및 확장 코드 컴포넌트를 획득하기 위한 디스크립터 선택기 모듈을 더 포함하는, 스케일러블 음성 및 오디오 인코더 디바이스.
  16. 제 14 항에 있어서,
    상기 일대일 디스크립터 코드는 서로 다른 코드북들에 대한 다수의 가능한 가변 길이 코드들(VLC) 중 하나에 매핑되는, 스케일러블 음성 및 오디오 인코더 디바이스.
  17. 제 16 항에 있어서,
    오디오 프레임 내의 각 해당 스펙트럼 대역의 상대적 위치와 인코더 계층 번호를 기초로 디스크립터 컴포넌트들의 각 쌍에 VLC 코드북들이 할당되는, 스케일러블 음성 및 오디오 인코더 디바이스.
  18. 스케일러블 음성 및 오디오 인코더 디바이스로서,
    코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터 잔차 신호를 획득하기 위한 수단 ― 상기 잔차 신호는 원본 오디오 신호와 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    대응하는 변환 스펙트럼을 획득하기 위해 이산 코사인 변환(DCT) 타입 변환 계층에서 상기 잔차 신호를 변환하기 위한 수단;
    상기 변환 스펙트럼을 다수의 스펙트럼 대역들로 분할하기 위한 수단 ― 각 스펙트럼 대역은 다수의 스펙트럼 선들을 가짐 ―;
    상기 스펙트럼 대역들을 인코딩하기 위한 다수의 서로 다른 코드북들을 선택하기 위한 수단 ― 상기 코드북들은 관련 코드북 인덱스들을 가짐 ―;
    벡터 양자화된 인덱스들을 획득하기 위해 상기 선택된 코드북들을 이용하여 각 스펙트럼 대역의 스펙트럼 선들에 대해 벡터 양자화를 수행하기 위한 수단;
    상기 코드북 인덱스들을 인코딩하기 위한 수단;
    상기 벡터 양자화된 인덱스들을 인코딩하기 위한 수단; 및
    양자화된 변환 스펙트럼을 표현하기 위해 상기 인코딩된 코드북 인덱스들 및 인코딩된 벡터 양자화된 인덱스들의 비트스트림을 형성하기 위한 수단을 포함하는, 스케일러블 음성 및 오디오 인코더 디바이스.
  19. 스케일러블 음성 및 오디오 인코딩 회로를 포함하는 프로세서로서, 상기 회로는,
    코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터 잔차 신호를 획득하고 ― 상기 잔차 신호는 원본 오디오 신호와 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    대응하는 변환 스펙트럼을 획득하기 위해 이산 코사인 변환(DCT) 타입 변환 계층에서 상기 잔차 신호를 변환하고;
    상기 변환 스펙트럼을 다수의 스펙트럼 대역들로 분할하고 ― 각 스펙트럼 대역은 다수의 스펙트럼 선들을 가짐 ―;
    상기 스펙트럼 대역들을 인코딩하기 위한 다수의 서로 다른 코드북들을 선택하고 ― 상기 코드북들은 관련 코드북 인덱스들을 가짐 ―;
    벡터 양자화된 인덱스들을 획득하기 위해 상기 선택된 코드북들을 이용하여 각 스펙트럼 대역의 스펙트럼 선들에 대해 벡터 양자화를 수행하고;
    상기 코드북 인덱스들을 인코딩하고;
    상기 벡터 양자화된 인덱스들을 인코딩하고; 그리고
    양자화된 변환 스펙트럼을 표현하기 위해 상기 인코딩된 코드북 인덱스들 및 인코딩된 벡터 양자화된 인덱스들의 비트스트림을 형성하도록 적응되는, 프로세서.
  20. 스케일러블 음성 및 오디오 인코딩을 위해 작동하는 명령들을 포함하는 기계 판독 가능 매체로서, 상기 명령들은 하나 이상의 프로세서들에 의해 실행될 때 상기 프로세서들로 하여금,
    코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터 잔차 신호를 획득하게 하고 ― 상기 잔차 신호는 원본 오디오 신호와 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    대응하는 변환 스펙트럼을 획득하기 위해 이산 코사인 변환(DCT) 타입 변환 계층에서 상기 잔차 신호를 변환하게 하고;
    상기 변환 스펙트럼을 다수의 스펙트럼 대역들로 분할하게 하고 ― 각 스펙트럼 대역은 다수의 스펙트럼 선들을 가짐 ―;
    상기 스펙트럼 대역들을 인코딩하기 위한 다수의 서로 다른 코드북들을 선택하게 하고 ― 상기 코드북들은 관련 코드북 인덱스들을 가짐 ―;
    벡터 양자화된 인덱스들을 획득하기 위해 상기 선택된 코드북들을 이용하여 각 스펙트럼 대역의 스펙트럼 선들에 대해 벡터 양자화를 수행하게 하고;
    상기 코드북 인덱스들을 인코딩하게 하고;
    상기 벡터 양자화된 인덱스들을 인코딩하게 하고; 그리고
    양자화된 변환 스펙트럼을 표현하기 위해 상기 인코딩된 코드북 인덱스들 및 인코딩된 벡터 양자화된 인덱스들의 비트스트림을 형성하게 하는, 기계 판독 가능 매체.
  21. 스케일러블 음성 및 오디오 코덱에서 디코딩하기 위한 방법으로서,
    잔차 신호의 양자화된 변환 스펙트럼을 표현하는 다수의 인코딩된 코드북 인덱스들 및 다수의 인코딩된 벡터 양자화된 인덱스들을 갖는 비트스트림을 획득하는 단계 ― 상기 잔차 신호는 원본 오디오 신호와 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    다수의 스펙트럼 대역들에 대한 디코딩된 코드북 인덱스들을 획득하기 위해 상기 다수의 인코딩된 코드북 인덱스들을 디코딩하는 단계;
    상기 다수의 스펙트럼 대역들에 대한 디코딩된 벡터 양자화된 인덱스들을 획득하기 위해 상기 다수의 인코딩된 벡터 양자화된 인덱스들을 디코딩하는 단계; 및
    이산 코사인 역변환(IDCT: Inverse Discrete Cosine Transform) 타입 역변환 계층에서 상기 잔차 신호의 재구성된 버전을 획득하기 위해 상기 디코딩된 코드북 인덱스들 및 디코딩된 벡터 양자화된 인덱스들을 이용하여 상기 다수의 스펙트럼 대역들을 합성하는 단계를 포함하는, 디코딩하기 위한 방법.
  22. 제 21 항에 있어서,
    상기 IDCT 타입 변환 계층은 변형 이산 코사인 역변환(IMDCT: Inverse Modified Discrete Cosine Transform) 계층이고 상기 변환 스펙트럼은 IMDCT 스펙트럼인, 디코딩하기 위한 방법.
  23. 제 21 항에 있어서,
    상기 다수의 인코딩된 코드북 인덱스들을 디코딩하는 단계는,
    상기 다수의 스펙트럼 대역들 각각에 대응하는 디스크립터 컴포넌트를 획득하는 단계;
    상기 다수의 스펙트럼 대역들 각각에 대응하는 확장 코드 컴포넌트를 획득하는 단계;
    상기 디스크립터 컴포넌트 및 확장 코드 컴포넌트를 기초로 상기 다수의 스펙트럼 대역들 각각에 대응하는 코드북 인덱스 컴포넌트를 획득하는 단계; 및
    상기 다수의 스펙트럼 대역들 각각에 대응하여, 스펙트럼 대역을 합성하기 위해 해당 코드북 인덱스를 이용하는 단계를 포함하는, 디코딩하기 위한 방법.
  24. 제 23 항에 있어서,
    상기 디스크립터 컴포넌트는 가능한 코드북 인덱스들의 분포들의 통계적 분석을 기초로 하는 코드북 인덱스와 관련되는데, 선택될 확률이 더 큰 코드북 인덱스들에는 개별 디스크립터 컴포넌트들이 할당되고 선택될 확률이 더 작은 코드북 인덱스들은 그룹화되어 단일 디스크립터가 할당되는, 디코딩하기 위한 방법.
  25. 제 24 항에 있어서,
    k 값보다 큰 코드북 인덱스들에 대해 단일 디스크립터 컴포넌트가 사용되고, 상기 k 값보다 큰 코드북 인덱스들에 대해 확장 코드 컴포넌트들이 사용되는, 디코딩하기 위한 방법.
  26. 제 21 항에 있어서,
    상기 다수의 인코딩된 코드북 인덱스들은 오디오 프레임의 다수의 인접한 변환 스펙트럼의 스펙트럼 대역들을 표현하는 일대일 디스크립터 코드로 표현되는, 디코딩하기 위한 방법.
  27. 제 26 항에 있어서,
    상기 일대일 디스크립터 코드는 상기 인접한 스펙트럼 대역들의 양자화된 특성들의 확률 분포를 기초로 하는, 디코딩하기 위한 방법.
  28. 제 26 항에 있어서,
    상기 일대일 디스크립터 코드는 서로 다른 코드북들에 대한 다수의 가능한 가변 길이 코드들(VLC) 중 하나에 매핑되는, 디코딩하기 위한 방법.
  29. 제 28 항에 있어서,
    상기 오디오 프레임 내의 각 해당 스펙트럼 대역의 상대적 위치와 인코더 계층 번호를 기초로 디스크립터 컴포넌트들의 각 쌍에 VLC 코드북들이 할당되는, 디코딩하기 위한 방법.
  30. 제 26 항에 있어서,
    일대일 디스크립터 코드들은 디스크립터들의 각 쌍에서 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 하는, 디코딩하기 위한 방법.
  31. 스케일러블 음성 및 오디오 디코더 디바이스로서,
    잔차 신호의 양자화된 변환 스펙트럼을 표현하는 다수의 인코딩된 코드북 인덱스들 및 다수의 인코딩된 벡터 양자화된 인덱스들을 갖는 비트스트림을 획득하기 위한 수신기 ― 상기 잔차 신호는 원본 오디오 신호와 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    다수의 스펙트럼 대역들에 대한 디코딩된 코드북 인덱스들을 획득하기 위해 상기 다수의 인코딩된 코드북 인덱스들을 디코딩하기 위한 코드북 인덱스 디코더;
    상기 다수의 스펙트럼 대역들에 대한 디코딩된 벡터 양자화된 인덱스들을 획득하기 위해 상기 다수의 인코딩된 벡터 양자화된 인덱스들을 디코딩하기 위한 벡터 양자화된 인덱스 디코더; 및
    이산 코사인 역변환(IDCT) 타입 역변환 계층에서 상기 잔차 신호의 재구성된 버전을 획득하기 위해 상기 디코딩된 코드북 인덱스들 및 디코딩된 벡터 양자화된 인덱스들을 이용하여 상기 다수의 스펙트럼 대역들을 합성하기 위한 대역 합성기를 포함하는, 스케일러블 음성 및 오디오 디코더 디바이스.
  32. 제 31 항에 있어서,
    상기 IDCT 타입 변환 계층 모듈은 변형 이산 코사인 역변환(IMDCT) 계층 모듈이고 상기 변환 스펙트럼은 IMDCT 스펙트럼인, 스케일러블 음성 및 오디오 디코더 디바이스.
  33. 제 31 항에 있어서,
    상기 다수의 스펙트럼 대역들 각각에 대응하는 디스크립터 컴포넌트를 획득하기 위한 디스크립터 식별기 모듈;
    상기 다수의 스펙트럼 대역들 각각에 대응하는 확장 코드 컴포넌트를 획득하기 위한 확장 코드 식별기;
    상기 디스크립터 컴포넌트 및 확장 코드 컴포넌트를 기초로 상기 다수의 스펙트럼 대역들 각각에 대응하는 코드북 인덱스 컴포넌트를 획득하기 위한 코드북 인덱스 식별기; 및
    상기 다수의 스펙트럼 대역들 각각에 대응하여, 스펙트럼 대역을 합성하기 위해 해당 코드북 인덱스 및 대응하는 벡터 양자화된 인덱스를 이용하는 코드북 선택기를 더 포함하는, 스케일러블 음성 및 오디오 디코더 디바이스.
  34. 제 31 항에 있어서,
    상기 다수의 인코딩된 코드북 인덱스들은 오디오 프레임의 다수의 인접한 변환 스펙트럼의 스펙트럼 대역들을 표현하는 일대일 디스크립터 코드로 표현되는, 스케일러블 음성 및 오디오 디코더 디바이스.
  35. 제 34 항에 있어서,
    상기 일대일 디스크립터 코드는 상기 인접한 스펙트럼 대역들의 양자화된 특성들의 확률 분포를 기초로 하는, 스케일러블 음성 및 오디오 디코더 디바이스.
  36. 제 34 항에 있어서,
    일대일 디스크립터 코드들은 디스크립터들의 각 쌍에서 디스크립터 값들의 전형적인 확률 분포들의 양자화된 세트를 기초로 하는, 스케일러블 음성 및 오디오 디코더 디바이스.
  37. 스케일러블 음성 및 오디오 디코더 디바이스로서,
    잔차 신호의 양자화된 변환 스펙트럼을 표현하는 다수의 인코딩된 코드북 인덱스들 및 다수의 인코딩된 벡터 양자화된 인덱스들을 갖는 비트스트림을 획득하기 위한 수단 ― 상기 잔차 신호는 원본 오디오 신호와 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    다수의 스펙트럼 대역들에 대한 디코딩된 코드북 인덱스들을 획득하기 위해 상기 다수의 인코딩된 코드북 인덱스들을 디코딩하기 위한 수단;
    상기 다수의 스펙트럼 대역들에 대한 디코딩된 벡터 양자화된 인덱스들을 획득하기 위해 상기 다수의 인코딩된 벡터 양자화된 인덱스들을 디코딩하기 위한 수단; 및
    이산 코사인 역변환(IDCT) 타입 역변환 계층에서 상기 잔차 신호의 재구성된 버전을 획득하기 위해 상기 디코딩된 코드북 인덱스들 및 디코딩된 벡터 양자화된 인덱스들을 이용하여 상기 다수의 스펙트럼 대역들을 합성하기 위한 수단을 포함하는, 스케일러블 음성 및 오디오 디코더 디바이스.
  38. 스케일러블 음성 및 오디오 디코딩 회로를 포함하는 프로세서로서, 상기 회로는,
    잔차 신호의 양자화된 변환 스펙트럼을 표현하는 다수의 인코딩된 코드북 인덱스들 및 다수의 인코딩된 벡터 양자화된 인덱스들을 갖는 비트스트림을 획득하고 ― 상기 잔차 신호는 원본 오디오 신호와 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    다수의 스펙트럼 대역들에 대한 디코딩된 코드북 인덱스들을 획득하기 위해 상기 다수의 인코딩된 코드북 인덱스들을 디코딩하고;
    상기 다수의 스펙트럼 대역들에 대한 디코딩된 벡터 양자화된 인덱스들을 획득하기 위해 상기 다수의 인코딩된 벡터 양자화된 인덱스들을 디코딩하고; 그리고
    이산 코사인 역변환(IDCT) 타입 역변환 계층에서 상기 잔차 신호의 재구성된 버전을 획득하기 위해 상기 디코딩된 코드북 인덱스들 및 디코딩된 벡터 양자화된 인덱스들을 이용하여 상기 다수의 스펙트럼 대역들을 합성하도록 적응되는, 프로세서.
  39. 스케일러블 음성 및 오디오 디코딩을 위해 작동하는 명령들을 포함하는 기계 판독 가능 매체로서, 상기 명령들은 하나 이상의 프로세서들에 의해 실행될 때 상기 프로세서들로 하여금,
    잔차 신호의 양자화된 변환 스펙트럼을 표현하는 다수의 인코딩된 코드북 인덱스들 및 다수의 인코딩된 벡터 양자화된 인덱스들을 갖는 비트스트림을 획득하게 하고 ― 상기 잔차 신호는 원본 오디오 신호와 코드 여진 선형 예측(CELP) 기반 인코딩 계층으로부터의 상기 원본 오디오 신호의 재구성된 버전 간의 차임 ―;
    다수의 스펙트럼 대역들에 대한 디코딩된 코드북 인덱스들을 획득하기 위해 상기 다수의 인코딩된 코드북 인덱스들을 디코딩하게 하고;
    상기 다수의 스펙트럼 대역들에 대한 디코딩된 벡터 양자화된 인덱스들을 획득하기 위해 상기 다수의 인코딩된 벡터 양자화된 인덱스들을 디코딩하게 하고; 그리고
    이산 코사인 역변환(IDCT) 타입 역변환 계층에서 상기 잔차 신호의 재구성된 버전을 획득하기 위해 상기 디코딩된 코드북 인덱스들 및 디코딩된 벡터 양자화된 인덱스들을 이용하여 상기 다수의 스펙트럼 대역들을 합성하게 하는, 기계 판독 가능 매체.
KR1020107012403A 2007-11-04 2008-11-04 스케일러블 음성 및 오디오 코덱들에서 양자화된 mdct 스펙트럼에 대한 코드북 인덱스들의 인코딩/디코딩을 위한 기술 KR101139172B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US98526307P 2007-11-04 2007-11-04
US60/985,263 2007-11-04
US12/263,726 US8515767B2 (en) 2007-11-04 2008-11-03 Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
US12/263,726 2008-11-03
PCT/US2008/082376 WO2009059333A1 (en) 2007-11-04 2008-11-04 Technique for encoding/decoding of codebook indices for quantized mdct spectrum in scalable speech and audio codecs

Publications (2)

Publication Number Publication Date
KR20100086031A true KR20100086031A (ko) 2010-07-29
KR101139172B1 KR101139172B1 (ko) 2012-04-26

Family

ID=40259123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107012403A KR101139172B1 (ko) 2007-11-04 2008-11-04 스케일러블 음성 및 오디오 코덱들에서 양자화된 mdct 스펙트럼에 대한 코드북 인덱스들의 인코딩/디코딩을 위한 기술

Country Status (12)

Country Link
US (1) US8515767B2 (ko)
EP (1) EP2220645A1 (ko)
JP (1) JP5722040B2 (ko)
KR (1) KR101139172B1 (ko)
CN (1) CN101849258B (ko)
AU (1) AU2008318328A1 (ko)
CA (1) CA2703700A1 (ko)
IL (1) IL205375A0 (ko)
MX (1) MX2010004823A (ko)
RU (1) RU2437172C1 (ko)
TW (1) TWI405187B (ko)
WO (1) WO2009059333A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924203B2 (en) 2011-10-28 2014-12-30 Electronics And Telecommunications Research Institute Apparatus and method for coding signal in a communication system

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2529292T3 (es) 2007-04-29 2015-02-18 Huawei Technologies Co., Ltd. Método de codificación y de decodificación
RU2509379C2 (ru) * 2008-07-10 2014-03-10 Войсэйдж Корпорейшн Устройство и способ квантования и обратного квантования lpc-фильтров в суперкадре
ES2934052T3 (es) 2008-07-11 2023-02-16 Fraunhofer Ges Forschung Codificador de audio y decodificador de audio
WO2010031003A1 (en) * 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Adding second enhancement layer to celp based core layer
KR101649376B1 (ko) * 2008-10-13 2016-08-31 한국전자통신연구원 Mdct 기반 음성/오디오 통합 부호화기의 lpc 잔차신호 부호화/복호화 장치
WO2010044593A2 (ko) 2008-10-13 2010-04-22 한국전자통신연구원 Mdct 기반 음성/오디오 통합 부호화기의 lpc 잔차신호 부호화/복호화 장치
US20100114568A1 (en) * 2008-10-24 2010-05-06 Lg Electronics Inc. Apparatus for processing an audio signal and method thereof
FR2938688A1 (fr) * 2008-11-18 2010-05-21 France Telecom Codage avec mise en forme du bruit dans un codeur hierarchique
CN103366755B (zh) * 2009-02-16 2016-05-18 韩国电子通信研究院 对音频信号进行编码和解码的方法和设备
JP5730860B2 (ja) * 2009-05-19 2015-06-10 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 階層型正弦波パルスコーディングを用いるオーディオ信号の符号化及び復号化方法及び装置
CN101931414B (zh) 2009-06-19 2013-04-24 华为技术有限公司 脉冲编码方法及装置、脉冲解码方法及装置
JP5754899B2 (ja) * 2009-10-07 2015-07-29 ソニー株式会社 復号装置および方法、並びにプログラム
WO2011045926A1 (ja) * 2009-10-14 2011-04-21 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
BR112012009445B1 (pt) 2009-10-20 2023-02-14 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificador de áudio, decodificador de áudio, método para codificar uma informação de áudio, método para decodificar uma informação de áudio que utiliza uma detecção de um grupo de valores espectrais previamente decodificados
ES2656668T3 (es) * 2009-10-21 2018-02-28 Dolby International Ab Sobremuestreo en un banco de filtros de reemisor combinado
CN102859583B (zh) * 2010-01-12 2014-09-10 弗劳恩霍弗实用研究促进协会 利用对数值先前脉络值的数字表示之修改的音频编码器、音频解码器、编码音频信息的方法及解码音频信息的方法
EP2525354B1 (en) * 2010-01-13 2015-04-22 Panasonic Intellectual Property Corporation of America Encoding device and encoding method
WO2011086924A1 (ja) * 2010-01-14 2011-07-21 パナソニック株式会社 音声符号化装置および音声符号化方法
KR101819180B1 (ko) * 2010-03-31 2018-01-16 한국전자통신연구원 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
AU2011241424B2 (en) 2010-04-14 2016-05-05 Voiceage Evs Llc Flexible and scalable combined innovation codebook for use in CELP coder and decoder
WO2011132368A1 (ja) * 2010-04-19 2011-10-27 パナソニック株式会社 符号化装置、復号装置、符号化方法及び復号方法
EP2581904B1 (en) * 2010-06-11 2015-10-07 Panasonic Intellectual Property Corporation of America Audio (de)coding apparatus and method
CN102299760B (zh) 2010-06-24 2014-03-12 华为技术有限公司 脉冲编解码方法及脉冲编解码器
WO2012005210A1 (ja) * 2010-07-05 2012-01-12 日本電信電話株式会社 符号化方法、復号方法、装置、プログラムおよび記録媒体
PL2633521T3 (pl) * 2010-10-25 2019-01-31 Voiceage Corporation Kodowanie zwykłych sygnałów audio przy małych przepływnościach bitowych i małym opóźnieniu
EP2458585B1 (en) * 2010-11-29 2013-07-17 Nxp B.V. Error concealment for sub-band coded audio signals
CN102623012B (zh) * 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
EP2668651A4 (en) * 2011-01-28 2014-07-30 Nokia Corp CODING BY COMBINING CODE VECTORS
US9767822B2 (en) * 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and decoding a watermarked signal
US9195675B2 (en) * 2011-02-24 2015-11-24 A9.Com, Inc. Decoding of variable-length data with group formats
ES2641315T3 (es) 2011-03-04 2017-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Corrección de ganancia post-cuantificación en codificación de audio
NO2669468T3 (ko) * 2011-05-11 2018-06-02
RU2464649C1 (ru) * 2011-06-01 2012-10-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ обработки звукового сигнала
US9037456B2 (en) * 2011-07-26 2015-05-19 Google Technology Holdings LLC Method and apparatus for audio coding and decoding
TWI585749B (zh) 2011-10-21 2017-06-01 三星電子股份有限公司 無損編碼方法
US9786292B2 (en) 2011-10-28 2017-10-10 Panasonic Intellectual Property Corporation Of America Audio encoding apparatus, audio decoding apparatus, audio encoding method, and audio decoding method
FR2984580A1 (fr) * 2011-12-20 2013-06-21 France Telecom Procede de detection d'une bande de frequence predeterminee dans un signal de donnees audio, dispositif de detection et programme d'ordinateur correspondant
US8712076B2 (en) 2012-02-08 2014-04-29 Dolby Laboratories Licensing Corporation Post-processing including median filtering of noise suppression gains
US9173025B2 (en) 2012-02-08 2015-10-27 Dolby Laboratories Licensing Corporation Combined suppression of noise, echo, and out-of-location signals
EP2814028B1 (en) 2012-02-10 2016-08-17 Panasonic Intellectual Property Corporation of America Audio and speech coding device, audio and speech decoding device, method for coding audio and speech, and method for decoding audio and speech
US9972325B2 (en) 2012-02-17 2018-05-15 Huawei Technologies Co., Ltd. System and method for mixed codebook excitation for speech coding
US9384759B2 (en) 2012-03-05 2016-07-05 Malaspina Labs (Barbados) Inc. Voice activity detection and pitch estimation
US9437213B2 (en) 2012-03-05 2016-09-06 Malaspina Labs (Barbados) Inc. Voice signal enhancement
US9020818B2 (en) * 2012-03-05 2015-04-28 Malaspina Labs (Barbados) Inc. Format based speech reconstruction from noisy signals
WO2013142650A1 (en) 2012-03-23 2013-09-26 Dolby International Ab Enabling sampling rate diversity in a voice communication system
AU2013283568B2 (en) * 2012-06-28 2016-05-12 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Linear prediction based audio coding using improved probability distribution estimation
MY178306A (en) 2013-01-29 2020-10-07 Fraunhofer Ges Forschung Low-frequency emphasis for lpc-based coding in frequency domain
KR102148407B1 (ko) * 2013-02-27 2020-08-27 한국전자통신연구원 소스 필터를 이용한 주파수 스펙트럼 처리 장치 및 방법
WO2014202535A1 (en) * 2013-06-21 2014-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for improved concealment of the adaptive codebook in acelp-like concealment employing improved pulse resynchronization
MX371425B (es) 2013-06-21 2020-01-29 Fraunhofer Ges Forschung Aparato y metodo para la ocultacion mejorada del libro de codigo adaptativo en la ocultacion similar a acelp mediante la utilizacion de una estimacion mejorada del retardo de tono.
US9626184B2 (en) 2013-06-28 2017-04-18 Intel Corporation Processors, methods, systems, and instructions to transcode variable length code points of unicode characters
CN104282308B (zh) 2013-07-04 2017-07-14 华为技术有限公司 频域包络的矢量量化方法和装置
FR3008533A1 (fr) * 2013-07-12 2015-01-16 Orange Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences
US9418671B2 (en) * 2013-08-15 2016-08-16 Huawei Technologies Co., Ltd. Adaptive high-pass post-filter
CN105723454B (zh) * 2013-09-13 2020-01-24 三星电子株式会社 能量无损编码方法和设备、信号编码方法和设备、能量无损解码方法和设备及信号解码方法和设备
CN110867190B (zh) 2013-09-16 2023-10-13 三星电子株式会社 信号编码方法和装置以及信号解码方法和装置
EP3226242B1 (en) * 2013-10-18 2018-12-19 Telefonaktiebolaget LM Ericsson (publ) Coding of spectral peak positions
EP3336840B1 (en) 2013-10-31 2019-09-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder and method for providing a decoded audio information using an error concealment modifying a time domain excitation signal
KR101981548B1 (ko) 2013-10-31 2019-05-23 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 시간 도메인 여기 신호를 기초로 하는 오류 은닉을 사용하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더 및 방법
FR3013496A1 (fr) * 2013-11-15 2015-05-22 Orange Transition d'un codage/decodage par transformee vers un codage/decodage predictif
JP6319753B2 (ja) * 2013-12-02 2018-05-09 華為技術有限公司Huawei Technologies Co.,Ltd. 符号化方法および装置
CN104751849B (zh) 2013-12-31 2017-04-19 华为技术有限公司 语音频码流的解码方法及装置
CN107369455B (zh) * 2014-03-21 2020-12-15 华为技术有限公司 语音频码流的解码方法及装置
KR101861787B1 (ko) 2014-05-01 2018-05-28 니폰 덴신 덴와 가부시끼가이샤 부호화 장치, 복호 장치, 부호화 방법, 복호 방법, 부호화 프로그램, 복호 프로그램, 기록매체
US9852737B2 (en) * 2014-05-16 2017-12-26 Qualcomm Incorporated Coding vectors decomposed from higher-order ambisonics audio signals
EP2980795A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor
EP2980797A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition
EP2980794A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor
JP6763849B2 (ja) 2014-07-28 2020-09-30 サムスン エレクトロニクス カンパニー リミテッド スペクトル符号化方法
CN105357162B (zh) * 2014-08-22 2020-12-11 中兴通讯股份有限公司 一种信号处理方法、基站和终端
EP2993665A1 (en) 2014-09-02 2016-03-09 Thomson Licensing Method and apparatus for coding or decoding subband configuration data for subband groups
US9425875B2 (en) 2014-09-25 2016-08-23 Intel IP Corporation Codebook for full-dimension multiple input multiple output communications
KR101593185B1 (ko) 2014-11-21 2016-02-15 한국전자통신연구원 코드북 설계 방법 및 장치
MY182955A (en) * 2015-02-02 2021-02-05 Fraunhofer Ges Forschung Apparatus and method for processing an encoded audio signal
US10756755B2 (en) * 2016-05-10 2020-08-25 Immersion Networks, Inc. Adaptive audio codec system, method and article
US20180007045A1 (en) * 2016-06-30 2018-01-04 Mehdi Arashmid Akhavain Mohammadi Secure coding and modulation for optical transport
US10355712B2 (en) * 2017-03-31 2019-07-16 Sandisk Technologies Llc Use of multiple codebooks for programming data in different memory areas of a storage device
US10236909B2 (en) * 2017-03-31 2019-03-19 Sandisk Technologies Llc Bit-order modification for different memory areas of a storage device
US10230395B2 (en) * 2017-03-31 2019-03-12 Sandisk Technologies Llc Determining codebooks for different memory areas of a storage device
US10699723B2 (en) * 2017-04-25 2020-06-30 Dts, Inc. Encoding and decoding of digital audio signals using variable alphabet size
WO2018201113A1 (en) * 2017-04-28 2018-11-01 Dts, Inc. Audio coder window and transform implementations
US10375131B2 (en) * 2017-05-19 2019-08-06 Cisco Technology, Inc. Selectively transforming audio streams based on audio energy estimate
CN113287167A (zh) * 2019-01-03 2021-08-20 杜比国际公司 用于混合语音合成的方法、设备及系统
US11380343B2 (en) 2019-09-12 2022-07-05 Immersion Networks, Inc. Systems and methods for processing high frequency audio signal

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3193515B2 (ja) 1993-03-11 2001-07-30 株式会社日立国際電気 音声符号化通信方式及びその装置
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
JP3849210B2 (ja) * 1996-09-24 2006-11-22 ヤマハ株式会社 音声符号化復号方式
JPH10124088A (ja) * 1996-10-24 1998-05-15 Sony Corp 音声帯域幅拡張装置及び方法
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US6182030B1 (en) 1998-12-18 2001-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced coding to improve coded communication signals
JP3323175B2 (ja) * 1999-04-20 2002-09-09 松下電器産業株式会社 符号化装置
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
SE519985C2 (sv) * 2000-09-15 2003-05-06 Ericsson Telefon Ab L M Kodning och avkodning av signaler från flera kanaler
JP2002091498A (ja) 2000-09-19 2002-03-27 Victor Co Of Japan Ltd オーディオ信号符号化装置
US6934676B2 (en) * 2001-05-11 2005-08-23 Nokia Mobile Phones Ltd. Method and system for inter-channel signal redundancy removal in perceptual audio coding
DE10124420C1 (de) * 2001-05-18 2002-11-28 Siemens Ag Verfahren zur Codierung und zur Übertragung von Sprachsignalen
EP1438673B1 (en) 2001-09-26 2012-11-21 Interact Devices Inc. System and method for communicating media signals
JP2003140693A (ja) 2001-11-02 2003-05-16 Sony Corp 音声復号装置及び方法
US6662154B2 (en) * 2001-12-12 2003-12-09 Motorola, Inc. Method and system for information signal coding using combinatorial and huffman codes
CA2365203A1 (en) 2001-12-14 2003-06-14 Voiceage Corporation A signal modification method for efficient coding of speech signals
WO2003077235A1 (en) * 2002-03-12 2003-09-18 Nokia Corporation Efficient improvements in scalable audio coding
US7110941B2 (en) * 2002-03-28 2006-09-19 Microsoft Corporation System and method for embedded audio coding with implicit auditory masking
TW584835B (en) 2002-12-13 2004-04-21 Univ Nat Chiao Tung Method and architecture of digital coding for transmitting and packing audio signals
KR100754439B1 (ko) * 2003-01-09 2007-08-31 와이더댄 주식회사 이동 전화상의 체감 음질을 향상시키기 위한 디지털오디오 신호의 전처리 방법
US7426462B2 (en) * 2003-09-29 2008-09-16 Sony Corporation Fast codebook selection method in audio encoding
EP1521243A1 (en) 2003-10-01 2005-04-06 Siemens Aktiengesellschaft Speech coding method applying noise reduction by modifying the codebook gain
TWI227866B (en) 2003-11-07 2005-02-11 Mediatek Inc Subband analysis/synthesis filtering method
EP1688917A1 (en) * 2003-12-26 2006-08-09 Matsushita Electric Industries Co. Ltd. Voice/musical sound encoding device and voice/musical sound encoding method
BRPI0515551A (pt) * 2004-09-17 2008-07-29 Matsushita Electric Ind Co Ltd aparelho de codificação de áudio, aparelho de decodificação de áudio, aparelho de comunicação e método de codificação de áudio
US7788106B2 (en) 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
TWI271703B (en) 2005-07-22 2007-01-21 Pixart Imaging Inc Audio encoder and method thereof
GB0524983D0 (en) 2005-12-07 2006-01-18 Imagination Tech Ltd Recompression and decompression of a data stream for rate smoothing
US8306827B2 (en) * 2006-03-10 2012-11-06 Panasonic Corporation Coding device and coding method with high layer coding based on lower layer coding results
EP2009623A1 (en) * 2007-06-27 2008-12-31 Nokia Siemens Networks Oy Speech coding
US7873514B2 (en) * 2006-08-11 2011-01-18 Ntt Docomo, Inc. Method for quantizing speech and audio through an efficient perceptually relevant search of multiple quantization patterns
CN101578508B (zh) * 2006-10-24 2013-07-17 沃伊斯亚吉公司 用于对语音信号中的过渡帧进行编码的方法和设备
GB2453117B (en) * 2007-09-25 2012-05-23 Motorola Mobility Inc Apparatus and method for encoding a multi channel audio signal
CA2697604A1 (en) * 2007-09-28 2009-04-02 Voiceage Corporation Method and device for efficient quantization of transform information in an embedded speech and audio codec
US8209190B2 (en) * 2007-10-25 2012-06-26 Motorola Mobility, Inc. Method and apparatus for generating an enhancement layer within an audio coding system
WO2009071115A1 (en) * 2007-12-03 2009-06-11 Nokia Corporation A packet generator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924203B2 (en) 2011-10-28 2014-12-30 Electronics And Telecommunications Research Institute Apparatus and method for coding signal in a communication system

Also Published As

Publication number Publication date
JP2011503653A (ja) 2011-01-27
EP2220645A1 (en) 2010-08-25
JP5722040B2 (ja) 2015-05-20
IL205375A0 (en) 2010-12-30
KR101139172B1 (ko) 2012-04-26
US20090240491A1 (en) 2009-09-24
CN101849258A (zh) 2010-09-29
TW200935403A (en) 2009-08-16
TWI405187B (zh) 2013-08-11
CA2703700A1 (en) 2009-05-07
WO2009059333A1 (en) 2009-05-07
AU2008318328A1 (en) 2009-05-07
US8515767B2 (en) 2013-08-20
MX2010004823A (es) 2010-06-11
CN101849258B (zh) 2012-11-14
RU2437172C1 (ru) 2011-12-20

Similar Documents

Publication Publication Date Title
KR101139172B1 (ko) 스케일러블 음성 및 오디오 코덱들에서 양자화된 mdct 스펙트럼에 대한 코드북 인덱스들의 인코딩/디코딩을 위한 기술
AU2008316860B2 (en) Scalable speech and audio encoding using combinatorial encoding of MDCT spectrum
KR101664434B1 (ko) 오디오 신호의 부호화 및 복호화 방법 및 그 장치
KR101171098B1 (ko) 혼합 구조의 스케일러블 음성 부호화 방법 및 장치
US8010348B2 (en) Adaptive encoding and decoding with forward linear prediction
EP2849180B1 (en) Hybrid audio signal encoder, hybrid audio signal decoder, method for encoding audio signal, and method for decoding audio signal
JP5719941B2 (ja) オーディオ信号の効率的なエンコーディング/デコーディング
US20110161087A1 (en) Embedded Speech and Audio Coding Using a Switchable Model Core
JP2009524100A (ja) 符号化/復号化装置及び方法
KR20090117883A (ko) 부호화 장치, 복호 장치 및 그 방법
US9240192B2 (en) Device and method for efficiently encoding quantization parameters of spectral coefficient coding
WO2008053970A1 (fr) Dispositif de codage de la voix, dispositif de décodage de la voix et leurs procédés
KR101387808B1 (ko) 가변 비트율을 갖는 잔차 신호 부호화를 이용한 고품질 다객체 오디오 부호화 및 복호화 장치
WO2009022193A2 (en) Devices, methods and computer program products for audio signal coding and decoding
US20100280830A1 (en) Decoder
US20170206905A1 (en) Method, medium and apparatus for encoding and/or decoding signal based on a psychoacoustic model
De Meuleneire et al. Algebraic quantization of transform coefficients for embedded audio coding

Legal Events

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

Payment date: 20160330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 8