KR101403115B1 - 다중 분해능 스위치드 오디오 부호화/복호화 방법 및 부호화/복호화기 - Google Patents

다중 분해능 스위치드 오디오 부호화/복호화 방법 및 부호화/복호화기 Download PDF

Info

Publication number
KR101403115B1
KR101403115B1 KR1020117010644A KR20117010644A KR101403115B1 KR 101403115 B1 KR101403115 B1 KR 101403115B1 KR 1020117010644 A KR1020117010644 A KR 1020117010644A KR 20117010644 A KR20117010644 A KR 20117010644A KR 101403115 B1 KR101403115 B1 KR 101403115B1
Authority
KR
South Korea
Prior art keywords
signal
coding
time
branch
samples
Prior art date
Application number
KR1020117010644A
Other languages
English (en)
Other versions
KR20110081291A (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
Priority claimed from EP09002271A external-priority patent/EP2144230A1/en
Application filed by 보이세지 코포레이션, 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 보이세지 코포레이션
Publication of KR20110081291A publication Critical patent/KR20110081291A/ko
Application granted granted Critical
Publication of KR101403115B1 publication Critical patent/KR101403115B1/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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • 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
    • 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
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring

Landscapes

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

Abstract

오디오 신호를 부호화하기 위한 오디오 부호화기는 제1 코딩 분기(400)를 포함하며, 제1 코딩 분기는 신호를 시간 영역에서 주파수 영역으로 변환하기 위한 제 변환기(410)를 포함한다. 나아가, 오디오 부호화기는 제2 시간/주파수 변환기(523)를 포함하는 제2 코딩 분기(500)를 포함한다. 추가로, 오디오 신호를 분석하기 위한 신호 분석기(300/525)가 제공된다. 신호 분석기는, 한편으로, 오디오 부분이 부호화기 출력신호에서 제1 코딩 분기로부터의 제1 부호화 신호로써 효과적인지 또는 제2 코딩 분기로부터의 제2 부호화 신호로써 효과적인지를 결정한다. 다른 한편으로, 신호 분석기는, 부호화된 신호를 발생시킬 때 변환기들(410, 523)에 의해 적용될 시간/주파수 분해능을 결정한다. 출력 인터페이스는, 제1 부호화 신호 및 제2 부호화 신호에 추가로, 제1 시간/주파수 변환기에 의해 사용되고 제2 시간/주파수 변환기에 의해 사용되는 분해능을 식별하는 분해능 정보를 포함한다.

Description

다중 분해능 스위치드 오디오 부호화/복호화 방법 및 부호화/복호화기{MULTI-RESOLUTION SWITCHED AUDIO ENCODING/DECODING METHOD AND APPRATUS}
본 발명은 오디오 코딩에 관한 것으로, 보다 상세하게는 낮은 비트율(Bit Rate) 오디오 코딩 방법에 관한 것이다.
당해 기술 분야에서, MP3나 AAC와 같은 주파수 영역 코딩 방법은 알려져 있다. 이러한 주파수 영역 부호화기들은, 시간 영역/주파수 영역 변환, 양자화 에러가 지각 모듈(Perceptual Module)로부터의 정보를 이용하여 제어되는 순차적인 양자화 단계, 그리고 양자화된 스펙트럴 계수들 및 관련 보조 정보(Side Information)가 코드 테이블들을 이용하여 엔트로피-부호화되는(Entorpy-encoded) 부호화(Encoding) 단계에 기초한다.
반면에, 3GPP TS 26.290에 기술된 바와 같이 AMR-WB+와 같은 음성(Speech)처리에 매우 적합한 부호화기들이 있다. 이러한 음성 코딩 방법은 시간 영역 신호의 선형 예측 필터링(Linear Predictive Filtering)을 수행한다. 그러한 LP 필터링은 입력 시간-영역 신호의 선형 예측 분석으로부터 도출된다. 생성된 LP 필터 계수들은 그 후 양자화/코딩 되고 보조 정보로서 전송된다. 상기 처리 과정은 선형 예측 코딩(LPC : Linear Prediction Coding)으로 알려져 있다. 상기 필터의 출력에서, 여기 신호(Excitation Signal)로도 알려진 예측 잔여 신호(Prediction Residual Signal) 또는 예측 에러 신호(Prediction Error Signal)는, ACELP 부호화기의 분석-합성(Analysis-by-synthesis) 단계를 이용하여 부호화되거나 또는 선택적으로, 오버랩(Overlap)을 가지는 푸리에 변환을 사용하는 변환 부호화기를 이용하여 부호화된다. ACELP 코딩과 TCX(Transform Coded eXcitation)로도 불리는 변환 코딩된 여기 코딩(Transform Coded Excitation Coding) 간의 결정은 폐 루프(Closed Loop) 또는 개방 루프(Open Loop) 알고리즘을 이용하여 행해진다.
AAC 코딩 방법과 스펙트럴 대역 복사(SBR : Spectral Band Replication) 기술을 결합하는 HE-ACC(High Efficiency AAC) 부호화 방법과 같은 주파수 영역 오디오 코딩 방법은, “MPEG 서라운드(MPEG surround)”라는 이름으로 알려진 결합 스테레오(Joint stereo) 또는 다중 채널(Multi-channel) 코딩 도구(Coding tool)에도 결합될 수 있다.
반면에, AMR-WB+와 같은 음성 부호화기들은 고주파수 확장 단계(High Frequency Extension Stage) 및 스테레오 기능(Stereo Functionality) 또한 가지고 있다.
주파수 영역 코딩 방법들은 음악 신호에 대하여 낮은 비트율에서 높은 품질을 나타낸다는 점에서 유리하다. 그러나, 낮은 비트율에서 음성 신호들의 품질은 문제가 있다.
음성 코딩 방법들은 낮은 비트율에서도 음성 신호들에 대해 높은 품질을 나타내지만, 낮은 비트율에서 다른 신호들에 대해서는 안 좋은 품질을 나타낸다.
본 발명의 목적은 향상된 부호화/복호화 개념을 제공하는 것이다.
이러한 목적은 청구항 1에 따른 오디오 부호화기, 청구항 9에 따른 오디오 부호화 방법, 청구항 10에 따른 복호화기, 청구항 19에 따른 복호화 방법, 청구항 20에 따른 부호화된 신호 또는 청구항 21에 따른 컴퓨터 프로그램에 의해 달성된다.
본 발명은 최선의 코딩 알고리즘이 특정한 신호 특성에 대해 항상 선택될 수 있다는 점에서 하이브리드 또는 듀얼 모드 스위치드 코딩/부호화 방법이 유리하다는 발견에 기초한다. 다르게 말하면, 본 발명은 모든 신호 특성에 완벽하게 일치하는 신호 코딩 알고리즘을 찾지는 않는다. 이러한 방법은, 한편으로 최신의 오디오 부호화기들 그리고 다른 한편으로 음성 부호화기들 사이의 커다란 차이점으로부터 알 수 있듯이, 항상 하나의 절충이 될 것이다. 대신에 본 발명은, 각각의 오디오 신호 부분에 대해 최선의 적합한 코딩 알고리즘이 선택되도록 하기 위해, 한편으로는 음성 코딩 알고리즘 및 다른 한편으로는 오디오 코딩 알고리즘과 같은 서로 다른 코딩 알고리즘들을 스위치드(Switched) 방법으로 결합한다. 또한, 양쪽 코딩 분기(Coding Branch)는 시간/주파수 변환기를 포함하나, 한쪽 코딩 분기에서는 LPC 프로세서와 같은 추가의 영역 변환기(Domain Converter)가 제공되는 것 또한 본 발명의 특징이다. 이러한 영역 변환기는 제2 코딩 분기가 제1 코딩 분기보다 특정한 신호 특성에 더 적합하도록 보장한다. 그러나, 상기 영역 프로세서에 의한 신호 출력이 또한 스펙트럴 표현으로 변환되는 것도 본 발명의 특징이다.
한편의 품질 및 다른 한편의 비트율 사이의 호적의 절충, 일정 고정 품질의 관점에서 낮은 비트율 또는 고정 비트율의 관점에서 높은 품질이 얻어지도록 하기 위해 제1 코딩 분기의 제1 변환기 및 제2 코딩 분기의 제2 변환기, 즉 양 변환기들은 다중 분해능 변환 코딩(Multi-resolution Transform Coding)을 적용하기 위해 구성되며, 대응하는 변환기의 분해능은, 오디오 신호, 특히 대응하는 코딩 분기에서 실제로 코딩되는 오디오 신호에 종속되도록 설정된다.
본 발명에 따르면, 두 변환기의 시간/주파수 분해능은 바람직하게는, 각각의 시간/주파수 트랜스포머(Time/Frequency Transformer)가 상응하는 신호의 시간/주파수 분해능 요구에 최적으로 일치될 수 있도록, 서로간에 독립적으로 설정될 수 있다. 한편의 유효 비트(Useful Bit)와 다른 한 편의 보조 정보 비트 사이의 관계, 즉 비트 효율은 더 긴 블록의 크기/윈도우 길이에서 더 높다. 그러므로, 기본적으로 더 짧은 블록 크기/윈도우 길이/변환 길이를 적용하는 것에 비해 동일한 양의 보조 정보는 오디오 신호의 더 긴 시간 부분을 나타내므로, 양 변환기는 더 긴 윈도우 길이에 더 편향(Biased)되는 것이 선호된다. 바람직하게는, 코딩 분기들에서의 시간/주파수 분해능은 또한 상기 분기들에 위치한 다른 부호화/복호화 도구에 의해 영향을 받을 수도 있다. 바람직하게는, LPC 프로세서와 같은 영역 변환기를 포함하는 제2 코딩 분기는, 한편으로는 ACELP 분기 및 다른 한편으로는 TCX 방법과 같은 또 다른 하이브리드 방법을 포함하며, 제2 변환기가 상기 TCX 방법에 포함된다. 바람직하게는, TCX 분기에 위치한 시간/주파수 변환기의 분해능은 또한 부호화 결정에 의해 영향을 받으며, 따라서 제2 코딩 분기에서 신호의 부분은 제2 변환기를 포함하는 TCX 분기 또는 시간/주파수 변환기를 포함하지 않는 ACELP 분기에서 처리된다.
기본적으로, 영역 변환기나 제2 코딩 분기, 특히 제2 코딩 분기 내의 제1 처리 분기(Processing Branch) 및 제2 코딩 분기 내의 제2 처리 분기 어느 것도, 영역 변환기에서의 LPC 분석기, 제2 처리 분기에서의 TCX 부호화기 및 제1 처리 분기에서의 ACELP 부호화기와 같은 음성 관련 요소가 되어야만 하는 것은 아니다. 다른 응용들은, 한편으로는 음성 및 다른 한편으로는 음악과는 다른 오디오 신호의 다른 신호 특성이 측정되는 때에도 또한 유용하다. 부호화기측에서, 오디오 신호의 각 부분에 대해, 모든 부호화 대안들이 수행되고 최선의 결과가 선택될 수 있도록 하기 위해, 어떠한 영역 변환기와 코딩 분기 구현도 사용될 수 있고 분석-합성(Analysis-by-systhesis) 방법에 의해 가장 일치하는 알고리즘이 찾아질 수 있으며, 상기 최선의 결과는 부호화 결과에 목표 함수(Target Function)를 적용하여 찾아질 수 있다. 그러면, 복호화기가 부호화기측이나 어떤 신호 특성하의 어떠한 결정에도 신경 쓸 필요가 없이 단순히 전송된 보조 정보에 의해 코딩 분기를 결정하도록 하기 위해, 부호화된 오디오 신호의 특정 부분에 대한 기초가 되는 코딩 알고리즘을 복호화기에 알려주는 보조 정보가, 부호화기 출력 인터페이스에 의해 부호화된 오디오 신호에 부여된다. 게다가, 복호화기는 단지 정확한 복호화 분기를 선택하는 것만이 아니라, 부호화된 신호 내의 부호화된 보조 정보에 기초하여, 어떤 시간/주파수 분해능이 관련된 제1 복호화 분기 및 관련된 제2 복호화 분기에 적용될 지 또한 선택한다.
따라서, 본 발명은, 신호 부분이 부호화될 때 일정 코딩 알고리즘에 적합하지 않은 알고리즘에 의해 발생하는 이러한 코딩 알고리즘의 단점을 피하고 모든 다른 코딩 알고리즘의 장점을 결합하는, 부호화/복호화 방법을 제공한다. 또한, 본 발명은, 서로 다른 코딩 분기들 내의 서로 다른 오디오 신호 부분들에 의해 야기되는 다른 신호/주파수 분해능 요구가 고려되지 않았다면 발생할, 어떠한 단점도 피한다. 대신에, 양 분기에서의 시간/주파수 변환기들의 가변적인 시간/주파수 분해능에 기인하여, 같은 시간/주파수 분해능이 양쪽 코딩 분기에 적용되거나, 단지 고정된 시간/주파수 분해능만이 어떤 코딩 분기에 대해 가능한 경우 발생하는 어떤 아티팩트는 적어도 축소되거나 심지어는 완전히 회피된다.
제2 스위치는, “외부(Outer)” 제1 분기 영역과는 다른 영역에서이지만, 다시 두 처리 분기 사이를 결정한다. 다시 하나의 “내부(Inner)” 분기는 주로 소스 모델(Source Model)에 의해 또는 SNR 계산들에 의해 유발되고, 다른 “내부” 분기는 싱크 모델(Sink Model) 및/또는 심리 음향 모델(Psycho Acoustic Model)에 의해, 즉 마스킹(Masking)에 의해 유발되거나 또는 적어도 주파수/스펙트럴 영역 코딩 측면들을 포함한다. 예시적으로, 하나의 “내부” 분기는 주파수 영역 부호화기/스펙트럴 변환기를 가지고 다른 분기는 LPC 영역과 같은 다른 영역에서의 부호화기 코딩을 포함하며, 이러한 부호화기는 예를 들어 스펙트럴 변환 없이 입력 신호를 처리하는 CELP 또는 ACELP 양자화기/스케일러이다.
바람직한 추가 실시예는, 스펙트럴 영역 코딩 분기와 같은 제1 정보 싱크(Information Sink) 지향 코딩 분기, LPC-영역 코딩 분기와 같은 제2 정보 소스 또는 SNR 지향 코딩 분기, 및 제1 코딩 분기와 제2 코딩 분기 사이를 스위칭하기 위한 스위치를 포함하는 오디오 부호화기며, 상기 제2 코딩 분기는 여기 신호(Excitation Signal)를 발생시키는 LPC 분석 단계(LPC Analysis Stage)와 같은 시간 영역과 다른 특정 영역으로의 변환기(Converter)를 포함하며, 그리고 상기 제2 코딩 분기는 추가로 LPC 영역 처리 분기와 같은 특정 영역과 LPC 스펙트럴 영역 처리 분기와 같은 특정 스펙트럴 영역, 및 상기 특정 영역 코딩 분기와 상기 특정 스펙트럴 영역 코딩 분기 사이를 스위칭하기 위한 추가 스위치를 포함한다.
상기 발명의 추가 실시예는 스펙트럴 영역 복호화 분기와 같은 제1 영역, 제2 영역에서의 여기 신호와 같은 신호를 복호화하기 위한 LPC 영역 복호화 분기와 같은 제2 영역, 및 LPC 스펙트럴 영역과 같은 제3 영역에서의 여기 신호와 같은 신호를 복호화하기 위한 LPC-스펙트럴 복호화기 분기와 같은 제3 영역을 포함하며, 상기 제3 영역은 제2 영역으로부터의 주파수 변환을 수행함으로써 얻어지고, 제2 영역 신호와 제3 영역 신호를 위한 제1 스위치가 제공되며, 그리고 제1 영역 복호화기와 제2 영역 또는 제3 영역에 대한 복호화기 사이를 변환하기 위한 제2 스위치가 제공된다.
본 발명의 바람직한 실시예들은 뒤에서 첨부된 도면들과 관련하여 설명된다.
최선의 코딩 알고리즘이 특정한 신호 특성에 대해 선택될 수 있으며, 향상된 부호화/복호화 개념이 제공된다.
도 1a는 본 발명의 제1 측면에 따른 부호화 방법의 블록도이다.
도 1b는 본 발명의 제1 측면에 따른 복호화 방법의 블록도이다.
도 1c는 본 발명의 추가 측면에 따른 부호화 방법의 블록도이다.
도 2a는 본 발명의 제2 측면에 따른 부호화 방법의 블록도이다.
도 2b는 본 발명의 제2 측면에 따른 복호화 방법의 도식도이다.
도 2c는 본 발명의 추가 측면에 따른 부호화 방법의 블록도이다.
도 3a는 본 발명의 추가 측면에 따른 부호화 방법의 블록도를 나타낸다.
도 3b는 본 발명의 추가 측면에 따른 복호화 방법의 블록도를 나타낸다.
도 3c는 연속적으로 접속된 스위치를 갖는 부호화 장치/방법의 개략적 표현을 나타낸다.
도 3d는 연속적으로 접속된 결합기가 사용되는, 복호화를 위한 장치 또는 방법의 도식도를 나타낸다.
도 3e는 시간 영역 신호와 양쪽의 부호화된 신호에 포함된 짧은 교차 페이드 영역(Cross Fade Region)을 나타내는 부호화된 신호와 대응하는 표현의 도해를 나타낸다.
도 4a는 코딩 분기 앞에 위치한 스위치의 블록도를 나타낸다.
도 4b는 코딩 분기 뒤에 위치한 스위치를 이용한 부호화 방법의 블록도를 나타낸다.
도 5a는 준주기적(Quasi-periodic) 또는 임펄스형 신호 세그먼트(Impulse-like Signal Segment)와 같은 시간 영역 음성 세그먼트의 파형을 나타낸다.
도 5b는 도 5a의 세그먼트의 스펙트럼을 나타낸다.
도 5c는 잡음형 세그먼트(Noise-like Segment)의 예로써 무성음(Unvoiced Speech)의 시간 영역 음성 세그먼트를 나타낸다.
도 5d는 도 5c의 시간 영역 파형의 스펙트럼을 나타낸다.
도 6은 분석-합성(Analysis by Synthesis) CELP 부호화기의 블록도를 나타낸다.
도 7a 내지 도 7d는 임펄스형 신호에 대한 예로써 유성음/무성음의 여기 신호를 나타낸다.
도 7e는 단기 예측 정보(Short-term Prediction Information)와 예측 에러(여기) 신호를 제공하는 부호화기 측 LPC 단계를 나타낸다.
도 7f는 가중 신호(Weighted Signal)를 발생시키기 위한 LPC 장치의 추가 실시예를 나타낸다.
도 7g는 도 2b의 변환기 537에서 요구되는 것과 같은 역가중 연산(Inverse Weighting Operation) 및 후속 여기 분석(Subsequent Excitation Analysis)을 적용함으로써 가중 신호를 여기 신호로 변환하기 위한 구현을 나타낸다.
도 8은 본 발명의 실시예에 따른 결합 다중 채널 알고리즘(Joint Multi-channel Algorithm)의 블록도를 나타낸다.
도 9는 대역폭 확장 알고리즘의 바람직한 실시예를 나타낸다.
도 10a는 개방 루프 결정(Open Loop Decision)을 수행할 때 스위치의 상세한 설명을 나타낸다.
도 10b는 폐 루프 결정(Closed Loop Decision)을 수행할 때 스위치의 도해를 나타낸다.
도 11A는 본 발명의 다른 실시예에 따른 오디오 부호화기의 블록도를 나타낸다.
도 11B는 발명된 오디오 복호화기의 다른 실시예의 블록도를 나타낸다.
도 12A는 발명된 부호화기의 또 다른 실시예를 나타낸다.
도 12B는 발명된 복호화기의 또 다른 실시예를 나타낸다.
도 13A는 분해능과 윈도우/변환 길이 사이의 상호 관계(interrelation)를 나타낸다.
도 13B는 제1 코딩 분기에서의 변환 윈도우 집합 및 제1 코딩 분기에서 제2 코딩 분기로의 전이(Transition)의 개괄을 나타낸다.
도 13C는 제1 코딩 분기에서의 윈도우 시퀀스 및 제2 분기로의 전이에서의 시퀀스를 포함하는 복수의 다른 윈도우 시퀀스를 나타낸다.
도 14A는 제2 코딩 분기의 바람직한 실시예의 프레임 구성(Framing)을 나타낸다.
도 14B는 제2 코딩 분기에 적용되는 짧은 윈도우(Short Window)를 나타낸다.
도 14C는 제2 코딩 분기에 적용되는 중간 크기 윈도우(Medium sized Window)를 나타낸다.
도 14D는 제2 코딩 분기에 의해 적용되는 긴 윈도우(Long Window)를 나타낸다.
도 14E는 슈퍼 프레임(Super Frame) 구역 내의 ACELP 프레임과 TCX 프레임의 예시적인 시퀀스를 나타낸다.
도 14F는 제2 코딩 분기에서 다른 시간/주파수 분해능에 대응하는 다른 변환 길이를 나타낸다.
도 14G는 도 14F의 정의를 사용한 윈도우의 구성을 나타낸다.
도 11A는 오디오 신호를 부호화하기 위한 오디오 부호화기의 실시예를 나타낸다. 상기 부호화기는 제1 부호화 신호(First Encoded Signal)를 얻기 위한 제1 코딩 알고리즘을 사용하여 오디오 신호를 부호화하기 위한 제1 코딩 분기 400을 포함한다.
오디오 부호화기는 제2 부호화 신호(Second Encoded Signal)를 얻기 위한 제2 코딩 알고리즘을 사용하여 오디오 신호를 부호화하기 위한 제2 코딩 분기 500을 더 포함한다. 제1 코딩 알고리즘은 제2 코딩 알고리즘과 다르다. 추가로, 오디오 신호의 부분에 대해 제1 부호화 신호 또는 제2 부호화 신호가 부호화기 출력 신호 801에 있도록 하기 위해, 제1 코딩 분기 및 제2 코딩 분기 사이에서 스위칭하는 제1 스위치 200이 제공된다.
도 11A에 나타난 오디오 부호화기는, 오디오 신호의 부분이 부호화기 출력 신호 801에서 제1 부호화 신호로 또는 제2 부호화 신호로써 나타나는지 결정하도록, 오디오 신호의 부분을 분석하기 위해 구성된 신호 분석기 300/525를 더 포함한다.
상기 신호 분석기 300/525는, 추가로 제1 코딩 분기 400내의 제1 변환기 410 또는 제2 코딩 분기 500 내의 제2 변환기 523의 각각의 시간/주파수 분해능을 가변적으로 결정하기 위해 구성된다. 상기 시간/주파수 분해능은, 오디오 신호의 부분을 나타내는 제1 부호화 신호 또는 제2 부호화 신호가 발생될 때 적용된다.
상기 오디오 부호화기는 부호화기 출력 신호 801를 발생하기 위한 출력 인터페이스 800를 더 포함한다. 상기 부호화기 출력 신호 801는 오디오 신호의 부분의 부호화된 표현, 및 오디오 신호의 표현이 제1 부호화 신호인지 또는 제2 부호화 신호인지 여부를 가리키고 제1 부호화 신호와 제2 부호화 신호를 복호화하기 위해 사용되는 시간/주파수 분해능을 가리키는 정보를 포함한다.
제2 코딩 분기는, 제1 코딩 분기에서 오디오 신호가 다른 영역으로 처리되는 영역으로부터의 오디오 신호를 변환하기 위한 영역 변환기(Domain Converter)를 추가로 포함한다는 점에서, 제2 코딩 분기는 바람직하게는 제1 코딩 분기와 다르다. 바람직하게는 상기 영역 변환기는 LPC 프로세서 510이지만, 영역 변환기가 제1 변환기 410 및 제2 변환기 523와 다른 한, 다른 어떤 방법으로도 구현될 수 있다.
제1 변환기 410은 바람직하게는 윈도우어(Windower) 410a 및 트랜스포머(Transformer) 410b를 포함하는 시간/주파수 변환기이다. 윈도우어 410a는 분석 윈도우(Analysis Window)를 입력 오디오 신호에 적용하고, 트랜스포머 410b는 윈도우잉된 신호의 스펙트럴 형태로의 변환을 수행한다.
유사하게, 제2 변환기 523는 바람직하게는 윈도우어 523a와 순차적으로 연결된 트랜스포머 523b를 포함한다. 윈도우어 523a는 영역 변환기(Domain Converter) 510에 의한 신호 출력 및 그 신호의 윈도우잉된 형태를 출력한다. 윈도우어 523a에 의해 적용되는 하나의 분석 윈도우의 결과는 스펙트럴 형태를 형성하기 위해 트랜스포머 523b로 입력된다. 상기 트랜스포머는 소프트웨어, 하드웨어 또는 혼합된 하드웨어/소프트웨어 수행에서 관련된 알고리즘을 구현하는 FFT 또는 바람직하게는 MDCT 프로세서일 수 있다. 선택적으로, 상기 트랜스포머는 프로토타입 필터(Prototype Filter)의 실수 또는 복소 변조(Real-valued or Complex Modulation)을 기초로 할 수 있는 QMF 필터뱅크와 같은 필터뱅크 구현일 수 있다. 특정 필터뱅크 구현을 위해, 윈도우가 적용된다. 그러나, 다른 필터뱅크 구현에서는, MDCT의 FFT에 기반한 변환 알고리즘에서 요구되는 것과 같은 윈도우잉(Windowing)은 필요하지 않다. 필터뱅크 구현이 이용될 때, 상기 필터뱅크는 가변 분해능 필터뱅크(Variable Resolution Filterbank)이고 분해능은 필터뱅크의 주파수 분해능을 조정하고, 추가적으로, 시간 분해능을 조정하거나 또는 시간 분해능이 아닌 주파수 분해능만을 조정한다. 그러나, 변환기가 FFT 또는 MDCT 또는 어떠한 다른 대응하는 트랜스포머로써 구현되는 경우, 시간 내의 더 큰 블록 길이에 의해 얻어지는 주파수 분해능의 증가는 곧 자동적으로 더 작은 시간 분해능과 상응하고 그 역도 마찬가지라는 점에서, 주파수 분해능은 시간 분해능과 관련된다.
추가로, 제1 코딩 분기는 양자화/코딩 단계 421를 포함할 수 있고, 제2 코딩 분기는 또한 하나 또는 그 이상의 추가 코딩 도구(Coding Tool) 524를 포함할 수 있다.
중요하게, 신호 분석기는 제1 변환기 410와 제2 변환기 523에서 분해능 제어 신호를 발생시키기 위해 구성된다. 따라서, 한편으로는 낮은 비트율(Bit Rate)을 제공하고 다른 한편으로는 낮은 비트율의 관점에서 최대의 품질을 제공하는 코딩 방법을 갖기 위해, 양쪽 코딩 분기에서 독립적인 분해능 제어가 구현된다. 낮은 비트율의 목표를 달성하기 위해, 더 긴 윈도우 길이 또는 더 긴 변환 길이가 바람직하나, 이러한 긴 길이가 낮은 시간 분해능 때문에 아티팩트(Artifact)를 야기하는 상황에서는, 더 짧은 윈도우 길이와 더 짧은 변환 길이가 적용되며, 이는 더 낮은 주파수 분해능을 야기한다. 바람직하게는, 신호 분석기는 코딩 분기에서의 상응하는 알고리즘에 적합한 통계적 분석 또는 어떠한 다른 분석을 적용한다. 제1 코딩 분기가 AAC에 기초한 부호화기와 같은 주파수 영역 코딩 분기이고, 제2 코딩 분기가 영역 변환기(Domain Converter)로써 LPC 프로세서 510를 포함하는 하나의 구현 모드에서는, 대응하여 스위치 200을 제어함으로써 오디오 신호의 음성 부분이 제2 코딩 분기에 입력되도록 하기 위해, 신호 분석기가 음성/음악 구별을 수행한다. 오디오 신호의 음악 부분은, 스위치 제어 라인(Switch Control Line)에 의해 지시된 대로, 대응하여 스위치 200을 제어함으로써 제1 코딩 분기 400에 입력된다. 택일적으로, 도 1C와 도 4B에 관하여 뒤에서 논의되는 것처럼 스위치는 또한 출력 인터페이스 800 앞에도 위치할 수 있다.
또한, 신호 분석기는 스위치 200으로의 오디오 신호 입력 또는 스위치 200에 의한 오디오 신호 출력을 수신할 수 있다. 또한, 신호 분석기는 단지 오디오 신호를 대응하는 코딩 분기에 공급하기 위함만이 아니라, 신호 분석기와 변환기를 연결하는 분해능 제어 라인(Resolution Controlled Line)에 의해 지시되는 제1 변환기 410 및 제2 변환기 523과 같은, 대응하는 코딩 분기 내의 각각의 변환기의 적정한 시간/주파수 분해능을 결정하기 위해서도 분석을 수행한다.
도 11B는 도 11A의 오디오 부호화기에 부합되는 오디오 복호화기의 바람직한 실시예를 포함한다.
도 11B의 오디오 복호화기는 도 11A의 출력 인터페이스 800에 의한, 부호화기 출력 신호 801와 같은 부호화된 오디오 신호를 복호화하기 위해 구성된다. 상기 부호화된 신호는, 제1 코딩 알고리즘에 따라 부호화된 제1 부호화 오디오 신호, 제1 코딩 알고리즘과는 다른 제2 코딩 알고리즘에 따라 부호화된 제2 부호화 오디오 신호, 그리고 상기 제1 부호화 신호와 상기 제2 부호화 신호의 복호화에서 제1 코딩 알고리즘이 사용되는지 또는 제2 코딩 알고리즘이 사용되는지 여부를 가리키는 정보 및 상기 제1 부호화 오디오 신호와 상기 제2 부호화 오디오 신호에 대한 시간/주파수 분해능 정보를 포함한다.
상기 오디오 복호화기는 제1 코딩 알고리즘을 기초로 한 제1 부호화 신호를복호화하기 위한 제1 복호화 분기 431, 440을 포함한다. 나아가, 상기 오디오 복호화기는 제2 코딩 알고리즘을 사용한 제2 부호화 신호를 복호화하기 위한 제2 복호화 분기를 포함한다.
상기 제1 복호화 분기는 스펙트럴 영역에서 시간 영역으로 변환하기 위한 제1 제어 가능 변환기(First Controllable Converter) 440을 포함한다. 상기 제어 가능 변환기는 제1 복호화 신호(First Decoded Signal)를 얻기 위해 제1 부호화 신호로부터의 시간/주파수 분해능 정보를 사용하여 제어되도록 구성된다.
상기 제2 복호화 분기는 스펙트럴 표현에서 시간 표현으로 변환하기 위한 제2 제어 가능 변환기(Second Controllable Converter)를 포함하며, 상기 제2 제어 가능 변환기 534는 제2 부호화 신호에서 시간/주파수 분해능 정보 991을 사용하여 제어되도록 구성된다.
상기 복호화기는 추가로 시간/주파수 분해능 정보 991에 따라 제1 제어 가능 변환기440와 제2 제어 가능 변환기 534를 제어하기 위한 제어기(Controller) 990을 포함한다.
또한, 상기 복호화기는 도 11A의 부호화기 내의 영역 변환기(Domain Converter) 510에 의해 적용된 영역 변환을 취소하기 위해 제2 복호화 신호를 이용하여 합성 신호(Synthesis Signal)를 발생시키기 위한 영역 변환기(Domain Converter)를 포함한다.
바람직하게는, 영역 변환기 540은 부호화된 신호에 포함된 LPC 필터 정보를 사용하여 제어되는 LPC 합성 프로세서(LPC Synthesis Processor)이며, 이러한 LPC 필터 정보는 도 11A의 LPC 프로세서 510에 의해 생성되고, 보조 정보로써 부호화기 출력 신호로 입력된 것이다. 상기 오디오 복호화기는 마지막으로 복호화된 오디오 신호 609를 얻기 위해 제1 제어 가능 변환기(예컨대, 제1 영역 변환기일 수 있음) 440에 의한 제1 복호화 신호 출력과 합성 신호(Synthesis Signal)를 결합하기 위한 결합기(Combiner) 600을 포함한다.
바람직한 구현으로, 제1 복호화 분기는 추가적으로 대응하는 양자화/코딩 단계421에 의해 수행된 연산을 되돌리거나 적어도 부분적으로 되돌리기 위한 역 양자화기/복호화기 단계 431을 포함한다. 그러나, 양자화는 손실이 많은 연산이므로 되돌릴 수 없음이 명백하다. 그러나, 역 양자화기는 대수 또는 압신 양자화(Logarithmic or Companding Quantization)와 같은 그러한 양자화에서의 불균일성(Non-uniformity)을 되돌린다.
제2 코딩 분기에서, 단계 524에 의해 적용되는 일정 부호화 연산을 되돌리기 위해 대응하는 단계 533가 적용된다. 바람직하게는, 단계 524는 균일 양자화(Uniform Quantization)를 포함한다. 그러므로, 대응하는 단계 533는 일정 균일 양자화를 되돌리기 위한 특정 역 양자화 단계를 갖지 않는다.
제2 제어 가능 변환기 534뿐만 아니라 제1 제어 가능 변환기 440도 대응하는 역 트랜스포머 단계 440a, 534a, 합성 윈도우 단계 440b, 534b 및 순차적으로 연결된 오버랩/가산 단계 440c, 534c를 포함할 수 있다. 상기 오버랩/가산 단계는 상기 변환기들, 더 상세하게는 상기 트랜스포머 단계 440a, 534a들이 변형 이산 여현 변환(MDCT : Modified Discrete Cosine Transform)과 같은 앨리어싱 유발 변환을 적용할 때 필요하다. 이어서, 오버랩/가산 동작은 시간 영역 앨리어싱 제거(TDAC : Time Domain Aliasing Cancellation)를 수행한다. 그러나, 역 FFT와 같이 앨리어싱을 유발하지 않는 변환을 이용할 때에는, 오버랩/가산 단계 440c가 필요하지 않다. 이러한 구현에서는, 블록킹 아티팩트를 피하기 위한 교차 페이딩 연산(Cross Fading Operation)이 이용될 수 있다.
유사하게, 상기 결합기 600는 스위칭되는 결합기 또는 교차 페이딩 결합기일 수 있고, 또는 앨리어싱(Aliasing)이 블록킹 아티팩트를 피하기 위해 사용될 때, 전이 윈도우잉 연산(Transition Windowing Operation)이 분기 자체 내에 오버랩/가산 단계와 유사한 결합기에 의해 구현된다.
도 1a는 두 연결된 스위치를 갖는 발명의 일 실시예를 나타낸다. 모노 신호, 스테레오 신호 또는 다중 채널 신호가 스위치 200으로 입력된다. 스위치 200은 결정 단계 300에 의해 제어된다. 상기 결정 단계는, 입력으로써, 블록 200으로의 신호 입력을 받는다. 택일적으로, 결정 단계 300은 또한, 모노 신호, 스테레오 신호 또는 다중 채널 신호에 포함되거나 또는 적어도, 예를 들어, 모노 신호, 스테레오 신호 또는 다중 채널 신호를 본래 생성할 때 발생된 정보가 어디가 존재하는지에 대한 신호에 연관된 보조 정보(Side Information) 를 받을 수 있다.
결정 단계 300는 도 1a의 위쪽 분기에 나타난 주파수 부호화 부분 400 또는 도 1a의 아래쪽 분기에 나타난 LPC 영역 부호화 부분 500에 신호를 공급하기 위해 스위치 200를 동작시킨다. 주파수 영역 코딩 분기의 핵심 요소는, 일반적인(common) 전 처리 단계 출력 신호(후술할 바와 같이)를 스펙트럴 영역으로 변환하기 위해 동작하는 제 1 변환기(예컨대, 스펙트럴 변환 블록 410)이다. 상기 스펙트럴 변환 블록은 MDCT 알고리즘, QMF, FFT 알고리즘, 웨이블릿 분석(Wavelet Analysis), 또는 특정수의 필터뱅크 채널을 갖는 정밀하게 샘플링된 필터뱅크와 같은 필터뱅크(Filter Bank)를 포함할 수 있으며, 이러한 필터뱅크 내의 부대역(Subband) 신호는 실수 신호(Real-valued Signal) 또는 복소 신호(Complex-valued Signal)일 수 있다. 상기 제 1 변환기(스펙트럴 변환 블록) 410의 출력은 양자화/코딩 단계 421에서, 스펙트럴 오디오 부호화기(Spectral Audio Encoder)를 이용하여 부호화되며, 상기 스펙트럴 오디오 부호화기는 AAC 코딩 방법으로 알려진 바와 같이 처리 블록을 포함할 수 있다.
일반적으로, 분기 400에서의 처리는 지각 기반 모델(Perception Based Model) 또는 정보 싱크 모델(Information Sink Model)에서의 처리이다. 따라서, 이러한 분기는 음향을 수신하는 인간 청각 시스템(Human Auditory System)을 모델링한다. 그에 반대로, 분기 500에서의 처리는 여기, 잔여 또는 LPC 영역에서의 신호를 발생하기 위한 것이다. 일반적으로, 분기 500에서의 처리는 음성 모델 또는 정보 발생 모델(Information Generation Model)이다. 상기 모델은 음성 신호에 대해 음향을 발생하는 인간의 음성/음향 발생 시스템(Human Speech/Sound Generation System)의 모델이다. 그러나, 만일 다른 음향 발생 모델을 요구하는 다른 소스로부터의 음향이 부호화되는 경우라면, 분기 500에서의 처리는 다를 수 있다.
아래쪽 코딩 분기 500에서, 핵심 요소는 LPC 필터의 특성을 제어하기 위해 사용되는 LPC 정보를 출력하는 LPC 프로세서 510이다. 상기 LPC 정보는 복호화기로 전송된다. LPC 단계 510 출력 신호는 여기 신호 및/또는 가중 신호로 이루어진 LPC 영역 신호이다.
LPC 프로세서는 일반적으로 LPC 영역 신호를 출력하며, 상기 LPC 영역 신호는, 도 7e의 여기 신호 또는 도 7f의 가중 신호 또는 오디오 신호에 LPC 필터 계수를 적용함으로써 발생된 어떤 다른 신호일 수 있다. 또한, LPC 프로세서는 또한 상기 계수를 결정할 수 있고, 상기 계수를 양자화/코딩 할 수 있다.
결정 단계에서의 결정은, 결정 단계가 음악/음성 구별(Music/Speech Discrimination)을 수행하고 음악 신호는 위쪽 분기 400로의 입력되고 음성 신호가 아래쪽 분기 500로의 입력되는 방식으로 스위치 200를 제어하기 위해 신호 적응적(Signal-adaptive)일 수 있다. 하나의 실시예에서, 결정 단계는, 복호화기가 정확한 복호화 연산을 수행하기 위해 결정 정보를 사용할 수 있도록, 출력 비트 스트림에 상기 결정 정보를 공급한다.
그러한 복호화기는 도 1b에 나타난다. 양자화/코더(예컨대, 스펙트럴 오디오 부호화기) 421에 의한 출력 신호는, 전송 후, 스펙트럴 오디오 복호화기 431로 입력된다. 스펙트럴 오디오 복호화기 431의 출력은 제1 제어 가능 변환기(예컨대, 시간 영역 변환기) 440로 입력된다. 유사하게, 도 1a의 LPC 영역 코딩 분기 500의 출력은, 복호화기측에서 수신되며, LPC 여기 신호를 얻기 위해 구성요소 531, 533, 534 및 532에 의해 처리된다. 상기 LPC 여기 신호는 LPC 합성 단계 540로 입력되며, 상기 LPC 합성 단계(LPC Synthesis Stage) 540는, 추가 입력으로, 대응하는 LPC 프로세서의 분석 단계(LPC Analysis Stage) 510에 의해 발생된 LPC 정보를 수신한다. 제1 제어 가능 변환기(예컨대, 시간 영역 변환기) 440의 출력 및/또는 LPC 합성 단계 540의 출력은 스위치 600로 입력된다. 상기 스위치 600는, 예를 들어 결정 단계 300에 의해 발생되거나 또는 본래 모노 신호, 스테레오 신호 또는 다중 채널 신호의 생성기와 같은 것에 의해 외부적으로 제공된, 스위치 제어 신호(Switch Control Signal)를 통해 제어된다. 상기 스위치 600의 출력은 완전한 모노 신호, 스테레오 신호 또는 다중 채널 신호이다.
스위치 200와 결정 단계 300로의 입력 신호는 모노 신호, 스테레오 신호, 다중 채널 신호 또는 일반적으로 오디오 신호일 수 있다. 스위치 200 입력 신호로부터 또는 단계 200로의 신호 입력의 기초를 이루는 본래 오디오 신호의 발생기(Producer)와 같은 어떠한 외부 소스로부터 도출될 수 있는 결정(Decision)에 따라서, 상기 스위치는 주파수 코딩 분기 400와 LPC 코딩 분기 500 사이를 스위칭한다. 주파수 코딩 분기 400는 제 1 변환기의 변환 단계(예컨대, 스펙트럴 변환 단계(Spectral Conversion Stage)) 410와 뒤에 연결되는 양자화/코딩 단계(Quantizing/Coding Stage) 421를 포함한다. 상기 양자화/코딩 단계는 AAC 부호화기와 같은 최신의 주파수 영역 부호화기로 알려진, 어떠한 기능도 포함할 수 있다. 또한, 양자화/코딩 단계 421에서의 양자화 연산은, 주파수에 대한 심리 음향 마스킹 임계치(Psychoacoustic Masking Threshold)와 같은 심리 음향 정보(Psychoacoustic Information)를 발생하는 심리 음향 모듈(Psychoacoustic Module)에 의해 제어될 수 있으며, 상기 정보는 단계 421로 입력된다.
LPC 코딩 분기에서, 스위치 출력 신호는 LPC 보조 정보(LPC Side Info)와 LPC 영역 신호를 발생시키는 LPC 프로세서 510의 분석 단계에 의해 처리된다. 여기 부호화기는, 진보적으로, LPC 영역 내의 양자화/코딩 연산 522 또는 LPC 스펙트럴 영역의 값을 처리하는 양자화/코딩 단계 524 사이에서 LPC 영역 신호의 추가 처리로 스위칭하는 부가적인 스위치를 포함한다. 이것을 위하여, 스펙트럴 변환기 523가 양자화/코딩 단계 524의 입력에 제공된다. 스위치 521는, 예를 들어 AMR-WB+ 기술 내용에서 설명되는 것과 같은 특정 설정에 따라 개방 루프 방법(Open-loop Fashion) 또는 폐 루프 방법(Closed-loop Fashion)으로 제어된다.
폐 루프 제어 모드(Closed-loop Control Mode)에서는, 부호화기는 추가적으로 LPC 영역 신호에 대한 역 양자화기/코더 531, LPC 스펙트럴 영역 신호에 대한 역 양자화기/코더 533 및 항목(Item) 533의 출력을 위한 역 스펙트럴 변환기(Inverse Spectral Converter) 534를 포함한다. 제2 코딩 분기의 처리 분기들 내의 부호화된 신호 및 다시 복호화된 신호는 모두 스위치 제어 장치(Switch Control Device) 525에 입력된다. 더 낮은 왜곡(Distortion)을 가지는 신호가 스위치 521가 어떤 위치를 취할 지 결정하는 데 사용되도록 하기 위해 스위치 제어 장치 525에서는, 상기 두 출력 신호가 서로 및/또는 목표 함수(Target Function)와 비교되거나, 또는 양 신호에서의 왜곡(Distortion)의 비교를 기초로 한 목표 함수(Target Function)가 계산될 수 있다. 선택적으로, 양 분기가 일정하지 않은 비트율을 제공하는 경우에는, 심지어 한 분기의 신호대 잡음비(SNR : Signal to Noise Ratio)가 다른 분기의 신호대 잡음비보다 낮은 경우에도, 더 낮은 신호대 잡음비를 제공하는 분기가 선택될 수 있다. 선택적으로, 목표 함수는, 특정 목표를 위한 최선의 결정(Decision)을 찾기 위해, 입력으로써, 각 신호의 신호대 잡음비와 각 신호의 비트율 및/또는 추가적인 기준(Criterion)을 사용할 수 있다. 만일, 예를 들어, 목표가 비트율이 가능한 한 낮아야만 하는 것이라면, 목표 함수는 구성요소 531, 534에 의한 두 신호 출력의 비트율에 강하게 의존할 것이다. 그러나, 주요 목표가 특정한 비트율에 대해 최고의 품질을 가지는 것일 때에는, 스위치 제어 525는, 예를 들어, 허용된 비트율 아래에 있는 각 신호를 폐기할 수 있고 양 신호들이 허용된 비트율 아래에 있는 때에는, 상기 스위치 제어는 더 좋은 신호대 잡음비를 가지는, 즉 더 작은 양자화/코딩 왜곡을 가지는 신호를 선택할 것이다.
본 발명에 따른 복호화 방법은, 전술한 바와 같이, 도 1b에 나타난다. 세 가지 가능한 출력 신호 종류 각각에 대해, 특정 복호화/재양자화 단계 431, 531, 및 533이 존재한다. 단계 431은 제1 제어 가능 변환기(예컨대, 주파수/시간 변환기) 440를 사용하여 시간 영역으로 변환되는 시간-스펙트럼을 출력하는 반면, 단계 531은 LPC 영역 신호(LPC-domain Signal)를 출력하고, 항목(Item) 533은 LPC 스펙트럼(LPC-spectrum)을 출력한다. 스위치 532로의 입력 신호들이 모두 LPC 영역에 있다는 것을 확실히 하기 위해, LPC 스펙트럼/LPC 변환기(LPC-spectrum/LPC-converter) 534가 제공된다. 상기 스위치 532의 출력 데이터는, 부호화기측에서 발생되어 전송된 LPC 정보에 의해 제어되는 LPC 합성 단계(LPC Synthesis Stage) 540를 사용하여 도로 시간 영역으로 변환된다. 그러면, 블록 540에 순차적으로, 양 분기는, 도 1a의 부호화 방법으로의 신호 입력에 종속되는 모노 신호, 스테레오 신호 또는 다중 채널 신호와 같은 오디오 신호를 최종적으로 얻기 위해, 스위치 제어 신호에 따라 스위칭되는 시간 영역 정보를 가진다.
도 1c는 도 4b의 원리와 유사한 스위치 521의 다른 구성을 가진 추가 실시예를 나타낸다.
도 2a는 상기 발명의 제2 측면에 따른 바람직한 부호화 방법을 나타낸다. 스위치 200 입력에 연결된 일반적인(common) 전 처리 방법은, 출력으로써, 둘 또는 그 이상의 채널을 갖는 신호인 입력 신호를 하향 혼합(Downmixing)하여 발생되는 모노 출력 신호 및 결합 스테레오 파라미터(Joint Stereo Parameter)를 발생시키는 서라운드/결합 스테레오 블록(Surround/Joint Stereo Block) 101을 포함할 수 있다. 일반적으로, 블록 101의 출력에서의 신호는 더 많은 채널을 갖는 신호일 수도 있으나, 블록 101의 하향 혼합(Downmixing) 기능 때문에, 블록 101의 출력에서의 채널의 수는 블록 101으로의 채널 입력의 수보다 작다.
일반적인(common) 전 처리 방법은 상기 블록 101 대신에 또는 상기 블록 101에 추가로 대역폭 확장 단계(Bandwidth Extension Stage) 102를 포함할 수 있다. 도 2a의 실시예에서, 블록 101의 출력은, 도 2a의 부호화기 내에서 출력단에서 저대역 신호 또는 저역 통과 신호와 같은 대역 제한 신호(Band-limited Signal)를 출력하는, 대역폭 확장 블록 102로 입력된다. 바람직하게는, 상기 신호는 다운샘플링(예를 들어 2의 팩터(Factor)에 의해)될 수도 있다. 또한, 블록 102로의 신호의 입력의 고대역에 대해서는, MPEG-4의 HE-AAC 프로파일로 불리는 스펙트럴 엔빌로프 파라미터(Spectral Envelop Parameter), 역 필터링 파라미터(Inverse Filtering Parameter), 잡음 플로어 파라미터(Noise Floor Parameter) 등과 같은 대역폭 확장 파라미터들이 발생되고 비트 스트림 다중화기 800로 전송된다.
바람직하게는, 결정 단계 300는, 예를 들어, 음악 모드 또는 음성 모드 사이를 결정하기 위해 블록 101으로의 신호 입력 또는 블록 102으로의 입력을 수신한다. 음악 모드에서는 위쪽 코딩 분기 400가 선택되는 반면에, 음성 모드에서는 아래쪽 코딩 분기 500가 선택된다. 바람직하게는, 상기 결정 단계는 추가로, 특정 신호에 블록들의 기능을 적합화하기 위해 결합 스테레오 블록 101 및/또는 대역폭 확장 블록 102을 제어한다. 따라서, 상기 결정 단계가 입력 신호의 일정 시간 부분이 음악 모드와 같은 제1 모드의 것이라고 결정할 경우, 블록 101 및/또는 블록 102의 특정 특징이 결정 단계 300에 의해 제어된다. 선택적으로, 결정 단계 300가 신호가 음성 모드에 있거나, 일반적으로, 제2 LPC 영역 모드(Second LPC-domain Mode)에 있다고 결정할 경우 블록 101, 102들의 특정한 특징이 결정 단계 출력에 따라 제어될 수 있다.
바람직하게는, 코딩 분기 400의 스펙트럴 변환은 MDCT 연산, 더욱 바람직하게는 시간 워핑된 MDCT 연산(Time-warped MDCT Operation)을 이용하여 행해지며, 그 세기, 또는 일반적으로 그 워핑 세기(Warping Strength)는 0과 높은 워핑 세기 사이에서 조절될 수 있다. 0인 워핑 세기에서는, 블록 411에서의 MDCT 연산은 당해 기술 분야에서 알려진 간단한 MDCT 연산이다. 시간 워핑 보조 정보(Time Warping Side Information)를 함께 갖는 시간 워핑 세기(Time Warping Strength)는 보조 정보로써 비트 스트림 다중화기 800으로 전송/입력될 수 있다.
LPC 코딩 분기에서 LPC 영역 부호화기는, 피치 이득(Pitch Gain), 피치 지연(Pitch Lag) 및/또는 코드북 인덱스와 이득(Codebook Index and Gain)과 같은 그러한 코드북 정보를 계산하는 ACELP 코어 526(ACELP core 526)을 포함할 수 있다. 3GPP TS 26.290으로 알려진 TCX 모드는 변환 영역에서 지각적으로 가중된 신호(Perceptually Weighted Signal)의 처리를 가져온다. 푸리에 변환된 가중 신호(Fourier-transformed Weighted Signal)는, 잡음 팩터 양자화(Noise Factor Quantization)를 갖는 분할 다중-비율 격자 양자화(Split Multi-rate Lattice Quantization)(대수 VQ(Algebraic VQ))를 이용하여 양자화된다. 변환은 1024, 512 또는 216 샘플 윈도우에서 계산된다. 여기 신호는 역 가중 필터(Inverse Weighting Filter)를 통해 양자화된 가중 신호(Quantized Weighted Signal)를 역 필터링 함으로써 회복된다.
제1 코딩 분기 400에서, 스펨트럴 변환기(Spectral Converter)는 바람직하게는윈도우 함수 후 단일 벡터 양자화 단계를 가질 수 있으나 도 2a의 항목 421에서 주파수 영역 코딩 분기에서의 양자화기/코더와 유사한 결합된 스칼라 양자화기/엔트로피 코더인 양자화 엔트로피 부호화 단계를 가지는 특별히 적응적인 MDCT 연산을 포함한다.
제2 코딩 분기에는, LPC 블록 510 뒤에 스위치 521 다시 뒤에 ACELP 블록 526 또는 TCX 블록 527이 있다. ACELP는 3GPP TS 26.190에서 설명되며, TCX는 3GPP TS 26.290에서 설명된다. 일반적으로, ACELP 블록 526은 도 7e에 나타난 것과 같은 절차에 의해 계산되는 것과 같은 LPC 여기 신호(LPC Excitation Signal)를 수신한다. TCX 블록 527은 도 7f에 의해 발생되는 것과 같은 가중 신호(Weighted Signal)를 수신한다.
TCX에서, 변환은 LPC 기반 가중 필터(LPC-based Weighted Filter)를 통해 입력 신호를 필터링함으로써 계산된 가중 신호(Weighted Signal)에 적용된다. 상기 발명의 바람직한 실시예에서 사용되는 가중 필터(Weighted Filter)는
Figure 112011034372218-pct00001
로 주어진다. 따라서, 가중 신호는 LPC 영역 신호이고, 그 신호의 변환은 LPC 스펙트럴 영역이다. ACELP 블록 526에 의해 처리되는 신호는 여기 신호이고 상기 블록 527에서 처리되는 신호와는 다르나, 양 신호 모두 LPC 영역에 있다.
도 2b에 나타난 복호화기 측에서, 블록 537에서의 역 스펙트럴 변환(Inverse Spectral Transform) 후, 가중 필터의 역이 적용되며, 이는
Figure 112011034372218-pct00002
이다. 그러면, 신호는 LPC 여기 영역으로 가기 위해 (1-A(z))를 통해 필터링된다. 따라서, LPC 영역 블록 534로의 변환(Conversion)과 TCX-1 블록 537은, 역변환(Inverse Transform)과 그 후 가중 영역(Weighted Domain)으로부터 여기 영역(Excitation Domain)으로 변환하기 위한,
Figure 112011034372218-pct00003
을 통한 필터링을 포함한다.
비록 도 1a, 1c, 2a, 2c의 항목(Item) 510은 하나의 블록을 나타내지만, 신호들이 LPC 영역에 있는 한, 다른 신호들을 출력할 수 있다. 여기 신호 모드 또는 가중 신호 모드와 같은 블록 510의 실제 모드(Actual Mode)는 실제 스위치 상태에 좌우된다. 선택적으로, 블록 510은 두 개의 병렬적인 처리 장치를 가질 수 있으며, 하나의 장치는 도 7e와 유사하게 구현되고 다른 장치는 도 7f에서처럼 구현된다. 그러므로, 블록 510의 출력에서의 LPC 영역은 LPC 여기 신호 또는 LPC 가중 신호 또는 다른 LPC 영역 신호를 나타낼 수 있다.
도 2a 또는 2c의 제2 코딩 분기(ACELP/TCX)에서, 신호는 바람직하게는 부호화 전에, 필터
Figure 112013038168767-pct00004
를 통해 프리엠퍼시스(Pre-emphasized)된다. 도 2b의 ACELP/TCX 복호화기에서, 합성된 신호는 필터
Figure 112013038168767-pct00005
로 디엠퍼시스(Deemphasized)된다. 상기 프리엠퍼시스(Pre-emphasis)는, 신호가 LPC 분석(LPC Analysis) 및 양자화 전에 프리엠퍼시스되는 LPC 블록 510의 일부일 수 있다. 유사하게, 디엠퍼시스는 LPC 합성 블록(LPC Synthesis Block) LPC-1 540의 일부일 수 있다.
도 2c는 도 2a의 구현에 대한, 그러나 도 4b의 원리와 유사한 스위치 521의 다른 구성을 가진 추가 실시예를 나타낸다.
바람직한 실시예에서, 제1 스위치 200(도 1a 또는 2a를 참고한다.)는 개방 루프 결정(Open-loop Decision)(도 4a에서 처럼)을 통해 제어되고 제2 스위치는 폐 루프 결정(Closed-loop Decision)(도 4b에서 처럼)을 통해 제어된다.
예를 들어, 도 2c는 도 4b에 있는 것처럼 ACELP 및 TCX 뒤에 위치한 제2 스위치를 포함한다. 그러면, 제1 처리 분기에서는 제1 LPC 영역이 LPC 여기(LPC Excitation)를 나타내고, 제2 처리 분기에서는 제2 LPC 영역이 LPC 가중 신호(LPC Weighted Signal)를 나타낸다. 제1 LPC 영역 신호는 LPC 잔여 영역(LPC Residual Domain)으로 변환하기 위한 (1-A(z))를 통한 필터링에 의해 얻어지고, 반면에 제2 LPC 영역 신호는 LPC 가중 영역(LPC Weighted Domain)으로 변환하기 위한
Figure 112011034372218-pct00006
를 통한 필터링에 의해 얻어진다.
도 2b는 도 2a의 부호화 방법에 대응하는 복호화 방법을 나타낸다. 도 2a의 비트 스트림 다중화기 800에 의해 발생된 비트 스트림은 비트 스트림 역 다중화기 900로 입력된다. 예를 들어 모드 탐지 블록(Mode Detection Block) 601에 의한 비트 스트림으로부터 도출된 정보에 따르면, 복호화기측 스위치 600는 위쪽 분기로부터의 신호 또는 아래쪽 분기로부터의 신호를 대역폭 확장 블록 701으로 진행시키도록 제어된다. 대역폭 확장 블록 701은, 비트 스트림 역 다중화기 900로부터, 보조 정보를 수신하고, 상기 보조 정보와 모드 결정(Mode Decision) 601의 출력에 기초하여, 스위치 600에 의한 저대역(Low Band) 출력을 기초로 한 고대역(High Band)을 복원한다.
블록 701에 의해 발생된 전대역(Full Band) 신호는 두 스테레오 채널 또는 몇몇의 다중 채널을 복원하는 결합 스테레오/서라운드 처리 단계(Joint Stereo/Surround Processing Stage) 702로 입력된다. 일반적으로, 블록 702은 이 블록으로 입력되는 것보다 더 많은 채널을 출력한다. 적용에 따라, 이 블록에서의 출력이 이 블록으로의 입력에 비해 더 많은 채널을 포함하는 한 블록 702으로의 입력은 더 많은 채널을 포함할 수도 있고 스테레오 모드에서와 같은 두 채널을 포함할 수도 있다.
스위치200는 오직 하나의 분기만이 처리할 신호를 수신하고 다른 분기는 처리할 신호를 수신하지 않도록 하기 위해, 양 분기 사이를 스위칭시키는 것으로 설명되어 왔다. 그러나 선택적인 실시예에서 스위치는, 예를 들어 양자화/부호화기 (예컨대, 오디오 부호화기) 421와 여기 부호화기(Excitation Encoder) 522, 523, 524가 순차적으로 배열될 수 있으며, 이는 양 분기 400, 500가 같은 신호를 평행하게 처리한다는 것을 의미한다. 그러나, 비트율을 두 배도 늘리지 않기 위해, 오직 상기 코딩 분기 400, 500 중 하나에 의한 신호 출력만이, 출력 비트 스트림에 기록되기 위해 선택된다. 그러면 결정 단계는 비트 스트림에 기록된 신호가 일정 비용 함수를 최소화하도록 하기 위해 동작하며, 상기 비용 함수는 발생된 비트율 또는 발생된 지각 왜곡(Perceptual Distortion) 또는 결합된 율/왜곡(Combined Rate/Distortion) 비용 함수일 수 있다. 그러므로, 이러한 모드 또는 도면에 나타난 모드에서, 결정 단계는 또한, 마지막으로, 코딩 분기 출력이 오직 주어진 지각 왜곡에 대해 가장 낮은 비트율 또는 주어진 비트율에 대해 가장 낮은 지각 왜곡을 갖는 비트 스트림에 기록되는 것을 확실히 하기 위해, 폐 루프 모드에서 동작할 수도 있다. 폐 루프 모드에서, 피드백 입력은 도 1a에 있는 세 양자화/부호화기(예컨대, 양자화/스케일러 블록(Quantizer/Scaler Block)) 421, 522, 524의 출력으로부터 도출될 수 있다.
두 개의 스위치, 즉 제1 스위치 200 및 제2 스위치 521를 갖는 구현에서는, 제1 스위치에서의 시간 분해능이 제2 스위치에서의 시간 분해능보다 더 낮은 것이 바람직하다. 다르게 말하면, 스위치 동작에 의해 스위칭될 수 있는, 제1 스위치로의 입력 신호의 블록은 LPC 영역에서 동작하는 제2 스위치에 의해 스위칭되는 블록보다 더 크다. 예시적으로, 각각 주파수 영역/LPC 영역 스위치 200는 1024 샘플 길이의 블록을 스위칭시킬 수 있고, 제2 스위치 521는 256 샘플을 갖는 블록을 스위칭시킬 수 있다.
비록 도 1a부터 도 10b까지 중 몇몇은 장치의 블록도로 나타내어지지만, 상기 도면들은 동시에 블록 기능이 방법 단계에 대응하는, 방법의 도해도 된다.
도 3a는 제1 코딩 분기 400와 제2 코딩 분기 500의 출력으로써 부호화된 오디오 신호를 발생시키기 위한 오디오 부호화기를 나타낸다. 또한, 부호화된 오디오 신호는, 바람직하게는 일반적인(common) 전 처리 단계로부터의 전 처리 파라미터(Pre-processing Parameter)와 이전의 도면들과 관련되어 논의된 것과 같은, 스위치 제어 정보(Switch Control Information) 또는 보조 정보를 포함한다.
바람직하게는, 제1 코딩 분기는 제1 코딩 알고리즘에 따라 오디오 중간 신호(Intermediate Signal) 195를 부호화하도록 동작하되, 제1 코딩 알고리즘은 정보 싱크 모델(Information Sink Model)을 가진다. 제1 코딩 분기 400는 오디오 중간 신호 195의 부호화된 스펙트럴 정보 표현인 제1 부호화기 출력 신호를 발생시킨다.
나아가, 제2 코딩 분기 500는 제2 코딩 알고리즘에 따라 오디오 중간 신호 195를 부호화하는데 적합화되며, 제2 코딩 알고리즘은 정보 소스 모델(Information Source Model)을 가지고, 제2 부호화기 출력 신호에서, 상기 중간 오디오 신호를 나타내는 정보 소스 모델에 대한 부호화된 파라미터를 발생시키다.
오디오 부호화기는 오디오 중간 신호 195를 얻기 위해 오디오 입력 신호99를 전 처리하기 위한 일반적인(common) 전 처리 단계(Pre-processing Stage)를 더 포함한다. 특히, 일반적인(common) 전 처리 단계는, 오디오 중간 신호 195, 즉 일반적인(common) 전 처리 알고리즘의 출력이 오디오 입력 신호의 압축된 형태(Compressed Version)이 되도록 하기 위해 오디오 입력 신호 99를 처리하도록 동작한다.
부호화된 오디오 신호를 발생시키기 위한 바람직한 오디오 부호화 방법은, 정보 싱크 모델을 포함하고, 제1 출력 신호에서, 오디오 신호를 나타내는 부호화된 스펙트럴 정보를 발생시키는 제1 코딩 알고리즘에 따라 오디오 중간 신호 195를 부호화(400)하는 단계; 정보 소스 모델을 가지고, 제2 출력 신호에서, 중간 신호 195를 나타내는 정보 소스 모델을 위한 부호화된 파라미터를 발생시키는 제2 코딩 알고리즘에 따라 오디오 중간 신호 195를 부호화(500)하는 단계; 및 오디오 중간 신호 195를 얻기 위해 오디오 입력 신호 99를 일반적으로 전 처리(100)하는 단계를 포함하되, 상기 일반적으로 전 처리하는 단계에서, 오디오 입력 신호 99는 오디오 중간 신호 195가 오디오 입력 신호 99의 압축된 형태가 되도록 처리되고, 상기 부호화된 오디오 신호는, 오디오 신호의 특정 부분에서 제1 출력 신호 또는 제2 출력 신호를 포함한다. 상기 방법은 바람직하게는 제1 코딩 알고리즘 또는 제2 코딩 알고리즘을 이용하여 오디오 중간 신호의 일정 부분을 부호화하거나, 또는 두 알고리즘을 모두 이용하여 상기 신호를 부호화하고, 부호화된 신호에서 제1 코딩 알고리즘의 결과 또는 제2 코딩 알고리즘의 결과를 출력하는 단계를 더 포함한다.
일반적으로, 제1 코딩 분기 400에 사용되는 오디오 코딩 알고리즘은 오디오 싱크(Audio Sink)에서의 환경을 반영하고 모델링한다. 오디오 정보의 싱크는 보통 인간의 귀이다. 인간의 귀는 주파수 분석기로써 모델링될 수 있다. 그러므로, 제1 코딩 분기는 부호화된 스펙트럴 정보를 출력한다. 바람직하게는, 제1 코딩 분기는 심리 음향 마스킹 임계치(Psychoacoustic Masking Threshold)를 추가로 적용하기 위한 심리 음향 모델(Psychoacoustic Model)을 더 포함한다. 상기 심리 음향 마스킹 임계치는 오디오 스펙트럴 값(Audio Spectral Value)을 양자화할 때 사용되며, 바람직하게는 상기 양자화는 수행되되, 양자화 잡음(Quantization Noise)이 심리 음향 마스킹 임계치 아래 숨겨진 스펙트럴 오디오 값을 양자화함으로써 유입되도록 한다.
제2 코딩 분기는 오디오 음향의 발생을 반영하는 정보 소스 모델(Information Source Model)을 나타낸다. 그러므로, 정보 소스 모델은 LPC 분석 단계에 의해, 즉 시간 영역 신호를 LPC 영역으로 변환하고 순차적으로 LPC 잔여 신호(LPC Residual Signal), 즉 여기 신호(Excitation Signal)를 처리함에 의해 나타내어지는 음성 모델(Speech Model)을 포함할 수 있다. 그러나, 선택 적인 음향 소스 모델들은 일정 악기(Instrument)를 나타내기 위한 음향 소스 모델 또는 현실로 존재하는 특정 음향 소스와 같은 어떠한 음향 발생기이다. 다른 음향 소스 모델들 사이에서 선택은, 몇몇 음향 소스 모델이, 예를 들면 SNR 계산, 즉 어떠한 소스 모델이 오디오 신호의 일정 시간 부분 및/또는 주파수 부분을 부호화하는데 가장 적합한 것인지에 대한 계산에 기초하여 유효할 때 수행된다. 바람직하게는, 그러나, 코딩 분기 사이의 스위치는 시간 영역에서 동작되며, 즉 특정 시간 부분은 하나의 모델을 이용하여 부호화되고 중간 신호(Intermediate Signal)의 특정한 다른 시간 부분은 다른 코딩 분기를 이용하여 부호화된다.
정보 소스 모델은 특정 파라미터에 의해 나타내어진다. 음성 모델에 대해서는, AMR-WB+와 같은 최신의 음성 코더가 고려될 때, 상기 파라미터는 LPC 파라미터와 코딩된 여기 파라미터(Coded Excitation Parameter)이다. 상기 AMR-WB+는 ACELP 부호화기와 TCX 부호화기를 포함한다. 이 경우에, 코딩된 여기 파라미터는 전역 이득, 잡음 플로어(Noise Floor) 및 가변 길이 코드(Variable Length Code)일 수 있다.
도 3b는 도 3a에 나타난 부호화기에 대응하는 복호화기다. 일반적으로, 도 3b는 복호화된 오디오 신호 799를 얻도록, 부호화된 오디오 신호를 복호화하기 위한 오디오 복호화기를 나타낸다. 상기 복호화기는, 정보 싱크 모델을 갖는 제1 코딩 알고리즘에 따라 부호화된 부호화 신호를 복호화하기 위한 제1 복호화 분기 450를 포함한다. 상기 오디오 복호화기는, 정보 소스 모델을 갖는 제2 코딩 알고리즘에 따라 부호화된 정보 신호를 복호화하기 위한 제2 복호화 분기 550를 더 포함한다. 상기 오디오 복호화기는 추가로, 결합된 신호를 얻기 위해 제1 복호화 분기 450 및 제2 복호화 분기 550로부터의 출력 신호를 결합하기 위한 결합기(Combiner)를 포함한다. 일반적인(common) 전-처리 단계의 출력 신호가 결합된 신호의 확장된 버전이기 위해서는 도 3b에서 복호화된 오디오 중간 신호 699로 도시된 결합 신호는 결합기 600에 의한 결합된 출력 신호인 복호화된 오디오 중간 신호 699를 후 처리하기 위한 일반적인(common) 후처리 단계 700으로 입력된다. 따라서, 복호화된 오디오 신호(Decoded Audio Signal) 799는 복호화된 오디오 중간 신호 699에 비해 향상된 정보 내용(Enhanced Information Content)을 가진다. 상기 정보 확장은, 일반적인(common) 후 처리 단계에 의해 부호화기에서 복호화기로 전송될 수 있고 또는 복호화된 오디오 중간 신호 자체로부터 도출될 수도 있는 전/후 처리 파라미터의 도움을 받는다. 바람직하게는, 그러나, 부호화기에서 복호화기로 전송되는 이러한 절차가 복호화된 오디오 신호의 향상된 품질을 가능하게 하기 때문에, 전/후 처리 파라미터들은 부호화기에서 복호화기로 전송된다.
도 3c는, 본 발명의 바람직한 실시예에 따른 도 3a의 중간 오디오 신호 195와 동일할 수 있는, 오디오 입력 신호 195를 부호화하기 위한 오디오 부호화기를 나타낸다. 상기 오디오 입력 신호 195는, 예를 들어, 시간 영역일 수도 있으나, 주파수 영역, LPC 영역, LPC 스펙트럴 영역 또는 그 밖의 영역과 같은 어떠한 다른 영역일 수도 있는 제1 영역에 있다. 일반적으로, 하나의 영역에서 다른 영역으로의 변환은 어떠한 잘 알려진 시간/주파수 변환 알고리즘 또는 주파수/시간 변환 알고리즘과 같은 변환 알고리즘에 의해 수행된다.
시간 영역으로부터의 대체 가능한 변환은, 예를 들어 LPC 영역에서, LPC 잔여 신호(LPC Residual Signal) 또는 여기 신호(Excitation Signal)를 발생시키는 시간 영역 신호를 필터링하는 LPC의 결과이다. 변환 전 신호 샘플의 실질적인 수에 영향을 미치는 필터링된 신호를 제공하는 어떠한 필터링 연산도, 경우에 따라 변환 알고리즘처럼 사용될 수 있다. 그러므로, 가중 필터(Weighting Filter)에 기반을 둔 LPC를 이용하여 오디오 신호를 가중(Weighting)하는 것은 LPC 영역에서 신호를 발생시키는 추가 변환이다. 시간/주파수 변환에서, 단일 스펙트럴 값의 변경은 변환 전의 모든 시간 영역 값들에 영향을 미칠 것이다. 유사하게, 어떤 시간 영역 샘플의 변경도 각 주파수 영역 샘플에 영향을 미칠 것이다. 유사하게, LPC 영역 환경에서 여기 신호의 샘플의 변경은, LPC 필터의 길이 때문에, LPC 필터링 전 샘플의 상당한 수에 영향을 미칠 것이다. 유사하게, LPC 변환 전 샘플의 변경은 LPC 필터의 고유 메모리 효과(Inherent Memory Effect) 때문에 상기 LPC 변환에 의해 얻어지는 많은 샘플에 영향을 미칠 것이다.
도 3c의 오디오 부호화기는 제1 부호화 신호를 발생시키는 제1 코딩 분기(First Coding Branch) 400를 포함한다. 제1 부호화 신호는, 바람직한 실시예에서, 시간-스펙트럴 영역, 즉 시간 영역 신호가 시간/주파수 변환에 의해 처리될 때 얻어지는 영역인 제4 영역에 있을 수 있다.
그러므로, 오디오 신호를 부호화하기 위한 제1 코딩 분기 400은 제1 부호화 신호를 얻기 위해 제1 코딩 알고리즘을 사용하며, 제1 코딩 알고리즘은 시간/주파수 변환 알고리즘을 포함하거나 포함하지 않을 수 있다.
오디오 부호화기는 오디오 신호를 부호화하기 위한 제2 코딩 분기(Second Coding Branch) 500를 더 포함한다. 제2 코딩 분기 500는 제2 부호화 신호(Second Encoded Signal)를 얻기 위해, 제1 코딩 알고리즘과는 다른 제2 코딩 알고리즘을 사용한다.
오디오 부호화기는, 오디오 입력 신호의 부분에서, 블록 400의 출력에서의 제1 부호화 신호 또는 제2 코딩 분기의 출력에서의 제2 부호화 신호가 부호화기 출력 신호에 포함되도록 하기 위해, 제1 코딩 분기 400와 제2 코딩 분기 500 사이를 스위칭하는 제1 스위치 200를 더 포함한다. 따라서, 오디오 입력 신호 195의 특정 부분에 대해 제4 영역의 제1 부호화된 신호가 부호화기 출력 신호에 포함될 때에는, 제2 영역에서의 제1 처리 신호(First Processed Signal) 또는 제3 영역에서의 제2 처리 신호(Second Processed Signal)인 제2 부호화 신호는 부호화기 출력 신호에 포함되지 않는다. 이는 상기 부호화기가 비트율에 있어 효율적이라는 것을 보장한다. 실시예에서, 두 다른 부호화된 신호에 포함된 오디오 신호의 어떤 시간 부분도 도 3e와 관련해서 논의될 프레임의 프레임 길이에 비해 작다. 이러한 작은 부분들은, 어떠한 교차 페이드(Cross Fade) 없이 일어날 수 있는 아티팩트(Artifact)를 감소시키기 위해 스위칭이 일어나는 경우에 하나의 부호화된 신호로부터 다른 부호화된 신호로의 교차 페이드(Cross Fade)에 유용하다. 그러므로, 교차 페이드 영역(Cross Fade Region)외에, 각 시간 영역 블록은 오직 단일 영역(Single Domain)의 부호화된 신호에 의해 나타내어진다.
도 3c에 나타난 것처럼, 제2 코딩 분기 500는 제1 영역에서의 오디오 신호, 즉 신호 195를 제2 영역으로 변환하기 위한 변환기(Converter) 510를 포함한다. 또한, 제2 코딩 분기 500은 제1 처리 분기(First Processing Branch) 522가 영역 변환을 수행하지 않도록 바람직하게는 또한 제2 영역에 있는 제1 처리 신호(First Processed Signal)를 얻기 위해 제2 영역에서 오디오 신호를 처리하기 위한 제1 처리 분기 522를 포함한다.
제2 코딩 분기 500는 추가로 제2 영역의 오디오 신호를 제1 영역과 다르고 또한 제2 영역과도 다르며 상기 제2 처리 분기 523, 524의 출력에서 제2 처리 신호(Second Processed Signal)를 얻기 위해 제3 영역에서 오디오 신호를 처리하는 제3 영역으로 변환하는 제2 처리 분기(Second Processing Branch) 523, 524를 포함한다.
또한, 제2 코딩 분기는, 제2 코딩 분기로의 오디오 신호 입력의 부분에 대해, 제2 영역에서의 제1 처리 신호 또는 제3 영역에서의 제2 처리 신호가 제2 부호화 신호(Second Encoding Signal)가 되도록 하기 위해, 제1 처리 분기 522와 제2 처리 분기 523, 524 사이를 스위칭하기 위한 제2 스위치 521를 포함한다.
도 3d는 도 3c의 부호화기에 의해 발생되는 부호화된 오디오 신호를 복호화하기 위한 대응하는 복호화기를 나타낸다. 일반적으로, 제1 영역 오디오 신호의 각 블록은 바람직하게는, 임계 샘플링 한계(Critical Sampling Limit)에 가능한 한 많이 있는 시스템을 얻기 위해 하나의 프레임의 길이에 비해 짧은 임의의 교차 페이드 영역을 제외하고 제2 영역 신호, 제3 영역 신호 또는 제4 영역 부호화 신호(Fourth Encoded Signal)에 의해 나타내어진다. 상기 부호화된 오디오 신호는 제1 부호화 신호(First Coded Signal), 제2 영역의 제2 부호화 신호(Second Coded Signal) 및 제3 영역의 제3 부호화 신호(Third Coded Signal)를 포함하며, 제1 부호화 신호, 제2 부호화 신호 및 제3 부호화 신호는 복호화된 오디오 신호의 다른 시간 부분들에 관련하고, 복호화된 오디오 신호의 제2 영역, 제3 영역 및 제1 영역은 서로 다르다.
상기 복호화기는 제1 코딩 알고리즘에 기초하여 복호화하기 위한 제1 복호화 분기를 포함한다. 제1 복호화 분기는 도 3d의 431, 440에 나타나고, 바람직하게는 주파수/시간 변환기를 포함한다. 제1 부호화 신호는 바람직하게는 제4 영역에 있고 복호화된 출력 신호를 위한 영역인 제1 영역으로 변환된다.
도 3d의 복호화기는 몇몇 구성 요소를 포함하는 제2 복호화 분기를 더 포함한다. 이러한 구성요소는 블록 531의 출력에서 제2 영역의 제1 역 처리 신호(First Inverse Processed Signal)를 얻기 위해 제2 부호화 신호를 역 처리하기 위한 제1 역 처리 분기(First Inverse Processing Branch) 531이다. 상기 제2 복호화 분기는 추가로 제2 영역에서의 제2 역 처리 신호(Second Inverse Processed Signal)를 얻기 위해 제3 부호화 신호를 역 처리하기 위한 제2 역 처리 분기(Second Inverse Processing Branch) 533,534를 포함하며, 상기 제2 역 처리 분기는 제3 영역으로부터 제2 영역으로 변환하기 위한 변환기를 포함한다.
제2 복호화 분기는 제2 영역에서의 신호를 얻기 위해 제1 역 처리 신호와 제2 역 처리 신호를 결합하는 제1 결합기 532를 더 포함하며, 결합된 신호는, 처음 시점에는, 오직 제1 역 처리 신호에 의해서만 영향을 받고, 나중 시점에는, 오직 제2 역 처리 신호에만 영향을 받는다.
제2 복호화 분기는 추가로 상기 결합된 신호를 제1 영역으로 변환하기 위한 변환기 540를 포함한다.
마지막으로, 도 3d에 나타난 복호화기는, 제1 영역에서 복호화된 출력 신호를 얻기 위해, 블록 431, 440으로부터의 복호화된 제1 신호(Decoded First Signal)와 변환기 540 출력 신호를 결합하기 위한 제2 결합기 600을 포함한다. 다시, 제1 영역의 복호화된 출력 신호는, 처음 시점에는, 오직 변환기 540에 의한 신호 출력에 의해서만 영향을 받고, 나중 시점에는, 오직 블록 431, 440에 의한 제1 복호화 신호에 의해서만 영향을 받는다.
이러한 상황은 도 3e에, 부호화기 관점에서, 나타난다. 도 3e의 위쪽 부분은 시간 영역 오디오 신호와 같은 그러한 제1 영역 오디오 신호를 도식적인 형태로 나타내며, 시간 인덱스는 왼쪽에서 오른쪽으로 증가하고 항목 3(Item 3)은 도 3c의 신호 195를 나타내는 오디오 샘플의 스트림으로 간주될 수 있다. 도 3e는, 도 3e의 항목 4(Item 4)에 나타난 것처럼 제1 부호화 신호, 제1 처리 신호 및 제2 처리 신호 사이를 스위칭함으로써 발생될 수 있는 프레임 3a, 3b, 3c, 3d를 나타낸다. 상기 제1 부호화 신호, 제1 처리 신호 및 제2 처리 신호는 모두 다른 영역에 있고, 다른 영역들 사이의 스위치가 복호화기 측에서 아티팩트(Artifact)를 야기하지 않음을 보장하기 위해, 시간 영역 신호의 프레임(3a, 3b)은 교차 페이드 영역으로 나타내어진 오버래핑 범위(Overlapping Range)을 가지며, 그러한 교차 페이드 영역은 프레임 3b와 3c에 있다. 그러나, 프레임 3d, 3c 사이에는 그러한 교차 페이드 영역은 존재하지 않으며, 이는 프레임 3d 또한 제2 처리 신호, 즉 제2 영역 내의 신호에 의해서 나타내어지고, 프레임 3c와 3d 사이에는 영역 변화가 없음을 의미한다. 그러므로, 일반적으로, 영역 변화가 없는 교차 페이드 영역을 제공하는 것은 바람직하지 않고, 교차 페이드 영역, 즉 영역 변화, 말하자면 두 스위치 중 어느 하나라도 스위칭 동작이 있을 때 두 개의 연속하는 코딩된/처리된 신호들에 의해 부호화되는 오디오 신호의 부분을 제공하는 것이 바람직하다. 바람직하게는, 교차 페이드는 다른 영역 변화를 위해 수행된다.
제1 부호화 신호 또는 제2 처리 신호가 예를 들어 50 퍼센트 오버랩(Overlap)을 가지는 MDCT 처리에 의해 발생되는 실시예에서, 각 시간 영역 신호는 두 개의 연속하는 프레임에 포함된다. 그러나, MDCT의 특성으로 인하여, 이것은 오버헤드(Overhead)를 유발하지 않으며 이는 MDCT는 임계 샘플링되는 시스템(Critically Sampled System)이기 때문이다. 이러한 문맥에서는, 임계 샘플링된다는 것은 스펙트럴 값의 수가 시간 영역 값의 수와 동일하다는 것을 의미한다. MDCT 블록으로부터 다음 MDCT 블록으로의 크로스오버(Crossover)가 임계 샘플링 요구를 방해하는 어떠한 오버헤드(Overhead) 없이 제공되도록 하기 위해, 상기 MDCT는 크로스오버 효과가 특정 크로스오버 영역 없이 제공되도록 하는 데 유리하다.
바람직하게는, 제1 코딩 분기에서의 제1 코딩 알고리즘은 정보 싱크 모델에 기초하고, 제2 코딩 분기에서의 제2 코딩 알고리즘은 정보 소스 또는 SNR 모델에 기초한다. SNR 모델은 특정 음향 발생 메커니즘에 특별하게 관계된 모델이 아니라, 예를 들면 폐 루프 결정(Closed-loop Decision)에 기초한 복수의 코딩 모드 사이에서 선택될 수 있는 하나의 코딩 모드인 모델이다. 따라서, SNR 모델은 필수적으로 음향 생성기의 물리적인 구성과 연관될 필요가 없고 서로 다른 모델들로부터의 SNR 결과를 비교함으로써 폐 루프 결정에 의해 선택되는 정보 싱크 모델과 다른 어떠한 파라미터화된 코딩 모델인 어떠한 가용한 모델이 될 수 있다.
도 3c에 나타난 바와 같이, 제어기(Controller) 300, 525가 제공된다. 상기 제어기는 도 1a의 결정 단계 300의 기능을 포함할 수 있고, 추가로, 도 1a의 스위치 제어 장치 525의 기능을 포함할 수 있다. 일반적으로, 상기 제어기는 신호 적응 방법(Signal Adaptive Way)으로 제1 스위치와 제2 스위치를 제어하기 위한 것이다. 상기 제어기는, 제1 스위치로의 신호 입력, 제1 또는 제2 코딩 분기에 의한 출력, 또는 목표 함수에 관하여 제1 및 제2 코딩 분기로부터 부호화 및 복호화 함으로써 얻어지는 신호를 분석하기 위해 작용한다. 선택적으로, 또는 부가적으로, 상기 제어기는, 제2 스위치로의 신호 입력, 제1 처리 분기에 의한 출력, 제2 처리 분기에 의한 출력, 또는 다시 목표 함수에 관하여, 제1 처리 분기와 제2 처리 분기로부터 처리 및 역 처리(Processing and Inverse Processing)함으로써 얻어지는 출력을 분석하기 위해 작용한다.
일 실시예에서, 제1 코딩 분기 또는 제2 코딩 분기는 앨리어싱 현상(Aliasing Effect)을 유발하지 않는, 단순한 FFT 변환과는 다른, MDCT 또는 MDST 알고리즘과 같은 그러한 앨리어싱 유발 시간/주파수 변환 알고리즘(Aliasing Introducing Time/Frequency Conversion Algorithm)을 포함한다. 또한, 하나 또는 양 분기는 양자화기/엔트로피 코더 블록(Quantizer/Entropy Coder Block)을 포함한다. 특히, 제2 코딩 분기의 제2 처리 분기만이 앨리어싱 동작을 유발하는 시간/주파수 변환기를 포함하고, 제2 코딩 분기의 제1 처리 분기는 양자화기 및/또는 엔트로피 코더를 포함하고 앨리어싱 현상을 유발하지 않는다. 상기 앨리어싱 유발 시간/주파수 변환기는 바람직하게는 분석 윈도우(Analysis Window)를 적용하기 위한 윈도우어(Windower)와 MDCT 변환 알고리즘을 포함한다. 특히, 상기 위도우어는, 윈도우잉된 신호의 샘플이 적어도 두 개의 연속되는 윈도우잉된 프레임에 나타나도록 하기 위해, 오버래핑 방법으로 연속되는 프레임에 윈도우 함수를 적용하도록 작용한다.
일 실시예에서, 제1 처리 분기는 ACELP 코더를 포함하고 제2 처리 분기는 MDCT 스펙트럴 변환기(MDCT Spectral Converter)와, 양자화된 스펙트럴 성분(Spectral Component)을 얻기 위해 스펙트럴 성분을 양자화하기 위한 양자화기를 포함하며, 각 양자화된 스펙트럴 성분은 0이거나 또는 복수의 서로 다른 가능한 양자화기 인덱스들 중 하나의 양자화기 인덱스에 의해 정의된다.
또한, 제1 스위치 200는 개방 루프 방법으로 동작하고 제2 스위치는 폐 루프 방법으로 동작하는 것이 바람직하다.
전술한 것처럼, 양 코딩 분기는 블록단위 방법(Block-wise Manner)으로 오디오 신호를 부호화하도록 작용하며, 양 코딩 분기 내에서 제1 스위치 또는 제2 스위치는, 스위칭 동작이, 최저 한도에서, 신호 샘플의 미리 정해진 수의 블록 후에 발생하도록 블록단위 방법으로 스위칭하고, 상기 미리 정해진 수는 대응하는 스위치에 대한 프레임 길이를 형성한다. 따라서, 제1 스위치에서 스위칭을 위한 그래뉼(Granule)은, 예를 들어, 2048 또는 1028 샘플의 블록이고, 제1 스위치 200가 기초하여 스위칭하는 상기 프레임 길이는 가변적일 수 있으나, 바람직하게는 꽤 긴 기간에 고정된다.
이와 반대로, 제2 스위치 521에서의 블록 길이는 즉 제2 스위치 521가 하나의 모드에서 다른 모드로 스위칭할 때, 제1 스위치에 대한 블록 길이보다 실질적으로 작다. 바람직하게는, 상기 스위치들의 양 블록 길이가 선택되되 긴 블록 길이가 작은 블록 길이의 정수배가 되도록 한다. 바람직한 실시예에서, 제1 스위치의 블록 길이는 2048 또는 1024이고 제2 스위치의 블록 길이는, 최대 한도에서, 제1 스위치가 단지 한 번 스위칭할 때 제2 스위치가 16번 스위칭할 수 있도록, 1024, 또는 더욱 바람직하게는 512, 그리고 심지어 더 바람직하게는 256, 그리고 심지어 더 바람직하게는 128 샘플이다. 그러나, 바람직한 최대 블록 길이 비율은 4:1이다.
추가 실시예에서, 상기 제어기 300, 525는, 음악으로의 결정(Decision to Music)에 대해 음성으로의 결정(Decision to Speech)이 선호되는 그러한 방법으로 제1 스위치에서 음성 음악 구별을 수행하도록 동작한다. 상기 실시예에서, 심지어 제1 스위치에 대한 프레임의 50% 미만인 부분이 음성이고 프레임의 50%를 초과한 부분이 음악인 경우에도, 음성으로의 결정이 취해진다.
또한, 상기 제어기는, 제1 프레임의 꽤 작은 부분이 음성일 때, 특히, 제1 프레임의 부분이, 더 작은 제2 프레임의 길이의 50%인, 음성일 때, 음성 모드로 미리 스위칭하도록 동작한다. 따라서, 바람직한 음성/선호 스위칭 결정(Speech/Favouring Switching Decision)은 심지어, 예를 들어, 제1 스위치의 프레임 길이에 대응하는 단지 6% 또는 12%만이 음성(Speech)인 때에도, 미리 음성으로 전환(Switch Over)한다.
상기 절차는 바람직하게는 일 실시예에서 유성음 코어(Voiced Speech Core)를 가지는, 제1 처리 분기의 비트율 저장 능력(Bit Rate Saving Capability)을 충분히 살리기 위한 것이고, 제2 처리 분기가 변환기(Converter)를 포함하고 있다는 사실 때문에 비음성(Non-speech)인, 큰 제1 프레임의 나머지에 대해서도 어떤 품질이 떨어지지 않게 하기 위한 것이며, 그러므로, 이는 비음성 신호를 포함하는 오디오 신호에 대해서도 유용하다. 바람직하게는, 상기 제2 처리 분기는 임계 샘플링되고, 복호화기 측에서의 오버랩(Overlap) 및 가산(Add)와 같은 그러한 시간 영역 앨리어싱 제거 처리(Time Domain Aliasing Cancellation)에 기인하여 심지어 작은 윈도우 사이즈에서도 높은 효율과 앨리어싱에 방해 받지 않는 동작을 제공하는 오버래핑 MDCT를 포함한다. 또한, 비음성 신호는 보통 꽤 정적(Stationary)이며, 긴 변환 윈도우는 높은 주파수 분해능을 제공하고, 그러므로 높은 품질을 제공하며, 추가로, 제2 코딩 분기의 제2 처리 분기에서의 변환 기반 코딩 모드(Transform Based Coding Mode)에 적용될 수 있는, 심리 음향적으로 제어된 양자화 모듈(Psycho Acoustically Controlled Quantization Module)에 기인하여 비트율 효율성(Bit Rate Efficiency)을 제공하기 때문에, 바람직하게는 AAC 같은 MDCT 코딩 분기(AAC-like MDCT Encoding Branch)인 제1 코딩 분기를 위한 큰 블록 길이는 유용하다.
도 3d의 복호화기 도면에 관해서는, 전송된 신호는 도 3e에 나타난 것과 같은 보조 정보 4a로써 명시적인 지시자(indicator)를 포함하는 것이 바람직하다. 이러한 보조 정보 4a는, 대응하는 제1 부호화 신호(First Encoded Signal), 제1 처리 신호(First Processed Signal) 또는 제2 처리 신호(Second Processed Signal)를 도 3d의 제1 복호화 분기, 제1 역 처리 분기 또는 제2 역 처리 분기와 같은 정확한 프로세서로 전송하기 위해, 도 3d에 나타나지 않은 비트 스트림 파서(Bit Stream Parser)에 의해 추출된다. 그러므로, 부호화된 신호는 단지 부호화된/처리된 신호만을 갖는 가지는 것이 아니라, 이러한 신호에 대한 보조 정보도 포함한다. 다른 실시예에서는, 그러나, 복호화기측 비트 스트림 파서가 일정 신호 사이를 구별하도록 하는 내재된 신호 표시(Implicit Signaling)가 있을 수 있다. 도 3e에 관해서는, 제1 처리 신호(First Processed Signal) 또는 제2 처리 신호(Second Processed Signal)가 제2 코딩 분기의 출력이고, 그러므로 ,제2 부호화 신호(Second Coded Signal)임이 나타내어진다.
바람직하게는, 제1 복호화 분기 및/또는 제2 역 처리 분기는 스펙트럴 영역에서 시간 영역으로 변환하기 위한 MDCT 변환을 포함한다. 이 때문에, 오버랩-가산기(Overlap-adder)가, 동시에 블록킹 아티팩트를 피하기 위한 교차 페이드 효과(Cross Fade Effect)를 제공하는, 시간 영역 앨리어싱 제거 기능을 수행하기 위해 제공된다. 제2 역 처리 분기는 제3 영역으로부터 제2 영역으로의 변환을 수행하고 제1 결합기 뒤에 연결되는 변환기(Converter)는 제2 영역으로부터 제1 영역으로의 변환을 제공하는 반면에 일반적으로, 결합기 600의 출력에서는, 도 3d의 실시예에서, 복호화된 출력 신호를 나타내는 제1 영역 신호만이 있도록 하기 위해, 제1 코딩 분기는 제4 영역 내에서 부호화된 신호를 제1 영역으로 변환한다.
도 4a와 4b는 스위치 200의 위치에서 차이점을 가지는 두 다른 실시예를 나타낸다. 도 4a에서, 스위치 200는 일반적인(common) 전 처리 단계 100의 출력과 두 코딩 분기 400, 500의 입력 사이에 위치한다. 도 4a의 실시예는, 오디오 신호는 오직 단일 코딩 분기로 입력되고, 일반적인(common) 전 처리 단계의 출력에 연결되지 않은 다른 코딩 분기는 동작하지 않고, 따라서, 꺼진 상태(Switched Off) 또는 수면 모드(Sleep Mode)에 있다. 상기 실시예는 동작하지 않는 코딩 분기는 전력과 계산 자원(Computational Resource)을 소비하지 않는다는 점에서 바람직하며, 이는 특히, 배터리에 의해 전력이 공급되는, 따라서 전력 소비에 일반적인 한계를 가지는 모바일 어플리케이션에 유용하다.
반면에, 그러나, 도 4b의 실시예는 전력 소비가 문제가 되지 않을 때 바람직하다. 상기 실시예에서는 양 코딩 분기 400, 500은 항상 활성화되어 있고, 단지 일정 시간 부분 및/또는 일정 주피수 부분을 위해 선택된 코딩 분기의 출력만이, 비트 스트림 다중화기 800로써 구현될 수 있는 비트 스트림 포매터(Bit Stream Formatter)로 전송된다. 그러므로, 도 4b의 실시예에서는, 양 코딩 분기는 항상 활성화되어 있고, 결정 단계 300에 의해 선택되는 코딩 분기의 출력은 출력 비트 스트림으로 입력되는 반면, 다른 선택되지 않은 코딩 분기 400의 출력은 폐기된다. 말하자면, 출력 비트 스트림, 즉 부호화된 오디오 신호에 입력되지 않는다.
바람직하게는, 제2 부호화 방법/복호화 방법은 LPC 기반 코딩 알고리즘이다. LPC 기반 음성 코딩에서는, 준주기적 임펄스형 여기 신호 세그먼트(Quasi-periodic Impulse-like Excitation Signal Segment) 또는 신호 부분(Signal Portion), 및 잡음형 여기 신호 세그먼트(Noise-like Excitation Signal Segment) 또는 신호 부분 사이의 구분이 만들어진다. 이것은 도 7b에서처럼 매우 낮은 비트율 LPC 보코더(LPC Vocoder)(2.4kbps)에서 수행된다. 그러나, 중간율 CELP 코더(Medium Rate CELP Coder)에서는, 여기(Excitation)는 적응 코드북(Adaptive Codebook)과 고정 코드북(Fixed Codebook)으로부터 스케일링된 벡터(Scaled Vector)의 가산(Addition)을 위해 얻어진다.
준주기적 임펄스형 여기 신호 세그먼트(Quasi-periodic Impulse-like Excitation Signal Segment), 즉 특정 피치(Pitch)를 갖는 신호 세그먼트는 잡음형 여기 신호와는 다른 메커니즘으로 코딩된다. 준주기적 임펄스형 여기 신호는 유성음(Voiced Speech)에 연결되는 반면, 잡음형 신호는 무성음(Unvoiced Speech)에 연결된다.
예시적으로, 참조(Reference)가 도 5a부터 5d에 만들어진다. 여기서, 준주기적 임펄스형 신호 세그먼트 또는 신호 부분 및 잡음형 신호 세그먼트 또는 신호 부분이 예시적으로 논의된다. 특히, 시간 영역에서의 도 5a 및 주파수 영역에서의 도 5b에 나타난 것과 같은 유성음은 준주기적 임펄스형 신호 부분의 예로써 논의되고, 잡음형 신호 부분의 예로써의 무성음 세그먼트는 도 5c 및 도 5d와 관련되어 논의된다. 음성은 일반적으로 유성, 무성 또는 혼합으로 분류될 수 있다. 샘플링된 유성 및 무성 세그먼트를 위한 시간 및 주파수 영역 도표(Time-and-frequency Domain Plot)이 도 5a부터 5d에 나타나 있다. 무성은 랜덤형이고 광대역(Broadband)인 반면 유성음은 시간 영역에서 준주기적이고 주파수 영역에서 고조파적으로(Harmonically) 구성된다. 유성음의 단시간 스펙트럼(Short-time Spectrum)은 그것의 미세 고조파 포먼트 구조(Fine Harmonic Formant Structure)로 특징지어진다. 상기 미세 고조파 구조는 음성의 준주기성(Quasi-periodicity)의 결과이고 진동하는 성대(Vibrating Vocal Chord)에 기인할 수 있다. 포먼트 구조(스펙트럴 엔빌로프(Spectral Envelop))는 소스와 성도(Vocal Tract)의 상호작용에 기인한다. 상기 성도는 인두(Pharynx) 및 구강(Mouth Cavity)으로 이루어진다. 유성음의 단시간 스펙트럼에 “맞춘” 스펙트럴 엔빌로프의 형상은, 성문 펄스(Glottal Pulse)로 인해 성대의 전달 특성 및 스펙트럴 기울기(Spectral Tilt)(6dB/Octave)에 관련된다. 스펙트럴 엔빌로프는 포먼트(Formant)로 불리는 피크들의 집합에 의해 특징 지어진다. 포먼트는 성도(Vocal Tract)의 공진 모드(Resonant Mode)이다. 평균 성도에 대해 5kHz 이하에서 3 내지 5 포먼트들이 존재한다. 일반적으로 3kHz 이하에서 발생하는, 첫 번째 3개의 포먼트들의 진폭들 및 위치들은 음성 합성(Synthesis) 및 지각(Perception) 모두에서 매우 중요하다. 더 높은 포먼트들이 또한 광대역 및 무성음(Unvoiced Speech) 표현을 위해 중요하다. 음성의 속성들(Properties)은 아래과 같이 물리적인 음성 발생 시스템에 관련된다. 유성음은 진동하는 성대에 의해 발생된 준주기적 성문 공기 펄스로 성도를 여기(Exciting)함으로써 발생된다. 주기적 펄스의 주파수는 기본 주파수(Fundamental Frequency) 또는 피치(Pitch)라 칭한다. 무성음은 성도에서 수축을 통해 공기를 압박함으로써 생성된다. 비음(Nasal Sound)은 비강(Nasal Tract)의 성도에 대한 음향적 결합에 기인하며, 파열음(Plosive Sound)은 성도에서의 폐쇄 뒤에 만들어진 공기압을 갑자기 해제함으로써 생성된다.
따라서, 오디오 신호의 잡음형 부분은, 도 5a와 도 5b에서 예로써 도시된 것과 같은 준주기적 임펄스형 부분과는 달리, 도 5c와 도 5d에 도시된 바와 같이 고조파 주파수 영역 구조 또는 임펄스형 시간 영역 구조 어떤 것도 나타내지 않는다. 그러나, 나중에 설명되는 바와 같이, 잡음형 부분과 준주기적 임펄스형 부분간의 구분은 여기 신호를 위한 LPC 후에 관찰될 수 있다. 상기 LPC는 성도를 모델링하고 성도의 여기를 신호로부터 추출하는 방법이다.
나아가, 준주기적 임펄스형 부분과 잡음형 부분은 시기 적절한 방법으로 발생할 수 있으며, 이는 시간에서의 오디오 신호의 한 부분이 잡음(Noisy)이고 시간에서의 오디오 신호의 다른 부분이 준주기적, 즉 음색(Tonal)임을 의미한다. 선택적으로, 또는 추가적으로, 신호의 특성은 서로 다른 주파수 대역들에서 다를 수 있다. 따라서, 오디오 신호가 잡음인지 음색인지의 결정은, 일정 주파수 대역이 잡음으로 고려되고 다른 주파수 대역들이 음색으로 고려될 수 있도록, 주파수 선택적으로 수행된다. 이 경우에, 오디오 신호의 일정 시간 부분은 음색 성분(Tonal Component)와 잡음 성분(Noisy Component)를 포함할 수 있다.
도 7a는 음성 발생 시스템의 선형 모델을 나타낸다. 이 시스템은 2-단계 여기, 즉 도 7c에 나타난 바와 같은 유성음에서의 임펄스-트레인(Impulse Train) 및 도 7d에 나타난 바와 같은 무성음에서의 랜덤 잡음(Random Noise)을 가정한다. 성도는 성문 모델 72에 의해 발생된, 도 7c 또는 도 7d의 펄스들을 처리하는 전-극점 필터(All-pole Filter)로써 모델링된다. 그러므로, 도 7a의 시스템은 이득 단계(Gain Stage) 77, 순방향 경로(Forward Path) 78, 피드백 경로(Feedback Path) 79 및 가산 단계(Adding Stage) 80를 갖는 도 7b의 전-극점 필터 모델로 축소될 수 있다. 피드백 경로 79에는, 예측 필터(Prediction Filter)(81)가 존재하고, 도 7b에 도시된 전체 소스-모델 합성 시스템은 다음과 같이 z-영역 함수를 사용하여 표현될 수 있다.
Figure 112011034372218-pct00007

여기서, g는 이득을 나타내고, A(z)는 LP 분석에 의해 결정된 예측 필터이며, X(z)는 여기 신호이고, S(z)는 합성 음성 출력(Synthesis Speech Output)이다.
도 7c 및 도 7d는 선형 소스 시스템 모델을 사용한 유성음 및 무성음 합성의 그래픽적인 시간 영역 묘사를 제공한다. 상기 수식에서 이 시스템 및 여기 파라미터들은 알려져 있지 않으며, 음성 샘플의 유한 집합들로부터 결정되어야 한다. A(z)의 계수들은 출력 신호의 선형 예측과 필터 계수들의 양자화를 이용하여 얻어진다. p-번째 차수 전송 선형 예측기(P-th Order Forward Linear Predictor)에서, 음성 시퀀스의 현재 샘플은 p개의 과거 샘플들의 선형 결합으로부터 예측된다. 예측기 계수들은 레빈슨-더빈(Levinson-Durbin) 알고리즘 또는 일반적으로 자기상관 방법(Autocorrelation Method) 또는 반사 방법(Reflection Method)과 같은 잘 알려진 알고리즘에 의해 결정될 수 있다.
도 7e는 도 4a의 LPC 프로세서 510의 분석 블록의 더 상세한 구현을 나타낸다. 오디오 신호는 필터 정보 A(z)를 결정하는 필터 결정 블록으로 입력된다. 상기 정보는 복호화기에서 요구되는 단기간 예측 정보(Short-term Prediction Information)로서 출력된다. 단기간 예측 정보는 실제 예측 필터 85에 의해 요구된다. 이 샘플에 대해, 예측 에러 신호가 라인 84에서 발생되도록 감산기(Subtracter) 86에서, 오디오 신호의 현재의 샘플이 입력되고, 현재의 샘플에 대해 예측된 값이 감산된다. 이러한 예측 에러 신호 샘플들의 시퀀스는 도 7c 또는 7d에 매우 도식적으로 나타나 있다. 그러므로, 도 7c, 7d는 일종의 수정된 임펄스형 신호로서 고려될 수 있다.
도 7e가 여기 신호를 계산하기 위한 바람직한 방법을 나타내는 반면, 도 7f는 가중 신호를 계산하기 위한 바람직한 방법을 나타낸다. 도 7e와 대조적으로,
Figure 112011034372218-pct00008
가 1과 다를 때, 필터 85는 다르다. 1보다 작은 A 값이
Figure 112011034372218-pct00009
에 대해 바람직하다. 또한, 블록 87이 있고, μ는 1보다 작은 숫자임이 바람직하다.
일반적으로, 도 7e와 도7f의 구성 요소들은 3GPP TS 26.190 또는 3GPP TS 26.290으로써 구현된다.
도 7g는, 도 2b의 구성요소 537에서와 같은 복호화기측에서 적용될 수 있는, 역 처리를 나타낸다. 특히, 블록 88은 가중 신호(Weighted Signal)로부터 가중되지 않은 신호(Unweighted Signal)를 발생시키고 블록 89는 가중되지 않은 신호로부터 여기(Excitation)를 계산한다. 일반적으로, 도 7g에서 가중되지 않은 신호(Unweighted Signal)를 제외한 모든 신호는 LPC 영역에 있으나, 여기 신호와 가중 신호는 같은 영역에서 서로 다른 신호이다. 블록 89는 블록 536의 출력과 함께 사용될 수 있는 여기 신호를 출력할 수 있다. 그리고 나서, 일반적인 역 LPC 변환이 도 2b의 블록 540에서 수행될 수 있다.
순차적으로, 이 알고리즘에 적용되는 변경들을 설명하기 위해 분석-합성 CELP 부호화기가 도 6과 관련하여 설명된다. 상기 CELP 부호화기는 "Speech Coding: A Tutorial Review", Andreas Spanias, Proceedings of the IEEE, Vol. 82, No. 10, October 1994, pages 1541-1582 에 상세히 설명되어 있다. 도 6에 도시된 CELP 부호화기는 장기간 예측 성분 60 및 단기간 예측 성분 62를 포함한다. 또한, 64에 의해 지시된 코드북이 사용된다. 지각 가중 필터(Perceptual Weighting Filter) W(z)는 66에서 구현되고, 에러 최소화 제어기(Error Minimization Controller)는 68에서 제공된다. s(n)은 시간 영역 입력 신호이다. 지각적으로 가중된 후에, 가중된 신호는 블록 66 출력에서의 가중된 합성 신호와 본래의 가중된 신호 sw(n) 사이의 에러를 계산하는 감산기 69로 입력된다. 일반적으로, 단기간 예측 필터 계수 A(z)는 LP 분석 단계에 의해 계산되고, 그 계수는 도 7e에 나타난 것처럼
Figure 112011034383197-pct00010
로 양자화된다. 장기간 예측 이득 g 및 벡터 양자화 인덱스, 즉 코드북 참조(Codebook Reference)를 포함하는 장기간 예측 정보 AL(z)는, 도 7e에 10a로 나타내어진 LPC 분석 단계의 출력에서의 예측 에러 신호에 기반하여 계산된다. LTP 파라미터들은 피치 지연 및 이득(Pitch Delay and Gain)이다. CELP에서 이것은 보통, 지난 여기 신호(Excitation Signal)(잔여(Residual)가 아님)를 포함하는 적응 코드북(Adaptive Codebook)으로써 구현된다. 상기 적응 CB 지연 및 이득은 평균-제곱(Mean-squared) 가중 에러를 최소화함으로써 찾아진다. (폐 루프 피치 검색)
CELP 알고리즘은 예컨대, 가우시안 시퀀스들의 코드북을 이용하여, 단기간 및 장기간 예측 후에 얻어진 잔여 신호(Residual Signal)를 부호화한다. ACELP 알고리즘(여기에서, "A"는 "Algebraic"를 의미한다.)은 특정한 대수적으로 설계된 코드북을 가진다.
코드북은 많거나 적은 벡터를 포함할 수 있고 각 벡터는 어떠한 샘플 길이를 가진다. 이득 팩터(Gain Factor) g는 코드 벡터를 스케일링하고, 이득을 받은(Gained) 코드는 장기간 예측 합성 필터 및 단기간 예측 합성 필터에 의해 필터링된다. “최적의(Optimum)”코드 벡터는, 감산기 69 출력에서의 지각적으로 가중된 평균 제곱 에러가 최소화되도록 선택된다. CELP에서의 검색 프로세스는 도 6에 나타난 것과 같이 분석-합성 최적화(Analysis by Synthesis Optimization)에 의해 행해진다.
프레임이 무성 및 유성음의 혼합이거나 음악 위에 음성이 존재하는 특정한 경우에 대해서는, TCX 코딩이 LPC 영역에서 여기를 코딩하기에 더욱 적합하다. TCX 코딩은 여기 생성의 어떠한 가정을 함이 없이 주파수 영역에서 가중 신호를 처리한다. TCX는 그 때 CELP 코딩보다 더욱 포괄적이고, 여기(Excitation)의 유성 또는 무성의 소스 모델에 한정되지 않는다. TCX는 여전히, 음성형 신호의 포먼트(Formant)들을 모델링하기 위해 선형 예측 필터(Linear Predictive Filter)를 이용하는 소스-지향 모델(Source-oriented Model)이다.
AMR-WB+형 코딩에서, 서로 다른 TCX 모드들과 ACELP 사이의 선택은 AMR-WB+ 설명서로부터 알려진 바와 같이 일어난다. TCX 모드들은, 블록 단위 이산 푸리에 변환(Block-wise Discrete Fourier Transform)이 서로 다른 모드에서 다르다는 점에서 서로 다르고, 최선의 모드는 합성 방법에 의한 분석 또는 직접적인 “피드포워드(Feedforward)” 모드에 의해 선택될 수 있다.
도 2a 및 2b와 관련되어 논의된 것처럼, 일반적인(common) 전 처리 단계 100은 바람직하게는 결합 다중 채널(서라운드/결합 스테레오 장치) 101과, 추가로, 대역폭 확장 단계 102를 포함한다. 대응하여, 복호화기는 대역폭 확장 단계 701와 순차적으로 연결되는 결합 다중 채널 단계 702를 포함한다. 바람직하게는, 상기 결합 다중 채널 단계 101는, 부호화기에 대해서, 대역폭 확장 단계 102 전에 연결되고, 복호화기측에서, 대역폭 확장 단계 701는 신호 처리 방향(Signal Processing Direction)에 대해서 결합 다중 채널 단계 전에 연결된다. 선택적으로, 그러나, 일반적인(common) 전 처리 단계는 순차적으로 연결되는 대역폭 확장 단계 없이 결합 다중 채널 단계를 포함하거나, 연결되는 결합 다중 채널 단계 없이 대역폭 확장 단계를 포함할 수 있다.
부호화기측 101a, 101b 및 복호화기측 702a, 702b에서의 결합 다중 채널 단계에 대한 바람직한 예가 도 8의 내용에 나타나 있다. E개의 본래 입력 채널이, 하향 혼합기(Downmixer) 101a가 K개의 전송되는 채널을 발생시킬 수 있도록, 하향 혼합기 101a로 입력되며, 수 K는 1보다 크거나 같고 E보다 작거나 같다.
바람직하게는, 상기 E 입력 채널들은 파라미터 정보(Parametric Information)를 발생시키는 결합 다중 채널 파라미터 분석기 101b로 입력된다. 이러한 파라미터 정보는 바람직하게는, 한 다른 부호화 및 후속하는 호프만(Huffman) 부호화 또는, 선택적으로, 후속하는 산술적 부호화에 의하는 것이 같이, 엔트로피-부호화(Entropy-encoded)된다. 블록 101b에 의해 출력된 부호화된 파라미터 정보는 도 2b에서의 항목 702의 부분인 파라미터 복호화기 702b로 전송된다. 상기 파라미터 복호화기 702b는 전송된 파라미터 정보를 복호화하고, 복호화된 파라미터 정보를 상향 혼합기(Upmixer) 702a로 전송한다. 상기 상향 혼합기 702a는 K 전송 채널을 수신하고 많은 L 출력 신호를 발생시키며, 상기 L의 수는 K보다 크거나 같고 E보다 작거나 같다.
파라미터 정보는, BBC 기술로부터 알려지거나 또는 MPEG 서라운드 표준에서 상세히 설명되고 알려진 것처럼, 채널간 레벨 차이, 채널간 시간 차이, 채널간 위상 차이 및/또는 채널간 일관성 크기(Coherence Measure)를 포함한다. 전송되는 채널의 수는 초저비트율(Ultra-low bit rate) 적용을 위한 단일 모노 채널이거나, 또는 호환성 있는(Compatible) 스테레오 응용을 포함하거나, 또는 호환성 있는 스테레오 신호, 즉 2개의 채널을 포함할 수 있다. 일반적으로, E 출력 채널의 수는 5이거나 그 이상일 수 있다. 선택적으로, E 출력 채널의 수는 공간 오디오 객체 코딩(SAOC : Spatial Audio Object Coding)의 내용에서 알려진 것과 같은 E 오디오 객체일 수 있다.
하나의 구현에서, 하향 혼합기는, 본래의 E 입력 채널의 가중 또는 비가중 가산(Weighted or Unweighted Addition), 또는 E 입력 오디오 객체의 가산을 수행한다. 입력 신호로써 오디오 객체의 경우, 결합 다중 채널 파라미터 분석기 101b는, 바람직하게는 각각의 시간 부분에 대해 그리고 심지어 더욱 바람직하게는 각각의 주파수 대역에 대해 오디오 객체들 사이의 상관 행렬(Correlation Matrix)과 같은 오디오 객체 파라미터를 계산한다. 결국, 전체 주파수 범위는 적어도 10 그리고 바람직하게는 32 또는 64 주파수 대역들로 나누어질 수 있다.
도 9는 도 2a의 대역폭 확장 단계 102와 도 2b의 대응하는 대역폭 확장 단계 701의 구현을 위한 바람직한 실시예를 나타낸다. 부호화기측에서, 대역폭 확장 블록 102은 바람직하게는 블록은 상기 저역 통과(Low pass)의 결과로 발생하거나, 또는 오직 QMF 대역의 절반에서만 동작하는, 역 QMF의 부분인 저역 통과 필터링 블록 102b, 다운 샘플러 블록(Down Sampler Block) 및 고대역 분석기(High Band Analyzer) 102a를 포함한다. 대역폭 확장 블록 102으로의 본래 오디오 신호 입력은, 코딩 분기들 및/또는 스위치로 입력되는 저대역 신호를 발생시키기 위해, 저역 통과 필터링된다. 저역 통과 필터는 3kHz에서 10kHz 범위에 있을 수 있는, 차단 주파수(Cut off frequency)를 가진다. 나아가, 대역폭 확장 블록 102은 추가로, 스펙트럴 엔빌로프 파라미터 정보, 잡음 플로어 파라미터 정보, 역 필터링 파라미터 정보, 추가로 고대역에서의 특정한 고조파 라인들에 관련된 파라미터 정보, 및 스펙트럴 대역 복사(SBR : Spectral Band Replication)에 관계된 장에서 MPEG-4 표준에 상세히 논의되는 것과 같은 추가적인 파라미터와 같은 대역폭 확장 파라미터를 계산하기 위한, 고대역 분석기를 포함한다.
복호화기측에서, 대역폭 확장 블록 701은 패쳐(Patcher) 701a, 조정기(Adjuster) 701b 및 결합기(Combiner) 701c를 포함한다. 결합기 701c는 복호화된 저대역 신호와, 조정기 701b에 의한, 복원되고 조정된 고대역 신호 출력을 결합한다. 조정기 701c로의 입력은, 스펙트럴 대역 복사(SBR) 또는, 일반적으로, 대역폭 확장에 의한 것과 같이 저대역 신호로부터 고대역 신호를 도출하기 위해 동작되는 패쳐에 의해 제공된다. 상기 패쳐 701a에 의해 수행되는 패칭은 조화 방법(Harmonic Way) 또는 비조화 방법(Non-harmonic Way)으로 수행될 수 있다.
도 8 및 도 9에 나타난 것처럼, 묘사된 블록들은, 바람직한 실시예에서 모드 제어 입력을 가질 수 있다. 상기 모드 제어 입력은 결정 단계 300 출력 신호로부터 도출된다. 그러한 바람직한 실시예에서, 대응하는 블록의 특성은, 결정 단계 출력에 적합화될 수 있으며, 즉, 바람직한 실시예에서, 음성으로의 결정 또는 음악으로의 결정이 오디오 신호의 특정 시간 부분에 대해 내려질 수 있다., 바람직하게는, 상기 모드 제어는 상기 블록들의 기능의 하나 또는 그 이상에만 관련되고, 블록들 기능의 모두에 관련되지는 않는다. 예를 들어, 결정(Decision)은 패쳐 701a에만 영향을 주고, 도 9의 다른 블록들에는 영향을 주지 않을 수 있다. 또는 예를 들어, 결정(Decision)은 도 8의 결합 다중 채널 파라미터 분석기 101b에만 영향을 주고 도 8의 다른 블록들에는 영향을 주지 않을 수 있다. 이러한 구현은 바람직하게는 일반적인(common) 전-처리 단계에서 유연성(Flexibility)을 제공함으로써 더 높은 유연성, 더 높은 품질 및 더 낮은 비트율 출력 신호가 얻어지도록 하기 위함이다. 그러나, 반면에, 양 종류 신호에서 일반적인(common) 전-처리 단계에서의 알고리즘의 사용은 효과적인 부호화/복호화 방법을 구현할 수 있게 해 준다.
도 10a 및 도 10b는 상기 결정 단계 300의 두 개의 다른 구현을 나타낸다. 도 10a에서, 개방 루프 결정이 나타나 있다. 여기서, 결정 단계에서의 신호 분석기300a는, 입력 신호의 특정 시간 부분 또는 특정 주파수 부분이, 상기 신호의 부분이 제1 코딩 분기 400에 의해 부호화될 것을 요구하는 특성을 가지는지 또는 제2 코딩 분기 500에 의해 부호화될 것을 요구하는 특성을 가지는지 결정하기 위해, 특정 법칙을 가진다. 이에 따라, 신호 분석기 300a는 일반적인(common) 전-처리 단계로의 오디오 입력 신호를 분석하거나, 또는 일반적인(common) 전-처리 단계에 의한 오디오 신호 출력, 즉 오디오 중간 신호를 분석하거나, 또는 모노 신호이거나 또는 도 8에 나타난 K 채널들을 가지는 신호인 하향 혼합 신호(Downmix Signal)의 출력과 같은 일반적인(common) 전-처리 단계 내의 중간 신호를 분석할 수 있다. 출력측에서, 신호 분석기 300a는, 부호화기측에서의 스위치 200와 복호화기측에서의 대응하는 스위치 600 또는 결합기 600를 제어하기 위해 스위칭 결정을 생성한다.
제2 스위치 521에 대해서는 상세히 논의되지 않았음에도 불구, 제2 스위치521가 도 4a 및 도 4b와 관련되어 논의된 제1 스위치 200와 유사한 방법으로 위치할 수 있다는 것이 강조된다. 따라서, 도 3c에서 스위치 521의 선택 가능한 위치는, 양 처리 분기가 동시에 동작하고 오직 하나의 처리 분기의 출력만이, 도 3c에 나타나지 않은, 비트 스트림 형성기(Bit Stream Former)에 의한 비트 스트림에 기록되도록, 양 처리 분기들 522, 523, 524의 출력에 있다.
또한, 제2 결합기 600는 도 3c에서 논의된 바와 같은 특정 교차 페이딩(Cross Fading) 기능을 가질 수 있다. 선택적으로 또는 부가적으로, 제1 결합기 532는 동일한 교차 페이딩 기능을 가질 수 있다. 또한, 양 결합기는 동일한 교차 페이딩 기능을 가질 수도 있고, 또는 서로 다른 교차 페이딩 기능을 가질 수도 있으며, 또한 양 결합기가 어떠한 추가적인 교차 페이딩 기능 없이 스위칭되도록 하기 위해 교차 페이딩 기능을 전혀 갖지 않을 수도 있다.
전술한 바와 같이, 양 스위치는 도 10a 및 도 10b와 관련되어 논의된 것과 같이 개방 루프 결정 또는 폐 루프 결정에 따라 제어될 수 있으며, 도 3의 제어기 300, 525들은 상기 양 스위치를 위해, 서로 다른 또는 동일한 기능을 가질 수 있다.
또한, 신호-적응적(Signal-adaptive)인 시간 워핑(Time Warping) 기능은 제1 코딩 분기 또는 제1 복호화 분기에만 존재할 수 있는 것이 아니라, 복호화기측뿐만이 아닌 부호화기측에서의 제2 코딩 분기의 제2 처리 분기에도 존재할 수 있다. 동일한 시간 워핑이 제1 영역 및 제2 영역의 신호에 적용될 수 있도록, 양 시간 워핑 기능들은 처리된 신호에 따라, 동일한 시간 워핑 정보를 가질 수 있다. 이는 처리 부담(Processing Load)을 덜고, 후속 블록들이 유사한 시간 워핑 시간 특성을 가지는 경우에, 어떤 경우 유용할 수 있다. 그러나, 선택적인 다른 실시예에서는, 제1 코딩 분기와 제2 코딩 분기 내의 제2 처리 분기를 위해 독립적인 시간 워핑 예측자(Time Warping Estimator)을 가지는 것이 바람직하다.
발명된 부호화된 오디오 신호는 디지털 저장 매체에 저장되거나, 또는 무선 전송 매체 또는 인터넷과 같은 유선 전송 매체와 같은 전송 매체에서 전송될 수 있다.
다른 실시예에서, 도 1a 또는 2a의 스위치 200은 두 코딩 분기 400, 500 사이를 스위칭한다. 추가 실시예에서는, 제3 코딩 분기 또는 심지어 제4 코딩 분기 또는 심지어 더 많은 코딩 분기와 같은 추가적인 코딩 분기들이 있을 수 있다. 복호화기측에서, 도 1b 또는 2b의 스위치 600는 두 복호화 분기 431, 440 및 531, 532, 533, 534, 540 사이를 스위칭시킨다. 추가 실시예에서는, 제3 복호화 분기 또는 심지어 제4 복호화 분기 또는 심지어 더 많은 복호화 분기와 같은 추가적인 복호화 분기들이 있을 수 있다. 유사하게, 다른 스위치 521 또는 532는, 그러한 추가적인 코딩/복호화 분기들이 제공될 때, 둘 이상의 서로 다른 코딩 알고리즘 사이를 스위칭할 수 있다.
도 12A는 부호화기 구현의 바람직한 실시예를 나타내고, 도 12B는 대응하는 복호화기 구현의 바람직한 실시예를 나타낸다. 대응하는 참조 번호들에 관련하여 전에 논의된 구성요소에 추가하여, 도 12A의 실시예는 별도의 심리 음향 모듈(Psycho Acoustic Module) 1200을 나타내고, 부가적으로, 도 11A의 블록 421에 나타난 추가 부호화기 도구의 바람직한 구현을 나타낸다. 이러한 부가적인 도구들은 시간영역 잡음 형상화 도구(TNS : Temporal Noise Shaping Tool) 1201과 미드/사이드(M/S : Mid/Side)코딩 도구 1202이다. 나아가, 구성요소 421, 524들이 스케일링, 잡음 필터링 분석, 양자화, 스펙트럴 값들의 산술적 코딩의 결합된 구현으로써 블록 421/542에 나타나 있다.
대응하는 복호화기 구현 도 12B에, M/S 복호화 도구 1203 및 TNS-복호화기 도구 1204인, 추가적인 구성 요소가 나타나 있다. 나아가, 이전 도면들에 나타나지 않은 저음 후 필터(Bass Postfilter)가 1205에 나타나 있다. 전이 윈도우잉 블록 532은, 스위치로 나타내어진, 그러나 오버 샘플링된 교차 페이딩 또는 임계 샘플링된 교차 페이딩일 수 있는 일종의 교차 페이딩을 수행하는, 도 2B의 구성요소 532에 대응한다. 후자는 MDCT 연산으로 구현되며, 둘의 시간 앨리어싱된 부분들은 오버래핑되고 가산된다. 이러한 임계 샘플링된 전이 처리는, 전체 비트율이 품질에서 어떠한 손실 없이 감소될 수 있으므로, 바람직하게 적절한 곳에 사용된다. 부가적인 전이 윈도우잉 블록 600은, 다시 스위치로 나타내어진, 도 2B의 결합기 600에 대응한다. 그러나, 이러한 구성요소는, 하나의 블록이 제1 분기에서 처리되고 다른 블록이 제2 분기에서 처리되었을 경우, 블록킹 아티팩트(Blocking Artifact), 특히 스위칭 아티팩트를 피하기 위해, 임계적으로 샘플링된 또는 비임계적으로 샘플링된 일종의 교차 페이딩을 수행한다. 교차 페이딩 동작은 양 분기 사이의 “소프트(Soft)” 스위칭으로 이해되는 반면, 그러나, 양 분기에서의 처리가 서로 완벽하게 일치될 때에, 교차 페이딩 동작은 하드(Hard) 스위치로 “격하(Degrade)”할 수 있다.
도 12A 및 도 12B에서의 개념은 음성과 오디오 내용의 임의의 혼합을 가지는 신호의 코딩을 가능케 하며, 이러한 개념은, 음성 또는 일반적인 오디오 내용의 코딩에 특히 맞추어질 수 있는 최선의 코딩 기술에 상당하는 정도로 또는 그보다 더 잘 작동한다. 부호화기와 복호화기의 일반적인 구조는, 스테레오 또는 다중 채널 처리를 다루기 위한 MPEG 서라운드(MPEGS) 기능을 가지는 유닛 및 입력 신호의 더 높은 오디오 주파수의 파라미터 표현을 다루는 향상된 SBR(eSBR : Enhanced SBR) 유닛으로 구성되는, 일반적인(common) 전-후 처리가 있다는 점에서 설명될 수 있다. 그 때, 두 분기가 있으며, 하나는 변형된 어드밴스드 오디오 코딩(AAC : Advanced Audio Coding) 도구 경로로 구성되고 다른 하나는, LPC 잔여(Residual)의 주파수 영역 표현 또는 시간 영역 표현을 차례차례 특징 짓는, 선형 예측 코딩(LP 또는 LPC 영역) 기반 경로로 구성된다. AAC 및 LPC, 양쪽에서 전송된 모든 전송된 스펙트라는 양자화 및 산술적 코딩에 뒤따르는 MDCT 영역에서 나타내어진다. 시간 영역 표현은 ACELP 여기 코딩 방법을 사용한다. 상기 기본 구조는, 부호화기에 대해 도 12A에서 그리고 복호화기에 대해 도 12B에서 보여진다. 이 도면에서 데이터 흐름은, 왼쪽에서 오른쪽, 위에서 아래쪽이다. 복호화기의 기능은 비트스트림 페이로드(Payload)에서 양자화된 오디오 스펙트럴 또는 시간 영역 표현의 설명을 찾고 양자화된 값들 및 다른 복원 정보를 복호화하는 것이다.
전송된 스펙트럴 정보의 경우에 상기 복호화기는 양자화된 스펙트럴들을 복원하고, 입력 비트 스트림 페이로드에 의해 설명된 바와 같은 실제 신호 스펙트라에 도달하기 위해 비트 스트림 페이로드에서 작동 중인 도구로써 무슨 도구들이든 이를 통해 복원된 신호들을 처리하며, 그리고 마지막으로 주파수 영역 스펙트라를 시간 영역으로 변환한다. 최초 복원 및 스펙트럼 복원의 스케일링을 뒤따라, 더욱 효율적인 코딩을 제공하기 위해 하나 또는 그 이상의 스펙트라를 변경하는 선택적인 도구들이 있다.
전송된 시간 영역 신호 표현의 경우에, 복호화기는 양자화된 시간 신호를 복원하고, 입력 비트 스트림 페이로드에 의해 설명된 바와 같은 실제 시간 영역 신호에 도달하기 위해 비트 스트림 페이로드에서 작동 중인 도구로써 무슨 도구들이든 이를 통해 복원된 시간 신호를 처리한다.
신호 데이터에 대해 동작하는 선택적인 도구들 각각을 위해, “통과(Pass Through)”를 위한 옵션이 보유되고, 처리과정이 생략되는 모든 경우에, 그 입력에서의 스펙트라 또는 시간 샘플들은 변경(Modification) 없이 바로 도구를 통과해 지나간다.
비트 스트림이 그 신호 형태를 시간 영역에서 주파수 영역 형태로 또는 LP 영역에서 비-LP(Non-LP) 영역으로 또는 그 역으로 변경하는 곳에서, 복호화기는, 적절한 전이 오버랩-가산 윈도우잉(Transition Overlab-add Windowing) 수단에 의해 한 영역에서 다른 영역으로의 전이를 돕는다.
eSBR 및 MPEG 처리는 전이 처리 후 동일한 방법으로 양 코딩 경로에 적용된다.
비트 스트림 페이로드 역 다중화기 도구(Bit Stream Payload Demultiplexer Tool)로의 입력은 비트 스트림 페이로드이다. 상기 역 다중화기는 비트 스트림 페이로드를 각 도구를 위한 부분들로 분리하고, 각각의 도구에 그 도구와 관계된 비트 스트림 페이로드 정보를 제공한다.
비트 스트림 페이로드 역 다중화기 도구로부터의 출력들은 다음과 같다:
● 현재 프레임에서의 코어 코딩 유형(Core Coding Type)에 따라
● 아래에 의해 표현되는, 양자화되고 잡음 없이 코딩된 스펙트라
● 스케일팩터(Scalefactor) 정보
● 산술적으로 코딩된 스펙트럴 라인들
● 또는 : 다음에 의해 표현되는 여기 신호(Excitation Signal)를 함께 가진 선형 예측(LP : Linear Prediction) 파라미터
● 양자화되고 산술적으로 코딩된 스펙트럴 라인들(변환 코딩된 여기(Transform Coded Excitation), TCX) 또는
● ACELP 코딩된 시간 영역 여기(Excitation)
● 스펙트럴 잡음 필링(Spectral Noise Filling) 정보 (선택적)
● M/S 결정 정보(선택적)
● 시간 영역 잡음 형상화(TNS : Temporal Noise Shaping) 정보 (선택적)
● 필터뱅크(Filterbank) 제어 정보
● 시간 워핑(TW : Time Warping) 제어 정보 (선택적)
● 향상된 스펙트럴 대역폭 복사(eSBR : Enhanced Spectral Bandwidth Replication) 제어 정보
● MPEG 서라운드(MPEGS : MPEG Surround) 제어 정보
스케일팩터 무잡음 복호화도구(Scalefactor Noiseless Decoding Tool)는 비트 스트림 페이로드로부터의 정보를 취하고, 상기 정보를 파싱(Parse)하며, 호프만(Huffman) 또는 DPCM 코딩된 스케일팩터들을 복호화한다.
스케일팩터 무잡음 복호화 도구로의 입력은 다음과 같다:
● 무잡음 코딩된 스펙트라에서 스케일팩터 정보
스케일팩터 무잡음 복호화 도구의 출력은 다음과 같다:
● 스케일팩터의 복호화된 정수 표현
스펙트럴 무잡음 복호화도구(Spectral Noiseless Decoding Tool)는 비트 스트림 페이로드 역 다중화기로부터의 정보를 취하고, 상기 정보를 파싱하고, 산술적으로 코딩된 데이터를 복호화하며, 그리고 양자화된 스펙트라를 복원한다. 상기 무잡음 복호화 도구로의 입력은 다음과 같다:
● 잡음 없이 코딩된 스펙트라
무잡음 복호화 도구의 출력은 다음과 같다:
● 스펙트라의 양자화된 값들
역 양자화기 도구는 스펙트라에 대한 양자화된 값을 취하고, 정수 값들을 스케일링 되지 않은(Non-scaled), 복원된 스펙트라로 변환한다. 상기 양자화기는, 압신 팩터(Companding Factor)가 선택된 코어 코딩 모드(Core Coding Mode)에 의해 종속되는, 압신 양자화기(Companding Quantizer)이다.
역 양자화기 도구의 입력은 다음과 같다:
● 스펙트라의 양자화된 값들
역 양자화기 도구의 출력은 다음과 같다:
● 스케일링되지 않은, 역 양자화된 스펙트라
잡음 필링 도구(Noise Filling Tool)는, 예를 들어 부호화기에서의 비트 요구에 대한 강한 제한 때문에 스펙트럴 값이 0으로 양자화될 때 발생하는, 복호화된 스펙트라의 스펙트럴 차이(Spectral Gap)들을 필링(Filling)하기 위해 사용된다.
잡음 필링 도구로의 입력은:
● 스케일링되지 않은, 역 양자화된 스펙트라
● 잡음 필링 파라미터들
● 스케일팩터들의 복호화된 정수 표현
잡음 필링 도구로의 출력은:
● 이전에 0으로 양자화되었던 스펙트럴 라인에서 스케일링되지 않은, 역 양자화된 스펙트럴 값들
● 스케일팩터들의 변경된 정수 표현
재스케일링(Rescaling) 도구는 스케일팩터들의 정수 표현을 실제 값으로 변환하고, 스케일링되지 않은, 역 양자화된 스펙트라에 관련된 스케일팩터들을 곱한다.
스케일팩터 도구로의 입력은:
● 스케일팩터들의 복호화된 정수 표현
● 스케일링되지 않은, 역 양자화된 스펙트라
스테일팩터 도구로부터의 출력은 다음과 같다:
● 스케일링된, 역 양자화된 스펙트라
M/S 도구의 개괄에 대해서는, ISO/IEC 14496-3, subpart 4.1.1.2.를 참고한다.
시간 영역 잡음 형상화(TNS : Temporal Noise Shaping) 도구의 개괄에 대해서는, ISO/IEC 14496-3, subpart 4.1.1.2.를 참고한다.
필터뱅크/블록 스위칭 도구는 부호화기에서 수행되었던 주파수 매핑(Frequency Mapping)의 역(Inverse)을 적용한다. 역 변형 이산 여현 변환(IMDCT : Inverse Modified Discrete Cosine Transform)은 필터뱅크 도구들에서 사용된다. 상기 IMDCT는 120, 128, 240, 256, 320, 480, 512, 576, 960, 1024 또는 1152 스펙트럴 계수들을 지원하기 위해 구성될 수 있다.
필터뱅크 도구로의 입력들은:
● (역 양자화된) 스펙트라
● 필터뱅크 제어 정보
필터뱅크 도구로부터의 출력(들)은 다음과 같다.
● 시간 영역 복원된 오디오 신호(들)
시간-워핑된 필터뱅크/블록 스위칭 도구(Time-Warped Filterbank/Block Switching Tool)는 시간 워핑 모드가 가용 가능할 때 보통의 필터뱅크/블록 스위칭 도구를 대체한다. 상기 필터뱅크는 보통의 필터뱅크에서와 동일(IMDCT)하고, 추가로, 윈도우잉된 시간 영역 샘플들은, 시변 재샘플링(Time-varying Resampling)에 의해 워핑된 시간 영역으로부터 선형 시간 영역으로 매핑된다.
시간 워핑된 필터뱅크 도구로의 입력들:
● 역 양자화된 스펙트라
● 필터뱅크 제어 정보
● 시간-워핑 제어 정보
필터뱅크 도구로부터의 출력(들)은:
● 선형 시간 영역 복원된 오디오 신호(들)
향상된 SBR(eSBR : Enhanced SBR)도구는 오디오 신호의 고대역을 재생한다. 이는 부호화 동안 절단된(Truncated), 고조파 시퀀스의 복사(Replication)에 기반한다. 이는 발생된 고대역의 스펙트럴 엔빌로프를 조정하고 역 필터링을 적용하며, 그리고 본래 신호의 스펙트럴 특성을 되살리기 위해 잡음과 사인파(Sinusoidal) 성분을 추가한다.
eSBR 도구로의 입력은:
● 양자화된 엔빌로프 데이터
● 기타 제어 데이터
● AAC 코어 복호화기로부터의 시간 영역 신호
eSBR 도구의 출력은:
● 시간 영역 신호 또는
● 예를 들어, MPEG 서라운드 도구가 사용되는 경우에, 신호의 QMF 영역 표현
MPEG 서라운드(MPEGS : MPEG Surround) 도구는 적절한 공간 파라미터에 의해 제어되는 입력 신호(들)에 정교한 상향 혼합 절차를 적용함으로써 하나 또는 그 이상의 입력 신호로부터 다수의 신호를 생성한다. USAC 환경에서 MPEGS는, 전송된 하향 혼합된(Downmixed) 신호와 함께 파라미터 보조 정보를 전송함으로써, 다중 채널 신호를 코딩하기 위해 사용된다.
MPEGS 도구로의 입력은:
● 하향 혼합된 시간 영역 신호 또는
● eSBR 도구로부터의 하향 혼합된 신호의 QMF 영역 표현
MPEGS 도구의 출력은 다음과 같다.
● 다중-채널 시간 영역 신호
신호 분류기 도구(Signal Classifier Tool)는 본래 입력 신호를 분석하고 그로부터 서로 다른 코딩 모드들의 선택을 야기(Trigger)하는 제어 정보를 발생시킨다. 입력 신호의 분석은 구현 종속적이고 주어진 입력 신호 프레임에 대해 최선의 코어 코딩의 선택을 시도한다. 신호 분류기의 출력은 (선택적으로) 또한 다른 도구들, 예들 들어 MPEG 서라운드, 향상된 SBR(Enhanced SBR), 시간 워핑된 필터뱅크 및 기타 도구들의 동작에 영향을 끼치기 위해 사용될 수 있다.
신호 분류기 도구로의 입력은:
● 본래의 변경되지 않은 입력 신호
● 추가 구현 종속 파라미터들
신호 분류기 도구의 출력은 다음과 같다:
● 코어 코덱의 선택을 제어하기 위한 제어 신호(비-LP 필터링된 주파수 영역 코딩, LP 필터링된 주파수 영역 또는 LP 필터링된 시간 영역 코딩)
본 발명에 따르면, 도 12A의 블록 410 및 도 12A의 변환기 523에서 시간/주파수 분해능은 오디오 신호에 종속되어 제어된다. 윈도우 길이, 변환 길이, 시간 분해능 및 주파수 분해능 사이의 상호관계는 도 13A에 나타나 있으며, 긴 윈도우 길이에 대해, 시간 분해능은 낮아지지만, 주파수 분해능은 높아지고, 짧은 윈도우 길이에 대해, 시간 분해능은 높지만, 주파수 분해능은 낮아지는 것이 명확해진다..
바람직하게는 도 12A의 구성요소 410, 1201, 1202, 421에 의해 지시되는 AAC 코딩 분기인, 제1 코딩 분기에서는, 서로 다른 윈도우들이 사용될 수 있으며, 상기 윈도우 형상은, 바람직하게는 신호 분류기 블록 300에 의해 부호화되나, 별개의 모듈일 수 있는, 신호 분석기에 의해 결정된다. 상기 부호화기는 도 13B에 나타난 윈도우들 중 하나를 선택하며, 상기 윈도우들은 서로 다른 시간/분해능을 가진다. 제1 긴 윈도우(First Long Window), 제2 윈도우, 제4 윈도우, 제5 윈도우 및 제6 윈도우의 시간/주파수 분해능은 1,024의 변환 길이에 대한 2,048 샘플링 값과 같다. 도 13B의 세 번째 라인에 나타난 짧은 윈도우(Short Window)는 윈도우 크기에 대응하는 256 샘플링 값의 시간 분해능을 가진다. 이것은 128의 변환 길이에 대응한다.
유사하게, 마지막 두 윈도우는 2,304와 동일한 윈도우 길이를 가지며, 이는 첫 번째 라인의 윈도우보다 더 좋은 주파수 분해능이지만, 더 낮은 시간 분해능이다. 상기 마지막 두 라인의 윈도우의 변환 길이는 1,152와 동일하다.
제1 코딩 분기에서는, 도 13B의 변환 윈도우로부터 만들어지는 서로 다른 윈도우 시퀀스들이 구성될 수 있다. 도 13C에는 비록 짧은 시퀀스만이 나타나 있지만, 다른 “시퀀스들”은 단일 윈도우만으로 구성되는 반면에, 더 많은 윈도우로 구성되는 더 큰 시퀀스들도 구성될 수 있다. 도 13B에 따르면, 계수의 더 작은 수, 즉 1,024 대신 960에 대해, 시간 분해능도 또한, 1024와 같은 계수의 대응하는 더 높은 수에 대한 것보다 낮다.
도 14A-14G는 제2 코딩 분기 내의 서로 다른 분해능/윈도우 크기를 나타낸다. 본 발명의 바람직한 실시예에서, 제2 코딩 분기는, ACELP 시간 영역 코더526인 제1 처리 분기를 포함하고, 제2 처리 분기는 필터뱅크 523를 포함한다. 이 분기에서, 예를 들어 2048 샘플의 슈퍼 프레임(Super Frame)은 256 샘플의 프레임들로 하위-분할(Sub-divided)된다. 256 샘플의 개별 윈도우들은, 50 퍼센트 오버랩을 가지는 MDCT가 적용될 때, 각 윈도우가 두 개의 프레임을 담당하는, 네 개 윈도우의 시퀀스가 적용될 수 있도록, 별개로 사용될 수 있다. 그 때, 높은 시간 분해능이 도 14D에 나타난 것과 같이 이용된다. 하나의 윈도우가 네 개의 프레임을 담당하고 50 퍼센트의 오버랩이 있도록 하기 위해, 선택적으로, 신호가 더 긴 윈도우를 허용할 때에는, 도 14C에서와 같은 시퀀스가 적용될 수 있으며, 각 윈도우(중간 윈도우(Medium Window))에 대해 1,024 샘플을 갖는 두 배의 윈도우 크기가 적용된다.
마지막으로, 신호가 긴 윈도우에 사용될 수 있을 정도일 때에는, 다시 50 퍼센트 오버랩에 대해 긴 윈도우가 4,096 샘플 이상으로 확장한다.
한 분기는 ACELP 부호화기인 두 분기가 존재하는 바람직한 실시예에서, 슈퍼 프레임 내에서 “A”로 지시되는 ACELP 프레임의 위치는, 도 14E에서 “T”로 지시되는 두 근접한 TCX 프레임에 적용되는 윈도우 크기도 또한 결정할 수 있다. 기본적으로, 하나는 가능할 때마다 긴 윈도우를 사용하는데 관여한다. 그럼에도 불구하고, 단일 T 프레임이 두 A 프레임 사이에 있을 때에는 짧은 윈도우가 적용되어야 한다. 중간 윈도우들은 두 근접한 T 프레임이 있을 때 적용될 수 있다. 그러나, 세 개의 근접한 T 프레임들이 있을 때, 대응하는 더 큰 윈도우는 추가적인 복잡성(Complexity) 때문에 효과적이지 않을 수 있다. 그러므로, 세 번째 T 프레임은, 비록 A 프레임이 선행하지 않더라도, 짧은 윈도우에 의해 처리될 수 있다. 전체 슈퍼 프레임이 단지 T 프레임만 가질 때에는, 긴 윈도우가 적용될 수 있다.
도 14F는 윈도우의 몇몇의 선택 가능한 대안을 도시하며, 상기 윈도우 크기는 바람직한 50 퍼센트 오버랩에 기인하여 항상 2×스펙트럴 계수의 수 lg이다. 그러나, 시간 영역 앨리어싱이 적용되지 않을 경우 윈도우 크기와 변환 길이 사이의 관계가 2와 다를 수 있고 심지어 1에 근접하기 위해 모든 코딩 분기의 다른 오버랩 비율들이 적용될 수 있다.
도 14G는 도14F에 주어진 방법에 기반한 윈도우를 구성하기 위한 규칙들을 나타낸다. 값 ZL은 윈도우의 시작에서의 영들(zeros)을 나타낸다. 값 L은 앨리어싱 구역에서의 윈도우 계수의 수를 나타낸다. M 부분의 값들은, M에 대응하는 부분에서 0 값들을 갖는 근접한 윈도우를 가지는 어떤 오버랩도 유발하지 않는 “1” 값들을 갖는다. M 부분은 뒤이어 오른쪽 오버랩 영역 R이 이어지고, 상기 오버랩 영역 R은 뒤이어, 후속 윈도우의 M 부분에 대응하는, ZR 구역의 영들(zeros)이 따라온다.
참조 사항은 뒤에 첨부된 부록으로 만들어지며, 이는 특히 복호화기측과 관련하여, 진보된 오디오 부호화/복호화 방법의 바람직하고 상세한 구현을 설명한다.
부록
1.윈도우와 윈도우 시퀀스
양자화와 코딩은 주파수 영역에서 행해진다. 이러한 목적을 위해, 시간 신호는 부호화기에서 주파수 영역으로 매핑된다. 복호화기는 서브 항목(Subclause 2)에 설명된 것처럼 역 매핑을 수행한다. 상기 신호에 의해, 코더는 세 개의 다른 윈도우 크기:2304, 2048 및 256을 사용함으로써 시간/주파수 분해능을 변경할 수 있다. 윈도우 사이를 스위칭하기 위해, 전이 윈도우 LONG_START_WINDOW, LONG_STOP_WINDOW, START_WINDOW_LPD, STOP_WINDOW_1152, STOP_START_WINDOW 및 STOP_START_WINDOW_1152가 사용된다. 표 5.11은 상기 윈도우들을 열거하고, 대응하는 변환 길이를 명시하며, 상기 윈도우의 형상을 도식적으로 보여준다. 세 개의 변환 길이들이 사용된다 : 1152, 1024(또는 960)(긴 변환으로써 나타내어짐) 및 128(또는 120) 계수들(짧은 변환으로써 나타내어짐).
윈도우 시퀀스들은, raw_data_block이 항상 1024(또는 960) 출력 샘플들을 나타내는 데이터를 포함하는 방법에서의 윈도우들로 구성된다. 데이터 구성요소 window_sequence는 실제로 사용되는 윈도 시퀀스를 가리킨다. 도 13C는 어떻게 윈도우 시퀀스들이 개별 윈도우들로 구성되는지를 목록으로 나타낸다. 변환과 윈도우에 대한 더욱 상세한 정보는 서브 항목 2를 참고한다.
1.2 스케일팩터 대역(Scalefactor Band)과 그룹화(Grouping)
ISO/IEC 14496-3, subpart 4, subclause 4.5.2.3.4를 보라.
ISO/IEC 14496-3, subpart 4, subclause 4.5.2.3.4에 설명된 것처럼, 스케일팩터 대역들의 폭은 청각 시스템(Human Auditory System)의 임계 대역들의 모방으로 만들어진다. 그러한 이유로 스펙트럼 내의 스케일팩터 대역들의 수와 폭은 변환 길이 및 샘플링 주파수에 의존한다. ISO/IEC 14496-3, subpart 4, subclause 4.5.4의 표 4.110부터 표 4.128까지는 변환 길이 1024(960)과 128(120) 및 샘플링 주파수에서 각 스케일팩터 대역의 시작에 대한 오프셋(Offset)을 열거한다. 본래 LONG_WINDOW, LONG_START_WINDOW 및 LONG_STOP_WINDOW를 위해 설계된 상기 표들은 START_WINDOW_LPD 및 STOP_START_WINDOW를 위해서도 또한 사용된다. STOP_WINDOW_1152 and STOP_START_WINDOW_1152를 위한 오프셋 표들은 표 4에서 표 10까지이다.
1.3 lpd_channel_stream()의복호화
lpd_channel_stream() 비트 스트림 요소는 “선형 예측 영역” 코딩된 신호의 하나의 프레임을 복호화 하기 위한 모든 필요한 정보를 포함한다. 이는, LPC-영역, 즉 LPC 필터링 단계를 포함하는 영역에서 코딩된, 부호화된 신호의 한 프레임에서의 페이로드를 포함한다. 상기 필터의 잔여(“여기”로 불린다.)는 그 때 ACELP 모듈의 도움으로 또는 MDCT 변환 영역에서(“변환 코딩된 여기(TCX : Transform Coded Excitation)”) 나타내어진다. 신호 특성에 맞는 적응(Close Adaptation)을 허용하기 위해, 하나의 프레임은, 각각이 ACELP 또는 TCX 코딩 방법으로 코딩된, 동일한 크기의 네 개의 더 작은 유닛들로 나누어진다.
이러한 처리는 3GPP TS 26.290에 설명된 코딩 방법과 유사하다. 하나의 “슈퍼 프레임”은 1024 샘플의 신호 세그먼트들을 나타내는 경우에는 “프레임”은 정확히 그 4분의 1 즉, 256 샘플인 약간 다른 용어(Different Terminology)가 이 문서로부터 차용(Inherited)되며, . 이 프레임들 각각의 하나는 동일한 길이를 갖는 네 개의 “서브 프레임”으로 더 하위 분할(Subdivided)된다. 이 서브 챕터(Subchapter)는 상기 용어를 채택함을 주의한다.
1.4 정의, 데이터 구성요소들
acelp_core_mode 이 비트 필트(Bit Field)는 ACELP가 lpd 코딩 모드로써 사용되는 경우에 정확한 비트 배정(Allocation)을 나타낸다.
lpd_mode 이 비트 필드 모드는 lpd_channel_stream()(하나의 AAC 프레임에 대응한다.)의 하나의 슈퍼 프레임 내의 네 개의 프레임 각각에 대한 코딩 모드를 정의한다. 상기 코딩 모드는 배열(Array) mod[]에 저장되고 0부터 3까지의 값을 취할 수 있다. lpd_mode로부터 mod[]로의 매핑은 아래의 표 1로부터 결정될 수 있다.
표 1 - lpd_channel_stream()에서 코딩 모드의 매핑
Figure 112011034372218-pct00011

mod[0..3] 배열 mod[] 내의 값들은 각 프레임 내의 각각의 코딩 모드를 나타낸다.
표 2 - mod[]에 의해 지시되는 코딩 모드
Figure 112011034372218-pct00012

acelp_coding() ACELP 여기의 하나의 프레임을 복호화하기 위한 모든 데이터를 포함하는 구문 요소
tcx_coding() 변환 코딩된 여기(TCX : Transform Coded eXcitation)에 기반한 MDCT의 하나의 프레임을 복호화하기 위한 모든 데이터를 포함하는 구문 요소
first_tcx_flag 현재 처리되는 TCX 프레임이 슈퍼 프레임 내 첫 번째인지를 나타내는 표시 문자(Flag)
lpc_data() 현재 슈퍼 프레임을 복호화하기 위해 요구되는 모든 LPC 필터 파라미터 집합들을 복호화하기 위한 모든 데이터를 포함하는 구문 요소
first_lpd_flag 현재 슈퍼 프레임이 LPC 영역에서 코딩된 슈퍼 프레임의 시퀀스위 첫 번째인지 나타내는 표시 문자(Flag). 상기 표시 문자는 또한 표 3에 따른 비트 스트림 요소 core_mode(channel_pair_element의 경우에 core_mode0 및 core_mode1)의 유래로부터 결정될 수 있다.
표 3 - first_lpd_flag의 정의
Figure 112011034372218-pct00013

last_lpd_mode 이전에 복호화된 프레임의 lpd_mode를 나타낸다.
1.5 복호화 프로세스
lpd_channel_stream에서 복호화 순서는 다음과 같다.
acelp_core_mode를 받는다.
lpd_mode를 받고 그로부터 helper variable mod[]의 내용을 결정한다.
상기 helper variable mod[]의 내용에 따라, acelp_coding 또는 tcx_coding 데이터를 받는다.
lpc_data를 받는다.
1.6 ACELP/TCX 코딩 모드 조합(Combination)
[8], 섹션 5.2.2에 유사하게, lpd_channel_stream 페이로드의 하나의 슈퍼 프레임 내의 ACELP 또는 TCX에 대해 26개의 허용되는 조합이 있다. 상기 26 모드 조합 중 하나는 비트 스트림 구성요소 lpd_mode에서 시그널링된다(Signaled). 서브 프레임 내의 각 프레임의 실제 코딩 모드로의 lpd_mode의 매핑은 표 1 및 표 2에서 보여진다.
표 4 - 44.1 및 48kHz에서 STOP_START_1152_WINDOW 및STOP_1152_WINDOW를 위한 2304윈도우 길이에 대한 스케일팩터 대역들
Figure 112011034372218-pct00014

표 5 - 32kHz에서 STOP_START_1152_WINDOW 및 STOP_1152_WINDOW를 위한 2304 윈도우 길이에 대한 스케일팩터 대역들
Figure 112011034372218-pct00015

표 6 - 8kHz에서 STOP_START_1152_WINDOW 및 STOP_1152_WINDOW를 위한 2304 윈도우 길이에 대한 스케일팩터 대역들
Figure 112011034372218-pct00016

표 7 - 11.025, 12 및 16kHz에서 STOP_START_1152_WINDOW 및 STOP_1152_WINDOW를 위한 2304 윈도우 길이에 대한 스케일팩터 대역들
Figure 112011034372218-pct00017

표 8 - 22.05 및 24kHz에서 STOP_START_1152_WINDOW 및 STOP_1152_WINDOW를 위한 2304 윈도우 길이에 대한 스케일팩터 대역들
Figure 112011034372218-pct00018

표 9 - 64kHz에서 STOP_START_1152_WINDOW 및 STOP_1152_WINDOW를 위한 2304 윈도우 길이에 대한 스케일팩터 대역들
Figure 112011034372218-pct00019

표10-88.2 및 96kHz에서 STOP_START_1152_WINDOW 및 STOP_1152_WINDOW를 위한 2304 윈도우 길이에 대한 스케일팩터 대역들
Figure 112011034372218-pct00020

1.7 스케일팩터 대역표 참조
모든 다른 스케일팩터 밴드 표들에 대해서는 ISO/IEC 14496-3, subpart4, section 4.5.4 Table 4.129 to Table4.147을 참조한다.
1.8 양자화(Quantization)
부호화기 내의 AAC 스펙트럴 계수들의 양자화를 위해 불균일 양자화기(Non Uniform Quantizer)가 사용된다. 그러므로 복호화기는, 스케일 팩터들의 호프만 복호화(서브 항목 6.3을 본다.) 및 스펙트럴 데이터의 무잡음 복호화(서브 항목 6.1을 본다.) 후에 역 불균일 양자화를 수행해야 한다.
TCX 스펙트럴 계수들의 양자화를 위해, 균일 양자화기(Uniform Quantizer)가 사용된다. 스펙트럴 데이터의 무잡음 복호화 후에 복호화기에서 역 양자화는 필요하지 않다.
2. 필터뱅크 및 블록 스위칭
2.1 도구 설명(Tool Description)
신호의 시간/주파수 표현은 이를 필터뱅크 모듈로 입력함으로써 시간 영역에 매핑된다. 상기 모듈은 역 변형 이산 여현 변환(IMDCT : Inverse Modified discrete Cosine Transform), 그리고 윈도우 및 오버랩-가산 함수로 이루어진다. 입력 신호의 특성에 필터뱅크의 시간/주파수 분해능을 적합시키기 위해, 블록 스위칭 도구 또한 채택된다. N은 윈도우 길이를 나타내며, N은 window_sequence(서브 항목 1.1을 본다.)의 함수이다. 각 채널에 대해, N/2 시간-주파수 값들 Xi,k들은 IMDCT에 의해 N 시간 영역 값들 xi,n으로 변환된다. 상기 윈도우 함수를 적용한 후에, 각 채널에 대해, zi,n의 제1 절반은, 각 채널의 outi,n을 위한 출력 샘플을 복원하기 위해 이전 블록 윈도우잉된 배열 z(i-1),n의 제2 절반에 가산된다.
2.2 정의
window_sequence 어떤 윈도우 시퀀스(즉, 블록 크기)가 사용되는지 나타내는 2 비트
window_shape 어떤 윈도우 함수가 선택되는지 나타내는 1 비트
도 13C는 8개의 window_sequence(ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE, EIGHT_SHORT_SEQUENCE, LONG_STOP_SEQUENCE, STOP_START_SEQUENCE, STOP_1152_SEQUENCE, LPD_START_SEQUENCE, STOP_START_1152_SEQUENCE)를 보여준다.
아래에서 LPD_SEQUENCE는 소위 선형 예측 영역 코덱(섹션 1.3을 보라.) 내에서의 모든 허용되는 윈도우/코딩 모드 조합을 나타낸다. 주파수 영역 코딩된 프레임을 복호화하는 상황에서는 다음 프레임이 LPD_SEQUENCE에 의해 나타내어지는, LP 영역 코딩 모드로 부호화되는지 아는 것만이 중요하다. 그러나, LPD_SEQUENCE 내의 정확한 구조는 LP 영역 코딩된 프레임을 복호화할 때 다루어진다.
2.3 복호화 프로세스
2.3.1 IMDCT
IMDCT의 분석적인 표현은 다음과 같다:
Figure 112011034372218-pct00021

Figure 112011034372218-pct00022

역 변환에서 합성 윈도우(Synthesis Window) 길이 N은 구문 요소 window_sequence 및 알고리즘 맥락(Algorithmic Context)의 함수이다. 이는 다음과 같이 정의된다.
윈도우 길이 2304:
Figure 112011034372218-pct00023

윈도우 길이 2048:
Figure 112011034372218-pct00024

의미 있는 블록 전이(Transition)들은 다음과 같다:
Figure 112011034372218-pct00025

Figure 112011034372218-pct00026

Figure 112011034372218-pct00027

Figure 112011034372218-pct00028

Figure 112011034372218-pct00029

Figure 112011034372218-pct00030

Figure 112011034372218-pct00031

Figure 112011034372218-pct00032

Figure 112011034372218-pct00033

2.3.2 윈도우잉 및 블록 스위칭
window_sequencewindow_shape 요소에 따라 다른 변환 윈도우들이 사용된다. 아래와 같이 설명되는 윈도우 하프들(Window Halves)의 조합은 모든 가능한 window_sequences를 나타나게 한다.
window_shape == 1에 대해, 윈도우 계수들은 다음과 같이 카이저-베셀 도출(KBD : Kaiser-Bessel Drived) 윈도우에 의해 주어진다:
Figure 112011034372218-pct00034
Figure 112011034372218-pct00035
여기서:
W’, 카이저-베셀 커넬 윈도우 함수(Kaiser-Bessel Kernel Window Function)(또한 [5]를 본다.)는 다음과 같이 정의된다.
Figure 112011034372218-pct00036

Figure 112011034372218-pct00037

그렇지 않으면, window_shape == 0에 대해, 다음과 같이 사인 윈도우(Sine Window)가 사용된다.
Figure 112011034372218-pct00038

윈도우 길이 N은 KBD 및 사인 윈도우에 대해 2048(1920) 또는 256(240)일 수 있다. STOP_1152_SEQUENCE 및 STOP_START_1152_SEQUENCE의 경우에, N은 여전히 2048 또는 256일 수 있고, 윈도우 기울기는 유사하지만, 평평한 위쪽 영역들은 더 길다.
오직 LPC_START_SEQUENCE의 경우에만, 윈도우의 오른쪽 부분이 64 샘플의 사인 윈도우이다.
가능한 윈도우 시퀀스들을 얻는 방법은 본 서브 항목(Subclause)의 a)-h) 파트에서 설명된다.
모든 종류의 window_sequences에 대해, 첫 번째 변형 윈도우의 왼쪽 반의 window_shape는 이전 블록의 윈도우 형상에 의해 결정된다. 다음 수식은 이러한 사실을 표현한다.
Figure 112011034372218-pct00039

여기서:
window_shape_previous_block: 이건 블록 (i-1)의 window_shape
복호화되는 첫 번째 raw_data_block()에 대해 윈도우의 왼쪽 및 오른쪽 반의 window_shape는 동일하다.
a) ONLY_LONG_SEQUENCE:
window_sequence == ONLY_LONG_SEQUENCE는 2048(1920)의 전체 윈도우 길이 N_l 를 갖는 하나의 LONG_WINDOW와 같다.
window_shape == 1에 대해 ONLY_LONG_SEQUENCE를 위한 윈도우는 다음과 같이 주어진다:
Figure 112011034372218-pct00040

만일window_shape == 0 이라면 ONLY_LONG_SEQUENCE를 위한 윈도우는 다음과 같이 설명될 수 있다:
Figure 112011034372218-pct00041

윈도우잉 후, 시간 영역 값 (zi,n)은 다음 수식으로 표현될 수 있다:
Figure 112011034372218-pct00042

b) LONG_START_SEQUENCE:
LONG_START_SEQUENCE는 ONLY_LONG_SEQUENCE로부터 EIGHT_SHORT_SEQUENCE로의 블록 변환을 위한 정확한 오버랩 및 가산을 얻기 위해 필요하다.
윈도우 길이 N_lN_s는 각각 2048(1920) 및 256(240)으로 놓여진다.
만일 window_shape == 1 이라면 LONG_START_SEQUENCE를 위한 윈도우는 다음과 같이 주어진다:
Figure 112011034372218-pct00043

