KR20030092921A - 음성 시스템에서 코드북 인덱스 탐색 방법 - Google Patents

음성 시스템에서 코드북 인덱스 탐색 방법 Download PDF

Info

Publication number
KR20030092921A
KR20030092921A KR1020020030768A KR20020030768A KR20030092921A KR 20030092921 A KR20030092921 A KR 20030092921A KR 1020020030768 A KR1020020030768 A KR 1020020030768A KR 20020030768 A KR20020030768 A KR 20020030768A KR 20030092921 A KR20030092921 A KR 20030092921A
Authority
KR
South Korea
Prior art keywords
value
codebook index
estimated
index
search
Prior art date
Application number
KR1020020030768A
Other languages
English (en)
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 KR1020020030768A priority Critical patent/KR20030092921A/ko
Publication of KR20030092921A publication Critical patent/KR20030092921A/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23HWORKING OF METAL BY THE ACTION OF A HIGH CONCENTRATION OF ELECTRIC CURRENT ON A WORKPIECE USING AN ELECTRODE WHICH TAKES THE PLACE OF A TOOL; SUCH WORKING COMBINED WITH OTHER FORMS OF WORKING OF METAL
    • B23H7/00Processes or apparatus applicable to both electrical discharge machining and electrochemical machining
    • B23H7/36Supply or regeneration of working media
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23HWORKING OF METAL BY THE ACTION OF A HIGH CONCENTRATION OF ELECTRIC CURRENT ON A WORKPIECE USING AN ELECTRODE WHICH TAKES THE PLACE OF A TOOL; SUCH WORKING COMBINED WITH OTHER FORMS OF WORKING OF METAL
    • B23H1/00Electrical discharge machining, i.e. removing metal with a series of rapidly recurring electrical discharges between an electrode and a workpiece in the presence of a fluid dielectric
    • B23H1/10Supply or regeneration of working media
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23HWORKING OF METAL BY THE ACTION OF A HIGH CONCENTRATION OF ELECTRIC CURRENT ON A WORKPIECE USING AN ELECTRODE WHICH TAKES THE PLACE OF A TOOL; SUCH WORKING COMBINED WITH OTHER FORMS OF WORKING OF METAL
    • B23H7/00Processes or apparatus applicable to both electrical discharge machining and electrochemical machining
    • B23H7/02Wire-cutting

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Electrochemistry (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 퀄컴(Qualcomm)사가 CDMA(Code Division Multiple Access) 통신에 채택한 QCELP(Qualcomm Code Excited Linear Prediction) 음성 알고리즘을 기본으로 하여 코드북 인덱스 탐색시 그에 따른 계산량을 줄일 수 있도록 한 코드북 인덱스 탐색 방법에 관한 것으로서, 이러한 본 발명은 현재 사용되고 있는 보코더(Vocoder)의 하나인 13K QCELP에서 계산량이 많이 소모되는 부분 중의 하나인 코드북 인덱스 값을 구하는 과정에서 128개의 코드북들 중에서 최소의 과거 값만을 이용하여 대략적인 코드북 인덱스를 추정하고, 상기 값을 중심으로 특정한 탐색 구간을 설정하여 이 구간에 대해서만 탐색하도록 구현함으로써, 전체적인 계산량을 감소 시키면서 전체 탐색시와 거의 유사한 결과를 얻을 수 있도록 하여 코드북 인덱스 탐색시의 소요시간을 단축할 수 있도록 한 음성 시스템에서 코드북 인덱스 탐색 방법에 관한 것이다.

Description

음성 시스템에서 코드북 인덱스 탐색 방법{Method for searching of codebook index in voice system}
본 발명은 퀄컴(Qualcomm)사가 CDMA(Code Division Multiple Access) 통신에 채택한 QCELP(Qualcomm Code Excited Linear Prediction) 음성 알고리즘을 기본으로 하여 코드북 인덱스 탐색시 그에 따른 계산량을 줄일 수 있도록 한 코드북 인덱스 탐색 방법에 관한 것으로, 특히 현재 사용되고 있는 보코더(Vocoder)의 하나인 13K QCELP에서 계산량이 많이 소모되는 부분 중의 하나인 코드북 인덱스 값을 구하는 과정에서 128개의 코드북들 중에서 최소의 과거 값만을 이용하여 대략적인 코드북 인덱스를 추정하고, 상기 값을 중심으로 특정한 탐색 구간을 설정하여 이 구간에 대해서만 탐색하도록 구현함으로써, 전체적인 계산량을 감소 시키면서 전체 탐색시와 거의 유사한 결과를 얻을 수 있도록 하여 코드북 인덱스 탐색시의 소요시간을 단축할 수 있도록 한 음성 시스템에서 코드북 인덱스 탐색 방법에 관한 것이다.
일반적으로, QCELP 알고리즘은 CDMA(Code Division Multiple Access) 방식에 적합하도록 음성신호의 에너지에 따라 4개의 전송률(8Kbps, 4Kbps, 2Kbps, 1Kbps)로 변환되는 가변전송률을 갖는 CELP(Codebook Excited Linear Prediction) 형태의부호화 방식이다.
여기서, 상기 CELP는 아날로그 음성 신호를 디지털 데이터로 변환하는 부호화와 그 부호화 데이터를 음성 신호로 복호화(음성 코딩)하는 방식의 일종으로서, 부호화는 음성 신호를 시간축상에서 벡터 양자화하여 전송속도 10kbit/초 정도로 하며, 인간의 청각 특성을 이용하여 음성을 압축한다.
한편, 전송률에 따라 각 파라미터에 할당되는 비트수와 갱신률을 달리하는 종래의 QCELP 부호화기는 4.8Kbps 이상의 전송률에서 좋은 음질을 제공하지만 많은 계산량을 요구한다.
특히 이러한 계산량의 대부분은 분석/합성(Analysis by Synthesis) 구조에 기인한 피치 및 코드북 파라미터의 폐루프 탐색에 사용된다. QCELP 알고리즘은 128개의 값을 갖는 확률(Stochastic) 코드북을 사용하며, 이 코드북은 101개의 영(0)의 값을 갖는 요소와 27개의 영(0)이 아닌 요소로 구성된다.
즉, QCELP 알고리즘은 분석/합성 부호화 방식으로 입력 음성신호와 합성 음성신호를 비교하여 그 오차를 줄이는 방향으로 음성신호를 부호화한다.
도 1은 종래 기술에 따른 13K QCELP 음성부호화 알고리즘에서 코드북 인덱스를 구하는 과정을 나타낸 블럭 구성도이다.
이에 도시된 바와 같이, s(n)은 DC 성분이 제거된 입력 음성 샘플이며, pazir(n)은 포만트 합성필터의 ZIR(Zero Input Response)이며, e(n)은 상기 입력 음성 벡터인 s(n)에서 상기 pazir(n)을 뺀 값의 신호이며, x(n)은 상기 e(n)을 입력으로 한 가중필터인 W(z)의 출력으로서, 상기 입력 음성 벡터에서 포만트 필터의 ZIR 값을 뺀 신호를 가중 필터로 여파한 벡터를 나타내며, L은 피치 지연, G는 피치 이득, L*는 최적 피치 지연, G*는 최적 피치 이득을 각각 나타내고, ζ는 가중정도를 결정하는 계수를 나타낸다.
상기한 구성을 갖는 종래 기술에 의한 코드북 인덱스를 구하는 과정을 살펴보면 아래와 같다.
실제 입력 음성 s(n)이 들어오면 코덱(codec)의 앞부분에서 구해진 피치(pitch) 정보 L(pitch lag) 값과 b(gain) 값을 이용하여 합성음과 비교시 필터의 특성상 방해가 되는 pazir(n) 성분을 제거하고, 남은 신호 e(n)을 가중 필터(Weighting Filter) W(z)를 통과시켜서 합성음과 비교할 x(n)을 만든다. 그리고 미리 저장되어 있는 128개의 코드북(codebook)들을 하나씩 넣어서 여기에 이득(gain)을 취하고, 이후 가중 합성필터를 통과시켜서 합성음 Gyl(n)을 만든다.
상기의 과정을 통해 만들어진 원래의 음성 x(n)과 128개의 코드북마다 만들어진 합성음 128개들 사이의 에러를 모두 계산하여 그 차가 최소가 되는 코드북의 인덱스를 선택하게 된다.
그러므로 매 프레임마다 128개의 코드북에 대해 모두 계산해야 하는 전체 탐색 방식에서는 많은 계산량이 요구된다.
즉, 현재 사용되고 있는 13K QCELP 알고리즘에서는 코드북 인덱스 탐색을 위해서 매 프레임(frame)마다 128개의 코드북을 대입하여 최소의 에러(error) 값을가지는 코드북 인덱스를 선택하는 전체 탐색(Full Search) 방법을 채택하고 있어 많은 계산량이 소모되고 있으며, 이로 인하여 전체 알고리즘의 구동 시간의 한계를 초래하게 되며, 이는 결국 채널당 단가와 직결되어 시스템 전체의 비용을 높이게 되는 문제점을 가진다.
또한, 레이트 결정(Rate Decision) 과정에서 결정된 레이트에 따라 각 프레임(frame)마다 다른 서브프레임(subframe) 수를 가지게 되는데, 기존의 방법에서 레이트에서는 20ms 프레임당 16개의 서브프레임을 가지며, 레이트 1/2의 프레임에서는 4개의 서브프레임을 가지게 된다. 그리고, 각 프레임에 대해서 정의되어 있는 코드북 128개를 넣어서 128개의 합성음을 만들게 되고 이를 원음과 비교하는 전체 탐색 과정을 거치게 된다.
한편, 사람의 음성 파형은 발성기관의 특성상 급격한 변화가 있을 수 없으므로 과거의 값에 비해 급격한 변화가 없다. 또한 코드북이란 사람의 음성에서 필요한 정보를 빼고 남은 잔여 신호를 가리키는 것이기 때문에 과거의 정보를 이용하여 현재의 값을 추정하는 선형 예측(Linear Prediction, LP) 기법을 응용하여 현재의 코드북 인덱스를 추정하였다.
그러나, 정확한 현재 값을 구하기 위해서는 많은 과거 값을 이용해야 하고, 또 각 과거 값의 가중치인 계수들을 추정하는 과정이 필요하게 되고 이 때문에 과거 값들을 저장하는 메모리 손실과 추가적인 계산량이 발생하는 문제점을 가진다.
또한, QCELP 알고리즘에서는 최적의 코드북과 최적의 피치 파라미터를 찾기 위하여 에너지 값과 상호 상관값을 계산하여야 하는데, 이 값들의 계산이 코드북및 피치 탐색시 계산량의 대부분을 차지하게 되는 문제점을 가진다.
이에 본 발명은 상기와 같은 종래 기술의 제반 문제점을 해결하기 위해서 제안된 것으로서,
본 발명의 목적은 현재 사용되고 있는 보코더(Vocoder)의 하나인 13K QCELP에서 계산량이 많이 소모되는 부분 중의 하나인 코드북 인덱스 값을 구하는 과정에서 128개의 코드북들 중에서 최소의 과거 값만을 이용하여 대략적인 코드북 인덱스를 추정하고, 상기 값을 중심으로 특정한 탐색 구간을 설정하여 이 구간에 대해서만 탐색하도록 구현함으로써, 전체적인 계산량을 감소 시키면서 전체 탐색시와 거의 유사한 결과를 얻을 수 있도록 하여 코드북 인덱스 탐색시의 소요시간을 단축할 수 있도록 한 음성 시스템에서 코드북 인덱스 탐색 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명은,
2개의 프레임에서 구해진 2개의 코드북 인덱스 값을 로딩하는 제1 단계와,
상기 로딩된 2개의 코드북 인덱스 값을 비교하여 코드북 인덱스 최대값(max_cb) 및 코드북 인덱스 최소값(min_cb)을 결정하는 제2 단계와,
상기 최대값 및 최소값 결정 후, 상기 최대값과 최소값의 차이를 계산하여 그 차이값(diff_cb)을 산출하는 제3 단계와,
상기 차이값을 산출한 후 그 값을 이용하여 추정 코드북 인덱스 값(tmp_cb)을 산출하는 제4 단계와,
상기 추정 코드북 인덱스 값 산출 후, 그 값에 대해서 앞뒤로 40개 씩의 구간 여유를 두어 80개의 구간에 대해서 코드북 인덱스를 추정하는 제5 단계와,
상기 추정된 코드북 인덱스 구간에서 코드북 인덱스 값을 탐색하는 제6 단계로 구성됨을 그 방법적 구성상의 특징으로 한다.
도 1은 종래 기술에 따른 13K QCELP 음성부호화 알고리즘에서 코드북 인덱스를 탐색하는 과정을 나타낸 블럭 구성도이고,
도 2는 본 발명에 적용되는 실제 13K QCELP 플로팅 포인트 소스에서 사용하는 코드북을 나타낸 도면이고,
도 3은 본 발명에 의한 코드북 인덱스 탐색 알고리즘을 도시한 도면이고,
도 4는 본 발명에 의한 13K QCELP 음성부호화 알고리즘에서 코드북 인덱스를 탐색하는 과정을 나타낸 블럭 구성도이다.
<도면의 주요 부분에 대한 부호의 설명>
1/A(z) : 포만트 합성 필터
W(z) : 가중 필터(Weighting Filter)
A(z) : 포만트 오류 예측 필터
1/p(z) : 피치 합성 필터
1/A(z/ζ) : 가중 합성 필터
s(n) : DC 성분이 제거된 입력 음성 샘플
e(n) : s(n) -
x(n) : e(n)을 입력으로 한 w(z)의 출력
이하, 상기와 같은 기술적 사상에 따른 본 발명의 「음성 시스템에서 코드북 인덱스 탐색 방법」의 바람직한 실시 예를 첨부된 도면에 의거 상세히 설명하면 다음과 같다.
도 2는 본 발명에 적용되는 실제 13K QCELP 플로팅 포인트 소스(Floating Point Source)에서 사용하는 코드북을 나타낸 도면이다.
이에 도시된 바와 같이, 코드북은 순환 버퍼(circular buffer)(마지막으로 가면 자동으로 처음으로 되돌아가게 구성된 버퍼)를 사용하여 도시된 바와 같은 128개의 값을 사용하여 128개의 코드북을 만들어 낸다.
좀더 자세히 설명하면, 첨부된 도면 도 2의 코드북은 인덱스 0을 가리키며, 두 번째 원소부터 시작하여 첫 번째 원소를 맨 마지막으로 돌린 코드북이 인덱스 1를 가리키게 된다. 이런 식으로 총 128개의 코드북이 만들어 질 수 있다.
또한, 상기한 코드북도 결국은 사람의 음성에 근거하여 만들어졌기 때문에 사람의 음성과 마찬가지로 이전 인덱스와 현재 인덱스 사이에 급격한 변화가 발생할 수가 없다.
따라서, 본 발명에서는 상기한 이유로 아주 적은 양의 과거 데이터를 LP(Linear Prediction, 선형 예측 - 과거 값의 선형 결합으로, 현재의 값을 예측하여 내는 방법) 기법을 사용하여 대략적인 추정치를 구하고 이를 기준으로 해서 탐색 구간을 정함으로서, 전체 계산량을 줄이면서 전체 탐색을 수행 했을 때와 거의 유사한 결과를 얻도록 한 것이다.
도 3은 본 발명에 의한 코드북 인덱스 탐색 알고리즘을 도시한 도면이고, 도 4는 상기 도 3에 따른 알고리즘을 기존의 코드북 인덱스 탐색 알고리즘에 적용한 블럭 구성도를 나타낸 도면이다.
먼저, 사람의 발성 기관의 특성상 짧은 시간에 급격한 음성 파형의 변화가 있을 수 없기 때문에 사람의 음성에 근거하여 만들어진 코드북의 인덱스 값도 이러한 특성을 적용할 수 있다.
본 발명은 상기한 점을 감안하여 선형 예측 방법을 응용하여 현재의 코드북 인덱스 값을 추정하고, 상기 추정 값을 중심 값으로 하여 앞뒤로 얼마의 구간에 대해서만 코드북 인덱스 탐색(Codebook Index Search)을 수행하도록 구현하였다.
한편, 상기 선형 예측 방법을 그대로 사용하지 않고 응용한 이유는 다음과 같다.
즉, 과거 값들로부터 추정 값을 구할 때 정확성을 중요시하여 과거 정보를 많이 쓰고 각 과거 값들에 주어지는 가중치들을 추정해야 하는 기존의 선형 예측 방법을 사용하게 되면 과거 값을 저장하기 위한 메모리의 소모와 가중치 추정을 위한 계산량이 들게 되는 단점이 있다.
또한 상기한 과정을 통해 나온 추정 값이 기존의 전체 탐색을 수행하여 나온 코드북 인덱스 값과 일치한다는 보장이 없다. 그러므로 이를 보상하기 위해서 현재 값의 추정 값을 구하는 과정을 단순화시켜 계산량을 줄이고 대신 상기 추정 값을 기준으로 하여 어느 구간에 대해서만 탐색하는 방법을 사용하였다.
즉, 추정 값을 구할 때 과거 값은 2개만 사용하여 메모리의 소모를 줄이고 각 과거 값에 대해 동일한 가중치를 사용하여 추정 값을 구하도록 단순화하였다. 그리고 상기와 같이 구해진 추정 값을 기준으로 앞뒤로 얼마간의 구간에 대해서만 코드북 인덱스 탐색을 하도록 구현하였으며, 레이트(Rate) 1과 1/2에 대해서만 본 발명의 알고리즘을 적용하였다.
한편, 상기 상술된 본 발명에 의한 실험에 사용한 알고리즘을 의사 코드는아래와 같으며, 그에 따른 블럭 다이어그램은 첨부한 도면 도 3과 같다.
도 3은 코드북 인덱스 탐색 알고리즘을 도시한 블럭 다이어그램으로서,
이에 도시된 바와 같이, 2개의 메모리(cb_index[0], cb_index[1])에 저장되어 있는 이전 2개의 프레임에서 구해진 코드북 인덱스 값을 이용하여(ST11) 이전 코드북 인덱스의 최대값(max_cb)과 최소값(min_cb)을 결정하는 단계(ST12)와, 상기 결정된 코드북 인덱스의 최대값과 최소값을 감산하여 그 차이값(diff_cb)을 계산하는 단계(ST13)와, 상기 차이값(diff_cb) 계산 후, 그 차이값을 실험에 의한 기준값(20)과 비교(ST14)하여 추정 코드북 인덱스 값(tmb_cb)을 산출하는 단계(ST15)(ST16)와, 상기 산출된 추정 코드북 인덱스 값에서 특정값(40)을 감산한 후, 그 값을 인덱스 첫번째 원소(index 0)와 비교하는 단계(ST17)와, 상기 비교결과 상기 계산된 값이 작은 경우, 코드북 인덱스 탐색 구간의 범위를 한정하는 단계(ST18)와, 상기 비교결과 상기 계산된 값이 큰 경우, 상기 추정된 코드북 인덱스 값에서 특정값(40)을 가산한 후, 그 값을 인덱스 마지막 원소(index 127)와 비교하는 단계(ST19)와, 상기 비교결과 상기 계산된 값의 대소 여부에 따라 각각 코드북 인덱스 탐색 구간의 범위를 한정하는 단계(ST20)(ST21)와, 상기 각각 구해진 탐색 구간의 범위 구간에서 코드북 인덱스 값을 탐색하는 단계(ST22)로 구성된다.
한편, 상기 단계 ST18에서, 시작 코드북 인덱스(start_cb)는 첫번째 인덱스 값인 0(index 0), 마지막 코드북 인덱스(end_cb)는 추정된 코드북 인덱스값(tmp_cb)에서 특정값(40)을 가산한 값의 사이에서 탐색 구간의 범위를 한정한다.
또한, 상기 단계 ST20에서, 시작 코드북 인덱스(start_cb)는 추정된 코드북 인덱스값(tmp_cb)에서 특정값(40)을 감산한 값, 마지막 코드북 인덱스(end_cb)는마지막 코드북 인덱스 값인 127(index 127)의 사이로 탐색 구간의 범위를 한정한다.
또한, 상기 단계 ST21에서, 시작 코드북 인덱스(start_cb)는 추정된 코드북 인덱스값(tmp_cb)에서 특정값(40)을 감산한 값, 마지막 코드북 인덱스(end_cb)는 추정된 코드북 인덱스값(tmp_cb)에서 특정값(40)을 가산한 값의 사이로 탐색 구간의 범위를 한정한다.
즉, 이전 2개의 프레임에서 구해진 코드북 인덱스 값을 이용하며 이는 cb_index[0]과 cb_index[1]에서 저장되어 있다. 먼저, 상기한 의사 코드 (1)의 과정에서는 이전 코드북 인덱스를 최대값과 최소값으로 구분하여 (2)의 과정에서 최대값과 최소값의 차이값(diff_cb)을 구한다. 그리고 그 차이가 작은 경우와 큰 경우로 나눠서 추정 코드북 인덱스 값(tmp_cb)을 구하게 된다.
여기서, 상기와 같이 두 가지로 나눈 이유는 차이가 작은 경우는 일반적인 경우로 설명이 가능하지만 차이가 너무 큰 경우는 사람의 발성학적 특성 이외의 특수한 이유 때문이며, 이를 무시할 수 없으므로 이전에 구해진 큰 값을 어느 정도 존중하기 위한 것이다.
또한, 상기에서 사용되어진 추정 코드북 인덱스를 구하는 식은 실험적으로 구해진 것이다. 구해진 추정 코드북 인덱스에 대해서 앞뒤로 40개 씩의 구간 여유를 두어 80개의 구간에 대해서만 코드북 인덱스를 추정하게 된다. 하지만 추정 인덱스가 앞뒤로 40의 여유를 둘 수 없는 경우 즉, 40보다 작거나 87보다 큰 경우에는 추정 구간의 한 쪽 값을 0이나 127로 고정 시키기 때문에 실질적인 추정 구간은80개 보다 작아지게 된다.
한편, 상기에서 구해진 시작 코드북 인덱스 값(start_cb)과 종료 코드북 인덱스 값(end_cb)의 구간으로 탐색 구간을 줄이므로서 계산량을 줄일 수 있도록 구현하였으며, 이를 기존의 코드북 인덱스 탐색 알고리즘에 넣으면 첨부한 도면 도 4와 같이 되는 것이다.
본 발명은 상기한 알고리즘을 통해, 음질에 있어서는 기존의 13K QCELP 알고리즘에서 사용되고 있는 코드북 인덱스 전체 탐색의 경우와 비교하여 아주 조금 떨어지거나 거의 차이가 없는 반면 코드북 인덱스 탐색을 위한 계산량에 있어서는 많은 이득을 얻을 수 있는 것이다.
또한, 기존의 전체 탐색의 경우의 코드북 인덱스 값과 제안된 알고리즘으로 구해진 코드북 인덱스 값 중에서 알고리즘이 적용된 레이트 1과 레이트 1/2에 대해서 비교를 해보면 대체로 일치하는 경향을 보였다. 이는 음질로서 판단하는 것이 타당하며 음질을 비교하였을 때 음질의 저하는 거의 발생하지 않는다.
또한, 13K QCELP 플로팅 포인트 소스(floating point source)를 유닉스(unix) 환경에서 남성과 여성의 음성 파일을 사용하여 수행되는 시간을 측정하여 계산량을 가늠해 보면 즉, 남성 음성 파일은 16초, 여성 음성 파일은 17초 짜리를 사용하였으며, 기존의 방법으로 전체 탐색을 수행하여 코드북 인덱스를 구하면서 13K QCELP를 수행하는 시간과 동일한 환경에서 동일한 파일을 제안된 방법을 사용하여 13K QCELP를 수행하였을 때의 수행 시간을 표로 나타내면 <표 1>과 같다.
Codebook index full search 제안된 codebook index search
남성 27 22
여성 29 23
이와 같이, 본 발명에 의한 방법은 13K QCELP 알고리즘을 구현할 때 기존의 13K QCELP 방법에 비해 20% 정도의 계산량의 감소를 얻을 수 있으며, 알고리즘은 사람의 음성으로 판단되는 레이트 1과 레이트 1/2의 구간에서 적용되므로 사람의 음성이 많을수록 더 높은 효과를 기대할 수 있다.
또한, 현재 사용되고 있는 보코더의 하나인 13K QCELP에서 대부분의 계산량을 차지하는 부분이 피치 래그 탐색(Pitch Lag Search)과 코드북 인덱스 탐색(Codebook Index Search)인데 여기서 특히, 코드북 인덱스 탐색에서의 계산량을 감소함으로서, 음성과 같이 입력 데이터가 급격히 변하지 않는 특성을 가지는 모든 파라미터(parameter) 값의 추출에 사용 가능하도록 한 것이다.
이상에서 상술한 본 발명 "음성 시스템에서 코드북 인덱스 탐색 방법"에 따르면, 현재 사용되고 있는 보코더(Vocoder)의 하나인 13K QCELP에서 계산량이 많이 소모되는 부분 중의 하나인 코드북 인덱스 값을 구하는 과정에서 128개의 코드북들 중에서 최소의 과거 값만을 이용하여 대략적인 코드북 인덱스를 추정하고, 상기 값을 중심으로 특정한 탐색 구간을 설정하여 이 구간에 대해서만 탐색하도록 구현함으로써, 전체적인 계산량을 감소 시키면서 전체 탐색시와 거의 유사한 결과를 얻을 수 있도록 하여 코드북 인덱스 탐색시의 소요시간을 단축할 수 있는 이점을 가진다.
또한, 코드북 인덱스 탐색을 위한 계산량에 있어서는 많은 이득을 얻을 수 있으며, 또한, 상기와 같이 감소된 계산량에 의해 채널당 단가를 낮출 수 있으므로 인해 결국은 시스템 단가를 낮출 수 있는 이점을 가진다.

Claims (6)

  1. 포만트 합성필터(1/A(z))와, 가중필터(W(z))와, 포만트 오류 예측필터(A(z))와, 피치 합성필터(1/p(z))와, 가중 합성필터(1/A(z/ζ))와, 최소값 선택부로 구성된 QCELP 음성부호화 시스템에서 코드북 인덱스 값 탐색 방법에 있어서,
    2개의 프레임에서 구해진 2개의 코드북 인덱스 값을 로딩하는 제1 단계와;
    상기 로딩된 2개의 코드북 인덱스 값을 비교하여 코드북 인덱스 최대값(max_cb) 및 코드북 인덱스 최소값(min_cb)을 결정하는 제2 단계와;
    상기 최대값 및 최소값 결정 후, 상기 최대값과 최소값의 차이를 계산하여 그 차이값(diff_cb)을 산출하는 제3 단계와;
    상기 차이값을 산출한 후 그 값을 이용하여 추정 코드북 인덱스 값(tmp_cb)을 산출하는 제4 단계와;
    상기 추정 코드북 인덱스 값 산출 후, 그 값에 대해서 앞뒤로 40개 씩의 구간 여유를 두어 80개의 구간에 대해서 코드북 인덱스를 추정하는 제5 단계와;
    상기 추정된 코드북 인덱스 구간에서 코드북 인덱스 값을 탐색하는 제6 단계를 포함하여 이루어진 것을 특징으로 하는 음성 시스템에서 코드북 인덱스 탐색 방법.
  2. 제 1 항에 있어서, 상기 제4 단계는,
    상기 산출된 차이값(diff_cb)과 기준값(20)을 비교하여, 그 대소 여부에 따른 추정 코드북 인덱스 값(tmp_cb)을 각각 산출하는 것을 특징으로 하는 음성 시스템에서 코드북 인덱스 탐색 방법.
  3. 제 1 항에 있어서, 상기 제5 단계는,
    상기 산출된 추정 코드북 인덱스 값(tmp_cb)에 특정값(40)을 감산하고, 그 값을 인덱스의 첫번째 원소(0)와 비교하는 단계와,
    상시 산출된 추정 코드북 인덱스 값(tmp_cb)에 특정값(40)을 가산하고, 그 값을 인덱스의 마지막 원소(127)와 비교하는 단계와,
    상기 추정 코드북 인덱스 값(tmp_cb)와 특정값(40) 비교한 후, 그 추정된 값을 기준으로 추정된 값 각각에 대응하는 코드북 인덱스 값의 탐색 범위를 구하여 탐색 구간을 한정하는 것을 특징으로 하는 음성 시스템에서 코드북 인덱스 탐색 방법.
  4. 제 2 항 또는 제 3 항에 있어서, 상기 기준값(20), 특정값(40)은 사람 음성의 특성상 이전 코드북 인덱스 값에서 앞뒤으 일정 범위 내에서만 변할 수 있는 가정 하에서 실험에 의해 미리 만들어진 값인 것을 특징으로 하는 음성 시스템에서 코드북 인덱스 탐색 방법.
  5. 제 3 항에 있어서, 상기 탐색 범위는,
    상기 산출된 추정 코드북 인덱스 값(tmp_cb)에 특정값(40)을 감산하고, 그 값을 인덱스의 첫번째 원소(0)와 비교결과,
    상기 추정 코드북 인덱스 값이 0보다 작은 경우, 시작 코드북 인덱스(start_cb)는 첫번째 인덱스 값인 0(index 0), 마지막 코드북 인덱스(end_cb)는 추정된 코드북 인덱스값(tmp_cb)에서 특정값(40)을 가산한 값의 사이에서 탐색 구간의 범위를 한정하는 것을 특징으로 하는 음성 시스템에서 코드북 인덱스 탐색 방법.
  6. 제 3 항에 있어서, 상기 탐색 범위는,
    상시 산출된 추정 코드북 인덱스 값(tmp_cb)에 특정값(40)을 가산하고, 그 값을 인덱스의 마지막 원소(127)와 비교결과,
    상기 추정 코드북 인덱스 값이 127보다 큰 경우, 시작 코드북 인덱스(start_cb)는 추정된 코드북 인덱스값(tmp_cb)에서 특정값(40)을 감산한 값, 마지막 코드북 인덱스(end_cb)는 마지막 코드북 인덱스 값인 127(index 127)의 사이로 탐색 구간의 범위를 한정하는 단계와,
    상기 추정 코드북 인덱스 값이 127보다 작은 경우, 시작 코드북인덱스(start_cb)는 추정된 코드북 인덱스값(tmp_cb)에서 특정값(40)을 감산한 값, 마지막 코드북 인덱스(end_cb)는 추정된 코드북 인덱스값(tmp_cb)에서 특정값(40)을 가산한 값의 사이로 탐색 구간의 범위를 한정하는 단계를 포함하여 이루어진 것을 특징으로 하는 음성 시스템에서 코드북 인덱스 탐색 방법.
KR1020020030768A 2002-05-31 2002-05-31 음성 시스템에서 코드북 인덱스 탐색 방법 KR20030092921A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020030768A KR20030092921A (ko) 2002-05-31 2002-05-31 음성 시스템에서 코드북 인덱스 탐색 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020030768A KR20030092921A (ko) 2002-05-31 2002-05-31 음성 시스템에서 코드북 인덱스 탐색 방법

Publications (1)

Publication Number Publication Date
KR20030092921A true KR20030092921A (ko) 2003-12-06

Family

ID=32385444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020030768A KR20030092921A (ko) 2002-05-31 2002-05-31 음성 시스템에서 코드북 인덱스 탐색 방법

Country Status (1)

Country Link
KR (1) KR20030092921A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532605B1 (ko) * 2003-12-22 2005-12-01 한국전자통신연구원 이동통신 단말기의 가상 입체 음향 제공 장치 및 그 방법
KR100795727B1 (ko) * 2005-12-08 2008-01-21 한국전자통신연구원 Celp기반의 음성 코더에서 고정 코드북 검색 장치 및방법
KR100813260B1 (ko) * 2005-07-13 2008-03-13 삼성전자주식회사 코드북 탐색 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532605B1 (ko) * 2003-12-22 2005-12-01 한국전자통신연구원 이동통신 단말기의 가상 입체 음향 제공 장치 및 그 방법
KR100813260B1 (ko) * 2005-07-13 2008-03-13 삼성전자주식회사 코드북 탐색 방법 및 장치
US8805681B2 (en) 2005-07-13 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus to search fixed codebook using tracks of a trellis structure with each track being a union of tracks of an algebraic codebook
KR100795727B1 (ko) * 2005-12-08 2008-01-21 한국전자통신연구원 Celp기반의 음성 코더에서 고정 코드북 검색 장치 및방법

Similar Documents

Publication Publication Date Title
CA2165484C (en) A low rate multi-mode celp codec that uses backward prediction
US7577567B2 (en) Multimode speech coding apparatus and decoding apparatus
KR101147878B1 (ko) 코딩 및 디코딩 방법 및 장치
EP1454315B1 (en) Signal modification method for efficient coding of speech signals
RU2257556C2 (ru) Квантование коэффициентов усиления для речевого кодера линейного прогнозирования с кодовым возбуждением
KR100895589B1 (ko) 로버스트한 음성 분류를 위한 방법 및 장치
US7433815B2 (en) Method and apparatus for voice transcoding between variable rate coders
US7124079B1 (en) Speech coding with comfort noise variability feature for increased fidelity
EP0749110A2 (en) Adaptive codebook-based speech compression system
US20070061135A1 (en) Optimized windows and interpolation factors, and methods for optimizing windows, interpolation factors and linear prediction analysis in the ITU-T G.729 speech coding standard
KR20010093210A (ko) 가변 속도 음성 코딩
KR19990088582A (ko) 신호의기본주파수를추정하기위한방법및장치
CA2342353C (en) An adaptive criterion for speech coding
KR100656788B1 (ko) 비트율 신축성을 갖는 코드벡터 생성 방법 및 그를 이용한 광대역 보코더
KR100480341B1 (ko) 광대역 저전송률 음성 신호의 부호화기
KR100465316B1 (ko) 음성 부호화기 및 이를 이용한 음성 부호화 방법
FI119955B (fi) Menetelmä, kooderi ja laite puheenkoodaukseen synteesi-analyysi puhekoodereissa
KR20030092921A (ko) 음성 시스템에서 코드북 인덱스 탐색 방법
US6732069B1 (en) Linear predictive analysis-by-synthesis encoding method and encoder
KR100550003B1 (ko) 상호부호화기에서 개회로 피치 추정 방법 및 그 장치
Yoon et al. An efficient transcoding algorithm for G. 723.1 and G. 729A speech coders
Yoon et al. An efficient transcoding algorithm for G. 723.1 and G. 729A speech coders: interoperability between mobile and IP network
KR20030044292A (ko) 음성 시스템에서 피치 파라미터 탐색 장치 및 방법
Patel et al. Implementation and Performance Analysis of g. 723.1 speech codec
JPH02160300A (ja) 音声符号化方式

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination