KR102241915B1 - 다채널 코딩에서 스테레오 채움을 위한 장치 및 방법 - Google Patents

다채널 코딩에서 스테레오 채움을 위한 장치 및 방법 Download PDF

Info

Publication number
KR102241915B1
KR102241915B1 KR1020187026841A KR20187026841A KR102241915B1 KR 102241915 B1 KR102241915 B1 KR 102241915B1 KR 1020187026841 A KR1020187026841 A KR 1020187026841A KR 20187026841 A KR20187026841 A KR 20187026841A KR 102241915 B1 KR102241915 B1 KR 102241915B1
Authority
KR
South Korea
Prior art keywords
channel
channels
decoded
audio output
pair
Prior art date
Application number
KR1020187026841A
Other languages
English (en)
Other versions
KR20180136440A (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 KR20180136440A publication Critical patent/KR20180136440A/ko
Application granted granted Critical
Publication of KR102241915B1 publication Critical patent/KR102241915B1/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/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
    • G10L19/028Noise substitution, i.e. substituting non-tonal spectral components by noisy source
    • 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
    • G10L19/035Scalar quantisation

Landscapes

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

Abstract

3개 또는 그보다 많은 현재 오디오 출력 채널들을 얻기 위해 현재 프레임의 인코딩된 다채널 신호를 디코딩하기 위한 장치가 제공된다. 다채널 프로세서는 제1 다채널 파라미터들에 따라 3개 또는 그보다 많은 디코딩된 채널들로부터 2개의 디코딩된 채널들을 선택하도록 적응된다. 더욱이, 다채널 프로세서는 상기 선택된 채널들에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하도록 적응된다. 잡음 채움 모듈은 선택된 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들을 식별하고, 부가 정보에 따라, 디코딩된 3개 또는 그보다 많은 이전 오디오 출력 채널들의 적절한 서브세트를 사용하여 믹싱 채널을 생성하고, 그리고 모든 스펙트럼 라인들이 0으로 양자화되는 주파수 대역들의 스펙트럼 라인들을 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우도록 적응된다.

Description

다채널 코딩에서 스테레오 채움을 위한 장치 및 방법
본 발명은 오디오 신호 코딩에 관한 것으로, 특히 다채널 코딩에서 스테레오 채움(stereo filling)을 위한 장치 및 방법에 관한 것이다.
오디오 코딩은 오디오 신호들에서 중복성 및 부적절함의 활용을 다루는 압축 영역이다.
MPEG USAC(예컨대, [3] 참조)에서, 두 채널들의 공동 스테레오 코딩은 복소 예측, MPS 2-1-2 또는 대역 제한 또는 전대역 잔차 신호들에 의한 통합 스테레오를 사용하여 수행된다. MPEG 서라운드(예컨대, [4] 참조)는 잔차 신호들을 송신하거나 송신하지 않고 다채널 오디오의 공동 코딩을 위해 OTT(One-To-Two) 및 TTT(Two-To-Three) 박스들을 계층적으로 결합한다.
MPEG-H에서, 쿼드 채널 엘리먼트들은 MPS 2-1-2 스테레오 박스들을 계층적으로 적용한 다음 고정 4×4 리믹싱 트리를 구축하는 복소 예측/MS 스테레오 박스들을 적용한다(예컨대, [1] 참조).
AC4(예컨대, [6] 참조)는 송신된 믹스 행렬 및 후속 공동 스테레오 코딩 정보를 통해 송신된 채널들의 리믹싱을 가능하게 하는 새로운 3-, 4- 및 5-채널 엘리먼트들을 소개한다. 또한, 종래의 공보들은 개선된 다채널 오디오 코딩을 위해 카루넨 루베 변환(KLT: Karhunen-Loeve Transform)과 같은 직교 변환들을 사용하는 것을 제안한다(예컨대, [7] 참조).
예를 들어, 3D 오디오 콘텍스트에서, 라우드스피커 채널들은 여러 높이의 레이어들로 분산되어, 수평 및 수직 채널 쌍들을 야기한다. USAC에 정의된 단 2개의 채널들의 공동 코딩은 채널들 간의 공간 및 지각적 관계들을 고려하기에 충분하지 않다. MPEG 서라운드는 추가적인 전/후 처리 단계에서 적용되며, 잔차 신호들은 공동 스테레오 코딩의 가능성 없이 개별적으로 송신되어, 예컨대 좌측 수직 잔차 신호와 우측 수직 잔차 신호 사이의 의존성들을 활용한다. AC-4에는, 공동 코딩 파라미터들의 효율적인 인코딩을 가능하게 하지만 새로운 몰입형 재생 시나리오들(7.1 + 4, 22.2)에 제안된 것처럼 더 많은 채널들을 갖춘 일반 스피커 설정들에는 실패하는 전용 N-채널 엘리먼트들이 도입된다. MPEG-H 쿼드 채널 엘리먼트는 또한 4개의 채널들로만 제한되며 임의의 채널들에 동적으로 적용될 수 있는 것이 아니라 사전 구성된 그리고 고정된 수의 채널들에만 동적으로 적용될 수 있다.
MPEG-H 다채널 코딩 툴은 이산적으로 코딩된 스테레오 박스들, 즉 공동으로 코딩된 채널 쌍들로 이루어진 임의의 트리의 생성을 가능하게 한다([2] 참조).
오디오 신호 코딩에서 종종 발생하는 문제는 양자화, 예컨대 스펙트럼 양자화에 의해 야기된다. 양자화는 가능하게는, 스펙트럼 홀들을 야기할 수 있다. 예를 들어, 특정 주파수 대역의 모든 스펙트럼 값들은 양자화 결과로서 인코더 측에서 0으로 설정될 수 있다. 예를 들어, 양자화 이전의 그러한 스펙트럼 라인들의 정확한 값은 상대적으로 낮을 수 있고, 그 다음에 양자화는 예를 들어, 특정 주파수 대역 내의 모든 스펙트럼 라인들의 스펙트럼 값들이 0으로 설정된 상황으로 이어질 수 있다. 디코더 측에서, 디코딩할 때, 이것은 원하지 않는 스펙트럼 홀들로 이어질 수 있다.
IETF의 Opus/Celt 코덱[9], MPEG-4(HE-aa)C[10] 또는 특히, MPEG-D xHE-AAC(USAC)[11]와 같은 최신 주파수 도메인 음성/오디오 코딩 시스템들은 신호의 시간적 정상성에 따라 1회의 긴 변환― 긴 블록 ― 또는 8개의 순차적 짧은 변환들― 짧은 블록들 ―을 사용하여 오디오 프레임들을 코딩하는 수단을 제공한다. 또한, 낮은 비트레이트 코딩을 위해, 이러한 방식들은 채널의 주파수 계수들을 동일 채널의 의사 랜덤 잡음 또는 저주파 계수들을 사용하여 재구성하기 위한 툴들을 제공한다. xHE-AAC에서, 이러한 툴들은 각각 잡음 채움 및 스펙트럼 대역 복제로 알려져 있다.
그러나 상당한 음색의 또는 일시적인 입체 음향 입력의 경우, 잡음 채움 및/또는 스펙트럼 대역 복제만이 매우 낮은 비트레이트들에서 달성 가능한 코딩 품질을 제한하는데, 이는 대부분 두 채널들 모두의 너무 많은 스펙트럼 계수들이 명시적으로 송신될 필요가 있기 때문이다.
MPEG-H 스테레오 채움은 이전 프레임의 다운믹스의 사용에 의존하여 주파수 도메인에서 양자화에 의해 야기된 스펙트럼 홀들의 채움을 개선하는 파라메트릭 툴이다. 잡음 채움과 마찬가지로, 스테레오 채움은 MPEG-H 코어 코더의 MDCT 도메인에서 직접 작동한다([1], [5], [8] 참조).
그러나 MPEG-H에서 MPEG 서라운드 및 스테레오 채움을 사용하는 것은 고정된 채널 쌍 엘리먼트들로 제한되며, 따라서 시간 변화 채널 간 종속성들을 활용할 수 없다.
MPEG-H의 다채널 코딩 툴(MCT: Multichannel Coding Tool)은 다양한 채널 간 종속성들에 적응하는 것을 가능하게 하지만, 일반적인 동작 구성들에서 단일 채널 엘리먼트들의 사용으로 인해 스테레오 채움을 가능하게 하지 않는다. 종래 기술은 시간 변화, 임의의 공동으로 코딩된 채널 쌍들의 경우에 이전 프레임의 다운믹스들을 생성하기 위한 지각적으로 최적의 방식들을 개시하지 않는다. 스펙트럼 홀들을 채우기 위해 MCT와 결합하여 스테레오 채움에 대한 대체물로서 잡음 채움을 사용하는 것은 특히, 음색 신호들에 대한 잡음 아티팩트들로 이어질 것이다.
본 발명의 과제는 개선된 오디오 코딩 개념들을 제공하는 것이다. 본 발명의 과제는 제1 항에 따른 디코딩을 위한 장치에 의해, 제15 항에 따른 인코딩을 위한 장치에 의해, 제18 항에 따른 디코딩을 위한 방법에 의해, 제19 항에 따른 인코딩을 위한 방법에 의해, 제20 항에 따른 컴퓨터 프로그램에 의해, 그리고 제21 항에 따른 인코딩된 다채널 신호에 의해 해결된다.
3개 또는 그보다 많은 현재 오디오 출력 채널들을 얻기 위해 현재 프레임의 인코딩된 다채널 신호를 디코딩하기 위한 장치가 제공된다. 다채널 프로세서는 제1 다채널 파라미터들에 따라 3개 또는 그보다 많은 디코딩된 채널들로부터 2개의 디코딩된 채널들을 선택하도록 적응된다. 더욱이, 다채널 프로세서는 상기 선택된 채널들에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하도록 적응된다. 잡음 채움 모듈은 선택된 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들을 식별하고, 부가 정보에 따라, 디코딩된 3개 또는 그보다 많은 이전 오디오 출력 채널들의 적절한 서브세트를 사용하여 믹싱 채널을 생성하고, 그리고 모든 스펙트럼 라인들이 0으로 양자화되는 주파수 대역들의 스펙트럼 라인들을 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우도록 적응된다.
실시예들에 따르면, 3개 또는 그보다 많은 이전 오디오 출력 채널들을 얻기 위해 이전 프레임의 이전 인코딩된 다채널 신호를 디코딩하기 위한, 그리고 3개 또는 그보다 많은 현재 오디오 출력 채널들을 얻기 위해 현재 프레임의 현재 인코딩된 다채널 신호를 디코딩하기 위한 장치가 제공된다.
이 장치는 인터페이스, 채널 디코더, 3개 또는 그보다 많은 현재 오디오 출력 채널들을 생성하기 위한 다채널 프로세서, 및 잡음 채움 모듈을 포함한다.
인터페이스는 현재 인코딩된 다채널 신호를 수신하고, 제1 다채널 파라미터들을 포함하는 부가 정보를 수신하도록 적응된다.
채널 디코더는 현재 프레임의 3개 또는 그보다 많은 디코딩된 채널들의 세트를 얻기 위해 현재 프레임의 현재 인코딩된 다채널 신호를 디코딩하도록 적응된다.
다채널 프로세서는 제1 다채널 파라미터들에 따라 3개 또는 그보다 많은 디코딩된 채널들의 세트로부터 2개의 디코딩된 채널들의 제1 선택된 쌍을 선택하도록 적응된다.
더욱이, 다채널 프로세서는 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 얻기 위해 2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하도록 적응된다.
다채널 프로세서가 2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제1 쌍을 생성하기 전에, 잡음 채움 모듈은 2개의 디코딩된 채널들의 상기 제1 선택된 쌍의 2개의 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들을 식별하도록, 그리고 3개 또는 그보다 많은 이전 오디오 출력 채널들의 2개 또는 그보다 많은, 그러나 전부는 아닌 이전 오디오 출력 채널들을 사용하여 믹싱 채널을 생성하도록, 그리고 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우도록 적응되며, 여기서 잡음 채움 모듈은 믹싱 채널을 생성하기 위해 사용되는 2개 또는 그보다 많은 이전 오디오 출력 채널들을 부가 정보에 따라 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 선택하도록 적응된다.
어떻게 잡음을 생성하고 채울지를 지정하는 잡음 채움 모듈에 의해 이용될 수 있는 실시예들의 특정 개념은 스테레오 채움으로 지칭된다.
더욱이, 적어도 3개의 채널들을 갖는 다채널 신호를 인코딩하기 위한 장치가 제공된다.
이 장치는 제1 반복 단계에서 적어도 3개의 채널들의 각각의 쌍 사이의 채널 간 상관 값들을 계산하고, 제1 반복 단계에서 가장 높은 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하고, 그리고 선택된 쌍을 다채널 처리 연산을 사용하여 처리하여 선택된 쌍에 대한 초기 다채널 파라미터들을 도출하고 제1 처리된 채널들을 도출하도록 적응되는 반복 프로세서를 포함한다.
반복 프로세서는 추가 다채널 파라미터들 및 제2 처리된 채널들을 도출하기 위해, 처리된 채널들 중 적어도 하나를 사용하여 제2 반복 단계에서 계산, 선택 및 처리를 수행하도록 적응된다.
더욱이, 이 장치는 인코딩된 채널들을 획득하기 위해, 반복 프로세서에 의해 수행되는 반복 처리로부터 야기되는 채널들을 인코딩하도록 적응되는 채널 인코더를 포함한다.
게다가, 이 장치는, 인코딩된 채널들, 초기 다채널 파라미터들 및 추가 다채널 파라미터들을 갖고, 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 디코딩하기 위한 장치에 의해 이전에 디코딩되었던, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 잡음으로 채울지 여부를 표시하는 정보를 갖는 인코딩된 다채널 신호를 발생시키도록 적응되는 출력 인터페이스를 포함한다.
더욱이, 3개 또는 그보다 많은 이전 오디오 출력 채널들을 얻기 위해 이전 프레임의 이전 인코딩된 다채널 신호를 디코딩하기 위한, 그리고 3개 또는 그보다 많은 현재 오디오 출력 채널들을 얻기 위해 현재 프레임의 현재 인코딩된 다채널 신호를 디코딩하기 위한 방법이 제공된다. 이 방법은 다음의 단계들을 포함한다:
- 현재 인코딩된 다채널 신호를 수신하고, 제1 다채널 파라미터들을 포함하는 부가 정보를 수신하는 단계.
- 현재 프레임의 3개 또는 그보다 많은 디코딩된 채널들의 세트를 얻기 위해 현재 프레임의 현재 인코딩된 다채널 신호를 디코딩하는 단계.
- 제1 다채널 파라미터들에 따라 3개 또는 그보다 많은 디코딩된 채널들의 세트로부터 2개의 디코딩된 채널들의 제1 선택된 쌍을 선택하는 단계.
- 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 얻기 위해 2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하는 단계.
2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제1 쌍이 생성되기 전에, 다음의 단계들이 수행되며:
- 2개의 디코딩된 채널들의 상기 제1 선택된 쌍의 2개의 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들을 식별하는 단계, 및 3개 또는 그보다 많은 이전 오디오 출력 채널들의 2개 또는 그보다 많은, 그러나 전부는 아닌 이전 오디오 출력 채널들을 사용하여 믹싱 채널을 생성하는 단계, 및 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우는 단계, 여기서 믹싱 채널을 생성하기 위해 사용되는 2개 또는 그보다 많은 이전 오디오 출력 채널들을 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 선택하는 단계가 부가 정보에 따라 수행된다.
게다가, 적어도 3개의 채널들을 갖는 다채널 신호를 인코딩하기 위한 방법이 제공된다. 이 방법은 다음의 단계들을 포함한다:
- 제1 반복 단계에서 적어도 3개의 채널들의 각각의 쌍 사이의 채널 간 상관 값들을 계산하고, 제1 반복 단계에서 가장 높은 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하고, 그리고 선택된 쌍을 다채널 처리 연산을 사용하여 처리하여 선택된 쌍에 대한 초기 다채널 파라미터들을 도출하고 제1 처리된 채널들을 도출하는 단계.
- 추가 다채널 파라미터들 및 제2 처리된 채널들을 도출하기 위해, 처리된 채널들 중 적어도 하나를 사용하여 제2 반복 단계에서 계산, 선택 및 처리를 수행하는 단계.
- 인코딩된 채널들을 획득하기 위해, 반복 프로세서에 의해 수행되는 반복 처리로부터 야기되는 채널들을 인코딩하는 단계. 및:
- 인코딩된 채널들, 초기 다채널 파라미터들 및 추가 다채널 파라미터들을 갖고, 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 디코딩하기 위한 장치에 의해 이전에 디코딩되었던, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 잡음으로 채울지 여부를 표시하는 정보를 갖는 인코딩된 다채널 신호를 발생시키는 단계.
더욱이, 컴퓨터 프로그램들이 제공되며, 여기서 컴퓨터 프로그램들 각각은 컴퓨터 또는 신호 프로세서 상에서 실행될 때 앞서 설명한 방법들 중 하나를 구현하도록 구성되므로, 앞서 설명한 방법들 각각은 컴퓨터 프로그램들 중 하나에 의해 구현된다.
게다가, 인코딩된 다채널 신호가 제공된다. 인코딩된 다채널 신호는 인코딩된 채널들 및 다채널 파라미터들, 그리고 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 디코딩하기 위한 장치에 의해 이전에 디코딩되었던, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 스펙트럼 데이터로 채울지 여부를 표시하는 정보를 포함한다.
다음에, 본 발명의 실시예들이 도면들을 참조하여 보다 상세히 설명된다.
도 1a는 일 실시예에 따른 디코딩하기 위한 장치를 도시한다.
도 1b는 다른 실시예에 따른 디코딩하기 위한 장치를 도시한다.
도 2는 본 출원의 일 실시예에 따른 파라메트릭 주파수 도메인 디코더의 블록도를 도시한다.
도 3은 도 2의 디코더의 설명의 이해를 용이하게 하기 위해 다채널 오디오 신호의 채널들의 스펙트로그램들을 형성하는 스펙트럼들의 시퀀스를 예시하는 개략도를 도시한다.
도 4는 도 2의 설명의 이해를 완화하기 위해 도 3에 도시된 스펙트로그램들 중에서 현재 스펙트럼들을 예시하는 개략도를 도시한다.
도 5a 및 도 5b는 이전 프레임의 다운믹스가 채널 간 잡음 채움을 위한 기초로서 사용되는 대안적인 실시예에 따른 파라메트릭 주파수 도메인 오디오 디코더의 블록도를 도시한다.
도 6은 일 실시예에 따른 파라메트릭 주파수 도메인 오디오 인코더의 블록도를 도시한다.
도 7은 일 실시예에 따라, 적어도 3개의 채널들을 갖는 다채널 신호를 인코딩하기 위한 장치의 개략적인 블록도를 도시한다.
도 8은 일 실시예에 따라, 적어도 3개의 채널들을 갖는 다채널 신호를 인코딩하기 위한 장치의 개략적인 블록도를 도시한다.
도 9는 일 실시예에 따른 스테레오 박스의 개략적인 블록도를 도시한다.
도 10은 일 실시예에 따라, 인코딩된 채널들 및 적어도 2개의 다채널 파라미터들을 갖는 인코딩된 다채널 신호를 디코딩하기 위한 장치의 개략적인 블록도를 도시한다.
도 11은 일 실시예에 따라, 적어도 3개의 채널들을 갖는 다채널 신호를 인코딩하기 위한 방법의 흐름도를 도시한다.
도 12는 본 발명의 일 실시예에 따라, 인코딩된 채널들 및 적어도 2개의 다채널 파라미터들을 갖는 인코딩된 다채널 신호를 디코딩하기 위한 방법의 흐름도를 도시한다.
도 13은 일 실시예에 따른 시스템을 도시한다.
도 14는 일 실시예에 따라, 시나리오(a)에서 시나리오의 제1 프레임에 대한 조합 채널들의 생성을, 그리고 시나리오(b)에서 제1 프레임에 후속하는 제2 프레임에 대한 조합 채널들의 생성을 도시한다.
도 15는 실시예들에 따른 다채널 파라미터들에 대한 인덱싱 방식을 도시한다.
동일한 또는 대등한 엘리먼트들 또는 동일한 또는 대등한 기능을 갖는 엘리먼트들은 다음 설명에서 동일한 또는 대등한 참조 번호들로 표시된다.
다음 설명에서는, 본 발명의 실시예들의 보다 철저한 설명을 제공하도록 복수의 세부사항들이 제시된다. 그러나 본 발명의 실시예들은 이러한 특정 세부사항들 없이 실시될 수도 있음이 해당 기술분야에서 통상의 지식을 가진 자들에게 명백할 것이다. 다른 경우들에는, 본 발명의 실시예들을 모호하게 하는 것을 피하기 위해, 잘 알려진 구조들 및 디바이스들은 상세히보다는 블록도 형태로 도시된다. 추가로, 구체적으로 달리 언급되지 않는 한, 이하 설명되는 서로 다른 실시예들의 특징들이 서로 결합될 수도 있다.
도 1a의 디코딩하기 위한 장치(201)를 설명하기 전에, 우선, 다채널 오디오 코딩을 위한 잡음 채움이 설명된다. 실시예들에서, 도 1a의 잡음 채움 모듈(220)은 예컨대, 다채널 오디오 코딩을 위한 잡음 채움과 관련하여 설명되는 아래의 기술들 중 하나 이상을 수행하도록 구성될 수 있다.
도 2는 본 출원의 일 실시예에 따른 주파수 도메인 오디오 디코더를 도시한다. 디코더는 일반적으로 참조 부호(10)를 사용하여 표시되며, 스케일 팩터 대역 식별기(12), 역양자화기(14), 잡음 채움기(16) 및 역변환기(18)뿐만 아니라, 스펙트럼 라인 추출기(20) 및 스케일 팩터 추출기(22)를 포함한다. 디코더(10)로 구성될 수도 있는 선택적인 추가 엘리먼트들은 복소 스테레오 예측기(24), MS(mid-side) 디코더(26), 그리고 도 2에 2개의 예시화들(28a, 28b)이 도시되어 있는 역 TNS(Temporal Noise Shaping) 필터 툴을 포괄한다. 또한, 다운믹스 제공기가 도시되며 참조 부호(30)를 사용하여 이하에 보다 상세히 개요가 설명된다.
도 2의 주파수 도메인 오디오 디코더(10)는 잡음 채움을 지원하는 파라메트릭 디코더인데, 특정한 0으로 양자화된 스케일 팩터 대역은 이러한 잡음 채움에 따라 해당 스케일 팩터 대역의 스케일 팩터를 해당 스케일 팩터 대역에 채워진 잡음의 레벨을 제어하기 위한 수단으로서 사용하여 잡음으로 채워진다. 이 이후에, 도 2의 디코더(10)는 인바운드 데이터 스트림(30)으로부터 다채널 오디오 신호를 재구성하도록 구성된 다채널 오디오 디코더를 나타낸다. 그러나 도 2는 데이터 스트림(30)으로 코딩된 다채널 오디오 신호들 중 하나를 재구성하는데 관련된 디코더(10)의 엘리먼트들에 집중하며 출력(32)에서 이 (출력) 채널을 출력한다. 참조 부호(34)는 디코더(10)가 추가 엘리먼트들을 포함할 수 있거나 다채널 오디오 신호의 다른 채널들을 재구성하는 것을 담당하는 어떤 파이프라인 동작 제어를 포함할 수 있음을 표시하며, 여기서 아래에 제시되는 설명은 출력(32)에서 관심 채널에 대한 디코더(10) 재구성이 어떻게 다른 채널들의 디코딩과 상호 작용하는지를 나타낸다.
데이터 스트림(30)에 의해 표현되는 다채널 오디오 신호는 2개 또는 그보다 많은 채널들을 포함할 수 있다. 이하에서, 본 출원의 실시예들의 설명은 다채널 오디오 신호가 단순히 2개의 채널들만을 포함하는 스테레오 케이스에 집중하지만, 원칙적으로 다음에 제시되는 실시예들은 다채널 오디오 신호들 그리고 2개보다 많은 채널들을 포함하는 이들의 코딩에 관한 대안적인 실시예들로 쉽게 전달될 수 있다.
아래의 도 2의 설명으로부터 더 명백해지듯이, 도 2의 디코더(10)는 변환 디코더이다. 즉, 디코더(10)의 기반이 되는 코딩 기술에 따라, 채널들은 이를테면, 채널들의 중복 변환(lapped transform)을 사용하여 변환 도메인에서 코딩된다. 더욱이, 오디오 신호의 생성자에 따라, 채널들 간의 차이들이 다채널 오디오 신호의 출력 채널들과 연관된 가상 스피커 위치들에 대한 오디오 장면의 오디오 소스의 가상 포지셔닝을 가능하게 하는 오디오 장면을 나타내기 위해, 오디오 신호의 채널들이 서로 다른 진폭들 및/또는 위상과 같이 이들 사이의 사소한 또는 결정적 변화들에 의해서만 서로 어긋나는, 대체로 동일한 오디오 콘텐츠를 나타내는 시간 위상들이 존재한다. 그러나 다른 일부 시간 위상들에서, 오디오 신호의 서로 다른 채널들은 서로 거의 상관되지 않을 수 있으며, 심지어 예를 들어, 완전히 서로 다른 오디오 소스들을 나타낼 수 있다.
오디오 신호의 채널들 사이의 가능한 시간 변화 관계를 설명하기 위해, 도 2의 디코더(10)의 기반이 되는 오디오 코덱은 채널 간 리던던시들을 활용하기 위한 서로 다른 측정들의 시간 변화 사용을 가능하게 한다. 예를 들어, MS 코딩은 스테레오 오디오 신호의 좌측 채널 및 우측 채널을 그대로 나타내는 것이나 좌측 채널 및 우측 채널의 다운믹스 및 그 양분된 차이를 각각 나타내는 한 쌍의 M(mid) 채널 및 S(side) 채널 간의 전환을 가능하게 한다. 즉, 데이터 스트림(30)에 의해 송신된 2개의 채널들의 스펙트로그램들이 ― 스펙트럼-시간(spectrotemporal) 의미에서 ― 연속적으로 존재하지만, 이러한 (송신된) 채널들의 의미는 각각 출력 채널에 대해 그리고 시간상 변경될 수 있다.
다른 채널 간 리던던시 활용 툴인 복소 스테레오 예측은 스펙트럼 도메인에서 다른 채널의 스펙트럼상 함께 위치된 라인들을 사용하여 한 채널의 주파수 도메인 계수들 또는 스펙트럼 라인들을 예측하는 것을 가능하게 할 수 있다. 이것에 관한 보다 상세한 내용들은 아래에서 설명된다.
도 2의 후속하는 설명 및 도 2에 도시된 그 컴포넌트들의 이해를 가능하게 하기 위해, 도 3은 데이터 스트림(30)으로 표현된 스테레오 오디오 신호의 예시적인 경우에, 2개의 채널들의 스펙트럼 라인들에 대한 샘플 값들이 도 2의 디코더(10)에 의해 처리되도록 데이터 스트림(30)으로 코딩될 수도 있는 가능한 방법을 도시한다. 특히, 도 3의 상부 절반에는, 스테레오 오디오 신호의 제1 채널의 스펙트로그램(40)이 도시되어 있지만, 도 3의 하부 절반은 스테레오 오디오 신호의 다른 채널의 스펙트로그램(42)을 예시한다. 또한, 스펙트로그램들(40, 42)의 "의미"는 예를 들어, MS 코딩된 도메인과 MS 코딩되지 않은 도메인 사이의 시간 변화 전환으로 인해 시간 경과에 따라 변경될 수 있다는 점에 유의할 가치가 있다. 첫 번째 경우, 스펙트로그램들(40, 42)은 각각 M 채널 및 S 채널에 관련되는 반면, 후자의 경우 스펙트로그램들(40, 42)은 좌측 채널 및 우측 채널과 관련된다. MS 코딩된 도메인과 MS 코딩되지 않은 도메인 사이의 전환은 데이터 스트림(30)에서 시그널링될 수 있다.
도 3은 스펙트로그램들(40, 42)이 시간 변화 스펙트럼-시간 분해능으로 데이터 스트림(30)으로 코딩될 수 있음을 보여준다. 예를 들어, 두 (송신된) 채널들 모두는 시간 정렬 방식으로, 동일하게 길며 중첩 없이 서로 인접할 수 있는, 중괄호들(44)을 사용하여 표시된 일련의 프레임들로 세분될 수 있다. 방금 언급한 바와 같이, 스펙트로그램들(40, 42)이 데이터 스트림(30)으로 표현되는 스펙트럼 분해능은 시간 경과에 따라 변할 수 있다. 예비적으로, 스펙트럼-시간 분해능은 스펙트로그램들(40, 42)에 대해 시간상 동일하게 변화한다고 가정하지만, 다음의 설명으로부터 명백해지는 바와 같이, 이 단순화의 확장도 또한 실현 가능하다. 스펙트럼-시간 분해능의 변화는 예를 들어, 프레임들(44)의 단위로 데이터 스트림(30)으로 시그널링된다. 즉, 스펙트럼-시간 분해능은 프레임들(44)의 단위로 변화한다. 각각의 프레임(44) 내에서 스펙트로그램들(40, 42)을 기술하는 데 사용되는 변환들의 수 및 변환 길이를 전환함으로써 스펙트로그램들(40, 42)의 스펙트럼-시간 분해능의 변화가 이루어진다. 도 3의 예에서, 프레임들(44a, 44b)은 오디오 신호의 채널들을 샘플링하기 위해 하나의 긴 변환이 사용되는 프레임들을 예시하는데, 이로써 채널마다 이러한 프레임들 각각에 대한 스펙트럼 라인당 하나의 스펙트럼 라인 샘플 값을 갖는 최고 스펙트럼 분해능을 야기한다. 도 3에서, 스펙트럼 라인들의 샘플 값들은 박스들 내의 작은 십자표들을 사용하여 표시되며, 여기서 박스들은 결국, 행들과 열들로 배열되고, 하나의 스펙트럼 라인에 각각 대응하는 각각의 행 그리고 스펙트로그램들(40, 42)의 형성에 관련된 가장 짧은 변환들에 대응하는 프레임들(44)의 하위 간격들에 대응하는 각각의 열을 갖는 스펙트럼 시간 격자를 나타낼 것이다. 특히, 도 3은 예를 들어, 프레임(44d)에 대해, 프레임이 대안으로 더 짧은 길이의 연속적인 변환들의 대상이 됨으로써, 프레임(44d)과 같은 그러한 프레임들에 대해 감소된 스펙트럼 분해능의 여러 개의 시간상 연속한 스펙트럼들이 되는 것을 예시한다. 8개의 짧은 변환들이 프레임(44d)에 대해 예시적으로 사용되어, 단지 매 8번째 스펙트럼 라인이 채워지도록 서로 이격된 스펙트럼 라인들에서 해당 프레임(42d) 내의 스펙트로그램들(40, 42)의 스펙트럼-시간 샘플링을 야기하지만, 더 짧은 길이의 8개의 변환 윈도우들 또는 변환들 각각에 대한 샘플 값이 프레임(44d)을 변환하는 데 사용된다. 예시를 위해, 도 3에는 예를 들어, 프레임들(44a, 44b)에 대한 긴 변환들의 변환 길이의 1/2인 변환 길이의 2회의 변환들의 사용과 같이, 프레임에 대한 다른 수들의 변환들이 역시 가능할 것으로 도시되는데, 이로써 두 번째 스펙트럼 라인마다 2개의 스펙트럼 라인 샘플 값들이 획득되는데, 그 중 하나는 선두 변환에 관련되고 다른 하나는 후행 변환에 관련되는 스펙트럼-시간 격자 또는 스펙트로그램들(40, 42)의 샘플링을 야기할 것이다.
프레임들이 세분되는 변환들에 대한 변환 윈도우들은 도 3에서 중첩하는 윈도우형 라인들을 사용하여 각각의 스펙트로그램 아래에 예시된다. 시간 중첩은 예를 들어, TDAC(Time-Domain Aliasing Cancellation) 목적에 적합하다.
아래에 추가로 설명되는 실시예들이 또한 다른 방식으로 구현될 수 있지만, 도 3은 각각의 프레임(44)에 대해, 도 3의 작은 십자표들로 표시된 동일한 수의 스펙트럼 라인 값들이 스펙트로그램(40) 및 스펙트로그램(42)에 대해 야기되는 식으로 개개의 프레임들(44)에 대한 서로 다른 스펙트럼-시간 분해능들 간의 전환이 수행되는데, 차이는 단지 라인들이 시간상 각각의 프레임(44)의 시간에 걸쳐 그리고 스펙트럼상 제로 주파수에서부터 최대 주파수(fmax)까지 걸쳐 각각의 프레임(44)에 대응하는 각각의 스펙트럼-시간 타일을 스펙트럼-시간적으로 샘플링하는 방식에 존재한다.
도 3에서 화살표들을 사용하여, 도 3은 동일한 스펙트럼 라인에 속하지만 하나의 채널의 한 프레임 내의 짧은 변환 윈도우들에 속하는 스펙트럼 라인 샘플 값들을 동일한 프레임의 다음으로 점유되는 스펙트럼 라인까지 해당 프레임 내의 점유되지 않은(비어 있는) 스펙트럼 라인들에 적절하게 분배함으로써 프레임들(44) 모두에 대해 유사한 스펙트럼들이 얻어질 수 있음을 프레임(44d)에 대해 예시한다. 이러한 결과적인 스펙트럼들은 다음에서 "인터리빙된 스펙트럼들"이라고 한다. 예를 들어, 하나의 채널의 한 프레임의 n회의 변환들을 인터리빙할 때, n회의 짧은 변환들의 스펙트럼상 함께 위치된 스펙트럼 라인 값들은 스펙트럼상 연속하는 스펙트럼 라인의 n회의 짧은 변환들의 n개의 스펙트럼상 함께 위치된 스펙트럼 라인 값들의 세트가 뒤따르기 전에 서로 뒤따른다. 인터리빙의 중간 형태가 역시 실현 가능할 것이며: 하나의 프레임의 모든 스펙트럼 라인 계수들을 인터리빙하는 대신에, 프레임(44d)의 짧은 변환들의 적절한 서브세트의 스펙트럼 라인 계수들만을 인터리빙하는 것이 실현 가능할 것이다. 어떤 경우든, 스펙트로그램들(40, 42)에 대응하는 2개의 채널들의 프레임들의 스펙트럼들이 논의될 때마다, 이러한 스펙트럼들은 인터리빙된 스펙트럼들 또는 인터리빙되지 않은 스펙트럼들을 의미할 수 있다.
디코더(10)로 전달된 데이터 스트림(30)을 통해 스펙트로그램들(40, 42)을 나타내는 스펙트럼 라인 계수들을 효율적으로 코딩하기 위해, 이러한 계수들은 양자화된다. 양자화 잡음을 스펙트럼-시간상 제어하기 위해, 양자화 스텝 크기는 특정 스펙트럼-시간 격자에 설정된 스케일 팩터들을 통해 제어된다. 특히, 각각의 스펙트로그램의 일련의 스펙트럼들 각각 내에서, 스펙트럼 라인들은 스펙트럼상 연속적인 비중첩 스케일 팩터 그룹들로 그룹화된다. 도 4는 그 상부 절반에서 스펙트로그램(40)의 스펙트럼(46)을 그리고 스펙트로그램(42)으로부터의 동시 시간 스펙트럼(48)을 도시한다. 본 명세서에 도시된 바와 같이, 스펙트럼들(46, 48)은 스펙트럼 라인들을 중첩하지 않는 그룹들로 그룹화하도록 스펙트럼 축(f)을 따라 스케일 팩터 대역들로 세분된다. 스케일 팩터 대역들은 도 4에서 중괄호들(50)을 사용하여 예시된다. 단순화를 위해, 스케일 팩터 대역들 사이의 경계들이 스펙트럼(46, 48) 사이에서 일치한다고 가정되지만, 반드시 그렇게 할 필요는 없다.
즉, 데이터 스트림(30)에서의 코딩에 의해, 스펙트로그램들(40, 42)은 각각 스펙트럼들의 시간 시퀀스로 세분되며, 이러한 스펙트럼들 각각은 스케일 팩터 대역으로 스펙트럼상 세분되며, 각각의 스케일 팩터 대역에 대해 데이터 스트림(30)은 각각의 스케일 팩터 대역에 대응하는 스케일 팩터에 관한 정보를 전달하거나 코딩한다. 각각의 스케일 팩터 대역(50)에 속하는 스펙트럼 라인 계수들은 각각의 스케일 팩터를 사용하여 양자화되거나, 디코더(10)에 관한 한, 대응하는 스케일 팩터 대역의 스케일 팩터를 사용하여 역양자화될 수 있다.
다시 또 도 2 및 그 설명으로 돌아가기 전에, 구체적으로 처리된 채널, 즉 34를 제외한 도 2의 디코더의 특정 엘리먼트들이 디코딩과 관련되어 있는 채널이 이미 앞서 언급한 바와 같이, 데이터 스트림(30)으로 코딩된 다채널 오디오 신호가 스테레오 오디오 신호라는 가정으로 좌측 채널 및 우측 채널, M 채널 또는 S 채널 중 하나를 나타낼 수 있는 스펙트로그램(40)의 송신된 채널이라고 다음에 가정될 것이다.
스펙트럼 라인 추출기(20)는 데이터 스트림(30)으로부터 프레임들(44)에 대한 스펙트럼 라인 데이터, 즉 스펙트럼 라인 계수들을 추출하도록 구성되는 한편, 스케일 팩터 추출기(22)는 각각의 프레임(44)에 대해 대응하는 스케일 팩터들을 추출하도록 구성된다. 이를 위해, 추출기들(20, 22)은 엔트로피 디코딩을 사용할 수 있다. 일 실시예에 따르면, 스케일 팩터 추출기(22)는 예를 들어, 도 4의 스펙트럼(46)의 스케일 팩터들, 즉 스케일 팩터 대역들(50)의 스케일 팩터들을 콘텍스트 적응 엔트로피 디코딩을 사용하여 데이터 스트림(30)으로부터 순차적으로 추출하도록 구성된다. 순차적 디코딩의 순서는 예를 들어, 저주파에서부터 고주파로 이어지는 스케일 팩터 대역들 사이에 정해진 스펙트럼 순서를 따를 수 있다. 스케일 팩터 추출기(22)는 콘텍스트 적응 엔트로피 디코딩을 사용할 수 있고, 현재 추출된 스케일 팩터의 스펙트럼 근방에서 이미 추출된 스케일 팩터들에 따라, 이를테면 바로 이전 스케일 팩터 대역의 스케일 팩터에 따라 각각의 스케일 팩터에 대한 콘텍스트를 결정할 수 있다. 대안으로, 스케일 팩터 추출기(22)는 이를테면, 예를 들어 직전의 것과 같은 이전에 디코딩된 스케일 팩터들 중 임의의 것에 기초하여, 현재 디코딩된 스케일 팩터를 예측하면서 차동 디코딩을 사용하여, 데이터 스트림(30)으로부터 스케일 팩터들을 예측적으로 디코딩할 수 있다. 특히, 이러한 스케일 팩터 추출 프로세스는 오직 0으로 양자화된 스펙트럼 라인들로만 채워지는 또는 적어도 하나의 스펙트럼 라인은 0이 아닌 값으로 양자화되는 스펙트럼 라인들로 채워지는 스케일 팩터 대역에 속하는 스케일 팩터에 대해 구속되지 않는다. 0으로 양자화된 스펙트럼 라인들로만 채워지는 스케일 팩터 대역에 속하는 스케일 팩터는, 가능하게는 하나는 0이 아닌 스펙트럼 라인들로 채워지는 스케일 팩터 대역에 속하는 후속 디코딩된 스케일 팩터에 대한 예측 기반으로서 작용할 수 있을 뿐만 아니라, 가능하게는 하나는 0이 아닌 스펙트럼 라인들로 채워지는 스케일 팩터 대역에 속하는 이전에 디코딩된 스케일 팩터에 기초하여 예측될 수 있다.
완전성을 위해서만, 스펙트럼 라인 추출기(20)는 예를 들어, 엔트로피 코딩 및/또는 예측 코딩을 사용하여 스케일 팩터 대역들(50)이 마찬가지로 채워지는 스펙트럼 라인 계수들을 추출한다는 점이 주목된다. 엔트로피 코딩은 현재 디코딩된 스펙트럼 라인 계수의 스펙트럼-시간 이웃의 스펙트럼 라인 계수들에 기초한 콘텍스트 적응성을 사용할 수 있고, 마찬가지로 예측은 스펙트럼-시간 이웃의 이전에 디코딩된 스펙트럼 라인 계수들에 기초하여 현재 디코딩된 스펙트럼 라인 계수를 예측하는 스펙트럼 예측, 시간 예측 또는 스펙트럼-시간 예측일 수 있다. 증가된 코딩 효율을 위해, 스펙트럼 라인 추출기(20)는 주파수 축을 따라 스펙트럼 라인들을 그룹화하거나 수집하는 투플(tuple)들에서의 스펙트럼 라인들 또는 라인 계수들의 디코딩을 수행하도록 구성될 수 있다.
따라서 스펙트럼 라인 추출기(20)의 출력에서는, 예를 들어 대응하는 프레임의 모든 스펙트럼 라인 계수들을 수집하는, 또는 대안으로 대응하는 프레임의 특정한 짧은 변환들의 모든 스펙트럼 라인 계수들을 수집하는 스펙트럼(46)과 같이, 예를 들어 스펙트럼들의 단위와 같은 스펙트럼 라인 계수들이 제공된다. 스케일 팩터 추출기(22)의 출력에서, 결국 각각의 스펙트럼들의 대응 스케일 팩터들이 출력된다.
스케일 팩터 대역 식별기(12)뿐만 아니라 역양자화기(14)도 스펙트럼 라인 추출기(20)의 출력에 결합된 스펙트럼 라인 입력들을 갖고, 역양자화기(14) 및 잡음 채움기(16)는 스케일 팩터 추출기(22)의 출력에 결합된 스케일 팩터 입력들을 갖는다. 스케일 팩터 대역 식별기(12)는 현재 스펙트럼(46) 내에서 소위 0으로 양자화된 스케일 팩터 대역들, 즉 도 4의 스케일 팩터 대역(50c)과 같이 모든 스펙트럼 라인들이 0으로 양자화되는 스케일 팩터 대역들, 및 적어도 하나의 스펙트럼 라인이 0이 아닌 값으로 양자화되는 스펙트럼 내의 나머지 스케일 팩터 대역들을 식별하도록 구성된다. 특히, 도 4에서 스펙트럼 라인 계수들은 도 4에서 해칭된 영역들을 사용하여 표시된다. 이것으로부터 스펙트럼(46)에서 스케일 팩터 대역(50b) 외에 모든 스케일 팩터 대역들은 적어도 하나의 스펙트럼 라인을 갖는 것으로 보이는데, 그 스펙트럼 라인의 스펙트럼 라인 계수는 0이 아닌 값으로 양자화된다. 나중에, 50d와 같은 0으로 양자화된 스케일 팩터 대역들이 이하에서 더 설명되는 채널 간 잡음 채움의 대상을 형성한다는 것이 명백해질 것이다. 설명으로 진행하기 전에, 스케일 팩터 대역 식별기(12)는 그 식별을 단지 스케일 팩터 대역들(50)의 적절한 서브세트로만, 이를테면 특정 시작 주파수(52) 위의 스케일 팩터 대역들로 제한할 수 있다는 점이 주목된다. 도 4에서, 이는 식별 프로시저를 스케일 팩터 대역들(50d, 50e, 50f)로 제한할 것이다.
스케일 팩터 대역 식별기(12)는 0으로 양자화된 스케일 팩터 대역들인 그러한 스케일 팩터 대역들에 대해 잡음 채움기(16)에 통지한다. 역양자화기(14)는 연관된 스케일 팩터들, 즉 스케일 팩터 대역들(50)과 연관된 스케일 팩터들에 따라 스펙트럼(46)의 스펙트럼 라인들의 스펙트럼 라인 계수들을 역양자화 또는 스케일링하기 위해, 인바운드 스펙트럼(46)과 연관된 스케일 팩터들을 사용한다. 특히, 역양자화기(14)는 각각의 스케일 팩터 대역에 속하는 스펙트럼 라인 계수들을 각각의 스케일 팩터 대역과 연관된 스케일 팩터로 역양자화 및 스케일링한다. 도 4는 스펙트럼 라인들의 역양자화의 결과를 보여주는 것으로 해석될 것이다.
잡음 채움기(16)는 다음의 잡음 채움의 대상을 형성하는 0으로 양자화된 스케일 팩터 대역들, 역양자화된 스펙트럼뿐만 아니라, 0으로 양자화된 스케일 팩터 대역들로서 식별된 적어도 그러한 스케일 팩터 대역들의 스케일 팩터들 및 현재 프레임에 대해 채널 간 잡음 채움이 수행되어야 하는지 여부를 표시하는, 현재 프레임에 대한 데이터 스트림(30)으로부터 얻어진 신호화에 관한 정보를 얻는다.
다음의 예에서 설명되는 채널 간 잡음 채움 프로세스는 실제로 두 가지 타입들의 잡음 채움을 수반하는데, 즉 임의의 0으로 양자화된 스케일 팩터 대역에 대한 이들의 잠재적인 멤버십에 상관없이 0으로 양자화된 모든 스펙트럼 라인들에 속하는 잡음 플로어(54)의 삽입, 및 실제 채널 간 잡음 채움 프로시저를 수반한다. 이후에 이 조합이 설명되지만, 대안적인 실시예에 따라 잡음 플로어 삽입이 생략될 수도 있다는 점이 강조되어야 한다. 더욱이, 현재 프레임에 관련되고 데이터 스트림(30)으로부터 얻어지는 잡음 채움 스위치 온 및 스위치 오프에 관한 신호화는 채널 간 잡음 채움에만 관련될 수 있거나, 두 잡음 채움 정렬들 모두의 조합을 함께 제어할 수 있다.
잡음 플로어 삽입에 관한 한, 잡음 채움기(16)는 다음과 같이 동작할 수 있다. 특히, 잡음 채움기(16)는 스펙트럼 라인 계수들이 0이었던 스펙트럼 라인들을 채우기 위해 난수 발생기 또는 임의의 다른 랜덤화 소스와 같은 인공 잡음 발생을 이용할 수 있다. 0으로 양자화된 스펙트럼 라인들에 이와 같이 삽입된 잡음 플로어(54)의 레벨은 현재 프레임 또는 현재 스펙트럼(46)에 대한 데이터 스트림(30) 내의 명시적인 시그널링에 따라 설정될 수 있다. 잡음 플로어(54)의 "레벨"은 예를 들어, 제곱 평균 제곱근(RMS: root-mean-square) 또는 에너지 측정치를 사용하여 결정될 수 있다.
따라서 잡음 플로어 삽입은 도 4의 스케일 팩터 대역(50d)과 같은 0으로 양자화된 것들로 식별된 그러한 스케일 팩터 대역들에 대한 일종의 사전 채움을 나타낸다. 이는 또한 0으로 양자화된 대역들 이외의 다른 스케일 팩터 대역들에도 영향을 미치지만, 후자는 또한 다음의 채널 간 잡음 채움의 대상이 된다. 아래에서 설명되는 바와 같이, 채널 간 잡음 채움 프로세스는 0으로 양자화된 스케일 팩터 대역들을 각각의 0으로 양자화된 스케일 팩터 대역의 스케일 팩터를 통해 제어되는 레벨까지 채우는 것이다. 후자는 각각의 0으로 양자화된 스케일 팩터 대역의 모든 스펙트럼 라인이 0으로 양자화되기 때문에 이러한 목적으로 직접 사용될 수 있다. 그럼에도, 데이터 스트림(30)은 각각의 프레임 또는 각각의 스펙트럼(46)에 대해, 대응하는 프레임 또는 스펙트럼(46)의 모든 0으로 양자화된 스케일 팩터 대역들의 스케일 팩터들에 공통으로 적용되며, 0으로 양자화된 스케일 팩터 대역들의 스케일 팩터들에 잡음 채움기(16)에 의해 적용될 때, 0으로 양자화된 스케일 팩터 대역들에 대해 개별적인 각각의 채움 레벨을 야기하는 파라미터의 추가 신호화를 포함할 수 있다. 즉, 잡음 채움기(16)는 채널 간 잡음 채움 프로세스가 각각의 0으로 양자화된 스케일 팩터 대역을 (잡음 플로어(54)에 추가하여) (선택적인) 추가 잡음으로 채울 레벨 상승을 측정하는 각각의 0으로 양자화된 스케일 팩터 대역에 대한 채움 타깃 레벨을, 예를 들어 에너지 또는 RMS에 관해 얻도록, 동일한 수정 함수를 사용하여, 스펙트럼(46)의 각각의 0으로 양자화된 스케일 팩터 대역에 대해, 현재 프레임의 해당 스펙트럼(46)에 대한 데이터 스트림(30)에 포함된 방금 언급한 파라미터를 사용하여 각각의 스케일 팩터 대역의 스케일 팩터를 수정할 수 있다.
특히, 채널 간 잡음 채움(56)을 수행하기 위해, 잡음 채움기(16)는 다른 채널의 스펙트럼(48)의 스펙트럼상 함께 위치된 부분을 이미 대체로 또는 완전히 디코딩된 상태로 획득하고, 스펙트럼(48)의 획득된 부분을 0으로 양자화된 스케일 팩터 대역으로 복사하는데, 이 부분은 스펙트럼상 함께 위치되어, ― 각각의 스케일 팩터 대역의 스펙트럼 라인들에 대한 적분에 의해 도출된 ― 그 0으로 양자화된 스케일 팩터 대역 내의 결과적인 전체 잡음 레벨이 0으로 양자화된 스케일 팩터 대역의 스케일 팩터로부터 획득된 앞서 언급한 채움 타깃 레벨과 동일하게 되는 방식으로 스케일링된다. 이 측정에 의해, 각각의 0으로 양자화된 스케일 팩터 대역에 채워지는 잡음의 음색은 잡음 플로어(54)의 기초를 형성하는 것과 같은 인위적으로 생성된 잡음과 비교하여 향상되고, 또한 동일한 스펙트럼(46) 내의 초 저주파 라인들로부터의 제어되지 않은 스펙트럼 복사/복제보다 더 양호하다.
훨씬 더 정확하게 하자면, 잡음 채움기(16)는 50d와 같은 현재 대역에 대해, 다른 채널의 스펙트럼(48) 내의 스펙트럼상 함께 위치된 부분을 위치시키고, 현재 프레임 또는 스펙트럼(46)에 대한 데이터 스트림(30)에 포함된 어떤 추가 오프셋 또는 잡음 팩터 파라미터를 선택적으로 수반하는 방금 설명한 방식으로, 0으로 양자화된 스케일 팩터 대역(50d)의 스케일 팩터에 따라 스펙트럼 라인들을 스케일링하여, 그 결과는 각각의 0으로 양자화된 스케일 팩터 대역(50d)을 0으로 양자화된 스케일 팩터 대역(50d)의 스케일 팩터에 의해 정의된 바와 같은 원하는 레벨까지 채운다. 본 실시예에서, 이것은 채움이 잡음 플로어(54)에 대한 부가 방식으로 이루어진다는 것을 의미한다.
단순화된 실시예에 따르면, 결과적인 잡음이 채워진 스펙트럼(46)이 역변환기(18)의 입력에 직접 입력되어, 스펙트럼(46)의 스펙트럼 라인 계수들이 속하는 각각의 변환 윈도우에 대해, 각각의 채널 오디오 시간 신호의 시간 도메인 부분을 얻을 것이며, 그 결과 (도 2에 도시되지 않은) 중첩 가산 프로세스가 이러한 시간 도메인 부분들을 결합할 수 있다. 즉, 스펙트럼(46)이 단지 1회의 변환에 속하는 스펙트럼 라인 계수들을 갖는 인터리빙되지 않은 스펙트럼이라면, 역변환기(18)는 하나의 시간 도메인 부분 그리고 그 선행 및 후행 단부들이 예를 들어, 시간 도메인 에일리어싱 제거를 실현하기 위해 선행 및 후행 역변환들을 역변환함으로써 얻어진 선행 및 후행 시간 도메인 부분들과 함께 중첩 가산 프로세스를 받게 되도록 그러한 변환을 가한다. 그러나 스펙트럼(46)이 하나보다 많은 연속적인 변환의 스펙트럼 라인 계수들로 인터리빙되었다면, 역변환기(18)는 역변환마다 하나의 시간 도메인 부분을 얻도록 개개의 역변환들에 대해 동일한 역변환을 거치게 할 것이며, 그 사이에 정해진 시간 순서에 따라, 이러한 시간 도메인 부분들은 그 사이뿐만 아니라 다른 스펙트럼들 또는 프레임들의 선행 및 후행 시간 도메인 부분들에 대해서도 중첩 가산 프로세스를 받게 될 것이다.
그러나 완전성을 위해, 잡음이 채워진 스펙트럼에 추가 처리가 수행될 수 있다는 점이 주목되어야 한다. 도 2에 도시된 바와 같이, 역 TNS 필터는 잡음이 채워진 스펙트럼에 대해 역 TNS 필터링을 수행할 수 있다. 즉, 현재 프레임 또는 스펙트럼(46)에 대한 TNS 필터 계수들을 통해 제어된다면, 지금까지 획득된 스펙트럼은 스펙트럼 방향을 따라 선형 필터링을 받게 된다.
역 TNS 필터링의 유무에 관계없이, 복소 스테레오 예측기(24)는 다음에 스펙트럼을 채널 간 예측의 예측 잔차로서 취급할 수 있다. 보다 구체적으로, 채널 간 예측기(24)는 스펙트럼(46) 또는 적어도 그 스케일 팩터 대역들(50)의 서브세트를 예측하기 위해 다른 채널의 스펙트럼상 함께 위치된 부분을 사용할 수 있다. 복소 예측 프로세스가 스케일 팩터 대역(50b)과 관련하여 파선 박스(58)로 도 4에 예시되어 있다. 즉, 데이터 스트림(30)은 예를 들어, 스케일 팩터 대역들(50) 중 어느 것이 채널 간 예측될 것이고 어느 것이 그러한 방식으로 예측되지 않을 것인지를 제어하는 채널 간 예측 파라미터들을 포함할 수 있다. 또한, 데이터 스트림(30)의 채널 간 예측 파라미터들은 채널 간 예측 결과를 얻기 위해 채널 간 예측기(24)에 의해 적용된 복소 채널 간 예측 팩터들을 더 포함할 수 있다. 이러한 팩터들은 채널 간 예측이 활성화되는 또는 데이터 스트림(30)에서 활성화되도록 시그널링되는 각각의 스케일 팩터 대역에 대해, 또는 대안으로 하나 또는 그보다 많은 스케일 팩터 대역들의 각각의 그룹에 대해 데이터 스트림(30)에 개별적으로 포함될 수 있다.
채널 간 예측의 소스는 도 4에 나타낸 바와 같이 다른 채널의 스펙트럼(48)일 수 있다. 좀 더 정확히 하자면, 채널 간 예측의 소스는 채널 간 예측될 스케일 팩터 대역(50b)에 함께 위치되어, 그 허수부의 추정에 의해 확장된 스펙트럼(48)의 스펙트럼상 함께 위치된 부분일 수 있다. 허수부의 추정은 스펙트럼(48)의 스펙트럼상 함께 위치된 부분(60) 자체에 기초하여 수행될 수 있고, 그리고/또는 이전 프레임, 즉 스펙트럼(46)이 속하는 현재 디코딩된 프레임 바로 앞의 프레임의 이미 디코딩된 채널들의 다운믹스를 사용할 수 있다. 사실상, 채널 간 예측기(24)는 도 4의 스케일 팩터 대역(50b)과 같이 채널 간 예측될 스케일 팩터 대역들에 방금 설명한 바와 같이 획득된 예측 신호를 가산한다.
이전 설명에서 이미 언급한 바와 같이, 스펙트럼(46)이 속하는 채널은 MS 코딩된 채널일 수도 있고, 또는 스테레오 오디오 신호의 좌측 또는 우측 채널과 같은 라우드스피커 관련 채널일 수 있다. 이에 따라, 선택적으로 MS 디코더(26)는 스펙트럼(48)에 대응하는 다른 채널의 스펙트럼상 대응하는 스펙트럼 라인들과의 가산 또는 감산을 스펙트럼 라인 또는 스펙트럼(46)마다 수행한다는 점에서, 선택적으로 채널 간 예측된 스펙트럼(46)을 MS 디코딩되게 한다. 예를 들어, 도 2에 도시되지는 않았지만, 도 4에 도시된 바와 같은 스펙트럼(48)은 스펙트럼(46)이 속하는 채널에 관해 앞서 제시된 설명과 유사한 방식으로 디코더(10)의 부분(34)을 통해 얻어졌고, MS 디코딩 모듈(26)은 MS 디코딩을 수행할 때, 스펙트럼들(46, 48)을 스펙트럼 라인 단위의 가산 또는 스펙트럼 라인 단위의 감산이 이루어지게 하는데, 두 스펙트럼들(46, 48) 모두 처리 라인 내의 동일한 스테이지에 있으며, 이는 둘 다 예를 들어, 단지 채널 간 예측에 의해 획득되었음을, 또는 둘 다 단지 잡음 채움 또는 역 TNS 필터링에 의해 획득되었음을 의미한다.
선택적으로, MS 디코딩은 예를 들어, 스케일 팩터 대역들(50)의 단위로 데이터 스트림(30)에 의해 개별적으로 활성화될 수 있거나 전체 스펙트럼(46)에 대해 전역적인 방식으로 수행될 수 있다는 점이 주목된다. 즉, MS 디코딩은 예를 들어, 프레임들 또는 어떤 보다 미세한 스펙트럼-시간 분해능의 단위로, 이를테면 예를 들어, 스펙트로그램들(40 및/또는 42)의 스펙트럼들(46 및/또는 48)의 스케일 팩터 대역들에 대해 개별적으로 데이터 스트림(30)에서 각각의 신호화를 사용하여 온 또는 오프 스위칭될 수 있으며, 여기서 두 채널들 모두의 스케일 팩터 대역들의 동등한 경계들이 정의된다고 가정된다.
도 2에 예시된 바와 같이, 역 TNS 필터(28)에 의한 역 TNS 필터링은 또한 채널 간 예측(58) 또는 MS 디코더(26)에 의한 MS 디코딩과 같은 임의의 채널 간 처리 후에 수행될 수 있다. 채널 간 처리 앞의 또는 다운스트림의 성능은 고정될 수 있거나, 데이터 스트림(30)의 각각의 프레임에 대한 또는 다른 어떤 세분성(granularity) 레벨에서의 각각의 신호화를 통해 제어될 수 있다. 역 TNS 필터링이 수행될 때마다, 현재 스펙트럼(46)에 대한 데이터 스트림에 존재하는 각각의 TNS 필터 계수들은 각각의 역 TNS 필터 모듈(28a 및/또는 28b)로 인바운드된 스펙트럼을 선형적으로 필터링하도록 TNS 필터, 즉 스펙트럼 방향을 따라 진행하는 선형 예측 필터를 제어한다.
따라서 역변환기(18)의 입력에 도달하는 스펙트럼(46)은 방금 설명한 바와 같이 추가 처리를 받게 되었을 수 있다. 다시, 위의 설명은 이러한 선택적인 툴들 모두가 동시에 존재하거나 아니면 동시에 존재하지 않는 방식으로 이해되는 것으로 여겨지지 않는다. 이러한 툴들은 부분적으로 또는 집합적으로 디코더(10)에 존재할 수 있다.
어떤 경우든, 역변환기의 입력에서의 결과적인 스펙트럼은 채널의 출력 신호의 최종 재구성을 나타내고, 복소 예측(58)과 관련하여 설명된 바와 같이, 디코딩될 다음 프레임에 대한 잠재적인 허수부 추정에 대한 기초로서 작용하는 현재 프레임에 대한 앞서 언급한 다운믹스의 기초를 형성한다. 이는 도 2에서 34를 제외한 엘리먼트들이 관련된 채널 이외의 다른 채널을 채널 간 예측하기 위한 최종 재구성으로서 추가로 작용할 수 있다.
각각의 다운믹스는 이 최종 스펙트럼(46)을 스펙트럼(48)의 각각의 최종 버전과 결합함으로써 다운믹스 제공기(31)에 의해 형성된다. 후자의 엔티티, 즉 스펙트럼(48)의 각각의 최종 버전은 예측기(24)에서 복소 채널 간 예측에 대한 기초를 형성하였다.
도 5는, 채널 간 잡음 채움에 대한 기초가 이전 프레임의 스펙트럼상 함께 위치된 스펙트럼 라인들의 다운믹스로 표현되어, 복소 채널 간 예측을 사용하는 선택적인 경우에, 이 복소 채널 간 예측의 소스가 채널 간 잡음 채움을 위한 소스로서뿐만 아니라 복소 채널 간 예측에서 허수부 추정을 위한 소스로서 2회 사용되는 한, 도 2에 대한 대안을 도시한다. 도 5는 스펙트럼(46)이 속하는 제1 채널의 디코딩에 관한 부분(70)뿐만 아니라, 스펙트럼(48)을 포함하는 다른 채널의 디코딩에 관련되는 앞서 언급한 다른 부분(34)의 내부 구조를 포함하는 디코더(10)를 도시한다. 한편으로는 부분(70) 그리고 다른 한편으로는 부분(34)의 내부 엘리먼트들에 대해 동일한 참조 부호가 사용되었다. 확인될 수 있듯이, 구성은 동일하다. 출력(32)에서, 스테레오 오디오 신호의 하나의 채널이 출력되고, 제2 디코더 부분(34)의 역변환기(18)의 출력에서, 스테레오 오디오 신호의 다른(출력) 채널이 얻어지는데, 이 출력은 참조 부호(74)로 표시된다. 또한, 앞서 설명한 실시예들은 2개보다 많은 채널들을 사용하는 경우로 용이하게 옮겨질 수 있다.
다운믹스 제공기(31)는 두 부분들(70, 34)에 의해 공동 사용되며 스펙트로그램들(40, 42)의 시간상 함께 위치된 스펙트럼들(48, 46)을 수신하여, 스펙트럼 라인 단위로 이러한 스펙트럼들을 합산함으로써 이러한 스펙트럼들에 기반한 다운믹스를 형성하며, 잠재적으로는 각각의 스펙트럼 라인에서의 합을 다운믹스된 채널들의 수, 즉 도 5의 경우에는 2로 나눔으로써 이러한 스펙트럼들로부터 평균을 형성한다. 다운믹스 제공기(31)의 출력에서, 이전 프레임의 다운믹스는 이 측정에 의해 야기된다. 이와 관련하여, 스펙트로그램들(40, 42) 중 어느 하나에 하나보다 많은 스펙트럼을 포함하는 이전 프레임의 경우, 다운믹스 제공기(31)가 그 경우에 어떻게 동작하는지에 대해 서로 다른 가능성들이 존재한다는 점이 주목된다. 예를 들어, 그 경우에 다운믹스 제공기(31)는 현재 프레임의 후행 변환들의 스펙트럼을 사용할 수도 있고, 또는 스펙트로그램(40, 42)의 현재 프레임의 모든 스펙트럼 라인 계수들을 인터리빙한 인터리빙 결과를 사용할 수 있다. 다운믹스 제공기(31)의 출력에 접속된 도 5에 도시된 지연 엘리먼트(74)는, 다운믹스 제공기(31)의 출력에서 이와 같이 제공된 다운믹스가 이전 프레임(76)의 다운믹스를 형성한다는 것을 보여준다(각각 채널 간 잡음 채움(56) 및 복소 예측(58)에 대해 도 4를 참조한다). 따라서 지연 엘리먼트(74)의 출력은 한편으로는 디코더 부분들(34, 70)의 채널 간 예측기들(24)의 입력들에, 그리고 다른 한편으로는 디코더 부분들(70, 34)의 잡음 채움기들(16)의 입력들에 접속된다.
즉, 도 2에서, 잡음 채움기(16)는 채널 간 잡음 채움의 기초로서 동일한 현재 프레임의 다른 채널의 최종적으로 재구성된 시간상 함께 위치된 스펙트럼(48)을 수신하지만, 도 5에서 채널 간 잡음 채움은 그 대신에 다운믹스 제공기(31)에 의해 제공된 이전 프레임의 다운믹스에 기초하여 수행된다. 채널 간 잡음 채움이 수행되는 방식은 동일하게 유지된다. 즉, 채널 간 잡음 채움기(16)는 도 2의 경우에는, 현재 프레임의 다른 채널의 스펙트럼의 각각의 스펙트럼으로부터, 그리고 도 5의 경우에는, 이전 프레임의 다운믹스를 나타내는, 이전 프레임으로부터 획득된 대체로 또는 완전히 디코딩된 최종 스펙트럼으로부터 스펙트럼상 함께 위치된 부분을 잡아내고, 각각의 스케일 팩터 대역의 스케일 팩터에 의해 결정된 타깃 잡음 레벨에 따라 스케일링된, 도 4의 50d와 같은 잡음이 채워질 스케일 팩터 대역 내의 스펙트럼 라인들에 동일한 "소스" 부분을 더한다.
오디오 디코더에서의 채널 간 잡음 채움을 설명하는 실시예들의 상기 논의의 결론을 내리면, "소스" 스펙트럼의 잡아낸 스펙트럼상 또는 시간상 함께 위치된 부분을 "타깃" 스케일 팩터 대역의 스펙트럼 라인들에 더하기 전에, 채널 간 채움의 일반적인 개념에서 벗어나지 않으면서 "소스" 스펙트럼 라인들에 특정 전처리가 적용될 수 있음이 당해 기술분야에서 통상의 지식을 가진 자들에게 명백해야 한다. 특히, 채널 간 잡음 채움 프로세스의 오디오 품질을 개선하기 위해, 도 4의 50d와 같이 "타깃" 스케일 팩터 대역에 추가될 "소스" 영역의 스펙트럼 라인들에, 예를 들어 스펙트럼 평탄화 또는 경사 제거와 같은 필터링 연산을 적용하는 것이 유리할 수 있다. 마찬가지로, 그리고 (완전히가 아니라) 대체로 디코딩된 스펙트럼의 일례로, 앞서 언급한 "소스" 부분은 이용 가능한 역(즉, 합성) TNS 필터에 의해 아직 필터링되지 않은 스펙트럼으로부터 얻어 질 수 있다.
따라서 상기 실시예는 채널 간 잡음 채움의 개념에 관한 것이다. 다음으로, 채널 간 잡음 채움의 상기 개념이 기존의 코덱, 즉 xHE-AAC에 반-하위 호환 가능한 방식으로 어떻게 구축될 수 있는지에 대한 가능성이 설명된다. 특히, 상기 실시예들의 바람직한 구현이 이하에서 설명되는데, 그에 따라 반-하위 호환 가능한 시그널링 방식으로 xHE-AAC 기반 오디오 코덱에 스테레오 채움 툴이 구축된다. 아래에서 추가 설명되는 구현의 사용에 의해, 특정 스테레오 신호들에 대해, MPEG-D xHE-AAC(USAC)에 기초한 오디오 코덱에서의 2개의 채널들 중 어느 하나의 변환 계수들의 스테레오 채움이 실현 가능하고, 이로써 특히 낮은 비트레이트들로 특정 오디오 신호들의 코딩 품질을 향상시킨다. 스테레오 채움 툴은 레거시 xHE-AAC 디코더들이 명백한 오디오 에러들 또는 중단(drop-out)들 없이 비트스트림들을 파싱 및 디코딩할 수 있도록 반-하위 호환 가능하게 시그널링된다. 앞서 이미 설명한 바와 같이, 오디오 코더가 2개의 스테레오 채널들의 이전에 디코딩/양자화된 계수들의 조합을 사용하여, 현재 디코딩된 채널들 중 어느 하나의 0으로 양자화된(송신되지 않은) 계수들을 재구성할 수 있다면, 보다 양호한 전체 품질이 달성될 수 있다. 따라서 오디오 코더들, 특히 xHE-AAC 또는 그에 기반한 코더들에서 (저주파 채널 계수에서 고주파 채널 계수로의) 스펙트럼 대역 복제 및 (상관되지 않은 의사 랜덤 소스로부터의) 잡음 채움에 추가하여 (이전 채널 계수들에서 현재 채널 계수들로의) 이러한 스테레오 채움을 가능하게 하는 것이 바람직하다.
스테레오 채움에 의해 코딩된 비트스트림들이 레거시 xHE-AAC 디코더들에 의해 판독 및 파싱되게 하기 위해, 원하는 스테레오 채움 툴이 반-하위 호환 가능한 방식으로 사용될 것이며: 이러한 스테레오 채움 툴의 존재는 레거시 디코더들로 하여금 디코딩을 중단하게 ― 또는 심지어 시작하게 ― 하지 않아야 한다. xHE-AAC 인프라구조에 의한 비트스트림의 판독성은 또한 시장 채택을 가능하게 할 수 있다.
xHE-AAC의 콘텍스트 또는 그 잠재적 파생물들에서 스테레오 채움 툴에 대한 반-하위 호환성에 대해 앞서 언급한 의도를 달성하기 위해, 다음 구현은 스테레오 채움의 기능뿐만 아니라 실제로 잡음 채움에 관련이 있는 데이터 스트림에서의 신택스를 통해 스테레오 채움을 시그널링하는 능력을 수반한다. 스테레오 채움 툴은 위의 설명과 함께 작동할 것이다. 공통 윈도우 구성을 갖는 채널 쌍에서, 0으로 양자화된 스케일 팩터 대역의 계수는 스테레오 채움 툴이 활성화될 때, 잡음 채움에 대한 대안으로서(또는 설명된 바와 같이, 추가로) 2개의 채널들 중 어느 하나, 바람직하게는 우측 채널에서 이전 프레임의 계수들의 합 또는 차로 재구성된다. 스테레오 채움은 잡음 채움과 유사하게 수행된다. 시그널링은 xHE-AAC의 신호 채움 시그널링을 통해 이루어질 것이다. 스테레오 채움은 8 비트 잡음 채움 부가 정보를 통해 전달된다. MPEG-D USAC 표준[3]이 적용될 잡음 레벨이 0인 경우에도 8 비트 전부가 송신된다고 서술하고 있기 때문에 이것이 실현 가능하다. 그 상황에서, 잡음 채움 비트들 중 일부가 스테레오 채움 툴에 재사용될 수 있다.
레거시 xHE-AAC 디코더들에 의한 비트스트림 파싱 및 재생에 관한 반-하위 호환성은 다음과 같이 보장된다. 스테레오 채움은 0의 잡음 레벨을 통해 시그널링되는데(즉, 처음 3개의 잡음 채움 비트들은 모두 0 값을 가짐), 스테레오 채움 툴에 관한 부가 정보뿐만 아니라 누락된 잡음 레벨도 포함하는 (종래에는 잡음 오프셋을 나타내는) 5개의 0이 아닌 비트들이 이어진다. 레거시 xHE-AAC 디코더는 3-비트 잡음 레벨이 0이라면 5-비트 잡음 오프셋 값을 무시하기 때문에, 스테레오 채움 툴 시그널링의 존재는 레거시 디코더에서 잡음 채움에만 영향을 갖는데: 처음 3개의 비트들이 0이기 때문에 잡음 채움은 오프 전환되고, 디코딩 동작의 나머지가 의도한 대로 실행된다. 특히 스테레오 채움은 비활성화되는 잡음 채움 프로세스와 같이 작동되는 사실로 인해 수행되지 않는다. 그러므로 레거시 디코더는 스테레오 채움이 온으로 전환되는 프레임에 도달시 출력 신호를 뮤트하거나 또는 심지어 디코딩을 중단할 필요가 없기 때문에 레거시 디코더는 여전히 강화된 비트스트림(30)의 "적절한" 디코딩을 제공한다. 그러나 물론, 이는 스테레오 채움 라인 계수들의 정확한 의도된 재구성을 제공할 수 없어, 새로운 스테레오 채움 툴을 적절히 다룰 수 있는 적절한 디코더에 의한 디코딩과 비교할 때 영향받는 프레임들에서의 열화된 품질로 이어진다. 그럼에도, 의도한 대로, 즉 낮은 비트레이트들의 스테레오 입력에 대해서만 스테레오 채움 툴이 사용된다고 가정하면, xHE-AAC 디코더들을 통한 품질은 영향받는 프레임들이 뮤트로 인해 중단되거나 다른 명백한 재생 에러들로 이어지게 되는 경우보다 더 양호해야 한다.
다음에는, 확장으로서 xHE-AAC 코덱으로 스테레오 채움 툴이 어떻게 구축될 수 있는지에 대한 상세한 설명이 제시된다.
표준으로 구축될 때, 스테레오 작성 툴은 다음과 같이 설명될 수 있다. 특히, 이러한 스테레오 채움(SF: stereo filling) 툴은 MPEG-H 3D 오디오의 주파수 도메인(FD: frequency-domain) 부분에 새로운 툴을 나타낼 것이다. 위의 논의와 함께, 이러한 스테레오 채움 툴의 목표는 [3]에서 설명된 표준의 섹션 7.2에 따라 이미 잡음 채움으로 달성될 수 있는 것과 유사한 낮은 비트레이트들에서의 MDCT 스펙트럼 계수들의 파라메트릭 재구성이 될 것이다. 그러나 임의의 FD 채널의 MDCT 스펙트럼 값들을 생성하기 위한 의사 랜덤 잡음 소스를 이용하는 잡음 채움과는 달리, SF는 이전 프레임의 좌측 및 우측 MDCT 스펙트럼들의 다운믹스를 사용하여 채널들의 공동으로 코딩된 스테레오 쌍의 우측 채널의 MDCT 값을 재구성하기 위해 또한 이용 가능할 것이다. SF는 아래에 제시되는 구현에 따라, 레거시 MPEG-D USAC 디코더에 의해 정확하게 파싱될 수 있는 잡음 채움 부가 정보에 의해 반-하위 호환 가능하게 시그널링된다.
툴 설명은 다음과 같을 수 있다. SF가 공동 스테레오 FD 프레임에서 활성인 경우, 50d와 같이 우측(제2) 채널의 비어 있는(즉, 완전히 0으로 양자화된) 스케일 팩터 대역들의 MDCT 계수들은 (FD라면) 이전 프레임의 대응하는 디코딩된 좌측 채널 및 우측 채널의 MDCT 계수들의 합 또는 차로 대체된다. 레거시 잡음 채움이 제2 채널에 대해 활성화되어 있다면, 의사 랜덤 값이 각각의 계수에 또한 추가된다. 그 다음, 각각의 스케일 팩터 대역의 결과 계수들은 각각의 대역의 RMS(평균 계수 제곱근)가 해당 대역의 스케일 팩터를 통해 송신된 값과 일치하도록 스케일링된다. [3]의 표준의 섹션 7.3을 참조한다.
MPEG-D USAC 표준에서 새로운 SF 툴의 사용을 위해 몇 가지 작동 상의 제약들이 제공될 수 있다. 예를 들어, SF 툴은 공통 FD 채널 쌍, 즉 common_window == 1인 StereoCoreToolInfo( )를 송신하는 채널 쌍 엘리먼트의 우측 FD 채널에서만 사용을 위해 이용 가능할 수 있다. 게다가, 반-하위 호환성 있는 시그널링으로 인해, 신택스 컨테이너 UsacCoreConfig( )에서 noiseFilling == 1일 때만 SF 툴이 사용을 위해 이용 가능할 수 있다. 쌍의 채널들 중 하나가 LPD core_mode에 있다면, 우측 채널이 FD 모드인 경우에도 SF 툴이 사용되지 않을 수 있다.
[3]에서 설명한 표준의 확장을 보다 명확하게 설명하기 위해 이후에 다음 용어들 및 정의들이 사용된다.
특히, 데이터 엘리먼트들에 관한 한 다음 데이터 엘리먼트가 새로 도입된다:
stereo_filling 현재 프레임 및 채널에 SF가 이용되는지 여부를 표시하는 2진 플래그.
또한, 새로운 보조 엘리먼트들이 도입된다:
noise_offset 0으로 양자화된 대역들의 스케일 팩터들을 수정하기 위한 잡음 채움 오프셋(섹션 7.2)
noise_level 부가된 스펙트럼 잡음의 진폭을 나타내는 잡음 채움 레벨(섹션 7.2)
downmix_prev[ ] 이전 프레임의 좌측 채널 및 우측 채널의 다운믹스(즉, 합 또는 차)
sf_index[g][sfb] 윈도우 그룹(g) 및 대역(sfb)에 대한 스케일 팩터 인덱스(즉, 송신된 정수)
표준의 디코딩 프로세스는 다음과 같은 방식으로 확장될 것이다. 특히, SF 툴이 활성화된 공동 스테레오 코딩된 FD 채널의 디코딩은 다음과 같이 3개의 순차적 단계들로 실행된다:
먼저, stereo_filling 플래그의 디코딩이 수행될 것이다.
stereo_filling은 독립적인 비트스트림 엘리먼트를 나타내는 것이 아니라 UsacChannelPairElement()의 잡음 채움 엘리먼트들(noise_offset 및 noise_level) 그리고 StereoCoreToolInfo()의 common_window 플래그로부터 도출된다. noiseFilling == 0 또는 common_window == 0 또는 현재 채널이 엘리먼트의 좌측(제1) 채널이라면, stereo_filling은 0이고, 스테레오 채움 프로세스가 종료한다. 그렇지 않으면,
if ((noiseFilling != 0) && (common_window != 0) && (noise_level == 0)) {
stereo_filling = (noise_offset & 16) / 16;
noise_level = (noise_offset & 14) / 2;
noise_offset = (noise_offset & 1) * 16;
}
else {
stereo_filling = 0;
}
즉, noise_level == 0이라면, noise_offset은 4 비트의 잡음 채움 데이터가 이어지는 stereo_filling 플래그를 포함하는데, 이는 다음에 재정렬된다. 이러한 연산은 noise_level 및 noise_offset의 값들을 변경시키기 때문에, 이는 섹션 7.2의 잡음 채움 프로세스 이전에 수행될 필요가 있다. 더욱이, 상기 의사 코드는 UsacChannelPairElement( ) 또는 임의의 다른 엘리먼트의 좌측(제1) 채널에서 실행되지 않는다.
그런 다음, downmix_prev의 계산이 수행될 것이다.
스테레오 채움을 위해 사용되는 다운믹스 스펙트럼인 downmix_prev[ ]는 복소 스테레오 예측(섹션 7.7.2.3)에서 MDST 스펙트럼 추정에 사용된 dmx_re_prev[ ]와 동일하다. 이는 다음을 의미한다:
● 다운믹싱이 수행되는 프레임 및 엘리먼트― 즉, 현재 디코딩된 프레임 이전의 프레임―의 채널들 중 임의의 채널이 core_mode == 1(LPD)을 사용하거나 채널들이 동일하지 않은 변환 길이들을 사용하거나(split_transform == 1 또는 단 하나의 채널에서 window_sequence == EIGHT_SHORT_SEQUENCE로의 블록 스위칭) usacIndependencyFlag == 1이라면, downmix_prev[ ]의 모든 계수들이 0이어야 한다.
● 현재 엘리먼트에서 채널의 변환 길이가 마지막 프레임에서 현재 프레임으로 변경되었다면(즉, split_transform == 1에 split_transform == 0이 선행하거나, window_sequence == EIGHT_SHORT_SEQUENCE에 window_sequence != EIGHT_SHORT_SEQUENCE가 선행하거나, 그 반대도 가능함), 스테레오 채움 프로세스 동안 downmix_prev[ ]의 모든 계수들이 0이어야 한다.
● 변환 분할이 이전 또는 현재 프레임의 채널들에 적용된다면, downmix_prev[ ]는 라인 단위로 인터리빙된 스펙트럼 다운믹스를 나타낸다. 세부사항들에 대해 변환 분할 툴을 참조한다.
● 복소 스테레오 예측이 현재 프레임 및 엘리먼트에서 이용되지 않는다면, pred_dir은 0과 같다.
결과적으로, 이전 다운믹스는 두 툴들 모두에 대해 한 번만 계산되어야 하므로, 복잡도를 줄인다. 섹션 7.7.2에서 downmix_prev[ ]와 dmx_re_prev[ ] 간의 유일한 차이점은 복소 스테레오 예측이 현재 사용되지 않을 때, 또는 복소 스테레오 예측이 활성 상태이지만, use_prev_frame == 0일 때의 동작이다. 그 경우, dmx_re_prev[ ]가 복소 스테레오 예측 디코딩에 필요하지 않고 따라서 정의되지 않고/0이더라도, 섹션 7.7.2.3에 따른 스테레오 채움 디코딩에 대해 downmix_prev[ ]가 계산된다.
이후, 비어 있는 스케일 팩터 대역들의 스테레오 채움이 수행될 것이다.
stereo_filling == 1이라면, 잡음 채움 프로세스 in max_sfb_ste 아래의 모든 초기의 비어 있는 스케일 팩터 대역들 sfb[ ], 즉 모든 MDCT 라인들이 0으로 양자화된 모든 대역들 이후에 다음의 프로시저가 실행된다. 먼저, 주어진 sfb[ ]의 에너지들과 downmix_prev[ ]의 대응하는 라인들이 라인 제곱들의 합들을 통해 계산된다. 그런 다음, sfb[ ]당 라인들의 수를 포함하는 sfbWidth가 주어지면, 각각의 그룹 윈도우의 스펙트럼에 대해 다음과 같이 실행된다:
if (energy[sfb] < sfbWidth[sfb]) { /* 잡음 레벨이 최대가 아니거나 대역이 잡음 채움 영역 아래에서 시작함 */
facDmx = sqrt((sfbWidth[sfb] - energy[sfb]) / energy_dmx[sfb]);
factor = 0.0;
/* 이전 다운믹스가 비어 있지 않다면, 스케일링된 다운믹스 라인들을 추가하여 대역이 단위 에너지에 도달하게 함 */
for (index = swb_offset[sfb]; index < swb_offset[sfb+1]; index++) {
spectrum[window][index] += downmix_prev[window][index] * facDmx;
factor += spectrum[window][index] * spectrum[window][index];
}
if ((factor != sfbWidth[sfb]) && (factor > 0)) { /* 단위 에너지에 도달하지 않으므로, 대역을 수정함 */
factor = sqrt(sfbWidth[sfb] / (factor + 1e-8));
for (index = swb_offset[sfb]; index < swb_offset[sfb+1]; index++) {
spectrum[window][index] *= factor;
}
}
}
그런 다음, 섹션 7.3에서와 같이 결과 스펙트럼에 스케일 팩터들이 적용되고, 비어 있는 대역들의 스케일 팩터들은 정규 스케일 팩터들처럼 처리된다.
xHE-AAC 표준의 상기 확장에 대한 대안은 암시적인 반-하위 호환 가능 시그널링 방법을 사용할 것이다.
xHE-AAC 코드 프레임워크의 상기 구현은 도 2에 따른 디코더에 stereo_filling에 포함된 새로운 스테레오 채움 툴의 사용을 시그널링하기 위해 비트스트림에서 1 비트를 이용하는 접근 방식을 설명한다. 보다 정확하게는, 이러한 시그널링(이를 명시적 반-하위 호환성 있는 시그널링이라 한다)은 다음의 레거시 비트스트림 데이터― 여기서는 잡음 채움 부가 정보 ―가 SF 신호화와 독립적으로 사용되게 한다. 본 실시예에서, 잡음 채움 데이터는 스테레오 채움 정보에 의존하지 않으며, 그 반대도 마찬가지이다. 예를 들어, 전부 0으로 구성된 잡음 채움 데이터(noise_level = noise_offset = 0)가 송신될 수도 있는 한편, stereo_filling은 (0 또는 1인 2진 플래그인) 임의의 가능한 값을 시그널링할 수도 있다.
레거시와 발명의 비트스트림 데이터 간의 엄격한 독립성이 요구되지 않고 발명의 신호가 2진 결정인 경우에, 시그널링 비트의 명시적 송신이 회피될 수 있고, 상기 2진 결정은 암시적 반-하위 호환 가능한 시그널링이라 불릴 수도 있는 것의 유무로 시그널링될 수 있다. 상기 실시예를 다시 일례로 취하면, 단순히 새로운 시그널링을 이용함으로써 스테레오 채움의 사용이 송신될 수 있는데: noise_level이 0이고, 동시에 noise_offset이 0이 아니라면, stereo_filling 플래그가 1과 같게 설정된다. noise_level과 noise_offset 모두 0이 아니라면, stereo_filling은 0과 같다. noise_level과 noise_offset 모두가 0일 때 레거시 잡음 채움 신호에 대한 이러한 암시적 신호의 의존성이 발생한다. 이 경우, 레거시 아니면 새로운 SF 암시적 시그널링이 사용되고 있는지가 불명확하다. 이러한 모호성을 피하기 위해, stereo_filling의 값이 사전에 정의되어야 한다. 본 예에서는, 잡음 채움 데이터가 전부 0으로 구성되는 경우에 stereo_filling = 0을 정의하는 것이 적절한데, 이것은 프레임에서 잡음 채움이 적용되지 않아야 할 때 스테레오 채움 능력 신호가 없는 레거시 인코더들이 시그널링할 것이기 때문이다.
암시적 반-하위 호환성 있는 시그널링의 경우에 여전히 해결되어야 할 문제는 stereo_filling == 1 그리고 동시에 잡음 채움 없음을 어떻게 시그널링하는지이다. 설명한 바와 같이, 잡음 채움 데이터는 전부 0은 아니어야 하며, 0의 잡음 크기가 요구된다면, noise_level(위에서 언급한 바와 같이 (noise_offset & 14)/2)은 0과 같아야 한다. 이는 솔루션으로서 단지 noise_offset(위에서 언급한 바와 같이 (noise_offset & 1)*16)를 0보다 더 크게 하는 것뿐이다. 그러나 noise_level이 0인 경우에도 스케일 팩터들을 적용할 때 스테레오 채움의 경우에 noise_offset이 고려된다. 다행히도, 인코더는 영향을 받은 스케일 팩터들이 비트스트림 기록시 noise_offset을 통해 디코더에서 취소된 오프셋을 포함하도록 이러한 스케일 팩터들을 변경함으로써 0의 noise_offset이 송신 가능하지 않을 수도 있다는 사실을 보상할 수 있다. 이는 스케일 팩터 데이터 레이트의 잠재적인 증가를 희생하면서 상기 실시예에서 상기 암시적 시그널링을 가능하게 한다. 그러므로 위의 설명의 의사 코드에서의 스테레오 채움의 시그널링은 1 비트 대신 2비트(4개의 값들)로 noise_offset을 송신하도록, 저장된 SF 시그널링 비트를 사용하여 다음과 같이 변경될 수 있다:
if ((noiseFilling) && (common_window) && (noise_level == 0) && (noise_offset > 0)) {
stereo_filling = 1;
noise_level = (noise_offset & 28) / 4;
noise_offset = (noise_offset & 3) * 8;
}
else {
stereo_filling = 0;
}
완전성을 위해, 도 6은 본 출원의 일 실시예에 따른 파라메트릭 오디오 인코더를 도시한다. 우선, 일반적으로 참조 부호(90)를 사용하여 표시된 도 6의 인코더는 도 2의 출력(32)에서 재구성된 오디오 신호의 원래의 왜곡되지 않은 버전의 변환을 수행하기 위한 변환기(92)를 포함한다. 도 3에 관해 설명한 바와 같이, 프레임들(44)의 단위로 대응하는 변환 윈도우들을 갖는 서로 다른 변환 길이들 간의 전환에 중복 변환이 사용될 수 있다. 서로 다른 변환 길이 및 대응하는 변환 윈도우들이 참조 부호(104)를 사용하여 도 3에 예시된다. 도 2와 유사한 방식으로, 도 6은 다채널 오디오 신호의 하나의 채널을 인코딩하는 것을 담당하는 인코더(90)의 일부분에 집중하는 반면, 디코더(90)의 다른 채널 도메인 부분은 일반적으로 도 6의 참조 부호(96)를 사용하여 표시된다.
변환기(92)의 출력에서, 스펙트럼 라인들 및 스케일 팩터들은 양자화되지 않고 실질적으로 코딩 손실이 아직 발생하지 않았다. 변환기(92)에 의해 출력된 스펙트로그램은 스펙트럼 단위로 스케일 팩터 대역들의 예비 스케일 팩터들을 설정하고 사용하여, 변환기(92)에 의해 출력된 스펙트로그램의 스펙트럼 라인들을 양자화하도록 구성된 양자화기(98)에 입력된다. 즉, 양자화기(98)의 출력에서, 예비 스케일 팩터들 및 대응하는 스펙트럼 라인 계수들이 발생하고, 잡음 채움기(16'), 선택적인 역 TNS 필터(28a'), 채널 간 예측기(24'), MS 디코더(26') 및 역 TNS 필터(28b')의 시퀀스가 순차적으로 연결되어, 다운믹스 제공기의 입력(도 2 참조)에서 디코더 측에서 얻을 수 있는 현재 스펙트럼의 재구성된 최종 버전을 얻는 능력을 도 6의 인코더(90)에 제공한다. 이전 프레임의 다운믹스를 사용하여 채널 간 잡음을 형성하는 버전에서 채널 간 예측(24')을 사용하는 그리고/또는 채널 간 잡음 채움을 사용하는 경우, 인코더(90)는 또한 다채널 오디오 신호의 채널들의 스펙트럼들의 재구성된 최종 버전들의 다운믹스를 형성하도록 다운믹스 제공기(31')를 포함한다. 물론, 계산들을 줄이기 위해, 최종 대신에, 채널들의 상기 스펙트럼들의 원래의 양자화되지 않은 버전들이 다운믹스의 형성시 다운믹스 제공기(31')에 의해 사용될 수 있다.
인코더(90)는 허수부 추정을 사용하여 채널 간 예측을 수행하는 앞서 언급한 가능한 버전과 같은 프레임 간 스펙트럼 예측을 수행하기 위해 그리고/또는 레이트 제어를 수행하기 위해, 즉 인코더(90)에 의해 데이터 스트림(30)으로 마지막으로 인코딩된 가능한 파라미터들이 레이트/왜곡 최적의 의미에서 설정됨을 레이트 제어 루프 내에서 결정하기 위해 스펙트럼들의 이용 가능한 재구성된 최종 버전에 대한 정보를 사용할 수 있다.
예를 들어, 인코더(90)의 이러한 예측 루프 및/또는 레이트 제어 루프에 설정된 이러한 하나의 파라미터는 식별기(12')에 의해 식별된 각각의 0으로 양자화된 스케일 팩터 대역에 대해, 단지 양자화기(98)에 의해 예비적으로 설정된 각각의 스케일 팩터 대역의 스케일 팩터이다. 인코더(90)의 예측 및/또는 레이트 제어 루프에서, 0으로 양자화된 스케일 팩터 대역들의 스케일 팩터는 앞서 설명한 바와 같이, 대응하는 프레임에 대한 데이터 스트림에 의해 디코더 측으로 또한 전달되는 선택적인 수정 파라미터와 함께, 앞서 언급한 타깃 잡음 레벨을 결정하도록 어떤 심리 음향적으로 또는 레이트/왜곡 최적의 의미에서 설정된다. 이 스케일 팩터는 그것이 속하는 스펙트럼 및 채널(즉, 앞서 설명한 바와 같이 "타깃" 스펙트럼)의 스펙트럼 라인들만을 사용하여 계산될 수 있거나, 대안으로 "타깃" 채널 스펙트럼의 스펙트럼 라인들과 또한, 다운믹스 제공기(31')로부터 획득된 이전 프레임으로부터의 다운믹스 스펙트럼(즉, 앞서 소개된 바와 같은 "소스" 스펙트럼) 또는 다른 채널 스펙트럼의 스펙트럼 라인들을 모두 사용하여 결정될 수 있다는 점이 주목되어야 한다. 특히, 타깃 잡음 레벨을 안정화하기 위해 그리고 채널 간 잡음 채움이 적용되는 디코딩된 오디오 채널들에서 시간적 레벨 변동들을 감소시키기 위해, 타깃 스케일 팩터는 "타깃" 스케일 팩터 대역에서의 스펙트럼 라인들의 에너지 측정과 대응하는 "소스" 영역에서의 함께 위치된 스펙트럼 라인들의 에너지 측정 간의 관계를 사용하여 계산될 수 있다. 마지막으로, 앞서 지적한 바와 같이, 이 "소스" 영역은 다른 채널 또는 이전 프레임의 다운믹스의 재구성된 최종 버전으로부터, 또는 인코더 복잡도가 감소되어야 한다면, 동일한 다른 채널의 원래의 양자화되지 않은 버전 또는 이전 프레임의 스펙트럼들의 원래의 양자화되지 않은 버전들의 다운믹스로부터 발생할 수 있다.
다음에, 실시예들에 따른 다채널 인코딩 및 다채널 디코딩이 설명된다. 실시예들에서, 도 1a의 디코딩하기 위한 장치(201)의 다채널 프로세서(204)는 예컨대, 잡음 다채널 디코딩에 관해 설명되는 아래의 기술들 중 하나 이상을 수행하도록 구성될 수 있다.
그러나 먼저, 다채널 디코딩을 설명하기 전에, 실시예들에 따른 다채널 인코딩이 도 7 내지 도 9를 참조하여 설명되고, 이어서 도 10 및 도 12를 참조하여 다채널 디코딩이 설명된다.
이제, 실시예들에 따른 다채널 인코딩이 도 7 내지 도 9 그리고 도 11을 참조하여 설명된다.
도 7은 적어도 3개의 채널들(CH1 내지 CH3)을 갖는 다채널 신호(101)를 인코딩하기 위한 장치(인코더)(100)의 개략적인 블록도를 도시한다.
이 장치(100)는 반복 프로세서(102), 채널 인코더(104) 및 출력 인터페이스(106)를 포함한다.
반복 프로세서(102)는 제1 반복 단계에서 적어도 3개의 채널들(CH1 내지 CH3)의 각각의 쌍 사이의 채널 간 상관 값들을 계산하고, 제1 반복 단계에서 가장 높은 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하고, 그리고 선택된 쌍을 다채널 처리 연산을 사용하여 처리하여 선택된 쌍에 대한 다채널 파라미터들(MCH_PAR1)을 도출하고 제1 처리된 채널들(P1, P2)을 도출하도록 구성된다. 다음에서, 이러한 처리된 채널(P1) 및 이러한 처리된 채널(P2)은 또한 조합 채널(P1) 및 조합 채널(P2)로 각각 지칭될 수 있다. 또한, 반복 프로세서(102)는 다채널 파라미터들(MCH_PAR2) 및 제2 처리된 채널들(P3, P4)을 도출하기 위해, 처리된 채널들(P1 또는 P2) 중 적어도 하나를 사용하여 제2 반복 단계에서 계산, 선택 및 처리를 수행하도록 구성된다.
예를 들어, 도 7에 나타낸 바와 같이, 반복 프로세서(102)는 제1 반복 단계에서, 적어도 3개의 채널들(CH1 내지 CH3)의 제1 쌍 사이의 채널 간 상관 값을 계산할 수 있으며, 제1 쌍은 제1 채널(CH1)과 제2 채널(CH2), 적어도 3개의 채널들(CH1 내지 CH3)의 제2 쌍 사이의 채널 간 상관 값으로 구성되고, 제2 쌍은 제2 채널(CH2)과 제3 채널(CH3), 그리고 적어도 3개의 채널들(CH1 내지 CH3)의 제3 쌍 사이의 채널 간 상관 값으로 구성되며, 제3 쌍은 제1 채널(CH1)과 제3 채널(CH3)로 구성된다.
도 7에서는, 제1 반복 단계에서, 제1 채널(CH1)과 제3 채널(CH3)로 구성된 제3 쌍은 가장 높은 채널 간 상관 값을 포함하여, 반복 프로세서(102)가 제1 반복 단계에서 가장 높은 채널 간 상관 값을 갖는 제3 쌍을 선택하고 선택된 쌍, 즉 제3 쌍을 다채널 처리 연산을 사용해 처리하여, 선택된 쌍에 대한 다채널 파라미터들(MCH_PAR1)을 도출하고 제1 처리된 채널들(P1, P2)을 도출한다고 가정된다.
또한, 반복 프로세서(102)는 제2 반복 단계에서 가장 높은 채널 간 상관 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하기 위해, 제2 반복 단계에서 적어도 3개의 채널들(CH1 내지 CH3)의 각각의 쌍과 처리된 채널들(P1, P2) 사이의 채널 간 상관 값들을 계산하도록 구성된다. 이로써, 반복 프로세서(102)는 제2 반복 단계에서(또는 임의의 추가 반복 단계에서) 제1 반복 단계의 선택된 쌍을 선택하지 않도록 구성될 수 있다.
도 7에 도시된 예를 참조하면, 반복 프로세서(102)는 제1 채널(CH1)과 제1 처리된 채널(P1)로 구성된 채널들의 제4 쌍 사이의 채널 상관 값, 제1 채널(CH1)과 제2 처리된 채널(P2)로 구성된 제5 쌍 사이의 채널 상관 값, 제2 채널(CH2)과 제1 처리된 채널(P1)로 구성된 제6 쌍 사이의 채널 상관 값, 제2 채널(CH2)과 제2 처리된 채널(P2)로 구성된 제7 쌍 사이의 채널 상관 값, 제3 채널(CH3)과 제1 처리된 채널(P1)로 구성된 제8 쌍 사이의 채널 상관 값, 제3 채널(CH3)과 제2 처리된 채널(P2)로 구성된 제9 쌍 사이의 채널 상관 값, 및 제1 처리된 채널(P1)과 제2 처리된 채널(P2)로 구성된 제10 쌍 사이의 채널 간 상관 값을 추가로 계산할 수 있다.
도 7에서는, 제2 반복 단계에서, 제2 채널(CH2)과 제1 처리된 채널(P1)로 구성된 제6 쌍은 가장 높은 채널 간 상관 값을 포함하여, 반복 프로세서(102)가 제2 반복 단계에서 제6 쌍을 선택하고 선택된 쌍, 즉 제6 쌍을 다채널 처리 연산을 사용해 처리하여, 선택된 쌍에 대한 다채널 파라미터들(MCH_PAR2)을 도출하고 제2 처리된 채널들(P3, P4)을 도출한다고 가정된다.
반복 프로세서(102)는 쌍의 레벨 차이가 임계치보다 작을 때만 그 쌍을 선택하도록 구성될 수 있는데, 임계치는 40㏈, 25㏈, 12㏈보다 더 작거나 6㏈보다 더 작다. 이로써, 25 또는 40㏈의 임계치들은 3도 또는 0.5도의 회전각들에 해당한다.
반복 프로세서(102)는 정규화된 정수 상관 값들을 계산하도록 구성될 수 있으며, 여기서 반복 프로세서(102)는 정수 상관 값이 예를 들어, 0.2 또는 바람직하게는 0.3보다 클 때, 쌍을 선택하도록 구성될 수 있다.
또한, 반복 프로세서(102)는 채널 인코더(104)에 다채널 처리로부터 야기되는 채널들을 제공할 수 있다. 예를 들어, 도 7을 참조하면, 반복 프로세서(102)는 제2 반복 단계에서 수행된 다채널 처리로부터 야기된 제3 처리된 채널(P3) 및 제4 처리된 채널(P4) 그리고 제1 반복 단계에서 수행된 다채널 처리로부터 야기된 제2 처리된 채널(P2)을 채널 인코더(104)에 제공할 수 있다. 이로써, 반복 프로세서(102)는 후속 반복 단계에서 (추가) 처리되지 않은 그러한 처리된 채널들만을 채널 인코더(104)에 제공할 수 있다. 도 7에 도시된 바와 같이, 제1 처리된 채널(P1)은 제2 반복 단계에서 추가 처리되기 때문에 이는 채널 인코더(104)에 제공되지 않는다.
채널 인코더(104)는 반복 프로세서(102)에 의해 수행된 반복 처리(또는 다채널 처리)로부터 야기된 채널들(P2 내지 P4)을 인코딩하여 인코딩된 채널들(E1 내지 E3)을 획득하도록 구성될 수 있다.
예를 들어, 채널 인코더(104)는 반복 처리(또는 다채널 처리)로부터 야기된 채널들(P2 내지 P4)을 인코딩하기 위해 모노 인코더들(또는 모노 박스들 또는 모노 툴들)(120_1 내지 120_3)를 사용하도록 구성될 수 있다. 모노 박스들은 더 많은 에너지(또는 더 높은 진폭)를 갖는 채널을 인코딩하기 위해서보다 더 적은 에너지(또는 더 작은 진폭)를 갖는 채널을 인코딩하기 위해 더 적은 비트들이 요구되게 채널들을 인코딩하도록 구성될 수 있다. 모노 박스들(120_1 내지 120_3)은 예를 들어 변환 기반 오디오 인코더들일 수 있다. 또한, 채널 인코더(104)는 반복 처리(또는 다채널 처리)로부터 야기된 채널들(P2 내지 P4)을 인코딩하기 위해 스테레오 인코더들(예를 들어, 파라메트릭 스테레오 인코더들 또는 손실 있는 스테레오 인코더들)을 사용하도록 구성될 수 있다.
출력 인터페이스(106)는 인코딩된 채널들(E1 내지 E3)과 제1 및 제2 다채널 파라미터들(MCH_PAR1, MCH_PAR2)을 갖는 인코딩된 다채널 신호(107)를 생성하도록 구성될 수 있다.
예를 들어, 출력 인터페이스(106)는 직렬 신호 또는 직렬 비트스트림으로서 인코딩된 다채널 신호(107)를 생성하도록, 그리고 이에 따라 다채널 파라미터들(MCH_PAR2)이 다채널 파라미터들(MCH_PAR1) 전에 인코딩된 신호(107)에 있도록 구성될 수 있다. 따라서 도 10과 관련하여 이후에 실시예가 설명될 디코더는 다채널 파라미터들(MCH-PAR1) 전에 다채널 파라미터들(MCH_PAR2)을 수신할 것이다.
도 7에서, 반복 프로세서(102)는 예시적으로 2개의 다채널 처리 연산들인 제1 반복 단계에서의 다채널 처리 연산 및 제2 반복 단계에서의 다채널 처리 연산을 수행한다. 당연히, 반복 프로세서(102)는 또한 후속 반복 단계들에서 추가 다채널 처리 연산들을 수행할 수 있다. 이로써, 반복 프로세서(102)는 반복 종료 기준에 도달할 때까지 반복 단계들을 수행하도록 구성될 수 있다. 반복 종료 기준은 반복 단계들의 최대 개수가 다채널 신호(101)의 총 채널 수와 동일하거나 2개 더 많은 것일 수 있고, 또는 여기서 반복 종료 기준은 채널 간 상관 값들이 임계치보다 더 큰 값을 갖지 않을 때, 임계치가 바람직하게는 0.2보다 더 크거나 임계치가 바람직하게는 0.3인 것이다. 추가 실시예들에서, 반복 종료 기준은 반복 단계들의 최대 개수가 다채널 신호(101)의 총 채널 수와 동일하거나 더 많은 것일 수 있고, 또는 여기서 반복 종료 기준은 채널 간 상관 값들이 임계치보다 더 큰 값을 갖지 않을 때, 임계치가 바람직하게는 0.2보다 더 크거나 임계치가 바람직하게는 0.3인 것이다.
설명의 목적으로, 제1 반복 단계 및 제2 반복 단계에서 반복 프로세서(102)에 의해 수행되는 다채널 처리 연산들은 도 7에 처리 박스들(110, 112)로 예시적으로 예시된다. 처리 박스들(110, 112)은 하드웨어 또는 소프트웨어로 구현될 수 있다. 처리 박스들(110, 112)은 예를 들어, 스테레오 박스들일 수 있다.
이로써, 채널 간 신호 의존성은 공지된 공동 스테레오 코딩 툴들을 계층적으로 적용함으로써 활용될 수 있다. 이전 MPEG 접근 방식들과는 달리, 처리될 신호 쌍들은 고정 신호 경로(예를 들어, 스테레오 코딩 트리)에 의해 미리 결정되는 것이 아니라, 입력 신호 특성들에 적응하도록 동적으로 변경될 수 있다. 실제 스테레오 박스의 입력들은 (1) 채널들(CH1 내지 CH3)과 같은 처리되지 않은 채널들, (2) 처리된 신호들(P1 내지 P4)과 같은 선행하는 스테레오 박스의 출력들, 또는 (3) 처리되지 않은 채널과 선행하는 스테레오 박스의 출력의 조합 채널일 수 있다.
스테레오 박스(110, 112) 내부에서의 처리는 (USAC의 복소 예측 박스와 같이) 예측 기반 또는 KLT/PCA 기반일 수 있다(입력 채널들이 인코더에서 (예컨대, 2x2 회전 행렬을 통해) 회전되어 에너지 압축을 최대화, 즉 신호 에너지를 하나의 채널로 집중시키고, 디코더에서는 회전된 신호들이 원래의 입력 신호 방향들로 재변환될 것이다.
인코더(100)의 가능한 구현에서, (1) 인코더는 모든 채널 쌍 사이의 채널 간 상관을 계산하고 입력 신호들 중 하나의 적절한 신호 쌍을 선택하여 선택된 채널들에 스테레오 툴을 적용하고; (2) 인코더는 모든 채널들(처리되지 않은 채널들뿐만 아니라 처리된 중간 출력 채널들) 사이의 채널 간 상관을 재계산하고 입력 신호들 중 하나의 적절한 신호 쌍을 선택하여 선택된 채널들에 스테레오 툴을 적용하고; 그리고 (3) 인코더는 모든 채널 간 상관이 임계치 이하가 될 때까지 또는 최대 변환 횟수가 적용된다면 단계(2)를 반복한다.
이미 언급한 바와 같이, 인코더(100) 또는 보다 정확하게 반복 프로세서(102)에 의해 처리될 신호 쌍들은 고정 신호 경로(예를 들어, 스테레오 코딩 트리)에 의해 미리 결정되는 것이 아니라, 입력 신호 특성들에 적응하도록 동적으로 변경될 수 있다. 이로써, 인코더(100)(또는 반복 프로세서(102))는 다채널(입력) 신호(101)의 적어도 3개의 채널들(CH1 내지 CH3)에 따라 스테레오 트리를 구성하도록 구성될 수 있다. 즉, 인코더(100)(또는 반복 프로세서(102))는 채널 간 상관에 기초하여(예를 들어, 제1 반복 단계에서 가장 높은 값 또는 임계치보다 큰 값을 갖는 쌍을 선택하기 위해 제1 반복 단계에서 적어도 3개의 채널들(CH1 내지 CH3)의 각각의 쌍 사이의 채널 간 상관 값들을 계산함으로써, 그리고 제2 반복 단계에서 가장 높은 값 또는 임계치보다 큰 값을 갖는 쌍을 선택하기 위해 제2 반복 단계에서 적어도 3개의 채널들의 각각의 쌍과 이전 처리된 채널들 사이의 채널 간 상관 값들을 계산함으로써) 스테레오 트리를 구축하도록 구성될 수 있다. 한 단계 접근 방식에 따라, 가능하게는 이전 반복들에서 처리된 모든 채널들의 상관들을 포함하는, 가능하게는 각각의 반복에 대해 상관 행렬이 계산될 수 있다.
위에서 나타낸 바와 같이, 반복 프로세서(102)는 제1 반복 단계에서 선택된 쌍에 대한 다채널 파라미터들(MCH_PAR1)을 도출하고 제2 반복 단계에서 선택된 쌍에 대한 다채널 파라미터들(MCH_PAR2)을 도출하도록 구성될 수 있다. 다채널 파라미터들(MCH_PAR1)은 제1 반복 단계에서 선택된 채널들의 쌍을 식별(또는 시그널링)하는 제1 채널 쌍 식별(또는 인덱스)을 포함할 수 있으며, 여기서 다채널 파라미터들(MCH_PAR2)은 제2 반복 단계에서 선택된 채널들의 쌍을 식별(또는 시그널링)하는 제2 채널 쌍 식별(또는 인덱스)을 포함할 수 있다.
다음에는, 입력 신호들의 효율적인 인덱싱이 설명된다. 예를 들어, 채널 쌍들은 총 채널 수에 따라 각각의 쌍에 대한 고유 인덱스를 사용하여 효율적으로 시그널링될 수 있다. 예를 들어, 6개의 채널들에 대한 쌍들의 인덱싱은 아래에 도시된 바와 같다:
Figure 112018092164746-pct00001
예를 들어, 상기 테이블에서, 인덱스(5)는 제1 채널 및 제2 채널로 구성된 쌍을 시그널링할 수 있다. 마찬가지로, 인덱스(6)는 제1 채널 및 제3 채널로 구성된 쌍을 시그널링할 수 있다.
n개의 채널들에 대해 가능한 채널 쌍 인덱스들의 총 수는 다음과 같이 계산될 수 있다:
numPairs = numChannels*(numChannels-1)/2
따라서 하나의 채널 쌍을 시그널링하기 위해 필요한 비트들의 수는 다음과 같다:
numBits = floor(log2(numPairs-1))+1
또한, 인코더(100)는 채널 마스크를 사용할 수 있다. 다채널 툴의 구성은 툴들이 활성화된 채널들을 표시하는 채널 마스크를 포함할 수 있다. 따라서 LFE(LFE = 저주파 효과/확장 채널들)가 채널 쌍 인덱싱에서 제거될 수 있어, 보다 효율적인 인코딩을 가능하게 한다. 예컨대, 11.1 설정의 경우, 이는 채널 쌍 인덱스들의 수를 12*11/2 = 66에서 11*10/2 = 55로 줄여, 7 비트 대신 6 비트로의 시그널링을 가능하게 한다. 이 메커니즘은 모노 객체들(예컨대, 다수의 언어 트랙들)인 것으로 의도된 채널들을 제외하는 데에도 또한 사용될 수 있다. 채널 마스크(channelMask)의 디코딩에서, 디코더 채널들에 대한 채널 쌍 인덱스들의 재매핑을 가능하게 하도록 채널 맵(channelMap)이 생성될 수 있다.
더욱이, 반복 프로세서(102)는 제1 프레임에 대해, 복수의 선택된 쌍 표시들을 도출하도록 구성될 수 있으며, 여기서 출력 인터페이스(106)는 제1 프레임 다음의 제2 프레임에 대해, 제2 프레임이 제1 프레임과 동일한 복수의 선택된 쌍 표시들을 가짐을 표시하는 유지 표시자를 다채널 신호(107)에 포함하도록 구성될 수 있다.
유지 표시자 또는 유지 트리 플래그는 어떠한 새로운 트리도 송신되지 않지만 마지막 스테레오 트리가 사용될 것임을 시그널링하는 데 사용될 수 있다. 이것은 채널 상관 특성들이 더 오랜 시간 동안 고정된 상태라면 동일한 스테레오 트리 구성의 다중 송신을 피하는 데 사용될 수 있다.
도 8은 스테레오 박스(110, 112)의 개략적인 블록도를 도시한다. 스테레오 박스(110, 112)는 제1 입력 신호(I1) 및 제2 입력 신호(I2)에 대한 입력들, 그리고 제1 출력 신호(O1) 및 제2 출력 신호(O2)에 대한 출력들을 포함한다. 도 8에 나타낸 바와 같이, 입력 신호들(I1, I2)로부터의 출력 신호들(O1, O2)의 의존성들은 s-파라미터들(S1 내지 S4)에 의해 기술될 수 있다.
반복 프로세서(102)는 (추가로) 처리된 채널들을 도출하기 위해 입력 채널들 및/또는 처리된 채널들에 대해 다채널 처리 연산들을 수행하기 위해 스테레오 박스들(110, 112)을 사용할 수 있다. 예를 들어, 반복 프로세서(102)는 일반, 예측 기반 또는 카루넨 루베 변환(KLT) 기반 회전 스테레오 박스들(110, 112)을 사용하도록 구성될 수 있다.
일반 인코더(또는 인코더 측 스테레오 박스)는 입력 신호들(I1, I2)을 인코딩하여 다음 식을 기초로 출력 신호들(O1, O2)을 얻도록 구성될 수 있다:
Figure 112018092164746-pct00002
.
일반 디코더(또는 디코더 측 스테레오 박스)는 입력 신호들(I1, I2)을 디코딩하여 다음 식을 기초로 출력 신호들(O1, O2)을 얻도록 구성될 수 있다:
Figure 112018092164746-pct00003
.
예측 기반 인코더(또는 인코더 측 스테레오 박스)는 입력 신호들(I1, I2)을 인코딩하여 다음 식을 기초로 출력 신호들(O1, O2)을 얻도록 구성될 수 있다:
Figure 112018092164746-pct00004
,
여기서, p는 예측 계수이다.
예측 기반 디코더(또는 디코더 측 스테레오 박스)는 입력 신호들(I1, I2)을 디코딩하여 다음 식을 기초로 출력 신호들(O1, O2)을 얻도록 구성될 수 있다.
Figure 112018092164746-pct00005
.
KLT 기반 회전 인코더(또는 인코더 측 스테레오 박스)는 입력 신호들(I1 내지 I2)을 인코딩하여 다음 식을 기초로 출력 신호들(O1, O2)을 얻도록 구성될 수 있다:
Figure 112018092164746-pct00006
.
KLT 기반 회전 디코더(또는 디코더 측 스테레오 박스)는 입력 신호들(I1, I2)을 디코딩하여 다음 식(역회전)에 따라 출력 신호들(O1, O2)을 얻도록 구성될 수 있다:
Figure 112018092164746-pct00007
.
다음에, KLT 기반 회전에 대한 회전각(α)의 계산이 설명된다.
KLT 기반 회전에 대한 회전각(α)은 다음과 같이 정의될 수 있으며:
Figure 112018092164746-pct00008
c xy 는 정규화되지 않은 상관 행렬의 항목들이고, 여기서 c 11, c 22는 채널 에너지들이다.
이것은 atan2 함수를 사용하여 분자의 음의 상관들과 분모의 음의 에너지 차이 간의 구별을 가능하게 하도록 구현될 수 있다.
alpha = 0.5*atan2(2*correlation[ch1][ch2],
(correlation[ch1][ch1] - correlation[ch2][ch2]));
또한, 반복 프로세서(102)는 복수의 대역들에 대한 단일 채널 간 상관 값이 얻어지게 복수의 대역들을 포함하는 각각의 채널의 프레임을 사용하여 채널 간 상관을 계산하도록 구성될 수 있으며, 반복 프로세서(102)는 다채널 파라미터들이 복수의 대역들 각각으로부터 얻어지도록 복수의 대역들 각각에 대한 다채널 처리를 수행하도록 구성될 수 있다.
이로써, 반복 프로세서(102)는 다채널 처리에서 스테레오 파라미터들을 계산하도록 구성될 수 있으며, 반복 프로세서(102)는 스테레오 파라미터가 스테레오 양자화기(예컨대, KLT 기반 회전 인코더)로 정의된, 0으로 양자화된 임계치보다 더 높은 대역들에서만 스테레오 처리를 수행하도록 구성될 수 있다. 스테레오 파라미터들은 예를 들어, MS On/Off 또는 회전각들 또는 예측 계수들일 수 있다.
예를 들어, 반복 프로세서(102)는 다채널 처리에서 회전각들을 계산하도록 구성될 수 있으며, 반복 프로세서(102)는 회전각이 회전각 양자화기(예컨대, KLT 기반 회전 인코더)로 정의된, 0으로 양자화된 임계치보다 더 높은 대역들에서만 회전 처리를 수행하도록 구성될 수 있다.
따라서 인코더(100)(또는 출력 인터페이스(106))는 완전한 스펙트럼(전대역 박스)에 대한 하나의 파라미터로서 또는 스펙트럼의 부분들에 대한 다수의 주파수 의존 파라미터들로서 변환/회전 정보를 송신하도록 구성될 수 있다.
인코더(100)는 다음 테이블들에 기초하여 비트스트림(107)을 생성하도록 구성될 수 있다:
테이블1: mpegh3daExtElementConfig()의 신택스
Figure 112018092164746-pct00009
테이블2: MCCConfig()의 신택스
Figure 112018092164746-pct00010
테이블3: MultichannelCodingBoxBandWise()의 신택스
Figure 112018092164746-pct00011
테이블4: MultichannelCodingBoxFullband()의 신택스
Figure 112018092164746-pct00012
테이블5: MultichannelCodingFrame()의 신택스
Figure 112018092164746-pct00013
테이블6: usacExtElementType의 값
Figure 112018092164746-pct00014
테이블7: 확장 페이로드 디코딩을 위한 데이터 블록들의 해석
Figure 112018092164746-pct00015
도 9는 일 실시예에 따른 반복 프로세서(102)의 개략적인 블록도를 보여준다. 도 9에 도시된 실시예에서, 다채널 신호(101)는 6개의 채널들: 좌측 채널(L), 우측 채널(R), 좌측 서라운드 채널(Ls), 우측 서라운드 채널(Rs), 센터 채널(C) 및 저주파 효과 채널(LFE)을 갖는 5.1 채널 신호이다.
도 9에 나타낸 바와 같이, LFE 채널은 반복 프로세서(102)에 의해 처리되지 않는다. 이는 LFE 채널과 다른 5개의 채널들(L, R, Ls, Rs, Rs) 각각 사이의 채널 간 상관 값들이 C가 너무 작기 때문에 또는 채널 마스크가 LFE 채널을 처리하지 않음을 표시하기 때문에 다음과 같이 가정될 경우가 될 수도 있다.
제1 반복 단계에서, 반복 프로세서(102)는 제1 반복 단계에서 가장 큰 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하기 위해 5개의 채널들(L, R, Ls, Rs, C)의 각각의 쌍 사이의 채널 간 상관 값들을 계산한다. 도 9에서, 반복 프로세서(102)가 제1 및 제2 처리된 채널들(P1, P2)을 도출하기 위해, 다채널 처리 연산을 수행하는 스테레오 박스(또는 스테레오 툴)(110)를 사용하여 좌측 채널(L) 및 우측 채널(R)을 처리하도록 좌측 채널(L) 및 우측 채널(R)이 가장 높은 값을 갖는 것으로 가정된다.
제2 반복 단계에서, 반복 프로세서(102)는 제2 반복 단계에서 가장 큰 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하기 위해 5개의 채널들(L, R, Ls, Rs, C)의 각각의 쌍과 처리된 채널들(P1, P2) 사이의 채널 간 상관 값들을 계산한다. 도 9에서, 반복 프로세서(102)가 제3 및 제4 처리된 채널들(P3, P4)을 도출하기 위해, 스테레오 박스(또는 스테레오 툴)(112)를 사용하여 좌측 서라운드 채널(Ls) 및 우측 서라운드 채널(Rs)을 처리하도록 좌측 서라운드 채널(Ls) 및 우측 서라운드 채널(Rs)이 가장 높은 값을 갖는 것으로 가정된다.
제3 반복 단계에서, 반복 프로세서(102)는 제3 반복 단계에서 가장 큰 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하기 위해 5개의 채널들(L, R, Ls, Rs, C)의 각각의 쌍과 처리된 채널들(P1 내지 P4) 사이의 채널 간 상관 값들을 계산한다. 도 9에서, 반복 프로세서(102)가 제5 및 제6 처리된 채널들(P5, P6)을 도출하기 위해, 스테레오 박스(또는 스테레오 툴)(114)를 사용하여 제1 처리된 채널(P1) 및 제3 처리된 채널(P3)을 처리하도록 제1 처리된 채널(P1) 및 제3 처리된 채널(P3)이 가장 높은 값을 갖는 것으로 가정된다.
제4 반복 단계에서, 반복 프로세서(102)는 제4 반복 단계에서 가장 큰 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하기 위해 5개의 채널들(L, R, Ls, Rs, C)의 각각의 쌍과 처리된 채널들(P1 내지 P6) 사이의 채널 간 상관 값들을 계산한다. 도 9에서, 반복 프로세서(102)가 제7 및 제8 처리된 채널들(P7, P8)을 도출하기 위해, 스테레오 박스(또는 스테레오 툴)(115)를 사용하여 제5 처리된 채널(P5) 및 센터 채널(C)을 처리하도록 제5 처리된 채널(P5) 및 센터 채널(C)이 가장 높은 값을 갖는 것으로 가정된다.
스테레오 박스들(110 내지 116)은 MS 스테레오 박스들, 즉 미드 채널 및 사이드 채널을 제공하도록 구성된 미드/사이드 입체 음향 박스들일 수 있다. 미드 채널은 스테레오 박스의 입력 채널들의 합일 수 있으며, 사이드 채널은 스테레오 박스의 입력 채널들 간의 차이일 수 있다. 또한, 스테레오 박스들(110, 116)은 회전 박스들 또는 스테레오 예측 박스들일 수 있다.
도 9에서, 제1 처리된 채널(P1), 제3 처리된 채널(P3) 및 제5 처리된 채널(P5)은 미드 채널들일 수 있으며, 제2 처리된 채널(P2), 제4 처리된 채널(P4) 및 제6 처리된 채널(P6)은 사이드 채널들일 수 있다.
또한, 도 9에 나타낸 바와 같이, 반복 프로세서(102)는 제2 반복 단계에서 그리고 적용 가능하다면, 입력 채널들(L, R, Ls, Rs, C)을 그리고 처리된 채널들 중 미드 채널들(P1, P3, P5)(만)을 사용하여 임의의 추가 반복 단계에서 계산, 선택 및 처리를 수행하도록 구성될 수 있다. 즉, 반복 프로세서(102)는 제2 반복 단계에서 그리고 적용 가능하다면 임의의 추가 반복 단계에서 계산, 선택 및 처리에 처리된 채널들 중 사이드 채널들(P1, P3, P5)을 사용하지 않도록 구성될 수 있다.
도 11은 적어도 3개의 채널들을 갖는 다채널 신호를 인코딩하기 위한 방법(300)의 흐름도를 도시한다. 이 방법(300)은 제1 반복 단계에서 적어도 3개의 채널들의 각각의 쌍 사이의 채널 간 상관 값들을 계산하여, 제1 반복 단계에서 가장 높은 값을 갖거나 임계치보다 높은 값을 갖는 쌍을 선택하고, 선택된 쌍을 다채널 처리 연산을 사용하여 처리하여 선택된 쌍에 대한 다채널 파라미터들(MCH_PAR1)을 도출하고 제1 처리된 채널들을 도출하는 단계(302); 다채널 파라미터들(MCH_PAR2) 및 제2 처리된 채널들을 도출하기 위해, 처리된 채널들 중 적어도 하나를 사용하여 제2 반복 단계에서 계산, 선택 및 처리를 수행하는 단계(304); 인코딩된 채널들을 획득하기 위해, 반복 프로세서에 의해 수행되는 반복 처리로부터 야기되는 채널들을 인코딩하는 단계(306); 및 인코딩된 채널들과 다채널 파라미터들(MCH_PAR1, MCH_PAR2)을 갖는 인코딩된 다채널 신호를 생성하는 단계(308)를 포함한다.
다음에, 다채널 디코딩이 설명된다.
도 10은 인코딩된 채널들(E1 내지 E3)과 적어도 2개의 다채널 파라미터들(MCH_PAR1, MCH_PAR2)을 갖는 인코딩된 다채널 신호(107)를 디코딩하기 위한 장치(디코더)(200)의 개략적인 블록도를 도시한다.
이 장치(200)는 채널 디코더(202) 및 다채널 프로세서(204)를 포함한다.
채널 디코더(202)는 D1 내지 D3에서 디코딩된 채널들을 얻기 위해, 인코딩된 채널들(E1 내지 E3)을 디코딩하도록 구성된다.
예를 들어, 채널 디코더(202)는 적어도 3개의 모노 디코더들(또는 모노 박스들 또는 모노 툴들)(206_1 내지 206_3)을 포함할 수 있으며, 모노 디코더들(206_1 내지 206_3) 각각은 적어도 3개의 인코딩된 채널들(E1 내지 E3)을 디코딩하여 각각의 디코딩된 채널(E1 내지 E3)을 얻도록 구성될 수 있다. 모노 디코더들(206_1 내지 206_3)은 예를 들어 변환 기반 오디오 디코더들일 수 있다.
다채널 프로세서(204)는 처리된 채널들을 얻기 위해 다채널 파라미터들(MCH_PAR2)에 의해 식별된 디코딩된 채널들의 제2 쌍을 사용하여 그리고 다채널 파라미터들(MCH_PAR2)을 사용하여 다채널 처리를 수행하고, 다채널 파라미터들(MCH_PAR1)에 의해 식별된 채널들의 제1 쌍을 사용하여 그리고 다채널 파라미터들(MCH_PAR1)을 사용하여 추가 다채널 처리를 수행하도록 구성되며, 여기서 채널들의 제1 쌍은 적어도 하나의 처리된 채널을 포함한다.
예로서 도 10에 나타낸 바와 같이, 다채널 파라미터들(MCH_PAR2)은 디코딩된 채널들의 제2 쌍이 제1 디코딩된 채널(D1) 및 제2 디코딩된 채널(D2)로 구성된다는 것을 표시(시그널링)할 수 있다. 따라서 다채널 프로세서(204)는 처리된 채널들(P1*, P2*)을 얻기 위해 (다채널 파라미터들(MCH_PAR2)에 의해 식별된) 제1 디코딩된 채널(D1) 및 제2 디코딩된 채널(D2)로 구성된 디코딩된 채널들의 제2 쌍을 사용하여 그리고 다채널 파라미터들(MCH_PAR2)을 사용하여 다채널 처리를 수행한다. 다채널 파라미터들(MCH_PAR1)은 디코딩된 채널들의 제1 쌍이 제1 처리된 채널(P1*) 및 제3 디코딩된 채널(D3)로 구성됨을 표시할 수 있다. 따라서 다채널 프로세서(204)는 처리된 채널들(P3*, P4*)을 획득하기 위해, (다채널 파라미터들(MCH_PAR1)에 의해 식별된) 제1 처리된 채널(P1*) 및 제3 디코딩된 채널(D3)로 구성된 디코딩된 채널들의 제1 쌍을 사용하여 그리고 다채널 파라미터들(MCH_PAR1)을 사용하여 추가 다채널 처리를 수행한다.
또한, 다채널 프로세서(204)는 제3 처리된 채널(P3*)을 제1 채널(CH1)로서, 제4 처리된 채널(P4*)을 제3 채널(CH3)로서 그리고 제2 처리된 채널(P2*)을 제2 채널(CH2)로서 제공할 수 있다.
도 10에 도시된 디코더(200)가 도 7에 도시된 인코더(100)로부터 인코딩된 다채널 신호(107)를 수신한다고 가정하면, 디코더(200)의 제1 디코딩된 채널(D1)은 인코더(100)의 제3 처리된 채널(P3)과 동등할 수 있고, 디코더(200)의 제2 디코딩된 채널(D2)은 인코더(100)의 제4 처리된 채널(P4)과 동등할 수 있으며, 디코더(200)의 제3 디코딩된 채널(D3)은 인코더(100)의 제2 처리된 채널(P2)과 동등할 수 있다. 또한, 디코더(200)의 제1 처리된 채널(P1*)은 인코더(100)의 제1 처리된 채널(P1)과 동등할 수 있다.
또한, 인코딩된 다채널 신호(107)는 직렬 신호일 수 있으며, 여기서 다채널 파라미터들(MCH_PAR2)은 다채널 파라미터들(MCH_PAR1) 전에 디코더(200)에서 수신된다. 그 경우, 다채널 프로세서(204)는 다채널 파라미터들(MCH_PAR1, MCH_PAR2)이 디코더에 의해 수신되는 순서로 디코딩된 채널들을 처리하도록 구성될 수 있다. 도 10에 도시된 예에서, 디코더는 다채널 파라미터들(MCH_PAR1) 전에 다채널 파라미터들(MCH_PAR2)을 수신하고, 이에 따라 다채널 파라미터(MCH_PAR1)에 의해 식별된 (제1 처리된 채널(P1*) 및 제3 디코딩된 채널(D3)로 구성된) 디코딩된 채널들의 제1 쌍을 사용하여 다채널 처리를 수행하기 전에 다채널 파라미터들(MCH_PAR2)에 의해 식별된 (제1 및 제2 디코딩된 채널들(D1, D2)로 구성된) 디코딩된 채널들의 제2 쌍을 사용하여 다채널 처리를 수행한다.
도 10에서, 다채널 프로세서(204)는 예시적으로 2개의 다채널 처리 연산들을 수행한다. 설명의 목적으로, 다채널 프로세서(204)에 의해 수행되는 다채널 처리 연산들은 도 10에 처리 박스들(208, 210)로 예시된다. 처리 박스들(208, 210)은 하드웨어 또는 소프트웨어로 구현될 수 있다. 처리 박스들(208, 210)은 예를 들어, 인코더(100)와 관련하여 앞서 논의한 바와 같은 스테레오 박스들, 이를테면 일반적인 디코더들(또는 디코더 측 스테레오 박스들), 예측 기반 디코더들(또는 디코더 측 스테레오 박스들) 또는 KLT 기반 회전 디코더들(또는 디코더 측 스테레오 박스들)일 수 있다.
예를 들어, 인코더(100)는 KLT 기반 회전 인코더들(또는 인코더 측 스테레오 박스들)을 사용할 수 있다. 그 경우, 인코더(100)는 다채널 파라미터들(MCH_PAR1, MCH_PAR2)이 회전각들을 갖도록 다채널 파라미터들(MCH_PAR1, MCH_PAR2)을 도출할 수 있다. 회전각들은 차동적으로 인코딩될 수 있다. 따라서 디코더(200)의 다채널 프로세서(204)는 차동적으로 인코딩된 회전각들을 차동적으로 디코딩하기 위한 차동 디코더를 포함할 수 있다.
장치(200)는 인코딩된 다채널 신호(107)를 수신하고 처리하여, 인코딩된 채널들(E1 내지 E3)을 채널 디코더(202)에 그리고 다채널 파라미터들(MCH_PAR1, MCH_PAR2)을 다채널 프로세서(204)에 제공하도록 구성된 입력 인터페이스(212)를 더 포함할 수 있다.
이미 언급한 바와 같이, 유지 표시자(또는 유지 트리 플래그)는 어떠한 새로운 트리도 송신되지 않지만 마지막 스테레오 트리가 사용될 것임을 시그널링하는 데 사용될 수 있다. 이것은 채널 상관 특성들이 더 오랜 시간 동안 고정된 상태라면 동일한 스테레오 트리 구성의 다중 송신을 피하는 데 사용될 수 있다.
따라서 인코딩된 다채널 신호(107)가 제1 프레임에 대해 다채널 파라미터들(MCH_PAR1, MCH_PAR2)을 포함하고, 제1 프레임 다음의 제2 프레임에 대해서는 유지 표시자를 포함하는 경우, 다채널 프로세서(204)는 제1 프레임에 사용된 것과 동일한 제2 쌍 또는 동일한 제1 쌍의 채널들에 대해 제2 프레임에서 다채널 처리 또는 추가 다채널 처리를 수행하도록 구성될 수 있다.
다채널 처리 및 추가 다채널 처리는 스테레오 파라미터를 사용하는 스테레오 처리를 포함할 수 있는데, 여기서는 디코딩된 채널들(D1 내지 D3)의 개개의 스케일 팩터 대역들 또는 스케일 팩터 대역들의 그룹들에 대해, 제1 스테레오 파라미터가 다채널 파라미터(MCH_PAR1)에 포함되고 제2 스테레오 파라미터는 다채널 파라미터(MCH_PAR2)에 포함된다. 이로써, 제1 스테레오 파라미터와 제2 스테레오 파라미터는 회전각들 또는 예측 계수들과 같은 동일한 타입일 수 있다. 당연히, 제1 스테레오 파라미터와 제2 스테레오 파라미터는 서로 다른 타입들일 수 있다. 예를 들어, 제1 스테레오 파라미터는 회전각일 수 있고, 제2 스테레오 파라미터는 예측 계수일 수 있으며, 또는 그 반대일 수 있다.
또한, 다채널 파라미터들(MCH_PAR1, MCH_PAR2)은 어느 스케일 팩터 대역들이 다채널 처리되고 어떤 스케일 팩터 대역들이 다채널 처리되지 않는지를 나타내는 다채널 처리 마스크를 포함할 수 있다. 이로써, 다채널 프로세서(204)는 다채널 처리 마스크에 의해 표시된 스케일 팩터 대역들에서 다채널 처리를 수행하지 않도록 구성될 수 있다.
다채널 파라미터들(MCH_PAR1, MCH_PAR2)은 각각 채널 쌍 식별(또는 인덱스)을 포함할 수 있으며, 여기서 다채널 프로세서(204)는 미리 정의된 디코딩 규칙 또는 인코딩된 다채널 신호에서 표시된 디코딩 규칙을 사용하여 채널 쌍 식별들(또는 인덱스들)을 디코딩하도록 구성될 수 있다.
예를 들어, 인코더(100)와 관련하여 앞서 설명한 바와 같이, 채널 쌍들은 총 채널 수에 따라 각각의 쌍에 대한 고유 인덱스를 사용하여 효율적으로 시그널링될 수 있다.
또한, 디코딩 규칙은 허프만 디코딩 규칙일 수 있으며, 여기서 다채널 프로세서(204)는 채널 쌍 식별들의 허프만 디코딩을 수행하도록 구성될 수 있다.
인코딩된 다채널 신호(107)는 다채널 처리가 허용되는 디코딩된 채널들의 하위 그룹만을 표시하고 다채널 처리가 허용되지 않는 적어도 하나의 디코딩된 채널을 표시하는 다채널 처리 허용 표시자를 더 포함할 수 있다. 이로써, 다채널 프로세서(204)는 다채널 처리 허용 표시자에 의해 표시된 바와 같이 다채널 처리가 허용되지 않는 적어도 하나의 디코딩된 채널에 대해 어떠한 다채널 처리도 수행하지 않도록 구성될 수 있다.
예를 들어, 다채널 신호가 5.1 채널 신호인 경우, 다채널 처리 허용 표시자는 다채널 처리가 5개의 채널들, 즉 우측(R), 좌측(L), 우측 서라운드(Rs), 좌측 서라운드(LS) 및 센터(C)에만 허용됨을 표시할 수 있고, 여기서 LFE 채널에는 다채널 처리가 허용되지 않는다.
디코딩 프로세스(채널 쌍 인덱스들의 디코딩)의 경우, 다음과 같은 c 코드가 사용될 수 있다. 이로써, 모든 채널 쌍들에 대해, 현재 프레임의 채널 쌍들의 수(numPairs)뿐만 아니라 활성 KLT 처리에 의한 채널들의 수(nChannels)도 필요하다.
maxNumPairIdx = nChannels*(nChannels-1)/2 - 1;
numBits = floor(log2(maxNumPairIdx)+1;
pairCounter = 0;
for (chan1=1; chan1 < nChannels; chan1++) {
for (chan0=0; chan0 < chan1; chan0++) {
if (pairCounter == pairIdx) {
channelPair[0] = chan0;
channelPair[1] = chan1;
return;
}
else
pairCounter++;
}
}
}
비-대역 방식의 각들에 대한 예측 계수들을 디코딩하기 위해, 다음과 같은 c 코드가 사용될 수 있다.
for(pair=0; pair<numPairs; pair++) {
mctBandsPerWindow = numMaskBands[pair]/windowsPerFrame;
if(delta_code_time[pair] > 0) {
lastVal = alpha_prev_fullband[pair];
} else {
lastVal = DEFAULT_ALPHA;
}
newAlpha = lastVal + dpcm_alpha[pair][0];
if(newAlpha >= 64) {
newAlpha -= 64;
}
for (band=0; band < numMaskBands; band++){
/* 모든 각도들을 전체 대역 각도로 설정함 */
pairAlpha[pair][band] = newAlpha;
/* mctMask에 따라 이전 각도들을 설정함 */
if(mctMask[pair][band] > 0) {
alpha_prev_frame[pair][band%mctBandsPerWindow] = newAlpha;
}
else {
alpha_prev_frame[pair][band%mctBandsPerWindow] = DEFAULT_ALPHA;
}
}
alpha_prev_fullband[pair] = newAlpha;
for(band=bandsPerWindow ; band<MAX_NUM_MC_BANDS; band++) {
alpha_prev_frame[pair][band] = DEFAULT_ALPHA;
}
}
비-대역 방식의 KLT 각들에 대한 예측 계수들을 디코딩하기 위해, 다음과 같은 c 코드가 사용될 수 있다.
for(pair=0; pair<numPairs; pair++) {
mctBandsPerWindow = numMaskBands[pair]/windowsPerFrame;
for(band=0; band<numMaskBands[pair]; band++) {
if(delta_code_time[pair] > 0) {
lastVal = alpha_prev_frame[pair][band%mctBandsPerWindow];
}
else {
if ((band % mctBandsPerWindow) == 0) {
lastVal = DEFAULT_ALPHA;
}
}
if (msMask[pair][band] > 0 ) {
newAlpha = lastVal + dpcm_alpha[pair][band];
if(newAlpha >= 64) {
newAlpha -= 64;
}
pairAlpha[pair][band] = newAlpha;
alpha_prev_frame[pair][band%mctBandsPerWindow] = newAlpha;
lastVal = newAlpha;
}
else {
alpha_prev_frame[pair][band%mctBandsPerWindow] = DEFAULT_ALPHA; /* -45° */
}
/* 전체 대역 각도를 재설정함 */
alpha_prev_fullband[pair] = DEFAULT_ALPHA;
}
for(band=bandsPerWindow ; band<MAX_NUM_MC_BANDS; band++) {
alpha_prev_frame[pair][band] = DEFAULT_ALPHA;
}
}
서로 다른 플랫폼들에서 삼각 함수들의 부동 소수점 차이들을 피하기 위해, 각도 인덱스들을 sin/cos으로 직접 변환하기 위한 다음의 검색 테이블들이 사용될 것이다:
Figure 112018092164746-pct00016
Figure 112018092164746-pct00017
다채널 코딩의 디코딩을 위해, 다음의 c 코드가 KLT 회전 기반 접근 방식에 사용될 수 있다.
decode_mct_rotation()
{
for (pair=0; pair < self->numPairs; pair++) {
mctBandOffset = 0;
/* 역 MCT 회전 */
for (win = 0, group = 0; group <num_window_groups; group++) {
for (groupwin = 0; groupwin < window_group_length[group]; groupwin++, win++) {
*dmx = spectral_data[ch1][win];
*res = spectral_data[ch2][win];
apply_mct_rotation_wrapper(self,dmx,res,&alphaSfb[mctBandOffset],
&mctMask[mctBandOffset],mctBandsPerWindow, alpha,
totalSfb,pair,nSamples);
}
mctBandOffset += mctBandsPerWindow;
}
}
}
대역 방식의 처리를 위해, 다음과 같은 c 코드가 사용될 수 있다.
apply_mct_rotation_wrapper(self, *dmx, *res, *alphaSfb, *mctMask, mctBandsPerWindow,
alpha, totalSfb, pair, nSamples)
{
sfb = 0;
if (self->MCCSignalingType == 0) {
}
else if (self->MCCSignalingType == 1) {
/* 전체 대역 박스를 적용함 */
if (!self->bHasBandwiseAngles[pair] && !self->bHasMctMask[pair]) {
apply_mct_rotation(dmx, res, alphaSfb[0], nSamples);
}
else {
/* 대역별 처리를 적용함 */
for (i = 0; i< mctBandsPerWindow; i++) {
if (mctMask[i] == 1) {
startLine = swb_offset [sfb];
stopLine = (sfb+2<totalSfb)? swb_offset [sfb+2] : swb_offset [sfb+1];
nSamples = stopLine-startLine;
apply_mct_rotation(&dmx[startLine], &res[startLine], alphaSfb[i], nSamples);
}
sfb += 2;
/* 중단 조건 */
if (sfb >= totalSfb) {
break;
}
}
}
}
else if (self->MCCSignalingType == 2) {
}
else if (self->MCCSignalingType == 3) {
apply_mct_rotation(dmx, res, alpha, nSamples);
}
}
KLT 회전의 적용을 위해, 다음과 같은 c 코드가 사용될 수 있다.
apply_mct_rotation(*dmx, *res, alpha, nSamples)
{
for (n=0;n<nSamples;n++) {
L = dmx[n] * tabIndexToCosAlpha [alphaIdx] - res[n] * tabIndexToSinAlpha [alphaIdx];
R = dmx[n] * tabIndexToSinAlpha [alphaIdx] + res[n] * tabIndexToCosAlpha [alphaIdx];
dmx[n] = L;
res[n] = R;
}
}
도 12는 인코딩된 채널들 및 적어도 2개의 다채널 파라미터들(MCH_PAR1, MCH_PAR2)을 갖는 인코딩된 다채널 신호를 디코딩하기 위한 방법(400)의 흐름도를 도시한다. 이 방법(400)은 디코딩된 채널들을 획득하기 위해, 인코딩된 채널들을 디코딩하는 단계(402); 및 처리된 채널들을 얻기 위해 다채널 파라미터들(MCH_PAR2)에 의해 식별된 디코딩된 채널들의 제2 쌍을 사용하여 그리고 다채널 파라미터들(MCH_PAR2)을 사용하여 다채널 처리를 수행하고, 다채널 파라미터들(MCH_PAR1)에 의해 식별된 채널들의 제1 쌍을 사용하여 그리고 다채널 파라미터들(MCH_PAR1)을 사용하여 추가 다채널 처리를 수행하는 단계(404)를 포함하며, 여기서 채널들의 제1 쌍은 적어도 하나의 처리된 채널을 포함한다.
다음에, 실시예들에 따른 다채널 코딩에서의 스테레오 채움이 설명된다:
이미 개요가 설명된 바와 같이, 스펙트럼 양자화의 바람직하지 못한 효과는 양자화가 가능하게는, 스펙트럼 홀들을 야기할 수 있다는 것일 수 있다. 예를 들어, 특정 주파수 대역의 모든 스펙트럼 값들은 양자화 결과로서 인코더 측에서 0으로 설정될 수 있다. 예를 들어, 양자화 이전의 그러한 스펙트럼 라인들의 정확한 값은 상대적으로 낮을 수 있고, 그 다음에 양자화는 예를 들어, 특정 주파수 대역 내의 모든 스펙트럼 라인들의 스펙트럼 값들이 0으로 설정된 상황으로 이어질 수 있다. 디코더 측에서, 디코딩할 때, 이것은 원하지 않는 스펙트럼 홀들로 이어질 수 있다.
MPEG-H의 다채널 코딩 툴(MCT)은 다양한 채널 간 종속성들에 적응하는 것을 가능하게 하지만, 일반적인 동작 구성들에서 단일 채널 엘리먼트들의 사용으로 인해 스테레오 채움을 가능하게 하지 않는다.
도 14에서 확인될 수 있듯이, 다채널 코딩 툴은 계층적인 방식으로 인코딩된 3개 또는 그보다 많은 채널들을 조합한다. 그러나 다채널 코딩 툴(MCT)이 인코딩할 때 서로 다른 채널들을 어떻게 조합하는지는 채널들의 현재 신호 속성들에 따라 프레임마다 달라진다.
예를 들어, 도 14의 시나리오(a)에서, 제1 인코딩된 오디오 신호 프레임을 생성하기 위해, 다채널 코딩 툴(MCT)은 제1 채널(Ch1)과 제2 채널(CH2)을 조합하여 제1 조합 채널(처리된 채널)(P1) 및 제2 조합 채널(P2)을 얻을 수 있다. 그런 다음, 다채널 코딩 툴(MCT)은 제1 조합 채널(P1)과 제3 채널(CH3)을 조합하여 제3 조합 채널(P3) 및 제4 조합 채널(P4)을 얻을 수 있다. 그런 다음, 다채널 코딩 툴(MCT)은 제2 조합 채널(P2), 제3 채널(P3) 및 제4 조합 채널(P4)을 인코딩하여 제1 프레임을 생성할 수 있다.
그런 다음, 도 14의 시나리오(b)에서, 제1 인코딩된 오디오 신호 프레임에 (시간상) 후속하는 제2 인코딩된 오디오 신호 프레임을 생성하기 위해,
다채널 코딩 툴(MCT)은 제1 조합 채널(CH1')과 제3 채널(CH3')을 조합하여 제1 조합 채널(P1') 및 제1 조합 채널(P2')을 얻을 수 있다. 그런 다음, 다채널 코딩 툴(MCT)은 제1 조합 채널(P1')과 제2 채널(CH2')을 조합하여 제3 조합 채널(P3') 및 제4 조합 채널(P4')을 얻을 수 있다. 그런 다음, 다채널 코딩 툴(MCT)은 제2 조합 채널(P2'), 제3 채널(P3') 및 제4 조합 채널(P4')을 인코딩하여 제2 프레임을 생성할 수 있다.
도 14로부터 알 수 있는 바와 같이, 도 14(a)의 시나리오에서 제1 프레임의 제2, 제3 및 제4 조합 채널이 생성된 방식은 도 14(b)의 시나리오에서 제2 프레임의 제2, 제3 및 제4 조합 채널 각각이 생성된 방식과 상당히 다른데, 이는 각각의 조합 채널들(P2, P3 및 P4 및 P2', P3', P4')을 각각 생성하기 위해 채널들의 서로 다른 조합들이 사용되었기 때문이다.
특히, 본 발명의 실시예들은 다음의 발견들에 기초한다:
도 7 및 도 14에서 알 수 있는 바와 같이, 조합 채널들(P3, P4, P2)(또는 도 14의 시나리오(b)의 P2', P3' 및 P4')은 채널 인코더(104)에 공급된다. 특히, 채널 인코더(104)는 예컨대, 양자화를 수행할 수 있어, 양자화로 인해 채널들(P2, P3, P4)의 스펙트럼 값들이 0으로 설정될 수 있다. 스펙트럼상 이웃하게 된 스펙트럼 샘플들은 스펙트럼 대역이 될 수 있는데, 여기서 각각의 스펙트럼 대역은 다수의 스펙트럼 샘플들을 포함할 수 있다.
주파수 대역의 스펙트럼 샘플들의 수는 서로 다른 주파수 대역에 대해 서로 다를 수 있다. 예를 들어, 더 낮은 주파수 범위의 주파수 대역들은 예컨대, 16개의 주파수 샘플들을 포함할 수 있는 보다 높은 주파수 범위의 주파수 대역들보다, 예컨대 더 적은 수의 스펙트럼 샘플들(예컨대, 4개의 스펙트럼 샘플들)을 포함할 수 있다. 예를 들어, 바크(Bark) 스케일 임계 대역들이 사용된 주파수 대역들을 정의할 수 있다.
주파수 대역의 모든 스펙트럼 샘플들이 양자화 후에 0으로 설정될 때, 특히 바람직하지 않은 상황이 발생할 수 있다. 이러한 상황이 발생할 수 있다면, 본 발명에 따라 스테레오 채움을 수행하는 것이 바람직하다. 본 발명은 더욱이, 적어도(의사) 랜덤 잡음이 생성되어야 한다는 발견에 기초한다.
(의사) 랜덤 잡음을 추가하는 대신에 또는 그에 추가하여, 본 발명의 실시예들에 따르면, 예를 들어 도 14의 시나리오(b)에서, 채널(P4')의 주파수 대역의 모든 스펙트럼 값들이 0으로 설정되었다면, 채널(P3')과 동일한 또는 유사한 방식으로 생성되었을 조합 채널은 0으로 양자화된 주파수 대역을 채우기 위한 잡음을 발생시키는 데 매우 적합한 기반이 될 것이다.
그러나 본 발명의 실시예들에 따르면, 0인 스펙트럼 값들만을 포함하는 P4' 조합 채널의 주파수 대역을 채우기 위한 기준으로서 현재 프레임의/현재 시점의 P3' 조합 채널의 스펙트럼 값들을 사용하지 않는 것이 바람직한데, 이는 조합 채널(P3')뿐만 아니라 조합 채널(P4') 모두가 채널(P1', P2')에 기초하여 생성되었고, 따라서 현재 시점의 P3' 조합 채널의 사용은 단순한 패닝을 야기할 것이기 때문이다.
예를 들어, P3'이 P1'과 P2'의 미드 채널(예컨대, P3' = 0.5 * (P1' + P2'))이라면 그리고 P4'가 P1'과 P2'의 사이드 채널(예컨대, P4' = 0.5 * (P1' - P2'))이라면, 예컨대, P3'의 감쇄된 스펙트럼 값들을 P4'의 주파수 대역에 도입하는 것은 단순히 패닝을 야기할 것이다.
대신, 현재 P4' 조합 채널에서 스펙트럼 홀들을 채우기 위해 스펙트럼 값들을 생성하기 위해 이전 시점의 채널들을 사용하는 것이 바람직할 것이다. 본 발명의 결론들에 따르면, 현재 프레임의 P3' 조합 채널에 대응하는 이전 프레임의 채널들의 조합은 P4'의 스펙트럼 홀들을 채우기 위한 스펙트럼 샘플들을 생성하기 위한 바람직한 기초가 될 것이다.
그러나 이전 프레임의 조합 채널(P3)이 현재 프레임의 조합 채널(P3')과는 다른 방식으로 생성되었기 때문에, 이전 프레임에 대한 도 14(a)의 시나리오에서 생성된 조합 채널(P3)은 현재 프레임의 조합 채널(P3')에 대응하지 않는다.
본 발명의 실시예들의 결론들에 따르면, 디코더 측에서 이전 프레임의 재구성된 채널들에 기초하여 P3' 조합 채널의 근사치가 생성되어야 한다.
도 14(a)는 E1, E2 및 E3을 생성함으로써 이전 프레임에 대해 채널들(CH1, CH2, CH3)이 인코딩되는 인코더 시나리오를 예시한다. 디코더는 채널들(E1, E2, E3)을 수신하고 인코딩된 채널들(CH1, CH2, CH3)을 재구성한다. 약간의 코딩 손실이 발생했을 수도 있지만, 여전히 CH1, CH2 및 CH3을 근사화하는 생성된 채널들(CH1*, CH2*, CH3*)은 원래의 채널들(CH1, CH2, CH3)과 매우 유사할 것이므로, CH1*
Figure 112018092164746-pct00018
CH1; CH2*
Figure 112018092164746-pct00019
CH2 그리고 CH3*
Figure 112018092164746-pct00020
CH3이 된다. 실시예들에 따르면, 디코더는 이전 프레임에 대해 생성된 채널들(CH1*, CH2*, CH3*)을 현재 프레임에서 잡음 채움을 위해 이들을 사용하도록 버퍼에 유지한다.
실시예들에 따른 디코딩하기 위한 장치(201)를 예시하는 도 1a가 이제 보다 상세히 설명된다:
도 1a의 장치(201)는 3개 또는 그보다 많은 이전 오디오 출력 채널들을 얻기 위해 이전 프레임의 이전 인코딩된 다채널 신호를 디코딩하도록 적응되고, 3개 또는 그보다 많은 현재 오디오 출력 채널들을 얻기 위해 현재 프레임의 현재 인코딩된 다채널 신호(107)를 디코딩하도록 구성된다.
이 장치는 인터페이스(212), 채널 디코더(202), 3개 또는 그보다 많은 현재 오디오 출력 채널들(CH1, CH2, CH3)을 생성하기 위한 다채널 프로세서(204), 및 잡음 채움 모듈(220)을 포함한다.
인터페이스(212)는 현재 인코딩된 다채널 신호(107)를 수신하고, 제1 다채널 파라미터들(MCH_PAR2)을 포함하는 부가 정보를 수신하도록 적응된다.
채널 디코더(202)는 현재 프레임의 3개 또는 그보다 많은 디코딩된 채널들(D1, D2, D3)의 세트를 얻기 위해 현재 프레임의 현재 인코딩된 다채널 신호를 디코딩하도록 적응된다.
다채널 프로세서(204)는 제1 다채널 파라미터들(MCH_PAR2)에 따라 3개 또는 그보다 많은 디코딩된 채널들(D1, D2, D3)의 세트로부터 2개의 디코딩된 채널들(D1, D2)의 제1 선택된 쌍을 선택하도록 적응된다.
일례로, 이는 (선택적인) 처리 박스(208)에 공급되는 2개의 채널들(D1, D2)에 의해 도 1a에 예시된다.
더욱이, 다채널 프로세서(204)는 3개 또는 그보다 많은 디코딩된 채널들(D3, P1*, P2*)의 업데이트된 세트를 얻기 위해 2개의 디코딩된 채널들(D1, D2)의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들(P1*, P2*)의 제1 그룹을 생성하도록 적응된다.
2개의 채널들(D1, D2)이 (선택적인) 박스(208)에 공급되는 예에서, 2개의 처리된 채널들(P1*, P2*)이 2개의 선택된 채널들(D1, D2)로부터 생성된다. 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트는 다음에, 좌측 및 수정되지 않은 채널(D3)을 포함하고, D1 및 D2로부터 생성된 P1* 및 P2*를 더 포함한다.
다채널 프로세서(204)가 2개의 디코딩된 채널들(D1, D2)의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들(P1*, P2*)의 제1 쌍을 생성하기 전에, 잡음 채움 모듈(220)은 2개의 디코딩된 채널들(D1, D2)의 상기 제1 선택된 쌍의 2개의 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들을 식별하도록, 그리고 3개 또는 그보다 많은 이전 오디오 출력 채널들의 2개 또는 그보다 많은, 그러나 전부는 아닌 이전 오디오 출력 채널들을 사용하여 믹싱 채널을 생성하도록, 그리고 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우도록 적응되며, 여기서 잡음 채움 모듈(220)은 믹싱 채널을 생성하기 위해 사용되는 2개 또는 그보다 많은 이전 오디오 출력 채널들을 부가 정보에 따라 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 선택하도록 적응된다.
따라서 잡음 채움 모듈(220)은 0인 스펙트럼 값들만을 갖는 주파수 대역들이 있는지 여부를 분석하고, 게다가 발견된 비어 있는 주파수 대역들을 생성된 잡음으로 채운다. 예를 들어, 주파수 대역은 예컨대, 4개 또는 8개 또는 16개의 스펙트럼 라인들을 가질 수 있고, 주파수 대역의 모든 스펙트럼 라인들이 0으로 양자화되었다면, 잡음 채움 모듈(220)이 생성된 잡음을 채운다.
어떻게 잡음을 생성하고 채울지를 지정하는 잡음 채움 모듈(220)에 의해 이용될 수 있는 실시예들의 특정 개념은 스테레오 채움으로 지칭된다.
도 1a의 실시예들에서, 잡음 채움 모듈(220)은 다채널 프로세서(204)와 상호 작용한다. 예를 들어, 일 실시예에서, 잡음 채움 모듈이 예를 들어, 처리 박스에 의해 2개의 채널들을 처리하기를 원할 때, 처리 박스는 이러한 채널들을 잡음 채움 모듈(220)에 공급하고, 잡음 채움 모듈(220)은 주파수 대역들이 0으로 양자화되었는지 여부를 체크하고, 검출된다면 그러한 주파수 대역들을 채운다.
도 1b로 예시된 다른 실시예들에서, 잡음 채움 모듈(220)은 채널 디코더(202)와 상호 작용한다. 예를 들어, 이미 채널 디코더가 3개 또는 그보다 많은 디코딩된 채널들(D1, D2, D3)을 얻기 위해 인코딩된 다채널 신호를 디코딩한 경우, 잡음 채움 모듈은 예를 들어, 주파수 대역들이 0으로 양자화되었는지 여부를 체크할 수 있고, 예를 들어 검출된다면 이러한 주파수 대역들을 채운다. 이러한 실시예에서, 다채널 프로세서(204)는 잡음을 채우기 전에 모든 스펙트럼 홀들이 이미 닫혀 있음을 확신할 수 있다.
(도시되지 않은) 추가 실시예들에서, 잡음 채움 모듈(220)은 채널 디코더 및 다채널 프로세서와 모두 상호 작용할 수 있다. 예를 들어, 채널 디코더(202)가 디코딩된 채널들(D1, D2, D3)을 생성할 때, 잡음 채움 모듈(220)은 채널 디코더(202)가 이러한 채널들을 생성한 직후에, 주파수 대역들이 0으로 양자화되었는지 여부를 이미 체크했을 수 있지만, 다채널 프로세서(204)가 이러한 채널들을 실제로 처리할 때만 잡음을 생성하고 각각의 주파수 대역들을 채울 수 있다.
예를 들어, 랜덤 잡음인 계산이 적은 연산이 0으로 양자화된 주파수 대역들 중 임의의 주파수 대역에 삽입될 수 있지만, 잡음 채움 모듈은 이전에 생성된 오디오 출력 채널들이 다채널 프로세서(204)에 의해 실제로 처리되는 경우에만 이러한 채널들로부터 생성된 잡음을 채울 수 있다. 그러나 이러한 실시예들에서, 랜덤 잡음을 삽입하기 전에, 스펙트럼 홀들이 존재하는지 여부의 검출이 이루어져야 하고, 그 정보가 메모리에 유지되어야 하는데, 이는 랜덤 잡음을 삽입한 후에 각각의 주파수 대역들은 랜덤 잡음이 삽입되었기 때문에 0과는 다른 스펙트럼 값들을 갖기 때문이다.
실시예들에서, 이전 오디오 출력 신호들에 기초하여 생성된 잡음에 부가하여 0으로 양자화된 주파수 대역들에 랜덤 잡음이 삽입된다.
일부 실시예들에서, 인터페이스(212)는 예컨대, 현재 인코딩된 다채널 신호(107)를 수신하고, 제1 다채널 파라미터들(MCH_PAR2) 및 제2 다채널 파라미터들(MCH_PAR1)을 포함하는 부가 정보를 수신하도록 적응될 수 있다.
다채널 프로세서(204)는 예컨대, 제2 다채널 파라미터들(MCH_PAR2)에 따라 3개 또는 그보다 많은 디코딩된 채널들(D3, P1*, P2*)의 업데이트된 세트로부터 2개의 디코딩된 채널들(P1*, D3)의 제2 선택된 쌍을 선택하도록 적응될 수 있으며, 여기서 2개의 디코딩된 채널들(P1*, D3)의 제2 선택된 쌍의 적어도 하나의 채널(P1*)은 2개 또는 그보다 많은 처리된 채널들(P1*, P2*)의 제1 쌍의 하나의 채널이다.
다채널 프로세서(204)는 예컨대, 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 추가로 업데이트하기 위해 2개의 디코딩된 채널들(P1*, D3)의 상기 제2 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들(P3*, P4*)의 제2 그룹을 생성하도록 적응될 수 있다.
이러한 실시예에 대한 일례는 도 1a 및 도 1b에서 확인될 수 있는데, 여기서 (선택적인) 처리 박스(210)는 채널(D3) 및 처리된 채널(P1*)을 수신하고 이들을 처리하여 처리된 채널들(P3*, P4*)을 얻어, 3개의 디코딩된 채널들의 추가 업데이트된 세트는 처리 박스(210)에 의해 수정되지 않은 P2* 그리고 생성된 P3* 및 P4*를 포함한다.
처리 박스들(208, 210)은 도 1a 및 도 1b에서 선택적인 것으로 표시되었다. 이는 다채널 프로세서(204)를 구현하기 위해 처리 박스들(208, 210)을 사용할 가능성이 있더라도, 다채널 프로세서(204)를 정확히 어떻게 구현할지에 대한 다양한 다른 가능성들이 존재함을 보여주기 위한 것이다. 예를 들어, 2개의(또는 더 많은) 채널들의 각각의 서로 다른 처리를 위해 서로 다른 처리 박스(208, 210)를 사용하는 대신에, 동일한 처리 박스가 재사용될 수도 있고, 또는 다채널 프로세서(204)가 (다채널 프로세서(204)의 하위 유닛들로서) 처리 박스들(208, 210)을 전혀 사용하지 않고 2개의 채널들의 처리를 구현할 수도 있다.
추가 실시예에 따르면, 다채널 프로세서(204)는 예컨대, 2개의 디코딩된 채널들(D1, D2)의 상기 제1 선택된 쌍에 기초하여 정확히 2개의 처리된 채널들(P1*, P2*)의 제1 그룹을 생성함으로써 2개 또는 그보다 많은 처리된 채널들(P1*, P2*)의 제1 그룹을 생성하도록 적응될 수 있다. 다채널 프로세서(204)는 예컨대, 3개 또는 그보다 많은 디코딩된 채널들(D1, D2, D3)의 세트에서 2개의 디코딩된 채널들(D1, D2)의 상기 제1 선택된 쌍을 정확히 2개의 처리된 채널들(P1*, P2*)의 제1 그룹으로 대체하여 3개 또는 그보다 많은 디코딩된 채널들(D3, P1*, P2*)의 업데이트된 세트를 얻도록 적응될 수 있다. 다채널 프로세서(204)는 예컨대, 2개의 디코딩된 채널들(P1*, D3)의 상기 제2 선택된 쌍에 기초하여 정확히 2개의 처리된 채널들(P3*, P4*)의 제2 그룹을 생성함으로써 2개 또는 그보다 많은 처리된 채널들(P3*, P4*)의 제2 그룹을 생성하도록 적응될 수 있다. 게다가, 다채널 프로세서(204)는 예컨대, 3개 또는 그보다 많은 디코딩된 채널들(D3, P1*, P2*)의 업데이트된 세트에서 2개의 디코딩된 채널들(P1*, D3)의 상기 제2 선택된 쌍을 정확히 2개의 처리된 채널들(P3*, P4*)의 제2 그룹으로 대체하여 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 추가로 업데이트하도록 적응될 수 있다.
이와 같이, 그러한 실시예에서, 2개의 선택된 채널들(예를 들어, 처리 박스(208 또는 210)의 2개의 입력 채널들)로부터 정확히 2개의 처리된 채널들이 생성되고, 이러한 정확히 2개의 처리된 채널들은 3개 또는 그보다 많은 디코딩된 채널들의 세트에서 선택된 채널들을 대체한다. 예를 들어, 다채널 프로세서(204)의 처리 박스(208)는 선택된 채널들(D1, D2)을 P1* 및 P2*로 대체한다.
그러나 다른 실시예들에서, 디코딩하기 위한 장치(201)에서 업믹스가 발생할 수 있고, 2개보다 많은 처리된 채널들이 2개의 선택된 채널들로부터 생성될 수 있거나, 선택된 채널들 모두가 디코딩된 채널들의 업데이트된 세트로부터 삭제될 수 있는 것은 아니다.
추가 문제는 잡음 채움 모듈(220)에 의해 생성되는 잡음을 생성하는 데 사용되는 믹싱 채널을 어떻게 생성할지이다.
일부 실시예들에 따르면, 잡음 채움 모듈(220)은 예컨대, 3개 또는 그보다 많은 이전 오디오 출력 채널들 중 정확히 2개를 3개 또는 그보다 많은 이전 오디오 출력 채널들 중 2개 또는 그보다 많은 오디오 출력 채널들로서 사용하여 믹싱 채널을 생성하도록 적응될 수 있으며; 여기서 잡음 채움 모듈(220)은 예컨대, 부가 정보에 따라 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 정확히 2개의 이전 오디오 출력 채널들을 선택하도록 적응될 수 있다.
3개 또는 그보다 많은 이전 출력 채널들 중 2개만 사용하는 것은 믹싱 채널의 계산에 대한 계산상의 복잡도를 줄이는 데 도움이 된다.
그러나 다른 실시예들에서, 이전 오디오 출력 채널들의 2개보다 많은 채널들이 믹싱 채널을 생성하는 데 사용되지만, 고려되는 이전 오디오 출력 채널들의 수는 3개 또는 그보다 많은 이전 오디오 출력 채널들의 총 수보다 더 적다.
이전 출력 채널들 중 단 2개만 고려되는 실시예들에서, 믹싱 채널은 예를 들어 다음과 같이 계산될 수 있다:
일 실시예에서, 잡음 채움 모듈(220)은 다음 식에 기초하여
Figure 112018092164746-pct00021
또는 다음 식에 기초하여
Figure 112018092164746-pct00022
정확히 2개의 이전 오디오 출력 채널들을 사용하여 믹싱 채널을 생성하도록 적응되며, 여기서 D ch 는 믹싱 채널이고;
Figure 112018092164746-pct00023
은 정확히 2개의 이전 오디오 출력 채널들 중 제1 오디오 출력 채널이며;
Figure 112018092164746-pct00024
는 정확히 2개의 이전 오디오 출력 채널들 중 제1 오디오 출력 채널과는 다른, 정확히 2개의 이전 오디오 출력 채널들 중 제2 오디오 출력 채널이고, d는 실수인 양의 스칼라이다.
일반적인 상황들에서, 미드 채널
Figure 112018092164746-pct00025
는 적절한 믹싱 채널일 수 있다. 이러한 접근 방식은 고려되는 2개의 이전 오디오 출력 채널의 미드 채널로서 믹싱 채널을 계산한다.
그러나 일부 시나리오들에서는,
Figure 112018092164746-pct00026
를 적용할 때, 예를 들어
Figure 112018092164746-pct00027
일 때 0에 가까운 믹싱 채널이 발생할 수 있다. 그런 다음, 예컨대
Figure 112018092164746-pct00028
를 믹싱 신호로서 사용하는 것이 바람직할 수 있다. 따라서 다음에, (위상 외 입력 채널들에 대한) 사이드 채널이 사용된다.
대안적인 접근 방식에 따르면, 대안적인 접근 방식에 따르면, 잡음 채움 모듈(220)은 다음 식에 기초하여
Figure 112018092164746-pct00029
또는 다음 식에 기초하여
Figure 112018092164746-pct00030
정확히 2개의 이전 오디오 출력 채널들을 사용하여 믹싱 채널을 생성하도록 적응되며, 여기서
Figure 112018092164746-pct00031
는 믹싱 채널이고,
Figure 112018092164746-pct00032
은 정확히 2개의 이전 오디오 출력 채널들 중 제1 오디오 출력 채널이며,
Figure 112018092164746-pct00033
는 정확히 2개의 이전 오디오 출력 채널들 중 제1 오디오 출력 채널과는 다른, 정확히 2개의 이전 오디오 출력 채널들 중 제2 오디오 출력 채널이고, α는 회전각이다.
이러한 접근 방식은 고려되는 2개의 이전 오디오 출력 채널들의 회전을 수행함으로써 믹싱 채널을 계산한다.
회전각(α)은 예를 들어: -90°< α < 90°의 범위 내에 있을 수 있다.
일 실시예에서, 회전각은 예를 들어: 30°< α < 60°의 범위 내에 있을 수 있다.
또한, 일반적인 상황들에서, 채널
Figure 112018092164746-pct00034
는 적절한 믹싱 채널일 수 있다. 이러한 접근 방식은 고려되는 2개의 이전 오디오 출력 채널의 미드 채널로서 믹싱 채널을 계산한다.
그러나 일부 시나리오들에서는,
Figure 112018092164746-pct00035
를 적용할 때, 예를 들어
Figure 112018092164746-pct00036
일 때 0에 가까운 믹싱 채널이 발생할 수 있다. 그런 다음, 예컨대
Figure 112018092164746-pct00037
를 믹싱 신호로서 사용하는 것이 바람직할 수 있다.
특정 실시예에 따르면, 부가 정보는 예컨대, 현재 프레임에 할당되어 있는 현재 부가 정보일 수 있으며, 여기서 인터페이스(212)는 예컨대, 이전 프레임에 할당되어 있는 이전 부가 정보를 수신하도록 적응될 수 있고, 이전 부가 정보는 이전 각도를 포함하며; 인터페이스(212)는 예컨대, 현재 각도를 포함하는 현재 부가 정보를 수신하도록 적응될 수 있고, 잡음 채움 모듈(220)은 예컨대, 회전각(α)으로서 현재 부가 정보의 현재 각도를 사용하도록 적응될 수 있고, 이전 부가 정보의 이전 각도를 회전각(α)으로서 사용하지 않도록 적응된다.
따라서 이러한 실시예에서는, 이전 프레임을 기초로 생성된 이전 오디오 출력 채널들에 기초하여 믹싱 채널이 계산되더라도, 여전히 부가 정보에서 송신되는 현재 각도는 이전에 수신된 회전각이 아닌 회전각으로서 사용된다.
본 발명의 일부 실시예들의 다른 양상은 스케일 팩터들에 관한 것이다.
주파수 대역들은 예를 들어, 스케일 팩터 대역들일 수 있다.
일부 실시예들에 따르면, 다채널 프로세서(204)가 2개의 디코딩된 채널들(D1, D2)의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들(P1*, P2*)의 제1 쌍을 생성하기 전에, 잡음 채움 모듈(220)은 예컨대, 2개의 디코딩된 채널들(D1, D2)의 상기 제1 선택된 쌍의 2개의 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들인 하나 또는 그보다 많은 스케일 팩터 대역들을 식별하도록 적응될 수 있고, 예컨대 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들의 2개 또는 그보다 많은, 그러나 전부는 아닌 이전 오디오 출력 채널들을 사용하여 믹싱 채널을 생성하도록, 그리고 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 스케일 팩터 대역들의 스펙트럼 라인들을, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 스케일 팩터 대역들 각각의 스케일 팩터에 따라 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우도록 적응된다.
이러한 실시예들에서, 스케일 팩터는 예컨대, 스케일 팩터 대역들 각각에 할당될 수 있고, 믹싱 채널을 사용하여 잡음을 생성할 때 해당 스케일 팩터가 고려된다.
특정 실시예에서, 수신 인터페이스(212)는 예컨대, 상기 하나 또는 그보다 많은 스케일 팩터 대역들 각각의 스케일 팩터를 수신하도록 구성될 수 있고, 상기 하나 또는 그보다 많은 스케일 팩터 대역들 각각의 스케일 팩터는 양자화 이전에 상기 스케일 팩터 대역의 스펙트럼 라인들의 에너지를 나타낸다. 잡음 채움 모듈(220)은 예컨대, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 스케일 팩터 대역들 각각에 대한 잡음을 생성하도록 적응될 수 있어, 주파수 대역들 중 하나에 잡음을 부가한 이후 스펙트럼 라인들의 에너지가 상기 스케일 팩터 대역에 대한 스케일 팩터에 의해 표시되는 에너지에 대응한다.
예를 들어, 믹싱 채널은 잡음이 삽입될 스케일 팩터 대역의 4개의 스펙트럼 라인들에 대한 스펙트럼 값들을 표시할 수 있으며, 이러한 스펙트럼 값들은 예를 들어: 0.2; 0.3; 0.5; 0.1일 수 있다.
믹싱 채널의 해당 스케일 팩터 대역의 에너지는 예를 들어 다음과 같이 계산될 수 있다:
Figure 112018092164746-pct00038
그러나 잡음이 채워질 채널의 해당 스케일 팩터 대역에 대한 스케일 팩터는 예를 들어, 단지 0.0039일 수 있다.
감쇄 계수는 예컨대, 다음과 같이 계산될 수 있다:
Figure 112018092164746-pct00039
따라서 상기 예에서,
Figure 112018092164746-pct00040
일 실시예에서, 잡음으로서 사용될 믹싱 채널의 스케일 팩터 대역의 스펙트럼 값들 각각은 감쇄 계수와 곱해진다:
따라서 상기 예의 스케일 팩터 대역의 4개의 스펙트럼 값들 각각은 감쇄 계수와 곱해지고 이는 감쇄된 스펙트럼 값들이 된다:
0.2·0.01 = 0.002
0.3·0.01 = 0.003
0.5·0.01 = 0.005
0.1·0.01 = 0.001
이러한 감쇄된 스펙트럼 값들은 다음에, 예컨대 잡음이 채워질 채널의 스케일 팩터 대역에 삽입된다.
위의 예는 위의 연산들을 이들의 대응하는 로그 연산들로 대체함으로써, 예를 들어 곱셈을 합으로 대체하는 등에 의해 로그 값들에 동일하게 적용 가능하다.
더욱이, 위에서 제공된 특정 실시예들의 설명에 부가하여, 잡음 채움 모듈(220)의 다른 실시예들은 도 2 내지 도 6을 참조하여 설명된 하나, 일부 또는 모든 개념들을 적용한다.
본 발명의 실시예들의 다른 양상은 삽입될 잡음을 얻기 위해 믹싱 채널을 생성하는 데 사용되도록 이전 오디오 출력 채널로부터의 어떤 정보 채널들이 선택되는지에 기초한 문제에 관한 것이다.
일 실시예에 따르면, 잡음 채움 모듈(220)에 따른 장치는 예컨대, 제1 다채널 파라미터들(MCH_PAR2)에 따라 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 정확히 2개의 이전 오디오 출력 채널들을 선택하도록 적응될 수 있다.
따라서 이러한 실시예에서, 어떤 채널들이 처리되도록 선택되는지를 조종하는 제1 다채널 파라미터들은 또한, 삽입될 잡음을 생성하기 위해 이전 오디오 출력 채널들 중 어느 것이 믹싱 채널을 생성하는 데 사용될지를 조종한다.
일 실시예에서, 제1 다채널 파라미터들(MCH_PAR2)은 예컨대, 3개 또는 그보다 많은 디코딩된 채널들의 세트로부터 2개의 디코딩된 채널들(D1, D2)을 표시할 수 있으며; 다채널 프로세서(204)는 제1 다채널 파라미터들(MCH_PAR2)로 표시되는 2개의 디코딩된 채널들(D1, D2)을 선택함으로써 3개 또는 그보다 많은 디코딩된 채널들(D1, D2, D3)의 세트로부터 2개의 디코딩된 채널들(D1, D2)의 제1 선택된 쌍을 선택하도록 적응된다. 더욱이, 제2 다채널 파라미터들(MCH_PAR1)은 예컨대, 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트로부터 2개의 디코딩된 채널들(P1*, D3)을 표시할 수 있다. 다채널 프로세서(204)는 예컨대, 제2 다채널 파라미터들(MCH_PAR1)에 의해 표시되는 2개의 디코딩된 채널들(P1*, D3)을 선택함으로써 3개 또는 그보다 많은 디코딩된 채널들(D3, P1*, P2*)의 업데이트된 세트로부터 2개의 디코딩된 채널들(P1*, D3)의 제2 선택된 쌍을 선택하도록 적응될 수 있다.
따라서 이러한 실시예에서, 제1 처리, 예컨대 도 1a 또는 도 1b의 처리 박스(208)의 처리를 위해 선택되는 채널들은 제1 다채널 파라미터들(MCH_PAR2)에만 의존하지는 않는다. 그보다 더, 이러한 2개의 선택된 채널들은 제1 다채널 파라미터들(MCH_PAR2)에 명시적으로 지정된다.
마찬가지로, 이러한 실시예에서, 제2 처리, 예컨대 도 1a 또는 도 1b의 처리 박스(210)의 처리를 위해 선택되는 채널들은 제2 다채널 파라미터들(MCH_PAR1)에만 의존하지는 않는다. 그보다 더, 이러한 2개의 선택된 채널들은 제2 다채널 파라미터들(MCH_PAR1)에 명시적으로 지정된다.
본 발명의 실시예들은 도 15를 참조하여 설명되는 다채널 파라미터들에 대한 정교한 인덱싱 방식을 도입한다.
도 15(a)는 인코더 측에서 5개의 채널들, 즉 좌측, 우측, 중앙, 좌측 서라운드 및 우측 서라운드 채널들의 인코딩을 도시한다. 도 15(b)는 좌측, 우측, 중앙, 좌측 서라운드 및 우측 서라운드 채널들을 재구성하기 위한 인코딩된 채널들(E0, E1, E2, E3, E4)의 디코딩을 도시한다.
인덱스가 5개의 좌측, 우측, 중앙, 좌측 서라운드 및 우측 서라운드 채널들 각각에 할당된다고 가정하는데, 즉
인덱스 채널명
0 좌측
1 우측
2 중앙
3 좌측 서라운드
4 우측 서라운드
도 15(a)에서는, 인코더 측에서, 수행되는 첫 번째 동작은 예컨대, 2개의 처리된 채널들을 얻기 위한 처리 박스(192)에서의 채널 0(좌측)과 채널 3(좌측 서라운드)의 믹싱일 수 있다. 처리된 채널들 중 하나는 미드 채널이고 다른 채널은 사이드 채널이라고 가정할 수 있다. 그러나 2개의 처리된 채널들을 형성하는, 예를 들어 회전 동작을 수행함으로써 2개의 처리된 채널들을 결정하는 다른 개념들이 또한 적용될 수 있다.
이제, 생성된 2개의 처리된 채널들은 처리에 사용된 채널들의 인덱스들과 동일한 인덱스들을 얻는다. 즉, 처리된 채널 중 제1 채널은 인덱스 0을 가지며, 처리된 채널 중 제2 채널은 인덱스 3을 갖는다. 이 처리를 위해 결정된 다채널 파라미터들은 예컨대, (0; 3)일 수 있다.
수행되는 인코더 측에서의 두 번째 동작은 예컨대, 2개의 추가 처리된 채널들을 얻기 위한 처리 박스(194)에서의 채널 1(우측)과 채널 4(우측 서라운드)의 믹싱일 수 있다. 또한, 추가 생성된 2개의 처리된 채널들은 처리에 사용된 채널들의 인덱스들과 동일한 인덱스들을 얻는다. 즉, 추가 처리된 채널 중 제1 채널은 인덱스 1을 가지며, 처리된 채널 중 제2 채널은 인덱스 4를 갖는다. 이 처리를 위해 결정된 다채널 파라미터들은 예컨대, (1; 4)일 수 있다.
수행되는 인코더 측에서의 세 번째 동작은 예컨대, 다른 2개의 처리된 채널들을 얻기 위한 처리 박스(196)에서의 처리된 채널 0과 처리된 채널 1의 믹싱일 수 있다. 또한, 이러한 생성된 2개의 처리된 채널들은 처리에 사용된 채널들의 인덱스들과 동일한 인덱스들을 얻는다. 즉, 추가 처리된 채널 중 제0 채널은 인덱스 1을 가지며, 처리된 채널 중 제2 채널은 인덱스 1을 갖는다. 이 처리를 위해 결정된 다채널 파라미터들은 예컨대, (0; 1)일 수 있다.
인코딩된 채널들(E0, E1, E2, E3, E4)은 이들의 인덱스들에 의해 구별되는데, 즉 E0은 인덱스 0을 갖고, E1은 인덱스 1을 가지며, E2는 인덱스 2를 갖는 식이다.
인코더 측에서의 세 가지 동작들은 다음의 3개의 다채널 파라미터들을 야기한다:
(0; 3), (1; 4), (0; 1).
디코딩하기 위한 장치가 역순으로 인코더 동작들을 수행할 것이므로, 다채널 파라미터들의 순서는 예컨대, 디코딩하기 위한 장치로 송신될 때 반전될 수 있어, 다음과 같은 다채널 파라미터들을 야기할 수 있다:
(0; 1), (1; 4), (0; 3).
디코딩하기 위한 장치의 경우, (0; 1)은 제1 다채널 파라미터들로 지칭될 수 있고, (1; 4)는 제2 다채널 파라미터들로 지칭될 수 있으며, (0; 3)은 제3 다채널 파라미터들로 지칭될 수 있다.
도 15(b)에 도시된 디코더 측에서는, 제1 다채널 파라미터들(0; 1)의 수신으로부터, 디코딩하기 위한 장치는 디코더 측에서의 제1 처리 동작에 따라, 채널 0(E0) 및 채널 1(E1)이 처리될 것이라는 결론을 내린다. 이것은 도 15(b)의 박스(296)에서 수행된다. 생성된 두 처리된 채널들은 모두 이들을 생성하는 데 사용된 채널 E0 및 채널 E1로부터의 인덱스들을 이어받으며, 따라서 생성된 처리된 채널들도 또한 인덱스 0 및 인덱스 1을 갖는다.
제2 다채널 파라미터들(1; 4)의 수신으로부터, 디코딩하기 위한 장치는 디코더 측에서의 제2 처리 동작에 따라, 처리된 채널 1 및 채널 4(E4)가 처리될 것이라는 결론을 내린다. 이것은 도 15(b)의 박스(294)에서 수행된다. 생성된 두 처리된 채널들은 모두 이들을 생성하는 데 사용된 채널 1 및 채널 4로부터의 인덱스들을 이어받으며, 따라서 생성된 처리된 채널들도 또한 인덱스 1 및 인덱스 4를 갖는다.
제3 다채널 파라미터들(0; 3)의 수신으로부터, 디코딩하기 위한 장치는 디코더 측에서의 제3 처리 동작에 따라, 처리된 채널 0 및 채널 3(E3)이 처리될 것이라는 결론을 내린다. 이것은 도 15(b)의 박스(292)에서 수행된다. 생성된 두 처리된 채널들은 모두 이들을 생성하는 데 사용된 채널 0 및 채널 3으로부터의 인덱스들을 이어받으며, 따라서 생성된 처리된 채널들도 또한 인덱스 0 및 인덱스 3을 갖는다.
디코딩하기 위한 장치의 처리 결과로서, 좌측(인덱스 0), 우측(인덱스 1), 중앙(인덱스 2), 좌측 서라운드(인덱스 3) 및 우측 서라운드(인덱스 4) 채널들이 재구성된다.
디코더 측에서는 양자화로 인해 특정 스케일 팩터 대역 내의 채널 E1(인덱스 1)의 모든 값들이 0으로 양자화되었다고 가정한다. 디코딩하기 위한 장치가 박스(296)에서 처리를 수행하기를 원할 때, 잡음이 채워진 채널 1(채널 E1)이 요구된다.
이미 개요가 설명된 바와 같이, 실시예들은 이제 채널 1의 스펙트럼 홀을 잡음으로 채우기 위해 2개의 이전 오디오 출력 신호를 사용한다.
특정 실시예에서, 동작이 수행될 채널이 0으로 양자화된 스케일 팩터 대역들을 갖는다면, 2개의 이전 오디오 출력 채널들이 처리가 수행될 2개의 채널들과 동일한 인덱스 번호를 갖는 잡음을 생성하는 데 사용된다. 이 예에서는, 처리 박스(296)에서의 처리 전에 채널 1의 스펙트럼 홀이 검출된다면, 인덱스 0(이전 좌측 채널)을 갖고 인덱스 1(이전 우측 채널)을 갖는 이전 오디오 출력 채널들이 디코더 측에서 채널 1의 스펙트럼 홀을 채우기 위한 잡음을 생성하는 데 사용된다.
처리로부터 발생한 처리된 채널들에 의해 일관되게 인덱스들이 이어지기 때문에, 이전 오디오 출력 채널들이 현재 오디오 출력 채널들이라면, 이전 출력 채널들이 디코더 측의 실제 처리에 참여하는 채널들을 생성하는 역할을 했다고 가정할 수 있다. 따라서 0으로 양자화된 스케일 팩터 대역에 대한 양호한 추정이 이루어질 수 있다.
실시예들에 따르면, 이 장치는 예컨대, 3개 또는 그보다 많은 이전 오디오 출력 채널들의 각각의 이전 오디오 출력 채널이 식별기들의 세트의 정확하게 하나의 식별기에 할당되게, 그리고 식별기들의 세트의 각각의 식별기가 3개 또는 그보다 많은 이전 오디오 출력 채널들 중 정확히 하나의 이전 오디오 출력 채널에 할당되게, 식별기들의 세트로부터의 식별기를 3개 또는 그보다 많은 이전 오디오 출력 채널들의 각각의 이전 오디오 출력 채널에 할당하도록 적응될 수 있다. 더욱이, 이 장치는 예컨대, 3개 또는 그보다 많은 디코딩된 채널들의 세트의 각각의 채널이 식별기들의 세트의 정확히 하나의 식별기에 할당되게, 그리고 식별기들의 세트의 각각의 식별기가 3개 또는 그보다 많은 디코딩된 채널들의 세트의 정확히 하나의 채널에 할당되게, 상기 식별기들의 세트로부터의 식별기를 3개 또는 그보다 많은 디코딩된 채널들의 세트의 각각의 채널에 할당하도록 적응될 수 있다.
게다가, 제1 다채널 파라미터들(MCH_PAR2)은 예컨대, 3개 또는 그보다 많은 식별기들의 세트의 2개의 식별기들의 제1 쌍을 표시할 수 있다. 다채널 프로세서(204)는 예컨대, 2개의 식별기들의 제1 쌍의 2개의 식별기들에 할당되는 2개의 디코딩된 채널들(D1, D2)을 선택함으로써 3개 또는 그보다 많은 디코딩된 채널들(D1, D2, D3)의 세트로부터 2개의 디코딩된 채널들(D1, D2)의 제1 선택된 쌍을 선택하도록 적응될 수 있다.
이 장치는 예컨대, 정확히 2개의 처리된 채널들(P1*, P2*)의 제1 그룹의 제1 처리된 채널에 2개의 식별기들의 제1 쌍의 2개의 식별기들 중 제1 식별기를 할당하도록 적응될 수 있다. 더욱이, 이 장치는 예컨대, 정확히 2개의 처리된 채널들(P1*, P2*)의 제1 그룹의 제2 처리된 채널에 2개의 식별기들의 제1 쌍의 2개의 식별기들 중 제2 식별기를 할당하도록 적응될 수 있다.
식별기들의 세트는 예컨대, 인덱스들의 세트, 예를 들어 음이 아닌 정수들의 세트(예를 들어, 식별기들(0; 1; 2; 3; 4)을 포함하는 세트)일 수 있다.
특정 실시예들에서, 제2 다채널 파라미터들(MCH_PAR1)은 예컨대, 3개 또는 그보다 많은 식별기들의 세트의 2개의 식별기들의 제2 쌍을 표시할 수 있다. 다채널 프로세서(204)는 예컨대, 2개의 식별기들의 제2 쌍의 2개의 식별기들에 할당되는 2개의 디코딩된 채널들(D3, P1*)을 선택함으로써 3개 또는 그보다 많은 디코딩된 채널들(D3, P1*, P2*)의 업데이트된 세트로부터 2개의 디코딩된 채널들(P1*, D3)의 제2 선택된 쌍을 선택하도록 적응될 수 있다. 더욱이, 이 장치는 예컨대, 정확히 2개의 처리된 채널들(P3*, P4*)의 제2 그룹의 제1 처리된 채널에 2개의 식별기들의 제2 쌍의 2개의 식별기들 중 제1 식별기를 할당하도록 적응될 수 있다. 게다가, 이 장치는 예컨대, 정확히 2개의 처리된 채널들(P3*, P4*)의 제2 그룹의 제2 처리된 채널에 2개의 식별기들의 제2 쌍의 2개의 식별기들 중 제2 식별기를 할당하도록 적응될 수 있다.
특정 실시예에서, 제1 다채널 파라미터들(MCH_PAR2)은 예컨대, 3개 또는 그보다 많은 식별기들의 세트의 2개의 식별기들의 상기 제1 쌍을 표시할 수 있다. 잡음 채움 모듈(220)은 예컨대, 2개의 식별기들의 상기 제1 쌍의 2개의 식별기들에 할당되는 2개의 이전 오디오 출력 채널들을 선택함으로써 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 정확히 2개의 이전 오디오 출력 채널들을 선택하도록 적응될 수 있다.
이미 개요가 설명된 바와 같이, 도 7은 일 실시예에 따라 적어도 3개의 채널들(CH1:CH3)을 갖는 다채널 신호(101)를 인코딩하기 위한 장치(100)를 예시한다.
이 장치는 제1 반복 단계에서 적어도 3개의 채널들(CH1:CH3)의 각각의 쌍 사이의 채널 간 상관 값들을 계산하고, 제1 반복 단계에서 가장 높은 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하고, 그리고 선택된 쌍을 다채널 처리 연산(110,112)을 사용하여 처리하여 선택된 쌍에 대한 초기 다채널 파라미터들(MCH_PAR1)을 도출하고 제1 처리된 채널들(P1, P2)을 도출하도록 적응되는 반복 프로세서(102)를 포함한다.
반복 프로세서(102)는 추가 다채널 파라미터들(MCH_PAR2) 및 제2 처리된 채널들(P3, P4)을 도출하기 위해, 처리된 채널들(P1) 중 적어도 하나를 사용하여 제2 반복 단계에서 계산, 선택 및 처리를 수행하도록 적응된다.
더욱이, 이 장치는 인코딩된 채널들(E1:E3)을 획득하기 위해, 반복 프로세서(104)에 의해 수행되는 반복 처리로부터 야기되는 채널들(P2:P4)을 인코딩하도록 적응되는 채널 인코더를 포함한다.
게다가, 이 장치는 인코딩된 채널(E1:E3), 초기 다채널 파라미터들 및 추가 다채널 파라미터들(MCH_PAR1, MCH_PAR2)을 갖는 인코딩된 다채널 신호(107)를 생성하도록 적응되는 출력 인터페이스(106)를 포함한다.
더욱이, 이 장치는 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 디코딩하기 위한 장치에 의해 이전에 디코딩되었던, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 잡음으로 채울지 여부를 표시하는 정보를 포함할 인코딩된 다채널 신호(107)를 발생시키도록 적응되는 출력 인터페이스(106)를 포함한다.
따라서 인코딩하기 위한 장치는, 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 디코딩하기 위한 장치에 의해 이전에 디코딩되었던, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 잡음으로 채울지 여부를 시그널링할 수 있다.
일 실시예에 따르면, 초기 다채널 파라미터들 및 추가 다채널 파라미터들(MCH_PAR1, MCH_PAR2) 각각은 정확히 2개의 채널들을 표시하는데, 정확히 2개의 채널들 중 각각의 채널은 인코딩된 채널들(E1:E3) 중 하나이거나 제1 또는 제2 처리된 채널들(P1, P2, P3, P4) 중 하나이거나 적어도 3개의 채널들(CH1:CH3) 중 하나이다.
출력 인터페이스(106)는 예컨대, 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을 채울지 여부를 표시하는 정보가, 초기 및 다채널 파라미터들(MCH_PAR1, MCH_PAR2) 중 각각의 파라미터에 대해, 디코딩하기 위한 장치가 초기 및 추가 다채널 파라미터들(MCH_PAR1, MCH_PAR2) 중 상기 파라미터에 의해 표시된 정확히 2개의 채널들 중 적어도 하나의 채널에 대해, 상기 적어도 하나의 채널의, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 디코딩하기 위한 장치에 의해 이전에 디코딩된, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 스펙트럼 데이터로 채울지 여부를 표시하는 정보를 포함하게, 인코딩된 다채널 신호(107)를 생성하도록 적응될 수 있다.
아래에서 추가로, 이러한 정보가 현재 처리된 MCT 채널 쌍에서의 스테레오 채움이 적용될지 여부를 표시하는 hasStereoFilling[pair] 값을 사용하여 송신되는 특정 실시예들이 설명된다.
도 13은 실시예들에 따른 시스템을 예시한다.
이 시스템은 앞서 설명한 바와 같은 인코딩하기 위한 장치(100) 및 앞서 설명한 실시예들 중 하나에 따른 디코딩하기 위한 장치(201)를 포함한다.
디코딩하기 위한 장치(201)는 인코딩하기 위한 장치(100)에 의해 생성된 인코딩된 다채널 신호(107)를, 인코딩하기 위한 장치(100)로부터 수신하도록 구성된다.
게다가, 인코딩된 다채널 신호(107)가 제공된다.
인코딩된 다채널 신호는 다음을 포함한다:
- 인코딩된 채널들(E1:E3), 그리고
- 다채널 파라미터들(MCH_PAR1, MCH_PAR2), 그리고
- 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 디코딩하기 위한 장치에 의해 이전에 디코딩되었던, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 스펙트럼 데이터로 채울지 여부를 표시하는 정보.
일 실시예에 따르면, 인코딩된 다채널 신호는 예컨대, 다채널 파라미터들(MCH_PAR1, MCH_PAR2)로서 2개 또는 그보다 많은 다채널 파라미터들을 포함할 수 있다.
2개 또는 그보다 많은 다채널 파라미터들(MCH_PAR1, MCH_PAR2) 각각은 예컨대, 정확히 2개의 채널들을 표시할 수 있는데, 정확히 2개의 채널들 중 각각의 채널은 인코딩된 채널들(E1:E3) 중 하나이거나 복수의 처리된 채널들(P1, P2, P3, P4) 중 하나이거나 적어도 3개의 원래(예를 들어, 처리되지 않은) 채널들(CH1:CH3) 중 하나이다.
디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을 채울지 여부를 표시하는 정보는 예컨대, 2개 또는 그보다 많은 다채널 파라미터들(MCH_PAR1, MCH_PAR2) 중 각각의 파라미터에 대해, 디코딩하기 위한 장치가 2개 또는 그보다 많은 다채널 파라미터들(MCH_PAR1, MCH_PAR2) 중 상기 파라미터에 의해 표시된 정확히 2개의 채널들 중 적어도 하나의 채널에 대해, 상기 적어도 하나의 채널의, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 디코딩하기 위한 장치에 의해 이전에 디코딩된, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 스펙트럼 데이터로 채울지 여부를 표시하는 정보를 포함할 수 있다.
이미 개요가 설명된 바와 같이, 아래에서 추가로, 이러한 정보가 현재 처리된 MCT 채널 쌍에서의 스테레오 채움이 적용될지 여부를 표시하는 hasStereoFilling[pair] 값을 사용하여 송신되는 특정 실시예들이 설명된다.
다음에서, 일반적인 개념들 및 특정 실시예들이 보다 상세하게 설명된다.
실시예들은 임의의 스테레오 트리들을 사용하는 유연성을 갖는 파라메트릭 저 비트레이트 코딩 모드에 대해 스테레오 채움과 MCT의 조합을 실현한다.
채널 간 신호 의존성들은 공지된 공동 스테레오 코딩 툴들을 계층적으로 적용함으로써 활용된다. 보다 낮은 비트레이트들에 대해, 실시예들은 개별 스테레오 코딩 박스들 및 스테레오 채움 박스들의 조합을 사용하도록 MCT를 확장한다. 따라서 예컨대, 유사한 콘텐츠를 갖는 채널들, 즉 가장 높은 상관을 갖는 채널 쌍들에 대해 반-파라메트릭 코딩이 적용될 수 있는 반면, 서로 다른 채널들이 독립적으로 또는 비-파라메트릭 표현을 통해 코딩될 수 있다. 따라서 스테레오 채움이 허용되는지 여부를 그리고 어디서 스테레오 채움이 활성인지를 시그널링할 수 있도록 MCT 비트스트림 신택스가 확장된다.
실시예들은 임의의 스테레오 채움 쌍들에 대한 이전 다운믹스의 생성을 실현한다.
스테레오 채움은 이전 프레임의 다운믹스의 사용에 의존하여 주파수 도메인에서 양자화에 의해 야기된 스펙트럼 홀들의 채움을 개선한다. 그러나 MCT와 결합하여, 공동으로 코딩된 스테레오 쌍들의 세트는 이제 시간 변화가 허용된다. 결과적으로, 2개의 공동으로 코딩된 채널들은 이전 프레임에서, 즉 트리 구성이 변경되었을 때 공동으로 코딩되지 않았을 수 있다.
이전 다운믹스를 추정하기 위해, 이전에 디코딩된 출력 채널들이 저장되어 역 스테레오 연산으로 처리된다. 주어진 스테레오 박스에 대해, 이것은 현재 프레임의 파라미터들 및 처리된 스테레오 박스의 채널 인덱스들에 대응하는 이전 프레임의 디코딩된 출력 채널들을 사용하여 이루어진다.
예컨대, 독립 프레임(이전 프레임 데이터를 고려하지 않고 디코딩될 수 있는 프레임) 또는 변환 길이 변경으로 인해 이전 출력 채널 신호가 이용 가능하지 않다면, 대응하는 채널의 이전 채널 버퍼는 0으로 설정된다. 따라서 이전 채널 신호들 중 적어도 하나가 이용 가능한 한, 0이 아닌 이전의 다운믹스가 여전히 계산될 수 있다.
MCT가 예측 기반 스테레오 박스들을 사용하도록 구성된다면, 바람직하게는 예측 방향 플래그(MPEG-H 신택스에서 pred_dir)를 기초로 다음의 2개의 식들 중 하나를 사용하여 스테레오 채움 쌍들에 대해 지정된 역 MS 연산으로 이전의 다운믹스가 계산된다.
Figure 112018092164746-pct00041
여기서 d는 임의의 실수 및 양의 스칼라이다.
MCT가 회전 기반 스테레오 박스들을 사용하도록 구성된다면, 이전 다운믹스는 회전각이 음수인 회전을 사용하여 계산된다.
따라서 다음과 같이 주어진 회전에 대해:
Figure 112018092164746-pct00042
역 회전은 다음과 같이 계산되며:
Figure 112018092164746-pct00043
여기서
Figure 112018092164746-pct00044
은 이전 출력 채널들
Figure 112018092164746-pct00045
Figure 112018092164746-pct00046
의 원하는 이전 다운믹스이다.
실시예들은 MCT에서 스테레오 채움의 적용을 실현한다.
단일 스테레오 박스에 대한 스테레오 채움의 적용은 [1], [5]에서 설명된다.
단일 스테레오 박스의 경우와 같이, 주어진 MCT 채널 쌍의 제2 채널에 스테레오 채움이 적용된다.
특히, MCT와 결합된 스테레오 채움의 차이점은 다음과 같다:
현재 프레임에서 스테레오 채움이 허용되는지 여부를 시그널링할 수 있도록 프레임당 하나의 시그널링 비트씩 MCT 트리 구성이 확장된다.
바람직한 실시예에서, 현재 프레임에서 스테레오 채움이 허용된다면, 스테레오 박스에서 스테레오 채움을 활성화하기 위한 하나의 추가 비트가 각각의 스테레오 박스에 대해 송신된다. 이는 어느 박스들이 디코더에 스테레오 채움을 적용해야 하는지에 대한 인코더 측 제어를 허용하기 때문에 바람직한 실시예이다.
제2 실시예에서는, 현재 프레임에서 스테레오 채움이 허용된다면, 모든 스테레오 박스들에서 스테레오 채움이 허용되고, 개별 스테레오 박스마다 추가 비트가 송신되지 않는다. 이 경우, 개개의 MCT 박스들에서의 스테레오 채움의 선택적 적용은 디코더에 의해 제어된다.
추가 개념들 및 상세한 실시예들이 다음에 설명된다:
실시예들은 낮은 비트레이트의 다채널 동작 포인트들에 대한 품질을 향상시킨다.
주파수 도메인(FD) 코딩된 채널 쌍 엘리먼트(CPE: channel pair element)에서, MPEG-H 3D 오디오 표준은 인코더에서 매우 개략적인 양자화로 인해 야기된 스펙트럼 홀들의 지각적으로 개선된 채움을 위해, [1]의 하위 조항 5.5.5.4.9에서 설명된 스테레오 채움 툴의 사용을 허용한다. 이 툴은 특히, 중간 및 낮은 비트레이트들로 코딩된 2-채널 스테레오에 유리한 것으로 나타났다.
[2]의 섹션 7에서 설명된 다채널 코딩 툴(MCT)이 도입되어, 프레임 단위로 공동으로 코딩된 채널 쌍들의 융통성 있는 신호 적응 정의들이 다채널 설정에서 시간 변화 채널 간 종속성들을 활용할 수 있게 한다. 선험적으로 설정되어야 하는 종래의 CPE + SCE (+ LFE) 구성들과는 달리, MCT는 공동 채널 코딩이 프레임마다 캐스케이드 및/또는 재구성될 수 있게 하기 때문에, MCT의 장점은 각각의 채널이 그 개개의 단일 채널 엘리먼트(SCE: single channel element)에 상주하는 다채널 설정들의 효율적인 동적 공동 코딩에 사용될 때 특히 중요하다.
CPE들을 사용하지 않고 다채널 서라운드 사운드를 코딩하는 것은 현재 CPE들에서만 이용 가능한 공동 스테레오 툴들― 예측 M/S 코딩 및 스테레오 채움 ―이 활용할 수 없다는 단점을 갖는데, 이는 중간 및 낮은 비트레이트들에서 특히 불리하다. MCT는 M/S 툴에 대한 대체로서 작용할 수 있지만, 스테레오 채움 툴에 대한 대체는 현재 이용 가능하지 않다.
실시예들은 각각의 시그널링 비트로 MCT 비트스트림 신택스를 확장함으로써 그리고 임의의 채널 쌍들에 대한 스테레오 채움의 적용을 이들의 채널 엘리먼트 타입들에 관계없이 일반화함으로써 MCT의 채널 쌍들 내에서 또한 스테레오 채움 툴의 사용을 가능하게 한다.
몇몇 실시예들은 예컨대, 다음과 같이 MCT에서 스테레오 채움의 시그널링을 실현할 수 있다:
CPE에서, [1]의 하위 조항 5.5.5.4.9.4에서 설명한 바와 같이, 스테레오 채움 툴의 사용은 제2 채널에 대한 FD 잡음 채움 정보 내에서 시그널링된다. MCT를 이용할 때, 모든 각각의 채널은 잠재적으로 (엘리먼트 간 채널 쌍들의 가능성으로 인해) "제2 채널"이다. 따라서 MCT 코딩된 채널 쌍마다 추가 비트에 의해 스테레오 채움을 명시적으로 시그널링하는 것이 제안된다. 특정 MCT "트리" 인스턴스의 임의의 채널 쌍에서 스테레오 채움이 이용되지 않을 때 이러한 추가 비트에 대한 필요성을 피하기 위해, MultichannelCodingFrame()[2] 내의 MCTSignalingType 엘리먼트의 2개의 현재 예비된 엔트리들이 채널 쌍마다 앞서 언급한 추가 비트의 존재를 시그널링하는 데 이용된다.
아래에 상세한 설명이 제공된다.
일부 실시예들은 예컨대, 다음과 같이 이전의 다운믹스의 계산을 실현할 수 있다:
CPE의 스테레오 채움은 대응하는 대역들의 송신된 스케일 팩터들(상기 대역들은 완전히 0으로 양자화되기 때문에 다른 경우에는 사용되지 않음)에 따라 스케일링된, 이전 프레임의 다운믹스의 각각의 MDCT 계수들의 가산에 의해 제2 채널의 특정한 "비어 있는" 스케일 팩터 대역들을 채운다. 타깃 채널의 스케일 팩터 대역들을 사용하여 제어되는 가중된 가산 프로세스는 MCT와 관련하여 동일하게 이용될 수 있다. 그러나 스테레오 채움에 대한 소스 스펙트럼, 즉 이전 프레임의 다운믹스는 특히 MCT "트리" 구성이 시간 변화할 수 있기 때문에 CPE들과는 다른 방식으로 계산되어야 한다.
MCT에서, 이전 다운믹스는 주어진 공동 채널 쌍에 대한 현재 프레임의 MCT 파라미터들을 사용하여 (MCT 디코딩 이후 저장된) 마지막 프레임의 디코딩된 출력 채널들로부터 도출될 수 있다. 예측 M/S 기반 공동 코딩을 적용하는 쌍의 경우, 이전 다운믹스는 현재 프레임의 방향 표시자에 따라, CPE 스테레오 채움에서와 같이, 적절한 채널 스펙트럼들의 합 또는 차와 같다. 카루넨 루베 회전 기반 공동 코딩을 사용하는 스테레오 쌍의 경우, 이전 다운믹스는 현재 프레임의 회전각(들)으로 계산된 역 회전을 나타낸다. 또, 아래에 상세한 설명이 제공된다.
복잡도 평가는 중간 및 낮은 비트레이트의 툴인 MCT에서의 스테레오 채움이 저/중 및 고 비트레이트들 모두에 대해 측정될 때 최악의 경우의 복잡도를 증가시킬 것으로 예상되지 않는다는 것을 보여준다. 더욱이, 스테레오 채움을 사용하는 것은 일반적으로 0으로 양자화되는 더 많은 스펙트럼 계수들과 일치하며, 이로써 콘텍스트 기반 산술 디코더의 알고리즘 복잡도를 감소시킨다. N 채널 서라운드 구성에서 최대한 N/3 스테레오 채움 채널들 및 스테레오 채움의 실행당 0.2 추가 WMOPS의 사용을 가정하면, 피크 복잡도는 코더 샘플링 레이트가 48㎑이고 IGF 툴은 12㎑ 이상에서만 작동하는 경우에, 5.1에 대해서는 0.4 WMOPS씩만 그리고 11.1 채널들에 대해서는 0.8 WMOPS씩 증가한다. 이는 전체 디코더 복잡도의 2% 미만에 이른다.
실시예들은 MultichannelCodingFrame() 엘리먼트를 다음과 같이 구현한다:
Figure 112018092164746-pct00047
일부 실시예들에 따르면, MCT에서의 스테레오 채움은 다음과 같이 구현될 수 있다:
[1]의 하위 조항 5.5.5.4.9에서 설명된 채널 쌍 엘리먼트의 IGF에 대한 스테레오 채움과 마찬가지로, 다채널 코딩 툴(MCT)에서의 스테레오 채움은 (완전히 0으로 양자화된) "비어 있는" 스케일 팩터 대역들을 이전 프레임의 출력 스펙트럼들의 다운믹스를 사용하여 잡음 채움 시작 주파수로 그리고 그보다 높게 채운다.
MCT 공동 채널 쌍에서 스테레오 채움이 활성(표 AMD4.4의 hasStereoFilling[pair] ≠ 0)인 경우, 그 쌍의 제2 채널의 잡음 채움 영역(즉, noiseFillingStartOffset에서 또는 그 이상에서 시작함) 내의 모든 "비어 있는" 스케일 팩터 대역들은 이전 프레임의 (MCT 적용 후) 대응하는 출력 스펙트럼의 다운믹스를 사용하여 특정 타깃 에너지로 채워진다. 이것은 FD 잡음 채움(ISO/IEC 23003-3: 2012의 하위 조항 7.2 참조) 이후 그리고 스케일 팩터 및 MCT 공동 스테레오 적용 이전에 수행된다. MCT 처리를 완료한 이후의 모든 출력 스펙트럼들은 다음 프레임에서 잠재적인 스테레오 채움을 위해 저장된다.
동작 제약들은 예컨대, 제2 채널의 비어 있는 대역들에서의 스테레오 채움 알고리즘(hasStereoFilling[pair] ≠ 0)의 캐스케이드된 실행이 제2 채널이 동일하다면 ≠ 0인 임의의 다음의 MCT 스테레오 쌍에 대해 지원되지 않는다는 것일 수 있다. 채널 쌍 엘리먼트에서, [1]의 하위 조항 5.5.5.4.9에 따른 제2(잔차) 채널에서의 활성 IGF 스테레오 채움은 동일한 프레임의 동일한 채널에서 MCT 스테레오 채움의 임의의 후속 적용보다 우선하며, 이에 따라 이러한 적용을 불가능하게 한다.
용어들 및 정의들은 예컨대, 다음과 같이 정의될 수 있다:
hasStereoFilling[pair] 현재 처리된 MCT 채널 쌍의 스테레오 채움 사용을 나타냄
ch1, ch2 현재 처리된 MCT 채널 쌍의 채널들의 인덱스들
spectral_data[ ][ ] 현재 처리된 MCT 채널 쌍의 채널들의 스펙트럼 계수들
spectral_data_prev[ ][ ] 이전 프레임에서 MCT 처리를 완료한 이후의 출력 스펙트럼들
downmix_prev[ ][ ] 현재 처리된 MCT 채널 쌍에 의해 인덱스들이 주어진 이전 프레임의 출력 채널들의 추정된 다운믹스
num_swb 스케일 팩터 대역들의 총 수, ISO/IEC 23003-3, 하위 조항 6.2.9.4 참조
ccfl coreCoderFrameLength, 변환 길이, ISO/IEC 23003-3, 하위 조항 6.1 참조.
noiseFillingStartOffset ISO/IEC 23003-3, 표 109의 ccfl에 따라 정의된 잡음 채움 시작 라인.
igf_WhiteningLevel IGF에서의 스펙트럼 백색화, ISO/IEC 23008-3, 하위 조항 5.5.5.4.7 참조
seed[ ] randomSign()에 의해 사용되는 잡음 채움 시드, ISO/IEC 23003-3, 하위 조항 7.2 참조.
일부 특정 실시예들의 경우, 디코딩 프로세스는 예컨대, 다음과 같이 설명될 수 있다:
MCT 스테레오 채움은 다음에 설명되는 네 가지 연속 동작들을 사용하여 수행된다:
단계 1: 스테레오 채움 알고리즘을 위한 제2 채널의 스펙트럼 준비
주어진 MCT 채널 쌍에 대한 스테레오 채움 표시자인 hasStereoFilling[pair]가 0과 같다면, 스테레오 채움이 사용되지 않고 다음 단계들이 실행되지 않는다. 그렇지 않으면, 스케일 팩터 적용이 쌍의 제2 채널 스펙트럼인 spectral_data[ch2]에 이전에 적용되었다면, 스케일 팩터 적용이 취소된다.
단계 2: 주어진 MCT 채널 쌍에 대한 이전 다운믹스 스펙트럼의 생성
MCT 처리의 적용 후에 저장되었던 이전 프레임의 출력 신호들인 spectral_data_prev[ ][ ]로부터 이전의 다운믹스가 추정된다. 예컨대, 독립 프레임(indepFlag>0), 변환 길이 변경 core_mode == 1로 인해 이전 출력 채널 신호가 이용 가능하지 않다면, 대응하는 채널의 이전 채널 버퍼가 0으로 설정될 것이다.
예측 스테레오 쌍들에 대해, 즉 MCTSignalingType == 0의 경우, [1]의 하위 조항 5.5.5.4.9.4의 단계 2에서 정의된 downmix_prev[ ][ ]로 이전 출력 채널들로부터 이전 다운믹스가 계산됨으로써, spectrum[window][ ]가 spectral_data[ ][window]로 표현된다.
회전 스테레오 쌍들에 대해, 즉 MCTSignalingType == 1의 경우, [2]의 하위 조항 5.5.X.3.7.1에 정의된 회전 동작을 반전함으로써 이전 출력 채널들로부터 이전 다운믹스가 계산된다.
apply_mct_rotation_inverse(*R, *L, *dmx, aIdx, nSamples)
{
for (n=0; n<nSamples; n++) {
dmx = L[n] * tabIndexToCosAlpha[aIdx] + R[n] * tabIndexToSinAlpha[aIdx];
}
}
이전 프레임의 L = spectral_data_prev[ch1][ ], R = spectral_data_prev[ch2][ ], dmx = downmix_prev[ ]를 사용하고 현재 프레임의 aIdx, nSamples 및 MCT 쌍을 사용함.
단계 3: 제2 채널의 비어 있는 대역들에서의 스테레오 채움 알고리즘 실행
[1]의 하위 조항 5.5.5.4.9.4의 단계 3에서와 같이 MCT 쌍의 제2 채널에 스테레오 채움이 적용됨으로써, spectrum[window]는 spectral_data[ch2][window]로 표현되고 max_sfb_ste는 num_swb로 주어진다.
단계 4: 잡음 채움 시드들의 스케일 팩터 적용 및 적응적 동기화.
[1]의 하위 조항 5.5.5.4.9.4의 단계 3 이후와 같이, ISO/IEC 23003-3의 7.3에서와 같은 결과 스펙트럼에 스케일 팩터들이 적용되고, 비어 있는 대역들의 스케일 팩터들은 정규 스케일 팩터들처럼 처리된다. 스케일 팩터가 정의되지 않은 경우, 예컨대 이는 max_sfb보다 위에 위치되기 때문에, 그 값은 0과 같을 것이다. IGF가 사용된다면, 제2 채널의 타일들 중 임의의 타일에서 igf_WhiteningLevel은 2와 같고, 두 채널들 모두 8-짧은 변환을 이용하지 않으며, MCT 쌍의 두 채널들의 스펙트럼 에너지들은 decode_mct( )를 실행하기 전에 인덱스 noiseFillingStartOffset에서부터 인덱스 ccfl/2 - 1까지의 범위에서 계산된다. 제1 채널의 계산된 에너지가 제2 채널의 에너지보다 8배 이상 더 크다면, 제2 채널의 seed[ch2]는 제1 채널의 seed[ch1]과 동일하게 설정된다.
일부 양상들은 장치와 관련하여 설명되었지만, 이러한 양상들은 또한 대응하는 방법의 설명을 나타내며, 여기서 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다는 점이 명백하다. 비슷하게, 방법 단계와 관련하여 설명한 양상들은 또한 대응하는 장치의 대응하는 블록 또는 항목 또는 특징의 설명을 나타낸다. 방법 단계들의 일부 또는 전부가 예를 들어, 마이크로프로세서, 프로그래밍 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 사용하여) 실행될 수도 있다. 일부 실시예들에서, 가장 중요한 방법 단계들 중 하나 또는 그보다 많은 단계가 이러한 장치에 의해 실행될 수도 있다.
특정 구현 요건들에 따라, 본 발명의 실시예들은 하드웨어로 또는 소프트웨어로 또는 적어도 부분적으로 하드웨어로 또는 적어도 부분적으로 소프트웨어로 구현될 수 있다. 구현은 각각의 방법이 수행되도록 프로그래밍 가능 컴퓨터 시스템과 협력하는(또는 협력할 수 있는) 전자적으로 판독 가능 제어 신호들이 저장된 디지털 저장 매체, 예를 들어 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 사용하여 수행될 수 있다. 따라서 디지털 저장 매체는 컴퓨터 판독 가능할 수도 있다.
본 발명에 따른 일부 실시예들은 본 명세서에서 설명한 방법들 중 하나가 수행되도록, 프로그래밍 가능 컴퓨터 시스템과 협력할 수 있는 전자적으로 판독 가능 제어 신호들을 갖는 데이터 반송파를 포함한다.
일반적으로, 본 발명의 실시예들은 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때, 방법들 중 하나를 수행하기 위해 작동하는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 프로그램 코드는 예를 들어, 기계 판독 가능 반송파 상에 저장될 수 있다.
다른 실시예들은 기계 판독 가능 반송파 상에 저장된, 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 본 발명의 방법의 한 실시예는 이에 따라, 컴퓨터 상에서 컴퓨터 프로그램이 실행될 때 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서 본 발명의 방법들의 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하여 그 위에 기록된 데이터 반송파(또는 디지털 저장 매체, 또는 컴퓨터 판독 가능 매체)이다. 데이터 반송파, 디지털 저장 매체 또는 레코딩된 매체는 통상적으로 유형적이고 그리고/또는 비-일시적이다.
따라서 본 발명의 방법의 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 신호들의 데이터 스트림 또는 시퀀스이다. 신호들의 데이터 스트림 또는 시퀀스는 예를 들어, 데이터 통신 접속을 통해, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시예는 처리 수단, 예를 들어 본 명세서에서 설명한 방법들 중 하나를 수행하도록 구성 또는 적응된 컴퓨터 또는 프로그래밍 가능 로직 디바이스를 포함한다.
추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시예는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에(예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어, 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수도 있다. 장치 또는 시스템은 예를 들어, 컴퓨터 프로그램을 수신기에 전송하기 위한 파일 서버를 포함할 수도 있다.
일부 실시예들에서, 프로그래밍 가능 로직 디바이스(예를 들어, 필드 프로그래밍 가능 게이트 어레이)는 본 명세서에서 설명한 방법들의 기능들 중 일부 또는 전부를 수행하는 데 사용될 수 있다. 일부 실시예들에서, 필드 프로그래밍 가능 게이트 어레이는 본 명세서에서 설명한 방법들 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 바람직하게 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에서 설명한 장치는 하드웨어 장치를 사용하여, 또는 컴퓨터를 사용하여, 또는 하드웨어 장치와 컴퓨터의 결합을 사용하여 구현될 수도 있다.
본 명세서에서 설명한 방법들은 하드웨어 장치를 사용하여, 또는 컴퓨터를 사용하여, 또는 하드웨어 장치와 컴퓨터의 결합을 사용하여 수행될 수도 있다.
앞서 설명한 실시예들은 단지 본 발명의 원리들에 대한 예시일 뿐이다. 본 명세서에서 설명한 배열들 및 세부사항들의 수정들 및 변형들이 다른 당업자들에게 명백할 것이라고 이해된다. 따라서 이는 본 명세서의 실시예들의 묘사 및 설명에 의해 제시된 특정 세부사항들로가 아닌, 첨부된 특허청구범위로만 한정되는 것을 취지로 한다.
참조들
[1] ISO/IEC international standard 23008-3:2015, "Information technology - High efficiency coding and media deliverly in heterogeneous environments - Part 3: 3D audio," March 2015
[2] ISO/IEC amendment 23008-3:2015/PDAM3, "Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 3: 3D audio, Amendment 3: MPEG-H 3D Audio Phase 2," July 2015
[3] International Organization for Standardization, ISO/IEC 23003-3:2012, "Information Technology - MPEG audio - Part 3: Unified speech and audio coding," Geneva, Jan. 2012
[4] ISO/IEC 23003-1:2007 - Information technology - MPEG audio technologies Part 1: MPEG Surround
[5] C. R. Helmrich, A. Niedermeier, S. Bayer, B. Edler, "Low-Complexity Semi-Parametric Joint-Stereo Audio Transform Coding," in Proc. EUSIPCO, Nice, September 2015
[6] ETSI TS 103 190 V1.1.1 (2014-04) - Digital Audio Compression (AC-4) Standard
[7] Yang, Dai and Ai, Hongmei and Kyriakakis, Chris and Kuo, C.-C. Jay, 2001: Adaptive Karhunen-Loeve Transform for Enhanced Multichannel Audio Coding, http://ict.usc.edu/pubs/Adaptive%20Karhunen-Loeve%20Transform%20for %20Enhanced%20Multichannel%20Audio%20Coding.pdf
[8] European Patent Application, Publication EP 2 830 060 A1: "Noise filling in multichannel audio coding", published on 28 January 2015
[9] Internet Engineering Task Force (IETF), RFC 6716, "Definition of the Opus Audio Codec," Int. Standard, Sep. 2012. Available online at:http://tools.ietf.org/html/rfc6716
[10] International Organization for Standardization, ISO/IEC 14496-3:2009, "Information Technology - Coding of audio-visual objects - Part 3: Audio," Geneva, Switzerland, Aug. 2009
[11] M. Neuendorf et al., "MPEG Unified Speech and Audio Coding - The ISO/MPEG Standard for High-Efficiency Audio Coding of All Content Types," in Proc. 132nd AES Con-vention, Budapest, Hungary, Apr. 2012. Also to appear in the Journal of the AES, 2013

Claims (22)

  1. 3개 또는 그보다 많은 이전 오디오 출력 채널들을 얻기 위해 이전 프레임의 이전 인코딩된 다채널 신호를 디코딩하기 위한, 그리고 3개 또는 그보다 많은 현재 오디오 출력 채널들을 얻기 위해 현재 프레임의 현재 인코딩된 다채널 신호(107)를 디코딩하기 위한 장치(201)로서,
    상기 장치(201)는 인터페이스(212), 채널 디코더(202), 상기 3개 또는 그보다 많은 현재 오디오 출력 채널들을 생성하기 위한 다채널 프로세서(204), 및 잡음 채움 모듈(220)을 포함하고,
    상기 인터페이스(212)는 상기 현재 인코딩된 다채널 신호(107)를 수신하고, 그리고 제1 다채널 파라미터들을 포함하는 부가 정보를 수신하도록 적응되며,
    상기 채널 디코더(202)는 상기 현재 프레임의 3개 또는 그보다 많은 디코딩된 채널들의 세트를 얻기 위해 상기 현재 프레임의 상기 현재 인코딩된 다채널 신호를 디코딩하도록 적응되고,
    상기 다채널 프로세서(204)는 상기 제1 다채널 파라미터들에 따라 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트로부터 2개의 디코딩된 채널들의 제1 선택된 쌍을 선택하도록 적응되고,
    상기 다채널 프로세서(204)는 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 얻기 위해 2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하도록 적응되며,
    상기 다채널 프로세서(204)가 2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 상기 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하기 전에, 상기 잡음 채움 모듈(220)은 2개의 디코딩된 채널들의 상기 제1 선택된 쌍의 2개의 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들을 식별하도록, 그리고 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들의 2개 또는 그보다 많은, 그러나 전부는 아닌 이전 오디오 출력 채널들을 사용하여 믹싱 채널을 생성하도록, 그리고 모든 스펙트럼 라인들이 0으로 양자화되는 상기 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을 상기 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우도록 적응되며, 상기 잡음 채움 모듈(220)은 상기 믹싱 채널을 생성하기 위해 사용되는 2개 또는 그보다 많은 이전 오디오 출력 채널들을 상기 부가 정보에 따라 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 선택하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  2. 제1 항에 있어서,
    상기 잡음 채움 모듈(220)은 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들 중 정확히 2개의 이전 오디오 출력 채널들을 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들 중 2개 또는 그보다 많은 오디오 출력 채널들로서 사용하여 상기 믹싱 채널을 생성하도록 적응되며;
    상기 잡음 채움 모듈(220)은 상기 부가 정보에 따라 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 상기 정확히 2개의 이전 오디오 출력 채널들을 선택하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  3. 제2 항에 있어서,
    상기 잡음 채움 모듈(220)은 다음 식에 기초하여
    Figure 112018092303808-pct00074
    또는 다음 식에 기초하여
    Figure 112018092303808-pct00075

    정확히 2개의 이전 오디오 출력 채널들을 사용하여 상기 믹싱 채널을 생성하도록 적응되며,
    Dch 는 상기 믹싱 채널이고,
    Figure 112018092303808-pct00076
    은 상기 정확히 2개의 이전 오디오 출력 채널들 중 제1 오디오 출력 채널이며,
    Figure 112018092303808-pct00077
    는 상기 정확히 2개의 이전 오디오 출력 채널들 중 상기 제1 오디오 출력 채널과는 다른, 상기 정확히 2개의 이전 오디오 출력 채널들 중 제2 오디오 출력 채널이고,
    d는 실수인 양의 스칼라인,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  4. 제2 항에 있어서,
    상기 잡음 채움 모듈(220)은 다음 식에 기초하여
    Figure 112018092303808-pct00078
    또는 다음 식에 기초하여
    Figure 112018092303808-pct00079

    정확히 2개의 이전 오디오 출력 채널들을 사용하여 상기 믹싱 채널을 생성하도록 적응되며,
    Figure 112018092303808-pct00080
    는 상기 믹싱 채널이고,
    Figure 112018092303808-pct00081
    은 상기 정확히 2개의 이전 오디오 출력 채널들 중 제1 오디오 출력 채널이며,
    Figure 112018092303808-pct00082
    는 상기 정확히 2개의 이전 오디오 출력 채널들 중 상기 제1 오디오 출력 채널과는 다른, 상기 정확히 2개의 이전 오디오 출력 채널들 중 제2 오디오 출력 채널이고,
    α는 회전각인,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  5. 제4 항에 있어서,
    상기 부가 정보는 상기 현재 프레임에 할당되어 있는 현재 부가 정보이며,
    상기 인터페이스(212)는 상기 이전 프레임에 할당되어 있는 이전 부가 정보를 수신하도록 적응되고, 상기 이전 부가 정보는 이전 각도를 포함하며,
    상기 인터페이스(212)는 현재 각도를 포함하는 상기 현재 부가 정보를 수신하도록 적응되고,
    상기 잡음 채움 모듈(220)은 상기 회전각(α)으로서 상기 현재 부가 정보의 현재 각도를 사용하도록 적응되고, 상기 이전 부가 정보의 이전 각도를 상기 회전각(α)으로서 사용하지 않도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  6. 제2 항에 있어서,
    상기 잡음 채움 모듈(220)은 상기 제1 다채널 파라미터들에 따라 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 상기 정확히 2개의 이전 오디오 출력 채널들을 선택하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  7. 제2 항에 있어서,
    상기 인터페이스(212)는 상기 현재 인코딩된 다채널 신호(107)를 수신하고, 그리고 상기 제1 다채널 파라미터들 및 제2 다채널 파라미터들을 포함하는 부가 정보를 수신하도록 적응되며,
    상기 다채널 프로세서(204)는 상기 제2 다채널 파라미터들에 따라 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트로부터 2개의 디코딩된 채널들의 제2 선택된 쌍을 선택하도록 적응되고, 상기 2개의 디코딩된 채널들의 제2 선택된 쌍의 적어도 하나의 채널은 상기 2개 또는 그보다 많은 처리된 채널들의 제1 그룹의 하나의 채널이며,
    상기 다채널 프로세서(204)는 상기 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 추가로 업데이트하기 위해 2개의 디코딩된 채널들의 상기 제2 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제2 그룹을 생성하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  8. 제7 항에 있어서,
    상기 다채널 프로세서(204)는 2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 정확히 2개의 처리된 채널들의 제1 그룹을 생성함으로써 상기 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하도록 적응되며,
    상기 다채널 프로세서(204)는 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트에서 2개의 디코딩된 채널들의 상기 제1 선택된 쌍을 상기 정확히 2개의 처리된 채널들의 제1 그룹으로 대체하여 상기 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 얻도록 적응되고,
    상기 다채널 프로세서(204)는 2개의 디코딩된 채널들의 상기 제2 선택된 쌍에 기초하여 정확히 2개의 처리된 채널들의 제2 그룹을 생성함으로써 상기 2개 또는 그보다 많은 처리된 채널들의 제2 그룹을 생성하도록 적응되며,
    상기 다채널 프로세서(204)는 상기 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트에서 2개의 디코딩된 채널들의 상기 제2 선택된 쌍을 상기 정확히 2개의 처리된 채널들의 제2 그룹으로 대체하여 상기 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 추가로 업데이트하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  9. 제8 항에 있어서,
    상기 제1 다채널 파라미터들은 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트로부터 2개의 디코딩된 채널들을 표시하며;
    상기 다채널 프로세서(204)는 상기 제1 다채널 파라미터들로 표시되는 상기 2개의 디코딩된 채널들을 선택함으로써 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트로부터 상기 2개의 디코딩된 채널들의 제1 선택된 쌍을 선택하도록 적응되고;
    상기 제2 다채널 파라미터들은 상기 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트로부터 2개의 디코딩된 채널들을 표시하며;
    상기 다채널 프로세서(204)는 상기 제2 다채널 파라미터들에 의해 표시되는 상기 2개의 디코딩된 채널들을 선택함으로써 상기 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트로부터 상기 2개의 디코딩된 채널들의 제2 선택된 쌍을 선택하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  10. 제9 항에 있어서,
    상기 장치(201)는 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들의 각각의 이전 오디오 출력 채널이 식별기들의 세트의 정확하게 하나의 식별기에 할당되게, 그리고 상기 식별기들의 세트의 각각의 식별기가 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들 중 정확히 하나의 이전 오디오 출력 채널에 할당되게, 상기 식별기들의 세트로부터의 식별기를 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들의 각각의 이전 오디오 출력 채널에 할당하도록 적응되고,
    상기 장치(201)는 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트의 각각의 채널이 상기 식별기들의 세트의 정확히 하나의 식별기에 할당되게, 그리고 상기 식별기들의 세트의 각각의 식별기가 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트의 정확히 하나의 채널에 할당되게, 상기 식별기들의 세트로부터의 식별기를 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트의 각각의 채널에 할당하도록 적응되며,
    상기 제1 다채널 파라미터들은 3개 또는 그보다 많은 식별기들의 세트의 2개의 식별기들의 제1 쌍을 표시하고,
    상기 다채널 프로세서(204)는 상기 2개의 식별기들의 제1 쌍의 2개의 식별기들에 할당되는 2개의 디코딩된 채널들을 선택함으로써 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트로부터 상기 2개의 디코딩된 채널들의 제1 선택된 쌍을 선택하도록 적응되며;
    상기 장치(201)는 상기 정확히 2개의 처리된 채널들의 제1 그룹의 제1 처리된 채널에 상기 2개의 식별기들의 제1 쌍의 2개의 식별기들 중 제1 식별기를 할당하도록 적응되고, 상기 장치(201)는 상기 정확히 2개의 처리된 채널들의 제1 그룹의 제2 처리된 채널에 상기 2개의 식별기들의 제1 쌍의 2개의 식별기들 중 제2 식별기를 할당하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  11. 제10 항에 있어서,
    상기 제2 다채널 파라미터들은 상기 3개 또는 그보다 많은 식별기들의 세트의 2개의 식별기들의 제2 쌍을 표시하고,
    상기 다채널 프로세서(204)는 상기 2개의 식별기들의 제2 쌍의 2개의 식별기들에 할당되는 2개의 디코딩된 채널들을 선택함으로써 상기 3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트로부터 상기 2개의 디코딩된 채널들의 제2 선택된 쌍을 선택하도록 적응되며;
    상기 장치(201)는 상기 정확히 2개의 처리된 채널들의 제2 그룹의 제1 처리된 채널에 상기 2개의 식별기들의 제2 쌍의 2개의 식별기들 중 제1 식별기를 할당하도록 적응되고, 상기 장치(201)는 상기 정확히 2개의 처리된 채널들의 제2 그룹의 제2 처리된 채널에 상기 2개의 식별기들의 제2 쌍의 2개의 식별기들 중 제2 식별기를 할당하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  12. 제10 항에 있어서,
    상기 제1 다채널 파라미터들은 상기 3개 또는 그보다 많은 식별기들의 세트의 2개의 식별기들의 상기 제1 쌍을 표시하고,
    상기 잡음 채움 모듈(220)은 2개의 식별기들의 상기 제1 쌍의 2개의 식별기들에 할당되는 2개의 이전 오디오 출력 채널들을 선택함으로써 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 상기 정확히 2개의 이전 오디오 출력 채널들을 선택하도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  13. 제1 항에 있어서,
    상기 다채널 프로세서(204)가 2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 상기 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하기 전에, 상기 잡음 채움 모듈(220)은 2개의 디코딩된 채널들의 상기 제1 선택된 쌍의 2개의 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들인 하나 또는 그보다 많은 스케일 팩터 대역들을 식별하도록, 그리고 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들 중 상기 2개 또는 그보다 많은, 그러나 전부는 아닌 이전 오디오 출력 채널들을 사용하여 상기 믹싱 채널을 생성하도록, 그리고 모든 스펙트럼 라인들이 0으로 양자화되는 상기 하나 또는 그보다 많은 스케일 팩터 대역들의 스펙트럼 라인들을, 모든 스펙트럼 라인들이 0으로 양자화되는 상기 하나 또는 그보다 많은 스케일 팩터 대역들 각각의 스케일 팩터에 따라 상기 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우도록 적응되는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  14. 제13 항에 있어서,
    수신 인터페이스(212)는 상기 하나 또는 그보다 많은 스케일 팩터 대역들 각각의 스케일 팩터를 수신하도록 구성되며,
    상기 하나 또는 그보다 많은 스케일 팩터 대역들 각각의 스케일 팩터는 양자화 이전에 상기 스케일 팩터 대역의 스펙트럼 라인들의 에너지를 표시하고,
    상기 잡음 채움 모듈(220)은 모든 스펙트럼 라인들이 0으로 양자화되는 상기 하나 또는 그보다 많은 스케일 팩터 대역들 각각에 대한 잡음을 생성하도록 적응되어, 상기 주파수 대역들 중 하나에 상기 잡음을 부가한 이후 상기 스펙트럼 라인들의 에너지가 상기 스케일 팩터 대역에 대한 스케일 팩터에 의해 표시되는 에너지에 대응하는,
    인코딩된 다채널 신호를 디코딩하기 위한 장치(201).
  15. 시스템으로서,
    적어도 3개의 채널들을 갖는 다채널 신호(101)를 인코딩하기 위한 장치(100), 및
    제1 항에 따른 디코딩하기 위한 장치(201)를 포함하며,
    상기 디코딩하기 위한 장치(201)는 상기 인코딩하기 위한 장치(100)에 의해 생성된 인코딩된 다채널 신호(107)를, 상기 인코딩하기 위한 장치(100)로부터 수신하도록 구성되고,
    상기 다채널 신호(101)를 인코딩하기 위한 장치(100)는,
    제1 반복 단계에서 상기 적어도 3개의 채널들의 각각의 쌍 사이의 채널 간 상관 값들을 계산하고, 상기 제1 반복 단계에서 가장 높은 값을 갖거나 임계치보다 큰 값을 갖는 쌍을 선택하고, 그리고 선택된 쌍을 다채널 처리 연산(110,112)을 사용하여 처리하여 상기 선택된 쌍에 대한 초기 다채널 파라미터들을 도출하고 제1 처리된 채널들을 도출하도록 적응되는 반복 프로세서(102) ― 상기 반복 프로세서(102)는 추가 다채널 파라미터들 및 제2 처리된 채널들을 도출하기 위해, 상기 처리된 채널들 중 적어도 하나를 사용하여 제2 반복 단계에서 상기 계산, 상기 선택 및 처리를 수행하도록 적응됨 ―;
    인코딩된 채널들을 획득하기 위해, 상기 반복 프로세서(102)에 의해 수행되는 반복 처리로부터 야기되는 채널들을 인코딩하도록 적응되는 채널 인코더; 및
    상기 인코딩된 채널들, 상기 초기 다채널 파라미터들 및 상기 추가 다채널 파라미터들을 갖고, 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 상기 디코딩하기 위한 장치에 의해 이전에 디코딩되었던, 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 잡음으로 채울지 여부를 표시하는 정보를 갖는 상기 인코딩된 다채널 신호(107)를 발생시키도록 적응되는 출력 인터페이스(106)를 포함하는,
    시스템.
  16. 제15 항에 있어서,
    상기 초기 다채널 파라미터들 및 상기 추가 다채널 파라미터들 각각은 정확히 2개의 채널들을 표시하며, 상기 정확히 2개의 채널들 중 각각의 채널은 상기 인코딩된 채널들 중 하나이거나 상기 제1 또는 상기 제2 처리된 채널들 중 하나이거나 상기 적어도 3개의 채널들 중 하나이고,
    상기 다채널 신호(101)를 인코딩하기 위한 장치(100)의 출력 인터페이스(106)는, 디코딩하기 위한 장치가 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을 채울지 여부를 표시하는 정보가, 상기 초기 및 상기 다채널 파라미터들 중 각각의 파라미터에 대해, 상기 디코딩하기 위한 장치가 상기 초기 및 상기 추가 다채널 파라미터들 중 상기 파라미터에 의해 표시된 상기 정확히 2개의 채널들 중 적어도 하나의 채널에 대해, 상기 적어도 하나의 채널의, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을, 상기 디코딩하기 위한 장치에 의해 이전에 디코딩된, 상기 이전에 디코딩된 오디오 출력 채널들에 기초하여 생성된 스펙트럼 데이터로 채울지 여부를 표시하는 정보를 포함하게, 상기 인코딩된 다채널 신호(107)를 생성하도록 적응되는,
    시스템.
  17. 3개 또는 그보다 많은 이전 오디오 출력 채널들을 얻기 위해 이전 프레임의 이전 인코딩된 다채널 신호를 디코딩하기 위한, 그리고 3개 또는 그보다 많은 현재 오디오 출력 채널들을 얻기 위해 현재 프레임의 현재 인코딩된 다채널 신호(107)를 디코딩하기 위한 방법으로서,
    상기 현재 인코딩된 다채널 신호(107)를 수신하고, 그리고 제1 다채널 파라미터들을 포함하는 부가 정보를 수신하는 단계;
    상기 현재 프레임의 3개 또는 그보다 많은 디코딩된 채널들의 세트를 얻기 위해 상기 현재 프레임의 상기 현재 인코딩된 다채널 신호를 디코딩하는 단계;
    상기 제1 다채널 파라미터들에 따라 상기 3개 또는 그보다 많은 디코딩된 채널들의 세트로부터 2개의 디코딩된 채널들의 제1 선택된 쌍을 선택하는 단계;
    3개 또는 그보다 많은 디코딩된 채널들의 업데이트된 세트를 얻기 위해 2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 2개 또는 그보다 많은 처리된 채널들의 제1 그룹을 생성하는 단계를 포함하며,
    2개의 디코딩된 채널들의 상기 제1 선택된 쌍에 기초하여 상기 2개 또는 그보다 많은 처리된 채널들의 제1 그룹이 생성되기 전에:
    2개의 디코딩된 채널들의 상기 제1 선택된 쌍의 2개의 채널들 중 적어도 하나에 대해, 모든 스펙트럼 라인들이 0으로 양자화되는 하나 또는 그보다 많은 주파수 대역들을 식별하는 단계, 및 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들의 2개 또는 그보다 많은, 그러나 전부는 아닌 이전 오디오 출력 채널들을 사용하여 믹싱 채널을 생성하는 단계, 및 모든 스펙트럼 라인들이 0으로 양자화되는 상기 하나 또는 그보다 많은 주파수 대역들의 스펙트럼 라인들을 상기 믹싱 채널의 스펙트럼 라인들을 사용하여 생성된 잡음으로 채우는 단계가 수행되며, 상기 믹싱 채널을 생성하기 위해 사용되는 2개 또는 그보다 많은 이전 오디오 출력 채널들을 상기 3개 또는 그보다 많은 이전 오디오 출력 채널들로부터 선택하는 단계가 상기 부가 정보에 따라 수행되는,
    인코딩된 다채널 신호를 디코딩하기 위한 방법.
  18. 컴퓨터 판독 가능 명령이 저장된 컴퓨터 판독 가능 매체로서,
    컴퓨터 또는 신호 프로세서에 의해서 상기 컴퓨터 판독 가능 명령들이 실행될 때 제17 항의 방법을 구현하기 위한,
    컴퓨터 판독 가능 명령이 저장된 컴퓨터 판독 가능 매체.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020187026841A 2016-02-17 2017-02-14 다채널 코딩에서 스테레오 채움을 위한 장치 및 방법 KR102241915B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16156209.5A EP3208800A1 (en) 2016-02-17 2016-02-17 Apparatus and method for stereo filing in multichannel coding
EP16156209.5 2016-02-17
PCT/EP2017/053272 WO2017140666A1 (en) 2016-02-17 2017-02-14 Apparatus and method for stereo filling in multichannel coding

Publications (2)

Publication Number Publication Date
KR20180136440A KR20180136440A (ko) 2018-12-24
KR102241915B1 true KR102241915B1 (ko) 2021-04-19

Family

ID=55361430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187026841A KR102241915B1 (ko) 2016-02-17 2017-02-14 다채널 코딩에서 스테레오 채움을 위한 장치 및 방법

Country Status (19)

Country Link
US (3) US10733999B2 (ko)
EP (3) EP3208800A1 (ko)
JP (3) JP6735053B2 (ko)
KR (1) KR102241915B1 (ko)
CN (6) CN117059108A (ko)
AR (1) AR107617A1 (ko)
AU (1) AU2017221080B2 (ko)
BR (5) BR122023025322A2 (ko)
CA (1) CA3014339C (ko)
ES (1) ES2773795T3 (ko)
MX (3) MX2018009942A (ko)
MY (1) MY194946A (ko)
PL (1) PL3417452T3 (ko)
PT (1) PT3417452T (ko)
RU (1) RU2710949C1 (ko)
SG (1) SG11201806955QA (ko)
TW (1) TWI634548B (ko)
WO (1) WO2017140666A1 (ko)
ZA (1) ZA201805498B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3208800A1 (en) * 2016-02-17 2017-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for stereo filing in multichannel coding
US10037750B2 (en) * 2016-02-17 2018-07-31 RMXHTZ, Inc. Systems and methods for analyzing components of audio tracks
CN109804645A (zh) * 2016-10-31 2019-05-24 谷歌有限责任公司 基于投影的音频代码化
EP3616196A4 (en) * 2017-04-28 2021-01-20 DTS, Inc. AUDIO ENCODER WINDOW AND TRANSFORMATION IMPLEMENTATIONS
US10553224B2 (en) * 2017-10-03 2020-02-04 Dolby Laboratories Licensing Corporation Method and system for inter-channel coding
EP3740950B8 (en) 2018-01-18 2022-05-18 Dolby Laboratories Licensing Corporation Methods and devices for coding soundfield representation signals
KR20210005164A (ko) 2018-04-25 2021-01-13 돌비 인터네셔널 에이비 고주파 오디오 재구성 기술의 통합
CA3238615A1 (en) * 2018-04-25 2019-10-31 Dolby International Ab Integration of high frequency reconstruction techniques with reduced post-processing delay
EP3588495A1 (en) * 2018-06-22 2020-01-01 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Multichannel audio coding
US11699451B2 (en) 2018-07-02 2023-07-11 Dolby Laboratories Licensing Corporation Methods and devices for encoding and/or decoding immersive audio signals
EP3719799A1 (en) * 2019-04-04 2020-10-07 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. A multi-channel audio encoder, decoder, methods and computer program for switching between a parametric multi-channel operation and an individual channel operation
TWI750565B (zh) * 2020-01-15 2021-12-21 原相科技股份有限公司 真無線多聲道揚聲裝置及其多音源發聲之方法
CN113948097A (zh) * 2020-07-17 2022-01-18 华为技术有限公司 多声道音频信号编码方法和装置
CN113948096A (zh) * 2020-07-17 2022-01-18 华为技术有限公司 多声道音频信号编解码方法和装置
CN114023338A (zh) * 2020-07-17 2022-02-08 华为技术有限公司 多声道音频信号的编码方法和装置
TWI744036B (zh) 2020-10-14 2021-10-21 緯創資通股份有限公司 聲音辨識模型訓練方法及系統與電腦可讀取媒體
CN113242546B (zh) * 2021-06-25 2023-04-21 南京中感微电子有限公司 音频转发方法、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015011061A1 (en) 2013-07-22 2015-01-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Noise filling in multichannel audio coding

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005010057A1 (de) * 2005-03-04 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen eines codierten Stereo-Signals eines Audiostücks oder Audiodatenstroms
RU2406164C2 (ru) * 2006-02-07 2010-12-10 ЭлДжи ЭЛЕКТРОНИКС ИНК. Устройство и способ для кодирования/декодирования сигнала
CN101802907B (zh) * 2007-09-19 2013-11-13 爱立信电话股份有限公司 多信道音频的联合增强
CN100555414C (zh) * 2007-11-02 2009-10-28 华为技术有限公司 一种dtx判决方法和装置
US7820321B2 (en) 2008-07-07 2010-10-26 Enervault Corporation Redox flow battery system for distributed energy storage
PL2304719T3 (pl) 2008-07-11 2017-12-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder audio, sposoby dostarczania strumienia audio oraz program komputerowy
AU2009267531B2 (en) * 2008-07-11 2013-01-10 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. An apparatus and a method for decoding an encoded audio signal
CN102177542B (zh) * 2008-10-10 2013-01-09 艾利森电话股份有限公司 能量保留多通道音频编码
WO2010053287A2 (en) * 2008-11-04 2010-05-14 Lg Electronics Inc. An apparatus for processing an audio signal and method thereof
US20100324915A1 (en) * 2009-06-23 2010-12-23 Electronic And Telecommunications Research Institute Encoding and decoding apparatuses for high quality multi-channel audio codec
EP2510515B1 (en) * 2009-12-07 2014-03-19 Dolby Laboratories Licensing Corporation Decoding of multichannel audio encoded bit streams using adaptive hybrid transformation
AU2011237882B2 (en) 2010-04-09 2014-07-24 Dolby International Ab MDCT-based complex prediction stereo coding
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
US9015042B2 (en) * 2011-03-07 2015-04-21 Xiph.org Foundation Methods and systems for avoiding partial collapse in multi-block audio coding
CN105825859B (zh) * 2011-05-13 2020-02-14 三星电子株式会社 比特分配、音频编码和解码
CN102208188B (zh) * 2011-07-13 2013-04-17 华为技术有限公司 音频信号编解码方法和设备
CN103971689B (zh) * 2013-02-04 2016-01-27 腾讯科技(深圳)有限公司 一种音频识别方法及装置
EP3014609B1 (en) * 2013-06-27 2017-09-27 Dolby Laboratories Licensing Corporation Bitstream syntax for spatial voice coding
EP2830061A1 (en) * 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
EP2830045A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for audio encoding and decoding for audio channels and audio objects
TWI774136B (zh) * 2013-09-12 2022-08-11 瑞典商杜比國際公司 多聲道音訊系統中之解碼方法、解碼裝置、包含用於執行解碼方法的指令之非暫態電腦可讀取的媒體之電腦程式產品、包含解碼裝置的音訊系統
EP3208800A1 (en) * 2016-02-17 2017-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for stereo filing in multichannel coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015011061A1 (en) 2013-07-22 2015-01-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Noise filling in multichannel audio coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Draft International Standard ISO/IEC DIS 23008-3. ISO/IEC JTC 1/SC 29/WG 11. 2014.07.25.
Sascha Dick, et al., Discrete multi-channel coding tool for MPEG-H 3D audio, ISO/IEC JTC1/SC29/WG11 MPEG2015/M36591, 2015.06.*

Also Published As

Publication number Publication date
MX2021009732A (es) 2021-09-08
BR112018016898A2 (pt) 2018-12-26
AU2017221080B2 (en) 2020-02-27
CN117059109A (zh) 2023-11-14
BR122023025319A2 (pt) 2024-02-27
BR122023025314A2 (pt) 2024-02-27
ES2773795T3 (es) 2020-07-14
CN117153171A (zh) 2023-12-01
JP7122076B2 (ja) 2022-08-19
JP6735053B2 (ja) 2020-08-05
EP3417452A1 (en) 2018-12-26
AR107617A1 (es) 2018-05-16
MX2021009735A (es) 2021-09-08
EP3417452B1 (en) 2019-12-25
CN117059110A (zh) 2023-11-14
US10733999B2 (en) 2020-08-04
BR122023025309A2 (pt) 2024-02-27
EP3208800A1 (en) 2017-08-23
KR20180136440A (ko) 2018-12-24
AU2017221080A1 (en) 2018-10-04
CN117116272A (zh) 2023-11-24
JP2020173474A (ja) 2020-10-22
BR122023025300A2 (pt) 2024-02-27
US11727944B2 (en) 2023-08-15
WO2017140666A1 (en) 2017-08-24
US20230377586A1 (en) 2023-11-23
CN109074810B (zh) 2023-08-18
JP2019509511A (ja) 2019-04-04
BR122023025322A2 (pt) 2024-02-27
CN117059108A (zh) 2023-11-14
PT3417452T (pt) 2020-03-27
US20200357418A1 (en) 2020-11-12
RU2710949C1 (ru) 2020-01-14
CN109074810A (zh) 2018-12-21
TW201740368A (zh) 2017-11-16
MY194946A (en) 2022-12-27
MX2018009942A (es) 2018-11-09
JP2022160597A (ja) 2022-10-19
CA3014339A1 (en) 2017-08-24
EP3629326A1 (en) 2020-04-01
SG11201806955QA (en) 2018-09-27
PL3417452T3 (pl) 2020-06-29
ZA201805498B (en) 2019-08-28
TWI634548B (zh) 2018-09-01
US20190005969A1 (en) 2019-01-03
CA3014339C (en) 2021-01-26

Similar Documents

Publication Publication Date Title
KR102241915B1 (ko) 다채널 코딩에서 스테레오 채움을 위한 장치 및 방법
US11594235B2 (en) Noise filling in multichannel audio coding

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