[go: up one dir, main page]

KR0128066B1 - 음성 인코딩 방법 및 장치 - Google Patents

음성 인코딩 방법 및 장치

Info

Publication number
KR0128066B1
KR0128066B1 KR1019880007693A KR880007693A KR0128066B1 KR 0128066 B1 KR0128066 B1 KR 0128066B1 KR 1019880007693 A KR1019880007693 A KR 1019880007693A KR 880007693 A KR880007693 A KR 880007693A KR 0128066 B1 KR0128066 B1 KR 0128066B1
Authority
KR
South Korea
Prior art keywords
excitation
candidate
vector
speech
information
Prior art date
Application number
KR1019880007693A
Other languages
English (en)
Other versions
KR890001022A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22077439&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR0128066(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 엘리 와이스, 아메리칸 텔리폰 앤드 텔레그라프 캄파니 filed Critical 엘리 와이스
Publication of KR890001022A publication Critical patent/KR890001022A/ko
Application granted granted Critical
Publication of KR0128066B1 publication Critical patent/KR0128066B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

내용 없음.

Description

음성 인코딩 방법 및 장치
제 1 도는 본 발명의 주제인 보코더(vocoder)의 분석기와 합성기를 도시한 블록도.
제 2 도는 본 발명의 주제인 가상 검색 기술(virtual searching technique)을 사용하는 코드북(codebook)으로부터 여기 벡터(excitation vectors)를 만드는 과정을 도시한 그래프.
제 3 도 내지 6 도는 가장 좋은 후보(candidate)벡터를 선택하는데 사용되는 벡터와 매트릭스(matrix)를 도시한 그래프.
제 7 도는 제 1 도의 적응 검색기(adaptive searcher)(106)를 상세히 도시한 도면.
제 8 도는 제 7 도의 가상검색 제어(108)를 상세히 도시한 도면.
제 9 도는 제 7 도의 에너지 계산기(709)를 상세히 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
101 : LPC분석기102 : 목표 여기 계산기
105,152 : 확률 코드북106 : 적응 검색기
104,155 : 적응 코드북701 : 검색 결정기
708 : 가상 검색 제어기703,709 : 에너지 계산기
706,712 : 에러 계산기714 : 후보 선택기
본 발명은 음성을 낮은 비트 레이트(low bit rate)로 처리하는 코딩 및 디코딩에 관한 것으로서, 특히 높은 성능을 제공하는 개선된 코드 여기형 예측 보코더(code excited linear predictive vocoder)에 관한것이다.
코드 여기형 선형 예측 코딩(CELP)은 이미 잘 알려진 기술이다. 이 코딩 기술은, 선형 예측 코딩(LPC) 필터를 여기시키기 위해 인코드된 여기 정보(excitation information)를 사용하여 음성을 합성한다. 이러한 여기는 프레임 대 드레임 방식으로(frame-by-frame basis)만들어진 여기 벡터 테이블을 검색함으로써(searching) 이루어진다. 코드북(code book)이라고도 불리는 상기 테이블은, 성분이 연속(consecutive) 여기 샘플인 벡터로 구성된다. 각 벡터는 프레임내의 음성 샘플과 같은 수의 여기 샘플을 포함한다. 상기 코드북은 중첩 테이블(overlapping table)로서 구성되는데 여기서 상기 여기형 벡터는 여기 샘플의 선형 배열(linear array)을 따라 윈도우(window)를 이동함으로써 정의된다. 상기 분석은, 코드북내 여러 후보 벡터(candidate vector)에 의해 여기되는 LPC분석을 먼저함으로써 수행된다. 최상의 후보 벡터는 그 대웅 합성 출력(synthesis output)이 음성 프레임(a frame of speech)에 얼마나 매치되는가에 따라 선택된다. 최상의 매치가 발견된 후에, 최상의 코드북 엔트리(entry) 및 상기 필터(filter)를 명시하고 있는 정보가 상기 합성기(synthesizer)로 전송된다. 상기 합성기는 유사한 코드북을 갖고 있으며 그 코드북내에 있는 적당한 엔트리를 엑세스(access)한다. 그리고 동일한 LPC필터를 여기하기 위해 그것을 사용한다. 게다가, 상기 코드북을 갱신하기 위해서 최상의 후보 여기 벡터를 사용하기 때문에 코드북은 음성에 적응된다.(adapts)
이 기술의 문제점은 음성중 소리가 없는 영역(unvoiced region)으로부터 소리 영역(voiced region)으로 변화하는 음성 변화 동안에, 코드북이 매우 천천히 적응된다는 것이다. 음성의 소리 영역은 기본 주파수(fundamental frequency)가 음성내에 존재한다는 것을 특징으로 한다. 이 문제는 특히 여자에게 두드러진다. 왜냐하면 여자에게서 발생하는 기초 주파수가 남자보다 더 높기 때문이다.
다음 문제는 해결되었으며 기술적 진보는 음성의 소리 영역에서 소리 영역으로 변화되는 동안 응답을 개선하기 위해 후보 여기 벡터를 포함하고 있는 코드북을 가상 검사(virtual searching)하는 보코더에 의해 이루어졌다. 본 발명에 따르는 방법은 다음과 같은 단계들로 구성되어 있다. 프레임으로 음성을 그룹핑(grouping)하는 단계와, 정보의 후보 셋(condidate set) 각 그룹의 제 2 부분내에 있는 후보 셋의 각 그룹의 제 1 부분을 반복처리 함으로써 현재의 음성과 가장 잘 매치(match)되는 후보 세트를 결정하기 위해 현재의 프레임 샘플들과 테이블내에 저장된 여기 정보의 후보 세트를 비교하는 단계와, 상기 테이블내에서 설정된 최적의 후보 세트의 장소를 결정하는 단계와 음성의 재생을 위한 장소를 디코더에 의해 전달하는 단계로 구성되어 있다.
상기 비교 단계는 다음과 같은 단계들로 구성되어 있다. 테이블내 샘풀의 선형 배열로서 여기 정보의 후보 세트를 저장하는 단계와, 정보의 후보 세트를 형성하기 위해 상기 배열을 통해 각 후보 셋내에 있는 샘플수와 동일한 윈도우(window)를 이동시켜, 상기 그룹이 후보 셋의 제 2 부분을 채우기에 충분한 샘플이 없는 선형 배열의 단부(end)그룹의 후보 세트를 생성하는(creating)단계와, 각 그룹을 완성시키기 위해 각 그룹의 제 2 부분에 있는 그룹의 각 후보 셋의 제 1부분을 반복 처리하는 단계로 구성되어 있다. 또한 상기 그룹의 일부가 아닌 선형 배열을 통해 윈도우를 이동시킴으로써 얻어진 다른 후보 셋은 테이블에서 나온 연속 샘플(sequential samples)로 완전히 채워진다.
상기 비교 단계는 다음의 단계들을 추가로 포함하고 있다. 현재의 음성 프레임에 응답하여 여기 정보의 목표 셋(target set)을 형성하는 단계와, 목표 셋으로부터 여기 정보의 일시적 셋(temporary set)과 여기 정보의 최적의 셋(best matched set)을 계산하는 단계와, 일시적 여기 셋과 가장 잘 매치되는 다른 테이블로부터 후보 세트를 결정하기 위해 여기 정보의 일시적 세트를 갖는 다른 후보 셋에 대한 다른 테이블을 검색하는 단계와, 음성 재생을 위해 다른 장소를 전달하는 단계를 추가로 포함하고 있다.
게다가, 상기 비교 단계는 또 다음과 같은 단계를 추가로 포함한다. 현재의 음성 프레임에 응답하여 필터 인자(coefficients)를 결정하는 단계와 필터 인자들의 셋으로부터의 유한 임펄스 응답 필터 정보(finite impulse response filter information)를 계산하는 단계와 유한 임펄스 응답 필터 정보에 응답하여 테이블 내에 저장된 각 후보 셋과 여기 정보의 목표 셋에 대한 에러값을 반복적으로 계산하는 단계와 가장 작은 에러값을 갖고 있다는 사실에 근거하여, 최적의 후보 세트를 선택하는 단계로 구성되어 있다. 또한, 상기 통신은 음성 재생을 위한 필터 인자를 전달한다.
본 발명에 따른 장치는 테이블 내의 다수의 여기 정보 후보 세트를 검색하는 검색회로(searcher circult)를 갖고 있다. 이 회로는 후보 셋 그룹의 각 후보 셋중 제 1 부분을 상기 그룹의 각 후보 셋중 제 2 부분에서 반복처리 함으로써 현재의 음성 프레임에 대해 가장 잘 매치되는 후보 세트를 결정하게 된다. 또한, 상기 장치는 디코더에 의해 음성을 재생하기 위해서, 테이블내에서 가장 잘 매치된 후보 셋의 장소를 식별하는 정보를 전달하기 위해 디코더를 갖는다.
제 1 도는 본 발명의 주제가 되는 보코더를 블록도로 도시했다. 소자(101-112)들은 보코더의 분석부분(analyzer portion)을 표시하며 소자는 보코더의 합성기를 표시한다. 제 1 도의 분석기 부분은 경로(120)상에서 수신된 음성에 응답하여 아나로그 음성을 디지털 방식으로 상기 디지털 샘플들을 기존의 기술을 이용하여 프래임들로 묶는다(group). 각각의 프레임에 대해, 분석기 부분은 음성 영역(vocal tract)의 포먼트(forment) 특성을 표시하는 LPC인자들로 계산한다. 그리고 분석기 부분은 스케일링(scaling factor)를 가지고 있는 드레임에 대해 가장 가까운 적응(adaptive)코드북(104) 확률적(stochastic)코드북(105)의 엔트리(entry)를 검색한다. 후자 엔트리들과 스케일링 정보는 분석기 부분에 의해 결정된 여기 정보를 정의한다. 후자 엔트리들과 스케일링 정보는 분석기 부분에 의해 결정된 여기 정보를 정의한다. 상기 여러 및 인자 정보는 경로(145)를 통해 인코더에 의해 제 1 도에 도시한 보코더의 합성기부분으로 전달된다. 확퓰 발생기(153)와 적응 발생기(154)는 보코더에 분석기 부분에서 계산된 여기 정보를 재생하고 음성 재생을 위해 분석기로부터 수신된 LPC인자에 의해 결정된 LPC필터를 여기(excite)시키기 위해 이 여기 정보를 사용하기 위해 스케일링 인자 및 코드북 엔트리를 응답한다.
제 1 도의 분석기 부분 역할을 자세히 생각하자. 분석기(101)는 기존의 기술을 사용하여 LPC 인자들을 결정하기 위해 들어오는 음성에 응답한다. 이들 LPC 인자들은 목표 여기 계산기(target exitation calculator)(102), 스펙트럼 가중치 계산기(special weighting)(103), 인코더(109), LPC 필터(110), 제로-입력 응답 필터(zero-input response filter)(111)에 전달된다. 인코터(109)는 적응 코드북의 인자들을 경로(145)를 통해 디코더(151)에 전달하기 위해 LPC 인자에 응답한다. 스펙트럼 가중치 정보는 유한 임펄스 응답 LPC 필터에 근거하고 있다. 상기 유한 임펄스 응답 필터를 활용하면, 검색기(106,107)에서 수행되는 계산을 수행하기 위해 필요한 계산 과정들을 감소시키게 된다. 상기 스펙트럼 가중치 정보는 코드북(104,105)으로부터 여기 정보에 대한 최상의 후보를 결정하기 위해 검색기에 의해 사용된다.
목표 여기 계산기(102)는 검색기(106,107)가 찾을려고 하는 가장 근접되는 목표 여기를 계산한다. 분석기(101)에 의해 계산된 LPC 인자에 근거하여 동작하는 화이트닝 필터(whitening filter)를 종래의 프레임에 대한 LPC 필터와, 여기의 영향들을 제거한 수신되는 음성으로 컨볼브(convo1ve)시킴으로써 상기 목표 여기가 게산된다. 종래 구성에 대한 영향은 필터(110) 및 (111)에 의해서 계산된다. 종래 프레임에 대한 LPC 필터와 여기가 고려되어야 하는 이유는 LPC 필터의 링잉(ringing)으로 언급되고 현재의 프레임에 있는 신호 성분을 만들기 때문이다. 나중에 서술되겠지만, 필터(110,111)는 이 링잉 신호를 결정하고 경로 144를 통해 상기 신호를 감산기(112)에 전달하기 위해 종래의 프레임으로부터 얻어진 LPC 인자들과 계산된 여기에 응답한다. 감산기(112)는 현재 신호에서 링잉 신호를 뺀 나머지 신호를 나타내는 나머지 신호를 계산하기 위해 현재의 음성과 후의 링잉 신호에 응답한다. 계산기(102)는 목표 여기 정보를 전송하기 위해 나머지 신호에 응답한다.
검색기들은 합성 여기로 칭하는 계산된 여기를 결정하기 위해 동작한다. 상기 합성 여기(synthesis excitation)는 인코더(109)와 경로(145)를 통해 도1의 합성기 부분으로, 코드북 색인들과 스케일링 인자 형태로 전달된다. 각각의 검색기는 계산된 여기의 한 부분을 계산한다. 먼저, 적응 검색기(106)는 여기 정보를 계산하고 경로(127)를 통해 확률 검색기(107)에 전달된다. 검색기(107)는 경로(123)을 통해 수신된 목표 여기와 적응 검색기(106)에서 나온 여기 정보를 계산한다. 그리하여, 계산기(102)에 의해 계산된 가장 근접되고 계산된 목표 여기의 나머지 부분을 계산할 수 있다. 검색기(107)는 목표 여기로에서 검색기(106)에 의해 결정된 여기를 뺌으로써 나머지 여기를 결정한다. 검색기(106,107)에 의해 결정된 계산된 또는 합성 여기는 경로(127,126)를 통해 각각 가산기(adder)(108)에 전달된다. 가산기(108)는 2가의 성분들을 모두 합침으로써, 현재의 프레임에 대한 함성 여기를 만들어낸다. 상기 합성여기는 합성된 음성을 만들기 위해 합성기에 의해 사용된다.
가산기(108)의 출력은 경로(128)를 통해 LPC 필터(110) 및 적응 코드북(104)에 전달된다. 경로(128)를 통해 전달된 여기 정보는 적응 코드북(104)을 갱신하기 위해 사용된다. 상기 코드북 색인(indices)과 스케일링 인자는 검색기(106,107)로부터 경로(125) 및 (124)를 통해 각각 인코더(109)에 전달된다.
검색기(106)는 적응 코드북(104)에 저장된 여기 정보 셋들을 엑세스하고 경로(123)를 통해 수신된 목표 여기와 코드북(104)에서 얻어진 엑세스된 여기 셋 사이의 에러 기준을 최소화하기 위해 정보의 각 세트를 이용한다. 스케일링 인자는 적응 코드(104)에 저장된 정보가 인간 음성의 동적 범위(dynamic range)내에서 변화를 허용하지 않기 때문에 각 정보의 엑세스(accessed)된 세트에 대해 계산되어진다.
상기 사용된 에러 기준은 최초 및 합성된 음성과의 차이를 제공한 것이다. 상기 합성 음성은 합성기부분에서 재생되는 음성이다. LPC 필터(117)의 출력에 있는 제 1 도의 상기 합성 음성은 코드북(104)및 링잉 신호로부터 얻어진 합성 여기 정보에 의해 계산되고, 음성 신호는 목표 여기 및 링잉 신호로부터 계산된다. 합성 음성에 대한 여기 정보는 매트럭스(matrix)로 표현된 계산기(103)로부터 얻어진 가중치 정보를 이용하는 분석기(102)에 의해 결정된 LPC 필터를 콘볼루션(convo1ution) 시킴으로써 사용되어진다. 상기 에러 기준은 코드북(104)으로부터 얻어진 각 정보의 셋에 대해 평가된다. 그리고 가장 낮은 에러 값을 갖고 있는 여기 정보의 세트는 현재 프레임에 대해 사용된 정보의 세트이다.
검색기(106)가 스케일링 인자와 함께 활용된 여기 정보의 세트를 결정한 후에, 코드북내의 상기 인덱스 및 스케일링 인자는 경로(125)를 통해 인코더(109)로 전달된다. 그리과 여기 정보는 또한 경로(125)를 통해 확률 탐지기(107)에 전달된다. 확률 탐지기(107)는 경로(123)를 통해 수신된 목표 여기로부터 적응 검색기(106)의 여기 징보를 뺀다. 확률 검색기(107)도 적응 검색기(106)에 의해 수행된것과 유사한 동작을 수행한다.
적응 코드북(104)내의 여기 정보는 이전 프레임에서 나온 여기 정보이다. 각 프레임에 대해 여기 정보는 샘플이 되었으며, 원래 음성이 되는 샘플의 같은 수로 구성된다. 상기 여기 정보는 4.8kbps 전달률과 55개의 샘플로 구성된다. 상기 코드북은 새로운 샘플들의 세트를 코드북으로 삽입시키기 위해 푸시 다운(push-down) 리스트로 만들어져 있다. 코드북(104)에서 얻은 여기 정보의 세트를 이용할 때, 검색기(106)는 이러한 정보의 세트들을 체계가 서지 않은 샘플들의 세트로 취급하고 있지 않다. 오히려 코드북내에 샘플들을 여기 샘플들의 선형 배열처럼 취급한다. 예를 들어, 검색기(106)는 코드북(104)에서 얻어진 샘플 1에서 샘플 55를 이용하여 정보의 제 1 후보 세트와, 코드북으로부터 얻어진 샘플 2에서 샘플 56을 이용하여 후보 정보의 제 2 세트를 형성하게 될 것이다. 검색 코드북의 이러한 형태는 중첩된 코드북으로 불리운다.
선형 검색 기술이 코드북내의 샘플들의 끝 부분에서 이용될 때에는, 더 이상 정보가 풀 세트로 활용되지 않는다. 정보의 세트는 또한 여기 벡터로 불리운다. 이때, 상기 검색기는 가상 검색기의 기능을 수행한다. 가상 검색기는 상기 테이블로부터 얻어진 엑세스된 정보를 테이블내에 샘플들이 없는 세트의 나중 부분에서 반복 처리하는 기능을 포함하고 있다. 이 가상 검색 기술은 적응 검색기(106)가 비음성영역에서 음성 영역으로 변화시키는 음성 변화들에 대해 좀 더 빨리 반응하도륵 만든다. 상기 이유는 비음성 영역에서는 여기가 흰색(white)잡음과 유사하며, 음성 영역내에서는 기본 주파수가 있기 때문이다. 최저 진동 주파수의 한 부분은 그것이 반복되는 코드북으로부터 동일시된다.
제 2 도는 코드북에 저장되어 있는 여기 샘플의 일부를 도시했다. 여기 세트마다 단지 10개의 샘플들이 있는 것은 설명을 위한 것이다. 라인(201)은, 코드북의 내용과 라인(202,203,204)들이 가상 검색기술을 이용하여 형성된 여기 세트를 도시하고 있다는 것올 보여주고 있다. 라인(202)에 도시된 여기세트는 라인(201)에 있는 샘플(205)에서부터 코드북을 검색함으로써 형성된다. 샘플(205)에서 시작하면, 테이블내에는 오직 9개의 샘플이 있으며, 샘플(208)은 라인(202)에 도시된 여기 셋의 10번째 샘플을 만들기 위해 샘플(209)과 같이 반복 처리된다. 라인(202)에 도시된 여기 세트를 도시하며, 그 여기 세트는 라인(201)의 샘플(206)에서 시작함으로써 형성된다. 샘플(206)에서 시작하면, 코드북내에는 단지 8개의 샘플들이 있다. 그러므로 샘플들(210)로 그룹이 된 라인(203)의 첫 번째 두 개의 샘플들은 샘플들(211)과 같이 라인(203)에 도시된 여기 세트의 끝부분에서 반복 처리된다. 라인(203)에 도시된 중요한 피크가 피치 피크(pitch peak)라면, 이 피치는 샘플(201)과 (211)에서 반복 처리된다는 사실은 기술자에 의해 관찰될 수 있다. 라인(204)은 코드북내의 샘플(207)에서 시작하여 형성된 제 3 번째 여기 세트를 도시한다. (212)와 감이 3샘플들은 샘플(213)과 같이 라인(204)에 도시된 여기 세트의 끝부분에서 반복처리된다. 라인(201)내의 (207)로 표시된 시작 피치 피크(initial pitch peak)는 코드북(104)의 구성이 각 구성의 끝부분에서 갱신되기 때문에, 이전 프레임에 대해서 검색기(106,107)가 검색했을 때의 최고점이 된다. 상기 확률 검색기(107)는 (207)과 같이 비음성 영역에서 음성 영역으로 피치 피크에 첫번째 도달한다.
확률 검색기(107) 기능은 적응 검색기(106)와 유사한 방법으로 동작한다. 그러나 확률 검색기는 목표 여기 계산기에서 얻어진 목표 여기와 검색기(106)에 의해 발견된 최척의 매치를 나타내는 여기 사이의 차이점을 목표 여기로 사용한다는 점이 다르다. 덧붙이면, 검색(107)은 가장 검색기능을 수행하지 않는다.
제 1 도의 분석기 부분에 대해 상세한 설명이 적혀있다. 이 설명은 매트릭스 및 벡터 수학에 근거한 것이다. 목표 여기 계산기(102)는 목표 여기 벡터 t를 다음과 같이 계산한다. 음성 벡터 s는 다음과 같이 표현할 수 있다.
s=Ht+z
상기 H 메트릭스 경로(121)를 통해 LPC 분석기로부터 수신된 LPC 인자들에 의해 징의된 모든-폴(al1-pole)을 가진 LPC 합성 필터를 표현한 매트릭스이다. H에 의해 표현된 필터의 구조는 후에 상세히 설명되며, 이것이 본 발명 주제의 한 부분이다. 상기 벡터 z는 앞의 모든 프레임이 수신되는 동안 수신된 여기로부터 모든 폴 필터의 링잉을 나타낸다. 앞에서 설명된 바와 같이 벡터 z는 LPC 필터(110)와 제로-입력 응답 필터(111)로부터 얻어진다. 계산기(102) 및 감산기(112)는 벡터 s에서 벡터z를 빼고, 모든 제로 LPC 분석기(101)에 의해 발생된 LPC 분석 필터와 LPC 분석기(101)에 의해 발생된 LPC 인자들로부터 얻어지고, 경로(121)를 통해 전달된 최종 신호 벡터를 처리함으로써 목표 벡터를 표시하는 벡터 (t)를 얻게 된다. 상기 목표 여기 벡터 (t)는 화이트닝 필터로 불리우는 모든 제로 LPC 분석기 필터의 콘볼루숀에 의해 얻어지며, 원래 음성에서 링잉을 뺌으로써 차이 신호가 얻어진다. 이 콘볼루숀은 기존의 처리 기술에 의해 수행된다.
적응 검색기(106)는 목표 여기 벡터 t와 가장 매치되는 후보 여기 벡터 (r)을 찾기 위해 적응 코드북(104)을 검색한다. 벡터(r)는 또한 여기 정보의 세트로 불리운다. 최적의 매치를 결정하기 위해 사용된 상기 에러 기준은 원래 음성과 합성 음성의 차이를 제곱한 것이다. 최초 음성은 벡터(s)에 의해 표시되며, 합성 음성은 다음 방정식에 의해 계산된 벡터(y)에 의해 표시된다.
y=HL1r1+z
여기서 L1는 스케일링 인자이다. 상기 에리 기준은 다음의 형태로 씌여질 수 있다.
e=(Ht+z -HL1r1-z)T(Ht+z-HL1r1-z) (1)
에러 기준에서 매트릭스 H는 중요한 스펙트럼 상기 부분들을 강조하기 위해 수정된다. 이것은 잘 알려진 폴-밴드 폭(Banded width) 기술에 의해 이루어진다. 식(1)은 다음과 같이 다시 씌여질 수도 있다.
e=(t-L1r1)THTH(t-L1r1) (2)
식 (2)는 다음에 도시한 바와 같이 쓸 수 있다.
e=tTHTHt+L1r1 THTHL1r1-2L1r1 THTHt (3)
식 (3)은 제 1 항은 주어진 어떤 드레임에 대하여 일정하며, 코드북(104)에서 어느 r1가 벡터가 사용되었는지를 결정하는 과정에서 수행되는 에러 계산에서는 삭제된다. 코드북(104)내의 각각의 r1의 여기 벡터에 대해서는, 방정식 (3)이 풀려져야 한다. 그리고 에러 기준 e는 e의 가장 낮은 값을 갖는 r1벡터를 선택하기 위해 결정된다. 방정식(3)이 풀리기 전에 상기 스케일링 인자(L1)가 결정되어야 한다. 이리한 과정은 L1에 대해 편도함수(partial derivative)를 적용하고, 그것을 ø과 동일하게 놓음으로서 수행이 된다. 그리고 이것은 다음 식을 산출한다.
Figure kpo00001
식 (4)의 분자는 보통 상호 상관 항(cross-correlation term)으로 언급되며 분모는 에너지항(energy term)으로 언급된다. 상기 에너지 항은 상호 상환 관계항보다 더 많은 계산을 요구한다. 그 이유는 상호 상관 관계항에서는 마지막 세 요소들의 곱(product)프레임 당 오직 한번만 계산이 되어 백터를 만들기 때문이다. 각각의 새오는 후보 벡터 r1에 대해서는 이동된 후보 벡터와 상호 상관 관계항의 마지막 3요소의 계산으로부터 얻어진 일정 백터와의 도트곱(dot product)을 취하는 것이 필요하다.
상기 에너지향은 첫 번째로 Hr1를 계산하고 이것을 전치시기고 Hr1사이의 내적(inner product)을 수행하는 것을 포함한다. 이 결과로 많은 계산을 요구하는 벡터와 매트릭스 작업을 요구하게 된다. 본 발명의 목적은 계산의 횟수를 감소시키고 합성 음성의 결과를 향상시키는데 있다.
본 발명은 종래에 사용된 무한 임펄스 응답 LPC 필터보다는 더 좋은 유한 임펄스 응답 LPC 필터를 이용함으로써 이러한 목적을 실현하고 있다. 일정한 응답 길이를 갖고 있는 유한 임펄스 응답 필터의 이용은 종래의 기술과는 달리 서로 다른 대칭을 갖고 있는 H 매트릭스를 만들어낸다. 상기 H 매트릭스는 유한 임펄스 응답 필터의 동작을 매트릭스 표시법으로 표시했다. 필터는 유한 임펄스 응답 필터이므로, 이 필터와 각각의 후보 벡터(r1)에 의해 표시된 여기 정보의 콘볼루션은 유한 개수의 응답 샘픔들을 발생시키는 벡터(r1)의 각 샘플을 만들어낸다. 상기 유한 개수의 응답 샘플들은 R 개의 샘플들로 지정된다. 콘볼루션 동작과 같은 Hr1를 계산하는 매트릭스 벡터 동작이 후보 벡터 r1내의 각 샘플에서 얻어진 모든 R 응답점들은 합성음성의 프레임을 구성하기 위해 함께 더해진다.
유한 임펄스 응답 필터를 나타내는 H 매트릭스는 (N+R)×N 매트릭스이다. 여기서 N은 샘플들내의 프레임 길이이며, R은 샘플내에 있는 잘려진(truncated)임펄스 응답의 길이이다. H매트릭스의 형태를 사용하면, 응답 벡터(Hr)는 N+R의 길이를 갖는다. H매트릭스의 이리한 형태는 식(5)에 의해 도시될수 있다.
Figure kpo00002
식 (6)에 있는 H 매트릭스 전치 매트릭스와 H 애트릭스의 적을 생각해 보자.
A=HTH (6)
식 (6)은 식 (7)에 의해 표시뇐 (NxN)의 청방형이며 대청이며, Toeplitz 형태인 매트릭스 (A)를 만들어낸다.
Figure kpo00003
식 (7)은 N이 5일 때 HTH 동작으로부터 얻어진 A매트릭스를 도시하고 있다. 기술자들은 식 (5)으로부터 R 값에 따라 A 내의 어떤 요소들이 0이 된다는 것을 알게 될 것이다. R=2이면, A2,A3,A4는 0이 된다.
제 3 도는 제 1 후보 벡터 r1에 대해서는 어느항이 에너지항이 되는지를 도시하고 있으며, 이때에는,이 벡터가 5개의 샘플들을 갖고 있다고 가정한다. 이것은 N=5라는 것을 의미한다. 상기 샘플 X0부터X4는 적응 코드북(104)에 지장된 첫 번째 5개의 샘풀이다. 두 번째 후보 벡터 r2에 대해 식(4)의 에너지항의 계산은 제 4 도에 도시되었다. 뒤에 있는 수는 단지 후보 백터가 변화되었으며, 그것은 X5의 샘플을 더하고, X0의 샘플을 삭제함으로써 변화된다는 것을 설명해주고 있다.
상기 제 3 도에서 도시된 에너지항의 계산값은 스칼라값(scalar value)이다. r1에 대한 스칼라값은 제 4 도에서 도시된 것처럼 후보 벡터 (r2)에 대한 스칼라값과 다르다. 즉 X0샘플의 삭제와 X5샘플을 더함으로써 벡터 r2와 다르게 된다. 유한 일펄스 응답 필터의 사용으로 인해 매트릭스 A에 발생된 대칭과 Toeplitz 특성 때문에, 제 4 도의 스칼라값은 다음 방법에 의해 쉽게 계산될 수 있다. 먼저 X0샘플로 인한 영향은 그 영향이 제 5 도에서 도시된 것치럼 쉽게 결정될 수 있다고 인식함으로써 무시되어진다. 이 영향은 무시될 수 있다. 왜냐하면 항(503)을 갖춘 항(504)을 처리하는 동작과 항(502)을 갖는 항(501)을 포함하는 곱셈 및 덧셈에 근거하기 때문이다. 이와같이 제 6 도는 이러한 영향이 (603)을 같는 (604) 항을 처리하는 동작과 항 (602)을 갖는 항(601)을 처리하는 동작 때문에 생기는 것이라는 사실을 근거로 하여 X5의 가산(addition)의 결과는 스칼라값이 될 수 있다는 것을 도시하고 있다. 제 5 도에 도시된 항들을 빼고 제 6 도에 도시된 항들을 더함으로써, 제 4 도의 에너지 항은 제 3 도의 에너지 항으로부터 반복적으로 계산될 수 있다. 이와 같은 반복 계산방법은 벡터 r1또는 A 매트릭스의 크기에 무관하다는 것을 확실히 알 수 있다. 이러한 반복 계산은 적응 코드북(104) 또는 코드북(105)내에 포함된 후보 벡터들을 서로서로 비교한다. 그러나, 새로운 여기 벡터가 코드북으로부터 얻어졌을 때와 같이 제 5 도와 제 6 도에 도시된 덧셈 작업만을 요구한다.
일반적인 항에 있어, 이 반복 계산은 다음과 같이 수학적으로 표현될 수 있다. 먼저 마지막 성분이 k번째 행에 나타나는 한 세트의 마스킹(masking)매트릭스는 IK로 정의된다.
Figure kpo00004
게다가 단의 메트릭스를 다음과 같이 I로 정의한다.
Figure kpo00005
더욱이 이동 매트릭스는 다음과 같이 정의된다.
Figure kpo00006
Toeplitz 매트릭스에 대해서는 기존의 이론이 적용된다.
STAS=(I-I1)A(I-I1) (11)
A 또는 HTH는 Toeplitz 이기 때문에, 에너지항에 대한 반복계산은 명명법에 따라 다음과 같이 표현된다. 먼저 rJ+1과 관련된 에너지향을 EJ+1로 정의하면
EJ+1=r1 T+1HTHrJ+1(12)
게다가 백터 rJ+1은 rJ+1의 새로운 샘플을 포함하고 있는 벡터와 결합된 rJ의 이동된 형태로 표현될 수있다.
rJ+1=SrJ+(I-IN-1)rJ+1(13)
이동 매트릭스(shift matrix) S를 제거하기 위해 식(11)의 이론을 활용하면 식(12)는 다음의 형태로 다시 씌여진다.
EJ+1=EJ+2[rJ T +1+1(I-IN-1)HTHSrJ-rJ T(I-I1)HTHI1rJ]-rJ THTHI1rJ+rJ T +1(I-IN-1)HTH(I-IN-1)rJ+1
식 (14)를 관찰하면 I및 S 메트릭스는 대부분 제로를 포함하기 때문에 식 (14)을 계산하기 위한 계산 과정은 식 (3)을 계산하기 위한 과정에 비해 크게 감소된다는 것을 알게 될 것이다. 종래의 기술자에 의한 자세한 분석은 식 (14)의 계산은 단지 2Q+4의 플로팅 점(flooating point) 동작들을 요구한다는 것을 보여주고 있다. 여기서 Q는 R 또는 N 수의 값이 작은 값이다. 이것은 식 (3)에 대해 요구된 것보다 계산 과정이 크게 감소된 것이다. 계산의 감소는 HTH 매트릭스의 Toeplitz 특성과 무한 임펄스응답 필터를 이용하기 보다는 유한 임펄스 응답 필터를 사용함으로써 이루어진다.
식 (14)는 코드북(104)의 정상 검색 시간 동안에 에너지향을 계산한다. 그러나 가상 검색이 일단 시작되면, 식 (14)는 제 2 도의 라인(204)위의 샘플(213)에 의해 도시된 가상 샘플들이 2배의 비로 변화하기 때문에, 에너지항을 더 이상 정확하게 계산하지 못하게 된다.
게다가 제2도의 샘풀(214)에 의해 도시된 정상 검색의 샘플들은 여기 벡터의 중간에서 변화한다. 이 상태의 샘플(214)과 같은 코드북내의 실제 샘플들이 벡터 w1에 의해 표시되게 하고 제 2 도의 샘플(213)과 같이 가상부에 있는 샘플들은 벡터 v1에 의해 표되게끔 함으로써 그리고 순환 방법으로 해결된다. 가상 샘플은 여기 벡터전체의 반보다 적게 한정된다. 에너지항은 이러한 조건을 이용하여 식(14)으로부터 아래와 같이 다시 씌여질 수 있다.
E1=w1 THTHw1+2v1 THTHw1+2v1 THTHv1(15)
식 (15)의 첫 번째 및 세 번째 항은 다음 방법에 따라 계산을 풀 수 있다. 식 (l5)의 첫 번째 항의 반복은 다음과 같이 쓰인다.
WJ+1 THTHwJ+1=wJ THTwJ-2wJ T(I-I1)HTHI1w1-wJ TI1HTHI1wJ; (16)
또한, V1및 VJ+1의 관계는 다음과 같이 쓸 수 있다.
VJ+1=S2(I -Ip+1)vJ+(I-IN-2)vJ+1(17)
이것은 식 (15)의 세 번째 항은 다음과 같이 감소된다.
HTHvJ+1=S2HTHvJ+HTHS2(Ip-Ip+1)vJ+(I-IN-2)HTHS2
(I-Ip+1)vJ+HTH(I-IN-2)vJ+1(18)
변수 p는 실제 코드북(104)내에 존재하는 샘플의 수이며 존재 여기 벡터(existing excitation vector)로 사용되어진다. 샘플수의 보기로서는 제 2 도의 샘플(214)이 보기로 되어 있다. 식(15)의 제 2 항 식(18)에 의해 역시 감소될 수 있다. 그 이유는 V1 THT가 단순히 HTHV1의 전치 행렬이기 때문이다. 기술자들은 실제 코드북 샘플과 가상 샘플에서 행해지는 검색 속도는 다르다는 것을 곧 알 수 있을 것이다. 상술한 보기에서는 상기 가상 샘플은 실제 샘플의 2배의 속도로 검색된다.
제 7 도는 제 1 도의 적응 검색기(106)를 좀더 자세히 도시했다. 앞에서 상술한 바와같이 적응 검색기(106)는 두가지 형태의 검색 동작을 수행하며, 그것들은 검색 동작을 가상 및 연속 검색이다. 연속 검색 작업 동안에는, 검색기(106)는 적응 코드북(104)로부터 완전 후보 여기 벡터에 엑세스(access)한다.
반면에 가상 검색 동안에는 적응 검색기(106)가 코드북(104)으로부터 부분(partical) 후보 여기 백터에 접근한다. 제 2 도에 도시한 바와같이 코드북(104)으로부터 엑세스된 후보 벡터의 제 1 부분을 후보 여기 벡터의 뒷부분에서 반복 처리한다. 상기 가상 검색 동작은 블록(708)에서 (712)까지 거치면서 수행되며, 연속적인 검색 동작은 블록(702)에서 (706)을 거치면서 수행된다. 검색 결정기(search determinator)(701)는 가상 또는 연속 검색이 수행되었는지를 판단한다. 후보 선택기(candidate selector)(714)는 코드북이 완전히 검사되었는지 아닌지를 판단하고, 코드북이 완전히 검색되지 않았으면, 선택기(714)는 제어(control)를 검색 결정기(701)에 돌려보낸다.
검색 결정기(701)는 경로(122)를 통해 수신된 스떽트럼 가중치 매트릭스와 경로(123)를 통해 수신된 목표 여기 벡터에 응답하여, 검색 코드북올 제어하게 된다. 후보 벡터의 제 1 무리들은 코드북(104)으로부터 체워지며, 필요한 계산들은 블록(702)에서 (706)까지의 과정에 의해 수행된다. 그리고 후보 여기 벡터의 두번째 무리는 벡터가 반복되는 부분을 갖는 블록(708)에서 (712)까지의 과정에 의해 처리된다.
만일 후보 여기 벡터의 첫번째 무리가 코드북(104)으로부터 엑세스된다면, 검색 결정기는 목표 여기 벡터 스펙트럼 가중치 매트릭스, 그리고 후보 여기 벡터의 인덱스를 전달하여, 경로(727)를 통해 연속적 검색 제어(702)로 엑세스 되도륵 한다. 후자의 제어는 코드북(104)에 엑세스하기 위해 후보 벡터 인덱스에 응답한다. 상기 연속적 검색 제어(702)는 목표 여기 벡터, 스펙트럼 가중치 매트릭스, 인덱스를 고경로(728)를 통해 블록(703) 및 (704)에 전달한다.
블럭(704)는 식(3)의 HTHt함과 동일한 일시적 백터(temporary vector)를 계산하기 위해 경로(728)를 통해 수신된 제 1 후보 여기 벡터에 응답하며, 경로(729)를 통해 상호-상관 관계 계산기(705)에다 경로(728)를 통해 수신된 정보와 일시적 벡터를 전달한다. 제 1 후보 벡터 다음에는, 블록(704)은 경로(729)상에서 수신된 정보를 경로(729)에 전달한다. 계산기(705)는 식(3)의 상호-상관 관계 항을 계산한다.
에너지 계산기(703)은 식(14)에 의해 지시된 동작을 수행함으로써, 식(3)의 에너지 항을 계산하기 위해 경로(728)상의 정보에 응답한다. 계산기(703)는 경로(733)를 통해 이 값을 에러 계산기(706)에 전달한다.
에러계산기(706)는 상호-상관 관계값과 에너지 값을 더함으로써 에러값을 계산하고, 스케일링 인자, 후보수(number)와 후보값(value)과 함께 에러값을 경로(730)를 통해 후보 선택기(714)에 전달하기 위해서 경로(730,733)를 통해 수신된 정보에 응답한다.
후보 선택기(714)는 에러값이 가장 낮은 후보의 정보를 유지하고, 경로(732)를 통해 작동되었을 때, 경로(731)를 통해 검색 결정기(701)에 제어를 돌려주기 위해 경로(732)를 통해 수신된 정보에 응답한다.
검색 결정기(701)가 후보 벡터의 제 2 무리가 코드북(104)으로부터 엑세스되었다는 것을 판단했을때, 그것은 경로(720)을 통해 가상 검색 조절기(708)에 후보 여기 벡터 인덱스, 스펙트럼 가중치 매트릭스, 목표 여기 벡터를 전송한다. 후자의 검색 제어는 코드북(104)에 엑세스하며, 경로(721)를 통해 블록(710,721)에다 경로(720)를 통해 수신된 경보와 엑세스된 코드 여기 벡터를 전송한다. 블록(710,711,712)은 경로(722,723)를 통해 블록(704,705,706)에 의해 수행된 동일한 동작을 수행한다. 블록(709)은 블록(703)이 한것과 같이 식(3)의 에너지항을 계산하는 동작을 수행한다. 그리나 블록(709)은 에너지 계산기(703)에 의해 사용된 식(14)보다는 식(15)을 이용한다.
경로(724)를 통해 수신된 각 후보 벡터 인덱스, 스케일링 인자, 후보 벡터, 에러값에 대해서는, 후보 선택기(714)는 스케일링 인자, 후보 벡터와 가장 낮은 에러값을 갖는 벡터 색인을 갖고 있다. 모든 후보 벡터들이 처리된 후에는, 후보 선택기(714)가 가장 낮은 에러값을 갖고 있는 선택된 후보 벡터의 색인(index)과 스케일링 인자를 경로(125)를 통해 인코더(109)에 전달한다. 그리고 경로(127)를 통해 확률 검색기(107)와 가산기(108)에 선택된 여기 벡터를 전달한다.
제 8 도는 가상 검색 제어(708)를 좀더 자세히 도시한다. 적응 코드북 엑세서(accessor)(801)는 코드북(104)을 엑세스하고 경로(803)를 통해 샘플 반복기(sample repeater)에, 경로(720)를 통해 수신된 정보 및 엑세스된 후보 여기 벡터를 전달하기 위해 경로(720)를 통해 수신된 후보 색인에 응답한다. 샘플 반복기(802)는 후보 벡터에 응답한다. 그 결과로서 제 7 도의 블록(709,710)에다 경로(721)를 통해 전달된 완전한 후보 여기 벡터를 얻기 위해 후보 벡터의 마지막 부분에서, 후보 벡터의 제 1 부분을 반복 처리할 수 있다.
제 9 도는 식(18)에 의해 지시된 동작을 수행하는데 있어서 에너지 계산기(709)의 동작을 자세히 도시한 것이다. 실제 에너지 성분 계산기(901)는 식(18)의 제 1 항에 의해 요구된 동작을 수행하며, 경로(911)를 통해 가산기(905)에 그 결과를 전송한다. 일시적 가상 벡터 계산기(902)는 식(18)에 따라 HTHV1항을 계산하며 경로(910)를 통해 계산기(903,904)에다 경로(721)를 통해 수신된 정보와 그 결과를 전송한다. 경로(901)상에 있는 정보에 응답하여, 혼합 에너지 성분 계산기(903)는 식(15)의 2번째항에 의해 요구된 동작을 수행하고, 경로(913)를 통해 가산기에 그 결과를 전송한다. 경로(910)상에 있는 정보에 응답하여, 가상 에너지 성분 계산기(904)는 식(15)의 3번째 항에 의해 요구된 동작을 수행한다. 가산기(905)는 경로(726)상에 있는 값을 전달하고, 에너지값을 계산하기 위해 경로(911,912,913)상에 있는 정보에 응답한다.
확률 검색기(107)는 제 7 도에 도시한 바와같이 (706)에서 (714)까지를 포함하고 있는 블록들(701)과 비슷한 블록들로 구성되어 있다. 같은 검색 결정기(701)는 경로(123)를 통해 수신된 목표 여기에서 경로(127)를 통해 수신된 선택된 후보 여기 벡터를 빼줌으로써, 제2의 목표 여기 벡터를 형성한다. 게다가, 상기 결정기는 제어를 항상 동일한 제어기(702)에 전달한다.
앞에 언급한 실시예는 주로 발명의 원리를 설명한 것이고 다른 장치들은 본 발명의 범위와 정신에서 벗어남이 없이 숙련된 기술에 의해 설계될 수 있다는 것을 알 수 있다.

Claims (7)

  1. 다수의 샘플을 갖는 음성 벡터로 표시된 각각의 프레임을 포함하는 프레임들로 구성된 음성을 재생용 디코더에 전달하기 위해 인코딩하는 방법에 있어서, 상기 현재의 음성 벡터에 응답하여 목표 여기 벡터를 계산하는 단계와(l02), 상기 후보 음성 벡터의 각 그룹중 제1부분을 후보 여기 벡터의 각각의 상기 그룹중 제2부분에 반복시켜서 상기 목표 여기 벡터로 중첩 테이블내에 저장된 다수의 후보 여기 벡터의 각각에 대한 에러값을 계산하므로써 상기 음성의 무음성 영역과 음성 영역 사이의 음성 전이를 보상하는 단계와(106,104), 상기 테이블내에서 가장 작은 에러값을 갖고 있는 선택된 후보 여기 벡터의 장소와 현재의 음성 벡터에 대한 상기 음성 재생을 위한 필터 인자들을 한정하는 정보를 전달하는 단계(109)로 구성되어 있는 것을 특징으로 하는 음성 인코딩 방법.
  2. 제 l 항에 있어서, 상기 계산 단계(106,104)는, 상기 테이블에 샘플 배열을 저장하는 단계와(104), 각각의 상기 후보 여기 벡터를 형성하기 위해 상기 현재의 음성 벡터내에 있는 샘플들의 수와 동일한 윈도우를 이동시킴으로써, 상기 그룹의 상기 여기 벡터의 각각에 대한 제 2 부분을 채우기 위해 상기 배열내에는 샘플들이 없는 상기 그룹의 후보 벡터들을 생성하는 단계(801)와, 후보 여기 벡터와 상기 그룹의 각각을 완성시키기 위해 상기 후보 여기 벡터내에 있는 상기 제 2 부분에서 상기 후보 여기 벡터중 상기 각 그룹의 상기 제 1 부분을 반복 처리하는 단계(802)를 추가로 포함하고 있는 것을 특징으로하는 음성 인코딩 방법.
  3. 제 3 항에 있어서, 상기 목표 여기 벡터와 선택된 여기 벡터로부터의 일시적 여기 백터를 계산하는 단계와, 상기 음성 벡터중 현재의 벡터에 응답하여 한 세트의 필터 인자들을 계산하는 단계(101)와, 상기 현재의 음성 벡터에 대한 상기 필터 인자에 근거하여 유한한 임펄스 응답 필터를 모델(model)화 시키기 위해 Toeplitz 형태의 스펙트럼 가중치 매트릭스를 계산하는 단계(103)를 추가로 포함하고 있으며, 상기 계산 단계(106,104)는, 상기 일시적 여기 벡터와 상기 스펙트럼 가중치 매트릭스와 또 다른중첩 테이블내에 저장된 다수의 다른 후보 음성 벡터중 각각에 응답하는 상호 상관관계 값을 계산하는 단계(711)와, 상기 일시적 여기 벡터와 상기 스펙트럼 가중 매트릭스 및 다른 후보 여기 백터의 각각에 응답하여 상기 다른 후보 여기 벡터의 각각에 대한 에너지값을 반복적으로 계산하는 단계(709)와, 상기 다른 후보 여기 벡터의 각각에 대한 상기 상호 상관관계 및 예너지값에 응답하여 상기 다른 후보 여기 벡터에 대한 에러값을 계산하는 단계(706)와, 가장 작은 에러값을 갖는 다른 후보 여기 벡터를 선택하는 단계(714)를 추가로 포함하고 있으며, 상기 전달 단계는 상기 현재의 음성 벡터에 대한 상기음성을 재생하기 위해 상기 테이블 내에 있는 선택된 다른 후보 여기 벡터의 장소를 전달하는 단계를 추가로 포함하고 있는 것을 특징으로 하는 음성 인코딩 방법.
  4. 각각 복수의 샘플을 갖는 프레임으로 구성된 음성을 재생용 디코더에 전달하기 위해 인코딩시키는 치에 있어서, 여기 정보의 후보 세트의 각 그룹중 제 2 부분에서 여기 정보의 상기 후보 세트증 각각의 제 1 부분을 반복 처리함으로써 상기 현재 프레임과 가장 잘 매치되는 여기 정보의 후보 세트를 결정하기 위해 상기 프레임중 현재 프레임을 갖고 있는 테이블내에 저장된 다수의 여기 정보의 후보 세트들을 검색하고, 상기 음성의 음성 영역과 음성 사이의 변화와 같은 음성 변화가 일어나는 동안 매칭(matching)의 양을 보상하는 수단(106,104)과, 상기 디코더에 의해 상기 현재의 프레임에 대한 상기 음성을 재생하기 위해, 상기 테이블내에 있는 가장 잘 매치된 여기 정보의 후보 세트를 식별하는 정보를 전달하는 수단(109)으로 구성되어 있는 것을 특징으로 하는 음성 인코딩 장치.
  5. 제 4 항에 있어서, 상기 검색 수단(106,l04)은, 상기 테이블내에 여기 정보의 상기 후보 세트를 선형 열로 저장하는 수단(104)과, 여기 정보의 각 후보 세트를 형성하기 위해 여기 정보의 각 후보 셋 내에 있는 샘플수와 동일한 윈도우를 이동시키고, 상기 여기 정보의 상기 그룹에 대한 상기 각 여기 정보 후보 셋중 제 2 부분을 채우기 위해 상기 샘플이 없는 여기 정보의 상기 후보 셋트의 상기 그룹의 여기정보의 후보 세트를 생성하는 수단(801)과, 여기 정보의 상기 후보 셋중 각 상기 그룹을 완성하기 위해 여기 정보의 상기 후보 셋중 각 상기 그룹의 제 2 부분에서 여기 정보의 상기 후보 셋중 각 상기 그룹의 상기 제 1 부분을 반복 처리하는 수단(802)을 추가로 포함하고 있는 음성 인코딩 장치.
  6. 제 5 항에 있어서, 상기 검사 수단은, 상기 음성 프레임중 상기 현재의 것에 응답하여 한 세트의 필터 인자를 결정하는 수단과, 상기 한 세트의 필터 인자로부터 유한한 임펄스 응답 필터를 나타내는 정보를 계산하는 수단(103)을 추가로 포함하고 있으며, 상기 검색 수단(106,104)은 여기 정보중 상기 후보 셋과 여기 정보중 상기 목표 셋중 각각에 있는 유한한 임펄스 응답 필터 정보에 응답하여 상기 테이블내에 기억된 상기 다수의 여기 정보의 후보 세트중 각각에 대한 에러값을 반복적으로 계산하기 위한 수단(709,710,71l,712)과 가장 작은 에러값을 갖는 여기 정보의 상기 후보 세트중 최적의 것을 선택하기 위한 수단(714)을 추가로 포함하고 있는 것을 특징으로 하는 음성 인코딩장치.
  7. 제 6 항에 있어서, 상기 검사 수단은, 상기 음성 프레임중 상기 현재의 것에 응답하여 한 세트의 필터 인자를 결정하는 수단과, 상기 한 세트의 필터 인자로부터 유한한 임펄스 응답 필터를 나타내는 정보를 계산하는 수단(103)을 추가로 포함하고 있으며, 상기 검색 수단(106,104)은 여기 정보중 상기 후보 셋과 여기 정보중 상기 목표 셋중 각각에 있는 유한한 임펄스 응답 필터 정보에 응답하여 상기 테이블내에 기억된 상기 다수의 여기 정보의 후보 세트중 각각에 대한 에러값을 반복적으로 계산하기 위한 수단(709,710,711,712)과 가장 작은 에러값을 갖는 여기 정보의 상기 후보 세트중 최적의 것을 선택하기 위한 수단(714)을 추가로 포함하고 있는 것을 특징으로 하는 음성 인코딩장치.
KR1019880007693A 1987-06-26 1988-06-25 음성 인코딩 방법 및 장치 KR0128066B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/067,650 US4910781A (en) 1987-06-26 1987-06-26 Code excited linear predictive vocoder using virtual searching
US067,650 1987-06-26

Publications (2)

Publication Number Publication Date
KR890001022A KR890001022A (ko) 1989-03-17
KR0128066B1 true KR0128066B1 (ko) 1998-04-02

Family

ID=22077439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880007693A KR0128066B1 (ko) 1987-06-26 1988-06-25 음성 인코딩 방법 및 장치

Country Status (9)

Country Link
US (1) US4910781A (ko)
EP (1) EP0296764B1 (ko)
JP (1) JP2892011B2 (ko)
KR (1) KR0128066B1 (ko)
AT (1) ATE80489T1 (ko)
AU (1) AU595719B2 (ko)
CA (1) CA1336455C (ko)
DE (1) DE3874427T2 (ko)
HK (1) HK96493A (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
DE68922134T2 (de) * 1988-05-20 1995-11-30 Nippon Electric Co Überträgungssystem für codierte Sprache mit Codebüchern zur Synthetisierung von Komponenten mit niedriger Amplitude.
US5359696A (en) * 1988-06-28 1994-10-25 Motorola Inc. Digital speech coder having improved sub-sample resolution long-term predictor
EP0364647B1 (en) * 1988-10-19 1995-02-22 International Business Machines Corporation Improvement to vector quantizing coder
JPH02250100A (ja) * 1989-03-24 1990-10-05 Mitsubishi Electric Corp 音声符合化装置
IL95753A (en) * 1989-10-17 1994-11-11 Motorola Inc Digital speech coder
JP2834260B2 (ja) * 1990-03-07 1998-12-09 三菱電機株式会社 音声のスペクトル包絡パラメータ符号化装置
FR2668288B1 (fr) * 1990-10-19 1993-01-15 Di Francesco Renaud Procede de transmission, a bas debit, par codage celp d'un signal de parole et systeme correspondant.
JP2776050B2 (ja) * 1991-02-26 1998-07-16 日本電気株式会社 音声符号化方式
FI98104C (fi) * 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
US5396576A (en) * 1991-05-22 1995-03-07 Nippon Telegraph And Telephone Corporation Speech coding and decoding methods using adaptive and random code books
US5187745A (en) * 1991-06-27 1993-02-16 Motorola, Inc. Efficient codebook search for CELP vocoders
US5265190A (en) * 1991-05-31 1993-11-23 Motorola, Inc. CELP vocoder with efficient adaptive codebook search
JP2609376B2 (ja) * 1991-06-28 1997-05-14 修 山田 金属間化合物およびセラミックスの製造方法
US5255339A (en) * 1991-07-19 1993-10-19 Motorola, Inc. Low bit rate vocoder means and method
US5267317A (en) * 1991-10-18 1993-11-30 At&T Bell Laboratories Method and apparatus for smoothing pitch-cycle waveforms
FI90477C (fi) * 1992-03-23 1994-02-10 Nokia Mobile Phones Ltd Puhesignaalin laadun parannusmenetelmä lineaarista ennustusta käyttävään koodausjärjestelmään
US5884253A (en) * 1992-04-09 1999-03-16 Lucent Technologies, Inc. Prototype waveform speech coding with interpolation of pitch, pitch-period waveforms, and synthesis filter
ES2042410B1 (es) * 1992-04-15 1997-01-01 Control Sys S A Metodo de codificacion y codificador de voz para equipos y sistemas de comunicacion.
US5513297A (en) * 1992-07-10 1996-04-30 At&T Corp. Selective application of speech coding techniques to input signal segments
US5357567A (en) * 1992-08-14 1994-10-18 Motorola, Inc. Method and apparatus for volume switched gain control
CA2105269C (en) * 1992-10-09 1998-08-25 Yair Shoham Time-frequency interpolation with application to low rate speech coding
CA2108623A1 (en) * 1992-11-02 1994-05-03 Yi-Sheng Wang Adaptive pitch pulse enhancer and method for use in a codebook excited linear prediction (celp) search loop
JP2746033B2 (ja) * 1992-12-24 1998-04-28 日本電気株式会社 音声復号化装置
US5491771A (en) * 1993-03-26 1996-02-13 Hughes Aircraft Company Real-time implementation of a 8Kbps CELP coder on a DSP pair
SG43128A1 (en) * 1993-06-10 1997-10-17 Oki Electric Ind Co Ltd Code excitation linear predictive (celp) encoder and decoder
US5623609A (en) * 1993-06-14 1997-04-22 Hal Trust, L.L.C. Computer system and computer-implemented process for phonology-based automatic speech recognition
US5517595A (en) * 1994-02-08 1996-05-14 At&T Corp. Decomposition in noise and periodic signal waveforms in waveform interpolation
FR2729245B1 (fr) * 1995-01-06 1997-04-11 Lamblin Claude Procede de codage de parole a prediction lineaire et excitation par codes algebriques
SE504010C2 (sv) * 1995-02-08 1996-10-14 Ericsson Telefon Ab L M Förfarande och anordning för prediktiv kodning av tal- och datasignaler
US5794199A (en) * 1996-01-29 1998-08-11 Texas Instruments Incorporated Method and system for improved discontinuous speech transmission
JP3364825B2 (ja) 1996-05-29 2003-01-08 三菱電機株式会社 音声符号化装置および音声符号化復号化装置
WO1999003097A2 (en) * 1997-07-11 1999-01-21 Koninklijke Philips Electronics N.V. Transmitter with an improved speech encoder and decoder
US6044339A (en) * 1997-12-02 2000-03-28 Dspc Israel Ltd. Reduced real-time processing in stochastic celp encoding
US6169970B1 (en) 1998-01-08 2001-01-02 Lucent Technologies Inc. Generalized analysis-by-synthesis speech coding method and apparatus
JP3319396B2 (ja) 1998-07-13 2002-08-26 日本電気株式会社 音声符号化装置ならびに音声符号化復号化装置
US6144939A (en) * 1998-11-25 2000-11-07 Matsushita Electric Industrial Co., Ltd. Formant-based speech synthesizer employing demi-syllable concatenation with independent cross fade in the filter parameter and source domains
KR100309873B1 (ko) * 1998-12-29 2001-12-17 강상훈 코드여기선형예측부호화기에서무성음검출에의한부호화방법
US6510407B1 (en) 1999-10-19 2003-01-21 Atmel Corporation Method and apparatus for variable rate coding of speech
US20030014263A1 (en) * 2001-04-20 2003-01-16 Agere Systems Guardian Corp. Method and apparatus for efficient audio compression
US7792670B2 (en) * 2003-12-19 2010-09-07 Motorola, Inc. Method and apparatus for speech coding
CN101009097B (zh) * 2007-01-26 2010-11-10 清华大学 1.2kb/s SELP低速率声码器抗信道误码保护方法
CN101261836B (zh) * 2008-04-25 2011-03-30 清华大学 基于过渡帧判决及处理的激励信号自然度提高方法
US8447619B2 (en) 2009-10-22 2013-05-21 Broadcom Corporation User attribute distribution for network/peer assisted speech coding
KR101691549B1 (ko) 2012-10-05 2016-12-30 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 자기상관 영역에서 acelp를 이용하는 음성 신호 인코딩 장치
US10041146B2 (en) 2014-11-05 2018-08-07 Companhia Brasileira de Metalurgia e Mineraçäo Processes for producing low nitrogen metallic chromium and chromium-containing alloys and the resulting products

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4720861A (en) * 1985-12-24 1988-01-19 Itt Defense Communications A Division Of Itt Corporation Digital speech coding circuit

Also Published As

Publication number Publication date
EP0296764A1 (en) 1988-12-28
US4910781A (en) 1990-03-20
JP2892011B2 (ja) 1999-05-17
DE3874427T2 (de) 1993-04-01
JPS6440899A (en) 1989-02-13
AU595719B2 (en) 1990-04-05
DE3874427D1 (de) 1992-10-15
HK96493A (en) 1993-09-24
KR890001022A (ko) 1989-03-17
ATE80489T1 (de) 1992-09-15
EP0296764B1 (en) 1992-09-09
CA1336455C (en) 1995-07-25
AU1837888A (en) 1989-01-05

Similar Documents

Publication Publication Date Title
KR0128066B1 (ko) 음성 인코딩 방법 및 장치
KR0127901B1 (ko) 음성 인코딩 장치 및 그 방법
US5327519A (en) Pulse pattern excited linear prediction voice coder
JP3272953B2 (ja) 適応コードブックに基づく音声圧縮システム
US5265190A (en) CELP vocoder with efficient adaptive codebook search
JP2820107B2 (ja) 改良されたベクトル励起源を有するデジタル音声コーダ
JP3481251B2 (ja) 代数的符号励振線形予測音声符号化方法
US5187745A (en) Efficient codebook search for CELP vocoders
US5179594A (en) Efficient calculation of autocorrelation coefficients for CELP vocoder adaptive codebook
KR100194775B1 (ko) 벡터양자화장치
EP0575511A4 (ko)
US5884251A (en) Voice coding and decoding method and device therefor
US5173941A (en) Reduced codebook search arrangement for CELP vocoders
KR20060030012A (ko) 스피치 코딩 방법 및 장치
EP0516439A2 (en) Efficient CELP vocoder and method
EP0578436A1 (en) Selective application of speech coding techniques
Taniguchi et al. Pitch sharpening for perceptually improved CELP, and the sparse-delta codebook for reduced computation
KR100463559B1 (ko) 대수 코드북을 이용하는 켈프 보코더의 코드북 검색방법
KR100465316B1 (ko) 음성 부호화기 및 이를 이용한 음성 부호화 방법
JPH10242867A (ja) 音響信号符号化方法
WO2002023536A2 (en) Formant emphasis in celp speech coding
EP0903729A2 (en) Speech coding apparatus and pitch prediction method of input speech signal
JP3471889B2 (ja) 音声符号化方法及び装置
KR100550002B1 (ko) 음성부호화기에서 적응 코드북 검색기 및 그 방법
JP3068689B2 (ja) 音声符号化方法

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19880625

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19930607

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19880625

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 19961120

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 19970731

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19971028

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19971028

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20000927

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20011006

Start annual number: 5

End annual number: 5

G170 Re-publication after modification of scope of protection [patent]
PG1701 Publication of correction

Patent event code: PG17011E01I

Patent event date: 20020221

Comment text: Request for Publication of Correction

Publication date: 20021023

PR1001 Payment of annual fee

Payment date: 20021011

Start annual number: 6

End annual number: 6

G170 Re-publication after modification of scope of protection [patent]
PG1701 Publication of correction

Patent event code: PG17011E01I

Patent event date: 20021009

Comment text: Request for Publication of Correction

Patent event code: PG17011E01I

Patent event date: 20020221

Comment text: Request for Publication of Correction

Publication date: 20021023

PR1001 Payment of annual fee

Payment date: 20031006

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20041025

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20051025

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20061026

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20071001

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20090325

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20091021

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20100901

Start annual number: 14

End annual number: 14

FPAY Annual fee payment

Payment date: 20110921

Year of fee payment: 15

PR1001 Payment of annual fee

Payment date: 20110921

Start annual number: 15

End annual number: 15

EXPY Expiration of term
PC1801 Expiration of term

Termination date: 20130709

Termination category: Expiration of duration