KR101058760B1 - 스피치 신호와 연관된 패킷에 식별자를 포함시키는 시스템 및 방법 - Google Patents
스피치 신호와 연관된 패킷에 식별자를 포함시키는 시스템 및 방법 Download PDFInfo
- Publication number
- KR101058760B1 KR101058760B1 KR1020097004320A KR20097004320A KR101058760B1 KR 101058760 B1 KR101058760 B1 KR 101058760B1 KR 1020097004320 A KR1020097004320 A KR 1020097004320A KR 20097004320 A KR20097004320 A KR 20097004320A KR 101058760 B1 KR101058760 B1 KR 101058760B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- packet
- highband
- narrowband
- speech
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 123
- 238000004891 communication Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 19
- 238000012856 packing Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims 2
- 230000005284 excitation Effects 0.000 description 186
- 230000003595 spectral effect Effects 0.000 description 98
- 238000010586 diagram Methods 0.000 description 62
- 230000006870 function Effects 0.000 description 55
- 238000001228 spectrum Methods 0.000 description 38
- 238000004458 analytical method Methods 0.000 description 33
- 238000005070 sampling Methods 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 21
- 230000003044 adaptive effect Effects 0.000 description 19
- 238000003786 synthesis reaction Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 17
- 230000015572 biosynthetic process Effects 0.000 description 17
- 238000010606 normalization Methods 0.000 description 17
- 230000004044 response Effects 0.000 description 17
- 239000013598 vector Substances 0.000 description 16
- 230000007774 longterm Effects 0.000 description 14
- 230000002087 whitening effect Effects 0.000 description 13
- 238000005259 measurement Methods 0.000 description 11
- 238000013139 quantization Methods 0.000 description 11
- 230000007704 transition Effects 0.000 description 11
- 238000001914 filtration Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000001052 transient effect Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000009499 grossing Methods 0.000 description 5
- 230000000737 periodic effect Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000012952 Resampling Methods 0.000 description 3
- 238000005311 autocorrelation function Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008054 signal transmission Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000010183 spectrum analysis Methods 0.000 description 2
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000010200 validation analysis 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/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/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- 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
-
- 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/16—Vocoder architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
스피치 신호와 연관된 패킷에 식별자를 포함시키는 방법이 개시된다. 신호가 수신된다. 신호가 복수의 프레임들로 분할된다. 신호의 프레임은 패킷으로 인코딩된다. 패킷이 광대역 패킷 또는 협대역 패킷으로서 인코딩되는지의 결정이 이루어진다. 결정에 기초하여, 식별자가 패킷에 패킹된다. 패킷이 송신된다. 적어도 2개의 위법값들이 N 비트 파라미터로부터 제공되며, N 비트 파라미터로부터의 적어도 하나의 비트는 정보를 반송하기 위해 사용된다. 정보를 반송하기 위해 사용되는 N 비트 파라미터로부터의 비트의 수는 log2(X) 와 동일하며, X는 N 비트 파라미터로부터 제공된 위법값들의 수이다.
스피치 신호, 식별자, 유성음, 무성음
Description
35 U.S.C.§119에 따른 우선권 주장
본원은, 발명의 명칭이 "SPECIAL HALF-RATE INDENTIFIER PACKET GENERATION AND DECODING" 이고, 2006년 7월 31일자로 출원되었으며, 본원의 양수인에게 양도되어 있고 본원에 참조로 명백히 통합되어 있는, 가출원 제 60/834,617 호에 대해 우선권을 주장한다.
기술분야
본 시스템들 및 방법들은 일반적으로 스피치 프로세싱 기술에 관한 것이다. 더 구체적으로, 본 시스템들 및 방법들은 스피치 신호와 연관된 패킷에 식별자를 포함시키는 것에 관한 것이다.
배경기술
디지털 기술에 의한 음성 송신은 광범위하게 보급되어 왔으며, 특히 장거리 및 디지털 무선 전화 애플리케이션들에서 광범위하게 보급되어 왔다. 이어서, 이는, 복원된 스피치의 지각 품질을 유지하면서 채널을 통해 전송될 수 있는 정보의 최소량을 결정하는데 관심을 가져왔다. 텔레커뮤니케이션의 다수의 분야에서 스피치를 압축하는 디바이스의 유용함이 발견되었다. 텔레커뮤니케이션의 예는 무선 통신이다. 무선 통신의 분야는, 예컨대 무선 전화기, 페이저, 무선 로컬 루프, 셀룰러 및 포터블 통신 시스템 (portable communication system; PCS) 전화 시스템과 같은 무선 전화 통신, 모바일 인터넷 프로토콜 (IP) 전화 통신, 및 위성 통신 시스템을 포함하는 다수의 애플리케이션들을 갖는다. 특히 중요한 애플리케이션은 이동 가입자들에 대한 무선 전화 통신이다.
도면의 간단한 설명
도 1a는 일 구성에 따른 광대역 스피치 인코더 (A100) 의 블록도를 도시한다.
도 1b는 광대역 스피치 인코더 (A100) 의 일 구현 (A102) 의 블록도를 도시한다.
도 2a는 일 구성에 따른 광대역 스피치 디코더 (B100) 의 블록도를 도시한다.
도 2b는 광대역 스피치 인코더 (B100) 의 일 구현 (B102) 의 블록도를 도시한다.
도 3a는 필터 뱅크 (A110) 의 일 구현 (A112) 의 블록도를 도시한다.
도 3b는 필터 뱅크 (B120) 의 일 구현 (B122) 의 블록도를 도시한다.
도 4a는 필터 뱅크 (A110) 의 일 예에 대한 저대역 및 고대역의 대역폭 커버리지를 도시한다.
도 4b는 필터 뱅크 (A110) 의 다른 예에 대한 저대역 및 고대역의 대역폭 커버리지를 도시한다.
도 4c는 필터 뱅크 (A112) 의 일 구현 (A114) 의 블록도를 도시한다.
도 4d는 필터 뱅크 (B122) 의 일 구현 (B124) 의 블록도를 도시한다.
도 5a는 스피치 신호에 대한 주파수 대 로그 진폭의 플롯의 일 예를 도시한다.
도 5b는 기본 선형 예측 코딩 시스템의 블록도를 도시한다.
도 6은 협대역 인코더 (A120) 의 일 구현 (A122) 의 블록도를 도시한다.
도 7은 협대역 디코더 (B110) 의 일 구현 (B112) 의 블록도를 도시한다.
도 8a는 유성 스피치에 대한 잔여 신호에 대한 주파수 대 로그 진폭의 플롯의 일 예를 도시한다.
도 8b는 유성 스피치에 대한 잔여 신호에 대한 시간 대 로그 진폭의 플롯의 일 예를 도시한다.
도 9는 장기간 예측을 또한 수행하는 기본 선형 예측 코딩 시스템의 블록도를 도시한다.
도 10은 고대역 인코더 (A200) 의 일 구현 (A202) 의 블록도를 도시한다.
도 11은 고대역 여기 생성기 (A300) 의 일 구현 (A302) 의 블록도를 도시한다.
도 12는 스펙트럼 확장기 (A400) 의 일 구현 (A402) 의 블록도를 도시한다.
도 12a는 스펙트럼 확장 동작의 일 예에서 다양한 포인트들에서의 신호 스펙트럼들의 플롯들을 도시한다.
도 12b는 스펙트럼 확장 동작의 다른 예에서 다양한 포인트들에서의 신호 스 펙트럼들의 플롯들을 도시한다.
도 13은 고대역 여기 생성기 (A302) 의 일 구현 (A304) 의 블록도를 도시한다.
도 14는 고대역 여기 생성기 (A302) 의 일 구현 (A306) 의 블록도를 도시한다.
도 15는 엔벨로프 계산 태스크 (T100) 에 대한 흐름도를 도시한다.
도 16은 결합기 (490) 의 일 구현 (492) 의 블록도를 도시한다.
도 17은 고대역 신호 (S30) 의 주기성의 측정을 계산하기 위한 접근법을 예시한다.
도 18은 고대역 여기 생성기 (A302) 의 일 구현 (A312) 의 블록도를 도시한다.
도 19는 고대역 여기 생성기 (A302) 의 일 구현 (A314) 의 블록도를 도시한다.
도 20은 고대역 여기 생성기 (A302) 의 일 구현 (A316) 의 블록도를 도시한다.
도 21은 이득 계산 태스크 (T200) 에 대한 흐름도를 도시한다.
도 22는 이득 계산 태스크 (T200) 의 일 구현 (T210) 에 대한 흐름도를 도시한다.
도 23a는 윈도우 함수의 도면을 도시한다.
도 23b는 스피치 신호의 서브프레임들에 대한 도 23a에 도시된 윈도우 함수 의 적용을 도시한다.
도 24는 고대역 디코더 (B200) 의 일 구현 (B202) 에 대한 블록도를 도시한다.
도 25는 광대역 스피치 인코더 (A100) 의 일 구현 (AD10) 의 블록도를 도시한다.
도 26a는 지연 라인 (D120) 의 일 구현 (D122) 의 개략도를 도시한다.
도 26b는 지연 라인 (D120) 의 일 구현 (D124) 의 개략도를 도시한다.
도 27은 지연 라인 (D120) 의 일 구현 (D130) 의 개략도를 도시한다.
도 28은 광대역 스피치 인코더 (AD10) 의 일 구현 (AD12) 의 블록도를 도시한다.
도 29는 일 구성에 따른 신호 프로세싱 방법 (MD100) 의 흐름도를 도시한다.
도 30은 일 구성에 따른 방법 (M100) 에 대한 흐름도를 도시한다.
도 31a는 일 구성에 따른 방법 (M200) 에 대한 흐름도를 도시한다.
도 31b은 방법 (M200) 의 일 구현 (M210) 에 대한 흐름도를 도시한다.
도 32는 일 구성에 따른 방법 (M300) 에 대한 흐름도를 도시한다.
도 33은 무선 통신 시스템의 일 구성을 예시한다.
도 34는 신호 송신 환경의 일 구성을 예시하는 블록도이다.
도 35는 스피치 신호와 연관된 패킷에 식별자를 포함시키는 방법의 일 구성을 예시하는 흐름도이다.
도 36은 패킷을 디코딩하는 방법의 일 구성을 예시하는 흐름도이다.
도 37은 멀티 모드 디코더와 통신하는 멀티 모드 인코더의 일 구성을 예시하는 블록도이다.
도 38은 가변 레이트 스피치 코딩 방법의 일 구성을 예시하는 흐름도이다.
도 39는 정규 협대역 1/2 레이트 패킷 및 광대역 1/2 레이트 패킷의 일 구성을 예시하는 블록도이다.
도 40은 다양한 타입의 패킷들에 할당된 비트의 수를 예시하는 차트이다.
도 41은 통신 디바이스의 일 구성 내의 일정 컴포넌트들의 블록도이다.
상세한 설명
스피치 신호와 연관된 패킷에 식별자를 포함시키는 방법이 설명된다. 신호가 수신된다. 신호가 복수의 프레임들로 분할된다. 신호의 프레임이 패킷으로 인코딩된다. 패킷이 광대역 패킷 또는 협대역 패킷으로서 인코딩되는지의 결정이 이루어진다. 결정에 기초하여, 패킷에 식별자가 패킹된다. 패킷이 송신된다. N 비트 파라미터로부터 적어도 2개의 위법값 (illegal value) 들이 제공되며, 여기서 N 비트 파라미터로부터의 적어도 하나의 비트는 정보를 반송하기 위해 사용된다. 정보를 반송하기 위해 사용되는, N 비트 파라미터로부터의 비트의 수는 log2(X) 와 동일하며, 여기서 X는 N 비트 파라미터로부터 제공되는 위법값들의 수이다.
스피치 신호와 연관된 패킷에 식별자를 포함시키는 장치가 또한 설명된다. 장치는 프로세서 및 그 프로세서와 전자 통신하는 메모리를 포함한다. 명령 들이 메모리에 저장된다. 명령들은, 신호를 수신하고; 신호를 복수의 프레임들로 분할하고; 신호의 프레임을 패킷으로 인코딩하고; 패킷이 광대역 패킷으로서 인코딩되는지 또는 협대역 패킷으로서 인코딩되는지를 결정하고; 결정에 기초하여, 패킷에 식별자를 패킹하며; 패킷을 송신하도록 실행가능하다.
스피치 신호와 연관된 패킷에 식별자를 포함시키도록 구성된 시스템이 또한 설명된다. 시스템은 프로세싱하는 수단 및 신호를 수신하는 수단을 포함한다. 신호를 복수의 프레임들로 분할하는 수단 및 신호의 프레임을 패킷으로 인코딩하는 수단이 설명된다. 패킷이 광대역 패킷으로서 인코딩되는지 또는 협대역 패킷으로서 인코딩되는지를 결정하는 수단이 설명된다. 결정에 기초하여, 패킷에 식별자를 패킹하는 수단 및 패킷을 송신하는 수단이 설명된다.
컴퓨터 판독가능 매체가 또한 설명된다. 매체는, 신호를 수신하고; 신호를 복수의 프레임들로 분할하고; 신호의 프레임을 패킷으로 인코딩하고; 패킷이 광대역 패킷으로서 인코딩되는지 또는 협대역 패킷으로서 인코딩되는지를 결정하고; 결정에 기초하여, 패킷에 식별자를 패킹하며; 패킷을 송신하도록 실행가능한 명령들의 세트를 저장하도록 구성된다.
패킷을 디코딩하는 방법이 또한 설명된다. 패킷이 수신된다. 패킷에 포함된 식별자가 분석된다. 패킷이 광대역 코더 또는 협대역 코더에 의해 인코딩되었는지의 결정이 이루어진다. 결정에 기초하여, 패킷에 대한 디코딩 모드가 선택된다.
패킷을 디코딩하는 장치가 또한 설명된다. 장치는 프로세서 및 그 프로 세서와 전자 통신하는 메모리를 포함한다. 명령들이 메모리에 저장된다. 명령들은, 패킷을 수신하고; 패킷에 포함된 식별자를 분석하고; 패킷이 광대역 코더에 의해 인코딩되었는지 또는 협대역 코더에 의해 인코딩되었는지를 결정하며; 결정에 기초하여, 패킷에 대한 디코딩 모드를 선택하도록 실행가능하다.
패킷을 디코딩하도록 구성된 시스템이 또한 설명된다. 시스템은 프로세싱하는 수단 및 패킷을 수신하는 수단을 포함한다. 패킷에 포함된 식별자를 분석하는 수단 및 패킷이 광대역 코더에 의해 인코딩되었는지 또는 협대역 코더에 의해 인코딩되었는지를 결정하는 수단이 설명된다. 결정에 기초하여, 패킷에 대한 디코딩 모드를 선택하는 수단이 설명된다.
컴퓨터 판독가능 매체가 또한 설명된다. 매체는, 패킷을 수신하고; 패킷에 포함된 식별자를 분석하고; 패킷이 광대역 코더에 의해 인코딩되었는지 또는 협대역 코더에 의해 인코딩되었는지를 결정하며; 결정에 기초하여, 패킷에 대한 디코딩 모드를 선택하도록 실행가능한 명령들의 세트를 저장하도록 구성된다.
시스템들 및 방법들의 다양한 구성들이 도면들을 참조하여 이제 설명되며, 도면에서 유사한 참조 번호들은 동일하거나 또는 기능적으로 유사한 엘리먼트들을 표시한다. 본원에서 일반적으로 설명되고 도면들로 예시되는 본 시스템들 및 방법들의 특징들은 광범위하게 다양한 상이한 구성들로 배열되고 설계될 수도 있다. 따라서, 이하의 상세한 설명은 주장되는 본 시스템들 및 방법들의 범위를 제한하도록 의도된 것이 아니라, 본 시스템들 및 방법들의 구성들의 표본일 뿐이다.
본원에 개시된 구성들의 다수의 특징들은 컴퓨터 소프트웨어, 전자 하드웨어, 또는 이들의 조합들로서 구현될 수도 있다. 하드웨어와 소프트웨어의 상호 교환성을 명료히 예시하기 위해, 다양한 컴포넌트들이 그 기능성의 관점에서 일반적으로 설명될 것이다. 그러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지는, 특정한 애플리케이션 및 전체 시스템에 부과된 설계 제약들에 의존한다. 당업자는, 설명된 기능성을 각각의 특정한 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 시스템들 및 방법들의 범위로부터의 이탈을 야기하는 것으로서 해석되지 않아야 한다.
설명된 기능성이 컴퓨터 소프트웨어로서 구현되는 경우에, 그러한 소프트웨어는, 메모리 디바이스 내에 위치되고 및/또는 시스템 버스 또는 네트워크를 통해 전자 신호들로서 송신되는, 임의의 타입의 컴퓨터 명령 또는 컴퓨터 실행가능 코드를 포함할 수도 있다. 본원에 설명된 컴포넌트들과 연관된 기능성을 구현하는 소프트웨어는 단일 명령 또는 다수의 명령들을 포함할 수도 있고, 수개의 상이한 코드 세그먼트들에 걸쳐서 분포될 수도 있고, 상이한 프로그램들 사이에 분포될 수도 있으며, 수개의 메모리 디바이스들에 걸쳐 분포될 수도 있다.
본원에서 사용되는 바와 같이, 용어 "일 구성", "구성", "구성들", "그 구성", "그 구성들", "하나 이상의 구성들", "몇몇 구성들", "일정 구성들", "하나의 구성", "다른 구성" 등은 달리 명백히 특정되지 않은 한, "개시된 시스템들 및 방법들의 (전부일 필요는 없는) 하나 이상의 구성들" 을 의미한다.
용어 "결정" (및 그 문법적 변형) 은 최광의 의미로 사용된다. 용어 "결 정" 은 광범위한 다양한 행동들을 포함하며, 따라서 "결정" 은, 계산, 컴퓨팅, 프로세싱, 도출, 조사, 검색 (예컨대 테이블, 데이터베이스, 또는 다른 데이터 구조에서 검색), 확인 등을 포함할 수 있다. 또한, "결정" 은, 수신 (예컨대 정보 수신), 액세스 (예컨대 메모리 내의 데이터 액세스) 등을 포함할 수 있다. 또한, "결정" 은, 결단, 선택, 고르기, 확립 등을 포함할 수 있다.
어구 "기초하는" 은 달리 명백히 특정되지 않은 한 "오직 기초하는" 을 의미하지 않는다. 즉, 어구 "기초하는" 은 "오직 기초하는" 과 "적어도 기초하는" 양자 모두를 설명한다.
셀룰러 네트워크는 고정 송신기에 의해 각각 서빙되는 다수의 셀들로 이루어진 무선 네트워크를 포함할 수도 있다. 이들 다수의 송신기들은 셀 사이트 또는 기지국이라 지칭될 수도 있다. 셀은 통신 채널을 통해 기지국에 스피치 신호를 송신함으로써, 네트워크 내의 다른 셀들과 통신할 수도 있다. 셀은 스피치 신호를 다수의 프레임들 (예컨대 스피치 신호의 20 밀리초 (ms)) 로 나눌 수도 있다. 각각의 프레임은 패킷으로 인코딩될 수도 있다. 패킷은, 통신 채널을 통해 수신 기지국 또는 수신 셀에 송신될 일정량의 비트를 포함할 수도 있다. 수신 기지국 또는 수신 셀은 패킷을 언패킹 (unpack) 하고 다양한 프레임들을 디코딩하여 신호를 복원할 수도 있다.
패킷들은 풀 레이트 (full-rate) 패킷 (171 비트), 1/2 레이트 (half-rate) 패킷 (80 비트), 1/4 레이트 (quarter-rate) 패킷 (40 비트), 또는 1/8 레이트 (eighth-rate) 패킷 (16 비트) 으로서 인코딩될 수도 있다. 또한, 패킷들은 협 대역 코더 또는 광대역 코더를 이용하여 인코딩될 수도 있다. 광대역 코더에 의해 인코딩된 패킷들은 풀 레이트 패킷, 1/2 레이트 패킷, 또는 1/8 레이트 패킷으로서 인코딩될 수도 있다. 협대역 코더에 의해 인코딩된 패킷들은 풀 레이트 패킷, 1/2 레이트 패킷, 1/4 레이트 패킷, 또는 1/8 레이트 패킷으로서 인코딩될 수도 있다. 광대역 코더들은, 코드 여기 선형 예측 (code excited linear prediction; CELP) 패킷들 및 잡음 여기 선형 예측 (noise-excited linear prediction; NELP) 패킷들을 포함하는 다양한 타입의 패킷들에 대해 구현될 수도 있다. 협대역 코더들은, CELP 패킷들, 프로토타입 피치 기간 (prototype pitch period; PPP) 패킷들, 및 NELP 패킷들에 대해 구현될 수도 있다.
패킷을 인코딩한 후에, 패킷이 광대역 코더에 의해 인코딩되었는지 또는 협대역 코더에 의해 인코딩되었는지를 디코더에 표시하기 위해, 패킷에 식별자가 포함될 수도 있다. 식별자에 포함된 정보는, 패킷이 광대역 디코더 또는 협대역 디코더를 사용하여 디코딩되어야 하는지를 디코더에 표시할 수도 있다. 예컨대, 4세대 보코더 (4GV) 광대역 (WB) 코더는 1/2 레이트 (80 비트) 패킷을 인코딩할 수도 있다. 패킷은 패킷들의 보다 많은 타입들을 식별하기 위한 명시적 비트를 가지고 있지 않을 수도 있다. 따라서, 7 비트 피치 래그를 포함하는 무효 비트 패턴이 73 비트 (또는 미만) 를 포함하는 하나 이상의 패킷들을 식별하기 위해 사용될 수도 있다. 그러나, 4GV-WB 1/2 레이트 패킷은 74 비트를 필요로 할 수도 있고, 따라서 4GV-WB 1/2 레이트 패킷에 대해 7 비트 피치 래그 식별자를 이용하는 것이 가능하지 않을 수도 있다 (본 예에서 1/2 레이트에 이용가능한 비트의 총 수는 80이기 때문이다). 일 양태에서, 4GV-WB 1/2 레이트 패킷을 식별하기 위해, 7 비트 피치 래그 식별자의 1 비트가 서로 상이한 2개의 무효 패턴들이 사용될 수도 있다. (7 비트 중) 6 비트가 식별자로서 사용되어, 4GV-WB 1/2 레이트 패킷에 의해, 73 비트에 추가하여 사용되도록 1개의 상이한 비트를 자유롭게 하여, 4GV-WB 1/2 레이트 패킷에 대한 74 비트를 산출할 수도 있다.
본원에서 설명된 구성들은, 약 800 내지 1000 bps (초 당 비트) 의 대역폭 증가에서의 광대역 스피치 신호들의 송신 및/또는 저장을 지원하기 위해 협대역 스피치 코더에 대한 확장을 제공하도록 구성될 수도 있는 시스템들, 방법들, 및 장치들을 포함한다. 이러한 구현들의 잠재적인 이점들은, 협대역 시스템들과의 호환성을 지원하기 위한 임베딩된 코딩, 협대역 코딩 채널과 고대역 코딩 채널 사이에서 비교적 용이한 비트의 할당 및 재할당, 계산 집중적인 광대역 합성 동작의 회피, 및 계산 집중적인 파형 코딩 루틴들에 의해 프로세싱될 신호들에 대한 낮은 샘플링 레이트 유지를 포함한다.
본원에서 용어 "계산하는" 은 그 맥락에 의해 명백히 제한되지 않는 한, 컴퓨팅, 생성, 및 값들의 리스트로부터의 선택과 같은, 임의의 그 평상의 의미를 표시하기 위해 사용된다. 본 상세한 설명 및 청구의 범위에서 용어 "포함하는" 이 사용되는 경우에, 다른 엘리먼트들 또는 동작들을 배제하는 것이 아니다. 용어 "A가 B에 기초한다" 는 (i) 경우 "A는 B와 동일하다" 및 (ii) 경우 "A는 적어도 B에 기초한다" 를 포함하여, 임의의 그 평상의 의미를 표시하기 위해 사용된다. 용어 "인터넷 프로토콜" 은 IETF (Internet Engineering Task Force) RFC (Request for Comments) 791에 설명된 버전 4, 및 버전 6과 같은 후속 버전들을 포함한다.
도 1a는 일 구성에 따른 광대역 스피치 인코더 (A100) 의 블록도를 도시한다. 필터 뱅크 (A110) 는 광대역 스피치 신호 (S10) 를 필터링하여, 협대역 신호 (S20) 및 고대역 신호 (S30) 를 생성하도록 구성된다. 협대역 인코더 (A120) 는 협대역 신호 (S20) 를 인코딩하여, 협대역 (NB) 필터 파라미터들 (S40) 및 협대역 잔여 신호 (S50) 를 생성하도록 구성된다. 본원에서 더 상세히 설명되는 바와 같이, 협대역 인코더 (A120) 는 통상적으로, 코드북 인덱스들로서 또는 다른 양자화된 형태로 협대역 필터 파라미터들 (S40) 및 인코딩된 협대역 여기 신호 (S50) 를 생성하도록 구성된다. 고대역 인코더 (A200) 는, 인코딩된 협대역 여기 신호 (S50) 내의 정보에 따라 고대역 신호 (S30) 를 인코딩하여, 고대역 코딩 파라미터들 (S60) 을 생성하도록 구성된다. 본원에서 더 상세히 설명되는 바와 같이, 고대역 인코더 (A200) 는 통상적으로, 코드북 인덱스들로서 또는 다른 양자화된 형태로 고대역 코딩 파라미터들 (S60) 을 생성하도록 구성된다. 광대역 스피치 인코더 (A100) 의 하나의 특정한 예는, 협대역 필터 파라미터들 (S40) 및 인코딩된 협대역 여기 신호 (S50) 에 대해 약 7.55 kbps (초 당 킬로비트) 가 사용되고 고대역 코딩 파라미터들 (S60) 에 대해 1 kbps가 사용되는 약 8.55 kbps의 레이트로 광대역 스피치 신호 (S10) 를 인코딩하도록 구성된다.
인코딩된 협대역 및 고대역 신호들을 단일 비트스트림으로 결합하는 것이 바람직할 수도 있다. 예컨대, 인코딩된 광대역 스피치 신호로서 (예컨대 유선, 광학, 또는 무선 송신 채널을 통한) 송신을 위해 또는 저장을 위해, 인코딩된 신호들을 함께 다중화하는 것이 바람직할 수도 있다. 도 1b는, 협대역 필터 파라미터들 (S40), 인코딩된 협대역 여기 신호 (S50), 및 고대역 필터 파라미터들 (S60) 을 다중화된 신호 (S70) 로 결합하도록 구성된 다중화기 (A130) 를 포함하는 광대역 스피치 인코더 (A100) 의 일 구현 (A102) 의 블록도를 도시한다.
인코더 (A102) 를 포함하는 장치는 또한, 다중화된 신호 (S70) 를 유선, 광학, 또는 무선 채널과 같은 송신 채널로 송신하도록 구성된 회로를 포함할 수도 있다. 이러한 장치는 또한, 에러 정정 인코딩 (예컨대 레이트 호환가능 컨볼루션 인코딩 (rate-compatible convolutional encoding)) 및/또는 에러 검출 인코딩 (예컨대 순환 잉여 인코딩 (cyclic redundancy encoding)) 과 같은, 신호에 대한 하나 이상의 채널 인코딩 동작들, 및/또는 네트워크 프로토콜 인코딩의 하나 이상의 레이어들 (예컨대 이더넷, TCP/IP, cdma2000) 을 수행하도록 구성될 수도 있다.
다중화기 (A130) 가 다중화된 신호 (S70) 의 분리가능한 서브스트림으로서 (협대역 필터 파라미터들 (S40) 및 인코딩된 협대역 여기 신호 (S50) 를 포함하는) 인코딩된 협대역 신호를 임베딩하도록 구성되어, 인코딩된 협대역 신호가 고대역 및/또는 저대역 신호와 같은, 다중화된 신호 (S70) 의 다른 부분과 독립적으로 복원 및 디코딩될 수도 있도록 하는 것이 바람직할 수도 있다. 예컨대, 고대역 필터 파라미터들 (S60) 을 제거함으로써 인코딩된 협대역 신호가 복원될 수도 있도록, 다중화된 신호 (S70) 가 배열될 수도 있다. 이러한 특징의 하나의 잠재적인 이점은, 협대역 신호의 디코딩을 지원하지만 고대역 부분의 디코딩을 지원하지 않는 시스템에 인코딩된 광대역 신호를 전달하기 전에 인코딩된 광대역 신호를 트랜스코딩할 필요성을 회피하는 것이다.
도 2a는 일 구성에 따른 광대역 스피치 디코더 (B100) 의 블록도이다. 협대역 디코더 (B110) 는 협대역 필터 파라미터들 (S40) 및 인코딩된 협대역 여기 신호 (S50) 를 디코딩하여, 협대역 신호 (S90) 를 생성하도록 구성된다. 고대역 디코더 (B200) 는 인코딩된 협대역 여기 신호 (S50) 에 기초하여, 협대역 여기 신호 (S80) 에 따라 고대역 코딩 파라미터들 (S60) 을 디코딩하여, 고대역 신호 (S100) 를 생성하도록 구성된다. 본 예에서, 협대역 디코더 (B110) 는 고대역 디코더 (B200) 에 협대역 여기 신호 (S80) 를 제공하도록 구성된다. 필터 뱅크 (B120) 는 협대역 신호 (S90) 및 고대역 신호 (S100) 를 결합하여, 광대역 스피치 신호 (S110) 를 생성하도록 구성된다.
도 2b는, 다중화된 신호 (S70) 로부터 인코딩된 신호들 (S40, S50, 및 S60) 을 생성하도록 구성된 역다중화기 (B130) 를 포함하는 광대역 스피치 디코더 (B100) 의 일 구현 (B102) 의 블록도이다. 장치는, 유선, 광학, 또는 무선 채널과 같은 송신 채널로부터 다중화된 신호 (S70) 를 수신하도록 구성된 회로를 포함할 수도 있다. 이러한 장치는 또한, 에러 정정 디코딩 (예컨대 레이트 호환가능 컨볼루션 디코딩) 및/또는 에러 검출 디코딩 (예컨대 순환 잉여 디코딩) 과 같은, 신호에 대한 하나 이상의 채널 디코딩 동작들, 및/또는 네트워크 프로토콜 디코딩의 하나 이상의 레이어들 (예컨대 이더넷, TCP/IP, cdma2000) 을 수행하도록 구성될 수도 있다.
필터 뱅크 (A110) 는 대역 분리 (split-band) 기법에 따라 입력 신호를 필터링하여, 저주파수 부대역 및 고주파수 부대역을 생성하도록 구성된다. 특정한 애플리케이션에 대한 설계 기준에 따라, 출력 부대역들은 동일하거나 또는 동일하지 않은 대역폭들을 가질 수도 있고, 중첩하거나 또는 중첩하지 않을 수도 있다. 또한, 3개 이상의 부대역들을 생성하는 필터 뱅크 (A110) 의 구성이 가능하다. 예컨대, 그러한 필터 뱅크는, (50 내지 300 Hz 의 범위와 같은) 협대역 신호 (S20) 의 주파수 범위를 하회하는 주파수 범위 내의 컴포넌트들을 포함하는 하나 이상의 저대역 신호들을 생성하도록 구성될 수도 있다. 또한, 그러한 필터 뱅크가, (14 내지 20, 16 내지 20, 또는 16 내지 32 kHz 의 범위와 같은) 고대역 신호 (S30) 의 주파수 범위를 상회하는 주파수 범위 내의 컴포넌트들을 포함하는 하나 이상의 추가적인 고대역 신호들을 생성하도록 구성되는 것이 가능하다. 이러한 경우에, 광대역 스피치 인코더 (A100) 는 그 신호 또는 신호들을 개별적으로 인코딩하도록 구현될 수도 있고, 다중화기 (A130) 는 추가적인 인코딩된 신호 또는 신호들을 (예컨대 개별 부분으로서) 다중화된 신호 (S70) 에 포함시키도록 구성될 수도 있다.
도 3a는, 감소된 샘플링 레이트들을 갖는 2개의 부대역 신호들을 생성하도록 구성된 필터 뱅크 (A110) 의 일 구현 (A112) 의 블록도를 도시한다. 필터 뱅크 (A110) 는 고주파수 (또는 고대역) 부분 및 저주파수 (또는 저대역) 부분을 갖는 광대역 스피치 신호 (S10) 를 수신하도록 배열된다. 필터 뱅크 (A112) 는, 광대역 스피치 신호 (S10) 를 수신하고 협대역 스피치 신호 (S20) 를 생성하도록 구 성된 저대역 프로세싱 경로, 및 광대역 스피치 신호 (S10) 를 수신하고 고대역 스피치 신호 (S30) 를 생성하도록 구성된 고대역 프로세싱 경로를 포함한다. 저역통과 필터 (110) 는 광대역 스피치 신호 (S10) 를 필터링하여 선택된 저주파수 부대역을 통과시키고, 고역통과 필터 (130) 는 광대역 스피치 신호 (S10) 를 필터링하여 선택된 고주파수 부대역을 통과시킨다. 부대역 신호들 양자 모두가 광대역 스피치 신호 (S10) 보다 더 협소한 대역폭들을 갖기 때문에, 그 부대역 신호들의 샘플링 레이트들은 정보의 손실 없이 다소 감소될 수 있다. 다운샘플러 (120) 는, (예컨대 신호의 샘플들을 제거하고 및/또는 샘플들을 평균값들로 대체함으로써) 소망되는 데시메이션 인자에 따라 저역통과 신호의 샘플링 레이트를 감소시키고, 유사하게 다운샘플러 (140) 는 다른 소망되는 데시메이션 인자에 따라 고역통과 신호의 샘플링 레이트를 감소시킨다.
도 3b는 필터 뱅크 (B120) 의 대응하는 구현 (B122) 의 블록도를 도시한다. 업샘플러 (150) 는, (예컨대 제로 스터핑 (zero-stuffing) 에 의해서 및/또는 샘플들을 듀플리케이팅 (duplicate) 함으로써) 협대역 신호 (S90) 의 샘플링 레이트를 증가시키고, 저역통과 필터 (160) 는 (에일리어싱 (aliasing) 을 방지하기 위해) 업샘플링된 신호를 필터링하여 저대역 부분을 통과시킨다. 마찬가지로, 업샘플러 (170) 는 고대역 신호 (S100) 의 샘플링 레이트를 증가시키고, 고역통과 필터 (180) 는 업샘플링된 신호를 필터링하여 고대역 부분을 통과시킨다. 그 후, 2개의 대역통과 신호들은 합산되어 광대역 스피치 신호 (S110) 를 형성한다. 디코더 (B100) 의 몇몇 구현에서, 필터 뱅크 (B120) 는, 고대역 디코더 (B200) 에 의해 수신 및/또는 계산된 하나 이상의 가중치들에 따라, 2개의 대역 통과 신호들의 가중화된 합을 생성하도록 구성된다. 또한, 3개 이상의 대역통과 신호들을 결합하는 필터 뱅크 (B120) 의 일 구현이 고려된다.
필터들 (110, 130, 160, 180) 의 각각은 유한 임펄스 응답 (finite-impulse-response; FIR) 필터 또는 무한 임펄스 응답 (infinite-impulse-response; IIR) 필터로서 구현될 수도 있다. 인코더 필터들 (110 및 130) 의 주파수 응답들은 저지대역과 통과대역 사이에서 대칭 또는 유사하지 않은 형상의 천이 영역들을 가질 수도 있다. 마찬가지로, 디코더 필터들 (160 및 180) 의 주파수 응답들은 저지대역과 통과대역 사이에서 대칭 또는 유사하지 않은 형상의 천이 영역들을 가질 수도 있다. 저역통과 필터 (110) 가 저역통과 필터 (160) 와 동일한 응답을 가지고, 고역통과 필터 (130) 가 고역통과 필터 (180) 와 동일한 응답을 갖는 것이 바람직할 수도 있다. 일 예에서, 2개의 필터 쌍들 ((110, 130) 및 (160, 180)) 은, 필터 쌍 (110, 130) 이 필터 쌍 (160, 180) 과 동일한 계수들을 갖는, QMF (quadrature mirror filter) 뱅크들이다.
통상적인 예에서, 저역통과 필터 (110) 는 300 내지 3400 Hz의 제한된 PSTN 범위 (예컨대 0 내지 4 kHz의 대역) 를 포함하는 통과대역을 갖는다. 도 4a 및 도 4b는 2개의 상이한 구현 예들에서, 광대역 스피치 신호 (S10), 협대역 신호 (S20), 및 고대역 신호 (S30) 의 상대적인 대역폭들을 도시한다. 이들 특정한 예들 양자 모두에서, 광대역 스피치 신호 (S10) 는 (0 내지 8 kHz의 범위 내의 주파수 컴포넌트들을 표현하는) 16 kHz의 샘플링 레이트를 가지고, 협대역 신호 (S20) 는 (0 내지 4 kHz의 범위 내의 주파수 컴포넌트들을 표현하는) 8 kHz의 샘플링 레이트를 갖는다.
도 4a의 예에서, 2개의 부대역들 사이에 상당한 중첩은 존재하지 않는다. 본 예에서 도시된 고대역 신호 (S30) 는 4 내지 8 kHz의 통과대역을 갖는 고역통과 필터 (130) 를 사용하여 획득될 수도 있다. 이러한 경우에, 필터링된 신호를 2 배 만큼 다운샘플링함으로써 샘플링 레이트를 8 kHz로 감소시키는 것이 바람직할 수도 있다. 신호에 대한 후속 프로세싱 동작의 계산적인 복잡성을 상당히 감소시키리라 예상될 수도 있는 이러한 동작은, 정보의 손실 없이, 통과대역 에너지를 0 내지 4 kHz의 범위로 낮출 것이다.
도 4b의 다른 예에서, 상위 및 하위 부대역들이 분명한 중첩을 가지고 있어서, 부대역 신호들 양자 모두에 의해 3.5 내지 4 kHz의 영역이 묘사된다. 본 예에서와 같은 고대역 신호 (S30) 는 3.5 내지 7 kHz의 통과대역을 갖는 고역통과 필터 (130) 를 사용하여 획득될 수도 있다. 이러한 경우에, 필터링된 신호를 16/7 배 만큼 다운샘플링함으로써 샘플링 레이트를 7 kHz로 감소시키는 것이 바람직할 수도 있다. 신호에 대한 후속 프로세싱 동작들의 계산적인 복잡성을 상당히 감소시키리라 예상될 수도 있는 이러한 동작은, 정보의 손실 없이, 통과대역 에너지를 0 내지 3.5 kHz로 낮출 것이다.
전화 통신을 위한 통상적인 핸드세트에서, 트랜스듀서들 중 하나 이상 (즉, 마이크로폰 및 이어폰 또는 라우드스피커) 은 7 내지 8 kHz의 주파수 범위에 걸쳐 분명한 응답이 없다. 도 4b의 예에서, 7 내지 8 kHz 사이의 광대역 스피치 신 호 (S10) 의 부분은 인코딩된 신호에 포함되지 않는다. 고역통과 필터 (130) 의 다른 특정한 예들은 3.5 내지 7.5 kHz 및 3.5 내지 8 kHz의 통과 대역들을 갖는다.
몇몇 구현들에서, 도 4b의 예에서와 같이 부대역들 사이에 중첩을 제공하는 것은, 중첩된 영역에 걸쳐 평활한 롤오프 (smooth rolloff) 를 갖는 저역통과 및/또는 고역통과 필터의 사용을 허용한다. 통상적으로, 이러한 필터들은, 보다 첨예한 (sharp) 또는 "브릭월 (brick-wall)" 응답들을 갖는 필터들보다, 설계하기에 더 용이하고, 계산적으로 덜 복잡하고, 및/또는 더 적은 지연을 도입한다. 첨예한 천이 영역들을 갖는 필터들은, 평활한 롤오프들을 갖는 유사한 차수의 필터들보다 (에일리어싱을 야기할 수도 있는) 더 높은 부엽 (sidelobe) 들을 가지려는 경향이 있다. 또한, 첨예한 천이 영역들을 갖는 필터들은 링잉 아티팩트 (ringing artifact) 를 야기할 수도 있는 긴 임펄스 응답들을 가질 수도 있다. 하나 이상의 IIR 필터들을 갖는 필터 뱅크 구현들에 대해, 중첩된 영역에 걸쳐 평활한 롤오프를 허용하는 것은, 극점들이 단위원으로부터 멀리 떨어져 있는 필터 또는 필터들을 사용 가능하게 할 수도 있고, 이는 안정한 고정점 구현을 보장하는데 중요할 수도 있다.
부대역들의 중첩은, 보다 적은 가청 아티팩트들, 감소된 에일리어싱, 및/또는 하나의 대역으로부터 다른 대역으로의 덜 현저한 천이를 초래할 수도 있는 저대역 및 고대역의 평활한 블렌딩 (blending) 을 허용한다. 또한, 협대역 인코더 (A120) (예컨대 파형 코더) 의 코딩 효율이 주파수가 증가함에 따라 떨어질 수도 있다. 예컨대, 협대역 코더의 코딩 품질은 배경 잡음의 존재 시에 특히, 낮은 비트 레이트들로 감소될 수도 있다. 이러한 경우들에서, 부대역들의 중첩을 제공하는 것은 중첩된 영역에서 재생성되는 주파수 컴포넌트들의 품질을 증가시킬 수도 있다.
또한, 부대역들의 중첩은, 보다 적은 가청 아티팩트들, 감소된 에일리어싱, 및/또는 하나의 대역으로부터 다른 대역으로의 덜 현저한 천이를 초래할 수도 있는 저대역 및 고대역의 평활한 블렌딩을 허용한다. 이러한 특징은, 협대역 인코더 (A120) 및 고대역 인코더 (A200) 가 상이한 코딩 방법들에 따라 동작하는 구현에 대해 특히 바람직할 수도 있다. 예컨대, 상이한 코딩 기술들은 상당히 상이한 음을 내는 신호들을 생성할 수도 있다. 코드북 인덱스들의 형태로 스펙트럼 엔벨로프를 인코딩하는 코더는, 진폭 스펙트럼을 대신 인코딩하는 코더와 상이한 음을 갖는 신호를 생성할 수도 있다. 시간 도메인 코더 (예컨대 펄스 코드 변조 또는 PCM 코더) 는, 주파수 도메인 코더와 상이한 음을 갖는 신호를 생성할 수도 있다. 스펙트럼 엔벨로프의 표현을 갖는 신호 및 대응하는 잔여 신호를 인코딩하는 코더는, 스펙트럼 엔벨로프의 표현을 갖는 신호를 인코딩하는 코더와 상이한 음을 갖는 신호를 생성할 수도 있다. 신호의 파형의 표현으로서 신호를 인코딩하는 코더는, 정현파 코더로부터의 음과 상이한 음을 갖는 출력을 생성할 수도 있다. 이러한 경우들에서, 중첩되지 않은 부대역들을 정의하기 위해 첨예한 천이 영역들을 갖는 필터들을 사용하는 것은, 합성된 광대역 신호 내의 부대역들 사이에서 급격하며 지각적으로 현저한 천이를 초래할 수도 있다.
상호 보완적인 중첩하는 주파수 응답들을 갖는 QMF 필터 뱅크들이 부대역 기술들에서 종종 사용되지만, 이러한 필터들은 본원에서 설명되는 광대역 코딩 구현들의 적어도 일부에 적합하지 않다. 인코더에서의 QMF 필터 뱅크는 상당한 정도의 에일리어싱을 생성하도록 구성되며, 이는 디코더에서의 대응하는 QMF 필터 뱅크에서 소거된다. 그러한 배열은, 왜곡이 에일리어스 소거 특성의 효율을 감소시킬 수도 있으므로, 신호가 필터 뱅크들 사이에서 상당한 양의 왜곡을 초래하는 애플리케이션에 대해 적절하지 않을 수도 있다. 예컨대, 본원에서 설명되는 애플리케이션들은 매우 낮은 비트 레이트들에서 동작하도록 구성된 코딩 구현들을 포함한다. 매우 낮은 비트 레이트의 결과로서, 디코딩된 신호가 원래의 신호와 비교하여 상당히 왜곡되어 나타나서, QMF 필터 뱅크들의 사용은 소거되지 않은 에일리어싱을 초래할 수도 있다. 통상적으로, QMF 필터 뱅크들을 사용하는 애플리케이션들은 보다 높은 비트 레이트들 (예컨대 AMR에 대해 12 kbps 이상, 및 G.722에 대해 64 kbps) 을 갖는다.
또한, 코더는, 원래의 신호와 지각적으로 유사하지만 실제로는 원래의 신호와 상당히 상이한 합성된 신호를 생성하도록 구성될 수도 있다. 예컨대, 본원에서 설명된 바와 같은 협대역 잔여로부터 고대역 여기를 도출하는 코더는 실제 고대역 잔여가 디코딩된 신호에서 완전히 부재 (absent) 할 수도 있는 신호를 생성할 수도 있다. 이러한 애플리케이션들에서 QMF 필터 뱅크들을 사용하는 것은 소거되지 않은 에일리어싱에 의해 야기되는 상당한 양의 왜곡을 초래할 수도 있다.
에일리어싱의 영향이 부대역의 폭과 동일한 대역폭으로 제한되므로, 영향을 받는 부대역이 협소한 경우에, QMF 에일리어싱에 의해 야기되는 왜곡의 양은 감소될 수도 있다. 그러나, 각각의 부대역이 광대역 대역폭의 약 1/2을 포함하는 본원에서 설명된 예들에 대해, 소거되지 않은 에일리어싱에 의해 야기되는 왜곡은 신호의 상당한 부분에 영향을 미친다. 또한, 신호의 품질은, 소거되지 않은 에일리어싱이 발생하는 주파수 대역의 위치에 의해 영향을 받을 수도 있다. 예컨대, 광대역 스피치 신호의 중심 근처 (3 내지 4 kHz 사이) 에서 생성되는 왜곡은, 신호의 에지 근처 (예컨대 6 kHz 보다 높음) 에서 발생하는 왜곡보다 훨씬 더 불량할 수도 있다.
QMF 필터 뱅크의 필터들의 응답들은 서로 엄격하게 관련되지만, 필터 뱅크들 (A110 및 B120) 의 저대역 및 고대역 경로들은 2개의 부대역들의 중첩을 제외하고는 완전히 관련되지 않는 스펙트럼들을 갖도록 구성될 수도 있다. 고대역 필터의 주파수 응답이 -20 dB로 떨어지는 포인트로부터 저대역 필터의 주파수 응답이 -20 dB로 떨어지는 포인트까지의 거리로서 2개의 부대역들의 중첩을 정의한다. 필터 뱅크 (A110 및/또는 B120) 의 다양한 예들에서, 이러한 중첩은 약 200 Hz 내지 약 1 kHz의 범위를 갖는다. 약 400 내지 600 Hz의 범위는 코딩 효율과 지각적인 평활도 사이의 바람직한 트레이드오프를 표현할 수도 있다. 상술된 바와 같은 일 특정한 예에서, 중첩은 약 500 Hz이다.
수개의 스테이지들에서 도 4a 및 도 4b에서 예시된 동작들을 수행하도록 필터 뱅크 (A112 및/또는 B122) 를 구현하는 것이 바람직할 수도 있다. 예컨대, 도 4c는, 일련의 보간, 리샘플링, 데시메이션, 및 다른 동작들을 사용하여, 고역통 과 필터링 및 다운샘플링 동작들의 동일한 기능을 수행하는 필터 뱅크 (A112) 의 일 구현 (A114) 의 블록도를 도시한다. 이러한 구현은 설계하기에 보다 용이할 수도 있고, 및/또는 로직 및/또는 코드의 기능적인 블록들의 재사용을 허용할 수도 있다. 예컨대, 동일한 기능적인 블록이 도 4c에서 도시된 14 kHz로 데시메이션 및 7 kHz로 데시메이션의 동작들을 수행하기 위해 사용될 수도 있다. 스펙트럼 반전 동작은, 값들이 +1 과 -1 사이에서 교호하는, 함수 ejnπ 또는 시퀀스 (-1)n과 신호를 곱함으로써 구현될 수도 있다. 스펙트럼 정형 동작은, 소망되는 전체 필터 응답을 획득하도록 신호를 정형하도록 구성된 저역통과 필터로서 구현될 수도 있다.
스펙트럼 반전 동작의 결과로서, 고대역 신호 (S30) 의 스펙트럼이 반전된다는 것을 주의한다. 인코더 및 대응하는 디코더에서의 후속 동작들이 그에 따라 구성될 수도 있다. 예컨대, 본원에서 설명된 고대역 여기 생성기 (A300) 는, 스펙트럼 반전 형태를 또한 갖는 고대역 여기 신호 (S120) 를 생성하도록 구성될 수도 있다.
도 4d는, 일련의 보간, 리샘플링, 및 다른 동작들을 사용하여, 업샘플링 및 고역통과 필터링 동작들의 동일한 기능을 수행하는 필터 뱅크 (B122) 의 일 구현 (B124) 의 블록도를 도시한다. 필터 뱅크 (B124) 는, 예컨대 필터 뱅크 (A114) 와 같은 인코더의 필터 뱅크에서 수행되는 동작과 유사한 동작을 반전시킨, 고대역에서의 스펙트럼 반전 동작을 포함한다. 본 특정한 예에서, 필터 뱅크 (B124) 는 저대역 및 고대역에서, 신호의 컴포넌트를 7100 Hz로 감쇠시키는 노치 필터들을 또한 포함하지만, 이러한 필터들은 선택적이고 반드시 포함될 필요는 없다.
협대역 인코더 (A120) 는, (A) 필터를 묘사하는 파라미터들의 세트 및 (B) 입력 스피치 신호의 합성된 재생을 생성하기 위해 묘사된 필터를 구동시키는 여기 신호로서, 입력 스피치 신호를 인코딩하는 소스 필터 모델 (source-filter model) 에 따라 구현된다. 도 5a는 스피치 신호의 스펙트럼 엔벨로프의 예를 도시한다. 이러한 스펙트럼 엔벨로프를 특성화하는 피크들은 성도 (vocal tract) 의 공명들을 표현하고, 포먼트 (formant) 라 호칭된다. 대부분의 스피치 코더들은 필터 계수들과 같은 파라미터들의 세트로서 적어도 이러한 코오스 (coarse) 스펙트럼 구조를 인코딩한다.
도 5b는, 협대역 신호 (S20) 의 스펙트럼 엔벨로프의 코딩에 적용되는 기본 소스 필터 배열의 예를 도시한다. 분석 모듈은, 기간 (통상적으로 20 msec) 에 걸쳐 스피치 음에 대응하는 필터를 특성화하는 파라미터들의 세트를 계산한다. 그 필터 파라미터들에 따라 구성된 백색화 필터 (또는 분석 또는 예측 에러 필터라 호칭됨) 는 스펙트럼 엔벨로프를 제거하여 신호를 스펙트럼 평탄화한다. 결과의 백색화된 신호 (또는 잔여라 호칭됨) 는 원래의 스피치 신호보다 더 적은 에너지를 갖고, 따라서 더 적은 분산을 가지며, 인코딩하기에 더 용이하다. 또한, 잔여 신호의 코딩으로부터 초래한 에러들이 스펙트럼에 걸쳐 더 고르게 확산될 수도 있다. 통상적으로, 필터 파라미터들 및 잔여는 채널을 통한 효율적인 송신을 위해 양자화된다. 디코더에서, 필터 파라미터들에 따라 구성된 합성 필터는 잔여에 기초한 신호에 의해 여기되어, 원래의 스피치 음의 합성된 버전을 생성한다. 통상적으로, 합성 필터는, 백색화 필터의 전달 함수의 역인 전달 함수를 갖도록 구성된다.
도 6은 협대역 인코더 (A120) 의 기본 구현 (A122) 의 블록도를 도시한다. 본 예에서, 선형 예측 코딩 (LPC) 분석 모듈 (210) 은, 협대역 신호 (S20) 의 스펙트럼 엔벨로프를 선형 예측 (LP) 계수들 (예컨대 전극점 필터 1/A(z)의 계수들) 의 세트로서 인코딩한다. 통상적으로, 분석 모듈은, 각각의 프레임에 대해 계수들의 새로운 세트가 계산되며 입력 신호를 일련의 중첩하지 않는 프레임들로서 프로세싱한다. 일반적으로, 프레임 기간은 신호가 국부적으로 정상 (locally stationary) 이라고 예상될 수도 있는 기간이며; 일 예는 20 밀리초 (8 kHz의 샘플링 레이트에서 160 샘플들과 동일) 이다. 일 예에서, LPC 분석 모듈 (210) 은, 각각의 20 밀리초 프레임의 포먼트 구조를 특성화하기 위해 10개의 LP 필터 계수들의 세트를 계산하도록 구성된다. 또한, 입력 신호를 일련의 중첩하는 프레임들로서 프로세싱하도록 분석 모듈을 구현하는 것이 가능하다.
분석 모듈은, 각각의 프레임의 샘플들을 곧바로 분석하도록 구현될 수도 있거나, 또는 먼저 샘플들이 윈도우 함수 (windowing function) (예컨대 해밍 윈도우) 에 따라 가중화될 수도 있다. 또한, 30 msec 윈도우와 같은, 프레임보다 더 큰 윈도우에 걸쳐 분석이 수행될 수도 있다. 이 윈도우는 대칭 (예컨대 20 밀리초 프레임 전후 직전에 5 밀리초를 포함하도록 5-20-5) 또는 비대칭 (예컨대 선행 프레임의 최종 10 밀리초를 포함하도록 10-20) 일 수도 있다. 통상적으 로, LPC 분석 모듈은, 레빈슨-더빈 순환 (Levinson-Durbin recursion) 또는 레룩스-궤겐 알고리즘 (Leroux-Gueguen algorithm) 을 사용하여 LP 필터 계수들을 계산하도록 구성된다. 다른 구현에서, 분석 모듈은 LP 필터 계수들의 세트 대신에 각각의 프레임에 대해 켑스트럼 (cepstral) 계수들의 세트를 계산하도록 구성될 수도 있다.
인코더 (A120) 의 출력 레이트는, 필터 파라미터들을 양자화함으로써, 재생 품질에 비교적 적은 영향을 미치며, 상당히 감소될 수도 있다. 선형 예측 필터 계수들은 효율적으로 양자화하기에 어렵고, 일반적으로 양자화 및/또는 엔트로피 인코딩을 위해, 라인 스펙트럼 쌍 (line spectral pair; LSP) 또는 라인 스펙트럼 주파수 (line spectral frequency; LSF) 와 같은 다른 표현으로 매핑된다. 도 6의 예에서, LP 필터 계수 대 LSF 변환 (220) 은 LP 필터 계수들의 세트를 LSF들의 대응하는 세트로 변환한다. LP 필터 계수들의 다른 1 대 1 표현들은, GSM (Global System for Mobile Communications) AMR-WB (Adaptive Multirate-Wideband) 코덱에 사용되는, 파코 (parcor) 계수들; 로그 면적비 (log-area-ratio) 값들; 이미턴스 스펙트럼 쌍 (immittance spectral pair; ISP); 및 이미턴스 스펙트럼 주파수 (immittance spectral frequency; ISF) 를 포함한다. 통상적으로, LP 필터 계수들의 세트와 LSF들의 대응하는 세트 사이의 변환은 가역적이지만, 구성들은 변환이 에러 없이 가역적이지 않은 인코더 (A120) 의 구현들을 또한 포함한다.
양자화기 (230) 는 LSF들 (또는 다른 계수 표현) 의 세트를 양자화하도록 구 성되고, 협대역 인코더 (A122) 는 그 양자화의 결과를 협대역 필터 파라미터들 (S40) 로서 출력하도록 구성된다. 통상적으로, 그러한 양자화기는 테이블 또는 코드북 내의 대응하는 벡터 엔트리에 대한 인덱스로서 입력 벡터를 인코딩한다.
도 6에서 보이는 바와 같이, 협대역 인코더 (A122) 는 또한, 협대역 신호 (S20) 를 필터 계수들의 세트에 따라 구성된 백색화 필터 (260) (또한 분석 또는 예측 에러 필터라 호칭됨) 에 통과시킴으로써, 잔여 신호를 생성한다. 본 특정한 예에서, 백색화 필터 (260) 는 FIR 필터로서 구현되지만, IIR 구현들도 또한 사용될 수도 있다. 통상적으로, 이러한 잔여 신호는, 협대역 필터 파라미터들 (S40) 에서 표현되지 않는, 피치에 관한 장기간 구조와 같은, 스피치 프레임의 지각적으로 중요한 정보를 포함할 것이다. 양자화기 (270) 는 인코딩된 협대역 여기 신호 (S50) 로서 출력을 위해 그 잔여 신호의 양자화된 표현을 계산하도록 구성된다. 통상적으로, 그러한 양자화기는, 테이블 또는 코드북 내의 대응하는 벡터 엔트리에 대한 인덱스로서 입력 벡터를 인코딩하는 벡터 양자화기를 포함한다. 다른 방법으로, 그러한 양자화기는 하나 이상의 파라미터들을 전송하도록 구성될 수도 있고, 희소 코드북 방법 (sparse codebook method) 에서와 같이, 저장 장치로부터 검색되기 보다 디코더에서 그 하나 이상의 파라미터들로부터 벡터가 동적으로 생성될 수도 있다. 그러한 방법은 대수 CELP (codebook excitation linear prediction) 와 같은 코딩 기법들 및 3GPP2 (Third Generation Partnership 2) EVRC (Enhanced Variable Rate Codec) 와 같은 코덱들에서 사용된다.
협대역 인코더 (A120) 가 대응하는 협대역 디코더에 이용가능할 동일한 필터 파라미터 값들에 따라, 인코딩된 협대역 여기 신호를 생성하는 것이 바람직하다. 이러한 방법에서, 결과의 인코딩된 협대역 여기 신호는, 양자화 에러와 같은, 그 파라미터 값들의 비이상성 (nonideality) 을 이미 다소 고려할 수도 있다. 따라서, 디코더에서 이용가능할 동일한 계수 값들을 사용하여 백색화 필터를 구성하도록 하는 것이 바람직하다. 도 6에 도시된 인코더 (A122) 의 기본 예에서, 역양자화기 (240) 는 협대역 코딩 파라미터들 (S40) 을 역양자화하고, LSF 대 LP 필터 계수 변환 (250) 은 결과의 값들을 LP 필터 계수들의 대응하는 세트로 돌아가게 매핑하며, 양자화기 (270) 에 의해 양자화된 잔여 신호를 생성하도록 백색화 필터 (260) 를 구성하기 위해 계수들의 그 세트가 사용된다.
협대역 인코더 (A120) 의 몇몇 구현들은, 잔여 신호에 가장 양호하게 매칭하는, 코드북 벡터들의 세트 중 하나를 식별함으로써, 인코딩된 협대역 여기 신호 (S50) 를 계산하도록 구성된다. 그러나, 협대역 인코더 (A120) 는 또한, 실제로 잔여 신호를 생성하지 않고, 잔여 신호의 양자화된 표현을 계산하도록 구현될 수도 있다는 것을 주의한다. 예컨대, 협대역 인코더 (A120) 는, 다수의 코드북 벡터들을 사용하여, (예컨대 필터 파라미터들의 현재의 세트에 따라) 대응하는 합성된 신호들을 생성하고, 지각적으로 가중화된 도메인에서 원래의 협대역 신호 (S20) 에 가장 양호하게 매칭하는 생성된 신호와 연관된 코드 벡터를 선택하도록 구성될 수도 있다.
도 7은 협대역 디코더 (B110) 의 일 구현 (B112) 의 블록도를 도시한다. (예컨대, 협대역 인코더 (A122) 의 역양자화기 (240) 및 변환 (250) 을 참조하여 상술된 바와 같이) 역양자화기 (310) 는 협대역 필터 파라미터들 (S40) (이 경우에 LSF들의 세트) 을 역양자화하고, LSF 대 LP 필터 계수 변환 (320) 은 LSF들을 필터 계수들의 세트로 변환한다. 역양자화기 (340) 는 협대역 잔여 신호 (S50) 를 역양자화하여, 협대역 여기 신호 (S80) 를 생성한다. 필터 계수들 및 협대역 여기 신호 (S80) 에 기초하여, 협대역 합성 필터 (330) 는 협대역 신호 (S90) 를 합성한다. 즉, 협대역 합성 필터 (330) 는, 역양자화된 필터 계수들에 따라 협대역 여기 신호 (S80) 를 스펙트럼 정형하여, 협대역 신호 (S90) 를 생성하도록 구성된다. 또한, 협대역 디코더 (B112) 는 협대역 여기 신호 (S80) 를 고대역 인코더 (A200) 에 제공하고, 본원에서 설명된 바와 같이, 고대역 인코더 (A200) 는 협대역 여기 신호 (S80) 를 사용하여 고대역 여기 신호 (S120) 를 도출한다. 이하 설명되는 몇몇 구현들에서, 협대역 디코더 (B110) 는, 스펙트럼 틸트 (tilt), 피치 이득 및 래그, 및 스피치 모드와 같은, 협대역 신호에 관한 추가적인 정보를 고대역 디코더 (B200) 에 제공하도록 구성될 수도 있다.
협대역 인코더 (A122) 및 협대역 디코더 (B112) 의 시스템은 합성에 의한 분석 (analysis-by-synthesis) 스피치 코덱의 기본적인 예이다. 코드북 여기 선형 예측 (codebook excitation linear prediction; CELP) 코딩은 합성에 의한 분석 코딩의 하나의 대중적인 계열이고, 그러한 코더들의 구현들은, 고정형 및 적응형 코드북들로부터의 엔트리들의 선택, 에러 최소화 동작들, 및/또는 지각적인 가중화 동작들과 같은 동작들을 포함하여, 잔여의 파형 인코딩을 수행할 수도 있다. 합성에 의한 분석 코딩의 다른 구현들은, 혼합 여기 선형 예측 (mixed excitation linear prediction; MELP), 대수 CELP (algebraic CELP; ACELP), 완화 CELP (relaxation CELP; RCELP), 정규 펄스 여기 (regular pulse excitation; RPE), 멀티 펄스 CELP (multi-pulse CELP; MPE), 및 벡터합 여기 선형 예측 (vector-sum excited linear prediction; VSELP) 코딩을 포함한다. 관련된 코딩 방법들은, 다중대역 여기 (multi-band excitation; MBE) 및 프로토타입 파형 보간 (prototype waveform interpolation; PWI) 코딩을 포함한다. 표준화된 합성에 의한 분석 스피치 코덱들의 예들은, 잔여 여기 선형 예측 (residual excited linear prediction; RELP) 을 사용하는 ETSI (European Telecommunications Standards Institute)-GSM 풀 레이트 코덱 (GSM 06.10); GSM 인핸스드 풀 레이트 코덱 (GSM enhanced full rate codec; ETSI-GSM 06.60); ITU (International Telecommunication Union) 표준 11.8 kb/s G.729 Annex E 코더; IS-136 용 IS (Interim Standard)-641 코덱들 (시분할 다중 접속 기법); GSM 적응형 멀티레이트 (GSM adaptive multirate; GSM-AMR) 코덱들; 및 4GVTM (Fourth-Generation Vocoder™) 코덱 (퀄컴 인코포레이티드, 샌디에고, 캘리포니아) 을 포함한다. 협대역 인코더 (A120) 및 대응하는 디코더 (B110) 는 임의의 이들 기술들, 또는 (A) 필터를 묘사하는 파라미터들의 세트 및 (B) 스피치 신호를 재생하도록 묘사된 필터를 구동시키기 위해 사용되는 여기 신호로서, 스피치 신호를 표현하는 (알려져 있거나 또는 개발될) 임의의 다른 스피치 코딩 기술에 따라 구현될 수도 있다.
백색화 필터가 협대역 신호 (S20) 로부터 코오스 스펙트럼 엔벨로프를 제거한 후에도, 특히 유성 (voiced) 스피치에 대해, 파인 고조파 구조 (fine harmonic structure) 의 상당한 양이 잔류할 수도 있다. 도 8a는 모음과 같은 유성 신호에 대한, 백색화 필터에 의해 생성될 수도 있는, 잔여 신호의 일 예의 스펙트럼 플롯을 도시한다. 본 예에서 볼 수 있는 주기적인 구조는 피치에 관련되고, 동일한 스피커에 의해 발성된 상이한 유성음들은 상이한 포먼트 구조들을 갖지만 유사한 피치 구조들을 가질 수도 있다. 도 8b는 피치 펄스들의 시퀀스를 시간으로 나타내는, 그러한 잔여 신호의 예의 시간 도메인 플롯을 도시한다.
하나 이상의 파라미터 값들을 사용하여 피치 구조의 특성들을 인코딩함으로써, 코딩 효율 및/또는 스피치 품질이 증가될 수도 있다. 피치 구조의 하나의 중요한 특성은 제 1 고조파의 주파수 (또는 기본 주파수라 호칭됨) 이며, 이는 통상적으로 60 내지 400 Hz의 범위 내에 존재한다. 통상적으로, 이러한 특성은 피치 래그라 또한 호칭될 수도 있는, 기본 주파수의 역으로서 인코딩된다. 피치 래그는 하나의 피치 기간 내의 샘플들의 수를 표시하고, 하나 이상의 코드북 인덱스들로서 인코딩될 수도 있다. 수스피커 (male speaker) 로부터의 스피치 신호들은 암스피커 (female speaker) 로부터의 스피치 신호들보다 더 큰 피치 래그들을 가지려는 경향이 있다.
피치 구조에 관한 다른 신호 특성은 주기성이며, 이는 고조파 구조의 강도, 즉 신호가 고조파 또는 비고조파인지의 정도를 표시한다. 주기성의 2개의 전형적인 표시자들은 제로 크로싱 (zero crossing) 및 정규화된 자기상관 함수 (normalized autocorrelation functions; NACF) 이다. 또한, 주기성은, 코드북 이득 (예컨대 양자화된 적응형 코드북 이득) 으로서 인코딩된 피치 이득에 의해 표 시될 수도 있다.
협대역 인코더 (A120) 는, 협대역 신호 (S20) 의 장기간 고조파 구조를 인코딩하도록 구성된 하나 이상의 모듈들을 포함할 수도 있다. 도 9에 도시된 바와 같이, 사용될 수도 있는 하나의 전형적인 CELP 패러다임은, 단기간 특성들 또는 코오스 스펙트럼 엔벨로프를 인코딩하는 개루프 LPC 분석 모듈, 및 이어서 파인 피치 또는 고조파 구조를 인코딩하는 폐루프 장기간 예측 분석 스테이지를 포함한다. 단기간 특성들은 필터 계수들로서 인코딩되고, 장기간 특성들은 피치 래그 및 피치 이득과 같은 파라미터들에 대한 값들로서 인코딩된다. 예컨대, 협대역 인코더 (A120) 는, 하나 이상의 코드북 인덱스들 (예컨대, 고정형 코드북 인덱스 및 적응형 코드북 인덱스) 및 대응하는 이득 값들을 포함하는 형태로 인코딩된 협대역 여기 신호 (S50) 를 출력하도록 구성될 수도 있다. (예컨대, 양자화기 (270) 에 의한) 협대역 잔여 신호의 이러한 양자화된 표현의 계산은 그러한 인덱스들을 선택하고 그러한 값들을 계산하는 것을 포함할 수도 있다. 또한, 피치 구조의 인코딩은 피치 프로토타입 파형의 보간을 포함할 수도 있고, 이 동작은 연속하는 피치 펄스들 사이의 차이를 계산하는 것을 포함할 수도 있다. 장기간 구조의 모델링은, 통상적으로 잡음형 및 비구조적인 무성 (unvoiced) 스피치에 대응하는 프레임들에 대해 가능하지 않게 될 수도 있다.
도 9에 도시된 패러다임에 따른 협대역 디코더 (B110) 의 일 구현은, 장기간 구조 (피치 또는 고조파 구조) 가 복원된 후에, 고대역 디코더 (B200) 에 협대역 여기 신호 (S80) 를 출력하도록 구성될 수도 있다. 예컨대, 그러한 디코더는, 인코딩된 협대역 여기 신호 (S50) 의 역양자화된 버전으로서 협대역 여기 신호 (S80) 를 출력하도록 구성될 수도 있다. 물론, 고대역 디코더 (B200) 가 인코딩된 협대역 여기 신호 (S50) 의 역양자화를 수행하여 협대역 여기 신호 (S80) 를 획득하도록 협대역 디코더 (B110) 를 구현하는 것이 또한 가능하다.
도 9에 도시된 패러다임에 따른 광대역 스피치 인코더 (A100) 의 일 구현에서, 고대역 인코더 (A200) 는, 단기간 분석 또는 백색화 필터에 의해 생성된 협대역 여기 신호를 수신하도록 구성될 수도 있다. 즉, 협대역 인코더 (A120) 는 장기간 구조를 인코딩하기 전에, 고대역 인코더 (A200) 에 협대역 여기 신호를 출력하도록 구성될 수도 있다. 그러나, 고대역 인코더 (A200) 가 고대역 디코더 (B200) 에 의해 수신될 동일한 코딩 정보를 협대역 채널로부터 수신하여, 고대역 인코더 (A200) 에 의해 생성된 코딩 파라미터들이 그 정보의 비이상성을 이미 다소 고려할 수도 있도록 하는 것이 바람직하다. 따라서, 고대역 인코더 (A200) 가 광대역 스피치 인코더 (A100) 에 의해 출력될 동일한 파라미터화된 및/또는 양자화된 인코딩된 협대역 여기 신호 (S50) 로부터 협대역 여기 신호 (S80) 를 복원하는 것이 바람직할 수도 있다. 이러한 접근법의 하나의 잠재적인 이점은, 이하 설명되는 고대역 이득 인자들 (S60b) 의 보다 정확한 계산이다.
협대역 신호 (S20) 의 단기간 및/또는 장기간 구조를 특성화하는 파라미터들에 추가로, 협대역 인코더 (A120) 는 협대역 신호 (S20) 의 다른 특성들에 관한 파라미터 값들을 생성할 수도 있다. 광대역 스피치 인코더 (A100) 에 의한 출력을 위해 적합하게 양자화될 수도 있는 이들 값들은 협대역 필터 파라미터들 (S40) 사이에 포함될 수도 있거나, 또는 개별적으로 출력될 수도 있다. 또한, 고대역 인코더 (A200) 는 (예컨대, 역양자화 이후에) 하나 이상의 이들 추가적인 파라미터들에 따라 고대역 코딩 파라미터들 (S60) 을 계산하도록 구성될 수도 있다. 광대역 스피치 디코더 (B100) 에서, 고대역 디코더 (B200) 는 (예컨대, 역양자화 이후에) 협대역 디코더 (B110) 를 통해 파라미터 값들을 수신하도록 구성될 수도 있다. 다른 방법으로, 고대역 디코더 (B200) 는 파라미터 값들을 직접 수신하도록 (및 역양자화할 수도 있도록) 구성될 수도 있다.
추가적인 협대역 코딩 파라미터들의 일 예에서, 협대역 인코더 (A120) 는 각각의 프레임에 대해 스펙트럼 틸트 및 스피치 모드 파라미터들에 대한 값들을 생성한다. 스펙트럼 틸트는 통과대역에 걸친 스펙트럼 엔벨로프의 형상에 관련되고, 양자화된 제 1 반사 계수에 의해 통상적으로 표현된다. 대부분의 유성음들에 대해, 스펙트럼 에너지는 주파수가 증가함에 따라 감소하여, 제 1 반사 계수가 음이고 -1에 접근할 수도 있다. 대부분의 무성음들은, 평탄한 스펙트럼을 가져서 제 1 반사 계수가 0에 근접하도록 하거나, 또는 고주파수들에서 보다 많은 에너지를 갖는 스펙트럼을 가져서 제 1 반사 계수가 양이고 +1에 접근할 수도 있다.
스피치 모드 (또한 음성 모드라 호칭됨) 는 현재의 프레임이 유성 스피치 또는 무성 스피치를 표현하는지를 표시한다. 이러한 파라미터는, 주기성의 하나 이상의 측정들 (예컨대, 제로 크로싱, NACF, 피치 이득) 및/또는 그러한 측정과 임계값 사이의 관계와 같은, 프레임에 대한 음성 활동에 기초하여 2진 값을 가질 수도 있다. 다른 구현들에서, 스피치 모드 파라미터는, 묵음 또는 배경 잡음, 또 는 묵음과 유성 스피치 사이의 천이와 같은 모드들을 표시하기 위해 하나 이상의 다른 상태들을 갖는다.
고대역 인코더 (A200) 는 소스 필터 모델에 따라 고대역 신호 (S30) 를 인코딩하도록 구성되며, 그 필터에 대한 여기는 인코딩된 협대역 여기 신호에 기초한다. 도 10은, 고대역 필터 파라미터들 (S60a) 및 고대역 이득 인자들 (S60b) 을 포함하는 고대역 코딩 파라미터들 (S60) 의 스트림을 생성하도록 구성된 고대역 인코더 (A200) 의 일 구현 (A202) 의 블록도를 도시한다. 고대역 여기 생성기 (A300) 는 인코딩된 협대역 여기 신호 (S50) 로부터 고대역 여기 신호 (S120) 를 도출한다. 분석 모듈 (A210) 은 고대역 신호 (S30) 의 스펙트럼 엔벨로프를 특성화하는 파라미터 값들의 세트를 생성한다. 본 특정한 예에서, 분석 모듈 (A210) 은 LPC 분석을 수행하여, 고대역 신호 (S30) 의 각각의 프레임에 대한 LP 필터 계수들의 세트를 생성하도록 구성된다. 선형 예측 필터 계수 대 LSF 변환 (410) 은 LP 필터 계수들의 세트를 LSF들의 대응하는 세트로 변환한다. 분석 모듈 (210) 및 변환 (220) 을 참조하여 상술된 바와 같이, 분석 모듈 (A210) 및/또는 변환 (410) 은 다른 계수 세트들 (예컨대, 켑스트럼 계수들) 및/또는 계수 표현들 (예컨대, ISP들) 을 사용하도록 구성될 수도 있다.
양자화기 (420) 는 고대역 LSF들 (또는 ISP들과 같은 다른 계수 표현) 의 세트를 양자화하도록 구성되고, 고대역 인코더 (A202) 는 이 양자화의 결과를 고대역 필터 파라미터들 (S60a) 로서 출력하도록 구성된다. 통상적으로, 그러한 양자화기는, 테이블 또는 코드북 내의 대응하는 벡터 엔트리에 대한 인덱스로서 입력 벡터를 인코딩하는 벡터 양자화기를 포함한다.
또한, 고대역 인코더 (A202) 는, 고대역 여기 신호 (S120) 및 분석 모듈 (A210) 에 의해 생성된 인코딩된 스펙트럼 엔벨로프 (예컨대, LP 필터 계수들의 세트) 에 따라, 합성된 고대역 신호 (S130) 를 생성하도록 구성된다. 합성 필터 (A220) 가 전형적으로 IIR 필터로서 구현되지만, FIR 구현들도 또한 사용될 수도 있다. 특정한 예에서, 합성 필터 (A220) 는 6차 선형 자기회귀 필터 (sixth-order linear autoregressive filter) 로서 구현된다.
고대역 이득 인자 계산기 (A230) 는, 원래의 고대역 신호 (S30) 와 합성된 고대역 신호 (S130) 의 레벨들 사이의 하나 이상의 차이들을 계산하여, 프레임에 대한 이득 엔벨로프를 특정한다. 테이블 또는 코드북 내의 대응하는 벡터 엔트리에 대한 인덱스로서 입력 벡터를 인코딩하는 벡터 양자화기로서 구현될 수도 있는 양자화기 (430) 는 이득 엔벨로프를 특정하는 값 또는 값들을 양자화하고, 고대역 인코더 (A202) 는 그 양자화의 결과를 고대역 이득 인자들 (S60b) 로서 출력하도록 구성된다.
도 10에 도시된 구현에서, 합성 필터 (A220) 는 분석 모듈 (A210) 로부터 필터 계수들을 수신하도록 배열된다. 고대역 인코더 (A202) 의 다른 구현은, 고대역 필터 파라미터들 (S60a) 로부터의 필터 계수들을 디코딩하도록 구성된 역양자화기 및 역변환을 포함하고, 이러한 경우에, 합성 필터 (A220) 는 그 디코딩된 필터 계수들을 대신 수신하도록 배열된다. 그러한 다른 배열은, 고대역 이득 계산기 (A230) 에 의한 이득 엔벨로프의 보다 정확한 계산을 지원할 수도 있다.
하나의 특정한 예에서, 분석 모듈 (A210) 및 고대역 이득 계산기 (A230) 는 프레임 당 6개의 LSF들의 세트 및 5개의 이득값들의 세트를 각각 출력하여, 협대역 신호 (S20) 의 광대역 확장이 프레임 당 11개의 추가적인 값들로 달성될 수도 있도록 한다. 귀는 고주파수들에서의 주파수 에러들에 덜 민감한 경향이 있어서, 낮은 LPC 차수에서의 고대역 코딩은 보다 높은 LPC 차수에서의 협대역 코딩에 필적하는 지각적인 품질을 갖는 신호를 생성할 수도 있다. 고대역 인코더 (A200) 의 전형적인 구현은, 스펙트럼 엔벨로프의 고품질 복원을 위해 프레임 당 8 내지 12 비트를 출력하고, 시간 엔벨로프의 고품질 복원을 위해 프레임 당 또 다른 8 내지 12 비트를 출력하도록 구성될 수도 있다. 다른 특정한 예에서, 분석 모듈 (A210) 은 프레임 당 8개의 LSF들의 세트를 출력한다.
고대역 인코더 (A200) 의 몇몇 구현들은, 고대역 주파수 컴포넌트들을 갖는 랜덤 잡음 신호를 생성하고, 협대역 신호 (S20), 협대역 여기 신호 (S80), 또는 고대역 신호 (S30) 의 시간 도메인 엔벨로프에 따라 그 잡음 신호를 진폭 변조함으로써, 고대역 여기 신호 (S120) 를 생성하도록 구성된다. 그러나, 그러한 잡음 기반 방법은 무성음들에 대해 적당한 결과들을 생성할 수도 있지만, 잔여들이 일반적으로 고조파이고 그에 따라 다소의 주기적인 구조를 갖는 유성음들에 대해서는 바람직하지 않을 수도 있다.
고대역 여기 생성기 (A300) 는, 협대역 여기 신호 (S80) 의 스펙트럼을 고대역 주파수 범위로 확장함으로써, 고대역 여기 신호 (S120) 를 생성하도록 구성된다. 도 11은 고대역 여기 생성기 (A300) 의 일 구현 (A302) 의 블록도를 도시 한다. 역양자화기 (450) 는, 인코딩된 협대역 여기 신호 (S50) 를 역양자화하여, 협대역 여기 신호 (S80) 를 생성하도록 구성된다. 스펙트럼 확장기 (A400) 는 협대역 여기 신호 (S80) 에 기초하여, 고조파 확장된 신호 (S160) 를 생성하도록 구성된다. 결합기 (470) 는, 잡음 생성기 (480) 에 의해 생성된 랜덤 잡음 신호와 엔벨로프 계산기 (460) 에 의해 계산된 시간 도메인 엔벨로프를 결합하여, 변조된 잡음 신호 (S170) 를 생성하도록 구성된다. 결합기 (490) 는 고조파 확장된 신호 (S160) 와 변조된 잡음 신호 (S170) 를 혼합하여, 고대역 여기 신호 (S120) 를 생성하도록 구성된다.
일 예에서, 스펙트럼 확장기 (A400) 는, 협대역 여기 신호 (S80) 에 대해 스펙트럼 폴딩 동작 (spectral folding operation) (또한 미러링 (mirroring) 이라 호칭됨) 을 수행하여, 고조파 확장된 신호 (S160) 를 생성하도록 구성된다. 스펙트럼 폴딩은, 여기 신호 (S80) 를 제로 스터핑한 후, 에일리어스를 유지하기 위해 고대역 필터를 적용함으로써 수행될 수도 있다. 다른 예에서, 스펙트럼 확장기 (A400) 는, (예컨대, 업샘플링 후 일정 주파수 코사인 신호와 곱함으로써) 협대역 여기 신호 (S80) 를 고대역으로 스펙트럼 변환함으로써, 고조파 확장된 신호 (S160) 를 생성하도록 구성된다.
스펙트럼 폴딩 및 변환 방법들은, 고조파 구조가 협대역 여기 신호 (S80) 의 원래의 고조파 구조와 위상 및/또는 주파수에서 불연속적인 스펙트럼 확장된 신호들을 생성할 수도 있다. 예컨대, 이러한 방법들은, 복원된 스피치 신호에서 티니-음 (tinny-sounding) 아티팩트들을 야기할 수도 있는, 일반적으로 기본 주파수 의 배수들에 위치되지 않는 피크들을 갖는 신호들을 생성할 수도 있다. 또한, 이들 방법들은 부자연스럽게 강한 톤 특성들을 갖는 고주파수 고조파들을 생성하려는 경향이 있다. 또한, PSTN 신호가 8 kHz로 샘플링되지만 3400 Hz 이하로 대역제한될 수도 있기 때문에, 협대역 여기 신호 (S80) 의 상위 스펙트럼은 적은 에너지를 포함하거나 또는 에너지를 포함하지 않을 수도 있어서, 스펙트럼 폴딩 또는 스펙트럼 변환 동작에 따라 생성된 확장된 신호가 3400 Hz 위에서 스펙트럼 홀 (spectral hole) 을 가질 수도 있다.
고조파 확장된 신호 (S160) 를 생성하는 다른 방법들은, 협대역 여기 신호 (S80) 의 하나 이상의 기본 주파수들을 식별하는 단계, 및 그 정보에 따라 고조파 톤들을 생성하는 단계를 포함한다. 예컨대, 여기 신호의 고조파 구조는 진폭 및 위상 정보와 함께 기본 주파수에 의해 특성화될 수도 있다. 고대역 여기 생성기 (A300) 의 다른 구현은, 기본 주파수 및 진폭에 기초하여 (표시된 바와 같이, 예컨대 피치 래그 및 피치 이득에 의해), 고조파 확장된 신호 (S160) 를 생성한다. 그러나, 고조파 확장된 신호가 협대역 여기 신호 (S80) 와 위상-코히런트 (phase coherent) 이지 않는 한, 결과의 디코딩된 스피치는 수용가능하지 않을 수도 있다.
협대역 여기와 위상-코히런트이며 위상 불연속 없이 고조파 구조를 보존하는 고대역 여기 신호를 생성하기 위해 비선형 함수가 사용될 수도 있다. 또한, 비선형 함수는 고주파수 고조파들 사이에 증가된 잡음 레벨을 제공할 수도 있으며, 이는 스펙트럼 폴딩 및 스펙트럼 변환과 같은 방법들에 의해 생성된 총 고주파수 고조파들보다 더 자연스러운 음을 내려는 경향이 있다. 스펙트럼 확장기 (A400) 의 다양한 구현들에 의해 적용될 수도 있는 전형적인 비메모리 비선형 함수들은, 절대값 함수 (또한, 전파 정류라 호칭됨), 반파 정류, 제곱 (squaring), 큐빙 (cubing), 및 클리핑을 포함한다. 스펙트럼 확장기 (A400) 의 다른 구현들은 메모리를 갖는 비선형 함수를 적용하도록 구성될 수도 있다.
도 12는 협대역 여기 신호 (S80) 의 스펙트럼을 확장하기 위해 비선형 함수를 적용하도록 구성된 스펙트럼 확장기 (A400) 의 일 구현 (A402) 의 블록도이다. 업샘플러 (510) 는 협대역 여기 신호 (S80) 를 업샘플링하도록 구성된다. 비선형 함수의 적용 시에 에일리어싱을 최소화하기에 충분하게 신호를 업샘플링하는 것이 바람직할 수도 있다. 하나의 특정한 예에서, 업샘플러 (510) 는 신호를 8 배 만큼 업샘플링한다. 업샘플러 (510) 는 입력 신호를 제로 스터핑하고 그 결과를 저역통과 필터링함으로써 업샘플링 동작을 수행하도록 구성될 수도 있다. 비선형 함수 계산기 (520) 는 업샘플링된 신호에 비선형 함수를 적용하도록 구성된다. 제곱과 같은 스펙트럼 확장에 대한 다른 비선형 함수들에 비해서 절대값 함수의 하나의 잠재적인 이점은 에너지 정규화가 필요하지 않다는 것이다. 몇몇 구현들에서, 절대값 함수는 각각의 샘플의 부호 비트를 제거 또는 소거함으로써 효율적으로 적용될 수도 있다. 또한, 비선형 함수 계산기 (520) 는 업샘플링되거나 또는 스펙트럼 확장된 신호의 진폭 워핑 (warping) 을 수행하도록 구성될 수도 있다.
다운샘플러 (530) 는 비선형 함수를 적용한 스펙트럼 확장된 결과를 다운샘 플링하도록 구성된다. 다운샘플러 (530) 가 대역통과 필터링 동작을 수행하여, (예컨대, 원하지 않는 이미지에 의한 에일리어싱 또는 손상을 감소시키거나 또는 회피하기 위해) 샘플링 레이트를 감소시키기 전에, 스펙트럼 확장된 신호의 소망되는 주파수 대역을 선택하는 것이 바람직할 수도 있다. 또한, 다운샘플러 (530) 가 2개 이상의 스테이지에서 샘플링 레이트를 감소시키기는 것이 바람직할 수도 있다.
도 12a는, 스펙트럼 확장 동작의 일 예에서 다양한 포인트들에서의 신호 스펙트럼들을 도시하는 도면이며, 여기서 주파수 스케일은 다양한 플롯들에 걸쳐 동일하다. 플롯 (a) 은 협대역 여기 신호 (S80) 의 일 예의 스펙트럼을 도시한다. 플롯 (b) 은 신호 (S80) 가 8 배 만큼 업샘플링된 후의 스펙트럼을 도시한다. 플롯 (c) 은 비선형 함수의 적용 이후의 확장된 스펙트럼의 예를 도시한다. 플롯 (d) 은 저역통과 필터링 이후의 스펙트럼을 도시한다. 본 예에서, 통과대역은 고대역 신호 (S30) 의 상위 주파수 제한 (예컨대, 7 kHz 또는 8 kHz) 까지 확장한다.
플롯 (e) 은, 샘플링 레이트가 4 배 만큼 감소되어 광대역 신호를 획득하는, 다운샘플링의 제 1 스테이지 이후의 스펙트럼을 도시한다. 플롯 (f) 은 확장된 신호의 고대역 부분을 선택하기 위한 고역통과 필터링 동작 이후의 스펙트럼을 도시하고, 플롯 (g) 은, 샘플링 레이트가 2 배 만큼 감소되는, 다운샘플링의 제 2 스테이지 이후의 스펙트럼을 도시한다. 하나의 특정한 예에서, 다운샘플러 (530) 는 필터 뱅크 (A112) (또는 동일한 응답을 갖는 다른 구조들 또는 루틴들) 의 고역 통과 필터 (130) 및 다운샘플러 (140) 에 광대역 신호를 통과시킴으로써, 고역통과 필터링 및 다운샘플링의 제 2 스테이지를 수행하여, 고대역 신호 (S30) 의 주파수 범위 및 샘플링 레이트를 갖는 스펙트럼 확장된 신호를 생성한다.
플롯 (g) 에서 볼 수도 있는 바와 같이, 플롯 (f) 에서 도시된 고역통과 신호의 다운샘플링은 그 스펙트럼의 반전을 야기한다. 본 예에서, 다운샘플러 (530) 는 또한, 신호에 대한 스펙트럼 플리핑 (flipping) 동작을 수행하도록 구성된다. 플롯 (h) 은 스펙트럼 플리핑 동작을 적용한 결과를 도시하고, 이는 값들이 +1 과 -1 사이에서 교호하는, 함수 ejnπ 또는 시퀀스 (-1)n과 신호를 곱함으로써 수행될 수도 있다. 그러한 동작은 주파수 도메인에서 신호의 디지털 스펙트럼을 거리 π 만큼 시프트시키는 것과 동일하다. 상이한 순서로 다운샘플링 및 스펙트럼 플리핑 동작들을 적용함으로써 동일한 결과가 또한 획득될 수도 있다는 것을 주의한다. 업샘플링 및/또는 다운샘플링의 동작들은 또한, 고대역 신호 (S30) 의 샘플링 레이트 (예컨대, 7 kHz) 를 갖는 스펙트럼 확장된 신호를 획득하기 위한 리샘플링을 포함하도록 구성될 수도 있다.
상술된 바와 같이, 필터 뱅크들 (A110 및 B120) 은, 협대역 및 고대역 신호들 (S20, S30) 중 하나 또는 양자 모두가 필터 뱅크 (A110) 의 출력에서 스펙트럼 반전된 형태를 갖고, 스펙트럼 반전된 형태로 인코딩 및 디코딩되며, 광대역 스피치 신호 (S110) 로 출력되기 전에, 필터 뱅크 (B120) 에서 다시 스펙트럼 반전되도록 구현될 수도 있다. 그러한 경우에, 고대역 여기 신호 (S120) 가 마찬가지로 스펙트럼 반전된 형태를 갖는 것이 바람직할 수도 있으므로, 사실상, 도 12a에 도시된 스펙트럼 플리핑 동작은 구현되지 않을 수도 있다.
스펙트럼 확장기 (A402) 에 의해 수행되는 스펙트럼 확장 동작의 업샘플링 및 다운샘플링의 다양한 태스크들은 다수의 상이한 방식들로 구성 및 배열될 수도 있다. 예컨대, 도 12b는 스펙트럼 확장 동작의 다른 예에서 다양한 포인트들에서의 신호 스펙트럼들을 도시하는 도면이며, 여기서 주파수 스케일은 다양한 플롯들에 걸쳐 동일하다. 플롯 (a) 은 협대역 여기 신호 (S80) 의 일 예의 스펙트럼을 도시한다. 플롯 (b) 은, 신호가 2 배 만큼 업샘플링된 후의 스펙트럼을 도시한다. 플롯 (c) 은 비선형 함수의 적용 이후의 확장된 스펙트럼의 예를 도시한다. 이러한 경우에, 보다 높은 주파수들에서 발생할 수도 있는 에일리어싱이 수용된다.
플롯 (d) 은 스펙트럼 반전 동작 이후의 스펙트럼을 도시한다. 플롯 (e) 은, 샘플링 레이트가 2 배 만큼 감소되어 소망되는 스펙트럼 확장된 신호를 획득하는, 다운샘플링의 단일 스테이지 이후의 스펙트럼을 도시한다. 이러한 예에서, 신호는 스펙트럼 반전된 형태로 존재하고, 그러한 형태로 고대역 신호 (S30) 를 프로세싱하였던 고대역 인코더 (A200) 의 일 구현에서 사용될 수도 있다.
비선형 함수 계산기 (520) 에 의해 생성된 스펙트럼 확장된 신호는 주파수가 증가함에 따라 진폭의 뚜렷한 하락을 가지리라 여겨진다. 스펙트럼 확장기 (A402) 는 다운샘플링된 신호에 대해 백색화 동작을 수행하도록 구성된 스펙트럼 평탄화기 (540) 를 포함한다. 스펙트럼 평탄화기 (540) 는 고정형 백색화 동작 을 수행하거나 또는 적응형 백색화 동작을 수행하도록 구성될 수도 있다. 적응형 백색화의 특정한 예에서, 스펙트럼 평탄화기 (540) 는, 다운샘플링된 신호로부터 4개의 필터 계수들의 세트를 계산하도록 구성된 LPC 분석 모듈, 및 그 계수들에 따라 신호를 백색화하도록 구성된 4차 분석 필터를 포함한다. 스펙트럼 확장기 (A400) 의 다른 구현들은, 다운샘플러 (530) 이전에, 스펙트럼 평탄화기 (540) 가 스펙트럼 확장된 신호에 대해 동작하는 구성들을 포함한다.
고대역 여기 생성기 (A300) 는 고조파 확장된 신호 (S160) 를 고대역 여기 신호 (S120) 로서 출력하도록 구현될 수도 있다. 그러나, 몇몇 경우들에서, 고대역 여기로서 고조파 확장된 신호를 사용하는 것은 가청 아티팩트들을 초래할 수도 있다. 일반적으로, 스피치의 고조파 구조는 저대역에서보다 고대역에서 덜 뚜렷하고, 고대역 여기 신호에서 너무 많은 고조파 구조를 사용하는 것은 버지 음 (buzzy sound) 을 초래할 수 있다. 이러한 아티팩트는 암스피커들로부터의 스피치 신호들에서 특히 현저할 수도 있다.
구성들은, 고조파 확장된 신호 (S160) 를 잡음 신호와 혼합하도록 구성된 고대역 여기 생성기 (A300) 의 구현들을 포함한다. 도 11에 도시된 바와 같이, 고대역 여기 생성기 (A302) 는, 랜덤 잡음 신호를 생성하도록 구성된 잡음 생성기 (480) 를 포함한다. 일 예에서, 잡음 생성기 (480) 는 단위 분산 (unit-variance) 백색 의사랜덤 잡음 신호를 생성하도록 구성되지만, 다른 구현들에서, 잡음 신호는 백색일 필요는 없고, 주파수에 의해 변하는 전력 밀도를 가질 수도 있다. 잡음 생성기 (480) 가 결정 함수로서 잡음 신호를 출력하여 디코더에서 그 상태가 듀플리케이팅될 수도 있도록 하는 것이 바람직할 수도 있다. 예컨대, 잡음 생성기 (480) 는, 협대역 필터 파라미터들 (S40) 및/또는 인코딩된 협대역 여기 신호 (S50) 와 같은, 동일한 프레임 내에서 보다 조기에 코딩된 정보의 결정 함수로서 잡음 신호를 출력하도록 구성될 수도 있다.
고조파 확장된 신호 (S160) 와 혼합되기 전에, 잡음 생성기 (480) 에 의해 생성된 랜덤 잡음 신호는, 협대역 신호 (S20), 고대역 신호 (S30), 협대역 여기 신호 (S80), 또는 고조파 확장된 신호 (S160) 의 시간에 걸친 에너지 분포에 근사하는 시간 도메인 엔벨로프를 갖도록 진폭 변조될 수도 있다. 도 11에 도시된 바와 같이, 고대역 여기 생성기 (A302) 는, 엔벨로프 계산기 (460) 에 의해 계산된 시간 도메인 엔벨로프에 따라, 잡음 생성기 (480) 에 의해 생성된 잡음 신호를 진폭 변조하도록 구성된 결합기 (470) 를 포함한다. 예컨대, 결합기 (470) 는 엔벨로프 계산기 (460) 에 의해 계산된 시간 도메인 엔벨로프에 따라 잡음 생성기 (480) 의 출력을 스케일링하여 변조된 잡음 신호 (S170) 를 생성하도록 배열된 곱셈기로서 구현될 수도 있다.
도 13의 블록도에서 도시된 바와 같이, 고대역 여기 생성기 (A302) 의 일 구현 (A304) 에서, 엔벨로프 계산기 (460) 는 고조파 확장된 신호 (S160) 의 엔벨로프를 계산하도록 배열된다. 도 14의 블록도에서 도시된 바와 같이, 고대역 여기 생성기 (A302) 의 일 구현 (A306) 에서, 엔벨로프 계산기 (460) 는 협대역 여기 신호 (S80) 의 엔벨로프를 계산하도록 배열된다. 고대역 여기 생성기 (A302) 의 또 다른 구현들은, 협대역 피치 펄스들의 시간 위치들에 따라 고조파 확장된 신 호 (S160) 에 잡음을 부가하도록 다른 방식으로 구성될 수도 있다.
엔벨로프 계산기 (460) 는 일련의 서브태스크들을 포함하는 태스크로서 엔벨로프 계산을 수행하도록 구성될 수도 있다. 도 15는 그러한 태스크의 예 (T100) 의 흐름도를 도시한다. 서브태스크 (T110) 는, 엔벨로프가 모델링될 신호 (예컨대, 협대역 여기 신호 (S80) 또는 고조파 확장된 신호 (S160)) 의 프레임의 각각의 샘플의 제곱을 계산하여, 제곱값들의 시퀀스를 생성한다. 서브태스크 (T120) 는 제곱값들의 시퀀스에 대해 평활화 동작을 수행한다. 일 예에서, 서브태스크 (T120) 는 다음 식에 따른 시퀀스에 1차 IIR 저역통과 필터를 적용한다.
여기서, x는 필터 입력이고, y는 필터 출력이고, n은 시간 도메인 인덱스이며, a는 0.5 내지 1의 값을 갖는 평활화 계수이다. 평활화 계수의 값은 고정될 수도 있거나, 또는 다른 구현에서, 입력 신호 내의 잡음의 표시에 따라 적응가능할 수도 있어서, a는 잡음의 부재 시 1에 더 근접하고, 잡음의 존재 시 0.5에 더 근접한다. 서브태스크 (T130) 는 평활화된 시퀀스의 각각의 샘플에 제곱근 함수를 적용하여, 시간 도메인 엔벨로프를 생성한다.
엔벨로프 계산기 (460) 의 그러한 구현은 직렬 및/또는 병렬 방식으로 태스크 (T100) 의 다양한 서브태스크들을 수행하도록 구성될 수도 있다. 태스크 (T100) 의 또 다른 구현들에서, 서브태스크 (T110) 는, 3 내지 4 kHz의 범위와 같 은, 엔벨로프가 모델링될 신호의 소망되는 주파수 부분을 선택하도록 구성된 대역통과 동작에 의해 선행될 수도 있다.
결합기 (490) 는 고조파 확장된 신호 (S160) 와 변조된 잡음 신호 (S170) 를 혼합하여, 고대역 여기 신호 (S120) 를 생성하도록 구성된다. 예컨대, 결합기 (490) 의 구현들은, 고조파 확장된 신호 (S160) 와 변조된 잡음 신호 (S170) 의 합으로서 고대역 여기 신호 (S120) 를 계산하도록 구성될 수도 있다. 결합기 (490) 의 그러한 구현은, 합산 이전에, 가중화 인자를 고조파 확장된 신호 (S160) 및/또는 변조된 잡음 신호 (S170) 에 인가함으로써, 가중화된 합으로서 고대역 여기 신호 (S120) 를 계산하도록 구성될 수도 있다. 각각의 그러한 가중화 인자는 하나 이상의 기준에 따라 계산될 수도 있고, 고정된 값일 수도 있거나, 또는 다른 방법으로, 프레임 당 또는 서브프레임 당 기초로 계산되는 적응형 값일 수도 있다.
도 16은, 고조파 확장된 신호 (S160) 와 변조된 잡음 신호 (S170) 의 가중화된 합으로서 고대역 여기 신호 (S120) 를 계산하도록 구성된 결합기 (490) 의 일 구현 (492) 의 블록도를 도시한다. 결합기 (492) 는 고조파 가중화 인자 (S180) 에 따라 고조파 확장된 신호 (S160) 를 가중화하고, 잡음 가중화 인자 (S190) 에 따라 변조된 잡음 신호 (S170) 를 가중화하며, 가중화된 신호들의 합으로서 고대역 여기 신호 (S120) 를 출력하도록 구성된다. 본 예에서, 결합기 (492) 는, 고조파 가중화 인자 (S180) 및 잡음 가중화 인자 (S190) 를 계산하도록 구성된 가중화 인자 계산기 (550) 를 포함한다.
가중화 인자 계산기 (550) 는, 고대역 여기 신호 (S120) 내의 고조파 컨텐츠 대 잡음 컨텐츠의 소망되는 비율에 따라, 가중화 인자들 (S180 및 S190) 을 계산하도록 구성될 수도 있다. 예컨대, 결합기 (492) 가 고대역 신호 (S30) 의 고조파 에너지 대 잡음 에너지의 비율과 유사한 고조파 에너지 대 잡음 에너지의 비율을 갖도록 고대역 여기 신호 (S120) 를 생성하는 것이 바람직할 수도 있다. 가중화 인자 계산기 (550) 의 몇몇 구현들에서, 가중화 인자들 (S180, S190) 은, 피치 이득 및/또는 스피치 모드와 같은, 협대역 신호 (S20) 의 주기성 또는 협대역 잔여 신호의 주기성에 관련된 하나 이상의 파라미터들에 따라 계산된다. 가중화 인자 계산기 (550) 의 그러한 구현은, 고조파 가중화 인자 (S180) 에 예컨대 피치 이득에 비례하는 값을 할당하고, 및/또는 유성 스피치 신호들 보다는 무성 스피치 신호들에 대하여 더 높은 값을 잡음 가중화 인자 (S190) 에 할당하도록 구성될 수도 있다.
다른 구현들에서, 가중화 인자 계산기 (550) 는, 고대역 신호 (S30) 의 주기성의 측정에 따라, 고조파 가중화 인자 (S180) 및/또는 잡음 가중화 인자 (S190) 에 대한 값들을 계산하도록 구성된다. 하나의 그러한 예에서, 가중화 인자 계산기 (550) 는, 현재의 프레임 또는 서브프레임에 대한 고대역 신호 (S30) 의 자기상관 계수의 최대값으로서 고조파 가중화 인자 (S180) 를 계산하며, 여기서 자기상관은 하나의 피치 래그의 지연을 포함하고 제로 샘플들의 지연은 포함하지 않는 탐색 범위에 걸쳐 수행된다. 도 17은, 하나의 피치 래그의 지연에 집중되고, 하나의 피치 래그 이하의 폭을 갖는, n개의 샘플들의 길이의 그러한 탐색 범위의 예 를 도시한다.
또한, 도 17은, 가중화 인자 계산기 (550) 가 수개의 스테이지들에서 고대역 신호 (S30) 의 주기성의 측정을 계산하는 다른 접근법의 예를 도시한다. 제 1 스테이지에서, 현재의 프레임은 다수의 서브프레임들로 나눠지고, 자기상관 계수가 최대치인 지연이 각각의 서브프레임에 대해 개별적으로 식별된다. 상술된 바와 같이, 자기상관은, 하나의 피치 래그의 지연을 포함하고 제로 샘플들의 지연을 포함하지 않는 탐색 범위에 걸쳐 수행된다.
제 2 스테이지에서, 각각의 서브프레임에 대응하는 식별된 지연을 적용하고, 결과의 서브프레임들을 연접 (concatenate) 시켜서 최적으로 지연된 프레임을 구축하며, 원래의 프레임과 최적으로 지연된 프레임 사이의 상관 계수로서 고조파 가중화 인자 (S180) 를 계산함으로써, 지연된 프레임이 구축된다. 또 다른 방법에서, 가중화 인자 계산기 (550) 는, 각각의 서브프레임에 대해 제 1 스테이지에서 획득된 최대 자기상관 계수들의 평균으로서 고조파 가중화 인자 (S180) 를 계산한다. 또한, 가중화 인자 계산기 (550) 의 구현들은 상관 계수를 스케일링하고 및/또는 상관 계수를 다른 값과 결합하여, 고조파 가중화 인자 (S180) 에 대한 값을 계산하도록 구성될 수도 있다.
프레임 내의 주기성의 존재가 다른 방식으로 표시되는 경우에, 가중화 인자 계산기 (550) 가 고대역 신호 (S30) 의 주기성의 측정치를 계산하는 것이 바람직할 수도 있다. 예컨대, 가중화 인자 계산기 (550) 는, 피치 이득과 같은, 현재의 프레임의 주기성의 다른 표시자와 임계값 사이의 관계에 따라, 고대역 신호 (S30) 의 주기성의 측정치를 계산하도록 구성될 수도 있다. 일 예에서, 프레임의 피치 이득 (예컨대, 협대역 잔여의 적응형 코드북 이득) 이 0.5를 초과하는 값 (다른 방법으로, 적어도 0.5) 을 갖는 경우에, 가중화 인자 계산기 (550) 는 고대역 신호 (S30) 에 대해 자기상관 동작을 수행하도록 구성된다. 다른 예에서, 가중화 인자 계산기 (550) 는, 스피치 모드의 특정한 상태들을 갖는 프레임들에 대하여 (예컨대, 유성 신호들에 대하여), 고대역 신호 (S30) 에 대해 자기상관 동작을 수행하도록 구성된다. 그러한 경우들에, 가중화 인자 계산기 (550) 는, 스피치 모드의 다른 상태들 및/또는 피치 이득의 보다 적은 값들을 갖는 프레임들에 대해 디폴트 가중화 인자를 할당하도록 구성될 수도 있다.
구성들은, 주기성 이외의 또는 주기성에 추가되는 특성들에 따라 가중화 인자들을 계산하도록 구성된 가중화 인자 계산기 (550) 의 또 다른 구현들을 포함한다. 예컨대, 그러한 구현은, 작은 피치 래그를 갖는 스피치 신호들에 대하여 보다 큰 피치 래그를 갖는 스피치 신호들에 대하여 잡음 이득 인자 (S190) 에 더 높은 값을 할당하도록 구성될 수도 있다. 가중화 인자 계산기 (550) 의 다른 그러한 구현은, 다른 주파수 컴포넌트들에서의 신호의 에너지에 상대적인 기본 주파수의 배수들에서의 신호의 에너지의 측정에 따라, 광대역 스피치 신호 (S10) 또는 고대역 신호 (S30) 의 고조파성의 측정을 결정하도록 구성된다.
광대역 스피치 인코더 (A100) 의 몇몇 구현들은, 본원에서 설명된 바와 같이 피치 이득 및/또는 주기성 또는 고조파성의 다른 측정에 기초하여, 주기성 또는 고조파의 표시를 출력하도록 구성된다. 일 예에서, 대응하는 광대역 스피치 디코 더 (B100) 는 그 표시를 사용하여 가중화 인자 계산과 같은 동작을 구성한다. 다른 예에서, 그러한 표시는 인코더 및/또는 디코더에서 스피치 모드 파라미터에 대한 값을 계산하는데 사용된다.
여기 신호의 에너지가 가중화 인자들 (S180 및 S190) 의 특정한 값들에 의해 실질적으로 영향을 받지 않도록, 고대역 여기 생성기 (A302) 가 고대역 여기 신호 (S120) 를 생성하는 것이 바람직할 수도 있다. 그러한 경우에, 가중화 인자 계산기 (550) 는 고조파 가중화 인자 (S180) 또는 잡음 가중화 인자 (S190) 에 대한 값을 계산하고 (또는, 고대역 인코더 (A200) 의 저장장치 또는 다른 엘리먼트로부터 그러한 값을 수신하고), 다음과 같은 식에 따라 다른 가중화 인자에 대한 값을 도출하도록 구성될 수도 있다.
여기서, Wharmonic는 고조파 가중화 인자 (S180) 를 나타내고, Wnoise는 잡음 가중화 인자 (S190) 를 나타낸다. 다른 방법으로, 가중화 인자 계산기 (550) 는, 현재의 프레임 또는 서브프레임에 대한 주기성 측정의 값에 따라, 가중화 인자들 (S180, S190) 의 복수의 쌍들 중에서 대응하는 하나를 선택하도록 구성될 수도 있으며, 여기서 그 쌍들은 식 (2) 와 같은 일정 에너지 비율을 만족시키기 위해 미리 계산된다. 식 (2) 가 준수되는 가중화 인자 계산기 (550) 의 일 구현에 대해, 고조파 가중화 인자 (S180) 에 대한 전형적인 값들은 약 0.7 내지 약 1.0의 범위를 갖고, 잡음 가중화 인자 (S190) 에 대한 전형적인 값들은 약 0.1 내지 약 0.7의 범 위를 갖는다. 가중화 인자 계산기 (550) 의 다른 구현들은, 고조파 확장된 신호 (S160) 와 변조된 잡음 신호 (S170) 사이의 소망되는 기준선 (baseline) 가중화에 따라 변형된 식 (2) 의 버전에 따라 동작하도록 구성될 수도 있다.
잔여의 양자화된 표현을 계산하기 위해 (엔트리들이 대부분 제로 값들인) 희소 코드북이 사용되었을 때, 합성된 스피치 신호에서 아티팩트들이 발생할 수도 있다. 특히 협대역 신호가 낮은 비트 레이트에서 인코딩될 때, 코드북 희소성이 발생한다. 통상적으로, 코드북 희소성에 의해 야기되는 아티팩트들은 시간에서 준주기적 (quasi-periodic) 이며 대부분 약 3 kHz 위에서 발생한다. 인간의 귀가 보다 높은 주파수들에서 더 양호한 시간 분해능을 갖기 때문에, 이들 아티팩트들은 고대역에서 보다 현저할 수도 있다.
구성들은 희소성-방지 (anti-sparseness) 필터링을 수행하도록 구성된 고대역 여기 생성기 (A300) 의 구현들을 포함한다. 도 18은, 역양자화기 (450) 에 의해 생성된 역양자화된 협대역 여기 신호를 필터링하도록 배열된 희소성-방지 필터 (600) 를 포함하는 고대역 여기 생성기 (A302) 의 일 구현 (A312) 의 블록도를 도시한다. 도 19는, 스펙트럼 확장기 (A400) 에 의해 생성된 스펙트럼 확장된 신호를 필터링하도록 배열된 희소성-방지 필터 (600) 를 포함하는 고대역 여기 생성기 (A302) 의 일 구현 (A314) 의 블록도를 도시한다. 도 20은, 결합기 (490) 의 출력을 필터링하여 고대역 여기 신호 (S120) 를 생성하도록 배열된 희소성-방지 필터 (600) 를 포함하는 고대역 여기 생성기 (A302) 의 일 구현 (A316) 의 블록도를 도시한다. 물론, 임의의 구현들 (A304 및 A306) 의 특징들과 임의의 구현들 (A312, A314, 및 A316) 의 특징들을 결합하는 고대역 여기 생성기 (A300) 의 구현들이 고려되고 본원에 의해 명백히 개시된다. 또한, 희소성-방지 필터 (600) 는 스펙트럼 확장기 (A400) 내에, 예컨대 스펙트럼 확장기 (A402) 내의 임의의 엘리먼트들 (510, 520, 530, 및 540) 이후에 배열될 수도 있다. 희소성-방지 필터 (600) 가 또한 스펙트럼 폴딩, 스펙트럼 변환, 또는 고조파 확장을 수행하는 스펙트럼 확장기 (A400) 의 구현들과 함께 사용될 수도 있다는 것이 명백히 주의된다.
희소성-방지 필터 (600) 는 그 입력 신호의 위상을 변경하도록 구성될 수도 있다. 예컨대, 고대역 여기 신호 (S120) 의 위상이 랜덤화되거나, 또는 그렇지 않으면 시간에 걸쳐 보다 고르게 분포되도록, 희소성-방지 필터 (600) 가 구성되고 배열되는 것이 바람직할 수도 있다. 또한, 필터링된 신호의 크기 스펙트럼이 상당히 변화되도록, 희소성-방지 필터 (600) 의 응답이 스펙트럼 평탄한 것이 바람직할 수도 있다. 일 예에서, 희소성-방지 필터 (600) 는 다음 식에 따른 전달 함수를 갖는 전역통과 필터로서 구현된다.
이러한 필터의 하나의 효과는, 더 이상 몇몇 샘플들에 집중되지 않도록, 입력 신호의 에너지를 확산시키는 것일 수도 있다.
코드북 희소성에 의해 야기되는 아티팩트들은 항상, 잔여가 보다 적은 피치 정보를 포함하는 잡음형 신호들, 및 배경 잡음 내의 스피치에 대해 보다 현저하다. 통상적으로, 여기가 장기간 구조를 갖는 경우에 더 적은 아티팩트들을 야기하고, 실제로 위상 변형은 유성 신호들에서 잡음을 야기할 수도 있다. 따라서, 무성 신호들을 필터링하고, 적어도 일부의 유성 신호들을 변경 없이 통과시키도록 희소성-방지 필터 (600) 를 구성하는 것이 바람직할 수도 있다. 무성음들은, 평탄하거나 또는 주파수가 증가함에 따라 위로 기울어지는 스펙트럼 엔벨로프를 표시하는, 제로 또는 양에 근접한 스펙트럼 틸트 (예컨대, 양자화된 제 1 반사 계수), 및 낮은 피치 이득 (예컨대, 양자화된 협대역 적응형 코드북 이득) 에 의해 특성화된다. 희소성-방지 필터 (600) 의 전형적인 구현들은, (예컨대, 스펙트럼 틸트의 값에 의해 표시되는) 무성음들을 필터링하고, 피치 이득이 임계값을 하회할 때 (다른 방법으로, 임계값 이하일 때) 유성음들을 필터링하며, 그렇지 않다면 변경 없이 신호를 통과시키도록 구성된다.
희소성-방지 필터 (600) 의 또 다른 구현들은, 상이한 최대 위상 변형각들 (예컨대, 180 도까지) 을 갖도록 구성된 2개 이상의 필터들을 포함한다. 그러한 경우에, 보다 낮은 피치 이득 값들을 갖는 프레임들에 대해 보다 큰 최대 위상 변형각이 사용되도록, 희소성-방지 필터 (600) 는 피치 이득의 값 (예컨대, 양자화된 적응형 코드북 또는 LTP 이득) 에 따라 이들 컴포넌트 필터들 중에서 선택하도록 구성될 수도 있다. 또한, 희소성-방지 필터 (600) 의 일 구현은, 보다 낮은 피치 이득 값들을 갖는 프레임들에 대해 입력 신호의 보다 넓은 주파수 범위에 걸쳐 위상을 변형하도록 구성된 필터가 사용되도록, 보다 많거나 또는 보다 적은 주파수 스펙트럼에 걸쳐 위상을 변형하도록 구성된 상이한 컴포넌트 필터들을 포함할 수도 있다.
인코딩된 스피치 신호의 정확한 재생을 위해, 합성된 광대역 스피치 신호 (S100) 의 고대역 및 협대역 부분들의 레벨들 사이의 비율이 원래의 광대역 스피치 신호 (S10) 에서의 비율과 유사한 것이 바람직할 수도 있다. 고대역 코딩 파라미터들 (S60a) 에 의해 표현된 스펙트럼 엔벨로프에 추가하여, 고대역 인코더 (A200) 는 시간 또는 이득 엔벨로프를 특정함으로써 고대역 신호 (S30) 를 특성화하도록 구성될 수도 있다. 도 10에 도시된 바와 같이, 고대역 인코더 (A202) 는, 프레임 또는 그 일부에 걸쳐 2개의 신호들의 에너지들 사이의 차이 또는 비율과 같은, 고대역 신호 (S30) 와 합성된 고대역 신호 (S130) 사이의 관계에 따라, 하나 이상의 이득 인자들을 계산하도록 구성되고 배열된 고대역 이득 인자 계산기 (A230) 를 포함한다. 고대역 인코더 (A202) 의 다른 구현들에서, 고대역 이득 계산기 (A230) 는 마찬가지로 구성되지만, 고대역 신호 (S30) 와 협대역 여기 신호 (S80) 또는 고대역 여기 신호 (S120) 사이의 시변 (time-varying) 관계에 따라 이득 엔벨로프를 계산하도록 대신 배열될 수도 있다.
협대역 여기 신호 (S80) 및 고대역 신호 (S30) 의 시간 엔벨로프들은 유사하리라 여겨진다. 따라서, 고대역 신호 (S30) 와 협대역 여기 신호 (S80) (또는, 고대역 여기 신호 (S120) 또는 합성된 고대역 신호 (S130) 와 같은, 그로부터 도출된 신호) 사이의 관계에 기초한 이득 엔벨로프를 인코딩하는 것은 일반적으로 고대역 신호 (S30) 에 기초한 이득 엔벨로프를 인코딩하는 것보다 더 효율적일 것이다. 전형적인 구현에서, 고대역 인코더 (A202) 는, 각각의 프레임에 대해 5개의 이 득 인자들을 특정하는 8 내지 12 비트의 양자화된 인덱스를 출력하도록 구성된다.
고대역 이득 인자 계산기 (A230) 는, 하나 이상의 일련의 서브태스크들을 포함하는 태스크로서 이득 인자 계산을 수행하도록 구성될 수도 있다. 도 21은, 고대역 신호 (S30) 및 합성된 고대역 신호 (S130) 의 상대적인 에너지들에 따라, 대응하는 서브프레임에 대한 이득 값을 계산하는 태스크의 예 (T200) 의 흐름도를 도시한다. 태스크들 (T220a 및 T220b) 은 각각의 신호들의 대응하는 서브프레임들의 에너지들을 계산한다. 예컨대, 태스크들 (T220a 및 T220b) 은 각각의 서브프레임의 샘플들의 제곱들의 합으로서 에너지를 계산하도록 구성될 수도 있다. 태스크 (T230) 는 그 에너지들의 비율의 제곱근으로서 서브프레임에 대한 이득 인자를 계산한다. 본 예에서, 태스크 (T230) 는, 서브프레임에 걸쳐, 합성된 고대역 신호 (S130) 의 에너지에 대한 고대역 신호 (S30) 의 에너지의 비율의 제곱근으로서 이득 인자를 계산한다.
윈도우 함수에 따라 서브프레임 에너지들을 계산하도록 고대역 이득 인자 계산기 (A230) 가 구성되는 것이 바람직할 수도 있다. 도 22는 이득 인자 계산 태스크 (T200) 의 일 구현 (T210) 의 흐름도를 도시한다. 태스크 (T215a) 는 고대역 신호 (S30) 에 윈도우 함수를 적용하고, 태스크 (T215b) 는 합성된 고대역 신호 (S130) 에 동일한 윈도우 함수를 적용한다. 태스크들 (T220a 및 T220b) 의 구현들 (T222a 및 T222b) 은 각각의 윈도우들의 에너지들을 계산하고, 태스크 (T230) 는 에너지들의 비율의 제곱근으로서 서브프레임에 대한 이득 인자를 계산한다.
인접한 서브프레임들을 중첩하는 윈도우 함수를 적용하는 것이 바람직할 수도 있다. 예컨대, 중첩-부가 (overlap-add) 방식에서 적용될 수도 있는 이득 인자들을 생성하는 윈도우 함수는 서브프레임들 사이의 불연속성을 감소시키거나 또는 회피하는데 원조할 수도 있다. 일 예에서, 고대역 이득 인자 계산기 (A230) 는 도 23a에 도시된 사다리꼴 (trapezoidal) 윈도우 함수를 적용하도록 구성되며, 여기서 윈도우는 2개의 인접한 서브프레임들의 각각을 1 밀리초 만큼 중첩한다. 도 23b는 20 밀리초 프레임의 5개의 서브프레임들의 각각에 대한 이러한 윈도우 함수의 적용을 도시한다. 고대역 이득 인자 계산기 (A230) 의 다른 구현들은, 대칭 또는 비대칭일 수도 있는 상이한 윈도우 형상들 (예컨대, 사각형, 해밍) 및/또는 상이한 중첩 기간들을 갖는 윈도우 함수들을 적용하도록 구성될 수도 있다. 또한, 프레임 내의 상이한 서브프레임들에 상이한 윈도우 함수들을 적용하도록 고대역 이득 인자 계산기 (A230) 가 구성되는 것이 가능하고, 및/또는 프레임이 상이한 길이들의 서브프레임들을 포함하는 것이 가능하다.
제한이 없이, 다음 값들은 특정한 구현들에 대한 예들로서 제공된다. 20 msec 프레임이 이들 경우들에 대해 가정되지만, 임의의 다른 지속기간이 사용될 수도 있다. 7 kHz로 샘플링된 고대역 신호에 대해, 각각의 프레임은 140개의 샘플들을 갖는다. 그러한 프레임이 동일한 길이의 5개의 서브프레임들로 나눠지는 경우에, 각각의 서브프레임은 28개의 샘플들을 가질 것이고, 도 23a에 도시된 윈도우는 42개의 샘플들 만큼 넓을 것이다. 8 kHz로 샘플링된 고대역 신호에 대해, 각각의 프레임은 160개의 샘플들을 갖는다. 그러한 프레임이 동일한 길 이의 5개의 서브프레임들로 나눠지는 경우에, 각각의 서브프레임은 32개의 샘플들을 가질 것이고, 도 23a에 도시된 윈도우는 48개의 샘플들 만큼 넓을 것이다. 다른 구현들에서, 임의의 폭의 서브프레임들이 사용될 수도 있고, 프레임의 각각의 샘플에 대해 상이한 이득 인자를 생성하도록 고대역 이득 계산기 (A230) 의 일 구현이 구성되는 것도 가능하다.
도 24는 고대역 디코더 (B200) 의 일 구현 (B202) 의 블록도를 도시한다. 고대역 디코더 (B202) 는, 협대역 여기 신호 (S80) 에 기초하여 고대역 여기 신호 (S120) 를 생성하도록 구성된 고대역 여기 생성기 (B300) 를 포함한다. 특정한 시스템 설계 선택들에 따라, 고대역 여기 생성기 (B300) 는 본원에서 설명된 고대역 여기 생성기 (A300) 의 임의의 구현들에 따라 구현될 수도 있다. 통상적으로, 특정한 코딩 시스템의 고대역 인코더의 고대역 여기 생성기와 동일한 응답을 갖도록 고대역 여기 생성기 (B300) 를 구현하는 것이 바람직하다. 그러나, 협대역 디코더 (B110) 가 인코딩된 협대역 여기 신호 (S50) 의 역양자화를 통상적으로 수행할 것이기 때문에, 대부분의 경우들에서, 고대역 여기 생성기 (B300) 는 협대역 디코더 (B110) 로부터 협대역 여기 신호 (S80) 를 수신하도록 구성되어, 인코딩된 협대역 여기 신호 (S50) 를 역양자화하도록 구성된 역양자화기를 포함할 필요가 없을 수도 있다. 또한, 필터 (330) 와 같은 협대역 합성 필터에 역양자화된 협대역 여기 신호가 입력되기 전에 역양자화된 협대역 여기 신호를 필터링하도록 배열된 희소성-방지 필터 (600) 의 인스턴스를 포함하도록 협대역 디코더 (B110) 가 구현되는 것이 가능하다.
(예컨대, 협대역 인코더 (A122) 의 역양자화기 (240) 및 변환 (250) 을 참조하여 상술된 바와 같이) 역양자화기 (560) 는 고대역 필터 파라미터들 (S60a) (본 예에서 LSF들의 세트) 을 역양자화하도록 구성되고, LSF 대 LP 필터 계수 변환 (570) 은 LSF들을 필터 계수들의 세트로 변환하도록 구성된다. 다른 구현들에서, 상술된 바와 같이, 상이한 계수 세트들 (예컨대, 켑스트럼 계수들) 및/또는 계수 표현들 (예컨대, ISP들) 이 사용될 수도 있다. 고대역 합성 필터 (B200) 는 고대역 여기 신호 (S120) 및 필터 계수들의 세트에 따라, 합성된 고대역 신호를 생성하도록 구성된다. 고대역 인코더가 합성 필터를 포함하는 시스템에 대해 (예컨대, 상술된 인코더 (A202) 의 예에서와 같이), 고대역 합성 필터 (B200) 가 그 합성 필터와 동일한 응답 (예컨대, 동일한 전달 함수) 을 갖도록 구현하는 것이 바람직할 수도 있다.
또한, 고대역 디코더 (B202) 는, 고대역 이득 인자들 (S60b) 을 역양자화하도록 구성된 역양자화기 (580), 및 합성된 고대역 신호에 역양자화된 이득 인자들을 적용하여 고대역 신호 (S100) 를 생성하도록 구성되고 배열된 이득 제어 엘리먼트 (590) (예컨대, 곱셈기 또는 증폭기) 를 포함한다. 프레임의 이득 엔벨로프가 2개 이상의 이득 인자에 의해 특정되는 경우에 대해, 이득 제어 엘리먼트 (590) 는, 대응하는 고대역 인코더의 이득 계산기 (예컨대, 고대역 이득 계산기 (A230)) 에 의해 적용된 윈도우 함수와 동일하거나 또는 상이할 수도 있는 윈도우 함수에 따라, 각각의 서브프레임들에 이득 인자들을 적용하도록 구성된 로직을 포함할 수도 있다. 고대역 디코더 (B202) 의 다른 구현들에서, 이득 제어 엘리먼트 (590) 는 유사하게 구성되지만, 협대역 여기 신호 (S80) 또는 고대역 여기 신호 (S120) 에 역양자화된 이득 인자들을 적용하도록 대신 배열된다.
상술된 바와 같이, (예컨대, 인코딩 동안 역양자화된 값들을 사용함으로써) 고대역 인코더와 고대역 디코더에서 동일한 상태를 획득하는 것이 바람직할 수도 있다. 따라서, 그러한 구현에 따른 코딩 시스템에서, 고대역 여기 생성기들 (A300 및 B300) 내의 대응하는 잡음 생성기들에 대해 동일한 상태를 보장하는 것이 바람직할 수도 있다. 예컨대, 그러한 구현의 고대역 여기 생성기들 (A300 및 B300) 은 잡음 생성기의 상태가 동일한 프레임 내의 이미 코딩된 정보 (예컨대, 협대역 필터 파라미터들 (S40) 또는 그 일부, 및/또는 인코딩된 협대역 여기 신호 (S50) 또는 그 일부) 의 결정 함수이도록 구성될 수도 있다.
본원에서 설명된 엘리먼트들 중 하나 이상의 양자화기들 (예컨대, 양자화기 (230, 420, 또는 430) 은 분류된 벡터 양자화를 수행하도록 구성될 수도 있다. 예컨대, 그러한 양자화기는, 협대역 채널 및/또는 고대역 채널에서, 동일한 프레임 내의 이미 코딩된 정보에 기초하여, 코드북들의 세트 중 하나를 선택하도록 구성될 수도 있다. 통상적으로, 그러한 기술은 추가적인 코드북 저장장치를 희생하여 증가된 코딩 효율을 제공한다.
에컨대, 도 8 및 도 9를 참조하여 상술된 바와 같이, 협대역 스피치 신호 (S20) 로부터 코오스 스펙트럼 엔벨로프의 제거 이후에, 주기적인 구조의 상당한 양이 잔여 신호에 잔류할 수도 있다. 예컨대, 잔여 신호는 시간에 걸쳐 대략 주기적인 펄스들 또는 스파이크들의 시퀀스를 포함할 수도 있다. 통상적으로 피치에 관련된 그러한 구조는 특히 유성 스피치 신호들에서 발생하리라 여겨진다. 협대역 잔여 신호의 양자화된 표현의 계산은, 예컨대 하나 이상의 코드북들에 의해 표현되는 장기간 주기성의 모델에 따른 그 피치 구조의 인코딩을 포함할 수도 있다.
실제 잔여 신호의 피치 구조는 주기성 모델을 정확하게 매칭하지 않을 수도 있다. 예컨대, 잔여 신호는 피치 펄스들의 위치들의 규칙성에서 작은 지터 (jitter) 를 포함할 수도 있어서, 프레임 내의 연속하는 피치 펄스들 사이의 거리들이 정확하게 동일하지 않고 구조가 상당히 규칙적이지는 않을 수도 있다. 이러한 불규칙성은 코딩 효율을 감소시키려는 경향이 있다.
협대역 인코더 (A120) 의 몇몇 구현들은, 양자화 이전 또는 양자화 동안 잔여에 적응형 시간 워핑을 적용함으로써, 또는 다른 방식으로, 인코딩된 여기 신호에 적응형 시간 워핑을 포함시킴으로써, 피치 구조의 정규화를 수행하도록 구성된다. 예컨대, 그러한 인코더는, (예컨대, 하나 이상의 지각적인 가중화 및/또는 에러 최소화 기준에 따라) 시간에서의 워핑의 정도를 선택하거나, 또는 다른 방식으로, 계산하도록 구성되어, 결과의 여기 신호가 장기간 주기성의 모델에 최적으로 적합하도록 할 수도 있다. 피치 구조의 정규화는, 완화 코드 여기 선형 예측 (Relaxation Code Excited Linear Prediction; RCELP) 인코더들이라 호칭되는 CELP 인코더들의 서브세트에 의해 수행된다.
통상적으로, RCELP 인코더는 적응형 시간 시프트로서 시간 워핑을 수행하도록 구성된다. 이러한 시간 시프트는 음의 수 밀리초 내지 양의 수 밀리초의 범 위를 갖는 지연일 수도 있고, 가청 불연속성을 회피하기 위해 항상 평활하게 변화된다. 몇몇 구현들에서, 그러한 인코더는 구분적 방식으로 정규화를 적용하도록 구성되며, 여기서 각각의 프레임 또는 서브프레임은 대응하는 고정 시간 시프트에 의해 워핑된다. 다른 구현들에서, 프레임 또는 서브프레임이 피치 윤곽선 (contour) (또한 피치 궤적 (trajectory) 이라 호칭됨) 에 따라 워핑되도록, 인코더가 연속적인 워핑 함수로서 정규화를 적용하도록 구성된다. 몇몇 경우들에서, 인코더는, 인코딩된 여기 신호를 계산하기 위해 사용되는 지각적으로 가중화된 입력 신호에 시프트를 적용함으로써, 인코딩된 여기 신호에 시간 워핑을 포함시키도록 구성된다.
인코더는 정규화되고 양자화된 인코딩된 여기 신호를 계산하고, 디코더는 인코딩된 여기 신호를 역양자화하여, 디코딩된 스피치 신호를 합성하기 위해 사용되는 여기 신호를 획득한다. 따라서, 정규화에 의해, 디코딩된 출력 신호는 인코딩된 여기 신호에 포함되었던 동일한 변화하는 지연을 보인다. 통상적으로, 정규화 양을 특정하는 정보는 디코더에 송신되지 않는다.
정규화는 잔여 신호를 보다 인코딩하기 용이하게 하려는 경향이 있고, 이는 장기간 예측자로부터의 코딩 이득을 개선하고, 따라서 일반적으로 아티팩트들을 생성하지 않고 전체 코딩 효율을 상승시킨다. 유성인 프레임들에 대해 정규화를 수행하는 것이 바람직할 수도 있다. 예컨대, 협대역 인코더 (A124) 는, 유성 신호들과 같은, 장기간 구조를 갖는 프레임들 또는 서브프레임들을 시프트하도록 구성될 수도 있다. 피치 펄스 에너지를 포함하는 서브프레임들에 대해 정규화 를 수행하는 것도 바람직할 수도 있다. RCELP 코드들의 기존의 구현들은, 미국 통신 산업 협회 (Telecommunications Industry Association; TIA) IS-127에서 설명된 인핸스드 가변 레이트 코덱 (Enhanced Variable Rate Codec; EVRC), 및 3세대 파트너쉽 프로젝트 2 (3GPP2) 선택형 모드 보코더 (Selectable Mode Vocoder; SMV) 를 포함한다.
불행히도, 정규화는, (광대역 스피치 인코더 (A100) 및 광대역 스피치 디코더 (B100) 를 포함하는 시스템과 같은) 인코딩된 협대역 여기 신호로부터 고대역 여기가 도출되는 광대역 스피치 코더에 대해 문제점들을 야기할 수도 있다. 시간 워핑된 신호로부터의 그 도출로 인해, 고대역 여기 신호는 일반적으로 원래의 고대역 스피치 신호의 시간 프로파일과 상이한 시간 프로파일을 가질 것이다. 즉, 고대역 여기 신호는 더 이상 원래의 고대역 스피치 신호와 동기하지 않을 것이다.
워핑된 고대역 여기 신호와 원래의 고대역 스피치 신호 사이의 시간의 오정렬 (misalignment) 은 수개의 문제점들을 야기할 수도 있다. 예컨대, 워핑된 고대역 여기 신호는 더 이상, 원래의 고대역 스피치 신호로부터 추출된 필터 파라미터들에 따라 구성된 합성 필터에 대해 적절한 소스 여기를 제공하지 않을 수도 있다. 결과로서, 합성된 고대역 신호는 디코딩된 광대역 스피치 신호의 지각 품질을 감소시키는 가청 아티팩트들을 포함할 수도 있다.
또한, 시간의 오정렬은 이득 엔벨로프 인코딩에서 비효율을 야기할 수도 있다. 상술된 바와 같이, 협대역 여기 신호 (S80) 와 고대역 신호 (S30) 의 시간 엔벨로프들 사이에 상관이 존재하리라 여겨진다. 이들 2개의 시간 엔벨로프들 사이의 관계에 따라 고대역 신호의 이득 엔벨로프를 인코딩함으로써, 이득 엔벨로프를 직접 인코딩하는 것과 비교하여 코딩 효율의 증가가 실현될 수도 있다. 그러나, 인코딩된 협대역 여기 신호가 정규화될 때, 이러한 상관은 약화될 수도 있다. 협대역 여기 신호 (S80) 와 고대역 신호 (S30) 사이의 시간의 오정렬은 고대역 이득 인자들 (S60b) 에서 변동들이 나타나도록 야기할 수도 있고, 코딩 효율이 떨어질 수도 있다.
구성들은, 대응하는 인코딩된 협대역 여기 신호에 포함된 시간 워핑에 따라, 고대역 스피치 신호의 시간 워핑을 수행하는 광대역 스피치 인코딩의 방법들을 포함한다. 이러한 방법들의 잠재적인 이점들은, 디코딩된 광대역 스피치 신호의 품질 개선 및/또는 고대역 이득 엔벨로프 코딩의 효율 개선을 포함한다.
도 25는 광대역 스피치 인코더 (A100) 의 일 구현 (AD10) 의 블록도를 도시한다. 인코더 (AD10) 는, 인코딩된 협대역 여기 신호 (S50) 의 계산 동안 정규화를 수행하도록 구성된 협대역 인코더 (A120) 의 일 구현 (A124) 을 포함한다. 예컨대, 협대역 인코더 (A124) 는 상술된 RCELP 구현들 중 하나 이상에 따라 구성될 수도 있다.
또한, 협대역 인코더 (A124) 는, 적용된 시간 워핑의 정도를 특정하는 정규화 데이터 신호 (SD10) 를 출력하도록 구성된다. 협대역 인코더 (A124) 가 각각의 프레임 또는 서브프레임에 고정 시간 시프트를 적용하도록 구성되는 다양한 경우들에 대해, 정규화 데이터 신호 (SD10) 는 샘플, 밀리초, 또는 어떤 다른 시간 증분의 표현으로 정수 또는 비정수 값으로서 각각의 시간 시프트 양을 표시하는 일련의 값들을 포함할 수도 있다. (예컨대, 하나의 부분을 압축하고 다른 부분을 확장함으로써) 협대역 인코더 (A124) 가 샘플들의 프레임 또는 다른 시퀀스의 시간 스케일을 다른 방식으로 변형하도록 구성되는 경우에 대해, 정규화 정보 신호 (SD10) 는 함수 파라미터들의 세트와 같은, 변형의 대응하는 디스크립션을 포함할 수도 있다. 하나의 특정한 예에서, 정규화 데이터 신호 (SD10) 가 인코딩된 협대역 신호의 각각의 정규화된 프레임에 대해 3개의 시간 시프트 양들을 표시하도록, 협대역 인코더 (A124) 는 프레임을 3개의 서브프레임들로 나누고 각각의 서브프레임에 대해 고정 시간 시프트를 계산하도록 구성된다.
광대역 스피치 인코더 (AD10) 는, 입력 신호에 의해 표시된 지연 양에 따라 고대역 스피치 신호 (S30) 의 선행 또는 지체 부분들로 구성된 지연 라인 (D120) 을 포함하여, 시간 워핑된 고대역 스피치 신호 (S30a) 를 생성한다. 도 25에 도시된 예에서, 지연 라인 (D120) 은 정규화 데이터 신호 (SD10) 에 의해 표시된 워핑에 따라 고대역 스피치 신호 (S30) 를 시간 워핑시키도록 구성된다. 그러한 방법에서, 인코딩된 협대역 여기 신호 (S50) 에 포함되었던 시간 워핑의 동일한 양이 분석 이전에 고대역 스피치 신호 (S30) 의 대응하는 부분에 또한 적용된다. 본 예가 고대역 인코더 (A200) 로부터의 개별 엘리먼트로서 지연 라인 (D120) 을 도시하지만, 다른 구현들에서 지연 라인 (D120) 은 고대역 인코더의 일부로서 배열된다.
고대역 인코더 (A200) 의 또 다른 구현들은, 워핑되지 않은 고대역 스피치 신호 (S30) 의 스펙트럼 분석 (예컨대, LPC 분석) 을 수행하고, 고대역 이득 파라미터들 (S60b) 의 계산 이전에 고대역 스피치 신호 (S30) 의 시간 워핑을 수행하도록 구성될 수도 있다. 예컨대, 이러한 인코더는 시간 워핑을 수행하도록 배열된 지연 라인 (D120) 의 일 구현을 포함할 수도 있다. 그러나, 이러한 경우들에서, 워핑되지 않은 신호 (S30) 의 분석에 기초한 고대역 필터 파라미터들 (S60a) 은 고대역 여기 신호 (S120) 와 시간 오정렬된 스펙트럼 엔벨로프를 묘사할 수도 있다.
지연 라인 (D120) 은, 고대역 스피치 신호 (S30) 에 대해 소망되는 시간 워핑 동작들을 적용하는데 적절한 로직 엘리먼트들과 저장 엘리먼트들의 임의의 조합에 따라 구성될 수도 있다. 예컨대, 지연 라인 (D120) 은 소망되는 시간 시프트들에 따라 버퍼로부터 고대역 스피치 신호 (S30) 를 판독하도록 구성될 수도 있다. 도 26a는 시프트 레지스터 (SR1) 를 포함하는 지연 라인 (D120) 의 일 구현 (D122) 의 개략도를 도시한다. 시프트 레지스터 (SR1) 는, 고대역 스피치 신호 (S30) 의 m개의 최신 샘플들을 수신하고 저장하도록 구성된 어떤 길이 m의 버퍼이다. 값 m은 적어도 지원되는 최대 양 (positive) (또는 "선행") 및 음 (negative) 의 (또는 "지체") 시간 시프트들의 합과 동일하다. 값 m이 고대역 신호 (S30) 의 프레임 또는 서브프레임의 길이와 동일한 것이 편리할 수도 있다.
지연 라인 (D122) 은 시프트 레지스터 (SR1) 의 오프셋 위치 (OL) 로부터 시간 워핑된 고대역 신호 (S30a) 를 출력하도록 구성된다. 오프셋 위치 (OL) 의 포지션은, 예컨대 정규화 데이터 신호 (SD10) 에 의해 표시된 현재의 시간 시프트 에 따라 기준 포지션 (제로 시간 시프트) 주위에서 변화한다. 지연 라인 (D122) 은 동일한 선행 및 지체 제한들을 지원하거나, 또는 다른 방법으로, 일방의 방향에서 타방의 방향에서 보다 더 큰 시프트가 수행될 수도 있도록 타방 보다 더 큰 일방의 제한을 지원하도록 구성될 수도 있다. 도 26a는 음의 시간 시프트 보다 더 큰 양의 시간 시프트를 지원하는 특정한 예를 도시한다. 지연 라인 (D122) 은 (예컨대, 출력 버스 폭에 따라) 일시에 하나 이상의 샘플들을 출력하도록 구성될 수도 있다.
수 밀리초 보다 큰 크기를 갖는 정규화 시간 시프트는 디코딩된 신호에서 가청 아티팩트들을 야기할 수도 있다. 통상적으로, 협대역 인코더 (A124) 에 의해 수행되는 정규화 시간 시프트의 크기는 수 밀리초를 초과하지 않아서, 정규화 데이터 신호 (SD10) 에 의해 표시되는 시간 시프트들이 제한될 것이다. 그러나, (예컨대, 협대역 인코더에 의해 부과된 제한 보다 더 타이트한 제한을 준수하기 위해) 이는 지연 라인 (D122) 이 양 및/또는 음의 방향의 시간 시프트들에 대해 최대 제한을 부과하도록 구성되는 경우들에서 바람직할 수도 있다.
도 26b는 시프트 윈도우 (SW) 를 포함하는 지연 라인 (D122) 의 일 구현 (D124) 의 개략도를 도시한다. 본 예에서, 오프셋 위치 (OL) 의 포지션은 시프트 윈도우 (SW) 에 의해 제한된다. 도 26b가 버퍼 길이 m이 시프트 윈도우 (SW) 의 폭 보다 더 큰 경우를 도시하지만, 시프트 윈도우 (SW) 의 폭이 m과 동일하도록 지연 라인 (D124) 이 또한 구현될 수도 있다.
다른 구현들에서, 지연 라인 (D124) 은 소망되는 시간 시프트들에 따라 버퍼 에 고대역 스피치 신호 (S30) 를 기록하도록 구성된다. 도 27은, 고대역 스피치 신호 (S30) 를 수신하고 저장하도록 구성된 2개의 시프트 레지스터들 (SR2 및 SR3) 을 포함하는 지연 라인 (D120) 의 일 구현 (D130) 의 개략도를 도시한다. 지연 라인 (D130) 은, 예컨대 정규화 데이터 신호 (SD10) 에 의해 표시되는 시간 시프트에 따라 시프트 레지스터 (SR2) 로부터 시프트 레지스터 (SR3) 로 프레임 또는 서브프레임을 기록하도록 구성된다. 시프트 레지스터 (SR3) 는 시간 워핑된 고대역 신호 (S30) 를 출력하도록 배열된 FIFO 버퍼로서 구현된다.
도 27에 도시된 특정한 예에서, 시프트 레지스터 (SR2) 는 프레임 버퍼 부분 (FB1) 및 지연 버퍼 부분 (DB) 을 포함하고, 시프트 레지스터 (SR3) 는 프레임 버퍼 부분 (FB2), 선행 버퍼 부분 (AB), 및 지체 버퍼 부분 (RB) 을 포함한다. 선행 버퍼 (AB) 와 지체 버퍼 (RB) 의 길이들은 동일하거나, 또는 타방에서 보다 일방의 방향에서 더 큰 시프트가 지원되도록 일방이 타방 보다 더 클 수도 있다. 지연 버퍼 (DB) 및 지체 버퍼 부분 (RB) 은 동일한 길이를 갖도록 구성될 수도 있다. 다른 방법으로, 프레임 버퍼 (FB1) 로부터 시프트 레지스터 (SR3) 로 샘플들을 전달하기 위해 이용되는 시간 간격을 고려하기 위해, 지연 버퍼 (DB) 는 지체 버퍼 (RB) 보다 더 짧을 수도 있고, 이는 시프트 레지스터 (SR3) 로의 저장 이전에 샘플들의 워핑과 같은 다른 프로세싱 동작들을 포함할 수도 있다.
도 27의 예에서, 프레임 버퍼 (FB1) 는 고대역 신호 (S30) 의 하나의 프레임의 길이와 동일한 길이를 갖도록 구성된다. 다른 예에서, 프레임 버퍼 (FB1) 는 고대역 신호 (S30) 의 하나의 서브프레임의 길이와 동일한 길이를 갖도록 구성 된다. 그러한 경우에, 지연 라인 (D130) 은, 시프트될 프레임의 서브프레임들에 동일한 (예컨대, 평균) 지연을 적용하기 위한 로직을 포함하도록 구성될 수도 있다. 또한, 지연 라인 (D130) 은, 프레임 버퍼 (FB1) 로부터의 값들과 지체 버퍼 (RB) 또는 선행 버퍼 (AB) 에 덮어쓰기될 (overwrite) 값들을 평균하기 위한 로직을 포함할 수도 있다. 또 다른 예에서, 시프트 레지스터 (SR3) 는 프레임 버퍼 (FB1) 를 통해 고대역 신호 (S30) 의 값들을 수신하도록 구성될 수도 있고, 이러한 경우에, 지연 라인 (D130) 은 시프트 레지스터 (SR3) 에 기록되는 연속하는 프레임들 또는 서브프레임들 사이의 갭들에 걸쳐 보간하기 위한 로직을 포함할 수도 있다. 다른 구현들에서, 지연 라인 (D130) 은 (예컨대, 정규화 데이터 신호 (SD10) 에 의해 묘사된 함수에 따라) 시프트 레지스터 (SR3) 에 기록하기 전에, 프레임 버퍼 (FB1) 로부터의 샘플들에 대해 워핑 동작을 수행하도록 구성될 수도 있다.
지연 라인 (D120) 은, 정규화 데이터 신호 (SD10) 에 의해 특정된 워핑에 기초하지만 동일하지는 않은 시간 워핑을 적용하는 것이 바람직할 수도 있다. 도 28은 지연 값 맵퍼 (D110) 를 포함하는 광대역 스피치 인코더 (AD10) 의 일 구현 (AD12) 의 블록도를 도시한다. 지연 값 맵퍼 (D110) 는, 정규화 데이터 신호 (SD10) 에 의해 표시된 워핑을 매핑된 지연 값들 (SD10a) 로 매핑하도록 구성된다. 지연 라인 (D120) 은 매핑된 지연 값들 (SD10a) 에 의해 표시된 워핑에 따라 시간 워핑된 고대역 스피치 신호 (S30a) 를 생성하도록 배열된다.
협대역 인코더에 의해 적용된 시간 시프트는 시간에 걸쳐 평활하게 전개하리 라 예상될 수도 있다. 따라서, 통상적으로, 스피치의 프레임 동안 서브프레임들에 적용된 평균 협대역 시간 시프트를 계산하고, 그 평균에 따라 고대역 스피치 신호 (S30) 의 대응하는 프레임을 시프트하기에 충분하다. 하나의 그러한 예에서, 지연 값 맵퍼 (D110) 는 각각의 프레임에 대해 서브프레임 지연 값들의 평균을 계산하도록 구성되고, 지연 라인 (D120) 은 고대역 신호 (S30) 의 대응하는 프레임에 계산된 평균을 적용하도록 구성된다. 다른 예들에서, (2개의 서브프레임들 또는 프레임의 1/2과 같은) 보다 짧은 기간 또는 (2개의 프레임들과 같은) 보다 긴 기간에 걸친 평균이 계산되고 적용될 수도 있다. 평균이 비정수의 샘플들의 값인 경우에, 지연 값 맵퍼 (D110) 는 지연 라인 (D120) 에 출력하기 전에, 값을 정수의 샘플들의 수로 반올림하도록 구성될 수도 있다.
협대역 인코더 (A124) 는 인코딩된 협대역 여기 신호에서 비정수의 샘플들의 수의 정규화 시간 시프트를 포함하도록 구성될 수도 있다. 그러한 경우에, 지연 값 맵퍼 (D110) 가 정수의 샘플들의 수로 협대역 시간 시프트를 반올림하도록 구성되고, 지연 라인 (D120) 이 고대역 스피치 신호 (S30) 에 반올림된 시간 시프트를 적용하는 것이 바람직할 수도 있다.
광대역 스피치 인코더 (AD10) 의 몇몇 구현들에서, 협대역 스피치 신호 (S20) 와 고대역 스피치 신호 (S30) 의 샘플링 레이트들이 상이할 수도 있다. 이러한 경우들에서, 지연 값 맵퍼 (D110) 는, 협대역 스피치 신호 (S20) (또는, 협대역 여기 신호 (S80)) 와 고대역 스피치 신호 (S30) 의 샘플링 레이트들 사이의 차이를 고려하기 위해 정규화 데이터 신호 (SD10) 에 표시된 시간 시프트 양을 조 정하도록 구성될 수도 있다. 예컨대, 지연 값 맵퍼 (D110) 는 샘플링 레이트들의 비율에 따라 시간 시프트 양을 스케일링하도록 구성될 수도 있다. 상술된 하나의 특정한 예에서, 협대역 스피치 신호 (S20) 는 8 kHz로 샘플링되고, 고대역 스피치 신호 (S30) 는 7 kHz로 샘플링된다. 이러한 경우에, 지연 값 맵퍼 (D110) 는 각각의 시프트 양에 7/8을 곱하도록 구성된다. 또한, 지연 값 맵퍼 (D110) 의 구현들은, 본원에서 설명된 바와 같은 정수-반올림 및/또는 시간 시프트 평균 동작과 함께 스케일링 동작을 수행하도록 구성될 수도 있다.
또 다른 구현들에서, 지연 라인 (D120) 은 (예컨대, 하나의 부분을 압축하고 다른 부분을 확장시킴으로써) 샘플들의 프레임 또는 다른 시퀀스의 시간 스케일을 다른 방식으로 변형하도록 구성된다. 예컨대, 협대역 인코더 (A124) 는 피치 윤곽선 또는 궤적과 같은 함수에 따라 정규화를 수행하도록 구성될 수도 있다. 이러한 경우에, 정규화 데이터 신호 (SD10) 는 파라미터들의 세트와 같은, 함수의 대응하는 디스크립션을 포함할 수도 있고, 지연 라인 (D120) 은 함수에 따라 고대역 스피치 신호 (S30) 의 프레임들 또는 서브프레임들을 워핑하도록 구성된 로직을 포함할 수도 있다. 다른 구현들에서, 지연 값 맵퍼 (D110) 는, 지연 라인 (D120) 에 의해 고대역 스피치 신호 (S30) 에 적용되기 전에, 함수를 평균, 스케일링, 및/또는 반올림하도록 구성된다. 예컨대, 지연 값 맵퍼 (D110) 는 함수에 따라 하나 이상의 지연 값들을 계산하도록 구성될 수도 있고, 각각의 지연 값은 샘플들의 수를 표시하며, 그 후 지연 값들은 지연 라인 (D120) 에 의해 적용되어, 고대역 스피치 신호 (S30) 의 하나 이상의 대응하는 프레임들 또는 서브프레임들을 시간 워핑한다.
도 29는, 대응하는 인코딩된 협대역 여기 신호에 포함된 시간 워핑에 따라 고대역 스피치 신호를 시간 워핑하는 방법 (MD100) 에 대한 흐름도를 도시한다. 태스크 (TD100) 는 광대역 스피치 신호를 프로세싱하여, 협대역 스피치 신호 및 고대역 스피치 신호를 획득한다. 예컨대, 태스크 (TD100) 는, 필터 뱅크 (A110) 의 일 구현과 같은, 저역통과 및 고역통과 필터들을 갖는 필터 뱅크를 사용하여, 광대역 스피치 신호를 필터링하도록 구성될 수도 있다. 태스크 (TD200) 는, 협대역 스피치 신호를 적어도 인코딩된 협대역 여기 신호 및 복수의 협대역 필터 파라미터들로 인코딩한다. 인코딩된 협대역 여기 신호 및/또는 필터 파라미터들은 양자화될 수도 있고, 인코딩된 협대역 스피치 신호는 스피치 모드 파라미터와 같은 다른 파라미터들을 또한 포함할 수도 있다. 또한, 태스크 (TD200) 는 인코딩된 협대역 여기 신호에 시간 워핑을 또한 포함시킨다.
태스크 (TD300) 는 협대역 여기 신호에 기초하여 고대역 여기 신호를 생성한다. 이러한 경우에, 협대역 여기 신호는 인코딩된 협대역 여기 신호에 기초한다. 적어도 고대역 여기 신호에 따라, 태스크 (TD400) 는 고대역 스피치 신호를 적어도 복수의 고대역 필터 파라미터들로 인코딩한다. 예컨대, 태스크 (TD400) 는 고대역 스피치 신호를 복수의 양자화된 LSF들로 인코딩하도록 구성될 수도 있다. 태스크 (TD500) 는 인코딩된 협대역 여기 신호에 포함된 시간 워핑에 관한 정보에 기초한 고대역 스피치 신호에 시간 시프트를 적용한다.
태스크 (TD400) 는 고대역 스피치 신호에 대해 (LPC 분석과 같은) 스펙트럼 분석을 수행하고, 및/또는 고대역 스피치 신호의 이득 엔벨로프를 계산하도록 구성될 수도 있다. 이러한 경우들에, 태스크 (TD500) 는, 분석 및/또는 이득 엔벨로프 계산 이전에 고대역 스피치 신호에 시간 시프트를 적용하도록 구성될 수도 있다.
광대역 스피치 인코더 (A100) 의 다른 구현들은, 인코딩된 협대역 여기 신호에 포함된 시간 워핑에 의해 야기되는 고대역 여기 신호 (S120) 의 시간 워핑을 반전시키도록 구성된다. 예컨대, 고대역 여기 생성기 (A300) 는, 정규화 데이터 신호 (SD10) 또는 매핑된 지연 값들 (SD10a) 을 수신하도록 구성된 지연 라인 (D120) 의 일 구현을 포함하고, 협대역 여기 신호 (S80), 및/또는 고조파 확장된 신호 (S160) 또는 고대역 여기 신호 (S120) 와 같은, 그에 기초한 후속하는 신호에 대응하는 반전 시간 시프트를 적용하도록 구현될 수도 있다.
또 다른 광대역 스피치 인코더 구현들은 협대역 스피치 신호 (S20) 및 고대역 스피치 신호 (S30) 를 서로 독립적으로 인코딩하도록 구성되어, 고대역 스피치 신호 (S30) 가 고대역 스펙트럼 엔벨로프 및 고대역 여기 신호의 표현으로서 인코딩되도록 할 수도 있다. 이러한 구현은, 인코딩된 협대역 여기 신호에 포함된 시간 워핑에 관한 정보에 따라, 고대역 잔여 신호의 시간 워핑을 수행하거나, 또는 다른 방식으로, 인코딩된 고대역 여기 신호에 시간 워핑을 포함시키도록 구성될 수도 있다. 예컨대, 고대역 인코더는, 고대역 잔여 신호에 시간 워핑을 적용하도록 구성된, 본원에 설명된 지연 라인 (D120) 및/또는 지연 값 맵퍼 (D110) 의 일 구현을 포함할 수도 있다. 이러한 동작의 잠재적인 이점들은, 고대역 잔여 신 호의 보다 효율적인 인코딩, 및 합성된 협대역 신호와 고대역 스피치 신호 사이의 더 양호한 매칭을 포함한다.
상술된 바와 같이, 본원에서 설명된 구성들은, 임베딩된 코딩, 협대역 시스템들과의 호환성 지원, 및 트랜스코딩에 대한 필요성 회피를 수행하기 위해 사용될 수도 있는 구현들을 포함한다. 또한, 고대역 코딩에 대한 지원은, 칩, 칩셋, 디바이스, 및/또는 역방향 호환성과 함께 광대역 지원을 갖는 네트워크 및 협대역 지원을 갖는 네트워크 사이에서 비용에 기초하여 구별하도록 서빙할 수도 있다. 또한, 본원에서 설명된 고대역 코딩에 대한 지원은, 저대역 코딩을 지원하는 기술과 함께 사용될 수도 있고, 그러한 구성에 따른 시스템, 방법, 또는 장치는 예컨대 약 50 내지 100 Hz로부터 약 7 또는 8 kHz까지의 주파수 컴포넌트들의 코딩을 지원할 수도 있다.
상술된 바와 같이, 스피치 코더에 고대역 지원을 부가하는 것은, 명료성 (intelligibility), 특히 마찰음들의 구별에 관한 명료성을 개선할 수도 있다. 통상적으로, 특정한 맥락으로부터 인간 청취자에 의해 그러한 구별이 도출될 수도 있지만, 고대역 지원은, 자동화된 음성 메뉴 네비게이션 및/또는 자동 호 프로세싱용 시스템들과 같은 스피치 인식 및 다른 머신 해석 애플리케이션들에서 인에이블링 특징으로서 서빙할 수도 있다.
구성에 따른 장치는 셀룰러 전화기 또는 퍼스널 디지털 어시스턴트 (PDA) 와 같은 무선 통신용 포터블 디바이스에 임베딩될 수도 있다. 다른 방법으로, 그러한 장치는, VoIP 핸드셋, VoIP 통신을 지원하도록 구성된 퍼스널 컴퓨터, 또는 전화 또는 VoIP 통신을 라우팅하도록 구성된 네트워크 디바이스와 같은 다른 통신 디바이스에 포함될 수도 있다. 예컨대, 구성에 따른 장치는 통신 디바이스용 칩 또는 칩셋으로 구현될 수도 있다. 특정한 애플리케이션에 따라, 그러한 디바이스는, 스피치 신호의 아날로그 대 디지털 및/또는 디지털 대 아날로그 변환, 스피치 신호에 대한 증폭 및/또는 다른 신호 프로세싱 동작들을 수행하는 회로, 및/또는 코딩된 스피치 신호의 송신 및/또는 수신을 위한 무선 주파수 회로와 같은 특징들을 포함할 수도 있다.
구성들이 미국 가출원 제 60/667,901 호 및 제 60/673,965 호에서 개시된 다른 특징들 중 임의의 하나 이상을 포함하고 및/또는 그 임의의 하나 이상과 함께 사용될 수도 있다는 것이 명시적으로 고려되고 개시된다. 그러한 특징들은, 고대역에서 발생하며 협대역에서 실질적으로 부재하는 짧은 지속기간의 고에너지 버스트의 제거를 포함한다. 그러한 특징들은 고대역 LSF들과 같은 계수 표현들의 고정형 또는 적응형 평활화를 포함한다. 그러한 특징들은 LSF들과 같은 계수 표현들의 양자화와 연관된 잡음의 고정형 또는 적응형 정형을 포함한다. 또한, 그러한 특징들은 이득 엔벨로프의 고정형 또는 적응형 평활화, 및 이득 엔벨로프의 적응형 감쇠를 포함한다.
고대역 여기 생성기들 (A300 및 B300), 고대역 인코더 (A200), 고대역 디코더 (B200), 광대역 스피치 인코더 (A100), 및 광대역 스피치 디코더 (B100) 의 구현들의 다양한 엘리먼트들은, 예컨대 동일한 칩 상에 또는 칩셋 내의 2개 이상의 칩들 중에 상주하는 전자 및/또는 광학 디바이스들로서 구현될 수도 있지만, 그러 한 제한 없이 다른 배열들이 또한 고려된다. 그러한 장치의 하나 이상의 엘리먼트들은, 마이크로프로세서, 임베딩된 프로세서, IP 코어, 디지털 신호 프로세서, FPGA (field-programmable gate array), ASSP (application-specific integrated circuit), 및 ASIC (application-specific integrated circuit) 와 같은 로직 엘리먼트들 (예컨대, 트랜지스터, 게이트) 의 하나 이상의 고정 또는 프로그래머블 어레이들 상에서 실행하도록 배열된 명령들의 하나 이상의 세트들로서 전부 또는 일부 구현될 수도 있다. 또한, 하나 이상의 그러한 엘리먼트들이 공통인 구조를 갖는 것이 가능하다 (예컨대, 상이한 시간들에서 상이한 엘리먼트들에 대응하는 코드의 부분들을 실행하기 위해 사용되는 프로세서, 상이한 시간들에서 상이한 엘리먼트들에 대응하는 태스크들을 수행하기 위해 실행되는 명령들의 세트, 또는 상이한 시간들에서 상이한 엘리먼트들에 대한 동작들을 수행하는 전자 및/또는 광학 디바이스들의 배열). 또한, 하나 이상의 그러한 엘리먼트들이, 장치가 임베딩된 디바이스 또는 시스템의 다른 동작에 관한 태스크와 같은, 장치의 동작에 직접 관련되지 않는, 명령들의 다른 세트들을 실행하거나 또는 태스크들을 수행하기 위해 사용되는 것이 가능하다.
도 30은 구성에 따라, 협대역 부분 및 고대역 부분을 갖는 스피치 신호의 고대역 부분을 인코딩하는 방법 (M100) 의 흐름도를 도시한다. 태스크 (X100) 는 고대역 부분의 스펙트럼 엔벨로프를 특성화하는 필터 파라미터들의 세트를 계산한다. 태스크 (X200) 는 협대역 부분으로부터 도출된 신호에 비선형 함수를 적용함으로써 스펙트럼 확장된 신호를 계산한다. 태스크 (X300) 는, (A) 필터 파라 미터들의 세트 및 (B) 스펙트럼 확장된 신호에 기초한 고대역 여기 신호에 따라, 합성된 고대역 신호를 생성한다. 태스크 (X400) 는, (C) 고대역 부분의 에너지와 (D) 협대역 부분으로부터 도출된 신호의 에너지 사이의 관계에 기초하여 이득 엔벨로프를 계산한다.
도 31a는 구성에 따라 고대역 여기 신호를 생성하는 방법 (M200) 의 흐름도를 도시한다. 태스크 (Y100) 는 스피치 신호의 협대역 부분으로부터 도출된 협대역 여기 신호에 비선형 함수를 적용함으로써 고조파 확장된 신호를 계산한다. 태스크 (Y200) 는 고조파 확장된 신호와 변조된 잡음 신호를 혼합하여 고대역 여기 신호를 생성한다. 도 31b는 태스크들 (Y300 및 Y400) 을 포함하는 다른 구성에 따라 고대역 여기 신호를 생성하는 방법 (M210) 의 흐름도를 도시한다. 태스크 (Y300) 는 협대역 여기 신호와 고조파 확장된 신호 중 하나의 시간에 걸친 에너지에 따라 시간 도메인 엔벨로프를 계산한다. 태스크 (Y400) 는 시간 도메인 엔벨로프에 따라 잡음 신호를 변조하여 변조된 잡음 신호를 생성한다.
도 32는 구성에 따라, 협대역 부분 및 고대역 부분을 갖는 스피치 신호의 고대역 부분을 디코딩하는 방법 (M300) 의 흐름도를 도시한다. 태스크 (Z100) 는, 고대역 부분의 스펙트럼 엔벨로프를 특성화하는 필터 파라미터들의 세트, 및 고대역 부분의 시간 엔벨로프를 특성화하는 이득 인자들의 세트를 수신한다. 태스크 (Z200) 는 협대역 부분으로부터 도출된 신호에 비선형 함수를 적용함으로써 스펙트럼 확장된 신호를 계산한다. 태스크 (Z300) 는, (A) 필터 파라미터들의 세트 및 (B) 스펙트럼 확장된 신호에 기초한 고대역 여기 신호에 따라 합성된 고대 역 신호를 생성한다. 태스크 (Z400) 는 이득 인자들의 세트에 기초하여 합성된 고대역 신호의 이득 엔벨로프를 변조한다. 예컨대, 태스크 (Z400) 는, 협대역 부분으로부터 도출된 여기 신호에, 스펙트럼 확장된 신호에, 고대역 여기 신호에, 또는 합성된 고대역 신호에, 이득 인자들의 세트를 적용함으로써, 합성된 고대역 신호의 이득 엔벨로프를 변조하도록 구성될 수도 있다.
도 33은, 복수의 이동국들 (3302), 복수의 기지국들 (3304), 기지국 제어기 (BSC) (3306), 및 이동 전화 교환국 (MSC) (3308) 을 포함할 수도 있는 코드 분할 다중 접속 (CDMA) 무선 전화 시스템 (3300) 을 예시한다. MSC (3308) 는 공중 전화 교환망 (PSTN) (3310) 과 인터페이스하도록 구성될 수도 있다. 또한, MSC (3308) 는 BSC (3306) 와 인터페이스하도록 구성될 수도 있다. 시스템 (3300) 에 2개 이상의 BSC (3306) 가 존재할 수도 있다. 각각의 기지국 (3304) 은 적어도 하나의 섹터 (미도시) 를 포함할 수도 있고, 여기서 각각의 섹터는, 무지향성 안테나, 또는 기지국들 (3304) 로부터 떨어진 특정한 반경 방향으로 지향되는 안테나를 가질 수도 있다. 다른 방법으로, 각각의 섹터는 다이버시티 수신을 위한 2개의 안테나들을 포함할 수도 있다. 각각의 기지국 (3304) 은 복수의 주파수 할당들을 지원하기 위해 설계될 수도 있다. 섹터와 주파수 할당의 교점은 CDMA 채널이라 지칭될 수도 있다. 이동국들 (3302) 은 셀룰러 또는 포터블 통신 시스템 (PCS) 전화기들을 포함할 수도 있다.
셀룰러 전화 시스템 (3300) 의 동작 동안에, 기지국들 (3304) 은 이동국들 (3302) 의 세트들로부터 역방향 링크 신호들의 세트들을 수신할 수도 있다. 이 동국들 (3302) 은 전화 호들 또는 다른 통신들을 실시하고 있을 수도 있다. 소정의 기지국 (3304) 에 의해 수신된 각각의 역방향 링크 신호는 기지국 (3304) 내에서 프로세싱될 수도 있다. 결과의 데이터는 BSC (3306) 에 포워딩될 수도 있다. BSC (3306) 는, 기지국들 (3304) 사이의 소프트 핸드오프들의 편성을 포함하는 이동성 관리 기능성 및 호 리소스 할당을 제공할 수도 있다. 또한, BSC (3306) 는 MSC (3308) 에 수신된 데이터를 라우팅할 수도 있고, MSC (3308) 는 PSTN (3310) 과의 인터페이스를 위한 추가적인 라우팅 서비스들을 제공한다. 유사하게, PSTN (3310) 은 MSC (3308) 와 인터페이스할 수도 있고, MSC (3308) 는 BSC (3306) 와 인터페이스할 수도 있으며, BSC (3306) 는 이어서 이동국들 (3302) 의 세트들에 순방향 링크 신호들의 세트들을 송신하도록 기지국들 (3304) 을 제어할 수도 있다.
도 34는 인코더 (3402), 디코더 (3404), 및 송신 매체 (3406) 를 포함하는 신호 송신 환경 (3400) 을 도시한다. 인코더 (3402) 는 이동국 (3302) 에서 구현되거나 또는 기지국 (3304) 에서 구현될 수도 있다. 디코더 (3404) 는 기지국 (3304) 에서 구현되거나 또는 이동국 (3302) 에서 구현될 수도 있다. 인코더 (3402) 는 스피치 신호 s(n) (3410) 을 인코딩하여, 인코딩된 스피치 신호 senc(n) (3412) 을 형성할 수도 있다. 인코딩된 스피치 신호 (3412) 는 송신 매체 (3406) 를 통해 디코더 (3404) 에 송신될 수도 있다. 디코더 (3404) 는 senc(n) (3412) 을 디코딩함으로써 합성된 스피치 신호 (3416) 를 생성할 수도 있다.
본원에서 사용되는 바와 같이 용어 "코딩" 은 일반적으로 인코딩 및 디코딩 양자 모두를 포함하는 방법들을 지칭할 수도 있다. 일반적으로, 코딩 시스템, 방법, 및 장치는, 수용가능한 스피치 재생을 유지하면서 (즉, ), 송신 매체 (3406) 를 통해 송신되는 비트의 수를 최소화시키려고 노력한다 (즉, senc(n) (3412) 의 대역폭을 최소화). 장치는, 이동 전화기, 퍼스널 디지털 어시스턴트 (PDA), 랩탑 컴퓨터, 디지털 카메라, 뮤직 플레이어, 게임 디바이스, 기지국, 또는 프로세서를 갖는 임의의 다른 디바이스일 수도 있다. 인코딩된 스피치 신호 (3412) 의 조성은 인코더 (3402) 에 의해 이용되는 특정한 스피치 코딩 모드에 따라 변화할 수도 있다. 다양한 코딩 모드들이 이하 설명된다.
이하 설명되는 인코더 (3402) 및 디코더 (3404) 의 컴포넌트들은 전자 하드웨어로서, 컴퓨터 소프트웨어로서, 또는 이들의 조합들로서 구현될 수도 있다. 이들 컴포넌트들은 그 기능성의 관점에서 이하 설명된다. 기능성이 하드웨어 또는 소프트웨어로서 구현되는지는 특정한 애플리케이션 및 전체 시스템에 부과된 설계 제약들에 의존할 수도 있다. 송신 매체 (3406) 는, 지상 기반 통신 라인, 기지국과 위성 사이의 링크, 셀룰러 전화기와 기지국 사이의 무선 통신, 또는 셀룰러 전화기와 위성 사이의 무선 통신을 포함하며 이에 제한되지는 않는 다수의 상이한 송신 매체를 표현할 수도 있다.
통신에 대한 각각의 파티는 데이터를 송신할 뿐만 아니라 데이터를 수신할 수도 있다. 각각의 파티는 인코더 (3402) 및 디코더 (3404) 를 이용할 수도 있다. 그러나, 신호 송신 환경 (3400) 은, 송신 매체 (3406) 의 일단에 인코더 (3402) 를 포함하고 타단에 디코더 (3404) 를 포함하는 것으로서 이하 설명될 것이다.
이러한 설명의 목적을 위해, s(n) (3410) 은 상이한 음성들 및 묵음의 기간들을 포함하는 통상적인 대화 동안 획득되는 디지털 스피치 신호를 포함할 수도 있다. 스피치 신호 s(n) (3410) 은 프레임들로 분할될 수도 있고, 각각의 프레임은 서브프레임들로 더 분할될 수도 있다. 이들 임의로 선택된 프레임/서브프레임 경계들은 몇몇 블록 프로세싱이 수행되는 경우에 사용될 수도 있다. 또한, 프레임들에 대해 수행되는 것으로서 설명된 동작들이 서브프레임들에도 수행될 수도 있으며, 이러한 관점에서, 본원에서는 프레임 및 서브프레임이 상호 교환적으로 사용된다. 그러나, 블록 프로세싱이 아닌 연속적인 프로세싱이 구현되는 경우에, s(n) (3410) 은 프레임들/서브프레임들로 분할되지 않을 수도 있다. 따라서, 이하 설명되는 블록 기술들은 연속적인 프로세싱으로 확장될 수도 있다.
인코더 (3402) 는 협대역 (NB) 코더 또는 광대역 (WB) 코더로서 구현될 수도 있다. NB 코더는 8 kHz로 신호 s(n) (3410) 을 디지털 샘플링하고 50 Hz 내지 4 kHz의 대역폭에 존재하는 신호 정보를 코딩할 수도 있다. NB 코더의 예는 인핸스드 가변 레이트 코더 (EVRC-B) 를 포함할 수도 있다. WB 코더는 16 kHz로 신호 s(n) (3410) 을 디지털 샘플링하고 4 내지 8 kHz의 범위 사이를 더한 NB 코더 의 대역폭에 존재하는 정보를 코딩할 수도 있다. WB의 예는 EVRC-WB 코더를 포함할 수도 있다. 일 양태에서, EVRC-WB는 EVRC-B의 광대역 확장이다. 신호 s(n) (3410) 로부터 분할된 각각의 프레임은 20 밀리초 (ms) 의 데이터 또는 160개의 샘플들을 포함할 수도 있다. 각각의 서브프레임은 데이터의 53개 또는 54개의 샘플들을 포함할 수도 있다. 이들 파라미터들이 스피치 코딩에 대해 적절할 수도 있고, 이들은 단지 예들일 뿐이며, 다른 적당한 대안적인 파라미터들이 사용될 수도 있다.
인코더 (3402) 가 NB 코더로서 구현되는 경우에, 프레임은 협대역 패킷 (3418) 으로서 패킹될 수도 있다. 협대역 패킷 (3418) 은 협대역 식별자 (3422) 를 포함할 수도 있다. 식별자 (3422) 는, 협대역 패킷 (3418) 이 NB 코더를 사용하여 인코딩되었다는 것을 디코더 (3404) 에 표시할 수도 있다. 인코더 (3402) 가 WB 코더로서 구현되는 경우에, 프레임은 광대역 패킷 (3420) 으로서 패킹될 수도 있다. 광대역 패킷 (3420) 은 광대역 식별자 (3424) 를 포함할 수도 있다. 식별자 (3424) 는, 광대역 패킷 (3420) 이 WB 코더를 사용하여 인코딩되었다는 것을 디코더 (3404) 에 표시할 수도 있다. 디코더 (3404) 는, 식별자 (3422 또는 3424) 를 인식하며 패킷 (3418 또는 3420) 을 디코딩하기 위해 NB 디코더 또는 WB 디코더가 구현되어야 하는지를 결정할 수도 있는 패킷 식별 모듈 (3414) 을 포함할 수도 있다.
도 35는 스피치 신호와 연관된 패킷에 식별자를 포함시키는 방법 (3500) 의 일 구성을 예시하는 흐름도이다. 일 양태에서, 식별자는, 패킷이 NB 코더 또는 WB 코더에 의해 인코딩되었는지를 표시할 수도 있다. 방법 (3500) 은 인코더 (3402) 와 같은 인코더에 의해 구현될 수도 있다.
인코더 (3402) 에 의해 신호가 수신 (3502) 될 수도 있다. 일 양태에서, 신호는 스피치 신호의 타입이다. 신호는 분석되고, 복수의 프레임들로 분할 (3504) 된다. 신호의 분할된 프레임은 특정한 코딩 기법 (예컨대, CELP, PPP, NELP) 을 사용하여 1/2 레이트로 인코딩 (3506) 될 수도 있다. 일 양태에서, 패킷은 80 비트로 인코딩될 수도 있다. 용어 "1/2 레이트" 는 80 비트를 갖는 패킷을 표현하기 위해 사용될 수도 있다. 프레임이 80 비트를 포함하는 광대역 1/2 레이트 프레임인지의 결정 (3508) 이 이루어진다. 즉, 인코더 (3402) 가 WB 코더로서 역할하였고 광대역 1/2 레이트 (WB-HR) 프레임으로서 프레임을 인코딩하였는지 여부의 결정 (3508) 이 이루어진다. 프레임이 WB-HR 프레임인 경우에, 광대역 식별자가 패킷으로 패킹 (3510) 될 수도 있다. 일 양태에서, 광대역 식별자는 2진 형태의 10진수 "126" 및 "127" 의 처음 6개의 디지트를 포함한다. 2진 형태의 10진수 "126" 은 "1111110" 이고, "127" 의 2진 형태는 "1111111" 이다. 따라서, 광대역 식별자는 6개의 1의 스트링 (예컨대, "111111") 을 포함할 수도 있다.
프레임이 WB-HR 프레임이 아니라고 결정 (3508) 된 경우에, 협대역 식별자가 패킷으로 패킹 (3512) 될 수도 있다. 일 양태에서, 협대역 식별자는 지연 파라미터와 연관될 수도 있다. 예컨대, 지연 파라미터를 표현하기 위해 사용되는 비트가 또한 협대역 식별자로서 사용될 수도 있다. 패킷은 송신 (3514) 될 수 도 있다. 일 양태에서, 패킷은 디코더에 송신 (3514) 된다.
도 36은 패킷을 디코딩하는 방법 (3600) 의 일 구성을 예시하는 흐름도이다. 방법 (3600) 은 디코더 (3404) 에 의해 구현될 수도 있다. 일 양태에서, 1/2 레이트 패킷이 수신 (3602) 된다. 1/2 레이트 패킷에 포함된 식별자가 분석 (3604) 될 수도 있다. 식별자는, 1/2 레이트 패킷이 WB 코더 또는 NB 코더에 의해 인코딩되었는지를 표시할 수도 있다. 일 양태에서, 식별자는 무효/위법 래그인 특별한 패킷 식별자 (ID) 이다. 식별자의 분석에 기초하여, 패킷이 WB-HR 패킷인지의 결정 (3606) 이 이루어진다. 패킷이 WB-HR 패킷인 경우에, 패킷은 광대역 디코딩 기법들을 사용하여 디코딩 (3608) 될 수도 있다. 일 구성에서, 디코더 (3404) 는 WB 디코더로서 역할한다. 그러나, 패킷이 WB-HR이 아니라고 결정 (3606) 된 경우에, 패킷은 협대역 디코딩 기법들을 사용하여 디코딩 (3610) 될 수도 있다. 디코더 (3404) 는 NB 디코더로서 역할할 수도 있다. 신호는 하나 이상의 디코딩된 패킷들로부터 복원 (3612) 될 수도 있다.
도 37은 통신 채널 (3706) 을 통해 멀티 모드 디코더 (3704) 와 통신하는 멀티 모드 인코더 (3702) 의 일 구성을 예시하는 블록도이다. 통신 채널 (3706) 은 무선 주파수 (RF) 인터페이스를 포함할 수도 있다. 인코더 (3702) 는 연관된 디코더 (미도시) 를 포함할 수도 있다. 인코더 (3702) 및 그 연관된 디코더는 제 1 스피치 코더를 형성할 수도 있다. 디코더 (3704) 는 연관된 인코더 (미도시) 를 포함할 수도 있다. 디코더 (3704) 및 그 연관된 인코더는 제 2 스피치 코더를 형성할 수도 있다.
인코더 (3702) 는, 초기 파라미터 계산 모듈 (3718), 레이트 결정 모듈 (3720), 모드 분류 모듈 (3722), 복수의 인코딩 모드들 (3724, 3726, 3728), 및 패킷 포매팅 모듈 (3730) 을 포함할 수도 있다. 패킷 포매팅 모듈 (3730) 은 패킷 식별자 (3708) 를 삽입할 수도 있다. 인코딩 모드들 (3724, 3726, 3728) 의 수는 N으로서 도시되며, 이는 임의의 수의 인코딩 모드들 (3724, 3726, 3728) 을 의미할 수도 있다. 간략히 하기 위해, 다른 인코딩 모드들의 존재를 표시하는 점선과 함께, 3개의 인코딩 모드들 (3724, 3726, 3728) 이 도시된다.
디코더 (3704) 는, 패킷 디스어셈블러 모듈 (3732), 복수의 디코딩 모드들 (3734, 3736, 3738), 및 후처리 필터 (3740) 를 포함할 수도 있다. 패킷 디스어셈블러 모듈 (3732) 은 패킷 식별 모듈 (3714) 을 포함할 수도 있다. 디코딩 모드들 (3734, 3736, 3738) 의 수는 N으로서 도시되며, 이는 임의의 수의 디코딩 모드들 (3734, 3736, 3738) 을 의미할 수도 있다. 간략히 하기 위해, 다른 디코딩 모드들의 존재를 표시하는 점선과 함께, 3개의 디코딩 모드들 (3734, 3736, 3738) 이 도시된다.
스피치 신호 s(n) (3710) 이 초기 파라미터 계산 모듈 (3718) 에 제공될 수도 있다. 스피치 신호 (3710) 는 프레임들이라 지칭되는 샘플들의 블록들로 나눠질 수도 있다. 값 n은 프레임 번호를 나타낼 수도 있거나, 또는 값 n은 프레임 내의 샘플 번호를 나타낼 수도 있다. 다른 구성에서, 선형 예측 (LP) 잔여 에러 신호가 스피치 신호 (3710) 대신 사용될 수도 있다. LP 잔여 에러 신호는 코더 여기 선형 예측 (CELP) 코더와 같은 스피치 코더들에 의해 사용될 수도 있다.
초기 파라미터 계산 모듈 (3718) 은 현재의 프레임에 기초하여 다양한 파라미터들을 도출할 수도 있다. 일 양태에서, 이들 파라미터들은, 선형 예측 코딩 (LPC) 필터 계수, 라인 스펙트럼 쌍 (LSP) 계수, 정규화된 자기상관 함수 (NACF), 개루프 래그, 제로 크로싱 레이트, 대역 에너지, 및 포먼트 잔여 신호 중 적어도 하나를 포함한다.
초기 파라미터 계산 모듈 (3718) 은 모드 분류 모듈 (3722) 에 커플링될 수도 있다. 모드 분류 모듈 (3722) 은 인코딩 모드들 (3724, 3726, 3728) 사이에서 동적으로 전환할 수도 있다. 초기 파라미터 계산 모듈 (3718) 은 모드 분류 모듈 (3722) 에 파라미터들을 제공할 수도 있다. 모드 분류 모듈 (3722) 은 레이트 결정 모듈 (3720) 에 커플링될 수도 있다. 레이트 결정 모듈 (3720) 은 레이트 명령 신호를 수용할 수도 있다. 레이트 명령 신호는, 특정한 레이트로 스피치 신호 (3710) 를 인코딩하도록 인코더 (3702) 에 지시할 수도 있다. 일 양태에서, 특정한 레이트는, 스피치 신호 (3710) 가 171 비트를 사용하여 코딩될 것이라고 표시할 수도 있는 풀 레이트를 포함한다. 다른 예에서, 특정한 레이트는, 스피치 신호 (3710) 가 80 비트를 사용하여 코딩될 것이라고 표시할 수도 있는 1/2 레이트를 포함한다. 또 다른 예에서, 특정한 레이트는, 스피치 신호 (3710) 가 16 비트를 사용하여 코딩될 것이라고 표시할 수도 있는 1/8 레이트를 포함한다.
이전에 설명된 바와 같이, 모드 분류 모듈 (3722) 은, 현재의 프레임에 대해 가장 적절한 인코딩 모드들 (3724, 3726, 3728) 을 선택하기 위해, 프레임 당 기초 로 인코딩 모드들 (3724, 3726, 3728) 사이에서 동적으로 전환하도록 커플링될 수도 있다. 모드 분류 모듈 (3722) 은, 소정의 임계 및/또는 한도값들과 파라미터들을 비교함으로써, 현재의 프레임에 대해 특정한 인코딩 모드 (3724, 3726, 3728) 를 선택할 수도 있다. 또한, 모드 분류 모듈 (3722) 은 레이트 결정 모듈 (3720) 로부터 수신된 레이트 명령 신호에 기초하여 특정한 인코딩 모드 (3724, 3726, 3728) 를 선택할 수도 있다. 예컨대, 인코딩 모드 A (3724) 는 171 비트를 사용하여 스피치 신호 (3710) 를 인코딩할 수도 있고, 인코딩 모드 B (3726) 는 80 비트를 사용하여 스피치 신호 (3710) 를 인코딩할 수도 있다.
프레임의 에너지 컨텐츠에 기초하여, 모드 분류 모듈 (3722) 은 비스피치 (nonspeech) 또는 비활성 스피치 (예컨대, 묵음, 배경 잡음, 또는 단어들 사이의 휴지들), 또는 스피치로서 프레임을 분류할 수도 있다. 프레임의 주기성에 기초하여, 모드 분류 모듈 (3722) 은 예컨대 유성, 무성, 또는 과도음 (transient) 과 같은 스피치의 특정한 타입으로서 스피치 프레임들을 분류할 수도 있다.
유성 스피치는 비교적 높은 정도의 주기성을 보이는 스피치를 포함할 수도 있고 모음들을 포함할 수도 있다. 피치 기간은 프레임의 컨텐츠를 분석 및 복원하기 위해 사용될 수도 있는 스피치 프레임의 컴포넌트일 수도 있다. 무성 스피치는 자음들을 포함할 수도 있다. 과도음 스피치 프레임들은 유성 스피치와 무성 스피치 사이의 천이들을 포함할 수도 있다. 유성 또는 무성 스피치로서 분류되지 않은 프레임들은 과도음 스피치로서 분류될 수도 있다.
스피치 모드 (또한 음성 모드라 호칭됨) 는 현재의 프레임이 유성 또는 무성 스피치인지를 표시한다. 이러한 파라미터는, 주기성의 하나 이상의 측정들 (예컨대, 제로 크로싱, NACF, 피치 이득), 및/또는 그러한 측정과 임계값 사이의 관계와 같은, 프레임에 대한 음성 활동에 기초하여, 2진 값을 가질 수도 있다. 다른 구현들에서, 스피치 모드 파라미터는, 묵음 또는 배경 잡음, 또는 묵음과 유성 스피치 사이의 천이와 같은 모드들을 표시하기 위해 하나 이상의 다른 상태들을 갖는다.
스피치 프레임들을 분류하는 것은 상이한 인코딩 모드들 (3724, 3726, 3728) 로 하여금, 상이한 타입의 스피치를 인코딩하기 위해 사용되도록 허용하여, 통신 채널 (3706) 과 같은 공유 채널에서의 대역폭의 보다 효율적인 사용을 초래할 수도 있다. 예컨대, 유성 스피치가 주기적이고 따라서 매우 예측적이므로, 낮은 비트 레이트, 매우 예측적인 인코딩 모드 (3724, 3726, 3728) 가 유성 스피치를 인코딩하기 위해 채용될 수도 있다.
모드 분류 모듈 (3722) 은 프레임의 분류에 기초하여, 현재의 프레임에 대해 인코딩 모드 (3724, 3726, 3728) 를 선택할 수도 있다. 다양한 인코딩 모드들 (3724, 3726, 3728) 이 병렬로 커플링될 수도 있다. 하나 이상의 인코딩 모드들 (3724, 3726, 3728) 이 임의의 소정의 시간에서 사용가능할 수도 있다. 일 구성에서, 하나의 인코딩 모드 (3724, 3726, 3728) 가 현재의 프레임의 분류에 따라 선택된다.
상이한 인코딩 모드들 (3724, 3726, 3728) 이, 상이한 코딩 비트 레이트들, 상이한 코딩 기법들, 또는 코딩 비트 레이트 및 코딩 기법의 상이한 조합들에 따라 동작할 수도 있다. 이전에 설명된 바와 같이, 사용되는 다양한 코딩 레이트들은 풀 레이트, 1/2 레이트, 1/4 레이트, 및/또는 1/8 레이트일 수도 있다. 사용되는 다양한 코딩 기법들은, CELP 코딩, 프로토타입 피치 기간 (PPP) 코딩 (또는 파형 보간 (WI) 코딩), 및/또는 잡음 여기 선형 예측 (NELP) 코딩일 수도 있다. 따라서, 예컨대, 특정한 인코딩 모드 (3724, 3726, 3728) 는 풀 레이트 CELP일 수도 있고, 다른 인코딩 모드 (3724, 3726, 3728) 는 1/2 레이트 CELP일 수도 있고, 또 다른 인코딩 모드 (3724, 3726, 3728) 는 풀 레이트 PPP일 수도 있으며, 또 다른 인코딩 모드 (3724, 3726, 3728) 는 NELP일 수도 있다.
CELP 인코딩 모드 (3724, 3726, 3728) 에 따라, 선형 예측 성도 모델이 LP 잔여 신호의 양자화된 버전에 의해 여기될 수도 있다. CELP 인코딩 모드에서, 전체 현재의 프레임이 양자화될 수도 있다. CELP 인코딩 모드 (3724, 3726, 3728) 는 스피치의 비교적 정확한 재생을 제공할 수도 있지만, 비교적 높은 코딩 비트 레이트를 희생한다. CELP 인코딩 모드 (3724, 3726, 3728) 는 과도음 스피치로서 분류된 프레임들을 인코딩하기 위해 사용될 수도 있다.
NELP 인코딩 모드 (3724, 3726, 3728) 에 따라, 필터링된 의사 랜덤 잡음 신호가 LP 잔여 신호를 모델링하기 위해 사용될 수도 있다. NELP 인코딩 모드 (3724, 3726, 3728) 는 낮은 비트 레이트를 달성하는 비교적 간단한 기술일 수도 있다. NELP 인코딩 모드 (3724, 3726, 3728) 는 무성 스피치로서 분류된 프레임들을 인코딩하기 위해 사용될 수도 있다.
PPP 인코딩 모드 (3724, 3726, 3728) 에 따라, 각각의 프레임 내의 피치 기 간들의 서브세트가 인코딩될 수도 있다. 스피치 신호의 잔류 기간들은 이들 프로토타입 기간들 사이에서 보간함으로써 복원될 수도 있다. PPP 코딩의 시간 도메인 구현에서, 현재의 프로토타입 기간을 근사하기 위해 이전의 프로토타입 기간을 어떻게 변형하는지를 묘사하는 파라미터들의 제 1 세트가 계산될 수도 있다. 합산될 때, 현재의 프로토타입 기간과 변형된 이전의 프로토타입 기간 사이의 차이를 근사하는 하나 이상의 코드벡터들이 선택될 수도 있다. 파라미터들의 제 2 세트는 선택된 코드벡터들을 묘사한다. PPP 코딩의 주파수 도메인 구현에서, 파라미터들의 세트는 프로토타입의 진폭 및 위상 스펙트럼들을 묘사하기 위해 계산될 수도 있다. PPP 코딩의 일 구현에 따라, 디코더 (3704) 는, 진폭 및 위상을 묘사하는 파라미터들의 세트들에 기초하여 현재의 프로토타입을 복원함으로써, 출력 스피치 신호 (3716) 를 합성할 수도 있다. 과거의 프로토타입 기간은 현재의 프로토타입 기간의 진폭 및/또는 위상의 예측자로서 사용될 수도 있다. 스피치 신호는 현재의 복원된 프로토타입 기간과 이전의 복원된 프로토타입 기간 사이의 영역에 걸쳐 보간될 수도 있다. 디코더 (3704) 에서 스피치 신호 (3710) 또는 LP 잔여 신호를 복원하기 위해, 프로토타입은, 프레임 내에 유사하게 포지셔닝되었던 이전의 프레임들로부터의 프로토타입들로 선형적으로 보간될 현재의 프레임의 부분을 포함할 수도 있다.
전체 스피치 프레임이 아닌 프로토타입 기간을 코딩하는 것은 코딩 비트 레이트를 감소시킬 수도 있다. 유성 스피치로서 분류된 프레임들은 PPP 인코딩 모드 (3724, 3726, 3728) 로 코딩될 수도 있다. 유성 스피치의 주기성을 활용 함으로써, PPP 인코딩 모드 (3724, 3726, 3728) 는 CELP 인코딩 모드 (3724, 3726, 3728) 보다 더 낮은 비트 레이트를 달성할 수도 있다.
선택된 인코딩 모드 (3724, 3726, 3728) 는 패킷 포매팅 모듈 (3730) 에 커플링될 수도 있다. 선택된 인코딩 모드 (3724, 3726, 3728) 는 현재의 프레임을 인코딩 또는 양자화하고, 양자화된 프레임 파라미터들 (3712) 을 패킷 포매팅 모듈 (3730) 에 제공할 수도 있다. 패킷 포매팅 모듈 (3730) 은 양자화된 프레임 파라미터들 (3712) 을 포매팅된 패킷 (3713) 으로 어셈블링할 수도 있다. 패킷 포매팅 모듈 (3730) 은 광대역 패킷 또는 협대역 패킷으로서 패킷을 포매팅할 수도 있다. 패킷 식별자 (3708) 가 패킷에 포함될 수도 있다. 이전에 설명된 바와 같이, 패킷 식별자 (3708) 는, 패킷이 광대역 패킷 또는 협대역 패킷인지를 디코더 (3704) 에 표시할 수도 있다. 패킷 포매팅 모듈 (3730) 은 통신 채널 (3706) 을 통해 수신기 (미도시) 에 포매팅된 패킷 (3713) 을 제공할 수도 있다. 수신기는 포매팅된 패킷 (3713) 을 수신, 복조, 및 디지털화하고, 디코더 (3704) 에 패킷 (3713) 을 제공할 수도 있다.
디코더 (3704) 에서, 패킷 디스어셈블러 모듈 (3732) 은 수신기로부터 패킷 (3713) 을 수신한다. 패킷 디스어셈블러 모듈 (3732) 은 패킷 (3713) 을 언패킹 (unpack) 할 수도 있고, 패킷 식별 모듈 (3714) 은 패킷 (3713) 에 포함된 패킷 식별자 (3708) 를 인식할 수도 있다. 패킷 식별 모듈 (3714) 은, 패킷 (3713) 이 WB-HR 패킷 또는 협대역 1/2 레이트 패킷이라는 것을 발견할 수도 있다. 또한, 패킷 디스어셈블러 모듈 (3732) 은, 패킷 당 기초로 디코딩 모드들 (3734, 3736, 3738) 사이에서 동적으로 전환하도록 구성될 수도 있다. 디코딩 모드들 (3734, 3736, 3738) 의 수는 인코딩 모드들 (3724, 3726, 3728) 의 수와 동일할 수도 있다. 각각의 넘버링된 인코딩 모드 (3724, 3726, 3728) 는 동일한 코딩 비트 레이트 및 코딩 기법을 채용하도록 구성된 각각의 유사하게 넘버링된 디코딩 모드 (3734, 3736, 3738) 와 연관될 수도 있다.
패킷 디스어셈블러 모듈 (3732) 이 패킷 (3713) 을 검출한 경우에, 패킷 (3713) 은 디스어셈블링되고, 적절한 디코딩 모드 (3734, 3736, 3738) 에 제공된다. 적절한 디코딩 모드 (3734, 3736, 3738) 는 패킷 식별자 (3708) 의 분석에 기초하여 광대역 또는 협대역 디코딩 기술들을 구현할 수도 있다. 패킷 디스어셈블러 모듈 (3732) 이 패킷을 검출하지 않은 경우에, 패킷 손실이 선언되고, 삭제 디코더 (erasure decoder) (미도시) 가 프레임 삭제 프로세싱을 수행할 수도 있다. 디코딩 모드들 (3734, 3736, 3738) 의 병렬 어레이가 후처리 필터 (3740) 에 커플링될 수도 있다. 적절한 디코딩 모드 (3734, 3736, 3738) 는 패킷 (3713) 을 디코딩 또는 역양자화하고, 후처리 필터 (3740) 에 정보를 제공할 수도 있다. 후처리 필터 (3740) 는 스피치 프레임을 복원 또는 합성하여 합성된 스피치 프레임 (3716) 을 출력할 수도 있다.
일 구성에서, 양자화된 파라미터들 그 자체가 송신되지 않는다. 대신, 디코더 (3704) 내의 다양한 룩업 테이블 (LUT) (미도시) 내의 어드레스들을 특정하는 코드북 인덱스들이 송신된다. 디코더 (3704) 는 코드북 인덱스들을 수신하고 적절한 파라미터 값들에 대해 다양한 코드북 LUT들을 탐색한다. 따라서, 예 컨대 피치 래그, 적응형 코드북 이득, 및 LSP와 같은 파라미터들에 대한 코드북 인덱스들이 송신될 수도 있고, 3개의 연관된 코드북 LUT들이 디코더 (3704) 에 의해 탐색될 수도 있다.
CELP 인코딩 모드에 따라, 피치 래그, 피치 이득, 코드북 파라미터들, 및 LSP 파라미터들이 송신될 수도 있다. LP 잔여 신호가 디코더 (3704) 에서 합성될 수도 있기 때문에, LSP 코드북 인덱스들이 송신된다. 또한, 현재의 프레임에 대한 피치 래그 값과 이전의 프레임에 대한 피치 래그 값 사이의 차이가 송신될 수도 있다.
스피치 신호 (3710) 가 디코더 (3704) 에서 합성되는 PPP 인코딩 모드에 따라, 피치 래그, 진폭, 및 위상 파라미터들이 송신된다. PPP 스피치 코딩 기술들에 의해 채용된 보다 낮은 비트 레이트는, 절대적인 피치 래그 정보 및 상대적인 피치 래그 차이값들 양자 모두의 송신을 허가하지 않을 수도 있다.
일 예에 따라, 유성 스피치 프레임들과 같은 매우 예측적인 프레임들은, 현재의 프레임에 대한 피치 래그 값과 이전의 프레임에 대한 피치 래그 값 사이의 차이를 송신을 위해 양자화하고, 현재의 프레임에 대한 절대적인 피치 래그 값을 송신을 위해 양자화하지 않는 낮은 비트 레이트 PPP 인코딩 모드로 송신된다. 유성 프레임들이 사실상 매우 예측적이기 때문에, 절대적인 피치 래그 값이 아닌 차이값을 송신하는 것은 보다 낮은 코딩 비트 레이트가 달성되도록 허용할 수도 있다. 일 양태에서, 이러한 양자화는, 이전의 프레임들에 대한 파라미터 값들의 가중화된 합이 계산되도록 일반화되고, 여기서 가중치들의 합은 1이며, 가중화된 합은 현재의 프레임에 대한 파라미터 값으로부터 감산된다. 그 후, 그 차이가 양자화될 수도 있다.
도 38은 가변 레이트 스피치 코딩 방법 (3800) 의 일 예를 예시하는 흐름도이다. 일 양태에서, 방법 (3800) 은, 광대역 패킷 또는 협대역 패킷으로서 패킷을 인코딩하는 것이 가능하게 될 수도 있는 단일 이동국 (3302) 에 의해 구현된다. 다른 양태들에서, 방법 (3800) 은 2개 이상의 이동국 (3302) 에 의해 구현될 수도 있다. 즉, 하나의 이동국 (3302) 은 광대역 또는 협대역 패킷을 인코딩하기 위한 인코더를 포함할 수도 있고, 분리된 이동국 (3302) 은 광대역 또는 협대역 디코딩 기술들을 사용하여 패킷을 디코딩하기 위한 디코더를 포함할 수도 있다. 현재의 프레임의 초기 파라미터들이 계산 (3802) 될 수도 있다. 일 구성에서, 초기 파라미터 계산 모듈 (3718) 은 파라미터들을 계산 (3802) 한다. 파라미터들은, 선형 예측 코딩 (LPC) 필터 계수, 라인 스펙트럼 쌍 (LSP) 계수, 정규화된 자기상관 함수 (NACF), 개루프 래그, 대역 에너지, 제로 크로싱 레이트, 및 포먼트 잔여 신호 중 하나 이상을 포함할 수도 있다.
현재의 프레임은 활성 또는 비활성으로서 분류 (3804) 될 수도 있다. 일 구성에서, 분류 모듈 (3722) 은 "활성" 또는 "비활성" 스피치를 포함하는 것으로서 현재의 프레임을 분류한다. 상술된 바와 같이, s(n) (3710) 은 스피치의 기간들 및 묵음의 기간들을 포함할 수도 있다. 활성 스피치는 발성된 단어들을 포함할 수도 있고, 반면에 비활성 스피치는 배경 잡음, 묵음, 휴지 등을 포함할 수도 있다.
현재의 프레임이 활성 또는 비활성으로서 분류되었는지의 결정 (3806) 이 이루어진다. 현재의 프레임이 활성으로서 분류된 경우에, 활성 스피치는 유성, 무성, 또는 과도음 프레임들로서 더 분류 (3808) 된다. 인간 스피치는 다수의 상이한 방식들로 분류될 수도 있다. 스피치의 2개의 분류들은 유성음 및 무성음을 포함할 수도 있다. 유성 또는 무성이 아닌 스피치는 과도음 스피치로서 분류될 수도 있다.
인코더/디코더 모드는 단계들 (3806 및 3808) 에서 이루어진 프레임 분류에 기초하여 선택 (3810) 될 수도 있다. 도 37에 도시된 바와 같이, 다양한 인코더/디코더 모드들이 병렬로 접속될 수도 있다. 상이한 인코더/디코더 모드들은 상이한 코딩 기법들에 따라 동작한다. 일정 특성들을 보이는 스피치 신호 s(n) (3710) 의 코딩 부분들에서 일정 모드들이 보다 효율적일 수도 있다.
이전에 설명된 바와 같이, CELP 모드는 과도음 스피치로서 분류된 프레임들을 코딩하기 위해 선택될 수도 있다. PPP 모드는 유성 스피치로서 분류된 프레임들을 코딩하기 위해 선택될 수도 있다. NELP 코드는 무성 스피치로서 분류된 프레임들을 코딩하기 위해 선택될 수도 있다. 성능의 레벨들이 변화함에 따라, 동일한 코딩 기술이 상이한 비트 레이트들에서 빈번히 동작될 수도 있다. 도 37에서 상이한 인코더/디코더 모드들은 상이한 코딩 기술들, 상이한 비트 레이트들에서 동작하는 동일한 코딩 기술, 또는 이들의 조합들을 표현할 수도 있다.
선택된 인코더 모드는 현재의 프레임을 인코딩 (3812) 하고, 인코딩된 프레임을 비트 레이트에 따라 패킷으로 포매팅 (3814) 할 수도 있다. 패킷 식별자 가 패킷에 포함 (3816) 될 수도 있다. 패킷 식별자는, 패킷이 광대역 또는 협대역 패킷으로서 인코딩되었는지를 표시할 수도 있다. 패킷은 디코더에 전송 (3818) 될 수도 있다.
도 39는 정규 협대역 1/2 레이트 패킷 (3902) 및 광대역 1/2 레이트 패킷 (3904) 의 일 구성을 예시하는 블록도이다. 일 양태에서, 각각의 패킷은 패킷 식별자 A (3906) 및 패킷 식별자 B (3907) 와 같은 패킷 식별자를 포함할 수도 있다. 패킷 식별자 A (3906) 는 적법 (legal) 래그 값 (3908) 을 포함할 수도 있고, 패킷 식별자 B (3907) 는 위법 래그 값 (3914) 을 포함할 수도 있다. 위법 래그 값 (3914) 은, 일정 패킷이 광대역 1/2 레이트 패킷 (3904) 또는 특별한 협대역 1/2 레이트 패킷인지를 디코더에 표시하는 값일 수도 있다. 적법 래그 값은, 일정 패킷이 정규 (특별하지 않은) 협대역 1/2 레이트 CELP 패킷 (3902) 인지를 디코더에 표시할 수도 있다. 다른 구성들에서, 적법 래그 값은, 일정 패킷이 [0:100]의 범위 내의 피치 래그 값을 포함하는 임의의 다른 1/2 레이트 패킷인지를 디코더에 표시할 수도 있다. [0:100]의 범위 내의 피치 래그 값은 단지 예로서 사용된다. 본 시스템들 및 방법들은, (특정 코딩 기법과 연관된) 유효 값들의 세트를 갖는 소정의 N 비트 필드 및 위법/무효 값들의 다른 세트에 적용할 수도 있다.
일 구성에서, 정규 협대역 1/2 레이트 패킷 (3902) 은 패킷 (3902) 에 포함된 각각의 80 비트를 이용한다. 따라서, 인입 패킷이 정규 (특별하지 않은) 협대역 1/2 레이트 CELP인 것을 디코더에 표시할 수도 있는 적법 래그 값 (3908) 을 저장하기 위해 지연 파라미터가 사용될 수도 있다. 일 양태에서, 지연 파라미터는 7 비트를 포함한다. 지연 파라미터는 10진수 "101" 내지 "127" 의 값 (3910) 이 아닐 수도 있다. 이러한 7 비트 필드 내의 적법 (유효) 래그 값들은 10진수 "0" 내지 "100" 의 값 (3910) 일 수도 있다. "0" 내지 "100" 의 값 (3910) 은 그 2진 형태 (예컨대, 7 비트 2진수) 로 정규 (특별하지 않은) 협대역 1/2 레이트 CELP 패킷 (3902) 에 포함될 수도 있다.
일 양태에서, 광대역 코더는 무성음들을 코딩하기 위해 NELP 코딩 기법을 구현한다. 무성음들에 대한 신호는 80 비트를 갖는 패킷으로서 광대역 1/2 레이트 패킷 (3904) 에 패킹될 수도 있다. 그러나, 무성음들을 갖는 패킷들은 지연을 포함하지 않을 수도 있다. 일 구성에서, 무성음들에 대한 신호의 수용가능한 재생이 지연 없이 달성될 수도 있기 때문에, 지연들은 인코더에 의해 무성음들에 대해 분석되지 않을 수도 있다. 광대역 1/2 레이트 패킷 (3904) 은 80 비트 중 74 비트를 이용하고 6 비트는 자유롭게 남겨둔다. 광대역 1/2 레이트 패킷 (3904) 과 연관된 패킷 식별자 B (3907) 는 6개의 1의 스트링 (3912) (즉, "111111") 을 포함할 수도 있다. 일 구성에서, 이는 10진수 "126" 및 "127" 에 매핑할 수도 있고, 광대역 1/2 레이트 패킷 (3904) 에 대한 식별자로서 예비될 수도 있다.
일 구성에서, N 비트 파라미터로부터의 적어도 2개의 위법값들이 이용될 수도 있다. 2개의 위법값들이 사용되는 경우에, N 비트 파라미터로부터의 하나의 비트는 정보를 반송하기 위해 자유롭게 될 수도 있다. 또 다른 구성에서, 정보 를 반송하기 위해 자유롭게 될 수도 있는 N 비트 파라미터로부터의 비트의 수는 log2(X) 와 동일할 수도 있고, 여기서 X는 N 비트 파라미터로부터 제공된 위법값들의 수이다. 예컨대, 8개의 위법값들이 다른 정보를 반송하기 위한 3개의 비트를 자유롭게 할 수도 있다.
도 40은 다양한 타입의 패킷들에 할당된 비트의 수를 예시하는 차트 (4000) 이다. 차트 (4000) 는 복수의 파라미터들 (4002) 을 포함한다. 복수의 파라미터들 (4002) 내의 각각의 파라미터는 일정 수의 비트들을 이용할 수도 있다. 차트 (4000) 에 예시된 다양한 패킷 타입들은 이전에 설명된 다양한 인코딩 모드들 중 하나를 이용하여 인코딩된 것일 수도 있다. 패킷 타입들은, 풀 레이트 CELP (FCELP) (4004), 1/2 레이트 CELP (HCELP) (4006), 특별한 1/2 레이트 CELP (SPLHCELP) (4008), 풀 레이트 PPP (FPPP) (4010), 특별한 1/2 레이트 PPP (SPLHPPP) (4012), 1/4 레이트 PPP (QPPP) (4014), 특별한 1/2 레이트 NELP (SPLHNELP) (4016), 1/4 레이트 NELP (QNELP) (4018), 및 묵음 인코더 (4020) 를 포함할 수도 있다.
FCELP (4004) 및 FPPP (4010) 는 총 171 비트를 갖는 패킷들일 수도 있다. FCELP (4004) 패킷은 SPLHCELP (4008) 패킷으로 변환될 수도 있다. 일 양태에서, FCELP (4004) 패킷은 고정형 코드북 인덱스 (FCB 인덱스) 및 고정형 코드북 이득 (FCB 이득) 과 같은 파라미터들에 대해 비트를 할당한다. 도시된 바와 같이, FCELP (4004) 패킷이 SPLHCELP (4008) 패킷으로 변환되고, FCB 인덱스, FCB 이 득, 및 델타 래그와 같은 파라미터들에 대해 제로 비트가 할당된다. 즉, SPLHCELP (4008) 패킷은 이들 비트가 없이 디코더에 송신된다. SPLHCELP (4008) 패킷은, 라인 스펙트럼 쌍 (LSP), 적응형 코드북 (ACB) 이득, 특별한 1/2 레이트 식별 (ID), 특별한 패킷 ID, 피치 래그, 및 모드 비트 정보와 같은 파라미터들에 대해 할당된 비트를 포함한다. 디코더에 송신되는 비트의 총 수는 171로부터 80으로 감소될 수도 있다.
유사하게, FPPP (4010) 패킷은 SPLHPPP (4012) 패킷으로 변환될 수도 있다. 도시된 바와 같이, FPPP (4010) 패킷은 대역 정렬 파라미터들에 비트를 할당한다. FPPP (4010) 패킷은 SPLHPPP (4012) 패킷으로 변환될 수도 있다. 대역 정렬에 할당된 비트는 폐기될 수도 있다. 즉, SPLHPPP (4012) 패킷은 이들 비트가 없이 디코더에 송신된다. 디코더에 송신되는 비트의 총 수가 171로부터 80으로 감소될 수도 있다. 일 구성에서, 진폭 및 전체적인 정렬 파라미터들에 할당된 비트가 SPLHPPP (4012) 패킷에 포함된다. 진폭 파라미터는 신호 s(n) (3710) 의 스펙트럼의 진폭을 표시할 수도 있고, 전체적인 정렬 파라미터는 최대 정렬을 보장할 수도 있는 선형 위상 시프트를 표현할 수도 있다.
또한, 다양한 타입의 패킷들은 래그/특별한 패킷 ID 파라미터에 할당된 비트를 포함할 수도 있다. 래그/특별한 패킷 ID 파라미터는, 디코더로 하여금 특정한 패킷이 협대역 코딩 기술들 또는 광대역 코딩 기술들을 사용하여 인코딩되었는지를 인식하도록 허용하는 패킷 식별자를 표현할 수도 있다.
본원에서 다양한 구성들은 상이한 파라미터들 및 패킷들에 대한 상이한 수의 비트로 예시된다. 본원에서 각각의 파라미터와 연관된 특정한 수의 비트는 예에 의한 것이고, 제한하려는 것이 아니다. 파라미터들은 본원에서 사용된 예들 보다 더 많거나 또는 더 적은 비트를 포함할 수도 있다.
도 41은 구성에 따라 통신 디바이스 (4108) 에서 이용될 수도 있는 다양한 컴포넌트들을 예시한다. 통신 디바이스 (4108) 는 디바이스 (4108) 의 동작을 제어하는 프로세서 (4102) 를 포함할 수도 있다. 또한, 프로세서 (4102) 는 CPU라 지칭될 수도 있다. 리드 온리 메모리 (ROM) 및 랜덤 액세스 메모리 (RAM) 양자 모두를 포함할 수도 있는 메모리 (4104) 는 프로세서 (4102) 에 명령들 및 데이터를 제공한다. 또한, 메모리 (4104) 의 일부는 비휘발성 랜덤 액세스 메모리 (NVRAM) 를 포함할 수도 있다.
또한, 통신 디바이스 (4108) 는, 액세스 단말기 (4108) 와 원격 위치 사이에서 데이터의 송신 및 수신을 허용하기 위해, 송신기 (4110) 및 수신기 (4112) 를 포함하는 하우징 (4122) 을 포함할 수도 있다. 송신기 (4110) 및 수신기 (4112) 는 송수신기 (4120) 로 결합될 수도 있다. 안테나 (4118) 가 하우징 (4122) 에 부착되고 송수신기 (4120) 에 전기적으로 커플링된다.
또한, 통신 디바이스 (4108) 는 송수신기 (4120) 에 의해 수신된 신호들의 레벨을 검출 및 정량화하기 위해 사용되는 신호 검출기 (4106) 를 포함한다. 신호 검출기 (4106) 는 총 에너지, 의사잡음 (PN) 칩 당 파일럿 에너지, 전력 스펙트럼 밀도, 및 다른 신호들로서 그러한 신호들을 검출한다.
통신 디바이스 (4108) 의 상태 변경기 (4114) 는, 현재의 상태, 및 송수신기 (4120) 에 의해 수신되고 신호 검출기 (4106) 에 의해 검출된 추가적인 신호들에 기초하여, 통신 디바이스 (4108) 의 상태를 제어한다. 디바이스 (4108) 는 다수의 상태들 중 임의의 하나에서 동작하는 것이 가능할 수도 있다.
또한, 통신 디바이스 (4108) 는, 디바이스 (4108) 를 제어하고, 현재의 서비스 제공자 시스템이 적절하지 않다고 결정할 때 디바이스 (4108) 가 이전해야 하는서비스 제공자 시스템을 결정하기 위해 사용되는 시스템 결정기 (4124) 를 포함한다.
통신 디바이스 (4108) 의 다양한 컴포넌트들은, 데이터 버스에 추가하여 전력 버스, 제어 신호 버스, 및 상태 신호 버스를 포함할 수도 있는 버스 시스템 (4118) 에 의해 함께 커플링된다. 그러나, 명료하게 하기 위해, 도 41에서 버스 시스템 (4118) 으로서 다양한 버스들이 예시된다. 또한, 통신 디바이스 (4108) 는 신호들을 프로세싱하는데 사용하기 위한 디지털 신호 프로세서 (DSP) (4116) 를 포함할 수도 있다.
임의의 다양한 상이한 공학들 및 기술들을 사용하여 정보 및 신호가 표현될 수도 있다. 예컨대, 상기 상세한 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령, 지령, 정보, 신호, 비트, 심볼, 및 칩이 전압, 전류, 전자기파, 자기장 또는 자기 입자, 광학 필드 또는 입자, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
본원에 개시된 구성들과 함께 설명된 다양한 예시적인 논리 블록, 모듈, 회로, 및 알고리즘 단계는 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로 서 구현될 수도 있다. 하드웨어와 소프트웨어의 이러한 상호 교환성을 명료히 예시하기 위해, 다양한 예시적인 컴포넌트, 블록, 모듈, 회로, 단계가 그 기능성의 관점에서 일반적으로 상술되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지는 특정한 애플리케이션 및 전체 시스템에 부과된 설계 제약에 의존한다. 당업자는, 각각의 특정한 애플리케이션에 대해 변화하는 방식으로 설명된 기능성을 구현할 수도 있지만, 그러한 구현 결정이 본 시스템들 및 방법들의 범위로부터의 이탈을 야기하는 것으로서 해석되지 않아야 한다.
본원에 개시된 구성들과 함께 설명된 다양한 예시적인 논리 블록, 모듈, 및 회로는, 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 신호 (FPGA), 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현되거나 또는 수행될 수도 있다. 범용 프로세서는, 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는, 예컨대 DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 협력하는 하나 이상의 마이크로프로세서, 또는 임의의 다른 그러한 구성과 같은 컴퓨팅 디바이스들의 조합으로서 구현될 수도 있다.
본원에 개시된 구성들과 함께 설명된 방법 또는 알고리즘의 단계들은, 하드웨어에서 직접 실시될 수도 있거나, 프로세서에 의해 실행되는 소프트웨어 모듈에서 실시도리 수도 있거나, 또는 이들의 조합에서 실시될 수도 있다. 소프트웨 어 모듈은, RAM 메모리, 플래시 메모리, ROM 메모리, 소거가능한 프로그래미블 리드 온리 메모리 (EPROM), 전기적으로 소거가능한 프로그래머블 리드 온리 메모리 (EEPROM), 레지스터, 하드디스크, 탈착식 디스크, 컴팩트 디스크 리드 온리 메모리 (CD-ROM), 또는 공지의 저장 매체의 임의의 다른 형태에 상주할 수도 있다. 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링될 수도 있다. 다른 방법으로, 저장 매체는 프로세서에 집적될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC는 사용자 단말기에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기에서 이산 컴포넌트들로서 상주할 수도 있다.
본원에 개시된 방법들은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 행동들을 포함한다. 방법 단계 및/또는 행동은 본 시스템들 및 방법들의 범위로부터 벗어나지 않으면서 서로 상호 교환될 수도 있다. 즉, 단계들 또는 행동들의 특정 순서가 구성의 올바른 동작을 위해 특정되지 않는 한, 특정 단계들 및/또는 행동들의 순서 및/또는 사용은 본 시스템들 및 방법들의 범위를 벗어나지 않으면서 변형될 수도 있다. 본원에 개시된 방법들은, 하드웨어, 소프트웨어, 또는 양자 모두에서 구현될 수도 있다. 하드웨어 및 메모리의 예들은 RAM, ROM, EPROM, EEPROM, 플래시 메모리, 광학 디스크, 레지스터, 하드 디스크, 탈착식 디스크, CD-ROM, 또는 임의의 다른 타입의 하드웨어 및 메모리를 포함할 수도 있다.
본 시스템들 및 방법들의 특정 구성들 및 애플리케이션들이 설명 및 묘사되 었지만, 시스템들 및 방법들은 본원에 개시된 명확한 구성 및 컴포넌트들에 제한되지 않는다는 것을 이해해야 한다. 당업자에게 자명할 다양한 변형, 변경, 및 변화가, 청구되는 시스템들 및 방법들의 사상 및 범위로부터 벗어나지 않으면서, 본원에 개시된 방법들 및 시스템들의 배열, 동작, 및 세부사항에서 이루어질 수도 있다.
Claims (26)
- 스피치 신호와 연관된 패킷에 식별자를 포함시키는 방법으로서,신호를 수신하는 단계;상기 신호를 복수의 프레임들로 분할하는 단계;상기 신호의 프레임을 패킷으로 인코딩하는 단계;상기 패킷이 복수의 코딩 기법들 중 하나로 인코딩되는지를 결정하는 단계;상기 결정에 기초하여, 상기 패킷 내에 N 비트 파라미터의 위법값 (illegal value) 을 패킹 (pack) 하는 단계로서, 상기 위법값은 하나의 코딩 기법을 식별하는, 상기 패킹 단계; 및상기 패킷을 송신하는 단계를 포함하는, 식별자 포함 방법.
- 제 1 항에 있어서,상기 패킷은 광대역 1/2 레이트 패킷으로서 인코딩되는, 식별자 포함 방법.
- 제 2 항에 있어서,상기 광대역 1/2 레이트 패킷은 80 비트를 포함하는, 식별자 포함 방법.
- 제 2 항에 있어서,상기 위법값은 광대역 식별자를 포함하는, 식별자 포함 방법.
- 제 4 항에 있어서,상기 광대역 식별자는 10진수 126을 2진 형태로 포함하는, 식별자 포함 방법.
- 제 4 항에 있어서,상기 광대역 식별자는 10진수 127을 2진 형태로 포함하는, 식별자 포함 방법.
- 제 4 항에 있어서,상기 광대역 식별자는 6개의 1 (six ones) 을 2진 형태로 포함하는, 식별자 포함 방법.
- 제 2 항에 있어서,상기 광대역 1/2 레이트 패킷은 잡음 여기 선형 예측 (NELP) 코딩 기법을 사용하여 인코딩되는, 식별자 포함 방법.
- 제 1 항에 있어서,상기 프레임은 이동국 상의 광대역 코더에 의해 인코딩되는, 식별자 포함 방법.
- 제 1 항에 있어서,상기 프레임을 이동국 상의 광대역 디코더에 의해 디코딩하는 단계를 더 포함하는, 식별자 포함 방법.
- 제 1 항에 있어서,상기 패킷을 제 1 이동국으로부터 제 2 이동국으로 송신하는 단계를 더 포함하는, 식별자 포함 방법.
- 제 1 항에 있어서,상기 위법값은, 두 개의 반전된 위법값들 중 하나이며, 정보를 반송하기 위해 사용되는 상기 N 비트 파라미터로부터의 적어도 하나의 비트를 포함하는, 식별자 포함 방법.
- 제 12 항에 있어서,정보를 반송하기 위해 사용되는, 상기 N 비트 파라미터로부터의 비트의 수는 log2(X) 와 동일하며,상기 X는 상기 N 비트 파라미터에 대한 반전된 위법값들의 수인, 식별자 포함 방법.
- 스피치 신호와 연관된 패킷에 식별자를 포함시키는 장치로서,프로세서;상기 프로세서와 전자 통신하는 메모리; 및상기 메모리에 저장된 명령들을 포함하며,상기 명령들은,신호를 수신하고;상기 신호를 복수의 프레임들로 분할하고;상기 신호의 프레임을 패킷으로 인코딩하고;상기 패킷이 복수의 코딩 기법들 중 하나로 인코딩되는지를 결정하고;상기 결정에 기초하여, 상기 패킷 내에 N 비트 파라미터의 위법값 (illegal value) 을 패킹 (pack) 하며;상기 패킷을 송신하도록 실행가능하며,상기 위법값은 하나의 코딩 기법을 식별하는, 식별자 포함 장치.
- 제 14 항에 있어서,상기 패킷은 광대역 1/2 레이트 패킷으로서 인코딩되는, 식별자 포함 장치.
- 제 15 항에 있어서,상기 광대역 1/2 레이트 패킷은 80 비트를 포함하는, 식별자 포함 장치.
- 제 15 항에 있어서,상기 위법값은 광대역 식별자를 포함하는, 식별자 포함 장치.
- 제 17 항에 있어서,상기 광대역 식별자는 10진수 126을 2진 형태로 포함하는, 식별자 포함 장치.
- 제 17 항에 있어서,상기 광대역 식별자는 10진수 127을 2진 형태로 포함하는, 식별자 포함 장치.
- 제 17 항에 있어서,상기 광대역 식별자는 6개의 1을 2진 형태로 포함하는, 식별자 포함 장치.
- 스피치 신호와 연관된 패킷에 식별자를 포함시키도록 구성된 시스템으로서,프로세싱하는 수단;신호를 수신하는 수단;상기 신호를 복수의 프레임들로 분할하는 수단;상기 신호의 프레임을 패킷으로 인코딩하는 수단;상기 패킷이 복수의 코딩 기법들 중 하나로 인코딩되는지를 결정하는 수단;상기 결정에 기초하여, 상기 패킷 내에 N 비트 파라미터의 위법값 (illegal value) 을 패킹 (pack) 하는 수단으로서, 상기 위법값은 하나의 코딩 기법을 식별하는, 상기 패킹 수단; 및상기 패킷을 송신하는 수단을 포함하는, 식별자를 포함시키도록 구성된 시스템.
- 신호를 수신하고;상기 신호를 복수의 프레임들로 분할하고;상기 신호의 프레임을 패킷으로 인코딩하고;상기 패킷이 복수의 코딩 기법들 중 하나로 인코딩되는지를 결정하고;상기 결정에 기초하여, 상기 패킷 내에 N 비트 파라미터의 위법값 (illegal value) 을 패킹 (pack) 하며;상기 패킷을 송신하도록 실행가능한 명령들을 포함하며,상기 위법값은 하나의 코딩 기법을 식별하는, 컴퓨터 판독가능 매체.
- 패킷을 수신하는 단계;상기 패킷 내에, N 비트 파라미터의 위법값 (illegal value) 이 포함되는지 결정하는 단계로서, 상기 위법값은 상기 패킷을 인코딩하는데 사용되는 복수의 코딩 기법들 중 하나의 코딩 기법을 식별하는, 상기 결정 단계; 및상기 결정에 기초하여 상기 패킷에 대한 디코딩 모드를 선택하는 단계를 포함하는, 패킷 디코딩 방법.
- 프로세서;상기 프로세서와 전자 통신하는 메모리;상기 메모리에 저장된 명령들을 포함하며,상기 명령들은,패킷을 수신하고;상기 패킷 내에, N 비트 파라미터의 위법값 (illegal value) 이 포함되는지 결정하며;상기 결정에 기초하여 상기 패킷에 대한 디코딩 모드를 선택하도록 실행가능하며,상기 위법값은 상기 패킷을 인코딩하는데 사용되는 복수의 코딩 기법들 중 하나의 코딩 기법을 식별하는, 패킷 디코딩 장치.
- 프로세싱하는 수단;패킷을 수신하는 수단;상기 패킷 내에, N 비트 파라미터의 위법값 (illegal value) 이 포함되는지 결정하는 수단으로서, 상기 위법값은 상기 패킷을 인코딩하는데 사용되는 복수의 코딩 기법들 중 하나의 코딩 기법을 식별하는, 상기 결정 수단; 및상기 결정에 기초하여 상기 패킷에 대한 디코딩 모드를 선택하는 수단을 포함하는, 패킷을 디코딩하도록 구성된 시스템.
- 패킷을 수신하고;상기 패킷 내에, N 비트 파라미터의 위법값 (illegal value) 이 포함되는지 결정하며;상기 결정에 기초하여 상기 패킷에 대한 디코딩 모드를 선택하도록 실행가능한 명령들을 저장하며,상기 위법값은 상기 패킷을 인코딩하는데 사용되는 복수의 코딩 기법들 중 하나의 코딩 기법을 식별하는, 컴퓨터 판독가능 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83461706P | 2006-07-31 | 2006-07-31 | |
US60/834,617 | 2006-07-31 | ||
US11/677,173 | 2007-02-21 | ||
US11/677,173 US8135047B2 (en) | 2006-07-31 | 2007-02-21 | Systems and methods for including an identifier with a packet associated with a speech signal |
PCT/US2007/074900 WO2008016947A2 (en) | 2006-07-31 | 2007-07-31 | Systems and methods for including an identifier with a packet associated with a speech signal |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090035727A KR20090035727A (ko) | 2009-04-10 |
KR101058760B1 true KR101058760B1 (ko) | 2011-08-24 |
Family
ID=38920744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097004320A KR101058760B1 (ko) | 2006-07-31 | 2007-07-31 | 스피치 신호와 연관된 패킷에 식별자를 포함시키는 시스템 및 방법 |
Country Status (10)
Country | Link |
---|---|
US (1) | US8135047B2 (ko) |
EP (1) | EP2047461B1 (ko) |
JP (2) | JP5437067B2 (ko) |
KR (1) | KR101058760B1 (ko) |
CN (1) | CN104123946B (ko) |
BR (1) | BRPI0714825A2 (ko) |
CA (1) | CA2657424C (ko) |
RU (1) | RU2421828C2 (ko) |
TW (1) | TWI384807B (ko) |
WO (1) | WO2008016947A2 (ko) |
Families Citing this family (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240001B2 (en) * | 2001-12-14 | 2007-07-03 | Microsoft Corporation | Quality improvement techniques in an audio encoder |
US7460990B2 (en) * | 2004-01-23 | 2008-12-02 | Microsoft Corporation | Efficient coding of digital media spectral data using wide-sense perceptual similarity |
WO2006009074A1 (ja) * | 2004-07-20 | 2006-01-26 | Matsushita Electric Industrial Co., Ltd. | 音声復号化装置および補償フレーム生成方法 |
KR100883652B1 (ko) * | 2006-08-03 | 2009-02-18 | 삼성전자주식회사 | 음성 구간 검출 방법 및 장치, 및 이를 이용한 음성 인식시스템 |
WO2008022207A2 (en) * | 2006-08-15 | 2008-02-21 | Broadcom Corporation | Time-warping of decoded audio signal after packet loss |
GB0704622D0 (en) * | 2007-03-09 | 2007-04-18 | Skype Ltd | Speech coding system and method |
GB0705328D0 (en) * | 2007-03-20 | 2007-04-25 | Skype Ltd | Method of transmitting data in a communication system |
CN101325537B (zh) * | 2007-06-15 | 2012-04-04 | 华为技术有限公司 | 一种丢帧隐藏的方法和设备 |
US8046214B2 (en) * | 2007-06-22 | 2011-10-25 | Microsoft Corporation | Low complexity decoder for complex transform coding of multi-channel sound |
US7885819B2 (en) | 2007-06-29 | 2011-02-08 | Microsoft Corporation | Bitstream syntax for multi-process audio decoding |
BRPI0815972B1 (pt) * | 2007-08-27 | 2020-02-04 | Ericsson Telefon Ab L M | método para recuperação de espectro em decodificação espectral de um sinal de áudio, método para uso em codificação espectral de um sinal de áudio, decodificador, e, codificador |
KR100921867B1 (ko) * | 2007-10-17 | 2009-10-13 | 광주과학기술원 | 광대역 오디오 신호 부호화 복호화 장치 및 그 방법 |
US8249883B2 (en) * | 2007-10-26 | 2012-08-21 | Microsoft Corporation | Channel extension coding for multi-channel source |
MX2010002629A (es) * | 2007-11-21 | 2010-06-02 | Lg Electronics Inc | Metodo y aparato para procesar una señal. |
WO2009078093A1 (ja) * | 2007-12-18 | 2009-06-25 | Fujitsu Limited | 非音声区間検出方法及び非音声区間検出装置 |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
KR101413968B1 (ko) * | 2008-01-29 | 2014-07-01 | 삼성전자주식회사 | 오디오 신호의 부호화, 복호화 방법 및 장치 |
EP2255534B1 (en) * | 2008-03-20 | 2017-12-20 | Samsung Electronics Co., Ltd. | Apparatus and method for encoding using bandwidth extension in portable terminal |
US20090319263A1 (en) * | 2008-06-20 | 2009-12-24 | Qualcomm Incorporated | Coding of transitional speech frames for low-bit-rate applications |
US8768690B2 (en) * | 2008-06-20 | 2014-07-01 | Qualcomm Incorporated | Coding scheme selection for low-bit-rate applications |
USRE47180E1 (en) * | 2008-07-11 | 2018-12-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for generating a bandwidth extended signal |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US7911975B2 (en) * | 2008-08-26 | 2011-03-22 | International Business Machines Corporation | System and method for network flow traffic rate encoding |
WO2010028301A1 (en) * | 2008-09-06 | 2010-03-11 | GH Innovation, Inc. | Spectrum harmonic/noise sharpness control |
WO2010028292A1 (en) * | 2008-09-06 | 2010-03-11 | Huawei Technologies Co., Ltd. | Adaptive frequency prediction |
WO2010028299A1 (en) * | 2008-09-06 | 2010-03-11 | Huawei Technologies Co., Ltd. | Noise-feedback for spectral envelope quantization |
WO2010028297A1 (en) * | 2008-09-06 | 2010-03-11 | GH Innovation, Inc. | Selective bandwidth extension |
US8577673B2 (en) * | 2008-09-15 | 2013-11-05 | Huawei Technologies Co., Ltd. | CELP post-processing for music signals |
WO2010031003A1 (en) | 2008-09-15 | 2010-03-18 | Huawei Technologies Co., Ltd. | Adding second enhancement layer to celp based core layer |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
WO2010070770A1 (ja) * | 2008-12-19 | 2010-06-24 | 富士通株式会社 | 音声帯域拡張装置及び音声帯域拡張方法 |
CN101604525B (zh) * | 2008-12-31 | 2011-04-06 | 华为技术有限公司 | 基音增益获取方法、装置及编码器、解码器 |
CA3076203C (en) | 2009-01-28 | 2021-03-16 | Dolby International Ab | Improved harmonic transposition |
PL3751570T3 (pl) | 2009-01-28 | 2022-03-07 | Dolby International Ab | Ulepszona transpozycja harmonicznych |
JP5730860B2 (ja) * | 2009-05-19 | 2015-06-10 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 階層型正弦波パルスコーディングを用いるオーディオ信号の符号化及び復号化方法及び装置 |
CN102318004B (zh) | 2009-09-18 | 2013-10-23 | 杜比国际公司 | 改进的谐波转置 |
IN2012DN05235A (ko) | 2010-01-08 | 2015-10-23 | Nippon Telegraph & Telephone | |
WO2011086923A1 (ja) * | 2010-01-14 | 2011-07-21 | パナソニック株式会社 | 符号化装置、復号装置、スペクトル変動量算出方法及びスペクトル振幅調整方法 |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
JP5651980B2 (ja) * | 2010-03-31 | 2015-01-14 | ソニー株式会社 | 復号装置、復号方法、およびプログラム |
US12002476B2 (en) | 2010-07-19 | 2024-06-04 | Dolby International Ab | Processing of audio signals during high frequency reconstruction |
JP5593244B2 (ja) * | 2011-01-28 | 2014-09-17 | 日本放送協会 | 話速変換倍率決定装置、話速変換装置、プログラム、及び記録媒体 |
US9767822B2 (en) * | 2011-02-07 | 2017-09-19 | Qualcomm Incorporated | Devices for encoding and decoding a watermarked signal |
US9767823B2 (en) | 2011-02-07 | 2017-09-19 | Qualcomm Incorporated | Devices for encoding and detecting a watermarked signal |
US9343076B2 (en) * | 2011-02-16 | 2016-05-17 | Dolby Laboratories Licensing Corporation | Methods and systems for generating filter coefficients and configuring filters |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
WO2013019562A2 (en) * | 2011-07-29 | 2013-02-07 | Dts Llc. | Adaptive voice intelligibility processor |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
RU2504790C1 (ru) * | 2012-05-24 | 2014-01-20 | Открытое акционерное общество "Российская корпорация ракетно-космического приборостроения и информационных систем" (ОАО "Российские космические системы") | Способ и устройство поиска и обнаружения сигналов |
KR101340048B1 (ko) * | 2012-06-12 | 2013-12-11 | (주)에프씨아이 | 스펙트럼 반전 검출 장치 및 방법 |
CN103928031B (zh) | 2013-01-15 | 2016-03-30 | 华为技术有限公司 | 编码方法、解码方法、编码装置和解码装置 |
WO2014209434A1 (en) * | 2013-02-15 | 2014-12-31 | Max Sound Corporation | Voice enhancement methods and systems |
US9236058B2 (en) * | 2013-02-21 | 2016-01-12 | Qualcomm Incorporated | Systems and methods for quantizing and dequantizing phase information |
CA3029037C (en) * | 2013-04-05 | 2021-12-28 | Dolby International Ab | Audio encoder and decoder |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP2830064A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection |
US9418671B2 (en) * | 2013-08-15 | 2016-08-16 | Huawei Technologies Co., Ltd. | Adaptive high-pass post-filter |
US20150149157A1 (en) * | 2013-11-22 | 2015-05-28 | Qualcomm Incorporated | Frequency domain gain shape estimation |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US10163447B2 (en) * | 2013-12-16 | 2018-12-25 | Qualcomm Incorporated | High-band signal modeling |
FR3020732A1 (fr) * | 2014-04-30 | 2015-11-06 | Orange | Correction de perte de trame perfectionnee avec information de voisement |
US9697843B2 (en) * | 2014-04-30 | 2017-07-04 | Qualcomm Incorporated | High band excitation signal generation |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9626983B2 (en) * | 2014-06-26 | 2017-04-18 | Qualcomm Incorporated | Temporal gain adjustment based on high-band signal characteristic |
EP2960903A1 (en) | 2014-06-27 | 2015-12-30 | Thomson Licensing | Method and apparatus for determining for the compression of an HOA data frame representation a lowest integer number of bits required for representing non-differential gain values |
CN105225670B (zh) * | 2014-06-27 | 2016-12-28 | 华为技术有限公司 | 一种音频编码方法和装置 |
JP5892395B2 (ja) * | 2014-08-06 | 2016-03-23 | ソニー株式会社 | 符号化装置、符号化方法、およびプログラム |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10061554B2 (en) * | 2015-03-10 | 2018-08-28 | GM Global Technology Operations LLC | Adjusting audio sampling used with wideband audio |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US20170069306A1 (en) * | 2015-09-04 | 2017-03-09 | Foundation of the Idiap Research Institute (IDIAP) | Signal processing method and apparatus based on structured sparsity of phonological features |
WO2017064264A1 (en) * | 2015-10-15 | 2017-04-20 | Huawei Technologies Co., Ltd. | Method and appratus for sinusoidal encoding and decoding |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
FI3696813T3 (fi) | 2016-04-12 | 2023-01-31 | Audiokooderi audiosignaalin koodaamiseksi, menetelmä audiosignaalin koodaamiseksi ja tietokoneohjelma havaitulla huippuspektrialeella tarkastettuna ylemmällä taajuuskaistalla | |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10264116B2 (en) * | 2016-11-02 | 2019-04-16 | Nokia Technologies Oy | Virtual duplex operation |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
TWI594231B (zh) * | 2016-12-23 | 2017-08-01 | 瑞軒科技股份有限公司 | 分頻壓縮電路,音訊處理方法以及音訊處理系統 |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US10825467B2 (en) * | 2017-04-21 | 2020-11-03 | Qualcomm Incorporated | Non-harmonic speech detection and bandwidth extension in a multi-source environment |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US11876659B2 (en) | 2017-10-27 | 2024-01-16 | Terawave, Llc | Communication system using shape-shifted sinusoidal waveforms |
KR102438549B1 (ko) * | 2017-10-27 | 2022-08-31 | 테라웨이브, 엘엘씨 | 인코딩된 정현파 파형들을 이용한 고 스펙트럼 효율의 데이터 통신 시스템을 위한 수신기 |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
CN117351969A (zh) * | 2018-01-17 | 2024-01-05 | 日本电信电话株式会社 | 解码装置、解码方法、计算机可读记录介质以及程序 |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
CN110365615A (zh) * | 2018-03-26 | 2019-10-22 | 晨星半导体股份有限公司 | 载波频偏估测装置与载波频偏估测方法 |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
CN110660402B (zh) | 2018-06-29 | 2022-03-29 | 华为技术有限公司 | 立体声信号编码过程中确定加权系数的方法和装置 |
EP3671741A1 (en) | 2018-12-21 | 2020-06-24 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | Audio processor and method for generating a frequency-enhanced audio signal using pulse processing |
RU2713750C1 (ru) * | 2019-07-26 | 2020-02-07 | Федеральное государственное автономное образовательное учреждение высшего образования "Дальневосточный федеральный университет" (ДВФУ) | Способ когерентной разнесенной передачи сигнала |
US11380343B2 (en) * | 2019-09-12 | 2022-07-05 | Immersion Networks, Inc. | Systems and methods for processing high frequency audio signal |
KR102201169B1 (ko) * | 2019-10-23 | 2021-01-11 | 성균관대학교 산학협력단 | 메타 표면의 반사 계수를 제어하기 위한 시간 부호 생성 방법, 메타 표면의 반사 계수를 제어하기 위한 시공간 부호 생성 방법, 이를 실행하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체, 및 이를 이용한 메타 표면의 신호 변조 방법 |
CN111510555B (zh) * | 2020-04-03 | 2021-04-02 | 厦门亿联网络技术股份有限公司 | 一种dect基站通信方法、装置及*** |
CN111769901B (zh) * | 2020-05-12 | 2023-04-14 | 厦门亿联网络技术股份有限公司 | 一种传输数据帧的dect基站、移动终端及*** |
CN113270105B (zh) * | 2021-05-20 | 2022-05-10 | 东南大学 | 一种基于混合调制的类语音数据传输方法 |
CN114333862B (zh) * | 2021-11-10 | 2024-05-03 | 腾讯科技(深圳)有限公司 | 音频编码方法、解码方法、装置、设备、存储介质及产品 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2483322C (en) | 1991-06-11 | 2008-09-23 | Qualcomm Incorporated | Error masking in a variable rate vocoder |
JPH06337153A (ja) | 1993-05-28 | 1994-12-06 | Toshiba Corp | 空気調和機 |
EP2239876A3 (en) * | 1997-06-19 | 2011-01-26 | Kabushiki Kaisha Toshiba | Information data multiplexing transmission system, multiplexer and demultiplexer used therefor, and error correcting encoder and decoder |
KR100273288B1 (ko) * | 1998-04-09 | 2000-12-15 | 김영환 | 디스플레이 패널용 데이터 제어 장치 |
FI991605A (fi) * | 1999-07-14 | 2001-01-15 | Nokia Networks Oy | Menetelmä puhekodaukseen ja puhekoodaukseen tarvittavan laskentakapasi teetin vähentämiseksi ja verkkoelementti |
US6567876B1 (en) * | 1999-12-03 | 2003-05-20 | Hewlett-Packard Development Company, L.P. | Docking PCI to PCI bridge using IEEE 1394 link |
US6584438B1 (en) | 2000-04-24 | 2003-06-24 | Qualcomm Incorporated | Frame erasure compensation method in a variable rate speech coder |
US7330814B2 (en) * | 2000-05-22 | 2008-02-12 | Texas Instruments Incorporated | Wideband speech coding with modulated noise highband excitation system and method |
US6631139B2 (en) * | 2001-01-31 | 2003-10-07 | Qualcomm Incorporated | Method and apparatus for interoperability between voice transmission systems during speech inactivity |
US6804340B2 (en) * | 2001-05-03 | 2004-10-12 | Raytheon Company | Teleconferencing system |
US20030172114A1 (en) * | 2001-10-24 | 2003-09-11 | Leung Nikolai K. N. | Method and apparatus for data packet transport in a wireless communication system using an internet protocol |
CA2392640A1 (en) | 2002-07-05 | 2004-01-05 | Voiceage Corporation | A method and device for efficient in-based dim-and-burst signaling and half-rate max operation in variable bit-rate wideband speech coding for cdma wireless systems |
AU2003278013A1 (en) | 2002-10-11 | 2004-05-04 | Voiceage Corporation | Methods and devices for source controlled variable bit-rate wideband speech coding |
US7657427B2 (en) * | 2002-10-11 | 2010-02-02 | Nokia Corporation | Methods and devices for source controlled variable bit-rate wideband speech coding |
US7254533B1 (en) * | 2002-10-17 | 2007-08-07 | Dilithium Networks Pty Ltd. | Method and apparatus for a thin CELP voice codec |
WO2004090870A1 (ja) * | 2003-04-04 | 2004-10-21 | Kabushiki Kaisha Toshiba | 広帯域音声を符号化または復号化するための方法及び装置 |
JP4047296B2 (ja) | 2004-03-12 | 2008-02-13 | 株式会社東芝 | 音声復号化方法及び音声復号化装置 |
ATE426204T1 (de) * | 2004-10-25 | 2009-04-15 | Bosch Gmbh Robert | Verfahren und vorrichtung zur trennung der abarbeitung von programmcode bei einem rechnersystem mit wenigstens zwei ausfuhrungseinheiten |
CA2603246C (en) | 2005-04-01 | 2012-07-17 | Qualcomm Incorporated | Systems, methods, and apparatus for anti-sparseness filtering |
CN2800435Y (zh) * | 2005-05-24 | 2006-07-26 | 鸿富锦精密工业(深圳)有限公司 | 一种便携式光盘播放器 |
US7177804B2 (en) * | 2005-05-31 | 2007-02-13 | Microsoft Corporation | Sub-band voice codec with multi-stage codebooks and redundant coding |
US7747669B2 (en) * | 2006-03-31 | 2010-06-29 | Intel Corporation | Rounding of binary integers |
-
2007
- 2007-02-21 US US11/677,173 patent/US8135047B2/en active Active
- 2007-07-30 TW TW096127832A patent/TWI384807B/zh active
- 2007-07-31 BR BRPI0714825-9A patent/BRPI0714825A2/pt not_active IP Right Cessation
- 2007-07-31 WO PCT/US2007/074900 patent/WO2008016947A2/en active Application Filing
- 2007-07-31 CA CA2657424A patent/CA2657424C/en active Active
- 2007-07-31 JP JP2009523028A patent/JP5437067B2/ja active Active
- 2007-07-31 CN CN201410359582.2A patent/CN104123946B/zh active Active
- 2007-07-31 KR KR1020097004320A patent/KR101058760B1/ko active IP Right Grant
- 2007-07-31 RU RU2009107164/09A patent/RU2421828C2/ru active
- 2007-07-31 EP EP07840620.4A patent/EP2047461B1/en active Active
-
2013
- 2013-05-22 JP JP2013108189A patent/JP2013210659A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
TW200816716A (en) | 2008-04-01 |
CN104123946A (zh) | 2014-10-29 |
CN104123946B (zh) | 2019-04-12 |
TWI384807B (zh) | 2013-02-01 |
JP2013210659A (ja) | 2013-10-10 |
JP2010501080A (ja) | 2010-01-14 |
US20080027711A1 (en) | 2008-01-31 |
EP2047461B1 (en) | 2013-04-17 |
RU2009107164A (ru) | 2010-09-10 |
CA2657424A1 (en) | 2008-02-07 |
CA2657424C (en) | 2013-05-28 |
RU2421828C2 (ru) | 2011-06-20 |
KR20090035727A (ko) | 2009-04-10 |
WO2008016947A3 (en) | 2008-03-20 |
WO2008016947A2 (en) | 2008-02-07 |
US8135047B2 (en) | 2012-03-13 |
BRPI0714825A2 (pt) | 2013-05-21 |
EP2047461A2 (en) | 2009-04-15 |
JP5437067B2 (ja) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101058760B1 (ko) | 스피치 신호와 연관된 패킷에 식별자를 포함시키는 시스템 및 방법 | |
KR100956523B1 (ko) | 광대역 스피치 코딩을 위한 시스템, 방법, 및 장치 |
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: 20140730 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160629 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 9 |