KR100277096B1 - 음성압축을 위한 코드워드와 양자화된 이득 선택방법 - Google Patents

음성압축을 위한 코드워드와 양자화된 이득 선택방법 Download PDF

Info

Publication number
KR100277096B1
KR100277096B1 KR1019970065487A KR19970065487A KR100277096B1 KR 100277096 B1 KR100277096 B1 KR 100277096B1 KR 1019970065487 A KR1019970065487 A KR 1019970065487A KR 19970065487 A KR19970065487 A KR 19970065487A KR 100277096 B1 KR100277096 B1 KR 100277096B1
Authority
KR
South Korea
Prior art keywords
subframe
codeword
candidates
codebook gain
quantized
Prior art date
Application number
KR1019970065487A
Other languages
English (en)
Other versions
KR19990028181A (ko
Inventor
박호종
Original Assignee
윤종용
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자주식회사 filed Critical 윤종용
Priority to US09/150,362 priority Critical patent/US6108624A/en
Priority to CN98119216A priority patent/CN1124590C/zh
Priority to DE69821068T priority patent/DE69821068T2/de
Priority to EP98307345A priority patent/EP0902421B1/en
Priority to JP25626298A priority patent/JP3335929B2/ja
Priority to CA002246901A priority patent/CA2246901C/en
Publication of KR19990028181A publication Critical patent/KR19990028181A/ko
Application granted granted Critical
Publication of KR100277096B1 publication Critical patent/KR100277096B1/ko

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 음성압축을 위해 코드북을 검색하여 코드워드와 양자화된 코드북 이득을 선택하기 위한 방법에 있어서, 시간적으로 연속된 제1 및 제2 부프레임으로 구성되는 검색창에 대하여 제1 목표신호를 계산하는 제1 단계, 제1 목표신호를 이용하여 제1 부프레임에 대한 K개의 코드워드 후보들과 코드북 이득 후보들을 구하는 제2 단계, 제1 목표신호 및 제1 부프레임에 대한 K개의 코드워드 후보들과 코드북 이득 후보들을 이용하여 제2 부프레임에 대한 K개의 제2 목표신호들을 계산하는 제3 단계, K개의 제2 목표신호들 각각에 대하여 제2 부프레임에 대한 L개의 코드워드 후보들과 코드북 이득 후보들을 구하는 제4 단계, 제1 목표신호 및 제1 및 제2 부프레임에 대한 코드워드 후보들과 코드북 이득 후보들을 이용하여 제1 부프레임에 대한 코드워드와 양자화된 코드북 이득 및 제2 부프레임에 대한 코드워드와 양자화된 코드북 이득을 최종적으로 하나씩 구하는 제5 단계를 포함한다. 이로써 본 발명은 프레임별로 검색 시간을 조절할 수 있으며 보다 넓은 구간의 음성 특성을 이용하여 코드워드와 양자화된 이득을 선택함으로써 합성음의 음질을 향상시킬 수 있다.

Description

음성압축을 위한 코드워드와 양자화된 이득 선택방법{A METHOD FOR SELECTING CODEWORD AND QUANTIZED GAIN FOR SPEECH CODING}
본 발명은 음성압축(Speech Coding) 방법에 관한 것으로서, 특히 CELP(Code Excited Linear Prediction) 구조의 음성 압축기의 성능을 향상시키기 위한 코드워드와 양자화된 이득의 선택방법에 관한 것이다.
통상적으로 알려진 바와 같이, LPC(Linear Predictive Coding) 기반의 음성 압축기는 입력되는 음성신호 중에서 과거 정보에 의하여 예측(Prediction)이 불가능한 정보, 즉 예측오차와 예측방법만을 전달함으로써 음성신호의 전달을 위해 필요한 데이터의 양을 줄인다. 여기서 입력된 음성신호를 s(n)이라고 할 때 이 음성신호는 과거의 음성신호 s(n-1), s(n-2),... 등에 의하여 예측될 수 있다. 과거 10개의 음성신호에 의하여 현재의 음성신호를 예측하는 경우, 예측된 음성신호 s'(n)의 예는 하기의 수학식 1 과 같다.
s'(n)= a1s(n-1) + a2s(n-2) + a3s(n-3) + ... a10s(n-10)
따라서, 음성 압축기는 음성신호 전체를 전송하지 않고 상기의 계수들, 즉 a1, a2, ... , a10 만을 전송함으로써 수신측에서 s'(n)를 구할 수 있도록 한다. 상기의 계수를 LPC 계수라고 하며 보통 10차의 차수를 갖는 LPC 계수를 얻기 위하여 입력신호에 대한 자기상관 방법이 사용된다.
그러나 상기와 같이 구해진 s'(n)는 원래의 신호인 s(n)와 완전히 같지는 않으며 더욱이 음성의 피치(Pitch) 부분을 예측할 수는 없다. 따라서 피치분석이 필요하다. 상기 피치분석이란 음성신호의 장기 상관(Long-term correlation)에 해당하는 피치정보를 얻어내는 과정으로, 피치정보는 피치주기와 피치이득으로 구성되며 하나의 피치필터로 표시된다.
음성 압축기는 입력된 음성신호를 상기 LPC 필터를 통과시켜 잔여신호, 즉 s(n)-s'(n)로 표시되는 예측오차를 구하고, 이를 다시 피치(Pitch) 필터를 통과 시켜 피치주기에 의한 상관성을 제거한 최종 잔여신호를 구한다. 따라서 피치필터를 통과하여 얻어진 최종 잔여신호와 LPC 필터, 피치필터의 계수값만 있다면 음성을 다시 복원시킬 수 있다. 상기 LPC 필터와 피치필터의 계수값은 입력된 음성신호를 이용하여, 가장 적은 오차 신호를 나타내는 경우에 대한 계수값을 계산함으로써 얻어낼 수 있다.
구해낸 각 필터의 계수 값과 잔여신호를 디지털로 전달하기 위해서 양자화(Quantization)를 수행해야 하는데, LPC 기반의 음성 압축기는 잔여신호를 양자화 하는 방법에 따라 음성 압축기의 구조를 구별할 수 있다.
CELP 구조의 음성 압축기는 코드북을 이용하여 잔여신호를 양자화한다. 즉, 이미 준비된 코드북(다양한 형태의 신호들의 집합으로서 각 신호를 '코드워드'라 함)에서 현재 구해진 잔여신호와 가장 비슷한 신호(즉 코드워드)를 찾고 이것의 인덱스를 수신측으로 전달하면, 수신측에서는 전달된 인덱스를 사용하여 송신측에서와 같은 코드북으로부터 해당하는 코드워드를 선택하여 양자화된 잔여신호를 얻는다.
CELP 압축기의 코드북 검색과정은 코드북 내에 저장된 모든 코드워드를, 이미 구하여진 피치필터 및 LPC 필터를 통과시켜 복원된 신호를 얻고, 이 신호 중에서 입력된 음성신호와의 충실도 판정을 최적화 시키는 것을 선택하도록 구성되어 있다. 보통 두 신호에 대한 평균제곱오차(Mean Square Error: MSE)를 이용하여 충실도를 판정한다.
이러한 CELP 압축기는 입력된 음성신호를 분석하여 필요한 파라미터를 추출하기 위하여 여러 신호를 이용하여 음성신호를 합성한 후 합성된 음성신호를 입력된 음성신호와 비교하는, 소위 "합성에 의한 분석"(Analysis-by-Synthesis) 방법을 사용함으로써 음질이 매우 우수하다. 상기 "합성에 의한 분석"에 의한 코드북 검색방법이란 가능한 모든 코드워드에 대하여 복원 단계를 거쳐 복원 음성신호를 계산하고 복원후의 음성이 원래의 입력 신호와 가장 비슷하도록 하는 코드워드를 최종 선택한다.
최적의 코드워드를 선택하기 위해서는 보통 입력신호를 짧은 시간의 부프레임(Subframe)들로 나누고 매 부프레임마다 하나의 최적 코드워드를 선택한다. 음성신호를 8kHz로 샘플링하는 경우 하나의 부프레임은 보통 20샘플(하나의 샘플은 0.125ms)로 구성된다.
상기 코드북 검색에서 얻어지는 것은 합성음을 얻기 위한 코드워드 외에, 여기 신호의 구성을 위하여 필요한 양자화된 코드북 이득이다. 그러므로 실제로 피치필터에 입력되는 여기신호는 인덱스에 의해 선택된 코드워드에 양자화된 코드북 이득을 곱한 신호이다.
상기와 같이 동작되는 음성 압축기를 사용하여 음성신호를 압축함에 있어서 가장 중요한 기능은, 각 필터에 대한 특성 함수를 구하는 방법과 전송되는 코드워드 및 양자화된 코드북 이득을 검색하는 방법에 대한 것이다. 그 중에서 코드워드와 양자화된 코드북 이득의 검색은 CELP 음성 압축기의 성능을 결정하는 매우 중요한 부분이다.
도 1 은 종래 기술에 의한 코드워드와 코드북 이득의 선택동작을 나타낸 블럭도이다. 여기서 코드북을 검색하기 전에 최적 LPC 필터 함수인 1/A(z), 피치필터 수인 1/P(z), 가중치 필터(Weighting Filter) 함수인 1/W(z)는 이미 정해져 있다고 가정한다.
도 1을 참조하면, 피치필터(110)는 0 입력에 대한 응답(Zero-Input Response)을 출력하고, LPC 필터(120)는 상기 피치필터(110)의 출력을 받아 음성신호를 예측한다. 가중치 필터(130)는 입력된 음성신호로부터 상기 LPC 필터(120)로부터 예측된 음성신호를 뺀 신호를 입력으로 하여 목표신호(Target Signal)(1)를 출력하며, LPC 필터(150)는 코드북(140)의 모든 코드워드와 모든 양자화된 코드북 이득의 곱을 입력으로 하여 출력신호를 출력한다. 최소 평균제곱오차(Mean Square Error: MSE) 선택기(160)는 상기 목표신호(1)와 상기 LPC 필터(150)의 출력신호의 차이가 평균제곱오차의 관점에서 가장 작을 때의 최적 코드워드와 양자화된 코드북 이득을 선택한다.
종래기술은 매 부프레임마다 독립적으로 동작하여 결과적으로는 하나의 부프레임 내에서 구해진 목표신호(1)와 출력신호(2)의 차이만을 가지고 최적화된 결과물을 선택한다. 따라서 매 부프레임마다 하나씩의 최적화된 코드워드와 양자화된 코드북 이득이 독립적으로 구해진다.
이때 현재 부프레임의 음성신호가 입력되고 과거의 모든 정보는 각 필터의 초기값으로 주어져서 코드북 검색에 영향을 주지만 앞으로 입력될 신호에 대해서는 아무런 정보도 주어지지 않는다. 따라서 음성의 특성 변화가 많은 구간, 특히 음성의 천이구간(Transient Region)에서, 짧은 구간의 부프레임에 대해서만 최적화가 수행되어 전체적으로 볼 때 최적의 코드워드(및 코드북 이득)를 선택할 수 없다. 또한 매 부프레임에 대하여 독립적인 최적화를 수행하게 되므로 부프레임 경계에 있는 신호의 특성은 코드북의 검색에 거의 반영되지 않는다는 문제가 발생하게 되는데, 부프레임의 길이가 짧을수록 이러한 문제는 더 커진다.
통신 시스템에서 사용되고 있는 종래 기술에 의한 CELP 구조의 표준 음성 압축기는, 상기와 같은 이유 때문에 합성하는 음성의 음질이 떨어지고 그 결과 통신 시스템의 전체 서비스 품질이 불량해진다는 문제점을 발생시킨다. 그러나 상기와 같은 짧은 구간내의 부프레임 내에서의 독립적인 코드워드 검색으로 인한 문제점을 해결하기 위하여 새로운 음성 압축기를 표준으로 정하여 설치하게 된다면 기존의 표준 음성 압축기와 호환이 되지 않을 뿐만 아니라 많은 비용과 시간이 소요된다. 이것은 이동통신 시스템에서 많은 단말기와 기지국 시스템이 이미 기존의 표준 음성 압축기를 사용하고 있기 때문이다. 따라서 기존의 표준 음성 압축기를 사용하면서도 상기에 언급된 문제점들을 해결할 수 있는 방법을 필요로 하게 되었다.
상기된 바와 같은 문제점을 해결하기 위한 본 발명은 기존 구조의 표준 음성 압축기를 사용하여 미래의 입력 정보를 미리 가지고 코드워드와 양자화된 코드북 이득을 검색하는 음성압축을 위한 코드워드와 양자화된 코드북 이득 선택방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 연속된 두 개의 부프레임에서 동시에 최적화를 수행하여 부프레임 경계 문제를 해결하기 위한 코드워드와 양자화된 코드북 이득 선택방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여 창안된 본 발명의 바람직한 실시예는, 음성압축을 위해 코드북을 검색하기 위한 방법에 있어서,
시간적으로 연속된 제1 및 제2 부프레임으로 구성되는 검색창에 대하여 제1 목표신호를 계산하는 제1 단계,
상기 제1 목표신호를 이용하여 상기 제1 부프레임에 대한 K개의 코드워드 후보들과 코드북 이득 후보들을 구하는 제2 단계,
상기 제1 목표신호 및 상기 제1 부프레임에 대한 K개의 코드워드 후보들과 코드북 이득 후보들을 이용하여 상기 제2 부프레임에 대한 K개의 제2 목표신호들을 계산하는 제3 단계,
상기 K개의 제2 목표신호들 각각에 대하여 상기 제2 부프레임에 대한 L개의 코드워드 후보들과 코드북 이득 후보들을 구하는 제4 단계,
상기 제1 목표신호 및 상기 제1 및 제2 부프레임에 대한 코드워드 후보들과 코드북 이득 후보들을 이용하여 상기 제1 부프레임에 대한 코드워드와 양자화된 코드북 이득 및 상기 제2 부프레임에 대한 코드워드와 양자화된 코드북 이득을 최종적으로 하나씩 구하는 제5 단계를 포함한다.
도 1 은 종래 기술에 의한 코드워드와 이득의 선택동작을 나타낸 블럭도.
도 2 는 본 발명에 의한 코드워드와 이득의 선택동작을 나타낸 블럭도.
도 3 은 본 발명에 의해 제1 부프레임에 대한 코드워드 후보와 이득의 선택동작을 나타낸 블럭도.
도 4 는 본 발명에 의한 제2 부프레임에 대한 목표신호 계산동작을 나타낸 블럭도.
도 5 는 본 발명에 의한 제2 부프레임에 대한 코드워드 후보와 이득의 선택동작을 나타낸 블럭도.
도 6 은 본 발명에 의한 최적의 코드워드와 양자화된 이득의 선택동작을 나타낸 블럭도.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 시간적으로 연속된 두 개의 부프레임에 걸쳐서 동시에 코드워드와 양자화된 코드북 이득의 검색을 수행한다. 이를 위하여 매 2개의 부프레임씩을 하나의 기본 검색창(Window)으로 한다. 부프레임 하나의 크기를 Lc라고 할 때 검색창의 시간축 인덱스는 0, 1, ... , 2Lc-1이 된다. 여기서 제1 부프레임은 0, 1, ... , Lc-1 이고 제2 부프레임은 Lc, Lc+1, ... , 2Lc-1 에 해당한다.
본 발명에 의한 음성 압축기는 상기 각 검색창에 대하여 제1 부프레임에 대한 코드워드의 후보(Candidate)와 코드북 이득의 후보들을 K개씩 찾고, 찾아낸 K개의 코드워드와 코드북 이득의 후보 조합들 각각에 대하여 제2 부프레임에 대한 코드워드 후보와 코드북 이득 후보를 L개씩 찾는다. 그러면 두 개의 부프레임에 걸쳐 총 K × L 개의 코드워드와 코드북 이득의 후보 조합이 구해진다. 본 발명에서 상기 후보란 최적의 코드워드 또는 최적의 양자화된 코드북 이득으로 사용 가능한 값으로 정의되며, 이후의 절차에서 다수의 후보들 중에서 최적의 값을 찾는데 이용된다.
이후 음성 압축기는 상기 구해진 모든 코드워드와 코드북 이득의 조합들에 대하여 가능한 모든 양자화된 코드북 이득을 상기 검색창 단위로 검색하여, 각 부프레임에 대한 최적의 코드워드 조합 하나와 이에 해당하는 양자화된 코드북 이득을 찾는다.
이후 도면을 참조하여 본 발명의 동작원리에 대하여 구체적으로 설명한다.
도 2 는 본 발명에 의한 코드워드와 코드북 이득의 선택동작을 나타낸 블럭도이다.
도 2를 참조하면, 시간적으로 연속된 제1 및 제2 부프레임으로 구성되는 검색창에 대하여 제1 목표신호(11)를 계산하는 제1 단계(210), 상기 제1 목표신호(11)를 이용하여 상기 제1 부프레임에 대한 K개의 코드워드 후보들(21)과 코드북 이득 후보들(22)을 구하는 제2 단계(220), 상기 제1 목표신호(11) 및 상기 제1 부프레임에 대한 K개의 코드워드 후보들(21)과 코드북 이득 후보들(22)을 이용하여 상기 제2 부프레임에 대한 K개의 제2 목표신호들(31)을 계산하는 제3 단계(230), 상기 K개의 제2 목표신호들(31) 각각에 대하여 상기 제2 부프레임에 대한 L개의 코드워드 후보들(41)과 코드북 이득 후보들(42)을 구하는 제4 단계(240), 상기 제1 및 제2 코드워드 후보들(21)(41)과 코드북 이득 후보들(22)(42)을 상기 검색창 단위로 검색하여 상기 제1 부프레임에 대한 최적의 코드워드(51)와 양자화된 코드북 이득(52) 및 상기 제2 부프레임에 대한 최적의 코드워드(53)와 양자화된 코드북 이득(54)을 최종적으로 하나씩 선택하는 제5 단계(250)로 구성되어 있다.
상기의 각 단계들을 상세히 설명하면, 먼저 단계(210)에서는 종래 기술과 같이 미리 정해진 특성함수를 가지는 피치필터에 의하여 0 입력에 대한 피치필터의 출력신호를 구하고, 이를 LPC 필터의 입력으로 하여 LPC 필터의 출력신호를 구한다. 상기 LPC 필터의 출력신호를 입력된 두 개의 부프레임(이하 제1 및 제2 부프레임)에 해당하는 음성신호(즉 검색창)에서 감산한 다음, 이를 가중치 필터를 통과시킴으로써 검색창에 대한 제1 목표신호(11)를 얻는다.
도 3은 도 2의 단계(220)의 세부동작을 나타낸 블럭도이다.
도 3을 참조하면, 가능한 모든 코드북 인덱스에 의해 코드북으로부터 구해진 모든 가능한 코드워드는 양자화되지 않은 코드북 이득과 곱해진 뒤 LPC 필터로 입력된다. 최소 평균제곱오차(MSE) 선택기는 상기 LPC 필터의 출력신호와 상기 제1 목표신호(11)의 차이가 평균제곱오차의 관점에서 가장 작을 때의 코드워드 후보(21)와 그에 해당하는 양자화되지 않은 코드북 이득 후보(22)를 K개만큼 선택한다. 이때 상기 최소 평균제곱오차 선택기는 제1 부프레임 안에서 동작한다. 이로써 제1 부프레임에 대한 코드워드 후보(21)와 그에 해당하는 코드북 이득 후보(22)의 조합들이 K개만큼 구해진다.
도 4 는 도 3의 단계(230)의 세부동작을 나타낸 블럭도이다.
도 4를 참조하면, 상기 제1 부프레임에 대한 K개의 코드워드 후보들(21) 각각은 제2 부프레임에 해당하는 시간구간인 시간축 Lc, Lc+1, ... , 2Lc-1 위치가 제로 패딩(Zero Padding)되고 피치필터와 LPC 필터를 순차적으로 통과한 뒤, 해당하는 코드북 이득 후보(22)와 곱해진다. 이때, 상기 피치필터와 LPC 필터의 초기값은 모두 0으로 설정된다. 상기 곱해진 결과신호(32)는 제1 목표신호(11)로부터 감산되어 제2 부프레임에 대한 제2 목표신호(31)가 된다.
상기와 같은 단계(230)의 동작은 K개의 코드워드 후보(21)와 그에 해당하는 코드북 이득 후보(22)의 조합들 각각에 대하여 수행되어 결과적으로 K개의 제2 목표신호들(31)이 구해진다.
도 5 는 도 2의 단계(240)의 세부동작을 나타낸 블럭도이다.
도 5 를 참조하면, 가능한 모든 코드북 인덱스에 의해 코드북으로부터 구해진 가능한 모든 코드워드는 양자화되지 않은 코드북 이득과 곱해진 뒤 LPC 필터로 입력된다. 최소 평균제곱오차(MSE) 선택기는 상기 LPC 필터의 출력신호와 상기 제2 목표신호(31)의 차이가 평균제곱오차의 관점에서 가장 작을 때의 코드워드 후보(41)와 그에 해당하는 양자화되지 않은 코드북 이득 후보(42)를 L개만큼 선택한다. 이때 상기 선택된 코드워드 후보들(41)에서 제1 부프레임에 대한 시간구간인 0, 1, ... , Lc-1 위치는 모두 제로패딩된다.
상기와 같은 단계(240)의 동작은 K개의 제2 목표신호들(31) 각각에 대하여 수행되어 결과적으로 제2 부프레임에 대한 코드워드 후보(41)와 그에 해당하는 코드북 이득 후보(42)의 조합들이 K×L개만큼 구해진다.
도 6 은 도 2의 단계(250)의 세부동작을 나타낸 블럭도이다.
도 6 을 참조하면, 도 4의 단계(230)에서 구해진 신호(32), 즉 제1 부프레임에 대한 K개의 코드워드 후보들(21) 각각에 대해 제2 부프레임에 해당하는 시간구간인 시간축 Lc, Lc+1, ... , 2Lc-1 위치가 제로 패딩되고 피치필터와 LPC 필터를 순차적으로 통과한 뒤 해당하는 코드북 이득 후보(22)와 곱해진 결과신호(32)는 제1 부프레임의 가능한 모든 양자화된 코드북 이득들 Gq1a와 곱해져서 제1 곱신호를 생성한다.
또한 제1 부프레임에 대한 코드워드 후보들(21) 각각에 해당하는 제2 부프레임에 대한 코드워드 후보들(41) 각각은 피치필터와 LPC 필터를 순차적으로 통과한 뒤 제2 부프레임의 가능한 모든 양자화된 코드북 이득들 Gq2b를 곱해져서 제2 곱신호(56)를 생성한다.
그러면 최소 평균제곱오차 선택기는 상기 제1 곱신호와 제2 곱신호(56)의 합(57)과 상기 제1 목표신호(11)의 차이를 구하여, 평균제곱의 관점에서 오차를 최소화시키는 제1 및 제2 부프레임 각각에 대한 최적의 코드워드(51)(53)와 양자화된 코드북 이득(52)(54)을 최종 선택하게 된다. 이때 최종적으로 코드워드와 양자화된 코드북 이득을 선택하기 위해서는 하기의 수학식 2를 최소화시키는 k, j, a, b 값을 구한다.
Figure pat00001
여기서 상기 Lc는 하나의 검색창의 크기이고, 상기 n 은 0 ~ 2Lc-1까지 변화하는 시간축의 단위이고, 상기 x(n)는 검색창에 대한 제1 목표신호(11)이고, 상기 Uk(n)는 제1 부프레임에 대한 K개의 코드워드 후보들 중 k번째 코드워드 후보에 대한 신호(32)이고, Zkj(n)는 제1 부프레임에 대한 k번째 코드워드 후보에 대응하는 제2 부프레임의 j번째 코드워드 후보에 대한 신호(55)이고, Gq1a는 제1 부프레임의 a번째 양자화된 코드북 이득이고 Gq2b는 제2 부프레임의 b번째 양자화된 코드북 이득이다.
이와 같이 본 발명은 부프레임 별로 이루어지도록 되어 있는 코드북 이득의 양자화를 각 부프레임 별로 하지 않고, 두 개의 부프레임을 하나의 최적화 검색창으로 하여 두 개의 부프레임에 대한 코드북 이득을 동시에 양자화하게 된다.
두 부프레임을 동시에 최적화함에 따라 계산량이 많아지게 되면, 수학식 2를 최소화하는 단계에서 모든 가능한 양자화된 코드북 이득을 검색하지 않고 각 부프레임에 대한 코드북 이득 후보와 같은 부호를 가지는 양자화된 코드북 이득들만을 검색함으로써 검색시간을 단축시킬 수 있다.
예를 들어, 제1 부프레임의 특정 코드워드 후보에 대한 코드북 이득 후보의 부호가 양(+)이면 Gq1a모두를 검색하지 않고 양수인 것만을 검색한다. 그러면 모든 양자화된 코드북 이득을 검색하는 것에 비하여 검색 시간을 1/4로 줄일 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은 각 부프레임 별로 다수의 코드워드 후보들과 코드북 이득 후보들을 먼저 구하고 나중에 검색창에서 K×L개의 코드워드와 코드북 이득 조합에 대한 하나의 최적 조합을 구하기 때문에 K와 L의 값을 조절함으로써 프레임별로 검색 시간을 조절할 수 있다. 또한, 두 부프레임에 걸친 검색창에서 최적화를 수행하므로 미래의 정보를 사용하지만 추가되는 압축기 동작 지연(Algorithmic Delay)은 전혀 없다.
게다가 본 발명은 기존의 표준 음성 압축기에 적용하여 호환성을 유지하면서도 연속된 두 개의 부프레임에서 동시에 최적화를 시켜 부프레임 경계 문제를 해결하며 보다 넓은 구간의 음성 특성을 이용하기 때문에 합성음의 음질을 향상시킬 수 있다.

Claims (11)

  1. 음성압축을 위해 코드북을 검색하기 위한 방법에 있어서,
    시간적으로 연속된 제1 및 제2 부프레임으로 구성되는 검색창에 대하여 제1 목표신호를 계산하는 제1 단계,
    상기 제1 목표신호를 이용하여 상기 제1 부프레임에 대한 K개의 코드워드 후보들과 코드북 이득 후보들을 구하는 제2 단계,
    상기 제1 목표신호 및 상기 제1 부프레임에 대한 K개의 코드워드 후보들과 코드북 이득 후보들을 이용하여 상기 제2 부프레임에 대한 K개의 제2 목표신호들을 계산하는 제3 단계,
    상기 K개의 제2 목표신호들 각각에 대하여 상기 제2 부프레임에 대한 L개의 코드워드 후보들과 코드북 이득 후보들을 구하는 제4 단계,
    상기 제1 목표신호 및 상기 제1 및 제2 부프레임에 대한 코드워드 후보들과 코드북 이득 후보들을 이용하여 상기 제1 부프레임에 대한 코드워드와 양자화된 코드북 이득 및 상기 제2 부프레임에 대한 코드워드와 양자화된 코드북 이득을 구하는 제5 단계를 포함하는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  2. 제 1 항에 있어서, 상기 K 및 L은 프레임별 검색시간의 조절을 위하여 가변되는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  3. 제 1 항에 있어서, 상기 제2 단계는,
    가능한 모든 코드워드들과 양자화되지 않은 코드북 이득의 곱을 입력으로 하는 LPC 필터의 출력신호를 구하는 단계,
    상기 LPC 필터의 출력신호와 상기 제1 목표신호의 차이를 구하여 평균제곱오차를 최소로 하는 K개의 코드워드 후보들과 양자화되지 않은 코드북 이득 후보들을 선택하는 단계를 포함하는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  4. 제 3 항에 있어서, 상기 K개의 코드워드 후보들과 양자화되지 않은 코드북 이득 후보들을 선택하는 단계는, 상기 제1 부프레임 내에서 수행되는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  5. 제 1 항에 있어서, 상기 제3 단계는,
    상기 제1 부프레임에 대한 K개의 코드워드 후보들에 대하여 상기 제2 부프레임에 해당하는 시간축상의 위치를 제로 패딩하는 단계,
    상기 제로 패딩된 신호들을 입력으로 하는 피치필터의 출력신호들을 구하는 단계,
    상기 피치필터의 출력신호들을 입력으로 하는 LPC 필터의 출력신호들을 구하는 단계,
    상기 LPC 필터의 출력신호들과 상기 제1 부프레임에 대한 코드북 이득 후보들을 곱한 곱신호들을 구하는 단계,
    상기 제1 목표신호에서 상기 곱신호들을 감산함으로써 상기 K개의 제2 목표신호들을 구하는 단계를 포함하는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  6. 제 5 항에 있어서, 상기 피치필터와 LPC 필터의 초기값은 0으로 설정되는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  7. 제 1 항에 있어서, 상기 제4 단계는,
    가능한 모든 코드워드들과 양자화되지 않은 코드북 이득의 곱을 입력으로 하는 LPC 필터의 출력신호를 구하는 단계,
    상기 K개의 제2 목표신호 각각에 대하여 상기 LPC 필터의 출력신호와 상기 제2 목표신호의 차이를 구하여 평균제곱오차를 최소로 하는 L개의 코드워드 후보들과 양자화되지 않은 코드북 이득 후보들을 선택하는 단계를 포함하는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  8. 제 7 항에 있어서, 상기 K×L개의 코드워드 후보들에서 상기 제1 부프레임에 대한 시간축상의 위치는 모두 0으로 하는 단계를 더 포함하는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  9. 제 1 항에 있어서, 상기 제 5 단계는,
    상기 제1 부프레임에 대한 코드워드 후보들에 대하여 상기 제2 부프레임에 해당하는 시간축상의 위치를 제로 패딩하고, 상기 제로 패딩된 신호들을 입력으로 하는 피치필터의 출력신호들을 구하고, 상기 피치필터의 출력신호들을 입력으로 하는 LPC 필터의 출력신호들을 구하고, 상기 LPC 필터의 출력신호들과 제1 부프레임의 가능한 모든 양자화된 코드북 이득들을 곱한 제1 곱신호를 구하는 단계,
    상기 제2 부프레임에 대한 코드워드 후보들을 입력으로 하는 피치필터의 출력신호들을 구하고, 상기 피치필터의 출력신호들을 입력으로 하는 LPC 필터의 출력신호들을 구하고, 상기 LPC 필터의 출력신호들과 제2 부프레임의 가능한 모든 양자화된 코드북 이득들을 곱한 제2 곱신호를 구하는 단계,
    상기 제1 곱신호와 제2 곱신호의 합과 상기 제1 목표신호의 차이를 구하여 평균제곱오차를 최소로 하는 제1 부프레임에 대한 코드워드와 양자화된 코드북 이득 및 제2 부프레임에 대한 코드워드와 양자화된 코드북 이득을 선택하는 단계를 포함하는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
  10. 제 9 항에 있어서, 상기 제1 부프레임에 대한 코드워드와 양자화된 코드북 이득 및 제2 부프레임에 대한 코드워드와 양자화된 코드북 이득을 선택하는 단계는, 하기의 수학식 3을 최소로 하는 j, k, a, b를 구하는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
    Figure pat00002
    Lc : 하나의 부프레임의 크기.
    n : 0 ~ 2Lc-1까지 변화하는 시간단위.
    x(n) : 검색창에 대한 제1 목표신호.
    Uk(n) : 제1 부프레임에 대한 k번째 코드워드 후보에 대해 제2 부프레임에 해당하는 시간축상의 위치를 제로 패딩한 뒤 피치필터와 LPC 필터를 통과시킨 출력신호.
    Zkj(n) : 제1 부프레임에 대한 k번째 코드워드 후보에 대한 제2 부프레임에 대한 j번째 코드워드 후보에 대해 피치필터와 LPC 필터를 통과시킨 출력신호.
    Gq1a: 제1 부프레임의 a번째 양자화된 코드북 이득.
    Gq2b: 제2 부프레임의 b번째 양자화된 코드북 이득.
  11. 제 10 항에 있어서, 각 k와 j에 대한 모든 Gq1a, Gq2b를 검색하지 않고 각 코드워드에 해당하는 코드북 이득 후보와 같은 부호를 가지는 양자화된 코드북 이득들만을 검색함으로써 검색시간을 단축시키는, 음성압축을 위한 코드워드와 양자화된 이득 선택방법.
KR1019970065487A 1997-09-10 1997-12-03 음성압축을 위한 코드워드와 양자화된 이득 선택방법 KR100277096B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US09/150,362 US6108624A (en) 1997-09-10 1998-09-09 Method for improving performance of a voice coder
CN98119216A CN1124590C (zh) 1997-09-10 1998-09-09 改善话音信号编码器性能的方法
DE69821068T DE69821068T2 (de) 1997-09-10 1998-09-10 Vorrichtung und Verfahren zur Sprachkodierung
EP98307345A EP0902421B1 (en) 1997-09-10 1998-09-10 Voice coder and method
JP25626298A JP3335929B2 (ja) 1997-09-10 1998-09-10 音声圧縮機の性能向上方法
CA002246901A CA2246901C (en) 1997-09-10 1998-09-10 A method for improving performance of a voice coder

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR101997046506 1997-09-10
KR19970046506 1997-09-10
KR1019970046506 1997-09-10

Publications (2)

Publication Number Publication Date
KR19990028181A KR19990028181A (ko) 1999-04-15
KR100277096B1 true KR100277096B1 (ko) 2001-01-15

Family

ID=66094554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970065487A KR100277096B1 (ko) 1997-09-10 1997-12-03 음성압축을 위한 코드워드와 양자화된 이득 선택방법

Country Status (1)

Country Link
KR (1) KR100277096B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE519563C2 (sv) * 1998-09-16 2003-03-11 Ericsson Telefon Ab L M Förfarande och kodare för linjär prediktiv analys-genom- synteskodning

Also Published As

Publication number Publication date
KR19990028181A (ko) 1999-04-15

Similar Documents

Publication Publication Date Title
CA2061832C (en) Speech parameter coding method and apparatus
EP0443548B1 (en) Speech coder
EP0696026B1 (en) Speech coding device
KR100264863B1 (ko) 디지털 음성 압축 알고리즘에 입각한 음성 부호화 방법
US6345248B1 (en) Low bit-rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization
JP3114197B2 (ja) 音声パラメータ符号化方法
JP3196595B2 (ja) 音声符号化装置
CA2061830C (en) Speech coding system
US20040023677A1 (en) Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound
KR20020090882A (ko) 음성 부호화 시스템의 여기 코드북 탐색 방법
EP1005022B1 (en) Speech encoding method and speech encoding system
US6094630A (en) Sequential searching speech coding device
US6622120B1 (en) Fast search method for LSP quantization
KR100277096B1 (ko) 음성압축을 위한 코드워드와 양자화된 이득 선택방법
JPH05265496A (ja) 複数のコードブックを有する音声符号化方法
JP3335929B2 (ja) 音声圧縮機の性能向上方法
US5978758A (en) Vector quantizer with first quantization using input and base vectors and second quantization using input vector and first quantization output
JPH0830299A (ja) 音声符号化装置
Jung et al. A fast adaptive-codebook search algorithm for G. 723.1 speech coder
EP0910063B1 (en) Speech parameter coding method
JP3192051B2 (ja) 音声符号化装置
KR100550002B1 (ko) 음성부호화기에서 적응 코드북 검색기 및 그 방법
JPH05273999A (ja) 音声符号化方法
Kövesi et al. A Multi-Rate Codec Family Based on GSM EFR and ITU-T G. 729
JPH0876800A (ja) 音声符号化装置

Legal Events

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

Payment date: 20080903

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee