KR20080110757A - Celp 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩 - Google Patents

Celp 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩 Download PDF

Info

Publication number
KR20080110757A
KR20080110757A KR1020087023140A KR20087023140A KR20080110757A KR 20080110757 A KR20080110757 A KR 20080110757A KR 1020087023140 A KR1020087023140 A KR 1020087023140A KR 20087023140 A KR20087023140 A KR 20087023140A KR 20080110757 A KR20080110757 A KR 20080110757A
Authority
KR
South Korea
Prior art keywords
codebook
vector
codebooks
pattern
pulse
Prior art date
Application number
KR1020087023140A
Other languages
English (en)
Other versions
KR101370017B1 (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 KR20080110757A publication Critical patent/KR20080110757A/ko
Application granted granted Critical
Publication of KR101370017B1 publication Critical patent/KR101370017B1/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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • 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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0007Codebook element generation

Abstract

본 발명은 디지털 오디오 신호를 코딩/디코딩하기 위해 CELP 여기 벡터들의 개선된 딕셔너리를 구성하는 것에 관한 것이다. 일반적으로, N 차원의 각각의 벡터는 N 개의 유효 위치를 차지할 수 있는 펄스들을 포함한다. 본 발명은, 기본 패턴을 형성하는 공통의 펄스 시퀀스를 제공함으로써, 그리고 상기 N 개의 유효 위치 중에서 하나 또는 그 이상의 각각의 위치에서의 하나 또는 그 이상의 발생에 근거하여, 딕셔너리의 각각의 여기 벡터에 기본 패턴을 할당함으로써, 특정 구조를 갖는 딕셔너리를 구성하는 것에 관한 것이다. 본 발명은 또한, 딕셔너리들의 결합에 관한 것이고, 따라서 선택에 따라서는 유니언 혹은 합산 또는 캐스캐이딩에 의해 표준의 다중펄스 딕셔너리로 구성된다.

Description

CELP 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩{IMPROVED CODING/DECODING OF A DIGITAL AUDIO SIGNAL, IN CELP TECHNIQUE}
본 발명은 "CELP(Code Excited Linear Prediction)" 기술을 사용하여 디지털 오디오 신호를 코딩/디코딩하는 것에 관한 것이다.
이러한 신호의 압축 모드 인코딩은 이들의 전송 혹은 이들의 저장을 위해 필요로 할 수 있다. 신호는 음성 신호(speech signals)일 수 있으며, 또는 더 일반적으로 말하면 디지털화된 사운드 신호일 수 있다. 특히, 본 발명은 예측 인코딩 기술에 관한 것으로, 여기서,
- 입력 신호의 단기 예측(short-term prediction)이 합성 필터(synthesis filter)("LPC" 필터로 언급되며, LPC는 "선형 예측 코딩(Linear Prediction Coding)"을 나타냄)를 예측하기 위해 먼저 수행된다.
- 그 다음에 LPC 필터에 의한 본래 신호의 필터링에 의해 얻어진 잔여 신호가 (재구성 신호(reconstructed signal)를 만들기 위해 필터링을 사용하는 이른바 "여기" 신호에 의해) 모델링되고 그리고 코딩된다.
특히, 본 발명은 CELP(Code Excited Linear Prediction) 코더들의 패밀리에 관한 것으로, 이것은 후보 신호들의 세트로부터 여기 신호를 선택하는 것으로, 이러한 선택은, 지각적 가중치 부여의 도입으로, 이러한 신호에 의해 여기된 합성 필 터의 출력을 본래의 신호와 비교함으로써 행해진다. 이러한 코더들은 6 내지 24 kbit/s 비트 레이트(bit rates)에서의 음성 신호의 코딩을 위해 광범위하게 사용되고 있으며, ITU-T G.729, GSM-EFR, 3GPP/WB-AMR 표준에서 명백하게 채택되었다.
본 발명의 장점으로는 아래에서 상세히 설명되는 계층적 코딩 시스템(hierarchical coding systems)에서 적용가능하다는 것이고, 그리고 이것을 위해 비트스트림(bitstream)이 기본 층(basic layer)에 의해 형성되며, 품질을 강화하기 위해 보충 층(supplementary layers)이 상기 기본 층의 뒤를 따른다.
CELP 코더의 일반적인 다이어그램이 도 1에 도시된다. 도 2는 그 관련 디코더를 나타낸다.
이러한 타입의 코더/디코더에 관한 상세한 설명은 특히 기본 참고문헌("Code-Excited Linear Production (CELP): High Quality Speech at Very Low Bit Rates", B.S. Atal and M.R. Schroeder, ICASSP, 1985, pp. 937-940)에 나타나 있다.
도 1을 참조하면, 코더는 입력 신호 S(n)을 샘플 블럭(sample blocks) 혹은 "프레임(frames)"(전형적으로 약 10 내지 20 ms의 신호)로 나눈다. 그 다음에, LPC 분석(10)이 단기 선형 예측 필터의 파타미터를 예측 및 양자화하기 위해 수행된다. 대부분의 경우, 여기 신호(excitation signal) exc(z)의 모델링은 두 개의 코드북,
- 고조파 사운드(harmonic sounds)의 주기성을 모델링하기 위한 적응성 코드북(adaptive codebook) DICa, 그리고
- 비고조파 부분(non-harmonic part) 및 비음성 사운드(non-voiced sounds)를 위한 이른바 "고정" 코드북("fixed" codebook) DICf를 사용하여 수행된다.
본 발명은 "고정" 코드북 DICf에 더 초점이 맞추어져 있고, 적응성 코드북 DICa와 관련된 것은 바람직하게는 아래에서 다루어지지 않는다.
일반적으로 여기 신호의 모델링은 전형적으로 약 5 ms의 신호 서브프레임(signal sub-frame)에 대응하는 샘플 블럭에 관해 수행된다. 아래에서는, N개의 샘플(예를 들어, N=40은 8 kHz의 샘플링 주파수에서 샘플링함)을 포함하는 신호 서브프레임에 관한 경우가 고려된다. 이러한 코더의 경우에, 코드북에서의 최적의 코드 워드(code word)("벡터 코드" 또는 "파형"으로도 불림)의 선택은 지각적으로 가중된 에러 신호의 에너지를 최소화시킴으로써 수행되고, 이러한 에러 신호는 다음과 같은 관계의 형태 즉,
Figure 112008066566438-PCT00001
로 표현되는데, 여기서 상기 표시
Figure 112008066566438-PCT00002
,
Figure 112008066566438-PCT00003
,
Figure 112008066566438-PCT00004
는 각각 가중 에러 신호의 z 변환, 코딩될 본래 신호의 z 변환, 재구성된 신호의 z 변환을 나타낸다.
필터
Figure 112008066566438-PCT00005
는 지각적 가중 필터(perceptual weighting filter)(11)(종래에는
Figure 112008066566438-PCT00006
타입이었고, 여기서
Figure 112008066566438-PCT00007
는 LPC 분석 필터를 나타내고, 그리고 인자
Figure 112008066566438-PCT00008
Figure 112008066566438-PCT00009
는 지각적 가중의 정도를 조정함)이다.
가중 에러 신호
Figure 112008066566438-PCT00010
는 다음과 같은 타입의 관계로 표현될 수 있다.
Figure 112008066566438-PCT00011
, 여기서
-
Figure 112008066566438-PCT00012
는 LPC 합성 필터(12)에 대응한다.
-
Figure 112008066566438-PCT00013
는 LPC 잔여 신호이다.
-
Figure 112008066566438-PCT00014
는 다음으로 정의되는 여기 신호이다.
Figure 112008066566438-PCT00015
신호
Figure 112008066566438-PCT00016
Figure 112008066566438-PCT00017
는 각각 지나간 여기 신호(현재 블럭 상에서 제로 신호) 및 현재 여기 신호(제로 메모리 신호)를 나타낸다.
따라서, 적절한 각각의 이득
Figure 112008066566438-PCT00018
Figure 112008066566438-PCT00019
이 적응성 코드북 DICa 및 고정 코드북 DICf의 출력에서 신호
Figure 112008066566438-PCT00020
Figure 112008066566438-PCT00021
에 인가된다. 그 다음에, 이러한 신호들은 함께 합산되어 여기 신호
Figure 112008066566438-PCT00022
가 얻어진다.
특히, 도 1의 예에서, 신호
Figure 112008066566438-PCT00023
이 정의되고, 이것에 대한 z 변환
Figure 112008066566438-PCT00024
는 다음과 같은 타입의 관계에 따라 과거 여기의 예측을 나타낸다.
Figure 112008066566438-PCT00025
또한, 종래의 복합 필터(compound filter)가 다음과 같이 정의된다.
Figure 112008066566438-PCT00026
그리고, "필터링된 타겟 신호(filtered target signal)"가 다음과 같은 타입의 관계에 의해 정의된다.
Figure 112008066566438-PCT00027
가중 에러 신호에 대해, 이러한 관계들로부터 전개를 계속하면 다음과 같은 타입의 표현이 얻어진다.
Figure 112008066566438-PCT00028
그 다음, CELP 최소화 기준(후속 모듈 13 및 14)은,
양(quantity)
Figure 112008066566438-PCT00029
을 최소화시키거나 또는
비율(ratio)
Figure 112008066566438-PCT00030
을 최소화시키는,
파형
Figure 112008066566438-PCT00031
에 대한 코드북에서의 검색에 의해 표현되는데,
여기서,
Figure 112008066566438-PCT00032
이다.
요소들
Figure 112008066566438-PCT00033
은 필터 H의 임펄스 응답을 나타낸다(앞서의 관계 (1)에 의해 정의됨).
일반적으로, 필터 H는 코졸(causal)인 것으로 고려되는데, 즉, 요소들
Figure 112008066566438-PCT00034
은 n < 0인 경우 제로(0)이다. 그러나, 이후, n < 0인 경우 요소들
Figure 112008066566438-PCT00035
모두 또는 그 일부가 비제로인 더 일반적인 경우가 고려된다.
문헌 "Fast CELP coding based on algebraic codes"(J.P. Adoul, P. Mabilleau, M. Delprat, S. Morissette, ICASSP 1987, pp./ 1957-1960)에서 설명되는 종래의 이른바 후방 필터링 기술(backward filtering technique)은, 다음과 같이, 분자에 대해서, 모든 벡터들에 공통인 요소들(특히, 타겟 벡터와 필터
Figure 112008066566438-PCT00036
간의 상호상관(intercorrelation))을 미리 계산하는데 사용될 수 있다.
Figure 112008066566438-PCT00037
, 여기서
Figure 112008066566438-PCT00038
이고,
Figure 112008066566438-PCT00039
의 범위는 0에서 N-1까지이다.
마찬가지로, 코드북에서의 검색 이전에 필터
Figure 112008066566438-PCT00040
의 자기 상관(self-corrlation)을 계산하는 것이 가능하며, 이것을 사용하여 다음과 같은 분모의 계산 속도를 높이는 것이 가능하다.
Figure 112008066566438-PCT00041
여기서,
Figure 112008066566438-PCT00042
이고,
Figure 112008066566438-PCT00043
Figure 112008066566438-PCT00044
의 범위는 0에서 N-1까지이다.
선택된 벡터 코드와 관련된 최적의 이득은 양자화된다. 양자와 인덱스 및 선택된 벡터 코드와 관련된 인덱스는 (원격통신 네트워크를 통해) 전송되거나 혹은 후속 전송을 위해 간단히 저장된다. 그 다음에 디코딩이 이러한 인덱스들에 근거하여 일어날 수 있다.
디코딩에 있어서, 도 2를 참조하면, 각각의 이득
Figure 112008066566438-PCT00045
,
Figure 112008066566438-PCT00046
이 디코딩되고 각각 선택된 벡터 코드들의 인덱스들
Figure 112008066566438-PCT00047
,
Figure 112008066566438-PCT00048
이 사용될 수 있어 그들의 컴포넌트 요소들이 검색되고, 여기 신호가 재구성되며, 그 다음에 재구성된 신호(후속 모듈 21 및 22)가 생성된다.
여기 코드북의 선택은 비트 레이트, 품질(또는 주어진 비트 레이트에 대한 효율성), 및 복잡도의 제약들에 의해 영향을 받는다. 제한된 비트 레이트에 대해서, 코딩될 임의의 신호에 대해 좋은 재생 품질을 얻는 것은 어렵다. 복잡도는 또한 중요한 인자이다. 모든 통신 애플리케이션에 대해, 실시간 제약은 계산 시간을 한정한다. 문헌에서 제안된 제 1 CELP 코드북들은 랜덤하게 인출된 벡터 코드들에 의해 형성되고, 이것은 코드북의 각각이 벡터에 대한 기준(criterion)의 분자 및 분모를 계산하도록 한다. 그 다음에, 최상의 코드 워드에 대한 검색은 매우 복잡하다.
그 다음에, 구조화된 코드북들이 최적의 파형에 대한 검색의 속도를 높이기 위해 제안되었고, 어떤 검색 계산은 코드북의 구조체에 의해 벡터들 간에 유도된 관계들을 사용하여 서로 다른 입력 신호들에 대해 한번 수행된다(또는 "공통 계산"이 수행됨). 구조화된 코드북들 중 가장 널리 이용되는 카테고리들 중 하나는 대수 코드북(algebraic codebooks)의 패밀리이며, 이것은 그 위치가 대수 코드에 의해 정의되거나 또는 포인트들의 어레이(전형적으로 고세트 어레이(Gosset array))에 따라 정상적으로 또는 비정상적으로 정의되는 펄스들로 형성되어 있다. 이러한 코 드북들의 가장 종래의 대표적인 것은 ACELP("대수 CELP(Algebraic CELP)")라는 명칭으로 알려져 있다. 이러한 구조화된 코드북들은 코드 워드들, 그들의 인덱스로부터 벡터 코드들의 요소를 계산하는 것을 가능하게 만드는 전단사 관계(bijective relation)의 저장을 피할 수 있게 한다.
더욱이, 이러한 코드북들은 차선의 하지만 매우 효과적인 집중 탐색 알고리즘에 의해 가속화되는 고속 검색이 가능하게 한다. 따라서, 복수 펄스 코드북에 대해, 만약 이러한 코드북의 벡터들이
Figure 112008066566438-PCT00049
개의 펄스들(펄스의 진폭은
Figure 112008066566438-PCT00050
이고,
Figure 112008066566438-PCT00051
는 0과
Figure 112008066566438-PCT00052
사이에 있음)(이러한 진폭들은 실제로 종종 간단한 부호로 됨)로 구성된다고 가정하면, 앞서 정의된 분자 및 분모의 표현은 다음과 같이 간단하게 된다.
Figure 112008066566438-PCT00053
,
Figure 112008066566438-PCT00054
여기서,
Figure 112008066566438-PCT00055
는 및
Figure 112008066566438-PCT00056
은 펄스들이 나타나는 위치들을 나타낸다.
그러나, 이러한 코드북들은, 비트 레이트 제약이 그들의 크기를 한정할 때, 콘테츠에서의 풍부함의 어떤 부족함을 제공한다는 단점이 있다. 이러한 이유로 인해 펄스들은 더 적어지고, 매우 희박하게 된다. 그 다음으로, 용어 "희박 코드북(Sparse Codebooks)"이 적용된다. 모든 비제로 샘플들 모두는 동일한 진폭을 가지고, 매우 적은 펄스들과 함께 블럭의 샘플들 간의 진폭에 있어서의 균형을 정확하게 나타내는 것은 어렵다. 과도하게 빈약한 대수 코드북의 사용에 의해 유도된 감손은 매우 가청적일 수 있다. 예를 들어, 이들의 특징은 신호의 어떤 귀에 거슬림(raucousness)이다.
이러한 단점을 극복하기 위해, 이른바 "희박 감소(sparseness reduction)" 기술이 미국 특허 US-6,029,125에서 제안되었다. 이것은 노이즈 신호와의 합산에 의해 또는 올 패스 필터링를 사용하는 필터링에 의해 작은 개수의 펄수들을 포함하는 (따라서, 어떤 "희박성"을 제공하는) 복수 펄스 코드북을 풍부하게 하는 것을 제안하고 있으며, 이것은 신호의 스펙트럼의 계수를 수정함이 없이 펄스들은 분산시킨다. 이러한 필터링은 주로 위상에 관해 수행된다. 코드북의 이러한 수정은 디코딩 이후에 도입될 수 있거나 또는 선택 프로세스(따라서 코딩)에서 도입될 수 있다.
그러나, 이것이 코더에서 도입될 때, 노이즈의 추가는 최적의 파형을 선택하는 고속 알고리즘의 사용을 방해한다. 더욱이, 고정 코드북의 필터링은 프로세스의 어떤 연속성을 전제로 하는데, 왜냐면, 필터들은 필터링된 신호의 지지부를 확산시키는 경향이 있기 때문이며, 그리고 이전 블럭의 여기를 바로 잡는 것은 일반적으로 불가능하고, 프로세스에 의해 불량하게 제어된 코딩 샘플 블럭의 에지에서의 불규칙성이 나타날 수 있기 때문이다.
더욱이, 만약 신호에 따라 코드북에 행해진 수정의 타입을 채택하고자 한다면, 필터들에서 다른 필터들로 전환시키는 서로 다른 필터를 제공하는 방법 이외에는 다른 방법이 없고, 이것은 또한 왜곡을 발생시킬 수 있다.
더욱이, 앞서 이미 지적된 바와 같이, 미국 특허 문헌 US-6,029,125에서 제 공된 기술은 코드북의 스펙트럼 외관을 보유하는 수정을 가함으로써 코드북의 펄스들의 부족을 치유하고자 한다. 이제, 스펙트럼의 어떤 부분들, 특히 고주파수를 더 잘 인코딩하는 벡터 코드들을 포함함으로써, 복수 펄스 코드북들을 풍부하게 하는 것이 종종 필요한데, 이것은 미국 특허 문헌 US-6,029,125에서 사용된 방법과는 비호환적이다.
코드북들의 다른 타입은 수용가능한 검색 복잡도를 유지시킴으로써 성능을 증가시키기 위해 제안되었다. 따라서, 캐스캐이딩된 코드북들(cascaded codebooks)(또는 "복수-단계(multi-stage)" 코드북들)(가능하게는 서로 다름)은 복수의 연속 CELP 검색을 일으키고, 각각의 검색은 관련 이들을 가진 선택된 벡터 코드의 인덱스를 만들어 낸다.
여기 벡터는, 만약
Figure 112008066566438-PCT00057
개의 코드북들이 캐스캐이딩된다고 가정하면, 다음과 같이 표현된다.
Figure 112008066566438-PCT00058
Figure 112008066566438-PCT00059
개의 코드북들에서의 코드 서브-벡터들
Figure 112008066566438-PCT00060
에 대한 조인트 검색(joint search)은 복잡할 수 있다. 실제로, 차선의 직렬 검색 방법이 사용되고, 그리고 이것은 제 1 코드북에서 최적의 파형을 선택하는 것, 그리고 관련 이득을 계산하는 것, 그 다음에 이러한 이득을 양자화하는 것, 그리고 제 1 코드북의 알려진 기여도를 공제하는 것으로 구성되며, 앞서 주어진 표현들은 다시 사용되고, 다음과 같이 될 수 있다.
Figure 112008066566438-PCT00061
, 여기서
Figure 112008066566438-PCT00062
Figure 112008066566438-PCT00063
"필터링된 타겟 신호"는
Figure 112008066566438-PCT00064
으로 수정되고, 그리고 따라서 제 2 코드북의 서브벡터의 선택이 행해진다. 그 다음에 이 프로세스는 모든 연속적 코드북에 대해 반복된다.
직교 코드북(orthogonal codebooks)의 사용이 또한 이 경우에 제공될 수도 있다는 것에 유의해야 한다.
이제 계층적 코딩 구조의 간단한 설명이 제공된다.
이러한 구조는 또한 "크기조정가능(scalable)"으로 언급되기도 하며, 연속적 층들로 나누어진 바이너리 데이터(binary data)를 코딩 프로세스에 제공한다. 베이스 층(base layer)이 비트스트림의 디코딩에 절대적으로 필요하고 최소 디코딩 품질을 결정하는 비트들에 의해 형성된다. 후속적 층들은 디코딩된 신호의 품질을 점진적으로 강화시키는 것을 가능하게 하고, 각각의 새로운 층은 디코딩에서 사용되며 증가하는 품질의 신호를 출력으로서 제공하는 새로운 정보를 더한다. 계층적 코더들의 특별한 특징들 중 하나는 코더에 또는 디코더에 임의의 특정 표시를 제공해야만 하는 것 없이 비트스트림의 일부를 제거하기 위해 전송 또는 저장 체 인(storage chain)의 임의 레벨에서의 개입이 가능하다는 것이다. 디코더는 바이너리 정보를 사용하여, 대응하는 품질의 신호를 수신하고 만들어낸다.
계층적 코딩 프로세싱 동작의 구성은 "층들"을 코딩하는 개념을 포함한다. 이러한 층들은 서로 다른 방법으로부터 유도되는 방법들을 구현함으로써 구성될 수 있다. 서로 다른 만큼, 서로 다른 코딩 층들이 하나 및 동일한 타입의 프로세싱으로부터 유도될 수 있고, 여기서 보충 데이터를 간단히 제공함으로써 품질을 강화시키는 것이 가능하다. 따라서, 계층적 CELP 코더들은, "내포된 CELP(nested CELP)" 코더들로도 언급되고, 일반적으로 몇 개의 코드북들을 사용하며, 이것은 각각의 단계에서 서로 다를 수 있거나 동일할 수 있다.
그럼에도 불구하고, 캐스캐이드된 코드북들 및 계층적 코딩 구조와 관련된 코드북들은 여전히 앞서 설명된 바와 동일한 문제를 가지고 있다.
본 발명은 상기와 같은 것을 개선하고자 하는 것이다.
특히, 주목적은 낮은 비트 레이트에서, 파형 및 스펙트럼 콘텐츠에 관하여, CELP 코드북들의 풍부함의 부족을 치유하는 것이고, 그리고 매우 간단한 디코딩을 유지하고 이러한 코드북들과 관련된 낮은 복잡도를 유지하는 것이다. 이것은 또한 코드북들의 점진적 강화를 제공하는 것이고, 이것은 계층적 코딩 구조의 경우에 특히 관심의 대상이다. 또 다른 목적은 이른바 "반 희박성(anti-sparseness)" 기술에 대한 매력적인 대안을 제안하는 것이고, 희박 코드북들의 풍부함에 기여하는 것이고, 연속적인 블럭들 간의 연속성의 보다 좋은 제어를 제공하는 것이다.
이러한 목적을 위해, 디지털 오디오 신호를 코딩/디코딩하기 위한 CELP 타입의 여기 벡터들의 코드북을 구성하는 방법이 제안되고, N 차원의 각각의 벡터는 N개의 유효 위치들을 차지할 수 있는 펄스들을 포함한다.
본 방법 발명에서, 초기 코드북(initial codebook)(또는 "베이스 코드북(base codebook)"으로도 언급됨)은,
- 기본 패턴을 형성하는 공통의 펄스 시퀀스를 제공하고,
- 상기 N개의 유효 위치들로부터의 하나 또는 그 이상의 각각의 위치들에서의 하나 또는 그 이상의 발생들(occurrences)에 근거하여, 코드북의 각각의 여기 벡터에 상기 기본 패턴을 할당함으로써 구성된다.
여기서, 표현 "펄스 시퀀스'는 펄스들을 포함하는 샘플들의 연속을 의미하는 것으로 이해되어야 하고, 그리고, 여기서 펄스들 간에 그리고/또는 상기 연속의 시작에서 그리고/또는 상기 연속의 마지막에서 적절한 하나 또는 그 이상의 제로 샘플들이 있다.
바람직하게는, 적절하게 구성된 코드북은 소위 "고정" 타입의 CELP 여기 코드북(예를 들어, 앞서 설명된 도 1 및 도 2에서의 DICf 참조)이다.
바람직하게는, 여기 벡터에서의 각각의 발생 상에 나타나는 기본 패턴은 상기 발생과 관련된 진폭에 의해 곱해지고, 상기 진폭은 예를 들어 +1의 값 및 -1의 값을 포함하는 세트로부터 선택된 것이다.
또한, 바람직하게는, 초기 코드북의 모든 벡터는 하나 및 동일한 개수의 패턴의 발생을 포함한다.
따라서, 초기 코드북은,
- 기본 패턴을 형성하는 펄스 시퀀스와,
- 각각의 벡터에서의 패턴의 발생들의 개수와,
- 상기 패턴들의 발생들에 대해 허용된 위치들의 세트들과, 그리고
- 상기 패턴들의 발생들과 관련될 진폭들의 세트들에 의해 정의될 수 있다.
따라서, 본 발명은 CELP 여기 벡터들의 코드북들을 구성하는 것을 제안하며, 이러한 코드북들은 하나 또는 그 이상의 발생들에서 나타나는 기본 패턴의 데이터에 의해 정의되고, 각각의 발생은 진폭에 의해 곱해진다. 가능하게는 블럭 에지에서 나타나는 패턴들(샘플 프레임들 혹은 서브 프레임들)은 절단되어 블럭에 정확하게 삽입된다.
더 일반적인 경우에서, 이해해야 하는 것으로, 벡터의 블럭 에지에서 나타나는 패턴들은 절단되고, 그리고 절단된 패턴들의 나머지 펄스들은 블럭의 시작 또는 마지막을 차지한다.
N 차원의 벡터들을 함께 모으는 본 발명에 의해 얻어진 코드북은 기본 패턴에 의해 정의되고, 그것은 길이 N의 블럭에서 "시프팅(shifting)"된다. 각각의 패턴은 함께 더해진 K개의 발생들에서 나타나고, 각각의 발생은 자체적으로,
- 진폭 항(가능하게는 극성)(즉, 패턴이 각각의 발생에 대해 주어진 값(예를 들어, ±1)에 의해 곱해짐)과, 그리고
- 발생에서의 패턴의 위치에 의해 정의된다.
그러나 유의할 것으로, 본 발명의 기술분야에서 잘 알려진 복수 펄스 코드북은 이러한 방식으로 얻어진 코드북의 특별한 경우를 구성하는데, 왜냐하면 복수 펄스 코드북의 경우에 패턴의 길이는 간단히 1이기 때문이다. 이러한 타입의 복수 펄스 코드북은 이후 "트리비얼 베이스 코드북(trivial base codebook)"으로 지정된다.
더욱이, 본 방법 발명은 코드북들의 결합을 구성하는 것을 가능하게 한다(초기에, 그리고 앞서 설명된 바와 같이 하나 또는 그 이상의 보충적 종래 복수 펄스 코드북의 사용을 배제함이 없이 구성됨).
따라서, 본 방법 발명에 의해 획득된 코드북은,
- 기본 패턴(그 길이가 1보다 더 큼)에 의해 정의되고, 패턴의 위치에 의해 정의되며, 그리고 서로 다른 발생에 따라 관련 진폭에 의해 정의되는 트리비얼하지 않는(non-trivial) 단일의 베이스 코드북, 또는
- 베이스 코드북들의 유니언(union)(여기서 베이스 코드북들 중 적어도 하나는 트리비얼하지 않는 베이스 코드북임), 또는
- 가능하게는 가중치가 부여된 베이스 코드북들이 합산(여기서 기본 코드북들 중 적어도 하나는 트리비얼하지 않는 베이스 코드북이고, 패턴들 모두의 발생들은 함께 합산됨)으로 구성될 수 있다.
더 일반적인 경우에, 글로벌 코드북(global codebook)이 베이스 코드북들의 합산에 의해 구성될 수 있고, 이 중 적어도 하나는 기본 패턴에 의해 정의되는 초기 코드북이다. 글로벌 코드북의 벡터들은 이 경우에 베이스 코드북들의 벡터들의 공통 위치 펄스들을 함께 더함으로써 형성되며, 바람직하게는 코드북과 각각 관련된 이득에 의해 일대일로 가중되어 있다.
변형으로서, 글로벌 코드북은 베이스 코드북들의 유니언에 의해 구성될 수 있으며, 이 중 적어도 하나는 기본 패턴에 의해 정의되는 초기 코드북이다. 이 경우에, 글로벌 코드북은 간단히 베이스 코드북 모두의 벡터 모두를 포함한다.
이러한 코드북의 구성은 다양한 콘텐츠 타입을 제공하는 것을 가능하게 한다. 기본 패턴들의 형태 및 발생들의 개수에 따라, 변하는 외관의 여기 벡터들을 얻는 것이 가능하고, 가능하게는 상대적으로 많은 개수의 비-제로 펄스들을 갖는다. 예를 들어, 기본 패턴의 선택은 스펙트럼 타입의 고려에 의해 영향을 받을 수 있다. 콘텐츠의 풍부함은 특히 큰 코드북 크기를 반드시 요구하는 것은 아닌데, 왜냐하면, 패턴들의 발생들을 함께 더함으로써, 적당한 개수의 패턴들 및 발생들을 사용하여 여기 벡터들의 형태를 변경시키는 것이 가능하다. 따라서, 등가의 인덱스들의 세트들에 대해, 종래의 복수 펄스 코드북에서와는 실질적으로 다른 스펙트럼 콘텐츠를 갖는 여기 벡터들을 나타내는 것이 가능하다.
이러한 실시예에서, 기본 패턴이 적어도 하나의 중앙 펄스를 포함하는 것이 가능하며, 중앙 펄스의 전후에는 중앙 펄스의 부호와 반대 부호의 적어도 하나의 펄스가 있다. 더 구체적으로 말하면, 패턴은 총 세 개의 펄스들, 즉,
- 중앙 펄스와,
- 중앙 펄스에 선행하는 제 2 펄스와, 그리고
- 중앙 펄스에 후행하는 제 3 펄스를 포함하고, 제 2 펄스의 부호와 제 3 펄스의 부호는 중앙 펄스의 부호와 반대이고, 제 2 펄스와 제 3 펄스의 진폭은 중앙 펄스의 진포보다 절대값으로 보면 더 작고, 그리고 유리하게는, 절대값으로 보면 0과 중앙 펄스의 진폭의 대략 반 사이에서 가변이다.
코드북들의 캐스캐이딩을 포함하는 코딩/디코딩 디바이스를 제공하는 것이 유리하다는 것이 판명되었고, 이 중 적어도 하나의 초기 코드북이 캐스캐이드에서 후속적이고, 이러한 초기 코드북은 중앙 펄스 및 중앙 펄스의 진폭과 반대 진폭의 선행 펄스 및 후속 펄스를 갖는 이러한 대칭 패턴을 포함한다. 이러한 다바이스는 유리하게는 최적의 여기 벡터에 대한 검색에 있어 특히 코딩과 관련된 글로벌 지각적 가중 필터에서의 올-패스 필터링을 포함할 수 있다. 이러한 실시예의 한 예가 도 8a, 8b, 8c 및 9를 참조하여 아래에서 상세히 설명된다. 이러한 실시예는 하이-패스 필터의 사용에 의해 초기 코드북에서의 검색에 집중하도록 하는 것을 가능하게 한다.
여기서 간단히 기술되는 것으로, 이 실시예는 중앙에 관하여 대칭인 패턴에 의해 정의되는 코드북을 갖는 복수 펄스 코드북의 캐스캐이딩을 제안하고 있으며, 여기서 패턴의 중앙의 발생들은 복수 펄스 코드북의 펄스들의 발생과 동일한 세트를 설명한다.
이러한 실시예는 하나 또는 그 이상의 보충적 베이스 코드북들의 합산에 의해 초기 베이스 코드북의 스펙트럼 도메인을 넓히는 것을 가능하게 하고, 그 다음에 이러한 보충적 베이스 코드북들에서의 검색은 최적의 벡터에 대한 검색과 관련된 지각적 가중 필터를 수정함으로서 스펙트럼적으로 집중화되고, 이러한 수정의 선택 및 이러한 보충적 베이스 코드북들의 패턴의 선택은 가능하게는 링크되어 있다.
더 일반적으로, 몇 개의 베이스 코드북들의 유니언 또는 합산의 경우, 베이스 코드북들이 사용되며, 여기서 패턴들의 중앙 및 관련 진폭은 패턴이 다른 것 외에는 동일한 세트를 설명한다.
따라서, 더 일반적으로, 코드북들의 벡터들에서의 패턴 및/또는 펄스들의 위치들은, 특히 이들이 캐스캐이딩되는 경우, 바람직하게는 동일한 세트를 설명하고, 패턴의 위치는 패턴을 형성하는 펄스 시퀀스에서의 중앙 펄스의 위치에 의해 실질적으로 식별된다.
그 다음으로, 계산 및 고속 프로세싱 알고리즘을 공유하는 것이 가능한데, 왜냐하면 최상의 후보 여기 벡터를 검색하는 기술은 본 발명에 따라 구성되는 코드북에서 고속의 상태가 유지되기 때문이고, 후자는 종래의 복수 펄스 코드북의 특정 구조를 사용하고, 그리고 복수 펄스 코드북의 경우에 대해 적절하게 놓여 지는 효과적인 프로세싱 동작을 사용하는 것을 가능하게 하기 때문이다.
여기서 지적되는 것으로, 만약 패턴이 홀수 개의 샘플들을 포함하고 있다면, 패턴의 위치는 패턴의 중앙의 샘플의 블럭에서 위치에 의해 식별될 수 있다. 그러나, 엄격히 등가적인 방법에서, 짝수 길이의 임의의 패턴은 홀수 길이를 만들기 위해 제로로 보충될 수 있다. 더 일반적으로, 패턴의 위치를 식별하기 위한 다른 변형이 있을 수 있다.
본 발명은, 패턴 혹은 패턴들의 스케일링된 발생들을 함께 합산함으로써, 이러한 코드북들의 벡터들의 인덱스를 디코딩하기 위한 매우 간단한 기술을 제공하며, 여기서 각각의 발생에 대한 패턴의 위치 및 진폭 인자가 전송된다.
일반적으로, 코딩에 있어서, 초기 코드북에서의 최상의 후보 벡터를 결정한 이후에, 바람직하게는 적어도,
- 최상의 후보 벡터에서의 기본 패턴의 위치 또는 위치들의 표시와, 그리고
- 패턴의 위치 또는 위치들과 관련된 진폭 또는 진폭들의 표시를 포함하는 인덱스가 형성되는데, 상기 인덱스는 후속 디코딩을 위해 전송되려는 것이다.
만약 복수의 코드북들이 제공된다면, 인덱스는 또한 최상의 후보 벡터가 발견되는 코드북의 표시를 포함한다. 따라서, 만약 최상의 후보 벡터가 기본 패턴을 포함하는 초기 코드북에서 발견된다면, 인덱스는 특히 앞서 언급된 초기 코드북에 관한 표시를 포함하고, 그리고 이로부터, 코드북을 구성하는 것 따라서 최상의 후보 벡터를 구성하는 것을 가능하게 하는 기본 패턴에 관한 표시를 포함한다.
단일의 베이스 코드북의 경우에, 인덱스는 벌써 그 발생들 각각과 관련된 진폭 및 위치를 반영하고 있다. 최상의 후보 벡터를 디코딩하기 위해, 그 다음으로, 이것은 각각의 발생에서 차지해야만 하는 서로 다른 위치에서의 기본 패턴을 배치함에 있어, 그리고 관련 진폭과 곱함에 있어, 그리고 발생의 총합을 계산함에 있어 충분하다.
베이스 코드북의 유니언의 경우에, 인덱스는 또한 앞서 표시된 바와 같이 선택된 베이스 코드북에 관한 정보를 제공한다.
베이스 코드북들의 합산의 경우에, 진폭 및 위치가 각각의 기본 패턴의 발생들에 대해 가용하고, 그리고 절차는 유니언의 경우와 동일하며, 즉 이 경우 패턴들 모두의 기여도가 합산된다.
본 발명에 따른 코드북의 벡터들의 인덱스들의 디코딩은 매우 간단하다.
디코딩에 있어서, 최상의 후보 벡터가 바람직하게는 인덱스로부터,
- 가능하게는 코드북들의 유니언을 사용하는 경우에, 인덱스에 의해 표시된 초기 코드북들에 대응하는 기본 패턴을 이미 결정함으로써,
- 인덱스에 의해 표시된 위치들에서의 기본 패턴의 위치를 정함으로써,
- 인덱스에 의해 표시된 관련 진폭과 각각의 위치에서의 패턴을 곱함으로써, 그리고
- 상기 표시된 위치에서 배치된 곱해진 패턴들을 함께 더함으로써 재구성된다.
코드북들의 합을 사용하는 경우에, 코드북들 각각에서의 벡터들의 인덱스들이 바람직하게는 결정되고, 그리고 이로부터, 앞서 설명된 적어도 세 개의 단계가 각각의 인덱스에 대해 적용된다.
본 발명에 따라 코드북들에서의 검색의 속도를 높이는 것이 가능하고, 그리고 일반적으로 ACELP 코드북들에 적절하게 놓여 지는 매우 효과적인 고속 검색 프로세싱 동작을 채택하기, 위해 예를 들어 ACELP 코드북에서와 같은 강한 구조를 갖는 패턴들의 위치들의 세트를 제공하는 것이 특히 관심의 대상일 수 있다.
따라서, 더 일반적인 경우, 본 발명에 따라 구성되는 코드북은 바람직하게는 강하게 구성된 세트를 유리하게는 ACELP 코드북의 펄스들의 위치들의 세트로서 설명하는 수용된 패턴 위치들을 포함한다.
앞서 표시된 바와 같이, 복수의 코드북들을 사용하는 경우에, 코드북들에서 검색시 동일 프로세싱 동작을 재사용할 수 있도록 하기 위해, 동일한 패턴 위치 세트를 갖는 두 개 혹은 그 이상의 베이스 코드북을 제공하는 것이 특히 관심의 대상이다. 따라서, 이러한 코드북들 중 적어도 하나는 유리하게는 ACELP 타입일 수 있다.
적어도 하나의 베이스 코드북을 포함하는 코드북들의 캐스캐이딩은 매우 유리하다. 이러한 변형은 특히 계층적 코딩 구조의 경우에 적합하다. 그럼에도 불구하고, 다양한 베이스 코드북은 동일한 목적을 충족시킬 수 없는데, 왜냐하면, 전형적으로 제 1 코드북은 재생산하는 것이 바람직한 신호의 최소 품질의 코딩을 다루기 때문이다. 후속적 코드북들은 이러한 품질을 더 개선하기 위한 것이고, 코딩을 강화하는 것 또는 신호 타입에 대한 감도를 감소시키는 것 또는 일부 다른 인자를 처리하는 것을 가능하게 한다.
더 일반적인 경우에, 복수의 코드북들의 캐스캐이딩은 앞서 표시된 바와 같이 이득 가중 코드북들의 합산에 의해 얻어지는 단일의 글로벌 코드북을 구성하는 것에 이른다.
이러한 경우에, 각각의 여기 벡터는 이득과 곱해진 베이스 코드북들로부터 얻어진 벡터들이 합에 대응하고, 베이스 코드북들은, 이전의 코드북들의 벡터들에 의해 만들어진 부분적 여기의 알려진 기여도를 공제함으로써 번갈아 탐색된다. 따라서, 이렇게 유리한 실시예에서, 캐스캐이딩된 코드북들은 현재의 코드북에 대해 적어도 하나의 이전 코드북의 벡터들에 의해 만들어진 부분적 여기의 알려진 기여도를 공제함으로써 번갈아 탐색되고, 이것은 계층적 코딩 구조를 제공한다.
특히 이로운 방식으로, 최상의 후보 여기 벡터에 대한 본 발명에 따른 코드북에서의 검색은 CELP 기준의 예측에 따라 수행되는데, 이것은 종래 기술로부터 약간 변경된 것으로, 그리고 다음과 같은 단계, 즉,
(a) 컨벌루션된 필터 벡터를 얻기 위해 코드북의 기본 패턴을 사용하여 지각적 필터에 의한 LPC 합성 필터의 곱으로부터 필터의 임펄스 응답의 컨벌루션을 계산하는 단계와,
(b) 후보 타겟 벡터와 컨벌루션된 필터 벡터 간의 상호 상관 벡터의 요소들을 계산하는 단계와,
(c) 적어도 하나의 블럭 에지에서 기본 패턴의 절단을 고려하기 위해 상호 상관 벡터의 요소들을 가능하게 정정하는 단계와,
(d) 컨벌루션된 필터 벡터의 자기 상관 매트릭스의 요소들을 계산하는 단계와,
(e) 적어도 하나의 블럭 에지에서의 기본 패턴의 절단을 고려하기 위해 상기 매트릭스의 요소들을 가능하게 정정하는 단계와,
(f) 분자가 상호 상관 벡터의 요소들을 포함하고 분모가 자기 상관 매트릭스의 요소들을 포함하는 비율의 최대화로서 표현되는 CELP 기준을 사용하여 최상의 후보 벡터에 대한 검색을 수행하는 단계를 포함한다.
이해할 것으로, 검색을 통해 블럭 에지에서의 기본 패턴들이 밝혀질 수 있기 때문에, CELP 기준의 예측은, 종래 기술에 따른 CELP 기준의 예측과 비교하면, 단계 (c)와 단계 (e)의 추가에 의해 약간 수정된다.
더욱이, 절단될 부부들의 상대적 에너지는 에지 패턴들에 대한 블럭에 남아있는 부분들의 것과 낮게 비교되는 경우 베이스 코드북들의 최적 검색 알고리즘에 대한 간단화가 제안될 수 있다. 이러한 경우에, 단계 (c)와 단계 (e) 중 하나, 또는 양쪽 모두는 생략될 수 있다.
다른 간단화가 또한 제안되는데, 이것은 지각적 필터에 의해 곱해진 합성 필터의 임펄스 응답을 절단하고, 그리고 단계 (a)에서 계산된 컨벌루션된 필터 벡터를 절단한다.
본 발명이 목적으로 하고 있는 것은 앞서 정의된 방법뿐만 아니라 CELP 여기 벡터들의 코드북 자체에 있으며, 이것은 본 방법 발명을 실행함으로써 디지털 오디오 신호 코딩/디코딩 디바이스에 의해 구성될 수 있다.
본 발명이 또한 목적으로 하고 있는 것은 앞서 정의된 바와 같은 코드북을 구성하는 방법을 구현하기 위한 명령들을 포함하는 컴퓨터 프로그램이다.
본 발명이 또한 목적으로 하고 있는 것은 본 발명에 따른 적어도 하나의 코드북을 포함하는 디지털 오디오 신호 코딩/디코딩 디바이스이다. 전형적으로, 이로운 실시예에서는 하나 또는 그 이상의 코드북들의 CELP 여기 벡터들을 발생시키기 위한 수단(예를 들어 프로세서, 연산 메모리, 등)을 포함하는 디바이스를 제공하며, 이러한 코드북들 중 적어도 하나는 본 방법 발명을 구현함으로써 구성될 코드북이다.
유리하게는, 이러한 코드북들은 앞서 언급된 타입의 컴퓨터 프로그램을 실행시킴으로써 구성될 수 있으며, 그 다음에 이러한 코딩/디코딩 디바이스의 메모리에, 예를 들어 벡터 인덱스들을 벡터 코드들 자신과 관련시키는 대수학 법칙을 사용하여, 저장될 수 있다(예를 들어, ACELP 기술에서).
본 발명이 목적으로 하고 있는 것은 또한 디지털 오디오 신호를 코딩/디코딩 하기 위한 그러한 디바이스의 사용이고(따라서, 전형적으로는 코딩/디코딩 방법), 그리고 디지털 오디오 신호 코딩/디코딩 디바이스용 컴퓨터 프로그램이며, 이것은 이러한 사용을 구현하기 위한 명령들을 포함한다.
일반적으로, 본 명세서의 앞서 표현된 일반적이고 선택적인 특성들 모두 또는 일부는, 코드북의 구성, 및 코드북 자체, 또는 적어도 하나의 적절하게 구성된 코드북을 포함하는 코딩/코딩 디바이스, 또는 이러한 디바이스의 사용, 또는 코드북을 발생시키는 컴퓨터 프로그램, 또는 디바이스의 사용을 가능하게 하는 컴퓨터에 동일하게 적용될 수 있다.
따라서, 본 발명은 CELP 타입의 여기 벡터들의 코드북들을 제안하고 그리고 그 사용법을 제안하며, 이것은 적당한 크기에 대한 콘텐츠의 큰 잠재적 풍부함을 제공한다. 관련 인덱스들의 디코딩은 이러한 다양한 형태에도 불구하고 그다지 복잡하지 않다. 또한, 이러한 코드북들의 특정 구성을 이용함으로써, 최적의 벡터를 선택하기 위한 고속 알고리즘을 적절한 장소에 놓는 것이 가능하다.
기억할 것으로, 본 발명은 상대적으로 적당한 비트 레이트에 대해 광범위한 여기 신호들의 인코딩을 가능하게 하는 CELP 코드북들의 카테고리를 제안하고 있으며, 그리고 또한 적절한 벡터를 선택하기 위한 고속의 효과적인 알고리즘을 제공한다.
본 발명의 다른 특징 및 장점은 아래의 상세한 설명 및 첨부되는 도면을 탐구함으로써 명백해질 것이다.
도 1은 CELP 코더의 일반적인 도면이다.
도 2는 관련 디코더를 나타내는 도면이다.
도 3a는 본 발명의 실시예에 대한 기본 패턴을 나타낸다.
도 3b 및 도 3c는 각각 기본 패턴의 제 1 발생의 제 1 위치 세트
Figure 112008066566438-PCT00065
및 기본 패턴의 제 2 발생의 제 2 위치 세트
Figure 112008066566438-PCT00066
를 나타낸다.
도 3d는 본 발명의 실시예에 의해 선택되는 벡터 코드의 예를 나타낸다.
도 4는 본 발명에 따른 코드북을 사용하여 CELP 기준의 예측에서의 자기-상관 매트릭스의 수정 테이블이다.
도 5는 본 발명에 따라, 일부가 현재 블럭의 바깥쪽에 위치하는 패턴의 존재를 고려하기 위해 "교정된" CELP 기준을 적용함으로써, 코드북에서의 최상의 벡터 코드를 검색하는 메인 단계를 나타낸다.
도 6은 본 발명에 따른 코드북들의 유니언의 예를 나타낸다.
도 7은 본 발명에 따른 코드북들의 덧셈의 예를 나타낸다.
도 8a 및 도 8b는 G. 729 표준을 따라 CELP 코더를 만드는 본 발명의 예시적 실시예에서의 제 1 베이스 코드북 및 제 2 베이스 코드북을 나타낸다.
도 8c는 도 8a의 코드북의 파형 및 도 8b의 코드북의 파형의 평균 스펙트럼의 외관을 비교한 것이다.
도 9는 본 발명의 예시적 실시에에 의해 만들어진 G. 729 표준에 따른 CELP 코더의 예시적 실시예를 나타낸다.
먼저, 도 3a 내지 도 3d를 참조하여, 본 발명에 따른 "기본" 코드북의 콘텐츠에 대한 설명이 제공된다.
베이스 코드북의 벡터 코드들은 기본 패턴
Figure 112008066566438-PCT00067
을 샘플 시퀀스(도 3a)로서 정의함으로써 얻어지는데, 이 샘플 시퀀스는 길이
Figure 112008066566438-PCT00068
의 블럭으로 시프트되고, 이 블럭을 넘는 경우 패턴은 절단된다. 진폭 인자에 의해 곱해지는 동일한 패턴의 발생은 코드북의 벡터 코드들을 형성하기 위해 함께 더해진다.
예를 들어, 도 7에서 참조 부호 D2를 가지고 있는 파선으로 표시된 박스는 이러한 방식으로 구성되는 베이스 코드북의 몇 개의 벡터 V21, V22, V2n을 나타낸다. 제 1 벡터(V21)는 일곱 개의 펄스들의 연속을 포함하는 기본 패턴(Pat(D2))을 포함한다. 이러한 패턴의 왼쪽에서, 반대 극성의 패턴의 "마지막(end)"을 볼 수 있으며, 이것은 그 아홉 번째 내지 열 한번 째 펄스들만이 V21 벡터에 나타나도록 절단되어 있다. 다음 벡터(V22)는 전체 패턴(Pat(D2)) 및 오른쪽에서 절단된 그리고 반대 극성의 또 다른 패턴을 반복한다. 벡터(V21 및 V22)에서, 패턴은 개별적이다. 반 면에, 마지막 벡터(V2n)에서, 두 개의 기본 패턴들이 동일 극성으로 반복되고, 그리나 그들의 각각의 중심은 두 개의 패턴들이 부분적으로 오버랩되기에 충분히 근접된 위치를 차지한다. 이러한 경우에, 오버랩하는 펄스들은 그들의 크기를 고려하여 함께 더해진다. 예를 들어, 도 7의 예에서 코드북(D2)의 마지막 벡터(V2n)는 그들의 에지에서 두 개의 기본 패턴의 펄스들의 합을 포함하는데, 그 하나는 오른쪽이고 다른 하나는 왼쪽이다(왼쪽으로부터 글로벌 패턴의 열 번째 펄스 및 열 한번 째 펄스). 마찬가지로, 벡터(V21)의 두 번째 패턴의 중앙의 (네거티브(negative)) 펄스는 벡터들의 합(V21+V12)에서 벡터(V12)의 두 번째 (포지티브(posirive)) 펄스로 제거된다.
따라서, 보다 일반적으로, 여기 벡터의 각각의 블럭에서의 기본 패턴들에 대한 수용된 위치들로부터, 패턴 위치들은 적어도 부분적으로 오버랩(overlap)하게 된다(벡터(V2n)의 경우). 이러한 경우, 오버랩하는 패턴의 펄스들이 함께 더 해진다.
유의할 것으로, 후속 전개를 명확하게 나타낼 수 있는 장점이 있는 앞서 주어진 공식
Figure 112008066566438-PCT00070
은 기본 패턴
Figure 112008066566438-PCT00071
에 홀수 개(2p+1)의 요소들을 선험적으로 부과할 수 있다. 사실, 앞서 언급된 바와 같이, 이러한 특별한 특징은 본 발명을 구현하기 위해 반드시 필요한 것이 아니다. 만약 짝수 개의 요소들을 갖는 패턴이 사용되어야 한다면, 에지들 중 하나에 제로 요소를 더하는 것이 요구되고, 그리고 여기서 적용된 공식은 여전히 사용될 수 있다.
베이스 코드북의
Figure 112008066566438-PCT00072
차원의 각각의 벡터
Figure 112008066566438-PCT00073
Figure 112008066566438-PCT00074
발생 벡터
Figure 112008066566438-PCT00075
를 더함으로써 구성되며, 여기서,
Figure 112008066566438-PCT00076
,
Figure 112008066566438-PCT00077
의 범위는 0 내지
Figure 112008066566438-PCT00078
, 그리고
Figure 112008066566438-PCT00079
의 범위는 0 내지
Figure 112008066566438-PCT00080
.
이러한 벡터들은 주어진 진폭에 할당된 기본 패턴으로 구성되며, 만약 필요한 경우 에지 또는 에지들에서 절단되고 제로로 보충된다.
각각의 발생
Figure 112008066566438-PCT00081
는 다음과 같은 특징을 가지고 있다.
- 이것에 할당된 진폭,
Figure 112008066566438-PCT00082
, 그 값은 세트
Figure 112008066566438-PCT00083
로부터 취해짐.
- 기본 패턴의 위치, 예를 들어 그 중앙이 놓여 지는 위치
Figure 112008066566438-PCT00084
로 나타내질 수 있고, 그 값은 세트
Figure 112008066566438-PCT00085
로부터 취해짐.
Figure 112008066566438-PCT00086
는 가능하게는 범위
Figure 112008066566438-PCT00087
바깥쪽에 위치할 수 있고, 물론 단지 유일한 제약은 패턴의 교점 및 블럭의 교점은 제로가 아니라는 것이다.
도 3b 및 도 3c는 특히
Figure 112008066566438-PCT00088
인 경우의 그러한 코드북을 나타낸다. 제 1 발생의 특징은 중앙
Figure 112008066566438-PCT00089
(여기서,
Figure 112008066566438-PCT00090
은 위치 세트
Figure 112008066566438-PCT00091
의 다섯 개의 위치에 배치될 수 있음)과, 그리고 진폭
Figure 112008066566438-PCT00092
(도 3b)이다. 제 2 발 생의 특징은 중앙
Figure 112008066566438-PCT00093
(여기서,
Figure 112008066566438-PCT00094
은 세트
Figure 112008066566438-PCT00095
의 네 개의 위치에 배치될 수 있음)과 진폭
Figure 112008066566438-PCT00096
(도 3c)이다. 그 다음에 코드북은 5 (위치
Figure 112008066566438-PCT00097
) × 4 (위치
Figure 112008066566438-PCT00098
) ×2 (
Figure 112008066566438-PCT00099
에 대한 극성) × 2 (위치
Figure 112008066566438-PCT00100
에 대한 극성) = 80 벡터 코드들을 포함한다.
이러한 코드북들에 대한 벡터 코드의 예는 도 3d에서 주어진다(위치
Figure 112008066566438-PCT00101
Figure 112008066566438-PCT00102
그리고 진폭
Figure 112008066566438-PCT00103
Figure 112008066566438-PCT00104
에 의해 정의됨).
따라서 다음과 같은 것이 적용된다.
Figure 112008066566438-PCT00105
이것은 또한 만약
Figure 112008066566438-PCT00106
함수라면 코로네크(kroenecker)
Figure 112008066566438-PCT00107
및 절단
Figure 112008066566438-PCT00108
을 사용하여, 다음과 같이 표현될 수도 있다.
Figure 112008066566438-PCT00109
각각의 벡터
Figure 112008066566438-PCT00110
는 그것이 구성된 발생들 각각의 기본 패턴들의 중앙의 위치들의 세트
Figure 112008066566438-PCT00111
(여기서,
Figure 112008066566438-PCT00112
는 세트들의 카티션 곱(Cartesian product)을 나타냄)에 의해 정의되며, 그리고 서로 다른 발생들과 관 련된 진폭들의 세트
Figure 112008066566438-PCT00113
에 의해 정의된다.
컴포넌트
Figure 112008066566438-PCT00114
은 다음과 같은 관계식에 따라, 샘플
Figure 112008066566438-PCT00115
에 대한
Figure 112008066566438-PCT00116
벡터들
Figure 112008066566438-PCT00117
의 (임의의) 기여도의 총합으로 얻어진다.
Figure 112008066566438-PCT00118
만약
Figure 112008066566438-PCT00119
차원의 벡터
Figure 112008066566438-PCT00120
이 다음과 같이 정의된다면,
Figure 112008066566438-PCT00121
그러면,
Figure 112008066566438-PCT00122
이다.
베이스 코드북의 벡터들
Figure 112008066566438-PCT00123
은 기본 패턴
Figure 112008066566438-PCT00124
와의 컨벌루션 및 세그먼트
Figure 112008066566438-PCT00125
의 에지들에서의 절단에 의해 벡터
Figure 112008066566438-PCT00126
으로부터 추론된다.
벡터
Figure 112008066566438-PCT00127
이 기본 패턴들의 중앙의 데이터
Figure 112008066566438-PCT00128
및 진폭들의 중앙의 데이터
Figure 112008066566438-PCT00129
에 의해 정의된다는 것을 알 수 있다. 만약 중앙들이 구조적으로 정렬된다면, 코드북 내의 벡터 코드의 선택 속도를 높이기 위해 고속 알고리즘을 정의하도록 이러한 구조를 개발하는 것이 가능하 다는 것을 이해할 수 있다.
절단 함수
Figure 112008066566438-PCT00130
Figure 112008066566438-PCT00131
의 표현에 비선형성을 도입시키고, 이것은
Figure 112008066566438-PCT00132
차원의 벡터
Figure 112008066566438-PCT00133
Figure 112008066566438-PCT00134
차원의 벡터
Figure 112008066566438-PCT00135
로 확장시킴으로써 불필요할 수 있으며,
Figure 112008066566438-PCT00136
은 다음과 같다.
Figure 112008066566438-PCT00137
따라서, 다음과 같은 벡터
Figure 112008066566438-PCT00138
에서 세 개의 부분을 밝히는 것이 가능하다.
Figure 112008066566438-PCT00139
중앙 부분
Figure 112008066566438-PCT00140
은 기본 패턴과
Figure 112008066566438-PCT00141
의 컨벌루션에 대응하고, 그리고 에지들의 간격
Figure 112008066566438-PCT00142
Figure 112008066566438-PCT00143
에서의 그 컴포넌트는 선험적으로 비제로이다.
다른 두 개의 항은
Figure 112008066566438-PCT00144
의 에지들의 임의의 비제로 컴포넌트를 제거하고, 그리고 에지들에서 패턴의 가능한 절단에 의해 일어나는 결과에 대응하며, 여기서, 블럭의 왼쪽 에지의 결과는 다음과 같고,
Figure 112008066566438-PCT00145
블럭의 오른쪽 에지의 결과는 다음과 같다.
Figure 112008066566438-PCT00146
이제 베이스 코드북에서 벡터 코드를 검색하는 설명이 아래에서 주어진다.
기억할 것으로, 다음과 같이 최대화될 CELP 기준은 두 가지 양을 계산해야 하는데, 하나는 분자인
Figure 112008066566438-PCT00147
이고 다른 하나는 분모인
Figure 112008066566438-PCT00148
이다.
Figure 112008066566438-PCT00149
Figure 112008066566438-PCT00150
차원의 벡터
Figure 112008066566438-PCT00151
는 다음과 같이 필터
Figure 112008066566438-PCT00152
의 임펄스 응답과 앞서 주어진 벡터
Figure 112008066566438-PCT00153
의 컨벌루션으로 정의된다. 그러나 최적의 파형의 선택에 있어, 이러한 벡터의
Figure 112008066566438-PCT00154
개의 중앙 요소들만이 사용된다.
Figure 112008066566438-PCT00155
이러한 표현에서, 중앙 인자
Figure 112008066566438-PCT00156
는 벡터
Figure 112008066566438-PCT00157
를 도입함으로써 계산될 수 있는데, 이것은 기본 패턴과 필터
Figure 112008066566438-PCT00158
의 임펄스 응답의 컨벌루션에 대응한다
Figure 112008066566438-PCT00159
그 다음에 다음이 얻어진다.
Figure 112008066566438-PCT00160
기억할 것으로 중앙 인자는 다음과 같이 표현될 수 있다.
Figure 112008066566438-PCT00161
"왼쪽 에지" 인자
Figure 112008066566438-PCT00162
혹은
Figure 112008066566438-PCT00163
는 또한,
Figure 112008066566438-PCT00164
개의 세트
Figure 112008066566438-PCT00165
, 위치
Figure 112008066566438-PCT00166
에 대한 결합인 세트
Figure 112008066566438-PCT00167
를 도입함으로써, 다음과 같이 표현될 수 있다.
Figure 112008066566438-PCT00168
인자
Figure 112008066566438-PCT00169
에서 항의 개수는
Figure 112008066566438-PCT00170
개의 발생에서의 기본 패턴의 중앙
Figure 112008066566438-PCT00171
의 정의 도메인(definition domain)
Figure 112008066566438-PCT00172
에 따라 다르다. 그러나, 패턴들이 적어도 부분적으로 현재의 블럭과 오버랩하기 위해,
Figure 112008066566438-PCT00173
개보다 많은 샘플에 의해, 이러한 블럭의 제 1 샘플로부터 너무 원거리에 있는 중앙을 피하는 것이 중요하다. 이 조건은
Figure 112008066566438-PCT00174
으로 표현될 수 있으며, 이것은 다음과 같다.
Figure 112008066566438-PCT00175
함수
Figure 112008066566438-PCT00176
를 정의함으로써, "왼쪽 에지" 인자는
Figure 112008066566438-PCT00177
으로 표현된다.
유의할 것으로 후자의 표현은 각각의 발생
Figure 112008066566438-PCT00178
에 대해, 범위
Figure 112008066566438-PCT00179
에 있는 단지 중앙들의 값
Figure 112008066566438-PCT00180
만을 포함한다.
"오른쪽 에지" 인자는 처음에
Figure 112008066566438-PCT00181
으로 표현되고 그리고 앞서의 왼쪽 에지에 적용된 원리들을 반복하여 다음과 같이 된다.
Figure 112008066566438-PCT00182
Figure 112008066566438-PCT00183
앞서의 경우와 대칭적인 방식으로, 패턴의 중앙은 오른쪽 에지로부터 떨어진 많아야
Figure 112008066566438-PCT00184
개의 샘플이고, 이로 인해
Figure 112008066566438-PCT00185
가 되고, 따라서,
Figure 112008066566438-PCT00186
함수를 다음과 같이 정의함으로써,
Figure 112008066566438-PCT00187
다음과 같이 표현하는 것이 또한 가능하다.
Figure 112008066566438-PCT00188
따라서, 비제로 요소
Figure 112008066566438-PCT00189
의 개수는
Figure 112008066566438-PCT00190
인 비제로 요소
Figure 112008066566438-PCT00191
의 개수에 따라 다르다. 만약 필터
Figure 112008066566438-PCT00192
가 코졸이라고 한다면,
Figure 112008066566438-PCT00193
인 모든 요소
Figure 112008066566438-PCT00194
은 제로이다.
따라서, 만약
Figure 112008066566438-PCT00195
일 때
Figure 112008066566438-PCT00196
인 코졸 필터의 경우에, 오른쪽 에지 영향은 이러한 계산에 어떠한 영향도 미치지 못한다.
이후에는, 패턴이 한번에 양쪽에서 절단될 수 없다고 가정한다. 그 반대의 경우는 패턴의 크기가 블럭의 길이
Figure 112008066566438-PCT00197
보다 더 클 수 있다는 것을 의미하며, 그러나, 본 발명은 이러한 후자의 경우에도 또한 가능하게 적용될 수 있다.
이제 다음은 본 발명에 따른 코드북으로 CELP 기준을 적용하는 것에 관한 설명이다.
분자는 다음과 같이 계산될 수 있다.
Figure 112008066566438-PCT00198
"중앙" 항
Figure 112008066566438-PCT00199
은 복수-펄스 코드북에서의 최적 파형을 선택하기 위한 기준의 분자의 일반적인 표현과 유사하다. 종래의 검색에서와 같이,
Figure 112008066566438-PCT00200
이 정의되고, 그리고 그 다음에 이러한 "중앙" 항은
Figure 112008066566438-PCT00201
이 된다.
다음과 같이 함으로써, 본 발명에 따른 코드북의 모든 분자에 대해 유사한 표현을 얻는 것이 가능하다.
Figure 112008066566438-PCT00202
...
이것은 세트
Figure 112008066566438-PCT00203
Figure 112008066566438-PCT00204
에 속하는 중앙
Figure 112008066566438-PCT00205
에 대한 요소
Figure 112008066566438-PCT00206
에 정정을 더하게 되는데, 이것은 에지에 배치되는 패턴이 절단을 요구하는 발생에 대응하고 있다.
그 다음에
Figure 112008066566438-PCT00207
이 적용되고, 이것은 종래의 복수-펄스 타입 코드북의 최상의 파형에 대한 검색의 분자와 유사하다.
분모는 다음과 같이 계산될 수 있다.
Figure 112008066566438-PCT00208
"중앙" 항은 종래에는 다음과 같이 표현된다.
Figure 112008066566438-PCT00209
Figure 112008066566438-PCT00210
는 벡터
Figure 112008066566438-PCT00211
의 자기-상관 매트릭스의 요소이다. 최적의 파형에 대한 검색을 위해서, 단지 서로 다른 발생들에서의 패턴의 중앙의 위치를 포함하는 자기-상관 매트릭스의 요소들만이 사용된다.
후자의 표현은 또한 종래의 복수-펄스 코드북의 경우에서의 분모의 것과 유사하다.
반면에, 본 발명에 따른 코드북을 갖는 CELP 기준에서 예측된 모든 분모에 대해, 도 4의 테이블에 제공된 바와 같이 수정된 자기-상관 함수가 도입된다. 자기-상관 함수의 이러한 수정을 고려함으로써, 종래의 복수-펄스 코드북의 경우와 동일한 표현을 얻을 수 있다.
따라서, 수정된 매트릭스로 다음과 같은 형태의 본 발명에 따른 코드북에서의 검색의 분모가 표현될 수 있으며,
Figure 112008066566438-PCT00212
이것은, 종래의 복수-펄스 코드북에서의 검색에 대한 분모의 표현과 동일하다.
이제 본 발명에 따른 코드북에서의 적절한 검색에 관한 설명이 다음에 제공 된다.
도 5를 참조하면, 다음과 같은 단계들이 바람직하게는 제공된다.
필터
Figure 112008066566438-PCT00213
의 임펄스 응답의 기본 패턴과의 컨벌루션 벡터가 다음과 같이 계산된다(단계(51)).
Figure 112008066566438-PCT00214
그 다음에, 타겟 벡터
Figure 112008066566438-PCT00215
와 벡터
Figure 112008066566438-PCT00216
(단계(51)에서 얻어진 것임) 간의 상관 벡터의 요소가 다음과 같이 계산된다(단계(52)).
Figure 112008066566438-PCT00217
이러한 요소들(일반적으로 도 5의 단계(53))은 그 다음에 블럭 에지에서 나타나는 패턴들에 대해 필요하다면 정정된다. 실제로, 패턴의 중앙
Figure 112008066566438-PCT00218
이 블럭의 에지에서 패턴들의 절단을 요구하는 그러한
Figure 112008066566438-PCT00219
의 값들에 대해(테스트(54)의 출력에서의 화살표 Y), 정정된 요소
Figure 112008066566438-PCT00220
가 계산된다(단계(56)). 만약 그렇지 않으면(테스트(54)의 출력에서의 화살표 N),
Figure 112008066566438-PCT00221
가 된다(단계(55)). 양쪽 모두에 있어, 유리하게는 에지 영향을 고려한 벡터
Figure 112008066566438-PCT00222
가 단계(53)의 끝에서 얻어진다.
그 다음에
Figure 112008066566438-PCT00223
의 자기-상관 매트릭스의 요소들이 분모의 결정을 위해 계산된다(단계(57)).
Figure 112008066566438-PCT00224
이러한 요소들(일반적으로, 도 5의 단계(63))은 블럭 에지에서 나타나는 패턴을 다시 고려할 필요가 있다면, 정정되다. 실제로, 요소들 중 적어도 하나가 블럭 에지들 중 하나를 넘어선 패턴의 발생에 대응하는 모든 쌍
Figure 112008066566438-PCT00225
에 대해(테스트(58)의 출력에서 화살표 Y), 단계(60)에서, 정정된 요소
Figure 112008066566438-PCT00226
가 계산된다. 만약 그렇지 않으면(블럭에지에서 어떠한 패턴도 없다면, 이것은 테스트(58)의 출력에서 화살표 N에 대응함), 단계(59)에서
Figure 112008066566438-PCT00227
가 된다. 양쪽 모두에 있어, 에지 영향을 유리하게 고려하는 매트릭스 요소들이 일반적인 단계(63)의 끝에서 얻어진다.
그 다음에, 분자가 벡터
Figure 112008066566438-PCT00228
을 구현하고 그리고 분모가 요소
Figure 112008066566438-PCT00229
을 구현하는 비율의 최대화로서 표현되는, 종래의 CELP 검색 기준을 사용하여 최상의 파형에 대한 검색이 수행되어(단계(61)), 궁극적으로 최상의 벡터 코드
Figure 112008066566438-PCT00230
가 얻어진다(단계(62)).
여기서 유의해야 하는 것으로, 도 5는 본 발명에 따른 적어도 하나의 코드북을 포함하는 코딩/디코딩 디바이스의 사용을 가능하게 하는 컴퓨터 프로그램의 알고리즘의 일부를 흐름도의 형태로 나타낸 것이다.
본 발명에 따른 베이스 코드북에서의 파형에 대한 검색은 궁극적으로 종래의 복수 펄스 코드북에서의 검색에 관한 것이 되며, 이것은 공지되어 있고 효과적인 것이다. 특히, 만약 패턴의 발생
Figure 112008066566438-PCT00231
(범위는 0 내지
Figure 112008066566438-PCT00232
)의 중앙
Figure 112008066566438-PCT00233
의 위치가 ACELP 타입의 구조화된 코드북들의 펄스의 위치들을 설명한다면, 이러한 ACELP 코드북들에 대해 전개된 효과적인 고속 알고리즘을 사용하는 것이 가능하게 된다.
패턴의 크기가 블럭의 크기보다 더 작다고 가정한다. 그러나, 그 반대의 경우에, 필요한 것은 지대(zone)
Figure 112008066566438-PCT00234
을 도입하는 것이고, 여기서 두 개의 정정이 인가되고, 방법의 일반성의 손실은 없다.
앞서 설명된 방법의 간단함이 또한 제공될 수 있다. 예를 들어, 절단 동작에서 대체된 요소들의 상대적 에너지가, 에지에서의 발생에 대해, 블럭에 남아있는 요소들의 에너지와 비교하여 낮은 경우, 간단하게 (테스트(54 및 58)를 수행함이 없이) 에지 영향을 무시하는 것이 가능할 수 있다. 이러한 경우에, 정정 단계들(53 및 63) 중 적어도 하나(바람직하게는 단계(63)) 또는 양쪽 모두가 간단히 생략될 수 있다.
이제 베이스 코드북의 몇 개의 가능한 구성에 관한 설명이 아래에서 제공된다.
두 개의 결합 방법은 파형의 가변 형태를 제공할 수 있는 글로벌 코드북을 제공하기 위해 제공될 수 있으며, 특히 매우 만족스러운 스펙트럼 풍부를 제공하기 위해 제공될 수 있다. 실제로, 각각의 베이스 코드북의 콘텐츠를 하나 또는 수 개의 신호 카테고리에 다이렉팅시키는 것이 가능하다.
* 베이스 코드북들의 유니언
베이스 코드북들의 유니언으로 단일의 코드북을 제공하는 것이 가능하고, 그 각각의 부분은 베이스 코드북에 대응한다. 베이스 코드북들 중 하나에 의해 더 잘 나타내어 지는 신호 부분에 대해서, 이러한 신호 부분을 나타내기 위해 최상의 파형이 이러한 베이스 코드북에서 검색될 수 있다.
도 6은 두 개의 베이스 코드북들(D1 및 D2)의 유니언을 나타내는 그러한 코드북을 나타내며, 발생들의 중앙에 대해 동일 위치 세트 및 동일 진폭 세트로부터 구성되고, 그리고 각각은 다음과 같은 것을 각각 포함하는 두 개의 패턴을 갖는다.
- 제 1 베이스 코드북(D1)에 대한 단일 펄스(Pat(D1)), 및
- 제 2 베이스 코드북(D2)에 대한 도 3a의 패턴에 따른 펄스 시퀀스(Pat(D2)).
코딩될 주어진 여기 벡터에 대해, 베이스 코드북들 각각은 바람직하게는 개별적으로 탐색되고, 각각의 베이스 코드북에서의 검색으로부터 얻어진 최상의 파형은 서로 비교되어 이들 중 가장 적절한 것이 선택된다. 검색의 복잡도는 이 경우 각각의 베이스 코드북에서의 검색의 복잡도의 합과 같다. 앞서 보여진 베이스 코드북들의 유리한 구조로 인한 고속 검색은 매우 효과적인 것으로 판명되었다.
탐색 변형이 또한 제안될 수 있다. 예를 들어, 글로벌 코드북을 구성하는 코드북들로부터 먼저 하나의(또는 수 개의) 베이스 코드북들을 결정하고 그리고 그 다음에 적절하게 미리 선택된 베이스 코드북에 대한 검색을 제한하는 것이 가능하다.
인덱스의 디코딩은, 선택되었던 베이스 코드북을 먼저 식별함으로써(예를 들어, 선택된 벡터 코드의 인덱스를 완전한 코드북에서의 베이스 코드북의 경계에 대응하는 메모리에 저장된 값과 비교함으로써) 수행될 수 있다. 그 다음에, 벡터 코드의 인덱스는 앞서 표시된 방식으로 베이스 코드북에서 디코딩된다.
* 베이스 코드북들 합산
이러한 실시예는 유리하다. 이것의 목적은 그 컴포넌트 베이스 코드북들에 특정된 특징을 이용하기 위해 그리고 또한 그들의 결합된 특징을 이용하기 위해 베이스 코드북들의 벡터들을 더하는 코드북들을 구성하고 사용하는 것이다.
따라서, 코드북들의 덧셈의 경우에, 코드북들의 벡터들은 단지 하나씩 하나씩 그리고 매 샘플마다, 아래에서 설명되는 제 2 실시예에서와 같이 가능하게는 이득에 의해 가중치가 부여된, 베이스 코드북들의 모든 벡터들을 더함으로써 간단히 형성된다.
실제로, 두 개의 실시예들이 수 개의 코드북들의 덧셈을 수행하기 위해 아래에서 제안된다.
제 1 실시예에서, 글로벌 코드북(D=D1+D2)이 각각의 베이스 코드북으로부터 얻어진 파형들을 함께 더함으로써 획득된다. 도 7은 이러한 베이스 코드북들의 덧 셈의 원리를 나타낸 것이다. 제안된 실시예에서, 단지 두 개의 코드북 D1, D2만이 서로 더해지고, 그리고 알 수 있는 것으로, 코드북 D1의 벡터 펄스들의 가중치
Figure 112008066566438-PCT00235
는, 합 D1+D2에서, 코드북 D2의 벡터 펄스의 가중치
Figure 112008066566438-PCT00236
와 동일하다.
그 다음에, 여기서, 주어진 총합과 관련된 단일의 이득이 정의된다. 따라서, 코드북들(그 중 적어도 하나는 베이스 코드북임)을 사용하여 디코딩을 간단하게 하는 장점의 혜택을 받을 수 있다. 실제로, 베이스 코드북(D2)에 속하는 벡터 코드는, 패턴의 중앙에서의 위치 및 서로 다른 코드북들에서의, 즉 서로 다른 패턴들에 대한 발생의 진폭을 표시함으로써, 그리고 크기조절되고 그 다음에 적절하게 배치된 패턴들을 서로 더함으로써, 나타내질 수 있다.
Figure 112008066566438-PCT00237
개의 베이스 코드북들의 덧셈에 의해 획득된 이러한 코드북의 벡터 코드들의 컴포넌트들은 다음과 같은 타입의 관계로 표현될 수 있고,
Figure 112008066566438-PCT00238
,
그리고 현재의 여기 벡터는 다음과 같이 표현될 수 있다.
Figure 112008066566438-PCT00239
앞서 설명된 코드북들이 덧셈에 대해 단일 베이스 코드북의 경우에 제안된 고속 알고리즘을 사용하는 것이 또한 유리할 수 있다. 예시된 예와 같이, 다음과 같이 표현되는 두 개의 베이스 코드북들의 덧셈을 고려한다.
Figure 112008066566438-PCT00240
여기서, 인덱스 1과 인덱스 2는 각각,
Figure 112008066566438-PCT00241
발생 및
Figure 112008066566438-PCT00242
발생에서 각각 일어나는, 제 1 패턴
Figure 112008066566438-PCT00243
및 제 2 패턴
Figure 112008066566438-PCT00244
로부터 얻어진 벡터에 관한 것이다.
이전에 설명된 단일의 베이스 코드북의 경우에서와 같이, 제 1 패턴에 대응하는 벡터
Figure 112008066566438-PCT00245
및 제 2 패턴에 대응하는 벡터
Figure 112008066566438-PCT00246
를 정의하는 것이 가능하다. 만약 상관 벡터의 표현이 다음과 같은 것으로 채택된다면, 복수 펄스 코드북들에서의 검색의 분자 및 분모의 종래의 표현은 다시 적용될 수 있다.
타겟 벡터와의 상호상관에 있어, 앞서 제안된 바와 같이 수정된 벡터
Figure 112008066566438-PCT00247
Figure 112008066566438-PCT00248
를 계산하는 것이 가능하고, 그리고 그 다음에 분자는 다음과 같이 표현된다.
Figure 112008066566438-PCT00249
그러나 분모의 경우는 더 복잡한데, 왜냐하면 앞서 정의된 다음과 같은 자기 상관,
Figure 112008066566438-PCT00250
에 추가하여, 제 1 패턴의 발생과 제 2 패턴의 발생 간의 상관이 포함되어야하기 때문이다. 따라서, 예를 들어,
Figure 112008066566438-PCT00251
인 중앙값
Figure 112008066566438-PCT00252
Figure 112008066566438-PCT00253
인 중앙값
Figure 112008066566438-PCT00254
에 대해, 여기서
Figure 112008066566438-PCT00255
이고, 다음과 같은 것이 계산되어야만 한다.
Figure 112008066566438-PCT00256
이러한 표현이, 본 발명의 기술분야에서 숙련된 기술을 가지는 자들이 알 수 있는 범위 내에 있을지라도, 일반적인 경우에는 상당히 복잡하게 된다.
분모는 또한 수정된 자기 상관 매트릭스의 요소들을 계산하는 것이 또한 가능하고, 그리고 다시, 복수 위상 코드들의 가속화된 검색 알고리즘이 사용될 수 있도록, 다음과 같은 타입의 관계에 따라 표현될 수 있다.
Figure 112008066566438-PCT00257
베이스 코드북들의 덧셈의 제 2 실시예는 더 간단한 검색 알고리즘을 제공한다. 그 원리는 베이스 코드북들의 합을 캐스캐이딩하는 것으로 구성되며, 서로 다른 이득이 베이스 코드북들로부터 얻어진 각각의 서브벡터와 관련되어 있다. 이 경우에, 여기 벡터는 다음과 같이 표현된다.
Figure 112008066566438-PCT00258
이러한 변형은 복잡도에 있어서 매우 유리하다.
이것은 훨씬 더 많은 장점을 제공한다. 각각의 베이스 코드북이 특히 예를 들어 특정 타입의 여기 신호들에 따라, 글로벌 코드북을 풍부하게 하려 하기 때문에, 베이스 코드북들에서의 서로 다른 검색에 대해 서로 다른 지각적 필터
Figure 112008066566438-PCT00259
(
Figure 112008066566438-PCT00260
의 범위는 0 내지
Figure 112008066566438-PCT00261
)를 사용하는 것이 이로울 수 있다. 예를 들어, 여기 신호의 저주파수 부분을 나타내기에 훨씬 더 적합한 제 1 베이스 코드북 및 고주파수 부분을 나타내려는 목적이 더 큰 제 2 베이스 코드북을 사용하는 것이 가능하다. 제 2 베이스 코드북에서의 검색에 있어 스펙트럼의 고주파수 부분을 선호하도록 하는 그러한 방식이 특히 유리하다. 예를 들어, 제 2 검색에서, 종래의 지각적 필터는 하이-패스 필터와 캐스캐이딩될 수 있다. 이러한 동작은 또한 "스펙트럼 포커싱(spectral focusing)"으로서의 자격을 가질 수 있다. 이것은 특별한 예시적 실시예를 예시하기 위해 도 9를 참조하여 이후에 상세히 설명된다.
마지막으로, 제 2 실시예는 유리하게 계층적 CELP 코딩 구조에 적합하다. 실제로, 이러한 구조에서, 비트스트림은 계층적으로 조직화되고, 그리고 제 2 실시예의 구현에 있어, 인덱스에 대응하는 아울러 베이스 코드북들의 서브-벡터 코드들 각각의 이득에 대응하는 비트들은 개별적 계층적 층을 형성할 수 있다(또는 개별적 층에 "관여(participate)"할 수 있다). 만약 디코더가 이러한 정보의 단지 일부만을 수신한다면, 제 1 층의 베이스 코드북의 서브-벡터 코드들과 관련된 수신된 인덱스 및 이득을 디코딩함으로써, 그리고 아울러 이러한 방식으로 획득된 부분적 여기들을 함께 더함으로써, 여기의 적어도 일부를 재구성할 수 있다.
앞서 언급된 바와 같이, 제 1 베이스 코드북은 최소 품질 코딩을 처리하고, 그리고 후속적인 것이 품질에서 점진적 증가를 제공하고, 그리고 예를 들어, 넓은 스펙트럼 콘텐츠를 제공함으로써 가능한 다양한 신호들을 더 잘 포함할 수 있다.
이제 기존의 코더/디코더에 적용된 본 발명의 실시예에 관한 설명이 아래에 제공된다.
아래에서 설명되는 예시적 실시예는 두 개의 층을 포함하는 비트스트림을 만드는 계층적 CELP 코더에 관한 것으로, 여기서 상기 두 개의 층 중 제 1 층은 8 Kbit/s의 비트 레이트에서 동작하는 계층적 구조의 "코어(core)" 코딩에 대응하고, 제 2 층은 전체 비트 레이트 12 Kbit/s를 만드는 네 개의 추가적 Kbit/s에 대한 품질 강화를 제공한다. 제 1 층의 비트스트림은 ITU-T G.729 표준화된 코더의 것과 "호환"가능하고, 그래서 본 발명에 따른 코더 혹은 디코더 각각은 8 Kbit/s의 비트 레이트에 대해 G.729 표준 및 그 부록을 따르는 디코더 혹은 코더 각각과 함께 동작할 수 있다.
제안된 예시적 실시예에서, 계층은, 본 발명에 따른 베이스 코드북들의 캐스캐이딩된 합의 변형에 따른 코드북을 사용함으로써 제공된다. 블럭 사이즈는 5 ms이거나 혹은 8 kHz에서 40 샘플이다.
제 1 베이스 코드북(D1)(도 8a)은 "트리비얼" 타입이고, G.729 코더의 ACELP 코드북에 간단히 대응하고, 그 벡터들은 네 개의 부호를 갖는 펄스들을 함께 더함으로써 얻어지고, 그 위치들은 아래에 주어지는 테이블 2에서 표시된 세트들에 속한다. 더 상세하게는, 유용하게는 ITU-T Recommendation G.729("Coding of Speech at 8 Kbit/s using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP)", March 1996)를 참조할 수 있다.
따라서, 이것은 중앙 펄스
Figure 112008066566438-PCT00262
로 제한된 패턴과 관련된 베이스 코드북이고, 여기서 발생
Figure 112008066566438-PCT00263
이고, 세트
Figure 112008066566438-PCT00264
은 테이블 2의 두 번째 열에서 제공되고, 그리고 세트
Figure 112008066566438-PCT00265
은 마지막 열에 제공된다.
Figure 112008066566438-PCT00266
테이블 2: G.729 코더에 대한 ACELP 코드북
제 2 베이스 코드북(D2)(도 8b)은 트리비얼하지 않는 코드북이고, 이것의 길이가 삼인 기본 패턴(혹은 "3-펄스(tri-pulses)")은 각각의 진폭이
Figure 112008066566438-PCT00267
, +1, 및
Figure 112008066566438-PCT00268
인 세 개의 펄스들을 포함하고, 바람직하게는
Figure 112008066566438-PCT00269
Figure 112008066566438-PCT00270
이다. 값
Figure 112008066566438-PCT00271
는 유리하게는 입력 신호의 특징에 따라 동적으로 선택될 수 있다.
패턴의 중앙의 발생의 개수, 진폭 및 위치는 제 1 코드북의 것과 동일하다.
도 8C는 제 1 코드북의 파형(화살표 D1) 및 제 2 코드북의 파형(화살표 D2)의 평균 스펙트럼의 외관을 나타낸 것이다, 이로부터 알 수 있는 것은, 제 1 코드북은 스펙트럼적으로 평탄한 콘텐츠를 제공하지만 반면에 제 2 코드북은 고주파수 에서 더 풍부하다는 것이다.
이러한 관측으로 인해 제 1 코딩 층에 의해 획득된 품질을 강화시키는 것이 가능하고, 이것은 [300-3400 Hz] 지대의 저주파수 부분에서 음성 신호에 대해 좋은 품질의 재생(playback)을 제공하며, 고주파수 접근시에 에너지 및 충실도에서의 감소가 일어나게 된다.
스펙트럼의 고주파수에서의 제 2 베이스 코드북에서의 검색에 더 잘 집중하기 위해, 이러한 제 2 코드북을 탐색할 때, 보충적 하이-패스 필더
Figure 112008066566438-PCT00272
가 필터
Figure 112008066566438-PCT00273
에 인가된다.
도 9는 이러한 실시예에 따른 코더를 예시한 것이다. 제 1 스테이지(ET-1)는 적응성 코드북(DICa)(벡터
Figure 112008066566438-PCT00274
)과 그 관련 이득
Figure 112008066566438-PCT00275
, 그리고 제 1 고정 코드북(D1)(벡터
Figure 112008066566438-PCT00276
)과 그 관련 이득
Figure 112008066566438-PCT00277
을 도입한다. 제 2 스테이지(ET-2)는 제 2 고정 코드북(D2)(벡터
Figure 112008066566438-PCT00278
)과 그 관련 이득
Figure 112008066566438-PCT00279
에서의 검색을 제공한다. 적응성 코드북(DICa) 및 제 1 고정 코드북(D1)에서의 검색은 예를 들어, G.729 표준에서 정의된 바와 같은 지각적 필터
Figure 112008066566438-PCT00280
를 사용한다. 제 2 코드북(D2)은 필터
Figure 112008066566438-PCT00281
의 부가에 의해 고주파수에서 집중된 검색을 사용한다.
제 1 베이스 코드북(D1)에서의 검색은 알려져 있고, 그리고 예를 들어, G.729 표준 및 그 감소된 복잡도 부록 A(appendix A)(ITU-T Recommendation G.729, "Annex A: Reduced complexity 8 Kbit/s CS-ACELP speech codec", November 1996)에서 설명된 고속의 그리고 집중된 알고리즘들 중 하나 또는 다른 것을 사용한다.
제 2 베이스 코드북(D2)에서의 검색은 또한 앞서 설명된 바와 같이 이러한 고속 알고리즘을 사용한다.
아래에서 가독성을 높이기 위해, 제 2 코드북과 관련된 모든 인덱스 "2"는 아래에서 생략된다(예를 들어,
Figure 112008066566438-PCT00282
Figure 112008066566438-PCT00283
가 되고,
Figure 112008066566438-PCT00284
Figure 112008066566438-PCT00285
이 되고, 등등).
제 1 간단화에 따르면, 필터
Figure 112008066566438-PCT00286
의 임펄스 응답은
Figure 112008066566438-PCT00287
(블럭의 길이
Figure 112008066566438-PCT00288
임을 상기)인 요소
Figure 112008066566438-PCT00289
으로 절단된다.
따라서, 벡터
Figure 112008066566438-PCT00290
Figure 112008066566438-PCT00291
에 대해 정의된다. 앞서 언급된 바와 같이,
Figure 112008066566438-PCT00292
에 대해
Figure 112008066566438-PCT00293
이라는 사실 때문에(코졸 필터), 오른쪽 에지는 포함되지 않는다
Figure 112008066566438-PCT00294
.
중앙
Figure 112008066566438-PCT00295
의 위치는 모두 블럭[0,39]에 있다는 것을 또한 알 수 있다.
이러한 조건에서, 세트
Figure 112008066566438-PCT00296
는 단지 단일의 요소만을 포함하는데, 즉 단지 세트
Figure 112008066566438-PCT00297
에서 그리고 제 1 발생(
Figure 112008066566438-PCT00298
)에 관한 3-펄스 패턴의 제 1 위치에 대응하는 위치
Figure 112008066566438-PCT00299
를 포함한다.
도 9는 본 발명에 따른 디바이스를 도식적으로 나타낸 것으로, 특히 이 경우에는 코딩 디바이스를 나타낸다.
앞서 언급된 바와 같이, 필터
Figure 112008066566438-PCT00300
의 임펄스 응답의 기본 패턴과의 컨벌루션 벡터가 먼저 계산되고(도 5에서 참조 부호 51로 표시된 첫 번째 단계), 이것은 다음과 같다.
Figure 112008066566438-PCT00301
Figure 112008066566438-PCT00302
Figure 112008066566438-PCT00303
또는
Figure 112008066566438-PCT00304
에 대해 제로이지만, 그러나 은 선험적으로
Figure 112008066566438-PCT00306
에 대해 비제로이다.
CELP 기준의 분자
Figure 112008066566438-PCT00307
를 계산하기 위해, 상호상관
Figure 112008066566438-PCT00308
이 먼저 계산되고(단계(52)), 수정되어(일반적으로 단계(53)) 다음과 같이 된다.
Figure 112008066566438-PCT00309
따라서, 가해진 정정은 다음과 같은 제 1 요소를 정정하는 것에 한정된다.
Figure 112008066566438-PCT00310
세트
Figure 112008066566438-PCT00311
는 블럭 [0,39]의 위치 모두를 포괄한다. 따라서 다음과 같은 관계 를 사용하여,
Figure 112008066566438-PCT00312
중 어느 하나에 대한
Figure 112008066566438-PCT00313
를 계산할 필요가 있다.
Figure 112008066566438-PCT00314
분모에 대해, 자기 상관은 다음과 같이 계산되어야 하며(단계(57)),
Figure 112008066566438-PCT00315
여기서 표시
Figure 112008066566438-PCT00316
는 실제로 "
Figure 112008066566438-PCT00317
의 범위가
Figure 112008066566438-PCT00318
에서
Figure 112008066566438-PCT00319
까지인 것"을 의미한다는 것을 상기해야 한다.
Figure 112008066566438-PCT00320
라는 것을 상기하면,
Figure 112008066566438-PCT00321
에 대해 제약
Figure 112008066566438-PCT00322
은 임의의 요소 쌍
Figure 112008066566438-PCT00323
(여기서,
Figure 112008066566438-PCT00324
)에 대해 다음과 같이 된다.
Figure 112008066566438-PCT00325
왼쪽 에지를 고려하기 위해 요소
Figure 112008066566438-PCT00326
에 행해진 정정(단계(60))은 다음과 같다.
Figure 112008066566438-PCT00327
따라서, 궁극적으로
Figure 112008066566438-PCT00328
을 계산할 필요가 없고, 단지 요소
Figure 112008066566438-PCT00329
(여기서
Figure 112008066566438-PCT00330
)만이 계산에 포함된다. 상기할 것으로, 다른 요소
Figure 112008066566438-PCT00331
(여기서
Figure 112008066566438-PCT00332
) 및
Figure 112008066566438-PCT00333
(여기서
Figure 112008066566438-PCT00334
)는 정정될 필요가 없고, 그리고
Figure 112008066566438-PCT00335
가 이 경우에 설정된다(도 5의 단계(59)).
추가적인 간단화가 특히 작은 계수
Figure 112008066566438-PCT00336
에 대해 또한 제공될 수 있다. 실제로, 분모의 계산에 있어, 만약 요소가
Figure 112008066566438-PCT00337
로 표현된다면, 다음과 같은 필터
Figure 112008066566438-PCT00338
의 자기 상관 함수를 보여주는 것이 가능하다.
Figure 112008066566438-PCT00339
Figure 112008066566438-PCT00340
으로 곱해질 때, 이러한 매트릭스의 요소를 포함하는 모든 항들을 무시하기 위한 결정이 취해질 수 있다.
더욱이,
Figure 112008066566438-PCT00341
이고
Figure 112008066566438-PCT00342
가 실질적으로 1보다 작다는 것을 기억하고, 에지 영향이 합
Figure 112008066566438-PCT00343
에 거의 포함되어 있지 않다고 한다면, 분모의 계산에서 에지 영향을 고려할 필요가 없다.
결과적으로, 에지 영향은 분자 상에서 그리고 분모 상에서 모두 무시될 수 있다.
마지막으로, 제 2 베이스 코드북의 자기 상관 매트릭스의 요소를 제 1 베이스 코드북에서와 정확히 동일한 방식으로 계산하는 것을 가능하게 하는 추가적인 간단화의 도입이 가능하다. 이러한 간단화는 범위 [0,39]에서
Figure 112008066566438-PCT00344
을 절단하는 것을 포함한다. 이러한 방식으로 만들어진 에러는
Figure 112008066566438-PCT00345
의 값에 따라 다르며, 또한 스펙트럼의 그레디언트(gradient)에 따라 다르다. 전형적으로, 저주파수에서 강한 에너지 농도를 갖는 신호에 대해,
Figure 112008066566438-PCT00346
의 값은 인접 요소의 값과 동일한 차수이고, 그리고 이해할 것으로,
Figure 112008066566438-PCT00347
이고, 이것은 계산에 거의 영향을 주지 못한다.
물론, 본 발명은 예시적으로 앞서 설명된 실시예에만 한정되는 것은 아니며, 다양한 변형이 가능하다.
일반적으로, 본 발명의 실시예들에 의해서 정의되는 코드북들은 그 사용에 있어 광범위한 융통성을 제공한다. 각각의 블럭이 그 선행하는 것 혹은 그 후행하는 것과 완전히 독립적이기 때문에, 한 블럭에 대해 특별한 사전 조치 없이 인접 블럭에 대해 사용되는 코드북과 전혀 다른 코드북을 사용하는 것이 가능하다. 따라서, 연속성에 관한 임의의 문제를 피할 수 있다. 그 다음으로 예를 들어 베이스 코드북에 대해 사용되는 패턴 혹은 패턴들을 수정함으로써, 사용되고 있는 코드북을 코딩될 신호에 적합하게 만드는 것이 매우 용이하다. 발생 내의 패턴의 중앙의 위 치를 정의하는 세트 및/또는 진폭 세트를 수정하기 위한 조건이 또한 만들어질 수 있다. 예를 들어, 이러한 가능한 수정은 특히 소스-제어 가변 비트 레이트 코더의 경우에 적합하다.

Claims (29)

  1. 디지털 오디오 신호를 코딩/디코딩하기 위한 CELP-타입의 여기 벡터들의 코드북을 구성하는 방법으로서, N 차원의 각각의 벡터는 N개의 유효 위치를 차지할 수 있는 펄스들을 포함하고,
    초기 코드북이,
    기본 패턴을 형성하는 공통의 펄스 시퀀스들을 제공하는 단계와, 그리고
    상기 N 개의 유효 위치로부터의 하나 또는 그 이상의 각각의 위치에서의 하나 또는 그 이상의 발생에 근거하여, 상기 코드북의 각각의 여기 벡터에 상기 기본 패턴을 할당하는 단계에 의해 구성되는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  2. 제1항에 있어서,
    여기 벡터에서의 각각의 발생 상에 나타나는 상기 기본 패턴은 상기 발생과 관련된 진폭에 의해 곱해지는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  3. 제2항에 있어서,
    상기 발생과 관련된 진폭은 +1의 값과 -1의 값을 포함하는 세트로부터 선택되는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 초기 코드북의 모든 벡터는 하나 및 동일한 개수의 상기 패턴의 발생을 포함하는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  5. 제4항에 있어서,
    상기 초기 코드북은,
    상기 기본 패턴을 형성하는 펄스 시퀀스와;
    각각의 벡터에서의 패턴의 발생 개수와;
    상기 패턴의 발생에 대해 허용된 위치들의 세트들과; 그리고
    상기 패턴의 발생과 관련될 진폭들의 세트들로 정의되는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  6. 앞서의 항들 중 어느 한 항에 있어서,
    벡터의 블럭 에지에 나타나는 패턴은 절단되고, 그리고 상기 절단된 패턴의 나머지 펄스들은 상기 블럭의 처음 또는 마지막을 차지하는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  7. 앞서의 항들 중 어느 한 항에 있어서,
    벡터의 각각의 블럭에서 패턴들에 수용된 위치들 중에서, 상기 패턴들의 위 치들은 적어도 부분적으로 상기 패턴들이 오버랩하도록 하며, 그리고 여기서 오버랩 하는 상기 패턴들의 펄스들은 일대일로 더해지는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  8. 앞서의 항들 중 어느 한 항에 있어서,
    글로벌 코드북이 베이스 코드북들의 합산에 의해 구성되고, 상기 베이스 코드북들 중 적어도 하나는 기본 패턴에 의해 정의된 초기 코드북이고, 여기서 상기 글로벌 코드북의 벡터들은 상기 베이스 코드북들의 벡터의 공통 위치 펄스들을 더함으로써 형성되는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  9. 제8항에 있어서,
    상기 베이스 코드북들의 벡터들은, 각각이 코드북과 관련된 이득에 의해 가중치를 받아 상기 합을 구성하는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  10. 제1항 내지 제7항 중 어느 한 항에 있어서,
    글로벌 코드북은 베이스 코드북들의 유니언으로 구성되고, 상기 베이스 코드북들 중 적어도 하나는 기본 패턴에 의해 정의되는 초기 코드 북이고, 여기서 상기 글로벌 코드북은 상기 베이스 코드북들 모두의 벡터들 모두를 포함하는 것을 특징 으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    상기 유니언 또는 상기 합산에 관련된 코드북들 중 적어도 하나는 ACELP 타입인 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  12. 앞서의 항들 중 어느 한 항에 있어서,
    상기 구성된 코드북은 ACELP 코드북의 펄스 위치들의 세트로서 구성되는 세트를 설명하는 수용된 패턴 위치들을 포함하는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  13. 앞서의 항들 중 어느 한 항에 있어서,
    상기 기본 패턴은 적어도 하나의 중앙 펄스를 포함하며, 상기 중앙 펄스의 부호와 반대되는 부호의 적어도 하나의 펄스가 상기 적어도 하나의 중앙 펄스에 선행하고 상기 적어도 하나의 중앙 펄스를 뒤따르는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  14. 제13항에 있어서,
    상기 패턴은 세 개의 펄스, 즉,
    중앙 펄스와,
    상기 중앙 펄스에 선행하는 제 2 펄스와, 그리고
    상기 중앙 펄스를 뒤따르는 제 3 펄스를 포함하고,
    상기 제 2 펄스의 부호와 상기 제 3 펄스의 부호는 상기 중앙 펄스의 부호와 반대이고,
    절대값으로서, 상기 제 2 펄스의 진폭과 상기 제 3 펄스의 진폭은 상기 중앙 펄스의 진폭보다 더 작은 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  15. 제14항에 있어서,
    절대값으로서, 상기 제 1 펄스의 진폭과 상기 제 2 펄스의 진폭은 0과 상기 중앙 펄스의 진폭의 대략 반 사이에서 가변인 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북 구성 방법.
  16. 제1항 내지 제15항 중 어느 한 항을 따르는 코드북을 구성하는 방법을 수행하기 위한 명령을 포함하는 컴퓨터 프로그램.
  17. 디지털 오디오 신호를 코딩/디코딩하기 위한 CELP-타입의 여기 벡터들의 코드북으로서,
    N 개의 유효 위치들로부터의 하나 또는 그 이상의 각각의 위치들에서의 하나 또는 그 이상의 발생들에 근거하여, 기본 패턴을 형성하는 공통의 펄스 시퀀스를 포함하는 N 차원의 여기 벡터들을 포함하는 것을 특징으로 하는 CELP-타입의 여기 벡터들의 코드북.
  18. 디지털 오디오 신호를 코딩/디코딩하기 위한 장치로서, 제17항에 따른 적어도 하나의 코드북을 포함하는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치.
  19. 제18항에 있어서,
    제1항 내지 제15항 중 어느 하나의 항을 따르는 방법을 구현함으로써 얻어진 적어도 하나의 초기 코드북을 포함하는 복수의 캐스캐이딩된 코드북들을 포함하는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치.
  20. 제19항에 있어서,
    상기 캐스캐이딩된 코드북들의 벡터들에서의 상기 패턴들의 위치 및/또는 상기 펄스들의 위치는 동일한 세트들을 설명하고, 상기 패턴의 위치는 상기 패턴을 형성하는 펄스들의 시퀀스에서의 중앙 펄스의 위치에 의해 실질적으로 식별되는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치.
  21. 제19항 또는 제20항에 있어서,
    제13항 내지 제15항 중 하나를 따르는 방법을 구현함으로써 그리고 후속적으 로 상기 코드북들의 캐스캐이드에 구성되는 초기 코드북을 포함하는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치.
  22. 제21항에 있어서,
    상기 후속적 코드북에서의 검색을 위해, 최적의 여기 벡터를 검색하여 코딩에 명백하게 관계된 글로벌 지각적 가중 필터(global perceptual weighting filter)에서의 하이-패스 필터링(high-pass filtering)을 포함하는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치.
  23. 제18항 내지 제22항 중 어느 한 항을 따르는 디지털 오디오 신호 코딩/디코딩 장치의 사용으로서, 여기서 코팅에 있어, 상기 초기 코드북에서의 최상의 후보 벡터의 결정 이후에, 적어도
    상기 최상의 후보 벡터에서의 상기 기본 패턴의 위치 또는 위치들의 표시와, 그리고
    상기 패턴의 위치 또는 위치들과 관련된 진폭 또는 진폭들의 표시를 포함하는 인덱스가 형성되며, 상기 인덱스는 후속적 디코딩을 위해 전송되려는 것인 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치의 사용.
  24. 제23항에 있어서,
    디코딩에 있어서, 최상의 잠재적 후보가,
    상기 인덱스에 의해 표시된 위치들에서 상기 기본 패턴을 배치함으로써,
    관련 진폭에 의해 각각의 위치에서 상기 패턴을 곱함으로써, 그리고
    상기 표시된 위치들에서 배치된 상기 곱해진 패턴들을 더함으로써 상기 인덱스로부터 재구성되는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치의 사용.
  25. 제23항 또는 제24에 있어서,
    제9항을 따르는 방법을 수행함에 따라, 이득 가중 코드북들의 합산에 의해 획득된 단일의 글로벌 코드북을 구성하게 되는 복수의 코드북들의 캐스캐이딩을 상기 디바이스가 포함하는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치의 사용.
  26. 제25항에 있어서,
    상기 캐스캐이딩된 코드북들은, 현재의 코드북에 대해, 계층적 코딩 구조를 제공하는 적어도 하나의 이전 코드북의 벡터들에 의해 생산된 부분적 여기의 알려진 기여도를 공제함으로써, 번갈아 탐색되는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치의 사용.
  27. 제23항 내지 제26항 중 어느 한 항에 있어서,
    코드북에서의 잠재적 최상의 여기 벡터에 대한 검색은,
    컨벌루션된 필터 벡터를 얻기 위해, 지각적 필터에 의한 LPC 합성 필터의 곱으로부터의 필터의 임펄스 응답의 상기 코드북의 기본 패턴과의 컨벌루션을 계산하는 단계와,
    잠재적 타겟 벡터와 상기 컨벌루션된 필터 벡터 간의 상호 상관 벡터의 요소들을 계산하는 단계와,
    상기 컨벌루션된 필터 벡터의 자기 상관 매트릭스의 요소들을 계산하는 단계와, 그리고
    분자가 상호 상관 벡터의 요소들을 포함하고, 분모가 자기 상관 매트릭스의 요소들을 포함하는 비율의 최대화로서 표현되는 CELP 기준을 사용하여 상기 최상의 후보 벡터에 대한 검색을 수행하는 단계를 포함하는 CELP 기준의 예측에 따라 수행되는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치의 사용.
  28. 제27항에 있어서,
    상기 검색은 제6항을 따르는 방법을 수행함으로써 얻어진 코드북에서 행해지고, 그리고 적어도 하나의 블럭 에지에서의 상기 기본 패턴의 절단을 고려하기 위해, 상기 상호 상관 벡터의 요소들, 및/또는 상기 매트릭스의 요소들이, 필요한 경우, 정정되는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치의 사용.
  29. 디지털 오디오 신호 코딩/디코딩 장치용 컴퓨터 프로그램으로서, 제23항 내지 제28항 중 어느 한 항을 따르는 디지털 오디오 신호 코딩/디코딩 장치의 사용을 수행하기 위한 명령을 포함하는 것을 특징으로 하는 디지털 오디오 신호 코딩/디코딩 장치용 컴퓨터 프로그램.
KR1020087023140A 2006-02-22 2007-02-13 Celp 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩 KR101370017B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0601563 2006-02-22
FR0601563 2006-02-22
PCT/FR2007/050780 WO2007096550A2 (fr) 2006-02-22 2007-02-13 Codage/decodage perfectionnes d'un signal audionumerique, en technique celp

Publications (2)

Publication Number Publication Date
KR20080110757A true KR20080110757A (ko) 2008-12-19
KR101370017B1 KR101370017B1 (ko) 2014-03-05

Family

ID=37308852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087023140A KR101370017B1 (ko) 2006-02-22 2007-02-13 Celp 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩

Country Status (7)

Country Link
US (1) US8271274B2 (ko)
EP (1) EP1994531B1 (ko)
JP (1) JP5188990B2 (ko)
KR (1) KR101370017B1 (ko)
CN (1) CN101401153B (ko)
AT (1) ATE520121T1 (ko)
WO (1) WO2007096550A2 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174539A1 (en) * 2009-01-06 2010-07-08 Qualcomm Incorporated Method and apparatus for vector quantization codebook search
GB2466672B (en) * 2009-01-06 2013-03-13 Skype Speech coding
GB2466670B (en) * 2009-01-06 2012-11-14 Skype Speech encoding
GB2466673B (en) 2009-01-06 2012-11-07 Skype Quantization
GB2466675B (en) 2009-01-06 2013-03-06 Skype Speech coding
GB2466669B (en) * 2009-01-06 2013-03-06 Skype Speech coding
GB2466674B (en) * 2009-01-06 2013-11-13 Skype Speech coding
GB2466671B (en) * 2009-01-06 2013-03-27 Skype Speech encoding
US8452606B2 (en) * 2009-09-29 2013-05-28 Skype Speech encoding using multiple bit rates
CN102598124B (zh) * 2009-10-30 2013-08-28 松下电器产业株式会社 编码装置、解码装置及其方法
ES2924180T3 (es) 2009-12-14 2022-10-05 Fraunhofer Ges Forschung Dispositivo de cuantificación vectorial, dispositivo de codificación de habla, procedimiento de cuantificación vectorial y procedimiento de codificación de habla
US8924203B2 (en) * 2011-10-28 2014-12-30 Electronics And Telecommunications Research Institute Apparatus and method for coding signal in a communication system
SG11201502613XA (en) * 2012-10-05 2015-05-28 Fraunhofer Ges Forschung An apparatus for encoding a speech signal employing acelp in the autocorrelation domain
UA112833C2 (uk) 2013-05-24 2016-10-25 Долбі Інтернешнл Аб Аудіо кодер і декодер
US9418671B2 (en) * 2013-08-15 2016-08-16 Huawei Technologies Co., Ltd. Adaptive high-pass post-filter
EP3779982A1 (en) 2013-10-18 2021-02-17 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung E.V. Concept of encoding an audio signal and decoding an audio signal using deterministic and noise like information
AU2014336356B2 (en) 2013-10-18 2017-04-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for encoding an audio signal and decoding an audio signal using speech related spectral shaping information
AU2014350366B2 (en) * 2013-11-13 2017-02-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder for encoding an audio signal, audio transmission system and method for determining correction values
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
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
US10847170B2 (en) * 2015-06-18 2020-11-24 Qualcomm Incorporated Device and method for generating a high-band signal from non-linearly processed sub-ranges

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI98104C (fi) * 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
JPH10133697A (ja) * 1996-09-05 1998-05-22 Seiko Epson Corp 音声符号化方法およびその装置
EP1760695B1 (en) * 1997-10-22 2013-04-24 Panasonic Corporation Orthogonalization search for the CELP based speech coding
JP3235543B2 (ja) * 1997-10-22 2001-12-04 松下電器産業株式会社 音声符号化/復号化装置
JP3174756B2 (ja) * 1998-03-31 2001-06-11 松下電器産業株式会社 音源ベクトル生成装置及び音源ベクトル生成方法
JP3175667B2 (ja) * 1997-10-28 2001-06-11 松下電器産業株式会社 ベクトル量子化法
US6480822B2 (en) 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
JP4173940B2 (ja) * 1999-03-05 2008-10-29 松下電器産業株式会社 音声符号化装置及び音声符号化方法
US6449313B1 (en) * 1999-04-28 2002-09-10 Lucent Technologies Inc. Shaped fixed codebook search for celp speech coding
US6236960B1 (en) * 1999-08-06 2001-05-22 Motorola, Inc. Factorial packing method and apparatus for information coding

Also Published As

Publication number Publication date
JP5188990B2 (ja) 2013-04-24
KR101370017B1 (ko) 2014-03-05
WO2007096550A2 (fr) 2007-08-30
US8271274B2 (en) 2012-09-18
CN101401153A (zh) 2009-04-01
WO2007096550A3 (fr) 2007-10-11
US20090222273A1 (en) 2009-09-03
ATE520121T1 (de) 2011-08-15
CN101401153B (zh) 2011-11-16
EP1994531A2 (fr) 2008-11-26
JP2009527784A (ja) 2009-07-30
EP1994531B1 (fr) 2011-08-10

Similar Documents

Publication Publication Date Title
KR101370017B1 (ko) Celp 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩
US8566106B2 (en) Method and device for fast algebraic codebook search in speech and audio coding
SE506379C3 (sv) Lpc-talkodare med kombinerad excitation
KR20020090882A (ko) 음성 부호화 시스템의 여기 코드북 탐색 방법
EP0773533B1 (en) Method of synthesizing a block of a speech signal in a CELP-type coder
US7792670B2 (en) Method and apparatus for speech coding
US7596493B2 (en) System and method for supporting multiple speech codecs
KR20040083903A (ko) 전역 펄스 교체를 통한 고정 코드북 검색 방법
US6611797B1 (en) Speech coding/decoding method and apparatus
EP2101319A1 (en) Adaptive sound source vector quantization device, adaptive sound source vector inverse quantization device, and method thereof
JPH1097294A (ja) 音声符号化装置
US7337110B2 (en) Structured VSELP codebook for low complexity search
JPH04344699A (ja) 音声符号化・復号化方法
JP3095133B2 (ja) 音響信号符号化方法
KR20040043278A (ko) 음성 부호화기 및 이를 이용한 음성 부호화 방법
JP3174733B2 (ja) Celp型音声復号化装置、およびcelp型音声復号化方法
JP3263347B2 (ja) 音声符号化装置及び音声符号化におけるピッチ予測方法
Chen et al. Analysis-by-synthesis speech coding
Mobini et al. An FPGA based implementation of G. 729
JP3489748B2 (ja) 音声符号化装置及び音声復号化装置
JP3174782B2 (ja) Celp型音声復号化装置及びcelp型音声復号化方法
JP3174780B2 (ja) 拡散音源ベクトル生成装置及び拡散音源ベクトル生成方法
JPH0981191A (ja) 音声符号化復号化装置及び音声復号化装置
Choi et al. On Reducing the Complexity of the VSELP Coder
JP2000347699A (ja) 拡散音源ベクトル生成装置及び拡散音源ベクトル生成方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee