KR101858466B1 - 혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법 - Google Patents

혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법 Download PDF

Info

Publication number
KR101858466B1
KR101858466B1 KR1020137013143A KR20137013143A KR101858466B1 KR 101858466 B1 KR101858466 B1 KR 101858466B1 KR 1020137013143 A KR1020137013143 A KR 1020137013143A KR 20137013143 A KR20137013143 A KR 20137013143A KR 101858466 B1 KR101858466 B1 KR 101858466B1
Authority
KR
South Korea
Prior art keywords
frequency
domain
time
sound signal
coding
Prior art date
Application number
KR1020137013143A
Other languages
English (en)
Other versions
KR20130133777A (ko
Inventor
타미 베일런콧
밀란 제리넥
Original Assignee
보이세지 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=45973717&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101858466(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 보이세지 코포레이션 filed Critical 보이세지 코포레이션
Publication of KR20130133777A publication Critical patent/KR20130133777A/ko
Application granted granted Critical
Publication of KR101858466B1 publication Critical patent/KR101858466B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders

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

입력 사운드 신호에 응답하여 시간-여역 여기 기여가 계산되는 혼합형 시간-영역/주파수 영역 코딩 장치 및 입력 사운드 신호를 코딩하는 방법이 제공된다. 시간-영역 여기 기여에 대한 컷-오프 주파수는 입력 사운드 신호에 응답하여 계산되며, 시간-영역 여기 기여의 주파수 정도는 이러한 컷-오프 주파수와 관련하여 조정된다. 입력 사운드 신호에 응답하여 주파수-영역 여기 기여의 계산 이후, 조정된 시간-영역 여기 기여 및 주파수-영역 여기 기여가 추가되어 입력 사운드 신호의 코딩된 버전을 구축하는 혼합형 시간-영역/주파수-영역 여기를 형성한다. 시간-영역 여기 기여의 계산에 있어서, 입력 사운드 신호는 입력 사운드 신호의 연속 프레임으로 처리되며, 현재 프레임에 이용될 서브-프레임의 개수가 계산될 수 있다. 혼합형 시간-영역/주파수-영역 코딩 장치를 이용한, 대응하는 인코더 및 디코더가 설명된다.

Description

혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법{CODING GENERIC AUDIO SIGNALS AT LOW BITRATES AND LOW DELAY}
본 발명은 혼합형 시간-영역/주파수-영역 코딩 장치와, 입력 사운드 신호 코딩 방법과, 이들 혼합형 시간-영역/주파수-영역 코딩 장치 및 방법을 이용한 대응하는 인코더 및 디코더에 관한 것이다.
최신의 대화 코덱(conversational codec)은 대략 8kbps의 비트레이트(bit rate)을 가진 명확한 음성 신호(clear speech signal)를 매우 양호한 품질로 나타내고, 16kbps의 비트레이트에 근접한 투명도(transparency)를 제공한다. 그러나, 16kbp 미만의 비트레이트에서는, 시간-영역에서 입력 음성 신호를 가장 빈번하게 코딩하는 낮은 프로세싱 지연 대화 코덱(low processing delay conversational codec)은 음악 및 반향 음성(reverberant speech)과 같은 일반 오디오 신호(generic audio signal)에 적절하지 않다. 이러한 단점을 극복하기 위해, 절환식 코덱(switched codec)이 도입되었으며, 이것은 기본적으로 음성-위주 입력 신호(speech-dominated input signal)를 코딩하는 시간-영역 방식과, 일반 오디오 신호를 코딩하는 주파수-영역 방식을 이용한다. 그러나 그러한 절환식 해법은 전형적으로 음성-음악 분류(speech-music classification) 및 주파수-영역으로의 변환에 필요한 보다 긴 프로세싱 지연을 요구한다.
상술한 단점을 극복하기 위해, 보다 통합형의 시간-영역 및 주파수-영역 모델이 제안된다.
본 발명은 입력 사운드 신호를 코딩하기 위한 혼합형 시간-영역/주파수-영역 코딩 장치에 관한 것으로, 입력 사운드 신호에 응답하는 시간-영역 여기 기여(time-domain excitation contribution)의 계산기; 입력 사운드 신호에 응답하는 시간-영역 여기 기여에 대한 컷-오프 주파수(cut-off frequency)의 계산기; 컷-오프 주파수에 응답하여 시간-영역 여기 기여의 주파수 정도를 조정하는 필터; 입력 사운드 신호에 응답하는 주파수-영역 여기 기여의 계산기; 및 입력 사운드 신호의 코딩된 버전을 구축하는 혼합형 시간-영역/주파수-영역 여기를 형성하기 위한, 필터링된 시간-영역 여기 기여와 주파수-영역 여기 기여의 가산기를 포함한다.
본 발명은 시간-영역 및 주파수-영역 모델을 이용하는 인코더에 관한 것으로, 입력 사운드 신호를 음성 또는 비-음성으로 분류하는 분류기; 시간-영역 전용 코더(time-domain only coder); 상술한 혼합형 시간-영역/주파수-영역 코딩 장치; 및 입력 사운드 신호의 분류에 의거하여 입력 사운드 신호를 코딩하는, 혼합형 시간-영역/주파수-영역 코딩 장치와 시간-영역 전용 코더 중 하나를 선택하는 선택기를 포함한다.
본 발명에서는, 입력 사운드 신호를 코딩하는 혼합형 시간-영역/주파수-영역 코딩 장치가 설명되는데, 그 장치는 입력 사운드 신호에 응답하는 시간-영역 여기 기여의 계산기 - 시간-영역 여기 기여의 계산기는 연속하는 입력 사운드 신호 프레임들내의 입력 사운드 신호를 처리하고, 입력 사운드 신호의 현재 프레임에 이용될 서브-프레임 개수(a number of sub-frames)의 계산기를 포함하며, 현재 프레임에 대해 서브-프레임 개수 계산기에 의해 결정된 서브-프레임의 개수를 현재 프레임에 이용함 - 와; 입력 사운드 신호에 응답하는 주파수-영역 여기 기여의 계산기; 및 입력 사운드 신호의 코딩된 버전을 구축하는 혼합형 시간-영역/주파수-영역 여기를 형성하기 위한, 시간-영역 여기 기여와 주파수-영역 여기 기여의 가산기를 포함한다.
본 발명은 상술한 혼합형 시간-영역/주파수-영역 코딩 장치들 중 하나를 이용하여 코딩된 사운드 신호를 디코딩하기 위한 디코더에 관한 것으로, 시간-영역으로의 혼합형 시간-영역/주파수-영역 여기의 컨버터(converter); 및 시간-영역으로 전환된 혼합형 시간-영역/주파수-영역 여기에 응답하여 사운드 신호를 합성하는 합성 필터를 포함한다.
본 발명은 입력 사운드 신호를 코딩하는 혼합형 시간-영역/주파수-영역 코딩 방법에 관한 것으로, 입력 사운드 신호에 응답하여 시간-영역 여기 기여(time-domain excitation contribution)를 계산하는 단계와; 입력 사운드 신호에 응답하여 시간-영역 여기 기여에 대한 컷-오프 주파수(cut-off frequency)를 계산하는 단계와; 컷-오프 주파수에 응답하여 시간-영역 여기 기여의 주파수 정도를 조정하는 단계와; 입력 사운드 신호에 응답하여 주파수-영역 여기 기여를 계산하는 단계; 및 입력 사운드 신호의 코딩된 버전을 구축하는 혼합형 시간-영역/주파수-영역 여기를 형성하기 위해, 조정된 시간-영역 여기 기여와 주파수-영역 여기 기여를 가산하는 단계를 포함한다.
본 발명에 있어서, 입력 사운드 신호를 음성 또는 비-음성으로 분류하는 단계와; 시간-영역 전용 코딩(time-domain only coding) 방법을 제공하는 단계와; 상술한 혼합형 시간-영역/주파수-영역 코딩 방법을 제공하는 단계; 및 입력 사운드 신호의 분류에 의거하여 입력 사운드 신호를 코딩하는, 혼합형 시간-영역/주파수-영역 코딩 방법과 시간-영역 전용 코딩 방법 중 하나를 선택하는 단계를 포함하는, 시간-영역 및 주파수-영역 모델을 이용하는 인코딩 방법이 설명된다.
본 발명은, 입력 사운드 신호를 코딩하는 혼합형 시간-영역/주파수-영역 코딩 방법에 관한 것으로, 그 방법은 입력 사운드 신호에 응답하여 시간-영역 여기 기여를 계산하는 단계 - 시간-영역 여기 기여의 계산은 연속하는 입력 사운드 신호 프레임들내의 입력 사운드 신호를 처리하고, 입력 사운드 신호의 현재 프레임에 이용될 서브-프레임 개수(a number of sub-frames)를 계산하는 것을 포함하며, 현재 프레임에 대해 계산된 서브-프레임의 개수를 현재 프레임에 이용하는 것을 더 포함함 - 와; 입력 사운드 신호에 응답하여 주파수-영역 여기 기여를 계산하는 단계; 및 입력 사운드 신호의 코딩된 버전을 구축하는 혼합형 시간-영역/주파수-영역 여기를 형성하기 위해, 시간-영역 여기 기여와 주파수-영역 여기 기여를 가산하는 단계를 포함한다.
본 발명에 있어서, 시간-영역에서 혼합형 시간-영역/주파수-영역 여기를 변환하는 단계; 및 시간-영역에서 변환된 혼합형 시간-영역/주파수-영역 여기에 응답하여 합성 필터를 통해 사운드 신호를 합성하는 단계를 포함하는, 상술한 혼합형 시간-영역/주파수-영역 코딩 방법들 중 하나를 이용하여 코딩된 사운드 신호를 디코딩하기 위한 방법이 설명된다.
상술한 특징 및 다른 특징은, 첨부된 도면을 참조하여 예시적으로 제공된, 제안된 시간-영역 및 주파수-영역 모델의 예시적인 실시 예의 아래와 같은 비 제한적 설명으로부터 더욱 명확해질 것이다.
제안된 보다 통합적인 시간-영역 및 주파수-영역 모델은, 프로세싱 지연 및 비트레이트의 증가없이, 예를 들어, 음악 및/또는 반향 음성과 같은 일반 오디오 신호의 합성 품질을 개선할 수 있다.
도면에 있어서,
도 1은 예를 들어, ACELP(Algevraic Code-Excited Linear Prediction) 인코더와 같은 개량형 CELP(Code-Excited Linear Prediction) 인코더를 개략적으로 도시한 블럭도,
도 2는 도 1의 개량형 CELP 인코더의 보다 상세한 구조를 나타낸 블럭도,
도 3은 컷-오프 주파수의 계산기를 개략적으로 나타낸 블럭도,
도 4는 도 3의 컷-오프 주파수의 계산기의 보다 상세한 구조를 나타낸 블럭도,
도 5는 주파수 양자화기를 개략적으로 나타낸 블럭도,
도 6은 도 5의 주파수 양자화기의 보다 상세한 구조를 나타낸 블럭도.
제안된 보다 통합적인 시간-영역 및 주파수-영역 모델은, 예를 들어, 이용 가능한 비트가, 입력 신호의 특성(feature)에 의거하여, 적응 코드북, 하나 이상의 고정 코드북(예를 들어, 대수 코드북, 가우시안 코드북 등) 및 주파수-영역 코딩 모드에 동적으로 할당되는 LP(Linear Prediction) 잔류 영역에서 동작한다.
음악 및/또는 반향 음성과 같은 일반적인 오디오 신호의 합성 품질을 개선하는 낮은 프로세싱 지연 낮은 비트 레이트 대화 코덱(low processing delay low bit rate conversational codec)을 달성하기 위해, 주파수-영역 코딩 모드는 가능한 CELP(Code-Excited Linear Prediction) 시간-영역 코딩 모드에 가깝게 통합될 수 있다. 이를 위해, 주파수-영역 코딩 모드는, 예를 들어, LP 잔차 영역에서 실행된 주파수 변환을 이용한다. 이에 따라 한 프레임, 예를 들어, 20ms 프레임에서 다른 프레임으로 거의 아티팩트(artifact)없는 절환이 가능하게 된다. 또한, 현재의 코딩 모드가 충분히 효율적이지 않다고 결정되면, 2개의 코딩 모드들의 통합은, 다른 코딩 모드로의 비트 버짓(bit budget)의 동적 재할당이 가능하도록 충분히 가까워지게 된다.
제안된 보다 통합적인 시간-영역 및 주파수-영역 모델의 한가지 특성(feature)은 프레임 단위에 기초하여 쿼터 프레임(quarter frame)에서 전체 프레임(complete frame)까지 가변하는 시간-영역 컴포넌트(time-domain component)의 가변 시간 지원(variable time support)이며, 이를 서브-프레임이라 한다. 예를 들어, 프레임은 20ms의 입력 신호를 나타낸다. 코덱의 내부 샘플링 주파수가 16kHz이면, 이것은 320 샘플들에 대응하고, 코덱의 내부 샘플링 주파수가 12.8kHz이면, 256 샘플들에 대응한다. 따라서, 한 프레임의 1/4(서브-프레임)은 코덱의 내부 샘플링 주파수에 기초하여 64 또는 80 샘플들을 나타낸다. 이하의 예시적인 실시 예에 있어서, 코덱의 내부 샘플링 주파수는 12.8kHz로서, 256 샘플들의 프레임 길이를 제공한다. 가변 시간 지원은 기초 시간-영역 여기 기여를 생성하기 위해 최소 비트레이트의 주요 순시 이벤트(major temporal event)들을 포획할 수 있게 한다. 매우 낮은 비트 레이트에서는, 통상적으로 시간 지원은 전체 프레임이다. 그 경우, 여기 신호에 대한 시간-영역 기여는 단지 적응 코드북으로만 구성되며, 대응하는 이득을 가진 대응하는 피치 정보(pitch information)가 프레임마다 한번씩 전달된다. 보다 높은 비트레이트가 이용가능할 경우, 시간 지원을 단축함에 의해(및 시간-영역 코딩 모드에 할당된 비트레이트를 증가시킴에 의해) 보다 많은 순시 이벤트들을 포획할 수 있다. 결국, 시간 지원이 충분히 짧고(한 프레임의 1/4로 줄임) 이용 가능한 비트레이트가 충분히 높으면, 시간-영역 기여는 대응하는 이득을 가진, 적응 코드북 기여, 고정 코드북 기여 또는 둘 모두를 포함할 수 있다. 그 코드북 인덱스들 및 이득을 설명하는 파라메타는 각 서브-프레임마다 전달된다.
낮은 비트 레이트에서는, 대화 코덱이 높은 주파수를 적절하게 코딩할 수 없다. 이에 따라, 입력 신호가 음악 및/또는 반향 음성을 포함할 경우, 합성 품질의 중요한 열화가 초래된다. 이러한 문제를 해결하기 위해, 시간-영역 여기 기여의 효율을 계산하도록 소정 특성이 추가된다. 일부 경우에, 입력 비트레이트 및 시간 프레임 지원이 어떤 것이든지, 시간-영역 여기 기여는 무익(non-valuable)하게 된다. 이들 경우에 있어서, 모든 비트들은 다음 단계의 주파수-영역 코딩으로 재할당된다. 그러나, 대체로 시간-영역 여기 기여는 특정 주파수(컷-오프 주파수)까지만 유익하다. 이들 경우에 있어서, 컷-오프 주파수보다 높은 시간-영역 여기 기여는 필터 제거된다. 필터링 동작에서는 시간-영역 여기 기여와 함께 코딩된 유익한 정보(valuable information)를 유지하고, 컷-오프 주파수보다 높은 무익한 정보(non-valuable information)를 제거할 수 있다. 예시적인 실시 예에 있어서, 주파수 영역에서 필터링이 실행되어 특정 주파수보다 높은 주파수 빈(frequency bins)들이 제로(0)로 설정된다.
가변 시간 지원은 가변 컷-오프 주파수와 조합하여, 통합된 시간-영역 및 주파수-영역 모델 내부의 비트 할당이 매우 동적으로 이루어지도록 한다. LP 필터의 양자화 이후, 비트 레이트는 시간-영역에 완전히 할당되거나, 주파수-영역에 완전히 할당되거나, 또는 그들 사이에서 어느 정도 할당될 수 있다. 시간-영역과 주파수-영역 사이의 비트레이트 할당은, 시간-영역 기여에 대해 이용된 서브프레임의 개수와, 이용 가능한 비트 버짓 및 계산된 컷-오프 주파수의 함수로서 실행된다.
보다 효율적으로 입력 잔차를 매칭시킬 전체 여기(total excitation)를 생성하기 위해, 주파수-영역 코딩 모드가 적용된다. 본 발명에 있어서 특성이란, 입력 LP 잔차의 주파수 표현(주파수 변환)과 컷-오프 주파수까지 필터링된 시간-영역 여기 기여의 주파수 표현(주파수 변환)들간의 차이를 포함하고, 컷-오프 주파수보다 높은 입력 LP 잔차 그 자신의 주파수 표현(주파수 변환)을 포함하는 벡터에 대해 주파수-영역 코딩이 실행된다는 것이다. 컷-오프 주파수 바로 위 및 양 세그먼트 사이에 스무드 스펙트럼 천이(smooth spectrum transition)가 삽입된다. 다시 말해, 시간-영역 여기 기여의 주파수 표현의 고주파수 부분이 우선 제로로 되어 제거된다. 스펙트럼의 무변경 부분(unchanged part)과 스펙트럼의 제로로 된 부분(zeroed part)간의 천이 영역이 컷-오프 주파수의 바로 위에 삽입되어, 그 스펙트럼의 양 부분들간의 스무드 천이(smooth transition)를 보장한다. 시간-영역 여기 기여의 이러한 수정된 스펙트럼은 입력 LP 잔차의 주파수 표현으로부터 공제된다. 결과하는 스펙트럼은 약간의 천이 영역과 함께, 컷-오프 주파수 미만의 두 스펙트럼간의 차이, 및 그보다 위의 LP 잔차의 주파수 표현에 대응한다. 상술한 컷-오프 주파수는 프레임마다 가변할 수 있다.
어느 주파수 양자화 방법(주파수-영역 코딩 모드)이 선택되든지, 특히 긴 윈도우(long window)들로는 프리-에코(pre-echo)의 가능성이 항상 존재한다. 이 기술에 있어서, 이용된 윈도우는 정사각 윈도우이며, 따라서 코딩된 신호 대비 여분 윈도우 길이는 0이 된다. 즉, 오버랩-애드(overlap-add)가 이용되지 않는다. 이것이 임의의 잠재적인 프리-에코를 감소시키기 위한 최선의 윈도우에 대응하지만, 일부 프리-에코는 시간축 공격(temporal attack)시에 여전히 청취 가능하다. 그러한 프리-에코 문제를 해결하기 위한 많은 기법이 존재하지만, 본 발명은 이러한 프리-에코 문제를 제거하는 간단한 특성을 제안한다. 이러한 특성은 "Transition Mode" of ITU-T Recommendation G.718: Reference [ITU-Y Recommendation G.718 "Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio fro, 8-32kbit/s", June 2008, section 6.8.1.4 and section 6.8.4.2]로부터 도출되는 무 메모리 시간-영역 코딩 모드(memory-less time-domain coding mode)에 기반한다. 이러한 특성의 배후 개념은, 제안된 보다 통합형의 시간-영역 및 주파수-영역 모델이 LP 잔차 영역에 통합되어, 항상 거의 아티팩트가 없는 절환이 가능하게 된다는 사실을 이용한다는 것이다. 신호가 일반 오디오(음악 및/또는 반향 음성)로서 간주되고, 소정 프레임내에 시간축 공격이 검출되면, 이 프레임만이 이러한 특정의 무 메모리 시간-영역 코딩 모드로 인코딩된다. 이 모드는 시간축 공격을 잘 처리할 것이며, 그에 따라 그 프레임의 주파수-영역 코딩과 함께 도입되었던 프리-에코를 방지한다.
예시적인 실시 예
제안된 보다 통합형의 시간-영역 및 주파수-영역 모델에 있어서, 상술한 적응 코드북, 하나 이상의 고정 코드북(예를 들어, 대수 코드북, 가우시안 코드북등), 즉, 소위 시간-영역 코드북 및 주파수-영역 양자화(주파수-영역 코딩 모드)는 코드북 라이브러리(codebook library)라고 할 수 있으며, 그 비트들은 모든 이용 가능한 코드북 또는 그의 서브셋에 배포될 수 있다. 이것은, 예를 들어, 입력 사운드 신호가 깨끗한 음성이면, 모든 비트들이 시간-영역 코딩 모드에 할당되어, 기본적으로 레거시 CELP 기법(legacy CELP scheme)에 대한 코딩을 감소시킬 것임을 의미한다. 다른 한편, 일부 음악 세그먼트들의 경우에는, 입력 LP 잔차를 인코딩 하기 위해 할당된 모든 비트들이, 예를 들어, 변환-영역과 같은 주파수-영역에서 가장 잘 소비되는 경우도 있다.
상술한 설명에서 지적한 바와 같이, 시간-영역 및 주파수-영역 코딩 모드에 대한 시간 지원이 동일할 필요는 없다. 다른 시간-영역 양자화 방법(적응 및 대수 코드북 탐색)에 소비된 비트들은 통상적으로 서브-프레임에 기반하여 배포되지만, 주파수-영역 코딩 모드에 할당된 비트는 프레임에 기반하여(전형적으로 20ms의 시간 지원) 배포되어, 주파수 분해능을 개선한다.
시간-영역 CELP 코딩 모드에 할당된 비트 버짓은 입력 사운드 신호에 의거하여 동적으로 제어될 수 있다. 일부 경우에 있어서, 시간-영역 CELP 코딩 모드에 할당된 비트 버짓은 제로일 수 있는데, 이것은 사실상 전체 비트 버짓이 주파수-영역 코딩 모드에 기인한 것임을 의미한다. 시간-영역 및 주파수-영역 방식에 대해 LP 잔차 영역에서의 작업 선택은 2가지 주요한 장점을 가진다. 첫째, 이것은 음성 신호 코딩에 효율적임을 입증한 CELP 코딩 모드와 호환성이 있다. 그 결과, 2개 유형의 코딩 모드들간의 절환으로 인해 도입되는 아티팩트가 없다. 두번째, 원 입력 음성 신호(original input speech signal)에 대한 LP 잔차의 보다 낮은 다이나믹(dynamic) 및 그와 관련된 평탄성(flatness)이 주파수 변환을 위한 정사각형 윈도우를 보다 쉽게 이용할 수 있게 하며, 그에 따라 넌-오버랩핑 윈도우(non-overlapping window)가 이용될 수 있게 된다.
ITU-T 권고 G.718에서와 유사하게, 그 코덱의 내부 샘플링 주파수가 12.8kHz(프레임당 256 샘플을 의미함)인 비 제한적 예시에 있어서, 시간-영역 CELP 코딩 모드에서 이용되는 서브-프레임의 길이는 전형적으로 1/4 프레임 길이(5ms)에서 1/2 프레임(10ms)까지 가변적이거나, 전체 프레임 길이(20ms)일 수 있다. 서브-프레임 길이 결정은 이용 가능한 비트 레이트와 입력 사운드 신호의 분석, 특히 이 입력 사운드 신호의 스펙트럼 다이나믹(spectral dynamics)에 기반한다. 서브-프레임 길이 결정은 폐쇄 루프 방식으로 실행될 수 있다. 복잡성을 줄이기 위해, 개방 루프 방식에 근거를 두고 서브-프레임 길이 결정을 할 수 있다. 서브-프레임 길이는 프레임 마다 변경될 수 있다.
서브-프레임의 길이가 특정한 프레임에서 선택되면, 표준 폐쇄 루프 피치 분석(standard closed-loop pitch analysis)이 실행되고, 여기 신호에 대한 제 1 기여가 적응 코드북으로부터 선택된다. 그 다음, 이용 가능한 비트 버짓 및 입력 사운드 신호의 특성(예를 들어, 입력 음성 신호의 경우)에 의거하여, 하나 또는 여러개의 고정 코드북으로부터의 제 2 기여가 변환-영역 코딩 전에 추가될 수 있다. 결과하는 여기를 시간-영역 여기 기여라고 할 것이다. 다른 한편, 매우 낮은 비트 레이트 및 일반적인 오디오의 경우에 있어서, 고정된 코드북 단계를 스킵(skip)하고 변환-영역 코딩 모드에 대해 모든 잔여 비트들을 이용하는 것이 보다 좋을 때도 있다. 변환 영역 코딩 모드는, 예를 들어, 주파수-영역 코딩 모드일 수 있다. 상술한 바와 같이, 서브-프레임 길이는 프레임의 1/4, 프레임의 1/2 또는 한 프레임 길이일 수 있다. 고정 코드북 기여는, 서브-프레임 길이가 1/4 프레임 길이인 경우에만 이용된다. 서브-프레임 길이가 1/2 프레임 또는 전체 프레임 길이인 것으로 결정되면, 단지 적응 코드북 기여만이 시간-영역 여기를 나타내는데 이용되며, 모든 잔여 비트들은 주파수-영역 코딩 모드에 할당된다.
시간-영역 여기 기여의 계산이 완료되면, 그의 효율이 평가되고 양자화될 필요가 있다. 시간-영역에서의 코딩의 이득이 매우 낮으면, 시간-영역 여기 기여가 완전히 제거되고, 그 대신에 주파수-영역 코딩 모드를 위해 모든 비트들이 이용되는 것이 보다 효율적이다. 다른 한편, 예를 들어, 깨끗한 입력 음성인 경우에, 주파수-영역 코딩 모드는 필요치 않으며, 모든 비트들은 시간-영역 코딩 모드에 할당된다. 그러나, 특정 주파수까지만 시간-영역에서의 코딩이 효율적인 경우도 있다. 이 주파수를 시간-영역 여기 기여의 컷-오프 주파수라고 한다. 그러한 컷-오프 주파수의 결정은, 전체 시간-영역 코딩이 주파수-영역 코딩에 역작용을 하기보다는 보다 나은 최종 합성을 얻는데 도움을 준다.
컷-오프 주파수는 주파수-영역에서 추정된다. 컷-오프 주파수를 계산하기 위해, LP 잔차 및 주파수-영역 코딩 기여의 스펙트럼들은 사전 정의된 개수의 주파수 대역들로 분할된다. 주파수 대역의 개수 및 각 주파수 대역에 의해 커버되는 주파수 빈들의 개수는 각 구현 마다 가변될 수 있다. 각 주파수 대역의 경우, 시간-영역 여기 기여의 주파수 표현과 LP 잔차의 주파수 표현간에 정규화 상관이 계산되고, 인접 주파수 대역들간의 상관이 스무드하게 된다. 대역당 상관(per-band correlation)의 하한은 0.5이고, 0과 1 사이에서 정규화된다. 평균 상관은 모든 주파수 대역에 대한 상관의 평균으로서 계산된다. 컷-오프 주파수의 제 1 추정을 위해, 0과 1/2 샘플링 레이트(1의 정규화 상관값에 대응하는 1/2샘플링 레이트)사이에서 평균 상관이 스케일링된다. 컷-오프 주파수의 제 1 추정치는, 그 값에 가장 가까운 주파수 대역의 상한이다. 예시적인 구현에 있어서, 상관 계산을 위해 16개의 12.8kHz 주파수 대역들이 정의된다.
인간의 귀의 음향 심리학적 성질을 이용하여, 상관 계산에 의해 추정된 컷-오프 주파수와 그 피치의 8번째 고조파 주파수의 추정 위치를 비교함에 의해, 컷-오프 주파수 추정의 신뢰성이 개선된다. 이 위치가 상관 계산에 의해 추정된 컷-오프 주파수보다 높으면, 컷-오프 주파수는 피치의 8번째 고조파 주파수의 위치에 대응하도록 정정된다. 컷-오프 주파수의 최종값은 양자화되고 전송된다. 예시적인 구현에 있어서, 그러한 양자화에 3 또는 4비트가 이용되며, 그에 따라 비트 레이트에 의거하여 8 또는 16의 가능한 컷-오프 주파수들이 제공된다.
컷-오프 주파수가 알려지면, 주파수-영역 여기 기여의 주파수 양자화가 실행된다. 입력 LP 잔차의 주파수 표현(주파수 변환)과 시간-영역 여기 기여의 주파수 표현(주파수 변환)간의 차이가 결정된다. 그 다음, 컷-오프 주파수까지의 이러한 차이 및 잔여 스펙트럼에 대한 입력 LP 잔차의 주파수 표현으로의 스무드한 천이로 이루어진 새로운 벡터가 생성된다. 그 다음, 주파수 양자화가 전체적인 새로운 벡터에 적용된다. 예시적인 구현에 있어서, 그 양자화는 도미넌트(가장 높은 에너지의) 스펙트럼 펄스의 위치 및 부호를 코딩하는 것을 포함한다. 주파수 대역마다 양자화될 펄스의 개수는 주파수-영역 코딩 모드에 이용 가능한 비트레이트와 관련된다. 모든 주파수 대역을 커버하기 위해 이용할 수 있는 비트들이 충분하지 않으면, 잔여 대역들은 단지 노이즈들로 채워진다.
이전 문단에서 설명한 양자화 방법을 이용한 주파수 대역의 주파수 양자화가, 이 대역내의 모든 주파수 빈들이 양자화된다는 것을 보장하지는 않는다. 이것은, 주파수 대역당 양자화된 펄스의 개수가 상대적으로 낮은 저 비트레이트에서 특히 그러하다. 이러한 비-양자화된 빈들로 인한 가청 아티팩트의 발현을 방지하기 위하여, 이들 갭을 충진하도록 일부 노이즈가 첨가된다. 낮은 비트레이트에서, 양자화된 펄스는 삽입된 노이즈보다 스펙트럼에서 우세해야 하기 때문에, 노이즈 스펙트럼 크기는 단지 펄스 크기의 일부에만 대응한다. 스펙트럼에 있어서의 추가된 노이즈의 크기는, 이용 가능한 비트 버짓이 클 때(보다 많은 노이즈가 허용됨) 보다 커지고, 이용 가능한 비트 버짓이 작을 때 보다 작아진다.
주파수-영역 코딩 모드에 있어서, 양자화된 신호에 비-양자화된 신호의 에너지를 매칭시키기 위해, 각 주파수 대역마다 이득이 계산된다. 그 이득들은 양자화된 벡터로서, 대역마다 양자화된 신호에 적용된다. 인코더가 그의 비트 할당을 시간-영역 전용 코딩 모드에서 혼합형 시간-영역/주파수-영역 코딩 모드로 변경하면, 시간-영역 전용 코딩 모드의 대역당 여기 스펙트럼 에너지는 혼합형 시간-영역/주파수-영역 코딩 모드의 대역당 여기 스펙트럼 에너지와 매칭되지 않게 된다. 이러한 에너지 미스매칭(mismatch)은 특히 낮은 비트 레이트에서 일부 절환 아티팩트를 생성할 수 있다. 이러한 비트 재할당에 의해 생성된 임의의 가청 열화를 줄이기 위해, 각 대역마다 장기 이득(long-term gain)이 계산될 수 있고, 소수의 프레임에 대해 각 주파수 대역의 에너지를 정정하도록 적용될 수 있는데, 이는 시간-영역 코딩 모드에서 혼합형 시간-영역/주파수-영역 코딩 모드로의 절환 이후에 이루어진다.
주파수-영역 코딩 모드의 완료 이후, 주파수-영역 여기 기여를 시간-영역 여기 기여의 주파수 표현(주파수 변환)에 추가함에 의해 전체 여기가 탐지되며, 여기 기여들의 합산값이 시간-영역으로 변환됨으로써 전체 여기가 형성된다. 최종적으로, 합성된 신호는 LP 합성 필터를 통해 전체 여기를 필터링함에 의해 계산된다. 일 실시 예에서, 시간-영역 여기 기여만을 이용하는 서브-프레임에 기반하여 CELP 코딩 메모리가 갱신되는 반면, 프레임 경계에서 이들 메모리들을 갱신하기 위해서는 전체 여기(total excitation)가 이용된다. 다른 가능한 구현에 있어서, 서브-프레임에 기반하여 및 프레임 경계에서 단지 시간-영역 여기 기여를 이용하여 CELP 코딩 메모리가 갱신된다. 이에 따라, 주파수-영역 양자화 신호가 코어 CELP 층(core CELP layer)에 무관한 상부 양자화층을 구축하는 내장형 구조가 형성된다. 이러한 특정의 경우에 있어서, 고정 코드북이 항상 이용되어 적응 코드북 콘텐츠를 갱신한다. 그러나, 주파수-영역 코딩 모드는 전체 프레임에 적용될 수 있다. 이러한 내장형 방식은 대략 12kbps 이상의 비트 레이트에 대해 작용한다.
1) 사운드 유형 분류
도 1에는 예를 들어, ACELP 인코더와 같은, 개량형 CELP 인코더(100)를 개략적으로 나타낸 블럭도가 도시된다. 물론, 동일한 개념을 이용한 다른 유형의 개량형 CELP 인코더가 구현될 수도 있다. 도 2에는 개량형 CELP 인코더(100)의 보다 세부적인 구조를 나타낸 블럭도가 도시된다.
CELP 인코더(100)는 입력 사운드 신호(101)의 파라메타들을 분석하는 프리-프로세서(102)(도 1)를 포함한다(도 1 및 2 참조). 도 2를 참조하면, 프리-프로세서(102)는 입력 사운드 신호의 LP 분석기(201), 스펙트럼 분석기(202), 개방 루프 피치 분석기(203), 신호 분류기(204)를 포함한다. 분석기(201,202)는 ITU-T 권고 G.718, 섹션 6.4 및 6.1.4에 예시적으로 설명된 바와 같이, CELP 코딩에서 통상적으로 실행되는 LP 및 스펙트럼 분석을 실행하며, 그러므로 본 명세서에서는 더 이상 설명하지 않겠다.
프리-프로세서(102)는 음성 및 비음성(일반 오디오(음악 또는 반향음))으로 입력 사운드 신호(101)를 분류하기 위해 제 1 레벨의 분석을 실행하는 데, 이것은 예를 들어, 참조 문헌 [T.Vaillancourt et al ., "Inter-tone noise reduction in a low bot rate CELP decoder", Proc . IEEE ICASSP, Taipei, Taiwan, Apr. 2009, pp.4113-16]에 설명된 것과 유사한 방식으로 또는 임의의 다른 신뢰성있는 음성/비 음성 판별 방법으로 이루어지며, 그 참조 문헌의 전체 콘텐츠는 본 명세서에 참조로서 인용된다.
이러한 제 1 레벨 분석 이후, 프리-프로세서(102)는 입력 신호 파라메타의 제 2 레벨의 분석을 실행하여, 시간-영역 방식에서 보다 양호하게 인코딩되는 비-음성 특성이 강한 일부 사운드 신호에 대해 시간-영역 CELP 코딩(주파수-영역 코딩이 아님)이 이용될 수 있게 한다. 에너지의 중요한 변화가 발생하면, 이러한 제 2 레벨 분석에 의해 CELP 인코더(100)는 무 메모리(memory-less) 시간-영역 코딩 모드로 절환되는데, 이 코딩 모드를 참조 문헌 [Eksler, V., and Jelinek, M. (2008), "Transition mode coding for source controlled CELP codecs", IEEE Proceedings of International Conference on Acoustics, Speech and Signal Processing, March-April, pp.4001-40043]에서는 천이 모드(Transition Mode)라고 하며, 그 참조 문헌의 전체 콘텐츠는 본 명세서에서 참조로서 인용된다.
이러한 제 2 레벨 분석 동안에, 신호 분류기(204)는 개방 루프 피치 분석기(203)로부터의 개방 루프 피치 상관의 스무드한 버전
Figure 112013045433119-pct00001
의 편차
Figure 112013045433119-pct00002
와, 현재의 전체 프레임 에너지
Figure 112013045433119-pct00003
및 현재의 전체 프레임 에너지와 이전의 전체 프레임 에너지간의 차이
Figure 112013045433119-pct00004
를 계산하고 이용한다. 먼저, 스무드한 개방 루프 피치 상관의 편차는 다음과 같이 계산된다.
Figure 112013045433119-pct00005
여기에서,
Figure 112013045433119-pct00006
Figure 112013045433119-pct00007
로서 정의된 스무드한 개방 루프 피치 상관이고,
Figure 112013045433119-pct00008
는, 예를 들어, ITU-T 권고 G.718, 섹션 6.6에 설명된 CELP 코딩 분야 종사자에게 알려진 방법을 이용하여 분석기(203)에 의해 계산된 개방 루프 피치 상관이며,
Figure 112013045433119-pct00009
는 스무드한 개방 루프 피치 상관
Figure 112013045433119-pct00010
의 마지막 10개의 프레임에 걸쳐서의 평균이고,
Figure 112013045433119-pct00011
는 스무드한 개방 루프 피치 상관의 편차이다.
제 1 레벨 분석 동안, 신호 분류기(204)가 소정 프레임을 비-음성으로 분류할 경우, 혼합형 시간-영역/주파수-영역 코딩 모드를 이용하는 것이 사실상 안전한지를 제 2 레벨 분석에서 결정하기 위해 신호 분류기(204)에 의해 이하의 검증이 실행된다. 그러나, 경우에 따라서, 시간-영역 코딩 모드의 프리-프로세싱 기능에 의해 추정된 시간-영역 방식들 중 하나의 방식을 이용하여, 현재 프레임을 시간-영역 코딩 모드로만 인코딩하는 것이 보다 좋을 수 있다. 특히, 혼합형 시간-영역/주파수-영역 코딩 모드에 의해 도입될 수 있는 임의의 가능한 프리-에코(pre-echo)를 최소한으로 줄이기 위해 무 메모리 시간-영역 코딩 모드를 사용하는 것이 더 좋을 수 있다.
혼합형 시간-영역/주파수-영역 코딩이 이용되어야 하는지에 대한 제 1 검증으로서, 신호 분류기(204)는 현재 전체 프레임 에너지와 이전 전체 프레임 에너지간의 차이를 계산한다. 현재 전체 프레임 에너지
Figure 112013045433119-pct00012
와 이전 전체 프레임 에너지간의 차이
Figure 112013045433119-pct00013
가 6dB보다 크면, 이것은 입력 사운드 신호에 있어서 소위 "시간축 공격"에 대응한다. 그러한 상황에서는, 음성/비 음성 결정 및 선택된 코딩 모드가 오버라이트(overwrite)되고, 무 메모리 시간-영역 코딩 모드가 이용된다. 보다 구체적으로, 개량형 CELP 인코더(100)는 음성/일반 오디오 선택기(205)(도 2), 시간축 공격 검출기(208)(도 2) 및 무 메모리 시간-영역 코딩 모드의 선택기(206)를 포함하는 시간 전용/시간-주파수 코딩 선택기(103)(도 1)를 포함한다. 다시 말해, 선택기(205)에 의해 비 음성 신호(일반 오디오)의 결정과 검출기(208)에 의한 입력 사운드 신호내의 시간축 공격의 검출에 응답하여, 선택기(206)는 폐쇄 루프 CELP 코더(207)가 무 메모리 시간-영역 코딩 모드를 이용하게 한다. 폐쇄 루프 CELP 코더(207)는 도 1의 시간-영역 전용 코더(104)의 일부를 형성한다.
제 2 검증으로서, 현재 전체 프레임 에너지
Figure 112013045433119-pct00014
와 이전 전체 프레임 에너지간의 차이
Figure 112013045433119-pct00015
가 6dB 이하이되,
스무드화된 개방 루프 피치 상관(smoothed open loop pitch correlation)
Figure 112013045433119-pct00016
이 0.96보다 높거나;
스무드화된 개방 루프 피치 상관
Figure 112013045433119-pct00017
이 0.85보다 높고, 현재 전체 프레임 에너지
Figure 112013045433119-pct00018
와 이전 전체 프레임 에너지간의 차이
Figure 112013045433119-pct00019
가 0.3dB미만 이거나;
스무드화된 개방 루프 피치 상관의 편차
Figure 112013045433119-pct00020
가 0.1 미만이고, 현재 전체 프레임 에너지
Figure 112013045433119-pct00021
와 마지막 이전 전체 프레임 에너지간의 차이
Figure 112013045433119-pct00022
가 0.6dB 미만이거나; 또는
현재 전체 프레임 에너지
Figure 112013045433119-pct00023
이 20dB 미만이고,
이것이 제 1 레벨 분석의 결정이 변경될 예정인 적어도 제 2 연속 프레임(
Figure 112013045433119-pct00024
)이면, 음성/일반 오디오 선택기(205)는, 폐쇄 루프 일반 CELP 코더(207)(도 2)를 이용하는 시간-영역 전용 모드를 이용하여 현재 프레임을 코딩하기로 결정한다.
그렇지 않을 경우, 시간/시간-주파수 코딩 선택기(103)는 이하에서 설명할 혼합형 시간-영역/주파수-영역 코딩 장치에 의해 실행되는 혼합형 시간-영역/주파수-영역 코딩 모드를 선택한다.
이것은, 예를 들어, 비 음성 사운드 신호가 음악일 경우에, 이하의 의사 코드로 요약될 수 있다.
Figure 112013045433119-pct00025
Figure 112013045433119-pct00026
는 아래와 같이 표현되는 현재 프레임 에너지이다.
Figure 112013045433119-pct00027
x(i)는 그 프레임내의 입력 사운드 신호의 샘플들을 나타내며,
Figure 112013045433119-pct00028
는 현재 전체 프레임 에너지
Figure 112013045433119-pct00029
와 마지막 이전 전체 프레임 에너지간의 차이이다.
2) 서브-프레임 길이의 결정
전형적인 CELP에 있어서, 10-30ms의 프레임들내의 입력 사운드 신호 샘플들이 처리되며, 이들 프레임들은 적응 코드북 및 고정된 코드북 분석을 위해 여러개의 서브프레임으로 분할된다. 예를 들어, 20ms의 프레임(내부 샘플링 주파수가 12.8kHz일 때 256 샘플들)이 이용되어 5ms의 4개의 서브-프레임으로 분할될 수 있다. 가변 서브프레임 길이는 시간-영역과 주파수-영역을 하나의 코딩 모드로 완전히 통합하는데 이용되는 특성이다. 서브-프레임 길이는 전형적인 1/4 서브-프레임 길이에서부터 1/2 프레임 또는 전체 프레임 길이까지 가변할 수 있다. 물론, 다른 개수의 서브-프레임(서브-프레임 길이)의 이용이 구현될 수 있다.
서브-프레임 길이(서브-프레임의 개수) 또는 시간 지원에 대한 판정은 이용 가능한 비트레이트 또는 프리-프로세서(102)에서의 입력 신호 분석, 특히 분석기(209)로부터의 입력 사운드 신호(10)의 고주파 스펙트럼 다이나믹 및 분석기(203)로부터의 스무드화된 개방 루프 피치 상관을 포함하는 개방 루프 피치 분석에 기반한 서브-프레임 개수의 계산기에 의해 결정된다. 분석기(209)는 스펙트럼 분석기(202)로부터의 정보에 응답하여, 입력 신호(101)의 고주파 스펙트럼 다이나믹을 결정한다. 스펙트럼 다이나믹은 입력 스펙트럼 다이나믹을 나타내는 노이즈 플로어(noise floor)없는 입력 스펙트럼으로서 ITU-T 권고 G.718, 섹션 6.7.2.2에 설명된 특성으로부터 계산된다. 분석기(209)에 의해 결정된 4.4kHz와 6.4kHz 사이의 주파수 대역에 있어서의 입력 사운드 신호(101)의 평균 스펙트럼 다이나믹이 9.9dB 이하이고, 최종 프레임이 높은 스펙트럼 다이나믹을 갖는 것으로 간주되었다면, 입력 신호(101)는 고주파수에서 높은 스펙트럼 다이나믹 콘텐츠를 갖는 것으로 간주되지 않는다. 그 경우, 시간-영역 코딩 모드에 보다 많은 서브-프레임을 추가하거나, 주파수-영역 기여의 저 주파수 부분에 보다 많은 펄스를 제공함에 의해, 보다 많은 비트들이 예를 들어 4kHz 이하의 주파수에 할당될 수 있다.
다른 한편, 분석기(209)에 의해 결정된 높은 스펙트럼 다이나믹을 갖는 것으로 간주되었던 최종 프레임의 평균 스펙트럼 다이나믹에 대비되는 입력 신호(101)의 높은 주파수 콘텐츠의 평균 다이나믹의 증가가, 예를 들어 4.5dB 보다 크면, 사운드 입력 신호(101)는 예를 들어 4kHz보다 높은 스펙트럼 다이나믹 콘텐츠를 갖는것으로 간주된다. 그 경우, 이용 가능한 비트 레이트에 의거하여, 입력 사운드 신호(101)의 고주파수를 코딩하는데 일부 추가적인 비트들이 이용됨으로써, 하나 이상이 주파수 펄스의 인코딩이 가능하게 된다.
계산기(210)(도 2)에 의해 결정된 서브-프레임 길이는 이용 가능한 비트 버짓에 좌우된다. 아주 낮은 비트 레이트, 예를 들어, 9kbps 이하의 비트 레이트에서는, 시간-영역 코딩에 단지 하나의 서브-프레임만이 이용 가능하지만, 이와 달리 주파수-영역 코딩에 대해서는 이용 가능한 비트들의 개수가 충분하지 않다. 중간 비트 레이트, 예를 들어, 9kbps 및 16kbps 사이의 비트레이트에서는, 고주파수가 높은 다이나믹 스펙트럼 콘텐츠를 포함하는 경우에 대해 단지 하나의 서브-프레임만이 이용되지만, 그게 아니라면 2개의 서브-프레임이 이용된다. 중상(medium-high) 비트 레이트의 경우, 예를 들어, 대략 16kbps 이상의 비트 레이트의 경우에는, 사운드 유형 분류 섹션의 전술한 스무드한 개방 루프 피치 상관 Cst이 0.8보다 크면, 4개의 서브-프레임 경우들이 이용 가능하게 된다.
하나 또는 2개의 서브-프레임을 갖는 경우는 시간-영역 코딩을 (코딩된 피치 래그(coding pitch lag)와 피치 이득을 가진) 적응 코드북 기여만으로 제한하지만, 즉, 그 경우에 이용되는 고정된 코드북은 없지만, 이용 가능한 비트 버짓이 충분할 경우에는, 4개의 서브-프레임이 적응 및 고정된 코드북 기여를 허용한다. 대략 16kbps에서부터 4개의 서브-프레임 경우가 허용된다. 비트 버짓의 제한 때문에, 낮은 비트레이트에서는, 시간-영역 여기가 적응 코드북 기여만으로 이루어진다. 예를 들어, 24kbps에서 시작하는 보다 높은 비트레이트의 경우에는 간단한 고정 코드북 기여가 추가될 수 있다. 모든 경우에, 나중에 그러한 시간-영역 코딩이 유익하게 되는 최대 주파수를 결정하기 위해 시간-영역 코딩 효율이 평가될 것이다.
3) 폐쇄 루프 피치 분석
혼합형 시간-영역/주파수-영역 코딩 모드가 이용되면, 폐쇄 루프 피치 분석 및 필요한 경우 그에 뒤이은 고정된 대수 코드북 탐색이 실행된다. 이를 위해, CELP 인코더(100)(도 1)는 시간 영역 여기 기여의 계산기(105)(도 1 및 도 2)를 포함한다. 이 계산기는 폐쇄 루프 피치 분석을 실행하기 위해, 계산기(210)에서의 서브-프레임 길이(또는 소정 프레임내의 서브-프레임의 개수) 결정 및 개방 루프 피치 분석기(203)에서 실행되는 개방 루프 피치 분석에 응답하는 분석기(211)(도 2)를 포함한다. 폐쇄 루프 피치 분석은 당업자에게 잘 알려져 있으며, 예시적인 구현은 예를 들어 참고 문헌 [ITU-T G.718 권고; 섹션 6.8.4.1.41]에 설명되어 있으며, 그 참고 문헌은 본 명세서에서 참조로서 인용된다. 폐쇄 루프 피치 분석의 결과는 주로 피치 래그(적응 코드북 인덱스 T) 및 피치 이득(또는 적응 코드북 이득 b)으로 구성되는 적응 코드북 파라메타로서 알려진 피치 파라메타를 계산하는 것이다. 적응 코드북 기여는 통상적으로 지연 T에서의 과거 여기(past excitation) 또는 그의 간삽 버전(interpolated version)이다. 적응 코드북 인덱스 T는 인코딩되어 원거리 디코더(distant decoder)에 전달된다. 또한, 피치 이득 b는 양자화되어 원거리 디코더에 전달된다.
폐쇄 루프 피치 분석이 완료되면, CELP 인코더(100)는 통상적으로 고정된 코드북 인덱스 및 고정된 코드북 이득을 포함하는 최선의 고정된 코드북 파라메타를 발견하도록 탐색된 고정된 코드북(212)을 포함한다. 고정된 코드북 인덱스와 이득은 고정된 코드북 기여를 형성한다. 고정된 코드북 인덱스는 인코딩되어 원거리 디코더로 전달된다. 고정된 코드북 이득은 양자화되어 원거리 디코더에 전달된다. 고정된 대수 코드북 및 그의 탐색은 CELP 코딩 분야의 당업자에게 잘 알려진 것으로, 본 명세서에서는 더 이상 설명하지 않겠다.
적응 코드북 인덱스 및 이득과, 고정된 코드북 인덱스 및 이득은 시간-영역 CELP 여기 기여를 형성한다.
4) 관심 신호의 주파수 변환
혼합형 시간-영역/주파수-영역 코딩 모드의 주파수-영역 코딩 동안에, 예를 들어 주파수-영역과 같은 변환 영역에 2개의 신호가 표현될 필요가 있다. 일 실시 예에 있어서, 시간-주파수 변환은 12.8kHz의 내부 샘플링 주파수를 가진 25Hz의 분해능을 제공하는 256 포인트 유형 Ⅱ(또는 유형 Ⅳ) DCT(Discrete Cosine Transform)를 이용하여 달성될 수 있지만, 임의의 다른 변환도 이용될 수 있다. 다른 변환이 이용되는 경우, (상기에서 정의된) 주파수 분해능, 주파수 대역들의 개수 및 대역당 주파수 빈들의 개수가 그에 따라 정정될 필요가 있다.
이와 관련하여, CELP 인코더(100)는 분석기(201)에 의한 입력 사운드 신호의 LP 분석으로부터 결과하는 입력 LP 잔차
Figure 112013045433119-pct00030
에 응답하는 주파수-영역 여기 기여의 계산기(107)(도 1)를 포함한다. 도 2에 도시된 바와 같이, 계산기(107)는, 예를 들어 입력 LP 잔차
Figure 112013045433119-pct00031
의 유형 Ⅱ DCT와 같은, DCT(213)를 계산할 수 있다. CELP 인코더(100)는 시간-영역 여기 기여의 주파수 변환의 계산기(106)(도 1)를 포함한다. 도 2에 도시된 바와 같이, 계산기(106)는, 예를 들어, 시간-영역 여기 기여의 유형 Ⅱ DCT와 같은, DCT(213)를 계산할 수 있다. 입력 잔차
Figure 112013045433119-pct00032
와 주파수-영역 CELP 여기 기여
Figure 112013045433119-pct00033
의 주파수 변환은, 이하의 수학식을 이용하여 계산될 수 있다.
Figure 112013045433119-pct00034
Figure 112013045433119-pct00035
상기 수학식에서,
Figure 112013045433119-pct00036
은 입력 LP 잔차이고,
Figure 112013045433119-pct00037
는 시간-영역 여기 기여이며, N은 프레임 길이이다. 가능한 구현에 있어서, 프레임 길이는 12.8kHz의 대응하는 내부 샘플링 주파수에 대해 256 샘플들이다. 시간-영역 여기 기여는 이하의 관계식에 의해 주어진다.
Figure 112013045433119-pct00038
여기에서,
Figure 112013045433119-pct00039
은 적응 코드북 기여이고, b는 적응 코드북 이득이며, c(n)은 고정 코드북 기여이고, g는 고정 코드북 이득이다. 시간-영역 여기 기여는 상술한 바와 같이 단지 적응 코드북 기여만으로 이루어짐을 알아야 한다.
5) 시간-영역 기여의 컷- 오프 주파수
일반 오디오 샘플의 경우, 시간-영역 여기 기여(적응 및/또는 고정 대수 코드북의 조합)가 주파수-영역 코딩에 비해 코딩 개선에 항상 훨씬 더 기여하는 것은 아니다. 그것이 스펙트럼의 낮은 부분의 코딩을 개선하는데 반해, 스펙트럼의 높은 부분의 코딩 개선은 최소로 되는 경우도 있다. CELP 인코더(100)는, 시간-영역 여기 기여에 의해 제공된 코딩 개선이 유익하게 되기에는 너무 낮은 주파수인 컷-오프 주파수의 탐지기(finder) 및 필터(108)를 포함한다. 탐지기 및 필터(108)는 도 2의 컷-오프 주파수의 계산기(215) 및 필터(216)를 포함한다. 시간-영역 여기 기여의 컷-오프 주파수는 우선, 각 주파수 대역 마다의, 상기 섹션 4에서 정의된
Figure 112013045433119-pct00040
Figure 112013045433119-pct00041
로 각각 표시된, 계산기(107)로부터의 주파수 변환된 입력 IP 잔차와 계산기(106)로부터의 주파수 변환된 시간-영역 여기 기여간의 정규 상호 상관의 컴퓨터(303)(도 3 및 도 4)를 이용하는 계산기(215)(도 2)에 의해 추정된다. 예를 들어 16 주파수 대역들의 각각에 포함된 최종 주파수
Figure 112013045433119-pct00042
는 다음과 같이 Hz 단위로 정의된다.
Figure 112013045433119-pct00043
이러한 예시적인 예의 경우, 대역당 주파수 빈의 개수
Figure 112013045433119-pct00044
, 대역당 누적 주파수 빈
Figure 112013045433119-pct00045
, 및 주파수 대역당 정규 상호 상관
Figure 112013045433119-pct00046
은 12.8kHz 샘플링 주파수에서의 20ms 프레임에 대해, 아래와 같이 정의된다.
Figure 112013045433119-pct00047
여기에서,
Figure 112013045433119-pct00048
는 대역당 주파수 빈의 개수이고,
Figure 112013045433119-pct00049
는 대역당 누적 주파수 빈이고,
Figure 112013045433119-pct00050
는 주파수 대역당 정규 상호 상관이고,
Figure 112013045433119-pct00051
는 대역에 대한 여기 에너지이고,
Figure 112013045433119-pct00052
는 대역당 잔여 에너지이다.
컷-오프 주파수의 계산기(215)는 서로 다른 주파수 대역들에 걸쳐서의 상호 상관 벡터를 스무드화하기 위한 일부 동작을 실행하는, 주파수 대역들에 걸쳐서의 상호 상관의 스무드화기(304)를 포함한다. 보다 구체적으로, 대역들 간의 상호 상관의 스무드화기(304)는 이하의 관계식을 이용하여 새로운 상호 상관 벡터
Figure 112013045433119-pct00053
를 계산한다.
Figure 112013045433119-pct00054
여기에서,
Figure 112013045433119-pct00055
이다.
컷-오프 주파수의 계산기(215)는 제 1
Figure 112013045433119-pct00056
대역들에 걸쳐서의 새로운 상호 상관 벡터
Figure 112013045433119-pct00057
의 평균의 계산기(305)(도 3 및 4)를 추가로 포함한다.
컷-오프 주파수의 계산기(215)는, 또한, 상호 상관의 제한기(406)(도 4)와 상호 상관의 정규화기(407) 및 상호 상관이 가장 낮은 주파수 대역의 탐지기(408)을 포함하는 컷-오프 주파수 모듈(306)(도 3)을 구비한다. 보다 구체적으로, 제한기(406)는 상호 상관 벡터의 평균을 0.5의 최소값으로 제한하며, 정규화기(408)는 0과 1 사이에서 상호 상관 벡터의 제한된 평균을 정규화한다. 탐지기(408)는 입력 사운드 신호의 스펙트럼의 폭 F/2에 의해 승산된 상호 상관 벡터
Figure 112013045433119-pct00058
의 정규화 평균
Figure 112013045433119-pct00059
과, 주파수 대역
Figure 112013045433119-pct00060
의 최종 주파수간의 차이를 최소화하는 주파수 대역
Figure 112013045433119-pct00061
의 최종 주파수를 탐지함에 의해 컷-오프 주파수의 제 1 추정치를 획득한다.
Figure 112013045433119-pct00062
여기에서,
Figure 112013045433119-pct00063
이다
Figure 112013045433119-pct00064
는 컷-오프 주파수의 제 1 추정치이다.
예시적인 구현에 있어서, 정규화 평균
Figure 112013045433119-pct00065
이 결코 높지 않은 낮은 비트 레이트에서, 또는 시간-영역 기여에 약간 많은 가중을 제공하도록
Figure 112013045433119-pct00066
의 값을 인위적으로 증가시키기 위해 고정된 스케일링 요소로
Figure 112013045433119-pct00067
의 값을 업스케일(upscale)할 수 있는 낮은 비트레이트에서, 예를 들어, 8kbps 미만의 낮은 비트 레이트에서,
Figure 112013045433119-pct00068
는 항상 2에 의해 승산된다.
컷-오프 주파수의 정밀도는 그 계산에 이하의 성분을 추가함에 의해 증가될 수 있다. 이를 위해, 컷-오프 주파수의 계산기(215)는, 모든 서브-프레임의 시간-영역 여기 기여의 최소 또는 가장 낮은 피치 래그값으로부터 계산된 8번째 고조파의 추정기(extrapolator)(410, 도 4)를 포함하며, 그 주정기(410)는 이하의 관계식을 이용한다.
Figure 112013045433119-pct00069
여기에서, Fs는 12800Hz이고, Nsub는 서브-프레임의 개수이며, T(i)는 서브-프레임 i에 대한 적응 코드북 인덱스 또는 피치 래그이다.
또한, 컷-오프 주파수의 계산기(215)는 8번째 고조파
Figure 112013045433119-pct00070
가 배치된 주파수 대역의 탐지기(409)(도 4)를 포함한다. 보다 구체적으로, 모든
Figure 112013045433119-pct00071
에 대해, 탐지기(409)는 이하의 부등식이 검증되는 가장 높은 주파수 대역을 탐색한다.
Figure 112013045433119-pct00072
그 대역의 인덱스를
Figure 112013045433119-pct00073
라 할 것이며, 그것은, 8번째 고조파가 배치될 가능성이 높은 대역을 나타낸다.
마지막으로, 컷-오프 주파수의 계산기(215)는 최종 컷-오프 주파수
Figure 112013045433119-pct00074
의 선택기(411)(도 4)를 포함한다. 보다 구체적으로, 선택기(411)는, 이하의 관계식을 이용하여, 탐지기(408)로부터의 컷-오프 주파수의 제 1 추정치
Figure 112013045433119-pct00075
와 8번째 고조파가 배치되는 주파수 대역의 마지막 주파수
Figure 112013045433119-pct00076
중 보다 높은 주파수를 간직한다.
Figure 112013045433119-pct00077
도 3 및 4에 도시된 바와 같이,
- 컷-오프 주파수의 계산기(215)는 제로로 될 주파수 빈들의 개수에 대한 결정기(307)를 구비하며, 그 결정기(307)는 파라메타들의 분석기(415)(도 4)와 제로로 될 주파수 빈들의 선택기(416)(도 4)를 포함하고;
- 주파수-영역에서 동작하는 필터(216)(도 2)는 제로로 되도록 결정된 주파수 빈들의 제로화기(308)(도 3)를 포함한다. 제로화기는 모든 주파수를 제로로 하거나(도 4의 제로화기(417)), 스무드 천이 영역이 보충된 컷-오프 주파수
Figure 112013045433119-pct00078
보다 위에 배치된 보다 높은 주파수 빈들의 단지 일부만을 제로로 할 수 있다(도 4의 필터(418)). 천이 영역은 컷-오프 주파수
Figure 112013045433119-pct00079
보다 위 및 제로로 된 빈들의 아래에 배치되며, 그것은 보다 높은 주파수에서 제로로 된 빈들과
Figure 112013045433119-pct00080
아래의 변경되지 않은 스펙트럼간의 스무드한 스펙트럼 천이를 허용한다.
예시에 있어서, 선택기(411)로부터의 컷-오프 주파수
Figure 112013045433119-pct00081
가 775Hz 이하이면, 분석기(415)는 시간-영역 여기 기여의 코스트(cost)가 너무 높다고 간주한다. 선택기(416)는 제로로 될 시간-영역 여기 기여의 주파수 표현의 모든 주파수 빈들을 선택하고, 제로화기(417)는 모든 주파수 빈들을 제로로 만들고, 컷-오프 주파수
Figure 112013045433119-pct00082
가 제로로 되도록 한다. 그 다음, 시간-영역 여기 기여에 할당된 모든 비트들은 주파수-영역 코딩 모드에 재할당된다. 그렇지 않으면, 분석기(415)는 선택기(416)가 제로화기(418)에 의해 제로로 되는 컷-오프 주파수
Figure 112013045433119-pct00083
보다 높은 주파수 빈들을 선택하게 한다.
최종적으로, 컷-오프 주파수의 계산기(215)는 컷-오프 주파수
Figure 112013045433119-pct00084
를 이 컷-오프 주파수의 양자화 버전
Figure 112013045433119-pct00085
으로 양자화하는 양자화기(309)(도 3 및 4)를 포함한다. 컷-오프 주파수 파라메타에 3개의 비트들이 할당되면, 가능한 출력값 세트는 다음과 같이 (Hz 단위) 정의될 수 있다.
Figure 112013045433119-pct00086
양자화 버전
Figure 112013045433119-pct00087
이 부적절한 신호 세그먼트에서 0과 1175 사이에서 절환하는 것을 방지하기 위해, 많은 메카니즘이 이용되어 최종 컷-오프 주파수
Figure 112013045433119-pct00088
의 선택을 안정화시켰다. 이를 달성하기 위해, 본 예시적인 구현에 있어서, 분석기(415)는 폐쇄 루프 피치 분석기(211)(도 2)로 부터의 장기(long-term) 평균 피치 이득
Figure 112013045433119-pct00089
(412), 개방 루프 피치 분석기(203)로부터의 개방 루프 상관
Figure 112013045433119-pct00090
(413) 및 스무드화된 개방 루프 상관
Figure 112013045433119-pct00091
에 응답한다. 완전한 주파수 코딩으로의 절환을 방지하기 위해, 이하의 조건이 충족되면, 분석기(415)는 주파수 전용 코딩을 허용하지 않는다, 즉,
Figure 112013045433119-pct00092
는 0으로 설정되지 않는다.
Figure 112013045433119-pct00093
이거나,
Figure 112013045433119-pct00094
,
Figure 112013045433119-pct00095
Figure 112013045433119-pct00096
이거나,
Figure 112013045433119-pct00097
,
Figure 112013045433119-pct00098
Figure 112013045433119-pct00099
이거나,
Figure 112013045433119-pct00100
,
Figure 112013045433119-pct00101
,
Figure 112013045433119-pct00102
Figure 112013045433119-pct00103
이다.
Figure 112013045433119-pct00104
는 개방 루프 피치 상관(413)이고,
Figure 112013045433119-pct00105
Figure 112013045433119-pct00106
로서 정의된 개방 루프 피치 상관(414)의 스무드화된 버전에 대응한다. 또한,
Figure 112013045433119-pct00107
(도 4의 아이템 412)는 시간-영역 여기 기여내의 폐쇄 루프 피치 분석기(211)에 의해 획득한 피치의 장기 평균에 대응한다. 피치 이득의 장기 평균(412)은
Figure 112013045433119-pct00108
로 정의되며,
Figure 112013045433119-pct00109
은 현재 프레임에 걸쳐서의 평균 피치 이득이다. 주파수 전용 코딩과 혼합형 시간-영역/주파수-영역 코딩간의 절환 레이트를 추가로 감소시키기 위해, 행오버(hangover)가 추가될 수 있다.
6) 주파수-영역 인코딩
차이 벡터의 생성
시간-영역 여기 기여의 컷-오프 주파수가 정의되면, 주파수-영역 코딩이 실행된다. CELP 인코더(100)는, 제로에서부터 시간-영역 여기 기여의 컷-오프 주파수
Figure 112013045433119-pct00110
까지, DCT(213)(도 2)로부터 입력 LP 잔차의 주파수 변환
Figure 112013045433119-pct00111
(502)(도 5 및 6)(또는 다른 주파수 표현)과, DCT(214)(도 2)로부터 시간-영역 여기 기여의 주파수 변환
Figure 112013045433119-pct00112
(501)(도 5 및 6)(또는 다른 주파수 표현)간의 차이를 가진 차이 벡터
Figure 112013045433119-pct00113
의 제 1 부분을 형성하기 위해, 감산기 또는 계산기(109)(도 1, 2, 5 및 6)를 포함한다. 본 예시에 있어서, 주파수 변환
Figure 112013045433119-pct00114
의 각 스펙트럼 부분의 그의 감산 전에,
Figure 112013045433119-pct00115
의 다음 천이 영역(본 예시적인 구현에서는 80개의 주파수 빈)에 대한 주파수 변환
Figure 112013045433119-pct00116
(501)에 다운스케일 계수(603)(도 6)가 적용된다. 감산 결과는 컷-오프 주파수
Figure 112013045433119-pct00117
에서
Figure 112013045433119-pct00118
까지의 주파수 범위를 나타내는 차이 벡터
Figure 112013045433119-pct00119
의 제 2 부분을 구축한다. 입력 LP 잔차의 주파수 변환
Figure 112013045433119-pct00120
(502)은 벡터
Figure 112013045433119-pct00121
의 나머지 제 3 부분을 위해 이용된다. 다운스케일 계수(603)의 적용으로부터 결과하는 벡터
Figure 112013045433119-pct00122
의 다운스케일된 부분은 임의 유형의 페이드 아웃 기능(fade out function)과 함께 수행될 수 있으며, 그것은 단지 극소수의 주파수 빈들에 대해서만 짧아질 수 있다. 그러나 컷-오프 주파수
Figure 112013045433119-pct00123
가 변경중일 경우에는, 이용 가능한 비트 버짓이 에너지 발진 아티팩트를 방지하기에 충분하다고 판정되면, 그것은 생략될 수 있다. 예를 들어, 12.8kHz에서의 256 포인트 DCT에 있어서 1 주파수 빈
Figure 112013045433119-pct00124
에 대응하는 25Hz의 분해능의 경우, 차이 벡터는 다음과 같이 구축될 수 있다.
Figure 112013045433119-pct00125
Figure 112013045433119-pct00126
Figure 112013045433119-pct00127
는 이전 섹션 4 및 5에 정의되어 있다.
주파수 펄스의 탐색
CELP 인코더(100)는 차이 벡터
Figure 112013045433119-pct00128
의 주파수 양자화기(110)(도 1 및 2)를 포함한다. 차이 벡터
Figure 112013045433119-pct00129
는 여러 방법을 사용하여 양자화될 수 있다. 모든 경우에, 주파수 펄스가 탐색되고 양자화되어야 한다. 한가지 가능한 단순한 방법에 있어서, 주파수-영역 코딩은 스펙트럼에 걸쳐서 차이 벡터
Figure 112013045433119-pct00130
의 가장 높은 에너지 펄스를 탐색한다. 펄스를 탐색하기 위한 방법은 스펙트럼을 주파수 대역들로 분할하고 주파수 대역당 특정 개수의 펄스를 허용하는 것과 같이 아주 간단한 것일 수 있다. 주파수 대역당 펄스의 개수는 이용 가능한 비트 버짓 및 스펙트럼내의 주파수 대역의 위치에 좌우된다. 전형적으로, 보다 많은 펄스가 낮은 주파수에 할당된다.
양자화 차이 벡터
이용 가능한 비트 레이트에 의거하여, 주파수 펄스의 양자화가 다른 기술을 이용하여 실행될 수 있다. 일 실시 예에 있어서, 12kbps 이하의 비트레이트에서, 펄스의 위치 및 부호를 코딩하기 위해 간단한 탐색 및 양자화 기법이 이용될 수 있다. 이러한 기법은 이하에서 설명될 것이다.
예를 들어, 3175Hz 이하의 주파수의 경우, 이러한 간단한 탐색 및 양자화 기법은, 예를 들어, 참고 문헌 [Mittal, U., Ashley, J.P., and Cruz-Zeno, E.M. (2007), "Low Complexity Factorial Pulse Coding of MDCT Coefficients using Approximation of Combinatorial Functions", IEEE Proceeding on Acoustic, Speech and Signals Processing, Vol. 1, April, pp.289-292]에 설명된 FPC(Factorial Pulse Coding)에 기초한 방식을 이용하며, 그 참고 문헌의 모든 콘텐츠는 본 명세서에서 참고로서 인용된다.
보다 구체적으로, 선택기(504)(도 5 및 6)는, 모든 스펙트럼이 FPC를 이용하여 양자화되는 것은 아니라고 판정한다. 도 5에 도시된 바와 같이, FPC 인코딩과, 펄스 위치 및 부호 코딩은 코더(506)에서 실행된다. 도 6에 도시된 바와 같이, 코더(506)는 주파수 펄스의 탐색기(609)를 포함한다. 모든 주파수 대역에 걸쳐 3175Hz 이하의 주파수에 대한 탐색이 실행된다. FPC 코더(610)는 주파수 펄스들을 처리한다. 코더(506)는 3175Hz 이상의 주파수에 대한 가장 높은 에너지의 펄스의 탐지기(611)와 탐지된 가장 높은 에너지의 펄스의 위치 및 부호의 양자화기(612)를 포함한다. 둘 이상의 펄스가 소정 주파수 대역내에 허용되면, 이전에 탐지된 펄스의 크기는 2에 의해 제산되고, 전체 주파수 대역에 걸쳐 탐색이 다시 실행된다. 펄스가 탐지될 때마다, 양자화 및 비트 패킹 단계(bit packing stage)를 위해 그의 위치 및 부호가 저장된다. 이하의 의사 코드는 이러한 간단한 탐색 및 양자화 기법을 나타낸다.
Figure 112013045433119-pct00131
여기에서,
Figure 112013045433119-pct00132
는 주파수 대역의 개수(예시적으로
Figure 112013045433119-pct00133
= 16)이고,
Figure 112013045433119-pct00134
는 주파수 대역 k에서 코딩될 펄스의 개수이며,
Figure 112013045433119-pct00135
는 주파수 대역당 주파수 빈들의 개수이고,
Figure 112013045433119-pct00136
는 섹션 5에서 이전에 정의된 대역당 누적 주파수 빈이고,
Figure 112013045433119-pct00137
는 탐지된 펄스 위치를 포함하는 벡터를 나타내고,
Figure 112013045433119-pct00138
는 탐지된 펄스의 부호를 포함하는 벡터를 나타내며,
Figure 112013045433119-pct00139
는 탐지된 펄스의 에너지를 나타낸다.
12kbps 보다 높은 비트 레이트에서, 선택기(504)는 모든 스펙트럼이 FPC를 이용하여 양자화될 것으로 판정한다. 도 5에 도시된 바와 같이, FPC 인코딩은 코더(505)에서 실행된다. 도 6에 도시된 바와 같이, 코더(505)는 주파수 펄스의 탐색기(607)를 포함한다. 그 탐색은 전체 주파수 대역에 걸쳐 실행된다. FPC 프로세서(610)는 탐지된 주파수 펄스를 FPC 코딩한다.
그 다음, 탐지된 위치
Figure 112013045433119-pct00140
의 각각에 펄스 부호
Figure 112013045433119-pct00141
를 가진 펄스들의 개수
Figure 112013045433119-pct00142
를 가산함에 의해 양자화 차이 벡터
Figure 112013045433119-pct00143
가 획득된다. 각 대역마다, 양자화 차이 벡터
Figure 112013045433119-pct00144
는 이하의 의사 코드에 의해 작성될 수 있다.
Figure 112013045433119-pct00145
노이즈 충진
모든 주파수 대역은 보다 정밀하게 또는 보다 덜 정밀하게 양자화된다. 즉, 이전 섹션에서 설명한 양자화 방법이, 주파수 대역내의 모든 주파수 빈들이 양자화되는 것을 보장하는 것은 아니다. 이것은, 주파수 대역당 양자화된 펄스의 개수가 비교적 낮은, 낮은 비트레이트에서의 경우에 특히 그러하다. 이러한 양자화되지 않은 빈들로 인한 오디오 아티팩트의 발현(apparition)을 방지하기 위해, 노이즈 필터(507)는 약간의 노이즈를 첨가하여 이러한 갭을 충진한다. 이러한 노이즈 첨가는, 예를 들어, 12kbps 미만의 비트레이트에서는 모든 스펙트럼에 걸쳐 실행되지만, 보다 높은 비트 레이트의 경우에는 단지 시간-영역 여기 기여의 컷-오프 주파수
Figure 112013045433119-pct00146
위에서 적용될 수 있다. 높은 비트 레이트에서는 노이즈 레벨이 낮지만, 낮은 비트 레이트에서는 노이즈 레벨이 높다.
노이즈 충진기(504)는, 첨가된 노이즈의 세기 및 에너지 레벨이 추정기(614)에서 판정된 후 및 대역당 이득이 컴퓨터(615)에서 판정되기 전에, 양자화 차이 벡터
Figure 112013045433119-pct00147
에 노이즈를 첨가하는 가산기(613)(도 6)를 포함한다. 예시적인 실시 예에 있어서, 노이즈 레벨은 인코딩된 비트 레이트와 직접 연관된다. 예를 들어, 6.60kbps에서, 노이즈 레벨
Figure 112013045433119-pct00148
은 특정 대역에서 코딩된 스펙트럼 펄스 크기의 0.4배이고, 24kbps에서 소정 대역에서 코딩된 스펙트럼 펄스 크기의 0.2배의 값으로 점진적으로 줄어든다. 예를 들어, 연속하는 매우 낮은 에너지 빈의 개수
Figure 112013045433119-pct00149
가 그 주파수 대역내에 포함된 빈의 개수의 절반일 때에는, 특정 개수의 연속하는 주파수 빈들이 매우 낮은 에너지를 갖는 스펙트럼 섹션에만 노이즈가 첨가된다. 특정 대역 i에 대하여, 노이즈는 다음과 같이 주입된다.
Figure 112013045433119-pct00150
여기에서, 대역 i에 대해,
Figure 112013045433119-pct00151
는 대역당 빈의 누적 개수이고,
Figure 112013045433119-pct00152
는 특정 대역 i내의 빈의 개수이고,
Figure 112013045433119-pct00153
는 노이즈 레벨이고,
Figure 112013045433119-pct00154
는 -1 과 1 사이로 제한되는 난수 발생기(random number generator)이다.
7) 대역당 이득 양자화
주파수 양자화기(110)는 대역당 이득의 계산기(615)(도 6) 및 계산된 대역당 이득의 양자화기(616)(도 6)를 포함하는 대역당 이득 계산기/양자화기(508)(도 5)를 포함한다. 필요한 경우에 노이즈 충진을 포함하는 양자화 차이 벡터
Figure 112013045433119-pct00155
가 탐지되면, 계산기(615)는 각 주파수 대역에 대한 대역당 이득을 계산한다. 특정 대역
Figure 112013045433119-pct00156
에 대한 대역당 이득은, 아래와 같이, 로그 영역(log domain)에서 양자화 차이 벡터
Figure 112013045433119-pct00157
의 에너지와, 양자화되지 않은 차이 벡터
Figure 112013045433119-pct00158
의 에너지간의 비율로서 정의된다.
Figure 112013045433119-pct00159
여기에서,
Figure 112013045433119-pct00160
Figure 112013045433119-pct00161
는 섹션 5에 정의되어 있다.
도 5 및 도 6의 실시 예에 있어서, 대역당 이득 양자화기(616)는 대역당 주파수 이득을 벡터 양자화한다. 벡터 양자화전에, 낮은 비트레이트에서, (최종 주파수 대역에 대응하는) 최종 이득은 개별적으로 양자화되며, 15개의 모든 잔여 이득은 양자화된 최종 이득에 의해 제산된다. 그 다음, 15개의 정규화된 잔여 이득은 벡터 양자화된다. 높은 레이트에서, 대역당 이득의 평균은 우선적으로 양자화되고, 이들 대역당 이득의 벡터 양자화 전에, 예를 들어, 16개의 주파수 대역의 모든 대역당 이득으로부터 제거된다. 이용되는 벡터 양자화는 대역당 이득을 포함하는 벡터와 특정 코드북의 엔트리(entry)들 간의 거리의 로그 영역에서의 표준 최소화(standard minimization)일 수 있다.
주파수-영역 코딩 모드에 있어서, 양자화 벡터
Figure 112013045433119-pct00162
에 양자화되지 않은 벡터
Figure 112013045433119-pct00163
의 에너지를 매칭시키기 위해 각 주파수 대역에 대하여 계산기(615)에서 이득을 계산한다. 그 이득은 양자화기(616)에서 벡터 양자화되고, 승산기(509)(도 5 및 6)를 통해 대역마다 양자화 벡터
Figure 112013045433119-pct00164
에 적용된다.
대안적으로, 양자화될 일부 주파수 대역만을 선택함에 의해, 12kbps 미만의 레이트에서 전체 스펙트럼에 FPC 코딩 기법을 이용할 수 있다. 주파수 대역의 선택을 실행하기 전에, 양자화되지 않은 차이 벡터
Figure 112013045433119-pct00165
의 주파수 대역의 에너지
Figure 112013045433119-pct00166
가 양자화된다. 에너지는 다음과 같이 계산된다.
Figure 112013045433119-pct00167
여기에서,
Figure 112013045433119-pct00168
Figure 112013045433119-pct00169
는 섹션 5에 정의되어 있다.
주파수-대역 에너지
Figure 112013045433119-pct00170
의 양자화를 실행하기 위해, 먼저, 이용된 16개의 대역 중 처음 12개 대역에 대한 평균 에너지가 양자화되고, 16개의 대역 에너지 모두로부터 감산된다. 그 다음, 모든 양자화 대역은 3 또는 4 대역 그룹마다 벡터 양자화된다. 이용되는 벡터 양자화는 특정 코드북의 엔트리들과 대역당 이득을 포함하는 벡터들 간의 거리의 로그 영역에서의 표준 최소화일 수 있다. 충분한 비트를 이용할 수 없으면, 처음 12 대역을 양자화하고 이전의 3개 대역의 평균 또는 다른 방법을 이용하여 마지막 4개 대역을 추정하는 것만이 가능하다.
양자화되지 않은 차이 벡터의 주파수 대역의 에너지가 양자화되면, 디코더 측에서 복제 가능한 방식 및 감소 순서(decreasing order)로 에너지를 소팅(sorting)하는 것이 가능하게 된다. 소팅 동안에, 2kHz 미만의 에너지 대역 모두는 항상 유지되고 단지 가장 높은 에너지의 대역만이 펄스 크기 및 부호의 코딩을 위해 FPC로 통과될 것이다. 이러한 방식으로, FPC 기법은 보다 넓은 주파수-영역을 커버하는 보다 작은 벡터를 코딩한다. 다시 말해, 전체 스펙트럼에 걸쳐 중요한 에너지 이벤트를 커버하기 위해 보다 소수의 비트들을 취득한다.
펄스 양자화 프로세스 이후, 상술했던 것과 유사한 노이즈 충진이 요구된다. 그 다음, 양자화되지 않은 차이 벡터
Figure 112013045433119-pct00171
의 양자화된 에너지
Figure 112013045433119-pct00172
와 양자화 차이 벡터
Figure 112013045433119-pct00173
의 에너지
Figure 112013045433119-pct00174
를 매칭시키기 위해 주파수 대역마다 이득 조정 계수
Figure 112013045433119-pct00175
가 계산된다. 그 다음, 이러한 대역당 이득 조정 계수는 양자화 차이 벡터
Figure 112013045433119-pct00176
에 적용된다.
Figure 112013045433119-pct00177
Figure 112013045433119-pct00178
는 전술한 바와 같이 양자화되지 않은 차이 벡터
Figure 112013045433119-pct00179
의 대역당 양자화 에너지이다.
주파수-영역 코딩 단계의 완료 후, 가산기(111)(도 1, 2, 5 및 6)를 통해 주파수 양자화 차이 벡터
Figure 112013045433119-pct00180
와, 필터링되고 주파수 변환된 시간-영역 여기 기여
Figure 112013045433119-pct00181
를 합산함에 의해 전체 시간-영역/주파수-영역 여기가 탐지된다. 개량형 CELP 인코더(100)가 그의 비트 할당을 시간-영역 전용 코딩 모드에서 혼합형 시간/영역/주파수-영역 코딩 모드로 변경하면, 시간-영역 전용 코딩 모드의 주파수 대역당 여기 스펙트럼 에너지는 혼합형 시간-영역/주파수-영역 코딩 모드의 주파수 대역당 여기 스펙트럼 에너지와 매칭되지 않는다. 이러한 에너지 미스매칭은 낮은 비트 레이트에서 보다 잘 들리는 절환 아티팩트(switching artifact)를 생성할 수 있다. 이러한 비트 재할당에 의해 생성된 임의 가청 열화를 줄이기 위해, 각 대역마다 장기 이득이 계산될 수 있고, 합산된 여기에 적용될 수 있으며, 그에 따라 재할당 이후 소수의 프레임에 대해 각 주파수 대역의 에너지를 정정할 수 있게 된다. 그 다음, 주파수 양자화 차이 벡터
Figure 112013045433119-pct00182
와, 주파수 변환되고 필터링된 시간-영역 여기 기여
Figure 112013045433119-pct00183
의 합산이, 예를 들어 IDCT(역 DCT)(220)를 포함하는 컨버터(112)(도 1, 5 및 6)에서 시간-영역으로 변환된다.
마지막으로, LP 합성 필터(113)(도 1 및 2)를 통해 IDCT(220)로부터의 전체 여기 신호를 필터링함에 의해 합성된 신호가 계산된다. 주파수 양자화 차이 벡터
Figure 112013045433119-pct00184
와 주파수 변환되고 필터링된 시간-영역 여기 기여
Figure 112013045433119-pct00185
의 합산은 원거리 디코더(도시되지 않음)에 전달된 혼합형 시간-영역/주파수-영역 여기를 형성한다. 원거리 디코더는, 또한, 예를 들어, IDCT(역 DCT)(220)를 이용하여 혼합형 시간-영역/주파수-영역 여기를 시간-영역으로 다시 변환하기 위한 컨버터(112)를 포함할 수 있다. 마지막으로, 합성 신호는 LP 합성 필터(113)(도 1 및 2)를 통해 IDCT(220)로부터의 전체 여기 신호, 즉, 혼합형 시간-영역/주파수-영역 여기를 필터링함에 의해 디코더에서 계산된다.
일 실시 예에 있어서, 단지 시간-영역 여기 기여만을 이용하고 서브-프레임에 기반하여 CELP 코딩 메모리들이 갱신되지만, 프레임 경계에서 이들 메모리들을 갱신하기 위해서는 전체 여기가 이용된다. 다른 가능한 구현에 있어서, CELP 코딩 메모리들은 서브-프레임에 기반하여 갱신되며, 또한 시간-영역 여기 기여만을 이용하여 프레임 경계에서 갱신된다. 이에 따라, 주파수-영역 양자화 신호가 코어 CELP 층과 무관한 상부 양자화층을 구축하는 내장형 구조가 형성된다. 이것은 특정 애플리케이션에 장점을 나타낸다. 이러한 특정의 경우에 있어서, 고정 코드북은 양호한 인지 가능한 품질을 유지하는데 항상 이용되며, 동일한 이유 때문에 서브-프레임의 개수는 항상 4개이다. 그러나, 주파수-영역 분석은 전체 프레임에 적용할 수 있다. 이러한 내장형 방식은 대략 12kbps 이상의 비트 레이트에 대해 작업한다.
상술한 개시는 비 제한적 및 예시적 실시 예와 관련된 것이며, 이들 실시 예는 첨부된 특허청구범위의 범주 이내에서
적응 코드북 콘텐츠를 갱신한 마음대로 수정될 수 있다.
101: 입력 신호
102: 프리-프로세서(입력 신호 파라메타 분석)
103: 시간/시간-주파수 코딩 선택기
104: 시간-영역 전용 코더
105: 시간-영역 기여의 계산기
106: 시간-영역 기여의 주파수 변환의 계산기
107: 주파수-영역 여기 기여의 계산기
108: 컷-오프 주파수 탐지기 및 필터
109: 필터링된 신호와 잔차의 주파수 변환간의 차이의 감산기
110: 차이 신호의 주파수 양자화기
111: 양자화된 차이 신호와 필터링된 신호의 가산기
112: 시간-영역으로의 컨버터
113: 합성 필터

