KR20070008413A - 코드북 탐색 방법 및 장치 - Google Patents

코드북 탐색 방법 및 장치 Download PDF

Info

Publication number
KR20070008413A
KR20070008413A KR1020060064723A KR20060064723A KR20070008413A KR 20070008413 A KR20070008413 A KR 20070008413A KR 1020060064723 A KR1020060064723 A KR 1020060064723A KR 20060064723 A KR20060064723 A KR 20060064723A KR 20070008413 A KR20070008413 A KR 20070008413A
Authority
KR
South Korea
Prior art keywords
stage
state
predetermined
paths
pulse positions
Prior art date
Application number
KR1020060064723A
Other languages
English (en)
Other versions
KR100813260B1 (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 CN2012100316039A priority Critical patent/CN102592603A/zh
Priority to US11/457,251 priority patent/US8560306B2/en
Priority to PCT/KR2006/002761 priority patent/WO2007027005A1/en
Priority to CN2012100315835A priority patent/CN102568490A/zh
Priority to CN200680025725XA priority patent/CN101223580B/zh
Publication of KR20070008413A publication Critical patent/KR20070008413A/ko
Application granted granted Critical
Publication of KR100813260B1 publication Critical patent/KR100813260B1/ko
Priority to US14/020,139 priority patent/US8805681B2/en

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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • 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/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS 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
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic 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

Landscapes

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

Abstract

본 발명은 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법 및 장치에 관한 것으로, 본 발명에 따른 코드북 탐색 방법은 소정 트렐리스 구조의 어느 하나의 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 상기 소정 개수의 경로들을 선택하고 이를 다른 스테이트에 대하여 수행한 후, 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택함으로써 코드북 탐색 과정에서의 계산량을 감소시킬 수 있다.

Description

코드북 탐색 방법 및 장치{Method and apparatus for searching codebook}
도 1은 AMR 광대역 음성 부호화기 8.85kbps 모드의 고정 코드북 탐색 방법을 나타내는 흐름도.
도 2는 전체 4-스테이트 트렐리스 구조에 BC-TCQ 알고리즘을 적용하는 경우 고려되는 트렐리스 경로의 예를 나타낸 도면.
도 3은 4-스테이트 트렐리스 구조에서 ATC 알고리즘을 이용한 인코딩 과정의 예를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 코드북 탐색 장치의 구성도.
도 5는 본 발명의 일 실시예에 따른 코드북 복호화 장치의 구성도.
도 6은 트렐리스 구조의 소정 스테이지에서 리스트 비터비 인코딩을 수행하는 모습을 나타내는 도면.
도 7은 트렐리스 구조의 소정 스테이트에서 소정 수학식 값을 이용하여 경로 리스트를 결정하는 모습을 나타내는 도면.
도 8 및 도 9는 본 발명의 일 실시예에 따른 코드북 탐색 방법의 흐름도.
도 10은 4-스테이트 트렐리스 구조에서 2개 스테이지를 그룹화한 ATC 알고리즘을 적용하는 경우 고려되는 트렐리스 경로의 예를 나타내는 도면이다.
도 11은 도 10의 트렐리스 구조의 소정 스테이트에서 싱글 비터비 인코딩을 수행하는 모습을 나타내는 도면.
도 12는 도 10의 트렐리스 구조의 소정 스테이트에서 소정 수학식 값을 이용하여 싱글 비터비 인코딩을 수행하는 모습을 나타내는 도면.
도 13 및 도 14는 본 발명의 다른 실시예에 따른 코드북 탐색 방법의 흐름도이다.
본 발명은 코드북 검색 방법 및 장치에 관한 것으로, 특히 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법 및 장치에 관한 것이다.
이동 및 위성 통신, 멀티미디어 통신, 개인 휴대통신, 인터넷폰 등 정보통신 응용분야에서 중요한 요소 기술 중 하나가 음성을 압축/복원하여 부호화하는 보코더(Vocoder)기술이다. 음성을 압축하는 보코더에는 여러 가지 종류가 있다. 분석 및 합성 (Analysis-by-Synthesis) 구조를 갖는 일반적인 방식인 CELP(Code Excited Linear Predictive coding) 방식은 멀티미디어 및 무선통신 시스템에서 가장 널리 쓰이는 부호화 기술이다. 상기 CELP 방식은 성도의 잔여 신호와 성문의 특성을 적응 코드북과 고정 코드북으로 모델링하고 있다. 상기 CELP 방식은 코드북들의 구조와 검색 과정에 따라 구현의 복잡성과 합성 음질이 결정되기 때문에 다양한 처리 방법과 그 변형들이 제안되어 있다.
상기 고정 코드북으로 모델링하는 방법으로서, 간단한 대수적인 방법으로 코드 벡터(code vector)를 구해주는 대수 코드 여기 선형 예측(Alegebraic Code Excited Linear Prediction, ACELP)방식이 있다. 상기 ACELP 방식은 프레임당 몇 개의 진폭(+1/-1) 펄스 조합으로 이루어진 대수적 부호 구조로 되어 있고 코드북 내에 제한된 진폭 펄스를 사용하므로, 코드북을 저장할 필요가 없고 채널 잡음에 강하다는 장점이 있다. 상기의 방법으로 코드 벡터를 찾는 방법을 고정 코드북 탐색이라고 표현한다.
3GPP에 의해 광대역 음성 부호화기 표준으로 선택된 AMR 광대역 음성 부호화기는 23.85, 23.05, 19.85, 18.25, 15.85, 14.25, 12.65, 8.85, 6.60kbps의 9가지 고정 비트율 전송 모드를 가지며, 고정 코드북 탐색은 대수 코드북 구조를 기본으로 전송 모드별로 각기 다른 탐색 방법을 가지고 있다.
도 1은 AMR 광대역 음성 부호화기 8.85kbps 모드의 고정 코드북 탐색 방법을 나타내는 흐름도로서 대수 코드북 구조를 기본으로 한다. 대상 신호의 MSE를 최소화 하는 고정 코드북
Figure 112006049397901-PAT00001
를 찾는 방식으로서, 고정 코드북
Figure 112006049397901-PAT00002
는 [수학식 1]을 최대화하는 고정 코드북과 같다.
Figure 112006049397901-PAT00003
여기서
Figure 112006049397901-PAT00004
는 대상 신호와 임펄스 응답 h(n)과의 상관도를 나타내며,
Figure 112006049397901-PAT00005
는 임펄스 응답 h(n)의 상관도를 나타낸다. 부프레임 크기가 M개 샘플일 경우, d(n)과
Figure 112006049397901-PAT00006
은 각각 [수학식 2] 및 [수학식 3]과 같이 나타낼 수 있다.
Figure 112006049397901-PAT00007
Figure 112006049397901-PAT00008
AMR 광대역 음성 부호화기 8.85kbps 모드의 대수 코드북의 구조는 [표 1]과 같고, 전체 4개의 트랙 구조에 한 트랙당 한 개의 펄스를 탐색함으로써, 펄스의 위치와 부호에 총 20비트를 할당하여 부호화한다.
트랙 펄스 펄스 위치
T1 i0 0,4, 8,12,16,20,24,28,32,36,40,44,48,52,56,60
T2 i1 1,5, 9,13,17,21,25,29,33,37,41,45,49,53,57,61
T3 i2 2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62
T4 i3 3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63
[표 1]을 참고하여 고정 코드북 탐색 과정을 살펴보면, 코드북 벡터
Figure 112006049397901-PAT00009
는 오직 4개의 0이 아닌 벡터만을 포함하기 때문에 고속 탐색이 가능하며 [수학식 1]에서 분자의 상관도 식은 [수학식 4]와 같고, 분모의 에너지 식은 [수학식 5]와 같다.
Figure 112006049397901-PAT00010
[수학식 4]에서
Figure 112006049397901-PAT00011
는 i번째 펄스의 위치이고,
Figure 112006049397901-PAT00012
는 i번째 펄스의 부호이며,
Figure 112006049397901-PAT00013
는 펄스의 수를 나타낸다.
Figure 112006049397901-PAT00014
도 1의 단계 11에서는 [수학식 4] 및 [수학식 5]를 미리 계산하여 고속 탐색을 가능하게 한다. 그리고 계산량을 줄이기 위한 펄스 후보 벡터들을 선정할 때 이용되는 값 b(n)을 [수학식 6]과 같이 계산한다.
단계 12에서는 단계 11에서 미리 계산한 [수학식 6]을 이용해서 첫 번째와 세 번째 트랙에 대한 펄스 위치의 후보 벡터들을 선택한다.
Figure 112006049397901-PAT00015
[수학식 6]에서
Figure 112006049397901-PAT00016
는 상기 상관도 d(n)의 에너지이고,
Figure 112006049397901-PAT00017
은 신호
Figure 112006049397901-PAT00018
의 에너지이며,
Figure 112006049397901-PAT00019
는 피치 예측 후의 잔여 신호이다.
단계 13의 단계 13a 내지 단계 13c에서는 상기 후보 벡터들이 속한 t트랙과 다음 트랙인 t+1트랙을 이용한 2개의 겹쳐진 루프에서 [수학식 1]의 값을 최대로 하는 2개 펄스의 최적 위치를 찾는다. 구해진 2개의 펄스를 고정하고 단계 12에서 구한 상기 후보 벡터들이 속한 t+2트랙과 다음 트랙인 t+3트랙을 이용한 2개의 겹쳐진 루프를 통하여 [수학식 1]의 값을 최대로 하는 2개 펄스의 최적 위치를 추가로 찾아 총 4개의 최적 펄스 위치와 부호를 결정한다. 단계 13d 내지 13f에서는 상기 단계 13a 내지 13c의 과정을 4번 반복하여 네 가지 중 [수학식 1]의 값을 최대로 하는 총 4개의 최적 펄스 위치와 부호를 최종적으로 결정한다. 하나의 트랙에서 상관도 값에 의해 몇 개의 후보 펄스를 선택한 후 연속된 다음 트랙에 대해 탐색을 수행함으로서 전체 트랙에 대해 탐색하는 방법에 비해 계산량을 감소시킬 수 있으나, 상기와 같은 탐색 구조는 음질에 비해 계산량이 다소 많다.
본 발명이 이루고자 하는 기술적 과제는 기존의 코드북 탐색 방법에 비해 계산량 및 음질 면에서 향상된 코드북 탐색 방법 및 장치를 제공하는 데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 코드북 탐색 방법은, 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법에 있어서, (a) 소정 트렐리스 구조의 어느 하나의 스테이트에 대하여, 상기 스테이트 와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 상기 소정 개수의 경로들을 선택하는 단계; (b) 상기 스테이트가 아닌 다른 스테이트에 대하여, 상기 (a) 단계를 수행하는 단계; (c) 상기 (a) 단계 및 상기 (b) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 단계;를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (a) 단계 및 상기 (b) 단계는 상기 트렐리스 구조의 어느 하나의 스테이지에 속하는 스테이트에 대하여 수행하고, (d) 상기 스테이지가 아닌 다른 스테이지에서 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함하고, 상기 (c) 단계는 상기 (a) 단계, 상기 (b) 단계 및 상기 (d) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 것을 특징으로 한다.
상기 소정 신호는 음성 신호를 선형 예측 부호화를 사용하여 필터링하고, 피치 성분을 제거한 신호일 수 있다.
바람직하게는, 상기 (d) 단계는 상기 트렐리스 구조의 첫 번째 스테이지부터 마지막 스테이지까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하는 것을 특징으로 한다.
바람직하게는, 상기 트렐리스 구조는 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 한다.
바람직하게는, 상기 제 1 펄스 위치 집합과 상기 제 2 펄스 위치 집합 중 적어도 하나는 펄스 위치가 배타적인 복수 개의 소정 집합들의 합집합인 것을 특징으로 한다.
바람직하게는, 상기 트렐리스 구조의 초기 스테이트를 제1 소정 개수로 제약하고, 상기 제약된 각 초기 스테이트에 대응하는 마지막 스테이트를 제2 소정 개수로 제약하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (d) 단계는 상기 트렐리스 구조의 첫 번째 스테이지부터 소정 번째 스테이지까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하는 것을 특징으로 하고, (e) 상기 소정 번째 스테이지의 어느 하나의 스테이트에 대하여, 상기 (a) 단계, 상기 (b) 단계 및 상기 (d) 단계에서 선택된 경로들을 기초로 상기 스테이트에서 초기 스테이트까지 이르는 경로를 추적하여 상기 스테이트에 대응하는 초기 스테이트를 결정하고, 상기 스테이트에서 상기 제 2 소정 개수로 제약된 마지막 스테이트까지 연결되는 경로를 결정하는 단계; 및 (f) 상기 스테이지에서, 상기 스테이트가 아닌 다른 스테이트에 대하여 상기 (e) 단계를 수행하는 단계; (g) 상기 (e) 단계 및 상기 (f) 단계에서 결정된 경로 상의 스테이트에 대하여 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함하고, 상기 (c) 단계는, 상기 (a) 단계, 상기 (b) 단계, 상기 (d) 및 상기 (g) 단계에서 선택된 경로들 을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 것을 특징으로 한다.
바람직하게는 상기 트렐리스 구조는 N개(=2v, 여기서 v는 정수)개의 스테이트 및 L개의 스테이지를 가지고, 상기 제1 소정 개수는 2w(여기서, 0≤w≤v)개이며 상기 제2 소정 개수는 2v-w개이고, 상기 소정 번째 스테이지는
Figure 112006049397901-PAT00020
스테이지인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 코드북 탐색 방법은, 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법에 있어서, (a) 스테이지가 소정 개수씩 그룹화된 소정 트렐리스 구조의 어느 하나의 스테이지 그룹에서, 상기 스테이지 그룹 내의 최후 스테이지의 어느 하나의 스테이트에 대하여 상기 스테이트와 상기 스테이지 그룹의 최선 스테이지의 스테이트들을 연결하는 복수 개의 브랜치들에 할당된 소정 펄스 위치 집합들에 속하는 펄스 위치들의 조합에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들의 조합에 대응하는 경로를 선택하는 단계; (b) 상기 최후 스테이지의 다른 스테이트에 대하여 상기 (a) 단계를 수행하는 단계; (c) 상기 스테이지 그룹이 아닌 다른 스테이지 그룹에서 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계; 및 (d) 상기 (a) 단계 내지 상기 (c) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 단계;를 포함하는 것을 특징으로 한다.
상기 소정 신호는 음성 신호를 선형 예측 부호화를 사용하여 필터링하고, 피치 성분을 제거한 신호일 수 있다.
바람직하게는, 상기 (c) 단계는 상기 트렐리스 구조의 첫 번째 스테이지 그룹부터 마지막 스테이지 그룹까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하는 것을 특징으로 한다.
바람직하게는, 상기 트렐리스 구조는 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 한다.
바람직하게는, 상기 제 1 펄스 위치 집합과 상기 제 2 펄스 위치 집합 중 적어도 하나는 펄스 위치가 배타적인 복수 개의 소정 집합들의 합집합인 것을 특징으로 한다.
바람직하게는, 상기 트렐리스 구조의 초기 스테이트를 제1 소정 개수로 제약하고, 상기 제약된 각 초기 스테이트에 대응하는 마지막 스테이트를 제2 소정 개수로 제약하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (c) 단계는 상기 트렐리스 구조의 첫 번째 스테이지 그룹부터 소정 번째 스테이지 그룹까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하는 것을 특징으로 하고, (e) 상기 소정 번째 스테이지 그룹 내의 최후 스테이지의 어느 하나의 스테이트에 대하여, 상기 (a) 단계 내지 상기 (c) 단계에서 선택된 경로들을 기초로 상기 스테이트에서 초기 스테이트까지 이르는 경로를 추적하여 상기 스테이트에 대응하는 초기 스테이트를 결정하고, 상기 스테이트에서 상기 제 2 소정 개수로 제약된 마지막 스테이트까지 연결되는 경로를 결정하는 단계; (f) 상기 최후 스테이지에서, 상기 스테이트가 아닌 다른 스테이트에 대하여 상기 (e) 단계를 수행하는 단계; 및 (g) 상기 (e) 단계 및 상기 (f) 단계에서 결정된 경로 상의 스테이트에 대하여 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계;를 더 포함하는 것을 특징으로 하고, 상기 (d) 단계는, 상기 (a) 단계, 상기 (b) 단계, 상기 (c) 단계 및 상기 (g) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 단계;를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 트렐리스 구조는 N개(=2v, 여기서 v는 정수)개의 스테이트 및 L개의 스테이지를 가지는 것을 특징으로 하고, 상기 제1 소정 개수는 2w(여기서, 0≤w≤v)개이며 상기 제2 소정 개수는 2v-w개인 것을 특징으로 하고, 상기 소정 번째 스테이지 그룹의 최후 스테이지는
Figure 112006049397901-PAT00021
스테이지인 것을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 코드북 탐색 장치는, 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 장치에 있어서, 소정 트렐리스 구조가 저장되어 있는 트렐리스 구조 데이터베이스; 상기 트렐리스 구조의 각 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연 결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 소정 개수의 경로들을 선택하는 선택부; 상기 소정 개수의 펄스 위치들 및 상기 소정 개수의 경로들을 저장하는 메모리부; 및 상기 저장부에 저장된 상기 펄스 위치들 및 상기 경로들을 기초로 상기 소정 신호와 가장 일치하는 펄스 위치 정보 및 경로 정보를 출력하는 출력부;를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 트렐리스 구조는, 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 코드북 탐색 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
본 발명에 대한 세부적인 설명에 앞서, 본 발명에 적용되는 블록 제한된 트렐리스 부호화 양자화(Block Constrained Trellis Coded Quantization : BC-TCQ) 방식에 대하여 설명하면 다음과 같다.
본 발명에서 적용한 BC-TCQ 알고리즘은 1/2 레이트 길쌈부호기 및 피드백이 없는 인코더 구조를 기반으로 하는 N(=2v, 여기서 v는 샘플당 할당 비트수) 트렐리스 구조를 이용한 것이다. BC-TCQ 알고리즘을 위한 전제 조건으로서, 선택 가능한 트렐리스 경로의 초기 스테이트를 전체 N개의 스테이트 중 2w(여기서, 0≤w≤v)개로 제약하고, 마지막 스테이지의 스테이트도 트렐리스 경로의 초기 스테이트에 따라 전체
Figure 112006049397901-PAT00022
개의 스테이트 중 2w(여기서, 0≤w≤v)개로 제약한다.
이와 같은 BC-TCQ 알고리즘을 적용하여 싱글 비터비 부호화를 수행하는 과정은 다음과 같다. 첫 번째 스테이지부터
Figure 112006049397901-PAT00023
(여기서 L은 전체 스테이지수, N 은 전체 트렐리스 스테이트 수) 스테이지까지 초기 스테이트 제약 조건 하에서 결정된
Figure 112006049397901-PAT00024
개의 생존 경로들의 초기 스테이트를 참고한 후, 나머지 v 스테이지에서는 각 초기 스테이트에 따라 결정된 2v-w(여기서, 0≤w≤v)개의 스테이트들 중 하나를 마지막 스테이지의 스테이트가 선택되도록 하는 트렐리스 경로들만을 고려한다. 고려된 트렐리스 경로 중 최적의 트렐리스 경로를 구하여 전송하게 된다.
도 2는 전체 4-스테이트 트렐리스 구조에 w가 1인 BC-TCQ 알고리즘을 적용하는 경우 고려되는 트렐리스 경로의 예를 나타낸 것이다. 선택가능 한 트렐리스 경로의 초기 스테이트는 4개 스테이트들 중 '00' 혹은 '10'이며, 마지막 스테이지의 스테이트는 초기 스테이트가 '00'인 경우 '00' 혹은 '01', 초기 스테이트가 '10'인 경우 '10' 혹은 '11'로 제약을 둔다. 도 2을 참조하면
Figure 112006049397901-PAT00025
스테이지에서 스테이트 '00'까지 결정된 생존 경로(굵은 점선)의 초기 스테이트가 '00'이므로, 나머 지 스테이지에서 선택 가능한 트렐리스 경로들은 마지막 스테이지의 스테이트가 '00'과 '01'이 되는 굵은 실-점선으로 표시된다.
본 발명의 ATC (Algebraic Trellis Code) 알고리즘은 BC-TCQ 알고리즘과 같이 1/2 레이트 길쌈부호기 및 피드백이 없는 인코더 구조를 기반으로 하는 N(=2v, 여기서 v는 샘플당 할당 비트수) 스테이트의 트렐리스 구조를 이용한다. 따라서, BC-TCQ 알고리즘의 전제 조건과 같이 전체 N개의 스테이트 중 2w(여기서, 0≤w≤v)개의 초기 스테이트로 제약하고, 제약한 초기 스테이트에 따라 마지막 스테이지의 스테이트도 2v-w(여기서, 0≤w≤v)개로 제약한다.
이와 같이 ATC 알고리즘을 적용하여 리스트 비터비 부호화를 수행하는 과정은 다음과 같고, w가 1인 쉬운 예를 들어 설명하겠다.
첫 번째 스테이지의 제약된 초기 스테이트부터
Figure 112006049397901-PAT00026
(여기서, L은 전체 스테이지수) 스테이지까지 각 스테이트마다 리스트 비터비 알고리즘이 수행된다. 이는
Figure 112006049397901-PAT00027
스테이지까지 각 스테이트마다 최적의 경로 순으로 k개가 저장되고, 이를 바탕으로
Figure 112006049397901-PAT00028
스테이지에서는 각 스테이트마다 최적의 생존 경로가 k개로 순서화(ranking)되어 결정된다. 여기서 k를 리스트 비터비 경로 수라고 표현하기로 하고, 상기 k개의 최적 생존 경로를 생존 리스트 경로라 표현하기로 한다.
그리고
Figure 112006049397901-PAT00029
스테이지에서 N×k개 생존 리스트 경로들의 초기 스테이트를 경로 백트랙킹(Path Backtracking)에 의해 파악한다. 상기 초기 스테이트를 참 조하여 마지막 스테이지의 제약된 스테이트로 끝나는 트렐리스 리스트 경로들을 고려한다. 마지막으로 나머지
Figure 112006049397901-PAT00030
스테이지부터 스테이지까지의 상기 고려된 리스트 경로들 중 최적의 트렐리스 경로 하나를 선택하고, 최종적으로 전체 N개의 생존 블록 경로들 중 최적의 트렐리스 경로 하나를 선택해 그 정보를 전송한다.
도 3은 4-스테이트 트렐리스 구조에서 ATC 알고리즘을 이용한 인코딩 과정을 나타낸 도면으로서, 초기 스테이트는 '00' 혹은 '01'이며, 마지막 스테이지의 스테이트는 초기 스테이트가 '00'인 경우 '00'혹은 '10', 초기 스테이트가 '01'인 경우 '01' 혹은 '11'로 제약을 둔 예이다. 이때, 각 스테이트마다 리스트 비터비 알고리즘에 의하여 순서화(ranking)된 리스트 경로가 존재한다. 이를 도 3에서 참조하면,
Figure 112006049397901-PAT00031
스테이지에서 스테이트 '00'까지 결정된 생존 리스트 경로(굵은 점선)의 초기 스테이트가 '00'이므로 나머지 스테이지에서 선택 가능한 트렐리스 리스트 경로들은 마지막 스테이지의 스테이트가 '00'과 '10'이 되는 굵은 실-점선으로 표시된다.
아래의 [표 2]는 AMR 광대역 음성 부호화기의 8.85kbps 모드에 대한 고정 코드북 구조를 확장한 본 발명의 바람직한 일 실시예에 따른 확장 코드북의 구성을 나타낸다.
본 발명에 따른 확장 코드북은 펄스 위치가 배타적인 복수 개의 소정 집합들의 합집합으로 확장 트랙을 구성한다. 보다 구체적으로 설명하면 다음과 같다.
[표 2]를 참조하면, 대수 코드북의 두 개의 트랙의 펄스 위치 집합들을 합쳐 서 확장 트랙 V1 내지 V4를 구성한다. [표 3]은 [표 2]의 확장 코드북을 기반으로 트렐리스 구조의 각 브랜치에 할당되는 부코드북을 나타낸 도표이다.
[표 1]을 참조하면, 기존의 대수 코드북에서는 펄스 위치가 각 트랙마다 배타적으로 할당되어 있음을 알 수 있다. 본 발명의 바람직한 일 실시예에 따르면 각 트랙마다 16개의 펄스 위치를 갖는 두 개 트랙을 합쳐서 한 확장 트랙당 32개의 펄스 위치를 갖는 확장 코드북을 구성하였다. 따라서 상기 확장 코드북에서 존재 가능한 펄스 위치 조합의 경우의 수가 기존 대수 코드북에서 존재 가능한 경우의 수보다 많아지므로, 이론적으로 보더라도 상기 확장 코드북을 적용할 경우에 음질이 더 좋아지리라는 점을 알 수 있다.
[표 3]에서 보는 바와 같이 상기 확장 코드북을 트렐리스 구조에 적용하여, 각 스테이지마다 하나의 확장 트랙을 할당하였고, 각 확장 트랙마다 하나의 펄스를 찾는다. 따라서, 하나의 펄스를 탐색할 때 고려하는 위치는 기존 대수 코드북 구조의 두 배인 32개이고, 각 확장 트랙을 4개의 부코드북으로 나누어 상기 부코드북을 트렐리스 구조의 브랜치에 도 3에 도시된 바와 같이 인터리빙(interleaving) 방식으로 분할하여 할당한다.
확장 코드북 대수 코드북
V1 T1 U T2
V2 T2 U T3
V3 T3 U T4
V4 T4 U T1
부 코드북 첫 번째 스테이지 (V1) 두 번째 스테이지 (V2)
D0 0, 8, 16, 24, 32, 40, 48, 56 1, 9, 17, 25, 33 ,41, 49, 57
D1 1, 9, 17, 25, 33 ,41, 49, 57 2, 10, 18, 26, 34, 42, 50, 58
D2 4, 12, 20, 28, 36, 44, 52, 60 5, 13, 21, 29, 37, 45, 53, 61
D3 5, 13, 21, 29, 37, 45, 53, 61 6, 14, 22, 30, 38, 46, 54, 62
부 코드북 세 번째 스테이지 (V3) 네 번째 스테이지 (V4)
D0 2, 10, 18, 26, 34, 42, 50, 58 3, 11, 19, 27, 35, 43, 51, 59
D1 3, 11, 19, 27, 35, 43, 51, 59 4, 12, 20, 28, 36, 44, 52, 60
D2 6, 14, 22, 30, 38, 46, 54, 62 7, 15, 23, 31, 39, 47, 55, 63
D3 7, 15, 23, 31, 39, 47, 55, 63 0, 8, 16, 24, 32, 40, 48, 56
도 4는 본 발명의 일 실시예에 따른 코드북 탐색 장치(400)의 구성도이다. 도 4를 참조하면, 본 실시예에 따른 코드북 탐색 장치(400)는 트렐리스 구조 데이터베이스(410), 계산부(420), 선택부(430), 메모리부(440), 출력부(450)으로 구성된다.
트렐리스 구조 데이터베이스(410)는 소정 트렐리스 구조 및 예를 들면 표 3과 같이 트렐리스 구조의 각 스테이지 및 각 브랜치에 할당되는 펄스 위치들의 정보가 저장되어 있다.
트렐리스 구조 데이터베이스(410)에는 트렐리스 구조가 저장되어 있는데, 상기 트렐리스 구조의 스테이지에 소정 펄스 집합이 할당되어 있고, 브랜치에는 상기 소정 펄스 집합의 부분집합이 할당되어 있다. 예를 들면 상기 트렐리스 구조의 각 스테이지에 [표 3]과 같이 확장 트랙이 할당되어 있고, 각 브랜치에 부코드북이 할당되어 있는 방식으로 저장되어 있다.
계산부(420)는 음성 신호 중 소정 신호, 즉 코드북 탐색을 위한 대상 신호를 입력받아 트렐리스 구조 데이터베이스(410)에 저장되어 있는 트렐리스 구조 및 상기 트렐리스 구조에 할당된 펄스 위치 집합들을 이용하여 소정의 수학식 값들을 계산하여 출력한다.
상기 소정 신호는 음성 신호를 선형 예측 부호화를 사용하여 필터링하고, 피치 성분을 제거한 신호일 수 있다.
선택부(430)는 상기 계산부에서 출력된 소정의 수학식 값들을 기초로 트렐리스 구조의 각 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 대상 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 소정 개수의 경로들을 선택한다.
메모리부(440)는 상기 소정 개수의 펄스 위치들 및 상기 경로들을 저장한다. 한편,트렐리스 구조 데이터베이스(410)는 메모리부(440) 내에 구비될 수도 있다.
출력부(450)는 상기 저장부에 저장된 상기 펄스 위치들 및 상기 경로들을 기초로 상기 대상 신호와 가장 일치하는 펄스 위치 정보 및 경로 정보를 출력한다.
도 5는 본 발명의 일 실시예에 따른 코드북 복호화 장치(500)의 구성도이다.
도 5를 참조하면, 본 실시예에 따른 코드북 복호화 장치(500)는 트렐리스 구조 데이터베이스(510), 코드북 복호화부(520), 출력부(530)로 구성된다.
트렐리스 구조 데이터베이스(510)에는 코드북 탐색 장치(400)의 트렐리스 구조 데이터베이스(410)에 저장되어 있는 트렐리스 구조 및 상기 트렐리스 구조에 할당되는 펄스들의 정보와 동일한 정보가 저장되어 있다.
코드북 복호화부(520)는 트렐리스 구조 데이터베이스(510)에 저장되어 있는 정보 및 코드북 탐색 장치(400)가 출력한 펄스 위치 정보 및 경로 정보를 이용하여 음성 신호 중 소정 신호를 복원한다.
출력부(530)는 상기 복원된 소정 신호를 출력한다.
도 6 내지 도 9는 본 발명의 일 실시예에 따른 코드북 탐색 방법을 설명하기 위한 도면들이다.
도 6은 트렐리스 구조의 소정 스테이지에서의 리스트 비터비 인코딩을 수행하는 모습을 나타내고, 도 7은 트렐리스 구조의 소정 스테이트에서 소정 수학식 값을 이용하여 경로 리스트를 결정하는 모습을 나타내는 도면이다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 코드북 탐색 방법의 흐름도이다.
먼저, 도 6의 j번째 스테이지에서의 리스트 비터비 인코딩 과정에서, j번째 스테이지의 s 스테이트와 관련된 펄스 위치 정보는 이전 스테이지의 스테이트에 따라 달라진다. 또한 이전 스테이트에서 순서화(ranking)하여 저장한 최적의 경로에 따라서도 펄스 위치 정보가 달라진다.
도 8을 참조하면, 81단계에서, 코드북 탐색 장치(400)는 0 스테이지의 전체 N개의 스테이트 중 제약된 초기 스테이트에서 최적의 펄스 탐색을 위해 이용하는 수학식의 최대값(
Figure 112006049397901-PAT00032
)에 대한 초기화를 수행한다.
82단계에서는 첫 번째 스테이지부터
Figure 112006049397901-PAT00033
(여기서, L은 전체 스테이지수) 스테이지까지 각 스테이트마다 도 6 및 도 7에서 보는 것과 같이 리스트 비터비 인코딩이 수행된다. 이를 자세히 살펴보면, 82a단계에서 코드북 탐색 장치(400)는 이전 스테이지의 i번째 스테이트와 현재 스테이지의 s번째 스테이트를 연결한 브랜치에 할당된 부코드북을 이용하여, [수학식 1]을 변형한 소정의 [수학식 7] 값
Figure 112006049397901-PAT00034
을 계산하고, 상기 계산한 값을 해당하는 브랜치에 따라 [수학식 8] 및 [수학식 9]와 같이 구하여 저장한다.
Figure 112006049397901-PAT00035
여기서,
Figure 112006049397901-PAT00036
는 q번째 고정 코드북 벡터이고, T 는 전치 행렬을 나타낸다.
Figure 112006049397901-PAT00037
Figure 112006049397901-PAT00038
상기 [수학식 8] 및 [수학식 9]에 있어서,
Figure 112006049397901-PAT00039
는 j 번째 스테이지의 s 스테이트와 (j-1) 번째 스테이지의
Figure 112006049397901-PAT00040
스테이트 사이의 브랜치에 할당된 부 코드북을,
Figure 112006049397901-PAT00041
는 j 번째 스테이지의 s 스테이트와 (j-1) 번째 스테이지의
Figure 112006049397901-PAT00042
스테이트 사이의 브랜치에 할당된 부코드북을 각각 나타낸다.
Figure 112006049397901-PAT00043
는 s 스테이트와
Figure 112006049397901-PAT00044
스테이트 사이의 브랜치에 할당된 부 코드북에 있어서, 대상 신호와 임펄스 응답 h(n)과의 상관도를 나타낸다.
82b 단계는 소정 트렐리스 구조의 어느 하나의 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 소정 개수의 경로들을 선택한다. 보다 구체적으로 설명하면 다음과 같다.
82b-1단계에서 코드북 탐색 장치(400)는 (j-1) 번째 스테이지까지 저장된 누적 [수학식 7]의 값인
Figure 112006049397901-PAT00045
Figure 112006049397901-PAT00046
에 각각 상기 [수학식 8] 및 [수학식 9]의 값을 가산하여, 가장 큰 값을 갖는 순으로 k개의 [수학식 11]을 업데이트하여 저장한다. 여기서, 상기 가산된 값은 결국 [수학식 1]을 변형한 [수학식 7] 이 누적된 값이므로 상기 가산된 값이 클수록 코드북 탐색 장치(400)로 입력되는 대상 신호와 가장 일치하는 펄스 위치가 된다.
82b-2단계에서 코드북 탐색 장치(400)는 j 번째 스테이지의 s 스테이트와 연결된 2k개의 트렐리스 리스트 경로들 중 상기 [수학식 11]값에 해당하는 k개의 경로 리스트(k paths)를 [수학식 10]과 같이 저장하고, 이 때 최적의 펄스 위치와 랭킹 순번을 저장한다.
Figure 112006049397901-PAT00047
Figure 112006049397901-PAT00048
코드북 탐색 장치(400)는 상기 82단계의 과정을 첫 번째 스테이지부터
Figure 112006049397901-PAT00049
(여기서, L은 전체 스테이지수)스테이지까지 반복한다.
83단계에서 코드북 탐색 장치(400)는 첫 번째 스테이지부터
Figure 112006049397901-PAT00050
스테이지까지 상기 82단계에서 구한 최적의 리스트 경로들을 경로 백트랙킹(Path Backtracking)하여 N×k 개의 생존 리스트 경로들을 결정한다. N개의 각 스테이트 당 k개의 경로가 결정되므로 생존 리스트 경로가 N×k 개가 된다.
다음, 도 9의 94 단계는 나머지
Figure 112006049397901-PAT00051
스테이지에서 L 스테이지까지 리스트 비터비 인코딩 과정을 수행하고, 최종적으로 최적의 트렐리스 생존 경로 하나를 선택하는 것을 나타낸다.
94a단계에서 코드북 탐색 장치(400)는 상기 83 단계에서 결정된 N×k개의 생존 리스트 경로들의 초기 스테이트를 결정하고, 상기 초기 스테이트에 따라 결정된 마지막 L 스테이지의 스테이트로 끝나는 2개의 트렐리스 리스트 경로를 결정한다.
94b단계에서는 상기 2개의 트렐리스 리스트 경로에서 리스트 비터비 인코딩 과정을 수행한다. 94b단계에서 n은 상기 결정된 2개의 트렐리스 경로에 각각 해당하는 마지막 스테이트 2개를 의미한다.
94b-11 단계에서 코드북 탐색 장치(400)는
Figure 112006049397901-PAT00052
스테이지부터 마지막 L 스테이지까지 상기 2개의 트렐리스 리스트 경로에 해당하는 각 스테이트에서 [수학식 11] 값을 업데이트한다. 다시 말하면, 코드북 탐색 장치(400)는 이전 (j-1)번째 스테이지까지 누적된 [수학식 7]의 값
Figure 112006049397901-PAT00053
Figure 112006049397901-PAT00054
부터 L 스테이지의 상기 2개의 트렐리스 리스트 경로에서의 [수학식 7]의 값
Figure 112006049397901-PAT00055
를 가산하여, 가장 큰 값부터 k개를 선택하고 순서화하여(ranking)
Figure 112006049397901-PAT00056
에 저장한다. 이 때,
Figure 112006049397901-PAT00057
스테이지에서 이전 (j-1)번째 스테이지까지 누적 [수학식 7]의 값
Figure 112006049397901-PAT00058
는 초기 스테이지부터
Figure 112006049397901-PAT00059
스테이지까지 i 스테이트에서 구해진 [수학식 11] 값인
Figure 112006049397901-PAT00060
와 같다.
94b-12 단계에서는 코드북 탐색 장치(400)는 상기 값
Figure 112006049397901-PAT00061
에 해당하는 k개의 경로 리스트를 저장하고, 그때 최적의 펄스 위치 정보와 랭킹 순번을 저장한다. 94b-2 단계 및 94b-3 단계에서 코드북 탐색 장치(400)는 94b-11단계에서 구해진 전체 [수학식 11] 값을 가장 크게 하는 스테이트 n을 구한다.
94b-4 단계에서 코드북 탐색 장치(400)는 구해진 전체 [수학식 11]값과 트렐리스 경로 정보, 펄스 정보를 저장한다.
94d 단계에서 코드북 탐색 장치(400)는 94b 단계에서 구해진 정보를 이용하여 전체 N개의 생존 경로에서 [수학식 11] 값을 가장 크게 하는 스테이트 i를 선택한다.
94e 단계에서 코드북 탐색 장치(400)는 트렐리스 경로 정보와 펄스 위치 정보, 전체 [수학식 11] 값을 저장하고, 상기 트렐리스 경로 정보와 펄스 위치 정보를 출력한다.
도 10 내지 도 14는 본 발명의 다른 실시예에 따른 코드북 탐색 방법을 설명 하기 위한 도면들이다.
본 실시예에 따른 코드북 탐색 방법도 BC-TCQ 알고리즘을 이용한 것으로, 트렐리스 구조는 첫 번째 방법과 유사하나, 인코딩 방법은 스테이지를 그룹화하여 싱글 비터비 부호화하는 점에서 차이가 있다.
도 10은 4-스테이트 트렐리스 구조에서 2개 스테이지를 그룹화한 ATC 알고리즘을 적용하는 경우 고려되는 트렐리스 경로의 예를 나타내는 도면이다.
도 11은 도 10의 트렐리스 구조의 소정 스테이트에서 싱글 비터비 인코딩을 수행하는 모습을 나타내는 도면이다.
도 12는 도 10의 트렐리스 구조의 소정 스테이트에서 소정 수학식 값을 이용하여 싱글 비터비 인코딩을 수행하는 모습을 나타내는 도면이다.
도 13 및 도 14는 본 실시예에 따른 코드북 탐색 방법의 흐름도이다.
본 실시예를 개략적으로 설명하면 다음과 같다. 첫 번째 스테이지의 제약된 초기 스테이트에서 시작하여,
Figure 112006049397901-PAT00062
(여기서, L은 전체 스테이지수) 스테이지까지, 트렐리스 구조의 소정 개수의 스테이지를 그룹화하고 상기 그룹화된 스테이지의 각 스테이트에서 싱글 비터비 알고리즘을 수행한다. 상기 알고리즘에 의해서 각 스테이트마다 최적의 경로들을 결정하게 되는데, 스테이지 그룹마다 경로를 결정하므로 이를 최적의 그룹 경로라 표현하기로 한다. 이후
Figure 112006049397901-PAT00063
스테이지에서 N개의 생존 그룹 경로들의 초기 스테이트를 경로 백트랙킹(Path backtracking)하여 결정한다. 상기 결정된 초기 스테이트를 참조하여, 마지막 스테이지의 제약된 스테이트 로 끝나는 트렐리스 그룹 경로들을 선택한다. 마지막
Figure 112006049397901-PAT00064
스테이지 그룹에서 상기 그룹 경로들 중 최적의 트렐리스 그룹 경로 하나를 선택하고, 최종적으로 전체 N개의 생존 그룹 경로들 중 최적의 트렐리스 경로 하나를 선택한다.
도 10을 참조하면, 도 3과 마찬가지로 초기 스테이트는 '00' 혹은 '01'이며, 마지막 스테이지 그룹의 스테이트는 초기 스테이트가 '00'인 경우 '00' 또는 '10', 초기 스테이트가 '01'인 경우 '01' 혹은 '11'로 제약을 둔 예이다. 도 10을 참조하면, 그룹화된
Figure 112006049397901-PAT00065
스테이지에서 스테이트 '00'까지 결정된 생존 그룹 경로(굵은 점선)의 초기 스테이트가 '00'이므로 나머지 스테이지에서 선택 가능한 트렐리스 그룹 경로들은 마지막 스테이지의 스테이트가 '00'과 '10'이 되는 굵은 실-점선으로 표시된다.
본 실시예에 있어서, 도 10에서와 같이 선택된 트렐리스 경로들 하에서 동작하는 ATC 인코딩 과정을 도 11 내지 도 14를 참조하여 설명한다. 본 실시예에서 그룹화하는 스테이지의 수는 몇 개의 펄스 간에 서로의 영향이 고려되도록 할 것인지에 따라 결정할 수 있다. 이는 대수 코드북 구조의 depth-first tree 탐색 방법을 트렐리스 구조에 적용한 것이다. 보다 쉬운 예를 위해 2개 스테이지를 그룹화한 경우로 설명하기로 한다.
도 11의 (j-1)j 스테이지 그룹에서의 싱글 비터비 인코딩 과정을 살펴보면, (j-1)j 스테이지 그룹의 s 스테이트와 관련된 펄스 위치 정보는 이전 스테이지 그룹의 스테이트에 따라 달라진다. 여기서 (j-1)j 스테이지 그룹은 j-1번째 스테이지 와 j번째 스테이지를 포함하는 스테이지 그룹을 의미한다. 또한, 스테이지를 a개씩 그룹화하면, 스테이지 그룹마다 s 스테이트에 연결된 브랜치 수는 2a개이다. 도 11를 참고하여 보면, 2개 스테이지를 그룹화 하였으므로, s 스테이트에 연결된 브랜치 수는 4개이다. 도 11에서 굵은 실선으로 표시된 부분이 상기 4개의 브랜치를 나타낸다.
이하 도 13 및 도 14에 도시된 흐름도를 기초로 본 실시예에 따른 코드북 탐색 방법을 설명한다.
131단계에서 코드북 탐색 장치(400)는 0 스테이지의 전체 N개의 스테이트 중 제약된 초기 스테이트에서 최적의 펄스 탐색을 위해 이용하는 수학식의 최대값(
Figure 112006049397901-PAT00066
)에 대한 초기화를 수행한다.
132단계에서 첫 번째 스테이지부터
Figure 112006049397901-PAT00067
(여기서, L은 전체 스테이지수)스테이지까지 2개 스테이지마다 각 스테이트에서 도 11 및 도 12에서와 같이 싱글 비터비 과정이 수행된다. 이를 자세히 살펴보면, 132 단계의 132a 단계에서 코드북 탐색 장치(400)는 이전 스테이지 그룹의 i번째 스테이트와 현재 스테이지 그룹의 s번째 스테이트를 연결한 브랜치에 할당된 부코드북을 이용하여 [수학식 7] 값을 계산하고, 계산된 값을 최대값 메트릭
Figure 112006049397901-PAT00068
에 저장한다.
132b 단계에서 코드북 탐색 장치(400)는 스테이지 그룹 내의 최후 스테이지의 어느 하나의 스테이트에 대하여 상기 스테이트와 상기 스테이지 그룹의 최선 스테이지의 스테이트들을 연결하는 복수 개의 브랜치들에 할당된 소정 펄스 위치 집 합들에 속하는 펄스 위치들의 조합에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들의 조합에 대응하는 경로를 선택한다. 보다 구체적으로 설명하면 다음과 같다.
132b 단계의 132b-1 단계 및 132b-2 단계에서 코드북 탐색 장치(400)는 도 12의 (j-1) 스테이지에 할당된 트랙 및 j 스테이지에 할당된 트랙을 이용한 2개의 겹쳐진 루프에서, 상기 132a 단계에서 계산하여 저장한 최대값 메트릭을 (j-3)(j-2) 스테이지 그룹까지 저장된 누적 [수학식 7] 값인
Figure 112006049397901-PAT00069
와 가산하여, 가장 큰 값을 갖는 [수학식 7]의 값을 [수학식 13]과 같이 현재 스테이지 그룹의 누적 값
Figure 112006049397901-PAT00070
에 저장한다.
132b-3 단계에서, 코드북 탐색 장치(400)는 상기
Figure 112006049397901-PAT00071
값에 해당하는 2개의 펄스
Figure 112006049397901-PAT00072
,
Figure 112006049397901-PAT00073
의 최적 위치를 찾는다. 132b-4단계에서 코드북 탐색 장치(400)는 상기 최적 펄스와 그 때의 그룹 경로 [수학식 12]를 저장한다.
Figure 112006049397901-PAT00074
Figure 112006049397901-PAT00075
코드북 탐색 장치(400)는 상기 132 단계의 과정을 첫 번째 스테이지 그룹부터
Figure 112006049397901-PAT00076
스테이지가 포함된 스테이지 그룹까지 반복한다.
133단계에서 코드북 탐색 장치(400)는 첫 번째 스테이지부터 (여기서, L은 전체 스테이지수) 스테이지까지 132단계에서 저장한 그룹 경로를 바탕으로 경로 백트랙킹(Path Backtracking)에 의해 N개의 생존 그룹 경로를 결정한다.
도 14의 144 단계에서는 나머지
Figure 112006049397901-PAT00077
스테이지에서 스테이지까지 상기 생존 그룹 경로의 초기 스테이트에 따라 결정된 마지막 스테이지의 스테이트로 연결된 2개의 트렐리스 그룹 경로에 대해서 싱글 비터비 인코딩이 수행된다.
144a 단계에서 코드북 탐색 장치(400)는 상기 133 단계에서 결정된 N개의 생존 그룹 경로들의 초기 스테이트를 경로 백트랙킹(Path Backtracking)에 의해 결정하고, 이에 따른 마지막
Figure 112006049397901-PAT00078
스테이지에 대한 2개의 트렐리스 그룹 경로를 결정한다.
144b 단계에서 코드북 탐색 장치(400)는 상기 2개의 트렐리스 그룹 경로에서 싱글 비터비 인코딩을 수행한다.
144b-11 단계 및 144b-12 단계에서 코드북 탐색 장치(400)는
Figure 112006049397901-PAT00079
스테이지부터 마지막 스테이지까지, (j-1) 스테이지에 할당된 트랙 및 j 스테이지에 할당된 트랙을 이용한 2개의 겹쳐진 루프에서, 이전 (j-3)(j-2) 스테이지 그룹까지의 누적 [수학식 7] 값인
Figure 112006049397901-PAT00080
Figure 112006049397901-PAT00081
부터 스테이지의 상기 2개의 트렐리스 그룹 경로에서의 [수학식 7]의 값
Figure 112006049397901-PAT00082
를 가산하여 (j-1)j 스테이지 그룹의 누적 값인
Figure 112006049397901-PAT00083
에 저장한다. 이 때,
Figure 112006049397901-PAT00084
스테이지에서 이전 (j-3)(j-2) 스테이지 그룹까지 저장된 누적
Figure 112006049397901-PAT00085
의 값는 초기 스테이지부터
Figure 112006049397901-PAT00086
스테이지까지 i 스테이트에서 구해진 [수학식 13] 값
Figure 112006049397901-PAT00087
과 같다.
144b-13 단계 및 144b-14 단계에서 코드북 탐색 장치(400)는 상기
Figure 112006049397901-PAT00088
값에 해당하는 2개 펄스의 최적 위치를 선택하고, 그 최적의 펄스 위치 정보와 그룹 경로를 저장한다.
144b-2 단계 및 144b-3 단계에서 코드북 탐색 장치(400)는 144b-13단계에서 구해진 전체 [수학식 13] 값을 가장 크게 하는 스테이트 n을 선택한다.
144b-4 단계에서 코드북 탐색 장치(400)는 구해진 전체 [수학식 13]값과 트렐리스 그룹 경로 정보, 펄스 정보를 저장한다.
144d 단계에서 코드북 탐색 장치(400)는 144b 단계에서 구해진 정보를 이용하여 전체 N개의 생존 그룹 경로에서 전체 [수학식 13] 값을 최대로 하는 스테이트 i를 선택한다.
144e 단계에서 코드북 탐색 장치(400)는 최종적으로 트렐리스 그룹 경로 정보와 펄스 위치 정보, 전체 [수학식 13] 값을 저장하고, 상기 트렐리스 그룹 경로 정보와 펄스 위치 정보를 출력한다.
<실험 예>
3GPP에 의해 광대역 음성 부호화기 표준으로 선택된 AMR 광대역 부호화기 8.85k 모드의 고정 코드북 탐색에 ATC와 리스트 비터비 알고리즘을 사용한 본 발명을 적용한 경우 성능 및 계산량을 AMR 광대역 부호화기의 기존 대수 코드북 사용시 와 비교하여 [표 4] 및 [표 5]에 각각 나타내었다. [표 4] 및 [표 5]를 참조하면, 리스트 비터비 경로 수 k에 따른 성능 및 계산량이 나타나 있다.
상기 성능은 ITU-T 표준 음질 측정 software P.826인 PESQ(perceptual evaluation of speech quality)를 사용하여 측정하였고, 상기 계산량은 인코딩시 측정되는 펄스 탐색 횟수를 측정하여 나타내었다.
리스트 비터비 경로 수 k PESQ(MOS)
본발명 (ATC-LVA) k = 1 3.1653
k = 2 3.1761
k = 3 3.1788
k = 4 3.1816
k = 5 3.1843
대수 코드북 3.1792
리스트 비터비 경로 수 k 이론적 계산량
본발명 (ATC-LVA) k = 1 192
k = 2 352
k = 3 512
k = 4 672
k = 5 832
대수 코드북 768
상기 [표 4] 및 [표 5]를 살펴보면, 리스트 비터비 경로 수가 4 이상일 때 얻어지는 본 발명의 성능이 AMR 광대역 부호화기의 기존 대수 코드북 사용시의 성능보다 우수한 성능을 갖는다. 특히 리스트 비터비 경로 수가 4인 경우 음질은 향상되고 계산량은 줄어들었음을 알 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다.본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 소정 펄스 위치 집합이 각 브랜치에 할당된 트렐리스 구조를 이용하여, 음성 신호의 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택함으로써, 코드북 탐색 과정에서의 계산량을 감소시킬 수 있다. 나아가, 트렐리스 구조의 초기 스테이트와 마지막 스테이트를 소정 개수로 제한함으로써 더욱 계산량을 감소시킬 수 있다.
또한 본 발명에 따르면, 트렐리스 구조를 이용함으로써, 기존의 대수 코드북 보다 확장된 구조의 코드북 구조를 사용할 수 있게 되어 계산량의 증가 없이도 음질 면에서 향상된 코드북 탐색을 수행할 수 있다. 특히 기존 대수북 코드와 같이 펄스 위치들이 배타적으로 분배된 트랙마다 펄스를 찾는 것이 아니라, 펄스 위치가 배타적인 복수 개의 소정 집합들의 합집합의 형태로 된 트랙마다 펄스를 찾음으로써 음질 면에서 향상된 코드북 탐색을 수행할 수 있다.
또한, 본 발명에 따르면, 소정 펄스 위치 집합이 각 브랜치에 할당된 트렐리스 구조를 이용하고, 상기 트레리스 구조의 스테이지들을 그룹화한 스테이지 그룹 단위로 펄스 위치의 조합에 대응하는 경로를 선택함으로써, 코드북 탐색 과정에서의 계산량이 감소되고, 펄스 간의 영향이 고려되므로 음질 면에서 향상된 고정 코드북 탐색을 수행할 수 있다.

Claims (20)

  1. 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법에 있어서,
    (a) 소정 트렐리스 구조의 어느 하나의 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 상기 소정 개수의 경로들을 선택하는 단계;
    (b) 상기 스테이트가 아닌 다른 스테이트에 대하여, 상기 (a) 단계를 수행하는 단계;
    (c) 상기 (a) 단계 및 상기 (b) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 단계;를 포함하는 것을 특징으로 하는 코드북 탐색 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계 및 상기 (b) 단계는 상기 트렐리스 구조의 어느 하나의 스테이지에 속하는 스테이트에 대하여 수행하고,
    (d) 상기 스테이지가 아닌 다른 스테이지에서 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함하고,
    상기 (c) 단계는, 상기 (a) 단계, 상기 (b) 단계 및 상기 (d) 단계에서 선택 된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 것을 특징으로 하는 코드북 탐색 방법.
  3. 제 1 항에 있어서,
    상기 소정 신호는 음성 신호를 선형 예측 부호화를 사용하여 필터링하고, 피치 성분을 제거한 신호인 것을 특징으로 하는 코드북 탐색 방법.
  4. 제 2 항에 있어서,
    상기 (d) 단계는 상기 트렐리스 구조의 첫 번째 스테이지부터 마지막 스테이지까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하는 것을 특징으로 하는 코드북 탐색 방법.
  5. 제 2 항에 있어서,
    상기 트렐리스 구조는 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 하는 코드북 탐색 방법.
  6. 제 5 항에 있어서,
    상기 제 1 펄스 위치 집합과 상기 제 2 펄스 위치 집합 중 적어도 하나는 펄스 위치가 배타적인 복수 개의 소정 집합들의 합집합인 것을 특징으로 하는 코드북 탐색 방법.
  7. 제 2 항에 있어서,
    상기 트렐리스 구조의 초기 스테이트를 제1 소정 개수로 제약하고, 상기 제약된 각 초기 스테이트에 대응하는 마지막 스테이트를 제2 소정 개수로 제약하는 단계를 더 포함하는 것을 특징으로 하는 코드북 탐색 방법.
  8. 제 7 항에 있어서,
    상기 (d) 단계는 상기 트렐리스 구조의 첫 번째 스테이지부터 소정 번째 스테이지까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하고,
    (e) 상기 소정 번째 스테이지의 어느 하나의 스테이트에 대하여, 상기 (a) 단계, 상기 (b) 단계 및 상기 (d) 단계에서 선택된 경로들을 기초로 상기 스테이트에서 초기 스테이트까지 이르는 경로를 추적하여 상기 스테이트에 대응하는 초기 스테이트를 결정하고, 상기 스테이트에서 상기 제 2 소정 개수로 제약된 마지막 스테이트까지 연결되는 경로를 결정하는 단계;
    (f) 상기 스테이지에서, 상기 스테이트가 아닌 다른 스테이트에 대하여 상기 (e) 단계를 수행하는 단계;
    (g) 상기 (e) 단계 및 상기 (f) 단계에서 결정된 경로 상의 스테이트에 대하 여 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함하고,
    상기 (c) 단계는, 상기 (a) 단계, 상기 (b) 단계, 상기 (d) 및 상기 (g) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 것을 특징으로 하는 코드북 탐색 방법.
  9. 제 8 항에 있어서,
    상기 트렐리스 구조는 N개(=2v, 여기서 v는 정수)개의 스테이트 및 L개의 스테이지를 가지고,
    상기 제1 소정 개수는 2w(여기서, 0≤w≤v)개이며 상기 제2 소정 개수는 2v-w개이고,
    상기 소정 번째 스테이지는
    Figure 112006049397901-PAT00089
    스테이지인 것을 특징으로 하는 고정 코드북 탐색 방법.
  10. 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법에 있어서,
    (a) 스테이지가 소정 개수씩 그룹화된 소정 트렐리스 구조의 어느 하나의 스테이지 그룹에서, 상기 스테이지 그룹 내의 최후 스테이지의 어느 하나의 스테이트에 대하여 상기 스테이트와 상기 스테이지 그룹의 최선 스테이지의 스테이트들을 연결하는 복수 개의 브랜치들에 할당된 소정 펄스 위치 집합들에 속하는 펄스 위치 들의 조합에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들의 조합에 대응하는 경로를 선택하는 단계;
    (b) 상기 최후 스테이지의 다른 스테이트에 대하여 상기 (a) 단계를 수행하는 단계;
    (c) 상기 스테이지 그룹이 아닌 다른 스테이지 그룹에서 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계; 및
    (d) 상기 (a) 단계 내지 상기 (c) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 단계;를 포함하는 것을 특징으로 하는 코드북 탐색 방법.
  11. 제 10 항에 있어서,
    상기 소정 신호는 음성 신호를 선형 예측 부호화를 사용하여 필터링하고, 피치 성분을 제거한 신호인 것을 특징으로 하는 코드북 탐색 방법.
  12. 제 10 항에 있어서,
    상기 (c) 단계는 상기 트렐리스 구조의 첫 번째 스테이지 그룹부터 마지막 스테이지 그룹까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하는 것을 특징으로 하는 코드북 탐색 방법.
  13. 제 10 항에 있어서,
    상기 트렐리스 구조는 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 하는 코드북 탐색 방법.
  14. 제 13 항에 있어서,
    상기 제 1 펄스 위치 집합과 상기 제 2 펄스 위치 집합 중 적어도 하나는 펄스 위치가 배타적인 복수 개의 소정 집합들의 합집합인 것을 특징으로 하는 코드북 탐색 방법.
  15. 제 10 항에 있어서,
    상기 트렐리스 구조의 초기 스테이트를 제1 소정 개수로 제약하고, 상기 제약된 각 초기 스테이트에 대응하는 마지막 스테이트를 제2 소정 개수로 제약하는 단계를 더 포함하는 것을 특징으로 하는 코드북 탐색 방법.
  16. 제 15 항에 있어서,
    상기 (c) 단계는, 상기 트렐리스 구조의 첫 번째 스테이지 그룹부터 소정 번째 스테이지 그룹까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하고,
    (e) 상기 소정 번째 스테이지 그룹 내의 최후 스테이지의 어느 하나의 스테 이트에 대하여, 상기 (a) 단계 내지 상기 (c) 단계에서 선택된 경로들을 기초로 상기 스테이트에서 초기 스테이트까지 이르는 경로를 추적하여 상기 스테이트에 대응하는 초기 스테이트를 결정하고, 상기 스테이트에서 상기 제 2 소정 개수로 제약된 마지막 스테이트까지 연결되는 경로를 결정하는 단계;
    (f) 상기 최후 스테이지에서, 상기 스테이트가 아닌 다른 스테이트에 대하여 상기 (e) 단계를 수행하는 단계; 및
    (g) 상기 (e) 단계 및 상기 (f) 단계에서 결정된 경로 상의 스테이트에 대하여 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함하고,
    상기 (d) 단계는, 상기 (a) 단계, 상기 (b) 단계, 상기 (c) 단계 및 상기 (g) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 것을 특징으로 하는 코드북 탐색 방법.
  17. 제 16 항에 있어서,
    상기 트렐리스 구조는 N개(=2v, 여기서 v는 정수)개의 스테이트 및 L개의 스테이지를 가지는 것을 특징으로 하고,
    상기 제1 소정 개수는 2w(여기서, 0≤w≤v)개이며 상기 제2 소정 개수는 2v-w개인 것을 특징으로 하고,
    상기 소정 번째 스테이지 그룹의 최후 스테이지는
    Figure 112006049397901-PAT00090
    스테이지인 것을 특징으로 하는 고정 코드북 탐색 방법.
  18. 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 장치에 있어서,
    소정 트렐리스 구조가 저장되어 있는 트렐리스 구조 데이터베이스;
    상기 트렐리스 구조의 각 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 소정 개수의 경로들을 선택하는 선택부;
    상기 소정 개수의 펄스 위치들 및 상기 소정 개수의 경로들을 저장하는 메모리부; 및
    상기 메모리부에 저장된 상기 펄스 위치들 및 상기 경로들을 기초로 상기 소정 신호와 가장 일치하는 펄스 위치 정보 및 경로 정보를 출력하는 출력부;를 포함하는 것을 특징으로 하는 코드북 탐색 장치.
  19. 제 18 항에 있어서,
    상기 트렐리스 구조는, 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 하는 코드북 탐색 장치.
  20. 제 1 항 내지 제 17 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020060064723A 2005-07-13 2006-07-11 코드북 탐색 방법 및 장치 KR100813260B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2012100316039A CN102592603A (zh) 2005-07-13 2006-07-13 用于进行量化的方法
US11/457,251 US8560306B2 (en) 2005-07-13 2006-07-13 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
PCT/KR2006/002761 WO2007027005A1 (en) 2005-07-13 2006-07-13 Method and apparatus for searching fixed codebook
CN2012100315835A CN102568490A (zh) 2005-07-13 2006-07-13 用于搜索码本的方法和设备
CN200680025725XA CN101223580B (zh) 2005-07-13 2006-07-13 用于搜索固定码本的方法和设备
US14/020,139 US8805681B2 (en) 2005-07-13 2013-09-06 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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050063267 2005-07-13
KR20050063267 2005-07-13

Publications (2)

Publication Number Publication Date
KR20070008413A true KR20070008413A (ko) 2007-01-17
KR100813260B1 KR100813260B1 (ko) 2008-03-13

Family

ID=38010610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060064723A KR100813260B1 (ko) 2005-07-13 2006-07-11 코드북 탐색 방법 및 장치

Country Status (4)

Country Link
US (2) US8560306B2 (ko)
KR (1) KR100813260B1 (ko)
CN (3) CN102592603A (ko)
WO (1) WO2007027005A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100530357C (zh) 2007-07-11 2009-08-19 华为技术有限公司 固定码书搜索方法及搜索器
CN100578620C (zh) * 2007-11-12 2010-01-06 华为技术有限公司 固定码书搜索方法及搜索器
US7974297B2 (en) 2009-03-11 2011-07-05 Sony Corporation Quality of service queue management in home mesh network

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701392A (en) 1990-02-23 1997-12-23 Universite De Sherbrooke Depth-first algebraic-codebook search for fast coding of speech
US5659659A (en) * 1993-07-26 1997-08-19 Alaris, Inc. Speech compressor using trellis encoding and linear prediction
US5602961A (en) 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
US6263312B1 (en) * 1997-10-03 2001-07-17 Alaris, Inc. Audio compression and decompression employing subband decomposition of residual signal and distortion reduction
US6185173B1 (en) 1998-07-31 2001-02-06 Cirrus Logic, Inc. Sampled amplitude read channel employing a trellis sequence detector matched to a channel code constraint and a post processor for correcting errors in the detected binary sequence using the signal samples and an error syndrome
SE9802990L (sv) * 1998-09-04 2000-03-05 Ericsson Telefon Ab L M Förfarande och system för taligenkänning
KR100341398B1 (ko) * 2000-01-27 2002-06-22 오길록 씨이엘피형 보코더의 코드북 검색 방법
US6701021B1 (en) 2000-11-22 2004-03-02 Canadian Space Agency System and method for encoding/decoding multidimensional data using successive approximation multi-stage vector quantization
EP1213884B1 (fr) 2000-12-04 2007-03-14 STMicroelectronics N.V. Procédé et dispositif d'estimation des valeurs successives de symboles numériques, en particulier pour l'égalisation d'un canal de transmission d'informations en téléphonie mobile
US6789059B2 (en) 2001-06-06 2004-09-07 Qualcomm Incorporated Reducing memory requirements of a codebook vector search
KR20030092921A (ko) * 2002-05-31 2003-12-06 주식회사 현대시스콤 음성 시스템에서 코드북 인덱스 탐색 방법
KR100463559B1 (ko) * 2002-11-11 2004-12-29 한국전자통신연구원 대수 코드북을 이용하는 켈프 보코더의 코드북 검색방법
KR100486732B1 (ko) * 2003-02-19 2005-05-03 삼성전자주식회사 블럭제한된 트렐리스 부호화 양자화방법과 음성부호화시스템에있어서 이를 채용한 라인스펙트럼주파수 계수양자화방법 및 장치
KR100556831B1 (ko) * 2003-03-25 2006-03-10 한국전자통신연구원 전역 펄스 교체를 통한 고정 코드북 검색 방법
CN1240050C (zh) * 2003-12-03 2006-02-01 北京首信股份有限公司 一种用于语音编码的固定码本快速搜索方法

Also Published As

Publication number Publication date
US8805681B2 (en) 2014-08-12
US20140006023A1 (en) 2014-01-02
WO2007027005A1 (en) 2007-03-08
CN102592603A (zh) 2012-07-18
KR100813260B1 (ko) 2008-03-13
CN101223580A (zh) 2008-07-16
CN101223580B (zh) 2012-04-18
US8560306B2 (en) 2013-10-15
US20070016410A1 (en) 2007-01-18
CN102568490A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
US8566106B2 (en) Method and device for fast algebraic codebook search in speech and audio coding
US5819213A (en) Speech encoding and decoding with pitch filter range unrestricted by codebook range and preselecting, then increasing, search candidates from linear overlap codebooks
JP3114197B2 (ja) 音声パラメータ符号化方法
KR101370017B1 (ko) Celp 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩
KR100464369B1 (ko) 음성 부호화 시스템의 여기 코드북 탐색 방법
US7792679B2 (en) Optimized multiple coding method
US7249014B2 (en) Apparatus, methods and articles incorporating a fast algebraic codebook search technique
JPH08263099A (ja) 符号化装置
KR100556831B1 (ko) 전역 펄스 교체를 통한 고정 코드북 검색 방법
US7302387B2 (en) Modification of fixed codebook search in G.729 Annex E audio coding
CA2192143C (en) Speech coding device
KR100813260B1 (ko) 코드북 탐색 방법 및 장치
EP1267328A2 (en) Method of converting codes between speech coding and decoding systems, and device and program therefor
KR100465316B1 (ko) 음성 부호화기 및 이를 이용한 음성 부호화 방법
Lee et al. Global pulse replacement method for fixedcodebook search of ACELP speech codec
KR100319924B1 (ko) 음성 부호화시에 대수코드북에서의 대수코드 탐색방법
Byun et al. A fast ACELP codebook search method
EP0483882B1 (en) Speech parameter encoding method capable of transmitting a spectrum parameter with a reduced number of bits
Xydeas et al. Theory and Real Time Implementation of a CELP Coder at 4.8 and 6.0 kbits/second Using Ternary Code Excitation
KR100576024B1 (ko) 에이켈프 음성 압축기의 코드북 검색 장치 및 방법
EP0753841B1 (en) Speech parameter encoding method capable of transmitting a spectrum parameter at a reduced number of bits
KR20010084468A (ko) 음성 부호화기의 lsp 양자화기를 위한 고속 탐색 방법
JP2918021B2 (ja) ベクトル量子化装置
JPH1020894A (ja) 音声符号化装置および記録媒体
Jun et al. Designing algebraic trellis code as a new fixed codebook module for ACELP coder

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee