KR100194775B1 - 벡터양자화장치 - Google Patents

벡터양자화장치 Download PDF

Info

Publication number
KR100194775B1
KR100194775B1 KR1019950033430A KR19950033430A KR100194775B1 KR 100194775 B1 KR100194775 B1 KR 100194775B1 KR 1019950033430 A KR1019950033430 A KR 1019950033430A KR 19950033430 A KR19950033430 A KR 19950033430A KR 100194775 B1 KR100194775 B1 KR 100194775B1
Authority
KR
South Korea
Prior art keywords
vector
code
index
error
gain
Prior art date
Application number
KR1019950033430A
Other languages
English (en)
Other versions
KR960013082A (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
Priority claimed from JP23814294A external-priority patent/JPH08101700A/ja
Priority claimed from JP05763295A external-priority patent/JP3277090B2/ja
Priority claimed from JP06365995A external-priority patent/JP3319551B2/ja
Application filed by 니시무로 타이죠, 가부시키가이샤 도시바 filed Critical 니시무로 타이죠
Publication of KR960013082A publication Critical patent/KR960013082A/ko
Application granted granted Critical
Publication of KR100194775B1 publication Critical patent/KR100194775B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Landscapes

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

Abstract

인덱스로 지정되는 코드벡터를 사용하여 목표벡터를 표현하는 벡터양자화장치에 있어서, 오차평가부에서 인덱스의 후보에러를 고려하지 않은 코드벡터의 오차평가와 부호에러를 고려한 오차평가를 실시하여 부호에러를 고려하지 않은 오차평가 결과에 의거해서 제1의 선택부에서 다수의 인덱스 부호로부터 소수의 인덱스부호를 선택한 후, 제1의 선택부에서 선택된 소수의 인덱스 후보로부터 제2의 선택부에서 부호에러를 고려한 오차평가에 의거해서 목표벡터를 표현하기 위해서 사용하는 인덱스를 선택한다.

Description

벡터양자화장치
제1도는 본 발명에 의한 벡터양자화장치의 실시예 1의 부호화장치측의 블록도.
제2도는 실시예 1의 부호 선택처리를 나타낸 플로차트.
제3도는 실시예 1의 부호화장치측의 블록도.
제4도는 본 발명에 의한 벡터양자화장치의 실시예 2의 부호화장치측의 블록도.
제5도는 본 발명에 의한 벡터양자화장치의 실시예 3의 원리적인 블록도.
제6도는 본 발명의 실시예 3에 관한 음성부호화장치의 블록도.
제7도는 제6도의 예비선택의 일례의 상세한 블록도.
제8도는 예비 선택부의 다른 예를 나타낸 블록도.
제9도는 제8도에 나타낸 예비 선택부의 처리를 나타낸 플로차트.
제10도는 제6도의 본 선택부의 일례의 상세한 블록도.
제11도는 제10도에 나타낸 본 선택부의 극성정보를 구하는 처리절차를 나타낸 플로차트.
제12도는 제10도에 나타낸 본 선택부의 처리절차의 예를 나타낸 플로차트.
제13도는 실시예 3의 잡음 코드 벡터 재생부의 처리 절차의 예를 나타낸 플로차트.
제14도는 본 발명의 실시예 3에 관한 음성복호화장치의 블록도.
제15도는 본 발명의 실시예 4에 관한 음성복호화장치를 나타낸 블록도.
제16도는 본 발명의 실시예 5에 관한 게인 양자화장치의 블록도.
제17도는 본 발명의 실시예 6에 관한 음성부호화장치의 블록도.
제18도는 실시예 6의 동작을 설명하기 위한 적응코드벡터와 잡음코드벡터 및 구동신호의 예를 나타낸 파형도.
제19도는 본 발명의 실시예 7에 관한 음성 복호화장치의 블록도.
제20도는 본 발명의 실시예 8에 관한 게인 양자화장치의 블록도.
제21도는 본 발명의 실시예 9에 관한 게인 양자화장치의 블록도.
제22도는 본 발명의 실시예 10에 관한 음성부호화장치의 블록도.
제23도는 본 발명의 실시예 11에 관한 음성 복호화장치의 블록도.
제24도는 본 발명의 실시예 12에 관한 게인 양자화 장치의 블록도.
본 발명은 음성이나 화상의 부호화에 사용되는 벡터 양자화장치에 관한 것이다.
벡터양자화는 음성신호등을 샘플링하여 얻어진 샘플을 복수개 정리한 블록을 다차원 벡터공간의 일점으로 간주하고 이것을 일괄해서 부호화하는 방식이며, 인덱스로 지정되는 벡터를 사용하여 목표 벡터를 실현하는 것이며, 무선 전송용의 음성을 압축부호화하는 음성부호화장치 등에 많이 사용된다.
근년의 CELP 방식으로 대표되는 음성부호화방식에서는 적응코드북(adaptive codebook)과 잡음코드북(random noise codebook)의 2개의 코드북을 사용한 벡터양자화에 의해 음원이 되는 구동신호(excitation signal)의 피치성분의 형상과 잡음성분(random noise)의 형상을 표현하고, 이들의 형상을 조합하여 얻어진 구동신호를 그 특성(필터계수)이 시간과 더불어 변화하는 합성 필터(synthesis filter)에 통과시킴으로써 합성음성(synthesized speech)을 생성한다. 또 합성음성을 고품질의 것으로 하기 위하여 구동신호의 부호화부에서는 합성음성의 주관적인 오차(error)를 최소로 하도록 부호화를 하고 있다.
즉 음성으로부터 추출되는 시간과 더불어 변화하는 오차척도를 사용하여 적응코드북 및 잡음코드북으로부터 인출하여야 할 코드벡터를 각각 지정하기 위한 인덱스를 선택하는 방법을 채용하고 있다. 이 때문에 종래의 CELP방식은 4Kbit/초 정도의 낮은 비트 레이트에서도 비교적 고품질의 합성음성을 제공할 수 있다.
그러나 무선을 사용한 이동체 통신용의 음성부호화장치에 종래의 CELP 방식등을 사용한 경우 전송로의 부호 에러가 전송되는 인덱스에 영향을 미쳐 합성음성의 품질을 크게 염화시켜 버림이 알려져 있다. 이와같은 부호 에러는 가령 에러정정부호(error correcting code)를 부가하여도 전송로의 상태가 나쁠 경우에는 방지할 수가 없다. 따라서 전송로의 부호에러에 의한 품질열화를 될 수 있는 대로 적게 하는 구성을 음성의 부호화 과정에 짜넣는 것이 실용적인 부호화장치를 제공하기 위해 중요해진다.
음성부호화장치에서 종래로부터 알려져 있는 부호에러대책의 방법으로서는 부호화출력인 전송파라미터 후보간에 미리 용장성(redundency)을 갖게 하는 부호에러에 의한 열화를 적게 하도록 코드벡터와 인덱스의 대응지움을 미리 설정하는 등의 대책을 부호화장치를 설계하는 단계에서 한 방법이 있다. 이들 방법은 예컨대 전자정보 통신학회 논문지 Vol. J77-A No.3 pp. 485-493. 1994[모리야씨외 CELP 부호화에 있어서의 여진 코드북의 학습법]에 자세히 기록되어 있다. 이와같은 방법을 사용하여 설계된 부호화장치를 사용하면 부호화장치에서 선택된 인덱스 정보의 부호가 전송로에서 부호에러를 받았을 때, 복호화장치에서 재생되는 코드벡터의 품질 열화를 평균적으로 억제할 수 있는 효과가 있다.
그러나 상술한 음성부호화장치에서는 실동작시에 부호화장치가 실시하는 인덱스의 선택단계에서는 전송로의 부호에러에 의한 품질열화의 영향을 고려하고 있지 않고, 어디까지나 부호에러가 없는 것으로 코드벡터의 오차평가를 하여 그 평가치만 가지고 잡음코드북의 인덱스 부호를 선택하고 있다. 즉 선택된 인덱스의 부호에 에러가 생겼을 때, 어느 정도의 오차가 되는 가는 평가되어 있지 않다. 따라서 인덱스부호에 에러가 발생했을 경우에 그 부호에러에 따라서는 복호측에서 판독되는 코드벡터에 큰 오차가 생겨서 돌발적으로 재생신호에 큰 품질열화가 생길 가능성이 있다는 문제가 있었다.
이와같은 벡터 양자화 방식 중에서도 특히 비트레이트가 8Kbit/초 정도의 음성 부호화에 사용되는 벡터 양자화 방식으로서 VSELP(Vector Sum Excited Linear Prediction)방식이 알려져 있다. VSELP 방식의 상세한 것은 Ira A. Gerson 씨등의 VECTOR SUM EXCITED LINEAR PREDICTION (VSELP)SPEECH CODING AT 8 KBPS Proc. IEEE Int. Conf. on Acoustics, Speech and Signal Processing, pp. 461-464, April 1990에 기재되어 있다.
VSELP 방식의 하나의 특징은 벡터 양자화의 출력부호인 인덱스의 비트수가 p일때, 미리 저장되어 있는 p개의 기저(basis)벡터를 사용하여, 이들 p개의 기저 벡터의 합 또는 차의 조합으로 2p개의 코드벡터(code vector)를 표현하는 점이다.
구체적으로는 p개의 벡터 vm(n)에 계수 θim을 곱해서 승산결과를 가산함으로써 코드벡터 ui(n)을 얻는다. 여기서 vm(n)은 제 m번째의 기저벡터, ui(n)은 인덱스 i의 코드벡터를 나타내고, 계수 θim은 i와 m의 값으로부터 +1 또는 -1중의 어느것인가를 취한다. 이와같이 하면 재귀식(recursive equation)을 사용하여 최적의 인덱스 i가 탐색(search)되기 때문에 인덱스i의 비트수p가 7∼9 정도이면 벡터 양자화에 요하는 계산량을 실시간 처리가 가능할 정도로 억제할 수가 있다.
그런데 이 종래의 벡터 양자화 방식에서는 인덱스 탐색에 요하는 계산량의 삭감효과가 아직 충분치 못하여 인덱스의 비트수 p를 10이상으로 크게 하여 실시간 처리를 실현하기는 곤란하다.
상술한 바와 같이 종래법의 벡터양자화장치에서는 인덱스의 비트수가 클 때는 호적한 인덱스 탐색에 요하는 계산량의 증대가 원인으로 실시간 처리의 실현이 곤란해지는 문제점이 있었다.
다음에 CELP방식으로 대표되는 선형예측분석(liner prediction analysis)법에 의거한 음성부호화 방식에서는 구동신호, 게인 및 필터계수(filter coefficient)가 주요한 파라미터이다.
CELP 방식에 대해 간단히 설명하면 우선 음성부호화 장치에서는 프레임 단위로 분할된 입력음성을 분석함으로써 가중합성 필터(weighted synthesis filter)의 필터계수를 결정한다. 한편, 입력음성을 청감가중부(perceptional weighting section)를 통해서 얻어진 가중입력음성과 가중 합성 필터로부터 출력되는 복호(decoded)음성과의 오차가 최소가 되도록 적응코드북 및 잡음 코드북으로부터의 2종의 코드벡터와, 이들 코드벡터에 곱하는 게인을 구해서 게인을 곱한 후의 2종의 코드벡터를 합성하여 가중합성 필터의 구동신호로 한다. 그리고 이들 구동신호, 게인 및 합성필터의 필터계수의 정보를 부호화 파라미터로 하여 음성복호화장치에 보낸다. 음성복호화장치에서는 보내진 파라미터로부터 복호음성을 생성한다.
그래서 이와같은 음성부호화/복호화장치에서는 부호화장치로부터 전송하는 부호화 파라미터의 정보량을 어떻게 저감하는가가 중요한 과제이며, 그 때문에 여러가지 방책이 강구되고 있다.
예컨대 합성 필터를 구동하는 구동전류는 사람의 성대로부터 발생하는 신호를 모델화한 신호이며, 그 전력은 시간적으로 완만하게 변화하는 특징이 있다. 게인코드북의 인덱스정보를 전송할 때의 양자화에 필요한 비트수를 삭감하는 한가지 방법으로서 이 특징을 이용하는 수법이 제안되어 있다. 구체적으로는 과거의 프레임의 구동신호의 전력을 기억해두고, 현프레임에서는 이것과 코드벡터의 전력을 비교함으로써 게인의 값을 예측한다. 그리고 이 예측치와 실제의 게인 값과의 차를 양자화하여 전송한 복호측에서는 이 반대의 조작으로 실제의 게인 값을 얻는 방법이다.
그러나 이 방법은 과거의 프레임의 정보를 이용하고 있기 때문에 입력음성의 상승부 및 하강부나 음운(vocal)의 변화부 등의 과도부(transition)에서는 게인의 예측(prediction)의 차이가 커져서 반드시 효과적인 양자화를 기대할 수는 없다.
상술한 바와 같이 CELP방식의 음성부호화/복호화장치에서 코드벡터에 곱하는 게인의 정보를 전달할 때, 게인 코드북의 인덱스정보를 양자화하는 비트수를 삭감하도록 게인의 양자화를 실시하는데 있어 전 프레임의 정보를 사용하는 종래의 기술에서는 입력신호의 과도부의 양자화 성능이 반드시 양호하지만은 않다는 문제가 있었다.
본 발명은 상술한 사정에 대처하기 위하여 이루어진 것으로서, 그 제1의 목적은 전송로에 부호에러가 있을 때에도 재생신호의 돌발적인 품질열화를 최소한으로 억제할 수 있는 벡터양자화장치를 제공하는 것이다.
본 발명의 제2의 목적은 인덱스의 비트수가 대단히 큰 경우라도 고속으로 호적한 인덱스 탐색이 가능한 벡터 양자화장치를 제공하는 것이다.
본 발명의 제3의 목적은 게인코드벡터를 전송할 때의 양자화에 필요한 비트수를 삭감할 수 있고, 또 입력신호의 과도부의 양자화 성능이 우수한 벡터양자화장치를 제공하는 것이다.
제1의 목적을 달성하기 위하여 본 발명은 인덱스로 지정되는 코드벡터를 사용하여 목표벡터를 표현하는 벡터양자화장치에 있어서, 인덱스의 부호 에러를 고려하여 코드벡터의 오차를 평가하는 수단과, 이 오차평가수단의 평가결과에 의거해서 목표벡터를 표현하기 위해 사용하는 인덱스가 될 수 있는 복수의 인덱스후보로부터 적어도 1개의 인덱스를 선택하는 수단을 갖는 것을 특징으로 한다.
또 본 발명은 코드벡터의 오차를 평가하는 제1의 평가수단과, 인덱스의 부호에러를 고려하여 코드벡터의 오차를 평가하는 제2의 평가수단과, 제1의 평가수단의 평가결과에 의거해서 목표 벡터를 표현하기 위하여 사용하는 인덱스가 될 수 있는 복수의 인덱스 후보로부터 소수의 인덱스후보를 선택하는 제1의 선택수단과, 제2의 평가수단의 평가결과에 의거해서 제1의 선택수단에 의해 선택된 인덱스후보로부터 적어도 1개의 인덱스를 선택하는 제2의 선택수단을 갖는 것을 특징으로 한다.
또한 본 발명은 인덱스의 정보를 전달하는 전송로의 부호에러에 관한 정보를 입력하는 수단과, 이 입력수단에 의해 입력된 정보에 의거해서 제2의 평가수단의 부호에러를 고려하는 정도를 조절하는 수단을 갖는 것을 특징으로 한다.
또한 본 발명의 오차 평가수단에서는 코드벡터의 오차를 계산으로 구하여 평가하나, 오차평가의 방법으로서는 실제로 벡터간의 거리오차를 계산하는 방법외에, 오차계산의 수식의 변형에 의해 합성 벡터와 목표벡터의 내적에 상당하는 값이나, 합성 벡터의 파워에 상당하는 값 또는 이에 준할 만한 값을 조합시킨 간략적인 오차평가 방법이나, 부호 에러에 의한 코드 벡터의 직접적인 형상의 오차를 합성필터를 사용하지 않고 구하는 등의 방법을 사용할 수도 있다.
본 발명을 벡터 양자화를 사용한 음성부호화장치 즉, 합성음성을 합성필터와 이를 구동하는 구동신호로 표현하고, 구동신호의 잡음성분을 인덱스로 지정되는 잡음코드 벡터를 사용하여 표현하는 방법에 의거한 음성부호화장치에 적용할 경우에는 다수의 인덱스부호중에서 구동신호의 잡음성분을 표현하기 위해 사용하는 인덱스를 선택하는 과정에 본 발명에 의한 인덱스의 선택수법을 응용할 수 있다. 그 경우에 코드벡터에 대한 가중오차평가를 실시하도록 한다.
또한 제2의 목적을 달성하기 위하여 본 발명은 목표 벡터에 대한 대표 벡터의 오차에 의거해서 소망하는 대표벡터에 대응한 인덱스를 탐색하고, 탐색한 인덱스를 출력하는 벡터양자화장치에 있어서, N차원의 종(seed)벡터의 요소와 그것에 곱하는 극성을 요소로 하는 N차원의 극성벡터의 요소 sn과의 곱을 요소로 하는 대표 벡터를 생성하는 수단과, 극성 벡터의 각 요소의 극성에 대응한 극성 정보 인덱스를 생성하는 수단과, 극성정보 인덱스에 의거해서 극성벡터를 생성하는 수단을 갖는 것을 기본적인 특징으로 한다.
즉 대표벡터 생성수단은 N차원의 종벡터의 요소 vn과 N차원의 극성벡터의 대응하는 요소 sn과의 곱 Vn×Sn(n=0∼N-1, |sn|=1)을 요소로 하는 대표 벡터를 생성한다. 여기서 극성정보 인덱스 수단은 바람직하기는 극성정보 생성수단으로 생성되는 극성벡터의 요소 sn의 극성을 지정하는 극성정보에 의해 지정되는 극성벡터의 요소 sn의 극성을 sk(K=L(p,n)(k,p는 0≤k≤p-1, 1≤p≤N을 충족하는 정수)로 하고, sk와 그 극성정보의 제k비트째의 값 bk를 대응지움으로써 p 비트의 극성정보 인덱스를 생성한다.
또 이 경우에 함수 L(p,n)은 n을 p로 나누었을 때의 잉여, 또는 np/N을 넘지 않은 최대의 정수일 것이 요망된다.
또한 종 벡터의 k=L(p,n)의 요건을 충족하는 n번째의 벡터요소에 대해 목표 벡터와 대표 벡터의 부분적 내적을 구하고, 이 부분적 내적의 극성을 sk로 하는 것이 요망된다.
본 발명의 확장된 벡터양자화장치에서는 N차원의 종 벡터를 복수개 저장한 종 벡터저장수단과, 이 종 벡터저장수단에 저장된 복수개의 종벡터의 1개를 선택하기 위한 종벡터 인덱스를 탐색하는 종벡터 인덱스 탐색수단이 갖추어진다. 이 경우에 대표 벡터 생성수단에서는 종벡터 인덱스 탐색수단에 의해 탐색된 종벡터 인덱스로 선택된 N차원의 종벡터의 요소와 이 종벡터의 각 요소에 곱하는 극성을 요소로하는 N차원의 극성 벡터의 요소와의 곱을 요소로 하는 대표 벡터를 생성한다.
또 상기 종 벡터 인덱스 탐색수단은 종벡터 저장수단에 저장된 종 벡터의 개수를 I로 하고, 종 벡터 vi(i는 종 벡터 인덱스이며, i=0∼I-1)로 했을 때, 이 종벡터 Vi마다 이 종벡터의 k=L(p,n)(k,p는 0≤k≤p-1, 1≤p≤N을 충족하는 정수)의 조건을 충족하는 n번째의 벡터요소에 대해 상기 목표벡터와 상기 대표 벡터와의 부분내적 fk로부터 계산되는
을 사용하여 종벡터의 인덱스 후보수를 J개(0J1)로 좁히는 수단을 갖는 것을 특징으로 한다.
제3의 목적을 달성하기 위하여 본 발명에 관한 벡터 양자화장치는 프레임 단위의 제1 및 제2의 입력벡터를 입력으로 하여 제2의 입력벡터에 곱해진 게인을 양자화하는 장치에 있어서, 현프레임의 제1의 입력벡터를 사용하여 역정규화 계수를 산출하고, 이 역정규화 계수를 사용하여 정규화 게인을 역정규화하여 제2벡터에 곱해지는 게인을 구하는 것을 특징으로 한다.
또 역정규화 계수를 산출할 때, 현 프레임의 제1의 입력벡터를 스케일링한 입력 벡터를 사용하여도 좋다.
본 발명의 벡터양자화장치는 프레임 단위의 제1 및 제2의 입력벡터를 입력하여 제2의 벡터에 곱해지는 게인을 양자화하는 벡터양자화장치에 있어서, 현 프레임의 제1의 입력벡터를 사용하여 정규화 계수를 산출하고, 이 정규화계수를 사용하여 제1 벡터에 곱해지는 게인을 정규화하는 것을 특징으로 한다.
이 경우에는 정규화계수를 산출할 때, 현프레임의 제1의 입력벡터를 스케일링한 입력벡터를 사용하여도 좋다.
본 발명에 관한 음성부호화장치는 적응 코드북 및 잡음 코드북으로부터 얻어지는 적응코드벡터 및 잡음코드벡터를 게인코드북으로부터 얻어지는 정규화게인 및 고정게인을 각각 곱한후에 합성하여 프레임단위의 입력음성 신호의 분석결과에 의거해서 필터계수가 결정되는 합성필터에 구동신호로서 공급하고, 이 합성필터로부터 출력되는 음성신호와 청감가중 입력음성신호와의 오차가 최소가 되는 적응코드벡터와 잡음코드벡터 및 게인을 적응코드북과 잡음코드북 및 게인코드북으로부터 각각 탐색하여 상기 적응코드벡터, 잡음코드벡터, 상기 게인코드북으로부터 얻어지는 게인 및 상기 합성필터의 필터계수를 각각 표시하는 부호화 파라미터로서 출력하는 음성부호화장치에 있어서, 상기 적응코드북으로부터 얻어지는 현프레임의 적응코드벡터를 사용하여 역정규화계수를 산출하는 역정규화계수 산출수단과, 이 수단에 의해 산출된 역정규화계수 사용하여 상기 게인코드북으로부터 얻어지는 정규화게인을 역정규화하여 정규화전의 게인을 얻는 역정규화수단과, 상기 정규화게인을 표시하는 부호화 파라미터를 출력하는 수단을 갖춘 것을 특징으로 한다.
본 발명에 관한 음성복호화장치는 적응코드벡터, 잡음코드벡터, 정규화게인 및 합성필터의 필터계수를 각각 표시하는 부호화 파라미터를 입력으로 하고, 적응코드북 및 잡음코드북으로부터 얻어지는 적응코드벡터 및 잡음코드벡터를 게인코드북으로부터 얻어지는 정규화게인 및 고정게인을 곱한 후에 합성하여 프레임 단위의 입력음성신호의 분석결과에 의거해서 필터계수가 결정되는 합성필터에 구동신호로서 공급함으로써 음성신호를 복호화하는 음성복호화장치에 있어서, 상기 적응코드북으로부터 얻어지는 현 프레임의 적응코드벡터를 사용하여 역정규화계수를 산출하는 역정규화계수 산출수단과, 이 수단에 의해 산출된 역정규화계수를 사용하여 상기 정규화게인으로부터 잡음코드 벡터에 곱하는 정규화전의 게인을 얻는 수단을 갖춘 것을 특징으로 한다.
[실시예]
이하 도면을 참조하여 본 발명에 의한 벡터양자화장치의 실시예를 설명한다.
[실시예 1]
제1도는 본 발명에 의한 벡터양자화장치를 적용한 실시예 1에 관한 음성부호화장치의 블록도이다. 개략적으로 설명하면 본 실시예는 입력음성으로부터 합성필터 계수정보, 피치주기(pitch)정보, 잡음코드북의 인덱스정보 및 게인코드북의 인덱스정보의 4종류의 정보를 추출하여 부호화하는 구성이며, 또 합성음성의 오차(목표 벡터와의 오차)가 적어지도록 피치주기정보, 잡음코드북의 인덱스정보 및 게인 코드북의 인덱스정보의 부호화를 실시하고, 이것들을 합성필터 계수정보와 더불어 전송한다. CELP 방식으로 대표되는 음성부호화법에 의한 음성부호화장치에 본 발명을 적용한 예를 나타내고 있다.
본 실시예는 후술하는 바와 같이 잡음코드북의 인덱스의 탐색에서 본 발명의 독자적인 수법을 채용하고 있다. 제1도의 구성을 구체적으로 설명하기 전에 제2도를 참조하여 본 발명의 잡음 코드북의 인덱스 탐색 절차에 대해 설명한다.
스텝 S0에서 입력음성에 의거해서 목표벡터를 설정한다.
스텝S1에서 부호에 에러가 없는 것으로 하고 합성음성의 오차를 평가하여 잡음코드 벡터의 인덱스의 후보를 선택한다. 즉 목표벡터가 될 수 있는 적당한 수의 코드 벡터(후보)를 나타내는 인덱스를 선택한다. 예컨대 후보의 선택방법은 오차의 순서대로 코드벡터를 정렬하여 오차가 최소가 되는 코드벡터로부터 소정수를 선택하면 된다.
스텝S2에서 이와같이 선택된 인덱스 후보수에 대해서 부호 에러에 의한 품질 열화를 고려한 오차평가를 실시하고, 스텝S3에서 최종적으로 목표벡터를 생성하기 위한 1개의 인덱스를 결정한다.
다음에 제1도의 구성에 대해 설명한다. 본 실시예의 음성부호화장치는 일정시간의 과거의 구동신호(excitation signal)를 저장하여 지정된 피치주기에 따라 코드벡터를 생성하는 적응코드북(2000)과, 여러가지 소정의 구동신호(잡음코드벡터)를 저장하여 잡음코드북 인덱스에 따라 잡음코드벡터를 생성하는 잡음코드북(2180)을 구비한다. 이들 코드북(2000, 2180)으로부터 얻어지는 코드벡터는 각각 게인회로(2160, 2250)으로 게인 g1, g2가 주어진 후, 가산기(2260)로 가산되어 합성필터(2270)에 구동신호로서 공급된다. 이들 게인은 게인코드북(2280)으로부터 주어진다. 합성필터(2270)는 구동신호를 입력으로 하여 합성음성을 출력한다. 한편, 입력음성이 합성필터계수 정보분석부(2290)에 입력된다. 합성필터계수 정보분석부(2290)는 입력음성을 분석하여 음성의 스펙트럼의 외형을 표시하는 합성필터의 계수정보를 추출, 부호화하고, 이것을 합성필터 계수정보로 하여 목표벡터작성부(2300)에 줌과 동시에 합성필터의 계수를 합성필터(2270)에 준다. 합성필터 정보의 분석법으로서는 예컨대 LPC(Linear Prediction Coding) 분석법을 사용할 수가 있다. 목표벡터 작성부(2300)는 입력음성과 합성필터정보로부터 목표벡터를 생성하고, 그것을 오차평가부(2310)에 출력한다. 오차평가부(2310)는 목표벡터와 합성필터계수 정보를 사용하여 합성필터(2270)로 얻어진 합성음성에 대한 목표벡터의 오차를 평가한다. 오차평가부(2310)의 출력은 부호예비선택부(2320), 부호선택부(2325)에 공급된다. 부호예비선택부(2320)는 오차평가부(2310)에서 구해지는 오차평가치에 의거해서 잡음코드북(2180)의 코드벡터후보(인덱스후보)를 선택하여 선택결과를 부호선택부(2325)에 준다. 부호선택부(2325)는 부호예비선택부(2320)에서 좁혀진 소수의 인덱스후보로부터 부호에러를 고려하여 최적의 잡음코드북의 인덱스를 선택한다. 부호에러를 고려하기 위하여 부호선택부(2345)의 출력인덱스에 전송로, 또는 기록매체의 부호에러를 모의하여 부여하는 부호에러처리부(2326)가 부호선택부(2325)와 잡음코드북(2180) 사이에 접속된다.
이하, 제1도의 각 구성요소에 대해 보다 상세히 설명한다.
적응코드북(2000)은 피치주기를 선택하기 위하여 사용된다. 즉 적응코드(2000)은 과거의 구동신호를 저장하여 미리 설정되는 피치 주기후보 중에서 부호화 파라미터로서 사용하는 피치주기를 선택한다. 구체적으로는 적응코드북(2000)에 피치주기 후보를 주어 얻어지는 코드벡터를 합성필터(2270)로 합성하여 얻어지는 합성벡터후보와 목표벡터 작성부(2300)에서 생성되는 목표벡터와의 오차가 적어지는 것을 평가의 기준으로 하여 부호예비 선택부(2320)에서 최적의 피치주기를 선택한다.
오차계산의 방법으로서는 실제로 합성벡터 후보와 목표벡터와의 거리오차를 계산하는 방법도 있으나, 오차 계산의 수식의 변형에 의해 합성벡터와 목표 벡터의 내적에 상당하는 값이나 합성벡터의 파워에 상당하는 값을 조합시킴으로써 어떠한 피치주기 후보에 대해서도 고정치가 되도록 하는 값을 중복하여 계산하는 것을 회피하고, 보다 적은 계산량으로 오차의 대수를 판정하는 방법을 사용함으로써 최적의 피치주기를 선택할 수 있다.
적응코드북(2000)의 탐색에는 게인회로(2160)의 게인을 예컨대 통상의 CELP 방식에서 사용되는 최적 게인에 설정하는 것과 등가인 코드북 탐색법을 사용할 수가 있다. 또 이때 잡음 코드북(2180)으로부터 인출되는 코드벡터에 의한 구동신호의 영향은 0인 것으로 하고, 피치주기의 탐색이 실시된다. 만일 잡음 코드북의 인덱스의 후보수가 대단히 적은수로 한정할 수 있을 때는 잡음코드북(2180)으로부터의 코드벡터에 의한 구동신호의 영향을 고려하여 피치주기 탐색을 실시하면 보다 오차가 적은 합성음성을 생성가능한 피치주기와 잡음코드를 탐색할 수 있는 효과도 기대할 수 있다. 다음에 잡음코드북의 인덱스 탐색절차에 대해 제2도에 나타낸 플로차트를 참조하여 설명한다. 여기서 설명하는 잡음 코드북의 인덱스 탐색에 본 발명에 의한 벡터 양자화를 적용한다. 이 경우에 오차평가부(2310)는 잡음코드북의 인덱스의 부호에러를 고려하지 않고 코드벡터의 오차를 평가하는 제1의 평가와 잡음코드북이 인덱스의 부호에러를 고려하여 코드벡터의 오차를 평가하는 제2의 평가를 실시한다.
즉 우선 먼저 오차평가부(2310)에서 잡음코드북(2180)의 인덱스정보의 부호에러가 없을 때의 오차평가결과를 구하고, 이 오차평가결과에 의거해서 미리 설정되는 다수의 잡음코드북의 인덱스후보를 부호예비선택부(2320)에서 소수의 잡음코드북의 인덱스 후보로 좁힌다. 다음에 오차평가부(2310)에서 잡음코드북의 인덱스 정보의 부호에러에 의한 품질열화를 고려한 오차평가 결과를 구하고, 이 오차평가 결과에 의거해서 부호예비 선택부(2320)에서 선택된 소수의 잡음코드북의 인덱스후보에 대해 부호선택부(2325)에서 잡음코드북의 인덱스 후보수를 좁혀서 구동신호의 표현에 사용하는 잡음코드북의 인덱스 탐색을 실시한다.
구체적으로는 부호예비선택부(2320)에서 탐색루프(2340)를 사용하여 잡음코드북(2180)에 잡음코드북의 인덱스 후보를 주고, 이 잡음코드북의 인덱스 후보에 대응하는 코드벡터를 합성필터(2270)로 합성하여 얻어지는 합성벡터후보와 목표 벡터작성부(2300)에서 입력음성에 의거해서 생성되는 목표벡터와의 오차가 적어지는 것을 지표로 하여 소수의 잡음코드북의 인덱스 후보를 선택한다. 이때의 오차 계산의 방법으로서는 실제로 벡터간의 거리오차를 계산하는 방법도 있으나, 오차계산의 수식의 변형에 의해 합성벡터와 목표벡터의 내적에 상당하는 값이나, 합성 벡터의 파워에 상당하는 값, 또는 이것에 준하는 값을 조합시킴으로써 어떤 잡음코드북의 인덱스후보에 대해서도 고정치가 될 수 있는 값을 중복하여 계산하는 것을 회피하여, 보다 적은 계산량으로 오차가 적은 잡음 코드북의 인덱스를 선택할 수 있다.
부호선택부(2325)에서는 부호예비 선택부(2320)에서 선택된 소수의 잡음 코드북의 인덱스후보를 보다 소수의 인덱스후보로 좁힌다.
본 실시예에서는 부호선택부(2325)에서 단 1개의 잡음 코드북의 인덱스까지 좁혀서 최종적으로 전송하는 잡음코드북의 인덱스 정보를 얻고 있다.
이때, 오차평가부(2310)에서 사용하는 오차평가치의 계산은 부호에러가 없는 조건에서 사용하는 것과 마찬가지의 오차평가치를 사용할 수 있으나, 계산을 더욱 간략화하기 위하여 합성필터(2270)을 사용하지 않고 부호에러에 의한 코드벡터의 직접적인 형상의 오차를 사용하는 등의 방법으로 인덱스를 선택하는 방법도 유효하다.
부호에러처리부(2326)는 부호선택부(2325)에서 선택된 소수의 잡음코드북의 인덱스 후보마다 전송로, 또는 기록매체의 부호에러를 모의하여 인덱스에 그 부호에러에 의한 변화를 주었을 때의 코드벡터의 오차도 평가가 가능하도록 잡음코드북(2820)에 인덱스를 준다.
전송로, 또는 기록매체의 부호에러를 고려하여 코드벡터의 오차를 평가하는 방법으로서는 예컨대 다음에 나타내는 오차의 기대치(expected value)E를 사용하는 방법이 있다.
여기서 E(i)는 인덱스 i에 대응하는 부호를 전송했을 때의 오차의 기대치, P(jli)는 인덱스 i가 전송로, 또는 기록매체의 부호에러에 의해 인덱스 j로 변하는 확률, d(j)는 인덱스 j에 대응하는 코드벡터의 부호에러가 없을 때의 오차평가치 또는 간략적인 오차평가치를 표시한다. 예컨대 인덱스 i에 대응하는 전송로, 또는 기록매체의 부호가 n비트로 표현되어 있다고 하면 이것들 중의 1비트에 에러가 나는 확률은 ε=P(j/i)(단 i≠j)이며, n비트에 모두 에러가 나지 않는 확률은 1-nε=p(i|i)가 된다.
부호선택부(2325)에서 선택된 소수의 잡음 코드북의 인덱스후보중에서 가장 바람직한 크기의 E를 주는 인덱스 i가 잡음코드북의 인덱스 후보로서 선택된다. d가 오차량을 표시하도록 오차평가치를 정의할 경우에는 E가 오차량의 기대치가 되기 때문에 E가 최소가 될 때의 인덱스를 선택하는 것이 요망된다.
또 E의 계산의 간략화를 위하여 확률 P(j/i)의 값이 임계치 이하인 경우에는 P를 미리 0으로 양자화하여 식(1)에서 P가 0인 것은 계산하지 않도록 한다든가 P의 값을 고정소수점 DSP(디지털신호 프로세서)를 사용했을 때 계산이 간단하게 되도록(1/2)의 n승(n은 자연수)의 값으로 양자화하는 방법도 유효하다. 여기서는 식(1)의 P(j/i)값은 미리 주어진 것으로 한다.
또한 식(1)의 오차의 기대치E의 정의는 앞서 소개한 전자정보 통신학회 논문지 vol. J77-A No.3 pp. 485-493, 1994 「모리야씨 외 CELP 부호화에 있어서의 여진코드북의 학습법」에도 기재되어 있으나, 동 문헌에서는 기대치 E를 고려하는 것은 코드북의 설계단계 뿐이며, 통상의 부호화에서는 인덱스의 탐색에 전송로, 또는 기록매체의 부호에러를 고려하지 않는 오차평가치를 사용하고 있다.
이에 비해 본 발명은 통상의 부호화에서 전송로, 또는 기록매체의 부호에러를 고려한 평가법을 인덱스의 탐색중에 도입하고 있는 것이 상술한 문헌과 크게 다르다. 이와 같이 하면 부호에러의 조건하에 실제로 복호되는 재생신호의 품질이 어느 정도인가를 인덱스의 평가에 포함시켜서 인덱스를 선택할 수가 있으므로 부호에러에 의한 돌발적인 품질열화를 극히 적게할 수가 있다.
제1도에 나타낸 음성부호화장치의 구성으로 오차의 기대치 E(i)를 구하는 한가지 방법은 부호에러처리부(2326)가 부호선택부(2325)로부터 주어지는 인덱스 i에 대해 확률 p(j/i)가 무시할 수 없는 크기인 인덱스 j를 인덱스 후보로서 잡음코드북(2180)에 주어, j에 대응하는 코드벡터마다 구해지는 오차평가치에 각각의 확률을 가중시킨 것의 총계를 취하는 것이다.
또 E(i)를 구하는 다른 방법으로서 부호 예비선택부(2320)에서 인덱스마다의 오차평가치d를 메모리에 일시적으로 축적해두고, 이 부호예비선택부(2320)에서 선택된 소수의 인덱스 후보에 대해 필요한 d를 메모리로부터 판독하여 부호선택부(2325)에서 오차평가치의 기대치를 계산하는 구성으로 하면 제1도의 부호에러처리부(2326)가 불필요하게 된다.
이상 설명한 바와같은 인덱스의 탐색법을 사용하면 부호화장치측에서 최종적으로 선택된 인덱스는 에러가 없을 때는 일정이상의 고품질의 음질을 제공할 수 있고, 에러가 있을 때라도 음질열화가 적으므로 실제로 전송로, 또는 기록매체에 부호에러가 생긴 경우라도 복호화기측에서 돌발적으로 품질열화가 생길 가능성을 극히 적게 할 수가 있다.
다음에 상술한 음성부호화장치에 의해 생성된 부호정보로부터 부호화음성을 생성하는 음성복호화장치의 1실시예에 대해 설명한다. 제3도는 본 발명에 관한 음성복호화장치의 1실시예를 나타낸 블록도이다. 제3도에서는 제1도에 나타낸 음성부호화장치에서 부호화된 파라미터가 되는 합성필터계수정보, 피치주기정보, 잡음코드북의 인덱스정보 및 게인코드북의 인덱스정보를 입력하고, 이들 정보로부터 합성음성을 생성하는 구성을 나타내고 있다.
우선 구동신호의 재생방법에 대해 설명한다. 적응코드북(1000)에서 음성부호화장치로부터 전송된 피치주기정보에 의거해서 과거의 구동신호로부터 선택한 적당한 적응코드벡터를 얻는다. 이 적응코드벡터에 대해 음성부호화장치로부터 전송된 게인코드북의 인덱스 정보에 의거해서 게인코드북(1290)으로부터 얻어지는 적응코드벡터용의 게인 g1을 게인회로(1160)에서 곱하여 제1의 벡터를 작성한다.
한편, 음성부호화장치로부터 전송된 잡음 코드북의 인덱스에 의거해서 잡음코드북(1180)으로부터 잡음코드벡터를 인출하여 이것에 게인코드북(1290)으로부터 얻어지는 잡음코드벡터용의 게인 g2를 게인회로(1250)에서 곱하여 제2의 벡터를 생성한다.
그리고 가산기(1260)에서 제1의 벡터와 제2의 벡터를 가산한 것을 구동신호로하여 재생한다. 최후에 이 구동신호를 음성부호화장치로부터 전송된 합성필터 계수정보에 의거해서 구성되는 합성필터(1270)에 입력하여 음성합성을 실시하여 얻어진 합성음성을 출력단자(1280)로부터 얻는다.
이상 설명한 바와같이 실시예 1에 의하면 인덱스의 부호에러를 고려한 코드벡터의 오차평가 결과에 의거해서 목표벡터를 표현하기 위해서 사용하는 인덱스가 될 수 있는 다수의 인덱스 후보중에서 소망하는 인덱스를 선택함으로써 선택된 인덱스의 부호에 부호에러가 있을 때라도 재생신호에 돌발적으로 큰 품질열화가 생기는 가능성을 대폭적으로 감소시킨다.
또 코드벡터의 오차평가 결과에 의거해서 다수의 인덱스 후보 중에서 소수의 인덱스 후보를 선택함으로써, 전체의 인덱스 후보 중에서 부호에러가 없을 때의 재생신호에 대해 오차가 적은 일정한 품질 이상을 확보할 수 있는 소수의 인덱스 후보를 선택한다. 다음에 이 소수의 인덱스후보에 대해 인덱스 정보의 부호에러에 의한 영향을 고려한 오차평가를 실시하여 그 오차평가 결과에 의거해서 인덱스 후보의 후보수를 더욱 적게 좁힘으로써 부호에러시의 품질열화가 적은 인덱스후보를 선택하고, 최종적으로 목표 벡터를 표현하기 위해서 사용하는 인덱스를 선택한다.
통상 부호에러의 영향을 고려한 오차평가는 계산이 복잡화하나, 본 발명에서는 부호에러를 고려하지 않은 오차평가로 인덱스의 후보수를 적게 하고 나서 에러를 고려한 오차평가를 실시하므로 계산량을 거의 늘이지 않고 전송로, 또는 기록매체의 부호에러에 대해 안정적으로 품질열화를 억제할 수 있는 인덱스를 선택하는 것이 가능해진다.
또한 본 실시예는 부호화측의 부호탐색의 방법을 바꾼 것만으로서 부호에러에 강한 부호화장치를 제공할 수 있으므로, 이미 표준화된 부호화 방식에 응용하는 경우에 코드북등의 테이블을 다시 기입할 필요가 없는 이점이 있다.
다음에 본 발명의 다른 실시예를 설명한다. 이하의 실시예에서 실시예 1과 대응하는 부분은 동일 참조 숫자를 붙여서 상세한 설명은 생략한다.
[실시예 2]
제4도는 본 발명에 의한 벡터양자화장치를 전송로, 또는 기록매체의 부호에러에 관한 정보가 얻어지도록 하는 구성을 갖는 음성부호화장치, 또는 전송로 또는 기록매체의 부호에러에 관한 정보를 부호화장치에 제공하는 것이 가능한 무선통신 시스템에 사용되는 음성부호화장치에 적용한 실시예 2를 나타내고 있다.
실시예 1에서는 부호에러는 미리 추정해 둔 것을 사용하고 있는 즉 전송로 또는 기록매체마다 고정된 값을 사용하고 있으나, 본 실시예에서는 부호에러율 검출기(2327)가 전송로, 또는 기록매체의 부호에러에 관한 정보를 단자(2328)로부터 얻어서 부호에러의 유무, 또는 부호에러의 정도를 검출하고, 오차의 기대치E의 계산에 사용되는 인덱스의 부호에러의 확률 P(j/i)값을 부호에러의 상태에 따라 변화, 설정하는 지령을 부호선택부(2325)에 주는 구성을 취하고 있다.
이와같이 하면 전송로, 또는 기록매체의 에러율에 따른 보다 정확한 오차의 기대치가 얻어지고, 상황에 가장 적절한 인덱스를 선택할 수 있는 효과가 있다. 예컨대 전송중, 또는 기록 재생중에 부호에러가 없다는 정보가 얻어지는 경우에는 부호에러의 고려 정도를 낮게 하든가 또는 부호에러를 고려하지 않고 오차최소화에 의거해서 인덱스를 탐색하고, 부호에러가 많다는 정보가 얻어지는 경우에는 부호에러를 고려하는 정도를 크게 한 인덱스 탐색으로 전환하는 것을 용이하게 실현할 수가 있다.
잡음코드북(2180)의 인덱스 탐색에서는 게인회로(2250)의 게인을 예컨대 공지의 CELP 방식에서 사용되는 최적 게인으로 설정하는 것과 등가의 코드북 탐색법을 사용할 수가 있다.
게인코드북의 인덱스 정보를 부호화하는 이 실시예에서는 게인코드북의 인덱스 정보에 의해 특정의 게인을 지정할 수 있는 게인코드북(2280)과 탐색루프(2350)를 사용하여 실시한다. 게인코드북의 인덱스정보의 탐색에 있어서는 합성음성과 입력음성과의 오차가 적어지도록 탐색을 실시하도록 한다.
본 실시예에서는 실시예 1에서 설명한 바와 마찬가지로 부호예비선택부(2320)에서 인덱스마다의 오차평가치 d(j)를 메모리에 일시적으로 축적해두고, 부호예비선택부(2320)에서 선택된 소수의 인덱스 후보에 대해 필요한 d(j)를 메모리로부터 판독하여 부호선택부(2325)에서 오차 평가치의 기대치를 계산하는 구성으로 하면 부호에러처리부(2326)가 불필요하게 된다. 또 본 실시예에 의한 음성 부호화장치에 대응하는 음성복호화장치는 제3도에 나타낸 구성이면 된다.
이상 설명한 바와 같이 실시예 1의 효과에 덧붙여서 전송로, 또는 기록매체의 부호에러에 대한 정보가 얻어지는 구성을 갖는 부호화장치나 무선통신 시스템에 있어서, 이 전송로, 또는 기록매체의 부호에러에 관한 정보에 따라 부호에러를 고려한 오차평가에서 부호에러에 의한 영향을 고려하는 정도를 바꿈으로써 통신로의 부호에러 상태에 적응해서 오차가 적은 재생신호를 얻을 수 있는 인덱스를 선택할 수 있게 되므로 더욱 전송로 또는 기록매체의 부호에러에 강한 벡터 양자화가 가능해진다.
또한 제1, 제2 실시예에서는 인덱스의 선택과정에서 처음에 부호에러가 없을 때의 오차평가로 인덱스의 후보수를 축소하고, 다음에 축소된 후보수에 대해 부호에러에 의한 품질열화를 고려한 오차평가로 인덱스 후보를 더욱 좁히게 하였으나, 만일 코드북의 사이즈가 작아서 전 인덱스 후보수가 처음부터 적을 경우에는 처음부터 부호에러에 의한 품질열화를 고려한 오차의 평가로 인덱스를 선택하는 방법(즉 제2도의 스텝S1을 생략하여 갑자기 스텝3을 실행하는 방법)으로도 전송부호에러에 강한 부호화장치를 실현하기 위해 유효하다는 것이 명백하다. 스텝S2에서 부호에러없는 조건에서 후보를 좁히고 나서 부호에러 있는 조건에서 최적 인덱스를 구하고 있는 것은 계산량, 계산시간의 삭감을 위한 것 뿐이다.
또 제1, 제2의 실시예에서는 인덱스의 선택과정에서 처음에 부호에러가 없을때의 오차평가로 인덱스의 후보수를 축소하고, 다음에 축소된 후보수에 대해 부호에러에 의한 품질열화를 고려한 오차평가로 인덱스후보를 1개의 인덱스로 좁히도록 하였으나, 후자의 좁힘 단계에서 복수의 후보로 좁혀서 얻어진 복수의 후보에 대해 예컨대 음성신호의 별도 구간에서의 오차평가 결과나 게인을 고려한 오차평가결과 등, 다른 오차평가 결과에 의거해서 최종적으로 1개의 인덱스를 선택하도록 하여도 좋다.
또한 제1, 제2의 실시예에서는 잡음코드북의 인덱스탐색에 본 발명에 의한 벡터양자화를 적용한 예에 대해 설명하였으나, 이것에 한정되는 것은 아니며, 기본적으로는 벡터 양자화를 적용할 수 있는 파라미터의 부호화 부분이면 본 발명을 적용할 수가 있다.
[실시예 3]
다음에 인덱스 탐색에 요하는 계산량을 대폭적으로 삭감할 수 있고, 실시간 처리를 용이하게 실현할 수 있는 실시예를 설명한다.
제5도는 본 발명의 벡터양자화장치의 잡음코드벡터 생성부의 원리적 구성을 나타낸 도면이다. 이 예에서는 코드북(100)은 잡음코드북이며, 잡음코드벡터로서 N차원의 종벡터(seed vector)V를 복수(I)개 저장하고 있다. I개의 N차원의 종벡터를 Vi(i=0∼I-1)로 표시한다. 단자(101)에는 종벡터 선택용 인덱스 Ic가 입력되고, 이 인덱스 Ic에 따라 종벡터 선택스위치(102)로 I개의 종벡터 Vi중의 1개가 선택된다.
한편, 극성벡터 생성부(103)는 극성정보 인덱스 Ip로부터 N차원의 극성벡터 S를 생성한다. N개의 승산기(104)로 된 극성승산부(105)는 스위치(102)로 선택된 종벡터V의 N개의 요소 vn(n=0∼N-1)에 극성 벡터 생성부(103)에서 생성된 극성벡터S의 N개의 요소 sn을 각각 곱함으로써 vn×sn의 곱을 요소 un으로 하는 대표벡터 U를 생성한다.
이와같은 벡터재생부를 벡터양자화장치에 사용하면 대표 벡터 인덱스의 비트수가 클때라도 적은 계산량으로 고속으로 최적의 대표 벡터 인덱스의 탐색을 할 수 있으므로 실시간처리에 적합한 것이 된다. 이 효과를 구체예를 사용하여 설명한다.
예컨대 20비트의 정보로 220(=1,048,576)개의 대표 벡터(80차원)를 표현하는 코드북을 사용하여 8KHz 샘플링의 음성데이터를 벡터 양자화하는 것을 생각한다.
이 경우에 종래의 VSELP 방식에서는 20개의 종벡터의 합 또는 차의 조합으로 220개의 대표 벡터를 표현할 수 있으나, 이중에서 호적한 대표 벡터를 탐색하기 위해서는 219회의 오차량 계산루프가 필요하다. 이와같은 다수의 루프회수의 대표 벡터 탐색에는 약 천 IPS 정도의 거대한 계산량이 필요해진다.
이에 비해 본 발명의 하나의 태양에서는 1개의 종벡터의 요소를 20구간으로 분할하고, 각각의 구간마다의 벡터요소에 +1 또는 -1 극성을 곱함으로써 벡터의 합이나 차를 취함이 없이 극성정보의 조합만으로 220개의 대표 벡터를 표현할 수 있다. 구간마다의 극성은 1비트이므로 20비트의 정보로 단 1개의 대표 벡터를 재생할 수 있다. 호적한 대표 벡터의 극성은 1회의 간단한 벡터의 내적계산(80호의 곱의 합)과 20회의 극성판정만으로 결정할 수가 있기 때문에 계산량은 1/10 MIPS 이하가 된다.
본 발명의 다른 태양에서는 4개의 종벡터의 선택에 2비트, 극성정보에 18비트 사용하는 구성으로 220개의 대표벡터를 표현할 수가 있다. 이 방법에서는 벡터의 내적계산이 4회, 호적한 종 벡터의 탐색에 4회의 오차계산 루프가 필요해지나 계산량은 1MIPS 정도가 된다.
또 이상의 예로부터도 알 수 있는 바와같이 본 발명에서는 종 벡터의 개수를 종래법에 비해 대폭적으로 적게하여도 20비트의 코드북을 실현할 수 있으므로, 종 벡터의 저장에 요하는 메모리량을 절약할 수 있는 효과가 있다.
또한 본 발명에서는 극성정보가 전송매체나 축적매체의 부호에러로 변질하여도 열화가 적은 대표벡터를 재생할 수 있는 효과가 있다. 이것은 원래 1비트의 극성정보가 대표 벡터의 일부요소의 극성 밖에는 영향을 미치지 않은 구성으로 되어 있기 때문이며, 결과적으로 극성정보 1비트의 에러는 대표 벡터의 형상열화에는 전체에 미치지 않고, 일부분의 형상 열화에 그친다. 이 때문에 본발명에 의한 벡터양자화장치는 극성정보에 관하여 부호에러 내성이 강하는 이점이 있다.
다음에 본 발명의 벡터양자화장치를 음성부호화장치에 적용한 실시예에 대해 설명한다. 제6도는 본 발명의 1실시예에 관한 벡터 양자화를 음성부호화의 구동신호의 잡음성분부호화에 적용시켰을 때의 부호화장치의 구성예를 나타낸 블록도이다.
입력신호(음성신호)는 단자(201)로부터 합성필터 부호화부(systhesis filter coding section)(202) 및 가중필터부(weighted filter)(203)에 입력된다. 합성필터 부호화부(202)는 입력음성신호의 분석(LPC분석 등)에 의해 음성의 스펙트럼 포락정보를 표시하는 합성필터의 정보를 추출하고, 이것을 부호화하여 그 부호를 다중화부(multiplexer)(208)에 출력함과 동시에, 입력음성신호의 분석에 의해 가중필터 계수정보를 구하여, 이것을 가중필터부(203)에 출력하고, 또 가중합성필터 계수정보 H를 피치성분 부호화부(pitch coding section)(204), 잡음성분부호화부(noise coding section)(205) 및 국부복호화부(local decoding section)(207)에 출력한다.
가중필터부(203)는 가중필터 계수정보와 입력음성신호 및 국부복호화부(207)로부터의 국부복호신호를 입력하여, 블록단위로 처리가능한 N차원 참조음성벡터 X를 출력한다.
피치성분 부호화부(204)는 참조음성벡터X, 가중합성 필터계수정보H, 국부복호화부(207)로부터의 과거의 구동신호를 입력하여 공지의 방법인 적응코드북 탐색에 의해 과거의 구동신호 파형으로부터 현시점(현프레임)의 피치성분의 재생에 사용되는 피치 벡터 Y0를 추출하고, 그 인덱스를 다중화부(208)에 출력함과 동시에, 합성된 피치벡터 X0를 출력한다.
다음에 본 실시예의 특징을 이루는 잡음성분 부호화부(205)에 대해 설명한다. 잡음성분부호화부(205)는 잡음코드북(100), 참조벡터수정부(211), 예비선택부(212), 본선택부(213) 및 잡음코드 벡터재생부(215)로 구성된다.
참조벡터수정부(211)는 참조음성벡터X로부터 피치벡터X0의 영향을 제거한 잔차(residual)벡터에 가중 합성필터 계수정보 H로 시간역의 가중을 실시하여 수정된 참조벡터R을 출력한다. 예비선택부(212)는 참조벡터R와 잡음코드북(100)을 사용하여 코드북의 다수의 인덱스 후보를 소수(J개로 한다)의 인덱스 후보로 좁힌다. 본 선택부(213)는 예비선택부(212)로부터의 J개의 인덱스후보를 더욱 좋은 정밀도를 좁혀서 최종적으로 1개의 인덱스후보를 인덱스 Ic로 하여 선택하는 처리를 한다.
잡음코드벡터 재생부(215)는 제5도에 나타낸 바와같이 구성되고, 본 선택부(213)로부터의 종벡터인덱스 Ic에 대응하는 잡음코드북(100)으로부터의 종벡터V와 본 선택부(213)로부터의 극성정보 인덱스Ip에 대응하는 극성벡터S를 사용한 요소마다의 승산에 의해 얻어진 대표벡터U를 형상이 최적화 된 잡음코드벡터 Y1으로 하여 구한다. 또한 잡음코드벡터 재생부(215)는 잡음코드벡터 Y1과 합성필터 부호화부(202)로부터의 가중합성 필터계수정보H를 사용하여 합성된 잡음코드벡터 X1도 출력한다.
이하, 잡음성분 부호화부(205)의 각 부에 대해 상세히 설명한다.
제7도에 예비선택부(212)의 상세한 구성을 잡음코드북(100)과 더불어 나타낸다. 여기서는 표기를 간단히 하기 위하여 벡터의 차원수를 N=6, 극성정보 인덱스 Ip의 비트수를 P=2로 하고 있다. 또 상술한 함수 L을 L(p,n)=n mod p(n을 p로 나누었을 때의 잉여)로 하는 예로 설명한다.
제7도에서 부분 내적계산부(301)는 잡음코드북(100)으로부터 인출되는 인덱스 i의 종 벡터 Vi와 수정된 참조 벡터 R과의 부분내적 fk(k=0∼p-1)를 구하고 있다. 부분내적 fk는 벡터요소의 위치 n=0∼N-1에 대하여 k=n mod P를 충족하는 요소에 대한 것만의 내적치를 구한 것이다. 따라서 P=P=2, N=6의 예에서는
로 계산할 수 있다. 절대치가산부(302)에서는 이 부분내적 fk의 절대치 합
을 구하고, 비교부(303)에서는 cor(i)를 크기 순으로 정렬시켜 최대치로부터 J개까지에 대응하는 잡음 코드북의 인덱스를 J개 탐색하여 이것을 예비선택출력으로 한다.
부분내적의 절대치합 cor(i)는 벡터 Vi에 대해 극성벡터S를 최적으로 조정했을 때의 Ui와 R과의 내적치와 같다. 이 때문에 형상이 수정된 벡터 Ui에 대한 인덱스의 예비선택을 cor(i)의 최대치 탐색으로 실시할 수가 있다.
예비선택부(212)의 다른 구성예로서 잡음코드북(100)에 저장되는 종벡터 Vi의 표준(norm)이 규격화되어 있지 않을 경우에는 제7도에 나타낸 구성을 예컨대 제8도에 나타낸 바와 같이 수정할 수가 있다. 제8도에서 잡음코드북(100)은 종벡터외에 벡터마다의 규격화 가중계수 wi를 저장하고 있다. 예비선택부(400)에서는 규격화 절대치 가산부(402)에서 부분내적 fk와 규격화 가중계수 wi로부터 규격화 절대치 합
이 최대로부터 J개까지의 값이 되는 인덱스를 J개 탐색하고, 이것을 예비선택출력으로 한다. 또한 규격화 가중계수 wi의 값으로는 벡터 Vi의 표준(norm)의 역수 등을 사용할 수가 있다.
제9도에 규격화 가중계수를 사용한 예비선택의 처리절차를 나타낸다.
스텝S11에서 I, J, N, P, 벡터 R 및 코드북을 세트한다.
스텝S12에서 종벡터의 인덱스 i=0로 한다.
스텝S13에서 인덱스i에 관하여 벡터R과 벡터Vi의 부분내적 fk를 계산하고, 스텝S14에서 모든 K(0∼P-1)에 관해 fk의 절대치 합을 취하여 이것에 규격화 가중치 계수 wi를 곱해서 규격화 절대치합 cor(i)를 계산한다. 스텝S15에서 i←i+1로 하고, 스텝S16에서 i=I 이하인가의 여부를 판정하여 이하이면 스텝S13으로부터의 처리가 반복된다. 이에 따라 스텝S13, #14의 처리가 i=0∼I-1까지 이루어진다.
스텝S17에서 규격화 절대치 합 cor(i)를 크기 순으로 정렬시켜 최대치로부터 J개의 규격화 절대치 합에 대응하는 인덱스 i를 j개 선택하고, 이것을 i-opt(i)(j=0∼J-1)로서 보존한다.
스텝S18에서 J개의 선택된 인덱스를 예비선택결과로서 출력한다.
다음에 본 선택부(213)에 대해 설명한다.
제10도는 본 선택부(213)의 구성예를 나타낸 블록도이다. 이 본 선택부(213)는 부분내적계산부(501), 절대치 가산부(502), 비교부(503), 극성승산부(504) 및 직교화 파워 계산부(505)로 되며, 예비선택부(212)에서 선택된 J개의 인덱스후보 i-opt(j)(j=0∼J-1)에 대응하는 종벡터V를 잡음코드북(100)으로부터 순차적으로 인출하도록 구성되어 있으며, 도면의 예에서는 P=2, N=6으로 하고 있다. 부분내적 계산부(501)는 잡음코드북(100)으로부터 도입된 인덱스에 대응하는 종벡터 V와 참조벡터 R과의 부분내적 fk(k=0∼p-1)를 구하는 외에 극성정보 비트 bk, 극성 sk를 구한다. 극성 sk는 다음과 같이 결정할 수가 있다.
여기서 sign(x)는 x의 극성(정부)을 나타낸 값이다.
극성정보의 제K번째의 비트bk는 예컨대 bk=(1-sk)/2로 함으로써 극성 sk와 대응지울 수가 있다.
제11도에 참조벡터 R과 종벡터V로부터 극성sk와 극성정보비트 bk를 구하는 절차를 나타낸다.
스텝s21에서 N, P, 벡터 R 및 종벡터 V를 세트한다.
스텝S22에서 이 벡터R과 벡터V를 사용하여 부분내적 fk(K=0∼P-1)를 계산한다.
스텝S23에서 부분내적 fk로부터 극성 sk와 극성정보비트 bk를 구함으로써 극성정보를 결정한다.
스텝S24에서 극성 sk와 극성정보비트 bk를 출력한다.
극성승산부(504)는 벡터V에 대해 계산된 극성 sk를 사용하여
에 의해 형상이 최적화 된 벡터U를 생성한다. 예컨대 p=2, N=6이며, L(p,n)=n mod p일 때는 uo=v0s0, ul=vlsl, u2=v2s0, u3=v3sl, u4=v4s0, u5=v5sl이 된다.
직교화 타워 계산부(505)는 벡터U, 합성된 피치벡터 x0 및 가중합성 필터계수정보 H를 사용하여 직교화된 U의 합성벡터의 파워 POW를 계산하고, 이것을 비교부(503)에 출력한다.
절대치가산부(502)는 상술한 방법으로 내적치 cor을 계산하고, 이것을 비교부(503)에 출력한다. 비교부(503)는 내적치 cor과 파워 POW를 사용한 인덱스마다의 비교처리에 의해 최적의 인덱스 Ic를 선택하고, 그것에 대응하는 극성정보 Ip와 더불어 Ic를 출력한다.
제12도에 본 선택부(213)의 처리절차를 나타낸다.
스텝S31에서 초기화가 이루어진다.
스텝S32에서 j=0, m=i-opt(0), Ic=m, Vm으로부터 cor2(0), POW(0)를 구한다.
스텝S33에서 j=J-1인가의 여부가 판정된다. yes의 경우에는 스텝S42에서 Ic에 대응하는 Ip를 구하고, 스텝S43에서 Ic, Ip를 출력한다.
no의 경우에는 스텝S34에서 j=j+1, m=i-opt(j)로 하고, 스텝S35에서 벡터 R과 벡터 Vn의 부분내적 fk(k=0∼p-1)를 계산한다. 스텝S36에서 인덱스 후보 i-opt(j)에 대응하는 cor(j)의 2승치를 cor2(j)로서 구하고, 스텝S37에서 un=vn ×sk(K=L(p,n), n=0∼N-1)를 구한다. 스텝S38에서 벡터U가 기여하는 파워성분을 POW(j)로 세트한다. 스텝S39에서 인덱스후보 i-opt(j)와 i-opt(j-1)의 비교를 cor2와 POW를 사용하여 다음과 같이 실시한다.
스텝S40에서 e가 정인가의 여부를 판정한다. yes의 경우에는 스텝S41에서 Ic=m로 하여 스텝S23으로 복귀하고, no의 경우에는 곧장 스텝S33으로 복귀한다.
이와같이 본 선택부(213)로부터 얻어지는 잡음코드북의 인덱스(종 벡터인덱스)Ic와 극성정보 인덱스 Ip는 잡음 코드벡터 재생부(215)에 입력되어 잡음코드북의 인덱스 Ic에 대응하는 잡음코드북(100)으로부터의 벡터V와 극성정보 인덱스 Ip에 대응하는 극성벡터 s를 사용한 요소마다의 승산에 의해 형상이 최적화된 잡음코드벡터(대표 코드벡터)U가 구해진다.
제13도에 잡음코드벡터 재생부(215)의 처리절차를 나타낸다.
스텝S51에서 인덱스Ic에 대응하는 종벡터V와 극성정보 인덱스 Ip를 표시하는 각 비트 bk를 세트한다.
스텝S52에서 bk로부터 sk를 구한다.
스텝S53에서 극성 sk(k=0∼P-1)와 종벡터 V의 요소마다의 승산에 의해 대표 벡터U를 구한다.
스텝S54에서 이 벡터U를 잡음코드 벡터Y1으로 하고, 잡음코드벡터 재생부(215)에서는 다시 가중합성 필터계수정보H와 Y1을 사용하여 합성된 잡음코드벡터X1을 구하여 이것을 출력한다.
제6도로 설명을 되돌리면 게인 성분 부호화부(206)는 피치성분과 잡음성분에 각각 사용하는 게인의 부호화를 실시한다. 구체적으로는 피치성분 부호화부(204)와 잡음성분 부호화부(205)로부터 각각 합성된 피치벡터 ×0와 합성된 잡음코드벡터 X1을 입력하여 내장하는 게인코드북(도시하지 않음)의 탐색에 의해 참조벡터 X와 벡터(go ×0+g1×1)의 오차가 최소가 되는 게인의 조(go, g1)와, 이것에 대응하는 인덱스 G를 탐색하여 출력한다.
국부복호부(207)는 게인 g0, g1, 피치벡터 Y0 및 잡음코드벡터 Y1을 사용하여 현블록(프레임)에 대응하는 구동신호를 작성하고, 이것과 가중합성 필터계수정보H를 사용하여 국부복호신호를 작성한다.
다중화부(208)는 각 부호화부(204, 205, 206)에서 구해진 부호화 파라미터 정보를 입력하여 이것들을 다중화해서 출력단자(209)로부터 전송매체 또는 축적매체에 출력한다.
다음에 이 음성부호화장치로부터의 전송정보를 복호하여 재생음성을 출력하는 음성복호화장치에 대해 제14도를 사용하여 설명한다.
입력단자(601)로부터 입력된 부호화 파라미터정보(합성필터계수정보, 피치정보, 잡음인덱스정보 Ic, 극성정보 Ip, 게인인덱스정보)는 분리부(602)에서 이하에 설명하는 각 복호화부에서 사용하는 정보로 분리된다. 피치성분 복호화부(603)는 제6도에 나타낸 음성부호화장치와 마찬가지로 과거의 구동신호를 이용하는 적응코드북(도시하지 않음)을 내장하고 있으며, 이것에 사용되는 인덱스를 분리부(602)로부터 입력하여 피치벡터 Y0에 재생한다.
잡음성분 복호화부(604)는 잡음코드북(605)과 잡음코드 벡터 재생부(606)로 구성되며, 복호된 잡음코드북의 인덱스 Ic에 대응하는 벡터 V와 극성정보 인덱스 Ip를 사용하여 제6도에 나타낸 음성부호화장치의 잡음코드 벡터 재생부(215)와 마찬가지 처리에 의해 형상을 최적화 한 잡음코드벡터 U를 재생하고, 이것을 벡터 Y1으로 하여 출력한다. 게인 성분복호화부(607)는 음성부호화장치와 마찬가지로 게인코드북(도시하지 않음)을 내장하고, 복호된 인덱스G에 의해 게인 g0와 g1을 재생한다. 승산부(608, 609)와 가산부(610)를 사용하여 구동신호 g0y0+g1y1을 재생한다. 합성필터(611)는 복호된 합성필터계수 정보와 구동신호를 사용하여 복호음성신호를 산출하고, 이것을 출력한다. 음성부호화장치의 최종단의 처리로서 포스트 필터(612)를 사용한다. 포스트필터(612)는 전송되어 온 부호화 파라미터 정보에 의거해서 필터의 특성을 정하고, 복소음성신호의 음질을 조정한 것을 재생음성신호로서 출력한다.
이상 설명한 바와 같이 실시예 3에 의하면 N차원의 극성 벡터 S의 각 요소 sn의 극성에 대응한 극성정보 인덱스를 생성하여, 이 극성정보 인덱스에 의거해서 N차원으 극성벡터 S를 생성하고, 이 N차원의 극성 벡터의 요소 sn과 N차원의 종벡터V의 요소 vn을 곱하여 vn×sn(n=0∼N-1, |sn|=1)을 요소로 하는 대표벡터 U를 생성함으로써 1개의 종벡터 V에 대하여 극성정보 인덱스에 따라 형상이 변화하는 코드벡터 U를 극히 간이하게 생성할 수가 있다.
이 경우에 극성 벡터 S의 요소 sn의 극성을 sk(K=L(p,n)(0≤k≤P-1, 1≤P≤N)와 동일로 하고, sk와 극성정보의 제k 비트째의 값 bk를 대응지워서 p 비트의 극성정보 인덱스로 함으로써 1개의 종벡터V로부터 생성가능한 코드벡터 U의 형상을 최대 2p와 같이 제한할 수가 있다.
또 함수 L(p,n)의 p의 값을 바꿈으로써 대표 벡터 U가 취할 수 있는 형상의 변화수를 용이하게 제안할 수 있게 된다.
또한 함수 L(p,n)을
또는
여기서 floor(x)는 초과하지 않는 최대의 정수를 표시함으로써 같은 극성을 사용하여 생성되는 코드벡터 U의 요소 un의 개수를 균일화 할 수 있다.
일반적으로 상기와 같은 함수 L을 사용함으로써 극성정보를 표시하는 각 비트 bk의 정보를 유효하게 코드벡터 U의 형상의 변화로 반영시킬 수가 있게 된다.
또 목표 벡터 R과의 형상오차가 최소가 되는 코드벡터 U를 생성할 수 있는 극성벡터 S는 K=L(p,n)을 충족하는 n번째의 벡터요소에 대해 목표벡터 R과 벡터V와의 부분내적 fk를 계산하고, sk=sign(fk)(sign(x)는 X의 정부의 극성치)로 함으로써 결정할 수가 있다. 이와 같이 하면 극성정보 인덱스의 비트수 p의 크기에 상관없이 벡터의 차원수 N의 자리수(order)가 적은 계산량으로 sk와 bk(k=0∼p-1)를 결정할 수 있다. 따라서 극성정보 인덱스의 비트수 p를 10이상으로 설정하여도 최적한 p 비트의 극성정보(b0, b1, ...., bp-1)(통상의 벡터양자화의 인덱스에 상당한다)의 탐색에 요하는 계산량은 증가하지 않으므로 본 실시예의 벡터양자화장치는 실시간 처리를 위한 계산량의 제약이 엄격한 부호화장치에 특히 적합하다는 것을 알 수 있다.
또한 본 실시예에서는 종벡터 V가 복수개 존재하는 즉 종벡터가 Vi(i=0∼I-1)로 표시되는 구성으로 확장하는 것도 유효한 방법이다. 즉 Vi중에서 최적한 1개의 종벡터 V를 선택하기 위한 종벡터 인덱스Ic와 그것에 대응하는 최적한 극성정보 인덱스 Ip의 2개의 정보로 코드벡터 U를 표시하도록 한다. 이 경우에 종벡터인덱스를 선택하는 과정에 이하의 수단을 사용하면 인덱스 탐색에 요하는 계산량을 대폭적으로 삭감할 수 있다. 즉 종벡터 인덱스의 후보수 I를 적은 후보의 J로 좁히기 위하여 종 벡터 Vi의 K=L(p,n)(k,p는 0≤k≤p-1, 1≤p≤N을 충족하는 정수)의 조건을 충족하는 n번째의 벡터 요소에 대해 목표벡터와 코드벡터와의 부분내적 fk로부터 계산되는
을 사용하여 종벡터 인덱스 후보수를 J(0J1)개로 좁히도록 한다. 이것은 cor(i)가 종벡터 Vi로부터 구해지는 최적의 대표적인 벡터 Ui와 목표 벡터 R의 내적치로 되어 있기 때문이다.
이와 같이 본 실시예에 의한 벡터양자화장치는 벡터양자화에 사용하는 인덱스의 비트수 p를 10이상이라는 대단히 큰 값으로 설정하여도 인덱스 탐색에 요하는 처리량이 대단히 적어 실시간처리에 적합하다.
또 본 실시예에서는 종벡터 Vi의 개수 I를 종래법에 비해 대폭적으로 적게 하여도 보다 많은 코드벡터를 코드북으로서 실현할 수 있으므로 종벡터의 저장에 요하는 메모리량을 절약할 수가 있다.
또한 본 실시예에서는 극성정보가 전송매체나 축적매체의 부호에러로 변질하여도 열화가 적은 코드벡터를 재생할 수 있는 효과가 있다. 이는 원래 1비트의 극성정보가 코드벡터의 일부 요소의 극성으로 밖에 영향을 미치지 않는 구조로 되어 있기 때문이며, 결과적으로 극성정보 I비트의 에러는 코드벡터의 형상 열화에 전체적으로는 미치지 않고 일부분의 형상 열화에 그친다. 이 때문에 본 실시예에 의한 벡터양자화장치는 극성정보에 관하여 부호에러내성이 강한 이점이 있다.
[실시예 4]
제15도는 실시예 4에 관한 음성부호화장치의 블록도이다. 본 실시예는 잡음성분 부호화부(205)에서 잡음코드북(100)의 인덱스와 극성정보 인덱스를 복수조 선택하고, 이들 복수조의 후보를 게인성분 부호화부(206)에서 최종적으로 1조의 Ic와 Ip로 좁히는 구조로 하고 있는 점이 실시예 3과 다르다.
제15도에서 잡음성분 부호화부(205)는 참조 벡터수정부(211), 잡음코드북(100), 예비선택부(212) 및 잡음코드 벡터 재생부(215)로 구성된다. 예비선택부(212)는 수정된 참조 벡터 R과 잡음코드북(100)을 사용하여 코드북내의 다수의 인덱스 후보를 소수(J개)의 인덱스후보로 좁힌다. 그리고 이들 J개의 인덱스 후보와 더불어 그것들에 대응하는 극성정보 인덱스의 후보를 잡음코드벡터 재생부(215)에 출력한다. 잡음코드벡터재생부(215)는 실시예 1의 잡음코드 벡터 재생부(215)와 마찬가지 기능을 가지며, 코드북의 인덱스와 이것에 대응하는 극성정보 인덱스의 J조의 후보와 이것에 대응하는 잡음코드벡터와 합성된 잡음코드벡터의 J조를 게인성분 부호화부(206)에 출력한다. 게인성분 부호화부(206)는 입력되는 J조의 후보 각각에 대해 합성된 피치벡터 X0을 사용하여 실시예 1의 게인성분부호화부(206)와 마찬가지 방법으로 게인의 부호화를 실시한다. 그리고 최종적으로 참조벡터X에 대한 오차가 가장 적어지는 후보를 J조 중에서 선택하고, 그때의 잡음코드 벡터를 Y1, 코드북의 인덱스를 Ic, 극성정보 인덱스를 Ip로하여 게인 g0와 g1을 국부복호화부(207)에 또 Ic, Ip 및 게인코드북의 인덱스 G를 다중화부(208)에 출력한다.
그밖의 점은 실시예 3와 마찬가지 구성이므로 설명을 생략한다.
[실시예 5]
상술한 바와같은 음성부호화/복호화장치에서는 부호화장치로부터 전송하는 부호의 정보량을 어떻게 저감하는가가 중요한 과제이며, 특히 합성필터의 구동신호는 사람의 성대로부터 발생되는 신호를 모델화한 호출되는 신호이고, 그 전력은 시간적으로 완만하게 변화하는 특징이 있으므로, 이 특징을 이용하여 게인코드북의 인덱스 정보를 전송할 때의 양자화에 필요한 비트수를 삭감하는 수법이 종종 제안되고 있다. 이하, 이 코드벡터에 곱하는 게인의 정보를 전송할 대, 게인코드북의 인덱스 정보를 양자화하는 비트수를 삭감하도록 게인의 양자화를 실시하는 실시예를 몇가지 설명한다.
제16도에 본 실시예에 의한 게인양자화 장치의 구성을 나타낸다. 단자 P1, P2에 입력된 코드벡터 Cx, Cy는 게인회로(11,12)에 의해 게인 Gx, Gy가 각각 곱해진 후, 가산기(13)로 합성되어 출력벡터 Cz가 되어 단자 P5로부터 출력된다. 게인 Gx는 단자 P4로부터 공급되고, 게인 Gy는 역정규화부(15)로부터 공급된다.
입력벡터 Cx, Cy는 정규화 계수 산출부(14)에 입력되고, 여기서 정규화 계수 Ny가 산출된다. 그리고 게인회로(12)의 게인 Gy는 역정규화부(15)에 공급되는 정규화 게인 Ly를 정규화계수 Ny를 사용하여 역정규화하여 구해진다. 게인회로(11)의 게인 Gx 및 게인회로(12)의 정규화 게인 Ly는 필요에 따라 양자화 된 후 전송매체에 전송되거나 또는 축적 매체에 축적된다.
여기서 정규화계수 Ny는 다음과 같이 표시된다.
단 Px, Py는 각각 입력벡터 Cx, Cy의 전력을 표시한다.
또한 전력 Px의 값이 미리 일정치이거나, 거의 일정치가 되도록 설계되어 있는 경우에는 정규화 계수 Ny는 다음과 같이 해서 구할 수도 있다.
이 정규화계수 Ny를 사용하여 게인 Gy는 다음과 같이 구할 수가 있다.
본 실시예의 게인양자화장치는 후술하는 음성부호화장치의 실시예에서 설명하는 바와같이 입력벡터 Cx의 전력이 출력벡터 Cz의 전력과 거의 같으며, 입력벡터 Cy는 잡음코드북으로부터 얻은 코드벡터와 같이 전력의 조절이 이루어지지 않는 벡터일 경우 특히 좋은 효율로 작용한다. 이 경우에 게인회로(11)의 게인 Gx는 1.0에 가까운 값을 취하나 게인회로(12)에 주는 게인 Gy는 출력벡터Cz의 크기에 따라 그 값이 변화한다.
여기서 본 실시예에 의한 출력벡터 Cz의 값이 변화한 경우라도 (12)식으로부터 명백한 바와 같이 정규화 게인 Ly의 값은 변하지 않는 구성으로 되어 있다. 따라서 게인 Gy의 정보를 그대로 전송, 축적하는 경우에 비해 정규화 게인 Ly의 정보를 전송, 축적하는 데 필요한 양자화비트수는 삭감된다.
간단한 예를들어 이 구성을 설명한다. 예컨대 출력벡터 Cz의 전력이 4배가 되었다고 한다. 상술한 바와같이 입력벡터 Cx의 전력 Px는 출력벡터 Cz의 전력과 거의 같은 성질이 있으므로 입력벡터 Cy의 전력 Py도 4배가 된다. 또 상술한 바와 같이 입력벡터 Cy는 전력의 조정이 이루어지지 않으므로 결국, 게인회로(12)에 주는 게인 Gy의 값은 진폭으로 2배가 된다. 그러나 정규화게인 Ly는 앞의 식에 의해
가 되어 정규화게인 Ly를 바꾸지 않더라도 게인회로(12)의 게인 Gy를 바꿀 수가 있다.
이와같은 역정규화를 실시하지 않을 경우에는 출력벡터 Cz의 변동에 맞추어서 게인 Gy가 변동하기 때문에 게인 Gy의 정보의 전송, 축적시에 많은 비트를 필요로 한다. 이에 비해 본 실시예에서는 정규화 게인 Ly는 출력벡터 Cz의 변동에 불구하고 변동하지 않으므로 적은 비트수로 전송,축적이 가능하다. 본 실시예는 통상, 음성부호화/복호화장치의 부호화측에서 사용된다.
[실시예 6]
다음에 제16도의 게인양자화 장치를 사용한 음성부호화장치의 실시예에 대해 제17도를 참조하여 설명한다. 이 음성부호화장치는 상술한 실시예와 마찬가지로 CELP 방식에 의거한 것이며, 제16도에 나타낸 게인양자화 장치와 동일 구성의 게인양자화부(10)와, 게인코드북(30), 적응코드북(31), 잡음코드북(32), 정규화게인코드북(33), 선형예측분석부(35), 가중합성필터(36), 청감가중부(37), 오차산출부(38) 및 평가부(39)로 구성되어 있다. 평가부(39)는 제1도의 부호선택부(2320, 2325) 제6도의 부호화부(202, 204, 205, 206), 다중화부(208)의 기능을 갖는다.
이 음성부호화장치의 동작은 다음과 같다.
입력단자(34)에는 부호화 할 음성신호가 입력된다. 이 입력음성신호는 선형 예측분석부(35)에서 분석되어 가중합성 필터(36)의 필터계수가 구해진다. 또 입력음성신호는 청감가중부(37)에도 입력되어 가중입력 음성신호가 얻어진다. 이 가중입력 음성신호로부터 전 프레임의 영향을 제거함으로써 목표신호가 얻어진다.
적응코드북(31)은 통상 가중합성필터(36)를 구동하기 위한 과거의 구동신호에 의거해서 구성되는 시간과 더불어 변화하는 코드북이며, 피치주기에 의거한 코드벡터(이하 적응코드벡터라 한다)를 생성하는 성질도 갖고 있다. 한편, 잡음코드북(32)은 잡음적인 코드벡터(이하 잡음코드벡터라 한다)를 저장한 통상은 고정의 코드북이다. 이들 적응코드북(31)으로부터 얻어지는 적응코드벡터 및 잡음코드북(32)으로부터 얻어지는 잡음코드벡터는 제16도에서 설명한 게인 양자화부(10)의 단자 P1 및 단자P2에 입력벡터 Cx, Cy로서 각각 입력된다.
게인양자화부(10)에서 단자 P1에 입력된 적응코드벡터 Cx는 게인회로(11)에서 단자 P4로부터 입력된 게인코드북(30)으로부터의 게인코드벡터에 의해 표시되는 소정의 게인 Gx가 곱해지고, 단자 P2에 입력된 잡음코드벡터는 게인회로(12)에서 역정규화회로(15)로부터 출력된 게인 Gy가 곱해진다. 그리고 게인회로(11,12)의 출력을 가산기(13)로 가산한 출력벡터가 가중합성필터(36)를 구동하기 위한 구동신호로서 출력단자 P5로부터 출력된다. 또 이 구동신호는 다음 프레임의 처리에 대비하도록 적응코드북(31)에도 입력된다(저장된다).
가중합성필터(36)에서 얻어진 합성음성신호와 목표신호와의 오차가 평가부(39)에서 평가되고, 이 오차가 최소가 되는 적응코드벡터, 잡음코드벡터 및 게인의 조합이 적응코드북(31), 잡음코드북(32) 및 게인코드북(33)으로부터 탐색된다. 그리고 오차산출부(38)에서 산출된 오차가 평가부(39)에서 평가되고, 이 오차가 최소가 될 때의 가중합성필터(36)의 필터계수를 표시하는 인덱스 F, 적응코드북(31)으로부터의 적응코드벡터를 표시하는 인덱스 I, 잡음코드북(32)으로부터의 잡음코드벡터를 표시하는 인덱스 J, 정규화게인 코드북(33)으로부터의 게인회로(12)의 게인 Gy를 정규화한 정규화게인 Ly를 표시하는 인덱스 K, 및 게인코드북(30)으로부터의 게인회로(11)의 게인 Gx를 표시하는 인덱스L이 부호화 파라미터로서 도시하지 않은 전송매체 또는 축적매체에 출력된다.
본 실시예는 잡음코드벡터의 게인 Gy가 정규화 게인코드북(33)으로부터 얻어진 정규화 게인코드 Ly와 정규화 계수산출부(14)에서 얻어진 정규화계수 Ny에 의해 얻어지는 점이 특징이다. 즉 본실시예의 게인양자화부(10)는 가중합성필터(36)에 입력되는 구동신호의 전력의 태반은 적응코드북(31)으로부터의 적응코드벡터의 전력이 점유하는 점에 주목하여 이것을 이용하고 있다. 이 경향은 특히 음질을 좌우하는 음성구간에서 현저하여 본 실시예는 유성구간에서 특히 우수한 성능을 발휘한다.
또한 종래기술로서 부호화하고자 하는 현프레임의 전의 프레임을 사용한 구동신호의 전력에 의거해서 게인의 정규화를 실시하는 방법이 알려져 있다. 적응코드북(31)이 전프레임의 구동신호로부터 작성되는 것을 고려하면 본 실시예의 구성은 얼핏 보아 이 종래 기술과 유사한 것 같이 보여서 오해가 있을 수 있으므로 이 종래기술과의 차이에 대해 여기에 설명한다.
제18도에 입력음성의 상승부의 적응코드북(31)으로부터의 적응코드벡터Cx, 잡음코드북(32)으로부터의 잡음코드벡터 Cy 및 가산기(13)로부터 출력되는 구동신호(구동벡터)Cz의 2프레임분의 파형의 예를 나타내었다.
지금 제18도의 우측에 나타낸 후반의 프레임을 처리하는 경우를 생각한다. 음운이 같은 즉 가중합성필터(36)의 특성이 동일하면 음성의 대소를 결정하는 것은 가중합성필터(36)에 입력되는 구동신호Cz의 전력이므로 후반의 프레임으로 게인의 정규화에 사용한 본래의 구동신호Cz의 제18도의 구간 c2의 구동신호 Cz가 적절한 것으로 생각된다.
그러나 이 구간 c2의 구동신호 Cz는 이미 게인을 결정한 후에 얻어지는 신호이기 때문에 게인의 정규화에 사용할 수가 없다.
따라서 상술한 종래 기술에서는 구동신호의 전력은 완만하게 변화한다는 성질에 의거해서 전 프레임의 구동신호, 즉 구간 c1의 구동신호 Cz의 전력을 사용하여 게인의 정규화를 실시하고 있었다. 그러나 제18도로부터도 알 수 있는 바와같이 음성의 상승부 등에서는 구간 c1과 구간 c2의 구동신호 Cz의 전력의 차이가 크기 때문에 구간 c1의 구동신호를 게인의 정규화에 사용하는 것은 효율상 문제가 있다.
이에 비해 본 실시예에서는 현 프레임의 구간 a2의 적응코드벡터Cx의 전력을 사용하여 정규화계수를 구하고, 이 정규화계수에 의해 게인의 정규화를 실시한다. 이 구간 c2의 적응코드벡터는 전 프레임의 구동신호로부터 피치적인 파형을, 반복함으로써 생성한 파형이며, 전프레임의 구동신호와 같은 파형이 되지 않고, 현프레임의 구동신호에 보다 가까운 파형이 된다. 이 때문에 구간 a2의 적응코드벡터의 전력은 구간 c2의 구동신호의 전력과 가까운 값을 취하므로 이것을 사용해서 정규화 계수를 구하여 게인의 정규화를 실시함으로써 정규화를 보다 효율적으로 할 수가 있다.
이상 설명한 바와 같이 실시예 6에 의하면 현프레임으로 얻어진 제1의 입력벡터 Px를 사용하여 정규화계수를 산출하고, 이것을 토대로 정규화게인으로부터 제2의 입력벡터 Py의 게인을 산출한다.
여기서 정규화 게인은 게인을 곱한 후의 출력벡터의 변동에 불구하고 변동하지 않으므로 그 정보를 적은 비트수로 전송하거나 축적하거나 하는 것이 가능하다. 또한 현프레임의 입력벡터가 출력벡터에 가까울 경우에는 현프레임의 입력벡터를 사용하여 정규화계수를 계산하기 때문에 입력신호의 과도부에서 역정규화 효율이 향상하여 게인 양자화의 성능이 향상한다.
이 때문에 본 실시예에 관한 음성부호화장치에서는 적응코드벡터 및 잡음코드벡터를 조합시킨 구동벡터를 합성필터의 구동신호로서 생성하는 장치에 있어서, 잡음코드벡터에 곱하는 게인을 양자화할 때 현 프레임의 음성의 성질을 보다 잘 반영하고 있는 코드벡터인 적응코드벡터를 사용하여 정규화 계수를 산출하고, 이것을 사용하여 잡음코드벡터의 정규화 게인을 산출한다.
[실시예 7]
다음에 제16도의 게인 양자화 장치를 사용한 음성복호화장치의 실시예에 대해서 제19도를 참조하여 설명한다. 이 음성복호화장치는 제17도에 나타낸 음성부호화장치로부터 전송매체 또는 축적매체를 거쳐 입력되는 부호화 파라미터로부터 원래의 음성신호를 복호화하는 장치이며, 부호화 파라미터인 인덱스 F, I, J, K, L은 합성필터(44), 적응코드북(41), 잡음코드북(42), 정규화게인코드북(43), 게인코드북(40)에 각각 입력된다.
적응코드북(41) 및 잡음코드북(42)으로부터는 인덱스 I, J에 의거해서 제17도의 음성부호화장치의 적응코드북(31) 및 잡음코드북(32)으로부터 출력되는 것과 같은 적응코드벡터 및 잡음코드벡터가 얻어지며, 제16도에서 설명한 게인 양자화장치와 동일 구성으로 되는 게인양자화부(20)의 단자 P1 및 단자 P2에 입력벡터 Cx, Cy로서 각각 입력된다.
게인양자화부(20)에서 단자 P1에 입력된 적응코드벡터는 게인회로(21)에서 게인코드북(40)으로부터 얻어진 게인 Gx가 곱해지고, 단자P2에 입력된 잡음코드벡터는 역정규화부(25)에서 정규화게인 Ly를 정규화계수 Ny를 사용하여 역정규화연산에 의해 얻어진 게인 Gy가 곱해진다. 그리고 게인회로(21,22)의 출력을 가산기(23)로 가산하며, 얻은 출력벡터가 합성필터(44)를 구동하기 위한 구동신호가 된다. 합성필터(44)의 필터계수는 인덱스 F에 의거해서 제17도에 나타낸 음성부호화장치의 합성필터(36)와 동일 특성으로 설정된다. 그 결과, 합성필터(44)로부터 원래의 음성신호가 복호화출력으로서 얻어진다.
이와같이 본 실시예에 관한 음성복호화장치에서는 실시예 5와 같은 음성부호화장치로부터 전송매체나 축적매체를 경유하여 입력되는 부호화 파라미터로부터 원래의 음성을 복호화하는 장치에서 현프레임의 음성의 성질을 보다 잘 반영하고 있는 코드벡터인 적응코드벡터를 사용하여 정규화 계수를 산출하고, 이것을 사용하여 부호화 파라미터중의 정규화 게인으로부터 잡음코드벡터에 곱하기 위한 게인을 역정규화에 의해 구한다.
[실시예 8]
제20도에 실시예 5의 변형에 관한 본 실시예에 의한 게인 양자화장치의 구성을 나타낸다. 단자 P1, P2에 입력된 코드벡터 Cx, Cy는 게인회로(11,12)에 의해 게인 Gx, Gy가 각각 곱해진 후, 가산기(13)로 합성되고, 출력벡터 Cz가 되어 단자P5로부터 출력된다.
입력벡터 Cx, Cy는 정규화계수 산출부(14A)에 입력되고, 여기에서 정규화계수 Ny가 산출된다. 그리고 게인회로(12)의 게인 Gy를 정규화부(15A)에서 정규화하여 구해진 정규화 게인 Ly가 필요에 따라 양자된 후 전송 매체에 전송되든가 또는 축적매체에 축적된다.
여기서 정규화계수 Ny'는 다음과 같이 표시된다.
또한 전력 Px의 값이 미리 일정치이거나, 거의 일정치가 되도록 설계되어 있는 경우에는 정규화계수 Ny'는 다음과 같이 해서 구할 수도 있다.
이 정규화계수 Ny'를 사용하여 정규화게인 Ly는 다음과 같이 구할 수가 있다.
본 실시예에 의한 게인양자화장치에서는 현 프레임으로 얻어진 제1의 입력벡터를 사용하여 정규화계수를 산출하고, 이것을 토대로 제2의 입력벡터의 게인값을 정규화한 정규화 게인을 산출한다. 이와같이 산출되는 정규화 게인은 게인을 곱한 후의 출력벡터의 변동에 불구하고 변동하지 않으므로 그 정보를 적은 비트수로 전송하거나 축적할 수가 있다. 또한 현프레임의 입력벡터가 출력벡터에 가까울 경우에는 현프레임의 입력벡터를 사용하여 정규화계수를 계산함으로써 입력신호의 과도부에서 정규화 효율이 향상하여 게인 양자화의 성능이 향상한다.
[실시예 9]
제21도에 실시예 5의 변형에 관한 본 실시예에 의한 게인 양자화장치의 구성을 나타낸다. 단자 P1, P2에 입력된 코드벡터 Cx, Cy는 게인회로(11,12)에 의해 Gx, Gy가 각각 곱해진 후, 가산기(13)로 합성되어 출력벡터 Cz가 되어 단자 P5로부터 출력된다. 게인회로(11)의 출력벡터 Cx'(즉 입력벡터 Cx'가 게인회로(11)에 의해 게인을 곱해서 얻어진 벡터, 즉 스케일링 된 입력벡터), 코드벡터 Cy가 역정규화회로(14)에 공급되어 역양자화계수 Ny가 구해진다. 게인회로(12)의 게인 Gy는 정규화게인을 역정규화회로(15)에서 정규화계수 Ny를 사용하여 역정규화함으로써 구해진다.
본 실시예에 의한 게인양자화장치에서는 현 프레임으로 얻어진 제1의 입력벡터를 스케일링하여 얻어진 벡터를 사용하여 정규화계수를 산출하고, 이것을 토대로 정규화벡터를 역정규화함으로써 제2의 입력벡터의 게인값을 산출한다. 여기서 정규화게인은 게인을 곱한 후의 출력벡터의 변동에 불구하고 변동하지 않으므로 그 정보를 적은 비트수로 전송하거나 축적하는 것이 가능하다. 또한 현프레임의 입력벡터가 출력벡터에 가까울 경우에는 현프레임의 입력벡터를 사용하여 정규화 계수를 계산함으로써 입력신호의 과도부에서 정규화 효율이 향상하여 게인 양자화의 성능이 향상한다.
본 실시예는 게인회로(11)의 게인이 반드시 1.0에 가까운 값을 취하지 않는 경우에는 실시예 5에 비해 게인양자화 정밀도가 높아지는 이점을 갖는다. 그 이유는 실시예 5에서는 게인회로(11)의 값을 1.0으로 간주하여 정규화계수 Ny를 산출한데 비해 본 실시예에서는 게인회로(11)의 게인을 고려한 후에 산출하고 있기 때문이다.
[실시예 10]
제22도는 제21도의 게인양자화장치를 사용한 음성부호화장치의 실시예를 나타낸다.
[실시예 11]
제23도는 제21도의 게인양자화장치를 사용한 음성복호화장치의 실시예를 나타낸다.
[실시예 12]
제24도에 실시예 5의 변형에 관한 본 실시예에 의한 게인양자화장치의 구성을 나타낸다. 단자 P1, P2에 입력된 코드벡터 Cx, Cy는 게인회로(11,12)에 의해 게인 Gx, Gy가 각각 곱해진후, 가산기(13)로 합성되어 출력벡터 Cz가 되어 단자 P5로부터 출력된다.
개인회로(11)의 출력 Cx', 입력벡터 Cy는 정규화계수 산출부(14A)에 입력되고, 여기에서 정규화계수 Ny가 산출된다. 그리고 게인회로(12)의 게인 Gy를 정규화부(15A)에서 정규화하여 구해진 정규화게인 Ly가 필요에 따라 양자화 된 후, 전송매체에 전송되든가 또는 축적매체에 축적된다.
이상 설명한 바와 같이 본 발명에 의하면 전송로에 부호에러가 있을 때라도 재생신호의 돌발적인 품질열화를 최소한으로 억제할 수 있는 벡터양자화장치를 제공할 수가 있다. 또 본 발명의 벡터양자화장치는 인덱스의 비트수가 크더라도 인덱스 탐색에 요하는 처리량이 적어서 고속으로 인덱스 탐색이 가능하고, 또 코드북으로서 저장하는 종벡터의 개수를 적게 하여도 등가적으로 많은 코드벡터를 코드북으로서 실현할 수 있으므로 종벡터의 저장을 위해 갖는 메모리량을 삭감할 수 있는 효과를 제공한다. 또한 본 발명에 의하면 현프레임의 제1의 입력벡터를 사용해서 정규화 계수를 구하고, 제2의 입력벡터에 곱한 게인의 정규화를 실시함으로써 과거의 프레임 신호를 사용하여 얻은 게인을 정규화하는 수법과 비교해서 특히 입력신호의 과도부에서 양자화 성능이 향상하는 효과가 있다.
본 발명은 상술한 실시예에 한정되지 않으며, 여러가지로 변형하여 실시가능하다. 예컨대 각 실시예는 단독으로 설명하였으나 복수의 실시예를 적당히 조합하여도 좋다.

Claims (21)

  1. 부호화 되어 있는 인덱스로 지정되는 코드벡터를 사용하여 목표벡터를 표현하는 벡터양자화장치에 있어서, 지정된 코드벡터의 오차를 인덱스의 부호 에러를 고려하여 평가하는 수단(2320)과, 목표벡터를 표현하기 위해 사용되는 인덱스가 될 수 있는 복수의 인덱스후보중에서 적어도 1개의 인덱스를 상기 오차평가수단의 평가결과에 의거해서 선택하는 수단(2325)을 구비한 것을 특징으로 하는 벡터양자화장치.
  2. 제1항에 있어서, 상기 평가수단은 부호화 된 인덱스를 전송하는 전송로의 부호에러 정보를 입력하는 수단(2327)과, 상기 입력수단에 의해 입력된 부호에러 정보에 의거해서 상기 지정된 코드벡터의 오차를 평가하는 수단(2325, 2326)을 구비한 것을 특징으로 하는 벡터양자화장치.
  3. 부호화되어 있는 인덱스로 지정되는 코드벡터를 사용하여 목표벡터를 표현하는 벡터양자화장치에 있어서, 지정된 코드벡터의 오차를 인덱스의 부호에러가 없다고 상정하여 평가하는 제1의 평가수단(2320)과, 지정된 코드벡터의 오차를 인덱스의 부호에러를 고려하여 코드벡터의 오차를 평가하는 제2의 평가수단(2325)과, 목표벡터를 표현하기 위하여 사용되는 인덱스가 될 수 있는 복수의 인덱스후보를 상기 제1의 평가수단의 평가결과에 의거해서 보다 적은수의 인덱스후보로 좁히는 제1의 선택수단(2320)과; 상기 제1의 선택수단에 의해 좁혀진 소수의 인덱스후보 중에서 적어도 1개의 인덱스를 상기 제2의 평가수단의 평가결과에 의거해서 선택하는 제2의 선택수단(2326)을 구비한 것을 특징으로 하는 벡터양자화장치.
  4. 제3항에 있어서, 상기 제2의 평가수단은 부호화된 인덱스를 전달하는 전송로의 부호에러 정보를 입력하는 수단(2327)과; 상기 입력수단에 의해 입력된 부호에러 정보에 의거해서 상기 지정된 코드벡터의 오차를 평가하는 수단(2325, 2326)을 구비한 것을 특징으로 하는 벡터양자화장치.
  5. 목표벡터에 관한 코드벡터의 오차에 의거해서 소망하는 코드벡터에 대응한 인덱스를 탐색하고, 탐색한 인덱스를 출력하는 벡터양자화장치에 있어서, N차원의 (N은 2이상의 정정수)종벡터를 기억하는 수단(100)과; N차원의 극성벡터를 발생하는 수단(103)과; 종벡터의 요소와 N차원의 극성벡터의 대응하는 요소와의 곱을 요소로 하는 코드벡터를 생성하는 수단(105)을 구비한 것을 특징으로 하는 벡터양자화장치.
  6. 목표벡터에 관한 코드벡터의 오차에 의거해서 소망하는 코드벡터에 대응한 인덱스를 탐색하고, 탐색한 인덱스를 출력하는 벡터양자화장치에 있어서, 극성벡터의 요소 sn의 극성 sk(K=L(p,n)(k,p는 0≤K≤p-1, 1≤p≤N(정정수)을 충족하는 정수)와 극성정보의 제k비트째의 값 bk를 대응지움으로써 P비트의 극성정보 인덱스를 생성하는 수단(Ip)과; 상기 극성정보 인덱스에 의거해서 N차원의 극성벡터를 생성하는 수단(103)과; N차원의 종벡터의 요소 vn과 N차원의 극성벡터의 대응하는 요소 sn과의 곱 vn×sn(n=0∼N-1, |sn|=1)을 요소로 하는 코드벡터를 생성하는 수단(105)을 구비한 것을 특징으로 하는 벡터양자화장치.
  7. 제6항에 있어서, 상기 L(p,n)은 n을 p로 나누었을 때의 잉여, 또는 np/N을 넘지 않는 최대의 정수인 것을 특징으로 하는 벡터양자화장치.
  8. 제6항에 있어서, 상기 종벡터의 k=L(p,n)의 조건을 충족하는 n번째의 벡터요소에 대하여 상기 목표벡터와 상기 코드벡터와의 부분내적을 구하고, 이 부분내적의 극성을 상기 sk로 하는 것을 특징으로 하는 벡터양자화장치.
  9. 목표벡터에 관한 코드벡터의 오차에 의거해서 소망하는 코드벡터에 대응한 인덱스를 탐색하고, 탐색한 인덱스를 출력하는 벡터양자화장치에 있어서, 복수개의 N차원의 종벡터를 저장하고 있는 수단(100)과; 상기 복수개의 N차원의 종벡터의 어느것인가를 선택하기 위한 종벡터 인덱스를 탐색하는 수단(102)과; 극성벡터의 요소 sn의 극성sk를 극성정보에 의해 결정하여 극성벡터를 생성하는 수단(103)과; 상기 탐색수단에 의해 선택된 종벡터의 요소와 N차원의 극성벡터의 대응하는 요소와의 곱을 요소로 하는 코드벡터를 생성하는 수단(105)을 구비한 것을 특징으로 하는 벡터양자화장치.
  10. 목표벡터에 관한 코드벡터의 오차에 의거해서 소망하는 코드벡터에 대응한 인덱스를 탐색하고, 탐색한 인덱스를 출력하는 벡터양자화장치에 있어서, 복수개의 N차원의 종벡터를 저장하고 있는 수단(100)과; 상기 복수개의 N차원의 종벡터의 어느것인가를 선택하기 위한 종벡터 인덱스를 탐색하는 수단(102)과; 극성벡터의 요소 sn의 극성sk를 극성정보에 의해 결정하여 극성벡터를 생성하는 수단(103)과; 상기 탐색수단에 의해 선택된 종벡터의 요소와 N차원의 극성벡터의 대응하는 요소와의 곱을 요소로 하는 코드벡터를 생성하는 수단(105)을 구비하고; 상기 종 벡터 인덱스 탐색수단은 상기 종 벡터를 vi(i는 종벡터 인덱스이며, i=0∼I-1)로 했을 때, 이 종벡터 Vi마다 이 종벡터Vi의 k=L(p,n)(k,p는 0≤k≤p-1, 1≤p≤N(N은 정정수)을 충족하는 정수)의 조건을 충족하는 n번째의 벡터요소에 대해 상기 목표벡터와 상기 코드 벡터와의 부분내적 fk로부터 계산되는
    을 사용하여 종벡터의 인덱스 후보수를 J개(0J1)로 좁히는 수단을 구비한 것을 특징으로 하는 벡터양자화장치.
  11. 프레임 단위의 제1 및 제2 입력벡터를 입력하고, 제2의 입력벡터에 곱해지는 게인을 양자화하는 게인 양자화장치에 있어서, 현프레임의 제1의 입력벡터를 사용하여 정규화 계수를 산출하는 수단(14)과; 상기 산출수단에 의해 산출된 정규화계수를 사용하여 정규화게인을 역정규화하여 상기 제2벡터에 곱해지는 게인을 얻는 역정규화수단(15)을 구비한 것을 특징으로 하는 게인양자화장치.
  12. 제11항에 있어서, 상기 정규화계수단(14)은 현프레임의 스케일링된 제1의 입력벡터를 사용하여 정규화계수를 산출하는 것을 특징으로 하는 게인양자화장치.
  13. 프레임 단위의 제1 및 제2의 입력벡터를 입력하여 제2의 벡터에 곱해지는 게인을 양자화하는 벡터양자화장치에 있어서, 현프레임의 제1의 입력벡터를 사용하여 정규화 계수를 산출하는 수단(14A)과; 상기 산출수단에 의해 산출된 정규화계수를 사용하여 상기 제2의 벡터에 곱해지는 게인을 정규화하는 수단(15A)을 구비한 것을 특징으로 하는 게인양자화장치.
  14. 제13항에 있어서, 상기 정규화계수 산출수단(14)은 현프레임의 스케일링 된 제1의 입력벡터를 사용하여 정규화 계수를 산출하는 것을 특징으로 하는 게인양자화장치.
  15. 적응코드북 및 잡음코드북으로부터 얻어지는 적응코드벡터 및 코드벡터를 게인코드북으로부터 얻어지는 게인벡터가 곱해진 후에 합성하여 프레임단위의 입력음성신호의 분석결과에 의거해서 필터계수가 결정되는 합성필터에 구동신호로서 공급하고, 이 합성필터로부터 출력되는 음성신호와 입력음성신호의 청감가중신호와의 오차가 최소가 되도록 적응코드벡터와 잡음코드벡터 및 게인벡터를 적응코드북과 잡음코드북 및 게인코드북으로부터 각각 탐색하여 상기 적응코드벡터, 잡음코드벡터, 상기 게인코드북으로부터 얻어지는 게인벡터 및 상기 합성필터의 필터계수를 각각 표시하는 부호화 파라미터로서 출력하는 음성부호화장치에 있어서, 상기 적응코드북으로부터 얻어지는 현프레임의 적응코드벡터를 사용하여 역정규화계수를 산출하는 수단(14)과; 상기 산출수단에 의해 산출된 정규화계수를 사용하여 정규화게인을 역정규하여 상기 제2의 벡터에 곱해지는 게인을 얻는 역정규화수단(15)과, 상기 정규화게인을 표시하는 부호화 파라미터를 출력하는 수단을 구비한 것을 특징으로 하는 음성부호화장치.
  16. 적응코드북 및 잡음코드북으로부터 얻어지는 적응코드벡터 및 잡음코드벡터 게인코드북으로부터 얻어지는 게인벡터가 곱해진 후에 합성하여, 프레임 단위의 입력음성신호의 분석결과에 의거해서 필터계수가 결정되는 합성필터에 구동신호로서 공급하고, 이 합성필터로부터 음성신호를 복호화하는 음성복호화장치에 있어서, 상기 적응코드북으로서 얻어지는 현프레임의 적응코드벡터를 사용하여 정규화 계수를 산출하는 수단(24)과; 상기 산출 수단에 의해 산출된 정규화계수를 사용하여 상기 정규화게인을 역정규화하여 상기 잡음코드벡터에 곱해지는 게인을 얻는 수단(5)을 구비한 것을 특징으로 하는 음성복호화장치.
  17. 복수의 잡음 코드벡터로 되는 잡음코드북과; 입력음성의 음원신호를 모의하는 적응코드벡터를 생성하는 적응코드북과, 잡음코드북으로부터 판독된 잡음코드벡터와 적응코드북으로부터 판독된 적응코드벡터를 합성하며 적응코드 벡터를 갱신하는 합성신호를 출력하는 수단과; 상기 합성신호로부터 구동되어 합성음성을 작성하는 수단과; 부호에러를 고려하면서 입력음성과 합성음성과의 오차가 최소가 되도록 상기 잡음코드북으로부터 판독되는 잡음코드벡터의 인덱스와 적응코드북으로부터 판독되는 적응코드벡터의 인덱스를 탐색하여 양인덱스를 부호화하는 수단을 구비한 것을 특징으로 하는 음성부호화장치.
  18. 제17항에 있어서, 상기 부호화수단은 부호에러를 고려하지 않고 입력음성과 합성음성과의 오차가 비교적 적은 상기 잡음코드북으로부터 판독되는 잡음코드벡터의 복수의 인덱스를 예비선택하는 수단과; 부호에러를 고려하여 입력음성과 합성음성과의 오차가 최소가 되도록 상기 잡음코드북으로부터 판독되는 잡음코드벡터의 인덱스(단수)를 본 선택하는 수단을 구비한 것을 특징으로 하는 음성부호화장치.
  19. 제17항에 있어서, 상기 부호화수단은 부호의 전송로의 부호에러에 관한 정보를 입력하는 수단과; 상기 입력수단에 의해 입력된 전송로의 부호에러에 관한 정보에 따라 상기 본 선택수단이 부호에러를 고려하는 정도를 조절하는 수단을 구비한 것을 특징으로 하는 음성부호화장치.
  20. 복수의 잡음코드벡터로 되는 잡음코드북과; 잡음코드북으로부터 판독된 잡음코드벡터의 각 요소의 극성을 +1, -1중의 어느것인가에 설정함으로써 잡음코드벡터로부터 다수의 변형 잡음코드벡터를 생성하는 수단과; 입력음성의 음원신호를 모의하는 적응코드벡터를 생성하는 적응코드북과; 변형잡음 코드벡터와 적응코드북으로부터 판독된 적응코드벡터를 합성하는 수단과; 여기서 합성신호는 적응코드 벡터를 갱신한다. 상기 합성신호에 의해 구동되어 합성음성을 작성하는 수단과; 입력음성과 합성음성과의 오차가 최소가 되도록 상기 잡음코드북으로부터 판독되는 잡음코드벡터의 인덱스와 적응코드북으로부터 판독되는 코드벡터의 인덱스를 탐색하여 양인덱스를 부호화하는 수단을 구비한 것을 특징으로 하는 음성부호화장치.
  21. 복수의 잡음코드벡터로 되는 잡음코드북과; 입력음성의 음원신호를 모의하는 적응코드벡터를 생성하는 적응코드북과; 잡음코드북으로부터 판독된 잡음코드벡터에 게인을 곱하는 수단과; 복수의 정규화 게인 벡터로 되는 정규화 게인코드북과; 상기 적응코드북으로부터 판독된 적응코드벡터에 의거해서 상기 잡음코드북으로부터의 판독된 잡음코드벡터의 정규화 계수를 구하는 수단과; 정규화계수에 따라 정규화 게인 벡터를 역정규화하여 잡음코드벡터에 곱해지는 게인을 구하는 수단과; 상기 적응코드북으로부터 판독된 적응코드벡터와 게인이 곱해진 후의 잡음코드벡터를 합성하는 수단과; 여기서 합성신호는 적응코드벡터를 갱신한다. 상기 합성신호에 의해 구동되어 합성음성을 작성하는 수단과; 부호에러를 고려하면서 입력음성과 합성음성과의 오차가 최소가 되도록 상기 잡음코드북으로부터 판독되는 잡음코드벡터의 인덱스와 적응코드북으로부터 생성되는 적응코드벡터의 인덱스와 정규화 게인코드북으로부터 판독된 정규화게인 벡터의 인덱스를 탐색하여 이들 인덱스를 부호화하는 수단을 구비한 것을 특징으로 하는 음성부호화장치.
KR1019950033430A 1994-09-30 1995-09-30 벡터양자화장치 KR100194775B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP94-238142 1994-09-30
JP23814294A JPH08101700A (ja) 1994-09-30 1994-09-30 ベクトル量子化装置
JP05763295A JP3277090B2 (ja) 1995-03-16 1995-03-16 ゲイン量子化方法及び装置、音声符号化方法及び装置並びに音声復号化方法及び装置
JP95-57632 1995-03-16
JP06365995A JP3319551B2 (ja) 1995-03-23 1995-03-23 ベクトル量子化装置
JP95-63659 1995-03-23

Publications (2)

Publication Number Publication Date
KR960013082A KR960013082A (ko) 1996-04-20
KR100194775B1 true KR100194775B1 (ko) 1999-06-15

Family

ID=27296321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950033430A KR100194775B1 (ko) 1994-09-30 1995-09-30 벡터양자화장치

Country Status (6)

Country Link
US (1) US5774838A (ko)
EP (1) EP0704836B1 (ko)
KR (1) KR100194775B1 (ko)
CN (1) CN1097396C (ko)
CA (1) CA2159571C (ko)
DE (1) DE69526017T2 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3357795B2 (ja) * 1996-08-16 2002-12-16 株式会社東芝 音声符号化方法および装置
US5920853A (en) * 1996-08-23 1999-07-06 Rockwell International Corporation Signal compression using index mapping technique for the sharing of quantization tables
JP3707153B2 (ja) * 1996-09-24 2005-10-19 ソニー株式会社 ベクトル量子化方法、音声符号化方法及び装置
JP3206497B2 (ja) * 1997-06-16 2001-09-10 日本電気株式会社 インデックスによる信号生成型適応符号帳
TW408298B (en) * 1997-08-28 2000-10-11 Texas Instruments Inc Improved method for switched-predictive quantization
KR100886062B1 (ko) * 1997-10-22 2009-02-26 파나소닉 주식회사 확산 펄스 벡터 생성 장치 및 방법
JP3261691B2 (ja) * 1997-11-28 2002-03-04 沖電気工業株式会社 符号帳予備選択装置
US6292512B1 (en) * 1998-07-06 2001-09-18 U.S. Philips Corporation Scalable video coding system
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6104992A (en) * 1998-08-24 2000-08-15 Conexant Systems, Inc. Adaptive gain reduction to produce fixed codebook target signal
JP2001075600A (ja) * 1999-09-07 2001-03-23 Mitsubishi Electric Corp 音声符号化装置および音声復号化装置
JP3523827B2 (ja) * 2000-05-18 2004-04-26 沖電気工業株式会社 音声データ録音再生装置
KR100415070B1 (ko) * 2001-04-03 2004-01-16 주식회사 제로팩 진공 및 접착용 포장기
JP3887598B2 (ja) * 2002-11-14 2007-02-28 松下電器産業株式会社 確率的符号帳の音源の符号化方法及び復号化方法
GB2418764B (en) * 2004-09-30 2008-04-09 Fluency Voice Technology Ltd Improving pattern recognition accuracy with distortions
DE102005000828A1 (de) * 2005-01-05 2006-07-13 Siemens Ag Verfahren zum Codieren eines analogen Signals
US8005671B2 (en) * 2006-12-04 2011-08-23 Qualcomm Incorporated Systems and methods for dynamic normalization to reduce loss in precision for low-level signals
EP2515299B1 (en) 2009-12-14 2018-06-20 Fraunhofer Gesellschaft zur Förderung der Angewand Vector quantization device, voice coding device, vector quantization method, and voice coding method
US9202473B2 (en) * 2011-07-01 2015-12-01 Nokia Technologies Oy Multiple scale codebook search
US9418671B2 (en) * 2013-08-15 2016-08-16 Huawei Technologies Co., Ltd. Adaptive high-pass post-filter
US9659350B2 (en) * 2014-01-31 2017-05-23 Morpho, Inc. Image processing device and image processing method for image correction, and non-transitory computer readable recording medium thereof
US9503747B2 (en) 2015-01-28 2016-11-22 Intel Corporation Threshold filtering of compressed domain data using steering vector
CN108028045A (zh) 2015-07-06 2018-05-11 诺基亚技术有限公司 用于音频信号解码器的位错误检测器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2227900A (en) * 1989-02-03 1990-08-08 Philips Nv Datv encoding and decoding
US5263119A (en) * 1989-06-29 1993-11-16 Fujitsu Limited Gain-shape vector quantization method and apparatus
JPH0365822A (ja) * 1989-08-04 1991-03-20 Fujitsu Ltd ベクトル量子化符号器及びベクトル量子化復号器
US5091945A (en) * 1989-09-28 1992-02-25 At&T Bell Laboratories Source dependent channel coding with error protection
CA2027705C (en) * 1989-10-17 1994-02-15 Masami Akamine Speech coding system utilizing a recursive computation technique for improvement in processing speed
DE4013863A1 (de) * 1990-04-30 1991-10-31 Staff Gmbh & Co Kg Adapter fuer stromschienen
JP3045197B2 (ja) * 1991-07-29 2000-05-29 日本電信電話株式会社 ベクトル量子化器の符号帳設計方法
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
US5337085A (en) * 1992-04-10 1994-08-09 Comsat Corporation Coding technique for high definition television signals
US5495555A (en) * 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec

Also Published As

Publication number Publication date
CA2159571A1 (en) 1996-03-31
CN1097396C (zh) 2002-12-25
US5774838A (en) 1998-06-30
EP0704836A3 (en) 1998-03-11
KR960013082A (ko) 1996-04-20
CN1128462A (zh) 1996-08-07
EP0704836A2 (en) 1996-04-03
EP0704836B1 (en) 2002-03-27
CA2159571C (en) 2000-03-14
DE69526017D1 (de) 2002-05-02
DE69526017T2 (de) 2002-11-21

Similar Documents

Publication Publication Date Title
KR100194775B1 (ko) 벡터양자화장치
JP2746039B2 (ja) 音声符号化方式
JP3346765B2 (ja) 音声復号化方法及び音声復号化装置
JP3151874B2 (ja) 音声パラメータ符号化方式および装置
JP3114197B2 (ja) 音声パラメータ符号化方法
US5208862A (en) Speech coder
EP1353323B1 (en) Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound
EP0500961A1 (en) Voice coding system
JP3196595B2 (ja) 音声符号化装置
JPH1091194A (ja) 音声復号化方法及び装置
JP2626223B2 (ja) 音声符号化装置
JPH056199A (ja) 音声パラメータ符号化方式
JP2800618B2 (ja) 音声パラメータ符号化方式
US6009388A (en) High quality speech code and coding method
JP2624130B2 (ja) 音声符号化方式
US5884252A (en) Method of and apparatus for coding speech signal
CA2130877C (en) Speech pitch coding system
JP3435310B2 (ja) 音声符号化方法および装置
JP3462958B2 (ja) 音声符号化装置および記録媒体
JP3047761B2 (ja) 音声符号化装置
JP3471889B2 (ja) 音声符号化方法及び装置
JP3089967B2 (ja) 音声符号化装置
JP3192051B2 (ja) 音声符号化装置
JP2002221998A (ja) 音響パラメータ符号化、復号化方法、装置及びプログラム、音声符号化、復号化方法、装置及びプログラム
JP3144194B2 (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: 20030130

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee