KR100304682B1 - 음성 코더용 고속 여기 코딩 - Google Patents

음성 코더용 고속 여기 코딩 Download PDF

Info

Publication number
KR100304682B1
KR100304682B1 KR1019960053630A KR19960053630A KR100304682B1 KR 100304682 B1 KR100304682 B1 KR 100304682B1 KR 1019960053630 A KR1019960053630 A KR 1019960053630A KR 19960053630 A KR19960053630 A KR 19960053630A KR 100304682 B1 KR100304682 B1 KR 100304682B1
Authority
KR
South Korea
Prior art keywords
excitation
pulse
group
samples
sample
Prior art date
Application number
KR1019960053630A
Other languages
English (en)
Other versions
KR970031376A (ko
Inventor
메이 용
Original Assignee
클라크 3세 존 엠.
내셔널 세미콘덕터 코포레이션
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 클라크 3세 존 엠., 내셔널 세미콘덕터 코포레이션 filed Critical 클라크 3세 존 엠.
Publication of KR970031376A publication Critical patent/KR970031376A/ko
Application granted granted Critical
Publication of KR100304682B1 publication Critical patent/KR100304682B1/ko

Links

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/083Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain

Abstract

디지탈 음성 인코더와 디지탈 음성 디코더가 형성된 음성 코더는 고속 여기 코딩을 사용하여 입력 음성 신호의 디지탈 샘플을 압축하는데 필요한 계산력을 감소시키므로써 디지탈 출력 음성 샘플을 합성하기 위하여 압축 해제되는 압축된 디지탈 음성 데이터 스트림을 발생시킨다. 많은 고속 여기 코딩은 인코더의 여기 탐색 장치에 의해 제공된다. 탐색 장치는 여기 펄스의 비주기 그룹을 정의하는 여기 정보를 결정한다. 비주기 펄스 그룹의 각각의 펄스의 최적의 위치는 인코더에 기억된 펄스 위치의 대응 셋트로부터 선택된다. 탐색 장치는 (a) 압축을 위하여 인코더에 제공되는 디지탈 입력 음성 샘플의 필터링된 버전의 타겟 그룹과 (b) 합성된 디지탈 음성 샘플의 대응 그룹 사이의 상관 관계를 최대화 함으로써 최적의 펄스 위치를 확정한다. 합성된 샘플 그룹은 기억된 펄스 위치의 대응 셋트에서 사용되는 펄스 위치와 그 펄스 위치에서의 펄스의 부호에 의존한다.

Description

음성 코더용 고속 여기 코딩
본 발명은 기억 또는 전송용 음성 샘플의 인코딩과 인코딩된 음성 샘플의 디코딩에 관한 것이다.
디지탈 음성 코더는 아날로그/디지탈 컨버터 (“ADC”), 디지탈 음성 인코더, 데이터 기억 또는 전송 기구, 디지탈 음성 디코더, 및 디지탈/아날로그 컨버터(“DAC”) 를 포함하는 음성 통신 시스템의 일부분이다. ADC 는 아날로그 입력 음성 파형을 샘플링하고 그 (아날로그) 샘플들을 대응하는 디지탈 입력 음성 샘플의 데이터 스트림으로 변환한다. 인코더는 디지탈 입력 데이터 스트림을 디지탈 입력 음성 샘플을 근사화한 더 작은 데이터 스트림으로 압축하기 위하여 디지탈 입력 데이터 스트림을 코딩한다. 압축된 디지탈 음성 데이터 스트림은 기억기구에 기억되거나 전송기구를 통해 원격 위치로 전송된다.
기억기구의 사이트 또는 원격 위치에 위치하는 디코더는 압축된 디지탈 데이터 스트림을 압축해제하여 디지탈 출력 음성 샘플의 데이터 스트림을 발생한다. 그후, DAC는 압축해제된 디지탈 출력 데이터 스트림을 아날로그 입력 음성 파형을 근사화한 대응하는 아날로그 출력 음성 파형으로 변환한다. 인코더와 디코더는 통상 인코더/디코더 또는 코덱 (codec) 으로서 언급되는 음성 코더를 형성한다.
음성은 인간의 음성 기관 (tract) 의 음향 여기의 결과로서 발생된다. 공지의 선형 예측 코딩 (“LPC”) 모델에 있어서, 통상 포르만트 (formant) 합성 필터라 불리우는 시변 순환 성형 필터에 의해 LPC 기술을 이용하여 음성 파형을 직접 분석하므로써 얻어지는 음성 기관 함수가 근사화된다. 공기가 음성 코드 (cord)를 통과할 때 음성 기관 성문 (聲門) 여기가 발생한다. 음성 기관 함수로서 용이하게 표현할 수 없어도, 성문 여기 신호는 일반적으로 여기 신호의 2 가지 형태의 가중된 합, 즉, 의사 주기 여기 신호 (quasi-periodic exicitation signal)와 잡음형 여기 신호 (noise-like excitation signal) 에 의해 표현될 수 있다. 의사 주기 여기 신호는, 일반적으로 각각의 세그먼트에서 파형은 평균 피치 주기라 불리우는 일정 주기를 갖는 많은 단파형 세그먼트의 연쇄 (concatenation) 에 의해 근사화된다. 잡음형 신호는 일련의 비주기적인 펄스 또는 백색 잡음에 의해 근사화 된다.
피치 주기와 포르만트 합성 필터의 특성은 시간과 함께 연속적으로 변화한다. 압축된 음성 정보를 전송하는데 요구되는 데이터 전송속도를 감소시키기 위하여, 피치 데이터와 포맷 필터 특성은 주기적으로 갱신된다. 이것은 일반적으로 10 내지 30 밀리초의 간격으로 발생한다.
국제 전기 통신 연합 (“ITU”) 의 전기 통신 표준화 섹터는 멀티미디어 통신용 듀얼-레이트 (dual-rate) 디지탈 음성 코더를 표준화하는 프로세스에 있다. 5.3 & 6.3 kbits/s 로 전송하는 멀티미디어 통신용 튜얼 레이트 음성 코더, “1995년 7 월 7 일 ITU 의 전기 통신 표준화 섹터 Draft G.723, 37 페이지 (이하 1995년 7월 G.723 사양이라 한다) 는 표준화된 ITU 음성 코더 (이하, G.723 코더라 한다) 를 설명한다. 분석-합성 기술과 조합한 선형 예측 코딩을 이용하여, G.723 코더의 디지탈 음성 인코더는 128 kbps 의 데이터 전송속도의 압축되지 않은 입력 디지탈 음성 데이터 스트림으로부터 시작하여 5.3 또는 6.3 킬로비트/초 (“kbps”) 의 데이터 속도로 압축된 디지탈 음성 스트림을 발생시킨다. 5.3 또는 6.3 kbps 의 압축된 데이터 속도는 사용자에 의해 선택적으로 설정된다.
압축된 데이터 스트림의 압축해제후에 G.723 코더에 의해 발생되는 디지탈 음성 신호는 우수한 통신 품질을 갖는다. 그러나, G.723 코더를 수행하기 위하여 높은 계산력이 필요하다. 특히, G.723 코더는 일반적으로 전용 디지탈 신호 프로세서에 의해 공급되는 처리력의 초당 2천만개의 명령을 필요로 한다. G.723 코더의 처리력의 큰 부분은 코드북 여기 정보가 발생하는 동안 에너지 에러의 최소화를 수행하는데 사용된다.
퍼스널 컴퓨터 등의 범용 컴퓨터상에서 실행하는 소프트웨어에서는, G.723 코더에 필요한 데이터 처리력을 얻을 수 없다. 상당히 감소된 계산력으로 G.723 코더의 품질과 필적할만한 통신 품질을 제공하는 디지털 음성 코더가 바람직하다.
본 발명은, 고속 여기 코딩을 사용하여 디지탈 출력 음성 샘플을 합성하도록 후속으로 압축해제되는 압축된 디지탈 음성 데이터 스트림을 발생하기 위하여 입력 음성 심호의 디지털 샘플을 압축하는데 필요한 계산의 수와 계산력을 감소시키는 음성 코더를 제공하는 것이다. 특히, 본 발명의 음성 코더는 동일한 음성의 압축/압축해제를 수행하기 위하여 G.723 음성 코더보다 상당히 적은 계산력을 필요로 한다. 본 코더에 의해 성취되는 통신 품질은 G.723 코더의 품질과 필적할 만하다. 또한, 본 음성 코더는 퍼스널 컴퓨터 등의 응용에 특히 적합하다.
본 발명의 코더는 디지탈 음성 인코더와 디지탈 음성 디코더를 포함한다. 디지탈 입력 음성 샘플을 압축하는데 있어서, 인코더는 1995년 7월 G.723 사양에서 지정된 포맷에 따라 출력되는 디지탈 음성 데이터 스트림을 발생한다. 본 코더는 G.723 코더와 호환이 가능하다. 다시 말해, 본 발명의 코더는 G.723 코더를 대체할 수 있는 것이다.
본 발명에 의한 고속 여기 코딩은 인코더내의 여기 탐색 장치에 의해 제공된다. 때때로 고정 코드북 탐색 장치라 불리우는 탐색 장치는 여기 펄스의 비주기적인 그룹을 정의하는 여기 정보를 결정한다. 비주기적인 펄스 그룹내의 각 펄스의 최적 위치는 인코더에 기억된 펄스 위치의 대응 셋트로부터 선택된다. 각 펄스는 양 또는 음 부호가 되도록 선택될 수 있다.
탐색 장치는 (a) 압축용 인코더에 제공되는 디지탈 음성 샘플의 연속 필터링된 버전의 타겟 그룹과 (b) 연속 합성된 디지탈 음성 샘플의 대응 그룹 사이의 상관관계를 최대화하므로써 펄스의 최적 위치를 결정한다. 합성된 샘플 그룹은 인코더에 기억된 펄스 위치의 대응 셋트내에서 사용가능한 펄스 위치와 이들 위치의 펄스의 부호에 의존한다. 이하의 방법으로 상관관계의 최대화를 수행하는 것은 G.723 코더와 유사한 결과를 성취하기 위하여 사용되는 에너지 에러 최소화 기술보다 적은 계산을 요구한다.
본 발명의 상관관계 최대화는 다음과 같은 상관관계 (C)를 최대화하는 것을 필요로 한다.
[수학식 A]
여기서, n 은 타겟 샘플 그룹과 대응하는 합성된 샘플 그룹의 샘플의 수이고, tB(n) 은 타겟 샘플 그룹이고, q(n) 은 대응하는 합성된 샘플 그룹이고, nG은 tB(n) 와 q(n) 각각의 샘플의 총수이다.
식 (A) 에 나타낸 바와 같이 상관관계 (C) 를 최대화하는 것은 역필터, 펄스 위치표, 및 셀렉터를 갖는 탐색 장치를 수행하므로써 바람직하게 성취된다. 역필터는 타겟 샘플 그룹을 역필터링하여 연속 디지탈 음성 샘플의 대응하는 역필터링된 그룹을 발생한다. 펄스 위치표는 펄스 위치의 셋트를 기억한다. 셀렉터는 역필터링된 샘플 그룹의 절대값을 최대화하는 펄스 위치에 의하여 각 펄스의 위치를 선택한다.
특히, 식 (A) 에 의한 상관관계 (C) 를 최대화하는 것은 다음의 식에 의해 주어진 상관관계 (C) 를 최대화하는 것과 동등하다.
[수학식 B]
여기서, j 는 실행 정수, M 은 비주기적인 여기 샘플 그룹내의 펄스의 총수, mj은 펄스 위치의 대응하는 셋트내의 j 번째 펄스의 위치, | f(mj)| 은 역필터링된 샘플 그룹내의 샘플의 절대값이다.
식 (B) 에 나타낸 상관관계 (C) 를 최대화하는 것은 모든 펄스 위치가 결정될때까지 3 개의 동작을 반복적으로 수행하는 것을 필요로 한다. 첫째로, f(mj)의 최대 절대값을 산출하는 샘플의 수 (n) 의 값에 대한 탐색이 수행된다. 둘째로, 각 펄스 위치 (mj) 가 샘플의 수 (n) 의 위치값으로 설정된다. 마지막으로, 펄스 위치 (mj) 는 다시 선택되는지 않는다. 선행 단계는 비교적 적은 계산을 필요로 한다. 이 방법에 의해, 본 발명은 종래 기술의 개선점을 제공한다.
제1도는 본 발명에 의한 음성 코더를 수용하는 음성 압축/압축해제 시스템의 블록도.
제2도는 제1도의 음성 압축/압축해제 시스템내에 포함된 코더에 사용되는 디지탈 음성 디코더의 블록도.
제3도는 제1도의 음성 압축/압축해제 시스템내에 포함된 코더에 사용되는 본 발명에 의해 구성된 디지탈 음성 디코더의 블록도.
제4도, 제5도, 제6도는 각각 제3도의 인코더에 사용되는 음성 분석기 및 프리프로세싱 장치, 기준 서브프레임 제너레이터, 및 여기 (excitation) 코딩 장치의 블록도.
제7도, 제8도, 제9도는 각각 제6도의 여기 코딩 장치에 사용되는 적응 코드북 탐색 장치, 고정 코드북 탐색 장치, 및 여기 제너레이터의 블록도.
* 도면의 주요부분에 대한 부호의 설명
10 : A/D 컨버터 12 : 인코더
14 : 디지탈 기억 장치 또는 디지탈 채널 16 : 디코더
18 : D/A 컨버터
디지탈 음성 인코더와 디지탈 음성 디코더가 형성된 본 음성 코더는 선형 예측 코딩 모델을 이용하여 음성 신호를 압축하여 인간의 음성 기관의 필터 특성을 근사화한 포르만트 합성 필터를 특성화하는 파라미터용 수치값을 설정한다. 포르만트 합성 필터용 성문 여기 신호를 발생하기 위하여 분석-합성 여기 코드북 탐색 방법이 사용된다. 인코딩측에서, 인코더는 성문 여기 신호와 포르만크 합성 필터 파라미터의 코딩된 표시 (representation) 를 결정한다. 이들 코딩된 표시는 즉시 디코더에 전송되거나 기억된다. 디코딩측에서, 디코더는 성문 여기 신호와 포르만트 합성 필터 파라미터의 코딩된 표시를 이용하여 디코딩된 음성 파형 샘플을 발생한다.
도면을 참조하면, 제1도는 본 발명의 디지탈 음성 코딩 기술에 의한 음성 (또는 다른 오디오 사운드) 을 표시하는 데이터를 전송하기 위한 음성 압축/압축해제 시스템을 나타낸다. 제1도의 압축/압축해제 시스템은 아날로그/디지탈 컨버터 (10), 디지탈 음성 인코더 (12), 디지탈 기억 장치 또는 “디지탈” 통신 채널을 나타내는 블록 (14), 디지탈 음성 디코더 (16), 및 디지탈/아날로그 컨버터 (18) 로 구성된다. 제1도의 압축/압축해제 시스템을 통한 음성 (또는 다른 오디오) 정보의 통신은 입력 음성을 입력 전압 파형 (x(t)) 으로 변환하는 마이크로폰 등의 오디오-전기 트랜스듀서 (도면표시생략) 로 시작된다. 여기서, t 는 시간을 나타낸다.
ADC (10) 는 아날로그 입력 음성 전압 신호 (x(t)) 를 디지탈 음성 전압 샘플 (x(n)) 로 변환시킨다. 여기서, “n” 은 샘플의 수를 나타낸다. ADC (10) 는 8,000 샘플/초의 속도로 아날로그 음성 신호 (x(t)) 를 균일하게 샘플링함으로써 디지탈 음성 샘플 (x(n)) 을 발생하고, 각 샘플을 -215로부터 215-1 까지의 범위의 정수 레벨로 양자화한다. 각 양자화 레벨은 16 비트 정수에 의해 정의된다. 압축해제되지 않은 입력 음성 파형 샘플이라 불리우는 16 비트수의 열은 디지탈 음성 샘플 (x(n)) 을 형성한다. 8,000 개의 입력 샘플이 각 샘플내에서 16비트로 매초마다 발생되므로, 압축해제되지 않은 입력 음성 파형 샘플 (x(n)) 의 데이터 전송 속도는 128 kbps 이다.
인코더 (12) 는 본 발명에 의한 입력 음성 파형 샘플 (x(n)) 을 디지탈적으로 압축하여 압축되지 않은 음성 파형 샘플 (x(n)) 보다 낮은 데이터 전송속도로 아날로그 입력 음성 파형 (x(t)) 을 나타내는 압축된 디지탈 데이터 스트림 (xc) 을 발생한다. 압축된 음성 데이터 스트림 (xc) 은 (a) 포르만트 합성 필터를 특성화하는 양자화된 선스펙트럼 쌍 (“LSP”) 데이터와 (b) 포르만트 합성 필터를 실행하는데 사용되는 데이터의 2 가지 기본 형태의 정보를 포함한다. 압축된 음성 데이터 스트림 (xc) 은 1995년 7월 G.723 사양과 같은 방법으로 발생된다. 압축된 데이터 스트림 (xc) 의 데이터 전송속도는 사용자에 의해 5.3 kbps 또는 6.3 kbps로 사용자에 의해 선택적으로 설정된다.
음성 인코더 (12) 는 프레임-타이밍을 기초로 하여 동작한다. 30 밀리초의 음성 (다른 오디오 사운드) 에 대응하는 240 개의 연속 압축되지 않은 입력 파형 샘플 (x(n)) 의 각각은 음성 프레임을 구성한다. 이하에서 서술하는 바와 같이, 각 240 개의 샘플 음성 프레임은 60 샘플의 서브프레임으로 분할된다. 포르만트 합성필터를 특성화하는 LSP 정보는 매 240 샘플 프레임마다 갱신되고, 포르만트 합성 필터를 여기하는 신호를 정의하는데 사용되는 정보는 매 60 샘플 서브프레임마다 갱신된다.
압축된 음성 데이터 스트림 (xc) 은 다음의 압축해제를 위하여 기억되거나 디지탈 통신 채널을 통해 다음의 압축해제를 위하여 다른 위치로 전송한다. 제1도의 블록 (14) 은 데이터 스트림 (xc) 을 전송하는 디지탈 채널 뿐만 아니라 압축된 데이터 스트림 (xc) 을 기억하는 기억 장치를 나타낸다. 기억 장치/ 디지탈 채널 (14) 는 기억 또는 전송 에러가 없으면 압축된 데이터 스트림 (xc) 과 동일한 압축된 음성 디지탈 데이터 스트림 (yc) 을 제공한다. 압축된 음성 데이터 스트림 (yc) 은 또한 1995년 7월 G.723 사양의 조건을 만족한다. 압축된 데이터 스트림 (yc) 의 데이터 전송속도는 압축된 데이터 스트림 (xc) 과 동일 (5.3 또는 6.3 kbps) 하다.
디코더 (16) 는 적절한 디코딩 절차에 따라 압축된 음성 데이터 스트림 (yc) 을 압축해제하여, 디지탈 출력 음성 파형 샘플로 구성된 압축해제된 데이터 스트림 (y(n)) 을 발생한다. 디지탈 출력 음성 파형 샘플 (y(n)) 은 디지탈 입력 음성 샘플 (x(n)) 과 동일한 포맷으로 제공된다. 즉, 출력 음성 데이터 스트림 (y(n)) 은 8,000 샘플/초로 제공된 16 비트 샘플로 구성되어 128 kbps 의 출력 데이터 전송속도를 발생시킨다. 압축/압축해제 처리에서 몇가지 정보가 반드시 손실되므로, 출력 음성 파형 샘플 (y(n)) 은 입력 음성 파형 샘플 (x(n)) 과 다소 상이하다.
DAC (18) 는 디지탈 출력 음성 파형 샘플 (y(n)) 을 아날로그 출력 음성 전압 신호 (y(t)) 로 변환한다. 마지막으로, 스피커 등의 전기-오디오 트랜스듀서 (도면표시생략) 는 아날로그 출력 음성 신호 (y(t)) 를 출력 음성으로 변환한다.
본 발명의 음성 코더는 인코더 (12) 와 디코더 (16) 로 구성된다. 인코더 (12) 와 디코더 (16) 의 구성요소의 몇 개는 1995년 7월 G.723 사양에 지정된 방법으로 동작하는 것이 바람직하다. 이 코더 구성성분과 관계있는 1995년 7월 G.723 사양의 부분은 참고로서 기재한다.
본 발명의 기술이 인코더 (12) 에 어떻게 적용되는지를 이해하기 위하여, 먼저, 디코더 (16) 에 대하여 상세히 설명한다. 일반적인 수행에 있어서, 디코더 (16) 는 G.723 코더의 디지탈 음성 디코더와 동일하게 구성되고 동작한다. 다른 방법으로, 디코더 (16) 는 G.723 디지탈 음성 디코더의 간략화된 버전일 수 있다. 어느 경우에도, 본 발명의 코더는 G.723 코더와 호환이 가능하다.
제2도는 G.723 디지탈 음성 디코더와 동일하게 구성되어 동작할때의 디지탈 음성 디코더 (16) 의 기본 내부 배열을 나타낸다. 제2도의 디코더 (16) 는 비트 언팩커 (20), 포맷 필터 제너레이터 (22), 여기 제너레이터 (24), 포르만트 합성 필터 (26), 포스트 프로세서 (28), 및 출력 버퍼 (30) 로 구성된다.
압축된 디지탈 음성 데이터 스트림 (yc) 은 비트 언팩커 (20) 에 공급된다. 압축된 음성 데이터 스트림 (yc) 은 LSP 와 압축된 음성 프레임을 나타내는 여기 정보를 포함한다. 비트 언팩커 (20) 가 압축된 240 샘플 음성 프레임에 대응하는 비트의 블록을 수신할때마다 언팩커 (20) 는 블록을 분해하여 LSP 코드 (PD), 적응 코드북 여기 파라미터 셋트 (ACD), 고정 코드북 여기 파라미터 셋트 (FCD) 를 생성한다. LSP 코드 (PD), 적응 코드북 여기 파라미터 셋트 (ACD), 고정 코드북 여기 파라미터 셋트 (FCD) 는 프레임당 240 샘플로 압축되지 않은 음성 프레임을 합성하기 위하여 사용된다.
LSP 코드 (PD) 는 24 비트이다. 각 240 샘플 음성 프레임에 대하여, 포르만트 필터 제너레이터 (22) 는 LSP 코드 (PD) 를 4 개의 양자화된 예측 계수 벡터 () 로 변환시킨다. 여기서, i 는 0 부터 3 까지의 정수이다. 하나의 양자화된 예측 계수 벡터 () 는 현재 프레임의 60 샘플 서브프레임 (i) 에 대하여 발생된다. 제 1 내지 제 4 의 60 샘플 서브프레임은 i 의 0, 1, 2, 3 의 값으로 표시된다.
각 예측 계수 벡터 () 는 10 개의 양자화된 예측 계수 {} 로 구성되고, 여기서, j 는 1 부터 10 까지의 정수이다. 각 서브프레임 (i) 에 대하여, 10 개의 예측 계수 {} 의 수치값이 이하에서 서술하는 바와 같은 방법으로 포르만트 합성 필터 (26) 의 필터 특성을 설정한다.
포르만트 필터 제너레이터 (22) 는 LSP 디코더 (32) 와 LSP 보간자 (34) 로 구성된다. LSP 디코더 (32) 는 LSP 코드 (PD) 를 디코딩하여 10 개의 양자화된 LSP 항 {} 으로 구성된 양자화된 LSP 벡터 () 를 발생한다. 여기서, j 는 1 부터 10 까지이다. 현재의 프레임의 각 서브프레임 (i) 에 대하여, LSP 보간자 (34) 는 현재의 음성 프레임의 양자화된 LSP 벡터 () 와 이전의 음성 프레임의 양자화된 LSP 벡터 () 사이를 선형적으로 보간하여 10 개의 양자화된 LSP 항 {} 으로 구성된 보간된 LSP 벡터 () 를 발생한다. 여기서, j 는 1 부터 10 까지이다. 따라서, 4 개의 보간된 LSP 벡터 () 는 각 프레임내에서 발생되며, 여기서, i 는 0 으로부터 3 까지이다. 또한, LSP 보간자 (34) 는 4 개의 보간된 LSP 벡터 () 를 각각 포르만트 합성 필터 (26) 를 위한 부드러운 시변특성을 설정하는 4 개의 양자화된 예측 계수 벡터 () 로 변환한다.
여기 파라미터 셋트 (ACD, FCD) 가 각 240 샘플 음성 프레임의 4 개의 복합 60 샘플 음성 여기 서브프레임 (eF(n)) 을 발생하기 위한 여기 제너레이터 (24) 에 공급된다. 여기서, n 은 각 복합 여기 서브프레임 (eF(n)) 에서 0 (제 1 샘플) 부터 59 (마지막 샘플) 까지 변화한다. 적응 여기 파라미터 셋트 (ACD) 는 프레임내의 4 개의 음성 여기 서브프레임 (eF(n)) 의 주기 특성을 정의하는 피치 정보로 구성된다. 고정 여기 파라미터 셋트 (FCD) 는 펄스 위치폭과 4 개의 여기 서브프레임 (eF(n)) 의 비주기적인 구성요소를 특성화하는 펄스를 정의하는 부호 정보로 형성된다.
여기 제너레이터 (24) 는 적응 코드북 디코더 (36), 고정 코드북 디코더 (38), 가산기 (40), 및 피치 포스트 필터 (42) 로 구성된다. 적응 여기 코드북으로의 어드레스로서 적응 여기 파라미터 (ACD) 를 이용하여, 적응 코드북 디코더 (36) 는 파라미터 셋트 (ACD) 를 디코딩하여 각각의 음성 프레임의 4 개의 60 샘플 적응 여기 서브프레임 (uD(n)) 을 발생시킨다. 여기서, n 은 각 적응 여기 서브프레임 (uD(n)) 에서 0 으로부터 59 까지 변화한다. 적응 여기 코드북은 코드북의 엔트리가 이전의 적응 여기 서브프레임 (uD(n)) 을 형성하는 샘플의 값에 의존하여 서브프레임으로부터 서브프레임으로 변화하도록 적응된다. 고정 여기 코드북으로의 어드레스로서 고정 여기 파라미터 (FCD) 를 사용하여, 고정 코드북 디코더 (38) 는 파라미터 셋트 (FCD) 를 디코딩하여 각 프레임의 4 개의 60 샘플 고정 여기 서브프레임 (vD(n)) 을 발생시킨다. n 은 마찬가지로 각 고정 여기 서브프레임 (vD(n)) 에서 0 부터 59 까지 변화한다.
적응 여기 서브프레임 (uD(n)) 은 복합 여기 서브프레임 (eF(n)) 을 위한 궁극적인 주기 특성을 제공하고, 고정 여기 서브프레임 (vD(n)) 은 비주기 펄스 특성을 제공한다. 각 샘플마다 각 적응 여기 서브프레임 (uD(n)) 과 대응하는 고정 여기 서브프레임 (vD(n)) 을 합하므로써, 가산기 (40) 는 다음과 같은 디코딩된 복합 60 샘플 여기 음성 서브프레임 (eD(n)) 을 발생한다:
[수학식 1]
피치 포스트 필터 (42) 는 디코딩된 여기 서브프레임 (eD(n)) 을 필터링하므로써 60 샘플 여기 서브프레임 (eF(n)) 을 발생하여 출력 음성 샘플 (y(n)) 의 통신 품질을 개선한다. 여기서, n 은 각 서브프레임 (eF(n)) 에서 0 으로부터 59 까지이다. 본 코더에 필요한 계산력의 양은 피치 포스트 필터 (42) 를 제거하므로써 감소될 수 있다. 그로인해, G.723 코더와의 호환성에 영향을 주지 않는다.
포르만트 합성 필터 (26) 는 각 서브프레임 (i) 에 대한 예측 계수 벡터 () 와 복합 여기 서브프레임 (eF(n)) (또는 (eD(n)) 이 공급되는 시변 순환 선형 필터이다. 각각의 예측 계수 벡터 () 의 10 개의 양자화된 예측 계수 {} 는 포르만트 합성 필터 (26) 를 특성화하는데 사용되어 인간의 음성기관을 모델링한다. 여기서, j 는 각각의 서브프레임 (i) 에서 1 부터 10 까지 실행한다. 여기 서브프레임 (eF(n)) (또는 (eD(n)) 은 공기가 인간의 음성 코드 (cord) 를 통과하 할때 발생된 성문 여기를 모델링한다.
예측 벡터 () 를 이용하여, 각각의 서브프레임에 대한 포르만트 합성 필터 (26) 는 10 번째 순환 필터에 대한 다음의 z 변환 () 에 의해 정의된다:
[수학식 2]
포르만트 합성 필터 (26) 는 식 (2) 에 나타낸 합성 필터에 의해 입력 복합 음성 여기 서브프레임 (eF(n) 또는 (eD(n)) 을 필터링하여 압축해제된 240 샘플 합성 디지탈 음성 프레임 (ys(n)) 을 발생하고, 여기서, n 은 각각의 합성된 음성 프레임 (ys(n)) 에 대하여 0 부터 239 까지 변화한다. 4 개의 순환 여기 서브프레임 (eF(n)) 은 각각의 합성된 음성 프레임 (ys(n)) 을 발생하는데 사용되고, 10 개의 예측 계수 {} 는 각각의 60 샘플 서브프레임 (i) 에서 갱신된다.
식에 있어서, 합성된 음성 프레임 (ys(n))은 다음의 관계를 갖는다:
[수학식 3]
여기서, eG(n) 은 각각의 240 샘플 음성 프레임의 4 개의 연속 서브프레임 (eF(n)) (또는 (eD(n)) 의 연쇄이다. 이 방법으로, 합성된 음성 파형 샘플 (ys(n)) 은 본래의 압축되지 않은 입력 음성 파형 샘플 (x(n)) 에 근사화된다.
입력 음성 샘플 (x(n)) 에 인가되는 압축에 의해, 합성된 출력 음성 샘플 (ys(n)) 은 일반적으로 입력 샘플 (x(n)) 과 상이하다. 이 상이점은 합성된 샘플 (ys(n)) 이 사람이 들을 수 있는 음성으로 출력되도록 변화될 때 몇가지 지각 왜곡 을 발생시킨다. 지각 왜곡은 합성된 음성 프레임 (ys(n)) 과 각각의 프레임에 대한 4 개의 예측 계수 벡터 () 에 응답하여 합성된 240 샘플 디지탈 음성 프레임 (yp(n)) 을 발생시키는 포스트 프로세서 (28) 에 의해 감소된다. 여기서, n 은 각 포스트 프로세스된 음성 프레임 (yp(n)) 에 대하여 0 으로부터 239 까지 실행한다. 포스트 프로세서 (28) 는 포르만트 포스트 필터 (46) 와 이득 스케일링 장치 (48) 로 구성된다.
포르만트 포스트 필터 (46) 는 압축해제된 음성 프레임 (ys(n)) 를 필터링하여 240 샘플 필터링된 디지탈 합성 음성 프레임 (yF(n)) 를 발생하고, 여기서, n 은 각각의 필터링된 프레임 (yF(n)) 에 대하여 0 부터 239 까지 실행한다. 포스트 필터 (46) 는 종래의 자동 회귀 이동 평균 선형 필터이고, 그 필터의 특성은 각각의 예측 계수 벡터 () 의 10 개의 계수 {} 에 의존하고, 여기서 j 는 각각의 서브프레임 (i) 에 대하여 1 부터 10 까지 실행한다.
이득 스케일링 장치 (48) 는 필터링된 음성 프레임 (ys(n)) 에 응답하여 필터링된 음성 프레임의 이득을 스케일링하여 압축해제된 음성 프레임 (yp(n)) 을 발생시킨다. 이득 스케일링 장치 (48) 는 각각의 압축해제된 음성 프레임 (yp(n)) 의 평균 에너지를 필터링된 음성 프레임 (ys(n)) 의 평균 에너지로 등화시킨다.
포스트 프로세서 (28) 는 본 코더에 필요한 계산력의 양을 감소시키기 위하여 제거될 수 있다. 피치 포스트 필터 (42) 를 제거하는 것과 마찬가지로, 포스트 프로세서 (28) 를 제거하는 것은 G.723 코더와의 호환성에 영향을 주지 않는다.
출력 버퍼 (30) 는 압축해제된 출력 음성 데이터 스트림 (y(n)) 으로서 다음의 전송을 위한 각각의 압축 해제된 출력 음성 프레임 ((yp(n)) 또는(ys(n))) 을 DAC (18) 에 기억시킨다. 이것은 디코더의 동작을 완료시킨다.
디지탈 음성 인코더 (12) 의 대응하는 구성요소와 같은 디코더 구성요소 (32, 34, 36, 38) 는 1995 년 7월 G.723 사양의 파라그래프 3.2 - 3.5 에 서술된 방법으로 동작하는 것이 바람직하다. 디코더 구성요소 (42, 26, 46, 48) 의 바람직한 수행의 상세한 설명은 G.723 사양의 파라그래프 3.6 - 3.9 에 기재되어 있다.
상술한 바와 같이, 디지탈 음성 인코더 (12) 의 동작은 용이하게 이해될 것이다. 인코더 (12) 는 선형 예측 코딩 (LPC) 및 분석/합성법을 사용하여 기억 또는 전송 에러없이 디코더 (16) 에 제공된 압축된 디지탈 음성 데이터 스트림 (yc)과 동일한 디지탈 음성 데이터 스트림 (xc) 을 발생시킨다. 인코더 (12) 에 사용되는 LPC 와 분석/합성법은 기본적으로 다음을 수반한다:
a. 포르만트 합성 필터 (26) 에 대응하는 포르만트 합성 필터의 수치 특성을 설정하는 한 셋트의 양자화된 예측 계수를 발생하기 위하여 디지탈 입력 음성 샘플 (x(n)) 을 분석, b. 디코더 (16) 내에 포함된 여기 코드북과 같은 여기 코드북에 기억된 정보에 따라 압축된 데이터 스트림 (xc) 의 여기 구성요소를 결정하기 위한 값을 설정, c. 인코더 (12) 의 포르만트 합성 필터에 압축된 데이터 스트림 (x) 의 여기 구성요소를 가하므로써 발생되는 대응하는 근사화된 파라미터와 입력 음성 샘플 (x(n)) 을 나타내는 파라미터를 비교, d. 실제의 입력 음성 샘플 (x(n)) 을 나타내는 파라미터와 합성된 음성 샘플을 나타내는 파라미터 사이의 가중된 지각에서의 차이점을 최소화하는 여기 파라미터 값을 선택, 인코더 (12) 는 디코더 (16) 의 포르만트 필터 (26) 와 유사한 포르만트 합성 필터를 발생시키므로, 디코더 (16) 의 어떠한 구성요소는 거의 인코더 (12) 와 같다.
제3도는 디지탈 음성 인코더 (12) 의 개략도이다. 인코더 (12) 는 입력 프레임 버퍼 (50), 음성 분석 및 프리프로세싱 장치 (52), 기준 서브프레임 제너레이터 (54), 여기 코딩 장치 (56), 및 비트 팩커 (58) 로 구성되어 있다. 인코더 (12) 의 포르만트 합성 필터는 인코더 (12) 의 다른 필터와 결합되고, (디코더 (16) 의 합성 필터 (26) 과 달리) 본 블록도에 상세히 나타내지 않았다.
입력 버퍼 (50) 는 ADC (10) 으로부터 제공된 디지탈 음성 샘플 (x(n)) 을 기억한다. 입력 음성 데이터 스트림 (x(n)) 의 240 샘플의 프레임이 축적되면, 버퍼 (50) 는 240 샘플 디지탈 입력 음성 프레임 (xB(n)) 의 형태로 입력 샘플 (x(n)) 을 제공한다.
음성 분석 및 프리프로세싱 장치 (52) 는 각 입력 음성 프레임 (xB(n)) 을 분석하고 음성 프레임 (xB(n)) 에 소정의 프로세싱 단계를 수행한다. 특히, 입력 음성 프레임 (xB(n)) 을 수신하면, 분석/프리프로세싱 장치 (52) 는 다음과 같은 동작을 수행한다 :
a. 음성 프레임 (xB(n)) 으로부터 소정의 DC 성분을 제거하여 240 샘플 DC 제거된 입력 음성 프레임 (xF(n)) 을 발생, b. 인코더 (12) 에 사용되는 다양한 필터 파라미터를 도출하는데 사용되는 양자화되지 않은 예측 계수 벡터 (AE) 추출하기 위하여 DC 제거된 입력 음성 프레임 (xF(n)) 에 LPC 분석을 수행, c. 양자화 되지 않은 예측 벡터 (AE) 양자화되지 않은 LSP 벡터 (PU) 로 변환, d. LSP 벡터 (PU) 를 양자화하고 양자화된 LSP 벡터를 24 비트수의 LSP 코드 (PE) 로 변환, e. b 동작에서 추출된 예측 벡터 (AE) 를 기초로 하여 포르만트 지각 가중 필터를 위한 파라미터 값을 계산, f. 240 샘플의 지각적으로 가중된 음성 프레임 (xp(n)) 을 발생시키기 위하여 포르만트 지각 가중 필터를 이용하여 DC 제거된 입력 음성 프레임 (xF(n)) 을 필터링, g. 개방 루프 피치 주기 (T1, T2) 를 추출, 여기서 T1는 각 음성 프레임의 전반부의 프레임 (첫번째 120 샘플) 에 대해 산정된 평균 피치 주기이고, T2는 각 음성 프레임의 후반부의 프레임 (마지막 120 샘플) 을 위하여 산정된 평균 피치 주기이다. h. g 동작에서 추출된 피치 주기 (T1, T2) 를 이용하여 고조파 잡음 형상 필터를 위한 파라미터 값을 계산, i. 지각 가중 필터의 캐스캐이드와 고조파 잡음 형상 필터에 DC 제거된 음성 프레임 (xF(n)) 을 인가하여 240 샘플의 지각적으로 가중된 음성 프레임 (xW(n))을 발생, j. 포르만트 합성 필터의 캐스캐이드, 지각 가중 필터 및 고조파 잡음 형상 필터로 구성된 결합 필터를 구성, k. 결합 포르만트 합성/ 지각 가중/ 고조파 잡음 형상 필터에 임펄스 신호를 인가하고, DC 제거된 음성 프레임 (xF(n)) 의 60 샘플 서브프레임에 대하여 첫 번째 60 샘플을 유지하여 임펄스 응답 서브프레임 (h(n)) 을 형성.
상술한 동작을 수행하는데 있어서, 분석/프리프로세싱 장치 (52) 는 제3도에서 가리키는 바와 같이 다음과 같은 출력 신호를 발생한다: (a) 개방 루프 피치 주기 (T1, T2), (b) LSP 코드 (PE), (c) 지각적으로 가중된 음성 프레임 (xW(n)), (d) 포르만트 합성/지각 가중/ 고조파 잡음 형상 필터를 특성화하는데 사용되는 파라미터값의 셋트 (SF), (e) 임펄스 응답 서브프레임 (h(n)). 피치 주기 (T1, T2), LSP 코드 (PE), 및 가중된 음성 프레임 (xW(n)) 은 각 240 샘플 음성 서브프레임마다 계산된다. 결합된 필터 파라미터 값 (SF) 과 임펄스 응답 (h(n)) 은 각 60 샘플 서브프레임마다 계산된다. 기억장치/디지탈 채널 (14) 에 기억 또는 전송 에러가 없는 경우에, 디코더 (16) 에 공급되는 LSP (PD) 는 인코더 (12) 에 의해 발생된 LSP 코드 (PE) 와 동일하다.
기준 서브프레임 제너레이터 (54) 는 가중된 음성 프레임 (xW(n)), 결합된 필터 파라미터 값 (SF) 및 복합 60 샘플 여기 서브프레임 (eE(n)) 에 응답하여 60 샘플 기준 (또는 타겟 서브프레임 (tA(n)) 을 발생한다. 기준 서브프레임 (tA(n)) 을 발생하는데 있어서, 서브프레임 제너레이터 (54) 는 다음과 같은 동작을 수행한다:
a. 각 가중된 음성 프레임 (xW(n)) 을 4 개의 60 샘플 서브프레임으로 분할, b. 각 서브프레임에 대하여, 제로 샘플 (즉, 제로값의 입력 신호) 을 결합된 필터에 공급하고 첫 번째 60 개의 필터링된 출력 샘플에 유지하므로써 결합된 포르만트 합성/지각 가중/고조파 잡음 형상 필터의 60 샘플 제로 입력 응답 (ZIR) 서브프레임 (r(n)) 을 계산, c. 각 서브프레임에 대하여, 샘플마다 가중된 음성 프레임 (xW(n)) 의 적절한 쿼터 (quarter) 로부터 대응하는 ZIR 서브프레임 (r(n)) 을 감산하므로써 기준 서브프레임 (tA(n)) 을 발생, d. 각 서브프레임에 대하여, 결합된 포르만트 합성/지각 가중/고조파 잡음 형상 필터에 복합 여기 서브프레임 (eE(n)) 을 인가하고, 그 결과를 기억하여 결합된 필터를 갱신.
피치 주기 (T1, T2), 임펄스 응답 서브프레임 (h(n)), 및 기준 서브프레임 (tA(n)) 은 여기 코딩 장치 (56) 에 공급된다. 응답에 있어서, 코딩 장치 (56)는 각 240 샘플 음성 프레임에 대한 적응 코드북 여기 파라미터의 한 셋트 (ACE) 와 각 프레임에 대한 고정 코드북 여기 파라미터의 한 셋트 (FCE) 를 발생한다. 블록 (14) 에 기억 또는 전송 에러가 없는 경우에, 디코더 (16) 의 여기 제너레이터 (24) 에 고급된 코드북 여기 파라미터 (ACD, FCD) 는 인코더 (12) 의 여기 코딩 장치 (56) 으로부터 공급된 코드북 여기 파라미터 (ACE, FCE) 와 각각 동일하다. 코딩 장치 (56) 는 또한 복합 여기 서브프레임 (eE(n)) 을 발생시킨다.
비트 팩커 (58) 는 LSP 코드 (PE) 와 여기 파라미터 셋트 (ACE, FCE) 을 결합하여 압축된 디지탈 음성 데이터 스트림 (xC) 를 발생한다. 상술한 동작의 결과로서, 데이터 스트림 (xC) 은 바람직한 응용에 의해 5.3 kbps 또는 6.3 kbps 로 발생된다.
압축된 비트스트림 (xC) 으로서 디코더 (16) 에 전송하기 위하여 기억 장치/ 통신 채널 (14) 에 압축된 데이터 스트림 (xC) 을 공급한다. LSP코드 (PE) 와 여기 파라미터 셋트 (ACE, FCE) 가 데이터 스트림 (xC) 을 형성하기 위하여 결합되므로, 데이터 스트림 (yc) 은 블록 (14) 에서 발생하는 기억 또는 전송 에러가 없으면, 데이터 스트림 (xC) 과 동일하다.
제4도는 음성 분석 및 프리프로세싱 장치 (52) 의 상세도이다. 분석 및 프리프로세싱 장치 (52) 는 고역 필터 (60), LPC 분석부 (62), LSP 양자화기 (64), LSP 디코더 (66), 양자화된 LSP 보간자 (68), 양자화되지 않은 LSP 보간자 (70), 지각적 가중 필터 (72), 피치 예측기 (74), 고조파 잡음 형상 필터 (76), 및 임펄스 응답 산출기 (78) 로 형성된다. 구성요소 (60, 66, 68, 72, 74, 76, 78) 는 바람직하게 1995년 7월 G.723 사양의 파라그래프 2.3 과 2.5 - 2.12 에 서술된 바와 같이 동작한다.
고역 필터 (60) 는 입력 음성 프레임 (xB(n)) 으로부터 DC 성분을 제거하여 DC 제거된 필터링된 음성 프레임 (xF(n)) 을 발생한다. 여기서, 각 입력 음성 프레임 (xB(n)) 및 각 필터링된 음성 프레임 (xF(n)) 에 대하여 n 은 0 에서 239 로 변화한다. 필터 (60) 는 다음의 z 변환 (H(z)) 을 갖는다:
[수학식 4]
LPC 분석부 (62) 는 각 필터링된 음성 프레임 (xF(n)) 에 선형 예측 부호 분석을 수행하는 필터링된 음성 프레임 (xF(n)) 의 마지막 서브프레임에 대한 10 개의 양자화되지 않은 예측 계수 {aj} 의 벡터 (AE) 를 발생한다. 여기서, j 는 1 부터 10 이다. 10 번째 LPC 분석은 180 샘플의 윈도우가 마지막 (xF(n)) 서브프레임상에 맞추어지도록 사용된다. 180 샘플에 해밍 윈도우 (Hamming window) 를 적용한다. 예측 계수 벡터 (AE) 의 10 개의 양자화되지 않은 계수 {aj} 는 윈도우 신호로부터 계산된다.
LPC 분석부 (62) 는 양자화되지 않은 예측 계수 {aj} 를 10 개의 항 {pj} 으로 구성된 양자화되지 않은 LSP 벡터 (PU) 로 변환한다. 여기서, j 는 1 부터 10 이다. 양자화되지 않은 LSP 벡터 (PU) 는 LSP 양자화기 (64) 와 양자화되지 않은 LSP 보간자 (70) 에 공급된다.
LSP 벡터 (PU) 가 수신되면, LSP 양자화기 (64) 는 10 개의 양자화되지 않은 항 {pj} 을 양자화하고 양자화된 LSP 데이터를 LSP 코드 (PE) 로 변환한다. LSP 양자화는 각 240 샘플 음성 프레임마다 수행된다. LSP 코드 (PE) 는 LSP 디코더 (66) 와 비트 팩커 (58)에 공급된다.
LSP 디코더 (66) 와 양자화된 LSP 보간자 (68) 은 디코더 (16) 의 각각 LSP 디코더 (32) 와 LSP 보간자 (34) 와 동일하게 동작한다. 특히, 구성요소 (66, 68) 는 LSP 코드 (PE) 를 현재의 프레임의 각 서브프레임 (i) 에 대한 4 개의 양자화된 예측 계수 벡터 {} 로 변환시킨다. 정수 (i) 는 0 부터 3 이다. 각 예측 계수 벡터 {} 는 10 개의 양자화된 예측 계수 {} 로 구성된다. 여기서, j 는 1 부터 10 이다.
각각의 양자화된 예측 벡터 () 를 발생하는데 있어서, LSP 디코더 (66) 는 먼저 LSP 코드 (PE)를 디코딩하여 10 개의 양자화된 LSP 항 {} 으로 구성된 양자화된 LSP 벡터 () 를 발생한다. 여기서, j 는 1 부터 10 이다. 현재의 음성 프레임의 각 서브프레임 (i) 에 대하여, 양자화된 LSP 보간자 (68) 는 현재의 프레임의 양자화된 LSP 벡터 () 와 이전 프레임의 양자화된 LSP 벡터 () 사이를 선형적으로 보간하여 10 개의 양자화된 LSP 항 {} 의 보간된 LSP 벡터 () 를 발생한다. 여기서, j 는 1 부터 10 이다. 4 개의 보간된 LSP 벡터 () 는 각 프레임에 대하여 발생된다. 여기서, i 는 0 부터 3 이다. 보간자 (28) 는 4 개의 LSP 벡터 () 각각을 4 개의 양자화된 예측 계수 벡터 () 로 변환한다.
인코더 (12) 의 포르만트 합성 필터는 양자화된 예측 계수 {} 를 이용하여 식 2 (상술함) 에 의해 정의된다. 선형 보간에 의해, 인코더의 합성 필터의 특성은 서브프레임으로부터 서브프레임으로 부드럽게 변화한다.
LSP 보간자 (70) 는 양자화되지 않은 LSP 벡터 (PU) 를 4 개의 양자화되지 않은 예측 계수 벡터 (AEi) 로 변환한다. 여기서, i 는 0 부터 3 이다. 하나의 양자화되지 않은 예측 계수 벡터 (AEi) 는 현재의 프레임의 각 서브프레임 (i) 에 대하여 산출된다. 각 예측 계수 벡터 (AEi) 는 10 개의 양자화되지 않는 예측 계수 {aij} 로 구성된다. 여기서, j 는 1 부터 10 이다.
4 개의 양자화되지 않은 예측 계수 벡터 (AEi) 를 발생하는데 있어서, LSP 보간자 (70) 는 현재의 프레임의 양자화되지 않은 LSP 벡터 (PU) 와 이전의 프레임의 양자화되지 않은 LSP 벡터 (Pu) 사이를 보간하여 각 서브프레임 (i) 에 대한 4 개의 보간된 LSP 벡터 (PEi) 를 발생한다. 정수 (i) 는 0 부터 3 이다. 각 보간된 LSP 벡터 (PEi) 는 10개의 양자화되지 않은 LSP 항 {pij} 으로 구성되고, 여기서 j는 1부터 10 이다. 보간자 (70) 는 4 개의 보간된 LSP 벡터 (PEi) 각각을 4 개의 양자화되지 않은 예측 계수 벡터 (AEi) 로 변환한다.
양자화되지 않은 예측 계수 {aij} 를 이용하여, 지각적 가중 필터 (72) 는 각 DC 제거된 음성 프레임 (xF(n)) 을 필터링하여 지각 가중된 240 샘플 음성 프레임 (xP(n)) 을 발생시키는데, 여기서 n 은 0 부터 239 이다. 지각적 가중 필터 (72) 는 지각적으로 가중된 음성 프레임 (xP(n)) 의 각 프레임 (i) 에 대한 다음의 z 변환 (Wi(z)) 를 갖는다:
[수학식 6]
여기서, γ1는 0.9 상수이고, γ2는 0.5 상수이다. 전체 프레임에 대한 지각적으로 가중된 음성 프레임 (xP(n)) 을 발생시키는데 있어서 양자화되지 않은 예측 계수 {aij} 가 매 서브프레임 (i) 마다 갱신된다.
피치 예측기 (74) 는 각각의 지각적으로 가중된 음성 프레임 (xP(n)) 을 전반부 프레임 (첫 번째 120 샘플) 과 후반부 프레임 (마지막 120 샘플) 로 분할한다. 피치 예측기 (74) 는 전반부 프레임의 120 샘플을 이용하여 개방 루프 피치 주구 (T1) 동안 예측을 계산한다. 예측기 (74) 는 마찬가지로 후반부 프레임을 이용하여 개방 루프 피치 주기 (T2) 를 예측한다. 각각의 지각적으로 가중된 음성 프레임 (xP(n)) 의 개방 루프 예측 에러의 에너지를 최소화하므로써 피치 주기 (T1, T2) 가 발생된다.
고조파 잡음 형상 필터 (76) 는 각각의 지각적으로 가중된 음성 프레임 (xP(n)) 고조파 잡음 형상을 인가하여 240 샘플 가중된 음성 프레임 (xW(n)) 을 발생한다. 여기서 n 은 0, 1, …239 이다. 고조파 잡음 형상 필터 (76) 는 가중된 음성 프레임 (xW(n)) 의 각각의 서브프레임 (i) 를 위한 다음의 z 변환 (Pi(z)) 를 갖는다 :
[수학식 7]
여기서, Li는 개방 루프 피치 래그 (lag) 이고, βi는 잡음 형상 계수이다. 개방 개방 루프 피치 래그 (Li) 와 잡음 형상 계수(βi) 는 가중된 음성 프레임 (xW(n)) 을 발생하는데 있어서 매 서브프레임 (i) 마다 갱신된다. 파라미터 (Li와 βi) 는 지각적으로 가중된 음성 프레임 (xP(n)) 의 대응 쿼터로부터 계산된다.
압축된 데이터 스트림 (xc) 에 의해 표시되는 음성의 통신 품질을 개선하기 위하여 지각적으로 가중된 필터 (72) 와 고조파 잡음 형상 필터 (76) 가 함께 동작한다. 특히, 필터 (72 와 76) 는 다른 주파수 영역에서 잡음에 대한 인간의 귀의 불균일한 감도를 이용한다. 필터 (72, 76) 는 음성 에너지가 낮은 주파수 영역에서 양자화된 잡음 에너지를 감소시키고, 음성 에너지가 높은 주파수 영역에서 더 큰 잡음을 허용한다. 인간의 귀에 대한 네트 (net) 의 효과는 압축된 데이터 스트림 (xc) 에 의해 표시되는 음성이 입력 음성 파형 샘플 (x(n)) 과 아날로그 입력 음성 신호 (x(t)) 에 의해 표시되는 음성과 같은 사운드로 인식된다.
지각적으로 가중된 필터 (72), 고조파 잡음 형상 필터 (76), 및 인코더의 포르만트 합성 필터가 함께 상술한 조합 필터를 형성한다. 각각의 서브프레임 (i) 에 대하여, 임펄스 응답 산출기 (78) 는 다음과 같은 임펄스 입력 신호 (ii(n)) 에 대한 포르만트 합성/지각적인 가중/고조파 잡음 형상 필터의 응답 (h(n)) 을 계산한다:
[수학식 8]
결합된 필터는 임펄스 응답 서브프레임 (h(n)) 의 각각의 서브프레임에 대한 다음의 z 변환 (Si(z)) 을 갖는다:
[수학식 9]
여기서, 변환성분 (, Wi(z), Pi(z)) 은 식 2, 6, 7 에 의해 주어진다. 결합된 필터의 수치 파라미터는 임펄스 응답 산출기 (78) 에서 갱신된 각각의 서브프레임이다.
제4도에 있어서, 편의상, 기준 신호 (Wi(z), Pi(z)) 이 사용되어 필터 (72, 76) 의 필터링 특성을 나타내는 신호를 가리킨다. 이들 신호와 4 개의 양자화된 예측 벡터 () 는 함께 각 음성 프레임에 대한 결합된 필터 파라미터 셋트 (SF) 를 형성한다.
기준 서브프레임 제너레이터 (54) 는 제5도에 나타내었다. 서브프레임 제너레이터 (54) 는 제로 입력 응답 제너레이터 (82), 감산기 (84), 메모리 갱신부 (86) 로 구성된다. 구성요소 (82, 84, 86)은 바람직하게 1995년 7 월 G.723 사양의 파라그래프 2.13 과 2.19 에 서술된 바와 같이 수행된다.
필터의 응답은 제로 입력 응답 (“ZIR”) 부와 제로 상태 응답 (“ZSR”) 부로 분할될 수 있다. ZIR 부는 제로값의 입력 샘플이 필터에 제공될 때 발생하는 응답이다. ZIR 부는 필터의 메모리 (음성 정보 전) 의 내용을 변화시킨다. ZSR 부는 필터가 여기되지만 메모리가 없을 때 발생하는 응답이다. ZIR 과 ZSR 부의 합은 필터의 전체 응답을 구성한다.
각 서브프레임 (i) 에 대하여 ZIR 제너레이터 (82) 는 식 9 의 z 변환의 (Si(z)) 에 의해 나타내는 결합된 포르만트 합성/지각적인 가중/고조파 잡음 형상 필터의 60 샘플 제로 입력 응답 서브프레임 (r(n)) 을 계산한다. 여기서, n 은 0 부터 59 로 변화한다. 감산기 (84) 는 샘플마다 가중된 음성 프레임 (xw(n)) 의 대응하는 쿼터로부터 각각의 ZIR 서브프레임 (r(n)) 을 감산하여 다음의 관계식에 의한 60 샘플 기준 서브프레임 (tA(n)) 을 생성한다 :
[수학식 10]
각 서브프레임 (i) 에 대한 결합된 포르만트 합성/지각적인 가중/고조파 잡음 형상 필터의 전체 응답은 각 서브프레임 (i) 에 대한 ZIR 과 ZSR 부의 합이므로, 기준 서브프레임 (tA(n)) 은 결합된 필터의 타겟 ZSR 서브프레임이다.
타겟 ZSR 서브프레임 (tA(n)) 이 각각의 서브프레임에 대하여 산출된 후에, 다음 프레임으로 가기 전에 메모리 갱신부 (86) 는 결합된 Si(n) 필터내의 구성요소 필터의 메모리를 갱신한다. 60 샘플 복합 여기 서브프레임 (eE(n)) 을 결합된 필터에 입력하여 필터 응답의 계산된 메모리 정보 (sM(n)) 을 다음의 서브프레임에 대한 ZIR 제너레이터 (82) 에 공급함으로써 갱신부 (86) 의 임무가 수행된다.
여기 코딩 장치 (56) 는 제9도를 참조하여 이하에 서술할 방법에 의해 60 샘플 적응 여기 서브프레임 (uE(n)) 과 60 샘플 고정 여기 서브프레임 (vE(n)) 의 합으로 각 60 샘플 복합 여기 서브프레임 (eE(n)) 을 계산한다. 적응 여기 서브프레임 (uE(n)) 은 입력 음성 파형 샘플 (x(n)) 의 주기성에 관련되고, 고정 여기 서브프레임 (vE(n)) 은 입력 음성 파형 샘플 (x(n)) 의 비주기성에 관련된다. 제6도에 나타낸 바와 같이, 코딩 장치 (56) 는 적응 코드북 탐색 장치 (90), 고정 코드북 탐색 장치 (92), 여기 파라미터 저장기 (94), 및 여기 제너레이터 (96) 로 구성된다.
임펄스 응답 서브프레임 (h(n)), 타겟 ZSR 서브프레임 (tA(n)), 및 여기 서브프레임 (eE(n)) 이 적응 코드북 탐색 장치 (90) 에 공급된다. 이 정보의 수신시, 적응 코드북 탐색 장치 (90) 는 각각의 서브프레임 (i) 에 대하여, 최적의 폐루프 정수 피치 주기 () 및 피치 계수 벡터의 대응하는 최적의 페루프 인덱스 ()을 확인하기 위하여 탐색 장치 (90) 의 코드북을 찾는데 개방 루프 피치 주기 (T1, T2) 를 이용한다. 여기서, i 는 0 부터 3 이다. 각각의 서브프레임 (i)에 대하여, 최적의 폐루프 피치 주기 () 및 대응하는 최적의 피치 계수 () 는 적응 여기 서브프레임 (uE(n)) 을 발생시키는 데 사용된다. 탐색 장치 (90) 는 또한 추가의 60 샘플 기준 서브프레임 (tB(n)) 을 산출한다. 여기서, n 은 각각의 기준 서브프레임 (tB(n)) 에 대하여 0 부터 59 까지 변화한다.
고정 코드북 탐색 장치 (92) 는 기준 서브프레임 (tB(n)) 을 프로세싱하여 각각의 음성 프레임에 대한 고정 여기 서브프레임 (vE(n)) 을 나타내는 파라미터 값의 셋트 (FE) 를 발생시킨다. 임펄스 응답 서브프레임 (h(n)) 은 또한 고정 여기 파라미터 셋트 (FE) 를 발생시키는데 사용된다.
여기 파라미터 저장기 (94) 는 일시적으로 파라미터 () 를 저장한다. 적당한 시간에, 파라미터 저장기 (94) 는 파라미터 셋트 (ACE, FCE)의 형상으로 저장된 파라미터를 출력한다. 각각의 음성 프레임에 대하여, 파라미터 셋트 (ACE) 는 4 개의 최적의 피치 주기 () 와 4 개의 최적의 피치 계수 인덱스 () 의 결합이다. 여기서, i 는 0 부터 3이다. 파라미터 셋트 (FCE) 는 파라미터 셋트 (FE) 의 저장된 값이다. 파라미터 (ACE, FCE) 는 비트 팩커 (58) 에 공급된다.
여기 제너레이터 (96) 는 적응 여기 파라미터 셋트 (ACE) 를 적응 여기 서브 프레임 (uE(n)) (제6도에 도시하지 않음) 으로 변환한다. 여기서, n 은 각각의 서브 프레임 (uE(n)) 에 대하여 0, 1, …59 와 동일하다. 마찬가지로, 고정 여기 파라미터 셋트 (FCE) 는 여기 제너레이터 (96) 에 의해 고정 여기 서브프레임 (vE(n))(또한 제6도에 도시하지 않음) 으로 변환된다. 여기서, n 은 각 서브프레임 (vE(n)) 에 대하여 0, 1, …59 와 동일하다. 여기 제너레이터 (96) 은 각쌍의 대응 서브프레임 (uE(n), vE(n))을 결합하여 다음과 같은 복합 여기 서브프레임 (eE(n))을 발생시킨다. 적응 코드북 탐색 장치 (90) 로 피드백하는 것에 더하여 여기 서브프레임 (eE(n)) 은 기준 서브프레임 제너레이터 (54) 의 메모리 갱신부 (86) 로 제공된다.
적응 여기 코드북 탐색 장치 (90) 의 내부 구성은 제7도에 나타내었다. 탐색 장치 (90) 는 3 개의 코드북을 포함한다. (a) 적응 여기 코드북 (102), 선택 적응 여기 코드북 (104), 피치 계수 코드북 (106). 탐색 장치 (90) 의 나머지 구성요소는 피치 계수 스케일러 (108), 제로 상태 응답 필터 (110), 감산기 (112), 에러 제너레이터 (114), 및 적응 여기 셀렉터 (116) 이다.
적응 여기 코드북 (102) 은 바로 직전의 eE(n) 샘플을 저장한다. 즉, 현재의 음성 서브프레임의 첫 번째 샘플을 위한 시간 인덱스가 n 을 위한 제로값에 의해 표현되면, 적응 여기 코드북 (102) 은 여기 샘플 (e(-N), e(-N+1), … e(-1)) 을 포함한다. 적응 여기 코드북 (102) 에 저장된 여기 샘플 (eE(n)) 의 수 (N) 은 최대 피치 주기를 초과하는 값으로 셋트된다. 음성 탐색에 의해 결정된 바와 같이, N 은 일반적으로 145 - 150 이고, 바람직하게는 145 이다. 여기 샘플 (e(-N) - e(-1) 은 바로 직전의 3 개의 여기 서브프레임 (eE(n)) 으로부터 유지된다. 여기서, n 은 이들 eE(n) 각각의 서브프레임내에 0 부터 59 까지 실행한다. 제7도의 기준 기호 () 는 코드북 (102) 으로부터 판독된 (e(n)) 을 가리키기 위하여 사용된다. 여기서, n 은 0 부터 63 까지 실행한다.
선택 적응 여기 코드북 (104) 은 적응 여기 코드북 (102) 에 저장된 (e(n)) 샘플로부터 형성된 후보 적응 여기 벡터() 를 몇 개, 일반적으로 2 내지 4 개 포함한다. 각각의 후보 적응 여기 벡터()는 64 샘플()을 포함하므로, 여기 서브프레임 (eE(n)) 보다 약간 넓다. 정수 피치 주기 (l) 은 각각의 부호 적응 여기 벡터() 와 관련된다. 특히, 각각의 후보 벡터() 는 다음과 같다.
[수학식 11]
여기서, “mod” 는 n mod 1 이 n 을 1 로 나누었을 때 발생하는 나머지인 모듈 동작이다.
후보 적응 여기 벡터() 는 그들의 정수 피치 주기 (l) 에 의해 결정된다. 본 코더가 6.3 kbps 속도로 동작하면, 피치 주기 (l) 의 후보 값은 표시된 조건을 만나는 서브프레임 수 (i) 의 함수로서 표 1과 같다;
각 서브프레임 (i) 에 대하여 표 1 에 주어진 상태는 코더가 6.3 kbps 에서 동작할 때 충족하지 않으면, 정수 피치 주기 (l) 의 후보값은 표시된 조건에 의존 하여 서브프레임 수 (i) 의 함수로서 표 2 와 같이 주어진다;
표 2 에 있어서, 각각의 조건은 조건 (A) 와 서브프레임 (1 과 3) 을 위한 조건 (B) 로 구성된다. 조건 (B) 가 존재하면, 조건 (A, B) 은 피치 주기 (l) 의 후보값을 결정하기 위하여 충족되어야 한다.
표 1 과 2 의 비교는 표 2 의 서브프레임 (0) 에 대한 피치 주기 (l)의 후보 값이 표 1 과 동일하다는 것을 나타낸다. 표 1 과 2 의 서브프레임 (0) 에 대하여, 적당한 조건 (T1< 58 또는 T2> 57) 을 충족하는 것은 후보 피치 주기의 선택에 영향을 주지 않는다. 마찬가지로, 표 2의 서브프레임 (2) 에 대한 피치 주기 (l) 의 후보값은 표 1 과 동일하다. 표 1 과 2 의 서브프레임 (2) 에 대한 조건 (T2< 58 또는 T2> 57) 을 충족하는 것은 후보 피치 주기의 선택에 영향을 주지 않는다. 그러나, 이하 설명하는 바와 같이, 각 서브프레임 (i) 에 대한 최적의 피치 계수 인덱스 () 는 표 1 또는 2 가 사용되는 가에 따라 피치 계수 인덱스의 2 개의 다른 표중에 하나가 선택된 것이다. 서브프레임 (0, 2) 을 포함하는 각각의 서브프레임에 대한 조건은 4 개의 모든 서브프레임을 위한 피치 계수 인덱스 () 의 결정에 영향을 준다.
본 코더가 5.3 kbps 의 속도에서 동작하면, 서브프레임 (i) 의 함수로서 정수 피치 주기 (l) 에 대한 후보값은 조건 (B)( 즉, 서브프레임 (1) 을 위한 T0, T1에 관련된 조건과 서브프레임 (3) 을 위한 T2, T2에 관련된 조건) 에만 의존하는 표 2 로부터 결정된다. 표 2 의 조건 (A) 은 코더가 5.3 kbps 속도로 동작할 때 후보 피치 주기를 결정하는데 사용되지 않는다.
표 1 과 2 에 있어서, T1과 T2는 제 1 과 제 2 반프레임을 위한 음성 분석 및 프리프로세싱 장치 (52) 로부터 선택된 적응 여기 코드북 (104) 에 제공된 개방 루프 피치 주기이다. 서브프레임 (1) 을 위하여 사용되는 항목 () 은 서브 프레임 (0) 의 최적의 폐루프 피치 주기이다. 서브프레임 (3) 을 위하여 사용되는 항목 () 은 서브프레임 (2) 의 최적의 폐루프 피치 주기이다. 최적의 폐루프 피치 주기 () 는 이하 설명할 방법으로 각각의 프레임의 서브프레임 (0,2) 동안 각각 계산되어 각각 서브프레임 (1,3) 에 사용된다.
표 1 과 2 에 나타낸 바와 같이, 제 1 과 3 서브프레임을 위한 피치 주기 (l) 을 위한 후보 값은 각각 개방 루프 피치 주기 (T1, T2) 에 중심이 맞추어진다. 제 2 와 제 4 의 서브프레임을 위한 피치 주기 (l) 의 후보 값은 각각 직전의 (제 1 과 제 3) 서브프레임의 최적의 폐루프 피치 주기 () 에 중심이 맞추어진다. 중요하게, 표 2 의 후보 피치 주기는 서브프레임 (1, 3) 을 위한 표 1 의 서브셋트이다.
G.723 디코더는 5.3 kbps 와 6.3 kbps 데이터 속도에 대한 표 1 에 사용된다. 압축된 음성 데이터 스트림 (xc) 을 발생시키기 위하여 필요한 계산량은 시험해야 하는 부호 피치 주기 (l) 의 수에 의존한다. 표 2 는 표 1 보다 더 후보 피치 주기의 수를 제한한다. 따라서, 표 2 가 사용되면 계산이 덜 필요하다. 표 2 는 본 코더에서 항상 5.3 kbps 속도용으로 사용되고 본 발명의 코더의 6.3 kbps 에서 음성 처리의 부분동안 사용되므로, 본 코더의 후보 피치 주기를 포함하는 계산은 계산력에 있어서 G.723 코더보다 20 % 적게 필요로 한다.
피치 계수 코드북 (106) 은 미리 선택된 피치 계수 벡터 (Bk) 의 2 개의 표 (또는 서브코드북) 를 포함한다. 여기서, k 는 정수 피치 계수 인덱스이다. 각각의 피치 계수 벡터 (Bk) 는 5 개의 피치 계수 (bk0, bk1, … bk4) 를 포함한다.
피치 계수 벡터 (Bk) 의 표중의 하나는 85 엔트리 (entry) 를 포함한다. 피치 계수 벡터 (Bk) 의 다른 표는 170 엔트리를 포함한다. 피치 계수 인덱스 (k) 는 85 엔트리 그룹에 대해 0 부터 84 까지 실행하고 170 엔트리 그룹을 위해 0 부터 169 까지 실행한다. 피치 주기 (l) 의 후보 값이 표 1 로부터 선택될 때, 즉, 본 코더가 표 1 에 표시된 조건을 충족하면 6.3 kbps 에서 동작할 때 85 엔트리 표가 사용된다. 피치 주기 (l) 의 후보 값이 표 2 로부터 선택될 때, 즉, (a) 코더가 5.3 kbps 에서 동작하고, (b) 코더가 표 2 에 표시된 조건을 충족하면 6.3 kbps 속도에서 동작할 때 170 엔트리 표가 이용된다.
적응 여기 코드북 탐색 장치 (90) 의 구성요소 (108 - 116) 는 다음과 같은 방법으로 코드북 (102 - 106) 을 사용한다. 후보 정수 피치 주기 (l) 에 대응하는 n 이 0 부터 63 까지 변화하는 각각의 후보 적응 여기 벡터 () 와 각각의 피치 계수 인덱스 (k) 에 대하여, 피치 계수 스케일러 (108) 는 스케일링된 후보 서브프레임 (d1k(n)) (n 은 0 부터 59 까지 변화) 을 발생시킨다. 각각의 스케일링 후보 서브프레임 (d1k(n)) 은 다음과 같이 계산된다:
[수학식 12]
계수 (bk0- bk4) 는 피치 주기 (l) 의 후보 값이 표 1 또는 2 로부터 결정되는지에 의해 피치 계수 코드북 (106) 의 85 엔트리 또는 170 엔트리 표로부터 제공된 피치 계수 벡터 (Bk) 의 계수이다. 각 서브프레임 (i) 에 대한 몇 개의 대응하는 후보 피치 주기 (l) 가 존재하기 위하여 각 서브프레임 (i) 에 대한 몇 개의 후보 적응 여기 벡터가 있고 피치 계수 인덱스 (k) 의 85 또는 170 값이 있으므로, 스케일링 된 후보 서브프레임 (d1k(n)) 의 비교적 큰 수 (100 이상) 는 각 서브프레임 (i) 에 대하여 계산된다.
ZSR 필터 (110) 는 식 9 의 z 변환 (Si(z)) 에 의해 표현된 결합된 포르만트 합성/지각적인 가중/고조파 잡음 형상 필터에 제로 상태 응답을 제공한다. 음성 분석 및 프리프로세싱 장치 (52) 로부터 제공된 임펄스 응답 서브프레임 (h(n)) 을 이용하여, ZSR 필터 (110) 은 각각의 스케일링된 서브프레임 (d1k(n)) 을 필터링하여 대응하는 필터링된 60 샘플 후보 서브프레임 (g1k(n))(n 은 0 부터 59 까지 실행한다) 을 발생시킨다. 각각의 필터링된 서브프레임 (g1k(n)) 은 다음과 같이 주어진다:
[수학식 13]
후보 적응 여기 ZSR 서브프레임으로서 언급되는 각각의 필터링된 서브프레임 (g1k(n)) 은 피치 주기 (l) 와 피치 계수 인덱스 (k) 에 관련된 적응 여기 서브프레임에 의해 여기된 결합된 필터의 ZSR 서브프레임이다. 각각의 후보 적응 여기 ZSR 서브프레임 (g1k(n)) 은 1 과 k 값을 위한 결합된 필터의 ZSR 서브프레임의 주기적 구성요소이다. 각각의 서브프레임 (i) 은 몇개의 후보 피치 주기 (l) 와 피치 계수 인덱스 (k) 를 위한 85 또는 170 수를 가지므로, 후보 적응 여기 ZSR 서브프레임 (g1k(n)) 의 비교적 큰 수는 각 서브프레임 (i) 에 대해 계산된다.
감산기 (112) 는 샘플마다 타겟 ZSR 서브프레임 (tA(n)) 으로부터 각 후보 적응 여기 ZSR 서브프레임 (g1k(n)) 을 감산하여 대응하는 60 샘플 후보의 차 서브 프레임 (w1k(n)) 을 생성한다:
[수학식 14]
서브프레임 (d1k(n), g1k(n)) 과 마찬가지로, 차 서브프레임 (w1k(n)) 의 비교적 큰 수는 각 서브프레임 (i) 에 대해 계산된다.
각 후보의 차 서브프레임 (w1k(n)) 의 수신시, 에러 제너레이터 (114) 는 다음과 같은 관계에 의한 대응하는 제곱된 에러 (또는 에너지) (E1k) 을 계산한다 :
[수학식 15]
선택된 적응 여기 코드북 (104) 에 저장된 각 후보 적응 여기 벡터 () 와 표 1 과 2 에 주어진 6.3 kbps 에 대한 피치 조건과 데이터 전송 속도에 의존하는 피치 계수 코드북 (106) 의 85 엔트리 표 또는 계수 코드북 (106) 의 170 엔트리 표에 저장된 각 피치 계수 벡터 (Bk) 에 대해 제곱된 에러 (E1k) 의 계산이 수행된다.
제곱된 에러 (E1k) 의 계산된 값은 적응 여기 셀렉터 (116) 에 공급된다. 정수 피치 주기 (l) 과 피치 계수 인덱스 (k) 에 관련된 값은 코드북 (102, 106) 으로부터 각 서브프레임용 여기 셀렉터 (116)로 제공된다. 여기서, i 는 0 부터 3 까지 변화한다. 응답에 있어서, 셀렉터(116) 는 최적의 폐루프 피치 주기 () 와 각 서브프레임 (i) 용 피치 계수 인덱스 () 를 선택하여 제곱된 에러 (또는 에너지) () 가 서브프레임 (i) 에 대하여 계산된 모든 제곱된 에러 항목 () 의 최소값을 갖도록 한다. 최적의 피치 주기 () 와 최적의 피치 계수 인덱스 () 는 셀렉터 (116) 으로부터의 출력으로서 제공된다.
셀렉터 (116) 에 공급된 후보 차 서브프레임 (w1k(n)) 중에서, 각 서브프레임 (i) 에 대한 선택된 피치 주기 () 와 선택된 피치 인덱스 계수 () 에 대응하는 최적의 차 서브프레임 () 이 추가의 기준 서브프레임 (tB(n)) 으로서 셀렉터 (116) 로부터 제공된다. 후보 적응 여기 ZSR 서브프레임 (g1k(n)) 을 되돌아보면, 최적의 차 서브프레임과 기준 서브프레임 (tB(n)) 에 대응하는 서브프레임 () 은 최적의 적응 여기 서브프레임이다. 상술한 바와 같이, 각 ZSR 서브 프레임 (g1k(n)) 은 관련된 피치 주기 (l) 와 피치 계수 인덱스 (k) 를 위한 결합된 포르만트 합성/ 지각적 가중/고조파 잡음 형상 필터의 주기적인 ZSR 서브프레임이다. 전체의 서브프레임은 주기 부분과 비주기 부분의 합으로서 근사화될 수 있다. 타겟 고정 여기 ZSR 서브프레임으로서 언급되는 기준 서브프레임 (tB(n)) 은 대략 결합된 필터의 최적의 비주기 ZSR 서브프레임이다.
이하 설명하는 바와 같이, 여기 제너레이터 (96) 는 파라미터 () 를 포함하는 적응 여기 파라미터 셋트 (ACE) 에 기초하여 각 적응 여기 서브프레임 (uE(n)) 을 찾는다. 여기서, i 는 0 부터 3 까지 변화한다. 파라미터 () 를 발생시키므로써, 적응 코드북 탐색 장치 (90) 는 G.723 코더의 적응 코드북 탐색 장치와 동일한 포맷의 정보를 제공하여 본 코더가 G.723 코더와 호환이 가능하게 한다. 중요하게, 본 코더의 탐색 장치 (90) 는 G.723 적응 코드북 장치에 사용된 계산력보다 적은 계산력을 사용한정보를 결정하여 그러한 정보를 발생시킨다.
고정 코드북 탐색 장치 (92) 는 고정 코드북 파라미터 셋트 (FCE) 를 발생하기 위하여 최대화 상관 기술을 사용한다. 상관 기술은 서브프레임 (vE(n)) 에 대응하는 고정 여기 서브프레임을 산출하기 위한 정보를 발생시키기 위하여 G.723 인코더에 사용되는 에너지 에러 최소화 기술보다 적은 계산력이 일반적으로 90 % 덜 필요로 한다. 본 코더의 탐색 장치 (92) 에 사용되는 상관 기술은 고정 여기 서브프레임 (vE(n)) 을 위한 실제적으로 최적의 특성을 산출한다. 또한, 본 코더가 G.723 코더와 호환할 수 있게 하기 위하여, 탐색 장치 (92) 에 의해 공급된 정보는 G.723 코더의 고정 여기 서브프레임을 발생시키기 위해 사용된 정보와 동일한 포맷이다.
각 고정된 여기 서브프레임 (vE(n)) 은 M 여기 펄스 (비제로 값) 을 포함한다. 여기서, M 은 미리 정의된 정수이다. 본 코더가 6.3 kbps 에서 동작하면, 짝수 서브프레임 (0 과 2) 의 펄스 수(M) 는 6 이고, 홀수 서브프레임 (1 과 3 ) 의 펄스 수는 5 이다. 코더가 5.3 kbps 에서 동작하면, 모든 서브프레임의 펄스 수 (M) 은 4 이다. 각 고정 여기 서브프레임 (vE(n)) 은 6.3 kbps 속도에서의 5 개 또는 6 개의 펄스와 5.3 kbps 속도에서의 4 개의 펄스를 포함한다.
식을 형성하는데 있어서, 각각의 고정 여기 서브프레임 (vE(n)) 은 다음과 같다:
[수학식 16]
여기서, G 는 고정 여기 서브프레임 (vE(n)) 의 양자화된 이득이고, mj은 고정 여기 서브프레임의 j 번째 여기 펄스의 정수 위치를 나타내고, sj는 j 번째 펄스의 부호 (양부호는 +1, 음부호는 -1) 를 나타내고, δ(n-mj) 은 다음과 같은 다이랙 델타(Dirac delta) 함수이다:
[수학식 17]
각 정수 펄스 위치 (mj) 는 미리 정의된 정수 펄스 위치의 셋트 (Kj) 로부터 선택된다. 1995년 7월 G.723 사양에서 5.3 kbps 와 6.3 kbps 데이터 속도에 대하여 이 Kj위치를 설정하였다. 여기서, j 는 1 부터 m 이다.
고정 코드북 탐색 장치 (92) 는 본 발명의 최대화 상관 기술을 사용하여 각각의 최적의 고정 여기 서브프레임 (vE(n)) 에 대한 펄스 위치 (mj) 와 펄스 부호 (sj) 를 결정한다. 여기서, j 는 1 부터 M 이다. 고정 여기 파라미터를 선택하기 위한 기준 (criteria) 이 타겟 고정 여기 ZSR 서브프레임과 정규화된 고정 여기 합성 서브프레임 사이의 에러의 에너지를 최소화하는데 기초가 되는 G.723 코더와 달리, 탐색 장치(92) 의 고정 여기 파라미터를 선택하기 위한 기준은 각각의 타겟 고정 여기 ZSR 서브프레임 (tB(n)) 과 대응하는 60 샘플 정규화된 고정 여기 합성 서브프레임 (q(n)) (여기서, n 은 0 부터 59 사이이다) 사이의 상관 관게를 최대화하는 것에 기초한다.
타겟 고정 여기 ZSR 서브프레임 (tB(n)) 과 대응하는 정규화된 고정 여기 합성 ZSR 서브프레임 (q(n)) 사이의 상관관계 (C) 는 다음과 같이 수치적으로 계산된다:
[수학식 18]
정규화된 고정 여기 ZSR 서브프레임 (q(n)) 은 고정 여기 서브프레임 (vE(n)) 을 형성하기 위해 사용될 수 있는 여기 펄스의 위치 (mj) 와 부호 (sj) 에 의존한다. 여기서, J 는 0, 1, … M 과 동일하다. 고정 코드북 탐색 장치 (92) 는 식 18 의 상관 관계 (C) 가 각 서브프레임 (i) 을 위한 최대 값에 도달하도록 펄스 위치 (mj) 와 펄스 부호 (sj) 를 선택한다.
본 발명의 기술에 의하면, 식 18 의 형태는 상관 관계 산출을 간략화하도록 수정된다. 먼저, 고정 여기 서브프레임 (vE(n)) 의 정규화된 버전 (c(n)) 이 이득 스케일링이 없이 다음과 같이 정의된다:
[수학식 19]
정규화된 고정 여기 서브프레임 (c(n)) 과 결합된 포르만트 합성/지각적 가중/고조파 잡음 형상 필터의 대응 임펄스 응답 서브프레임 (h(n)) 사이의 선형 컨볼루션 (convolution) 을 수행함으로써 정규화된 고정 여기 합성 서브프레임 (q(n)) 이 다음과 같이 계산된다:
[수학식 20]
각 60 샘플 서브프레임에 대하여, 정규화된 고정 여기 ZSR 서브프레임 (q(n)) 은 여기 서브프레임을 임펄스 응답 서브프레임 (h(n)) 에 의해 표현된 결합된 필터에 공급함으로써 생성된 ZSR 서브프레임을 구성한다.
제20도의 정규화된 고정 여기 ZSR 서브프레임 (q(n)) 을 제18도에 대체할때, 상관관계 (C) 는 다음과 같이 표현 될 수 있다:
[수학식 21]
여기서 f(n) 은 역필터링된 서브프레임으로서, n 은 0 부터 59 이다. 다음과 같은 관계에 따라 타겟 고정 여기 ZSR 서브프레임 (tB(n)) 을 역필터링함으로써 역필터링된 서브프레임이 계산된다:
[수학식 22]
식 19 의 정규화된 고정 여기 서브프레임 (c(n)) 을 식 21 에 대체하여 상관 관계 (C) 에 대한 다음과 같은 관계를 유도하였다:
[수학식 23]
식 23 의 간략화는 각 위치 (mj) 에서 펄스의 부호 (sj) 가 대응하는 역 필터링 된 샘플 (f(mj)) 의 부호에 동일하도록 선택되어야 한다. 상관관계 (C) 는 다음과 같이 표현된다:
[수학식 24]
여기서, |f(mj)| 필터링된 샘플 (f(mj)) 의 절대값이다.
식 24 의 상관 관계 (c) 를 최대화하는 것은 식 24 의 합의 개별 항목을 각각을 최대화하는 것과 동등하다. 상관 관계 (C) 의 최대값 (maxC) 는 다음과 같다:
[수학식 25]
결과적으로, 펄스 위치 (mj) 에 대한 역필터링된 샘플 크기 (|f(mj)| ) 가 최대화되도록, 미리 정의된 위치의 대응하는 셋트 (kj) 로부터 각각의 펄스 위치 (mj) 을 선택하므로써 각각의 서브프레임 (i) 에 대한 최적 펄스 위치 (mj) (여기서, j 는 1 부터 M 이다) 는 각각의 서브프레임 (i) 를 확인한다.
고정 코드북 탐색 장치 (92) 는 타겟 고정 여기 ZSR 서브프레임 (tB(n)) 과 대응하는 정규화된 고정 여기 합성 ZSR 서브프레임 (q(n)) 사이의 상관 관계를 최대화하기 위한 상술한 기술을 수행한다. 탐색 장치 (92) 의 내부 구성은 제8도에 나타내었다. 탐색 장치 (92) 는 펄스 위치표 (122), 역필터 (124), 고정 여기 셀렉터 (126), 및 양자화된 이득표 (128) 로 구성된다.
펄스 위치표 (122) 는 펄스 위치 (mj) 의 셋트 (kj)를 저장한다. 여기서, 각각의 2 개의 데이터 전송 속도에 대하여 j 는 1 부터 M 까지이다. 코더가 6.3 kbps 의 속도로 동작할 때 M 은 5 또는 6 이므로, 위치표 (122) 는 6.3 kbps 속도에 대한 6 개의 펄스 위치 셋트 (K1, K2, … K6) 를 포함한다. 위치표 (122) 는 5.3 kbps 속도에 대한 4 개의 펄스 위치 셋트 (K1, K2, K3, K4)를 포함한다. 여기서, 5. 3 kbps 속도에 대한 펄스 위치 셋트 (K1- K4) 는 6.3 kbps 에 대한 펄스 위치 셋트 (K1- K4) 와 다르다.
임펄스 응답 서브프레임 (h(n)) 과 대응하는 고정 여기 ZSR 서브프레임 (tB(n)) 은 각각의 서브프레임 (i) 에 대한 역필터 (124) 에 공급된다. 역필터 특성을 정의하기 위하여 임펄스 응답 서브프레임 (h(n)) 을 이용하여, 필터 (124) 는 대응하는 기준 서브프레임 (tB(n)) 을 역필터링하여 식 22 에 의한 60 샘플 역필터링된 서브프레임 (f(n)) 을 발생시킨다.
역필터링된 서브프레임 (f(n)) 을 받으면, 고정 여기 셀렉터 (126) 는 1 부터 M 의 범위에서 정수 (j) 의 각각의 값에 대한 다음의 동작을 수행함으로써 펄스 위치표 (122) 로부터 선택된 M 펄스 위치 (mj) 의 최적의 셋트를 결정한다:
a. 필터링된 샘플 (f(n)) 의 최대 절대값을 산출하는 n 의 값을 탐색. 펄스 위치가 펄스 위치 셋트 (Kj) 의 펄스 위치중의 하나이면, 펄스 위치 (mj) 은 n의 값으로 설정된다. 탐색 동안은 다음과 같은 수학식으로 표현된다:
[수학식 26]
b. n 이 확인되고 펄스 위치 (mj) 가 n 과 동일하게 설정되면, 필터링된 샘플 (f(mj)) 은 음의 값, 일반적으로 -1 로 설정되어 펄스 위치 (mj) 가 다시 선택되는 것을 방지한다.
1 부터 M 까지인 j 의 각각의 값에 대하여 선행하는 동작이 완료되면, 고정 여기 서브프레임 (vE(n)) 에 대한 모든 M 펄스 위치 (mj) 가 설명된다. 필터 (124) 에 의해 제공된 역필터링과 결합된 동작 (a, b) 은 각각의 서브프레임 (i)에 대한 펄스 위치를 결정하는 데 있어서 타겟 고정 여기 ZSR 서브프레임 (tB(n)) 과 정규화된 고정 여기 합성 ZSR 서브프레임 (q(n)) 사이의 상관 관계를 최대화한다. 이 상관 관계를 수행하기 위하여 필요한 계산의 양은, 상술한 바와 같이, 펄스 위치를 결정하기 위하여 G.723 코더에 사용되는 것보다 작다.
고정 여기 셀렉터 (126) 는 다음의 관계에 따라 필터링된 샘플 (f(mj)) 의 부호로서 각각의 펄스의 펄스 부호 (sj) 를 결정한다.
[수학식 27]
여기 셀렉터 (126) 는 식 19 가 정규화된 고정 여기 서브프레임 (c(n)) 의 최적 버전 () 을 계산하기 위하여 사용되는 산출 절차에 의해 양자화되지 않은 여기 이득 () 를 결정하고, 여기서, 펄스 위치 (mj) 와 펄스 부호 (sj) (여기서, j 는 1 부터 M 이다) 는 상기 결정된 바와 같이 최적의 펄스 위치와 부호이다. 정규화된 고정 여기 ZSR 서브프레임 (q(n)) 의 최적의 버전 () 은 서브프레임 (c(n)) 을 최적의 서브프레임 () 으로 대체함으로써 식 20 으로부터 산출된다. 마지막으로, 양자화되지 않은 이득 () 는 다음과 같은 관계에 따라 계산된다:
[수학식 28]
양자화된 이득표 (128) 로부터 제공된 양자화된 이득 레벨 (GL) 을 이용하여, 여기 셀렉터 (126) 는 이득 () 를 양자화하여 가장 근접한 탐색 기술을 이용한 고정 여기 이득 (G) 를 발생시킨다. 이득표 (128) 는 G.723 코더에 사용된 스칼라 양자화기 이득 코드북과 동일한 이득 레벨 (GL) 을 포함한다. 마지막으로, 각각의 서브프레임 (i) (여기서, i 는 0 부터 3 이다) 에 대한 파라미터 (mj, sj, G) (j 는 1 부터 M 이다) 의 결합은 고정 여기 파라미터 (FE) 로서 여기 셀렉터 (126) 로부터 공급된다.
제9도에 나타낸 바와 같이, 여기 제너레이터 (96) 는 적응 코드북 디코더 (132), 고정 코드북 디코더 (134), 및 가산기 (136) 로 구성된다. 디코더 (132, 134) 는 바람직하게 1995년 7 월 G.723 사양의 파라그래프 2.18 과 2.17 에 나타낸 방법으로 동작한다.
각각의 서브프레임 (i) 에 대한 최적의 폐루프 주기 () 와 최적의 피치 계수 인덱스 () 를 포함하는 적응 코드북 파라미터 셋트 (ACE) 는 여기 파라미터 저장기 (94) 로부터 적응 코드북 디코더 (132) 로 공급된다. 피치 주기와 피치 계수 정보를 포함하는 적응 여기 코드북으로 어드레스로서 파라미터 셋트 (ACE) 를 사용하여, 디코더 (132) 는 파라미터 셋트 (ACE) 를 디코딩함으로써 적응 여기 서브 프레임 (uE(n)) 을 형성한다.
각각의 서브프레임 (i) 내에서 1 부터 M 까지 실행되는 j 를 갖는 각각의 서브프레임 (i) 에 대한 펄스 위치 (mj), 펄스 부호 (sj), 및 양자화된 이득 (G) 을 포함하는 고정 여기 파라미터 (FCE) 는 파라미터 저장기 (94) 로부터 고정 코드북 디코더 (134) 로 공급된다. 펄스 위치와 펄스 부호 정보를 포함하는 고정 여기 코드북으로의 어드레스로서 파라미터 셋트 (FCE) 를 이용하여, 디코더 (134) 는 파라미터 셋트 (FCE) 를 디코딩하여 식 16 에 의한 고정 여기 서브 프레임 (vE(n)) 을 형성한다.
현재의 음성 프레임의 각각의 서브프레임 (i) 에 대하여, 다음과 같은 복합 여기 서브프레임 (eE(n)) 을 발생하기 위하여 가산기 (136) 는 샘플당 각쌍의 대응하는 여기 서브프레임 (uE(n)과 vE(n)) 을 합산한다:
[수학식 29]
여기 서브프레임 (e(n)) 은 적응 여기 코드북 (102) 을 갱신하기 위하여 상술한 바와 같은 코드북 탐색 장치 (90) 으로 피드백된다. 또한, 식 9 에 의해 표현된 결합된 필터의 메모리를 갱신하기 위하여 서브프레임 제너레이터 (54) 의 메모리 갱신부 (86) 에 여기 서브 프레임 (eE(n)) 이 제공된다.
상술한 방법에 있어서, 본 발명은 G.723 코더와 호환이 가능한 음성 코더를 제공하고, G.723 코더보다 매우 적은 계산력을 사용하고, 아날로그 음성 입력 신호 (x(t)) 와 거의 유사한 억압된 디지탈 데이터 스트림 (xc) 를 제공한다. 계산력의 저장은 대략 40% 이다.
본 발명은 특정한 실시예를 참조하여 설명하였지만, 이것을 단지 설명하기 위한 것으로 본 발명의 범위를 한정하는 것은 아니다. 예를 들어, 본 발명의 코더는 1995년 7 월 G.723 사양에 나타낸 G.723 음성 코더의 버전과 호환가능하다.
그러나, G.723 코더의 최종 표준 사양은 1995년 7 월 사양에 설명한 것과 다를수도 있다. 본 발명의 원리는 G.723 음성 코더와 호환가능한 디지탈 음성 코더에 필요한 계산력의 양을 감소시키기 위하여 적용된 것이다.
더욱이, 본 발명의 기술은 G.723 코더와 호환가능한 것이외에 음성 코더에 있어서 계산력을 저장하는데 사용될 수 있다. 이 경우, 각 프레임의 샘플의 수 (nF) 는 240 과 다를 수 있다. 샘플의 이산적인 셋트의 계층 (hierarchy) 은 쿼터 프레임으로서 구성된 서브프레임과 프레임이외의 하나이상의 다른 크기의 샘플 그룹으로 배열될 수 있다.
상관 관계 (C) 의 최대화는 식 22 - 26 에 의해 나타낸 바와 같이 제8도에 설명된 것이외의 기술에 의해 수행될 수 있다. 또한 상관관계 (C) 는 식 19 과 20 을 사용하여 식 18 로부터 직접 최대화될 수 있어 적절한 정규화된 합성 서브프레임 (q(n))을 정의한다. 첨부된 청구범위의 사상과 범위를 벗어나지 않는한 다양한 변경과 변형이 가능하다.
상술한 바와 같이, 본 발명의 음성 코더는 고속 여기 코딩을 사용하여 계산의 수와, 입력 음성 신호의 디지탈 샘플을 압축하는데 필요한 계산력을 감소시킬 수 있다. 특히, 본 발명의 음성 코더는 동일한 음성의 압축/압축해제를 수행하기 위하여 G.723 코더보다 상당히 적은 계산력을 필요로 한다. 본 코더에 의해 성취되는 통신 품질은 G.723 코더의 품질과 필적할 만하다. 또한, 본 음성 코더는 퍼스널 컴퓨터등의 응용에 특히 적합하다.

Claims (22)

  1. 각각의 위치가 인코더에 기억된 펄스 위치의 대응 셋트로부터 선택되는 여기 펄스의 비주기 여기 그룹을 정의하는 여기 정보를 결정하기 위한 탐색 장치를 포함하는 음성 인코더를 구비하며, 각각의 펄스는 양 또는 음부호로 선택될 수 있고, 상기 탐색 장치는 (a) 압축을 위한 인코더에 제공되는 디지탈 입력 음성 샘플의 시간적으로 연속적인 필터링된 버전의 타겟 그룹과 (b) 시간적으로 연속적인 합성된 디지탈 음성 샘플의 대응하는 합성 그룹 사이의 상관 관계를 최대화함으로써 펄스의 위치를 결정하고, 합성된 샘플 그룹은 인코더에 기억된 펄스 위치의 대응 셋트에 사용될 수 있는 펄스 위치와 그 펄스 위치에서의 펄스의 부호에 의존하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서, 상기 상관 관계 최대화는
    으로부터 주어진 상관 관계 (C) 를 최대화하는 것을 수반하는 것을 특징으로 하는 장치.(여기서, n 은 타겟 샘플 그룹과 대응하는 합성 샘플 그룹의 샘플의 수이며, tB(n) 은 타겟 샘플 그룹이며, q(n) 은 대응하는 합성 샘플 그룹이며, nG은 tB(n) 과 q(n) 의 샘플의 총수이다.)
  3. 제2항에 있어서, 상기 탐색 장치는, 타겟 샘플 그룹을 역필터링하여 시간적으로 연속적인 디지탈 음성 샘플의 대응하는 역필터링된 그룹을 발생하는 역필터와, 펄스 위치의 셋트를 기억하는 펄스 위치표와, 역필터링된 샘플 그룹의 절대값을 최대화하는 펄스 위치에 따라 펄스 위치의 대응 셋트로부터 각 펄스의 위치를 선택하는 셀렉터를 구비하는 것을 특징으로 하는 장치.
  4. 제3항에 있어서, 상기 상관 관계 최대화는
    으로부터 주어진 상관 관계 (C) 를 최대화하는 것을 수반하는 것을 특징으로 하는 장치.(여기서, j 는 실행 정수이고, M 은 비주기 여기 샘플 그룹의 펄스의 총수이고, mj는 펄스 위치의 대응 셋트의 j 번째 펄스의 위치이고, |f(mj)| 는 역필터링된 샘플 그룹의 샘플의 절대값이다.
  5. 압축된 출력 입력 음성 데이터 스트림을 발생하기 위하여 입력 음성 신호의 디지탈 입력 음성 샘플을 압축하는 인코더를 구비하는 전자 장치에 있어서, 상기 인코더는, (a) 인코더내의 포르만트 합성 필터를 위한 특성의 수치값을 결정하는 필터 파라미터와 (b) 디지탈 입력 음성 샘플의 시간적으로 연속적인 필터링된 버전의 제 1 타겟 그룹을 발생하기 위한 프로세싱 회로, 및 적어도 포르만트 합성 필터를 여기하기 위하여 여기 정보를 선택하는 여기 코딩 회로로서, 상기 여기 정보는 시간적으로 연속적인 여기 샘플의 복합 여기 그룹으로 할당되고, 각각의 복합 여기 샘플 그룹은 (a) 지정된 반복 주기를 갖는 시간적으로 연속적인 주기적 여기 샘플의 주기적 여기 그룹과 (b) 각각의 위치가 인코더에 기억된 펄스 위치의 대응 셋트로부터 샌택된 여기 펄스의 대응하는 비주기적 여기 그룹을 포함하며, 각각의 펄스는 양 또는 음부호로 선택될 수 있으며, 상기 여기 코딩 회로는, (a) 각각의 주기적 여기 샘플 그룹을 정의하는 제 1 여기 정보를 선택하고 (b) 각각의 제 1 타겟 샘플 그룹을 디지탈 입력 음성 샘플의 시간적으로 연속적인 필터링된 버전의 대응하는 제 2 타겟 그룹으로 변환하는 제 1 탐색 장치와, 대응하는 제 1 타겟 샘플 그룹과 시간적으로 연속적인 합성된 디지탈 음성 샘플의 대응하는 합성된 그룹 사이의 상관 관계를 최대화하므로써 각각의 비주기적 여기 펄스의 펄스의 위치를 결정하는 절차에 의해 각각의 비주기적 여기 펄스 그룹을 정의하는 제 2 여기 정보를 선택하는 제 2 탐색 장치로서, 각각의 합성된 샘플 그룹은 대응하는 비주기적 여기 펄스 그룹을 위한 펄스 위치의 셋트에 사용될 수 있는 펄스 위치와 그 펄스 위치의 펄스의 부호에 의존하는 제 2 탐색 장치를 포함하는 여기 코딩 회로를 구비하는 것을 특징으로 하는 전자 장치.
  6. 제5항에 있어서, 각각의 주기적 여기 샘플 그룹의 주기적 여기 샘플은 각각 주기적 여기 샘플 그룹을 포함하는 복합 여기 샘플 그룹의 복합 여기 샘플에 대응하고, 각각의 비주기적 여기 펄스 그룹의 여기 펄스는 각각 비주기적 여기 펄스 그룹을 포함하는 복합 여기 샘플 그룹의 복합 여기 샘플의 부분에 대응하는 것을 특징으로 하는 장치.
  7. 제6항에 있어서, 각각의 제 1 타겟 샘플 그룹은 실질적으로 적어도 주기적 여기 샘플 그룹에 의해 여기되는 적어도 포르만트 합성 필터의 타겟 제로 상태 응답이고, 각각의 제 2 타겟 샘플 그룹은 실질적으로 비주기적 여기 펄스 그룹에 의해 여기되는 적어도 포르만트 합성 필터의 타겟 비주기적 제로 상태 응답인 것을 특징으로 하는 장치.
  8. 제7항에 있어서, 상관 관계 최대화는
    으로부터 주어진 상관 관계 (C) 를 최대화하는 것을 수반하는 것을 특징으로 하는 장치.(여기서, n 은 제 2 타겟 샘플 그룹과 대응하는 합성 샘플 그룹의 샘플의 수이며, tB(n) 은 제 2 타겟 샘플 그룹이며, q(n) 은 대응하는 합성 샘플 그룹이며, nG은 tB(n) 과 q(n) 의 샘플의 총수이다.)
  9. 제5항에 있어서, 상기 제 2 탐색 장치는, 각각의 제 2 타겟 샘플 그룹을 역필터링하여 시간적으로 연속적인 디지탈 음성 샘플의 대응하는 역필터링된 그룹을 발생하는 역필터와, 펄스 위치의 셋트를 기억하는 펄스 위치표와, 역필터링된 샘플 그룹의 절대값을 최대화하는 펄스 위치에 따라 펄스 위치의 대응 셋트로부터 각 펄스의 위치를 선택하는 셀렉터를 구비하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서, 상기 상관 관계 최대화는
    으로부터 주어진 상관 관계를 최대화하는 것을 수반하는 것을 특징으로 하는 장치. (여기서, j 는 실행 정수이고, M 은 비주기 여기 샘플 그룹의 펄스의 총수이고, mj는 펄스 위치의 대응 셋트의 j 번째 펄스의 위치이고, |f(mj)| 는 역필터링된 샘플 그룹의 샘플의 절대값이다)
  11. 제10항에 있어서, 상기 셀렉터는 (a) 역필터링된 샘플 (f(n)) 의 최대 절대값을 산출하는 샘플 수 (n) 의 값을 탐색하고 (b) 펄스 위치가 펄스 위치의 대응 셋트의 펄스 위치이면 펄스 위치 (mj) 을 n 의 값으로 설정하고, (c) 2 개이상의 펄스 위치 (mj) 가 선택될 때 펄스 위치 (mj) 가 다시 선택되는 것을 방지하는 것을 특징으로 하는 장치.
  12. 제10항에 있어서, n 이 샘플 수인 역필터링된 샘플 그룹 (f(n)) 이
    으로부터 결정되는 것을 특징으로 하는 장치. (여기서, nG은 제 2 타겟 샘플 그룹의 샘플의 총수이고, tB(n) 은 제 2 타겟 샘플 그룹이고, h(n) 은 적어도 포르만트 합성 필터의 임펄스 응답을 구성하는 시간적으로 연속적인 샘플의 그룹이다)
  13. 제5항에 있어서, 압축된 출력 디지탈 음성 데이터 스트림과, 이상적으로 동일한 압축된 입력 디지탈 음성 데이터 스트림을 압축해제하여 디지탈 입력 음성 샘플을 근사화하는 디지탈 출력 음성 샘플을 합성하는 디코더를 구비하는 것을 특징으로 하는 장치.
  14. 제13항에 있어서, 상기 디코더는 (a) 디코더의 포르만트 합성 필터를 여기하는 여기 정보를 발생하고 (b) 디코더의 포르만트 합성 필터를 위한 특성의 수치 값을 결정하는 필터 파라미터를 발생하기 위하여 입력 디지탈 음성 데이터 스트림을 디코딩하는 것을 특징으로 하는 장치.
  15. 제5항에 있어서, 상기 인코더는 디지탈 입력 음성 샘플의 선택된 수의 각각의 연속적인 셋트가 입력 음성 프레임을 형성하고 프로세싱 회로가 선형 예측 코딩 분석을 인가하여 입력 음성 프레임을 위한 선형 스펙트럼 쌍 코드를 결정하는 프레임 타이밍 베이스에 따라 동작하고, 각각의 복합 여기 샘플 그룹은 각각의 입력 음성 프레임의 지정된 쌍에 대응하는 것을 특징으로 하는 장치.
  16. 제15항에 있어서, 상기 프로세싱 회로는, 디지탈 입력 음성 샘플을 입력 음성 프레임으로 변환하는 입력 버퍼와, 선스펙트럼 쌍 코드를 발생하고 여기 코딩 회로에 지각적으로 가중된 음성 프레임을 제공하는 분석 및 프리프로세싱 회로와, 여기 정보를 특성화하는 선스펙트럼 쌍 코드와 파라미터를 연쇄하여 출력 디지탈 음성 데이터 스트림을 발생하는 비트 팩커를 구비하는 것을 특징으로 하는 장치.
  17. 제16항에 있어서, 240 디지탈 입력 음성 샘플이 각각의 입력 음성 프레임에 있고 60 여기 샘플이 각각의 복합 여기 샘플 그룹에 있는 것을 특징으로 하는 장치.
  18. 제5항에 있어서, 인코더는 1995 년 7 월 G.723 사양에 지정된 포맷으로 출력 디지탈 음성 데이터 스트림을 제공하는 것을 특징으로 하는 장치.
  19. 디지탈 음성 인코더의 탐색 장치의 여기 펄스의 비주기적 여기 그룹을 정의하는 여기 정보를 결정하는 방법으로서, 각각의 펄스는 인코더에 기억된 펄스 위치의 대응 셋트로부터 선택된 펄스 위치를 가지며, 각각의 펄스는 양 또는 음부호로 선택될 수 있는 방법에 있어서, 압축을 위한 인코더에 제공된 디지탈 입력 음성 샘플의 시간적으로 연속적인 필터링된 버전의 타겟 그룹을 발생하는 단계와, 타겟 샘플 그룹과 시간적으로 연속적인 합성 디지탈 음성 샘플의 대응하는 합성 그룹 사이의 상관 관계를 최대화하는 단계로서, 각각의 합성된 그룹은 인코더에 기억된 펄스 위치의 셋트의 펄스 위치와 그 펄스 위치의 펄스의 펄스 부호에 의존하는 상관 관계 최대화 단계를 포함하는 것을 특징으로 하는 방법.
  20. 제19항에 있어서, 상관 관계 최대화 단계는
    으로부터 주어진 상관 관계 (C) 를 최대화하는 것을 수반하는 것을 특징으로 하는 방법.(여기서, n 은 타겟 샘플 그룹과 대응하는 합성 샘플 그룹의 샘플의 수이고, tB(n) 은 타겟 샘플 그룹이고, q(n) 은 대응하는 합성 샘플 그룹이고, n 은 tB(n) 과 q(n) 의 샘플의 총수이다.)
  21. 제19항에 있어서, 상관 관계 최대화 단계는, 타겟 샘플 그룹을 역필터링하여 시간적으로 연속적인 역필터링된 디지탈 음성 샘플의 대응하는 역필터링된 그룹을 발생하는 단계와, 역필터링된 샘플 그룹의 절대값을 최대화하는 펄스 위치에 따라 펄스 위치의 대응 셋트로부터 각 펄스 위치를 결정하는 단계를 구비하는 것을 특징으로 하는 방법.
  22. 제19항에 있어서, 상기 결정 단계는, f(mj) 의 최대 절대값을 산출하는 샘플 수 (n) 의 값을 탐색하는 단계로서, mj은 비주기적 여기 샘플 그룹의 j 번째 펄스의 위치이고, f(mj) 은 역필터링된 샘플 그룹의 샘플인 단계와, 샘플 수(n) 의 그 위치값으로 펄스 위치 (mj) 를 설정하는 단계와, 2 개이상의 펄스 위치 (mj) 가 선택될때 그 펄스 위치가 다시 선택되는 것을 방지하는 단계와, 모든 펄스 위치 (mj) 가 결정될때까지 탐색, 설정, 방지를 반복하는 단계를 구비하는 것을 특징으로 하는 방법.
KR1019960053630A 1995-11-17 1996-11-13 음성 코더용 고속 여기 코딩 KR100304682B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/560,082 US5867814A (en) 1995-11-17 1995-11-17 Speech coder that utilizes correlation maximization to achieve fast excitation coding, and associated coding method
US08/560,082 1995-11-17

Publications (2)

Publication Number Publication Date
KR970031376A KR970031376A (ko) 1997-06-26
KR100304682B1 true KR100304682B1 (ko) 2001-11-22

Family

ID=24236294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960053630A KR100304682B1 (ko) 1995-11-17 1996-11-13 음성 코더용 고속 여기 코딩

Country Status (3)

Country Link
US (1) US5867814A (ko)
KR (1) KR100304682B1 (ko)
DE (1) DE19647298C2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101407429B1 (ko) * 2004-09-17 2014-06-17 코닌클리케 필립스 엔.브이. 지각적 왜곡을 최소화하는 복합 오디오 코딩

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW317051B (ko) * 1996-02-15 1997-10-01 Philips Electronics Nv
US7788092B2 (en) * 1996-09-25 2010-08-31 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
US6205130B1 (en) * 1996-09-25 2001-03-20 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
JP3206497B2 (ja) * 1997-06-16 2001-09-10 日本電気株式会社 インデックスによる信号生成型適応符号帳
JP3166697B2 (ja) * 1998-01-14 2001-05-14 日本電気株式会社 音声符号化・復号装置及びシステム
JP3273599B2 (ja) * 1998-06-19 2002-04-08 沖電気工業株式会社 音声符号化レート選択器と音声符号化装置
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6330531B1 (en) * 1998-08-24 2001-12-11 Conexant Systems, Inc. Comb codebook structure
US6980948B2 (en) * 2000-09-15 2005-12-27 Mindspeed Technologies, Inc. System of dynamic pulse position tracks for pulse-like excitation in speech coding
JP2002162998A (ja) * 2000-11-28 2002-06-07 Fujitsu Ltd パケット修復処理を伴なう音声符号化方法
JP3404016B2 (ja) * 2000-12-26 2003-05-06 三菱電機株式会社 音声符号化装置及び音声符号化方法
US7512535B2 (en) * 2001-10-03 2009-03-31 Broadcom Corporation Adaptive postfiltering methods and systems for decoding speech
US7194141B1 (en) * 2002-03-20 2007-03-20 Ess Technology, Inc. Image resolution conversion using pixel dropping
JP2004151123A (ja) * 2002-10-23 2004-05-27 Nec Corp 符号変換方法、符号変換装置、プログラム及びその記憶媒体
KR100463418B1 (ko) * 2002-11-11 2004-12-23 한국전자통신연구원 Celp 음성 부호화기에서 사용되는 가변적인 고정코드북 검색방법 및 장치
KR100503414B1 (ko) * 2002-11-14 2005-07-22 한국전자통신연구원 고정 코드북의 집중 검색 방법 및 장치
US8447592B2 (en) * 2005-09-13 2013-05-21 Nuance Communications, Inc. Methods and apparatus for formant-based voice systems
ATE548727T1 (de) * 2007-03-02 2012-03-15 Ericsson Telefon Ab L M Nachfilter für geschichtete codecs
WO2009033288A1 (en) * 2007-09-11 2009-03-19 Voiceage Corporation Method and device for fast algebraic codebook search in speech and audio coding
CN101599272B (zh) * 2008-12-30 2011-06-08 华为技术有限公司 基音搜索方法及装置
GB2466675B (en) 2009-01-06 2013-03-06 Skype Speech coding
GB2466671B (en) * 2009-01-06 2013-03-27 Skype Speech encoding
GB2466669B (en) * 2009-01-06 2013-03-06 Skype Speech coding
GB2466673B (en) * 2009-01-06 2012-11-07 Skype Quantization
GB2466670B (en) * 2009-01-06 2012-11-14 Skype Speech encoding
GB2466674B (en) * 2009-01-06 2013-11-13 Skype Speech coding
GB2466672B (en) * 2009-01-06 2013-03-13 Skype Speech coding
US8452606B2 (en) 2009-09-29 2013-05-28 Skype Speech encoding using multiple bit rates
PL2515299T3 (pl) * 2009-12-14 2018-11-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Urządzenie do kwantyzacji wektorowej, urządzenie do kodowania głosu, sposób kwantyzacji wektorowej i sposób kodowania głosu
EP3511935B1 (en) 2014-04-17 2020-10-07 VoiceAge EVS LLC Method, device and computer-readable non-transitory memory for linear predictive encoding and decoding of sound signals upon transition between frames having different sampling rates
EP3306609A1 (en) * 2016-10-04 2018-04-11 Fraunhofer Gesellschaft zur Förderung der Angewand Apparatus and method for determining a pitch information

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4944013A (en) * 1985-04-03 1990-07-24 British Telecommunications Public Limited Company Multi-pulse speech coder
US5307441A (en) * 1989-11-29 1994-04-26 Comsat Corporation Wear-toll quality 4.8 kbps speech codec
JP2626223B2 (ja) * 1990-09-26 1997-07-02 日本電気株式会社 音声符号化装置
FI98104C (fi) * 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
DE4315315A1 (de) * 1993-05-07 1994-11-10 Ant Nachrichtentech Verfahren zur Vektorquantisierung insbesondere von Sprachsignalen
US5550543A (en) * 1994-10-14 1996-08-27 Lucent Technologies Inc. Frame erasure or packet loss compensation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101407429B1 (ko) * 2004-09-17 2014-06-17 코닌클리케 필립스 엔.브이. 지각적 왜곡을 최소화하는 복합 오디오 코딩

Also Published As

Publication number Publication date
KR970031376A (ko) 1997-06-26
DE19647298C2 (de) 2001-06-07
US5867814A (en) 1999-02-02
DE19647298A1 (de) 1997-05-22

Similar Documents

Publication Publication Date Title
KR100304682B1 (ko) 음성 코더용 고속 여기 코딩
EP0409239B1 (en) Speech coding/decoding method
US5729655A (en) Method and apparatus for speech compression using multi-mode code excited linear predictive coding
EP1141946B1 (en) Coded enhancement feature for improved performance in coding communication signals
JPH03211599A (ja) 4.8kbpsの情報伝送速度を有する音声符号化/復号化器
KR20010102004A (ko) Celp 트랜스코딩
JPH10187196A (ja) 低ビットレートピッチ遅れコーダ
JPH0990995A (ja) 音声符号化装置
JP2645465B2 (ja) 低遅延低ビツトレート音声コーダ
KR20040045586A (ko) 서로 다른 대역폭을 갖는 켈프 방식 코덱들 간의상호부호화 장치 및 그 방법
JP2002268686A (ja) 音声符号化装置及び音声復号化装置
JPH09319398A (ja) 信号符号化装置
JPH0944195A (ja) 音声符号化装置
KR100416363B1 (ko) 선형 예측 분석 대 합성 엔코딩 방법 및 엔코더
KR100341398B1 (ko) 씨이엘피형 보코더의 코드북 검색 방법
JP2613503B2 (ja) 音声の励振信号符号化・復号化方法
JP3153075B2 (ja) 音声符号化装置
JP2968109B2 (ja) コード励振線形予測符号化器及び復号化器
JPH0258100A (ja) 音声符号化復号化方法及び音声符号化装置並びに音声復号化装置
JP3232701B2 (ja) 音声符号化方法
JPH0519795A (ja) 音声の励振信号符号化・復号化方法
JPH07168596A (ja) 音声符号化装置
JP3192051B2 (ja) 音声符号化装置
JPH08185199A (ja) 音声符号化装置
JPH08320700A (ja) 音声符号化装置

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

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 16

EXPY Expiration of term