KR102329373B1 - 고차 앰비소닉 오디오 신호들로부터 분해된 코딩 벡터들에 대한 코드북들 선택 - Google Patents

고차 앰비소닉 오디오 신호들로부터 분해된 코딩 벡터들에 대한 코드북들 선택 Download PDF

Info

Publication number
KR102329373B1
KR102329373B1 KR1020167035108A KR20167035108A KR102329373B1 KR 102329373 B1 KR102329373 B1 KR 102329373B1 KR 1020167035108 A KR1020167035108 A KR 1020167035108A KR 20167035108 A KR20167035108 A KR 20167035108A KR 102329373 B1 KR102329373 B1 KR 102329373B1
Authority
KR
South Korea
Prior art keywords
vector
codebooks
vectors
unit
spatial component
Prior art date
Application number
KR1020167035108A
Other languages
English (en)
Other versions
KR20170008802A (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 KR20170008802A publication Critical patent/KR20170008802A/ko
Application granted granted Critical
Publication of KR102329373B1 publication Critical patent/KR102329373B1/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/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

Landscapes

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

Abstract

일반적으로, 고차 앰비소닉 계수들로부터 분해된 벡터들을 코딩할 때 코드북 선택을 수행하기 위한 기술들이 설명된다. 메모리 및 프로세서를 포함하는 디바이스는 이 기술들을 수행할 수도 있다. 메모리는 음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용할 복수의 코드북들을 저장하도록 구성될 수도 있다. 벡터 양자화된 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득될 수도 있다. 프로세서는 복수의 코드북들 중의 하나를 선택하도록 구성될 수도 있다.

Description

고차 앰비소닉 오디오 신호들로부터 분해된 코딩 벡터들에 대한 코드북들 선택{SELECTING CODEBOOKS FOR CODING VECTORS DECOMPOSED FROM HIGHER-ORDER AMBISONIC AUDIO SIGNALS}
본 출원은 다음 미국 가출원들:
"CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL"란 발명의 명칭으로 2014년 5월 16일에 출원된 미국 가출원 번호 제 61/994,794호;
"CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL"란 발명의 명칭으로 2014년 5월 28일에 출원된, 미국 가출원 번호 제 62/004,128호;
"CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL"란 발명의 명칭으로 2014년 7월 1일에 출원된, 미국 가출원 번호 제 62/019,663호;
"CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL"란 발명의 명칭으로 2014년 7월 22일에 출원된, 미국 가출원 번호 제 62/027,702호;
"CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL"란 발명의 명칭으로 2014년 7월 23일에 출원된, 미국 가출원 번호 제 62/028,282호;
"CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL"란 발명의 명칭으로 2014년 8월 1일에 출원된, 미국 가출원 번호 제 62/032,440호;
의 이익을 주장하며, 전술한 리스트된 미국 가출원들의 각각은 그들 각각의 전체로 본원에서 개시된 것처럼 참조에 의해 통합된다.
기술 분야
본 개시물은 오디오 데이터, 보다 구체적으로는, 고차 앰비소닉 오디오 데이터의 코딩에 관한 것이다.
고차 앰비소닉스 (higher-order ambisonics; HOA) 신호 (종종 복수의 구면 조화 계수들 (spherical harmonic coefficients; SHC) 또는 다른 계층적 엘리먼트들에 의해 표현됨) 는 음장(soundfield) 의 3차원적 표현이다. HOA 또는 SHC 표현은 음장을, SHC 신호로부터 렌더링되는 멀티-채널 오디오 신호를 플레이백하는데 사용되는 로컬 스피커 기하학적 구조 (local speaker geometry) 와는 독립적인 방식으로 표현할 수도 있다. SHC 신호는 또한 SHC 신호가 5.1 오디오 채널 포맷 또는 7.1 오디오 채널 포맷과 같은, 널리 알려진 그리고 많이 채택된 멀티-채널 포맷들로 렌더링될 수도 있기 때문에, 역방향 호환성 (backwards compatibility) 을 용이하게 할 수도 있다. 따라서 SHC 표현은 역방향 호환성을 또한 수용하는 더 나은 음장의 표현을 가능하게 할 수도 있다.
일반적으로, 코드 벡터들의 셋트에 기초하여 분해된 고차 앰비소닉스 (HOA) 오디오 신호의 (연관된 오디오 오브젝트의 폭, 형상, 방향 및 위치와 같은 공간적 정보를 표현할 수도 있는) v-벡터들을 효율적으로 표현하기 위한 기술들이 설명된다. 이 기술들은, v-벡터를 코드 벡터들의 가중된 합으로 분해하는 것, 복수의 가중치들 및 대응하는 코드 벡터들의 서브셋트를 선택하는 것, 가중치들의 선택된 서브셋트를 양자화하는 것, 및 코드 벡터들의 선택된 서브셋트를 인덱싱하는 것을 수반할 수도 있다. 이 기술들은 HOA 오디오 신호들을 코딩하기 위해 향상된 비트-레이트들을 제공할 수도 있다.
하나의 양태에서, 복수의 고차 앰비소닉 (higher order ambisonic; HOA) 계수들을 획득하는 방법으로서, 이 방법은, 복수의 HOA 계수들의 분해된 버전 (version) 에 포함되는 벡터를 표현하는 복수의 가중 값들 (weight values) 을 나타내는 데이터를 비트스트림으로부터 획득하는 단계를 포함한다. 가중 값들의 각각은 코드 벡터들의 셋트를 포함하는 벡터를 표현하는 코드 벡터들의 가중된 합 (weighted sum) 에서의 복수의 가중치들 (weights) 중의 각각의 가중치에 대응한다. 이 방법은, 가중 값들 및 코드 벡터들에 기초하여 벡터를 재구성하는 단계를 더 포함한다.
다른 양태에서, 복수의 고차 앰비소닉 (HOA) 계수들을 획득하도록 구성된 디바이스로서, 이 디바이스는, 복수의 HOA 계수들의 분해된 버전에 포함되는 벡터를 표현하는 복수의 가중 값들을 나타내는 데이터를 비트스트림으로부터 획득하도록 구성된 하나 이상의 프로세서들을 포함한다. 가중 값들의 각각은, 벡터를 표현하고 코드 벡터들의 셋트를 포함하는 코드 벡터들의 가중된 합에서의 복수의 가중치들 중의 각각의 가중치에 대응한다. 하나 이상의 프로세서들은, 가중 값들 및 코드 벡터들에 기초하여 벡터를 재구성 (reconstruct) 하도록 더 구성된다. 디바이스는 재구성된 벡터를 저장하도록 구성된 메모리를 또한 포함한다.
또 다른 양태에서, 복수의 고차 앰비소닉 (HOA) 계수들을 획득하도록 구성된 디바이스로서, 이 디바이스는, 복수의 HOA 계수들의 분해된 버전에 포함되는 벡터를 표현하는 복수의 가중 값들을 나타내는 데이터를 비트스트림으로부터 획득하는 수단으로서, 가중 값들의 각각은 코드 벡터들의 셋트를 포함하는 벡터를 표현하는 코드 벡터들의 가중된 합에서의 복수의 가중치들 중의 각각의 가중치에 대응하는, 상기 복수의 HOA 계수들의 분해된 버전에 포함되는 벡터를 표현하는 복수의 가중 값들을 나타내는 데이터를 비트스트림으로부터 획득하는 수단, 및 가중 값들 및 코드 벡터들에 기초하여 벡터를 재구성하는 수단을 포함한다.
또 다른 양태에서, 비-일시적 컴퓨터-판독가능 저장 매체는 명령들을 저장하고, 이 명령들은, 실행될 때, 하나 이상의 프로세서들로 하여금, 복수의 고차 앰비소닉 (HOA) 계수들의 분해된 버전에 포함되는 벡터를 표현하는 복수의 가중 값들을 나타내는 데이터를 비트스트림으로부터 획득하는 것으로서, 가중 값들의 각각은 코드 벡터들의 셋트를 포함하는 벡터를 표현하는 코드 벡터들의 가중된 합에서의 복수의 가중치들 중의 각각의 가중치에 대응하는, 상기 복수의 HOA 계수들의 분해된 버전에 포함되는 벡터를 표현하는 복수의 가중 값들을 나타내는 데이터를 비트스트림으로부터 획득하는 것을 행하게 하고, 가중 값들 및 코드 벡터들에 기초하여 벡터를 재구성하게 한다.
또 다른 양태에서, 방법은, 코드 벡터들의 셋트에 기초하여, 복수의 고차 앰비소닉 (HOA) 계수들의 분해된 버전에 포함되는 벡터를 표현하는 하나 이상의 가중 값들을 결정하는 단계를 포함하고, 가중 값들의 각각은 벡터를 표현하는 코드 벡터들의 가중된 합에서 포함되는 복수의 가중치들 중의 각각의 가중치에 대응한다.
또 다른 양태에서, 디바이스는, 코드 벡터들의 셋트를 저장하도록 구성된 메모리, 및 코드 벡터들의 셋트에 기초하여, 복수의 고차 앰비소닉 (HOA) 계수들의 분해된 버전에 포함되는 벡터를 표현하는 하나 이상의 가중 값들을 결정하도록 구성된 하나 이상의 프로세서들을 포함하고, 가중 값들의 각각은 벡터를 표현하는 코드 벡터들의 가중된 합에서 포함되는 복수의 가중치들 중의 각각의 가중치에 대응한다.
또 다른 양태에서, 장치는, HOA 계수들의 분해된 버전을 발생시키기 위해 복수의 고차 앰비소닉 (HOA) 계수들에 대해 분해 (decomposition) 를 수행하는 수단을 포함한다. 이 장치는, 코드 벡터들의 셋트에 기초하여, HOA 계수들의 분해된 버전에 포함되는 벡터를 표현하는 하나 이상의 가중 값들을 결정하는 수단을 더 포함하고, 가중 값들의 각각은 벡터를 표현하는 코드 벡터들의 가중된 합에서 포함되는 복수의 가중치들 중의 각각의 가중치에 대응한다.
또 다른 양태에서, 비-일시적 컴퓨터-판독가능 저장 매체는 명령들을 저장하고, 이 명령들은, 실행될 때, 하나 이상의 프로세서들로 하여금, 코드 벡터들의 셋트에 기초하여, 복수의 HOA 계수들의 분해된 버전에 포함되는 벡터를 표현하는 하나 이상의 가중 값들을 결정하게 하고, 가중 값들의 각각은 벡터를 표현하는 코드 벡터들의 가중된 합에서 포함되는 복수의 가중치들 중의 각각의 가중치에 대응한다.
또 다른 양태에서, 복수의 고차 앰비소닉 (HOA) 계수들을 나타내는 오디오 데이터를 디코딩하는 방법으로서, 이 방법은, 복수의 HOA 계수들의 분해된 버전에 대해 벡터 역양자화 (dequantization) 또는 스칼라 역양자화를 수행할지 여부를 결정하는 단계를 포함한다.
또 다른 양태에서, 복수의 고차 앰비소닉 (HOA) 계수들을 나타내는 오디오 데이터를 디코딩하도록 구성된 디바이스로서, 이 디바이스는, 오디오 데이터를 저장하도록 구성된 메모리, 및 복수의 HOA 계수들의 분해된 버전에 대해 벡터 역양자화 또는 스칼라 역양자화를 수행할지 여부를 결정하도록 구성된 하나 이상의 프로세서들을 포함한다.
또 다른 양태에서, 오디오 데이터를 인코딩하는 방법으로서, 이 방법은, 복수의 고차 앰비소닉 (HOA) 계수들의 분해된 버전에 대해 벡터 양자화 또는 스칼라 양자화를 수행할지 여부를 결정하는 단계를 포함한다.
또 다른 양태에서, 오디오 데이터를 디코딩하는 방법으로서, 이 방법은, 음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용할 복수의 코드북들 중의 하나를 선택하는 단계를 포함하고, 벡터 양자화된 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 분해의 적용 (application) 을 통해 획득된다.
또 다른 양태에서, 디바이스는, 음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용할 복수의 코드북들을 저장하도록 구성된 메모리로서, 벡터 양자화된 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득되는, 상기 메모리, 및 복수의 코드북들 중의 하나를 선택하도록 구성된 하나 이상의 프로세서들을 포함한다.
또 다른 양태에서, 디바이스는, 음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용할 복수의 코드북들을 저장하는 수단으로서, 벡터 양자화된 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득되는, 상기 복수의 코드북들을 저장하는 수단, 및 복수의 코드북들 중 하나를 선택하는 수단을 포함한다.
또 다른 양태에서, 비-일시적 컴퓨터-판독가능 저장 매체는 명령들을 저장하고, 이 명령들은, 실행될 때, 하나 이상의 프로세서들로 하여금, 음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용할 복수의 코드북들 중의 하나를 선택하게 하고, 벡터 양자화된 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득된다.
또 다른 양태에서, 오디오 데이터를 인코딩하는 방법으로서, 이 방법은, 음장의 공간 성분에 대해 벡터 양자화를 수행할 때 사용할 복수의 코드북들 중의 하나를 선택하는 단계를 포함하고, 이 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득된다.
또 다른 양태에서, 디바이스는, 음장의 공간 성분에 대해 벡터 양자화를 수행할 때 사용할 복수의 코드북들을 저장하도록 구성된 메모리를 포함하고, 이 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득된다. 이 디바이스는 또한, 복수의 코드북들 중 하나를 선택하도록 구성된 하나 이상의 프로세서들을 포함한다.
또 다른 양태에서, 디바이스는, 음장의 공간 성분에 대해 벡터 양자화를 수행할 때 사용할 복수의 코드북들을 저장하는 수단으로서, 이 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 벡터-기반 합성의 적용을 통해 획득되는, 상기 복수의 코드북들을 저장하는 수단, 및 복수의 코드북들 중 하나를 선택하는 수단을 포함한다.
또 다른 양태에서, 비-일시적 컴퓨터-판독가능 저장 매체는 명령들을 저장하고, 이 명령들은, 실행될 때, 하나 이상의 프로세서들로 하여금, 음장의 공간 성분에 대해 벡터 양자화를 수행할 때 사용할 복수의 코드북들 중 하나를 선택하게 하고, 이 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 벡터-기반 합성의 적용을 통해 획득된다.
본 기술들의 하나 이상의 양태들의 상세한 사항들은 첨부도면 및 아래의 상세한 설명에서 개시된다. 본 기술들의 다른 특징들, 목적들, 및 이점들은 상세한 설명 및 도면들로부터, 그리고 청구항들로부터 명백해질 것이다.
도 1 은 여러 차수들 및 하위-차수들의 구면 조화 기저 함수들을 예시하는 다이어그램이다.
도 2 는 본 개시물에서 설명하는 기술들의 여러 양태들을 수행할 수도 있는 시스템을 예시하는 다이어그램이다.
도 3a 및 도 3b 는 본 개시물에서 설명하는 기술들의 여러 양태들을 수행할 수도 있는 도 2 의 예에 나타낸 오디오 인코딩 디바이스의 상이한 예들을 보다 자세하게 예시하는 블록도이다.
도 4a 및 도 4b 는 도 2 의 오디오 디코딩 디바이스를 보다 자세하게 예시하는 블록도이다.
도 5 는 본 개시물에서 설명되는 벡터-기반 합성 기법들의 여러 양태들을 수행할 때에 오디오 인코딩 디바이스의 예시적인 동작을 예시하는 플로우차트이다.
도 6 은 본 개시물에서 설명하는 기술들의 여러 양태들을 수행할 때에 오디오 디코딩 디바이스의 예시적인 동작을 예시하는 플로우차트이다.
도 7 및 도 8 은 도 3a 또는 도 3b 의 오디오 인코딩 디바이스의 V-벡터 코딩 유닛의 상이한 버전들을 예시하는 다이어그램이다.
도 9 는 v-벡터로부터 생성된 음장을 예시하는 개념도이다.
도 10 은 v-벡터의 25차 차수 모델로부터 생성된 음장을 예시하는 개념도이다.
도 11 은 도 10 에 나타낸 25차 차수 모델에 대한 각 차수의 가중을 예시하는 개념도이다.
도 12 는 도 9 에 대해 상기 설명된 v-벡터의 5차 차수 모델을 예시하는 개념도이다.
도 13 은 도 12 에 나타낸 5차 차수 모델에 대한 각 차수의 가중을 예시하는 개념도이다.
도 14 는 특이 값 분해를 수행하기 위해 사용되는 예시적인 매트릭스들의 예시적인 치수들을 예시하는 개념도이다.
도 15 는 본 개시물의 v-벡터 코딩 기법들을 이용하여 획득될 수도 있는 예시적인 성능 향상들을 예시하는 차트이다.
도 16 은 본 개시물에서 설명된 기법들에 따라 수행될 때 V-벡터 코딩의 일 예를 나타내는 다수의 다이어그램들이다.
도 17 은 이 개시물에 따른 V-벡터의 예시적인 코드 벡터-기반 분해를 예시하는 개념도이다.
도 18 은 도 10 및 도 11 의 어느 일방 또는 양방의 예에서 나타낸 V-벡터 코딩 유닛에 의해 16 개의 상이한 코드 벡터들이 채용될 수도 있는 상이한 방식들을 나타내는 다이어그램이다.
도 19a 및 도 19b 는, 본 개시물에서 설명된 기술들의 여러 양태들에 따라 사용될 수도 있는 10 개의 값들 및 16 개의 값들을 각각 갖는 각 행을 갖는 256 개의 행들을 갖는 코드북들을 예시하는 다이어그램이다.
도 20 은 본 개시물에서 설명된 기술들의 여러 양태들에 따라 X* 넘버의 코드 벡터들을 선택하기 위해 사용되는 임계치 에러를 나타내는 예시적인 그래프를 예시하는 다이어그램이다.
도 21 은 본 개시물에 따른 예시적인 벡터 양자화 유닛 (520) 을 예시하는 블록도이다.
도 22, 도 24, 및 도 26 은 본 개시물에서 설명된 기술들의 여러 양태들을 수행함에 있어 벡터 양자화 유닛의 예시적인 동작을 나타내는 플로우차트들이다.
도 23, 도 25, 및 도 27 은 본 개시물에서 설명된 기술들의 여러 양태들을 수행함에 있어 V-벡터 재구성 유닛의 예시적인 동작을 나타내는 플로우차트들이다.
일반적으로, 코드 벡터들의 셋트에 기초하여 분해된 고차 앰비소닉스 (HOA) 오디오 신호의 (연관된 오디오 오브젝트의, 폭, 형상, 방향 및 위치와 같은, 공간적 정보를 표현할 수도 있는) v-벡터들을 효율적으로 표현하는 기술들이 설명된다. 이 기술들은, v-벡터를 코드 벡터들의 가중된 합으로 분해하는 것, 복수의 가중치들 및 대응하는 코드 벡터들의 서브셋트를 선택하는 것, 가중치들의 선택된 서브셋트를 양자화하는 것, 및 코드 벡터들의 선택된 서브셋트를 인덱싱하는 것을 수반할 수도 있다. 이 기술들은 HOA 오디오 신호들을 코딩하기 위해 향상된 비트-레이트들을 제공할 수도 있다.
오늘날 서라운드 사운드의 발전은 엔터테인먼트에 대한 많은 출력 포맷들을 이용가능하게 하였다. 이러한 소비자 서라운드 사운드 포맷들의 예들은 그들이 라우드스피커들에의 공급들을 어떤 기하학적인 좌표들로 암시적으로 규정한다는 점에서 주로 '채널' 기반이다. 소비자 서라운드 사운드 포맷들은 (다음 6개의 채널들: 전면 좌측 (FL), 전면 우측 (FR), 중심 또는 전면 중앙, 후면 좌측 또는 서라운드 좌측, 후면 우측 또는 서라운드 우측, 및 저주파수 효과들 (LFE) 을 포함하는) 인기 있는 5.1 포맷, 성장하는 7.1 포맷, 및 (예컨대, 초고화질 텔레비전 표준 (Ultra High Definition Television standard) 과 함께 사용하기 위한) 22.2 포맷 및 7.1.4 포맷과 같은, 높이 스피커들을 포함하는 다양한 포맷들을 포함한다. 비-소비자 포맷들은 '서라운드 어레이들' 로서 종종 불리는 임의 개수의 스피커들을 (대칭 및 비-대칭 기하학적 구조들로) 포괄할 수 있다. 이러한 어레이의 일 예는 트렁케이트된 (truncated) 20면체의 모서리들 상의 좌표들 상에 위치되는 32 개의 라우드스피커들을 포함한다.
미래 MPEG 인코더에의 입력은 옵션적으로 다음 3개의 가능한 포맷들 중 하나이다: (i) (위에서 설명한 바와 같이) 사전-정의된 포지션들에서 라우드스피커들을 통해서 플레이되어야 하는 전통적인 채널-기반의 오디오; (ii) (다른 정보 중에서) 그들의 로케이션 좌표들을 포함하는 연관된 메타데이터를 가진 단일 오디오 오브젝트들에 대한 이산 펄스-코드-변조 (PCM) 데이터를 수반하는 오브젝트-기반의 오디오; 및 (iii) 구면 조화 기저 함수들 (spherical harmonic basis functions) 의 계수들 (또한, "구면 조화 계수들", 또는 SHC, "고차 앰비소닉스" 또는 HOA, 및 "HOA 계수들" 라 함) 을 이용하여 음장을 표현하는 것을 수반하는 장면-기반의 오디오. 미래 MPEG 인코더는 2013년 1월, 스위스, 제네바에서 배포되며, 그리고 http://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w13411.zip 에서 입수가능한, ISO/IEC (International Organization for Standardization/International Electrotechnical Commission) JTC1/SC29/WG11/N13411 에 의한, "Call for Proposals for 3D Audio" 란 제목으로 된 문서에 좀더 자세히 설명되었을 수도 있다.
시장에서는 여러 '서라운드-사운드' 채널-기반 포맷들이 있다. 그들은 예를 들어, (스테레오를 넘어서 거실들로 잠식해 들어가는 관점에서 가장 성공적이었던) 5.1 홈 시어터 시스템으로부터, NHK (Nippon Hoso Kyokai 또는 일본 방송 협회 (Japan Broadcasting Corporation)) 에 의해 개발된 22.2 시스템에 이른다. 콘텐츠 생성자들 (예컨대, 할리우드 스튜디오들) 은 영화용 사운드트랙을 한번 제작하고, 각각의 스피커 구성을 위해 그것을 재믹싱하는데 노력을 들이지 않기를 원할 것이다. 최근, 표준들 개발 조직들은 표준화된 비트스트림으로의 인코딩, 및 스피커 기하학적 구조 (및 개수) 및 (렌더러를 포함한) 플레이백의 로케이션에서의 음향 조건들에 적응가능하고 독립적인 후속 디코딩을 제공할 방법들을 고려하고 있다.
콘텐츠 생성자들에게 이러한 유연성을 제공하기 위해, 음장을 표현하는데 엘리먼트들의 계층적 셋트가 사용될 수도 있다. 엘리먼트들의 계층적 셋트는 낮은-차수의 엘리먼트들의 기본적인 셋트가 모델링된 음장의 풀 표현을 제공하도록 엘리먼트들이 차수화된 엘리먼트들의 셋트를 지칭할 수도 있다. 그 셋트가 고차 엘리먼트들을 포함하도록 확장되므로, 그 표현이 좀더 상세해져, 해상도를 증가시킨다.
엘리먼트들의 계층적 셋트의 일 예는 구면 조화 계수들의 셋트 (SHC) 이다. 다음 수식은 음장의 설명 또는 표현을 SHC 를 이용하여 설명한다:
Figure 112016122900612-pct00001
수식은 시간 t 에서 음장의 임의의 포인트
Figure 112016122900612-pct00002
에서의 압력
Figure 112016122900612-pct00003
이, SHC,
Figure 112016122900612-pct00004
에 의해 고유하게 표현될 수 있다는 것을 나타낸다. 여기서, k=ω/c, c 는 사운드의 속도 (~343 m/s) 이고,
Figure 112016122900612-pct00005
는 참조의 포인트 (또는, 관측 포인트) 이고,
Figure 112016122900612-pct00006
는 차수 (order) n 의 구면 Bessel 함수이고, 그리고
Figure 112016122900612-pct00007
는 차수 n 및 하위차수 m 의 구면 조화 기저 함수들이다. 꺽쇠 괄호들 내 항은 이산 푸리에 변환 (DFT), 이산 코사인 변환 (DCT), 또는 웨이블릿 변환과 같은, 여러 시간-주파수 변환들에 의해 근사화될 수 있는 신호의 주파수-도메인 표현 (즉,
Figure 112016122900612-pct00008
) 인 것을 알 수 있다. 계층적 셋트들의 다른 예들은 웨이블릿 변환 계수들의 셋트들 및 다중해상도 기저 함수들의 계수들의 다른 셋트들을 포함한다.
도 1 은 제로 차수 (n = 0) 로부터 제 4 차수 (n = 4) 까지의 구면 조화 기저 함수들을 예시하는 다이어그램이다. 볼 수 있는 바와 같이, 각각의 차수에 대해, 예시의 용이 목적을 위해 도 1 의 예에 나타내지만 명시적으로 표시되지 않은 하위차수들 m 의 확장이 존재한다.
SHC
Figure 112016122900612-pct00009
는 여러 마이크로폰 어레이 구성들에 의해 물리적으로 획득될 (예컨대, 기록될) 수 있거나, 또는 이의 대안으로, 그들은 음장의 채널-기반의 또는 오브젝트-기반의 설명들로부터 유도될 수 있다. SHC 는 장면-기반의 오디오를 나타내며, 여기서, SHC 는 좀더 효율적인 송신 또는 저장을 증진할 수도 있는 인코딩된 SHC 를 획득하기 위해 오디오 인코더에 입력될 수도 있다. 예를 들어, (1+4)2 (25, 따라서, 제 4 차수) 계수들을 수반하는 제 4-차수 표현이 사용될 수도 있다.
위에서 언급한 바와 같이, SHC 는 마이크로폰 어레이를 이용한 마이크로폰 레코딩으로부터 유도될 수도 있다. SHC 가 마이크로폰 어레이들로부터 유도될 수 있는 방법의 여러 예들은 2005년 11월, J. Audio Eng. Soc., Vol. 53, No. 11, pp. 1004-1025, Poletti, M., "Three-Dimensional Surround Sound Systems Based on Spherical Harmonics" 에 설명되어 있다.
SHC들이 어떻게 오브젝트-기반의 설명으로부터 유도될 수 있는지를 예시하기 위해, 다음 방정식을 고려한다. 개개의 오디오 오브젝트에 대응하는 음장에 대한 계수들
Figure 112016122900612-pct00010
은 다음과 같이 표현될 수도 있다:
Figure 112016122900612-pct00011
여기서, i 는
Figure 112016122900612-pct00012
이고,
Figure 112016122900612-pct00013
는 차수 n 의 (제 2 종의) 구면 Hankel 함수이고,
Figure 112016122900612-pct00014
는 오브젝트의 로케이션이다. (예컨대, PCM 스트림에 관해 고속 푸리에 변환을 수행하는 것과 같은, 시간-주파수 분석 기법들을 이용하여) 오브젝트 소스 에너지 g(ω) 를 주파수의 함수로서 아는 것은 우리가 각각의 PCM 오브젝트 및 그의 로케이션을 SHC
Figure 112016122900612-pct00015
로 변환가능하게 한다. 또, (상기가 선형 및 직교 분해이므로) 각각의 오브젝트에 대한
Figure 112016122900612-pct00016
계수들이 누적되는 것으로 표시될 수 있다. 이러한 방법으로, 다수의 PCM 오브젝트들은
Figure 112016122900612-pct00017
계수들에 의해 (예컨대, 개개의 오브젝트들에 대한 계수 벡터들의 합계로서) 표현될 수 있다. 본질적으로, 계수들은 음장에 관한 정보 (3D 좌표들의 함수로서의 압력) 을 포함하며, 상기는 관측 포인트
Figure 112016122900612-pct00018
근처에서, 개개의 오브젝트들로부터 전체 음장의 표현으로의 변환을 나타낸다. 나머지 도면들은 오브젝트-기반 및 SHC-기반 오디오 코딩의 상황에서 아래에서 설명된다.
도 2 는 본 개시물에서 설명하는 기술들의 여러 양태들을 수행할 수도 있는 시스템 (10) 을 예시하는 다이어그램이다. 도 2 의 예에 나타낸 바와 같이, 시스템 (10) 은 콘텐츠 생성자 디바이스 (12) 및 콘텐츠 소비자 디바이스 (14) 를 포함한다. 콘텐츠 생성자 디바이스 (12) 및 콘텐츠 소비자 디바이스 (14) 의 상황에서 설명되지만, 이 기법들은 (HOA 계수들로서 또한 지칭될 수도 있는) SHC들 또는 음장의 임의의 다른 계층적 표현이 오디오 데이터를 나타내는 비트스트림을 형성하기 위해 인코딩되는 임의의 상황에서 구현될 수도 있다. 더욱이, 콘텐츠 생성자 디바이스 (12) 는 몇개의 예들을 제공하자면, 핸드셋 (또는, 셀룰러폰), 태블릿 컴퓨터, 스마트 폰, 또는 데스크탑 컴퓨터를 포함한, 본 개시물에서 설명하는 기술들을 구현하는 것이 가능한 임의 유형의 컴퓨팅 디바이스를 나타낼 수도 있다. 이와 유사하게, 콘텐츠 소비자 디바이스 (14) 는 몇개의 예들을 제공하자면 핸드셋 (또는, 셀룰러폰), 태블릿 컴퓨터, 스마트 폰, 셋-탑 박스, 또는 데스크탑 컴퓨터를 포함한, 본 개시물에서 설명하는 기술들을 구현하는 것이 가능한 임의 유형의 컴퓨팅 디바이스를 나타낼 수도 있다.
콘텐츠 생성자 디바이스 (12) 는 콘텐츠 소비자 디바이스 (14) 와 같은 콘텐츠 소비자 디바이스들의 오퍼레이터들에 의한 소비를 위해 멀티-채널 오디오 콘텐츠를 발생할 수도 있는 영화 스튜디오 또는 다른 엔터티에 의해 동작될 수도 있다. 일부 예들에서, 콘텐츠 생성자 디바이스 (12) 는 HOA 계수들 (11) 을 압축하기를 원하는 개개의 사용자에 의해 동작될 수도 있다. 종종, 콘텐츠 생성자는 비디오 콘텐츠와 함께 오디오 콘텐츠를 발생시킨다. 콘텐츠 소비자 디바이스 (14) 는 개개인에 의해 동작될 수도 있다. 콘텐츠 소비자 디바이스 (14) 는 멀티-채널 오디오 콘텐츠로서 플레이백을 위한 SHC 를 렌더링하는 것이 가능한 임의 유형의 오디오 플레이백 시스템을 지칭할 수도 있는 오디오 플레이백 시스템 (16) 을 포함할 수도 있다.
콘텐츠 생성자 디바이스 (12) 는 오디오 편집 시스템 (18) 을 포함한다. 콘텐츠 생성자 디바이스 (12) 는 라이브 레코딩들 (7) 을 (HOA 계수들로서 직접 포함하는) 여러 포맷들로, 그리고 콘텐츠 생성자 디바이스 (12) 가 오디오 편집 시스템 (18) 을 이용하여 편집할 수도 있는 오디오 오브젝트들 (9) 을 획득한다. 마이크로폰 (5) 은 라이브 레코딩들 (7) 을 캡처할 수도 있다. 콘텐츠 생성자는 편집 프로세스 동안, 추가로 편집할 필요가 있는 음장의 여러 양태들을 식별하려는 시도로 렌더링된 스피커 피드들을 청취하는 오디오 오브젝트들 (9) 로부터 HOA 계수들 (11) 을 렌더링할 수도 있다. 콘텐츠 생성자 디바이스 (12) 는 그후 (잠재적으로는, 소스 HOA 계수들이 위에서 설명된 방법으로 유도될 수도 있는 오디오 오브젝트들 (9) 중 상이한 하나의 조작을 통해서 간접적으로) HOA 계수들 (11) 을 편집할 수도 있다. 콘텐츠 생성자 디바이스 (12) 는 HOA 계수들 (11) 을 발생시키기 위해 오디오 편집 시스템 (18) 을 채용할 수도 있다. 오디오 편집 시스템 (18) 은 오디오 데이터를 편집하여 오디오 데이터를 하나 이상의 소스 구면 조화 계수들로서 출력하는 것이 가능한 임의의 시스템을 나타낸다.
편집 프로세스가 완료될 때, 콘텐츠 생성자 디바이스 (12) 는 HOA 계수들 (11) 에 기초하여 비트스트림 (21) 을 발생시킬 수도 있다. 즉, 콘텐츠 생성자 디바이스 (12) 는 비트스트림 (21) 을 발생시키는 본 개시물에서 설명하는 기술들의 여러 양태들에 따라서 HOA 계수들 (11) 을 인코딩하거나 또는 아니면 압축하도록 구성된 디바이스를 나타내는 오디오 인코딩 디바이스 (20) 를 포함한다. 오디오 인코딩 디바이스 (20) 는 일 예로서, 유선 또는 무선 채널, 데이터 저장 디바이스, 또는 기타 등등일 수도 있는 송신 채널을 통한 송신을 위해 비트스트림 (21) 을 발생시킬 수도 있다. 비트스트림 (21) 은 HOA 계수들 (11) 의 인코딩된 버전을 나타낼 수도 있으며, 1차 비트스트림 및 부 채널 정보로서 지칭될 수도 있는 다른 부 비트스트림 (side bitstream) 을 포함할 수도 있다.
도 2 에서 콘텐츠 소비자 디바이스 (14) 로 직접 송신되는 것으로 나타내지만, 콘텐츠 생성자 디바이스 (12) 는 비트스트림 (21) 을 콘텐츠 생성자 디바이스 (12) 와 콘텐츠 소비자 디바이스 (14) 사이에 위치된 중간 디바이스로 출력할 수도 있다. 중간 디바이스는 이 비트스트림을 요청할 수도 있는 콘텐츠 소비자 디바이스 (14) 에게의 추후 전달을 위해 비트스트림 (21) 을 저장할 수도 있다. 중간 디바이스는 파일 서버, 웹 서버, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 모바일 폰, 스마트 폰, 또는 오디오 디코더에 의한 추후 취출을 위해 비트스트림 (21) 을 저장하는 것이 가능한 임의의 다른 디바이스를 포함할 수도 있다. 중간 디바이스는 비트스트림 (21) 을 (그리고, 어쩌면, 대응하는 비디오 데이터 비트스트림을 송신하는 것과 함께) 비트스트림 (21) 을 요청하는 콘텐츠 소비자 디바이스 (14) 와 같은, 가입자들에게 스트리밍하는 것이 가능한 콘텐츠 전달 네트워크에 상주할 수도 있다.
이의 대안으로, 콘텐츠 생성자 디바이스 (12) 는 비트스트림 (21) 을, 대부분이 컴퓨터에 의해 판독가능하고 따라서 컴퓨터-판독가능 저장 매체들 또는 비일시성 컴퓨터-판독가능 저장 매체들로서 지칭될 수도 있는, 컴팩트 디스크, 디지털 비디오 디스크, 고화질 비디오 디스크 또는 다른 저장 매체들과 같은, 저장 매체에 저장할 수도 있다. 이 상황에서, 송신 채널은 매체들에 저장된 콘텐츠가 송신되는 채널들을 지칭할 수도 있다 (그리고, 소매점들 및 다른 저장-기반의 전달 메커니즘을 포함할 수도 있다). 어쨌든, 본 개시물의 기술들은 따라서 이 점에서 도 2 의 예에 한정되지 않아야 한다.
도 2 의 예에서 추가로 나타낸 바와 같이, 콘텐츠 소비자 디바이스 (14) 는 오디오 플레이백 시스템 (16) 을 포함한다. 오디오 플레이백 시스템 (16) 은 멀티-채널 오디오 데이터를 플레이백하는 것이 가능한 임의의 오디오 플레이백 시스템을 나타낼 수도 있다. 오디오 플레이백 시스템 (16) 은 다수의 상이한 렌더러들 (22) 을 포함할 수도 있다. 렌더러들 (22) 은 상이한 유형의 렌더링을 각각 제공할 수도 있으며, 여기서, 상이한 유형들의 렌더링은 벡터-기반 진폭 패닝 (VBAP) 을 수행하는 여러 방법들 중 하나 이상, 및/또는 음장 합성을 수행하는 여러 방법들 중 하나 이상을 포함할 수도 있다. 본원에서 사용될 때, "A 및/또는 B" 는 "A 또는 B", 또는 "A 및 B" 양쪽을 의미한다.
오디오 플레이백 시스템 (16) 은 오디오 디코딩 디바이스 (24) 를 더 포함할 수 있다. 오디오 디코딩 디바이스 (24) 는 비트스트림 (21) 으로부터 HOA 계수들 (11') 을 디코딩하도록 구성된 디바이스를 나타낼 수도 있으며, 여기서, HOA 계수들 (11') 은 HOA 계수들 (11) 과 유사하지만 손실있는 동작들 (예컨대, 양자화) 및/또는 송신 채널을 통한 송신으로 인해 상이할 수도 있다. 오디오 플레이백 시스템 (16) 은 HOA 계수들 (11') 을 얻기 위해 비트스트림 (21) 을 디코딩한 후, HOA 계수들 (11') 을 렌더링하여 라우드스피커 피드들 (25) 을 출력할 수도 있다. 라우드스피커 피드들 (25) 은 (용이한 예시의 목적을 위해 도 2 의 예에 도시되지 않은) 하나 이상의 라우드스피커들을 구동할 수도 있다.
적절한 렌더러를 선택하기 위해, 또는, 일부 경우, 적합한 렌더러를 발생시키기 위해, 오디오 플레이백 시스템 (16) 은 다수의 라우드스피커들 및/또는 라우드스피커들의 공간 기하학적 구조를 나타내는 라우드스피커 정보 (13) 를 획득할 수도 있다. 일부의 경우, 오디오 플레이백 시스템 (16) 은 참조 마이크로폰을 이용하여 라우드스피커 정보 (13) 를 획득하고 라우드스피커 정보 (13) 를 동적으로 결정하는 방법으로 라우드스피커들을 구동할 수도 있다. 다른 경우들에서, 또는 라우드스피커 정보 (13) 의 동적 결정과 함께, 오디오 플레이백 시스템 (16) 은 오디오 플레이백 시스템 (16) 과 인터페이스하여 라우드스피커 정보 (13) 를 입력하도록 사용자에게 프롬프트할 수도 있다.
오디오 플레이백 시스템 (16) 은 그후 라우드스피커 정보 (13) 에 기초하여 오디오 렌더러들 (22) 중 하나를 선택할 수도 있다. 일부의 경우, 오디오 플레이백 시스템 (16) 은 어떤 오디오 렌더러들 (22) 도 라우드스피커 정보 (13) 에 명시된 라우드스피커 기하학적 구조에 대한 일부 임계치 유사성 척도 (라우드스피커 기하학적 구조의 관점에서) 내에 있지 않을 때, 라우드스피커 정보 (13) 에 기초하여 오디오 렌더러들 (22) 중 하나를 발생시킬 수도 있다. 오디오 플레이백 시스템 (16) 은 일부 경우, 기존 오디오 렌더러들 (22) 중 하나를 선택하려고 먼저 시도함이 없이, 라우드스피커 정보 (13) 에 기초하여 오디오 렌더러들 (22) 중 하나를 발생시킬 수도 있다. 하나 이상의 스피커들 (3) 은 그 다음에 렌더링된 라우드스피커 피드들 (25) 을 플레이백할 수도 있다.
도 3a 는 본 개시물에서 설명하는 기술들의 여러 양태들을 수행할 수도 있는 도 2 의 예에 나타낸 오디오 인코딩 디바이스 (20) 의 일 예를 좀더 자세하게 예시하는 블록도이다. 오디오 인코딩 디바이스 (20) 는 콘텐츠 분석 유닛 (26), 벡터-기반 분해 유닛 (27) 및 방향-기반 분해 유닛 (28) 을 포함한다. 아래에서 간단히 설명되지만, 오디오 인코딩 디바이스 (20) 및 HOA 계수들을 압축하거나 또는 아니면 인코딩하는 여러 양태들에 관한 더 많은 정보는 "INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD"란 발명의 명칭으로, 2014년 5월 29일에 출원된, 국제 특허 출원 공개 번호 WO 2014/194099호에서 입수가능하다.
콘텐츠 분석 유닛 (26) 은 HOA 계수들 (11) 의 콘텐츠를 분석하여 HOA 계수들 (11) 이 라이브 레코딩 또는 오디오 오브젝트로부터 발생된 콘텐츠를 나타내는지 여부를 식별하도록 구성된 유닛을 나타낸다. 콘텐츠 분석 유닛 (26) 은 HOA 계수들 (11) 이 실제 음장의 레코딩으로부터 또는 인공적인 오디오 오브젝트로부터 발생되었는지 여부를 결정할 수도 있다. 일부의 경우, 프레임으로 된 HOA 계수들 (11) 이 레코딩으로부터 발생되었을 때, 콘텐츠 분석 유닛 (26) 은 HOA 계수들 (11) 을 벡터-기반 분해 유닛 (27) 으로 전달한다. 일부의 경우, 프레임으로 된 HOA 계수들 (11) 이 합성 오디오 오브젝트로부터 발생되었을 때, 콘텐츠 분석 유닛 (26) 은 HOA 계수들 (11) 을 방향-기반 합성 유닛 (28) 으로 전달한다. 방향-기반 합성 유닛 (28) 은 HOA 계수들 (11) 의 방향-기반 합성을 수행하여 방향-기반 비트스트림 (21) 을 발생시키도록 구성된 유닛을 나타낼 수도 있다.
도 3a 의 예에 나타낸 바와 같이, 벡터-기반 분해 유닛 (27) 은 선형 가역 변환 (LIT) 유닛 (30), 파라미터 산출 유닛 (32), 재정렬 유닛 (34), 전경 선택 유닛 (36), 에너지 보상 유닛 (38), 음향심리 오디오 코더 유닛 (40), 비트스트림 생성 유닛 (42), 음장 분석 유닛 (44), 계수 감축 유닛 (46), 배경 (background; BG) 선택 유닛 (48), 공간-시간적 보간 유닛 (50), 및 V-벡터 코딩 유닛 (52) 을 포함할 수도 있다.
선형 가역 변환 (LIT) 유닛 (30) 은 HOA 계수들 (11) 을 HOA 채널들의 유형으로 수신하며, 각각의 채널은 (HOA[k] 로서 표시될 수도 있으며, 여기서 k 는 샘플들의 현재의 프레임 또는 블록을 표시할 수도 있는) 구형 기저 함수들의 주어진 차수, 서브-차수와 연관된 계수의 블록 또는 프레임을 나타낸다. HOA 계수들 (11) 의 매트릭스는 치수들 D: M x (N+1)2 을 가질 수도 있다.
LIT 유닛 (30) 은 특이 값 분해로서 지칭되는 분석의 유형을 수행하도록 구성된 유닛을 나타낼 수도 있다. SVD 에 대해 설명되지만, 본 개시물에서 설명하는 기술들은 선형으로 비상관된, 에너지 압축된 출력의 셋트들을 제공하는 임의의 유사한 변환 또는 분해에 대해서 수행될 수도 있다. 또한, 본 개시물에서 "셋트들" 에 대한 참조는 구체적으로 반대로 언급되지 않는 한 비-제로 셋트들을 지칭하는 것으로 일반적으로 의도되며, 소위 "빈 (empty) 셋트" 를 포함하는 셋트들의 고전 (classical) 수학적 정의를 지칭하는 것으로 의도되지 않는다. 대안적인 변환은 "PCA" 로서 종종 지칭되는 주요 구성요소 분석을 포함할 수도 있다. 상황에 따라서, PCA 는 몇 개의 예들을 들면, 이산 카루넨-루베 변환, 호텔링 변환, 적합 직교 분해 (POD), 및 고유값 분해 (EVD) 와 같은, 다수의 상이한 이름들로 지칭될 수도 있다. 오디오 데이터를 압축하는 기본적인 목표에 도움이 되는 이러한 동작들의 성질들은 멀티채널 오디오 데이터의 ' 에너지 압축' 및 '비상관' 이다.
어쨌든, 예의 목적을 위해 LIT 유닛 (30) 이 ("SVD" 로서 또한 지칭될 수도 있는) 특이 값 분해를 수행한다고 가정하면, LIT 유닛 (30) 은 HOA 계수들 (11) 을 변환된 HOA 계수들의 2개 이상의 셋트들로 변환할 수도 있다. 변환된 HOA 계수들의 "셋트들" 은 변환된 HOA 계수들의 벡터들을 포함할 수도 있다. 도 3a 의 예에서, LIT 유닛 (30) 은 HOA 계수들 (11) 에 대해 SVD 를 수행하여, 소위 V 매트릭스, S 매트릭스, 및 U 매트릭스를 발생시킬 수도 있다. SVD 는, 선형 대수학에서, y 곱하기 z (y-by-z) 실수 또는 복소수 매트릭스 X (여기서, X 는 HOA 계수들 (11) 과 같은, 멀티-채널 오디오 데이터를 나타낼 수도 있다) 의 인수분해를 다음 형태로 나타낼 수도 있다:
X = USV*
U 는 y 곱하기 y 실수 또는 복소수 유니터리 매트릭스 (unitary matrix) 을 나타낼 수도 있으며, 여기서, U 의 y 열들은 멀티-채널 오디오 데이터의 좌측-특이 벡터들로서 알려져 있다. S 는 대각선 상에 비-음의 실수들을 가지는 y 곱하기 z (y-by-z) 직사각형의 대각선 매트릭스를 나타낼 수도 있으며, 여기서, S 의 대각선 값들은 멀티-채널 오디오 데이터의 특이 값들로서 알려져 있다. (V 의 켤레 전치 (transpose) 를 표시할 수도 있는) V* 는 z 곱하기 z 실수 또는 복소수 유니터리 매트릭스를 나타낼 수도 있으며, 여기서, V* 의 z 열들은 멀티-채널 오디오 데이터의 우측-특이 벡터들로서 알려져 있다.
일부 예들에서, 아래에서 참조되는 SVD 수학적 수식에서 V* 매트릭스는 SVD 가 복소수들을 포함하는 매트릭스들에 적용될 수도 있다는 점을 반영하기 위해 V 매트릭스의 켤레 전치로서 표시된다. 단지 실수들만을 포함하는 매트릭스들에 적용될 때, V 매트릭스의 켤레 복소수 (또는, 즉, V* 매트릭스) 는 V 매트릭스의 전치인 것으로 간주될 수도 있다. 아래에서는, 용이한 예시 목적을 위해, V* 매트릭스보다는, V 매트릭스가 SVD 를 통해서 출력되는 결과로 HOA 계수들 (11) 이 실수들을 포함한다고 가정된다. 더욱이, 본 개시물에서 V 매트릭스로서 표시되지만, V 매트릭스에 대한 참조는 적당한 경우 V 매트릭스의 전치를 지칭하는 것으로 이해되어야 한다. V 매트릭스인 것으로 가정되지만, 이 기술들은 복소 계수들을 가지는 HOA 계수들 (11) 과 유사한 방식으로 적용될 수도 있으며, 여기서, SVD 의 출력은 V* 매트릭스이다. 따라서, 본 기술들은 이 점에서, 단지 V 매트릭스를 발생시키기 위한 SVD 의 적용을 허용하는데만 한정되지 않아야 하며, V* 매트릭스를 발생시키기 위한 복소수 구성요소들을 가지는 HOA 계수들 (11) 에의 SVD 의 적용을 포함할 수도 있다.
이러한 방식으로, LIT 유닛 (30) 은 HOA 계수들 (11) 에 대해 SVD 를 수행하여, 치수들 D: M x (N+1)2 를 가지는 (S 벡터들과 U 벡터들의 결합된 버전을 나타낼 수도 있는) US[k] 벡터들 (33) 및 치수들 D: (N+1)2 x (N+1)2 를 가지는 V[k] 벡터들 (35) 을 출력할 수도 있다. US[k] 매트릭스에서의 개개의 벡터 엘리먼트들은 또한
Figure 112016122900612-pct00019
로서 지칭될 수도 있으며, 반면 V[k] 매트릭스의 개개의 벡터들은 또한
Figure 112016122900612-pct00020
로서 지칭될 수도 있다.
U, S 및 V 매트릭스들의 분석은 매트릭스들이 X 로 위에서 나타낸 기본적인 음장의 공간 및 시간 특성들을 운반하거나 또는 나타낸다는 것을 보일 수도 있다. (길이 M 샘플들의) U 에서의 N 개의 벡터들의 각각은, 서로에 직교하며 (방향 정보로서 또한 지칭될 수도 있는) 임의의 공간 특성들로부터 분리되어 있는 정규화된 분리된 오디오 신호들을 (M 샘플들로 표현된 시간 기간에 대한) 시간의 함수로서 나타낼 수도 있다. 공간 형태 및 포지션 (r, 쎄타(theta), 파이(phi)) 를 나타내는, 공간 특성들은 V 매트릭스 (길이 (N+1)2 각각) 에서, 개개의 i 번째 벡터들,
Figure 112016122900612-pct00021
로 대신 표시될 수도 있다. v(i)(k) 벡터들의 각각의 개개의 엘리먼트들은 연관된 오디오 오브젝트에 대한 음장의 (폭을 포함하는) 형태 및 포지션을 기술하는 HOA 계수를 나타낼 수도 있다. U 매트릭스 및 V 매트릭스의 벡터들 양쪽은 그들의 자승 평균 평방근 에너지들이 1 과 동일하도록 정규화된다. U 에서의 오디오 신호들의 에너지는 따라서 S 에서 대각선 엘리먼트들에 의해 표현된다. U 와 S 를 곱하여 (개개의 벡터 엘리먼트들
Figure 112016122900612-pct00022
을 가지는) US[k] 를 형성하는 것은, 따라서 에너지들을 가지는 오디오 신호를 나타낸다. (U 에서) 오디오 시간-신호들, (S 에서) 그들의 에너지들 및 (V 에서) 그들의 공간 특성들을 분리시키는 SVD 분해의 능력은 본 개시물에서 설명하는 기술들의 여러 양태들을 지원할 수도 있다. 또, US[k] 와 V[k] 의 벡터 곱셈에 의해 기본적인 HOA[k] 계수들, X 를 합성하는 모델은, 이 문서 전반에 걸쳐서 사용되는 용어 "벡터-기반 분해" 를 야기시킨다.
HOA 계수들 (11) 에 대해 직접 수행되는 것으로 설명되지만, LIT 유닛 (30) 은 HOA 계수들 (11) 의 유도체들에 선형 가역 변환을 적용할 수도 있다. 예를 들어, LIT 유닛 (30) 은 HOA 계수들 (11) 로부터 유도된 전력 스펙트럼 밀도 매트릭스에 대해 SVD 를 적용할 수도 있다. 계수들 자신보다는, HOA 계수들의 전력 스펙트럼 밀도 (PSD) 에 대해 SVD 를 수행함으로써, LIT 유닛 (30) 은 프로세서 사이클들 및 저장 공간 중 하나 이상의 관점에서 SVD 를 수행하는 계산 복잡성을 잠재적으로 감소시키는 한편, SVD 가 HOA 계수들에 직접 적용된 것처럼 동일한 소스 오디오 인코딩 효율을 달성할 수도 있다.
파라미터 산출 유닛 (32) 은 상관 파라미터 (R), 방향 성질들 파라미터들 (θ, φ, r), 및 에너지 성질 (e) 과 같은, 여러 파라미터들을 계산하도록 구성된 유닛을 나타낸다. 현재의 프레임에 대한 파라미터들의 각각은 R[k], θ[k], φ[k], r[k] 및 e[k] 로서 표시될 수도 있다. 파라미터 산출 유닛 (32) 은 US[k] 벡터들 (33) 에 대해 에너지 분석 및/또는 상관 (또는, 소위 교차-상관) 을 수행하여, 파라미터들을 식별할 수도 있다. 파라미터 산출 유닛 (32) 은 또한 이전 프레임에 대한 파라미터들을 결정할 수도 있으며, 여기서 이전 프레임 파라미터들은 US[k-1] 벡터 및 V[k-1] 벡터들의 이전 프레임에 기초하여 R[k-1], θ[k-1], φ[k-1], r[k-1] 및 e[k-1] 로 표시될 수도 있다. 파라미터 산출 유닛 (32) 은 현재의 파라미터들 (37) 및 이전 파라미터들 (39) 을 재정렬 유닛 (34) 으로 출력할 수도 있다.
파라미터 산출 유닛 (32) 에 의해 계산된 파라미터들은 그들의 자연스러운 평가 또는 시간 경과에 따른 연속성을 표시하기 위해 오디오 오브젝트들을 재정렬하는데 재정렬 유닛 (34) 에 의해 사용될 수도 있다. 재정렬 유닛 (34) 은 파라미터들 (37) 의 각각을 제 1 US[k] 벡터들 (33) 과 비교하여, 제 2 US[k-1] 벡터들 (33) 에 대한 파라미터들 (39) 의 각각에 대해 턴-와이즈 (turn-wise) 할 수도 있다. 재정렬 유닛 (34) 은 US[k] 매트릭스 (33) 및 V[k] 매트릭스 (35) 내 여러 벡터들을 현재의 파라미터들 (37) 및 이전 파라미터들 (39) 에 기초하여 (일 예로서, Hungarian 알고리즘을 이용하여) 재정리하여, (수학적으로
Figure 112016122900612-pct00023
로서 표시될 수도 있는) 재정리된 US[k] 매트릭스 (33') 및 (수학적으로
Figure 112016122900612-pct00024
로서 표시될 수도 있는) 재정리된 V[k] 매트릭스 (35') 를 전경 (foreground) 사운드 (또는, 지배적인 사운드 (predominant sound) - PS) 선택 유닛 (36) ("전경 선택 유닛 (36)") 및 에너지 보상 유닛 (38) 으로 출력할 수도 있다.
음장 분석 유닛 (44) 은 목표 비트레이트 (41) 를 잠재적으로 달성하도록 HOA 계수들 (11) 에 대해 음장 분석을 수행하도록 구성된 유닛을 나타낼 수도 있다. 음장 분석 유닛 (44) 은 그 분석에, 및/또는 수신된 목표 비트레이트 (41) 에 기초하여, (환경 또는 배경 채널들의 총 개수 (BGTOT) 및 전경 채널들 또는, 즉, 지배적인 채널들의 개수의 함수일 수도 있는) 음향심리 코더 인스턴스화들의 총 개수를 결정할 수도 있다. 음향심리 코더 인스턴스화들의 총 개수는 numHOATransportChannels 로서 표시될 수 있다.
또한, 음장 분석 유닛 (44) 은 또한 목표 비트레이트 (41) 를 잠재적으로 달성하기 위해, 전경 채널들의 총 개수 (nFG) (45), 배경 (또는, 달리 말하면, 환경) 음장의 최소 차수 (NBG 또는, 대안적으로, MinAmbHOAorder), 배경 음장의 최소 차수를 나타내는 실수 채널들의 대응하는 개수 (nBGa = (MinAmbHOAorder + 1)2), 및 (도 3a 의 예에서 일괄하여 배경 채널 정보 (43) 로서 표시될 수도 있는) 전송할 추가적인 BG HOA 채널들의 인덱스들 (i) 을 결정할 수도 있다. 배경 채널 정보 (42) 는 또한 환경 채널 정보 (43) 로서 지칭될 수도 있다. numHOATransportChannels - nBGa 로부터 남은 채널들의 각각은, "추가적인 배경/환경 채널", "활성 벡터-기반 지배적인 채널", "활성 방향 기반 지배적인 신호" 또는 "완전히 비활성적" 일 수도 있다. 일 양태에서, 채널 유형들은 2 비트 (예컨대, 00: 방향 기반 신호; 01: 벡터-기반 지배적인 신호; 10: 추가적인 환경 신호; 11: 비활성 신호) 신택스 엘리먼트로서 ("ChannelType" 으로서) 표시될 수도 있다. 배경 또는 환경 신호들의 총 개수, nBGa 는, (MinAmbHOAorder +1)2 + 그 프레임에 대한 비트스트림에서 채널 유형으로 나타나는 (상기 예에서의) 인덱스 10 의 횟수로 주어질 수도 있다.
음장 분석 유닛 (44) 은 목표 비트레이트 (41) 에 기초하여, 배경 (또는, 달리 말하면, 환경) 채널들의 개수 및 전경 (또는, 즉, 지배적인) 채널들의 개수를 선택할 수도 있으며, 목표 비트레이트 (41) 가 상대적으로 더 높을 때 (예컨대, 목표 비트레이트 (41) 가 512 Kbps 와 동일하거나 또는 더 많을 때) 더 많은 배경 및/또는 전경 채널들을 선택할 수도 있다. 일 양태에서, numHOATransportChannels 는 8 로 설정될 수도 있으며, 한편 MinAmbHOAorder 는 비트스트림의 헤더 섹션에서 1 로 설정될 수도 있다. 이 시나리오에서, 매 프레임에서, 4개의 채널들이 음장의 배경 또는 환경 부분을 표현하는데 담당될 수도 있지만, 다른 4 개의 채널들은 프레임 단위로, 채널의 유형에 따라서 변할 수 있다 - 예컨대, 추가적인 배경/환경 채널 또는 전경/지배적인 채널로서 사용될 수 있다. 전경/지배적인 신호들은 위에서 설명한 바와 같이 벡터-기반 또는 방향 기반 신호들 중 하나일 수 있다.
일부의 경우, 프레임에 대한 벡터-기반의 지배적인 신호들의 총 개수는 그 프레임의 비트스트림에서 ChannelType 인덱스가 01 인 횟수로 주어질 수도 있다. 상기 양태에서, (예컨대, 10 의 ChannelType 에 대응하는) 모든 추가적인 배경/환경 채널에 대해, (처음 4개를 넘어서는) 가능한 HOA 계수들 중 어느 HOA 계수의 대응하는 정보가 그 채널에 표시될 수도 있다. 제 4 차수 HOA 콘텐츠에 대한, 정보는 HOA 계수들 5-25 를 표시하는 인덱스일 수도 있다. 처음 4개의 환경 HOA 계수들 1-4 는 minAmbHOAorder 가 1 로 설정될 때는 언제나 전송될 수도 있으며, 따라서 오디오 인코딩 디바이스는 단지 5-25 의 인덱스를 가지는 추가적인 환경 HOA 계수 중 하나만을 표시해야 할 수도 있다. 정보는 따라서 "CodedAmbCoeffIdx" 로서 표시될 수도 있는, (제 4 차수 콘텐츠에 대해) 5 비트 신택스 엘리먼트를 이용하여 전송될 수 있다. 어쨌든, 음장 분석 유닛 (44) 은 배경 채널 정보 (43) 및 HOA 계수들 (11) 을 배경 (BG) 선택 유닛 (36) 으로, 배경 채널 정보 (43) 를 계수 감축 유닛 (46) 및 비트스트림 생성 유닛 (42) 으로, 그리고 nFG (45) 를 전경 선택 유닛 (36) 으로 출력한다.
배경 선택 유닛 (48) 은 배경 채널 정보 (예컨대, 배경 음장 (NBG) 및 개수 (nBGa) 및 전송할 추가적인 BG HOA 채널들의 인덱스들 (i)) 에 기초하여 배경 또는 환경 HOA 계수들 (47) 을 결정하도록 구성된 유닛을 나타낼 수도 있다. 예를 들어, NBG 가 1 과 동일할 때, 배경 선택 유닛 (48) 은 1 과 동일하거나 또는 미만인 차수를 가지는 오디오 프레임의 각각의 샘플에 대해 HOA 계수들 (11) 을 선택할 수도 있다. 배경 선택 유닛 (48) 은 이 예에서, 그후 인덱스들 (i) 중 하나를 추가적인 BG HOA 계수들로서 식별된 인덱스를 가지는 HOA 계수들 (11) 을 선택할 수도 있으며, nBGa 가 도 4a 및 도 4b 의 예에 나타낸 오디오 디코딩 디바이스 (24) 와 같은, 오디오 디코딩 디바이스로 하여금, 비트스트림 (21) 으로부터 배경 HOA 계수들 (47) 을 파싱하도록 하기 위해서 비트스트림 (21) 에 규정되도록, 비트스트림 생성 유닛 (42) 에 제공된다. 배경 선택 유닛 (48) 은 그후 환경 HOA 계수들 (47) 을 에너지 보상 유닛 (38) 으로 출력할 수도 있다. 환경 HOA 계수들 (47) 은 치수들 D: M x [(NBG+1)2 + nBGa] 을 가질 수도 있다. 환경 HOA 계수들 (47) 은 또한 "환경 HOA 계수들 (47)" 로서 지칭될 수도 있으며, 여기서, 환경 HOA 계수들 (47) 의 각각은 음향심리 오디오 코더 유닛 (40) 에 의해 인코딩될 별개의 환경 HOA 채널 (47) 에 대응한다.
전경 선택 유닛 (36) 은 (전경 벡터들을 식별하는 하나 이상의 인덱스들을 나타낼 수도 있는) nFG (45) 에 기초하여 음장의 전경 또는 특유한 구성요소들을 나타내는 재정리된 US[k] 매트릭스 (33') 및 재정리된 V[k] 매트릭스 (35') 를 선택하도록 구성된 유닛을 나타낼 수도 있다. 전경 선택 유닛 (36) 은 (재정리된 US[k]1, …, nFG (49), FG1, …, nfG[k] (49), 또는
Figure 112016122900612-pct00025
(49) 로서 표시될 수도 있는) nFG 신호들 (49) 을 음향심리 오디오 코더 유닛 (40) 으로 출력할 수도 있으며, 여기서, nFG 신호들 (49) 은 치수들 D: M x nFG 을 가지며 각각 모노-오디오 오브젝트들을 나타낼 수도 있다. 전경 선택 유닛 (36) 은 또한 음장의 전경 구성요소들에 대응하는 재정리된 V[k] 매트릭스 (35') (또는,
Figure 112016122900612-pct00026
(35')) 를 공간-시간적 보간 유닛 (50) 으로 출력할 수도 있으며, 여기서, 전경 구성요소들에 대응하는 재정리된 V[k] 매트릭스 (35') 의 서브셋트는 치수들 D: (N+1)2 x nFG 를 가지는 (
Figure 112016122900612-pct00027
로서 수학적으로 표시될 수도 있는) 전경 V[k] 매트릭스 (51k) 로서 표시될 수도 있다.
에너지 보상 유닛 (38) 은 배경 선택 유닛 (48) 에 의한 HOA 채널들 중 여러 HOA 채널의 제거로 인한 에너지 손실을 보상하기 위해 환경 HOA 계수들 (47) 에 대해 에너지 보상을 수행하도록 구성된 유닛을 나타낼 수도 있다. 에너지 보상 유닛 (38) 은 재정리된 US[k] 매트릭스 (33'), 재정리된 V[k] 매트릭스 (35'), nFG 신호들 (49), 전경 V[k] 벡터들 (51k) 및 환경 HOA 계수들 (47) 중 하나 이상에 대해 에너지 분석을 수행하고 그후 에너지 분석에 기초하여 에너지 보상을 수행하여 에너지 보상된 환경 HOA 계수들 (47') 을 발생시킬 수도 있다. 에너지 보상 유닛 (38) 은 에너지 보상된 환경 HOA 계수들 (47') 을 음향심리 오디오 코더 유닛 (40) 으로 출력할 수도 있다.
공간-시간적 보간 유닛 (50) 은 k 번째 프레임에 대한 전경 V[k] 벡터들 (51k) 및 전경 이전 프레임 (따라서, k-1 표기) 에 대한 V[k-1] 벡터들 (51k-1) 을 수신하고 시공간적 보간을 수행하여 보간된 전경 V[k] 벡터들을 발생시키도록 구성된 유닛을 나타낼 수도 있다. 공간-시간적 보간 유닛 (50) 은 nFG 신호들 (49) 을 전경 V[k] 벡터들 (51k) 과 재결합하여 재정리된 전경 HOA 계수들을 복원할 수도 있다. 공간-시간적 보간 유닛 (50) 은 그후 재정리된 전경 HOA 계수들을 보간된 V[k] 벡터들로 나눠서, 보간된 nFG 신호들 (49') 을 발생시킬 수도 있다. 공간-시간적 보간 유닛 (50) 은, 또한 오디오 디코딩 디바이스 (24) 와 같은, 오디오 디코딩 디바이스가 보간된 전경 V[k] 벡터들을 발생시켜 전경 V[k] 벡터들 (51k) 을 복원할 수 있도록 보간된 전경 V[k] 벡터들을 발생시키는데 사용된 전경 V[k] 벡터들 (51k) 을 출력할 수도 있다. 보간된 전경 V[k] 벡터들을 발생시키는데 사용되는 전경 V[k] 벡터들 (51k) 은 나머지 전경 V[k] 벡터들 (53) 로서 표시된다. 동일한 V[k] 및 V[k-1] 이 (보간된 벡터들 V[k] 을 생성하기 위해) 인코더 및 디코더에서 사용되도록 보장하기 위해, 벡터들의 양자화된/역양자화된 버전들이 인코더 및 디코더에서 사용될 수도 있다. 공간-시간적 보간 유닛 (50) 은 보간된 nFG 신호들 (49') 을 음향심리 오디오 코더 유닛 (46) 에 그리고 보간된 전경 V[k] 벡터들 (51k) 을 계수 감축 유닛 (46) 에 출력할 수도 있다.
계수 감축 유닛 (46) 은 배경 채널 정보 (43) 에 기초하여 나머지 전경 V[k] 벡터들 (53) 에 대해 계수 감소를 수행하여 감소된 전경 V[k] 벡터들 (55) 을 V-벡터 코딩 유닛 (52) 으로 출력하도록 구성된 유닛을 나타낼 수도 있다. 감소된 전경 V[k] 벡터들 (55) 은 치수들 D: [(N+1)2 - (NBG+1)2-BGTOT] x nFG 를 가질 수도 있다. 계수 감축 유닛 (46) 은 이 점에서, 나머지 전경 V[k] 벡터들 (53) 에서의 계수들의 개수를 감소시키도록 구성된 유닛을 나타낼 수도 있다. 다시 말해서, 계수 감축 유닛 (46) 은 거의 없거나 전혀 없는 방향 정보를 가지는 (나머지 전경 V[k] 벡터들 (53) 을 형성하는) 전경 V[k] 벡터들에서의 계수들을 제거하도록 구성된 유닛을 나타낼 수도 있다. 위에서 설명된 바와 같이, 일부 예들에서, (NBG 로서 표시될 수도 있는) 제 1 및 제로 차수 기저 함수들에 대응하는 별개의, 또는, 즉, 전경 V[k] 벡터들의 계수들은 적은 방향 정보를 제공하며, 따라서 ("계수 감축" 으로서 지칭될 수도 있는 프로세스를 통해서) 전경 V-벡터들로부터 제거될 수 있다. 이 예에서, [(NBG +1)2+1, (N+1)2] 의 셋트로부터, NBG 에 대응하는 계수들을 식별할 뿐만 아니라 (변수 TotalOfAddAmbHOAChan 에 의해 표시될 수도 있는) 추가적인 HOA 채널들을 식별하기 위해 더 큰 유연성이 제공될 수도 있다.
V-벡터 코딩 유닛 (52) 은, 코딩된 전경 V[k] 벡터들 (57) 을 발생시키기 위해 감소된 전경 V[k] 벡터들 (55) 을 압축하기 위해 임의의 형태의 양자화를 수행하도록 구성된 유닛을 나타낼 수도 있고, 코딩된 전경 V[k] 벡터들 (57) 을 비트스트림 생성 유닛 (42) 으로 출력한다. 동작 시에, V-벡터 코딩 유닛 (52) 은 음장의 공간 성분, 즉, 이 예에서 감소된 전경 V[k] 벡터들 (55) 중 하나 이상을 압축하도록 구성된 유닛을 나타낼 수도 있다. V-벡터 코딩 유닛 (52) 은 "NbitsQ" 로서 표시된 양자화 모드 신택스 엘리먼트에 의해 나타낸 바와 같이 다음의 12 개의 양자화 모드들 중 어느 하나를 수행할 수도 있다:
NbitsQ 값 양자화 모드의 유형
0-3: 예약됨
4: 벡터 양자화
5: 허프만 (Huffman) 코딩 없이 스칼라 양자화
6: 허프만 코딩으로 6-비트 스칼라 양자화
7: 허프만 코딩으로 7-비트 스칼라 양자화
8: 허프만 코딩으로 8-비트 스칼라 양자화
... ...
16: 허프만 코딩으로 16-비트 스칼라 양자화
V-벡터 코딩 유닛 (52) 은 또한 전술한 유형들의 양자화 모드들 중 임의의 것의 예측된 버전들을 또한 수행할 수도 있고, 여기서, 이전 프레임의 V-벡터의 엘리먼트 (또는 벡터 양자화가 수행될 때 가중치) 와 현재 프레임의 V-벡터의 엘리먼트 (또는 벡터 양자화가 수행될 때 가중치) 사이의 차이가 결정된다. V-벡터 코딩 유닛 (52) 은 그 다음, 현재 프레임 그 자체의 V-벡터의 엘리먼트의 값보다는 현재 프레임과 이전 프레임의 엘리먼트들 또는 가중치들 사이의 차이를 양자화할 수도 있다.
V-벡터 코딩 유닛 (52) 은 감소된 전경 V[k] 벡터들 (55) 의 다중 코딩된 버전들을 획득하기 위해 감소된 전경 V[k] 벡터들 (55) 의 각각에 대해 다수 형태들의 양자화를 수행할 수도 있다. V-벡터 코딩 유닛 (52) 은 코딩된 전경 V[k] 벡터 (57) 로서 감소된 전경 V[k] 벡터들 (55) 의 코딩된 버전들 중 하나를 선택할 수도 있다. 달리 말하자면, V-벡터 코딩 유닛 (52) 은 이 개시물에서 논의된 기준들의 임의의 조합에 기초하여 출력 스위칭된-양자화된 V-벡터로서 사용하기 위해 비-예측된 벡터-양자화된 V-벡터, 예측된 벡터-양자화된 V-벡터, 비-허프만-코딩된 스칼라-양자화된 V-벡터, 및 허프만-코딩된 스칼라-양자화된 V-벡터 중 하나를 선택할 수도 있다.
일부 예들에서, V-벡터 코딩 유닛 (52) 은 벡터 양자화 모드 및 하나 이상의 스칼라 양자화 모드들을 포함하는 양자화 모드들의 셋트로부터 양자화 모드를 선택하고, 그 선택된 모드에 기초하여 (또는 그 선택된 모드에 따라) 입력 V-벡터를 양자화할 수도 있다. V-벡터 코딩 유닛 (52) 은 그 다음, (예를 들어, 가중 값들 또는 그것을 표시하는 비트들의 면에서) 비-예측된 벡터-양자화된 V-벡터, (예를 들어, 에러 값들 또는 그것을 표시하는 비트들의 면에서) 예측된 벡터-양자화된 V-벡터, 비-허프만-코딩된 스칼라-양자화된 V-벡터, 및 허프만-코딩된 스칼라-양자화된 V-벡터 중 선택된 하나를 코딩된 전경 V[k] 벡터들 (57) 로서 비트스트림 생성 유닛 (52) 에 제공할 수도 있다. V-벡터 코딩 유닛 (52) 은 또한, 양자화 모드를 나타내는 신택스 엘리먼트들 (예를 들어, NbitsQ 신택스 엘리먼트) 및 V-벡터를 역양자화 또는 그 외에 재구성하기 위해 사용되는 다른 신택스 엘리먼트들을 제공할 수도 있다.
벡터 양자화와 관련하여, v-벡터 코딩 유닛 (52) 은 코딩된 V[k] 벡터를 생성하기 위해 코드 벡터들 (63) 에 기초하여 감소된 전경 V[k] 벡터들 (55) 을 코딩할 수도 있다. 도 3a 에 도시된 바와 같이, v-벡터 코딩 유닛 (52) 은 일부 예들에서 코딩된 가중치들 (57) 및 인덱스들 (73) 을 출력할 수도 있다. 코딩된 가중치들 (57) 및 인덱스들 (73) 은 이러한 예들에서 함께 코딩된 V[k] 벡터들을 표현할 수도 있다. 인덱스들 (73) 은 코딩 벡터들의 가중된 합에서의 어느 코드 벡터들이 코딩된 가중치들 (57) 에서의 가중치들의 각각에 대응하는지를 표현할 수도 있다.
감소된 전경 V[k] 벡터들 (55) 을 코딩하기 위해, v-벡터 코딩 유닛 (52) 은, 일부 예들에서, 코드 벡터들 (63) 에 기초하여 감소된 전경 V[k] 벡터들 (55) 을 코드 벡터들의 가중된 합으로 분해할 수도 있다. 코드 벡터들의 가중된 합은 복수의 가중치들 및 복수의 코드 벡터들을 포함할 수도 있고, 코드 벡터들의 각각의 코드 벡터에 의해 곱해질 수도 있는 가중치들의 각각의 곱들의 합을 나타낼 수도 있다. 코드 벡터들의 가중된 합에 포함된 복수의 코드 벡터들은 v-벡터 코딩 유닛 (52) 에 의해 수신된 코드 벡터들 (63) 에 대응할 수도 있다. 감소된 전경 V[k] 벡터들 (55) 중 하나를 코드 벡터들의 가중된 합으로 분해하는 것은 코드 벡터들의 가중된 합에 포함된 가중치들 중 하나 이상에 대한 가중 값들을 결정하는 것을 수반할 수도 있다.
코드 벡터들의 가중된 합에 포함된 가중치들에 대응하는 가중 값들을 결정한 후에, v-벡터 코딩 유닛 (52) 은 코딩된 가중치들 (57) 을 생성하기 위해 가중 값들 중 하나 이상을 코딩할 수도 있다. 일부 예들에서, 가중 값들을 코딩하는 것은, 가중 값들을 양자화하는 것을 포함할 수도 있다. 일부 예들에서, 가중 값들을 코딩하는 것은, 가중 값들을 양자화하는 것 및 양자화된 가중 값들에 대해 허프만 코딩을 수행하는 것을 포함할 수도 있다. 추가적인 예들에서, 가중 값들을 코딩하는 것은 임의의 코딩 기법을 이용하여 가중 값들, 가중 값들을 나타내는 데이터, 양자화된 가중 값들, 양자화된 가중 값들을 나타내는 데이터 중 하나 이상을 코딩하는 것을 포함할 수도 있다.
일부 예들에서, 코드 벡터들 (63) 은 정규직교 벡터들의 셋트일 수도 있다. 추가적인 예들에서, 코드 벡터들 (63) 은 의사-정규직교 벡터들의 셋트일 수도 있다. 추가적인 예들에서, 코드 벡터들 (63) 은: 방향 벡터들의 셋트, 직교 방향 벡터들의 셋트, 정규직교 방향 벡터들의 셋트, 의사-정규직교 방향 벡터들의 셋트, 의사-직교 방향 벡터들의 셋트, 방향 기저 벡터들의 셋트, 직교 벡터들의 셋트, 의사-직교 벡터들의 셋트, 구면 조화 기저 벡터들의 셋트, 정규화된 벡터들의 셋트, 및 기저 벡터들의 셋트 중 하나 이상일 수도 있다. 코드 벡터들 (63) 이 방향 벡터들을 포함하는 예들에서, 방향 벡터들의 각각은 2D 또는 3D 공간에서의 방향 또는 방향성 방사 패턴에 대응하는 방향성을 가질 수도 있다.
이러한 예들에서, 코드 벡터들 (63) 은 사전정의된 및/또는 미리결정된 코드 벡터들 (63) 의 셋트일 수도 있다. 추가적인 예들에서, 코드 벡터들은 기저 HOA 음장 계수들과는 독립적일 수도 있고, 및/또는 기저 HOA 음장 계수들에 기초하여 생성되지 않을 수도 있다. 추가적인 예들에서, 코드 벡터들 (63) 은 HOA 계수들의 상이한 프레임들을 코딩할 때 동일할 수도 있다. 추가적인 예들에서, 코드 벡터들 (63) 은 HOA 계수들의 상이한 프레임들을 코딩할 때 상이할 수도 있다. 추가적인 예들에서, 코드 벡터들 (63) 은 대안적으로는 코드북 벡터들 및/또는 후보 코드 벡터들로서 지칭될 수도 있다.
일부 예들에서, 감소된 전경 V[k] 벡터들 (55) 중 하나에 대응하는 가중 값들을 결정하기 위해, v-벡터 코딩 유닛 (52) 은, 코드 벡터들의 가중된 합에서의 가중 값들의 각각에 대해, 각각의 가중 값을 결정하기 위해 감소된 전경 V[k] 벡터를 코드 벡터들 (63) 중의 각각의 코드 벡터에 의해 곱할 수도 있다. 일부 경우들에서, 감소된 전경 V[k] 벡터를 코드 벡터에 의해 곱하기 위해, v-벡터 코딩 유닛 (52) 은 각각의 가중 값을 결정하기 위해 감소된 전경 V[k] 벡터를 코드 벡터들 (63) 중의 각각의 코드 벡터의 전치에 의해 곱할 수도 있다.
가중치들을 양자화하기 위해, v-벡터 코딩 유닛 (52) 은 임의의 유형의 양자화를 수행할 수도 있다. 예를 들어, v-벡터 코딩 유닛 (52) 은 가중 값들에 대해 스칼라 양자화, 벡터 양자화, 또는 매트릭스 양자화를 수행할 수도 있다.
일부 예들에서, 코딩된 가중치들 (57) 을 생성하기 위해 가중 값들의 전부를 코딩하는 대신에, v-벡터 코딩 유닛 (52) 은 코딩된 가중치들 (57) 을 생성하기 위해 코드 벡터들의 가중된 합에 포함된 가중 값들의 서브셋트를 코딩할 수도 있다. 예를 들어, v-벡터 코딩 유닛 (52) 은 코드 벡터들의 가중된 합에 포함된 가중 값들의 셋트를 양자화할 수도 있다. 코드 벡터들의 가중된 합에 포함된 가중 값들의 서브셋트는, 코드 벡터들의 가중된 합에 포함된 가중 값들의 전체 셋트에서의 가중 값들의 수보다 적은 가중 값들의 수를 갖는 가중 값들의 셋트를 지칭할 수도 있다.
일부 예들에서, v-벡터 코딩 유닛 (52) 은 다양한 기준들에 기초하여 코딩 및/또는 양자화하기 위해 코드 벡터들의 가중된 합에 포함된 가중 값들의 서브셋트를 선택할 수도 있다. 하나의 예에서, 정수 N 은 코드 벡터들의 가중된 합에 포함된 가중 값들의 총 수를 나타낼 수도 있고, v-벡터 코딩 유닛 (52) 은 가중 값들의 서브셋트를 형성하기 위해 N 개의 가중 값들의 셋트로부터 M 개의 최대 가중 값들 (즉, 최대 가중 값들) 을 선택할 수도 있고, 여기서, M 은 N 보다 더 적은 정수이다. 이러한 방식으로, 분해된 v-벡터에 비교적 크게 기여하는 코드 벡터들의 기여도들 (contributions) 이 보존될 수도 있는 한편, 분해된 v-벡터에 비교적 작게 기여하는 코드 벡터들의 기여도들은 코딩 효율을 증가시키기 위해 폐기될 수도 있다. 코딩 및/또는 양자화를 위해 가중 값들의 서브셋트를 선택하기 위해 다른 기준들이 또한 사용될 수도 있다.
일부 예들에서, M 개의 최대 가중 값들은 최대 값을 갖는 N 개의 가중 값들의 셋트로부터의 M 개의 가중 값들일 수도 있다. 추가적인 예들에서, M 개의 최대 가중 값들은 최대 절대 값을 갖는 N 개의 가중 값들의 셋트로부터의 M 개의 가중 값들일 수도 있다.
v-벡터 코딩 유닛 (52) 이 가중 값들의 서브셋트를 코딩 및/또는 양자화하는 예들에서, 코딩된 가중치들 (57) 은 가중 값들 중 어느 것이 가중 값들을 나타내는 양자화된 데이터에 추가하여 양자화 및/또는 코딩을 위해 선택되었는지를 나타내는 데이터를 포함할 수도 있다. 일부 예들에서, 가중 값들 중 어느 것이 양자화 및/또는 코딩을 위해 선택되었는지를 나타내는 데이터는 코드 벡터들의 가중된 합에서의 코드 벡터들에 대응하는 인덱스들의 셋트로부터의 하나 이상의 인덱스들을 포함할 수도 있다. 이러한 예들에서, 코딩 및/또는 양자화를 위해 선택되었던 가중치들의 각각에 대해, 코드 벡터들의 가중된 합에서의 가중 값에 대응하는 코드 벡터의 인덱스 값은 비트스트림에 포함될 수도 있다.
일부 예들에서, 감소된 전경 V[k] 벡터들 (55) 의 각각은 다음 수식에 기초하여 표현될 수도 있다:
Figure 112016122900612-pct00028
여기서,
Figure 112016122900612-pct00029
는 코드 벡터들의 셋트 (
Figure 112016122900612-pct00030
) 에서의 j번째 코드 벡터를 표시하며,
Figure 112016122900612-pct00031
는 가중치들의 셋트 (
Figure 112016122900612-pct00032
) 에서의 j번째 가중치를 나타내며, V FG 는 v-벡터 코딩 유닛 (52) 에 의해 표현되고, 분해되고, 및/또는 코딩되고 있는 v-벡터에 대응한다. 수식 (1) 의 우변은 가중치들의 셋트 (
Figure 112016122900612-pct00033
) 및 코드 벡터들의 셋트 (
Figure 112016122900612-pct00034
) 를 포함하는 코드 벡터들의 가중된 합을 표현할 수도 있다.
일부 예들에서, v-벡터 코딩 유닛 (52) 은 다음 식에 기초하여 가중 값들을 결정할 수도 있다:
Figure 112016122900612-pct00035
여기서,
Figure 112016122900612-pct00036
는 코드 벡터들의 셋트 (
Figure 112016122900612-pct00037
) 에서의 k번째 코드 벡터의 전치를 나타내며, V FG 는 v-벡터 코딩 유닛 (52) 에 의해 표시되고, 분해되고, 및/또는 코딩되고 있는 V-벡터에 대응하며,
Figure 112016122900612-pct00038
는 가중치들의 셋트 (
Figure 112016122900612-pct00039
) 에서의 j번째 가중치를 나타낸다.
코드 벡터들의 셋트 (
Figure 112016122900612-pct00040
) 가 정규직교인 예들에서, 다음과 같은 식들이 적용될 수도 있다:
Figure 112016122900612-pct00041
이러한 예들에서, 식 (2) 의 우변은 다음과 같이 단순화될 수도 있다:
Figure 112016122900612-pct00042
여기서,
Figure 112016122900612-pct00043
는 코드 벡터들의 가중된 합에서의 k번째 가중치에 대응한다.
식 (1) 에서 사용되는 코드 벡터들의 예시적인 가중된 합에 대해, v-벡터 코딩 유닛 (52) 은 식 (2) 를 이용하여 코드 벡터들의 가중된 합에서의 가중치들의 각각에 대해 가중 값들을 계산할 수도 있으며, 결과적인 가중치들은 다음과 같이 나타낼 수도 있다:
Figure 112016122900612-pct00044
v-벡터 코딩 유닛 (52) 이 5개의 최대 가중 값들 (즉, 최대 값들 또는 절대값들을 가지는 가중치들) 을 선택하는 예를 고려한다. 양자화될 가중 값들의 서브셋트는 다음과 같이 나타낼 수도 있다:
Figure 112016122900612-pct00045
가중 값들의 서브셋트가 그들의 대응하는 코드 벡터들과 함께 다음 수식에 나타낸 바와 같이, v-벡터를 추정하는 코드 벡터들의 가중된 합을 형성하는데 사용될 수도 있다:
Figure 112016122900612-pct00046
여기서,
Figure 112016122900612-pct00047
는 코드 벡터들의 서브셋트 (
Figure 112016122900612-pct00048
) 에서의 j번째 코드 벡터를 표시하며,
Figure 112016122900612-pct00049
는 가중치들의 서브셋트 (
Figure 112016122900612-pct00050
) 에서의 j번째 가중치를 표시하며,
Figure 112016122900612-pct00051
는 v-벡터 코딩 유닛 (52) 에 의해 분해되고 및/또는 코딩되고 있는 V-벡터에 대응하는 추정된 v-벡터에 대응한다. 수식 (1) 의 우변은 가중치들의 셋트 (
Figure 112016122900612-pct00052
) 및 코드 벡터들의 셋트 (
Figure 112016122900612-pct00053
) 를 포함하는 코드 벡터들의 가중된 합을 표시할 수도 있다.
v-벡터 코딩 유닛 (52) 은 가중 값들의 서브셋트를 양자화하여, 다음과 같이 나타낼 수도 있는 양자화된 가중 값들을 발생시킬 수도 있다:
Figure 112016122900612-pct00054
양자화된 가중 값들이 그들의 대응하는 코드 벡터들과 함께, 다음 수식에 나타낸 바와 같이, 추정된 v-벡터의 양자화된 버전을 표시하는 코드 벡터들의 가중된 합을 형성하기 위해 사용될 수도 있다:
Figure 112016122900612-pct00055
여기서,
Figure 112016122900612-pct00056
는 코드 벡터들의 서브셋트 (
Figure 112016122900612-pct00057
) 에서의 j번째 코드 벡터를 표시하며,
Figure 112016122900612-pct00058
는 가중치들의 서브셋트 (
Figure 112016122900612-pct00059
) 에서의 j번째 가중치를 표시하며,
Figure 112016122900612-pct00060
는 v-벡터 코딩 유닛 (52) 에 의해 분해되고 및/또는 코딩되고 있는 v-벡터에 대응하는 추정된 v-벡터에 대응한다. 수식 (1) 의 우변은 가중치들의 셋트 (
Figure 112016122900612-pct00061
) 및 코드 벡터들의 셋트 (
Figure 112016122900612-pct00062
) 를 포함하는 코드 벡터들의 서브셋트의 가중된 합을 표시할 수도 있다.
(위에서 설명된 것과 대체로 동등한) 전술한 것의 대안적인 수정 (restatement) 은 다음과 같을 수도 있다. V-벡터들은 코드 벡터들의 미리 정의된 셋트에 기초하여 코딩될 수도 있다. V-벡터들을 코딩하기 위해, 각각의 V-벡터는 코드 벡터들의 가중된 합으로 분해된다. 코드 벡터들의 가중된 합은 미리정의된 코드 벡터들 및 연관된 가중치들의 k 개의 쌍들로 이루어진다:
Figure 112016122900612-pct00063
여기서,
Figure 112016122900612-pct00064
는 미리정의된 코드 벡터들의 셋트 (
Figure 112016122900612-pct00065
) 에서의 j번째 코드 벡터를 표시하며,
Figure 112016122900612-pct00066
는 미리정의된 가중치들 (
Figure 112016122900612-pct00067
) 의 셋트에서의 j번째 실수 값의 가중치를 표시하며, k 는 최고 7 일 수 있는, 가수들의 인덱스에 대응하며, V 는 코딩되고 있는 V-벡터에 대응한다. k 의 선택은 인코더에 의존한다. 인코더가 2 개 이상의 코드 벡터들의 가중된 합을 선택하는 경우, 인코더가 선택할 수 있는 미리정의된 코드 벡터들의 총 수는 (N+1)2 이며, 여기서, 미리정의된 코드 벡터들은, 일부 예들에서, 표들 F.2 내지 F.11 로부터 HOA 확장 계수들로서 도출된다. F 다음에 기간 및 수가 뒤따르는 것에 의해 표시되는 표들에 대한 언급은, 제목 "Information Technology - High efficiency coding and media delivery in heterogeneous environments - Part 3: 3D Audio" ISO/IEC JTC1/SC 29, 2015-02-20 (2015년 2월 20일), ISO/IEC 23008-3:2015(E), ISO/IEC JTC 1/SC 29/WG 11 (파일명칭: ISO_IEC_23008-3(E)-Word_document_v33.doc) 의 MPEG-H 3D 오디오 표준의 부속서 F 에서 명시된 표들을 지칭한다.
N 이 4 일 때, 32 개의 미리정의된 방향들을 가지는 부속서 F.6 에서의 표가 사용된다. 모든 경우들에서, 가중치들
Figure 112016122900612-pct00068
의 절대값들은 아래에 나타낸 표 F.12 에서의 제 1
Figure 112016122900612-pct00069
열들에서 발견되고 연관된 행 수 인덱스로 시그널링되는 미리정의된 가중값들
Figure 112016122900612-pct00070
에 대해 벡터-양자화된다.
가중치들
Figure 112016122900612-pct00071
의 넘버 부호들은 다음과 같이 별개로 코딩된다
Figure 112016122900612-pct00072
(12)
다시 말해서, 값
Figure 112016122900612-pct00073
를 시그널링한 후, V-벡터는
Figure 112016122900612-pct00074
미리 정의된 코드 벡터들
Figure 112016122900612-pct00075
을 가리키는
Figure 112016122900612-pct00076
인덱스들, 미리 정의된 가중 코드북에서
Figure 112016122900612-pct00077
양자화된 가중치들
Figure 112016122900612-pct00078
을 가리키는 하나의 인덱스, 및
Figure 112016122900612-pct00079
넘버 부호 값들
Figure 112016122900612-pct00080
로 인코딩된다:
Figure 112016122900612-pct00081
(13)
인코더가 하나의 코드 벡터의 가중된 합을 선택하는 경우, 표 F.8 로부터 도출된 코드북이 표 F.11 의 테이블에서 절대 가중값들
Figure 112016122900612-pct00082
과 조합하여 사용되며, 여기서, 이들 테이블들의 양자가 아래에 나타난다. 또한, 가중 값
Figure 112016122900612-pct00083
의 넘버 부호는 별개로 코딩될 수도 있다.
이 점에서, 본 기술들은 오디오 인코딩 디바이스 (20) 로 하여금, 음장의 공간 성분에 대해 벡터 양자화를 수행할 때 사용할 복수의 코드북들 중의 하나를 선택하게 하는 것을 가능하게 할 수도 있고, 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 벡터-기반 합성의 적용을 통해 획득된다.
또한, 본 기술들은, 오디오 인코딩 디바이스 (20) 로 하여금, 음장의 공간 성분에 대해 벡터 양자화를 수행할 때 사용될 복수의 쌍의 코드북들 사이에서 선택하게 하는 것을 가능하게 할 수도 있고, 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 벡터-기반 합성의 적용을 통해 획득된다.
일부 예들에서, V-벡터 코딩 유닛 (52) 은, 코드 벡터들의 셋트에 기초하여, 복수의 고차 앰비소닉 (HOA) 계수들의 분해된 버전에 포함되는 벡터를 표현하는 하나 이상의 가중 값들을 결정할 수도 있다. 가중 값들의 각각은 벡터를 표현하는 코드 벡터들의 가중된 합에 포함된 복수의 가중치들 중의 각각의 가중치에 대응할 수도 있다.
이러한 예들에서, V-벡터 코딩 유닛 (52) 은, 일부 예들에서, 가중 값들을 나타내는 데이터를 양자화할 수도 있다. 이러한 예들에서, 가중 값들을 나타내는 데이터를 양자화하기 위해, V-벡터 코딩 유닛 (52) 은, 일부 예들에서, 양자화할 가중 값들의 서브셋트를 선택하고, 가중 값들의 선택된 서브셋트를 표시하는 데이터를 양자화할 수도 있다. 이러한 예들에서, V-벡터 코딩 유닛 (52) 은, 일부 예들에서, 가중 값들의 선택된 서브셋트에 포함되지 않는 가중 값들을 표시하는 데이터는 양자화하지 않을 수도 있다.
일부 예들에서, V-벡터 코딩 유닛 (52) 은 N 가중 값들의 셋트를 결정할 수도 있다. 이러한 예들에서, V-벡터 코딩 유닛 (52) 은 가중 값들의 서브셋트를 형성하기 위해 N 개의 가중 값들의 셋트로부터 M 개의 최대 가중 값들을 선택할 수도 있고, 여기서, M 은 N 보다 적다.
가중 값들을 표시하는 데이터를 양자화하기 위해, V-벡터 코딩 유닛 (52) 은 가중 값들을 표시하는 데이터에 대해 스칼라 양자화, 벡터 양자화, 및 매트릭스 양자화 중 적어도 하나를 수행할 수도 있다. 전술한 양자화 기법들에 추가하여 또는 대신에 다른 양자화 기법들이 또한 수행될 수도 있다.
가중 값들을 결정하기 위해, V-벡터 코딩 유닛 (52) 은, 가중 값들의 각각에 대해, 코드 벡터들 (63) 의 각각의 코드 벡터에 기초하여 각각의 가중 값을 결정할 수도 있다. 예를 들어, V-벡터 코딩 유닛 (52) 은 각각의 가중 값을 결정하기 위해 코드 벡터들 (63) 의 각각의 코드 벡터에 의해 벡터를 곱할 수도 있다. 일부 경우들에서, V-벡터 코딩 유닛 (52) 은 각각의 가중 값을 결정하기 위해 코드 벡터들 (63) 의 각각의 코드 벡터의 전치에 의해 벡터를 곱하는 것을 수반할 수도 있다.
일부 예들에서, HOA 계수들의 분해된 버전은 HOA 계수들의 특이 값 분해된 버전일 수도 있다. 추가적인 예들에서, HOA 계수들의 분해된 버전은, HOA 계수들의 주 성분 분석된 (principal component analyzed; PCA) 버전, HOA 계수들의 카루넨-루베 (Karhunen-Loeve) 변환된 버전, HOA 계수들의 호텔링 (Hotelling) 변환된 버전, HOA 계수들의 적절한 직교 분해된 (proper orthogonal decomposed; POD) 버전, 및 HOA 계수들의 고유값 분해된 (eigenvalue decomposed; EVD) 버전 중 적어도 하나일 수도 있다.
추가적인 예들에서, 코드 벡터들 (63) 의 셋트는, 방향 벡터들의 셋트, 직교 방향 벡터들의 셋트, 정규직교 방향 벡터들의 셋트, 의사-정규직교 방향 벡터들의 셋트, 의사-직교 방향 벡터들의 셋트, 방향 기저 벡터들의 셋트, 직교 벡터들의 셋트, 정규직교 벡터들의 셋트, 의사-정규직교 벡터들의 셋트, 의사-직교 벡터들의 셋트, 및 구면 조화 기저 벡터들의 셋트, 정규화된 벡터들의 셋트, 및 기저 벡터들의 셋트 중 적어도 하나를 포함할 수도 있다.
일부 예들에서, V-벡터 코딩 유닛 (52) 은 V-벡터 (예컨대, 감소된 전경 V[k] 벡터) 를 표현하기 위해 사용되는 가중치들을 결정하기 위해 분해 코드북을 이용할 수도 있다. 예를 들어, V-벡터 코딩 유닛 (52) 은 후보 분해 코드북들의 셋트로부터 분해 코드북을 선택하고, 그 선택된 분해 코드북에 기초하여 V-벡터를 표현하는 가중치들을 결정할 수도 있다.
일부 예들에서, 후보 분해 코드북들의 각각은 V-벡터를 분해하기 위해서 및/또는 V-벡터에 대응하는 가중치들을 결정하기 위해서 사용될 수도 있는 코드 벡터들 (63) 의 셋트에 대응할 수도 있다. 달리 말하면, 각각의 상이한 분해 코드북은 V-벡터를 분해하기 위해 사용될 수도 있는 상이한 셋트의 코드 벡터들 (63) 에 대응한다. 분해 코드북에서의 각각의 엔트리 (entry) 는 코드 벡터들의 셋트에서의 벡터들 중의 하나에 대응한다.
분해 코드북에서의 코드 벡터들의 셋트는 V-벡터를 분해하기 위해 사용되는 코드 벡터들의 가중된 합에 포함되는 모든 코드 벡터들에 대응할 수도 있다. 예를 들어, 코드 벡터들의 셋트는 수식 (1) 의 우변에 나타난 코드 벡터들의 가중된 합에 포함된 코드 벡터들의 셋트 (63) (
Figure 112021073800500-pct00084
) 에 대응할 수도 있다. 이 예에서, 코드 벡터들 (63) (즉,
Figure 112021073800500-pct00085
) 의 각각의 코드 벡터는 분해 코드북에서의 엔트리에 대응할 수도 있다.
일부 예들에서 상이한 분해 코드북들은 동일한 수의 코드 벡터들 (63) 을 가질 수도 있다. 추가적인 예들에서, 상이한 분해 코드북들은 상이한 수의 코드 벡터들 (63) 을 가질 수도 있다.
예를 들어, 후보 분해 코드북들의 적어도 2 개는 상이한 수의 엔트리들 (즉, 이 예에서 코드 벡터들 (63)) 을 가질 수도 있다. 다른 예에서, 후보 분해 코드북들의 전부는 상이한 수의 엔트리들 (63) 을 가질 수도 있다. 추가적인 예로서, 후보 분해 코드북들의 적어도 2 개는 동일한 수의 엔트리들 (63) 을 가질 수도 있다. 추가적인 예로서, 후보 분해 코드북들의 전부는 동일한 수의 엔트리들 (63) 을 가질 수도 있다.
V-벡터 코딩 유닛 (52) 은 하나 이상의 다양한 기준들에 기초하여 후보 분해 코드북들의 셋트로부터 분해 코드북을 선택할 수도 있다. 예를 들어, V-벡터 코딩 유닛 (52) 은 각각의 분해 코드북에 대응하는 가중치들에 기초하여 분해 코드북을 선택할 수도 있다. 실례로, V-벡터 코딩 유닛 (52) 은 (예를 들어 임계치 에러에 의해 정의되는) 정확도의 일부 마진 (margin) 내에서 V-벡터를 표현하기 위해 얼마나 많은 가중치들이 요구되는지를 결정하기 위해 (V-벡터를 표현하는 대응하는 가중된 합으로부터) 각각의 분해 코드북에 대응하는 가중치들의 분석을 수행할 수도 있다. V-벡터 코딩 유닛 (52) 은 최소 수의 가중치들을 필요로하는 분해 코드북을 선택할 수도 있다. 추가적인 예들에서, V-벡터 코딩 유닛 (52) 은 기저 음장의 특성들 (예컨대, 인공적으로 생성된, 자연적으로 레코딩된, 고도의 확산 등) 에 기초하여 분해 코드북을 선택할 수도 있다.
선택된 코드북에 기초하여 가중치들 (즉, 가중 값들) 을 결정하기 위해, V-벡터 코딩 유닛 (52) 은, 가중치들의 각각에 대해, (예를 들어 "WeightIdx" 신택스 엘리먼트에 의해 식별되는) 각각의 가중치에 대응하는 코드북 엔트리 (즉, 코드 벡터) 를 선택하고, 선택된 코드북 엔트리에 기초하여 각각의 가중치에 대한 가중 값을 결정할 수도 있다. 선택된 코드북 엔트리에 기초하여 가중 값을 결정하기 위해, V-벡터 코딩 유닛 (52) 은, 일부 예들에서, 가중 값을 생성하기 위해 선택된 코드북 엔트리에 의해 특정된 코드 벡터 (63) 에 의해 V-벡터를 곱할 수도 있다. 예를 들어, V-벡터 코딩 유닛 (52) 은, 스칼라 가중 값을 생성하기 위해 선택된 코드북 엔트리에 의해 특정된 코드 벡터 (63) 의 전치에 의해 V-벡터를 곱할 수도 있다. 다른 예로서, 식 (2) 가 가중 값들을 결정하기 위해 사용될 수도 있다.
일부 예들에서, 분해 코드북들의 각각은 복수의 양자화 코드북들의 각각의 양자화 코드북에 대응할 수도 있다. 이러한 예들에서, V-벡터 코딩 유닛 (52) 이 분해 코드북을 선택할 때, V-벡터 코딩 유닛 (52) 은 또한, 분해 코드북에 대응하는 양자화 코드북을 선택할 수도 있다.
V-벡터 코딩 유닛 (52) 은, 감소된 전경 V[k] 벡터들 (55) 중 하나 이상을 코딩하기 위해 어느 분해 코드북이 선택되었는지를 나타내는 데이터 (예컨대, CodebkIdx 신택스 엘리먼트) 를 비트스트림 생성 유닛 (42) 에 제공하여, 비트스트림 생성 유닛 (42) 이 결과적인 비트스트림에 이러한 데이터를 포함할 수도 있도록 할 수도 있다. 일부 예들에서, V-벡터 코딩 유닛 (52) 은 코딩될 HOA 계수들의 각 프레임에 대해 사용할 분해 코드북을 선택할 수도 있다. 이러한 예들에서, V-벡터 코딩 유닛 (52) 은 각 프레임을 코딩하기 위해 어느 분해 코드북이 선택되었는지를 나타내는 데이터 (예컨대, CodebkIdx 신택스 엘리먼트) 를 비트스트림 생성 유닛 (42) 에 제공할 수도 있다. 일부 예들에서, 어느 분해 코드북이 선택되었는지를 나타내는 데이터는 선택된 코드북에 대응하는 식별 값 및/또는 코드북 인덱스일 수도 있다.
일부 예들에서, V-벡터 코딩 유닛 (52) 은 V-벡터 (예컨대, 감소된 전경 V[k] 벡터) 를 추정하기 위해 얼마나 많은 가중치들이 사용되는지를 나타내는 수를 선택할 수도 있다. V-벡터를 추정하기 위해 얼마나 많은 가중치들이 사용되는지를 나타내는 수는 또한, V-벡터 코딩 유닛 (52) 및/또는 오디오 인코딩 디바이스 (20) 에 의해 양자화 및/또는 코딩될 가중치들의 수를 나타낼 수도 있다. V-벡터를 추정하기 위해 얼마나 많은 가중치들이 사용되는지를 나타내는 수는 또한, 양자화 및/또는 코딩될 가중치들의 수로서 지칭될 수도 있다. 가중치가 얼마나 많은지를 나타내는 이 수는 대안적으로 이들 가중치들이 대응하는 코드 벡터들 (63) 의 수로서 표현될 수도 있다. 이 수는 따라서, 벡터-양자화된 V-벡터를 역양자화하기 위해 사용되는 코드 벡터들 (63) 의 수로서 또한 표시될 수도 있고, NumVecIndices 신택스 엘리먼트에 의해 표시될 수도 있다.
일부 예들에서, V-벡터 코딩 유닛 (52) 은 특정 V-벡터에 대해 결정되었던 가중 값들에 기초하여 특정 V-벡터에 대해 양자화 및/또는 코딩될 가중치들의 수를 선택할 수도 있다. 추가적인 예들에서, V-벡터 코딩 유닛 (52) 은 가중치들의 하나 이상의 특정 수들을 이용하여 V-벡터를 추정하는 것과 연관된 에러에 기초하여 특정 V-벡터에 대해 양자화 및/또는 코딩될 가중치들의 수를 선택할 수도 있다.
예를 들어, V-벡터 코딩 유닛 (52) 은 V-벡터를 추정하는 것과 연관된 에러에 대해 최대 에러 임계치를 결정할 수도 있고, 가중치들의 그 수로 추정되는 추정된 V-벡터와, 최대 에러 임계치 이하인 V-벡터 사이에 에러를 만들기 위해 얼마나 많은 가중치들이 필요한지를 결정할 수도 있다. 추정된 벡터는 코드 벡터들의 가중된 합에 대응할 수도 있고, 코드북으로부터의 코드 벡터들의 전부보다는 적은 것이 가중된 합에서 사용된다.
일부 예들에서, V-벡터 코딩 유닛 (52) 은 다음의 식에 기초하여 임계치 아래에서 에러를 만들기 위해 얼마나 많은 가중치들이 필요한지를 결정할 수도 있다:
Figure 112016122900612-pct00086
여기서,
Figure 112021073800500-pct00087
는 i번째 코드 벡터를 나타내고,
Figure 112021073800500-pct00088
는 i번째 가중치를 나타내며,
Figure 112021073800500-pct00089
는 V-벡터 코딩 유닛 (52) 에 의해 분해, 양자화 및/또는 코딩되고 있는 V-벡터에 대응하며,
Figure 112021073800500-pct00090
는 값 x 의 놈 (norm) 이며, 여기서, α 는 어떤 놈의 유형이 사용되는지를 나타내는 값이다. 예를 들어, α = 1 은 L1 놈을 나타내고, α = 2 는 L2 놈을 나타낸다. 도 20 은 이 개시물에서 설명된 기술들의 다양한 양태들에 따라 코드 벡터들의 X* 넘버를 선택하기 위해 사용되는 임계 에러를 나타내는 예시적인 그래프 (700) 를 나타내는 다이어그램이다. 그래프 (700) 는 코드 벡터들의 수가 증가함에 따라 에러가 얼마나 많이 감소하는지를 나타내는 라인 (702) 을 포함한다.
상술한 예들에서, 인덱스들 i 는, 일부 예들에서, 정렬된 시퀀스에서 보다 큰 크기의 (예컨대, 보다 큰 절대 값의) 가중치들이 보다 낮은 크기의 (예컨대, 보다 낮은 절대 값의) 가중치들 이전에 발생하도록 순서 시퀀스에서 가중치들을 인덱싱할 수도 있다. 달리 말하면,
Figure 112016122900612-pct00091
은 최대 가중 값을 나타낼 수도 있고,
Figure 112016122900612-pct00092
는 다음으로 가장 큰 가중 값을 나타낼 수도 있는 등이다. 유사하게,
Figure 112016122900612-pct00093
는 가장 낮은 가중 값을 나타낼 수도 있다.
V-벡터 코딩 유닛 (52) 은, 감소된 전경 V[k] 벡터들 (55) 중 하나 이상을 코딩하기 위해 얼마나 많은 가중치들이 선택되었는지를 나타내는 데이터를 비트스트림 생성 유닛 (42) 에 제공할 수도 있어, 비트스트림 생성 유닛 (42) 이 이러한 데이터를 결과적인 비트스트림에 포함시킬 수도 있도록 한다. 일부 예들에서, V-벡터 코딩 유닛 (52) 은 코딩된 HOA 계수들의 각 프레임에 대해 V-벡터를 코딩하기 위해 사용할 가중치들의 수를 선택할 수도 있다. 이러한 예들에서, V-벡터 코딩 유닛 (52) 은 비트스트림 생성 유닛 (42) 대해 선택된 각 프레임을 코딩하기 위해 얼마나 많은 가중치들이 선택되었는지를 나타내는 데이터를 비트스트림 생성 유닛 (42) 에 제공할 수도 있다. 일부 예들에서, 얼마나 많은 가중치들이 선택되었는지를 나타내는 데이터는 코딩 및/또는 양자화를 위해 얼마나 많은 가중치들이 선택되었는지를 나타내는 수일 수도 있다.
일부 예들에서, V-벡터 코딩 유닛 (52) 은 V-벡터 (예컨대, 감소된 전경 V[k] 벡터) 를 표현 및/또는 추정하기 위해 사용되는 가중치들의 셋트를 양자화하기 위해 양자화 코드북을 이용할 수도 있다. 예들 들어, V-벡터 코딩 유닛 (52) 은 후보 양자화 코드북들의 셋트로부터 양자화 코드북을 선택할 수도 있고, 선택된 양자화 코드북에 기초하여 V-벡터를 양자화할 수도 있다.
일부 예들에서, 후보 양자화 코드북들의 각각은 가중치들의 셋트를 양자화하기 위해 사용될 수도 있는 후보 양자화 벡터들의 셋트에 대응할 수도 있다. 가중치들의 셋트는 이들 양자화 코드북들을 이용하여 양자화될 가중치들의 벡터를 형성할 수도 있다. 달리 말하면, 각각의 상이한 양자화 코드북은 양자화 벡터들의 상이한 셋트에 대응하고, V-벡터를 양자화하기 위해 이 양자화 벡터들의 상이한 셋트로부터 단일의 양자화 벡터가 선택될 수도 있다.
코드북에서의 각 엔트리는 후보 양자화 벡터에 대응할 수도 있다. 후보 양자화 벡터들의 각각에서의 컴포넌트들의 수는, 일부 예들에서, 양자화될 가중치들의 수와 동일할 수도 있다.
일부 예들에서, 상이한 양자화 코드북들은 동일한 수의 후보 양자화 벡터들을 가질 수도 있다. 추가적인 예들에서, 상이한 양자화 코드북들은 상이한 수의 후보 양자화 벡터들을 가질 수도 있다.
예를 들어, 후보 양자화 코드북들의 적어도 2 개는 상이한 수의 양자화 벡터들을 가질 수도 있다. 다른 예로서, 후보 양자화 코드북들의 전부는 상이한 수의 후보 양자화 벡터들을 가질 수도 있다. 추가적인 예들에서, 후보 양자화 코드북들의 적어도 2 개는 동일한 수의 후보 양자화 벡터들을 가질 수도 있다. 추가적인 예로서, 후보 양자화 코드북들의 전부는 동일한 수의 후보 양자화 벡터들을 가질 수도 있다.
V-벡터 코딩 유닛 (52) 은 하나 이상의 다양한 기준들에 기초하여 후보 양자화 코드북들의 셋트로부터 양자화 코드북을 선택할 수도 있다. 예를 들어, V-벡터 코딩 유닛 (52) 은 V-벡터에 대한 가중치들을 결정하기 위해 사용되었던 분해 코드북에 기초하여 V-벡터에 대한 양자화 코드북을 선택할 수도 있다. 다른 예로서, V-벡터 코딩 유닛 (52) 은 양자화될 가중 값들의 확률 분포에 기초하여 V-벡터에 대한 양자화 코드북을 선택할 수도 있다. 다른 예들에서, V-벡터 코딩 유닛 (52) 은, V-벡터에 대해 가중치들을 결정하기 위해 사용되었던 분해 코드북의 선택 뿐만 아니라 (예컨대, 식 14 에 따라) 일부 에러 임계치 내에서 V-벡터를 표현하기 위해 필요한 것으로 간주되었던 가중치들의 수의 조합에 기초하여 V-벡터에 대한 양자화 코드북을 선택할 수도 있다.
선택된 양자화 코드북에 기초하여 가중치들을 양자화하기 위해, V-벡터 코딩 유닛 (52) 은, 일부 예들에서, 선택된 양자화 코드북에 기초하여 V-벡터를 양자화하기 위해 사용할 양자화 벡터를 결정할 수도 있다. 예를 들어, V-벡터 코딩 유닛 (52) 은 V-벡터를 양자화하기 위해 사용할 양자화 벡터를 결정하기 위해 벡터 양자화 (vector quantization; VQ) 를 수행할 수도 있다.
추가적인 예들에서, 선택된 양자화 코드북에 기초하여 가중치들을 양자화하기 위해, V-벡터 코딩 유닛 (52) 은, 각각의 V-벡터에 대해, V-벡터를 나타내기 위해 양자화 벡터들 중 하나 이상을 이용하는 것과 연관된 양자화 에러에 기초하여 선택된 양자화 코드북으로부터 양자화 벡터를 선택할 수도 있다. 예를 들어, V-벡터 코딩 유닛 (52) 은 양자화 에러를 최소화 (예컨대, 최소 제곱 에러를 최소화) 하는 선택된 양자화 코드북으로부터 후보 양자화 벡터를 선택할 수도 있다.
일부 예들에서, 양자화 코드북들의 각각은 복수의 분해 코드북들 중의 각각의 분해 코드북에 대응할 수도 있다. 이러한 예들에서, V-벡터 코딩 유닛 (52) 은 또한, V-벡터에 대한 가중치들을 결정하기 위해 사용되었던 분해 코드북에 기초하여 V-벡터와 연관된 가중치들의 셋트를 양자화하기 위해 양자화 코드북을 선택할 수도 있다. 예를 들어, V-벡터 코딩 유닛 (52) 은 V-벡터에 대한 가중치들을 결정하기 위해 사용되었던 분해 코드북에 대응하는 양자화 코드북을 선택할 수도 있다.
V-벡터 코딩 유닛 (52) 은, 감소된 전경 V[k] 벡터들 (55) 중 하나 이상에 대응하는 가중치들을 양자화하기 위해 어느 양자화 코드북이 선택되었는지를 나타내는 데이터를 비트스트림 생성 유닛 (42) 에 제공할 수도 있어, 비트스트림 생성 유닛 (42) 이 이러한 데이터를 결과적인 비트스트림에 포함시킬 수도 있도록 한다. 일부 예들에서, V-벡터 코딩 유닛 (52) 은 코딩될 HOA 계수들의 각 프레임에 대해 사용할 양자화 코드북을 선택할 수도 있다. 이러한 예들에서, V-벡터 코딩 유닛 (52) 은 각 프레임에서 가중치들을 양자화하기 위해 어느 양자화 코드북이 선택되었는지를 나타내는 데이터를 비트스트림 생성 유닛 (42) 에 제공할 수도 있다. 일부 예들에서, 어느 양자화 코드북이 선택되었는지를 나타내는 데이터는 선택된 코드북에 대응하는 코드북 인덱스 및/또는 식별 값일 수도 있다.
오디오 인코딩 디바이스 (20) 내에 포함되는 음향심리 오디오 코더 유닛 (40) 은 음향심리 오디오 코더의 다수의 인스턴스들을 나타낼 수도 있으며, 이의 각각은 에너지 보상된 환경 HOA 계수들 (47') 및 보간된 nFG 신호들 (49') 의 각각의 상이한 오디오 오브젝트 또는 HOA 채널을 인코딩하여 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 nFG 신호들 (61) 을 발생시키는데 사용된다. 음향심리 오디오 코더 유닛 (40) 은 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 nFG 신호들 (61) 을 비트스트림 생성 유닛 (42) 으로 출력할 수도 있다.
오디오 인코딩 디바이스 (20) 내에 포함된 비트스트림 생성 유닛 (42) 은 (디코딩 디바이스에 의해 알려진 포맷을 지칭할 수도 있는) 기지의 포맷을 따르도록 데이터를 포맷하여, 벡터-기반 비트스트림 (21) 을 발생시키는 유닛을 나타낸다. 즉, 비트스트림 (21) 은 위에서 설명된 방법으로 인코딩되어 있는 인코딩된 오디오 데이터를 나타낼 수도 있다. 비트스트림 생성 유닛 (42) 은 일부 예들에서, 코딩된 전경 V[k] 벡터들 (57), 인코딩된 환경 HOA 계수들 (59), 인코딩된 nFG 신호들 (61) 및 배경 채널 정보 (43) 를 수신할 수도 있는 멀티플렉서를 나타낼 수도 있다. 비트스트림 생성 유닛 (42) 은 그후 코딩된 전경 V[k] 벡터들 (57), 인코딩된 환경 HOA 계수들 (59), 인코딩된 nFG 신호들 (61) 및 배경 채널 정보 (43) 에 기초하여, 비트스트림 (21) 을 발생시킬 수도 있다. 이러한 방법으로, 비트스트림 생성 유닛 (42) 은 이에 의해 비트스트림 (21) 을 획득하기 위해 벡터들 (57) 을 비트스트림 (21) 에 규정할 수도 있다. 비트스트림 (21) 은 1차 또는 메인 비트스트림 및 하나 이상의 부 채널 비트스트림들을 포함할 수도 있다.
도 3a 의 예에서는 나타내지 않았지만, 오디오 인코딩 디바이스 (20) 는 또한 현재의 프레임이 방향-기반 합성 또는 벡터-기반 합성을 이용하여 인코딩되는지 여부에 기초하여 오디오 인코딩 디바이스 (20) 로부터 출력된 비트스트림 출력을 (예컨대, 방향-기반 비트스트림 (21) 과 벡터-기반 비트스트림 (21) 사이에) 스위칭하는 비트스트림 출력 유닛을 포함할 수도 있다. 비트스트림 출력 유닛은 방향-기반 합성이 (HOA 계수들 (11) 이 합성 오디오 오브젝트로부터 발생되었다고 검출한 결과로서) 수행되었는지 여부 또는 벡터-기반 합성이 (HOA 계수들이 기록되었다고 검출한 결과로서) 수행되었는지 여부를 나타내는 콘텐츠 분석 유닛 (26) 에 의해 출력된 신택스 엘리먼트에 기초하여 스위칭을 수행할 수도 있다. 비트스트림 출력 유닛은 비트스트림들 (21) 의 개개의 하나와 함께 현재의 프레임에 대해 수행되는 스위치 또는 현재의 인코딩을 나타내는 올바른 헤더 신택스를 규정할 수도 있다.
더욱이, 위에서 언급한 바와 같이, 음장 분석 유닛 (44) 은 (때로는 BGTOT 가 2개 이상의 (시간에서) 인접한 프레임들에 걸쳐서 일정하거나 또는 동일하게 유지할 수도 있지만) 프레임 단위로 변할 수도 있는 BGTOT 환경 HOA 계수들 (47) 을 식별할 수도 있다. BGTOT 에서의 변화는 감소된 전경 V[k] 벡터들 (55) 로 표현된 계수들에 대해 변화들을 초래할 수도 있다. BGTOT 에서의 변화는 (또한, 때로는 BGTOT 가 2개 이상의 (시간에서) 인접한 프레임들에 걸쳐서 일정하거나 또는 동일하게 유지할 수도 있지만) 프레임 단위로 변하는 ("환경 HOA 계수들" 로서 또한 지칭될 수도 있는) 배경 HOA 계수들을 초래할 수도 있다. 이 변화들은 종종 추가적인 환경 HOA 계수들의 추가 또는 제거, 및 감소된 전경 V[k] 벡터들 (55) 로부터의 계수들의 대응하는 제거 또는 감소된 전경 V[k] 벡터들 (55) 에의 계수들의 추가로 표현되는 음장의 양태들에 대해 에너지의 변화를 초래한다.
그 결과, 음장 분석 유닛 (44) 은 환경 HOA 계수들이 프레임들 간에 변하는 시점을 추가로 결정하고, (변화가 환경 HOA 계수의 "전이" 로서 또는 환경 HOA 계수의 "전이" 로서 또한 지칭될 수도 있는) 음장의 환경 구성요소들을 나타내는데 사용되는 관점에서 환경 HOA 계수에 대한 변화를 나타내는 플래그 또는 다른 신택스 엘리먼트를 발생시킬 수도 있다. 특히, 계수 감축 유닛 (46) 은 (AmbCoeffTransition 플래그 또는 AmbCoeffIdxTransition 플래그로서 표시될 수도 있는) 플래그를 발생시켜, 그 플래그가 (가능한 한 부 채널 정보의 일부로서) 비트스트림 (21) 에 포함될 수 있도록 그 플래그를 비트스트림 생성 유닛 (42) 에 제공할 수도 있다.
계수 감축 유닛 (46) 은 환경 계수 전이 플래그를 규정하는 것에 더하여, 또한 감소된 전경 V[k] 벡터들 (55) 이 발생되는 방법을 수정할 수도 있다. 일 예에서, 환경 HOA 환경 계수들 중 하나가 현재의 프레임 동안 전이 중이라고 결정하자 마자, 계수 감축 유닛 (46) 은 전이 중인 환경 HOA 계수에 대응하는 감소된 전경 V[k] 벡터들 (55) 의 V-벡터들의 각각에 대해 ("벡터 엘리먼트" 또는 "엘리먼트" 로서 또한 지칭될 수도 있는) 벡터 계수를 규정할 수도 있다. 또, 전이 중인 환경 HOA 계수는 배경 계수들의 총 개수 BGTOT 에 추가하거나 또는 그로부터 제거될 수도 있다. 따라서, 배경 계수들의 총 개수에서의 최종 변화는 환경 HOA 계수가 비트스트림에 포함되는지 여부, 및 V-벡터들의 대응하는 엘리먼트가 위에서 설명된 제 2 및 제 3 구성 모드들에서 비트스트림에 규정된 V-벡터들을 위해 포함되는지 여부에 영향을 미친다. 계수 감축 유닛 (46) 이 에너지에서의 변화들을 극복하기 위해 감소된 전경 V[k] 벡터들 (55) 을 규정할 수 있는 방법에 관한 더 많은 정보는 "TRANSITIONING OF AMBIENT HIGHER_ORDER AMBISONIC COEFFICIENTS" 란 발명의 명칭으로, 2015년 1월 12일에 출원된, 미국 출원 번호 제 14/594,533호에서 제공된다.
도 3b 는 본 개시물에서 설명되는 기술들의 다양한 양태들을 수행할 수도 있는 도 3 의 예에 나타낸 오디오 인코딩 디바이스 (420) 의 다른 예를 보다 자세하게 예시하는 블록도이다. 도 3b 에 도시된 오디오 인코딩 디바이스 (420) 는, 오디오 인코딩 디바이스 (420) 내의 v-벡터 코딩 유닛 (52) 이 재정렬 유닛 (34) 에 가중 값 정보 (71) 를 또한 제공하는 점을 제외하고는 오디오 인코딩 디바이스 (20) 와 유사하다.
일부 예들에서, 가중 값 정보 (71) 는 v-벡터 코딩 유닛 (52) 에 의해 계산되는 가중 값들 중 하나 이상을 포함할 수도 있다. 추가적인 예들에서, 가중 값 정보 (71) 는 v-벡터 코딩 유닛 (52) 에 의해 양자화 및/또는 코딩을 위해 어느 가중치들이 선택되었었는지를 나타내는 정보를 포함할 수도 있다. 추가적인 예들에서, 가중 값 정보 (71) 는 v-벡터 코딩 유닛 (52) 에 의해 양자화 및/또는 코딩을 위해 어느 가중치들이 선택되지 않았었는지를 나타내는 정보를 포함할 수도 있다. 가중 값 정보 (71) 는 상술한 정보 항목들 및 상술한 정보 항목들에 추가한 또는 그 대신의 다른 항목들 중 임의의 것의 임의의 조합을 포함할 수도 있다.
일부 예들에서, 재정렬 유닛 (34) 은 가중 값 정보 (71) 에 기초하여 (예컨대, 가중 값들에 기초하여) 벡터들을 재정렬할 수도 있다. v-벡터 코딩 유닛 (52) 이 양자화 및/또는 코딩할 가중 값들의 서브셋트를 선택하는 예들에서, 재정렬 유닛 (34) 은, 일부 예들에서, 양자화 또는 코딩을 위해 가중 값들 중 어느 것이 선택되었었는지 (이는 가중 값 정보 (71) 에 의해 나타내어질 수도 있다) 에 기초하여 벡터들을 재정렬할 수도 있다.
도 4a 는 도 2 의 오디오 디코딩 디바이스 (24) 를 좀더 자세하게 예시하는 블록도이다. 도 4a 의 예에 나타낸 바와 같이, 오디오 디코딩 디바이스 (24) 는 추출 유닛 (72), 방향성-기반 재구성 유닛 (90) 및 벡터-기반 재구성 유닛 (92) 을 포함할 수도 있다. 아래에서 설명되지만, 오디오 디코딩 디바이스 (24) 및 HOA 계수들을 분해하거나 또는 아니면 디코딩하는 여러 양태들에 관한 더 많은 정보는 "INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD"란 발명의 명칭으로, 2014년 5월 29일에 출원된 국제 특허 출원 공개 번호 제 WO 2014/194099호에서 입수가능하다.
추출 유닛 (72) 은 비트스트림 (21) 을 수신하여 HOA 계수들 (11) 의 여러 인코딩된 버전들 (예컨대, 방향-기반 인코딩된 버전 또는 벡터-기반의 인코딩된 버전) 을 추출하도록 구성된 유닛을 나타낼 수도 있다. 추출 유닛 (72) 은 HOA 계수들 (11) 이 여러 방향-기반의 또는 벡터-기반의 버전들을 통해서 인코딩되었는지 여부를 표시하는 위에서 언급된 신택스 엘리먼트로부터 결정할 수도 있다. 방향-기반 인코딩이 수행되었을 때, 추출 유닛 (72) 은 HOA 계수들 (11) 의 방향-기반 버전 및 (도 4a 의 예에서 방향-기반 정보 (91) 로서 표시된) 인코딩된 버전과 연관된 신택스 엘리먼트들을 추출하여, 방향 기반의 정보 (91) 를 방향-기반 재구성 유닛 (90) 으로 전달할 수도 있다. 방향-기반 재구성 유닛 (90) 은 방향-기반 정보 (91) 에 기초하여 HOA 계수들을 HOA 계수들 (11') 의 유형으로 복원하도록 구성된 유닛을 나타낼 수도 있다.
HOA 계수들 (11) 이 벡터-기반 합성을 이용하여 인코딩되었다고 신택스 엘리먼트가 표시할 때, 추출 유닛 (72) 은 (코딩된 가중치들 (57) 및/또는 인덱스들 (63) 을 포함할 수도 있는) 코딩된 전경 V[k] 벡터들 (57), 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 nFG 신호들 (59) 을 추출할 수도 있다. 추출 유닛 (72) 은 코딩된 가중치들 (57) 을 양자화 유닛 (74) 에 그리고 인코딩된 nFG 신호들 (61) 과 함께 인코딩된 환경 HOA 계수들 (59) 을 음향심리 디코딩 유닛 (80) 에 패스 (pass) 할 수도 있다
코딩된 가중치들 (57), 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 nFG 신호들 (59) 을 추출하기 위해, 추출 유닛 (72) 은, CodedVVecLength 로 표시된 신택스 엘리먼트를 포함하는 HOADecoderConfig 컨테이너 (container) 를 획득할 수도 있다. 추출 유닛 (72) 은 HOADecoderConfig 컨테이너로부터 CodedVVecLength 를 파싱할 수도 있다. 추출 유닛 (72) 은 CodedVVecLength 신택스 엘리먼트에 기초하여 상술한 구성 모드들 중 임의의 하나에서 동작하도록 구성될 수도 있다.
일부 예들에서, 추출 유닛 (72) 은, 첨부된 시맨틱스 (semantics) 에 비추어 이해되는 바와 같이 VVectorData 에 대해 다음과 같은 신택스 테이블 (여기서, 가운데 그어진 취소선은 줄그어진 주제의 제거를 나타내고, 밑줄은 신택스 테이블의 이전 버전들에 대해 밑줄친 주제의 추가를 나타낸다) 에서 존재하는 신택스로 다음과 같은 의사-코드에서 존재하는 스위치 진술문에 따라 동작할 수도 있다:
Figure 112016122900612-pct00094
Figure 112016122900612-pct00095
VVectorData ( VecSigChannelIds (i) )
이 구조는 벡터-기반 신호 합성을 위해 사용되는 코딩된 V-벡터를 포함한다.
VVec(k)[i] 이것은 i-번째 채널에 대한 k-번째 HOAframe() 에 대한 V-벡터이다.
VVecLength 이 변수는 독출 (read out) 할 벡터 엘리먼트들의 수를 나타낸다.
VVecCoeffId 이 벡터는 송신된 V-벡터 계수들의 인덱스들을 포함한다.
VecVal 0 과 255 사이의 정수 값.
aVal VVectorData 의 디코딩 동안 사용되는 임시 변수.
huffVal 허프만-디코딩될 허프만 코드 워드.
sgnVal 이것은 디코딩 동안 사용되는 코딩된 부호 값이다.
intAddVal 이것은 디코딩 동안 사용되는 추가적인 정수 값이다.
NumVecIndices 벡터-양자화된 V-벡터를 역양자화하기 위해 사용되는 벡터들의 수.
WeightIdx 벡터-양자화된 V-벡터를 역양자화하기 위해 사용되는 WeightValCdbk 에서의 인덱스.
nbitsW 벡터-양자화된 V-벡터를 디코딩하기 위해 WeightIdx 를 판독하기 위한 필드 사이즈.
WeightValCdbk 양의 실수 값의 가중 계수들의 벡터를 포함하는 코드북. NumVecIndices 이 1 로 설정되는 경우에, 16 개의 엔트리들을 갖는 WeightValCdbk 이 사용되고, 그렇지 않은 경우에는 256 개의 엔트리들을 갖는 WeightValCdbk 가 사용된다.
VvecIdx 벡터-양자화된 V-벡터를 역양자화하기 위해 사용되는, VecDict 에 대한 인덱스.
nbitsIdx 벡터-양자화된 V-벡터를 디코딩하기 위해 개별 VvecIdx 들을 판독하기 위한 필드 사이즈.
WeightVal 벡터-양자화된 V-벡터를 디코딩하기 위한 실수 값의 가중 계수.
전술한 신택스 테이블에서, 4 가지 경우들 (경우 0-3) 을 갖는 제 1 스위치 진술문은 계수들의 인덱스 (VVecCoeffId) 및 수 (VVecLength) 의 면에서 VT DIST 벡터 길이를 결정하기 위한 방식을 제공한다. 제 1 의 경우, 경우 0 은, VT DIST 벡터들에 대한 계수들 (NumOfHoaCoeffs) 의 모두가 특정되는 것을 나타낸다. 제 2 의 경우, 경우 1 은, MinNumOfCoeffsForAmbHOA 보다 더 큰 수에 대응하는 VT DIST 벡터의 오직 그들 계수들만이 특정됨을 나타내고, 이는 무엇이 상기 (NDIST + 1)2 - (NBG + 1)2 로서 지칭되는지를 표시할 수도 있다. 추가적으로 ContAddAmbHoaChan 에서 식별된 그들 NumOfContAddAmbHoaChan 계수들이 감산된다. 리스트 ContAddAmbHoaChan 는 차수 MinAmbHoaOrder 를 초과하는 차수에 대응하는 추가적인 채널들을 명시한다 (여기서, "채널들" 은 어떤 차수, 하위-차수 조합에 대응하는 특정 계수를 지칭한다). 제 3 의 경우, 경우 2 는, MinNumOfCoeffsForAmbHOA 보다 더 큰 수에 대응하는 VT DIST 벡터의 그들 계수들이 특정됨을 나타내고, 이는 무엇이 상기 (NDIST + 1)2 - (NBG + 1)2 로서 지칭되는지를 표시할 수도 있다. VVecLength 및 VVecCoeffId 리스트 양자 모두가 HOAFrame 내의 모든 VVectors 에 대해 유효하다.
이 스위치 진술문 후에, 벡터 양자화 또는 균일한 스칼라 역양자화를 수행할지 여부의 결정은 NbitsQ (또는 상기 표시된 바와 같이 nbits) 에 의해 제어될 수도 있다. 이전에, (예를 들어, NbitsQ 가 4 와 동일할 때) Vvectors 을 양자화하기 위해 오직 스칼라 양자화만이 제안되었었다. NbitsQ 가 5 와 동일할 때 스칼라 양자화가 여전히 제공되지만, 하나의 예로서 NbitsQ 가 4 와 동일할 때 이 개시물에서 설명된 기술들에 따라 벡터 양자화가 수행될 수도 있다.
달리 말하면, 강한 방향성을 갖는 HOA 신호는 전경 오디오 신호 및 대응하는 공간 정보, 즉, 이 개시물의 예들에서 V-벡터에 의해 표현된다. 이 개시물에서 설명된 V-벡터 코딩 기법들에서, 각 V-벡터는 다음 식에 의해 주어지는 바와 같이 사전-정의된 방향 벡터들의 가중된 합산에 의해 표현된다:
Figure 112016122900612-pct00096
여기서,
Figure 112016122900612-pct00097
Figure 112016122900612-pct00098
는 각각 i-번째 가중 값 및 대응하는 방향 벡터이다.
V-벡터 코딩의 예는 도 16 에서 도시된다. 도 16(a) 에서 도시된 바와 같이, 원래의 V-벡터는 수개의 방향 벡터들의 혼합에 의해 표현될 수도 있다. 원래의 V-벡터는 그러면 도 16(b) 에서 도시된 바와 같이 가중된 합에 의해 추정될 수도 있고, 여기서 가중 벡터는 도 16(e) 에서 도시된다. 도 16 의 (c) 및 (f) 는 오직 I S (I S I) 최고 가중 값들만이 선택되는 경우들을 나타낸다. 벡터 양자화 (vector quantization; VQ) 는 그러면 선택된 가중 값들에 대해 수행될 수도 있고, 그 결과는 도 16 의 (d) 및 (g) 에서 도시된다.
이 v-벡터 코딩 스킴의 계산적 복잡성은 다음과 같이 결정될 수도 있다:
0.06 MOPS (HOA 차수 = 6) / 0.05 MOPS (HOA 차수 = 5); 및
0.03 MOPS (HOA 차수 = 4) / 0.02 MOPS (HOA 차수 = 3).
ROM 복잡성은 (HOA 차수들 3, 4, 5, 및 6 에 대해) 16.29kbytes 로서 결정될 수도 있고, 알고리즘 지연은 0 샘플들로서 결정된다.
상기 참조된 3D 오디오 코딩 표준의 현재 버전에 대한 요구되는 수정은 밑줄들의 사용에 의해 상기 나타낸 VVectorData 신택스 테이블 내에서 표시될 수도 있다. 즉, 상기 참조된 MPEG-H 3D 오디오 제안된 표준의 CD 에서, V-벡터 코딩은 허프만 코딩이 뒤따르는 스칼라 양자화 (scalar quantization; SQ) 또는 SQ 로 수행되었었다. 제안된 벡터 양자화 (VQ) 방법의 요구되는 비트들은 종래의 SQ 코딩 방법들보다 더 낮을 수도 있다. 12 개의 참조 테스트 항목들에 대해, 평균 요구되는 비트들은 다음과 같다:
Figure 112016122900612-pct00099
SQ+Huffman: 16.25 kbps
Figure 112016122900612-pct00100
제안된 VQ: 5.25 kbps
절약되는 비트들은 지각적 오디오 코딩 (perceptual audio coding) 을 위한 사용을 위해 용도변경될 수도 있다.
달리 말하면, v-벡터 재구성 유닛 (74) 은 V-벡터들을 재구성하기 위해 다음과 같은 의사코드에 따라 동작할 수도 있다:
Figure 112016122900612-pct00101
전술한 의사코드 (한줄 취소선은 가운데 줄 쳐진 주제의 제거를 나타냄) 에 따르면, v-벡터 재구성 유닛 (74) 은 CodedVVecLength 의 값에 기초하여 스위치 진술문에 대해 의사코드 당 VVecLength 를 결정할 수도 있다. VVecLength 에 기초하여, v-벡터 재구성 유닛 (74) 은 NbitsQ 값을 고려하는 후속하는 if/elseif 진술문들을 통해 반복할 수도 있다. k 번째 프레임에 대한 i번째 NbitsQ 값이 4 와 동일할 때, v-벡터 재구성 유닛 (74) 은 벡터 역양자화가 수행될 것을 결정한다.
cdbLen 신택스 엘리먼트는, 코드 벡터들의 딕셔너리 또는 코드북에서의 엔트리들의 수를 나타내고 (여기서, 이 딕셔너리는 전술한 의사코드에서 "VecDict" 로서 표시되고, 벡터 양자화된 V-벡터를 디코딩하기 위해 사용된, HOA 확장 계수들의 벡터들을 포함하는 cdbLen 코드북 엔트리들을 갖는 코드북을 나타낸다), 이는 NumVvecIndicies 및 HOA 차수에 기초하여 도출된다. NumVvecIndicies 의 값이 1 과 동일할 때, 벡터 코드북 HOA 확장 계수들은 상기 테이블 F.11 에서 나타낸 8x1 가중 값들의 코드북과 함께 상기 테이블 F.8 로부터 도출되었다. NumVvecIndicies 의 값이 1 보다 더 클 때, O 벡터를 갖는 벡터 코드북은 상기 테이블 F.12 에서 나타낸 256x8 가중 값들과 함께 사용된다.
사이즈 256x8 의 코드북을 사용하는 것으로서 상기 설명되었지만, 상이한 수들의 값들을 갖는 다른 코드북들이 사용될 수도 있다. 즉, val0-val7 대신에, 각 행은 상이한 인덱스 값 (인덱스 0 - 인덱스 255) 에 의해 인덱싱되고 (총 10 개의 값들에 대해) val 0 - val 9 또는 (총 16 개의 값들에 대해) val 0 - val 15 와 같은 상이한 수의 값들을 갖는 256 개의 행들을 갖는 코드북이 사용될 수도 있다. 도 19a 및 도 19b 는 이 개시물에서 설명된 기술들의 다양한 양태들에 따라 사용될 수도 있는, 각 행이 10 개의 값들 및 16 개의 값들을 각각 갖는 256 개의 행들을 갖는 코드북들을 나타내는 다이어그램들이다.
v-벡터 재구성 유닛 (74) 은 ((전술한 VVectorData(i) 신택스 테이블에서 "CodebkIdx" 로 표시된) 코드북 인덱스 및 (전술한 VVectorData(i) 신택스 테이블에서 "WeightIdx" 로서 표시된) 가중치 인덱스 중 하나 이상에 기초하여 인덱싱된 다중차원 테이블을 나타낼 수도 있는, "WeightValCdbk" 로서 표시된) 가중 값 코드북에 기초하여 V-벡터를 재구성하기 위해 사용되는 각각의 대응하는 코드 벡터들에 대해 가중 값을 도출할 수도 있다. 이 CodebkIdx 신택스 엘리먼트는 다음의 ChannelSideInfoData(i) 신택스 테이블에서 나타낸 바와 같이, 부 채널 정보의 부분에서 정의될 수도 있다:
테이블 - ChannelSideInfoData (i) 의 신택스
Figure 112016122900612-pct00102
상술한 테이블에서의 밑줄들은 CodebkIdx 의 추가를 수용하기 위해 기존의 신택스 테이블에 대한 변경들을 표시한다. 상술한 테이블에 대한 의미론은 다음과 같다.
페이로드 (payload) 는 i-번째 채널에 대한 부 정보를 유지한다. 페이로드의 사이즈 및 데이터는 채널의 유형에 의존한다.
ChannelType [i] 이 엘리먼트는 테이블 95 에서 정의되는 i-번째 채널의 유형을 저장한다.
ActiveDirsIds [i] 이 엘리먼트는 부속서 F.7 로부터의 900 개의 미리 정의된, 균일하게 분포된 포인트들의 인덱스를 이용하여 활성 방향 신호의 방향을 나타낸다. 코드 워드 0 은 방향 신호의 끝을 시그널링하는데 사용된다.
PFlag [i] i-번째 채널의 벡터-기반의 신호와 연관된 스칼라-양자화된 V-벡터의 허프만 디코딩에 사용되는 예측 플래그.
CbFlag[i] i-번째 채널의 벡터-기반의 신호와 연관된 스칼라-양자화된 V-벡터의 허프만 디코딩에 사용되는 코드북 플래그.
CodebkIdx [i] i-번째 채널의 벡터-기반의 신호와 연관된 벡터-양자화된 V-벡터를 역양자화하는데 사용되는 특정의 코드북을 시그널링한다 .
NbitsQ [i] 이 인덱스는 i-번째 채널의 벡터-기반의 신호와 연관된 데이터의 허프만 디코딩에 사용되는 허프만 테이블을 결정한다. 코드 워드 5 는 균일한 8비트 역양자화기의 사용을 결정한다. 2 개의 MSB들 00 은 이전 프레임 (k-1) 의 NbitsQ[i], PFlag[i] 및 CbFlag[i] 데이터를 재사용하는 것을 결정한다.
bA , bB NbitsQ[i] 필드의 msb (bA) 및 제 2 msb (bB).
uintC NbitsQ[i] 필드의 나머지 2 비트들의 코드 워드.
AddAmbHoaInfoChannel (i) 이 페이로드는 추가적인 환경 HOA 계수들에 대한 정보를 유지한다.
VVectorData 신택스 테이블 의미론에 따라, nbitsW 신택스 엘리먼트는 벡터-양자화된 V-벡터를 디코딩하기 위해 WeightIdx 를 판독하기 위한 필드 사이즈를 나타내는 한편, WeightValCdbk 신택스 엘리먼트는 양의 실수 값의 가중 계수들의 벡터를 포함하는 코드북을 나타낸다. NumVecIndices 이 1 로 설정되는 경우에, 8 개의 엔트리들을 갖는 WeightValCdbk 가 사용되고, 그렇지 않은 경우에, 256 개의 엔트리들을 갖는 WeightValCdbk 이 사용된다. VVectorData 신택스 테이블에 따라, CodebkIdx 이 0 과 동일할 때, v-벡터 재구성 유닛 (74) 은 nbitsW 가 3 과 동일하고 WeightIdx 는 0-7 의 범위에서의 값을 가질 수 있음을 결정한다. 이 경우에, 코드 벡터 딕셔너리 VecDict 는 비교적 큰 수의 엔트리들 (예컨대, 900) 을 가지고, 오직 8 개의 엔트리들을 갖는 가중치 코드북과 쌍을 이룬다. CodebkIdx 이 0 과 동일하지 않은 경우에, v-벡터 재구성 유닛 (74) 은, nbitsW 가 8 과 동일하고 WeightIdx 는 0-255 의 범위에서의 값을 가질 수 있음을 결정한다. 이 경우에, VecDict 는 비교적 보다 작은 수의 엔트리들 (예컨대, 25 또는 32 개의 엔트리들) 을 가지고, 수용가능한 에러를 보장하기 위해 가중치 코드북에서 비교적 보다 큰 수의 가중치들이 요구된다 (예컨대, 256). 이러한 방식으로, 본 기술들은 (사용되는 쌍을 이룬 VecDict 및 가중치 코드북들을 지칭하는) 쌍을 이룬 코드북들을 제공할 수도 있다. (상술한 VVectorData 신택스 테이블에서 "WeightVal" 로서 표시된) 가중 값은 그러면 다음과 같이 계산될 수도 있다:
Figure 112016122900612-pct00103
WeightVal 은 그러면 v-벡터를 역-벡터 양자화하기 위해 대응하는 코드 벡터에 대해 상기 의사코드에 따라 적용될 수도 있다.
이 점에서, 본 기술들은, 오디오 디코딩 디바이스, 예컨대, 오디오 디코딩 디바이스 (24) 로 하여금 음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용하기 위해 복수의 코드북들 중 하나를 선택하는 것을 가능하게 할 수도 있고, 벡터 양자화된 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 벡터-기반 합성의 적용을 통해 획득된다.
더욱이, 본 기술들은, 오디오 디코딩 디바이스 (24) 로 하여금, 음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용될 복수의 쌍을 이룬 코드북들 사이에 선택하는 것을 가능하게 할 수도 있고, 벡터 양자화된 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 벡터-기반 합성의 적용을 통해 획득된다.
NbitsQ 가 5 와 동일할 때, 균일한 8 비트 스칼라 역양자화가 수행된다. 반면, 6 보다 더 크거나 동일한 NbitsQ 값은 허프만 디코딩의 적용을 초래할 수도 있다. 상기 언급된 cid 값은 NbitsQ 값의 2 개의 최하위 비트들과 동일할 수도 있다. 상기 논의된 예측 모드는 상기 신택스 테이블에서 PFlag 로서 표시되는 한편, HT 정보 비트는 상기 신택스 테이블에서 CbFlag 로서 표시된다. 나머지 신택스는 디코딩이 어떻게 상술한 것과 실질적으로 유사한 방식으로 발생하는지를 명시한다.
벡터-기반 재구성 유닛 (92) 은 HOA 계수들 (11') 을 재구성하기 위해 벡터-기반 합성 유닛 (27) 에 대해 상술한 것들에 대해 상호 역의 관계에 있는 동작들을 수행하도록 구성된 유닛을 나타낸다. 벡터-기반 재구성 유닛 (92) 은 v-벡터 재구성 유닛 (74), 공간-시간적 보간 유닛 (76), 전경 포뮬레이션 유닛 (78), 음향심리 디코딩 유닛 (80), HOA 계수 포뮬레이션 유닛 (82) 및 레코더 유닛 (84) 을 포함할 수도 있다.
v-벡터 재구성 유닛 (74) 은 코딩된 가중치들 (57) 을 수신하고 감소된 전경 V[k] 벡터들 (55 k ) 을 생성할 수도 있다. v-벡터 재구성 유닛 (74) 은 감소된 전경 V[k] 벡터들 (55 k ) 을 레코더 유닛 (84) 에 포워딩할 수도 있다.
예를 들어, v-벡터 재구성 유닛 (74) 은 추출 유닛 (72) 을 통해 비트스트림 (21) 으로부터 코딩된 가중치들 (57) 을 획득하고, 코딩된 가중치들 (57) 및 하나 이상의 코드 벡터들에 기초하여 감소된 전경 V[k] 벡터들 (55 k ) 을 재구성할 수도 있다. 일부 예들에서, 코딩된 가중치들 (57) 은 감소된 전경 V[k] 벡터들 (55 k ) 을 표현하기 위해 사용되는 코드 벡터들의 셋트에서의 모든 코드 벡터들에 대응하는 가중 값들을 포함할 수도 있다. 이러한 예들에서, v-벡터 재구성 유닛 (74) 은 코드 벡터들의 전체 셋트에 기초하여 감소된 전경 V[k] 벡터들 (55 k ) 을 재구성할 수도 있다.
코딩된 가중치들 (57) 은 감소된 전경 V[k] 벡터들 (55 k ) 을 표현하기 위해 사용되는 코드 벡터들의 셋트의 서브셋트에 대응하는 가중 값들을 포함할 수도 있다. 이러한 예들에서, 코딩된 가중치들 (57) 은 복수의 코드 벡터들 중 어느 것을 감소된 전경 V[k] 벡터들 (55 k ) 을 재구성하기 위해 사용할 지를 나타내는 데이터를 더 포함할 수도 있고, v-벡터 재구성 유닛 (74) 은 감소된 전경 V[k] 벡터들 (55 k ) 을 재구성하기 위해 이러한 데이터에 의해 표시되는 코드 벡터들의 서브셋트를 사용할 수도 있다. 일부 예들에서, 복수의 코드 벡터들 중 어느 것을 감소된 전경 V[k] 벡터들 (55 k ) 을 재구성하기 위해 사용할 지를 나타내는 데이터는 인덱스들 (57) 에 대응할 수도 있다.
일부 예들에서, v-벡터 재구성 유닛 (74) 은 복수의 HOA 계수들의 분해된 버전에 포함되는 벡터를 표현하는 복수의 가중 값들을 나타내는 데이터를 비트스트림으로부터 획득할 수도 있고, 그 가중 값들 및 코드 벡터들에 기초하여 벡터를 재구성할 수도 있다. 가중 값들의 각각은 벡터를 표현하는 코드 벡터들의 가중된 합에서 복수의 가중치들 중 각각의 가중치에 대응할 수도 있다.
일부 예들에서, 벡터를 재구성하기 위해, v-벡터 재구성 유닛 (74) 은 코드 벡터들의 가중된 합을 결정할 수도 있고, 여기서, 코드 벡터들은 가중 값들에 의해 가중된다. 추가적인 예들에서, 벡터를 재구성하기 위해, v-벡터 재구성 유닛 (74) 은, 가중 값들의 각각에 대해, 복수의 가중된 코드 벡터들에 포함된 각각의 가중된 코드 벡터를 발생시키기 위해 코드 벡터들의 각각의 코드 벡터에 의해 가중 값들을 곱하고, 벡터를 결정하기 위해 그 복수의 가중된 코드 벡터들을 합산할 수도 있다.
일부 예들에서, v-벡터 재구성 유닛 (74) 은, 복수의 코드 벡터들 중 어느 것을 벡터를 재구성하기 위해 사용할 지를 나타내는 데이터를 비트스트림으로부터 획득하고, 가중 값들 (예컨대, CodebkIdx 및 WeightIdx 신택스 엘리먼트들에 기초하여 WeightValCdbk 로부터 도출된 WeightVal 엘리먼트), 코드 벡터들, 및 (예를 들어, NumVecIndices 와 함께 추가하여 VVecIdx 신택스 엘리먼트에 의해 식별되는 바와 같이) 복수의 코드 벡터들 중 어느 것을 벡터를 재구성하기 위해 사용할 지를 나타내는 데이터에 기초하여 벡터를 재구성할 수도 있다. 이러한 예들에서, 벡터를 재구성하기 위해, v-벡터 재구성 유닛 (74) 은, 일부 예들에서, 복수의 코드 벡터들 중 어느 것을 벡터를 재구성하기 위해 사용할 지를 나타내는 데이터에 기초하여 코드 벡터들의 서브셋트를 선택하고, 그 가중 값들 및 코드 벡터들의 선택된 서브셋트에 기초하여 벡터를 재구성할 수도 있다.
이러한 예들에서, 가중 값들 및 코드 벡터들의 선택된 서브셋트에 기초하여 벡터를 재구성하기 위해, v-벡터 재구성 유닛 (74) 은, 가중 값들의 각각에 대해, 코드 벡터들의 서브셋트에서의 코드 벡터들의 각각의 코드 벡터에 의해 가중 값들을 곱하여 각각의 가중된 코드 벡터를 발생시키고, 복수의 가중된 코드 벡터들을 합산하여 벡터를 결정할 수도 있다.
음향심리 디코딩 유닛 (80) 은, 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 nFG 신호들 (61) 을 디코딩하기 위해 도 4a 의 예에서 도시된 음향심리 오디오 코딩 유닛 (40) 에 상호 역의 방식으로 동작할 수도 있고, 이에 의해, 에너지 보상된 환경 HOA 계수들 (47') 및 보간된 nFG 신호들 (49') (이는 또한 보간된 nFG 오디오 오브젝트들 (49') 로서 지칭될 수도 있다) 을 발생시킬 수도 있다. 서로 별개인 것으로서 도시되지만, 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 nFG 신호들 (61) 은 서로 별개가 아닐 수도 있고, 대신에, 도 4b 를 참조하여 아래에서 설명되는 바와 같이, 인코딩된 채널들로서 명시될 수도 있다. 음향심리 디코딩 유닛 (80) 은, 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 nFG 신호들 (61) 이 인코딩된 채널들로서 함께 명시될 때, 인코딩된 채널들을 디코딩하여 디코딩된 채널들을 획득할 수도 있고, 그 다음, 에너지 보상된 환경 HOA 계수들 (47') 및 보간된 nFG 신호들 (49') 을 획득하기 위해 디코딩된 채널들에 대해 채널 재할당의 형태를 수행할 수도 있다.
달리 말하면, 음향심리 디코딩 유닛 (80) 은, 프레임
Figure 112016122900612-pct00104
로서 표시될 수도 있는 모든 우세한 사운드 신호들의 보간된 nFG 신호들 (49'), 프레임
Figure 112016122900612-pct00105
로서 표시될 수도 있는 환경 HOA 컴포넌트의 중간 표현을 나타내는 에너지 보상된 환경 HOA 계수들 (47') 을 획득할 수도 있다. 음향심리 디코딩 유닛 (80) 은, 각각의 전송 채널에 대해, 환경 HOA 컴포넌트의 가능하게는 포함된 계수 시퀀스의 인덱스를 명시하는 할당 벡터를 포함할 수도 있는, 비트스트림 (21 또는 29) 에서 명시된 신택스 엘리먼트들 및 활성 V 벡터들의 셋트를 나타내는 다른 신택스 엘리먼트들에 기초하여 이 채널 재할당을 수행할 수도 있다. 어느 경우에도, 음향심리 디코딩 유닛 (80) 은 에너지 보상된 환경 HOA 계수들 (47') 을 HOA 계수 포뮬레이션 유닛 (82) 에 그리고 nFG 신호들 (49') 을 재정렬기 (84) 에 패스할 수도 있다.
달리 말하면, 음향심리 디코딩 유닛 (80) 은, 프레임
Figure 112016122900612-pct00106
로서 표시될 수도 있는 모든 우세한 사운드 신호들의 보간된 nFG 신호들 (49'), 프레임
Figure 112016122900612-pct00107
로서 표시될 수도 있는 환경 HOA 컴포넌트의 중간 표현을 나타내는 에너지 보상된 환경 HOA 계수들 (47') 을 획득할 수도 있다. 음향심리 디코딩 유닛 (80) 은, 각각의 전송 채널에 대해, 환경 HOA 컴포넌트의 가능하게는 포함된 계수 시퀀스의 인덱스를 명시하는 할당 벡터를 포함할 수도 있는, 비트스트림 (21 또는 29) 에서 명시된 신택스 엘리먼트들 및 활성 V 벡터들의 셋트를 나타내는 다른 신택스 엘리먼트들에 기초하여 이 채널 재할당을 수행할 수도 있다. 어느 경우에도, 음향심리 디코딩 유닛 (80) 은 에너지 보상된 환경 HOA 계수들 (47') 을 HOA 계수 포뮬레이션 유닛 (82) 에 그리고 nFG 신호들 (49') 을 재정렬기 (84) 에 패스할 수도 있다.
전술한 바를 다시 말하면, HOA 계수들은 상술한 방식으로 벡터-기반 신호들로부터 재포뮬레이션될 수도 있다. 스칼라 역양자화는
Figure 112021073800500-pct00108
를 발생시키기 위해 각각의 V-벡터에 대해 스칼라 역양자화가 먼저 수행될 수도 있고, 여기서, 현재 프레임의 i번째 개별 벡터들은
Figure 112021073800500-pct00109
로서 표시될 수도 있다. V-벡터들은, 상술한 바와 같이, (특이 값 분해, 주 성분 분석, 카루넨-루베 변환, 호텔링 변환, 적절한 직교 분해, 또는 고유값 분해와 같은) 선형 가역 변환을 이용하여 HOA 계수들로부터 분해되었을 수도 있다. 분해는 또한, 특이 값 분해의 경우에, S[k] 및 U[k] 벡터들을 출력하고, 이는 결합되어 US[k] 를 형성할 수도 있다. US[k] 매트릭스에서의 개별 벡터 엘리먼트들은
Figure 112021073800500-pct00110
로서 표시될 수도 있다.
공간-시간적 보간은
Figure 112016122900612-pct00111
Figure 112016122900612-pct00112
(이는
Figure 112016122900612-pct00113
로서 표시된
Figure 112016122900612-pct00114
의 개별 벡터들을 갖는 이전 프레임으로부터의 V-벡터들을 표시한다) 에 대해 수행될 수도 있다. 공간적 보간 방법은, 하나의 예로서,
Figure 112016122900612-pct00115
에 의해 제어된다. 보간에 이어서, i 번째 보간된 V-벡터 (
Figure 112016122900612-pct00116
) 는 그 다음에 i 번째 US[k] (이는
Figure 112016122900612-pct00117
로서 표시된다) 에 의해 곱혀져서 HOA 표현의 i 번째 열 (
Figure 112016122900612-pct00118
) 을 출력한다. 열 벡터들은 그 다음, 벡터-기반 시그널들의 HOA 표현을 포뮬레이션하기 위해 합산될 수도 있다. 이러한 방식으로, HOA 계수들의 분해된 보간된 표현은, 이하 더 자세히 설명되는 바와 같이,
Figure 112016122900612-pct00119
Figure 112016122900612-pct00120
에 대해 보간을 수행함으로써 프레임에 대해 획득된다.
도 4b 는 오디오 디코딩 디바이스 (24) 의 다른 예를 보다 자세히 나타내는 블록도이다. 오디오 디코딩 디바이스 (24) 의 도 4b 에 나타낸 예는 오디오 디코딩 디바이스 (24') 로서 표시된다. 오디오 디코딩 디바이스 (24') 는, 오디오 디코딩 디바이스 (24') 의 음향심리 디코딩 유닛 (902) 이 상술한 채널 재할당을 수행하지 않는 점을 제외하고는, 도 4a 의 예에서 나타낸 오디오 디코딩 디바이스 (24) 와 실질적으로 유사하다. 대신에, 오디오 디코딩 디바이스 (24') 는 상술한 채널 재할당을 수행하는 별도의 채널 재할당 유닛 (904) 을 포함한다. 도 4b 의 예에서, 음향심리 디코딩 유닛 (902) 은 인코딩된 채널들 (900) 을 수신하고, 디코딩된 채널들 (901) 을 획득하기 위해 인코딩된 채널들 (900) 에 대해 음향심리 디코딩을 수행한다. 음향심리 디코딩 유닛 (902) 은 디코딩된 채널들 (901) 을 채널 재할당 유닛 (904) 에 출력할 수도 있다. 채널 재할당 유닛 (901) 은 그 다음, 에너지 보상된 환경 HOA 계수들 (47') 및 보간된 nFG 신호들 (49') 을 획득하기 위해 디코딩된 채널 (901) 에 대해 상술한 채널 재할당을 수행할 수도 있다.
공간-시간적 보간 유닛 (76) 은 공간-시간적 보간 유닛 (50) 에 대해 위에서 설명한 방법과 유사한 방법으로 동작할 수도 있다. 공간-시간적 보간 유닛 (76) 은 감소된 전경 V[k] 벡터들 (55k) 을 수신하고 전경 V[k] 벡터들 (55k) 및 감소된 전경 V[k-1] 벡터들 (55k-1) 에 대해 시공간적 보간을 수행하여 보간된 전경 V[k] 벡터들 (55k'') 을 발생시킬 수도 있다. 공간-시간적 보간 유닛 (76) 은 보간된 전경 V[k] 벡터들 (55k'') 을 페이드 유닛 (770) 으로 포워딩할 수도 있다.
추출 유닛 (72) 은 또한 환경 HOA 계수들 중 하나가 전이 중인 시점을 나타내는 신호 (757) 를 페이드 유닛 (770) 으로 출력할 수도 있으며, 그 페이드 유닛은 그후 SHCBG (47') (여기서, SHCBG (47') 는 또한 "환경 HOA 채널들 (47')" 또는 "환경 HOA 계수들 (47')" 로서 표시될 수도 있다) 및 보간된 전경 V[k] 벡터들 (55k'') 의 엘리먼트들 중 어느 것이 페이드-인되거나 또는 페이드-아웃되는지를 결정할 수도 있다. 일부 예들에서, 페이드 유닛 (770) 은 환경 HOA 계수들 (47') 및 보간된 전경 V[k] 벡터들 (55k'') 의 엘리먼트들의 각각에 대해 반대로 동작할 수도 있다. 즉, 페이드 유닛 (770) 은 환경 HOA 계수들 (47') 의 대응하는 하나에 대해 페이드-인 또는 페이드-아웃, 또는 페이드-인 또는 페이드-아웃 양쪽을 수행할 수도 있지만, 보간된 전경 V[k] 벡터들 (55k'') 의 엘리먼트들의 대응하는 하나에 대해 페이드-인 또는 페이드-아웃 또는 페이드-인 및 페이드-아웃 양쪽을 수행할 수도 있다. 페이드 유닛 (770) 은 조정된 환경 HOA 계수들 (47'') 을 HOA 계수 포뮬레이션 유닛 (82) 으로, 그리고, 조정된 전경 V[k] 벡터들 (55k''') 을 전경 포뮬레이션 유닛 (78) 으로 출력할 수도 있다. 이 점에서, 페이드 유닛 (770) 은 예컨대, 환경 HOA 계수들 (47') 및 보간된 전경 V[k] 벡터들 (55k'') 의 엘리먼트들의 유형인, HOA 계수들 또는 그의 유도체들의 여러 양태들에 대해 페이드 동작을 수행하도록 구성된 유닛을 나타낸다.
전경 포뮬레이션 유닛 (78) 은 전경 HOA 계수들 (65) 을 발생시키기 위해 조정된 전경 V[k] 벡터들 (55k''') 및 보간된 nFG 신호들 (49') 에 대해 매트릭스 곱셈을 수행하도록 구성된 유닛을 나타낼 수도 있다. 이 점에서, 전경 포뮬레이션 유닛 (78) 은 (보간된 nFG 신호들 (49') 을 표시하는 다른 방식인) 오디오 오브젝트들 (49') 을 벡터들 (55k''') 과 결합하여, HOA 계수들 (11') 의 전경 또는, 즉, 지배적인 양태들을 복원할 수도 있다. 전경 포뮬레이션 유닛 (78) 은 조정된 전경 V[k] 벡터들 (55k''') 에 의한 보간된 nFG 신호들 (49') 의 매트릭스 곱셈을 수행할 수도 있다.
HOA 계수 포뮬레이션 유닛 (82) 은 HOA 계수들 (11') 을 획득하기 위해 전경 HOA 계수들 (65) 을 조정된 환경 HOA 계수들 (47'') 에 결합하도록 구성된 유닛을 나타낼 수도 있다. 프라임 표기는 HOA 계수들 (11') 이 HOA 계수들 (11) 과 유사하지만 동일하지 않을 수도 있다는 것을 반영한다. HOA 계수들 (11 및 11') 사이의 차이들은 손실되는 전송 매체, 양자화 또는 다른 손실되는 동작들을 통한 송신으로 인해 손실을 초래할 수도 있다.
도 5 는 본 개시물에서 설명되는 벡터-기반 합성 기법들의 여러 양태들을 수행할 때에, 도 3 의 예에 나타낸 오디오 인코딩 디바이스 (20) 와 같은, 오디오 인코딩 디바이스의 예시적인 동작을 예시하는 플로우차트이다. 먼저, 오디오 인코딩 디바이스 (20) 는 HOA 계수들 (11) 을 수신한다 (106). 오디오 인코딩 디바이스 (20) 는 LIT 유닛 (30) 을 호출할 수도 있으며, 그 LIT 유닛은 HOA 계수들에 대해 LIT 를 적용하여 변환된 HOA 계수들을 출력할 수도 있다 (예컨대, SVD 의 경우, 변환된 HOA 계수들은 US[k] 벡터들 (33) 및 V[k] 벡터들 (35) 을 포함할 수도 있다) (107).
오디오 인코딩 디바이스 (20) 는 다음으로, US[k] 벡터들 (33), US[k-1] 벡터들 (33), V[k] 및/또는 V[k-1] 벡터들 (35) 의 임의의 조합에 대해 상기 설명된 분석을 수행하여 여러 파라미터들을 위에서 설명된 방법으로 식별하기 위해 파라미터 산출 유닛 (32) 을 호출할 수도 있다. 즉, 파라미터 산출 유닛 (32) 은 변환된 HOA 계수들 (33/35) 의 분석에 기초하여 적어도 하나의 파라미터를 결정할 수도 있다 (108).
오디오 인코딩 디바이스 (20) 는 그후 재정렬 유닛 (34) 을 호출할 수도 있으며, 그 재정렬 유닛은 위에서 설명한 바와 같이, 파라미터에 기초하여 (또한, SVD 의 상황에서, US[k] 벡터들 (33) 및 V[k] 벡터들 (35) 을 지칭할 수도 있는) 변환된 HOA 계수들을 재정리하여, 재정리된 변환된 HOA 계수들 (33'/35') (또는, 즉, US[k] 벡터들 (33') 및 V[k] 벡터들 (35')) 을 발생시킬 수도 있다 (109). 오디오 인코딩 디바이스 (20) 는 전술한 동작들 또는 후속 동작들 중 임의의 동작 동안, 음장 분석 유닛 (44) 을 또한 호출할 수도 있다. 음장 분석 유닛 (44) 은 위에서 설명한 바와 같이, HOA 계수들 (11) 및/또는 변환된 HOA 계수들 (33/35) 에 대해서 음장 분석을 수행하여, (도 3 의 예에서 배경 채널 정보 (43) 로서 일괄하여 표시될 수도 있는) 전송할 전경 채널들의 총 개수 (nFG) (45), 배경 음장의 차수 (NBG) 및 추가적인 BG HOA 채널들의 개수 (nBGa) 및 인덱스들 (i) 를 결정할 수도 있다 (109).
오디오 인코딩 디바이스 (20) 는 또한 배경 선택 유닛 (48) 을 호출할 수도 있다. 배경 선택 유닛 (48) 은 배경 채널 정보 (43) 에 기초하여 배경 또는 환경 HOA 계수들 (47) 을 결정할 수도 있다 (110). 오디오 인코딩 디바이스 (20) 는 전경 선택 유닛 (36) 을 추가로 호출할 수도 있으며, 이 전경 선택 유닛은 음장의 전경 또는 특유한 구성요소들을 나타내는 재정리된 US[k] 벡터들 (33') 및 재정리된 V[k] 벡터들 (35') 을 (전경 벡터들을 식별하는 하나 이상의 인덱스들을 나타낼 수도 있는) nFG (45) 에 기초하여 선택할 수도 있다 (112).
오디오 인코딩 디바이스 (20) 는 에너지 보상 유닛 (38) 을 호출할 수도 있다. 에너지 보상 유닛 (38) 은 환경 HOA 계수들 (47) 에 대해 에너지 보상을 수행하여, 배경 선택 유닛 (48) 에 의한 HOA 계수들의 여러 HOA 계수들의 제거로 인한 에너지 손실을 보상하고 (114), 이에 따라서 에너지 보상된 환경 HOA 계수들 (47') 을 발생시킬 수도 있다.
오디오 인코딩 디바이스 (20) 는 또한 공간-시간적 보간 유닛 (50) 을 호출할 수도 있다. 공간-시간적 보간 유닛 (50) 은 재정리된 변환된 HOA 계수들 (33'/35') 에 대해 시공간적 보간을 수행하여 ("보간된 nFG 신호들 (49')" 로서 또한 지칭될 수도 있는) 보간된 전경 신호들 (49') 및 ("V[k] 벡터들 (53)" 로서 또한 지칭될 수도 있는) 나머지 전경 방향 정보 (53) 를 획득할 수도 있다 (116). 오디오 인코딩 디바이스 (20) 는 그후 계수 감축 유닛 (46) 을 호출할 수도 있다. 계수 감축 유닛 (46) 은 배경 채널 정보 (43) 에 기초하여 나머지 전경 V[k] 벡터들 (53) 에 대해 계수 감소를 수행하여, (감소된 전경 V[k] 벡터들 (55) 로서 또한 지칭될 수도 있는) 감소된 전경 방향 정보 (55) 를 획득할 수도 있다 (118).
오디오 인코딩 디바이스 (20) 는 그 후 V-벡터 코딩 유닛 (52) 을 호출하여, 위에서 설명된 방법으로, 감소된 전경 V[k] 벡터들 (55) 을 압축하여, 코딩된 전경 V[k] 벡터들 (57) 을 발생시킬 수도 있다 (120).
오디오 인코딩 디바이스 (20) 는 또한 음향심리 오디오 코더 유닛 (40) 을 호출할 수도 있다. 음향심리 오디오 코더 유닛 (40) 은 보간된 nFG 신호들 (49') 및 에너지 보상된 환경 HOA 계수들 (47') 의 각각의 벡터를 음향심리 코딩하여, 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 nFG 신호들 (61) 을 발생시킬 수도 있다. 오디오 인코딩 디바이스는 그후 비트스트림 생성 유닛 (42) 을 호출할 수도 있다. 비트스트림 생성 유닛 (42) 은 코딩된 전경 방향 정보 (57), 코딩된 환경 HOA 계수들 (59), 코딩된 nFG 신호들 (61) 및 배경 채널 정보 (43) 에 기초하여, 비트스트림 (21) 을 발생시킬 수도 있다.
도 6 은 본 개시물에서 설명하는 기술들의 여러 양태들을 수행할 때에, 도 4a 에 나타낸 오디오 디코딩 디바이스 (24) 와 같은, 오디오 디코딩 디바이스의 예시적인 동작을 예시하는 플로우차트이다. 먼저, 오디오 디코딩 디바이스 (24) 는 비트스트림 (21) 을 수신할 수도 있다 (130). 비트스트림을 수신하자 마자, 오디오 디코딩 디바이스 (24) 는 추출 유닛 (72) 을 호출할 수도 있다. 논의의 목적들을 위해, 벡터-기반의 복원이 수행된다는 것을 비트스트림 (21) 이 표시한다고 가정하면, 추출 유닛 (72) 은 비트스트림을 파싱하여 상기 언급된 정보를 취출하고, 그 정보를 벡터-기반 재구성 유닛 (92) 으로 전달할 수도 있다.
다시 말해서, 추출 유닛 (72) 은 비트스트림 (21) 으로부터 위에서 설명된 방법으로 (또한, 코딩된 전경 V[k] 벡터들 (57) 로서 또한 지칭될 수도 있는) 코딩된 전경 방향 정보 (57), 코딩된 환경 HOA 계수들 (59) 및 (코딩된 전경 nFG 신호들 (59) 또는 코딩된 전경 오디오 오브젝트들 (59) 로서 또한 지칭될 수도 있는) 코딩된 전경 신호들을 취출할 수도 있다 (132).
오디오 디코딩 디바이스 (24) 는 역양자화 유닛 (74) 을 추가로 호출할 수도 있다. 역양자화 유닛 (74) 은 코딩된 전경 방향 정보 (57) 를 엔트로피 디코딩하여 역양자화하여 감소된 전경 방향 정보 (55k) 를 획득할 수도 있다 (136). 오디오 디코딩 디바이스 (24) 는 또한 음향심리 디코딩 유닛 (80) 을 호출할 수도 있다. 음향심리 오디오 디코딩 유닛 (80) 은 인코딩된 환경 HOA 계수들 (59) 및 인코딩된 전경 신호들 (61) 을 디코딩하여, 에너지 보상된 환경 HOA 계수들 (47') 및 보간된 전경 신호들 (49') 을 획득할 수도 있다 (138). 음향심리 디코딩 유닛 (80) 은 에너지 보상된 환경 HOA 계수들 (47') 을 페이드 유닛 (770) 으로, 그리고 nFG 신호들 (49') 을 전경 포뮬레이션 유닛 (78) 으로 전달할 수도 있다.
오디오 디코딩 디바이스 (24) 는 다음으로 공간-시간적 보간 유닛 (76) 을 호출할 수도 있다. 공간-시간적 보간 유닛 (76) 은 재정리된 전경 방향 정보 (55k') 를 수신하고 감소된 전경 방향 정보 (55k/55k-1) 에 대해 시공간적 보간을 수행하여, 보간된 전경 방향 정보 (55k'') 을 발생시킬 수도 있다 (140). 공간-시간적 보간 유닛 (76) 은 보간된 전경 V[k] 벡터들 (55k'') 을 페이드 유닛 (770) 으로 포워딩할 수도 있다.
오디오 디코딩 디바이스 (24) 는 페이드 유닛 (770) 을 호출할 수도 있다. 페이드 유닛 (770) 은 에너지 보상된 환경 HOA 계수들 (47') 이 전이 중인 시점을 나타내는 (예컨대, 추출 유닛 (72) 으로부터의) 신택스 엘리먼트들 (예컨대, AmbCoeffTransition 신택스 엘리먼트) 을 수신하거나 또는 아니면 획득할 수도 있다. 페이드 유닛 (770) 은, 전이 신택스 엘리먼트들 및 유지된 전이 상태 정보에 기초하여, 에너지 보상된 환경 HOA 계수들 (47') 을 페이드-인 또는 페이드-아웃하여, 조정된 환경 HOA 계수들 (47'') 을 HOA 계수 포뮬레이션 유닛 (82) 으로 출력할 수도 있다. 페이드 유닛 (770) 은 또한, 신택스 엘리먼트들 및 유지된 전이 상태 정보에 기초하여, 보간된 전경 V[k] 벡터들 (55k'') 의 대응하는 하나 이상의 엘리먼트들을 페이드-아웃 또는 페이드-인하여, 조정된 전경 V[k] 벡터들 (55k''') 을 전경 포뮬레이션 유닛 (78) 으로 출력할 수도 있다 (142).
오디오 디코딩 디바이스 (24) 는 전경 포뮬레이션 유닛 (78) 을 호출할 수도 있다. 전경 포뮬레이션 유닛 (78) 은 조정된 전경 방향 정보 (55k''') 에 의한 nFG 신호들 (49') 의 매트릭스 곱셈을 수행하여, 전경 HOA 계수들 (65) 을 획득할 수도 있다 (144). 오디오 디코딩 디바이스 (24) 는 또한 HOA 계수 포뮬레이션 유닛 (82) 을 호출할 수도 있다. HOA 계수 포뮬레이션 유닛 (82) 은 HOA 계수들 (11') 을 획득하기 위해 전경 HOA 계수들 (65) 을 조정된 환경 HOA 계수들 (47'') 에 가산할 수도 있다 (146).
도 7 은 도 3a 의 오디오 인코딩 디바이스 (20) 에서 사용될 수도 있는 예시적인 v-벡터 코딩 유닛 (52) 을 보다 자세하게 나타내는 블록도이다. v-벡터 코딩 유닛 (52) 은 분해 유닛 (502) 및 양자화 유닛 (504) 을 포함한다. 분해 유닛 (52) 은 코드 벡터들 (63) 에 기초하여 감소된 전경 V[k] 벡터들 (55) 의 각각을 코드 벡터들의 가중된 합으로 분해할 수도 있다. 분해 유닛 (502) 은 가중치들 (506) 을 생성하고 그 가중치들 (506) 을 양자화 유닛 (504) 에 제공할 수도 있다. 양자화 유닛 (504) 은 가중치들 (506) 을 양자화하여 코딩된 가중치들 (57) 을 발생시킬 수도 있다.
도 8 은 도 3a 의 오디오 인코딩 디바이스 (20) 에서 사용될 수도 있는 예시적인 v-벡터 코딩 유닛 (52) 을 보다 자세하게 나타내는 블록도이다. v-벡터 코딩 유닛 (52) 은 분해 유닛 (502), 가중치 선택 유닛 (510), 및 양자화 유닛 (504) 을 포함한다. 분해 유닛 (52) 은 코드 벡터들 (63) 에 기초하여 감소된 전경 V[k] 벡터들 (55) 의 각각을 코드 벡터들의 가중된 합으로 분해할 수도 있다. 분해 유닛 (502) 은 가중치들 (514) 을 생성하고 그 가중치들 (514) 을 가중치 선택 유닛 (510) 에 제공할 수도 있다. 가중치 선택 유닛 (510) 은 가중치들 (514) 의 서브셋트를 선택하여 선택된 가중치들의 서브셋트 (516) 를 발생시키며, 그 선택된 가중치들의 서브셋트 (516) 를 양자화 유닛 (504) 에 제공할 수도 있다. 양자화 유닛 (504) 은 선택된 가중치들의 서브셋트 (516) 를 양자화하여 코딩된 가중치들 (57) 을 발생시킬 수도 있다.
도 9 는 v-벡터로부터 생성된 음장을 나타내는 개념도이다. 도 10 은 도 9 에 대해 상기 설명된 v-벡터의 25차 모델로부터 생성된 음장을 나타내는 개념도이다. 도 11 은 도 10 에 도시된 25차 모델에 대한 각 차수의 가중을 나타내는 개념도이다. 도 12 는 도 9 에 대해 상기 설명된 v-벡터의 5차 모델을 나타내는 개념도이다. 도 13 은 도 12 에 도시된 5차 모델에 대한 각 차수의 가중을 나타내는 개념도이다.
도 14 는 특이 값 분해를 수행하기 위해 사용되는 예시적인 매트릭스들의 예시적인 치수들을 예시하는 개념도이다. 도 14 에서 도시된 바와 같이, U FG 매트릭스는 U 매트릭스에 포함되고, S FG 매트릭스는 S 매트릭스에 포함되며, V FG T V T 에 포함된다.
도 14 의 예시적인 매트릭스들에서, U FG 매트릭스는 1280×2 치수들을 가지고, 여기서, 1280 은 샘플들의 수에 대응하고, 2 는 전경 코딩을 위해 선택된 전경 벡터들의 수에 대응한다. U 매트릭스는 1280×25 치수들을 가지고, 여기서, 1280 은 샘플들의 수에 대응하고, 25 는 HOA 오디오 신호에서의 채널들의 수에 대응한다. 채널들의 수는 (N+1)2 와 동일할 수도 있고, 여기서, N 은 HOA 오디오 신호의 차수와 동일하다.
S FG 매트릭스는 2×2 치수들을 가지고, 여기서, 각각의 2 는 전경 코딩을 위해 선택된 전경 벡터들의 수에 대응한다. S 매트릭스는 25×25 치수들을 가지고, 여기서, 각각의 25 는 HOA 오디오 신호에서의 채널들의 수에 대응한다.
V FG T 매트릭스는 25×2 치수들을 가지고, 여기서, 25 는 HOA 오디오 신호에서의 채널들의 수에 대응하고, 2 는 전경 코딩을 위해 선택된 전경 벡터들의 수에 대응한다. V T 매트릭스는 25×25 의 치수들을 가지고, 여기서, 각각의 25 는 HOA 오디오 신호에서의 채널들의 수에 대응한다.
도 14 에서 도시된 바와 같이, U FG 매트릭스, S FG 매트릭스, 및 V FG T 매트릭스는 함께 곱해져서 H FG 매트릭스를 발생시킬 수도 있다. H FG 매트릭스는 1280×25 의 치수들을 가지고, 여기서, 1280 은 샘플들의 수에 대응하고, 25 는 HOA 오디오 신호에서의 채널들의 수에 대응한다.
도 15 는 본 개시물의 v-벡터 코딩 기법들을 이용하여 획득될 수도 있는 예시적인 성능 향상들을 예시하는 차트이다. 각각의 행은 테스트 항목을 나타내고, 열들은, 좌측에서부터 우측으로, 테스트 항목 넘버, 테스트 항목 명칭, 테스트 항목과 연관된 프레임 당 비트들, 이 개시물의 예시적인 v-벡터 코딩 기술들 중 하나 이상을 이용하는 비트-레이트, 및 다른 v-벡터 코딩 기법들 (예컨대, v-벡터를 분해함이 없이 v-벡터 컴포넌트들을 스칼라 양자화하는 것) 을 이용하여 획득되는 비트-레이트를 나타낸다. 도 15 에서 도시된 바와 같이, 이 개시물의 기술들은, 일부 예들에서, v-벡터들을 가중치들로 분해하고/하거나 양자화하기 위해 가중치들의 서브셋트를 선택하지 않는 다른 기법들에 비해 비트-레이트에서 상당한 향상들을 제공한다.
일부 예들에서, 이 개시물의 기술들은 방향 벡터들의 셋트에 기초하여 V-벡터 양자화를 수행할 수도 있다. V-벡터는 방향 벡터들의 가중된 합에 의해 표현될 수도 있다. 일부 예들에서, 서로 정규직교하는 방향 벡터들의 주어진 셋트에 대해, v-벡터 코딩 유닛 (52) 은 각 방향 벡터에 대한 가중 값을 계산할 수도 있다. v-벡터 코딩 유닛 (52) 은 N-최대치들 가중 값들 {w_i}, 및 대응하는 방향 벡터들 {o_i} 을 선택할 수도 있다. v-벡터 코딩 유닛 (52) 은 선택된 가중 값들 및/또는 방향 벡터들에 대응하는 인덱스들 {i} 을 디코더에 송신할 수도 있다. 일부 예들에서, 최대치들을 계산할 때, v-벡터 코딩 유닛 (52) 은 (부호 정보를 무시함으로써) 절대 값들을 이용할 수도 있다. v-벡터 코딩 유닛 (52) 은 N-최대치들 가중 값들, {w_i} 을 양자화하여, 양자화된 가중 값들 {w^_i} 을 발생시킬 수도 있다. v-벡터 코딩 유닛 (52) 은 {w^_i} 에 대한 양자화 인덱스들을 디코더에 송신할 수도 있다. 디코더에서, 양자화된 V-벡터는 sum_i (w^_i * o_i) 로서 합성될 수도 있다.
일부 예들에서, 이 개시물의 기술들은 성능에서의 상당한 향상을 제공할 수도 있다. 예를 들어, 스칼라 양자화에 이어서 허프만 코딩을 이용하는 것에 비해, 대략적으로 85% 의 비트-레이트 감축이 획득될 수도 있다. 예를 들어, 허프만 코딩이 뒤따르는 스칼라 양자화는, 일부 예들에서, 16.26kbps (킬로 비트들-퍼-세컨드) 의 비트-레이트를 필요로 할 수도 있는 한편, 이 개시물의 기술들은, 일부 예들에서, 2.75kbps 에서의 코딩이 가능할 수도 있다.
코드북으로부터의 X 코드 벡터들 (및 X 대응하는 가중치들) 이 v-벡터를 코딩하기 위해 사용되는 예를 고려하자. 일부 예들에서, 비트스트림 생성 유닛 (42) 은, v-벡터가 3 가지 카테고리들의 파라미터들: (1) 코드 벡터들의 코드북 (예컨대, 정규화된 방향 벡터들의 코드북) 에서 특정 벡터를 각각 가리키는 X 넘버의 인덱스들; (2) 상기 인덱스들과 함께 하는 대응하는 (X) 넘버의 가중치들; 및 상기 (X) 넘버의 가중치들의 각각에 대한 부호 비트에 의해 표현되도록, 비트스트림 (21) 을 생성할 수도 있다. 일부 경우들에서, X 넘버의 가중치들은 또 다른 벡터 양자화 (VQ) 를 이용하여 추가로 양자화될 수도 있다.
이 예에서 가중치들을 결정하기 위해 사용되는 분해 코드북은 후보 코드북들의 셋트로부터 선택될 수도 있다. 예를 들어, 코드북은 8 개의 상이한 코드북들 중의 하나일 수도 있다. 이들 코드북들의 각각은 상이한 길이들을 가질 수도 있다. 그래서, 예를 들어, 사이즈 49 의 코드북이 6차 HOA 콘텐츠에 대해 가중치들을 결정하기 위해 사용될 수도 있을 뿐만 아니라, 이 개시물의 기술들은 8 개의 상이한 사이즈의 코드북들 중 임의의 하나를 사용하는 옵션을 제공할 수도 있다.
가중치들의 VQ 를 위해 사용되는 양자화 코드북은, 일부 예들에서, 또한 가중치들을 결정하기 위해 사용되는 가능한 분해 코드북의 수와 동일한 대응하는 수의 가능한 코드북들을 가질 수도 있다. 따라서, 일부 예들에서, 가중치들을 결정하기 위한 가변 수의 상이한 코드북들 및 가중치들을 결정하기 위한 가변 수의 코드북들이 존재할 수도 있다.
일부 예들에서, v-벡터를 추정하기 위해 사용되는 가중치들의 수 (즉, 양자화를 위해 선택되는 가중치들의 수) 는 가변적일 수도 있다. 예를 들어, 임계 에러 기준이 설정될 수도 있고, 양자화를 위해 선택된 가중치들의 수 (X) 는 에러 임계치에 도달하는 것에 의존할 수도 있고, 여기서, 에러 임계치는 식 (10) 에서 상기 정의되었다.
일부 예들에서, 상술한 개념들 중 하나 이상은 비트스트림에서 시그널링될 수도 있다. v-벡터들을 코딩하기 위해 사용되는 가중치들의 최대 수가 128 로 설정되고, 그 가중치들을 양자화하기 위해 8 개의 상이한 양자화 코드북들이 사용되는 예를 고려하자. 이러한 예에서, 비트스트림 생성 유닛 (42) 은, 비트스트림 (21) 에서의 액세스 프레임 유닛이 프레임 별로 사용될 수 있는 인덱스들의 최대 넘버를 나타내도록 비트스트림 (21) 을 생성할 수도 있다. 이 예에서, 인덱스들의 최대 넘버는 0-128 로부터의 넘버이고, 그래서, 상기 언급된 데이터는 액세스 프레임 유닛에서 7 비트들을 소비할 수도 있다.
상술한 예에서, 프레임 별로, 비트스트림 생성 유닛 (42) 은: (1) 8 개의 상이한 코드북들 중 어느 것이 (매 v-벡터에 대해) VQ 를 행하기 위해 사용되었는지; 및 (2) 각 v-벡터를 코딩하기 위해 사용된 인덱스들의 실제 넘버 (X) 를 나타내는 데이터를 포함하도록 비트스트림 (21) 을 생성할 수도 있다. 8 개의 상이한 코드북들 중 어느 것이 VQ 를 행하기 위해 사용되었는지를 나타내는 데이터는 이 예에서 3 비트들을 소비할 수도 있고, 각 v-벡터를 코딩하기 위해 사용된 인덱스들의 실제 넘버 (X) 를 나타내는 데이터는 액세스 프레임 유닛에서 명시된 인덱스들의 최대 넘버에 의해 주어질 수도 있다. 이것은 이 예에서 0 비트들에서부터 7 비트들까지 변화할 수도 있다.
일부 예들에서, 비트스트림 생성 유닛 (42) 은: (1) (계산된 가중 값들에 따라) 어느 방향 벡터들이 선택되고 송신되는지를 나타내는 인덱스들; 및 (2) 각각의 선택된 방향 벡터에 대한 가중 값(들)을 포함하도록 비트스트림 (21) 을 생성할 수도 있다. 일부 예들에서, 이 개시물은 정규화된 구면 조화 코드 벡터들의 코드북 상에서 분해를 이용하여 V-벡터들의 양자화를 위한 기술들을 제공할 수도 있다.
도 17 은 도 7 및 도 8 의 어느 일방 또는 양방의 예에서 나타낸 V-벡터 코딩 유닛 (52) 에 의해 사용될 수도 있는 공간 도메인에서 표현되는 16 개의 상이한 코드 벡터들 (63A-63P) 을 나타내는 다이어그램이다. 코드 벡터들 (63A-63P) 은 상기 논의된 코드 벡터들 (63) 중 하나 이상을 표현할 수도 있다.
도 18 은 도 7 및 도 8 의 어느 일방 또는 양방의 예에서 나타낸 V-벡터 코딩 유닛 (52) 에 의해 16 개의 상이한 코드 벡터들 (63A-63P) 이 채용될 수도 있는 상이한 방식들을 나타내는 다이어그램이다. V-벡터 코딩 유닛 (52) 은, 공간 도메인에 렌더링된 후에 보이고 V-벡터 (55) 로서 표시되는, 감소된 전경 V[k] 벡터들 (55) 중 하나를 수신할 수도 있다. V-벡터 코딩 유닛 (52) 은 V-벡터 (55) 의 3 개의 상이한 코딩된 버전들을 생성하기 위해 상기 논의된 벡터 양자화를 수행할 수도 있다. V-벡터 (55) 의 3 개의 상이한 코딩된 버전들은 공간 도메인으로 렌더링된 후에 나타나고, 코딩된 V-벡터 (57A), 코딩된 V-벡터 (57B) 및 코딩된 V-벡터 (57C) 로 표시된다. V-벡터 코딩 유닛 (52) 은 V-벡터 (55) 에 대응하는 코딩된 전경 V[k] 벡터들 (57) 중 하나로서 코딩된 V-벡터들 (57A-57C) 중의 하나를 선택할 수도 있다.
V-벡터 코딩 유닛 (52) 은 도 17 의 예에서 더 자세하게 보여지는 코드 벡터들 (63A-63P) ("코드 벡터들 (63)") 에 기초하여 코딩된 V-벡터들 (57A-57C) 의 각각을 생성할 수도 있다. V-벡터 코딩 유닛 (52) 은, 그래프 (300A) 에서 나타낸 바와 같이 모두 16 개의 코드 벡터들 (63) 에 기초하여 코딩된 V-벡터 (57A) 를 생성할 수도 있고, 여기서, 모두 16 개의 인덱스들이 16 개의 가중 값들과 함께 특정된다. V-벡터 코딩 유닛 (52) 은 코드 벡터들 (63) (예컨대, 다른 인덱스들이 0 의 가중을 갖는다면 그래프 (300B) 에서 나타낸 바와 같이 인덱스들 2, 6, 및 7 과 연관되고 사각형 박스로 둘러싸인 코드 벡터들 (63)) 의 비-제로 서브셋트에 기초하여 코딩된 V-벡터 (57A) 를 생성할 수도 있다. V-벡터 코딩 유닛 (52) 은, 원래의 V-벡터 (55) 가 먼저 양자화되는 점을 제외하고는 코딩된 V-벡터 (57B) 를 생성할 때 사용되는 것과 동일한 3 개의 코드 벡터들 (63) 을 이용하여 코딩된 V-벡터 (57C) 를 생성할 수도 있다.
원래의 V-벡터 (55) 와 비교하여 코딩된 V-벡터들 (57A-57C) 의 렌더링을 검토하는 것은, 벡터 양자화가 원래의 V-벡터 (55) 의 실질적으로 유사한 표현을 제공할 수도 있는 것 (코딩된 V-벡터들 (57A-57C) 의 각각 사이의 에러가 작을 가능성이 큼을 의미) 을 보여준다. 코딩된 V-벡터들 (57A-57C) 을 서로에 대해 비교하는 것은 또한, 오직 사소한 약간의 차이들만이 존재하는 것을 보여준다. 이와 같이, 최선의 비트 감축을 제공하는 코딩된 V-벡터들 (57A-57C) 중의 하나는, V-벡터 코딩 유닛 (52) 이 선택할 수도 있는 코딩된 V-벡터들 (57A-57C) 중 하나일 가능성이 크다. 코딩된 V-벡터 (57C) 가 최소 비트 레이트를 가장 가능성 높게 제공한다면 (코딩된 V-벡터 (57C) 가 V-벡터 (55) 의 양자화된 버전을 이용하면서 또한 코드 벡터들 (63) 중 오직 3 개만을 이용한다면), V-벡터 코딩 유닛 (52) 은 V-벡터 (55) 에 대응하는 코딩된 전경 V[k] 벡터들 (57) 중 하나로서 코딩된 V-벡터 (57C) 를 선택할 수도 있다.
도 21 은 본 개시물에 따른 예시적인 벡터 양자화 유닛 (520) 을 예시하는 블록도이다. 일부 예들에서, 벡터 양자화 유닛 (520) 은 도 3a 의 오디오 인코딩 디바이스 (20) 에서의 또는 도 3b 의 오디오 인코딩 디바이스 (20) 에서의 V-벡터 코딩 유닛 (52) 의 일 예일 수도 있다. 벡터 양자화 유닛 (520) 은 분해 유닛 (522), 가중치 선택 및 정렬 유닛 (524), 및 벡터 선택 유닛 (526) 을 포함한다. 분해 유닛 (522) 은 코드 벡터들 (63) 에 기초하여 감소된 전경 V[k] 벡터들 (55) 의 각각을 코드 벡터들의 가중된 합으로 분해할 수도 있다. 분해 유닛 (522) 은 가중 값들 (528) 을 생성할 수도 있고, 가중 값들 (528) 을 가중치 선택 및 정렬 유닛 (524) 에 제공할 수도 있다.
가중치 선택 및 정렬 유닛 (524) 은 가중 값들의 선택된 서브셋트를 발생시키기 위해 가중 값들 (528) 의 서브셋트를 선택할 수도 있다. 예를 들어, 가중치 선택 및 정렬 유닛 (524) 은 가중 값들 (528) 의 셋트로부터 M 개의 최대-크기 가중 값들을 선택할 수도 있다. 가중치 선택 및 정렬 유닛 (524) 은 추가로, 가중 값들의 재정렬된 선택된 서브셋트 (530) 를 발생시키기 위해 가중 값들의 크기들에 기초하여 가중 값들의 선택된 서브셋트를 재정렬하고, 그 가중 값들의 재정렬된 선택된 서브셋트 (530) 를 벡터 선택 유닛 (526) 에 제공할 수도 있다.
벡터 선택 유닛 (526) 은 M 개의 가중 값들을 표현하기 위해 양자화 코드북 (532) 으로부터 M-컴포넌트 벡터를 선택할 수도 있다. 달리 말하면, 벡터 선택 유닛 (526) 은 M 개의 가중 값들을 벡터 양자화할 수도 있다. 일부 예들에서, M 은 단일 V-벡터를 표현하기 위해 가중치 선택 및 정렬 유닛 (524) 에 의해 선택된 가중 값들의 수에 대응할 수도 있다. 벡터 선택 유닛 (526) 은 M 개의 가중 값들을 표현하기 위해 선택된 M-컴포넌트 벡터를 나타내는 데이터를 생성하고, 이 데이터를 코딩된 가중치들 (57) 로서 비트스트림 생성 유닛 (42) 에 제공할 수도 있다. 일부 예들에서, 양자화 코드북 (532) 은 인덱싱되는 복수의 M-컴포넌트 벡터들을 포함할 수도 있고, M-컴포넌트 벡터를 나타내는 데이터는 선택된 벡터를 포인팅하는 양자화 코드북 (532) 내로의 인덱스 값일 수도 있다. 이러한 예들에서, 디코더는 그 인덱스 값을 디코딩하기 위한 유사하게 인덱싱된 양자화 코드북을 포함할 수도 있다.
도 22 는 이 개시물에서 설명된 기술들의 여러 양태들을 수행함에 있어 벡터 양자화 유닛의 예시적인 동작을 나타내는 플로우차트이다. 도 21 의 예에 대해 상기 설명된 바와 같이, 벡터 양자화 유닛 (520) 은 분해 유닛 (522), 가중치 선택 및 정렬 유닛 (524), 및 벡터 선택 유닛 (526) 을 포함한다. 분해 유닛 (522) 은 코드 벡터들 (63) 에 기초하여 감소된 전경 V[k] 벡터들 (55) 의 각각을 코드 벡터들의 가중된 합으로 분해할 수도 있다 (750). 분해 유닛 (522) 은 가중 값들 (528) 을 획득하고, 그 가중 값들 (528) 을 가중치 선택 및 정렬 유닛 (524) 에 제공할 수도 있다 (752).
가중치 선택 및 정렬 유닛 (524) 은 가중 값들의 선택된 서브셋트를 발생시키기 위해 가중 값들 (528) 의 서브셋트를 선택할 수도 있다 (754). 예를 들어, 가중치 선택 및 정렬 유닛 (524) 은 가중 값들 (528) 의 셋트로부터 M 개의 최대-크기 가중 값들을 선택할 수도 있다. 가중치 선택 및 정렬 유닛 (524) 은 추가로, 가중 값들의 재정렬된 선택된 서브셋트 (530) 를 발생시키기 위해 가중 값들의 크기들에 기초하여 가중 값들의 선택된 서브셋트를 재정렬하고, 그 가중 값들의 재정렬된 선택된 서브셋트 (530) 를 벡터 선택 유닛 (526) 에 제공할 수도 있다 (756).
벡터 선택 유닛 (526) 은 M 개의 가중 값들을 표현하기 위해 양자화 코드북 (532) 으로부터 M-컴포넌트 벡터를 선택할 수도 있다. 달리 말하면, 벡터 선택 유닛 (526) 은 M 개의 가중 값들을 벡터 양자화할 수도 있다 (758). 일부 예들에서, M 은 단일 V-벡터를 표현하기 위해 가중치 선택 및 정렬 유닛 (524) 에 의해 선택된 가중 값들의 수에 대응할 수도 있다. 벡터 선택 유닛 (526) 은 M 개의 가중 값들을 표현하기 위해 선택된 M-컴포넌트 벡터를 나타내는 데이터를 생성하고, 이 데이터를 코딩된 가중치들 (57) 로서 비트스트림 생성 유닛 (42) 에 제공할 수도 있다. 일부 예들에서, 양자화 코드북 (532) 은 인덱싱되는 복수의 M-컴포넌트 벡터들을 포함할 수도 있고, M-컴포넌트 벡터를 나타내는 데이터는 선택된 벡터를 포인팅하는 양자화 코드북 (532) 내로의 인덱스 값일 수도 있다. 이러한 예들에서, 디코더는 그 인덱스 값을 디코딩하기 위한 유사하게 인덱싱된 양자화 코드북을 포함할 수도 있다.
도 23 은 이 개시물에서 설명된 기술들의 여러 양태들을 수행함에 있어 V-벡터 재구성 유닛의 예시적인 동작을 나타내는 플로우차트들이다. 도 4a 또는 도 4b 의 V-벡터 재구성 유닛 (74) 은, 예컨대 비트스트림 (21) 으로부터 파싱된 후에 추출 유닛 (72) 으로부터, 가중 값들을 먼저 획득할 수도 있다 (760). V-벡터 재구성 유닛 (74) 은 또한, 예컨대, 상술한 방식으로 비트스트림 (21) 에서 시그널링된 인덱스를 이용하여 코드북으로부터, 코드 벡터들을 획득할 수도 있다 (762). V-벡터 재구성 유닛 (74) 은 그 다음, 상술한 방식들 중 하나 이상으로 가중 값들 및 코드 벡터들에 기초하여 감소된 전경 V[k] 벡터들 (이는 또한 V-벡터로서 지칭될 수도 있다) (55) 을 재구성할 수도 있다 (764).
도 24 는 이 개시물에서 설명된 기술들의 여러 양태들을 수행함에 있어 도 3a 또는 도 3b 의 V-벡터 코딩 유닛의 예시적인 동작을 나타내는 플로우차트이다. V-벡터 코딩 유닛 (52) 은 타겟 비트레이트 (이는 또한 임계 비트레이트로서 지칭될 수도 있다) (41) 를 획득할 수도 있다 (770). 타겟 비트레이트 (41) 가 256Kbps (또는 임의의 다른 특정된, 구성된 또는 결정된 비트레이트) 보다 더 큰 경우 ("아니오" 772), V-벡터 코딩 유닛 (52) 은 적용할 것을 결정한 다음에 V-벡터들 (55) 에 스칼라 양자화를 적용할 수도 있다 (774). 타겟 비트레이트 (41) 가 256Kbps 보다 더 적거나 동일한 경우 ("예" 772), V-벡터 코딩 유닛 (52) 은 적용할 것을 결정한 다음에 V-벡터들 (55) 에 벡터 양자화를 적용할 수도 있다 (776). V-벡터 코딩 유닛 (52) 은 또한, V-벡터들 (55) 에 대해 스칼라 또는 벡터 양자화가 수행된 것을 비트스트림 (21) 에서 시그널링할 수도 있다 (778).
도 25 는 이 개시물에서 설명된 기술들의 여러 양태들을 수행함에 있어 V-벡터 재구성 유닛의 예시적인 동작을 나타내는 플로우차트이다. 도 4a 또는 도 4b 의 V-벡터 재구성 유닛 (74) 은 V-벡터들 (55) 에 대해 스칼라 또는 벡터 양자화가 수행되었었는지 여부의 표시를 먼저 획득할 수도 있다 (780). 신택스 엘리먼트가 스칼라 양자화가 수행되지 않았었다고 표시하는 경우 ("아니오" 782), V-벡터 재구성 유닛 (74) 은 V-벡터들 (55) 을 재구성하기 위해 벡터 역양자화를 수행할 수도 있다 (784). 신택스 엘리먼트가 스칼라 양자화가 수행되었었다고 표시하는 경우 ("예" 782), V-벡터 재구성 유닛 (74) 은 V-벡터들 (55) 을 재구성하기 위해 스칼라 역양자화를 수행할 수도 있다 (786).
도 26 은 이 개시물에서 설명된 기술들의 여러 양태들을 수행함에 있어 도 3a 또는 도 3b 의 V-벡터 코딩 유닛의 예시적인 동작을 나타내는 플로우차트이다. V-벡터 코딩 유닛 (52) 은 V-벡터들 (55) 을 벡터 양자화할 때 사용할 복수의 (2 이상을 의미) 코드북들 중 하나를 선택할 수도 있다 (790). V-벡터 코딩 유닛 (52) 은 그 다음, 2 개 이상의 코드북들 중의 선택된 하나를 이용하여 V-벡터들 (55) 에 대해 상술한 방식으로 벡터 양자화를 수행할 수도 있다 (792). V-벡터 코딩 유닛 (52) 은 그 다음에, 비트스트림 (21) 에서 2 개 이상의 코드북들 중 하나가 V-벡터 (55) 를 양자화하는데 사용되었음을 표시하거나 그 외에 시그널링할 수도 있다 (794).
도 27 은 이 개시물에서 설명된 기술들의 여러 양태들을 수행함에 있어 V-벡터 재구성 유닛의 예시적인 동작을 나타내는 플로우차트이다. 도 4a 또는 도 4b 의 V-벡터 재구성 유닛 (74) 은 V-벡터들 (55) 을 벡터 양자화할 때 사용된 2 개 이상의 코드북들 중 하나의 (신택스 엘리먼트와 같은) 표시를 먼저 획득할 수도 있다 (800). V-벡터 재구성 유닛 (74) 은 그 다음, 상술한 방식으로 2 개 이상의 코드북들 중의 선택된 하나를 이용하여 V-벡터들 (55) 을 재구성하기 위해 벡터 역양자화를 수행할 수도 있다 (802).
본 기술들의 다양한 양태들은 디바이스로 하여금 다음과 같은 항들에서 전개되는 것을 가능하게 할 수도 있다:
항 1. 음장의 공간 성분에 대해 벡터 양자화를 수행할 때 사용할 복수의 코드북들을 저장하는 수단으로서, 상기 공간 성분은 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득되는, 상기 복수의 코드북들을 저장하는 수단, 및 복수의 코드북들 중 하나를 선택하는 수단을 포함하는 디바이스.
항 2. 항 1 의 디바이스는, 벡터 양자화된 공간 성분을 포함하는 신택스 엘리먼트를 비트스트림에서 명시하는 수단을 더 포함하고, 상기 신택스 엘리먼트는 공간 성분의 벡터 양자화를 수행할 때 사용된 가중 값을 갖는 복수의 코드북들 중의 선택된 하나 내로의 인덱스를 식별한다.
항 3. 항 1 의 디바이스는, 벡터 양자화된 공간 성분을 포함하는 신택스 엘리먼트를 비트스트림에서 명시하는 수단을 더 포함하고, 상기 신택스 엘리먼트는 공간 성분의 벡터 양자화를 수행할 때 사용된 코드 벡터를 갖는 벡터 딕셔너리 내로의 인덱스를 식별한다.
항 4. 항 1 의 방법에 있어서, 복수의 코드북들 중 하나를 선택하는 수단은, 벡터 양자화를 수행할 때 사용된 코드 벡터들의 수에 기초하여 복수의 코드북들 중 하나를 선택하는 수단을 포함한다.
본 기술들의 다양한 양태들은 디바이스로 하여금 다음과 같은 항들에서 전개되는 것을 가능하게 할 수도 있다:
항 5. HOA 계수들의 분해된 버전을 발생시키기 위해 복수의 고차 앰비소닉 (HOA) 계수들에 대해 분해를 수행하는 수단, 및 코드 벡터들의 셋트에 기초하여, HOA 계수들의 분해된 버전에 포함되는 벡터를 표현하는 하나 이상의 가중 값들을 결정하는 수단을 포함하는 장치로서, 상기 가중 값들의 각각은 벡터를 표현하는 코드 벡터들의 가중된 합에 포함된 복수의 가중치들 중의 각각의 가중치에 대응한다.
항 6. 항 5 의 장치는, 후보 분해 코드북들의 셋트로부터 분해 코드북을 선택하는 수단을 더 포함하고, 코드 벡터들의 셋트에 기초하여 하나 이상의 가중 값들을 결정하는 수단은, 선택된 분해 코드북에 의해 명시된 코드 벡터들의 셋트에 기초하여 가중 값들을 결정하는 수단을 포함한다.
항 7. 항 6 의 장치에 있어서, 후보 분해 코드북들의 각각은 복수의 코드 벡터들을 포함하고, 후보 분해 코드북들 중 적어도 2 개는 상이한 수의 코드 벡터들을 갖는다.
항 8. 항 5 의 장치는, 가중치들을 결정하기 위해 어느 코드 벡터들이 사용되는지를 나타내는 하나 이상의 인덱스들을 포함하도록 비트스트림을 생성하는 수단, 및 인덱스들의 각각에 대응하는 가중 값들을 더 포함하도록 비트스트림을 생성하는 수단을 더 포함한다.
전술한 기술들은 임의 개수의 상이한 상황들 및 오디오 생태계들에 대해 수행될 수도 있다. 다수의 예시적인 상황들이 아래에 설명되지만, 본 기술들은 예시적인 상황들에 한정되지 않아야 한다. 일 예시적인 오디오 생태계는 오디오 콘텐츠, 영화 스튜디오들, 음악 스튜디오들, 게이밍 오디오 스튜디오들, 채널 기반 오디오 콘텐츠, 코딩 엔진들, 게임 오디오 시스템들, 게임 오디오 코딩 / 렌더링 엔진들, 및 전달 시스템들을 포함할 수도 있다.
영화 스튜디오들, 음악 스튜디오들, 및 게이밍 오디오 스튜디오들은 오디오 콘텐츠를 수신할 수도 있다. 일부 예들에서, 오디오 콘텐츠는 획득의 출력을 나타낼 수도 있다. 영화 스튜디오들은 채널 기반 오디오 콘텐츠를 (예컨대, 2.0, 5.1, 및 7.1 에서) 예컨대, 디지털 오디오 워크스테이션 (DAW) 을 이용함으로써 출력할 수도 있다. 음악 스튜디오들은 채널 기반 오디오 콘텐츠를 (예컨대, 2.0, 및 5.1 에서) 예컨대, DAW 를 이용함으로써 출력할 수도 있다. 어느 경우에나, 코딩 엔진들은 전달 시스템들에 의한 출력을 위해 채널 기반 오디오 콘텐츠 기반의 하나 이상의 코덱들 (예컨대, AAC, AC3, Dolby True HD, Dolby 디지털 플러스, 및 DTS 마스터 오디오) 을 수신하여 인코딩할 수도 있다. 게이밍 오디오 스튜디오들은 하나 이상의 게임 오디오 시스템들을, 예컨대, DAW 를 이용함으로써 출력할 수도 있다. 게임 오디오 코딩 / 렌더링 엔진들은 전달 시스템들에 의한 출력을 위해 오디오 시스템들을 채널 기반 오디오 콘텐츠로 코딩하고 및/또는 렌더링할 수도 있다. 본 기술들이 수행될 수도 있는 다른 예시적인 상황은 브로드캐스트 레코딩 오디오 오브젝트들, 전문 오디오 시스템들, 소비자 온-디바이스 캡처, HOA 오디오 포맷, 온-디바이스 렌더링, 소비자 오디오, TV 및 부속물들, 및 카 오디오 시스템들을 포함할 수도 있는 오디오 생태계를 포함한다.
브로드캐스트 레코딩 오디오 오브젝트들, 전문 오디오 시스템들, 및 소비자 온-디바이스 캡처는 그들의 출력을 HOA 오디오 포맷을 이용하여 모두 코딩할 수도 있다. 이러한 방법으로, 오디오 콘텐츠는 HOA 오디오 포맷을 이용하여, 온-디바이스 렌더링, 소비자 오디오, TV, 및 부속물들, 및 카 오디오 시스템들을 이용하여 플레이백될 수도 있는 단일 표현으로 코딩될 수도 있다. 다시 말해서, 오디오 콘텐츠의 단일 표현은 오디오 플레이백 시스템 (16) 과 같은, (즉, 5.1, 7.1, 등과 같은 특정의 구성을 필요로 하는 것과는 반대로) 일반적인 오디오 플레이백 시스템에서 플레이백될 수도 있다.
본 기술들이 수행될 수도 있는 상황의 다른 예들은 획득 엘리먼트들, 및 플레이백 엘리먼트들을 포함할 수도 있는 오디오 생태계를 포함한다. 획득 엘리먼트들은 유선 및/또는 무선 획득 디바이스들 (acquisition devices) (예컨대, 아이겐 (Eigen) 마이크로폰들), 온-디바이스 서라운드 사운드 캡처, 및 모바일 디바이스들 (예컨대, 스마트폰들 및 태블릿들) 을 포함할 수도 있다. 일부 예들에서, 유선 및/또는 무선 획득 디바이스들은 유선 및/또는 무선 통신 채널(들)을 통해서 모바일 디바이스에 커플링될 수도 있다.
본 개시물의 하나 이상의 기술들에 따르면, 모바일 디바이스가 음장을 획득하는데 사용될 수도 있다. 예를 들어, 모바일 디바이스는 유선 및/또는 무선 획득 디바이스들 및/또는 온-디바이스 서라운드 사운드 캡처 (예컨대, 모바일 디바이스에 통합된 복수의 마이크로폰들) 를 통해서 음장을 획득할 수도 있다. 모바일 디바이스는 그후 플레이백 엘리먼트들 중 하나 이상에 의한 플레이백을 위해 그 획득된 음장을 HOA 계수들로 코딩할 수도 있다. 예를 들어, 모바일 디바이스의 사용자는 라이브 이벤트 (예컨대, 미팅, 회의, 연극, 콘서트, 등) 을 레코딩하여 (그의 음장을 획득하여), 그 레코딩을 HOA 계수들로 코딩할 수도 있다.
모바일 디바이스는 또한 플레이백 엘리먼트들 중 하나 이상을 이용하여, HOA 코딩된 음장을 플레이백할 수도 있다. 예를 들어, 모바일 디바이스는 HOA 코딩된 음장을 디코딩하고, 플레이백 엘리먼트들 중 하나 이상이 음장을 재생하도록 하는 신호를 플레이백 엘리먼트들 중 하나 이상으로 출력할 수도 있다. 일 예로서, 모바일 디바이스는 무선 및/또는 무선 통신 채널들을 이용하여, 하나 이상의 스피커들 (예컨대, 스피커 어레이들, 사운드 바들, 등) 로 그 신호를 출력할 수도 있다. 다른 예로서, 모바일 디바이스는 도킹 솔루션들을 이용하여, 그 신호를 하나 이상의 도킹 스테이션들 및/또는 하나 이상의 도킹된 스피커들 (예컨대, 사운드 시스템들 in 스마트 차들 및/또는 홈들) 로 출력할 수도 있다. 다른 예로서, 모바일 디바이스는 헤드폰 렌더링을 이용하여, 예컨대, 실제적인 바이노럴 사운드를 생성하기 위해 그 신호를 헤드폰들의 셋트로 출력할 수도 있다.
일부 예들에서, 특정의 모바일 디바이스가 3D 음장을 획득할 뿐만 아니라 그 동일한 3D 음장을 추후에 플레이백할 수도 있다. 일부 예들에서, 모바일 디바이스는 플레이백을 위해, 3D 음장을 획득하고, 3D 음장을 HOA 로 인코딩하고, 그리고 인코딩된 3D 음장을 하나 이상의 다른 디바이스들 (예컨대, 다른 모바일 디바이스들 및/또는 다른 비-모바일 디바이스들) 로 송신할 수도 있다.
본 기술들이 수행될 수도 있는 또 다른 상황은 오디오 콘텐츠, 게임 스튜디오들, 코딩된 오디오 콘텐츠, 렌더링 엔진들, 및 전달 시스템들을 포함할 수도 있는 오디오 생태계를 포함한다. 일부 예들에서, 게임 스튜디오들은 HOA 신호들의 편집을 지원할 수도 있는 하나 이상의 DAW들을 포함할 수도 있다. 예를 들어, 하나 이상의 DAW들은 하나 이상의 게임 오디오 시스템들과 동작하도록 (예컨대, 그들과 작업하도록) 구성될 수도 있는 HOA 플러그인들 및/또는 툴들을 포함할 수도 있다. 일부 예들에서, 게임 스튜디오들은 HOA 를 지원하는 새로운 시스템 포맷들을 출력할 수도 있다. 어쨌든, 게임 스튜디오들은 전달 시스템들에 의한 플레이백을 위해, 코딩된 오디오 콘텐츠를 음장을 렌더링할 수도 있는 렌더링 엔진들로 출력할 수도 있다.
이 기술들은 또한 예시적인 오디오 획득 디바이스들에 대해 수행될 수도 있다. 예를 들어, 이 기술들은 3D 음장을 레코딩하도록 집합하여 구성되는 복수의 마이크로폰들을 포함할 수도 있는 아이겐 (Eigen) 마이크로폰에 대해 수행될 수도 있다. 일부 예들에서, 아이겐 마이크로폰의 복수의 마이크로폰들은 대략 4cm 의 반경을 가지는 실질적으로 구형인 볼의 표면 상에 로케이트될 수도 있다. 일부 예들에서, 오디오 인코딩 디바이스 (20) 는 마이크로폰으로부터 직접 비트스트림 (21) 을 출력하기 위해 아이겐 마이크로폰에 통합될 수도 있다.
다른 예시적인 오디오 획득 상황은 하나 이상의 아이겐 마이크로폰들과 같은 하나 이상의 마이크로폰들로부터 신호를 수신하도록 구성될 수도 있는 프로덕션 트럭을 포함할 수도 있다. 프로덕션 트럭은 또한 도 3a 의 오디오 인코더 (20) 와 같은 오디오 인코더를 포함할 수도 있다.
모바일 디바이스는 또한, 일부 경우, 3D 음장을 레코딩하도록 종합하여 구성된 복수의 마이크로폰들을 포함할 수도 있다. 다시 말해서, 복수의 마이크로폰은 X, Y, Z 다이버시티를 가질 수도 있다. 일부 예들에서, 모바일 디바이스는 모바일 디바이스의 하나 이상의 다른 마이크로폰들에 대해 X, Y, Z 다이버시티를 제공하도록 회전될 수도 있는 마이크로폰을 포함할 수도 있다. 모바일 디바이스는 또한 도 3a 의 오디오 인코더 (20) 와 같은 오디오 인코더를 포함할 수도 있다.
러기다이즈드 (ruggedized) 비디오 캡처 디바이스는 3D 음장을 레코딩하도록 더 구성될 수도 있다. 일부 예들에서, 러기다이즈드 비디오 캡처 디바이스는 활동에 참가하는 사용자의 헬멧에 부착될 수도 있다. 예를 들어, 러기다이즈드 비디오 캡처 디바이스는 사용자 급류 래프팅의 헬멧에 부착될 수도 있다. 이러한 방법으로, 러기다이즈드 비디오 캡처 디바이스는 사용자 주변의 모든 액션 (예컨대, 사용자 뒤에서 부서지는 물, 사용자의 전면에서 말하고 있는 다른 래프터, 등) 을 나타내는 3D 음장을 캡처할 수도 있다.
이 기법들은 또한 3D 음장을 레코딩하도록 구성될 수도 있는 부속물 향상된 (accessory enhanced) 모바일 디바이스에 대해 수행될 수도 있다. 일부 예들에서, 모바일 디바이스는 하나 이상의 부속물들의 추가에 따라, 위에서 설명된 모바일 디바이스들과 유사할 수도 있다. 예를 들어, 아이겐 마이크로폰은 부속물 향상된 모바일 디바이스를 형성하기 위해 위에서 언급된 모바일 디바이스에 부착될 수도 있다. 이러한 방법으로, 부속물 향상된 모바일 디바이스는 단지 부속물 향상된 모바일 디바이스에 통합된 사운드 캡처 구성요소들을 이용하는 것보다 더 높은 품질 버전의 3D 음장을 캡처할 수도 있다.
본 개시물에서 설명하는 기술들의 여러 양태들을 수행할 수도 있는 예시적인 오디오 플레이백 디바이스들이 아래에서 추가로 설명된다. 본 개시물의 하나 이상의 기법들에 따르면, 스피커들 및/또는 사운드 바들은 임의의 임의의 구성으로 배열될 수도 있지만 여전히 3D 음장을 플레이백할 수도 있다. 더욱이, 일부 예들에서, 헤드폰 플레이백 디바이스들은 유선 또는 무선 접속을 통해서 디코더 (24) 에 커플링될 수도 있다. 본 개시물의 하나 이상의 기술들에 따르면, 음장의 단일 포괄 표현 (generic representation) 이 스피커들, 사운드 바들, 및 헤드폰 플레이백 디바이스들의 임의의 조합 상에서 음장을 렌더링하기 위해 이용될 수도 있다.
다수의 상이한 예시적인 오디오 플레이백 환경들이 또한 본 개시물에서 설명하는 기술들의 여러 양태들을 수행하는데 적합할 수도 있다. 예를 들어, 5.1 스피커 플레이백 환경, 2.0 (예컨대, 스테레오) 스피커 플레이백 환경, 풀 높이 전면 라우드스피커들을 가지는 9.1 스피커 플레이백 환경, 22.2 스피커 플레이백 환경, 16.0 스피커 플레이백 환경, 자동차 스피커 플레이백 환경, 및 이어 버드 플레이백 환경을 가지는 모바일 디바이스가 본 개시물에서 설명하는 기술들의 여러 양태들을 수행하는데 적합한 환경들일 수도 있다.
본 개시물의 하나 이상의 기술들에 따르면, 음장의 단일 포괄 표현이 전술한 플레이백 환경들 중 임의의 환경 상에서 음장을 렌더링하기 위해 이용될 수도 있다. 게다가, 본 개시물의 기술들은 위에서 설명된 것과는 다른 플레이백 환경들 상에서의 플레이백을 위해 렌더러가 포괄 표현으로부터 음장을 렌더링가능하게 한다. 예를 들어, 설계 고려사항들이 7.1 스피커 플레이백 환경에 따른 스피커들의 적합한 배치를 방해하면 (예컨대, 우측 서라운드 스피커를 배치하는 것이 가능하지 않으면), 본 개시물의 기술들은 플레이백이 6.1 스피커 플레이백 환경 상에서 달성될 수 있도록 렌더가 다른 6 개의 스피커들을 보상가능하게 한다.
더욱이, 사용자는 헤드폰들을 착용한 상태에서 스포츠 게임을 볼 수도 있다. 본 개시물의 하나 이상의 기술들에 따르면, 스포츠 게임의 3D 음장이 획득될 수 있으며 (예컨대, 하나 이상의 아이겐 마이크로폰들이 야구 경기장 내 및/또는 둘레에 배치될 수도 있으며), 3D 음장에 대응하는 HOA 계수들이 획득되어 디코더로 송신될 수도 있으며, 디코더가 HOA 계수들에 기초하여 3D 음장을 복원하여 복원된 3D 음장을 렌더러로 출력할 수도 있으며, 렌더러가 플레이백 환경의 유형 (예컨대, 헤드폰들) 에 관한 표시를 획득하여 복원된 3D 음장을 헤드폰들이 스포츠 게임의 3D 음장의 표현을 출력시키는 신호들로 렌더링할 수도 있다.
위에서 설명된 여러 경우들의 각각에서, 오디오 인코딩 디바이스 (20) 가 방법을 수행하거나 또는 아니면 오디오 인코딩 디바이스 (20) 가 수행되도록 구성되는 방법의 각각의 단계를 수행하는 수단을 포함할 수도 있는 것으로 이해되어야 한다. 일부의 경우, 수단은 하나 이상의 프로세서들을 포함할 수도 있다. 일부의 경우, 하나 이상의 프로세서들은 비일시성 컴퓨터-판독가능 저장 매체에 저장된 명령들에 의해 구성되는 특수 목적 프로세서를 나타낼 수도 있다. 다시 말해서, 인코딩 예들의 셋트들 각각에서 본 기술들의 여러 양태들은, 실행될 때, 하나 이상의 프로세서들로 하여금, 오디오 인코딩 디바이스 (20) 가 수행하도록 구성되어 있는 방법을 수행하도록 하는 명령들을 저장하고 있는 비일시성 컴퓨터-판독가능 저장 매체를 제공할 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터-판독가능 매체 상에 저장되거나 또는 컴퓨터-판독가능 매체를 통해서 송신될 수도 있으며, 하드웨어-기반의 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터-판독가능 매체는 데이터 저장 매체들과 같은, 유형의 매체에 대응하는 컴퓨터-판독가능 저장 매체들을 포함할 수도 있다. 데이터 저장 매체는 본 개시물에서 설명하는 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능 매체를 포함할 수도 있다.
이와 유사하게, 위에서 설명된 여러 경우들 각각에서, 오디오 디코딩 디바이스 (24) 가 방법을 수행하거나 또는 아니면 오디오 디코딩 디바이스 (24) 가 수행하도록 구성되는 방법의 각각의 단계를 수행하는 수단을 포함할 수도 있는 것으로 이해되어야 한다. 일부의 경우, 수단은 하나 이상의 프로세서들을 포함할 수도 있다. 일부의 경우, 하나 이상의 프로세서들은 비일시성 컴퓨터-판독가능 저장 매체에 저장된 명령들에 의해 구성되는 특수 목적 프로세서를 나타낼 수도 있다. 다시 말해서, 인코딩 예들의 셋트들의 각각에서 본 기술들의 여러 양태들은 실행될 때, 하나 이상의 프로세서들로 하여금, 오디오 디코딩 디바이스 (24) 가 수행하도록 구성되어 있는 방법을 수행가능하게 하는 명령들을 저장하고 있는 비일시성 컴퓨터-판독가능 저장 매체를 제공할 수도 있다.
일 예로서, 이에 한정하지 않고, 이런 컴퓨터-판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 그러나, 컴퓨터-판독가능 저장 매체 및 데이터 저장 매체는 접속부들, 캐리어 파들, 신호들, 또는 다른 일시성 매체를 포함하지 않고, 그 대신, 비-일시성 유형의 저장 매체로 송신되는 것으로 해석되어야 한다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 Blu-ray 디스크를 포함하며, 디스크들 (disks) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (discs) 은 레이저로 데이터를 광학적으로 재생한다. 앞에서 언급한 것들의 결합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 용어 "프로세서" 는, 본원에서 사용될 때 전술한 구조 중 임의의 구조 또는 본원에서 설명하는 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 게다가, 일부 양태들에서, 본원에서 설명하는 기능은 인코딩 및 디코딩을 위해 구성되는 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 또는 결합된 코덱에 포함될 수도 있다. 또한, 이 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들로 전적으로 구현될 수 있다.
본 개시물의 기술들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 셋트 (예컨대, 칩 셋트) 를 포함한, 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 개시한 기술들을 수행하도록 구성되는 디바이스들의 기능적 양태들을 강조하기 위해서 여러 구성요소들, 모듈들, 또는 유닛들이 본 개시물에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 필요로 하지는 않는다. 대신, 위에서 설명한 바와 같이, 여러 유닛들이 코덱 하드웨어 유닛에 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명한 바와 같은 하나 이상의 프로세서들을 포함한, 상호작용하는 하드웨어 유닛들의 컬렉션으로 제공될 수도 있다.
본 기술들의 여러 양태들이 설명되었다. 본 기술들의 이들 및 다른 실시형태들은 다음 청구항들의 범위 이내이다.

Claims (29)

  1. 음장의 벡터 양자화된 공간 성분을 포함하는 오디오 데이터를 디코딩하는 방법으로서,
    프로세서에 의해, 상기 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용할 복수의 코드북들 중 하나의 코드북을 선택하는 단계로서, 상기 벡터 양자화된 공간 성분은 구면 조화 도메인에서 정의되고, 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득되는, 상기 복수의 코드북들 중 하나의 코드북을 선택하는 단계;
    상기 프로세서에 의해, 상기 음장의 벡터 역양자화된 공간 성분을 획득하기 위해 상기 복수의 코드북들 중의 선택된 상기 하나의 코드북을 이용하여 상기 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행하는 단계; 및
    상기 프로세서에 의해 및 상기 벡터 역양자화된 공간 성분에 기초하여, 스피커 피드들을 렌더링하는 단계를 포함하는, 오디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 복수의 코드북들의 각각은 상기 벡터 역양자화를 수행할 때 사용되는 코드 벡터들과 연관될 가중 값들을 명시하는, 오디오 데이터를 디코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 복수의 코드북들 중 하나는 상기 벡터 역양자화를 수행할 때 사용되는 코드 벡터들과 연관될 8 개의 가중 값들을 명시하는, 오디오 데이터를 디코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 복수의 코드북들 중 하나는 상기 벡터 역양자화를 수행할 때 사용되는 코드 벡터들과 연관될 256 개의 가중 값들을 명시하는, 오디오 데이터를 디코딩하는 방법.
  5. 제 1 항에 있어서,
    상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 신택스 엘리먼트를 획득하는 단계를 더 포함하고,
    상기 신택스 엘리먼트는 상기 복수의 코드북들 중의 선택된 상기 하나의 코드북을 식별하는, 오디오 데이터를 디코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 복수의 코드북들 중 하나의 코드북을 선택하는 단계는, 상기 벡터 역양자화를 수행할 때 사용되는 코드 벡터들의 수에 기초하여 상기 복수의 코드북들 중 상기 하나의 코드북을 선택하는 단계를 포함하는, 오디오 데이터를 디코딩하는 방법.
  7. 제 1 항에 있어서,
    상기 복수의 코드북들 중 하나의 코드북을 선택하는 단계는, 상기 벡터 역양자화를 수행할 때 오직 하나의 코드 벡터만이 사용되는 경우에 8 개의 가중 값들을 갖는 상기 복수의 코드북들 중 상기 하나의 코드북을 선택하는 단계를 포함하는, 오디오 데이터를 디코딩하는 방법.
  8. 제 1 항에 있어서,
    상기 복수의 코드북들 중 하나의 코드북을 선택하는 단계는, 상기 벡터 역양자화를 수행할 때 2 내지 8 개의 코드 벡터들이 사용되는 경우에 256 개의 가중 값들을 갖는 상기 복수의 코드북들 중 상기 하나의 코드북을 선택하는 단계를 포함하는, 오디오 데이터를 디코딩하는 방법.
  9. 제 1 항에 있어서,
    상기 복수의 코드북들은 각 행에 8 개의 가중 값들을 갖는 256 개의 행들을 갖는 코드북 및 각 행에 단일 가중 값을 갖는 900 개의 행들을 갖는 코드북을 포함하는, 오디오 데이터를 디코딩하는 방법.
  10. 오디오 데이터를 디코딩하기 위한 디바이스로서,
    음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용할 복수의 코드북들을 저장하도록 구성된 메모리로서, 상기 벡터 양자화된 공간 성분은 구면 조화 도메인에서 정의되고, 상기 음장을 표현하는 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득되는, 상기 메모리; 및
    상기 메모리에 커플링된 하나 이상의 프로세서들로서, 상기 하나 이상의 프로세서들은:
    상기 복수의 코드북들 중 하나의 코드북을 선택하고;
    상기 음장의 벡터 역양자화된 공간 성분을 획득하기 위해 상기 복수의 코드북들 중의 선택된 상기 하나의 코드북을 이용하여 상기 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행하고; 그리고
    상기 벡터 역양자화된 공간 성분에 기초하여 스피커 피드들을 렌더링하도록
    구성되는, 상기 하나 이상의 프로세서들을 포함하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  11. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은 또한, 상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 신택스 엘리먼트를 결정하는 것으로서, 상기 신택스 엘리먼트는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북을 식별하는, 상기 비트스트림으로부터 신택스 엘리먼트를 결정하고, 상기 신택스 엘리먼트에 의해 식별된 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북에 기초하여 상기 벡터 양자화된 공간 성분에 대해 상기 벡터 역양자화를 수행하도록 구성되는, 오디오 데이터를 디코딩하기 위한 디바이스.
  12. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은 또한, 상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 신택스 엘리먼트를 결정하도록 구성되고, 상기 신택스 엘리먼트는 상기 벡터 역양자화를 수행할 때 사용되는 가중 값을 갖는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북 내로의 인덱스를 식별하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  13. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은 또한, 상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 결정하도록 구성되고, 상기 제 1 신택스 엘리먼트는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북을 식별하고, 상기 제 2 신택스 엘리먼트는 상기 벡터 역양자화를 수행할 때 사용되는 가중 값을 갖는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북 내로의 인덱스를 식별하며, 그리고
    상기 하나 이상의 프로세서들은, 상기 제 2 신택스 엘리먼트에 의해 식별된 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북으로부터의 상기 제 1 신택스 엘리먼트에 의해 식별된 상기 가중 값에 기초하여 상기 벡터 양자화된 공간 성분에 대해 상기 벡터 역양자화를 수행하도록 구성되는, 오디오 데이터를 디코딩하기 위한 디바이스.
  14. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은 또한, 상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 신택스 엘리먼트를 결정하도록 구성되고, 상기 신택스 엘리먼트는 상기 벡터 역양자화를 수행할 때 사용되는 코드 벡터를 갖는 벡터 딕셔너리 내로의 인덱스를 식별하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  15. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은 또한, 상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 제 1 신택스 엘리먼트, 제 2 신택스 엘리먼트, 및 제 3 신택스 엘리먼트를 결정하도록 구성되고, 상기 제 1 신택스 엘리먼트는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북을 식별하고, 상기 제 2 신택스 엘리먼트는 상기 벡터 역양자화를 수행할 때 사용되는 가중 값을 갖는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북 내로의 인덱스를 식별하며, 상기 제 3 신택스 엘리먼트는 상기 벡터 역양자화를 수행할 때 사용되는 코드 벡터를 갖는 벡터 딕셔너리 내로의 인덱스를 식별하고, 그리고
    상기 하나 이상의 프로세서들은, 상기 제 2 신택스 엘리먼트에 의해 식별된 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북으로부터의 상기 제 1 신택스 엘리먼트에 의해 식별된 상기 가중 값 및 상기 제 3 신택스 엘리먼트에 의해 식별된 상기 코드 벡터에 기초하여 상기 벡터 양자화된 공간 성분에 대해 상기 벡터 역양자화를 수행하도록 구성되는, 오디오 데이터를 디코딩하기 위한 디바이스.
  16. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 벡터 역양자화를 수행할 때 사용되는 코드 벡터들의 수에 기초하여 상기 복수의 코드북들 중 상기 하나의 코드북을 선택하도록 구성되는, 오디오 데이터를 디코딩하기 위한 디바이스.
  17. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 벡터 역양자화를 수행할 때 오직 하나의 코드 벡터만이 사용되는 경우에 8 개의 가중 값들을 갖는 상기 복수의 코드북들 중 상기 하나의 코드북을 선택하도록 구성되는, 오디오 데이터를 디코딩하기 위한 디바이스.
  18. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 벡터 역양자화를 수행할 때 2 내지 8 개의 코드 벡터들이 사용되는 경우에 254 개의 가중 값들을 갖는 상기 복수의 코드북들 중 상기 하나의 코드북을 선택하도록 구성되는, 오디오 데이터를 디코딩하기 위한 디바이스.
  19. 제 10 항에 있어서,
    상기 복수의 코드북들은 각 행에 7 개의 가중 값들을 갖는 254 개의 행들을 갖는 코드북 및 각 행에 단일 가중 값을 갖는 898 개의 행들을 갖는 코드북을 포함하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  20. 오디오 데이터를 디코딩하기 위한 디바이스로서,
    음장의 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행할 때 사용할 복수의 코드북들을 저장하는 수단으로서, 상기 벡터 양자화된 공간 성분은 구면 조화 도메인에서 정의되고, 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득되는, 상기 복수의 코드북들을 저장하는 수단;
    상기 복수의 코드북들 중 하나의 코드북을 선택하는 수단;
    상기 음장의 벡터 역양자화된 공간 성분을 획득하기 위해 상기 복수의 코드북들 중의 선택된 상기 하나의 코드북을 이용하여 상기 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행하는 수단; 및
    상기 벡터 역양자화된 공간 성분에 기초하여 스피커 피드들을 렌더링하는 수단을 포함하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  21. 제 20 항에 있어서,
    상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 신택스 엘리먼트를 결정하는 수단을 더 포함하고,
    상기 신택스 엘리먼트는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북을 식별하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  22. 제 20 항에 있어서,
    상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 신택스 엘리먼트를 결정하는 수단으로서, 상기 신택스 엘리먼트는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북을 식별하는, 상기 비트스트림으로부터 신택스 엘리먼트를 결정하는 수단을 더 포함하고,
    상기 벡터 역양자화를 수행하는 수단은, 상기 신택스 엘리먼트에 의해 식별된 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북에 기초하여 상기 벡터 양자화된 공간 성분에 대해 벡터 역양자화를 수행하는 수단을 포함하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  23. 제 20 항에 있어서,
    상기 벡터 양자화된 공간 성분을 포함하는 비트스트림으로부터 신택스 엘리먼트를 결정하는 수단을 더 포함하고, 상기 신택스 엘리먼트는 상기 벡터 역양자화를 수행할 때 사용되는 가중 값을 갖는 상기 복수의 코드북들 중의 상기 선택된 하나의 코드북 내로의 인덱스를 식별하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  24. 오디오 데이터를 인코딩하기 위한 디바이스로서,
    음장의 공간 성분에 대해 벡터 양자화를 수행할 때 사용할 복수의 코드북들을 저장하도록 구성된 메모리로서, 상기 공간 성분은 구면 조화 도메인에서 정의되고, 복수의 고차 앰비소닉 계수들에 대한 분해의 적용을 통해 획득되는, 상기 메모리; 및
    상기 메모리에 커플링된 하나 이상의 프로세서들로서, 상기 하나 이상의 프로세서들은:
    상기 복수의 코드북들 중 하나의 코드북을 선택하고;
    상기 음장의 벡터 양자화된 공간 성분을 획득하기 위해 상기 복수의 코드북들 중의 선택된 상기 하나의 코드북을 이용하여 상기 공간 성분에 대해 벡터 양자화를 수행하고; 그리고
    상기 벡터 양자화된 공간 성분을 포함하도록 비트스트림을 생성하도록
    구성되는, 상기 하나 이상의 프로세서들을 포함하는, 오디오 데이터를 인코딩하기 위한 디바이스.
  25. 제 24 항에 있어서,
    상기 복수의 코드북들 중 하나의 코드북을 선택하는 것은, 상기 벡터 양자화를 수행할 때 오직 하나의 코드 벡터만이 사용되는 경우에 8 개의 가중 값들을 갖는 상기 복수의 코드북들 중 상기 하나의 코드북을 선택하는 것을 포함하는, 오디오 데이터를 인코딩하기 위한 디바이스.
  26. 제 1 항에 있어서,
    상기 프로세서에 커플링된 하나 이상의 스피커들에 의해, 상기 스피커 피드들에 기초하여 상기 음장을 재생하는 단계를 더 포함하는, 오디오 데이터를 디코딩하는 방법.
  27. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들에 커플링되고, 상기 스피커 피드들에 기초하여 상기 음장을 재생하도록 구성된 하나 이상의 스피커들을 더 포함하는, 오디오 데이터를 디코딩하기 위한 디바이스.
  28. 제 1 항에 있어서,
    상기 벡터 역양자화된 공간 성분에 기초하여 상기 고차 앰비소닉 계수들을 재구성하는 단계를 더 포함하고,
    상기 스피커 피드들을 렌더링하는 단계는 재구성된 상기 고차 앰비소닉 계수들에 기초하여 상기 스피커 피드들을 렌더링하는 단계를 포함하는, 오디오 데이터를 디코딩하는 방법.
  29. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은 또한, 상기 벡터 역양자화된 공간 성분에 기초하여 상기 고차 앰비소닉 계수들을 재구성하도록 구성되고, 그리고,
    상기 하나 이상의 프로세서들은, 재구성된 상기 고차 앰비소닉 계수들에 기초하여 상기 스피커 피드들을 렌더링하도록 구성되는, 오디오 데이터를 디코딩하기 위한 디바이스.
KR1020167035108A 2014-05-16 2015-05-15 고차 앰비소닉 오디오 신호들로부터 분해된 코딩 벡터들에 대한 코드북들 선택 KR102329373B1 (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201461994794P 2014-05-16 2014-05-16
US61/994,794 2014-05-16
US201462004128P 2014-05-28 2014-05-28
US62/004,128 2014-05-28
US201462019663P 2014-07-01 2014-07-01
US62/019,663 2014-07-01
US201462027702P 2014-07-22 2014-07-22
US62/027,702 2014-07-22
US201462028282P 2014-07-23 2014-07-23
US62/028,282 2014-07-23
US201462032440P 2014-08-01 2014-08-01
US62/032,440 2014-08-01
US14/712,849 US10770087B2 (en) 2014-05-16 2015-05-14 Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
US14/712,849 2015-05-14
PCT/US2015/031192 WO2015176003A1 (en) 2014-05-16 2015-05-15 Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals

Publications (2)

Publication Number Publication Date
KR20170008802A KR20170008802A (ko) 2017-01-24
KR102329373B1 true KR102329373B1 (ko) 2021-11-19

Family

ID=53274842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167035108A KR102329373B1 (ko) 2014-05-16 2015-05-15 고차 앰비소닉 오디오 신호들로부터 분해된 코딩 벡터들에 대한 코드북들 선택

Country Status (17)

Country Link
US (1) US10770087B2 (ko)
EP (1) EP3143616B1 (ko)
JP (1) JP6728065B2 (ko)
KR (1) KR102329373B1 (ko)
CN (1) CN106463129B (ko)
AU (1) AU2015258831B2 (ko)
BR (1) BR112016026822B1 (ko)
CA (1) CA2948563C (ko)
CL (1) CL2016002896A1 (ko)
MX (1) MX361040B (ko)
MY (1) MY189359A (ko)
PH (1) PH12016502273A1 (ko)
RU (1) RU2688275C2 (ko)
SG (1) SG11201608520RA (ko)
TW (1) TWI676983B (ko)
WO (1) WO2015176003A1 (ko)
ZA (1) ZA201607881B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9667959B2 (en) 2013-03-29 2017-05-30 Qualcomm Incorporated RTP payload format designs
US9502044B2 (en) 2013-05-29 2016-11-22 Qualcomm Incorporated Compression of decomposed representations of a sound field
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
US9852737B2 (en) 2014-05-16 2017-12-26 Qualcomm Incorporated Coding vectors decomposed from higher-order ambisonics audio signals
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
US9736606B2 (en) 2014-08-01 2017-08-15 Qualcomm Incorporated Editing of higher-order ambisonic audio data
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework
EP3668101B1 (en) * 2017-08-10 2024-03-20 Saturn Licensing, LLC Transmission device, transmission method, reception device, and reception method
GB2578625A (en) 2018-11-01 2020-05-20 Nokia Technologies Oy Apparatus, methods and computer programs for encoding spatial metadata
FR3096550B1 (fr) * 2019-06-24 2021-06-04 Orange Dispositif de captation sonore à réseau de microphones perfectionné
US20200402522A1 (en) * 2019-06-24 2020-12-24 Qualcomm Incorporated Quantizing spatial components based on bit allocations determined for psychoacoustic audio coding

Family Cites Families (175)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1159034B (it) 1983-06-10 1987-02-25 Cselt Centro Studi Lab Telecom Sintetizzatore vocale
US4972344A (en) 1986-05-30 1990-11-20 Finial Technology, Inc. Dual beam optical turntable
US5363050A (en) 1990-08-31 1994-11-08 Guo Wendy W Quantitative dielectric imaging system
US5757927A (en) 1992-03-02 1998-05-26 Trifield Productions Ltd. Surround sound apparatus
JP2626492B2 (ja) 1993-09-13 1997-07-02 日本電気株式会社 ベクトル量子化装置
US5819215A (en) 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
JP3707116B2 (ja) 1995-10-26 2005-10-19 ソニー株式会社 音声復号化方法及び装置
JP3849210B2 (ja) 1996-09-24 2006-11-22 ヤマハ株式会社 音声符号化復号方式
US5821887A (en) 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US6167375A (en) * 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
US6072878A (en) 1997-09-24 2000-06-06 Sonic Solutions Multi-channel surround sound mastering and reproduction techniques that preserve spatial harmonics
US6263312B1 (en) 1997-10-03 2001-07-17 Alaris, Inc. Audio compression and decompression employing subband decomposition of residual signal and distortion reduction
JP3211762B2 (ja) 1997-12-12 2001-09-25 日本電気株式会社 音声及び音楽符号化方式
AUPP272698A0 (en) 1998-03-31 1998-04-23 Lake Dsp Pty Limited Soundfield playback from a single speaker system
AU4072400A (en) 1999-04-05 2000-10-23 Hughes Electronics Corporation A voicing measure as an estimate of signal periodicity for frequency domain interpolative speech codec system
US6370502B1 (en) 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6782360B1 (en) 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US20020049586A1 (en) 2000-09-11 2002-04-25 Kousuke Nishio Audio encoder, audio decoder, and broadcasting system
JP2002094989A (ja) 2000-09-14 2002-03-29 Pioneer Electronic Corp ビデオ信号符号化装置及びビデオ信号符号化方法
US7660424B2 (en) 2001-02-07 2010-02-09 Dolby Laboratories Licensing Corporation Audio channel spatial translation
US20020169735A1 (en) 2001-03-07 2002-11-14 David Kil Automatic mapping from data to preprocessing algorithms
GB2379147B (en) 2001-04-18 2003-10-22 Univ York Sound processing
US20030147539A1 (en) 2002-01-11 2003-08-07 Mh Acoustics, Llc, A Delaware Corporation Audio system based on at least second-order eigenbeams
US7031894B2 (en) 2002-01-16 2006-04-18 Timbre Technologies, Inc. Generating a library of simulated-diffraction signals and hypothetical profiles of periodic gratings
US7262770B2 (en) 2002-03-21 2007-08-28 Microsoft Corporation Graphics image rendering with radiance self-transfer for low-frequency lighting environments
US8160269B2 (en) 2003-08-27 2012-04-17 Sony Computer Entertainment Inc. Methods and apparatuses for adjusting a listening area for capturing sounds
ATE543179T1 (de) 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
FR2844894B1 (fr) 2002-09-23 2004-12-17 Remy Henri Denis Bruno Procede et systeme de traitement d'une representation d'un champ acoustique
US7330812B2 (en) 2002-10-04 2008-02-12 National Research Council Of Canada Method and apparatus for transmitting an audio stream having additional payload in a hidden sub-channel
FR2847376B1 (fr) 2002-11-19 2005-02-04 France Telecom Procede de traitement de donnees sonores et dispositif d'acquisition sonore mettant en oeuvre ce procede
US6961696B2 (en) 2003-02-07 2005-11-01 Motorola, Inc. Class quantization for distributed speech recognition
FI115324B (fi) 2003-03-14 2005-04-15 Elekta Neuromag Oy Menetelmä ja järjestelmä monikanavaisen mittaussignaalin käsittelemiseksi
US7558393B2 (en) 2003-03-18 2009-07-07 Miller Iii Robert E System and method for compatible 2D/3D (full sphere with height) surround sound reproduction
US7920709B1 (en) 2003-03-25 2011-04-05 Robert Hickling Vector sound-intensity probes operating in a half-space
US7447317B2 (en) 2003-10-02 2008-11-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V Compatible multi-channel coding/decoding by weighting the downmix channel
KR100556911B1 (ko) 2003-12-05 2006-03-03 엘지전자 주식회사 무선 동영상 스트리밍 서비스를 위한 동영상 데이터의 구조
KR100629997B1 (ko) 2004-02-26 2006-09-27 엘지전자 주식회사 오디오 신호의 인코딩 방법
US7283634B2 (en) 2004-08-31 2007-10-16 Dts, Inc. Method of mixing audio channels using correlated outputs
US7630902B2 (en) 2004-09-17 2009-12-08 Digital Rise Technology Co., Ltd. Apparatus and methods for digital audio coding using codebook application ranges
FR2880755A1 (fr) 2005-01-10 2006-07-14 France Telecom Procede et dispositif d'individualisation de hrtfs par modelisation
KR100636229B1 (ko) 2005-01-14 2006-10-19 학교법인 성균관대학 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치
US7271747B2 (en) 2005-05-10 2007-09-18 Rice University Method and apparatus for distributed compressed sensing
ATE378793T1 (de) 2005-06-23 2007-11-15 Akg Acoustics Gmbh Methode zur modellierung eines mikrofons
US8510105B2 (en) 2005-10-21 2013-08-13 Nokia Corporation Compression and decompression of data vectors
WO2007048900A1 (fr) 2005-10-27 2007-05-03 France Telecom Individualisation de hrtfs utilisant une modelisation par elements finis couplee a un modele correctif
CN101385077B (zh) 2006-02-07 2012-04-11 Lg电子株式会社 用于编码/解码信号的装置和方法
ATE527833T1 (de) 2006-05-04 2011-10-15 Lg Electronics Inc Verbesserung von stereo-audiosignalen mittels neuabmischung
US8379868B2 (en) 2006-05-17 2013-02-19 Creative Technology Ltd Spatial audio coding based on universal spatial cues
US8345899B2 (en) 2006-05-17 2013-01-01 Creative Technology Ltd Phase-amplitude matrixed surround decoder
US8712061B2 (en) 2006-05-17 2014-04-29 Creative Technology Ltd Phase-amplitude 3-D stereo encoder and decoder
US20080004729A1 (en) 2006-06-30 2008-01-03 Nokia Corporation Direct encoding into a directional audio coding format
US7877253B2 (en) 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
DE102006053919A1 (de) 2006-10-11 2008-04-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer Anzahl von Lautsprechersignalen für ein Lautsprecher-Array, das einen Wiedergaberaum definiert
US7966175B2 (en) 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
CA2645863C (en) 2006-11-24 2013-01-08 Lg Electronics Inc. Method for encoding and decoding object-based audio signal and apparatus thereof
US7663623B2 (en) 2006-12-18 2010-02-16 Microsoft Corporation Spherical harmonics scaling
JP2008227946A (ja) 2007-03-13 2008-09-25 Toshiba Corp 画像復号装置
US8290167B2 (en) 2007-03-21 2012-10-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for conversion between multi-channel audio formats
US8908873B2 (en) 2007-03-21 2014-12-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for conversion between multi-channel audio formats
US9015051B2 (en) 2007-03-21 2015-04-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Reconstruction of audio channels with direction parameters indicating direction of origin
WO2008127536A2 (en) 2007-04-12 2008-10-23 Thomson Licensing Methods and apparatus for video usability information (vui) for scalable video coding (svc)
US8180062B2 (en) 2007-05-30 2012-05-15 Nokia Corporation Spatial sound zooming
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
WO2009007639A1 (fr) 2007-07-03 2009-01-15 France Telecom Quantification apres transformation lineaire combinant les signaux audio d'une scene sonore, codeur associe
ATE479182T1 (de) 2007-07-30 2010-09-15 Global Ip Solutions Gips Ab Audiodekoder mit geringer verzögerung
US8463615B2 (en) 2007-07-30 2013-06-11 Google Inc. Low-delay audio coder
CN101842833B (zh) 2007-09-11 2012-07-18 沃伊斯亚吉公司 语音和音频编码中快速代数码本搜索的方法和设备
CN101884065B (zh) 2007-10-03 2013-07-10 创新科技有限公司 用于双耳再现和格式转换的空间音频分析和合成的方法
WO2009067741A1 (en) 2007-11-27 2009-06-04 Acouity Pty Ltd Bandwidth compression of parametric soundfield representations for transmission and storage
JP5419714B2 (ja) 2008-01-16 2014-02-19 パナソニック株式会社 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
EP2094032A1 (en) 2008-02-19 2009-08-26 Deutsche Thomson OHG Audio signal, method and apparatus for encoding or transmitting the same and method and apparatus for processing the same
EP2259253B1 (en) 2008-03-03 2017-11-15 LG Electronics Inc. Method and apparatus for processing audio signal
RU2565008C2 (ru) 2008-03-10 2015-10-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Устройство и метод для обработки аудио сигнала, содержащего переходный сигнал
US8219409B2 (en) 2008-03-31 2012-07-10 Ecole Polytechnique Federale De Lausanne Audio wave field encoding
EP2283373B1 (en) 2008-04-28 2021-03-10 Cornell University Accurate quantification of magnetic susceptibility in molecular mri
US8184298B2 (en) 2008-05-21 2012-05-22 The Board Of Trustees Of The University Of Illinois Spatial light interference microscopy and fourier transform light scattering for cell and tissue characterization
EP2287836B1 (en) 2008-05-30 2014-10-15 Panasonic Intellectual Property Corporation of America Encoder and encoding method
CN102089634B (zh) 2008-07-08 2012-11-21 布鲁尔及凯尔声音及振动测量公司 重建声学场
EP2144230A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
JP5697301B2 (ja) 2008-10-01 2015-04-08 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、及び動画像符号化・復号システム
GB0817950D0 (en) 2008-10-01 2008-11-05 Univ Southampton Apparatus and method for sound reproduction
US8207890B2 (en) 2008-10-08 2012-06-26 Qualcomm Atheros, Inc. Providing ephemeris data and clock corrections to a satellite navigation system receiver
US8391500B2 (en) 2008-10-17 2013-03-05 University Of Kentucky Research Foundation Method and system for creating three-dimensional spatial audio
FR2938688A1 (fr) 2008-11-18 2010-05-21 France Telecom Codage avec mise en forme du bruit dans un codeur hierarchique
EP2374124B1 (fr) 2008-12-15 2013-05-29 France Telecom Codage perfectionne de signaux audionumériques multicanaux
EP2374123B1 (fr) 2008-12-15 2019-04-10 Orange Codage perfectionne de signaux audionumeriques multicanaux
US8332229B2 (en) 2008-12-30 2012-12-11 Stmicroelectronics Asia Pacific Pte. Ltd. Low complexity MPEG encoding for surround sound recordings
EP2205007B1 (en) 2008-12-30 2019-01-09 Dolby International AB Method and apparatus for three-dimensional acoustic field encoding and optimal reconstruction
WO2010086342A1 (en) 2009-01-28 2010-08-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, method for encoding an input audio information, method for decoding an input audio information and computer program using improved coding tables
GB2476747B (en) 2009-02-04 2011-12-21 Richard Furse Sound system
JP5163545B2 (ja) 2009-03-05 2013-03-13 富士通株式会社 オーディオ復号装置及びオーディオ復号方法
EP2237270B1 (en) 2009-03-30 2012-07-04 Nuance Communications, Inc. A method for determining a noise reference signal for noise compensation and/or noise reduction
GB0906269D0 (en) 2009-04-09 2009-05-20 Ntnu Technology Transfer As Optimal modal beamformer for sensor arrays
CN102227696B (zh) 2009-05-21 2014-09-24 松下电器产业株式会社 触感处理装置
ES2690164T3 (es) 2009-06-25 2018-11-19 Dts Licensing Limited Dispositivo y método para convertir una señal de audio espacial
WO2011041834A1 (en) 2009-10-07 2011-04-14 The University Of Sydney Reconstruction of a recorded sound field
WO2011044898A1 (en) 2009-10-15 2011-04-21 Widex A/S Hearing aid with audio codec and method
US9153242B2 (en) 2009-11-13 2015-10-06 Panasonic Intellectual Property Corporation Of America Encoder apparatus, decoder apparatus, and related methods that use plural coding layers
EP2510515B1 (en) * 2009-12-07 2014-03-19 Dolby Laboratories Licensing Corporation Decoding of multichannel audio encoded bit streams using adaptive hybrid transformation
CN102104452B (zh) 2009-12-22 2013-09-11 华为技术有限公司 信道状态信息反馈方法、信道状态信息获得方法及设备
TWI557723B (zh) 2010-02-18 2016-11-11 杜比實驗室特許公司 解碼方法及系統
WO2011104463A1 (fr) 2010-02-26 2011-09-01 France Telecom Compression de flux audio multicanal
AU2011226143B9 (en) * 2010-03-10 2015-03-19 Dolby International Ab Audio signal decoder, audio signal encoder, method for decoding an audio signal, method for encoding an audio signal and computer program using a pitch-dependent adaptation of a coding context
AU2011231565B2 (en) 2010-03-26 2014-08-28 Dolby International Ab Method and device for decoding an audio soundfield representation for audio playback
EP2375410B1 (en) 2010-03-29 2017-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A spatial audio processor and a method for providing spatial parameters based on an acoustic input signal
JP5850216B2 (ja) 2010-04-13 2016-02-03 ソニー株式会社 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム
TW201214415A (en) 2010-05-28 2012-04-01 Fraunhofer Ges Forschung Low-delay unified speech and audio codec
US9053697B2 (en) 2010-06-01 2015-06-09 Qualcomm Incorporated Systems, methods, devices, apparatus, and computer program products for audio equalization
US9357229B2 (en) 2010-07-28 2016-05-31 Qualcomm Incorporated Coding motion vectors in video coding
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
NZ587483A (en) 2010-08-20 2012-12-21 Ind Res Ltd Holophonic speaker system with filters that are pre-configured based on acoustic transfer functions
WO2012025580A1 (en) 2010-08-27 2012-03-01 Sonicemotion Ag Method and device for enhanced sound field reproduction of spatially encoded audio input signals
CN101977349A (zh) 2010-09-29 2011-02-16 华南理工大学 Ambisonic声重发系统解码的优化改进方法
US20120093323A1 (en) 2010-10-14 2012-04-19 Samsung Electronics Co., Ltd. Audio system and method of down mixing audio signals using the same
US9084049B2 (en) 2010-10-14 2015-07-14 Dolby Laboratories Licensing Corporation Automatic equalization using adaptive frequency-domain filtering and dynamic fast convolution
US9552840B2 (en) 2010-10-25 2017-01-24 Qualcomm Incorporated Three-dimensional sound capturing and reproducing with multi-microphones
EP2450880A1 (en) 2010-11-05 2012-05-09 Thomson Licensing Data structure for Higher Order Ambisonics audio data
KR101401775B1 (ko) 2010-11-10 2014-05-30 한국전자통신연구원 스피커 어레이 기반 음장 합성을 이용한 음장 재생 장치 및 방법
US9448289B2 (en) 2010-11-23 2016-09-20 Cornell University Background field removal method for MRI using projection onto dipole fields
TWI489450B (zh) 2010-12-03 2015-06-21 Fraunhofer Ges Forschung 用以產生音訊輸出信號或資料串流之裝置及方法、和相關聯之系統、電腦可讀媒體與電腦程式
EP2469741A1 (en) 2010-12-21 2012-06-27 Thomson Licensing Method and apparatus for encoding and decoding successive frames of an ambisonics representation of a 2- or 3-dimensional sound field
US20120163622A1 (en) 2010-12-28 2012-06-28 Stmicroelectronics Asia Pacific Pte Ltd Noise detection and reduction in audio devices
US8809663B2 (en) 2011-01-06 2014-08-19 Hank Risan Synthetic simulation of a media recording
US9008176B2 (en) 2011-01-22 2015-04-14 Qualcomm Incorporated Combined reference picture list construction for video coding
US20120189052A1 (en) 2011-01-24 2012-07-26 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
US9026450B2 (en) 2011-03-09 2015-05-05 Dts Llc System for dynamically creating and rendering audio objects
CA2833868C (en) 2011-04-21 2019-08-20 Samsung Electronics Co., Ltd. Apparatus for quantizing linear predictive coding coefficients, sound encoding apparatus, apparatus for de-quantizing linear predictive coding coefficients, sound decoding apparatus, and electronic device therefor
EP2541547A1 (en) 2011-06-30 2013-01-02 Thomson Licensing Method and apparatus for changing the relative positions of sound objects contained within a higher-order ambisonics representation
US8548803B2 (en) 2011-08-08 2013-10-01 The Intellisis Corporation System and method of processing a sound signal including transforming the sound signal into a frequency-chirp domain
US9641951B2 (en) 2011-08-10 2017-05-02 The Johns Hopkins University System and method for fast binaural rendering of complex acoustic scenes
EP2560161A1 (en) 2011-08-17 2013-02-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Optimal mixing matrices and usage of decorrelators in spatial audio processing
EP2592846A1 (en) 2011-11-11 2013-05-15 Thomson Licensing Method and apparatus for processing signals of a spherical microphone array on a rigid sphere used for generating an Ambisonics representation of the sound field
EP2592845A1 (en) 2011-11-11 2013-05-15 Thomson Licensing Method and Apparatus for processing signals of a spherical microphone array on a rigid sphere used for generating an Ambisonics representation of the sound field
EP2600343A1 (en) 2011-12-02 2013-06-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for merging geometry - based spatial audio coding streams
KR101590332B1 (ko) 2012-01-09 2016-02-18 삼성전자주식회사 영상장치 및 그 제어방법
EP2637427A1 (en) 2012-03-06 2013-09-11 Thomson Licensing Method and apparatus for playback of a higher-order ambisonics audio signal
EP2645748A1 (en) 2012-03-28 2013-10-02 Thomson Licensing Method and apparatus for decoding stereo loudspeaker signals from a higher-order Ambisonics audio signal
EP2665208A1 (en) 2012-05-14 2013-11-20 Thomson Licensing Method and apparatus for compressing and decompressing a Higher Order Ambisonics signal representation
US9190065B2 (en) 2012-07-15 2015-11-17 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for three-dimensional audio coding using basis function coefficients
US9288603B2 (en) 2012-07-15 2016-03-15 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for backward-compatible audio coding
US20140086416A1 (en) 2012-07-15 2014-03-27 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for three-dimensional audio coding using basis function coefficients
US9473870B2 (en) 2012-07-16 2016-10-18 Qualcomm Incorporated Loudspeaker position compensation with 3D-audio hierarchical coding
KR102201034B1 (ko) 2012-07-16 2021-01-11 돌비 인터네셔널 에이비 오디오 재생을 위한 오디오 음장 표현을 렌더링하는 방법 및 장치
EP2688066A1 (en) * 2012-07-16 2014-01-22 Thomson Licensing Method and apparatus for encoding multi-channel HOA audio signals for noise reduction, and method and apparatus for decoding multi-channel HOA audio signals for noise reduction
KR102201713B1 (ko) 2012-07-19 2021-01-12 돌비 인터네셔널 에이비 다채널 오디오 신호들의 렌더링을 향상시키기 위한 방법 및 디바이스
US9479886B2 (en) 2012-07-20 2016-10-25 Qualcomm Incorporated Scalable downmix design with feedback for object-based surround codec
US9761229B2 (en) 2012-07-20 2017-09-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for audio object clustering
JP5967571B2 (ja) 2012-07-26 2016-08-10 本田技研工業株式会社 音響信号処理装置、音響信号処理方法、及び音響信号処理プログラム
PL2915166T3 (pl) 2012-10-30 2019-04-30 Nokia Technologies Oy Sposób i urządzenie do kwantyzacji odpornego wektora
US9336771B2 (en) 2012-11-01 2016-05-10 Google Inc. Speech recognition using non-parametric models
EP2743922A1 (en) * 2012-12-12 2014-06-18 Thomson Licensing Method and apparatus for compressing and decompressing a higher order ambisonics representation for a sound field
US9913064B2 (en) 2013-02-07 2018-03-06 Qualcomm Incorporated Mapping virtual speakers to physical speakers
US9883310B2 (en) 2013-02-08 2018-01-30 Qualcomm Incorporated Obtaining symmetry information for higher order ambisonic audio renderers
EP2765791A1 (en) 2013-02-08 2014-08-13 Thomson Licensing Method and apparatus for determining directions of uncorrelated sound sources in a higher order ambisonics representation of a sound field
US10178489B2 (en) 2013-02-08 2019-01-08 Qualcomm Incorporated Signaling audio rendering information in a bitstream
US9609452B2 (en) 2013-02-08 2017-03-28 Qualcomm Incorporated Obtaining sparseness information for higher order ambisonic audio renderers
US9338420B2 (en) 2013-02-15 2016-05-10 Qualcomm Incorporated Video analysis assisted generation of multi-channel audio data
US9959875B2 (en) 2013-03-01 2018-05-01 Qualcomm Incorporated Specifying spherical harmonic and/or higher order ambisonics coefficients in bitstreams
BR112015021520B1 (pt) 2013-03-05 2021-07-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V Aparelho e método para criar um ou mais sinais do canal de saída de áudio dependendo de dois ou mais sinais do canal de entrada de áudio
US9197962B2 (en) 2013-03-15 2015-11-24 Mh Acoustics Llc Polyhedral audio system based on at least second-order eigenbeams
EP2800401A1 (en) 2013-04-29 2014-11-05 Thomson Licensing Method and Apparatus for compressing and decompressing a Higher Order Ambisonics representation
WO2014184353A1 (en) 2013-05-16 2014-11-20 Koninklijke Philips N.V. An audio processing apparatus and method therefor
US9502044B2 (en) 2013-05-29 2016-11-22 Qualcomm Incorporated Compression of decomposed representations of a sound field
US9384741B2 (en) 2013-05-29 2016-07-05 Qualcomm Incorporated Binauralization of rotated higher order ambisonics
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
CN105264595B (zh) 2013-06-05 2019-10-01 杜比国际公司 用于编码和解码音频信号的方法和装置
TWI631553B (zh) 2013-07-19 2018-08-01 瑞典商杜比國際公司 將以<i>L</i><sub>1</sub>個頻道為基礎之輸入聲音訊號產生至<i>L</i><sub>2</sub>個揚聲器頻道之方法及裝置,以及得到一能量保留混音矩陣之方法及裝置,用以將以輸入頻道為基礎之聲音訊號混音以用於<i>L</i><sub>1</sub>個聲音頻道至<i>L</i><sub>2</sub>個揚聲器頻道
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US20150264483A1 (en) 2014-03-14 2015-09-17 Qualcomm Incorporated Low frequency rendering of higher-order ambisonic audio data
US9852737B2 (en) 2014-05-16 2017-12-26 Qualcomm Incorporated Coding vectors decomposed from higher-order ambisonics audio signals
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US20160093308A1 (en) 2014-09-26 2016-03-31 Qualcomm Incorporated Predictive vector quantization techniques in a higher order ambisonics (hoa) framework
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Andrew Wabnitz, et al. TIME DOMAIN RECONSTRUCTION OF SPATIAL SOUND FIELDS USING COMPRESSED SENSING. IEEE International Conference on Acoustics, Speech and Signal Processing. 2011.05.22.
Erik Hellerud, et al. Spatial redundancy in Higher Order Ambisonics and its use for lowdelay lossless compression. IEEE International Conference on Acoustics, Speech and Signal Processing. 2009. pp.26
ISO/IEC CD 23008-3. Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 3: 3D audio. ISO/IEC JTC 1/SC 29/WG 11. 2014.04.04.
ISO/IEC WD0 23008-3. Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 3: 3D audio. ISO/IEC JTC 1/SC 29/WG 11. 2013.10.23. (106 meeting w14060)
WD1-HOA Text of MPEG-H 3D Audio. ISO/IEC JTC1/SC29/WG11 N14264. 2014.02.21.*

Also Published As

Publication number Publication date
MX2016014918A (es) 2017-04-06
WO2015176003A1 (en) 2015-11-19
CA2948563A1 (en) 2015-11-19
ZA201607881B (en) 2022-05-25
EP3143616B1 (en) 2023-01-04
MY189359A (en) 2022-02-07
PH12016502273B1 (en) 2017-03-13
CL2016002896A1 (es) 2017-05-26
KR20170008802A (ko) 2017-01-24
US10770087B2 (en) 2020-09-08
RU2016144326A (ru) 2018-06-20
JP6728065B2 (ja) 2020-07-22
US20150332692A1 (en) 2015-11-19
AU2015258831B2 (en) 2020-03-12
RU2688275C2 (ru) 2019-05-21
TWI676983B (zh) 2019-11-11
CA2948563C (en) 2023-02-28
BR112016026822A2 (ko) 2017-08-15
SG11201608520RA (en) 2016-11-29
EP3143616A1 (en) 2017-03-22
BR112016026822B1 (pt) 2022-12-13
PH12016502273A1 (en) 2017-03-13
RU2016144326A3 (ko) 2018-12-12
CN106463129B (zh) 2020-02-21
AU2015258831A1 (en) 2016-11-10
MX361040B (es) 2018-11-26
TW201601144A (zh) 2016-01-01
CN106463129A (zh) 2017-02-22
JP2017521693A (ja) 2017-08-03

Similar Documents

Publication Publication Date Title
KR102032021B1 (ko) 고차 앰비소닉스 오디오 신호들로부터 분해된 벡터들의 코딩
KR102329373B1 (ko) 고차 앰비소닉 오디오 신호들로부터 분해된 코딩 벡터들에 대한 코드북들 선택
KR101756612B1 (ko) 벡터들을 코딩하기 위한 프레임 파라미터 재사용성의 표시
EP3143615B1 (en) Determining between scalar and vector quantization in higher order ambisonic coefficients
KR20170010792A (ko) 고차 앰비소닉 계수들의 폐쇄 루프 양자화

Legal Events

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