Claims (60)

  1. 입력 사운드 신호를 코딩하기 위한 혼합형 시간-영역/주파수-영역 코딩 장치로서,
    입력 사운드 신호에 응답하는 시간-영역 여기 기여(time-domain excitation contribution)의 계산기;
    상기 입력 사운드 신호에 응답하는 시간-영역 여기 기여에 대한 컷-오프 주파수(cut-off frequency)의 계산기;
    상기 컷-오프 주파수에 응답하여 상기 시간-영역 여기 기여의 주파수 정도를 조정하는 필터;
    상기 입력 사운드 신호에 응답하는 주파수-영역 여기 기여의 계산기; 및
    상기 입력 사운드 신호의 코딩된 버전을 구축하는 혼합형 시간-영역/주파수-영역 여기를 형성하기 위한, 주파수 영역에서의 필터링된 시간-영역 여기 기여와 주파수-영역 여기 기여의 가산기를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  2. 제 1 항에 있어서,
    상기 시간-영역 여기 기여는,
    (a) 단지 적응 코드북 기여만을 포함하거나, 또는
    (b) 적응 코드북 기여와 고정 코드북 기여를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 시간-영역 여기 기여의 계산기는 상기 입력 사운드 신호의 CELP(Code-Excited Liner Prediction) 코딩을 이용하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    현재 프레임에 이용될 서브-프레임의 개수의 계산기를 포함하되,
    상기 시간-영역 여기 기여의 계산기는 상기 현재 프레임에 대해 상기 서브-프레임의 개수의 계산기에 의해 판정된 서브-프레임의 개수를 상기 현재 프레임에 이용하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  5. 제 4 항에 있어서,
    상기 현재 프레임에 있어서의 상기 서브-프레임의 개수의 계산기는,
    상기 입력 사운드 신호의 고주파 스펙트럼 다이나믹(high frequency spectral dynamic)과 이용 가능한 비트 버짓(bit burget) 중 적어도 하나에 응답하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 시간-영역 여기 기여의 주파수 변환의 계산기를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 주파수-영역 여기 기여의 계산기는,
    상기 입력 사운드 신호의 LP 분석으로부터 획득한 LP 잔차의 주파수 변환을 실행하여, 상기 LP 잔차의 주파수 표현을 생성하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  8. 제 7 항에 있어서,
    상기 컷-오프 주파수의 계산기는, 다수의 주파수 대역들의 각각에 대하여, 상기 LP 잔차의 주파수 표현과 상기 시간-영역 여기 기여의 주파수 표현간의 상호 상관의 컴퓨터를 포함하고,
    상기 혼합형 시간-영역/주파수-영역 코딩 장치는 상기 상호 상관에 응답하는 컷-오프 주파수의 추정치의 탐지기를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  9. 제 8 항에 있어서,
    상호 상관 벡터를 생성하기 위한, 상기 주파수 대역들에 걸쳐서의 상호 상관의 스무드화기와;
    상기 주파수 대역들에 걸쳐서의 상기 상호 상관 벡터의 평균의 계산기와;
    상기 상호 상관 벡터의 평균의 정규화기를 포함하고,
    상기 컷-오프 주파수의 추정치의 탐지기는,
    스펙트럼의 폭의 값에 의해 승산된 상기 상호 상관 벡터의 정규화 평균과 최종 주파수간의 차이를 최소화하는 상기 주파수 대역들 중 한 주파수 대역의 최종 주파수를 탐지함에 의해 상기 컷-오프 주파수의 제 1 추정치를 결정하는,
    혼합형 시간-영역/주파수-영역 코딩 장치.
  10. 제 9 항에 있어서,
    상기 컷-오프 주파수의 계산기는,
    상기 시간-영역 여기 기여로부터 계산된 고조파가 배치된 상기 주파수 대역들 중 한 주파수 대역의 탐지기와;
    상기 컷-오프 주파수를, 상기 고조파가 배치된 상기 주파수 대역들의 최종 주파수와 상기 컷-오프 주파수의 상기 제 1 추정치 중 보다 높은 주파수로서 선택하는 선택기를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  11. 제 1 항 또는 제 2 항에 있어서,
    상기 필터는,
    상기 컷-오프 주파수보다 높은 다수의 주파수 대역들의 주파수 빈들이 제로(zero)로 되도록 하는 주파수 빈들의 제로화기(zeroer)를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  12. 제 1 항 또는 제 2 항에 있어서,
    상기 필터는,
    상기 컷-오프 주파수가 주어진 값보다 작을 때, 다수의 주파수 대역들의 모든 주파수 빈들이 제로(zero)로 되도록 하는 주파수 빈들의 제로화기(zeroer)를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  13. 제 1 항 또는 제 2 항에 있어서,
    상기 주파수-영역 여기 기여의 계산기는,
    상기 시간-영역 여기 기여의 필터링된 주파수 표현과 상기 입력 사운드 신호의 LP 잔차의 주파수 표현간의 차이의 계산기를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  14. 제 7 항에 있어서,
    상기 주파수-영역 여기 기여의 계산기는,
    차이 벡터의 제 1 부분을 형성하기 위한, 최대 상기 컷-오프 주파수까지의 상기 시간-영역 여기 기여의 주파수 표현과 LP 잔차의 주파수 표현간의 차이의 계산기를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  15. 제 14 항에 있어서,
    상기 차이 벡터의 제 2 부분을 형성하기 위해, 상기 컷-오프 주파수 다음의 결정된 주파수 범위에서의 상기 시간-영역 여기 기여의 주파수 표현에 적용되는 다운스케일 계수(downscale factor)를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  16. 제 15 항에 있어서,
    상기 차이 벡터는 상기 결정된 주파수 범위보다 높은 나머지 제 3 부분에 대한 상기 LP 잔차의 주파수 표현에 의해 형성되는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  17. 제 14 항에 있어서,
    상기 차이 벡터의 양자화기를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  18. 제 17 항에 있어서,
    상기 가산기는, 상기 주파수-영역에서, 상기 양자화된 차이 벡터와 상기 필터링된 시간-영역 여기 기여의 주파수 변환된 버전을 가산하여 혼합형 시간-영역/주파수-영역 여기를 형성하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  19. 삭제
  20. 제 1 항 또는 제 2 항에 있어서,
    상기 시간-영역 여기 기여와 상기 주파수-영역 여기 기여간에 비트 버짓(bit burget)을 동적으로 할당하는 수단을 포함하는
    혼합형 시간-영역/주파수-영역 코딩 장치.
  21. 시간-영역 및 주파수-영역 모델을 이용하는 인코더로서,
    입력 사운드 신호를 음성 또는 비-음성으로 분류하는 분류기;
    시간-영역 전용 코더(time-domain only coder);
    제 1 항 또는 제 2 항의 혼합형 시간-영역/주파수-영역 코딩 장치; 및
    상기 입력 사운드 신호의 분류에 의거하여 입력 사운드 신호를 코딩하기 위한, 혼합형 시간-영역/주파수-영역 코딩 장치와 시간-영역 전용 코더 중 하나를 선택하는 선택기를 포함하는
    인코더.
  22. 제 21 항에 있어서,
    상기 시간-영역 전용 코더는 CELP(Code-Excited Linear Prediction) 코더인
    인코더.
  23. 제 21 항에 있어서,
    상기 분류기가 입력 사운드 신호를 비-음성으로 분류하고, 상기 입력 사운드 신호에서 시간축 공격(temporal attack)을 검출할 경우, 무 메모리 시간-영역 코딩 모드(memory-less time-domain coding mode)가 시간-영역 전용 코더에서 입력 사운드 신호를 코딩하게 하는 상기 무 메모리 시간-영역 코딩 모드의 선택기를 포함하는
    인코더.
  24. 제 21 항에 있어서,
    상기 혼합형 시간-영역/주파수-영역 코딩 장치는 시간-영역 기여의 계산에 가변 길이의 서브-프레임들을 이용하는
    인코더.
  25. 삭제
  26. 삭제
  27. 제 1 항 또는 제 2 항의 혼합형 시간-영역/주파수-영역 코딩 장치를 이용하여 코딩된 사운드 신호를 디코딩하기 위한 디코더로서,
    시간-영역으로의 혼합형 시간-영역/주파수-영역 여기의 컨버터(converter); 및
    시간-영역으로 전환된 상기 혼합형 시간-영역/주파수-영역 여기에 응답하여 사운드 신호를 합성하는 합성 필터를 포함하는
    디코더.
  28. 제 27 항에 있어서,
    상기 컨버터는 IDCT(Inverse Discrete Cosine Transform)를 이용하는
    디코더.
  29. 제 27 항에 있어서,
    상기 합성 필터는 LP 합성 필터인
    디코더.
  30. 삭제
  31. 입력 사운드 신호를 코딩하는 혼합형 시간-영역/주파수-영역 코딩 방법으로서,
    상기 입력 사운드 신호에 응답하여 시간-영역 여기 기여(time-domain excitation contribution)를 계산하는 단계와;
    상기 입력 사운드 신호에 응답하여 시간-영역 여기 기여에 대한 컷-오프 주파수(cut-off frequency)를 계산하는 단계와;
    상기 컷-오프 주파수에 응답하여 시간-영역 여기 기여의 주파수 정도를 조정하는 단계와;
    상기 입력 사운드 신호에 응답하여 주파수-영역 여기 기여를 계산하는 단계; 및
    상기 입력 사운드 신호의 코딩된 버전을 구축하는 혼합형 시간-영역/주파수-영역 여기를 형성하기 위해, 주파수 영역에서 상기 조정된 시간-영역 여기 기여와 주파수-영역 여기 기여를 가산하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  32. 제 31 항에 있어서,
    상기 시간-영역 여기 기여는,
    (a) 단지 적응 코드북 기여만을 포함하거나, 또는
    (b) 적응 코드북 기여와 고정 코드북 기여를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  33. 제 31 항 또는 제 32 항에 있어서,
    상기 시간-영역 여기 기여를 계산하는 단계는, 상기 입력 사운드 신호의 CELP(Code-Excited Liner Prediction) 코딩을 이용하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  34. 제 31 항 또는 제 32 항에 있어서,
    현재 프레임에 이용될 서브-프레임의 개수를 계산하는 단계를 포함하되,
    상기 시간-영역 여기 기여를 계산하는 단계는, 상기 현재 프레임에 대해 판정된 상기 서브-프레임의 개수를 상기 현재 프레임에 이용하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  35. 제 34 항에 있어서,
    상기 현재 프레임에 있어서의 상기 서브-프레임의 개수를 계산하는 단계는,
    상기 입력 사운드 신호의 고주파 스펙트럼 다이나믹(high frequency spectral dynamic)과 이용 가능한 비트 버짓(bit burget) 중 적어도 하나에 응답하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  36. 제 31 항 또는 제 32 항에 있어서,
    상기 시간-영역 여기 기여의 주파수 변환을 계산하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  37. 제 31 항 또는 제 32 항에 있어서,
    상기 주파수-영역 여기 기여를 계산하는 단계는,
    LP 잔차의 주파수 표현을 생성하기 위해, 상기 입력 사운드 신호의 LP 분석으로부터 획득한 상기 LP 잔차의 주파수 변환을 실행하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  38. 제 37 항에 있어서,
    상기 컷-오프 주파수를 계산하는 단계는, 다수의 주파수 대역들의 각각에 대하여, 상기 LP 잔차의 주파수 표현과 상기 시간-영역 여기 기여의 주파수 표현간의 상호 상관을 계산하는 단계를 포함하고,
    상기 코딩 방법은 상기 상호 상관에 응답하여 상기 컷-오프 주파수의 추정치를 탐지하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  39. 제 38 항에 있어서,
    상호 상관 벡터를 생성하기 위해, 상기 주파수 대역들에 걸쳐서 상호 상관을 스무드화하는 단계와;
    상기 주파수 대역들에 걸쳐서 상기 상호 상관 벡터의 평균을 계산하는 단계와;
    상기 상호 상관 벡터의 평균을 정규화하는 단계를 포함하고,
    상기 컷-오프 주파수의 추정치를 탐지하는 단계는,
    스펙트럼의 폭의 값에 의해 승산된 상기 상호 상관 벡터의 정규화 평균과 최종 주파수간의 차이를 최소화하는 상기 주파수 대역들 중 한 주파수 대역의 최종 주파수를 탐지함에 의해 상기 컷-오프 주파수의 제 1 추정치를 결정하는 단계를 포함하는,
    혼합형 시간-영역/주파수-영역 코딩 방법.
  40. 제 39 항에 있어서,
    상기 컷-오프 주파수를 계산하는 단계는,
    상기 시간-영역 여기 기여로부터 계산된 고조파가 배치된 상기 주파수 대역들 중 한 주파수 대역을 탐지하는 단계와;
    상기 컷-오프 주파수를, 상기 고조파가 배치된 상기 주파수 대역들의 최종 주파수와 상기 컷-오프 주파수의 상기 제 1 추정치 중 보다 높은 주파수로서 선택하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  41. 제 31 항 또는 제 32 항에 있어서,
    상기 시간-영역 여기 기여의 주파수 정도를 조정하는 단계는,
    상기 컷-오프 주파수보다 높은 다수의 주파수 대역들의 주파수 빈들이 제로(zero)로 되도록 주파수 빈들을 제로로 만드는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  42. 제 31 항 또는 제 32 항에 있어서,
    상기 시간-영역 여기의 주파수 정도를 조정하는 단계는,
    상기 컷-오프 주파수가 주어진 값보다 작을 때, 다수의 주파수 대역들의 모든 주파수 빈들이 제로(zero)로 되도록 주파수 빈들을 제로로 만드는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  43. 제 31 항 또는 제 32 항에 있어서,
    상기 주파수-영역 여기 기여를 계산하는 단계는,
    상기 시간-영역 여기 기여의 필터링된 주파수 표현과 상기 입력 사운드 신호의 LP 잔차의 주파수 표현간의 차이를 계산하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  44. 제 37 항에 있어서,
    상기 주파수-영역 여기 기여를 계산하는 단계는,
    차이 벡터의 제 1 부분을 형성하기 위해, 최대 상기 컷-오프 주파수까지의 상기 시간-영역 여기 기여의 주파수 표현과 LP 잔차의 주파수 표현간의 차이를 계산하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  45. 제 44 항에 있어서,
    상기 차이 벡터의 제 2 부분을 형성하기 위해, 상기 컷-오프 주파수 다음의 결정된 주파수 범위에서의 상기 시간-영역 여기 기여의 주파수 표현에 다운스케일 계수(downscale factor)를 적용하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  46. 제 45 항에 있어서,
    상기 결정된 주파수 범위보다 높은 나머지 제 3 부분에 대한 상기 LP 잔차의 주파수 표현을 가진 상기 차이 벡터를 형성하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  47. 제 44 항에 있어서,
    상기 차이 벡터를 양자화하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  48. 제 47 항에 있어서,
    상기 혼합형 시간-영역/주파수-영역 여기를 형성하기 위해, 상기 조정된 시간-영역 여기 기여와 주파수-영역 여기 기여를 가산하는 단계는,
    상기 주파수-영역에서, 상기 양자화된 차이 벡터와 상기 조정된 시간-영역 여기 기여의 주파수 변환된 버전을 가산하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  49. 삭제
  50. 제 31 항 또는 제 32 항에 있어서,
    상기 시간-영역 여기 기여와 상기 주파수-영역 여기 기여간에 비트 버짓(bit burget)을 동적으로 할당하는 단계를 포함하는
    혼합형 시간-영역/주파수-영역 코딩 방법.
  51. 시간-영역 및 주파수-영역 모델을 이용하는 인코딩 방법으로서,
    입력 사운드 신호를 음성 또는 비-음성으로 분류하는 단계와;
    시간-영역 전용 코딩(time-domain only coding) 방법을 제공하는 단계와;
    제 31 항 또는 제 32 항의 혼합형 시간-영역/주파수-영역 코딩 방법을 제공하는 단계; 및
    상기 입력 사운드 신호의 분류에 의거하여 입력 사운드 신호를 코딩하기 위한, 혼합형 시간-영역/주파수-영역 코딩 방법과 시간-영역 전용 코딩 방법 중 하나를 선택하는 단계를 포함하는
    인코딩 방법.
  52. 제 51 항에 있어서,
    상기 시간-영역 전용 코딩 방법은 CELP(Code-Excited Linear Prediction) 코딩 방법인
    인코딩 방법.
  53. 제 51 항에 있어서,
    상기 입력 사운드 신호가 비-음성으로 분류되고, 상기 입력 사운드 신호에서의 시간축 공격(temporal attack)이 검출될 경우, 무 메모리 시간-영역 코딩 모드(memory-less time-domain coding mode)가 시간-영역 전용 코딩 방법을 이용하여 입력 사운드 신호를 코딩하게 하는 상기 무 메모리 시간-영역 코딩 모드를 선택하는 단계를 포함하는
    인코딩 방법.
  54. 제 51 항에 있어서,
    상기 혼합형 시간-영역/주파수-영역 코딩 방법은 시간-영역 기여의 계산에 가변 길이의 서브-프레임들을 이용하는 단계를 포함하는
    인코딩 방법.
  55. 삭제
  56. 삭제
  57. 제 31 항 또는 제 32 항의 혼합형 시간-영역/주파수-영역 코딩 방법을 이용하여 코딩된 사운드 신호를 디코딩하는 방법으로서,
    시간-영역으로 혼합형 시간-영역/주파수-영역 여기를 전환(converting)하는 단계; 및
    시간-영역으로 전환된 상기 혼합형 시간-영역/주파수-영역 여기에 응답하여 합성 필터를 통해 상기 사운드 신호를 합성하는 단계를 포함하는
    디코딩 방법.
  58. 제 57 항에 있어서,
    시간-영역으로 혼합형 시간-영역/주파수-영역 여기를 전환(converting)하는 단계는 IDCT(Inverse Discrete Cosine Transform)를 이용하는 단계를 포함하는
    디코딩 방법.
  59. 제 57 항에 있어서,
    상기 합성 필터는 LP 합성 필터인
    디코딩 방법.
  60. 삭제
KR1020137013143A 2010-10-25 2011-10-24 혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법 KR101858466B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US40637910P 2010-10-25 2010-10-25
US61/406,379 2010-10-25
PCT/CA2011/001182 WO2012055016A1 (en) 2010-10-25 2011-10-24 Coding generic audio signals at low bitrates and low delay

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011402A Division KR101998609B1 (ko) 2010-10-25 2011-10-24 혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법

Publications (2)

Publication Number Publication Date
KR20130133777A KR20130133777A (ko) 2013-12-09
KR101858466B1 true KR101858466B1 (ko) 2018-06-28

Family

ID=45973717

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020137013143A KR101858466B1 (ko) 2010-10-25 2011-10-24 혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법
KR1020187011402A KR101998609B1 (ko) 2010-10-25 2011-10-24 혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187011402A KR101998609B1 (ko) 2010-10-25 2011-10-24 혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법

Country Status (16)

Country Link
US (1) US9015038B2 (ko)
EP (3) EP3239979B1 (ko)
JP (1) JP5978218B2 (ko)
KR (2) KR101858466B1 (ko)
CN (1) CN103282959B (ko)
CA (1) CA2815249C (ko)
DK (1) DK2633521T3 (ko)
ES (1) ES2693229T3 (ko)
HK (1) HK1185709A1 (ko)
MX (1) MX351750B (ko)
MY (1) MY164748A (ko)
PL (1) PL2633521T3 (ko)
PT (1) PT2633521T (ko)
RU (1) RU2596584C2 (ko)
TR (1) TR201815402T4 (ko)
WO (1) WO2012055016A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL3139696T3 (pl) 2011-06-09 2020-11-16 Panasonic Intellectual Property Corporation Of America Terminal połączeniowy i sposób łączności
US9546924B2 (en) * 2011-06-30 2017-01-17 Telefonaktiebolaget Lm Ericsson (Publ) Transform audio codec and methods for encoding and decoding a time segment of an audio signal
US9489962B2 (en) * 2012-05-11 2016-11-08 Panasonic Corporation Sound signal hybrid encoder, sound signal hybrid decoder, sound signal encoding method, and sound signal decoding method
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
WO2014096280A1 (en) 2012-12-21 2014-06-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Comfort noise addition for modeling background noise at low bit-rates
BR112015014212B1 (pt) 2012-12-21 2021-10-19 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Geração de um ruído de conforto com alta resolução espectro-temporal em transmissão descontínua de sinais de audio
JP6519877B2 (ja) * 2013-02-26 2019-05-29 聯發科技股▲ふん▼有限公司Mediatek Inc. 音声信号を発生するための方法及び装置
JP6111795B2 (ja) * 2013-03-28 2017-04-12 富士通株式会社 信号処理装置、及び信号処理方法
US10083708B2 (en) * 2013-10-11 2018-09-25 Qualcomm Incorporated Estimation of mixing factors to generate high-band excitation signal
CN104934034B (zh) * 2014-03-19 2016-11-16 华为技术有限公司 用于信号处理的方法和装置
AU2014204540B1 (en) * 2014-07-21 2015-08-20 Matthew Brown Audio Signal Processing Methods and Systems
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
US9875745B2 (en) * 2014-10-07 2018-01-23 Qualcomm Incorporated Normalization of ambient higher order ambisonic audio data
EP3699909A1 (en) 2015-09-25 2020-08-26 VoiceAge Corporation Method and system for encoding a stereo sound signal using coding parameters of a primary channel to encode a secondary channel
US10373608B2 (en) 2015-10-22 2019-08-06 Texas Instruments Incorporated Time-based frequency tuning of analog-to-information feature extraction
US10210871B2 (en) * 2016-03-18 2019-02-19 Qualcomm Incorporated Audio processing for temporally mismatched signals
CN110062945B (zh) * 2016-12-02 2023-05-23 迪拉克研究公司 音频输入信号的处理
WO2019056108A1 (en) 2017-09-20 2019-03-28 Voiceage Corporation METHOD AND DEVICE FOR EFFICIENT DISTRIBUTION OF A BINARY BUDGET IN A CELP CODEC

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9811019D0 (en) 1998-05-21 1998-07-22 Univ Surrey Speech coders
EP1158495B1 (en) * 2000-05-22 2004-04-28 Texas Instruments Incorporated Wideband speech coding system and method
KR100528327B1 (ko) * 2003-01-02 2005-11-15 삼성전자주식회사 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
CA2457988A1 (en) * 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
RU2007109803A (ru) * 2004-09-17 2008-09-27 Мацусита Электрик Индастриал Ко., Лтд. (Jp) Устройство масштабируемого кодирования, устройство масштабируемого декодирования, способ масштабируемого кодирования, способ масштабируемого декодирования, устройство коммуникационного терминала и устройство базовой станции
KR101390188B1 (ko) * 2006-06-21 2014-04-30 삼성전자주식회사 적응적 고주파수영역 부호화 및 복호화 방법 및 장치
US8010352B2 (en) * 2006-06-21 2011-08-30 Samsung Electronics Co., Ltd. Method and apparatus for adaptively encoding and decoding high frequency band
RU2319222C1 (ru) * 2006-08-30 2008-03-10 Валерий Юрьевич Тарасов Способ кодирования и декодирования речевого сигнала методом линейного предсказания
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
EP2077551B1 (en) * 2008-01-04 2011-03-02 Dolby Sweden AB Audio encoder and decoder
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
PL2146344T3 (pl) * 2008-07-17 2017-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sposób kodowania/dekodowania sygnału audio obejmujący przełączalne obejście

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Jurgen Schnitzler, et al. Wideband speech coding using forward/backward adaptive prediction with mixed time/frequency domain excitation. 1999 IEEE Workshop on Speech Coding Proceedings, 1999.*
Roch Lefebvre, et al. High quality coding of wideband audio signals using transform coded excitation (TCX). 1994 IEEE International Conference on Acoustics, Speech, and Signal Processing, 1994.*
Suat Yeldener, et al. A mixed sinusoidally excited linear prediction coder at 4 kb/s and below. Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, 1998.*

Also Published As

Publication number Publication date
CN103282959A (zh) 2013-09-04
RU2596584C2 (ru) 2016-09-10
WO2012055016A8 (en) 2012-06-28
TR201815402T4 (tr) 2018-11-21
EP4372747A2 (en) 2024-05-22
DK2633521T3 (en) 2018-11-12
EP2633521A1 (en) 2013-09-04
EP2633521B1 (en) 2018-08-01
CA2815249A1 (en) 2012-05-03
RU2013124065A (ru) 2014-12-10
KR101998609B1 (ko) 2019-07-10
JP5978218B2 (ja) 2016-08-24
MY164748A (en) 2018-01-30
CN103282959B (zh) 2015-06-03
EP3239979A1 (en) 2017-11-01
EP2633521A4 (en) 2017-04-26
EP3239979B1 (en) 2024-04-24
US9015038B2 (en) 2015-04-21
MX2013004673A (es) 2015-07-09
US20120101813A1 (en) 2012-04-26
ES2693229T3 (es) 2018-12-10
HK1185709A1 (en) 2014-02-21
WO2012055016A1 (en) 2012-05-03
CA2815249C (en) 2018-04-24
MX351750B (es) 2017-09-29
KR20180049133A (ko) 2018-05-10
PL2633521T3 (pl) 2019-01-31
JP2014500521A (ja) 2014-01-09
KR20130133777A (ko) 2013-12-09
PT2633521T (pt) 2018-11-13

Similar Documents

Publication Publication Date Title
KR101858466B1 (ko) 혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법
JP4861196B2 (ja) Acelp/tcxに基づくオーディオ圧縮中の低周波数強調の方法およびデバイス
US10262667B2 (en) Audio decoder and method for providing a decoded audio information using an error concealment modifying a time domain excitation signal
RU2483364C2 (ru) Схема аудиокодирования/декодирования с переключением байпас
US10706865B2 (en) Apparatus and method for selecting one of a first encoding algorithm and a second encoding algorithm using harmonics reduction
US9047859B2 (en) Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion
Fuchs et al. Low delay LPC and MDCT-based audio coding in the EVS codec
KR101610765B1 (ko) 음성 신호의 부호화/복호화 방법 및 장치
KR20220045260A (ko) 음성 정보를 갖는 개선된 프레임 손실 보정
KR102099293B1 (ko) 오디오 인코더 및 오디오 신호를 인코딩하는 방법
EP4275204A1 (en) Method and device for unified time-domain / frequency domain coding of a sound signal

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
A107 Divisional application of patent