KR20170133378A - 인코딩된 오디오 신호를 디코딩하기 위한 디코더 및 오디오 신호를 인코딩하기 위한 인코더 - Google Patents

인코딩된 오디오 신호를 디코딩하기 위한 디코더 및 오디오 신호를 인코딩하기 위한 인코더 Download PDF

Info

Publication number
KR20170133378A
KR20170133378A KR1020177028552A KR20177028552A KR20170133378A KR 20170133378 A KR20170133378 A KR 20170133378A KR 1020177028552 A KR1020177028552 A KR 1020177028552A KR 20177028552 A KR20177028552 A KR 20177028552A KR 20170133378 A KR20170133378 A KR 20170133378A
Authority
KR
South Korea
Prior art keywords
kernels
group
channel
transform
signal
Prior art date
Application number
KR1020177028552A
Other languages
English (en)
Other versions
KR102101266B1 (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
Application filed by 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Publication of KR20170133378A publication Critical patent/KR20170133378A/ko
Application granted granted Critical
Publication of KR102101266B1 publication Critical patent/KR102101266B1/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/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/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • 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/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/032Quantisation or dequantisation of spectral components
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

인코딩된 오디오 신호(4)를 디코딩하기 위한 디코더(2)의 개략적인 블록도가 도시된다. 디코더는 적응형 스펙트럼-시간 변환기(6) 및 중첩-및-가산 프로세서(8)를 포함한다. 적응형 스펙트럼-시간 변환기는 스펙트럼 값들(4')의 연속적인 블록들을, 예를 들어, 주파수-시간 변환을 통해 시간 값들(10)의 연속적인 블록들로 변환한다. 또한, 적응형 스펙트럼-시간 변환기(6)는, 제어 정보(12)를 수신하고, 제어 정보(12)에 대한 응답으로, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭한다. 또한, 중첩-가산-프로세서(8)는 디코딩된 오디오 신호일 수 있는 디코딩된 오디오 값들(14)을 획득하기 위해 시간 값들(10)의 연속적인 블록들을 중첩 및 가산한다.

Description

인코딩된 오디오 신호를 디코딩하기 위한 디코더 및 오디오 신호를 인코딩하기 위한 인코더{1}
본 발명은 인코딩된 오디오 신호를 디코딩하기 위한 디코더 및 오디오 신호를 인코딩하기 위한 인코더에 관한 것이다. 실시예들은 오디오 코딩에서 신호-적응형 변환 커널 스위칭을 위한 방법 및 장치를 나타낸다. 다시 말해서, 본 발명은 오디오 코딩에 관한 것으로, 특히, 예를 들어, 수정된 이산 코사인 변환(MDCT) [1]과 같은 랩핑된 변환들을 이용한 지각 오디오 코딩에 관한 것이다.
MP3, Opus(Celt), HE-AAC 제품군 및 새로운 MPEG-H 3D 오디오 및 3GPP EVS(Enhanced Voice Services) 코덱들을 포함하는 모든 현대적인 지각 오디오 코덱들은 하나 이상의 채널 파형들의 스펙트럼-도메인 양자화 및 코딩을 위해 MDCT를 이용한다. 길이 M 스펙트럼 spec[]을 사용하는 이러한 랩핑된 변환의 합성 버전은,
Figure pct00001
(1)
로 주어지고, M = N/2이고 N은 시간-윈도우 길이이다. 윈도우잉 후, 시간 출력 xi,n은 중첩-및-가산(OLA; overlap-and-add) 프로세스를 통해 이전 시간 출력 xi-1,n과 결합된다. C는 0보다 크거나, 1보다 작거나 같은 일정한 파라미터, 예를 들어, 2/N일 수 있다.
(1)의 MDCT는 다양한 비트레이트들에서 임의의 많은 채널들의 고품질 오디오 코딩에 대해 잘 적용되는 한편, 코딩 품질이 낮아질 수 있는 2개의 경우들이 존재한다. 예를 들어, 다음과 같은 것들이 존재한다.
· 각각의 고조파가 하나보다 많은 MDCT 빈으로 표현되도록, MDCT를 통해 샘플링된 특정 기본 주파수들을 갖는 고조파 신호들. 이는 스펙트럼 도메인에서 준 최적의 에너지 압축, 즉 낮은 코딩 이득을 도출한다.
· 종래의 M/S-스테레오 기반 조인트 채널 코딩에 의해 이용될 수 없는, 채널들의 MDCT 빈들 사이의 대략 90 도의 위상 시프트를 갖는 스테레오 신호들. 채널간 위상 차이(IPD)의 코딩을 수반하는 보다 정교한 스테레오 코딩은 예를 들어, HE-AAC의 파라메트릭 스테레오(Parametric Stereo) 또는 MPEG 서라운드(MPEG Surround)를 사용하여 달성될 수 있지만 이러한 툴들은 별도의 필터 뱅크 도메인에서 동작하여, 복잡성을 증가시킨다.
몇몇 과학 문서들 및 논문들은 MDCT 또는 MDST-유사 연산들을 언급하며 때때로 "랩핑된 직교 변환(LOT; lapped orthogonal transform)", "확장된 랩핑된 변환(ELT; extended lapped transform)" 또는 "변조된 랩핑된 변환(MLT; Modulated Lapped Transform)"과 같은 상이한 명명법을 갖는다. 오직 [4]가 동시에 몇몇 상이한 랩핑된 변환들을 언급하지만 MDCT의 전술한 단점들을 극복하지 못한다.
따라서, 개선된 접근법에 대한 요구가 존재한다.
본 발명의 목적은 오디오 신호를 프로세싱하기 위한 개선된 개념을 제공하는 것이다. 이러한 목적은 독립항들의 요지에 의해 해결된다.
본 발명은 변환 커널의 신호-적응형 변경 또는 대체가 본 MDCT 코딩의 전술한 종류의 문제들을 극복할 수 있다는 발견에 기초한다. 실시예들에 따르면, 본 발명은 MDCT 코딩 원리를 3개의 다른 유사한 변환들을 포함하도록 일반화함으로써 종래의 변환 코딩에 관한 상기 2개의 문제들을 다룬다. (1)의 합성 공식에 따라, 이러한 제안된 일반화는 다음과 같이 정의될 것이다.
Figure pct00002
(2)
½ 상수는 k0 상수로 대체되었고 cos(...) 함수는 cs(...) 함수로 대체되었음을 주목한다. k0 및 cs(...)는 둘 모두 신호 및 콘텍스트-적응적으로 선택된다.
실시예들에 따르면, MDCT 코딩 패러다임의 제안된 수정은, 예를 들어 이전에 설명된 문제들 또는 경우들이 다루어 지도록, 프레임 단위로 순시 입력 특성들에 적응할 수 있다.
실시예들은 인코딩된 오디오 신호를 디코딩하기 위한 디코더를 나타낸다. 디코더는 스펙트럼 값들의 연속적인 블록들을, 예를 들어, 주파수-시간 변환을 통해 시간 값들의 연속적인 블록들로 변환하기 위한 적응형 스펙트럼-시간 변환기를 포함한다. 디코더는 디코딩된 오디오 값들을 획득하기 위해 시간 값들의 연속적인 블록들을 중첩 및 가산하는 중첩-가산 프로세서를 더 포함한다. 적응형 스펙트럼-시간 변환기는, 제어 정보를 수신하고, 제어 정보에 대한 응답으로, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하도록 구성된다. 변환 커널들의 제 1 그룹은, 좌측에서 홀수 대칭 및 변환 커널의 우측에서 짝수 대칭을 갖는, 또는 예를 들어 역 MDCT-IV 또는 역 MDCT-IV 변환 커널과 같이 그 반대인 하나 이상의 변환 커널들을 포함할 수 있다. 변환 커널들의 제 2 그룹은, 변환 커널의 양측에서 짝수 대칭을 갖는, 또는 예를 들어, 역 MDCT-II 또는 역 MDCT-II 변환 커널과 같이 변환 커널의 양측에서 홀수 대칭을 갖는 변환 커널들을 포함할 수 있다. 변환 커널 타입 II 및 IV는 이하에서 더 상세히 설명될 것이다.
따라서, 스펙트럼 도메인에서 하나의 변환 빈의 대역폭 일 수 있는, 변환의 주파수 분해능의 정수배와 적어도 거의 동일한 피치를 갖는 고조파 신호들의 경우, 신호를 코딩하기 위해 변환 커널들의 제 2 그룹의 변환 커널, 예를 들어, MDCT-II 또는 the MDST-II를 사용하는 것이 기존의 MDCT로 신호를 코딩하는 것에 비해 유리하다. 즉, MDCT-II 또는 MDST-II 중 하나를 사용하는 것은 MDCT-IV에 비해 변환의 주파수 분해능의 정수배에 가까운 고조파 신호를 인코딩하는데 유리하다.
추가적인 실시예들은 예를 들어, 스테레오 신호들과 같은 다중 채널 신호들을 디코딩하도록 구성되는 디코더를 나타낸다. 스테레오 신호들의 경우, 예를 들어 M/S(mid/side)-스테레오 프로세싱은 통상적으로 기존의 L/R(left/right)-스테레오 프로세싱보다 우수하다. 그러나, 이러한 접근법은 신호들 둘 모두가 90° 또는 270°의 위상 시프트를 가지면 작동하지 않거나 적어도 열등하다. 실시예들에 따르면, MDST-IV 기반 코딩으로 2개의 채널들 중 하나를 코딩하고 제 2 채널을 인코딩하기 위해 기존의 MDCT-IV 코딩을 여전히 사용하는 것이 유리하다. 이는, 오디오 채널들의 90° 또는 270° 위상 시프트를 보상하는 인코딩 방식에 의해 통합된 2개의 채널들 사이에서 90°의 위상 시프트를 도출한다.
추가적인 실시예들은 오디오 신호를 인코딩하기 위한 인코더를 나타낸다. 인코더는 시간 값들의 중첩하는 블록들을 스펙트럼 값들의 연속적인 블록들로 변환하기 위한 적응형 시간-스펙트럼 변환기를 포함한다. 인코더는 변환 커널들의 제 1 그룹의 변환 커널들과 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하도록 시간-스펙트럼 변환기를 제어하기 위한 제어기를 더 포함한다. 따라서, 적응형 시간-스펙트럼 변환기는, 제어 정보를 수신하고, 제어 정보에 대한 응답으로, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭한다. 인코더는 오디오 신호의 분석에 대해 상이한 변환 커널들을 적용하도록 구성될 수 있다. 따라서, 인코더는 디코더에 대해 이미 설명된 방식으로 변환 커널들을 적용할 수 있고, 실시예들에 따르면, 인코더는 MDCT 또는 MDST 연산들을 적용하고, 디코더는 관련된 역 연산들, 즉 IMDCT 또는 IMDST 변환들을 적용한다. 상이한 변환 커널들은 이하에서 상세히 설명될 것이다.
추가적인 실시예에 따르면, 인코더는 현재 프레임에 대해, 현재 프레임을 생성하기 위해 사용되는 변환 커널의 대칭을 표시하는 제어 정보를 갖는 인코딩된 오디오 신호를 생성하기 위한 출력 인터페이스를 포함한다. 출력 인터페이스는 정확한 변환 커널로 인코딩된 오디오 신호를 디코딩할 수 있는 디코더에 대한 제어 정보를 생성할 수 있다. 즉, 디코더는 각각의 프레임 및 채널에서 오디오 신호를 인코딩하기 위해 인코더에 의해 사용되는 변환 커널의 역변환 커널을 적용해야 한다. 이러한 정보는 제어 정보에 저장될 수 있고, 예를 들어, 인코딩된 오디오 신호의 프레임의 제어 데이터 섹션을 사용하여, 인코더로부터 디코더에 송신될 수 있다.
본 발명의 실시예들은 첨부된 도면들을 참조하여 후속적으로 논의될 것이다.
도 1은 인코딩된 오디오 신호를 디코딩하기 위한 디코더의 개략적인 블록도를 도시한다.
도 2는 일 실시예에 따른 디코더에서의 신호 흐름을 예시하는 개략적인 블록도를 도시한다.
도 3은 일 실시예에 따라 오디오 신호를 인코딩하기 위한 인코더의 개략적인 블록도를 도시한다.
도 4a는 예시적인 MDCT 인코더에 의해 획득된 스펙트럼 값들의 블록들의 개략적인 시퀀스를 도시한다.
도 4b는 예시적인 MDCT 인코더에 입력되는 시간-도메인 신호의 개략적인 표현을 도시한다.
도 5a는 일 실시예에 따른 예시적인 MDCT 인코더의 개략적인 블록도를 도시한다.
도 5b는 일 실시예에 따른 예시적인 MDCT 디코더의 개략적인 블록도를 도시한다.
도 6은 4개의 설명된 랩핑된 변환들의 묵시적인 폴드-아웃(fold-out) 특성 및 대칭들을 개략적으로 예시한다.
도 7은 신호-적응형 변환 커널 스위칭이 완전한 재구성을 허용하면서 하나의 프레임에서 다음 프레임으로 변환 커널에 적용되는 사용예의 2개의 실시예들을 개략적으로 도시한다.
도 8은 일 실시예에 따라 다중 채널 오디오 신호를 디코딩하기 위한 디코더의 개략적인 블록도를 도시한다.
도 9는 일 실시예에 따른 다중 채널 프로세싱으로 확장되는 도 3의 인코더의 개략적인 블록도를 도시한다.
도 10은 일 실시예에 따라 둘 이상의 채널 신호들을 갖는 다중 채널 오디오 신호를 인코딩하기 위한 개략적인 오디오 인코더를 예시한다.
도 11a는 일 실시예에 따른 인코더 계산기의 개략적인 블록도를 도시한다.
도 11b는 일 실시예에 따른 대안적인 인코더 계산기의 개략적인 블록도를 도시한다.
도 11c는 일 실시예에 따른 결합기에서 제 1 및 제 2 채널의 예시적인 조합 규칙의 개략도를 도시한다.
도 12a는 일 실시예에 따른 디코더 계산기의 개략적인 블록도를 도시한다.
도 12b는 일 실시예에 따른 행렬 계산기의 개략적인 블록도를 도시한다.
도 12c는 일 실시예에 따른 도 11c의 조합 규칙에 대한 예시적인 역조합 규칙의 개략도를 도시한다.
도 13a는 일 실시예에 따른 오디오 인코더의 구현의 개략적인 블록도를 예시한다.
도 13b는 일 실시예에 따른 도 13a에 예시된 오디오 인코더에 대응하는 오디오 디코더의 개략적인 블록도를 예시한다.
도 14a는 일 실시예에 따른 오디오 인코더의 추가적인 구현의 개략적인 블록도를 예시한다.
도 14b는 일 실시예에 따른 도 14a에 예시된 오디오 인코더에 대응하는 오디오 디코더의 개략적인 블록도를 예시한다.
도 15는 인코딩된 오디오 신호를 디코딩하는 방법의 개략적인 블록도를 도시한다.
도 16은 오디오 신호를 인코딩하는 방법의 개략적인 블록도를 도시한다.
이하, 본 발명의 실시예들이 더 상세히 설명될 것이다. 동일하거나 유사한 기능을 갖는 각각의 도면들에 도시된 엘리먼트들은 동일한 참조 부호들과 연관될 것이다.
도 1은 인코딩된 오디오 신호(4)를 디코딩하기 위한 디코더(2)의 개략적인 블록도를 도시한다. 디코더는 적응형 스펙트럼-시간 변환기(6) 및 중첩-및-가산 프로세서(8)를 포함한다. 적응형 스펙트럼-시간 변환기는 스펙트럼 값들(4')의 연속적인 블록들을, 예를 들어, 주파수-시간 변환을 통해 시간 값들(10)의 연속적인 블록들로 변환한다. 또한, 적응형 스펙트럼-시간 변환기(6)는, 제어 정보(12)를 수신하고, 제어 정보(12)에 대한 응답으로, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭한다. 또한, 중첩-가산-프로세서(8)는 디코딩된 오디오 신호일 수 있는 디코딩된 오디오 값들(14)을 획득하기 위해 시간 값들(10)의 연속적인 블록들을 중첩 및 가산한다.
실시예들에 따르면, 제어 정보(12)는 현재 프레임에 대한 현재 대칭을 표시하는 현재 비트를 포함할 수 있고, 적응형 스펙트럼-시간 변환기(6)는, 현재 비트가 선행 프레임에서 사용된 것과 동일한 대칭을 표시하는 경우 제 1 그룹으로부터 제 2 그룹으로 스위칭하지 않도록 구성된다. 즉, 예를 들어, 제어 정보(12)가 이전 프레임에 대해 제 1 그룹의 변환 커널을 사용하는 것을 표시하고, 현재 프레임 및 이전 프레임이 동일한 대칭을 포함하면, 예를 들어, 현재 프레임의 현재 비트 및 이전 프레임이 동일한 상태를 갖는지 여부를 표시하면, 제 1 그룹의 변환 커널이 적용되며, 이는, 적응형 스펙트럼-시간 변환기가 변환 커널들의 제 1 그룹으로부터 제 2 그룹으로 스위칭하지 않음을 의미한다. 다른 방식으로, 즉, 제 2 그룹에 머무르거나 제 2 그룹으로부터 제 1 그룹으로 스위칭하지 않기 위해, 현재 프레임에 대한 현재 대칭을 표시하는 현재 비트는 선행 프레임에서 사용된 것과 상이한 대칭을 표시한다. 즉, 현재 및 이전 대칭이 동일하면, 그리고 이전 프레임이 제 2 그룹으로부터의 변환 커널을 사용하여 인코딩된 경우, 현재 프레임은 제 2 그룹의 역변환 커널을 사용하여 디코딩된다.
또한, 현재 프레임에 대한 현재 대칭을 표시하는 현재 비트가 선행 프레임에서 사용된 것과 상이한 대칭을 표시하는 경우, 적응형 스펙트럼-시간 변환기(6)는 제 1 그룹으로부터 제 2 그룹으로 스위칭하도록 구성된다. 보다 구체적으로, 적응형 스펙트럼-시간 변환기(6)는, 현재 프레임에 대한 현재 대칭을 표시하는 현재 비트가 선행 프레임에서 사용된 것과 상이한 대칭을 표시하는 경우 제 1 그룹을 제 2 그룹으로 스위칭하도록 구성된다. 또한, 적응형 스펙트럼-시간 변환기(6)는, 현재 프레임에 대한 현재 대칭을 표시하는 현재 비트가 선행 프레임에서 사용된 것과 동일한 대칭을 표시하는 경우 제 2 그룹을 제 1 그룹으로 스위칭할 수 있다. 보다 구체적으로, 현재 및 이전 프레임이 동일한 대칭을 포함하면, 그리고 이전 프레임이 변환 커널들의 제 2 그룹의 변환 커널을 사용하여 인코딩된 경우, 현재 프레임은 변환 커널들의 제 1 그룹의 변환 커널을 사용하여 디코딩될 수 있다. 제어 정보(12)는 인코딩된 오디오 신호(4)로부터 유도될 수 있거나 아래에서 명확하게 될 바와 같이 개별적인 송신 채널 또는 캐리어 신호를 통해 수신될 수 있다. 또한, 현재 프레임의 현재 대칭을 표시하는 현재 비트는 변환 커널들의 우측의 대칭일 수 있다.
Princen과 Bradley의 1986년 논문 [2]은 코사인 함수 또는 사인 함수 중 하나인 삼각 함수를 이용하는 2개의 랩핑된 변환들을 설명한다. 그 논문에서 "DCT 기반"으로 지칭되는 첫번째 것은 cs() = cos() 및 k0 = 0으로 설정함으로써 (2)를 사용하여 획득될 수 있고, "DST 기반"으로 지칭되는 두번째 것은 cs() = sin() 및 k0 = 1인 경우 (2)에 의해 정의된다. 이미지 코딩에서 종종 사용되는 DCT-II 및 DST-II와 이들의 각각의 유사성들로 인해, (2)의 일반적인 공식의 이러한 특정 경우들은 본 문헌에서 "MDCT 타입 II" 및 "MDST 타입 II" 변환들로 각각 선언될 것이다. Princen과 Bradley는, (1)에서 소개되었고 일반적으로 "MDCT"로 공지된 cs() = cos() 및 k0 = 0.5를 갖는 (2)의 통상적인 경우를 제안하는 1987년 논문 [3]에서 조사를 계속했다. 명확성을 위해 그리고 DCT-IV와의 관계로 인해, 이러한 변환은 본원에서 "MDCT 타입 IV"로 언급될 것이다. 관찰 독자는 DST-IV에 기초하고 cs() = sin() 및 k0 = 0.5와 함께 (2)를 사용하여 획득되는 "MDST 타입 IV"로 지칭되는 나머지 가능한 조합들을 이미 식별했을 것이다. 실시예들은 이러한 4개의 변환들 사이에서 신호-적응적으로 언제 그리고 어떻게 스위칭할지를 설명한다.
[1-3]에서 언급된 바와 같이 완벽한 재구성 특성(스펙트럼 양자화 또는 다른 왜곡의 도입이 없는 분석 및 합성 변환 후, 입력 신호의 동일한 재구성)이 유지되도록 4개의 상이한 변환 커널들 사이에서 본 발명의 스위칭이 어떻게 달성될 수 있는지에 관한 일부 규칙들을 정의하는 것은 가치가 있다. 이를 위해, (2)에 따른 합성 변환들의 대칭적인 확장 특성들을 살펴보는 것이 유용하며, 이는 도 6과 관련하여 예시된다.
· MDCT-IV는 좌측에서 홀수 대칭 및 우측에서 짝수 대칭을 나타내고; 합성된 신호는 이러한 변환의 신호 폴드 아웃 동안 좌측에서 반전된다.
· MDST-IV는 좌측에서 짝수 대칭 및 우측에서 홀수 대칭을 나타내고; 합성된 신호는 이러한 변환의 신호 폴드 아웃 동안 우측에서 반전된다.
· MDCT-II는 좌측에서 짝수 대칭 및 우측에서 짝수 대칭을 나타내고; 합성된 신호는 이러한 변환의 신호 폴드 아웃 동안 어느 측에서도 반전되지 않는다.
· MDST-II는 좌측에서 홀수 대칭 및 우측에서 홀수 대칭을 나타내고; 합성된 신호는 이러한 변환의 신호 폴드 아웃 동안 양측에서 반전된다.
또한, 디코더에서 제어 정보(12)를 유도하기 위한 2개의 실시예들이 설명된다. 제어 정보는 예를 들어, 4개의 앞서 언급된 변환들 중 하나를 표시하기 위해 k0 및 cs()의 값을 포함할 수 있다. 따라서, 적응형 스펙트럼-시간 변환기는 현재 프레임에 대한 제어 데이터 섹션에서 인코딩된 오디오 신호로부터 이전 프레임에 대한 제어 정보 및 이전 프레임에 후속하는 현재 프레임에 대한 제어 정보를 인코딩된 오디오 신호로부터 판독할 수 있다. 선택적으로, 적응형 스펙트럼-시간 변환기(6)는 현재 프레임에 대한 제어 데이터 섹션으로부터 제어 정보(12)를 판독하고, 이전 프레임의 제어 데이터 섹션으로부터 또는 이전 프레임에 적용된 디코더 세팅으로부터 이전 프레임에 대한 제어 정보를 검색할 수 있다. 즉, 제어 정보는 현재 프레임의 제어 데이터 섹션으로부터, 예를 들어, 헤더에서 또는 이전 프레임의 디코더 세팅으로부터 직접 유도될 수 있다.
다음으로, 인코더와 디코더 사이에 교환되는 제어 정보가 바람직한 실시예에 따라 설명된다. 이러한 섹션은 사이드-정보(즉, 제어 정보)가 코딩된 비트-스트림에서 시그널링되고, (예를 들어, 프레임 손실에 대해) 견고한 방식으로 적절한 변환 커널을 도출 및 적용하는데 사용되는 방법을 설명한다.
바람직한 실시예에 따르면, 본 발명은 MPEG-D USAC(Extended HE-AAC) 또는 MPEG-H 3D 오디오 코덱에 통합될 수 있다. 결정된 사이드-정보는 각각의 주파수-도메인(FD) 채널 및 프레임에 대해 이용가능한 소위 fd_channel_stream 엘리먼트 내에서 송신될 수 있다. 더 구체적으로, 1-비트 currAliasingSymmetry 플래그는 scale_factor_data() 비트스트림 엘리먼트의 직전 또는 직후에 (인코더에 의해) 기록되고 (디코더에 의해) 판독된다. 주어진 프레임이 독립적인 프레임, 즉 indepFlag == 1인 경우, 다른 비트 prevAliasingSymmetry가 기록되고 판독된다. 이는, 비트스트림 송신 동안 이전 프레임이 손실되더라도, 좌측 및 우측 대칭들 둘 모두 및 그에 따른 상기 프레임 및 채널 내에서 사용될 얻어진 변환 커널이 디코더에서 식별될 수 있음(및 적절하게 디코딩될 수 있음)을 보장한다. 프레임이 독립적인 프레임이 아닌 경우, prevAliasingSymmetry는 기록 및 판독되지 않지만, currAliasingSymmetry가 이전 프레임으로 유지한 값과 동일하게 설정된다. 추가적인 실시예들에 따르면, 상이한 비트들 또는 플래그들이 제어 정보(즉, 사이드-정보)를 표시하기 위해 사용될 수 있다.
다음으로, cs() 및 k0에 대한 각각의 값들은 표 1에서 특정된 바와 같이 플래그들 currAliasingSymmetry 및 prevAliasingSymmetry로부터 유도되고, 여기서 currAliasingSymmetry는 symmi로 그리고 prevAliasingSymmetry는 symmi-1로 축약된다. 즉, symmi는 인덱스 i에서의 현재 프레임에 대한 제어 정보이고, symmi-1은 인덱스 i-1에서의 이전 프레임에 대한 제어 정보이다. 표 1은 대칭에 대해 송신된 및/또는 다른 방식으로 유도된 사이드-정보에 기초하여 k_0 및 cs(...)의 값들을 특정하는 디코더 측 판정 행렬을 도시한다. 따라서, 적응형 스펙트럼-시간 변환기는 표 1에 기초하여 변환 커널을 적용할 수 있다.
Figure pct00003
마지막으로, 일단 cs() 및 k0이 디코더에서 결정되면, 주어진 프레임 및 채널에 대한 역변환은 수식 (2)를 사용하여 적절한 커널로 수행될 수 있다. 이러한 합성 변환 이전 및 이후에, 디코더는 또한 윈도우윙(windowing)과 관련하여 종래 기술에서 통상적인 바와 같이 동작할 수 있다.
도 2는 일 실시예에 따른 디코더에서의 신호 흐름을 예시하는 개략적인 블록도를 도시하며, 여기서 실선은 신호를 표시하고 파선은 사이드-정보를 표시하고, i는 프레임 인덱스를 표시하고, xi는 프레임 시간 신호 출력을 표시한다. 비트스트림 디멀티플렉서(16)는 스펙트럼 값들(4') 및 제어 정보(12)의 연속적인 블록들을 수신한다. 일 실시예에 따르면, 스펙트럼 값들(4') 및 제어 정보(12)의 연속적인 블록들은 공통 신호로 멀티플렉싱되고, 비트스트림 디멀티플렉서는 공통 신호로부터 스펙트럼 값들의 연속적인 블록들 및 제어 정보를 유도하도록 구성된다. 스펙트럼 값들의 연속적인 블록들은 추가적으로 스펙트럼 디코더(18)에 입력될 수 있다. 또한, 현재 프레임(12) 및 이전 프레임(12')에 대한 제어 정보는 표 1에 나타낸 맵핑을 적용하기 위해 맵퍼(20)에 입력된다. 실시예들에 따라, 이전 프레임(12')에 대한 제어 정보는 인코딩된 오디오 신호, 즉 스펙트럼 값들의 이전 블록으로부터, 또는 이전 프레임에 적용된 디코더의 현재 프리셋을 사용하여 유도될 수 있다. 스펙트럼 값들(4")의 스펙트럼 디코딩된 연속적인 블록들 및 파라미터들 cs 및 k0을 포함하는 프로세싱된 제어 정보(12')는, 도 1의 적응형 스펙트럼-시간 변환기(6)일 수 있는 역 커널-적응형 랩핑된 변환기에 입력된다. 출력은, 선택적으로, 예를 들어 디코딩된 오디오 값(14)을 유도하기 위한 중첩-가산 알고리즘을 수행하기 위한 중첩-가산 프로세서(8)에 입력되기 전에, 시간 값들의 연속적인 블록들의 경계들에서의 불연속들을 극복하기 위해 합성 윈도우(7)를 사용하여 프로세싱될 수 있는 시간 값들(10)의 연속적인 블록일 수 있다. 맵퍼(20) 및 적응형 스펙트럼-시간 변환기(6)는 오디오 신호의 디코딩의 다른 위치로 추가로 이동될 수 있다. 따라서, 이러한 블록들의 위치는 단지 제안일 뿐이다. 또한, 제어 정보는 대응하는 인코더를 사용하여 계산될 수 있으며, 그 실시예는 예를 들어 도 3과 관련하여 설명된다.
도 3은 일 실시예에 따라 오디오 신호를 인코딩하기 위한 인코더의 개략적인 블록도를 도시한다. 인코더는 적응형 시간-스펙트럼 변환기(26) 및 제어기(28)를 포함한다. 적응형 시간-스펙트럼 변환기(26)는 예를 들어, 블록들(30' 및 30")을 포함하는 시간 값들(30)의 중첩하는 블록들을 스펙트럼 값들(4')의 연속적인 블록들로 변환한다. 또한, 적응형 시간-스펙트럼 변환기(26)는, 제어 정보(12a)를 수신하고, 제어 정보에 대한 응답으로, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭한다. 또한, 제어기(28)는 변환 커널들의 제 1 그룹의 변환 커널들과 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하도록 시간-스펙트럼 변환기를 제어하도록 구성된다. 선택적으로 인코더(22)는 현재 프레임에 대해, 현재 프레임을 생성하기 위해 사용되는 변환 커널의 대칭을 표시하는 제어 정보(12)를 갖도록 인코딩된 오디오 신호를 생성하기 위한 출력 인터페이스(32)를 포함할 수 있다. 현재 프레임은 스펙트럼 값들의 연속적인 블록들의 현재 블록일 수 있다. 출력 인터페이스는 현재 프레임 및 이전 프레임에 대한 대칭 정보를 현재 프레임의 제어 데이터 섹션에 포함할 수 있으며, 현재 프레임은 독립적인 프레임이거나, 또는 현재 프레임이 종속적인 프레임인 경우 현재 프레임의 제어 데이터 섹션에 오직 현재 프레임에 대한 대칭 정보만을 포함하고 어떠한 이전 프레임에 대한 대칭 정보도 포함하지 않을 수 있다. 독립 프레임은 예를 들어, 이전 프레임에 대한 지식없이 현재 프레임이 판독될 수 있도록 보장하는 독립적인 프레임 헤더를 포함한다. 예를 들어, 가변 비트레이트 스위칭을 갖는 오디오 파일에서 종속적인 프레임들 발생한다. 따라서, 종속적인 프레임은 오직 하나 이상의 이전 프레임들에 대한 지식으로 판독가능하다.
제어기는, 예를 들어, 변환의 주파수 분해능의 정수배에 적어도 근접한 기본 주파수들과 관련하여, 오디오 신호(24)를 분석하도록 구성될 수 있다. 따라서, 제어기는 제어 정보(12)를 유도하여, 적응형 시간-스펙트럼 변환기(26) 및 선택적으로 출력 인터페이스(32)에 제어 정보(12)를 공급할 수 있다. 제어 정보(12)는 변환 커널들의 제 1 그룹 또는 변환 커널들의 제 2 그룹의 적절한 변환 커널들을 표시할 수 있다. 변환 커널들의 제 1 그룹은, 커널의 좌측에서 홀수 대칭 및 커널의 우측에서 짝수 대칭을 갖는, 또는 그 반대인 하나 이상의 변환 커널들을 가질 수 있다. 변환 커널들의 제 2 그룹은, 커널의 양측에서 짝수 대칭 또는 양측에서 홀수 대칭을 갖는 하나 이상의 변환 커널들을 포함할 수 있다. 즉, 변환 커널들의 제 1 그룹은 MDCT-IV 변환 커널 또는 MDST-IV 변환 커널을 포함할 수 있거나, 또는 변환 커널들의 제 2 그룹은 MDCT-II 변환 커널 또는 MDST-II 변환 커널을 포함할 수 있다. 인코딩된 오디오 신호들을 디코딩하기 위해, 디코더는 각각의 역변환을 인코더의 변환 커널들에 적용할 수 있다. 따라서, 디코더의 변환 커널들의 제 1 그룹은 MDCT-IV 역변환 커널 또는 MDST-IV 역변환 커널을 포함할 수 있거나, 또는 변환 커널들의 제 2 그룹은 MDCT-II 역변환 커널 또는 MDST-II 역변환 커널을 포함 할 수 있다.
즉, 제어 정보(12)는 현재 프레임에 대한 현재 대칭을 표시하는 현재 비트를 포함할 수 있다. 또한, 적응형 스펙트럼-시간 변환기(6)는, 현재 비트가 선행 프레임에서 사용된 것과 동일한 대칭을 표시하는 경우, 변환 커널들의 제 1 그룹으로부터 제 2 그룹으로 스위칭하지 않도록 구성될 수 있고, 적응형 스펙트럼-시간 변환기는, 현재 비트가 선행 프레임에서 사용된 것과 상이한 대칭을 표시하는 경우, 변환 커널들의 제 1 그룹으로부터 제 2 그룹으로 스위칭하도록 구성된다.
또한, 적응형 스펙트럼-시간 변환기(6)는, 현재 비트가 선행 프레임에서 사용된 것과 상이한 대칭을 표시하는 경우, 변환 커널들의 제 2 그룹으로부터 제 1 그룹으로 스위칭하지 않도록 구성될 수 있고, 적응형 스펙트럼-시간 변환기는, 현재 비트가 선행 프레임에서 사용된 것과 동일한 대칭을 표시하는 경우, 변환 커널들의 제 2 그룹으로부터 제 1 그룹으로 스위칭하도록 구성된다.
후속적으로, 인코더 또는 분석 측에서 또는 디코더 또는 합성 측에서 시간 부분들 및 블록들의 관계를 예시하기 위해 도 4a 및 도 4b를 참조한다.
도 4b는 제 0 시간 부분 내지 제 3 시간 부분의 개략적 표현을 도시하고 이러한 후속적인 시간 부분들의 각각의 시간 부분은 소정의 중첩하는 범위(170)를 갖는다. 이러한 시간 부분들에 기초하여, 중첩하는 시간 부분들을 표현하는 블록들의 시퀀스의 블록들은 에일리어싱 도입 변환 동작의 분석 측을 도시하는 도 5a와 관련하여 보다 상세하게 논의된 프로세싱에 의해 생성된다.
특히, 도 4b에 예시된 시간 도메인 신호는, 도 4b가 분석 측에 적용되는 경우 분석 윈도우를 적용하는 윈도우어(windower)(201)에 의해 윈도우잉된다. 따라서, 예를 들어, 제 0 시간 부분을 획득하기 위해, 윈도우어는 예를 들어, 2048개의 샘플들, 및 구체적으로는 샘플 1 내지 샘플 2048에 분석 윈도우를 적용한다. 따라서, N은 1024와 동일하고, 윈도우는, 이 예에서는 2048인 2N개의 샘플들의 길이를 갖는다. 그 다음, 윈도우어는 제 1 시간 부분을 획득하기 위해, 블록의 제 1 샘플로서의 샘플 2049에 대한 것이 아닌, 블록의 제 1 샘플로서의 샘플 1025에 대한 것이 아닌 추가적인 분석 동작을 적용한다. 따라서, 50% 중첩을 위해 1024개의 샘플 길이인 제 1 중첩 범위(170)가 획득된다. 이러한 절차는 제 2 및 제 3 시간 부분들에 대해 추가적으로 적용되지만, 소정의 중첩 범위(170)를 획득하기 위해 항상 중첩을 갖는다.
중첩은 반드시 50% 중첩일 필요는 없지만, 중첩은 더 높거나 더 낮을 수 있고 심지어 다중 중첩, 즉 2개보다 많은 윈도우들의 중첩이 존재할 수 있어서, 시간 도메인 오디오 신호의 샘플은 단지 2개의 윈도우들 및 그에 따른 스펙트럼 값들의 블록들에만 기여하는 것이 아니라, 샘플은 스펙트럼 값들의 2개보다 훨씬 많은 윈도우들/블록들에 기여한다. 한편, 당업자들은 도 5a의 윈도우어(201)에 의해 적용될 수 있는 다른 윈도우 형태들이 존재함을 이해하며, 이는 0 부분들 및/또는 1 값들을 갖는 부분들을 갖는다. 1 값들을 갖는 이러한 부분들에 대해, 이러한 부분들은 통상적으로 선행 또는 후속 윈도우들의 0 부분들과 중첩하고 따라서 1 값들을 갖는 윈도우의 일정 부분에 위치된 소정의 오디오 샘플은 오직 스펙트럼 값들의 단일 블록에만 기여하는 것으로 나타난다.
그 다음, 도 4b에 의해 획득된 윈도우잉된 시간 부분들은 폴드-인 연산을 수행하기 위해 폴더(202)로 포워딩된다. 이러한 폴드-인 연산은 예를 들어 폴더(202)의 출력에서 블록 당 N개의 샘플들을 갖는 샘플링 값들의 블록들만이 존재하도록 폴드-인을 수행할 수 있다. 그 다음, 폴더(202)에 의해 수행된 폴딩 연산에 후속하여, 예를 들어, 입력에서의 블록 당 N개의 샘플들을 시간-주파수 변환기(203)의 출력에서의 N개의 스펙트럼 값들로 변환하는 DCT-IV 변환기인 시간-주파수 변환기가 적용된다.
따라서, 블록(203)의 출력에서 획득되는 스펙트럼 값들의 블록들의 시퀀스는, 구체적으로 도 1a 및 도 1b의 102에 예시된 제 1 수정 값과 연관된 제 1 블록(191)을 도시하고, 도 1a 및 도 1b에 예시된 106과 같은 제 2 수정 값과 연관된 제 2 블록(192)을 갖는 도 4a에 예시된다. 물론, 시퀀스는 제 2 블록에 선행하는 또는 예시된 바와 같이 심지어 제 1 블록에 앞선 더 많은 블록들(193 또는 194)을 갖는다. 제 1 및 제 2 블록들(191, 192)은 예를 들어, 도 4b의 윈도우잉된 제 1 시간 부분을 변환하여 제 1 블록을 획득하고고, 제 2 블록은 도 5a의 주파수 변환기(203)에 의해 도 4b의 윈도우잉된 제 2 시간 부분을 변환함으로써 획득된다. 따라서, 스펙트럼 값들의 블록들의 시퀀스에서 시간적으로 인접한 스펙트럼 값들의 블록들 둘 모두는 제 1 시간 부분 및 제 2 시간 부분을 커버하는 중첩 범위를 표현한다.
후속적으로, 도 5b는 도 5a의 인코더 또는 분석 측 프로세싱의 결과의 합성 측 또는 디코더 측 프로세싱을 예시하기 위해 논의된다. 도 5a의 주파수 변환기(203)에 의해 출력된 스펙트럼 값들의 블록들의 시퀀스는 수정기(211)에 입력된다. 요약된 바와 같이, 스펙트럼 값들의 각각의 블록은 도 4a 내지 도 5b에 예시된 예에 대해 N개의 스펙트럼 값들을 갖는다(이는, M이 사용되는 식 (1) 및 (2)와는 상이한 것을 주목한다). 각각의 블록은 도 1a 및 도 1b에 예시된 102, 104와 같은 연관된 수정 값들을 갖는다. 그 다음, 통상적인 IMDCT 연산 또는 리던던시-감소 합성 변환에서, 주파수-시간 변환기(212), 폴딩 아웃을 위한 폴더(213), 합성 윈도우를 적용하기 위한 윈도우어(214) 및 블록(215)에 의해 예시된 중첩/가산기 동작이 중첩 범위에서 시간 도메인 신호를 획득하기 위해 수행된다. 이는, 이 예에서는 블록 당 2N개의 값들 가지므로, 각각의 중첩 및 가산 연산 후에, 수정 값들(102, 104)이 시간 또는 주파수에 걸쳐 가변적이지 않으면 N개의 새로운 에일리어싱없는 시간 도메인 샘플들이 획득된다. 그러나, 이러한 값들이 시간 및 주파수에 걸쳐 가변적이면, 블록(215)의 출력 신호는 에일리어싱이 없지 않지만, 이러한 문제점은 도 1b 및 도 1a의 상황에서 논의된 바와 같이 그리고 본 명세서의 다른 도면들의 상황에서 논의된 바와 같이 본 발명의 제 1 및 제 2 양상에 의해 다루어진다.
후속적으로, 도 5a 및 도 5b의 블록들에 의해 수행되는 절차들의 추가적인 예시가 주어진다.
이 예시는 MDCT를 참조하여 예시되지만, 다른 에일리어싱 도입 변환들이 유사하고 비슷한 방식으로 프로세싱될 수 있다. 랩핑된 변환으로서, MDCT는 (동일한 수 대신에) 입력들의 절만만큼의 출력들을 갖는다는 점에서 다른 푸리에 관련 변환들에 비해 통상적이 아닌 비트이다. 특히, 이는 선형 함수
Figure pct00004
이다 (여기서 R은 실수들의 세트를 표시한다). 2N개의 실수들 x0, . .., x2N-1은 하기 공식에 따라 N개의 실수들 X0, ..., XN-1로 변환된다:
Figure pct00005
(이러한 변환에 앞서, 여기서는 1인 정규화 계수는 임의적인 관례이고, 처리들 사이에 상이하다. 아래에서, MDCT와 IMDCT의 정규화들의 곱만이 제한된다.)
역 MDCT는 IMDCT로 공지되어 있다. 얼핏보면, 상이한 수의 입력들 및 출력들이 존재하기 때문에, MDCT는 반전가능하지 않은 것으로 보일 수 있다. 그러나, 시간-인접 중첩 블록들의 중첩하는 IMDCT들을 가산하여, 에러들을 제거하고 원래의 데이터가 검색되게 함으로써 완전한 반전가능성이 달성되고, 이러한 기술은 시간-도메인 에일리어싱 제거(TDAC)로 공지되어 있다.
IMDCT는 다음의 공식에 따라 N개의 실수들 X0, ..., XN-1을 2N개의 실수들 y0, ..., y2N-1로 변환한다:
Figure pct00006
(직교 변환인 DCT-IV의 경우와 마찬가지로, 역변환은 순방향 변환과 동일한 형태를 갖는다.)
통상적인 윈도우 정규화(아래 참조)로 윈도우잉된 MDCT의 경우에, IMDCT 앞에 정규화 계수는 2가 곱해져야 한다(즉, 2/N이 됨).
통상적인 신호-압축 애플리케이션들에서, 변환 특성들은, n = 0 및 2N인 경계들에서 불연속들을 회피하기 위해, 이러한 포인트들에서 함수를 부드럽게 제로가 되게 함으로써, 상기 MDCT 및 IMDCT 공식들에서 xn 및 yn이 곱해진 윈도우 함수 wn(n = 0, ..., 2N-1)을 사용하여 추가로 개선된다. (즉, MDCT 이전 및 IMDCT 이후의 데이터를 하나의 함수로 윈도우잉한다). 원칙적으로, x 및 y는 상이한 윈도우 함수들을 가질 수 있고, 윈도우 함수는 또한 하나의 블록으로부터 다음 블럭으로 변할 수 있지만(특히 상이한 크기들의 데이터 블록들이 결합되는 경우), 간결함을 위해 동일한 크기의 블록들에 대해 동일한 윈도우 함수들의 통상적인 경우를 고려한다.
w가 Princen-Bradley 조건:
Figure pct00007
을 충족하는 한, 대칭 윈도우 wn = w2N-1-n에 대해, 변환은 반전가능하게 유지된다(즉, TDAC가 작용한다).
다양한 윈도우 함수들이 사용된다.
변조된 랩핑된 변환으로 공지된 형태를 생성하는 윈도우는
Figure pct00008
로 주어지고, MP3 및 MPEG-2 AAC에 대해 사용되며,
Figure pct00009
는 Vorbis에 대한 것이다. AC-3은 KBD(Kaiser-Bessel derived) 윈도우를 사용하고, MPEG-4 AAC는 또한 KBD 윈도우를 사용한다.
MDCT에 적용된 윈도우들은 Princen-Bradley 조건을 충족해야 하기 때문에 일부 다른 타입들의 신호 분석에 대해 사용되는 윈도우들과 상이하다. 이러한 차이의 이유들 중 하나는, MDCT(분석) 및 IMDCT(합성) 둘 모두에 대해 MDCT 윈도우들이 두 번 적용된다는 점이다.
정의들을 살펴보면 알 수 있는 바와 같이, 짝수 N에 대해 MDCT는 DCT-IV와 본질적으로 동등하고, 여기서 입력은 N/2만큼 시프트되고, 데이터의 2개의 N-블록들이 한번 변환된다. 이러한 동등성을 더 면밀히 검토함으로써 TDAC와 같은 중요한 특성들이 용이하게 유도될 수 있다.
DCT-IV와의 정확한 관계를 정의하기 위해, DCT-IV가 교번하는 짝수/홀수 경계 조건들(즉, 대칭 조건들)에 대응하는 것, 즉, (DFT에 대한 것과 같이 주기적인 경계들 대신에) 좌측 경계(약 n=-1/2)에서 짝수, 우측 경계(약 n=N-1/2)에서 홀수 등을 실현해야 한다. 이는 아이덴티티들
Figure pct00010
Figure pct00011
로부터 얻어진다. 따라서, 입력들이 길이 N인 어레이 x인 경우, 이러한 어레이를 (x, -xR, -x, xR, ...) 등으로 확장하는 것을 가정할 수 있고, 여기서 xR은 x를 역순으로 표시한다.
2N개의 입력들 및 N개의 출력들을 가진 MDCT를 고려하며, 여기서 MDCT는 입력들을 각각 N/2 크기의 4개의 블록들(a, b, c, d)로 분할한다. 이들을 (MDCT 정의에서 +N/2 항으로부터) N/2만큼 우측으로 시프트시키면, (b, c, d)는 N개의 DCT-IV 입력들의 끝을 지나서 확장되고, 따라서 위에서 언급한 경계 조건들에 따라 이들을 다시 "폴드"해야 한다.
따라서, 2N개의 입력들(a, b, c, d)의 MDCT는 N개의 입력들의 DCT-IV와 정확히 동등하다: (-cR-d, a-bR), 여기서 R은 앞에서와 같이 역을 표시한다.
이는, 도 5a의 윈도우 함수(202)에 대해 예시된다. a는 부분 204b이고, b는 부분 205a이고, c는 부분 205b이고, d는 부분 206a이다.
(이러한 방식으로, DCT-IV를 컴퓨팅하는 임의의 알고리즘은 MDCT에 간단히 적용될 수 있다.) 유사하게, 위의 IMDCT 공식은 DCT-IV(이는 정확히 자신의 역)의 정확히 1/2이고, 출력은 (경계 조건들을 통해) 길이 2N으로 확장되고 N/2만큼 좌측으로 다시 시프트된다. 역 DCT-IV는 단순히 위로부터 입력들(-cR-d, a-bR)을 다시 제공한다. 이것이 경계 조건들을 통해 확장되고 시프트되는 경우:
IMDCT(MDCT(a, b, c, d)) = (a-bR, b-aR, c+dR, d+cR)/2
를 획득한다.
따라서, IMDCT 출력들의 절반은 b-aR = -(a-bR)R과 같이 중복되고 마지막 2개의 항들에 대해서도 마찬가지이다. A =(a, b) 및 B =(c, d)인 크기 N의 더 큰 블록들 A, B로 입력들을 그룹화하면, 보다 간단한 방식으로 이러한 결과를 작성할 수 있다.
IMDCT(MDCT(A, B)) = (A-AR, B+BR)/2
이제 TDAC가 어떻게 작용하는지를 이해할 수 있다. 시간-인접, 50 % 중복, 2N 블록(B, C)의 MDCT를 컴퓨팅한다고 가정한다. 그 다음, IMDCT가 위에서와 유사하게 나타날 것이다. (B-BR, C+CR)/2. 이것이 중첩하는 절반에서 이전 IMDCT 결과에 추가되는 경우, 반전된 항들은 제거되고, 원래의 데이터를 복원하는 B를 간단히 획득한다.
용어 "시간-도메인 에일리어싱 제거"의 근원은 이제 명확하다. 논리적 DCT-IV의 경계들을 넘어서 확장되는 입력 데이터의 사용은, 이러한 에일리어싱이 주파수 도메인 대신 시간 도메인에서 발생하는 것을 제외하고는 나이퀴스트(Nyquist) 주파수를 넘는 주파수들이 더 낮은 주파수들로 에일리어싱되는 것과 (확장 대칭에 대해) 동일한 방식으로 데이터가 에일리어싱되게 하며: a 및 bR의, (a, b, c, d)의 MDCT에 대한 기여 또는 동등하게 IMDCT(MDCT(a, b, c, d)) = (a-bR, b-aR, c+dR, d+cR)/2의 결과에 대한 기여를 구별할 수 없다. c-dR 등의 조합들은, 이들이 추가되는 경우 제거할 조합들에 대해 정확한 부호를 정확하게 가지고 있다.
(실제로는 거의 사용되지 않는) 홀수 N의 경우, N/2는 정수가 아니므로, MDCT는 단순히 DCT-IV의 시프트 치환이 아니다. 이러한 경우, 샘플의 절반만큼의 추가적인 시프트는 MDCT/IMDCT가 DCT-III/II와 동등하게 됨을 의미하며, 분석은 위와 유사하다.
2N개의 입력들(a, b, c, d)의 MDCT는 N개의 입력들(-cR-d, a-bR)의 DCT-IV와 동등함을 앞서 확인하였다. DCT-IV는 우측 경계에서의 함수가 홀수인 경우를 위해 설계되었고, 따라서 우측 경계 근처의 값들은 0에 가깝다. 이러한 경우 입력 신호가 평탄하면, a 및 bR의 최우측 컴포넌트들은 입력 시퀀스 (a, b, c, d)에서 연속적이고, 따라서 이들이 차이가 작다. 구간의 중간을 살펴 보면: 위의 표현을 (-cR-d, a-bR) =(-d, a) -(b, c) R로 다시 쓰면, 두번째 항인 (b, c)R은 중간에서 부드러운 전환을 제공한다. 그러나, 제 1 항 (-d, a)에서, -d의 우측 끝이 a의 좌측 끝과 만나는 잠재적인 불연속이 존재한다. 이것은, 입력 시퀀스 (a, b, c, d)의 경계들 근처에 있는 컴포넌트들을 0을 향해 감소시키는 윈도우 함수를 사용하는 이유이다.
위에서, TDAC 특성은 통상적인 MDCT에 대해 입증되었으며, 이들의 중첩하는 절반에 시간-인접 블록들의 IMDCT들을 추가하는 것이 원래의 데이터를 복원함을 나타낸다. 윈도우잉된 MDCT에 대한 이러한 역 특성의 유도는 단지 약간 더 복잡하다.
크기 N의 블록들 A, B, C에 대해 2N개의 입력들 (A, B) 및 (B, C)의 2개의 중첩하는 연속적인 세트들을 고려한다. 앞서, (A, B) 및 (B, C)가 MDCT, IMDCT에 입력되고 이들의 중첩하는 절반에 가산되는 경우, 원래 데이터인
Figure pct00012
를 획득함을 상기한다.
이제, MDCT 입력들 및 IMDCT 출력들 둘 모두에 길이 2N의 윈도우 함수를 곱한다고 가정한다. 따라서, 위에서와 같이, 형태 (W, WR)인 대칭 윈도우 함수를 가정하고, 여기서 W는 길이-N 벡터이고, R은 이전과 같이 역을 나타낸다. 그 다음, Princen-Bradley는 엘리먼트 단위로 수행된 제곱들 및 가산들에 의해
Figure pct00013
로 기입될 수 있다.
따라서, MDCT (A, B)를 수행하는 것 대신에, 이제, 모든 곱셈들이 엘리먼트 단위로 수행되는 MDCT들 (WA, WRB)을 수행한다. 이것이 IMDCT에 입력되고 윈도우 함수에 의해 (엘리먼트 단위로) 다시 곱해지면, 마지막 N 절반은,
Figure pct00014
이 된다.
(더 이상 1/2에 의한 곱셈을 갖지 않는데, 이는 IMDCT 정규화가 윈도우잉된 경우에서 2배만큼 상이하기 때문임을 주목한다.)
유사하게, (B, C)의 윈도우잉된 MDCT 및 IMDCT는 이의 처음 N 절반에서,
Figure pct00015
이다.
이러한 2개의 절반들을 함께 가산하는 경우, 원래의 데이터를 복원한다. 재구성은 또한, 2개의 중첩하는 윈도우 절반들이 Princen-Bradley 조건을 충족하는 경우 윈도우 스위칭의 콘텍스트에서 가능하다. 에일리어싱 제거는 이러한 경우 위에서 설명한 것과 정확히 동일한 방식으로 수행될 수 있다. 다중 중첩을 갖는 변환들의 경우, 모든 관련된 이득 값들을 사용하는 둘보다 많은 브랜치들이 요구될 것이다.
이전에, MDCT, 또는 보다 구체적으로 MDCT-IV의 대칭들 또는 경계 조건들에 대해 설명되었다. 이 설명은 또한 본 문헌에서 언급된 다른 변환 커널들, 즉, MDCT-II, MDST-II 및 MDST-IV에 대해서도 유효하다. 그러나, 다른 변환 커널들의 상이한 대칭 또는 경계 조건들이 고려되어야 한다는 점을 주목해야 한다.
도 6은 4개의 설명된 랩핑된 변환들의 묵시적인 폴드-아웃 특성 및 대칭들(즉, 경계 조건들)을 개략적으로 예시한다. 변환들은 4개의 변환들 각각에 대한 제 1 합성 기본 함수를 통해 (2)로부터 유도된다. IMDCT-IV(34a), IMDCT-II(34b), IMDST-IV(34c) 및 IMDST-II(34d)는 시간 샘플들에 걸친 진폭의 개략도에 도시되어 있다. 도 6은 전술한 바와 같은 변환 커널 사이에서 대칭축(35)(즉, 폴딩 포인트)에서의 변환 커널들의 짝수 및 홀수 대칭들을 명확하게 표시한다.
시간 도메인 에일리어싱 제거(TDAC) 특성은 OLA(overlap-and-add) 프로세싱 동안 짝수 및 홀수 대칭 확장들이 합산되는 경우 이러한 에일리어싱이 제거되는 것을 나타낸다. 즉, TDAC가 발생하도록 짝수 좌측 대칭을 갖는 변환이 홀수 우측 대칭을 갖는 변환에 후속되어야 하며, 그 반대도 마찬가지이다. 따라서,
· (역) MDCT-IV 또는 (역) MDST-II가 (역) MDCT-IV에 후속될 것이다.
· (역) MDST-IV 또는 (역) MDCT-II가 (역) MDST-IV에 후속될 것이다.
· (역) MDCT-IV 또는 (역) MDST-II가 (역) MDCT-II에 후속될 것이다.
· (역) MDST-IV 또는 (역) MDCT-II가 (역) MDST-II에 후속될 것이다.
도 7a, 도 7b는 신호-적응형 변환 커널 스위칭이 완전한 재구성을 허용하면서 하나의 프레임에서 다음 프레임으로 변환 커널에 적용되는 사용예의 2개의 실시예들을 개략적으로 도시한다. 즉, 앞서 언급한 변환 시퀀스들의 2개의 가능한 시퀀스들이 도 7에 예시되어 있다. 여기서, (라인(38c)과 같은) 실선들은 변환 윈도우를 표시하고, 파선들(38a)은 변환 윈도우의 좌측 에일리어싱 대칭을 표시하고, 점선들(38b)은 변환 윈도우의 우측 에일리어싱 대칭을 표시한다. 또한, 대칭 피크들은 짝수 대칭을 표시하고, 대칭 골짜기들은 홀수 대칭을 표시한다. 도 7a에서, 프레임 i(36a) 및 프레임 i + 1(36b)은 MDCT-IV 변환 커널이고, 프레임 i + 2(36c)에서는 프레임 i + 3(36d)에서 사용된 MDCT-II 변환 커널로의 전환으로서 MDST-II가 사용된다. 프레임 i + 4(36e)는 MDST-II를 다시 사용하여, 예를 들어, 도 7a에 도시되지 않은 프레임 i + 5의 MDCT-II 또는 MDST-IV를 다시 도출한다. 그러나, 도 7a는 파선들(38a) 및 점선들(38b)이 후속적인 변환 커널들을 보상한다는 것을 명확하게 표시한다. 즉, 파선들과 점선들의 합이 0과 동일하기 때문에, 현재 프레임의 좌측 에일리어싱 대칭과 이전 프레임의 우측 에일리어싱 대칭을 합산하는 것은 완전한 시간 도메인 에일리어싱 제거(TDAC)를 도출한다. 좌측 및 우측 에일리어싱 대칭들(또는 경계 조건들)은 예를 들어 도 5a 및 도 5b에 설명된 폴딩 특성과 관련되며, MDCT가 2N개의 샘플들을 포함하는 입력으로부터 N개의 샘플들을 포함하는 출력을 생성한 결과이다.
도 7b는 도 7a와 유사하고, 프레임 i 내지 프레임 i + 4에 대해 변환 커널들의 상이한 시퀀스만을 사용한다. 프레임 i(36a)에 대해, MDCT-IV가 사용되고, 프레임 i + 1(36b)은 프레임 i + 2(36c)에서 사용된 MDST-IV로의 전환으로서 MDST-II를 사용한다. 프레임 i + 3은 프레임 i + 2(36d)에서 사용된 MDST-IV 변환 커널로부터 프레임 i + 4(36e)의 MDCT-IV 변환 커널로의 전환으로서 MDCT-II 변환 커널을 사용한다.
변환 시퀀스들에 대한 관련된 결정 행렬은 표 1에 예시되어 있다.
실시예들은, 시작부에서 언급된 2개의 문제들을 최소화 또는 심지어 회피하기 위해 HE-AAC와 같은 오디오 코덱에서, 제안된 적응형 변환 커널 스위칭이 어떻게 유리하게 이용될 수 있는지를 추가로 나타낸다. 다음으로, 기존의 MDCT에 의해 준최적으로 코딩된 고조파 신호들이 다루어질 것이다. MDCT-II 또는 MDST-II로의 적응형 전환은 예를 들어, 입력 신호의 기본 주파수에 기초하여 인코더에 의해 수행될 수 있다. 보다 구체적으로, 입력 신호의 피치가 변환의 주파수 분해능의 정수배(즉, 스펙트럼 도메인에서 하나의 변환 빈의 대역폭)와 정확히 또는 매우 근접한 경우, 영향받은 프레임들 및 채널들에 대해 MDCT-II 또는 MDST-II가 이용될 수 있다. 그러나, MDCT-IV로부터 MDCT-II 변환 커널로의 직접적인 전환은 가능하지 않거나 또는 적어도 시간 도메인 에일리어싱 제거(TDAC)를 보장하지 않는다. 따라서, MDCT-II는 이러한 경우 둘 사이의 변환으로서 활용될 것이다. 반대로, MDST-II로부터 종래의 MDCT-IV로의 전환(즉, 다시 종래의 MDCT 코딩으로의 스위칭)의 경우, 중간적 MDCT-II가 유리하다.
지금까지, 제안된 적응형 변환 커널 스위칭은 고조파 오디오 신호들의 인코딩을 향상시키기 때문에 단일 오디오 신호에 대해 설명되었다. 또한, 이는, 예를 들어 스테레오 신호들과 같은 다중 채널 신호들에 쉽게 적용될 수 있다. 여기서, 적응형 변환 커널 스위칭은 또한, 예를 들어 다중 채널 신호의 2개 이상의 채널들이 서로 대략 ±90°의 위상 시프트를 갖는다면 유리하다.
다중 채널 오디오 프로세싱의 경우, 하나의 오디오 채널에 대해 MDCT-IV 코딩을, 그리고 제 2 오디오 채널에 대해 MDST-IV 코딩을 사용하는 것이 적절할 수 있다. 특히, 오디오 채널들 둘 모두가 코딩 전에 대략 ±90도의 위상 시프트를 포함하면, 이러한 개념은 유리하다. MDCT-IV와 MDST-IV는 서로 비교될 때 인코딩된 신호에 대해 90 도의 위상 시프트를 적용하기 때문에, 오디오 신호의 2개의 채널들 사이에서의 ±90 도의 위상 시프트는 인코딩 후에 보상되는데, 즉, MDCT-IV의 코사인 기본 함수들과 MDST-IV의 사인 기본 함수들 사이의 90도 위상 차이를 통해 0도 또는 180도 위상 시프트로 변환된다. 따라서, 예를 들어, M/S 스테레오 코딩을 사용하면, 오디오 신호의 채널들 둘 모두는 중간 신호에서 인코딩될 수 있으며, 전술된 0도 위상 시프트로의 전환의 경우 사이드 신호에서 오직 최소 잔여 정보만이 인코딩될 필요가 있거나, 또는 180도 위상 시프트로의 전환의 경우 그 반대(중간 신호에서 최소 정보)이고, 따라서, 최대 채널 압축을 달성한다. 이는, 무손실 코딩 방식들을 여전히 사용하면서 오디오 채널들 둘 모두의 기존의 MDCT-IV 코딩에 비해 최대 50 %까지 대역폭 감소를 달성할 수 있다. 또한, 복소 스테레오 예측과 함께 MDCT 스테레오 코딩을 사용하는 것으로 생각될 수 있다. 접근법들 둘 모두는 오디오 신호의 2개의 채널들로부터 잔여 신호를 계산, 인코딩 및 송신한다. 또한, 오디오 신호를 인코딩하기 위해 복소 예측이 예측 파라미터들을 계산하고, 디코더는 오디오 신호를 디코딩하기 위해 송신된 파라미터들을 사용한다. 그러나, 앞서 이미 설명된 바와 같이 2개의 오디오 채널들을 인코딩하기 위해 예를 들어, MDCT-IV 및 MDST-IV와 같은 M/S 코딩을 사용하면, 디코더가 관련된 인코딩 방식을 적용할 수 있도록, 오직 사용된 코딩 방식(MDCT-II, MDST-II, MDCT-IV 또는 MDST-IV)에 관한 정보만이 송신되어야 한다. 복소 스테레오 예측 파라미터들은 비교적 높은 분해능을 사용하여 양자화되어야 하기 때문에, 사용된 코딩 방식에 관한 정보는 예를 들어, 4 비트로 인코딩될 수 있는데, 이는 이론적으로, 제 1 및 제 2 채널이 각각 4개의 상이한 코딩 방식들 중 하나를 사용하여 인코딩될 수 있으며, 이는 16개의 상이한 가능한 상태들을 도출하기 때문이다.
따라서, 도 8은 멀티 채널 오디오 신호를 디코딩하기 위한 디코더(2)의 개략적인 블록도를 도시한다. 도 1의 디코더에 비해, 디코더는 제 1 및 제 2 멀티 채널을 표현하는 스펙트럼 값들(4a''', 4b''')의 블록들을 수신하고, 조인트 멀티 채널 프로세싱 기술에 따라, 제 1 멀티 채널 및 제 2 멀티 채널에 대한 스펙트럼 값들(4a', 4b')의 프로세싱된 블록들을 획득하기 위해, 수신된 블록들을 프로세싱하기 위한 멀티 채널 프로세서(40)를 더 포함하고, 적응형 스펙트럼-시간 프로세서는 제 1 멀티 채널에 대한 제어 정보(12a)를 사용하여 제 1 멀티 채널의 프로세싱된 블록들(4a')을 프로세싱하고, 제 2 멀티 채널에 대한 제어 정보(12b)를 사용하여 제 2 멀티 채널에 대한 프로세싱된 블록들(4b')을 프로세싱하도록 구성된다. 멀티 채널 프로세서(40)는, 예를 들어, 좌/우 스테레오 프로세싱 또는 중간/측면 스테레오 프로세싱을 적용할 수 있거나, 또는 멀티 채널 프로세서는 제 1 및 제 2 멀티 채널을 표시하는 스펙트럼 값들의 블록들과 연관된 복소 예측 제어 정보를 사용하여 복소 예측을 적용한다. 따라서, 멀티 채널 프로세서는 고정된 프리셋을 포함할 수 있거나, 또는 오디오 신호를 인코딩하기 위해 어느 프로세싱이 사용되었는지를 표시하는 정보를, 예를 들어, 제어 정보로부터 획득할 수 있다. 제어 정보 내의 별개의 비트 또는 워드 이외에, 멀티 채널 프로세서는 현재의 제어 정보로부터, 예를 들어, 다중 채널 프로세싱 파라미터들의 부재 또는 존재에 의해 이러한 정보를 획득할 수 있다. 즉, 멀티 채널 프로세서(40)는 멀티 채널 신호의 별개의 채널들을 복원하기 위해 인코더에서 수행되는 멀티 채널 프로세싱에 대한 역 연산을 적용할 수 있다. 도 10 내지 도 14에 대해 추가적인 멀티 채널 프로세싱 기술들이 설명된다. 또한, 참조 부호들은 멀티 채널 프로세싱에 적용되었고, 문자 "a"에 의해 확장된 참조 부호들은 제 1 멀티 채널을 표시하고 문자 "b"에 의해 확장된 참조 부호들은 제 2 멀티 채널을 표시한다. 또한, 멀티 채널은 2개의 채널들 또는 스테레오 프로세싱으로 제한되지 않고, 2개의 채널들의 도시된 프로세싱을 확장함으로써 3개 이상의 채널들에 적용될 수 있다.
실시예들에 따르면, 디코더의 멀티 채널 프로세서는 조인트 멀티 채널 프로세싱 기술에 따라, 수신된 블록들을 프로세싱할 수 있다. 또한, 수신된 블록들은 제 1 멀티 채널의 표현 및 제 2 멀티 채널의 표현의 인코딩된 잔여 신호를 포함할 수 있다. 또한, 멀티 채널 프로세서는 잔여 신호 및 추가적인 인코딩된 신호를 사용하여 제 1 멀티 채널 신호 및 제 2 멀티 채널 신호를 계산하도록 구성될 수 있다. 즉, 잔여 신호는, 예를 들어, 복소 스테레오 예측을 사용하는 경우, 오디오 신호의 추가적인 채널에 기초하여 오디오 신호의 채널과 채널의 예측 사이의 잔여 신호 또는 M/S 인코딩된 오디오 신호의 사이드 신호일 수 있다. 따라서, 멀티 채널 프로세서는 M/S 또는 복소 예측된 오디오 신호를 예를 들어, 역변환 커널들을 적용하는 것과 같은 추가적인 프로세싱을 위해 L/R 오디오 신호로 변환할 수 있다. 따라서, 멀티 채널 프로세서는 복소 예측을 사용하는 경우, 오디오 신호의 (예를 들어, MDCT 인코딩된) 채널 또는 M/S 인코딩된 오디오의 중간 신호일 수 있는 추가적인 인코딩된 오디오 신호 및 잔여 신호를 사용할 수 있다.
도 9는 멀티 채널 프로세싱으로 확장된 도 3의 인코더(22)를 도시한다. 제어 정보(12)가 인코딩된 오디오 신호(4)에 포함되는 것으로 도면들이 예상하는 경우에도, 제어 정보(12)는 예를 들어, 별개의 제어 정보 채널을 사용하여 추가로 송신될 수 있다. 멀티 채널 인코더의 제어기(28)는, 제 1 채널의 프레임 및 제 2 채널의 대응하는 프레임에 대한 변환 커널을 결정하기 위해, 제 1 채널 및 제 2 채널을 갖는 오디오 신호의 시간 값들(30a, 30b)의 중첩하는 블록들을 분석할 수 있다. 따라서, 제어기는 예를 들어, M/S 코딩 또는 복소 예측의 잔여 신호(또는 M/S 코딩에 관한 사이드 신호)를 최소화하는 변환 커널들의 옵션을 도출하기 위해 변환 커널의 각각의 조합을 시도할 수 있다. 최소화된 잔여 신호는 예를 들어, 나머지 잔여 신호들에 비해 가장 낮은 에너지를 갖는 잔여 신호이다. 이는, 예를 들어, 작은 신호를 양자화하기 위해, 잔여 신호의 추가적인 양자화가 더 큰 신호를 양자화하는 것에 비해 더 적은 비트들을 사용하면 유리하다. 또한, 제어기(28)는 제 1 채널에 대한 제 1 제어 정보(12a) 및 전술한 변환 커널들 중 하나를 적용하는 적응형 시간-스펙트럼 변환기(26)에 입력되는 제 2 채널에 대한 제 2 제어 정보(12b)를 결정할 수 있다. 따라서, 시간-스펙트럼 변환기(26)는 멀티 채널 신호의 제 1 채널 및 제 2 채널을 프로세싱하도록 구성될 수 있다. 또한, 멀티 채널 인코더는, 스펙트럼 값들(40a'''', 40b'''')의 프로세싱된 블록들을 획득하기 위해, 예를 들어, 좌측/우측 스테레오 코딩, 중간/측면 스테레오 코딩 또는 복소 예측과 같은 조인트 멀티 채널 프로세싱 기술을 사용하여, 제 1 채널 및 제 2 채널의 스펙트럼 값들(4a', 4b')의 연속적인 블록들을 프로세싱하기 위한 멀티 채널 프로세서(42)를 더 포함할 수 있다. 인코더는 인코딩된 채널들(40a''', 40b''')을 획득하기 위해 스펙트럼 값들의 프로세싱된 블록들을 프로세싱하기 위한 인코딩 프로세서(46)를 더 포함할 수 있다. 인코딩 프로세서는 예를 들어, 스펙트럼 라인들의 스칼라 양자화, 엔트로피 코딩, 허프만 코딩, 채널 코딩, 블록 코드들 또는 콘벌루셔널 코드들과 같은, 예를 들어, 손실있는 오디오 압축 또는 무손실 오디오 압축 방식을 사용하여 또는 순방향 에러 정정 또는 자동 반복 요청을 적용하기 위해 오디오 신호를 인코딩할 수 있다. 또한, 손실있는 오디오 압축은 심리 음향 모델에 기초하여 양자화를 사용하는 것을 지칭할 수 있다.
추가적인 실시예들에 따르면, 스펙트럼 값들의 제 1 프로세싱된 블록들은 조인트 멀티 채널 프로세싱 기술의 제 1 인코딩된 표현을 표현하고, 스펙트럼 값들의 제 2 프로세싱된 블록들은 조인트 멀티 채널 프로세싱 기술의 제 2 인코딩된 표현을 표현한다. 따라서, 인코딩 프로세서(46)는 제 1 인코딩된 표현을 형성하기 위해 양자화 및 엔트로피 인코딩을 사용하여 제 1 프로세싱된 블록들을 프로세싱하고, 제 2 인코딩된 표현을 형성하기 위해 양자화 및 엔트로피 인코딩을 사용하여 제 2 프로세싱된 블록들을 프로세싱하도록 구성될 수 있다. 제 1 인코딩된 표현 및 제 2 인코딩된 표현은 인코딩된 오디오 신호를 표현하는 비트스트림에서 형성될 수 있다. 즉, 제 1 프로세싱된 블록들은 M/S 인코딩된 오디오 신호의 중간 신호 또는 복소 스테레오 예측을 사용하여 인코딩된 오디오 신호의 (예를 들어, MDCT) 인코딩된 채널을 포함할 수 있다. 또한, 제 2 프로세싱된 블록들은 복소 예측에 대한 파라미터들 또는 잔여 신호 또는 M/S 인코딩된 오디오 신호의 사이드 신호를 포함할 수 있다.
도 10은 둘 이상의 채널 신호들을 갖는 멀티 채널 오디오 신호(200)를 인코딩하기 위한 오디오 인코더를 예시하고, 제 1 채널 신호는 201에 예시되고 제 2 채널은 202에 예시된다. 신호들 둘 모두는 제 1 채널 신호(201) 및 제 2 채널 신호(202) 및 예측 정보(206)를 사용하여 제 1 결합 신호(204) 및 예측 잔여 신호(205)를 계산하기 위해 인코더 계산기(203)에 입력되고, 따라서 예측 잔여 신호(205)는 제 1 결합 신호(204) 및 예측 정보(206)로부터 유도된 예측 신호와 결합되는 경우 제 2 결합 신호를 도출하고, 제 1 결합 신호 및 제 2 결합 신호는 조합 규칙을 사용하여 제 1 채널 신호(201) 및 제 2 채널 신호(202)로부터 유도가능하다.
예측 정보는, 예측 잔여 신호가 최적화 타겟(208)을 충족하도록 예측 정보(206)를 계산하기 위한 최적화기(207)에 의해 생성된다. 제 1 결합 신호(204) 및 잔여 신호(205)는 인코딩된 제 1 결합 신호(210)를 획득하도록 제 1 결합 신호(204)를 인코딩하기 위해 그리고 인코딩된 잔여 신호(211)를 획득하도록 잔여 신호(205)를 인코딩하기 위해 신호 인코더(209)에 입력된다. 인코딩된 신호들(210, 211) 둘 모두는, 인코딩된 멀티 채널 신호(213)를 획득하도록, 인코딩된 제 1 결합 신호(210)를 인코딩된 예측 잔여 신호(211) 및 예측 정보(206)와 결합하기 위해 출력 인터페이스(212)에 입력된다.
구현에 따라, 최적화기(207)는 제 1 채널 신호(201) 및 제 2 채널 신호(202), 또는 라인들(214 및 215)에 의해 예시된 바와 같이, 후술될 도 11a의 결합기(2031)로부터 유도된 제 1 결합 신호(214) 및 제 2 결합 신호(215)를 수신한다.
최적화 타겟은, 코딩 이득이 최대화되는, 즉, 비트 레이트가 가능한 한 많이 감소되는 도 10에 예시된다. 이러한 최적화 타겟에서, 잔여 신호 D는 α에 대해 최소화된다. 이는, 즉, ||S - αM||2가 최소화되도록 예측 정보 α가 선택되는 것을 의미한다. 이것은 도 10에 예시된 α에 대한 솔루션을 도출한다. 신호 S, M은 블록 방식으로 주어지고, 스펙트럼 도메인 신호들이며, 표기법 ||...||는 아규먼트의 2-놈(norm)을 의미하고, 여기서 <...>는 통상적인 내적을 예시한다. 제 1 채널 신호(201) 및 제 2 채널 신호(202)가 최적화 기(207)에 입력되면, 최적화기는 조합 규칙을 적용해야 할 것이고, 여기서 예시적인 조합 규칙은 도 11c에 예시된다. 그러나, 제 1 조합 신호(214) 및 제 2 조합 신호(215)가 최적화기(207)에 입력되는 경우, 최적화기(207)는 그 자체로 조합 규칙을 구현할 필요가 없다.
다른 최적화 타겟들은 지각 품질과 관련될 수 있다. 최적화 타겟은 최대 지각 품질이 획득되는 것일 수 있다. 그 다음, 최적화기는 지각 모델로부터 추가적인 정보를 필요로 할 것이다. 최적화 타겟의 다른 구현들은 최소 또는 고정된 비트 레이트를 획득하는 것과 관련될 수 있다. 그 다음, 최적화기(207)는, α가 최소 비트 레이트 또는 대안적으로 고정된 비트 레이트와 같은 요건들을 충족시키게 설정될 수 있도록 특정 α 값들에 대해 필요한 비트 레이트를 결정하기 위해 양자화/엔트로피 인코딩 동작을 수행하도록 구현될 것이다. 최적화 타겟의 다른 구현들은 인코더 또는 디코더 자원들의 최소 사용과 관련될 수 있다. 이러한 최적화 타겟의 구현의 경우, 특정 최적화를 위해 필요한 자원들에 대한 정보는 최적화기(207)에서 이용가능할 것이다. 추가적으로, 이러한 최적화 타겟들 또는 다른 최적화 타겟들의 조합은 예측 정보(206)를 계산하는 최적화기(207)를 제어하기 위해 적용될 수 있다.
도 10의 인코더 계산기(203)는 상이한 방식들로 구현될 수 있고, 예시적인 제 1 구현은 명시적 조합 규칙이 결합기(2031)에서 수행되는 도 11a에 도시되어 있다. 대안적인 예시적인 구현은 행렬 계산기(2039)가 사용되는 도 11b에 도시되어 있다. 도 11a의 결합기(2031)는 도 11c에 예시된 조합 규칙을 수행하도록 구현될 수 있는데, 이는 널리 알려진 중간/측면 인코딩 규칙이고, 여기서 모든 브랜치들에 0.5의 가중치 팩터가 적용된다. 그러나 구현에 따라 다른 가중치 팩터들이 구현될 수 있거나 또는 어떠한 가중치 팩터들도 전혀 구현되지 않을 수 있다. 추가적으로, 인코더에 의해 적용되는 조합 규칙과 반대인 조합 규칙을 적용하는 도 12a에 예시된 디코더 결합기(1162)에서 적용될 수 있는 대응하는 역조합 규칙이 존재하는 한, 다른 선형 조합 규칙들 또는 비선형 조합 규칙들과 같은 다른 조합 규칙들이 적용될 수 있음을 주목해야 한다. 조인트-스테레오 예측으로 인해, 예측에 의해 파형에 대한 영향이 "밸런싱"되어, 즉, 송신된 잔여 신호에 임의의 에러가 포함되어 임의의 반전가능한 예측 규칙이 사용될 수 있는데, 이는, 인코더 계산기(203)와 함께 최적화기(207)에 의해 수행되는 예측 동작이 파형-보존 프로세스이기 때문이다.
결합기(2031)는 제 1 합성 신호(204) 및 제 2 합성 신호(2032)를 출력한다. 제 1 조합 신호는 예측기(2033)에 입력되고, 제 2 조합 신호(2032)는 잔여 계산기(2034)에 입력된다. 예측기(2033)는 제 2 조합 신호(2032)와 결합되는 예측 신호(2035)를 계산하여, 최종적으로 잔여 신호(205)를 획득한다. 특히, 결합기(2031)는 제 1 결합 신호(204) 및 제 2 결합 신호(2032)를 획득하기 위해 2개의 상이한 방식들로 멀티 채널 오디오 신호의 2개의 채널 신호들(201 및 202)을 결합하도록 구성되며, 여기서 2개의 상이한 방식들은 도 11c의 예시적인 실시예에 예시되어 있다. 예측기(2033)는 예측 정보를 제 1 조합 신호(204) 또는 제 1 조합 신호로부터 유도된 신호에 적용하여 예측 신호(2035)를 획득하도록 구성된다. 조합 신호로부터 유도된 신호는 실수-허수 변환/허수-실수 변환이 유리한 임의의 비선형 또는 선형 연산에 의해 유도될 수 있고, 이는 특정 값들의 가중된 가산들을 수행하는 FIR 필터와 같은 선형 필터를 사용하여 구현될 수 있다.
도 11a의 잔여 계산기(2034)는 예측 신호(2035)가 제 2 조합 신호로부터 감산되도록 감산 동작을 수행할 수 있다. 그러나, 잔여 계산기에서 다른 동작들이 가능하다. 따라서, 도 12a의 조합 신호 계산기(1161)는, 디코딩된 잔여 신호(114)와 예측 신호(1163)가 함께 가산되는 가산 동작을 수행하여, 제 2 조합 신호(1165)를 획득할 수 있다.
디코더 계산기(116)는 상이한 방식들로 구현될 수 있다. 제 1 구현은 도 12a에 예시되어 있다. 이러한 구현은 예측기(1160), 조합 신호 계산기(1161) 및 결합기(1162)를 포함한다. 예측기는 디코딩된 제 1 조합 신호(112) 및 예측 정보(108)를 수신하고 예측 신호(1163)를 출력한다. 구체적으로, 예측기(1160)는 예측 정보(108)를 디코딩된 제 1 조합 신호(112) 또는 디코딩된 제 1 조합 신호로부터 유도된 신호에 적용하도록 구성된다. 예측 정보(108)가 적용되는 신호를 유도하기 위한 유도 규칙은 실수-허수 변환 또는 동등하게 허수-실수 변환, 또는 가중 동작일 수 있거나, 또는 구현에 따라 위상 시프트 동작 또는 결합된 가중/위상 시프트 동작일 수 있다. 예측 신호(1163)는 디코딩된 제 2 조합 신호(1165)를 계산하기 위해, 디코딩된 잔여 신호와 함께 조합 신호 계산기(1161)로 입력된다. 신호들(112 및 1165) 둘 모두는 결합기(1162)에 입력되며, 결합기(1162)는 디코딩된 제 1 조합 신호 및 제 2 결합 신호를 결합하여, 출력 라인들(1166 및 1167) 상에서 디코딩된 제 1 채널 신호 및 디코딩된 제 2 채널 신호를 각각 갖는 디코딩된 멀티 채널 오디오 신호를 획득한다. 대안적으로, 디코더 계산기는, 디코딩된 제 1 조합 신호 또는 신호 M, 디코딩된 잔여 신호 또는 신호 D 및 예측 정보 α(108)를 입력으로서 수신하는 행렬 계산기(1168)로서 구현된다. 행렬 계산기(1168)는 출력 신호들 L, R을 획득하기 위해 1169로 예시된 변환 행렬을 신호들 M, D에 적용하는데, 여기서 L은 디코딩된 제 1 채널 신호이고 R은 디코딩된 제 2 채널 신호이다. 도 12b의 표기법은 좌측 채널 L 및 우측 채널 R에 의한 스테레오 표기법과 유사하다. 이 표기법은 더 용이한 이해를 제공하기 위해 적용되었지만, 신호들 L, R이 둘보다 많은 채널 신호들을 갖는 멀티 채널 신호에서 2개의 채널 신호들의 임의의 조합일 수 있음은 당업자들에게 자명하다. 행렬 연산(1169)은 도 12a의 블록들(1160, 1161 및 1162)에서의 연산들을 "단일-샷" 행렬 계산 종류로 단일화하고, 도 12a의 회로로의 입력들 및 도 12a의 회로로부터의 출력들은 행렬 계산기(1168)로의 입력들 및 행렬 계산기(1168)로부터의 출력들과 각각 동일하다.
도 12c는 도 12a의 결합기(1162)에 의해 적용되는 역조합 규칙에 대한 예를 예시한다. 특히, 조합 규칙은 널리 알려진 중간/측면 코딩에서의 디코더 측 조합 규칙과 유사하고, 여기서 L = M + S 및 R = M-S이다. 도 12c의 역 조합 규칙에 의해 사용되는 신호 S는 조합 신호 계산기에 의해 계산된 신호, 즉 라인(1163) 상의 예측 신호와 라인(114) 상의 디코딩된 잔여 신호의 조합임을 이해해야 한다. 본 명세서에서, 라인들 상의 신호들은 때때로 라인들에 대한 참조 번호들에 의해 명명되거나 또는 때때로 라인들에 기인한 참조 번호들 자체에 의해 표시되는 것을 이해해야 한다. 따라서 표기법은, 특정 신호를 갖는 라인이 신호 자체를 표시하고 있도록 한다. 라인은 하드와이어형 구현에서 물리적 라인일 수 있다. 그러나, 컴퓨터화된 구현에서는, 물리적 라인이 존재하는 것이 아니라, 라인에 의해 표현되는 신호가 하나의 계산 모듈로부터 다른 계산 모듈로 송신된다.
도 13a는 오디오 인코더의 구현을 예시한다. 도 11a에 예시된 오디오 인코더에 비해, 제 1 채널 신호(201)는 시간 도메인 제 1 채널 신호(55a)의 스펙트럼 표현이다. 따라서, 제 2 채널 신호(202)는 시간 도메인 채널 신호(55b)의 스펙트럼 표현이다. 시간 도메인으로부터 스펙트럼 표현으로의 변환은 제 1 채널 신호에 대한 시간/주파수 변환기(50) 및 제 2 채널 신호에 대한 시간/주파수 변환기(51)에 의해 수행된다. 반드시는 아니지만 유리하게는, 스펙트럼 변환기들(50, 51)은 실수값 변환기들로서 구현된다. 변환 알고리즘은 이산 코사인 변환, 오직 실수 부분만 사용되는 FFT 변환, MDCT 또는 실수값 스펙트럼 값들을 제공하는 임의의 다른 변환일 수 있다. 대안적으로, 변환들 둘 모두는 DST, MDST 또는 FFT와 같은 허수 변환으로 구현될 수 있고, 여기서 오직 허수 부분만이 사용되고 실수 부분은 폐기된다. 오직 허수 값들만을 제공하는 임의의 다른 변환이 또한 사용될 수 있다. 순수한 실수값 변환 또는 순수한 허수 변환을 사용하는 하나의 목적은 계산 복잡도 때문인데, 이는 각각의 스펙트럼 값에 대해, 크기 또는 실수부 또는 대안적으로 위상 또는 허수부와 같은 단일 값만이 프로세싱되어야 하기 때문이다. FFT와 같은 완전한 복소 변환과는 반대로, 2개의 값들, 즉, 각각의 스펙트럼 라인에 대한 실수부 및 허수부가 프로세싱되어야 할 것인데, 이는 적어도 2배만큼 계산 복잡도를 증가시킨다. 여기서 실수값 변환을 사용하는 또 다른 이유는, 변환간에 중첩이 존재하는 경우에도 이러한 변환 시퀀스가 통상적으로 결정적으로 샘플링되고, 따라서 신호 양자화 및 엔트로피 코딩("MP3", AAC 또는 유사한 오디오 코딩 시스템들에서 구현되는 표준 "지각 오디오 코딩" 패러다임)에 적합한(및 통상적으로 사용되는) 도메인을 제공하기 때문이다.
도 13a는 추가적으로, "플러스" 입력에서 사이드 신호를 수신하고, "마이너스" 입력에서 예측기(2033)에 의해 출력된 예측 신호를 수신하는 가산기로서의 잔여 계산기(2034)를 예시한다. 추가적으로, 도 13a는, 예측기 제어 정보가 최적화기로부터 멀티플렉서(212)로 포워딩되고 멀티플렉서(212)가 인코딩된 멀티 채널 오디오 신호를 표현하는 멀티플렉싱된 비트스트림을 출력하는 상황을 예시한다. 특히, 예측 연산은 도 13a의 우측의 수식들에 예시된 바와 같이 중간 신호로부터 사이드 신호가 예측되는 방식으로 수행된다.
예측기 제어 정보(206)는 도 11b의 우측에 예시된 바와 같은 팩터이다. 예측 제어 정보가 단지 복소값 α의 실수부 또는 복소값 α의 크기와 같은 실수부만을 포함하고, 이러한 부분은 0과 상이한 팩터에 대응하는 실시예에서, 중간 신호 및 사이드 신호가 이들의 파형 구조로 인해 서로 유사하지만 상이한 진폭들을 갖는 경우, 상당한 코딩 이득이 획득될 수 있다.
그러나, 예측 제어 정보가 복소값 팩터의 허수부 또는 복소값 팩터의 위상 정보일 수 있는 제 2 부분만을 포함하고, 허수부 또는 위상 정보가 제로와 상이한 경우, 본 발명은 0° 또는 180°와 상이한 값만큼 서로 위상 시프트되고, 위상 시프트 이외에 유사한 파형 특성들 및 유사한 진폭 관계들을 갖는 신호들에 대해 상당한 코딩 이득을 달성한다.
예측 제어 정보는 복소값이다. 그 다음, 진폭이 상이하고 위상 시프트된 신호들에 대해 상당한 코딩 이득을 획득될 수 있다. 시간/주파수 변환들이 복소 스펙트럼을 제공하는 상황에서, 동작(2034)은, 예측기 제어 정보의 실수부가 복소수 스펙트럼 M의 실수부에 적용되고 복소 예측 정보의 허수부가 복소 스펙트럼의 허수부에 적용되는 복소 연산일 것이다. 그 다음, 가산기(2034)에서, 이러한 예측 연산의 결과는 예측된 실수 스펙트럼 및 예측된 허수 부 스펙트럼이고, 복소 잔여 스펙트럼 D를 획득하기 위해 예측된 실수 스펙트럼은 사이드 신호 S의 실수 스펙트럼으로부터 (대역 단위로) 감산될 것이고, 예측된 허수 스펙트럼은 S의 스펙트럼의 허수부로부터 감산될 것이다.
시간-도메인 신호 L 및 R은 실수값 신호들이지만 주파수-도메인 신호들은 실수 또는 복소값일 수 있다. 주파수-도메인 신호들이 실수 값인 경우, 변환은 실수값 변환이다. 주파수-도메인 신호들이 복소수인 경우, 변환은 복소값 변환이다. 이는, 시간-주파수 변환에 대한 입력 및 주파수-시간 변환의 출력이 실수값인 한편, 주파수 도메인 신호들은, 예를 들어, 복소값 QMF-도메인 신호들일 수 있음을 의미한다.
도 13b는 도 13a에 예시된 오디오 인코더에 대응하는 오디오 디코더를 예시한다.
도 13a의 비트스트림 멀티플렉서(212)에 의해 출력된 비트스트림은 도 13b의 비트스트림 디멀티플렉서(102)에 입력된다. 비트스트림 디멀티플렉서(102)는 비트스트림을 다운믹스 신호 M과 잔여 신호 D로 디멀티플렉싱한다. 다운믹스 신호 M은 역양자화기(110a)에 입력된다. 잔여 신호 D는 역양자화기(110b)에 입력된다. 추가적으로, 비트스트림 디멀티플렉서(102)는 비트스트림으로부터의 예측기 제어 정보(108)를 디멀티플렉싱하고, 이를 예측기(1160)에 입력한다. 예측기(1160)는 예측된 사이드 신호 α·M을 출력하고, 결합기(1161)는 역양자화기(110b)에 의해 출력된 잔여 신호를 예측된 사이드 신호와 결합하여, 최종적으로 재구성된 사이드 신호 S를 획득한다. 그 다음, 사이드 신호는 결합기(1162)에 입력되고, 결합기(1162)는 예를 들어, 중간/측면 인코딩에 대해 도 12c에 예시된 바와 같이 합산/차이 프로세싱을 수행한다. 특히, 블록(1162)은 (역) 중간/측면 디코딩을 수행하여, 좌측 채널의 주파수-도메인 표현 및 우측 채널의 주파수-도메인 표현을 획득한다. 그 다음, 주파수-도메인 표현은 대응하는 주파수/시간 변환기들(52 및 53)에 의해 시간 도메인 표현으로 변환된다.
시스템의 구현에 따라, 주파수/시간 변환기들(52, 53)은, 주파수-도메인 표현이 실수값 표현인 경우 실수값 주파수/시간 변환기들이거나 또는 주파수-도메인 표현이 복소값 표현인 경우 복소값 주파수/시간 변환기들이다.
그러나, 효율을 증가시키기 위해, 인코더에 대한 도 14a 및 디코더에 대한 도 14b의 다른 구현에서 예시된 바와 같이 실수값 변환을 수행하는 것이 유리하다. 실수값 변환들(50 및 51)은 MDCT, 즉, MDCT-IV에 의해 구현되거나 또는 대안적으로 본 발명에 따라 MDCT-II 또는 MDST-II 또는 MDST-IV에 의해 구현된다. 추가적으로, 예측 정보는 실수부 및 허수부를 갖는 복소값으로서 계산된다. 스펙트럼 M, S 둘 모두는 실수값 스펙트럼이기 때문에, 그리고 그에 따라 스펙트럼의 어떠한 허수부도 존재하지 않기 때문에, 신호 M의 실수값 스펙트럼으로부터 추정된 허수 스펙트럼(600)을 계산하는 실수-허수 변환기(2070)가 제공된다. 이러한 실수-허수 변환기(2070)는 최적화기(207)의 일부이고, 블록(2070)에 의해 추정되는 허수 스펙트럼(600)은, 예측 정보(206)를 계산하기 위해 실수 스펙트럼 M과 함께 α 최적화기 스테이지(2071)에 입력되고, 예측 정보(206)는 이제 2073에 표시된 실수값 팩터 및 2074에 표시된 허수 팩터를 갖는다. 이제, 이 실시예에 따르면, 예측 신호를 획득하기 위해 제 1 결합 신호 M의 실수값 스펙트럼에 실수부 αR(2073)가 곱해지고, 예측 신호는 실수값 사이드 스펙트럼으로부터 감산된다. 추가적으로, 추가적인 예측 신호를 획득하기 위해 2074에 예시된 허수부 αI가 허수 스펙트럼(600)에 곱해지고, 그 다음, 이러한 예측 신호는 2034b에 표시된 바와 같이 실수부 사이드 스펙트럼으로부터 감산된다. 그 다음, 예측 잔여 신호 D는 양자화기(209b)에서 양자화되는 한편, M의 실수값 스펙트럼은 블록(209a)에서 양자화/인코딩된다. 추가적으로, 예를 들어, 도 13a의 비트스트림 멀티플렉서(212)에 포워딩되고, 최종적으로 예측 정보로서 비트스트림에 입력되는 인코딩된 복소 α 값을 획득하기 위해, 양자화기/엔트로피 인코더(2072)에서 예측 정보 α를 양자화 및 인코딩하는 것이 유리하다.
α에 대한 양자화/코딩(Q/C) 모듈(2072)의 위치와 관련하여, 곱셈기들(2073 및 2074)은 디코더에서 또한 사용될 것과 정확하게 동일한(양자화된) α를 사용한다는 것을 주목한다. 따라서, 2072를 2071의 출력으로 직접 이동시키거나, 또는 α의 양자화가 2071에서의 최적화 프로세스에서 이미 고려되었다고 고려할 수 있다.
모든 정보가 이용가능하기 때문에, 인코더 측에서 복소 스펙트럼을 계산할 수 있지만, 도 14b에 예시된 디코더에 대해 유사한 조건들이 생성되도록 인코더의 블록(2070)에서 실수-복소 변환을 수행하는 것이 유리하다. 디코더는 제 1 조합 신호의 실수값 인코딩된 스펙트럼 및 인코딩된 잔여 신호의 실수값 스펙트럼 표현을 수신한다. 추가적으로, 인코딩된 복소 예측 정보는 108에서 획득되고, 1160b에서 예시된 실수부 αR 및 1160c에서 예시된 허수부 αI를 획득하기 위해, 블록(65)에서 엔트로피-디코딩 및 역양자화가 수행된다. 가중 엘리먼트들(1160b 및 1160c)에 의해 출력된 신호들은 디코딩되고 역양자화된 예측 잔여 신호에 추가된다. 특히, 복소 예측 팩터의 허수부가 가중 팩터로서 사용되는 가중화기(1160c)에 입력된 스펙트럼 값들은, 실수-허수 변환기(1160a)에 의해 실수값 스펙트럼 M으로부터 유도되고, 실수-허수 변환기(1160a)는 인코더 측에 관한 도 14a로부터 블록(2070)과 동일한 방식으로 구현된다. 디코더-측에서, 중간 신호 또는 사이드 신호의 복소값 표현은 이용가능하지 않고, 이는 인코더-측과 반대이다. 그 이유는, 비트 레이트들 및 복잡도 이유들로 인해, 오직 인코딩된 실수값 스펙트럼만이 인코더로부터 디코더에 송신되었기 때문이다.
실수-허수 변환기(1160a) 또는 도 14a의 대응하는 블록(2070)은 WO 2004/013839 A1 또는 WO 2008/014853 A1 또는 미국 특허 제 6,980,933 호에서 공표된 바와 같이 구현될 수 있다. 대안적으로, 본 기술분야에 공지된 임의의 다른 구현이 적용될 수 있다.
실시예들은, "문제 언급" 섹션에서 언급된 2개의 문제들을 최소화 또는 심지어 회피하기 위해 HE-AAC와 같은 오디오 코덱에서, 제안된 적응형 변환 커널 스위칭이 어떻게 유리하게 이용될 수 있는지를 추가로 나타낸다. 다음으로, 대략 90 도의 채널간 위상 시프트를 갖는 스테레오 신호들이 다뤄질 것이다. 여기서, MDST-IV 기반 코딩으로의 스위칭은 2개의 채널들 중 하나에서 이용될 수 있는 한편, 오래된 방식의 MDCT-IV 코딩이 다른 하나의 채널에서 사용될 수 있다. 대안적으로, 하나의 채널에서 MDCT-II 코딩이 사용되고 다른 하나의 채널에서 MDST-II 코딩이 사용될 수 있다. 코사인 및 사인 함수들이 서로에 대해 90도 위상 시프트된 변형들(cos(x) = sin(x + π/2))라고 가정하면, 입력 채널 스펙트럼들 사이의 대응하는 위상 시프트는 이러한 방식으로, 종래의 M/S 기반 조인트 스테레오 코딩을 통해 매우 효율적으로 코딩될 수 있는 0도 또는 180도 위상 시프트로 변환될 수 있다. 기존의 MDCT에 의해 준최적으로 코딩되는 고조파 신호들에 대한 이전 경우에서와 마찬가지로, 영향받는 채널에서는 중간적 전환 변환들이 유리할 수 있다.
두 경우들 모두에서, 대략 90°의 채널 간 위상 시프트를 갖는 고조파 신호들 및 스테레오 신호들의 경우, 인코더는 각각의 변환에 대해 4개의 커널들 중 하나를 선택한다(또한 도 7 참조). 본 발명의 변환 커널 스위칭을 적용하는 각각의 디코더는 신호를 적절히 재구성할 수 있도록 동일한 커널들을 사용할 수 있다. 이러한 디코더가 주어진 프레임에서 하나 이상의 역변환들에서 어떤 변환 커널을 사용할지를 알기 위해서, 변환 커널의 선택 또는 대안적으로 좌측 및 우측 대칭을 설명하는 사이드-정보는 각각의 프레임에 대해 적어도 한번 대응하는 인코더에 의해 송신되어야 한다. 다음 섹션은 MPEG-H 3D 오디오 코덱으로의 고안된 통합(즉, 그에 대한 개정)을 설명한다.
추가적인 실시예들은 오디오 코딩에 관한 것으로, 특히, 수정된 이산 코사인 변환(MDCT)과 같은 랩핑된 변환들을 이용한 낮은 레이트의 지각 오디오 코딩에 관한 것이다. 실시예들은 MDCT 코딩 원리를 3개의 다른 유사한 변환들을 포함하도록 일반화함으로써 종래의 변환 코딩에 관한 2개의 문제들과 관련된다. 실시예들은 각각의 코딩된 채널 또는 프레임에서의 이러한 4개의 변환 커널들 사이의 또는 각각의 코딩된 채널 또는 프레임에서의 각각의 변환에 대해 개별적으로 신호 및 콘텍스트 적응형 스위칭을 추가로 나타낸다. 대응하는 디코더에 커널 선택을 시그널링하기 위해, 각각의 사이드 정보는 코딩된 비트스트림에서 송신될 수 있다.
도 15는 인코딩된 오디오 신호를 디코딩하는 방법(1500)의 개략적인 블록도를 도시한다. 방법(1500)은, 스펙트럼 값들의 연속적인 블록들을 시간 값들의 중첩하는 연속적인 블록들로 변환하는 단계(1505), 디코딩된 오디오 값들을 획득하기 위해 시간 값들의 연속적인 블록들을 중첩 및 가산하는 단계(1510), 및 제어 정보를 수신하고, 제어 정보에 대한 응답으로 그리고 변환에서, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 제 2 그룹의 변환 커널들 사이에서 스위칭하는 단계(1515)를 포함한다.
도 16은 오디오 신호를 인코딩하는 방법(1600)의 개략적인 블록도를 도시한다. 방법(1600)은, 시간 값들의 중첩하는 블록들을 스펙트럼 값들의 연속적인 블록들로 변환하는 단계(1605), 변환 커널들의 제 1 그룹의 변환 커널들과 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하기 위해 시간-스펙트럼 변환을 제어하는 단계(1610), 및 제어 정보를 수신하고, 제어 정보에 대한 응답으로 그리고 변환에서, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하는 단계(1615)를 포함한다.
본 명세서에서, 라인들 상의 신호들은 때때로 라인들에 대한 참조 번호들에 의해 명명되거나 또는 때때로 라인들에 기인한 참조 번호들 자체에 의해 표시되는 것을 이해해야 한다. 따라서 표기법은, 특정 신호를 갖는 라인이 신호 자체를 표시하고 있도록 한다. 라인은 하드와이어형 구현에서 물리적 라인일 수 있다. 그러나, 컴퓨터화된 구현에서는, 물리적 라인이 존재하는 것이 아니라, 라인에 의해 표현되는 신호가 하나의 계산 모듈로부터 다른 계산 모듈로 송신된다.
본 발명은 블록들이 실제 또는 논리적 하드웨어 컴포넌트들을 표현하는 블록도들의 상황에서 설명되었지만, 본 발명은 또한 컴퓨터 구현 방법에 의해 구현될 수 있다. 후자의 경우, 블록들은 대응하는 방법 단계들을 표현하고, 이러한 단계들은 대응하는 논리적 또는 물리적 하드웨어 블록들에 의해 수행되는 기능들을 나타낸다.
일부 양상들은 장치의 상황에서 설명되었지만, 이러한 양상들은 또한 대응하는 방법의 설명을 표현하는 것이 명백하며, 여기서 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법의 상황에서 설명되는 양상들은 또한 대응하는 장치의 블록 또는 아이템 또는 특징의 설명을 표현한다. 방법 단계들의 일부 또는 전부는, 예를 들어, 마이크로프로세서, 프로그래밍가능 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이를 사용하여) 실행될 수 있다. 일부 실시예들에서, 가장 중요한 방법 단계들 중 일부의 하나 또는 몇몇은 이러한 장치에 의해 실행될 수 있다.
본 발명의 송신된 또는 인코딩된 신호는 디지털 저장 매체에 저장될 수 있거나 또는 무선 송신 매체 또는 유선 송신 매체, 예를 들어 인터넷과 같은 송신 매체를 통해 송신될 수 있다.
특정한 구현 요건들에 따라, 본 발명의 실시예들은 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은, 각각의 방법이 수행되도록 프로그래밍가능 컴퓨터 시스템과 협력하는(또는 협력할 수 있는), 전자적으로 판독가능한 제어 신호들을 저장하는 디지털 저장 매체, 예를 들어, 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리를 사용하여 수행될 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독가능일 수 있다.
본 발명에 따른 일부 실시예들은, 본원에서 설명되는 방법들 중 하나가 수행되도록 프로그래밍가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 물건으로서 구현될 수 있고, 프로그램 코드는, 컴퓨터 프로그램 물건이 컴퓨터 상에서 실행되는 경우 본 방법들 중 하나를 수행하도록 동작한다. 프로그램 코드는 예를 들어, 머신-판독가능 캐리어 상에 저장될 수 있다.
다른 실시예들은, 본원에서 설명되는 방법들 중 하나를 수행하기 위한, 머신 판독가능 캐리어 상에 저장되는 컴퓨터 프로그램을 포함한다.
따라서, 달리 말하면, 본 발명의 방법의 일 실시예는, 컴퓨터 프로그램이 컴퓨터 상에서 실행되는 경우, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 포함되고 기록되는 데이터 캐리어(예를 들어, 디지털 저장 매체 또는 컴퓨터 판독가능 매체와 같은 비일시적 저장 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록된 매체는 통상적으로 유형(tangible)이고 그리고/또는 비일시적이다.
따라서, 본 발명의 방법의 추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 표현하는 신호들의 시퀀스 또는 데이터 스트림이다. 예를 들어, 신호들의 시퀀스 또는 데이터 스트림은, 예를 들어, 인터넷을 통해, 데이터 통신 접속을 통해 전송되도록 구성될 수 있다.
추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하도록 구성 또는 적응되는 프로세싱 수단, 예를 들어, 컴퓨터 또는 프로그래밍가능 로직 디바이스를 포함한다.
추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가적인 실시예는, 본원에서 설명되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에 (예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성되는 장치 또는 시스템을 포함한다. 수신기는, 예를 들어, 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수 있다. 장치 또는 시스템은, 예를 들어, 컴퓨터 프로그램을 수신기에 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시예들에서, 프로그래밍가능 로직 디바이스(예를 들어, 필드 프로그래밍가능 게이트 어레이)는 본원에서 설명되는 방법들의 기능들 중 일부 또는 전부를 수행하기 위해 사용될 수 있다. 일부 실시예들에서, 필드 프로그래밍가능 게이트 어레이는, 본원에서 정의되는 방법들 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 임의의 하드웨어 장치에 의해 바람직하게 수행된다.
앞서 설명된 실시예들은, 본 발명의 원리들에 대해 단지 예시적이다. 본원에서 설명되는 배열들 및 세부사항들의 변형들 및 변화들이 당업자들에게 자명할 것이 이해된다. 따라서, 본 발명은 후속 특허 청구항들의 범주에 의해서만 제한되며, 본원의 실시예들의 서술 및 설명의 방식으로 제시되는 특정 세부사항들에 의해서는 제한되지 않도록 의도된다.
참조문헌들
[1] H. S. Malvar, Signal Processing with Lapped Transforms, Norwood: Artech House, 1992.
[2] J. P. Princen and A. B. Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation," IEEE Trans. Acoustics, Speech, and Signal Proc., 1986.
[3] J. P. Princen, A. W. Johnson, and A. B. Bradley, "Subband/transform coding using filter bank design based on time domain aliasing cancellation," in IEEE ICASSP, vol. 12, 1987.
[4] H. S. Malvar, "Lapped Transforms for Efficient Transform/Subband Coding," IEEE Trans. Acoustics, Speech, and Signal Proc., 1990.
[5] http://en.wikipedia.org/wiki/Modifieddiscretecosinetransform

Claims (24)

  1. 인코딩된 오디오 신호(4)를 디코딩하기 위한 디코더(2)로서,
    스펙트럼 값들(4', 4'')의 연속적인 블록들을 시간 값들(10)의 연속적인 블록들로 변환하기 위한 적응형 스펙트럼-시간 변환기(6); 및
    디코딩된 오디오 값들(14)을 획득하기 위해 상기 시간 값들(10)의 연속적인 블록들을 중첩 및 가산하는 중첩-가산 프로세서(8)를 포함하고,
    상기 적응형 스펙트럼-시간 변환기(6)는, 제어 정보(12)를 수신하고, 상기 제어 정보에 대한 응답으로, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하도록 구성되는,
    디코더(2).
  2. 제 1 항에 있어서,
    상기 변환 커널들의 제 1 그룹은, 상기 커널의 좌측에서 홀수 대칭 및 우측에서 짝수 대칭을 갖는, 또는 그 반대인 하나 이상의 변환 커널들을 갖거나, 또는 상기 변환 커널들의 제 2 그룹은, 상기 커널의 양측에서 짝수 대칭 또는 양측에서 홀수 대칭을 갖는 하나 이상의 변환 커널들을 갖는,
    디코더(2).
  3. 제 1 항에 있어서,
    상기 변환 커널들의 제 1 그룹은 MDCT-IV 역변환 커널 또는 MDST-IV 역변환 커널을 포함하거나, 또는 상기 변환 커널들의 제 2 그룹은 MDCT-II 역변환 커널 또는 MDST-II 역변환 커널을 포함하는,
    디코더(2).
  4. 제 1 항에 있어서,
    상기 제 1 그룹 및 상기 제 2 그룹의 변환 커널은,
    Figure pct00016

    에 기초하고,
    상기 제 1 그룹의 적어도 하나의 변환 커널은 파라미터들,
    cs( ) = cos( ) 및 k0 = 0.5 또는
    cs( ) = sin( ) 및 k0 = 0.5
    에 기초하거나, 또는
    상기 제 2 그룹의 적어도 하나의 변환 커널은 파라미터들,
    cs( ) = cos( ) 및 k0 = 0 또는
    cs( ) = sin( ) 및 k0 = 1
    에 기초하고,
    xi,n은 시간 도메인 출력이고, C는 상수 파라미터이고, N은 시간-윈도우 길이이고, spec은 블록에 대해 M개의 값들을 갖는 스펙트럼 값들이고, M은 N/2와 동일하고, i는 시간 블록 인덱스이고, k는 스펙트럼 값들을 표시하는 스펙트럼 인덱스이고, n은 블록 i에서 시간 값을 표시하는 시간 인덱스이고, no는 정수 또는 제로인 상수 파라미터인,
    디코더(2).
  5. 제 1 항에 있어서,
    상기 제어 정보(12)는 현재 프레임에 대한 현재 대칭을 표시하는 현재 비트를 포함하고,
    상기 적응형 스펙트럼-시간 변환기(6)는, 상기 현재 비트가 선행 프레임에서 사용된 것과 동일한 대칭을 표시하는 경우, 상기 제 1 그룹으로부터 상기 제 2 그룹으로 스위칭하지 않도록 구성되고,
    상기 적응형 스펙트럼-시간 변환기는, 상기 현재 비트가 상기 선행 프레임에서 사용된 것과 상이한 대칭을 표시하는 경우, 상기 제 1 그룹으로부터 상기 제 2 그룹으로 스위칭하도록 구성되는,
    디코더(2).
  6. 제 1 항에 있어서,
    상기 적응형 스펙트럼-시간 변환기(6)는, 현재 프레임에 대한 현재 대칭을 표시하는 현재 비트가 상기 선행 프레임에서 사용된 것과 동일한 대칭을 표시하는 경우 상기 제 2 그룹을 상기 제 1 그룹으로 스위칭하도록 구성되고,
    상기 적응형 스펙트럼-시간 변환기(6)는, 상기 현재 프레임에 대한 현재 대칭을 표시하는 상기 현재 비트가 상기 선행 프레임에서 사용된 것과 상이한 대칭을 표시하는 경우 상기 제 2 그룹으로부터 상기 제 1 그룹으로 스위칭하지 않도록 구성되는,
    디코더(2).
  7. 제 1 항에 있어서,
    상기 적응형 스펙트럼-시간 변환기(6)는 상기 현재 프레임에 대한 제어 데이터 섹션에서 인코딩된 오디오 신호로부터 이전 프레임에 대한 제어 정보(12) 및 상기 이전 프레임에 후속하는 현재 프레임에 대한 제어 정보(12)를 인코딩된 오디오 신호(4)로부터 판독하도록 구성되거나, 또는
    상기 적응형 스펙트럼-시간 변환기(6)는 상기 현재 프레임에 대한 제어 데이터 섹션으로부터 상기 제어 정보(12)를 판독하고, 상기 이전 프레임의 제어 데이터 섹션으로부터 또는 상기 이전 프레임에 적용된 디코더 세팅으로부터 상기 이전 프레임에 대한 제어 정보(12)를 검색하도록 구성되는,
    디코더(2).
  8. 제 1 항에 있어서,
    상기 적응형 스펙트럼-시간 변환기(6)는 하기 표
    Figure pct00017

    에 기초하여 상기 변환 커널을 적용하도록 구성되고,
    symmi는 인덱스 i에서의 현재 프레임에 대한 제어 정보이고, symmi-1은 인덱스 i-1에서의 이전 프레임에 대한 제어 정보인,
    디코더(2).
  9. 제 1 항에 있어서,
    제 1 및 제 2 멀티 채널을 표현하는 스펙트럼 값들의 블록들을 수신하고, 조인트 멀티 채널 프로세싱 기술에 따라, 상기 제 1 멀티 채널 및 상기 제 2 멀티 채널에 대한 스펙트럼 값들의 프로세싱된 블록들을 획득하기 위해, 수신된 블록들을 프로세싱하기 위한 멀티 채널 프로세서(40)를 더 포함하고, 상기 적응형 스펙트럼-시간 프로세서(6)는 상기 제 1 멀티 채널에 대한 제어 정보를 사용하여 상기 제 1 멀티 채널에 대한 프로세싱된 블록들을 프로세싱하고, 상기 제 2 멀티 채널에 대한 제어 정보를 사용하여 상기 제 2 멀티 채널에 대한 프로세싱된 블록들을 프로세싱하도록 구성되는,
    디코더(2).
  10. 제 9 항에 있어서,
    상기 멀티 채널 프로세서는 상기 제 1 및 상기 제 2 멀티 채널을 표현하는 스펙트럼 값들의 블록들과 연관된 복소 예측 제어 정보를 사용하여 복소 예측을 적용하도록 구성되는,
    디코더(2).
  11. 제 9 항에 있어서,
    상기 멀티 채널 프로세서는 상기 조인트 멀티 채널 프로세싱 기술에 따라, 상기 수신된 블록들을 프로세싱하도록 구성되고, 상기 수신된 블록들은 상기 제 1 멀티 채널의 표현 및 상기 제 2 멀티 채널의 표현의 인코딩된 잔여 신호를 포함하고, 상기 멀티 채널 프로세서는 상기 잔여 신호 및 추가적인 인코딩된 신호를 사용하여 상기 제 1 멀티 채널 신호 및 상기 제 2 멀티 채널 신호를 계산하도록 구성되는,
    디코더(2).
  12. 오디오 신호(24)를 인코딩하기 위한 인코더(22)로서,
    시간 값들(30)의 중첩하는 블록들을 스펙트럼 값들(4', 4'')의 연속적인 블록들로 변환하기 위한 적응형 시간-스펙트럼 변환기; 및
    변환 커널들의 제 1 그룹의 변환 커널들과 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하도록 시간-스펙트럼 변환기를 제어하기 위한 제어기(28)를 포함하고,
    상기 적응형 시간-스펙트럼 변환기는, 제어 정보(12)를 수신하고, 상기 제어 정보에 대한 응답으로, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하도록 구성되는,
    인코더(22).
  13. 제 12 항에 있어서,
    현재 프레임에 대해, 상기 현재 프레임을 생성하기 위해 사용되는 변환 커널의 대칭을 표시하는 제어 정보(12)를 갖도록 인코딩된 오디오 신호(4)를 생성하기 위한 출력 인터페이스(32)를 더 포함하는,
    인코더(22).
  14. 제 12 항에 있어서,
    상기 출력 인터페이스(32)는, 상기 현재 프레임이 독립적인 프레임이거나, 또는 상기 현재 프레임이 종속적인 프레임인 경우 상기 현재 프레임의 제어 데이터 섹션에 오직 상기 현재 프레임에 대한 대칭 정보만을 포함하고 어떠한 이전 프레임에 대한 대칭 정보도 포함하지 않는 경우, 상기 현재 프레임 및 상기 이전 프레임에 대한 대칭 정보를 상기 현재 프레임의 제어 데이터 섹션에 포함시키도록 구성되는,
    인코더(22).
  15. 제 12 항에 있어서,
    상기 변환 커널들의 제 1 그룹은, 좌측에서 홀수 대칭 및 우측에서 짝수 대칭을 갖는, 또는 그 반대인 하나 이상의 변환 커널들을 갖거나, 또는 상기 변환 커널들의 제 2 그룹은, 양측에서 짝수 대칭 또는 양측에서 홀수 대칭을 갖는 하나 이상의 변환 커널들을 갖는,
    인코더(22).
  16. 제 12 항에 있어서,
    상기 변환 커널들의 제 1 그룹은 MDCT-IV 변환 커널 또는 MDST-IV 변환 커널을 포함하거나, 또는 상기 변환 커널들의 제 2 그룹은 MDCT-II 변환 커널 또는 MDST-II 변환 커널을 포함하는,
    인코더(22).
  17. 제 12 항에 있어서,
    상기 제어기(28)는, MDCT-IV 또는 MDST-II가 MDCT-IV에 후속되어야 하거나, 또는 MDST-IV 또는 MDCT-II가 MDST-IV에 후속되어야 하거나, 또는 MDCT-IV 또는 MDST-II가 MDCT-II에 후속되어야 하거나, 또는 MDST-IV 또는 MDCT-II가 MDST-II에 후속되어야 하도록 구성되는,
    인코더(22).
  18. 제 12 항에 있어서,
    상기 제어기(28)는, 제 1 채널의 프레임 및 제 2 채널의 대응하는 프레임에 대한 변환 커널을 결정하기 위해, 상기 제 1 채널 및 상기 제 2 채널을 갖는 시간 값들(30)의 중첩하는 블록들을 분석하도록 구성되는,
    인코더(22).
  19. 제 12 항에 있어서,
    상기 시간-스펙트럼 변환기(26)는 멀티 채널 신호의 제 1 채널 및 제 2 채널을 프로세싱하도록 구성되고, 상기 인코더(22)는, 스펙트럼 값들의 프로세싱된 블록들을 획득하기 위해 조인트 멀티 채널 프로세싱 기술을 사용하여 상기 제 1 채널 및 상기 제 2 채널의 스펙트럼 값들의 연속적인 블록들을 프로세싱하기 위한 멀티 채널 프로세서(40), 및 인코딩된 채널들을 획득하기 위해 스펙트럼 값들의 프로세싱된 블록들을 프로세싱하기 위한 인코딩 프로세서(46)를 더 포함하는,
    인코더(22).
  20. 제 12 항에 있어서,
    상기 스펙트럼 값들의 제 1 프로세싱된 블록들은 상기 조인트 멀티 채널 프로세싱 기술의 제 1 인코딩된 표현을 표현하고, 상기 스펙트럼 값들의 제 2 프로세싱된 블록들은 상기 조인트 멀티 채널 프로세싱 기술의 제 2 인코딩된 표현을 표현하고, 상기 인코딩 프로세서(46)는 제 1 인코딩된 표현을 형성하기 위해 양자화 및 엔트로피 인코딩을 사용하여 상기 제 1 프로세싱된 블록들을 프로세싱하도록 구성되고, 상기 인코딩 프로세서(46)는 제 2 인코딩된 표현을 형성하기 위해 양자화 및 엔트로피 인코딩을 사용하여 상기 제 2 프로세싱된 블록들을 프로세싱하도록 구성되고, 인코딩 프로세서는 상기 제 1 인코딩된 표현 및 상기 제 2 인코딩된 표현을 사용하여, 상기 인코딩된 오디오 신호의 비트스트림을 형성하도록 구성되는,
    인코더(22).
  21. 인코딩된 오디오 신호를 디코딩하기 위한 방법(1500)으로서,
    스펙트럼 값들의 연속적인 블록들을 시간 값들의 연속적인 블록들로 변환하는 단계; 및
    디코딩된 오디오 값들을 획득하기 위해 시간 값들의 연속적인 블록들을 중첩 및 가산하는 단계,
    제어 정보를 수신하고, 상기 제어 정보에 대한 응답으로 그리고 변환에서, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하는 단계를 포함하는,
    방법(1500).
  22. 오디오 신호를 인코딩하기 위한 방법(1600)으로서,
    시간 값들의 중첩하는 블록들을 스펙트럼 값들의 연속적인 블록들로 변환하는 단계; 및
    변환 커널들의 제 1 그룹의 변환 커널들과 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하기 위해 시간-스펙트럼 변환을 제어하는 단계,
    제어 정보를 수신하고, 상기 제어 정보에 대한 응답으로 그리고 변환에서, 커널의 측면들에서 상이한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 1 그룹 및 변환 커널의 측면들에서 동일한 대칭구조들을 갖는 하나 이상의 변환 커널들을 포함하는 변환 커널들의 제 2 그룹의 변환 커널들 사이에서 스위칭하는 단계를 포함하는,
    방법(1600).
  23. 컴퓨터 또는 프로세서 상에서 실행되는 경우, 제 21 항 또는 제 22 항의 방법들을 수행하기 위한 컴퓨터 프로그램.
  24. 제 1 항, 제 12 항, 제 21 항, 제 22 항 또는 제 23 항 중 어느 한 항의, 장치, 방법 또는 컴퓨터 프로그램으로서, 멀티 채널 프로세싱은 둘보다 많은 채널들의 조인트 스테레오 프로세싱 또는 조인트 프로세싱을 의미하고, 멀티 채널 신호는 2개의 채널들 또는 둘보다 많은 채널들을 갖는, 장치, 방법 또는 컴퓨터 프로그램.
KR1020177028552A 2015-03-09 2016-03-08 인코딩된 오디오 신호를 디코딩하기 위한 디코더 및 오디오 신호를 인코딩하기 위한 인코더 KR102101266B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP15158236 2015-03-09
EP15158236.8 2015-03-09
EP15172542.1 2015-06-17
EP15172542.1A EP3067889A1 (en) 2015-03-09 2015-06-17 Method and apparatus for signal-adaptive transform kernel switching in audio coding
PCT/EP2016/054902 WO2016142376A1 (en) 2015-03-09 2016-03-08 Decoder for decoding an encoded audio signal and encoder for encoding an audio signal

Publications (2)

Publication Number Publication Date
KR20170133378A true KR20170133378A (ko) 2017-12-05
KR102101266B1 KR102101266B1 (ko) 2020-05-15

Family

ID=52692422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177028552A KR102101266B1 (ko) 2015-03-09 2016-03-08 인코딩된 오디오 신호를 디코딩하기 위한 디코더 및 오디오 신호를 인코딩하기 위한 인코더

Country Status (15)

Country Link
US (5) US10236008B2 (ko)
EP (3) EP3067889A1 (ko)
JP (3) JP6728209B2 (ko)
KR (1) KR102101266B1 (ko)
CN (2) CN107592938B (ko)
AR (1) AR103859A1 (ko)
AU (1) AU2016231239B2 (ko)
CA (1) CA2978821C (ko)
ES (1) ES2950286T3 (ko)
MX (1) MX2017011185A (ko)
PL (1) PL3268962T3 (ko)
RU (1) RU2691231C2 (ko)
SG (1) SG11201707347PA (ko)
TW (1) TWI590233B (ko)
WO (1) WO2016142376A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020004883A1 (ko) * 2018-06-25 2020-01-02 네이버 주식회사 오디오 병렬 트랜스코딩을 위한 방법 및 시스템

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112019009318A2 (pt) * 2016-11-08 2019-07-30 Fraunhofer Ges Forschung aparelho e método para codificar ou decodificar um sinal multicanal com o uso de um ganho lateral e um ganho residual
US10224045B2 (en) 2017-05-11 2019-03-05 Qualcomm Incorporated Stereo parameters for stereo decoding
US10839814B2 (en) * 2017-10-05 2020-11-17 Qualcomm Incorporated Encoding or decoding of audio signals
US10535357B2 (en) * 2017-10-05 2020-01-14 Qualcomm Incorporated Encoding or decoding of audio signals
EP3588495A1 (en) 2018-06-22 2020-01-01 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Multichannel audio coding
CN115132214A (zh) 2018-06-29 2022-09-30 华为技术有限公司 立体声信号的编码、解码方法、编码装置和解码装置
MX2020014077A (es) * 2018-07-04 2021-03-09 Fraunhofer Ges Forschung Codificador multise?al, decodificador multise?al, y metodos relacionados que utilizan blanqueado de se?al o post procesamiento de se?al.
TWI681384B (zh) * 2018-08-01 2020-01-01 瑞昱半導體股份有限公司 音訊處理方法與音訊等化器
CN110830884B (zh) * 2018-08-08 2021-06-25 瑞昱半导体股份有限公司 音频处理方法与音频均衡器
US11031024B2 (en) * 2019-03-14 2021-06-08 Boomcloud 360, Inc. Spatially aware multiband compression system with priority
US11032644B2 (en) * 2019-10-10 2021-06-08 Boomcloud 360, Inc. Subband spatial and crosstalk processing using spectrally orthogonal audio components
CN110855673B (zh) * 2019-11-15 2021-08-24 成都威爱新经济技术研究院有限公司 一种复杂多媒体数据传输及处理方法
KR20220018271A (ko) * 2020-08-06 2022-02-15 라인플러스 주식회사 딥러닝을 이용한 시간 및 주파수 분석 기반의 노이즈 제거 방법 및 장치
WO2022177481A1 (en) * 2021-02-18 2022-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding complex data
CN113314130B (zh) * 2021-05-07 2022-05-13 武汉大学 一种基于频谱搬移的音频对象编解码方法
CN116032901A (zh) * 2022-12-30 2023-04-28 北京天兵科技有限公司 多路音频数据信号采编方法、装置、系统、介质和设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394473A (en) * 1990-04-12 1995-02-28 Dolby Laboratories Licensing Corporation Adaptive-block-length, adaptive-transforn, and adaptive-window transform coder, decoder, and encoder/decoder for high-quality audio

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2680924B1 (fr) 1991-09-03 1997-06-06 France Telecom Procede de filtrage adapte d'un signal transforme en sous-bandes, et dispositif de filtrage correspondant.
JP2642546B2 (ja) * 1991-10-15 1997-08-20 沖電気工業株式会社 視覚特性の算出方法
US5890106A (en) 1996-03-19 1999-03-30 Dolby Laboratories Licensing Corporation Analysis-/synthesis-filtering system with efficient oddly-stacked singleband filter bank using time-domain aliasing cancellation
US6199039B1 (en) * 1998-08-03 2001-03-06 National Science Council Synthesis subband filter in MPEG-II audio decoding
SE9903553D0 (sv) * 1999-01-27 1999-10-01 Lars Liljeryd Enhancing percepptual performance of SBR and related coding methods by adaptive noise addition (ANA) and noise substitution limiting (NSL)
US6496795B1 (en) 1999-05-05 2002-12-17 Microsoft Corporation Modulated complex lapped transform for integrated signal enhancement and coding
SE0004818D0 (sv) 2000-12-22 2000-12-22 Coding Technologies Sweden Ab Enhancing source coding systems by adaptive transposition
US6963842B2 (en) * 2001-09-05 2005-11-08 Creative Technology Ltd. Efficient system and method for converting between different transform-domain signal representations
US7006699B2 (en) 2002-03-27 2006-02-28 Microsoft Corporation System and method for progressively transforming and coding digital data
US20030187528A1 (en) 2002-04-02 2003-10-02 Ke-Chiang Chu Efficient implementation of audio special effects
DE10234130B3 (de) 2002-07-26 2004-02-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer komplexen Spektraldarstellung eines zeitdiskreten Signals
DE60303689T2 (de) 2002-09-19 2006-10-19 Matsushita Electric Industrial Co., Ltd., Kadoma Audiodecodierungsvorrichtung und -verfahren
WO2005043511A1 (en) 2003-10-30 2005-05-12 Koninklijke Philips Electronics N.V. Audio signal encoding or decoding
US6980933B2 (en) 2004-01-27 2005-12-27 Dolby Laboratories Licensing Corporation Coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients
US20050265445A1 (en) 2004-06-01 2005-12-01 Jun Xin Transcoding videos based on different transformation kernels
CN101025919B (zh) * 2006-02-22 2011-04-20 上海奇码数字信息有限公司 音频解码中的合成子带滤波方法和合成子带滤波器
DE102006047197B3 (de) 2006-07-31 2008-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines reellen Subband-Signals zur Reduktion von Aliasing-Effekten
EP2015293A1 (en) 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
RU2451998C2 (ru) * 2007-09-19 2012-05-27 Квэлкомм Инкорпорейтед Эффективный способ проектирования набора фильтров для mdct/imdct в приложениях для кодирования речи и аудиосигналов
WO2009100021A2 (en) * 2008-02-01 2009-08-13 Lehigh University Bilinear algorithms and vlsi implementations of forward and inverse mdct with applications to mp3 audio
MX2011000375A (es) * 2008-07-11 2011-05-19 Fraunhofer Ges Forschung Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada.
EP2144171B1 (en) * 2008-07-11 2018-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding and decoding frames of a sampled audio signal
ES2657393T3 (es) * 2008-07-11 2018-03-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador y descodificador de audio para codificar y descodificar muestras de audio
CN101751926B (zh) * 2008-12-10 2012-07-04 华为技术有限公司 信号编码、解码方法及装置、编解码系统
JP5597968B2 (ja) 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
EP2375409A1 (en) * 2010-04-09 2011-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction
US9378745B2 (en) * 2010-04-09 2016-06-28 Dolby International Ab MDCT-based complex prediction stereo coding
PL3779979T3 (pl) * 2010-04-13 2024-01-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sposób dekodowania audio do przetwarzania sygnałów audio stereo z wykorzystaniem zmiennego kierunku predykcji
CN103119648B (zh) * 2010-09-22 2015-06-17 杜比实验室特许公司 用于音频编码系统中的去相关和其他应用的相移滤波的有效实现方式
MX350686B (es) 2012-01-20 2017-09-13 Fraunhofer Ges Forschung Aparato y método para la codificación y decodificación de audio que emplea sustitución sinusoidal.
GB2509055B (en) 2012-12-11 2016-03-23 Gurulogic Microsystems Oy Encoder and method
JP6089878B2 (ja) * 2013-03-28 2017-03-08 富士通株式会社 直交変換装置、直交変換方法及び直交変換用コンピュータプログラムならびにオーディオ復号装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394473A (en) * 1990-04-12 1995-02-28 Dolby Laboratories Licensing Corporation Adaptive-block-length, adaptive-transforn, and adaptive-window transform coder, decoder, and encoder/decoder for high-quality audio

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ISO/IEC FDIS 23003-3:2011(E), Information technology - MPEG audio technologies - Part 3: Unified speech and audio coding. ISO/IEC JTC 1/SC 29/WG 11. 2011.09.20. *
Max Neuendorf, et al. MPEG unified speech and audio coding-the ISO/MPEG standard for high-efficiency audio coding of all content types. Audio Engineering Society Convention 132. 2012.04.29.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020004883A1 (ko) * 2018-06-25 2020-01-02 네이버 주식회사 오디오 병렬 트랜스코딩을 위한 방법 및 시스템
US11437052B2 (en) 2018-06-25 2022-09-06 Naver Corporation Method and system for parallel audio transcoding

Also Published As

Publication number Publication date
AU2016231239B2 (en) 2019-01-17
CN112786061B (zh) 2024-05-07
RU2691231C2 (ru) 2019-06-11
CA2978821A1 (en) 2016-09-15
BR112017019179A2 (pt) 2018-04-24
US11335354B2 (en) 2022-05-17
CN112786061A (zh) 2021-05-11
US11854559B2 (en) 2023-12-26
EP3268962A1 (en) 2018-01-17
SG11201707347PA (en) 2017-10-30
US20240096336A1 (en) 2024-03-21
US20190172473A1 (en) 2019-06-06
JP7126328B2 (ja) 2022-08-26
AR103859A1 (es) 2017-06-07
TW201701271A (zh) 2017-01-01
JP6728209B2 (ja) 2020-07-22
TWI590233B (zh) 2017-07-01
EP4235656A2 (en) 2023-08-30
CN107592938A (zh) 2018-01-16
KR102101266B1 (ko) 2020-05-15
JP2018511826A (ja) 2018-04-26
US20220238125A1 (en) 2022-07-28
MX2017011185A (es) 2018-03-28
JP2020184083A (ja) 2020-11-12
US20200372923A1 (en) 2020-11-26
AU2016231239A1 (en) 2017-09-28
ES2950286T3 (es) 2023-10-06
US10706864B2 (en) 2020-07-07
EP4235656A3 (en) 2023-10-11
CN107592938B (zh) 2021-02-02
RU2017134619A3 (ko) 2019-04-04
CA2978821C (en) 2020-08-18
PL3268962T3 (pl) 2023-10-23
EP3268962C0 (en) 2023-06-14
RU2017134619A (ru) 2019-04-04
US10236008B2 (en) 2019-03-19
WO2016142376A1 (en) 2016-09-15
EP3268962B1 (en) 2023-06-14
US20170365266A1 (en) 2017-12-21
EP3067889A1 (en) 2016-09-14
JP2022174061A (ja) 2022-11-22

Similar Documents

Publication Publication Date Title
JP7126328B2 (ja) 符号化されたオーディオ信号を復号するためのデコーダおよびオーディオ信号を符号化するためのエンコーダ
KR102151719B1 (ko) 다채널 신호를 인코딩하기 위한 오디오 인코더 및 인코딩된 오디오 신호를 디코딩하기 위한 오디오 디코더
AU2011238010B2 (en) Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction
CA2796292C (en) Audio or video encoder, audio or video decoder and related methods for processing multi-channel audio or video signals using a variable prediction direction
JP2016507788A (ja) 過渡位置依存のオーバーラップを使用してオーディオ信号を符号化又は復号化する装置及び方法
BR112017019179B1 (pt) Decodificador para decodificar um sinal de áudio codificado e codificador para codificar um sinal de áudio

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant