KR101615265B1 - 오디오 코딩 및 디코딩을 위한 방법 및 장치 - Google Patents
오디오 코딩 및 디코딩을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101615265B1 KR101615265B1 KR1020147002124A KR20147002124A KR101615265B1 KR 101615265 B1 KR101615265 B1 KR 101615265B1 KR 1020147002124 A KR1020147002124 A KR 1020147002124A KR 20147002124 A KR20147002124 A KR 20147002124A KR 101615265 B1 KR101615265 B1 KR 101615265B1
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- decoder
- speech
- encoder
- audio
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000005236 sound signal Effects 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 42
- 230000015572 biosynthetic process Effects 0.000 claims description 38
- 238000003786 synthesis reaction Methods 0.000 claims description 38
- 238000005070 sampling Methods 0.000 claims description 28
- 230000003044 adaptive effect Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 4
- 238000011045 prefiltration Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 abstract description 20
- 230000008569 process Effects 0.000 abstract description 10
- 239000013598 vector Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000005284 excitation Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 230000003595 spectral effect Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 6
- 238000013139 quantization Methods 0.000 description 5
- 239000002131 composite material Substances 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000001228 spectrum 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/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
제네릭 오디오 및 스피치 프레임들을 포함하는 오디오 신호를 처리하기 위한 인코더와 디코더가 여기 제시된다. 동작 동안, 2개의 인코더가 스피치 코더에 의해 이용되고 2개의 디코더가 스피치 디코더에 의해 이용된다. 2개의 인코더와 디코더는 각각 스피치 및 논-스피치(제네릭 오디오)를 처리하는데 이용된다. 제네릭 오디오와 스피치 간의 트랜지션 동안, 스피치의 프레임을 디코딩하기 위해 스피치 디코더가 필요로 하는 파라미터들은 필요한 파라미터를 위한 선행 제네릭 오디오(논-스피치) 프레임을 처리함으로써 생성된다. 필요한 파라미터는 스피치 코더/디코더에 의해 구해지기 때문에, 제네릭 오디오 프레임과 스피치 프레임 간의 트랜지션시에 종래 기술에 연관된 불연속이 감소한다.
Description
본 개시는 일반적으로 스피치 및 오디오 코딩 및 디코딩에 관한 것이고, 특히는 제네릭 오디오(generic audio) 및 스피치 프레임을 포함하는 오디오 신호를 처리하기 위한 인코더 및 디코더에 관한 것이다.
많은 오디오 신호는 스피치 류(speech like)의 특성을 더 많이 갖고 있는지 아니면 뮤직, 톤(tones), 배경 노이즈, 잔향 스피치(reverberant speech) 등을 대표하는 제네릭 오디오 특성을 더 많이 갖고 있는지에 따라서 분류될 수 있다. 스피치 신호를 처리하는데 적합한 소스-필터 모델(source-filter models)에 기반을 둔 코덱은 제네릭 오디오 신호를 효과적으로 처리하지 못한다. 그러한 코덱은 CELP(Code Excited Linear Prediction) 코더와 같은 선형 예측 부호화(LPC:Linear Predictive Coding) 코덱을 포함한다. 스피치 코더는 스피치 신호를 낮은 비트 레이트로도 잘 처리하는 경향이 있다. 역으로, 주파수 도메인 변환 코덱과 같은 제네릭 오디오 처리 시스템은 스피치 신호를 매우 잘 처리하지 못한다. 프레임 단위(frame-by-frame basis)로, 오디오 신호가 대체로(more or less) 스피치-류인지 여부를 판정하고 이 신호를 분류를 기반으로 스피치 코덱이나 제네릭 오디오 코덱에 보내기 위해 분류기 또는 변별기를 제공하는 것은 잘 알려져 있다. 다양한 신호 유형을 처리할 수 있는 오디오 신호 프로세서는 종종 하이브리드 코어 코덱이라 불린다. 어떤 경우들에서 하이브리드 코덱은 가변 레이트(variable rate)일 수 있고, 즉 이는 다양한 비트 레이트로 다양한 유형의 프레임을 코딩할 수 있다. 예를 들어, 변환 도메인을 이용하여 코딩되는 제네릭 오디오 프레임들은 더 높은 비트 레이트로 코딩되고 스피치-류 프레임들은 더 낮은 비트 레이트로 코딩된다.
각각이 스피치 및 제네릭 오디오 모드를 이용하는 제네릭 오디오 프레임의 처리와 스피치 프레임의 처리 간의 트랜지션(transitioning)은 불연속(discontinuities)을 낳는다고 알려져 있다. CELP 도메인 프레임에서 변환 도메인 프레임(transform domain frame)으로의 트랜지션은 오디오 갭(gap)의 형태로 불연속을 생성하는 것으로 밝혀졌다. 변환 도메인에서 CELP 도메인으로의 트랜지션의 결과로 오디오 품질에 부작용을 주는 가청 불연속이 생긴다. 이 불연속의 주 이유는 CELP 코덱의 다양한 상태의 부적절한 초기화다.
이러한 문제의 상태 갱신을 피하기 위해서, AMRWB+ 및 EVRCWB와 같은 종래 기술의 코덱은 오디오 모드에서도 LPC 분석을 이용하고 변환 도메인에서 잔차(residual)를 코딩한다. 역변환(inverse transform)을 이용하여 구한 타임 도메인 잔차를 LPC 합성 필터를 통과시킴으로써 합성 출력이 생성된다. 이 프로세스는 그 자체가 LPC 합성 필터 상태와 ACB 여기 상태(excitation state)를 생성한다. 그러나, 제네릭 오디오 신호는 통상 LPC 모델에 합치하지 않으며, 그러므로 LPC 양자화에 비트들이 소비되어 제네릭 오디오 신호에 성능 손실이 생길 수 있다. 그러므로, 코딩과 디코딩 기술들 간의 트랜지션 동안 오디오 품질을 향상시키는, 제네릭 오디오 및 스피치 프레임들을 포함하는 오디오 신호를 처리하기 위한 인코더와 디코더가 필요하다.
도 1은 프레임들의 입력 스트림을 코딩하도록 구성된 하이브리드 코더를 보여주고 있으며, 이들 프레임 중 일부는 스피치 류 프레임(speech-like frames)이고 나머지는 논-스피치(non-speech) 프레임을 포함하는 더 적은 스피치-류 프레임(less speech-like frames)이다.
도 2는 프레임들의 입력 스트림을 디코딩하도록 구성된 스피치 디코더의 블록 도이고, 이들 프레임 중 일부는 스피치 류 프레임이고 나머지는 논-스피치 프레임을 포함하는 더 적은 스피치-류 프레임이다.
도 3은 인코더와 상태 생성기의 블록 도이다.
도 4는 디코더와 상태 생성기의 블록 도이다.
도 5는 상태 생성기의 좀 더 상세한 블록 도이다.
도 6은 스피치 인코더의 좀 더 상세한 블록 도이다.
도 7은 스피치 디코더의 좀 더 상세한 블록 도이다.
도 8은 대안 실시 예에 따른 스피치 인코더의 블록 도이다.
도 9는 본 발명의 대안 실시 예에 따른 상태 생성기의 블록 도이다.
도 10은 본 발명의 다른 실시 예에 따른 스피치 인코더의 블록 도이다.
도 11은 도 1의 인코더의 동작을 보여주는 흐름도이다.
도 12는 도 2의 디코더의 동작을 보여주는 흐름도이다.
숙련된 기술자들은 도면에 있는 요소들이 간결함 및 명료성을 위해 도시되어 있고 비율대로 그려질 필요가 없었음을 이해할 것이다. 예를 들어, 도면에 있는 요소들 중 일부의 치수 및/또는 상대 위치는 다른 요소에 비해서 과장되어 있을 수 있는데 이는 본 발명의 다양한 실시 예의 이해를 도모하는데 도움을 주기 위함이다. 또한, 상업적으로 실현 가능한 실시 예들에 유용하거나 필요한 일반적이나 잘 이해될 수 있는 요소들은 본 발명의 다양한 실시 예들을 보여주는데 덜 장애가 되도록 종종 도시되어 있지 않다. 좀 더 이해가 요구되는 것은 특정한 액션 및/또는 단계들이 특정 발생 순서로 기술되거나 묘사될 수 있지만 이 기술에 숙련된 자들은 시퀀스에 관한 그러한 특별함이 실제로는 요구되지 않음을 이해한다는 점이다. 이 기술에 숙련된 자들은 또한 "회로"와 같은 특정 구현 실시 예에 대한 참조들이 범용 컴퓨팅 장치(예로, CPU) 또는 비-일시적 컴퓨터-판독가능 메모리에 저장된 소프트웨어 명령어를 실행하는 전용 처리 장치(예로, DSP)를 통해서 동등하게 성취될 수 있음을 이해할 것이다. 또한 여기에 이용된 용어와 표현은 여기에 다른 특정한 의미가 다른식으로 부여된 경우를 제외하고는 위에 언급한 기술 분야에 숙련된 자들이 그러한 용어 및 표현에 대해 합의하고 있는 통상의 기술적인 의미를 띠고 있다는 것을 이해할 것이다.
도 2는 프레임들의 입력 스트림을 디코딩하도록 구성된 스피치 디코더의 블록 도이고, 이들 프레임 중 일부는 스피치 류 프레임이고 나머지는 논-스피치 프레임을 포함하는 더 적은 스피치-류 프레임이다.
도 3은 인코더와 상태 생성기의 블록 도이다.
도 4는 디코더와 상태 생성기의 블록 도이다.
도 5는 상태 생성기의 좀 더 상세한 블록 도이다.
도 6은 스피치 인코더의 좀 더 상세한 블록 도이다.
도 7은 스피치 디코더의 좀 더 상세한 블록 도이다.
도 8은 대안 실시 예에 따른 스피치 인코더의 블록 도이다.
도 9는 본 발명의 대안 실시 예에 따른 상태 생성기의 블록 도이다.
도 10은 본 발명의 다른 실시 예에 따른 스피치 인코더의 블록 도이다.
도 11은 도 1의 인코더의 동작을 보여주는 흐름도이다.
도 12는 도 2의 디코더의 동작을 보여주는 흐름도이다.
숙련된 기술자들은 도면에 있는 요소들이 간결함 및 명료성을 위해 도시되어 있고 비율대로 그려질 필요가 없었음을 이해할 것이다. 예를 들어, 도면에 있는 요소들 중 일부의 치수 및/또는 상대 위치는 다른 요소에 비해서 과장되어 있을 수 있는데 이는 본 발명의 다양한 실시 예의 이해를 도모하는데 도움을 주기 위함이다. 또한, 상업적으로 실현 가능한 실시 예들에 유용하거나 필요한 일반적이나 잘 이해될 수 있는 요소들은 본 발명의 다양한 실시 예들을 보여주는데 덜 장애가 되도록 종종 도시되어 있지 않다. 좀 더 이해가 요구되는 것은 특정한 액션 및/또는 단계들이 특정 발생 순서로 기술되거나 묘사될 수 있지만 이 기술에 숙련된 자들은 시퀀스에 관한 그러한 특별함이 실제로는 요구되지 않음을 이해한다는 점이다. 이 기술에 숙련된 자들은 또한 "회로"와 같은 특정 구현 실시 예에 대한 참조들이 범용 컴퓨팅 장치(예로, CPU) 또는 비-일시적 컴퓨터-판독가능 메모리에 저장된 소프트웨어 명령어를 실행하는 전용 처리 장치(예로, DSP)를 통해서 동등하게 성취될 수 있음을 이해할 것이다. 또한 여기에 이용된 용어와 표현은 여기에 다른 특정한 의미가 다른식으로 부여된 경우를 제외하고는 위에 언급한 기술 분야에 숙련된 자들이 그러한 용어 및 표현에 대해 합의하고 있는 통상의 기술적인 의미를 띠고 있다는 것을 이해할 것이다.
위에 언급된 필요성을 경감하기 위해서, 제네릭 오디오 및 스피치 프레임을 포함하는 오디오 신호를 처리하기 위한 인코더 및 디코더가 여기에 제시된다. 동작 동안 2개의 인코더는 스피치 코더에 의해 이용되고, 2개의 디코더는 스피치 디코더에 의해 이용된다. 2개의 인코더와 디코더는 각각 스피치 및 논-스피치(제네릭 오디오)를 처리하는데 이용된다. 제네릭 오디오와 스피치 간의 트랜지션 동안, 스피치의 프레임을 디코딩하기 위해 스피치 디코더가 필요로 하는 파라미터는 필요한 파라미터를 위해 선행(preceding) 제네릭 오디오(논-스피치) 프레임을 처리함으로써 생성된다. 필요한 파라미터는 스피치 코더/디코더에 의해 구해지기 때문에, 종래 기술에 연관된 불연속은 제네릭 오디오 프레임들과 스피치 프레임들 간의 트랜지션시에 감소한다.
같은 참조 번호가 같은 컴포넌트를 지정하는 도면으로 돌아가 보면, 도 1은 프레임들의 입력 스트림을 코딩하도록 구성된 하이브리드 코더(100)를 보여주고 있으며, 이들 프레임 중 일부는 스피치 류 프레임이고 나머지는 논-스피치 프레임을 포함하는 더 적은 스피치-류 프레임이다. 도 1의 회로는 오디오의 인코딩 및 디코딩을 실행하는 어떤 전자 장치에도 통합될 수 있다. 그러한 장치는 셀룰러 전화, 뮤직 플레이어, 홈 전화 등을 포함하지만 이들에 제한되지 않는다.
더 적은 스피치-류 프레임은 여기서 제네릭 오디오 프레임이라 칭한다. 하이브리드 코어 코덱(100)은 입력 오디오 신호 s(n)의 프레임을 처리하는 모드 선택기(110)를 포함하고, 여기서 n은 샘플 인덱스이다. 모드 선택기는 또한 현재 프레임에 대한 레이트(rate)를 판정하는 레이트 판정기로부터 입력을 얻을 수 있다. 이때 레이트는 이용된 인코딩 방법의 유형을 제어할 수 있다. 프레임 길이는 샘플링 레이트가 초당 16 kHz 샘플일 때 320개의 오디오 샘플을 포함할 수 있고, 이는 20 밀리세컨드의 프레임 시간 인터벌에 대응하지만, 많은 다른 변형이 가능하다.
도 1에는, 스피치 프레임의 코딩에 적합한 제1 코더(130)가 제시되어 있고 제네릭 오디오 프레임의 코딩에 적합한 제2 코더(140)가 제시되어 있다. 일 실시 예에서, 코더(130)는 스피치 신호의 처리에 적합한 소스-필터 모델을 기반으로 하고 제네릭 오디오 코더(140)는 TDAC(time domain aliasing cancellation) 기반의 선형 직교 겹침 변환(linear orthogonal lapped transform)이다. 한 구현에서, 스피치 코더(130)는 스피치 신호의 처리에 적합한 다른 코더들 중에서, CELP(Code Excited Linear Prediction) 코더의 선형 예측 부호화(LPC:Linear Predictive Coding)를 이용할 수 있다. 제네릭 오디오 코더는 수정 이산 코사인 변환(MDCT:Modified Discrete Cosine Transform) 코더 또는 수정 이산 사인 변환(MSCT:Modified Discrete Sine Transform) 또는 다른 유형의 이산 코사인 변환(DCT:Discrete Cosine Transform) 또는 DCT/이산 사인 변환(DST:Discrete Sine Transform) 결합 기반의 MDCT의 형태로 구현될 수 있다. 제네릭 오디오 코더(140) 용으로는 많은 다른 가능성이 존재한다.
도 1에서, 제1 및 제2 코더(130 및 140)는 모드 선택기(110)에 의해서 선택되거나 판정된 모드를 기반으로 제어되는 선택 스위치(150)에 의해 입력 오디오 신호에 연결되는 입력을 갖추고 있다. 예를 들어, 스위치(150)는 모드 선택기의 코드워드 출력 기반의 프로세서에 의해 제어될 수 있다. 스위치(150)는 스피치 프레임의 처리를 위하여 스피치 코더(130)를 선택하고 이 스위치는 제네릭 오디오 프레임의 처리를 위하여 제네릭 오디오 코더를 선택한다. 각 프레임은 선택 스위치(150) 덕분에 단지 하나의 코더, 예를 들어, 스피치 코더 또는 제네릭 오디오 코더에 의해서 처리될 수 있다. 도 1에는 단지 2개의 코더가 도시되어 있지만, 프레임들은 수개의 상이한 코더들 중 하나에 의해 코딩될 수 있다. 예를 들어, 3개 이상의 코더들 중 하나가 입력 오디오 신호의 특정 프레임을 처리하도록 선택될 수 있다. 그러나, 다른 실시 예에서는, 각 프레임은 이하 기술되는 바와 같이 모든 코더에 의해서 코딩될 수 있다.
도 1에서, 각 코덱은 코더에 의해 처리된 대응하는 입력 오디오 프레임을 기반으로 인코딩된 비트 스트림 및 대응하는 처리된 프레임을 생성한다. 이때 인코딩된 비트 스트림은 저장되거나 도 2에 도시된 바와 같은 적절한 디코더(200)에 전송될 수 있다. 도 2에서, 스피치 디코더에 의해 생성된 처리된 출력 프레임은 으로 표시되어 있고 제네릭 오디오 코더에 의해 생성된 처리된 프레임은 으로 표시되어 있다.
도 2에 도시된 바와 같이, 스피치 디코더(200)는 인코딩된 비트 스트림을 수신하여 이 비트 스트림을 적절한 디코더(230 또는 221)에 보내주는 디-멀티플렉서(210)를 포함하고 있다. 인코더(100)와 같이, 디코더(200)는 스피치를 디코딩하기 위한 제1 디코더(230)와 제네릭 오디오를 디코딩하기 위한 제2 디코더(221)를 포함하고 있다. 위에 언급한 바와 같이, 오디오 모드에서 스피치 모드로의 트랜지션시에, 오디오 불연속이 형성될 수 있다. 이 문제를 다루기 위해서, 인코더(100)와 디코더(200)에는 파라미터/상태 생성기(160 및 260)가 제공된다. 제네릭 오디오와 스피치 간의 트랜지션 동안, 스피치 인코더(130)와 디코더(230)가 각각 스피치의 프레임을 인코딩하고 디코딩하는데 필요로 하는 파라미터 및/또는 상태(종종 필터 파라미터라 불림)는 생성기(160 및 260)들이 선행(preceding) 제네릭 오디오(논-스피치) 프레임 출력/디코딩된 오디오를 처리함으로써 생성된다.
도 3은 회로(160) 및 인코더(130)의 블록 도를 보여주고 있다. 도시된 바와 같이, 앞서 코딩된 제네릭 오디오 프레임 m으로부터 재구성된 오디오는 상태 생성기(160)로 들어간다. 상태 생성기(160)의 목적은 실제로 프레임 m이 제네릭 오디오 코더(140)와 같은 제2 인코더에 의해 처리되었을 때 마치 프레임 m이 스피치 인코더(130)에 의해 처리된 것처럼 시스템이 행동하도록 프레임 m+1에 대한 스피치 인코더(130)의 1 이상의 상태 메모리(필터 파라미터들)를 추정(estimate)하는 것이다. 더욱이, 160 및 130에 도시된 바와 같이, 상태 메모리 갱신에 연관된 필터 구현인 필터(340 및 370)는 서로 상보적(즉, 서로 역)이다. 이는 본 발명에서 상태 갱신 프로세스의 성격에 기인한다. 특히, 이전 프레임 m의 재구성된 오디오는 스피치 인코더(130)에 제공되어 있는 다른 프로세스 및/또는 1 이상의 역 필터를 통해서 "역-전파된다(back-propagated)". 역 필터(들)의 상태는 이때 인코더 내의 대응하는 포워드 필터(들)에 전사된다(transferred). 이는 각 오디오 처리시에 프레임 m에서 프레임 m+1로의 부드러운 트랜지션의 결과로 나타나며 나중에 좀 더 상세히 논의될 것이다.
프레임 m+1에 대한 후속 디코딩된 오디오는 이러한 식으로 마치 이전 프레임 m이 디코더(230)에 의해 디코딩된 것처럼 행동할 수 있다. 이후 디코딩된 프레임은 상태 생성기(160)에 전송되고 여기서 스피치 코더(130)에 의해 이용되는 파라미터가 판정된다. 이는 부분적으로 각 필터 역 함수의 이용을 통해서 다음 중 1 이상에 대한 값을 판정하는 상태 생성기(160)에 의해서 성취된다:
ㆍ 다운-샘플링 필터 상태 메모리
ㆍ 프리-엠파시스(Pre-emphasis) 필터 상태 메모리
ㆍ 가중 합성 필터의 보간 및 생성을 위한 선형 예측 계수, 상태 메모리
ㆍ 적응 코드북 상태 메모리
ㆍ 디-엠파시스(De-emphasis) 필터 상태 메모리; 및
ㆍ LPC 합성 필터 상태 메모리.
상기 파라미터들 중 적어도 하나에 대한 값은 스피치 인코더(130)에 들어가고, 여기서 이들은 후속 스피치 프레임을 인코딩하기 위한 초기 상태로서 이용된다.
도 4는 상태 생성기(260) 및 디코더(230)의 대응하는 디코더 블록 도를 보여주고 있다. 도시된 바와 같이, 프레임 m으로부터 재구성된 오디오는 상태 생성기(260)로 들어가고 여기서 스피치 디코더(230)에 의해 이용되는 필터들에 대한 상태 메모리가 판정된다. 이 방법은 이전 프레임 m의 재구성된 오디오가 프레임 m+1의 처리를 위해 스피치 디코더(230)에 제공된 1 이상의 필터 및/또는 다른 프로세스를 통해서 "역-전파된다"는 점에 있어서 도 3의 방법과 유사하다. 최종 결과는 실제로 이전 프레임으로부터 재구성된 오디오가 제네릭 오디오 디코더(230)와 같은 제2 디코더로부터 생성되었을 때 마치 이전 프레임 m의 재구성된 오디오가 스피치 디코더(230)에 의해 생성된 것처럼 디코더의 필터(들) 내의 상태가 생성된다는 것이다.
앞의 논의는 본 발명에 단일 필터 상태 F(z)를 이용하는 것을 예로 들었지만, 우리는 이제 상태 생성기(160, 260)가 다음 중 1 이상에 대한 필터 메모리 상태를 판정하는 것을 포함할 수 있는 실제 시스템의 경우를 고려할 것이다:
ㆍ 리-샘플링(re-sampling) 필터 상태 메모리
ㆍ 프리-엠파시스/디-엠파시스 필터 상태 메모리
ㆍ 보간을 위한 선형 예측(LP:linear prediction) 계수
ㆍ 가중 합성 필터 상태 메모리
ㆍ 제로 입력 응답 상태 메모리
ㆍ 적응 코드북(ACB:adaptive codebook) 상태 메모리
ㆍ LPC 합성 필터 상태 메모리
ㆍ 포스트필터 상태 메모리
ㆍ 피치(pitch) 프리-필터 상태 메모리
위의 파라미터들 중 적어도 하나에 대한 값은 상태 생성기(160, 260)로부터 스피치 인코더(130) 또는 스피치 디코더(230)에 전달되고, 여기서 이들은 각 후속 스피치 프레임의 인코딩 또는 디코딩을 위한 초기화 상태로서 이용된다.
도 5는 역 필터(370)의 상이한 실시 예로서 작용하는 요소(501, 502, 및 505)를 갖춘 상태 생성기(160, 260)의 블록 도이다. 도시된 바와 같이, 프레임(예로, 프레임 m)에 대한 재구성된 오디오는 다운-샘플링 필터(501)로 들어간 다음 다운-샘플된다. 다운 샘플된 신호는 필터(501)를 나와서 업-샘플링 필터 상태 생성 회로(507)로 들어가고 여기서 디코더의 각 업-샘플링 필터(711)의 상태가 판정되어 출력된다. 게다가, 다운 샘플된 신호는 프리-엠파시스 필터(502)에 들어가고 여기서 프리-엠파시스가 이루어진다. 결과적인 신호는 디-엠파시스 필터 상태 생성 회로(509)에 전달되고 여기서 디-엠파시스 필터(709)의 상태가 판정되어 출력된다. LPC 분석은 회로(503)를 통해서 이루어지고 LPC 필터 Aq(z)는 LPC 합성 필터(707) 뿐만 아니라 분석 필터(505)에 출력되고 분석 필터(505)에서 LPC 잔차가 생성되어 합성 필터 상태 생성 회로(511)에 출력되고 여기서는 LPC 합성 필터(707)의 상태가 판정되어 출력된다. LPC 합성 필터의 구현에 따라서, LPC 합성 필터의 상태는 프리-엠파시스 필터(502)의 출력으로부터 직접 판정될 수 있다. 마지막으로 LPC 분석 필터의 출력은 적응 코드북 상태 생성 회로(513)에 입력되고 여기서 적절한 코드북이 판정되어 출력된다.
도 6은 스피치 인코더(130)의 블록 도이다. 인코더(130)는 양호하게는 CELP 인코더(130)이다. CELP 인코더(130)에서, 입력 신호 s(n)은 선형 예측 부호화(LPC:Linear Predictive Coding) 분석 블록(601)에 적용되기 전에 먼저 리-샘플되고 및/또는 프리-엠파시스되며, 여기서 선형 예측 부호화는 단기 스펙트럼 엔벨로프(short-term spectral envelope)를 추정하는데 이용된다. 결과적인 스펙트럼 파라미터(또는 LP 파라미터)는 전달 함수(transfer function) A(z)로 표기된다. 스펙트럼 파라미터들은 LPC 양자화 블록(602)에 적용되고 이 블록은 스펙트럼 파라미터를 양자화해서 양자화된 스펙트럼 파라미터 Aq를 생성하고 이 파라미터는 코딩되어 멀티플렉서(608)에 이용된다. 양자화된 스펙트럼 파라미터 Aq는 이후 멀티플렉서(608)에 전달되고, 이 멀티플렉서는 양자화된 스펙트럼 파라미터와, 제곱 오차(squared error) 최소화/파라미터 양자화 블록(607)에 의해 판정된 코드북-관련 파라미터 및 의 집합을 기반으로 코딩된 비트스트림을 생성한다.
양자화된 스펙트럼, 또는 LP 파라미터는 또한 국부적으로 대응하는 전달 함수 1/Aq(z)를 갖고 있는 LPC 합성 필터(605)에 전달된다. LPC 합성 필터(605)는 또한 제1 결합기(610)로부터 결합된 여기 신호 u(n)를 수신하고 양자화 스펙트럼 파라미터 Aq와 결합된 여기 신호 u(n)를 기반으로 입력 신호의 추정 을 생성한다. 결합된 여기 신호 u(n)는 다음과 같이 생성된다. 적응 코드북 코드-백터 은 인덱스 파라미터 를 기반으로 적응 코드북(ACB:adaptive codebook)(603)으로부터 선택된다. 이후 적응 코드북 코드-벡터 는 이득 파라미터 β를 기반으로 가중되고 가중된 적응 코드북 코드-벡터는 제1 결합기(610)에 전달된다. 고정 코드북 코드-벡터 는 인덱스 파라미터 k를 기반으로 고정 코드북(FCB:fixed codebook)(604)으로부터 선택된다. 고정 코드북 코드-벡터 는 이후 이득 파라미터 를 기반으로 가중되고 또한 제1 결합기(610)에 전달된다. 제1 결합기(610)는 이후 적응 코드북 코드-벡터 의 가중 버전(weighted version)을 고정 코드북 코드-벡터 의 가중 버전과 결합해서 결합된 여기 신호 u(n)을 생성한다.
LPC 합성 필터(605)는 입력 신호 추정 을 제2 결합기(612)에 전달한다. 제2 결합기(612)는 또한 입력 신호 s p (n)을 수신하고 입력 신호 s(n)으로부터 입력 신호의 추정 을 뺀다. 입력 신호 s p (n)과 입력 신호 추정 간의 차는 지각 에러 가중 필터(perceptual error weighting filter)(606)에 적용되고, 이 필터는 와 s p (n) 간의 차와 가중 함수 W(z)를 기반으로 지각 가중 에러 신호 e(n)을 생성한다. 이후 지각 가중 에러 신호 e(n)는 제곱 오차 최소화/파라미터 양자화 블록(607)에 전달된다. 제곱 오차 최소화/파라미터 양자화 블록(607)은 에러 신호 e(n)을 이용하여 입력 신호 s p (n)의 최상의 추정 을 생성하는 코드북-관련 파라미터및 의 최적 집합을 판정한다.
도시된 바와 같이, 적응 코드북(603), 합성 필터(605) 및 지각 에러 가중 필터(606)는 모두 상태 생성기(160)로부터 입력을 취한다. 위에 논의한 바와 같이, 이들 요소(603, 605 및 606)는 이전 논-스피치 오디오 프레임을 기반으로 상태 생성기(160)로부터 스피치의 제1 프레임에 대한 오리지널 파라미터(초기 상태)를 구할 것이다.
도 7은 디코더(230)의 블록 도이다. 도시된 바와 같이, 디코더(230)는 디멀티플렉서(701), 적응 코드북(703), 고정 코드북(705), LPC 합성 필터(707), 디-엠파시스 필터(709), 및 업 샘플링 필터(711)를 포함한다. 동작 동안 인코더(130)에 의해 생성된 코딩된 비트스트림은 디코더(230) 내의 디멀티플렉서(701)가, 인코더(130)에 의해 실행된 합성 프로세스와 동일한 프로세스로, 최적 집합의 코드북-관련 파라미터, 즉 Aq, 및 을 디코딩하는데 이용된다.
CELP 디코더의 출력이라 불릴 수 있는 합성 필터(707)의 출력은 필터(709)에 의해 디-엠파시스되고 디-엠파시스된 신호는 12.8 kHz 내지 16 kHz 업 샘플링 필터(5/4 업 샘플링 필터(711))을 통과한다. 이렇게 생성된 합성 출력의 대역폭은 6.4 kHz에 한정된다. 8 kHz 대역폭 출력을 생성하기 위해서, 0 비트 대역폭 확장을 이용하여 6.4 kHz로부터 8 kHz 까지의 신호를 생성한다. AMRWB 유형의 코덱은 주로 광대역 입력(8 kHz 대역폭, 16 kHz 샘플링 레이트)을 위해 설계되어 있지만, 도 7에 도시되어 있는 AMRWB의 기본 구조는 여전히 수퍼-광대역(16 kHz 대역폭, 32 kHz 샘플링 레이트) 입력 및 풀 대역 입력(24 kHz 대역폭, 48 kHz 샘플링)을 위해 이용될 수 있다. 이들 시나리오에서, 인코더에 있는 다운-샘플링 필터는 32 kHz 및 48 kHz 샘플링으로부터 각각 12.8 kHz로 다운 샘플할 것이다. 제로 비트 대역폭 확장은 또한 좀 더 정교한 대역폭 확장 방법에 의해 대체될 수 있다.
양호한 실시 예의 제네릭 오디오 모드는 변환 도메인/주파수 도메인 코덱을 이용한다. MDCT는 우선 변환(preferred transform)으로 이용된다. 제네릭 오디오 모드의 구조는 ITU-T Recommendation G.718 또는 G.718 수퍼-광대역 확장의 변환 도메인 층과 같을 수 있다. 변환 도메인으로의 입력에 하위층으로부터의 에러 신호가 있는 G.718과는 다르게, 변환 도메인으로의 입력은 입력 오디오 신호이다. 더욱이, 변환 도메인 파트는 입력 스피치 신호의 LPC 잔차의 MDCT를 코딩하는 대신에 입력 신호의 MDCT를 직접 코딩한다.
언급한 바와 같이, 제네릭 오디오 코딩에서 스피치 코딩으로의 트랜지션 동안, 스피치의 제1 프레임을 디코딩하기 위해 스피치 디코더가 필요로 하는 파라미터 및 상태 메모리는 선행 제네릭 오디오(논-스피치) 프레임을 처리함으로써 생성된다. 양호한 실시 예에서, 스피치 코덱은 입력 스피치를 12.8 kHz로 다운-샘플링하는 AMR-WB 유형 코덱으로부터 유도된다. 제네릭 오디오 모드 코덱은 임의의 다운-샘플링, 프리-엠파시스, 및 LPC 분석을 갖지 않을 수 있고, 그래서 오디오 프레임에 뒤따르는 프레임을 인코딩하기 위해서, AMR-WB 유형 코덱의 인코더는 다음의 파라미터 및 상태 메모리의 초기화를 필요로 할 수 있다:
ㆍ 다운-샘플링 필터 상태 메모리,
ㆍ 프리-엠파시스 필터 상태 메모리,
ㆍ 가중 합성 필터의 보간 및 생성을 위한 선형 예측 계수, 상태 메모리,
ㆍ 적응 코드북 상태 메모리,
ㆍ 디-엠파시스 필터 상태 메모리, 및
ㆍ LPC 합성 필터 상태 메모리.
다운 샘플링 필터 및 프리-엠파시스 필터의 상태는 인코더에 의해서만 필요로 되며 그러므로 단지 제네릭 오디오 모드에서도 오디오 입력을 이들 필터를 통해서 계속 처리하여 구해질 수 있다. 단지 인코더(130)에 의해서만 필요로 되는 상태를 생성하는 것은 이들 상태를 갱신하는 스피치 파트 인코더 모듈이 또한 오디오 코더(140) 내에서 실행될 수 있으므로 간단하다. 오디오 모드 인코더(140)의 복잡성은 통상 스피치 모드 인코더(130)의 복잡성보다 덜하기 때문에, 오디오 모드 동안 인코더에서의 상태 처리는 최악의 경우의 복잡성에 영향을 미친다.
다음의 상태는 또한 디코더(230)에 의해 필요로 되며 상태 생성기(260)에 의해서 제공된다.
1. 합성 필터 상태 메모리의 보간 및 생성을 위한 선형 예측 계수. 이는 회로(611)에 의해 제공되어 합성 필터(707)에 입력된다.
2. 적응 코드북 상태 메모리. 이는 회로(613)에 의해서 생성되어 적응 코드북(703)에 출력된다.
3. 디-엠파시스 필터 상태 메모리. 이는 회로(609)에 의해 생성되어 디-엠파시스 필터(709)에 입력된다.
4. LPC 합성 필터 상태 메모리. 이는 LPC 분석 회로(603)에 의해서 출력되어 합성 필터(707)에 입력된다.
5. 업 샘플링 필터 상태 메모리. 이는 회로(607)에 의해 생성되어 업-샘플링 필터(711)에 입력된다.
오디오 출력 은 4/5 다운 샘플링 필터에 의해서 다운-샘플되어 다운 샘플된 신호 가 생성된다. 다운-샘플링 필터는 IIR 필터 또는 FIR 필터일 수 있다. 양호한 실시 예에서, 선형 타임 FIR 저역 통과 필터는 다음에 제시된 바와 같은 다운-샘플링 필터로서 이용되고:
여기서 b i 는 FIR 필터 계수이다. 이는 제네릭 오디오 출력에 지연을 추가한다. 로서의 마지막 L 샘플들은 업 샘플링 필터의 상태를 형성하고, 여기서 L은 업-샘플링 필터의 길이이다. 업-샘플링 필터는 스피치 모드에서 12.8 kHz CELP 디코더 출력을 16 kHz로 업-샘플링하는데 이용된다. 이 경우, 상태 메모리 변환(translation)은 다운-샘플링 필터 메모리를 업-샘플링 필터에 간단히 복제하는 것을 포함한다. 이에 관해서, 업-샘플링 필터 상태는 실제로 프레임 m을 코딩하기 위한 상이한 코딩 방법이 이용되었을 때 마치 디코딩된 프레임 m의 출력이 프레임 m+1의 코딩 방법에서 비롯된 것처럼 프레임 m+1에 대해서 초기화된다.
여기서, γ는 프리-엠파시스된 신호 를 생성하기 위한 상수(통상은 0.6≤γ≤0.9)이다. 프레임 m+1에 대한 코딩 방법에서, 프리-엠파시스는 인코더에서 실행되고 대응하는 역(디-엠파시스),
는 디코더에서 실행된다. 이 경우에, 프레임 m으로부터 재구성된 오디오를 위한 프리-엠파시스 필터에 대한 다운-샘플된 입력은 디-엠파시스 필터의 이전 출력을 나타내는데 이용되며, 그러므로, 의 마지막 샘플은 디-엠파시스 필터 상태 메모리로서 이용된다. 이는 프레임 m+1에 대한 디-엠파시스 필터의 상태가 마치 프레임 m의 디코딩이 프레임 m+1과 동일한 디코딩 방법을 이용하여 처리된 것처럼 - 실제로는 이들은 서로 다른 경우임 - 어떤 상태로 초기화된다는 점에서 리-샘플링 필터와 개념상 유사하다.
다음에는, 의 마지막 p 샘플들이 다음 스피치 모드 프레임에 대한 LPC 합성 필터의 상태로서 유사하게 이용되고, 여기서 p는 LPC 합성 필터의 차수(order)이다. LPC 분석은 이전 프레임의 "양자화된" LPC를 생성하기 위해 프리-엠파시스된 출력에 실행되고,
여기서 대응하는 LPC 합성 필터는 다음에 의해 주어진다:
스피치 모드에서, 상이한 서브프레임들의 합성/가중 필터 계수는 이전 프레임 및 현재 프레임 LPC 계수의 보간에 의해서 생성된다. 보간 목적을 위해, 이전 프레임이 오디오 모드 프레임이라면, 의 LPC 분석을 실행해서 구한 LPC 필터 계수 A q (z)는 이제 이전 프레임의 LP 파라미터로 이용된다. 다시, 이는 이전 상태 갱신과 유사하며, 여기서 프레임 m의 출력은 "역-전파되어" 프레임 m+1의 스피치 디코더가 이용하는 상태 메모리를 생성한다.
마지막으로, 스피치 모드가 적절하게 작용하도록 우리는 시스템의 ACB 상태를 갱신할 필요가 있다. 오디오 프레임에 대한 여기(excitation)는 리버스 처리(reverse processing)에 의해 구해질 수 있다. 리버스 처리는 스피치 디코더에서의 통상적인 처리의 "리버스"이며, 여기서 이 여기는 LPC 역(즉, 합성) 필터를 통과하여 오디오 출력을 생성한다. 이 경우에, 오디오 출력 은 LPC 분석 필터 A q (z)를 통과하여 전차 신호(residue signal)를 생성한다. 이 잔차는 적응 코드북 상태의 생성에 이용된다.
CELP 인코더(130)가 개념상 유용하더라도, 이는 일반적으로 연산 복잡성을 가능한 한 낮게 유지하는 것이 바람직한 인코더의 실질적인 구현은 아니다. 결과적으로, 도 8은 인코더(130)로 도시된 인코딩 시스템과 동등하지만 좀 더 실질적인 시스템을 이용하는 예시적인 인코더(800)의 블록 도이다.
인코더(800)는 인코더(130)를 대체할 수 있다. 인코더(800)와 인코더(130) 간의 관계를 잘 이해하기 위해서는, 인코더(130)로부터 인코더(800)의 수학적인 유도를 조사하는 것이 유익하다. 독자의 편의를 위해, 변수는 z-변환의 관점에서 제시된다.
도 6으로부터, 지각 에러 가중 필터(606)가 입력 신호와 추정 입력 신호 간의 차, 즉 다음을 기반으로 가중 에러 신호 e(n)를 생성하는 것을 알 수 있다:
항 W(z)S(z)는 입력 신호의 가중 버전(weighted version)에 대응한다. 가중 입력 신호 W(z)S(z)를 S w (z)=W(z)S(z)로 정의하고 또한 인코더(130)의 가중 합성 필터(803/804)는 이제 전달 함수 H(z)=W(z)/A q (z)에 의해서 정의된다고 하자. 입력 오디오 신호가 다운 샘플링되고 프리-엠파시스되는 경우, 가중 및 에러 생성은 다운 샘플링된 스피치 입력에 실행된다. 그러나, 디-엠파시스 필터 D(z)가 전달 함수에 추가될 필요가 있고, 그래서 H(z)=W(z)·D(z)/A q (z)이고, 식 2는 다음과 같이 다시 쓰여질 수 있다:
z-변환 표기를 이용함으로써 필터 상태들이 명시적으로 정의될 필요는 없다. 벡터 길이 L 이 현재 서브프레임의 길이인 벡터 표기를 이용하면, 식 3은 중첩 원리(superposition principle)의 이용에 의해서 다음과 같이 다시 쓰여질 수 있다:
여기서:
ㆍ H는 합성 필터(803 및 804)와 같은 가중 합성 필터 h(n)의 임펄스 응답으로 형성된, 전달 함수 H ZS ( z) 또는 H(z)에 대응하는 L×L 제로-상태 가중 합성 콘볼루션 매트릭스이며, 이 매트릭스는 다음과 같이 표현될 수 있다:
ㆍ h zir는 이전 입력으로부터의 상태에 기인한 H(z)의 L×1 제로-입력 응답이고,
ㆍ s w는 L×1 지각 가중 입력 신호이고,
ㆍ β는 스칼라 적응 코드북(ACB:adaptive codebook) 이득이고,
ㆍ c k 는 인덱스 k에 응답하는 L×1 FCB 코드-벡터이다.
H를 분배하고 입력 타겟 벡터를 x w = s w - h zir로 하면, 다음과 같은 식이 구해질 수 있다:
식 6은 인코더(130)의 제3 결합기(807)에 의해 생성되어 결합기(807)에 의해 제곱 오차 최소화/파라미터 블록(808)에 결합된 지각 가중 에러(또는 왜곡) 벡터 e(n)을 나타낸다.
위의 식으로부터, 지각 가중 에러의 가중 버전의 최소화를 위한 공식, 즉 이 제곱 오차 최소화/파라미터 블록(808)에 의해 유도될 수 있다. 제곱 오차의 놈(norm)은 다음과 같이 주어진다:
복잡성 한계로 인해, 스피치 코딩 시스템의 실제 구현은 통상 순차 방식으로 제곱 오차를 최소화한다. 즉, ACB 성분이 먼저 최적화되고(FCB 기여가 제로라고 가정하여), 이후 FCB 성분이 주어진(앞서 최적화된) ACB 성분을 이용해서 최적화된다. ACB/FCB 이득, 즉 코드북-관련 파라미터 및 는, 순차 선택된 ACB/FCB 코드-벡터 및 가 주어지면, 다시 최적화, 즉 양자화되거나 양자화되지 않을 수 있다.
이는 (순차적으로) 최적 ACB 이득을 산출한다:
최적 ACB 이득을 식 8에 다시 치환하면 다음과 같이 된다:
여기서 는 순차 판정된 최적 ACB 인덱스 파라미터, 즉 괄호 식(bracketed expression)을 최소화하는 ACB 인덱스 파라미터이다. 는 에 의존하지 않으므로, 식 11은 다음과 같이 다시 쓸 수 있다:
마찬가지로, 식 10은 다음과 같이 간략화될 수 있다:
그래서 식 13 및 14는 최적 ACB 인덱스 와 ACB 이득 를 순차 방식으로 판정하는데 필요한 2개의 식을 나타낸다. 이들 식은 이제 최적 FCB 인덱스 및 이득 식을 판정하는데 이용될 수 있다. 먼저, 도 8로부터, 제2 결합기(806)가 벡터 를 산출함을 알 수 있고, 여기서 이다. 벡터 는 제1 결합기(805)가, 가중 합성 필터(801)에 의한 필터링 후에, 과거 여기 신호(past excitation signal) u(n-L)을 지각 에러 가중 필터(802)의 출력 s w(n)으로부터 차감함으로써 생성된다. 항 은 ACB 코드-벡터 의 필터링되고 가중된 버전, 즉 가중 합성 필터(803)에 의해 필터링된 후 ACB 이득 파라미터 를 기반으로 가중된 ACB 코드-벡터 이다. 식 를 식 7에 치환하면 다음과 같이 된다:
여기서, 는 FCB 코드-벡터 의 필터링되고 가중된 버전, 즉 가중 합성 필터(804)에 의해 필터링된 후 FCB 이득 파라미터 를 기반으로 가중된 FCB 코드-벡터 이다. 최적 ACB 인덱스 파라미터 의 위의 유도와 유사하게, 다음 식도 분명하다:
여기서 는 최적 FCB 인덱스 파라미터, 즉 괄호 식을 최대화하는 FCB 인덱스 파라미터이다. k에 의존하지 않는 항들을 그룹핑하면, 즉 및 이라 하면, 식 16은 다음과 같이 간략하게 될 수 있다:
인코더(130)와 같이, 인코더(800)는 상태 생성기(160)에서 공급된 초기화 상태를 필요로 한다. 이는 상태 생성기(160)에 대한 대안 실시 예를 보여주는 도 9에 도시되어 있다. 도 9에 도시되어 있는 바와 같이, 적응 코드북(103)으로의 입력은 도 9의 블록(911)으로부터 구해지고 가중 합성 필터(801)는 블록(909)의 출력을 이용하고 이는 블록(905)의 출력을 이용한다.
지금까지 우리는 스피치 모드 코덱이 AMR-WB 코덱일 때 오디오 모드로부터 스피치 모드로의 전환을 논의했다. ITU-T G.718 코덱은 하이브리드 코덱에서 스피치 모드 코덱으로서 유사하게 이용될 수 있다. G.718 코덱은 스피치 프레임을 4개의 모드로 분류한다:
a. 음성(voiced) 스피치 프레임;
b. 비음성 스피치 프레임;
c. 트랜지션 스피치 프레임; 및
d. 제네릭 스피치 프레임
트랜지션 스피치 프레임은 음성 트랜지션 프레임을 뒤따르는 음성 프레임이다. 트랜지션 프레임은 이전 프레임 여기에 대한 그의 의존을 최소화한다. 이는 음성 트랜지션 프레임이 손실되었을 때 프레임 에러 후의 복원에 도움이 된다. 요약하면, 변환 도메인 프레임 출력은 CELP 도메인 코덱의 여기 및/또는 다른 파라미터들을 구하기 위한 방식으로 분석된다. 이들 파라미터 및 여기는 이들이 CELP 디코더에 의해 처리될 때 동일한 변환 도메인 출력을 생성할 수 있는 것이어야 한다. CELP(또는 타임 도메인) 프레임인 다음 프레임의 디코더는 변환 도메인 출력의 분석 동안 구해진 파라미터들의 처리에 CELP 디코더가 생성한 상태를 이용한다.
오디오에서 스피치 모드로의 전환(audio to speech mode switching) 동안 후속 음성 스피치 프레임에 대한 상태 갱신의 영향을 줄이기 위해서, 오디오 프레임에 뒤이은 음성 스피치 프레임을 트랜지션 스피치 프레임으로서 코딩하는 것이 바람직할 수 있다.
다운-샘플링/업-샘플링이 단지 스피치 모드에서 실행되는 하이브리드 코덱의 양호한 실시 예에서, 오디오에서 스피치로의 트랜지션 동안 스피치 모드에 의해 생성된 제1 L 출력 샘플들은 또한 오디오 모드에 의해 생성됨을 알 수 있다. (유의할 점은 오디오 코덱이 다운 샘플링 필터의 길이 만큼 지연되었다는 것이다). 위에서 논의된 상태 갱신은 부드러운 트랜지션을 제공한다. 불연속을 더 줄이기 위해서, L 오디오 모드 출력 샘플들은 제1 L 스피치 모드 오디오 샘플들과 오버랩되어 추가될 수 있다.
어떤 상황에서는, 인코더 측에서 디코딩이 또한 실행되어야 할 필요가 있다. 예를 들어, 다-층 코덱(G.718)에서, 제1 층의 에러는 제2 층에 의해 코딩되고 그러므로 디코딩은 인코더 측에서 실행되어야만 한다. 도 10은 다층 코덱의 제1 층이 하이브리드 스피치/오디오 코덱인 경우를 구체적으로 다루고 있다. 프레임 m으로부터의 오디오 입력은 제네릭 오디오 인코더/디코더(1001)에 의해 처리되고, 여기서 오디오는 인코더를 통해서 인코딩된 다음 즉시 디코더를 통해서 디코딩된다. 블록(1001)으로부터의 재구성된(디코딩된) 제네릭 오디오는 상태 생성기(160)에 의해서 처리된다. 상태 생성기(160)로부터의 상태 추정은 이제 스피치 인코더(130)가 코딩된 스피치를 생성하는데 이용된다.
도 11은 도 1의 인코더의 동작을 보여주는 흐름도이다. 위에 논의된 바와 같이, 도 1의 인코더는 제네릭 오디오 프레임을 인코딩하는 제1 코더, 제네릭 오디오 프레임 m에 대한 필터 상태를 출력하는 상태 생성기, 및 스피치 프레임을 인코딩하는 제2 인코더를 포함한다. 제2 인코더는 제네릭 오디오 프레임 m에 대한 필터 상태를 수신하고, 제네릭 오디오 프레임 m에 대한 필터 상태를 이용하여 스피치 프레임 m+1을 인코딩한다.
논리 흐름은 단계 1101에서 시작되고 이 단계에서 제네릭 오디오 프레임들이 제1 인코더(인코더 (140))에 의해 인코딩된다. 필터 상태들은 상태 생성기(160)에 의해서 제네릭 오디오 프레임으로부터 판정된다(단계 1103). 이후 이들 필터 상태로 제2 인코더(스피치 코더(130))가 초기화된다(단계 1105). 마지막으로, 단계 1107에서 스피치 프레임들이 필터 상태들로 초기화된 제2 인코더에 의해 인코딩된다.
도 12는 도 2의 디코더의 동작을 보여주는 흐름도이다. 위에서 논의된 바와 같이, 도 2의 디코더는 제네릭 오디오 프레임을 디코딩하는 제1 디코더(221), 제네릭 오디오 프레임 m에 대한 필터 상태를 출력하는 상태 생성기(260), 및 스피치 프레임을 디코딩하기 위한 제2 디코더(230)를 포함한다. 제2 디코더는 제네릭 오디오 프레임 m에 대한 필터 상태를 수신하고 제네릭 오디오 프레임 m에 대한 필터 상태를 이용하여 스피치 프레임 m+1을 디코딩한다.
논리 흐름은 단계 1201에서 시작하고 이 단계에서 제네릭 오디오 프레임들이 제1 디코더(디코더(221))에 의해 디코딩된다. 필터 상태들은 상태 생성기(260)에 의해서 제네릭 오디오 프레임으로부터 판정된다(단계 1203). 이후 제2 디코더(스피치 디코더(230))는 필터 상태들로 초기화된다(단계 1205). 마지막으로, 단계 1207에서 스피치 프레임들은 필터 상태들로 초기화된 제2 디코더에 의해 디코딩된다.
본 발명이 특히 특정 실시 예를 참조로 도시되고 기술되었지만 이 기술 분야에 숙련된 자들은 본 발명의 사상 및 범위를 벗어나지 않고도 형태와 세부사항에 있어 다양한 변경을 행할 수 있음을 이해할 것이다. 예를 들어, 다양한 상태/파라미터가 회로(260 및 360)에 의해서 생성되는 것으로 위에서 기술되었을지라도, 당업자는 도시된 것들보다 다소 적거나 많은 파라미터가 생성될 수 있음을 인식할 것이다. 다른 예는 예로 이산 푸리에 변환(DFT:discreet Fourier transform) 또는 그의 고속 구현 기반의 대안 변환 코딩 알고리즘을 이용할 수 있는 제2 인코더/디코더 방법을 수반할 수 있다. 이전 프레임으로부터 재구성된 오디오가 인코더/디코더 상태 생성기에 대한 입력으로 이용된다는 것을 제외하고는 실질적인 제한이 없으므로 다른 코딩 방법들도 예상된다. 더욱이, CELP 유형 스피치 인코더/디코더의 상태 갱신이 제공되지만, 프레임 m+1의 처리를 위해 다른 유형의 인코더/디코더를 이용하는 것도 가능할 수 있다. 그러한 변경들은 다음 청구항들의 범위 내에 속한다.
Claims (11)
- 오디오 프레임들을 디코딩하기 위한 방법으로서,
제1 오디오 프레임을 제1 디코더로 디코딩하여 제1 재구성된 오디오 신호를 생성하는 단계;
상기 제1 재구성된 오디오 신호로부터 제2 디코더에 대한 필터 상태를 판정하는 단계 - 상기 제2 디코더에 대한 필터 상태를 판정하는 단계는 상기 제2 디코더에서 초기화되는 필터 상태의 역(inverse)을 판정하는 단계를 포함함 - ;
상기 제1 재구성된 오디오 신호를 상기 제2 디코더에 대응하는 필터의 역을 통해 상기 제2 디코더에 역-전파(back-propagating)하는 단계;
상기 판정된 필터 상태를 상기 제2 디코더에 대응하는 상기 필터에 전사하는(transferring) 단계;
상기 제1 재구성된 오디오 신호로부터 판정된 필터 상태로 상기 제2 디코더를 초기화하는 단계; 및
상기 필터 상태로 초기화된 상기 제2 디코더로 스피치 프레임들을 디코딩하는 단계
를 포함하고,
상기 필터 상태를 판정하는 단계는 상기 재구성된 오디오 신호의 다운 샘플링 및 상기 재구성된 오디오 신호의 프리-엠파시스(pre-emphasis) 중 적어도 하나를 실행하는 단계를 포함하며;
상기 필터 상태로 제2 디코더를 초기화하는 단계는 업샘플링 필터 상태 및 디-엠파시스(de-emphasis) 필터 상태 중 적어도 하나를 수신함으로써 달성되는 디코딩 방법. - 삭제
- 제1항에 있어서, 상기 필터 상태는,
ㆍ 리-샘플링 필터 상태 메모리
ㆍ 프리-엠파시스/디-엠파시스 필터 상태 메모리
ㆍ 보간을 위한 선형 예측(LP:Linear prediction) 계수
ㆍ 가중 합성 필터 상태 메모리
ㆍ 제로 입력 응답 상태 메모리
ㆍ 적응 코드북(ACB:Adaptive codebook) 상태 메모리
ㆍ LPC 합성 필터 상태 메모리
ㆍ 포스트필터 상태 메모리
ㆍ 피치(Pitch) 프리-필터 상태 메모리
중 적어도 하나를 포함하는 디코딩 방법. - 제1항에 있어서, 상기 제1 디코더는 더 적은 스피치-류 프레임(less speech-like frames)을 인코딩하는 제네릭(generic)-오디오 디코더를 포함하는 디코딩 방법.
- 제3항에 있어서, 상기 제1 디코더는 MDCT(Modified Discrete Cosine Transform) 디코더를 포함하는 디코딩 방법.
- 제3항에 있어서, 상기 제2 디코더는 더 많은 스피치-류 프레임(more speech-like frames)을 디코딩하는 스피치 디코더를 포함하는 디코딩 방법.
- 제6항에 있어서, 상기 제2 디코더는 CELP(Code Excited Linear Predictive) 디코더를 포함하는 디코딩 방법.
- 오디오 프레임들을 인코딩하기 위한 방법으로서,
제네릭 오디오 프레임들을 제1 인코더로 인코딩하는 단계;
제네릭 오디오 프레임으로부터 제2 인코더에 대한 필터 상태들을 판정하는 단계 - 상기 제2 인코더에 대한 필터 상태들을 판정하는 단계는 상기 제2 인코더에서 초기화되는 필터 상태의 역(inverse)을 판정하는 단계를 포함함 - ;
상기 인코딩된 제네릭 오디오 프레임들을 상기 제2 인코더에 대응하는 필터의 역을 통해 상기 제2 인코더에 역-전파(back-propagating)하는 단계;
상기 판정된 필터 상태들을 상기 제2 인코더에 대응하는 상기 필터에 전사하는(transferring) 단계;
상기 제네릭 오디오 프레임으로부터 판정된 필터 상태들로 상기 제2 인코더를 초기화하는 단계; 및
상기 필터 상태들로 초기화된 상기 제2 인코더로 스피치 프레임들을 인코딩하는 단계
를 포함하고,
상기 필터 상태들을 판정하는 단계는 상기 제네릭 오디오 프레임들의 업 샘플링 및 상기 제네릭 오디오 프레임들의 디-엠파시스 중 적어도 하나를 실행하는 단계를 포함하며;
상기 필터 상태들로 제2 인코더를 초기화하는 단계는 다운 샘플링 필터 상태 및 프리-엠파시스(de-emphasis) 필터 상태 중 적어도 하나를 수신함으로써 달성되는 인코딩 방법. - 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/190,517 US9037456B2 (en) | 2011-07-26 | 2011-07-26 | Method and apparatus for audio coding and decoding |
US13/190,517 | 2011-07-26 | ||
PCT/US2012/047806 WO2013016262A1 (en) | 2011-07-26 | 2012-07-23 | Method and apparatus for audio coding and decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140027519A KR20140027519A (ko) | 2014-03-06 |
KR101615265B1 true KR101615265B1 (ko) | 2016-04-26 |
Family
ID=46582088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147002124A KR101615265B1 (ko) | 2011-07-26 | 2012-07-23 | 오디오 코딩 및 디코딩을 위한 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9037456B2 (ko) |
EP (1) | EP2737478A1 (ko) |
KR (1) | KR101615265B1 (ko) |
CN (1) | CN103703512A (ko) |
WO (1) | WO2013016262A1 (ko) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103325373A (zh) * | 2012-03-23 | 2013-09-25 | 杜比实验室特许公司 | 用于传送和接收音频信号的方法和设备 |
US9589570B2 (en) | 2012-09-18 | 2017-03-07 | Huawei Technologies Co., Ltd. | Audio classification based on perceptual quality for low or medium bit rates |
US9129600B2 (en) * | 2012-09-26 | 2015-09-08 | Google Technology Holdings LLC | Method and apparatus for encoding an audio signal |
CA2899542C (en) * | 2013-01-29 | 2020-08-04 | Guillaume Fuchs | Noise filling without side information for celp-like coders |
FR3013496A1 (fr) * | 2013-11-15 | 2015-05-22 | Orange | Transition d'un codage/decodage par transformee vers un codage/decodage predictif |
US9685164B2 (en) * | 2014-03-31 | 2017-06-20 | Qualcomm Incorporated | Systems and methods of switching coding technologies at a device |
EP2980796A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for processing an audio signal, audio decoder, and audio encoder |
EP2980795A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor |
EP2980794A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder using a frequency domain processor and a time domain processor |
CN106448688B (zh) | 2014-07-28 | 2019-11-05 | 华为技术有限公司 | 音频编码方法及相关装置 |
EP2980797A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition |
FR3024582A1 (fr) * | 2014-07-29 | 2016-02-05 | Orange | Gestion de la perte de trame dans un contexte de transition fd/lpd |
EP2988300A1 (en) * | 2014-08-18 | 2016-02-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Switching of sampling rates at audio processing devices |
EP3107096A1 (en) * | 2015-06-16 | 2016-12-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Downscaled decoding |
EP3340664A1 (en) | 2015-09-15 | 2018-06-27 | Huawei Technologies Co., Ltd. | Method and network device for establishing a wireless bearer |
CN110600047B (zh) * | 2019-09-17 | 2023-06-20 | 南京邮电大学 | 基于Perceptual STARGAN的多对多说话人转换方法 |
CN115050378B (zh) * | 2022-05-19 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 音频编解码方法及相关产品 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE302991T1 (de) * | 1998-01-22 | 2005-09-15 | Deutsche Telekom Ag | Verfahren zur signalgesteuerten schaltung zwischen verschiedenen audiokodierungssystemen |
US6113653A (en) * | 1998-09-11 | 2000-09-05 | Motorola, Inc. | Method and apparatus for coding an information signal using delay contour adjustment |
US7343283B2 (en) * | 2002-10-23 | 2008-03-11 | Motorola, Inc. | Method and apparatus for coding a noise-suppressed audio signal |
AU2003208517A1 (en) | 2003-03-11 | 2004-09-30 | Nokia Corporation | Switching between coding schemes |
US20050159942A1 (en) | 2004-01-15 | 2005-07-21 | Manoj Singhal | Classification of speech and music using linear predictive coding coefficients |
EP1989706B1 (fr) * | 2006-02-14 | 2011-10-26 | France Telecom | Dispositif de ponderation perceptuelle en codage/decodage audio |
US7987089B2 (en) | 2006-07-31 | 2011-07-26 | Qualcomm Incorporated | Systems and methods for modifying a zero pad region of a windowed frame of an audio signal |
US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
US8639519B2 (en) * | 2008-04-09 | 2014-01-28 | Motorola Mobility Llc | Method and apparatus for selective signal coding based on core encoder performance |
EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
EP2311034B1 (en) | 2008-07-11 | 2015-11-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding frames of sampled audio signals |
EP2144171B1 (en) | 2008-07-11 | 2018-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding frames of a sampled audio signal |
EP2144231A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme with common preprocessing |
US8457975B2 (en) | 2009-01-28 | 2013-06-04 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio decoder, audio encoder, methods for decoding and encoding an audio signal and computer program |
US8423355B2 (en) | 2010-03-05 | 2013-04-16 | Motorola Mobility Llc | Encoder for audio signal including generic audio and speech frames |
US8428936B2 (en) * | 2010-03-05 | 2013-04-23 | Motorola Mobility Llc | Decoder for audio signal including generic audio and speech frames |
-
2011
- 2011-07-26 US US13/190,517 patent/US9037456B2/en not_active Expired - Fee Related
-
2012
- 2012-07-23 CN CN201280037214.5A patent/CN103703512A/zh active Pending
- 2012-07-23 WO PCT/US2012/047806 patent/WO2013016262A1/en unknown
- 2012-07-23 EP EP12740276.6A patent/EP2737478A1/en not_active Withdrawn
- 2012-07-23 KR KR1020147002124A patent/KR101615265B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20140027519A (ko) | 2014-03-06 |
US9037456B2 (en) | 2015-05-19 |
EP2737478A1 (en) | 2014-06-04 |
CN103703512A (zh) | 2014-04-02 |
WO2013016262A1 (en) | 2013-01-31 |
US20130030798A1 (en) | 2013-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101615265B1 (ko) | 오디오 코딩 및 디코딩을 위한 방법 및 장치 | |
KR101699898B1 (ko) | 스펙트럼 영역에서 디코딩된 오디오 신호를 처리하기 위한 방법 및 장치 | |
AU2008316860B2 (en) | Scalable speech and audio encoding using combinatorial encoding of MDCT spectrum | |
EP1991986B1 (en) | Methods and arrangements for audio coding | |
Ragot et al. | Itu-t g. 729.1: An 8-32 kbit/s scalable coder interoperable with g. 729 for wideband telephony and voice over ip | |
KR101455915B1 (ko) | 일반 오디오 및 음성 프레임을 포함하는 오디오 신호용 디코더 | |
KR101380431B1 (ko) | 스위칭가능한 모델 코어를 이용하는 내장된 스피치 및 오디오 코딩 | |
RU2584463C2 (ru) | Кодирование звука с малой задержкой, содержащее чередующиеся предсказательное кодирование и кодирование с преобразованием | |
KR102259112B1 (ko) | 음성 부호화 장치, 음성 부호화 방법, 음성 부호화 프로그램, 음성 복호 장치, 음성 복호 방법 및 음성 복호 프로그램 | |
KR20130133846A (ko) | 정렬된 예견 부를 사용하여 오디오 신호를 인코딩하고 디코딩하기 위한 장치 및 방법 | |
JPWO2008007698A1 (ja) | 消失フレーム補償方法、音声符号化装置、および音声復号装置 | |
CA3134652A1 (en) | Methods, encoder and decoder for linear predictive encoding and decoding of sound signals upon transition between frames having different sampling rates | |
JPH0341500A (ja) | 低遅延低ビツトレート音声コーダ | |
KR20120000055A (ko) | 음성 부호화 장치, 음성 복호 장치, 음성 부호화 방법 및 음성 복호 방법 | |
JP2017207774A (ja) | ベクトル量子化装置及びベクトル量子化方法 | |
Alipoor et al. | Wide-band speech coding based on bandwidth extension and sparse linear prediction | |
KR100312336B1 (ko) | 다차 lpc 계수를 적용한 포만트 후필터링을 통한 음성보코더의 음질 향상방법 | |
JPH04301900A (ja) | 音声符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190409 Year of fee payment: 4 |