만일 window_shape == 0 이라면 LONG_START_SEQUENCE를 위한 윈도우는 다음과 같다:
Figure 112011034372218-pct00044

윈도우잉된 시간 영역 값은 a)에 설명된 수식으로 계산될 수 있다.
c) EIGHT_SHORT
window_sequence == EIGHT_SHORT는 각각 256(240)의 길이 N_s를 갖는 여덟 개의 오버래핑된 및 가산된 SHORT_WINDOW들을 포함한다. 선행 및 후행 영들(zeros)을 함께 갖는 window_sequence의 전체 길이는 2048(1920)이다. 여덟 개의 짧은 블록들 각각은 우선 개별적으로 윈도우잉된다. 짧은 블록 번호는 변수 j=0,…,M-1 (M=N_l/N_s)로 표시된다.
이전 블록의 window_shape는 여덟 개의 짧은 블록들의 첫 번째(W0(n))에만 영향을 준다. 만일 window_shape == 1 이라면 윈도우 함수들은 다음과 같이 주어질 수 있다:
Figure 112011034372218-pct00045

그렇지 않고, window_shape == 0 이라면, 윈도우 함수들은 다음과 같이 설명될 수 있다:
Figure 112011034372218-pct00046

윈도우잉된 시간 영역 값들 zi,n을 가져오는 EIGHT_SHORT window_sequence 사이의 오버랩 및 가산은 다음과 같이 설명될 수 있다:
Figure 112011034372218-pct00047

d) LONG_STOP_SEQUENCE
상기 window_sequence는 EIGHT_SHORT_SEQUENCE로부터 도로 ONLY_LONG_SEQUENCE로 스위칭하기 위해 필요하다.
만일 window_shape == 1 이라면 LONG_STOP_SEQUENCE를 위한 윈도우는 다음과 같이 주어진다:
Figure 112011034372218-pct00048

만일 window_shape == 0 이라면 LONG_START_SEQUENCE를 위한 윈도우는 다음에 의해 결정된다:
Figure 112011034372218-pct00049

윈도우잉된 시간 영역 값들은 a)에서 설명된 수식으로 계산될 수 있다.
e) STOP_START_SEQUENCE:
STOP_START_SEQUENCE는 단지 ONLY_LONG_SEQUENCE가 필요할 때 EIGHT_SHORT_SEQUENCE로부터 EIGHT_SHORT_SEQUENCE로의 블록 전이를 위한 정확한 오버랩 및 가산을 얻기 위해 필요하다.
윈도우 길이 N_lN_s는 각각 2048(1920) 및 256(240)로 각각 설정된다.
만일 window_shape == 1 이라면 STOP_START_SEQUENCE를 위한 윈도우는 다음과 같이 주어진다:
Figure 112011034372218-pct00050

만일 window_shape == 0 이라면 STOP_START_SEQUENCE를 위한 윈도우는 다음과 같다:
Figure 112011034372218-pct00051

윈도우잉된 시간-영역 값들은 a)에서 설명된 수식으로 계산될 수 있다.
f) LPD_START_SEQUENCE:
LPD_START_SEQUENC는 ONLY_LONG_SEQUENCE로부터 LPD_SEQUENCE로의 블록 전이를 위한 정확한 오버랩 및 가산을 얻기 위해 필요하다.
윈도우 길이 N_lN_s는 각각 2048(1920) 및 256(240)으로 놓여진다.
만일 window_shape == 1 이라면 LPD_START_SEQUENCE를 위한 윈도우는 다음과 같이 주어진다:
Figure 112011034372218-pct00052

만일 window_shape == 0 이라면 LPD_START_SEQUENCE를 위한 윈도우는 다음과 같다:
Figure 112011034372218-pct00053

윈도우잉된 시간-영역 값들은 a)에서 설명된 수식으로 계산될 수 있다.
g) STOP_1152_SEQUENCE:
STOP_1152_SEQUENCE는 LPD_SEQUENCE로부터 ONLY_LONG_SEQUENCE로의 블록 전이를 위한 정확한 오버랩 및 가산을 얻기 위해 필요하다.
윈도우 길이 N_lN_s는 각각 2048(1920) 및 256(240)으로 설정된다.
만일 window_shape == 1 이라면 STOP_1152_SEQUENCE를 위한 윈도우는 다음과 같이 주어진다:
Figure 112011034372218-pct00054

만일 window_shape == 0 이라면 STOP_1152_SEQUENCE를 위한 윈도우는 다음과 같다:
Figure 112011034372218-pct00055

윈도우잉된 시간-영역 값들은 a)에서 설명된 수식으로 계산될 수 있다.
h) STOP_START_1152_SEQUENCE:
STOP_START_1152_SEQUENCE는 단지 ONLY_LONG_SEQUENCE가 필요할 때 LPD_SEQUENCE로부터 EIGHT_SHORT_SEQUENCE로의 블록 전이를 위한 정확한 오버랩 및 가산을 얻기 위해 필요하다.
윈도우 길이 N_lN_s는 각각 2048(1920) 및 256(240)으로 놓여진다.
만일 window_shape == 1 이라면 STOP_START_SEQUENCE를 위한 윈도우는 다음과 같이 주어진다:
Figure 112011034372218-pct00056

만일 window_shape == 0 이라면 STOP_START_SEQUENCE를 위한 윈도우는 다음과 같다:
Figure 112011034372218-pct00057

윈도우잉된 시간-영역 값들은 a)에서 설명된 수식으로 계산될 수 있다.
2.3.3 이전 윈도우 시퀀스를 이용한 오버래핑 및 가산
EIGHT_SHORT window_sequence내부의 오버랩 및 가산 외에도 모든 window_sequence 의 제1(왼쪽) 부분은 최종 시간 영역 값들 outi,n을 가져오는 이전 window_sequence의 제2(오른쪽) 부분으로 오버래핑되고 가산된다. 이러한 동작을 위한 수학적 표현은 다음과 같이 설명될 수 있다.
ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE, EIGHT_SHORT_SEQUENCE, LONG_STOP_SEQUENCE, STOP_START_SEQUENCE, LPD_START_SEQUENCE의 경우에:
Figure 112011034372218-pct00058

그리고 STOP_1152_SEQUENCE, STOP_START_1152_SEQUENCE의 경우에:
Figure 112011034372218-pct00059

LPD_START_SEQUENCE의 경우에, 다음 시퀀스는 LPD_SEQUENCE이다. SIN 또는 KBD 윈도우는 좋은 오버랩 및 가산을 가지기 위해 LPD_SEQUENCE의 왼쪽 부분에 적용된다.
Figure 112011034372218-pct00060

STOP_1152_SEQUENCE, STOP_START_1152_SEQUENCE의 경우에, 이전 시퀀스는 LPD_SEQUENCE이다. TDAC 윈도우는 좋은 오버랩 및 가산을 가지기 위해 LPD_SEQUENCE의 오른쪽 부분에 적용된다.
Figure 112011034372218-pct00061

3. IMDCT
서브 항목(Subclause) 2.3.1을 보라.
3.1 윈도우잉 및 블록 스위칭
window_shape 요소에 따라 서로 다른 오버 샘플링된 변환 윈도우 프로토타입(Prototype)들이 사용되며, 상기 오버 샘플링된 윈도우들의 길이는 다음과 같다.
Figure 112011034372218-pct00062

window_shape == 1에 대해, 윈도우 계수들은 다음과 같이 카이저-베셀 도출(KBD : Kaiser-Bessel Drived) 윈도우에 의해 주어진다.
Figure 112011034372218-pct00063
여기서:
W’, 카이저-베셀 커넬 윈도우 함수(Kaiser-Bessel Kernel Window Function)(또한 [5]를 본다.)는 다음과 같이 정의된다.
Figure 112011034372218-pct00064
Figure 112011034372218-pct00065

그렇지 않으면, window_shape == 0에 대해, 다음과 같이 사인 윈도우(Sine Window)가 사용된다.
Figure 112011034372218-pct00066

모든 종류의 window_sequence들에 대해 왼쪽 윈도우 부분을 위해 사용되는 프로토타입은 이전 블록의 윈도우 형상에 의해 결정된다. 다음 수식은 이러한 사실을 표현한다:
Figure 112011034372218-pct00067

마찬가지로 오른쪽 윈도우 형상을 위한 프로토타입은 다음 수식에 의해 결정된다:
Figure 112011034372218-pct00068

전이 길이(Transition Length)들은 이미 결정되기 때문에, 이는 단지 EIGHT_SHORT_SEQUENCE들과 다른 모든 것들(All Others) 사이에서 구별되기만 하면 된다:
a) EIGHT SHORT SEQUENCE:
아래의 c-코드 형태 부분은 EIGHT_SHORT_SEQUENCE의 내부 오버랩-가산 및 윈도우잉을 설명한다.
tw_windowing_short(X[][],z[],first_pos,last_pos,warpe_trans_len_left,warped_trans_len_right,left_window_shape[],right_window_shape[]){
offset = n_long - 4*n_short - n_short/2;
tr_scale_1 = 0.5*n_long/warped_trans_len_left*os_factor_win;
tr_pos_l = warped_trans_len_left+(first_pos-n_long/2)+0.5) *tr_scale_l;
tr_scale_r = 8*os_factor_win;
tr_pos_r = tr_scale_r/2;
for ( i = 0 ; i < n_short ; i++ ) {
z[i] = X[0][i];
}
for(i=0;i<first_pos;i++)
z[i] = 0.;
for(i=n_long-1-first_pos;i>=first_pos;i--) {
z[i] *= left_window_shape[floor(tr_pos_l)];
tr_pos_l += tr_scale_l;
}
for(i=0;i<n_short;i++) {
z[offset+i+n_short]=
X[0][i+n_short]*right_window_shape[floor(tr_pos_r)];
tr_pos_r += tr_scale_r;
}
offset += n_short;
for ( k = 1 ; k < 7 ; k++ ) {
tr_scale_l = n_short*os_factor_win;
tr_pos_l = tr_scale_l/2;
tr_pos_r = os_factor_win*n_long-tr_pos_l;
for ( i = 0 ; i < n_short ; i++ ) {
z[i + offset] += X[k][i]*right_window_shape[floor(tr_pos_r)];
z[offset + n_short + i] =
X[k][n_short + i]*right_window_shape[floor(tr_pos_l)];
tr_pos_l += tr_scale_l;
tr_pos_r -= tr_scale_l;
}
offset += n_short;
}
tr_scale_l = n_short*os_factor_win;
tr_pos_l = tr_scale_l/2;
for ( i = n_short - 1 ; i >= 0 ; i-- ) {
z[i + offset] += X[7][i]*right_window_shape[(int) floor(tr_pos_l)];
tr_pos_l += tr_scale_l;
}
for ( i = 0 ; i < n_short ; i++ ) {
z[offset + n_short + i] = X[7][n_short + i];
}
tr_scale_r = 0.5*n_long/warpedTransLenRight*os_factor_win;
tr_pos_r = 0.5*tr_scale_r+.5;
tr_pos_r = (1.5*n_long-(float)wEnd-0.5+warpedTransLenRight) *tr_scale_r;
for(i=3*n_long-1-last_pos ;i<=wEnd;i++) {
z[i] *= right_window_shape[floor(tr_pos_r)];
tr_pos_r += tr_scale_r;
}
for(i=lsat_pos+1;i<2*n_long;i++)
z[i] = 0.;
b) 다른 모든 것들(All Others):
tw_windowing_long(X[][],z[],first_pos,last_pos,warpe_trans_len_left,warped_trans_len_right,left_window_shape[],right_window_shape[]){
for(i=0;i<first_pos;i++)
z[i] = 0.;
for(i=last_pos+1;i<N;i++)
z[i] = 0.;
tr_scale = 0.5*n_long/warped_trans_len_left*os_factor_win;
tr_pos = (warped_trans_len_left+first_pos-N/4)+0.5)*tr_scale;
for(i=N/2-1-first_pos;i>=first_pos;i--) {
z[i] = X[0][i]*left_window_shape[floor(tr_pos)]);
tr_pos += tr_scale;
}
tr_scale = 0.5*n_long/warped_trans_len_right*os_factor_win;
tr_pos = (3*N/4-last_pos-0.5+warped_trans_len_right)*tr_scale;
for(i=3*N/2-1-last_pos;i<=last_pos;i++) {
z[i] = X[0][i]*right_window_shape[floor(tr_pos)]);
tr_pos += tr_scale;
}
}
4. MDCT 기반 TCX
4.1 도구 설명(Tool Description)
core-mode가 1과 같을 때 그리고 세 TCX 모드 중 하나 또는 그 이상이 “선형 예측-영역”코딩으로써 선택될 때, 즉 mod[]의 4 배열 엔트리들(Array Entries) 중 하나가 0보다 클 때, MDCT 기반 TCX가 사용된다. MDCT 기반 TCX는 산술(Arithmetic) 복호화기로부터 양자화된 스펙트럴 계수들을 받는다. 상기 양자화된 계수들은 먼저, 가중 분석 LPC-필터(Weighting Synthesis LPC-filter)에 입력되는 시간-영역 가중 합성(Time-domain Weighted Synthesis)을 얻기 위한 역 MDCT 변환을 적용하기 전에, 안락 잡음(Comfort Noise)에 의해 완성된다.
4.2 정의
lg 산술적 복호화기에 의한 양자화된 스펙트럴 계수들 출력의 수
noise_factor 잡음 레벨 양자화 인덱스
noise level 복원된 스펙트럼에 삽입된 잡음의 레벨
noise[] 발생된 잡음의 벡터
global_gain 재-스케일링(Re-scaling) 이득 양자화 인덱스
g 재-스케일링(Re-scaling) 이득
rms 합성된 시간-영역 신호, x[]의 평균제곱근(Root Mean Square)
x[] 합성된 시간-영역 신호
4.3 복호화 프로세스
MDCT-기반 TCX는 산술적 복호화기로부터 mod[] 및 last_lpd_mode 값들에 의해 결정되는, 양자화된 스펙트럴 계수들의 수, lg를 요청한다. 이러한 두 값들은 또한 역 MDCT에서 적용될 윈도우 길이와 형상을 정의한다. 상기 윈도우는 세 부분, L 샘플들의 왼쪽 오버랩, M 샘플들의 1들(Ones)의 중간 부분 및 R 샘플들의 오른쪽 오버랩 부분으로 이루어진다. 길이 2*lg의 MDCT 윈도우를 얻기 위해, 표 3/도 14F에서 도 14G에 나타난 바와 같이 ZL 영들(Zeros)이 왼쪽에 추가되고 ZR 영들(Zeros)이 오른쪽 측에 추가된다.
표 3 -last_lpd_mode 및 mod[]의 함수로써 스펙트럴 계수들의 수
Figure 112011034372218-pct00069

MDCT 윈도우는 다음과 같이 주어진다.
Figure 112011034372218-pct00070

산술적 복호화기에 의해 생성된(Delivered), 양자화된 스펙트럴 계수들, quant[]는 안락 잡음(Comfort Noise)에 의해 완성된다. 삽입된 잡음의 레벨은 다음과 같이 복호화된 noise_factor에 의해 결정된다.
noise_level = 0.0625*(8-noise_factor)
잡음 벡터, noise[]는, 그 때 값 -1 또는 +1 값을 임의로 생성하는 랜덤(Random) 함수, random_sign()을 이용하여 계산된다.
noise[i] = random_sign()*noise_level;
quant[] 및 noise[] 벡터들은, quant[] 내의 8 연속된 영들(Consecutive Zeros)의 런(Run)들이 noise[]의 성분에 의해 대체되는 방법으로, 복원된 스펙트럴 계수 벡터, r[]를 형성하기 위해 결합된다. 8 비-영들(Non-zeros)의 런(Run)은 다음 수식에 따라 탐지된다.
Figure 112011034372218-pct00071

1은 다음과 같이 복원된 스펙트럼을 획득한다:
Figure 112011034372218-pct00072

역 MDCT를 적용하기에 앞서 다음 단계에 따라 스펙트럼 역-형상화(De-shaping)가 적용된다:
1. 스펙트럼의 첫 4분의 1의 각 8-차원 블록(8-dimensional Block)에 대해 인덱스 m에서 8-차원 블록의 에너지 Em 을 계산한다.
2. 비율 Rm=sqrt(Em/EI)를 계산하며, 여기서 I는 모든 Em 의 최대값을 갖는 블록 인덱스이다.
3. 만일 Rm<0.1,이면, 그 때 Rm=0.1로 설정한다.
4. 만일 Rm<Rm-1 ,이면, 그 때 Rm=Rm-1 로 설정한다.
스펙트럼의 첫 4분의 1에 속하는 각 8-차원 블록은 그 때 상기 팩터(Factor) Rm 에 의해 곱해진다.
복원된 스펙트럼은 역 MDCT로 입력된다. 윈도우잉되지 않은(Non-windowed) 출력 신호, x[]은, 복호화된 global_gain 인덱스의 역 양자화에 의해 얻어지는, 이득, g에 의해 재-스케일링된다:
Figure 112011034372218-pct00073

여기서, rms는 다음과 같이 계산된다:
Figure 112011034372218-pct00074

재스케일링되고(Rescaled) 합성된(Synthesized) 시간-영역 신호는 그 때 다음과 같다:
Figure 112011034372218-pct00075

윈도우잉과 오버랩을 재스케일링한 후 가산이 적용된다.
복원된 TCX 목표 x(n)은 그 때 합성 필터에 적용될 여기 신호를 찾기 위해 영 상태 역 가중 합성 필터(Zero-state Inverse Weighted Synthesis Filter)
Figure 112011034372218-pct00076
를 통해 필터링된다. 상기 필터링에서 서브 프레임마다 보간된(Interpolated) LP 필터가 사용됨에 주목한다. 상기 여기(Excitation)가 결정되면, 합성 필터
Figure 112011034372218-pct00077
를 통해 여기를 필터링하고 그 때 위에서 설명한 바와 같이 필터
Figure 112011034372218-pct00078
를 통해 필터링하여 디-엠퍼시스 함으로써(De-emphasizing) 신호가 복원된다.
여기(Excitation)는 또한 ACELP 적응 코드북을 갱신하고 순차적인 프레임에서 TCX로부터 ACELP로 스위칭하도록 하기 위해 필요하다는 점을 주목한다. 또한 TCX 합성의 길이는 TCX 프레임 길이(오버랩이 없는) 각각 1,2 또는 3의 mod[]에 대해 256, 512 또는 1024에 의해 주어지는 점에 주목한다.
표준 참조 문헌들
[1] ISO/IEC 11172-3:1993, Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s, Part 3: Audio.
[2] ITU-T Rec.H.222.0(1995) | ISO/IEC 13818-1:2000, Information technology - Generic coding of moving pictures and associated audio information: - Part 1: Systems.
[3] ISO/IEC 13818-3:1998, Information technology - Generic coding of moving pictures and associated audio information: - Part 3: Audio.
[4] ISO/IEC 13818-7:2004, Information technology - Generic coding of moving pictures and associated audio information: - Part 7: Advanced Audio Coding (AAC).
[5] ISO/IEC 14496-3:2005, Information technology - Coding of audio-visual objects - Part 1: Systems
[6] ISO/IEC 14496-3:2005, Information technology - Coding of audio-visual objects - Part 3: Audio
[7] ISO/IEC 23003-1:2007, Information technology - MPEG audio technologies - Part 1: MPEG Surround
[8] 3GPP TS 26.290 V6.3.0, Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Transcoding functions
[9] 3GPP TS 26.190, Adaptive Multi-Rate - Wideband (AMR-WB) speech codec; Transcoding functions
[10] 3GPP TS 26.090, Adaptive Multi-Rate (AMR) speech codec; Transcoding functions
정의들
정의들은 ISO/IEC 14496-3, 서브 파트(Subpart) 1, 서브 항목(Subclause) 1.3 (용어 및 정의들(Terms and Definitions)) 및 3GPP TS 26.290, 섹션(Section) 3(정의 및 약어들(Definitions and Abbreviations))에서 찾아질 수 있다.
비록 어떤 면들은 장치의 맥락에서 설명되어 왔으나, 이러한 면들은 또한 대응하는 방법의 설명을 나타냄은 명백하며, 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법 단계의 맥락에서 설명된 면들은 또한 대응하는 블록 또는 항목(Item) 또는 대응하는 장치의 특징을 나타낸다.
진보된 부호화된 오디오 신호는 디지털 저장 매체에 저장되거나, 또는 무선 전송 매체 또는 인터넷과 같은 유선 전송 매체와 같은 전송 매체에서 전송될 수 있다.
특정 구현 필요에 따라, 상기 발명의 실시예들은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 상기 구현은 디지털 저장 매체, 예를 들어 전자적으로 판독 가능한 제어 신호가 저장된, 플로피 디스크, DVD, CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리(FLASH Memory)를 사용하여 수행될 수 있으며, 이는 각 방법이 수행되도록 하기 위해 프로그램 가능한 컴퓨터 시스템과 함께 동작한다. (또는 함께 동작 가능하다.)
상기 발명에 따른 몇몇 실시예들은 전자적으로 판독 가능한 제어 신호들을 포함하는 데이터 전송자(Carrier)를 포함하며, 프로그램 가능한 컴퓨터 시스템과 함께 동작할 수 있되 이는 여기서 설명된 방법들 중 하나가 수행된다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로써 구현될 수 있으며, 상기 프로그램 코드는 상기 컴퓨터 프로그램 제품이 컴퓨터상에서 동작할 때 상기 방법들 중 하나를 수행하기 위해 동작한다. 상기 프로그램 코드는 예를 들어 기계 판독 가능 전송자(Machine Readable Carrier)에 저장될 수 있다.
다른 실시예들은 기계 판독 가능 전송자에 저장된, 여기서 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
다르게 말하면, 상기 진보된 방법의 실시예는, 그러므로, 컴퓨터 프로그램이 컴퓨터에서 동작할 때, 여기서 설명된 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
진보된 방법들의 추가 실시예는, 그러므로, 여기서 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 기록된, 데이터 전송자(또는 디지털 저장 매체, 또는 컴퓨터-판독 가능 매체)이다.
진보된 방법의 추가 실시예는, 그러므로, 여기서 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호들의 시퀀스이다. 상기 데이터 스트림 또는 신호들의 시퀀스는 예를 들어 데이터 통신 연결을 매개로 하여, 예를 들면 인터넷을 매개로 하여 전송되도록 구성될 수 있다.
추가 실시예는 여기서 설명된 방법들 중 하나를 수행하도록 구성되거나 적합화된, 처리 수단, 예를 들어 컴퓨터 또는 프로그램 가능한 논리 장치를 포함한다.
추가 실시예는, 여기서 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
몇몇 실시예들에서, 프로그램 가능한 논리 장치(예를 들어 현장 프로그램 가능 게이트 배열(Field Programmable Gate Array))는 여기서 설명된 방법들 중 몇몇 또는 모든 기능을 수행하기 위해 사용될 수 있다. 몇몇 실시예들에서, 현장 프로그램 가능 게이트 배열은 여기서 설명된 방법들 중 하나는 수행하기 위해 마이크로 프로세서와 함께 동작할 수 있다. 일반적으로, 상기 방법들은 바람직하게는 어떠한 하드웨어 장치에 의해 수행된다.
위에서 설명된 실시예들은 단지 본 발명의 원리를 위한 설명에 불과하다. 여기에 설명된 구성 및 그 상세에 대한 변경 및 변형은 당업자에게 명백하다. 그러므로, 그 취지는 단지 출원되는 특허 청구범위에 의해서만 제한되는 것이고 여기에서의 실시예들의 상세 및 설명에 의해 나타난 특정 상세들에 의해 한정되는 것이 아니다.
200 : 스위치
300/525 : 신호 분석기
510 : LPC 프로세서, 영역 변환기
410 : 제1 변환기
523 : 제2 변환기
421 : 양자화기/코더
431 : 역 양자화기/코더
440 : 제1 제어가능 변환기
534 : 제2 제어가능 변환기
540 : LPC 합성 프로세서
600 : 결합기

Claims (21)

  1. 제1 부호화 신호를 얻기 위해 제1 코딩 알고리즘을 이용하여 오디오 신호를 부호화하기 위한 제1 코딩 분기(400)-여기서, 상기 제1 코딩 분기(400)는 입력 신호를 스펙트럴 영역으로 변환하기 위한 제1 변환기 (410)를 포함함-;
    제2 부호화 신호를 얻기 위해 제2 코딩 알고리즘을 이용하여 오디오 신호를 부호화하기 위한 제2 코딩 분기(500)-여기서, 상기 제1 코딩 알고리즘은 제2 코딩 알고리즘과 다르고, 상기 제2 코딩 분기(500)는 입력 신호를 입력 영역에서 출력 영역으로 변환하기 위한 영역 변환기(Domain Converter), 및 입력 신호를 스펙트럴 영역으로 변환하기 위한 제2 변환기 (523)를 포함함-;
    오디오 입력 신호의 부분에서, 상기 제1 부호화 신호 또는 상기 제2 부호화 신호가 부호화기 출력 신호에 있도록 하기 위해 상기 제1 코딩 분기와 제2 코딩 분기 사이를 스위칭하기 위한 스위치(200);
    상기 오디오 신호의 상기 부분이 상기 부호화기 출력 신호에서 상기 제1 부호화 신호로써 나타내어지는지 또는 상기 제2 부호화 신호로써 나타내어지는지 결정하기 위해 상기 오디오 신호의 상기 부분을 분석하기 위한 신호 분석기(300, 525)-상기 신호 분석기(300, 525)는 또한 상기 오디오 신호의 부분을 나타내는 상기 제1 부호화 신호 또는 상기 제2 부호화 신호가 발생될 때, 상기 제1 변환기 및 상기 제2 변환기의 각각의 시간/주파수 분해능을 가변적으로 결정하기 위해 구성됨-; 및
    부호화기 출력 신호-여기서, 상기 부호화기 출력 신호는 상기 제1 부호화 신호, 상기 제2 부호화 신호, 상기 제1 부호화 신호 및 상기 제2 부호화 신호를 지시하는 정보, 그리고 상기 제1 부호화 신호와 상기 제2 부호화 신호를 생성하기 위해 적용되는 시간/주파수 분해능을 지시하는 정보를 포함함-를 발생하기 위한 출력 인터페이스(800); 를 포함하되, 상기 신호 분석기(300, 525)는 복수의 서로 다른 윈도우 길이들-여기서 상기 복수의 서로 다른 윈도우 길이들은 2304 샘플들, 2048 샘플들, 256 샘플들, 1920 샘플들, 2160 샘플들, 및 240 샘플들로 구성되는 서로 다른 윈도우 길이들의 그룹으로부터 선택됨-로부터 선택될 상기 시간/주파수 분해능을 결정하기 위해, 또는
    복수의 서로 다른 변환 길이들-여기서 상기 복수의 서로 다른 변환 길이들은 변환 블록당 1152 계수들, 변환 블록당 1024 계수들, 변환 블록당 1080 계수들, 변환 블록당 960 계수들, 변환 블록당 128 계수들, 및 변환 블록당 120 계수들로 구성되는 변환 블록당 계수들의 그룹으로부터 선택된 적어도 두 개의 변환 블록당 계수들을 포함함-을 사용하기 위해 구성되거나, 또는
    상기 신호 분석기(300, 525)는 상기 제2 변환기의 상기 시간/주파수 분해능을 복수의 서로 다른 윈도우 길이들-여기서 상기 복수의 서로 다른 윈도우 길이들은 640 샘플들, 1152 샘플들, 2304 샘플들, 512 샘플들, 1024 샘플들, 및 2048 샘플들로 구성되는 그룹으로부터 선택된 적어도 두 개의 윈도우 길이들을 포함함- 중 하나의 윈도우 길이로써 결정하기 위해, 또는
    복수의 서로 다른 변환 길이들-여기서 상기 복수의 서로 다른 변환 길이들은 변환 블록당 320 스펙트럴 계수들, 변환 블록당 576 스펙트럴 계수들, 변환 블록당 1152 스펙트럴 계수들, 변환 블록당 256 스펙트럴 계수들, 변환 블록당 512 스펙트럴 계수들, 및 변환 블록당 1024 스펙트럴 계수들로 구성되는 서로 다른 변환 길이들의 그룹으로부터 선택된 적어도 두 개의 서로 다른 변환 길이들을 포함함-을 사용하기 위해 구성되는 오디오 신호를 부호화 하기 위한 오디오 부호화기.
  2. 청구항 1에 있어서, 상기 신호 분석기(300, 525)는, 상기 오디오 신호의 상기 부분을 음성형 오디오 신호 또는 음악형 오디오 신호로 분류하고, 상기 제1 변환기(410)의 상기 시간/주파수 분해능을 결정하기 위해 음악 신호의 경우에는 전이 탐지(Transient Detection)를 수행하거나 또는 상기 제2 변환기(523)의 상기 시간/주파수 분해능을 결정하기 위해 분석-합성 처리를 수행하기 위해 구성되는 오디오 부호화기.
  3. 삭제
  4. 청구항 1에 있어서, 상기 제2 코딩 분기는 상기 영역 변환기(510)에 의해 결정되는 영역에서 오디오 신호를 처리하기 위한 제1 처리 분기(522), 및 상기 제2 변환기(523)를 포함하는 제2 처리 분기(523, 524)를 포함하되,
    상기 신호 분석기는 상기 오디오 신호의 부분을 하위-부분들(Sub-portions)의 시퀀스로 하위-분할(Sub-dividing)하기 위해 구성되고, 상기 신호 분석기는 상기 제2 처리 분기에 의해 처리되는 부분의 하위-부분(Sub-portion)에 대해 상기 제1 처리 분기에 의해 처리되는 하위-부분(Sub-portion)의 위치에 따라 상기 제2 변환기(523)의 상기 시간/주파수 분해능을 결정하기 위해 구성되는 오디오 부호화기.
  5. 청구항 4에 있어서, 상기 제1 처리 분기는 ACELP 부호화기(526)를 포함하고,
    상기 제2 처리 분기는 MDCT-TCX 처리 장치(527)를 포함하며,
    상기 신호 분석기(300/525)는, 상기 제2 변환기의 시간 분해능을 하위-부분의 길이에 의해 결정되는 높은 값 또는 1보다 큰 정수 값과 곱해진 하위-부분의 길이에 의해 결정되는 상대적으로 더 낮은 값으로 설정하기 위해 구성되는 오디오 부호화기.
  6. 청구항 1에 있어서, 상기 신호 분석기(300, 525)는 오디오 샘플들의 복수의 동일 크기 블록을 커버하는 고정 래스터(Constant Raster)에서 신호 분류를 결정하고, 상기 오디오 신호에 따라서 상기 오디오 샘플들의 복수의 동일 크기 블록 중에서 하나의 동일 크기 블록을 가변적인 수의 블록들로 하위-분할(Sub-dividing)하기 위해 구성되되, 하위블록(Sub-block)의 길이는 제1 시간/주파수 분해능 또는 제2 시간/주파수 분해능을 결정하는 오디오 부호화기.
  7. 삭제
  8. 청구항 1에 있어서, 상기 제2 코딩 분기는 오디오 신호를 처리하기 위한 제1 처리 분기(522);
    상기 제2 변환기를 포함하는 제2 처리 분기; 및
    상기 제2 코딩 분기로의 오디오 신호 입력의 부분에서, 제1 처리 신호 또는 제2 처리 신호가 상기 제2 부호화 신호에 있도록 하기 위해, 상기 제1 처리 분기(522)와 상기 제2 처리 분기(523, 524) 사이를 스위칭하기 위한 추가 스위치(521);
    를 포함하는 오디오 부호화기.
  9. 오디오 신호를 오디오 부호화하는 방법으로서,
    제1 코딩 분기(400)-여기서 상기 제1 코딩 분기는 입력 신호를 스펙트럴 영역으로 변환하기 위한 제1 변환기(410)를 포함함-에서, 제1 부호화 신호를 얻기 위해 제1 코딩 알고리즘을 이용하여 오디오 신호를 부호화하는 단계;
    제2 코딩 코딩 분기(500)에서, 제2 부호화 신호(Second Encoded Signal)를 얻기 위해 제2 코딩 알고리즘을 이용하여 오디오 신호를 부호화하는 단계-여기서 상기 제1 코딩 알고리즘은 상기 제2 코딩 알고리즘과 다르고, 상기 제2 코딩 분기는 입력 신호를 입력 영역으로부터 출력 영역으로 변환하기 위한 영역 변환기, 및 입력 신호를 스펙트럴 영역으로 변환하기 위한 제2 변환기(523)를 포함함-;
    상기 오디오 입력 신호의 부분에서, 상기 제1 부호화 신호 또는 상기 제2 부호화 신호가 부호화기 출력 신호에 있도록 하기 위해 상기 제1 코딩 분기와 상기 제2 코딩 분기 사이를 스위칭(200)하는 단계;
    상기 오디오 신호의 상기 부분이 상기 부호화기 출력 신호에서 상기 제1 부호화 신호로 나타내어지는지 또는 상기 제2 부호화 신호로 나타내어지는지 결정하기 위해 상기 오디오 신호의 부분을 분석(300, 525)하는 단계;
    상기 오디오 신호의 상기 부분을 나타내는 상기 제1 부호화 신호 또는 상기 제2 부호화 신호가 발생될 때, 상기 제1 변환기와 상기 제2 변환기의 각각의 시간/주파수 분해능을 가변적으로 결정하는 단계; 및
    부호화기 출력 신호-여기서, 상기 부호화기 출력 신호는 상기 제1 부호화 신호, 상기 제2 부호화 신호, 상기 제1 부호화 신호 및 상기 제2 부호화 신호를 지시하는 정보, 그리고 상기 제1 부호화 신호와 상기 제2 부호화 신호를 생성하기 위해 적용되는 시간/주파수 분해능을 지시하는 정보를 포함함-를 발생시키는 단계(800);를 포함하되, 상기 신호 분석 단계(300, 525)는 복수의 서로 다른 윈도우 길이들-여기서 상기 복수의 서로 다른 윈도우 길이들은 2304 샘플들, 2048 샘플들, 256 샘플들, 1920 샘플들, 2160 샘플들, 및 240 샘플들로 구성되는 서로 다른 윈도우 길이들의 그룹으로부터 선택됨-로부터 선택될 상기 시간/주파수 분해능을 결정하기 위해, 또는
    복수의 서로 다른 변환 길이들-여기서 상기 복수의 서로 다른 변환 길이들은 변환 블록당 1152 계수들, 변환 블록당 1024 계수들, 변환 블록당 1080 계수들, 변환 블록당 960 계수들, 변환 블록당 128 계수들, 및 변환 블록당 120 계수들로 구성되는 변환 블록당 계수들의 그룹으로부터 선택된 적어도 두 개의 변환 블록당 계수들을 포함함-을 사용하기 위해 구성되거나, 또는
    상기 신호 분석 단계(300, 525)는 상기 제2 변환기의 상기 시간/주파수 분해능을 복수의 서로 다른 윈도우 길이들-여기서 상기 복수의 서로 다른 윈도우 길이들은 640 샘플들, 1152 샘플들, 2304 샘플들, 512 샘플들, 1024 샘플들, 및 2048 샘플들로 구성되는 그룹으로부터 선택된 적어도 두 개의 윈도우 길이들을 포함함- 중 하나의 윈도우 길이로써 결정하기 위해, 또는
    복수의 서로 다른 변환 길이들-여기서 상기 복수의 서로 다른 변환 길이들은 변환 블록당 320 스펙트럴 계수들, 변환 블록당 576 스펙트럴 계수들, 변환 블록당 1152 스펙트럴 계수들, 변환 블록당 256 스펙트럴 계수들, 변환 블록당 512 스펙트럴 계수들, 및 변환 블록당 1024 스펙트럴 계수들로 구성되는 서로 다른 변환 길이들의 그룹으로부터 선택된 적어도 두 개의 서로 다른 변환 길이들을 포함함-을 사용하기 위해 구성되는 단계를 포함하는 오디오 신호의 부호화 방법.
  10. 부호화된 신호를 복호화하기 위한 오디오 복호화기-여기서, 상기 부호화된신호는 제1 부호화 신호, 제2 부호화 신호, 상기 제1 부호화 신호와 상기 제2 부호화 신호를 가리키는 표시, 및 상기 제1 부호화 신호와 상기 제2 부호화 오디오 신호를 복호화하기 위해 사용되는 시간/주파수 분해능 정보를 포함함-에 있어서,
    제1 제어 가능 주파수/시간 변환기(440)를 이용하여 상기 제1 부호화 신호를 복호화하기 위한 제1 복호화 분기(431, 440)-상기 제1 제어 가능 주파수/시간 변환기는 제1 복호화 신호를 얻기 위해 상기 제1 부호화 신호에 대한 시간/주파수 분해능 정보를 이용하여 제어되도록 구성됨-;
    제2 제어 가능 주파수/시간 변환기(534)를 이용하여 상기 제2 부호화 신호를 복호화하기 위한 제2 복호화 분기-상기 제2 제어 가능 주파수/시간 변환기(534)는 상기 제2 부호화 신호에 대한 시간/주파수 분해능 정보를 이용하여 제어되도록 구성됨-;
    상기 시간/주파수 분해능 정보를 이용하여 상기 제1 제어 가능 주파수/시간 변환기(440) 및 상기 제2 제어 가능 주파수/시간 변환기(534)를 제어하기 위한 제어기(990);
    제2 복호화 신호를 이용하여 합성 신호(Synthesis Signal)를 발생시키기 위한 영역 변환기(540); 및
    복호화된 오디오 신호를 얻기 위해 상기 제1 복호화 신호와 상기 합성 신호를 결합하기 위한 결합기(600)를 포함하되, 상기 제1 제어 가능 주파수/시간 변환기(440)에서 상기 시간/주파수 분해능은 복수의 서로 다른 윈도우 길이들-여기서, 상기 복수의 서로 다른 윈도우 길이들은 2304 샘플들, 2048 샘플들, 256 샘플들, 1920 샘플들, 2160 샘플들, 및 240 샘플들로 구성되는 서로 다른 윈도우 길이들의 그룹으로부터 선택됨-로부터 선택되거나, 또는
    복수의 서로 다른 변환 길이들-여기서, 상기 복수의 서로 다른 변환 길이들은 변환 블록(Transform Block)당 1152 계수들, 변환 블록당 1024 계수들, 변환 블록당 1080 계수들, 변환 블록당 960 계수들, 변환 블록당 128 계수들, 및 변환 블록당 120 계수들로 구성되는 변환 블록당 계수들의 그룹으로부터 선택된 적어도 두 개의 변환 블록당 계수들을 포함함-로부터 선택되거나, 또는
    상기 제2 제어 가능 주파수/시간 변환기(534)에 대해 상기 시간/주파수 분해능은 복수의 서로 다른 윈도우 길이들-여기서, 상기 복수의 서로 다른 윈도우 길이들은 640 샘플들, 1152 샘플들, 2304 샘플들, 512 샘플들, 1024 샘플들 및 2048 샘플들로 구성되는 그룹으로부터 선택된 적어도 두 개의 윈도우 길이들을 포함함 - 중 하나의 윈도우 길이로써 선택되거나, 또는
    복수의 서로 다른 변환 길이들-여기서, 상기 복수의 서로 다른 변환 길이들은 변환 블록(Transform Block)당 320 스펙트럴 계수들, 변환 블록당 576 스펙트럴 계수들, 변환 블록당 1152 스펙트럴 계수들, 변환 블록당 256 스펙트럴 계수들, 변환 블록당 512 스펙트럴 계수들, 및 변환 블록당 1024 스펙트럴 계수들로 구성되는 서로 다른 변환 길이들의 그룹으로부터 선택된 적어도 두 개의 서로 다른 변환 길이들을 포함함-로부터 선택되도록 하기 위해,
    상기 제어기(990)는 상기 제1 제어 가능 주파수/시간 변환기(440)와 상기 제2 제어 가능 주파수/시간 변환기(534)를 제어하도록 구성되는 오디오 복호화기.
  11. 삭제
  12. 청구항 10에 있어서, 상기 제2 복호화 분기는
    제1 역 처리 신호를 얻기 위해 상기 부호화된 신호에 추가적으로 포함되는 제1 처리 신호를 역 처리(inverse proccessing)하기 위한 제1 역 처리 분기(531)를 포함하되;
    상기 제2 제어 가능 주파수/시간 변환기(534)는 제2 역 처리 신호를 얻기 위해 상기 제1 역 처리 신호의 영역과 동일한 영역에서 상기 제2 부호화 신호를 역 처리(inverse processing)하기 위해 구성된 제2 역 처리 분기 내에 위치하고;
    결합된 신호를 얻기 위해 상기 제1 역 처리 신호 및 상기 제2 역 처리 신호를 결합하기 위한 추가 결합기(532)를 포함하되;
    상기 결합된 신호는 상기 결합기(600)로 입력되는 오디오 복호화기.
  13. 청구항 10에 있어서, 상기 제1 제어 가능 주파수/시간 변환기(440) 및 상기 제2 제어 가능 주파수/시간 변환기는, 상기 제1 부호화 신호 및 상기 제2 부호화 신호에 포함된 시간-영역 앨리어싱을 제거(cancel)하기 위한 오버랩/가산 유닛(440c)을 포함하는 시간 영역 앨리어싱 제거 변환기인 오디오 복호화기.
  14. 청구항 10에 있어서, 상기 부호화된 신호는 상기 부호화된 신호가 상기 제1 부호화 신호인지 상기 제2 부호화 신호인지 여부를 식별하는 코딩 모드 정보를 포함하며,
    상기 복호화기는 상기 부호화된 신호가 상기 제1 복호화 분기로 입력될 것인지 상기 제2 복호화 분기로 입력될 것인지 결정하기 위해 상기 코딩 모드 정보를 해석하기 위한 입력 인터페이스(900)를 추가로 포함하는 오디오 복호화기.
  15. 청구항 10 및 청구항 12 내지 14 중 어느 하나의 항에 있어서, 상기 제1 부호화 신호는 별개의 부호화기에서 산술적으로 부호화된 신호이고, 상기 제1 복호화 분기는 산술적 복호화기를 포함하는 오디오 복호화기.
  16. 청구항 10 및 청구항 12 내지 14 중 어느 하나의 항에 있어서, 상기 제1 복호화 분기는 상기 제1 부호화 신호가 발생할 때 적용되는 불균일 양자화(Non-uniform Quantization)의 결과를 제거(cancel)하기 위해 불균일 역 양자화 특성을 가지는 역 양자화기를 포함하되,
    상기 제2 복호화 분기가 역 양자화기를 포함하지 않는 경우 상기 제2 복호화 분기는, 다른 역 양자화 특성을 이용한 역 양자화기를 포함하는 오디오 복호화기.
  17. 청구항 10 및 청구항 12 내지 14 중 어느 하나의 항에 있어서, 상기 제어기(990)는 각 변환기에 대해, 다수의 서로 다른 가능한 이산 주파수/시간 분해능들 중 하나의 이산 주파수/시간 분해능을 적용함으로써 상기 제1 제어 가능 주파수/시간 변환기 및 상기 제2 제어 가능 주파수/시간 변환기를 제어하도록 구성되며, 상기 서로 다른 가능한 주파수/시간 분해능들의 수는 상기 제1 변환기에서 서로 다른 가능한 주파수/시간 분해능들의 수에 비해 상기 제2 변환기에서 더 높은 오디오 복호화기.
  18. 청구항 10에 있어서, 상기 영역 변환기는 LPC(linear Prediction Coding) 필터 정보를 이용하여 합성 신호(Synthesis Signal)를 발생시키는 LPC 합성 프로세서(544)이며, 상기 LPC 필터 정보는 상기 부호화된 신호에 포함되는 오디오 복호화기.
  19. 부호화된 신호를 오디오 복호화하는 방법-여기서, 상기 부호화된 신호는 제1 부호화 신호(first encoded signal), 제2 부호화 신호(second encoded signal), 상기 제1 부호화 신호와 상기 제2 부호화 신호를 가리키는 표시(indication), 및 상기 제1 부호화 신호와 상기 제2 부호화 오디오 신호를 복호화하기 위해 사용되는 시간/주파수 분해능 정보를 포함함-은,
    제1 복호화 분기(431, 440)에 의해, 제1 제어 가능 주파수/시간 변환기(440)를 이용하여 상기 제1 부호화 신호를 복호화하는 단계-여기서, 상기 제1 제어 가능 주파수/시간 변환기는 제1 복호화 신호를 얻기 위해 상기 제1 부호화 신호에 대해 상기 시간/주파수 분해능 정보를 이용하여 제어되도록 구성됨-;
    제2 복호화 분기에 의해, 제2 제어 가능 주파수/시간 변환기(534)를 이용하여 상기 제2 부호화 신호를 복호화하는 단계-여기서, 상기 제2 제어 가능 주파수/시간 변환기(534)는 상기 제2 부호화 신호에 대해 상기 시간/주파수 분해능 정보를 이용하여 제어되도록 구성됨-;
    상기 시간/주파수 분해능 정보를 이용하여 상기 제1 주파수/시간 변환기(440) 및 상기 제2 주파수/시간 변환기(534)를 제어(990)하는 단계;
    영역 변환기(Domain Converter)에 의해, 제2 복호화 신호를 이용하여 합성 신호(Synthesis Signal)를 발생시키는 단계; 및
    복호화된 오디오 신호를 얻기 위해 상기 제1 복호화 신호 및 상기 합성 신호를 결합하는 단계
    를 포함하되, 상기 제1 제어 가능 주파수/시간 변환기(440)에서 상기 시간/주파수 분해능은 복수의 서로 다른 윈도우 길이들-여기서, 상기 복수의 서로 다른 윈도우 길이들은 2304 샘플들, 2048 샘플들, 256 샘플들, 1920 샘플들, 2160 샘플들, 및 240 샘플들로 구성되는 서로 다른 윈도우 길이들의 그룹으로부터 선택됨-로부터 선택되거나, 또는
    복수의 서로 다른 변환 길이들-여기서, 상기 복수의 서로 다른 변환 길이들은 변환 블록(Transform Block)당 1152 계수들, 변환 블록당 1024 계수들, 변환 블록당 1080 계수들, 변환 블록당 960 계수들, 변환 블록당 128 계수들, 및 변환 블록당 120 계수들로 구성되는 변환 블록당 계수들의 그룹으로부터 선택된 적어도 두 개의 변환 블록당 계수들을 포함함-로부터 선택되거나, 또는
    상기 제2 제어 가능 주파수/시간 변환기(534)에 대해 상기 시간/주파수 분해능은 복수의 서로 다른 윈도우 길이들-여기서, 상기 복수의 서로 다른 윈도우 길이들은 640 샘플들, 1152 샘플들, 2304 샘플들, 512 샘플들, 1024 샘플들 및 2048 샘플들로 구성되는 그룹으로부터 선택된 적어도 두 개의 윈도우 길이들을 포함함 - 중 하나의 윈도우 길이로써 선택되거나, 또는
    복수의 서로 다른 변환 길이들-여기서, 상기 복수의 서로 다른 변환 길이들은 변환 블록(Transform Block)당 320 스펙트럴 계수들, 변환 블록당 576 스펙트럴 계수들, 변환 블록당 1152 스펙트럴 계수들, 변환 블록당 256 스펙트럴 계수들, 변환 블록당 512 스펙트럴 계수들, 및 변환 블록당 1024 스펙트럴 계수들로 구성되는 서로 다른 변환 길이들의 그룹으로부터 선택된 적어도 두 개의 서로 다른 변환 길이들을 포함함-로부터 선택되도록 하기 위해,
    상기 제어 단계(990)는 상기 제1 제어 가능 주파수/시간 변환기(440)와 상기 제2 제어 가능 주파수/시간 변환기(534)를 제어하도록 구성되는 단계를 포함하는 오디오 복호화 방법.
  20. 삭제
  21. 프로세서상에서 동작할 때, 청구항 9 또는 청구항 19의 방법을 수행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 저장 매체.
KR1020117010644A 2008-10-08 2009-10-07 다중 분해능 스위치드 오디오 부호화/복호화 방법 및 부호화/복호화기 KR101403115B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US10382508P 2008-10-08 2008-10-08
EP08017663 2008-10-08
US61/103,825 2008-10-08
EP08017663.9 2008-10-08
EP09002271A EP2144230A1 (en) 2008-07-11 2009-02-18 Low bitrate audio encoding/decoding scheme having cascaded switches
EP09002271.6 2009-02-18
PCT/EP2009/007205 WO2010040522A2 (en) 2008-10-08 2009-10-07 Multi-resolution switched audio encoding/decoding scheme

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020137011185A Division KR20130069833A (ko) 2008-10-08 2009-10-07 다중 분해능 스위치드 오디오 부호화/복호화 방법
KR1020137031257A Division KR20130133917A (ko) 2008-10-08 2009-10-07 다중 분해능 스위치드 오디오 부호화/복호화 방법

Publications (2)

Publication Number Publication Date
KR20110081291A KR20110081291A (ko) 2011-07-13
KR101403115B1 true KR101403115B1 (ko) 2014-06-27

Family

ID=42101010

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020137031257A KR20130133917A (ko) 2008-10-08 2009-10-07 다중 분해능 스위치드 오디오 부호화/복호화 방법
KR1020137011185A KR20130069833A (ko) 2008-10-08 2009-10-07 다중 분해능 스위치드 오디오 부호화/복호화 방법
KR1020117010644A KR101403115B1 (ko) 2008-10-08 2009-10-07 다중 분해능 스위치드 오디오 부호화/복호화 방법 및 부호화/복호화기

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020137031257A KR20130133917A (ko) 2008-10-08 2009-10-07 다중 분해능 스위치드 오디오 부호화/복호화 방법
KR1020137011185A KR20130069833A (ko) 2008-10-08 2009-10-07 다중 분해능 스위치드 오디오 부호화/복호화 방법

Country Status (14)

Country Link
EP (2) EP2345030A2 (ko)
JP (1) JP5555707B2 (ko)
KR (3) KR20130133917A (ko)
CN (1) CN102177426B (ko)
AR (1) AR076060A1 (ko)
BR (1) BRPI0914056B1 (ko)
CA (1) CA2739736C (ko)
CO (1) CO6362072A2 (ko)
MX (1) MX2011003824A (ko)
MY (1) MY154633A (ko)
RU (1) RU2520402C2 (ko)
TW (2) TWI520128B (ko)
WO (1) WO2010040522A2 (ko)
ZA (1) ZA201102537B (ko)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3474279A1 (en) 2009-07-27 2019-04-24 Unified Sound Systems, Inc. Methods and apparatus for processing an audio signal
US8930199B2 (en) * 2009-09-17 2015-01-06 Industry-Academic Cooperation Foundation, Yonsei University Method and an apparatus for processing an audio signal
TW201214415A (en) * 2010-05-28 2012-04-01 Fraunhofer Ges Forschung Low-delay unified speech and audio codec
WO2011158485A2 (ja) * 2010-06-14 2011-12-22 パナソニック株式会社 オーディオハイブリッド符号化装置およびオーディオハイブリッド復号装置
IL302557B1 (en) * 2010-07-02 2024-04-01 Dolby Int Ab After–selective bass filter
FI3751564T3 (fi) 2010-07-20 2023-01-31 Audiokooderi, audiokoodausmenetelmä ja tietokoneohjelma
KR101551046B1 (ko) 2011-02-14 2015-09-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 저-지연 통합 스피치 및 오디오 코딩에서 에러 은닉을 위한 장치 및 방법
TWI488176B (zh) 2011-02-14 2015-06-11 Fraunhofer Ges Forschung 音訊信號音軌脈衝位置之編碼與解碼技術
WO2012110478A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Information signal representation using lapped transform
CN105304090B (zh) 2011-02-14 2019-04-09 弗劳恩霍夫应用研究促进协会 使用对齐的前瞻部分将音频信号编码及解码的装置与方法
SG192747A1 (en) 2011-02-14 2013-09-30 Fraunhofer Ges Forschung Encoding and decoding of pulse positions of tracks of an audio signal
AU2012217162B2 (en) 2011-02-14 2015-11-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Noise generation in audio codecs
MY165853A (en) 2011-02-14 2018-05-18 Fraunhofer Ges Forschung Linear prediction based coding scheme using spectral domain noise shaping
AR085217A1 (es) 2011-02-14 2013-09-18 Fraunhofer Ges Forschung Aparato y metodo para codificar una porcion de una señal de audio utilizando deteccion de un transiente y resultado de calidad
PL2676264T3 (pl) 2011-02-14 2015-06-30 Fraunhofer Ges Forschung Koder audio estymujący szum tła podczas faz aktywnych
EP2676268B1 (en) 2011-02-14 2014-12-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing a decoded audio signal in a spectral domain
EP3537438A1 (en) * 2011-04-21 2019-09-11 Samsung Electronics Co., Ltd. Quantizing method, and quantizing apparatus
KR101863687B1 (ko) 2011-04-21 2018-06-01 삼성전자주식회사 선형예측계수 양자화장치, 사운드 부호화장치, 선형예측계수 역양자화장치, 사운드 복호화장치와 전자기기
MX370012B (es) * 2011-06-30 2019-11-28 Samsung Electronics Co Ltd Aparato y método para generar señal extendida de ancho de banda.
CN107068158B (zh) 2011-11-03 2020-08-21 沃伊斯亚吉公司 用于改善低速率码激励线性预测解码器的非语音内容的方法及其设备
US9043201B2 (en) * 2012-01-03 2015-05-26 Google Technology Holdings LLC Method and apparatus for processing audio frames to transition between different codecs
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
RU2656681C1 (ru) * 2012-11-13 2018-06-06 Самсунг Электроникс Ко., Лтд. Способ и устройство для определения режима кодирования, способ и устройство для кодирования аудиосигналов и способ, и устройство для декодирования аудиосигналов
MY178710A (en) 2012-12-21 2020-10-20 Fraunhofer Ges Forschung Comfort noise addition for modeling background noise at low bit-rates
CA2894625C (en) * 2012-12-21 2017-11-07 Anthony LOMBARD Generation of a comfort noise with high spectro-temporal resolution in discontinuous transmission of audio signals
CN109448745B (zh) * 2013-01-07 2021-09-07 中兴通讯股份有限公司 一种编码模式切换方法和装置、解码模式切换方法和装置
PL3121813T3 (pl) 2013-01-29 2020-08-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Wypełnianie szumem bez informacji pomocniczych dla koderów typu celp
MX345160B (es) 2013-01-29 2017-01-18 Fraunhofer Ges Forschung Llenado con ruido en la codificacion de audio por transformada perceptual.
AU2014211525B2 (en) 2013-01-29 2016-09-01 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing an encoded signal and encoder and method for generating an encoded signal
WO2014118179A1 (en) * 2013-01-29 2014-08-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, systems, methods and computer programs using an increased temporal resolution in temporal proximity of onsets or offsets of fricatives or affricates
MX346945B (es) 2013-01-29 2017-04-06 Fraunhofer Ges Forschung Aparato y metodo para generar una señal de refuerzo de frecuencia mediante una operacion de limitacion de energia.
US9786286B2 (en) 2013-03-29 2017-10-10 Dolby Laboratories Licensing Corporation Methods and apparatuses for generating and using low-resolution preview tracks with high-quality encoded object and multichannel audio signals
EP2804176A1 (en) * 2013-05-13 2014-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio object separation from mixture signal using object-specific time/frequency resolutions
ES2965423T3 (es) 2013-05-24 2024-04-15 Dolby Int Ab Codificador de audio
EP2830058A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frequency-domain audio coding supporting transform length switching
TWI557726B (zh) * 2013-08-29 2016-11-11 杜比國際公司 用於決定音頻信號的高頻帶信號的主比例因子頻帶表之系統和方法
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
EP2980791A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Processor, method and computer program for processing an audio signal using truncated analysis or synthesis window overlap portions
CN104143335B (zh) 2014-07-28 2017-02-01 华为技术有限公司 音频编码方法及相关装置
CN113921019A (zh) * 2014-09-30 2022-01-11 索尼公司 发送装置、发送方法、接收装置和接收方法
EP3067886A1 (en) * 2015-03-09 2016-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder for encoding a multichannel signal and audio decoder for decoding an encoded audio signal
KR102398124B1 (ko) 2015-08-11 2022-05-17 삼성전자주식회사 음향 데이터의 적응적 처리
US10134412B2 (en) * 2015-09-03 2018-11-20 Shure Acquisition Holdings, Inc. Multiresolution coding and modulation system
EP3353784A4 (en) * 2015-09-25 2019-05-22 VoiceAge Corporation METHOD AND SYSTEM FOR CODING THE LEFT AND RIGHT CHANNELS OF A STEREOTONE SIGNAL WITH SELECTION BETWEEN TWO OR FOUR MODEL MODELS PER BIT HOLIDAY HOUSEHOLD
EP3182411A1 (en) 2015-12-14 2017-06-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing an encoded audio signal
CN105632542B (zh) * 2015-12-23 2019-05-28 小米科技有限责任公司 音频播放方法及装置
US9959877B2 (en) * 2016-03-18 2018-05-01 Qualcomm Incorporated Multi channel coding
EP3443557B1 (en) * 2016-04-12 2020-05-20 Fraunhofer Gesellschaft zur Förderung der Angewand Audio encoder for encoding an audio signal, method for encoding an audio signal and computer program under consideration of a detected peak spectral region in an upper frequency band
US10362423B2 (en) 2016-10-13 2019-07-23 Qualcomm Incorporated Parametric audio decoding
CN107404625B (zh) * 2017-07-18 2020-10-16 海信视像科技股份有限公司 终端的音效处理方法及装置
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483884A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
EP3483878A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
BR112020012648A2 (pt) 2017-12-19 2020-12-01 Dolby International Ab métodos e sistemas de aparelhos para aprimoramentos de decodificação de fala e áudio unificados
US10957331B2 (en) * 2018-12-17 2021-03-23 Microsoft Technology Licensing, Llc Phase reconstruction in a speech decoder
US10847172B2 (en) 2018-12-17 2020-11-24 Microsoft Technology Licensing, Llc Phase quantization in a speech encoder
CN113574889B (zh) * 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
US20230179764A1 (en) * 2021-12-06 2023-06-08 Tencent America LLC Arrangement of adaptive loop filter coefficients for fast vectorized transpositions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175098A (ja) * 1997-12-12 1999-07-02 Nec Corp 音声及び音楽符号化方式
WO2007083934A1 (en) * 2006-01-18 2007-07-26 Lg Electronics Inc. Apparatus and method for encoding and decoding signal
KR20080061758A (ko) * 2006-12-28 2008-07-03 삼성전자주식회사 오디오 신호의 분류 방법 및 장치와 이를 이용한 오디오신호의 부호화/복호화 방법 및 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3317470B2 (ja) * 1995-03-28 2002-08-26 日本電信電話株式会社 音響信号符号化方法、音響信号復号化方法
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5848391A (en) * 1996-07-11 1998-12-08 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Method subband of coding and decoding audio signals using variable length windows
DE19706516C1 (de) * 1997-02-19 1998-01-15 Fraunhofer Ges Forschung Verfahren und Vorricntungen zum Codieren von diskreten Signalen bzw. zum Decodieren von codierten diskreten Signalen
RU2214047C2 (ru) * 1997-11-19 2003-10-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для масштабируемого кодирования/декодирования аудиосигналов
DE69926821T2 (de) * 1998-01-22 2007-12-06 Deutsche Telekom Ag Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
US6978236B1 (en) * 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
US6658383B2 (en) * 2001-06-26 2003-12-02 Microsoft Corporation Method for coding speech and music signals
US6963842B2 (en) * 2001-09-05 2005-11-08 Creative Technology Ltd. Efficient system and method for converting between different transform-domain signal representations
DE10217297A1 (de) * 2002-04-18 2003-11-06 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten
US7043423B2 (en) * 2002-07-16 2006-05-09 Dolby Laboratories Licensing Corporation Low bit-rate audio coding systems and methods that use expanding quantizers with arithmetic coding
US7424434B2 (en) * 2002-09-04 2008-09-09 Microsoft Corporation Unified lossy and lossless audio compression
PL1618763T3 (pl) * 2003-04-17 2007-07-31 Koninl Philips Electronics Nv Synteza sygnału audio
EP1667109A4 (en) * 2003-09-17 2007-10-03 Beijing E World Technology Co METHOD AND DEVICE FOR QUANTIFYING MULTI-RESOLUTION VECTOR FOR AUDIO CODING AND DECODING
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
FI118835B (fi) * 2004-02-23 2008-03-31 Nokia Corp Koodausmallin valinta
US7596486B2 (en) * 2004-05-19 2009-09-29 Nokia Corporation Encoding an audio signal using different audio coder modes
US8744862B2 (en) * 2006-08-18 2014-06-03 Digital Rise Technology Co., Ltd. Window selection based on transient detection and location to provide variable time resolution in processing frame-based data
ATE547898T1 (de) * 2006-12-12 2012-03-15 Fraunhofer Ges Forschung Kodierer, dekodierer und verfahren zur kodierung und dekodierung von datensegmenten zur darstellung eines zeitdomänen-datenstroms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175098A (ja) * 1997-12-12 1999-07-02 Nec Corp 音声及び音楽符号化方式
WO2007083934A1 (en) * 2006-01-18 2007-07-26 Lg Electronics Inc. Apparatus and method for encoding and decoding signal
KR20080061758A (ko) * 2006-12-28 2008-07-03 삼성전자주식회사 오디오 신호의 분류 방법 및 장치와 이를 이용한 오디오신호의 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
ZA201102537B (en) 2011-12-28
JP5555707B2 (ja) 2014-07-23
MX2011003824A (es) 2011-05-02
CA2739736A1 (en) 2010-04-15
TW201344679A (zh) 2013-11-01
TW201142827A (en) 2011-12-01
TWI520128B (zh) 2016-02-01
JP2012505423A (ja) 2012-03-01
AR076060A1 (es) 2011-05-18
KR20130133917A (ko) 2013-12-09
BRPI0914056A2 (pt) 2015-11-03
AU2009301358A1 (en) 2010-04-15
KR20110081291A (ko) 2011-07-13
CA2739736C (en) 2015-12-01
EP3640941A1 (en) 2020-04-22
WO2010040522A2 (en) 2010-04-15
KR20130069833A (ko) 2013-06-26
TWI419148B (zh) 2013-12-11
RU2011117699A (ru) 2012-11-10
WO2010040522A3 (en) 2010-09-02
AU2009301358A8 (en) 2011-05-26
CN102177426B (zh) 2014-11-05
RU2520402C2 (ru) 2014-06-27
CO6362072A2 (es) 2012-01-20
MY154633A (en) 2015-07-15
BRPI0914056B1 (pt) 2019-07-02
CN102177426A (zh) 2011-09-07
EP2345030A2 (en) 2011-07-20

Similar Documents

Publication Publication Date Title
US11676611B2 (en) Audio decoding device and method with decoding branches for decoding audio signal encoded in a plurality of domains
KR101403115B1 (ko) 다중 분해능 스위치드 오디오 부호화/복호화 방법 및 부호화/복호화기
US8959017B2 (en) Audio encoding/decoding scheme having a switchable bypass
AU2009301358B2 (en) Multi-resolution switched audio encoding/decoding scheme

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
A107 Divisional application of patent
E90F Notification of reason for final refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170428

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190426

Year of fee payment: 6