KR100813260B1 - 코드북 탐색 방법 및 장치 - Google Patents
코드북 탐색 방법 및 장치 Download PDFInfo
- Publication number
- KR100813260B1 KR100813260B1 KR1020060064723A KR20060064723A KR100813260B1 KR 100813260 B1 KR100813260 B1 KR 100813260B1 KR 1020060064723 A KR1020060064723 A KR 1020060064723A KR 20060064723 A KR20060064723 A KR 20060064723A KR 100813260 B1 KR100813260 B1 KR 100813260B1
- Authority
- KR
- South Korea
- Prior art keywords
- stage
- state
- pulse positions
- paths
- pulse
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000001914 filtration Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 230000004083 survival effect Effects 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 230000001186 cumulative effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical group [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0212—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
- G10L19/107—Sparse pulse excitation, e.g. by using algebraic codebook
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0001—Codebooks
- G10L2019/0013—Codebook 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
도 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를 최소화 하는 고정 코드북 를 찾는 방식으로서, 고정 코드북 는 [수학식 1]을 최대화하는 고정 코드북과 같다.
여기서 는 대상 신호와 임펄스 응답 h(n)과의 상관도를 나타내며, 는 임펄스 응답 h(n)의 상관도를 나타낸다. 부프레임 크기가 M개 샘플일 경우, d(n)과 은 각각 [수학식 2] 및 [수학식 3]과 같이 나타낼 수 있다.
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]을 참고하여 고정 코드북 탐색 과정을 살펴보면, 코드북 벡터 는 오직 4개의 0이 아닌 벡터만을 포함하기 때문에 고속 탐색이 가능하며 [수학식 1]에서 분자의 상관도 식은 [수학식 4]와 같고, 분모의 에너지 식은 [수학식 5]와 같다.
도 1의 단계 11에서는 [수학식 4] 및 [수학식 5]를 미리 계산하여 고속 탐색을 가능하게 한다. 그리고 계산량을 줄이기 위한 펄스 후보 벡터들을 선정할 때 이용되는 값 b(n)을 [수학식 6]과 같이 계산한다.
단계 12에서는 단계 11에서 미리 계산한 [수학식 6]을 이용해서 첫 번째와 세 번째 트랙에 대한 펄스 위치의 후보 벡터들을 선택한다.
단계 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개이고, 상기 소정 번째 스테이지는 스테이지인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 코드북 탐색 방법은, 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법에 있어서, (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개인 것을 특징으로 하고, 상기 소정 번째 스테이지 그룹의 최후 스테이지는 스테이지인 것을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 코드북 탐색 장치는, 음성 신호 중 소정 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 장치에 있어서, 소정 트렐리스 구조가 저장되어 있는 트렐리스 구조 데이터베이스; 상기 트렐리스 구조의 각 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연 결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 소정 개수의 경로들을 선택하는 선택부; 상기 소정 개수의 펄스 위치들 및 상기 소정 개수의 경로들을 저장하는 메모리부; 및 상기 저장부에 저장된 상기 펄스 위치들 및 상기 경로들을 기초로 상기 소정 신호와 가장 일치하는 펄스 위치 정보 및 경로 정보를 출력하는 출력부;를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 트렐리스 구조는, 제 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)개로 제약하고, 마지막 스테이지의 스테이트도 트렐리스 경로의 초기 스테이트에 따라 전체 개의 스테이트 중 2w(여기서, 0≤w≤v)개로 제약한다.
이와 같은 BC-TCQ 알고리즘을 적용하여 싱글 비터비 부호화를 수행하는 과정은 다음과 같다. 첫 번째 스테이지부터 (여기서 L은 전체 스테이지수, N 은 전체 트렐리스 스테이트 수) 스테이지까지 초기 스테이트 제약 조건 하에서 결정된 개의 생존 경로들의 초기 스테이트를 참고한 후, 나머지 v 스테이지에서는 각 초기 스테이트에 따라 결정된 2v-w(여기서, 0≤w≤v)개의 스테이트들 중 하나를 마지막 스테이지의 스테이트가 선택되도록 하는 트렐리스 경로들만을 고려한다. 고려된 트렐리스 경로 중 최적의 트렐리스 경로를 구하여 전송하게 된다.
도 2는 전체 4-스테이트 트렐리스 구조에 w가 1인 BC-TCQ 알고리즘을 적용하는 경우 고려되는 트렐리스 경로의 예를 나타낸 것이다. 선택가능 한 트렐리스 경로의 초기 스테이트는 4개 스테이트들 중 '00' 혹은 '10'이며, 마지막 스테이지의 스테이트는 초기 스테이트가 '00'인 경우 '00' 혹은 '01', 초기 스테이트가 '10'인 경우 '10' 혹은 '11'로 제약을 둔다. 도 2을 참조하면 스테이지에서 스테이트 '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인 쉬운 예를 들어 설명하겠다.
첫 번째 스테이지의 제약된 초기 스테이트부터 (여기서, L은 전체 스테이지수) 스테이지까지 각 스테이트마다 리스트 비터비 알고리즘이 수행된다. 이는 스테이지까지 각 스테이트마다 최적의 경로 순으로 k개가 저장되고, 이를 바탕으로 스테이지에서는 각 스테이트마다 최적의 생존 경로가 k개로 순서화(ranking)되어 결정된다. 여기서 k를 리스트 비터비 경로 수라고 표현하기로 하고, 상기 k개의 최적 생존 경로를 생존 리스트 경로라 표현하기로 한다.
그리고 스테이지에서 N×k개 생존 리스트 경로들의 초기 스테이트를 경로 백트랙킹(Path Backtracking)에 의해 파악한다. 상기 초기 스테이트를 참 조하여 마지막 스테이지의 제약된 스테이트로 끝나는 트렐리스 리스트 경로들을 고려한다. 마지막으로 나머지 스테이지부터 스테이지까지의 상기 고려된 리스트 경로들 중 최적의 트렐리스 경로 하나를 선택하고, 최종적으로 전체 N개의 생존 블록 경로들 중 최적의 트렐리스 경로 하나를 선택해 그 정보를 전송한다.
도 3은 4-스테이트 트렐리스 구조에서 ATC 알고리즘을 이용한 인코딩 과정을 나타낸 도면으로서, 초기 스테이트는 '00' 혹은 '01'이며, 마지막 스테이지의 스테이트는 초기 스테이트가 '00'인 경우 '00'혹은 '10', 초기 스테이트가 '01'인 경우 '01' 혹은 '11'로 제약을 둔 예이다. 이때, 각 스테이트마다 리스트 비터비 알고리즘에 의하여 순서화(ranking)된 리스트 경로가 존재한다. 이를 도 3에서 참조하면, 스테이지에서 스테이트 '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개의 스테이트 중 제약된 초기 스테이트에서 최적의 펄스 탐색을 위해 이용하는 수학식의 최대값()에 대한 초기화를 수행한다.
82단계에서는 첫 번째 스테이지부터 (여기서, L은 전체 스테이지수) 스테이지까지 각 스테이트마다 도 6 및 도 7에서 보는 것과 같이 리스트 비터비 인코딩이 수행된다. 이를 자세히 살펴보면, 82a단계에서 코드북 탐색 장치(400)는 이전 스테이지의 i번째 스테이트와 현재 스테이지의 s번째 스테이트를 연결한 브랜치에 할당된 부코드북을 이용하여, [수학식 1]을 변형한 소정의 [수학식 7] 값 을 계산하고, 상기 계산한 값을 해당하는 브랜치에 따라 [수학식 8] 및 [수학식 9]와 같이 구하여 저장한다.
상기 [수학식 8] 및 [수학식 9]에 있어서, 는 j 번째 스테이지의 s 스테이트와 (j-1) 번째 스테이지의 스테이트 사이의 브랜치에 할당된 부 코드북을, 는 j 번째 스테이지의 s 스테이트와 (j-1) 번째 스테이지의 스테이트 사이의 브랜치에 할당된 부코드북을 각각 나타낸다. 는 s 스테이트와 스테이트 사이의 브랜치에 할당된 부 코드북에 있어서, 대상 신호와 임펄스 응답 h(n)과의 상관도를 나타낸다.
82b 단계는 소정 트렐리스 구조의 어느 하나의 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 소정 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 소정 개수의 펄스 위치들에 각각 대응하는 소정 개수의 경로들을 선택한다. 보다 구체적으로 설명하면 다음과 같다.
82b-1단계에서 코드북 탐색 장치(400)는 (j-1) 번째 스테이지까지 저장된 누적 [수학식 7]의 값인 및 에 각각 상기 [수학식 8] 및 [수학식 9]의 값을 가산하여, 가장 큰 값을 갖는 순으로 k개의 [수학식 11]을 업데이트하여 저장한다. 여기서, 상기 가산된 값은 결국 [수학식 1]을 변형한 [수학식 7] 이 누적된 값이므로 상기 가산된 값이 클수록 코드북 탐색 장치(400)로 입력되는 대상 신호와 가장 일치하는 펄스 위치가 된다.
82b-2단계에서 코드북 탐색 장치(400)는 j 번째 스테이지의 s 스테이트와 연결된 2k개의 트렐리스 리스트 경로들 중 상기 [수학식 11]값에 해당하는 k개의 경로 리스트(k paths)를 [수학식 10]과 같이 저장하고, 이 때 최적의 펄스 위치와 랭킹 순번을 저장한다.
83단계에서 코드북 탐색 장치(400)는 첫 번째 스테이지부터 스테이지까지 상기 82단계에서 구한 최적의 리스트 경로들을 경로 백트랙킹(Path Backtracking)하여 N×k 개의 생존 리스트 경로들을 결정한다. N개의 각 스테이트 당 k개의 경로가 결정되므로 생존 리스트 경로가 N×k 개가 된다.
94a단계에서 코드북 탐색 장치(400)는 상기 83 단계에서 결정된 N×k개의 생존 리스트 경로들의 초기 스테이트를 결정하고, 상기 초기 스테이트에 따라 결정된 마지막 L 스테이지의 스테이트로 끝나는 2개의 트렐리스 리스트 경로를 결정한다.
94b단계에서는 상기 2개의 트렐리스 리스트 경로에서 리스트 비터비 인코딩 과정을 수행한다. 94b단계에서 n은 상기 결정된 2개의 트렐리스 경로에 각각 해당하는 마지막 스테이트 2개를 의미한다.
94b-11 단계에서 코드북 탐색 장치(400)는 스테이지부터 마지막 L 스테이지까지 상기 2개의 트렐리스 리스트 경로에 해당하는 각 스테이트에서 [수학식 11] 값을 업데이트한다. 다시 말하면, 코드북 탐색 장치(400)는 이전 (j-1)번째 스테이지까지 누적된 [수학식 7]의 값 와 부터 L 스테이지의 상기 2개의 트렐리스 리스트 경로에서의 [수학식 7]의 값 를 가산하여, 가장 큰 값부터 k개를 선택하고 순서화하여(ranking) 에 저장한다. 이 때, 스테이지에서 이전 (j-1)번째 스테이지까지 누적 [수학식 7]의 값 는 초기 스테이지부터 스테이지까지 i 스테이트에서 구해진 [수학식 11] 값인 와 같다.
94b-12 단계에서는 코드북 탐색 장치(400)는 상기 값 에 해당하는 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는 본 실시예에 따른 코드북 탐색 방법의 흐름도이다.
본 실시예를 개략적으로 설명하면 다음과 같다. 첫 번째 스테이지의 제약된 초기 스테이트에서 시작하여, (여기서, L은 전체 스테이지수) 스테이지까지, 트렐리스 구조의 소정 개수의 스테이지를 그룹화하고 상기 그룹화된 스테이지의 각 스테이트에서 싱글 비터비 알고리즘을 수행한다. 상기 알고리즘에 의해서 각 스테이트마다 최적의 경로들을 결정하게 되는데, 스테이지 그룹마다 경로를 결정하므로 이를 최적의 그룹 경로라 표현하기로 한다. 이후 스테이지에서 N개의 생존 그룹 경로들의 초기 스테이트를 경로 백트랙킹(Path backtracking)하여 결정한다. 상기 결정된 초기 스테이트를 참조하여, 마지막 스테이지의 제약된 스테이트 로 끝나는 트렐리스 그룹 경로들을 선택한다. 마지막 스테이지 그룹에서 상기 그룹 경로들 중 최적의 트렐리스 그룹 경로 하나를 선택하고, 최종적으로 전체 N개의 생존 그룹 경로들 중 최적의 트렐리스 경로 하나를 선택한다.
도 10을 참조하면, 도 3과 마찬가지로 초기 스테이트는 '00' 혹은 '01'이며, 마지막 스테이지 그룹의 스테이트는 초기 스테이트가 '00'인 경우 '00' 또는 '10', 초기 스테이트가 '01'인 경우 '01' 혹은 '11'로 제약을 둔 예이다. 도 10을 참조하면, 그룹화된 스테이지에서 스테이트 '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개의 스테이트 중 제약된 초기 스테이트에서 최적의 펄스 탐색을 위해 이용하는 수학식의 최대값()에 대한 초기화를 수행한다.
132단계에서 첫 번째 스테이지부터 (여기서, L은 전체 스테이지수)스테이지까지 2개 스테이지마다 각 스테이트에서 도 11 및 도 12에서와 같이 싱글 비터비 과정이 수행된다. 이를 자세히 살펴보면, 132 단계의 132a 단계에서 코드북 탐색 장치(400)는 이전 스테이지 그룹의 i번째 스테이트와 현재 스테이지 그룹의 s번째 스테이트를 연결한 브랜치에 할당된 부코드북을 이용하여 [수학식 7] 값을 계산하고, 계산된 값을 최대값 메트릭 에 저장한다.
132b 단계에서 코드북 탐색 장치(400)는 스테이지 그룹 내의 최후 스테이지의 어느 하나의 스테이트에 대하여 상기 스테이트와 상기 스테이지 그룹의 최선 스테이지의 스테이트들을 연결하는 복수 개의 브랜치들에 할당된 소정 펄스 위치 집 합들에 속하는 펄스 위치들의 조합에 대응하는 경로들 중에서 상기 소정 신호와 가장 일치하는 펄스 위치들의 조합에 대응하는 경로를 선택한다. 보다 구체적으로 설명하면 다음과 같다.
132b 단계의 132b-1 단계 및 132b-2 단계에서 코드북 탐색 장치(400)는 도 12의 (j-1) 스테이지에 할당된 트랙 및 j 스테이지에 할당된 트랙을 이용한 2개의 겹쳐진 루프에서, 상기 132a 단계에서 계산하여 저장한 최대값 메트릭을 (j-3)(j-2) 스테이지 그룹까지 저장된 누적 [수학식 7] 값인 와 가산하여, 가장 큰 값을 갖는 [수학식 7]의 값을 [수학식 13]과 같이 현재 스테이지 그룹의 누적 값 에 저장한다.
132b-3 단계에서, 코드북 탐색 장치(400)는 상기 값에 해당하는 2개의 펄스 , 의 최적 위치를 찾는다. 132b-4단계에서 코드북 탐색 장치(400)는 상기 최적 펄스와 그 때의 그룹 경로 [수학식 12]를 저장한다.
133단계에서 코드북 탐색 장치(400)는 첫 번째 스테이지부터 (여기서, L은 전체 스테이지수) 스테이지까지 132단계에서 저장한 그룹 경로를 바탕으로 경로 백트랙킹(Path Backtracking)에 의해 N개의 생존 그룹 경로를 결정한다.
도 14의 144 단계에서는 나머지 스테이지에서 스테이지까지 상기 생존 그룹 경로의 초기 스테이트에 따라 결정된 마지막 스테이지의 스테이트로 연결된 2개의 트렐리스 그룹 경로에 대해서 싱글 비터비 인코딩이 수행된다.
144a 단계에서 코드북 탐색 장치(400)는 상기 133 단계에서 결정된 N개의 생존 그룹 경로들의 초기 스테이트를 경로 백트랙킹(Path Backtracking)에 의해 결정하고, 이에 따른 마지막 스테이지에 대한 2개의 트렐리스 그룹 경로를 결정한다.
144b 단계에서 코드북 탐색 장치(400)는 상기 2개의 트렐리스 그룹 경로에서 싱글 비터비 인코딩을 수행한다.
144b-11 단계 및 144b-12 단계에서 코드북 탐색 장치(400)는 스테이지부터 마지막 스테이지까지, (j-1) 스테이지에 할당된 트랙 및 j 스테이지에 할당된 트랙을 이용한 2개의 겹쳐진 루프에서, 이전 (j-3)(j-2) 스테이지 그룹까지의 누적 [수학식 7] 값인 에 부터 스테이지의 상기 2개의 트렐리스 그룹 경로에서의 [수학식 7]의 값 를 가산하여 (j-1)j 스테이지 그룹의 누적 값인 에 저장한다. 이 때, 스테이지에서 이전 (j-3)(j-2) 스테이지 그룹까지 저장된 누적 의 값는 초기 스테이지부터 스테이지까지 i 스테이트에서 구해진 [수학식 13] 값 과 같다.
144b-13 단계 및 144b-14 단계에서 코드북 탐색 장치(400)는 상기 값에 해당하는 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)
- 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법에 있어서,(a) 기 설정된 트렐리스 구조의 어느 하나의 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 신호와 가장 일치하는 펄스 위치들에 각각 대응하는 경로들을 선택하는 단계;(b) 상기 스테이트가 아닌 다른 스테이트에 대하여, 상기 (a) 단계를 수행하는 단계; 및(c) 상기 (a) 단계 및 상기 (b) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 단계;를 포함하는 것을 특징으로 하는 코드북 탐색 방법.
- 제 1 항에 있어서,상기 (a) 단계 및 상기 (b) 단계는 상기 트렐리스 구조의 어느 하나의 스테이지에 속하는 스테이트에 대하여 수행하고,(d) 상기 스테이지가 아닌 다른 스테이지에서 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함하고,상기 (c) 단계는, 상기 (a) 단계, 상기 (b) 단계 및 상기 (d) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 것을 특징으로 하는 코드북 탐색 방법.
- 제 1 항에 있어서,상기 신호는 음성 신호를 선형 예측 부호화를 사용하여 필터링하고, 피치 성분을 제거한 신호인 것을 특징으로 하는 코드북 탐색 방법.
- 제 2 항에 있어서,상기 (d) 단계는 상기 트렐리스 구조의 첫 번째 스테이지부터 마지막 스테이지까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하는 것을 특징으로 하는 코드북 탐색 방법.
- 제 2 항에 있어서,상기 트렐리스 구조는 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 하는 코드북 탐색 방법.
- 제 5 항에 있어서,상기 제 1 펄스 위치 집합과 상기 제 2 펄스 위치 집합 중 적어도 하나는 펄스 위치가 배타적인 복수 개의 집합들의 합집합인 것을 특징으로 하는 코드북 탐색 방법.
- 제 2 항에 있어서,상기 트렐리스 구조의 초기 스테이트를 제1 개수로 제약하고, 상기 제약된 각 초기 스테이트에 대응하는 마지막 스테이트를 제2 개수로 제약하는 단계를 더 포함하는 것을 특징으로 하는 코드북 탐색 방법.
- 제 7 항에 있어서,상기 (d) 단계는 상기 트렐리스 구조의 첫 번째 스테이지부터 M번째(여기서, M은 1보다 큰 자연수) 스테이지까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하고,(e) 상기 M번째 스테이지의 어느 하나의 스테이트에 대하여, 상기 (a) 단계, 상기 (b) 단계 및 상기 (d) 단계에서 선택된 경로들을 기초로 상기 스테이트에서 초기 스테이트까지 이르는 경로를 추적하여 상기 스테이트에 대응하는 초기 스테이트를 결정하고, 상기 스테이트에서 상기 제 2 개수로 제약된 마지막 스테이트까지 연결되는 경로를 결정하는 단계;(f) 상기 스테이지에서, 상기 스테이트가 아닌 다른 스테이트에 대하여 상기 (e) 단계를 수행하는 단계;(g) 상기 (e) 단계 및 상기 (f) 단계에서 결정된 경로 상의 스테이트에 대하여 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함하고,상기 (c) 단계는, 상기 (a) 단계, 상기 (b) 단계, 상기 (d) 및 상기 (g) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 것을 특징으로 하는 코드북 탐색 방법.
- 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 방법에 있어서,(a) 스테이지가 그룹화되어 설정된 트렐리스 구조의 어느 하나의 스테이지 그룹에서, 상기 스테이지 그룹 내의 최후 스테이지의 어느 하나의 스테이트에 대하여 상기 스테이트와 상기 스테이지 그룹의 최선 스테이지의 스테이트들을 연결하는 복수 개의 브랜치들에 할당된 펄스 위치 집합들에 속하는 펄스 위치들의 조합에 대응하는 경로들 중에서 상기 신호와 가장 일치하는 펄스 위치들의 조합에 대응하는 경로를 선택하는 단계;(b) 상기 최후 스테이지의 다른 스테이트에 대하여 상기 (a) 단계를 수행하는 단계;(c) 상기 스테이지 그룹이 아닌 다른 스테이지 그룹에서 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계; 및(d) 상기 (a) 단계 내지 상기 (c) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 단계;를 포함하는 것을 특징으로 하는 코드북 탐색 방법.
- 제 10 항에 있어서,상기 신호는 음성 신호를 선형 예측 부호화를 사용하여 필터링하고, 피치 성분을 제거한 신호인 것을 특징으로 하는 코드북 탐색 방법.
- 제 10 항에 있어서,상기 (c) 단계는 상기 트렐리스 구조의 첫 번째 스테이지 그룹부터 마지막 스테이지 그룹까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하는 것을 특징으로 하는 코드북 탐색 방법.
- 제 10 항에 있어서,상기 트렐리스 구조는 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 하는 코드북 탐색 방법.
- 제 13 항에 있어서,상기 제 1 펄스 위치 집합과 상기 제 2 펄스 위치 집합 중 적어도 하나는 펄스 위치가 배타적인 복수 개의 집합들의 합집합인 것을 특징으로 하는 코드북 탐색 방법.
- 제 10 항에 있어서,상기 트렐리스 구조의 초기 스테이트를 제1 개수로 제약하고, 상기 제약된 각 초기 스테이트에 대응하는 마지막 스테이트를 제2 개수로 제약하는 단계를 더 포함하는 것을 특징으로 하는 코드북 탐색 방법.
- 제 15 항에 있어서,상기 (c) 단계는, 상기 트렐리스 구조의 첫 번째 스테이지 그룹부터 M번째(여기서, M은 1보다 큰 자연수) 스테이지 그룹까지 순차적으로 상기 (a) 단계 및 상기 (b) 단계를 수행하고,(e) 상기 M번째 스테이지 그룹 내의 최후 스테이지의 어느 하나의 스테이트에 대하여, 상기 (a) 단계 내지 상기 (c) 단계에서 선택된 경로들을 기초로 상기 스테이트에서 초기 스테이트까지 이르는 경로를 추적하여 상기 스테이트에 대응하는 초기 스테이트를 결정하고, 상기 스테이트에서 상기 제 2 개수로 제약된 마지막 스테이트까지 연결되는 경로를 결정하는 단계;(f) 상기 최후 스테이지에서, 상기 스테이트가 아닌 다른 스테이트에 대하여 상기 (e) 단계를 수행하는 단계; 및(g) 상기 (e) 단계 및 상기 (f) 단계에서 결정된 경로 상의 스테이트에 대하여 상기 (a) 단계 및 상기 (b) 단계를 수행하는 단계를 더 포함하고,상기 (d) 단계는, 상기 (a) 단계, 상기 (b) 단계, 상기 (c) 단계 및 상기 (g) 단계에서 선택된 경로들을 포함하는 경로들 중에서 상기 신호와 가장 일치하는 펄스 위치들에 대응하는 경로를 선택하는 것을 특징으로 하는 코드북 탐색 방법.
- 신호를 모델링하는 펄스들을 포함하는 코드북을 탐색하는 장치에 있어서,기 설정된 트렐리스 구조가 저장되어 있는 트렐리스 구조 데이터베이스;상기 트렐리스 구조의 각 스테이트에 대하여, 상기 스테이트와 다른 스테이트를 연결하는 적어도 하나의 브랜치에 할당된 펄스 위치 집합의 펄스 위치들에 대응하는 경로들 중에서 상기 신호와 가장 일치하는 펄스 위치들에 각각 대응하는 경로들을 선택하는 선택부;상기 펄스 위치들 및 상기 경로들을 저장하는 메모리부; 및상기 메모리부에 저장된 상기 펄스 위치들 및 상기 경로들을 기초로 상기 신호와 가장 일치하는 펄스 위치 정보 및 경로 정보를 출력하는 출력부;를 포함하는 것을 특징으로 하는 코드북 탐색 장치.
- 제 18 항에 있어서,상기 트렐리스 구조는, 제 1 스테이지에 제 1 펄스 위치 집합이 할당되어 있고, 제 2 스테이지에 제 2 펄스 위치 집합이 할당되어 있으며, 상기 제 1 스테이지의 각 브랜치에 상기 제 1 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있고, 상기 제 2 스테이지의 각 브랜치에 상기 제 2 펄스 위치 집합을 분할한 펄스 위치 집합이 할당되어 있는 것을 특징으로 하는 코드북 탐색 장치.
- 제 1 항 내지 제 17 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200680025725XA CN101223580B (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 | 用于搜索码本的方法和设备 |
CN2012100316039A CN102592603A (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 KR20070008413A (ko) | 2007-01-17 |
KR100813260B1 true 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) | CN102568490A (ko) |
WO (1) | WO2007027005A1 (ko) |
Families Citing this family (3)
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 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602961A (en) | 1994-05-31 | 1997-02-11 | Alaris, Inc. | Method and apparatus for speech compression using multi-mode code excited linear predictive coding |
US5701392A (en) | 1990-02-23 | 1997-12-23 | Universite De Sherbrooke | Depth-first algebraic-codebook search for fast coding of speech |
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 |
KR20010076622A (ko) * | 2000-01-27 | 2001-08-16 | 오길록 | 씨이엘피형 보코더의 코드북 검색 방법 |
KR20030092921A (ko) * | 2002-05-31 | 2003-12-06 | 주식회사 현대시스콤 | 음성 시스템에서 코드북 인덱스 탐색 방법 |
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 |
KR20040041716A (ko) * | 2002-11-11 | 2004-05-20 | 한국전자통신연구원 | 대수 코드북을 이용하는 켈프 보코더의 코드북 검색방법 |
KR20040044411A (ko) * | 2001-06-06 | 2004-05-28 | 콸콤 인코포레이티드 | 코드북 벡터 검색에 대한 메모리 요건들을 감소시키는방법 및 장치 |
KR20040083903A (ko) * | 2003-03-25 | 2004-10-06 | 한국전자통신연구원 | 전역 펄스 교체를 통한 고정 코드북 검색 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659659A (en) * | 1993-07-26 | 1997-08-19 | Alaris, Inc. | Speech compressor using trellis encoding and linear prediction |
US6263312B1 (en) * | 1997-10-03 | 2001-07-17 | Alaris, Inc. | Audio compression and decompression employing subband decomposition of residual signal and distortion reduction |
SE9802990L (sv) * | 1998-09-04 | 2000-03-05 | Ericsson Telefon Ab L M | Förfarande och system för taligenkänning |
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 |
KR100486732B1 (ko) * | 2003-02-19 | 2005-05-03 | 삼성전자주식회사 | 블럭제한된 트렐리스 부호화 양자화방법과 음성부호화시스템에있어서 이를 채용한 라인스펙트럼주파수 계수양자화방법 및 장치 |
CN1240050C (zh) * | 2003-12-03 | 2006-02-01 | 北京首信股份有限公司 | 一种用于语音编码的固定码本快速搜索方法 |
-
2006
- 2006-07-11 KR KR1020060064723A patent/KR100813260B1/ko not_active IP Right Cessation
- 2006-07-13 WO PCT/KR2006/002761 patent/WO2007027005A1/en active Application Filing
- 2006-07-13 CN CN2012100315835A patent/CN102568490A/zh active Pending
- 2006-07-13 CN CN200680025725XA patent/CN101223580B/zh not_active Expired - Fee Related
- 2006-07-13 CN CN2012100316039A patent/CN102592603A/zh active Pending
- 2006-07-13 US US11/457,251 patent/US8560306B2/en not_active Expired - Fee Related
-
2013
- 2013-09-06 US US14/020,139 patent/US8805681B2/en active Active
Patent Citations (9)
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 |
US5602961A (en) | 1994-05-31 | 1997-02-11 | Alaris, Inc. | Method and apparatus for speech compression using multi-mode code excited linear predictive coding |
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 |
KR20010076622A (ko) * | 2000-01-27 | 2001-08-16 | 오길록 | 씨이엘피형 보코더의 코드북 검색 방법 |
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 |
KR20040044411A (ko) * | 2001-06-06 | 2004-05-28 | 콸콤 인코포레이티드 | 코드북 벡터 검색에 대한 메모리 요건들을 감소시키는방법 및 장치 |
KR20030092921A (ko) * | 2002-05-31 | 2003-12-06 | 주식회사 현대시스콤 | 음성 시스템에서 코드북 인덱스 탐색 방법 |
KR20040041716A (ko) * | 2002-11-11 | 2004-05-20 | 한국전자통신연구원 | 대수 코드북을 이용하는 켈프 보코더의 코드북 검색방법 |
KR20040083903A (ko) * | 2003-03-25 | 2004-10-06 | 한국전자통신연구원 | 전역 펄스 교체를 통한 고정 코드북 검색 방법 |
Non-Patent Citations (6)
Title |
---|
10-2004-0041716 |
10-2004-0044411 |
10-2004-0083903 |
벡터양자화를 위한 고속 탐색 알고리듬에 관한 연구, 한국음향학회지 22(4) pp.293-298, 2003 |
특2001-0076622 |
특2003-0092921 |
Also Published As
Publication number | Publication date |
---|---|
CN101223580A (zh) | 2008-07-16 |
WO2007027005A1 (en) | 2007-03-08 |
US20140006023A1 (en) | 2014-01-02 |
US8560306B2 (en) | 2013-10-15 |
US20070016410A1 (en) | 2007-01-18 |
CN101223580B (zh) | 2012-04-18 |
US8805681B2 (en) | 2014-08-12 |
KR20070008413A (ko) | 2007-01-17 |
CN102568490A (zh) | 2012-07-11 |
CN102592603A (zh) | 2012-07-18 |
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) | 音声パラメータ符号化方法 | |
US6662154B2 (en) | Method and system for information signal coding using combinatorial and huffman codes | |
KR101370017B1 (ko) | Celp 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩 | |
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) | 코드북 탐색 방법 및 장치 | |
US7318024B2 (en) | Method of converting codes between speech coding and decoding systems, and device and program therefor | |
Lee et al. | Global pulse replacement method for fixedcodebook search of ACELP speech codec | |
KR20040043278A (ko) | 음성 부호화기 및 이를 이용한 음성 부호화 방법 | |
KR100319924B1 (ko) | 음성 부호화시에 대수코드북에서의 대수코드 탐색방법 | |
Byun et al. | A fast ACELP codebook search method | |
CN103366752A (zh) | 生成用于编码信息信号的候选码矢的方法和设备 | |
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 | |
EP0753841B1 (en) | Speech parameter encoding method capable of transmitting a spectrum parameter at a reduced number of bits | |
KR20010084468A (ko) | 음성 부호화기의 lsp 양자화기를 위한 고속 탐색 방법 | |
Jun et al. | Designing algebraic trellis code as a new fixed codebook module for ACELP coder | |
KR20010095909A (ko) | 에이켈프 음성 압축기의 코드북 검색 장치 및 방법 | |
Chen et al. | Switching search method for pulse assignment in ITU-T G. 729D |
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 |