KR20220034102A - 오디오 스트림에 있어서의 메타데이터를 코딩하고 가요성 객체간 및 객체내 비트레이트 적응화를 위한 방법 및 시스템 - Google Patents
오디오 스트림에 있어서의 메타데이터를 코딩하고 가요성 객체간 및 객체내 비트레이트 적응화를 위한 방법 및 시스템 Download PDFInfo
- Publication number
- KR20220034102A KR20220034102A KR1020227000308A KR20227000308A KR20220034102A KR 20220034102 A KR20220034102 A KR 20220034102A KR 1020227000308 A KR1020227000308 A KR 1020227000308A KR 20227000308 A KR20227000308 A KR 20227000308A KR 20220034102 A KR20220034102 A KR 20220034102A
- Authority
- KR
- South Korea
- Prior art keywords
- metadata
- coding
- audio
- bit
- parameter
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 230000006978 adaptation Effects 0.000 title description 40
- 230000005236 sound signal Effects 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 238000013139 quantization Methods 0.000 claims description 25
- 230000011664 signaling Effects 0.000 claims description 21
- 238000007781 pre-processing Methods 0.000 claims description 12
- 239000000872 buffer Substances 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 239000002131 composite material Substances 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims description 5
- 238000012952 Resampling Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 7
- 238000009877 rendering Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
시스템 및 방법은 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 구비하는 객체-기반 오디오 신호를 코딩한다. 그 시스템 및 방법에 있어서, 오디오 스트림 프로세서는 오디오 스트림들을 분석한다. 메타데이터 프로세서는 오디오 스트림 프로세서에 의한 분석으로부터의 오디오 스트림들에 대한 정보에 응답하여 메타데이터를 코딩한다. 메타데이터 프로세서는 메타데이터 코딩 비트-예산을 제어하는 로직을 이용한다. 인코더는 오디오 스트림들을 코딩한다.
Description
본 개시는 사운드 코딩(sound coding), 보다 구체적으로는, 스피치(speech), 뮤직(music) 또는 일반 오디오 사운드(general audio sound)와 같은, 객체-기반 오디오(object-based audio)를 디지털적으로 코딩하는 기술에 관한 것이다. 특히, 본 개시는 연관된 메타데이터(metadata)를 가진 오디오 스트림들에 응답하여 오디오 객체들(audio objects)을 구비한 객체-기반 오디오 신호를 코딩하는 시스템 및 방법과 그 객체-기반 오디오 신호를 디코딩하는 시스템 및 방법에 관한 것이다.
본 개시 및 첨부된 청구항들에 있어서,
(a) 용어 "객체-기반 오디오"는 복합 오디오 청각 장면(complex audio auditory scene)을, 오디오 객체로서 알려진 개별적인 요소들의 모음(a collection of individual elements)으로서 나타내기 위한 것이다. 또한, 상기한 바와 같이, "객체-기반 오디오"는, 예를 들어, 스피치, 뮤직 또는 일반 오디오 사운드를 구비할 수 있다.
(b) 용어 "오디오 객체"는 연관된 메타데이터를 가진 오디오 스트림을 나타내기 위한 것이다. 예를 들어, 본 개시에 있어서, "오디오 객체"는 메타데이터를 가진 독립적 오디오 스트림(indepedent audio stream with metadata: ISm)을 지칭한다.
(c) 용어 "오디오 스트림"은, 비트-스트림에 있어서, 예를 들어, 스피치, 뮤직 또는 일반 오디오 사운드와 같은 오디오 파형을 나타내기 위한 것으로, 2개 채널(스테레오)이 고려될 수 있지만 한 채널(모노)로 구성될 수 있다. "모노"는 "모노포닉(monophonic)"의 약어이며, "스테레오"는 "스테레오포닉(stereophonic)"의 약어이다.
(d) 용어 "메타데이터"는 원시(original) 또는 코딩된 오디오 객체들을 재생 시스템으로 중계하는데 이용되는 예술적 의도(artistic intension) 및 오디오 스트림을 설명하는 정보의 세트를 나타내기 위한 것이다. 메타데이터는, 통상, 위치, 배향, 볼륨(volume), 폭 등과 같은, 각각의 개벌적인 오디오 객체의 공간적 성질들을 설명한다. 본 개시에 맥락에서, 2세트의 메타데이터들이 고려된다.
- 입력 메타데이터: 코덱(codec)에 대한 입력으로서 이용된 양자화되지 않은 메타데이터 표시(representation); 본 개시는 입력 메타데이터의 특정 포맷에 제한되지 않는다.
- 코딩된 메타데이터: 인코더에서 디코더로 전송된 비트-스트림의 일부를 형성하는 양자화되고 코딩된 메타데이터.
(e) 용어 "오디오 포맷"은 몰입식 오디오 경험을 달성하기 위한 방식을 나타내기 위한 것이다.
(f) 용어 "재생 시스템"은, 예를 들어, 배타적인 것은 아니지만, 재생측에서 전송된 메타데이터 및 예술적 의도를 이용하여 청취자 주변의 3D(Three-Dimensional) 오디오 공간에서 오디오 객체들을 랜더링(rendering)할 수 있는, 디코더에 있어서의 요소를 나타내기 위한 것이다. 랜더링은 목표 스피커 레이아웃(target loudspeaker layout)(예를 들어, 5.1 서라운드) 또는 헤드폰에 대해 수행될 수 있는 반면, 메타데이터는, 예를 들어, 헤드-추적 디바이스 피드백(head-tracking device feedback)에 응답하여, 동적으로 수정될 수 있다. 랜더링의 다른 유형들이 고려될 수 있다.
최근 몇 년간, 오디오의 생성, 기록, 표시, 코딩, 전송 및 재생은 청취자에 대한 강화되고 대화식의 몰입식 경험을 향해 가고 있다. 몰입식 경험은, 사운드들이 모든 방향으로부터 올 때, 예를 들어, 사운드 장면(sound scene)에 깊이 빠져들거나 수반되는 상태로서 설명될 수 있다. 몰입식 오디오(3D 오디오라고도 함)에 있어서, 사운드 이미지(sound image)는, 음색(timbre), 지향성, 반향(reverberation), 투명성 및 (오디오) 개방감(spaciousness)의 정확성와 같은, 광범위한 사운드 특성들을 고려하여 청취자 주변의 3차원 모두에 재생된다. 몰입식 오디오는, 주어진 재생 시스템, 즉, 스피커 구성, 집적 재생 시스템(사운드 바(sound bar)들) 또는 헤드폰들을 위해 생성된다. 오디오 재생 시스템의 대화성은, 재생을 위해 사운드 레벨들을 조정하거나, 사운드들의 위치를 변경하거나 다른 언어를 선택하기 위한 기능을 포함할 수 있다.
몰입식 오디오 경험을 달성하기 위한 3가지 기본적인 방식들(이하에서는 오디오 포맷들이라고 지칭할 것임)이 존재한다.
제 1 방식은 채널-기반 오디오로서, 거기에서는 다른 방향들로부터의 사운드를 포획하기 위해 다수의 이격된 마이크로폰들이 이용되며, 특정 스피커 레이아웃에 있어서 하나의 마이크로폰은 하나의 오디오 채널에 대응한다. 각각의 기록된 채널은 특정 위치에 있는 스피커에 공급된다. 예를 들어, 채널-기반 오디오는, 예를 들어, 스테레오, 5.1 서라운드, 5.1+4 등을 구비한다.
제 2 방식은, 차원 성분들(dimensional components)의 조합에 의해 시간의 함수로서 국소 공간에 걸쳐 원하는 사운드 필드(sound field)를 나타내는 장면-기반 오디오이다. 장면-기반 오디오를 나타내는 신호들은 오디오 소스 위치들과 무관하지만 사운드 필드는 랜더링 재생 시스템에서 선택된 스피커 레이아웃으로 변형되어야 한다. 장면-기반 오디오는, 예를 들어, 앰비소닉스(ambisonics)이다.
제 3의 마지막, 몰입식 오디오 방식은, 예를 들어, 오디오 장면에 있어서의 개별적 오디오 요소들의 위치에 대한 정보를 동반한 개별적인 오디오 요소들(예를 들어, 가수, 드럼, 기타)의 세트로서 청각 장면을 나타내어, 그들이 재생 시스템에서 그들의 의도된 장소들에 랜더링될 수 있게 하는 객체-기반 오디오이다. 이것은 객체-기반 오디오에게 큰 가요성 및 대화성을 주는데, 그 이유는 각 객체가 이산되어 있고 개별적으로 조작될 수 있기 때문이다.
상술한 오디오 포맷들의 각각은 장단점을 가진다. 하나의 특정 포맷만이 오디오 시스템에 이용될 뿐만이 아니라 그들은 복합 오디오 시스템에 조합되어 몰입식 청각 장면을 생성할 수 있다는 것이 일반적이다. 예를 들어, 소수의 이산 오디오 객체들을 가진 앰비소닉스와 같이, 객체-기반 오디오와 장면-기반 또는 채널-기반 오디오를 조합한 시스템일 수 있다.
이하의 설명에 있어서 본 개시는 객체-기반 오디오를 인코딩 및 디코딩하기 위한 프레임워크(framework)를 안출한다. 그러한 프레임워크는 객체-기반 오디오 포맷 코딩을 위한 단독 시스템일 수 있으며, 또는 다른 오디오 포맷들 및/또는 그들의 조합의 코딩을 포함할 수 있는 복합 몰입식 코덱의 일부를 형성할 수 있다.
제 1 측면에 따르면, 본 개시는 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 구비한 객체-기반 오디오 신호를 코딩하는 시스템을 제공하며, 그 시스템은, 오디오 스트림들을 분석하는 오디오 스트림 프로세서; 메타데이터를 코딩하기 위해 오디오 스트림 프로세서에 의한 분석으로부터의 오디오 스트림들에 대한 정보에 응답하는 메타데이터 프로세서 - 메타데이터 프로세서는 메타데이터를 코딩하기 위해 메타데이터 코딩 비트-예산을 제어하는 로직을 이용함 - ; 및 오디오 스트림들을 코딩하는 인코더를 구비한다.
본 개시는, 또한, 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 구비한 객체-기반 오디오 신호를 코딩하는 방법을 제공하며, 그 방법은, 오디오 스트림들을 분석하고; (a) 오디오 스트림들의 분석으로부터의 오디오 스트림들에 대한 정보와, (b) 메타데이터 코딩 비트-예산을 제어하는 로직을 이용하여 메타데이터를 코딩하고; 오디오 스트림들을 인코딩하는 것을 구비한다.
제 3 측면에 따르면, 장면-기반 오디오, 멀티-채널들 및 객체-기반 오디오 신호들을 구비한 복합 오디오 청각 장면을 코딩하기 위한 것으로, 객체-기반 오디오 신호들을 코딩하는 상기 정의된 시스템을 구비한, 인코더 디바이스가 제공된다.
본 개시는 장면-기반 오디오, 멀티-채널들 및 객체-기반 오디오 신호들을 구비한 복합 오디오 청각 장면을 코딩하기 위한 것으로, 객체-기반 오디오 신호들을 코딩하는 상술한 방법을 구비한, 인코딩 방법을 제공한다.
객체-기반 오디오 신호를 코딩하는 시스템 및 방법과, 객체-기반 오디오 신호를 디코딩하는 시스템 및 방법의 상술한 및 다른 목적들, 장점들 및 특징들은, 첨부된 도면들을 참조하여 예시에 의해 주어진, 그의 예시적인 실시 예의 이하의 비-제한적 설명을 읽으면 보다 명백해질 것이다.
첨부 도면에 있어서,
도 1은 객체-기반 오디오 신호를 코딩하는 시스템과, 객체-기반 오디오 신호를 코딩하는 대응하는 방법을 동시에 도시한 개략적인 블럭도이고;
도 2는 하나의 메타데이터 파라메타의 비트-스트림 코딩의 다른 시나리오들을 보여주는 도면이고;
도 3a는 객체간 메타데이터 코딩 로직(inter-object metadata coding logic)을 이용하지 않은 경우의, 3개의 오디오 객체들의 메타데이터 파라메타들에 대한 절대 코딩 플래그(absolute coding flag, flag abs )의 값들을 보여주는 그래프이고, 도 3b는 객체간 메타데이터 코딩 로직을 이용한 경우의, 3개의 오디오 객체들의 메타데이터 파라메타들에 대한 절대 코딩 플래그(flag abs )의 값들을 보여주는 그래프로서, 화살표들은, 여러개의 절대 코딩 플래그들의 값들이 1인 프레임들을 나타내며;
도 4는 3개의 코어-인코더(core-encoder)들에 대한 비트레이트 적응화(bitrate adaptation)의 예시를 도시한 그래프이고;
도 5는 ISm(Independent audio stream with metadata) 중요도 로직에 기반한 비트레이트 적응화의 예시를 도시한 그래프이고;
도 6은 도 1의 코딩 시스템에서 도 7의 디코딩 시스템으로 전송된 비트-스트림의 구조를 도시한 개략적인 도면이고;
도 7은 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 시스템과, 오디오 객체들을 디코딩하는 대응하는 방법을 동시에 도시한 개략적인 블럭도이고;
도 8은 객체-기반 오디오 신호를 코딩하는 시스템 및 방법과, 객체-기반 오디오 신호를 디코딩하는 시스템 및 방법을 구현한 하드웨어 부품들의 예시적인 구성의 간략화된 블럭도이다.
도 1은 객체-기반 오디오 신호를 코딩하는 시스템과, 객체-기반 오디오 신호를 코딩하는 대응하는 방법을 동시에 도시한 개략적인 블럭도이고;
도 2는 하나의 메타데이터 파라메타의 비트-스트림 코딩의 다른 시나리오들을 보여주는 도면이고;
도 3a는 객체간 메타데이터 코딩 로직(inter-object metadata coding logic)을 이용하지 않은 경우의, 3개의 오디오 객체들의 메타데이터 파라메타들에 대한 절대 코딩 플래그(absolute coding flag, flag abs )의 값들을 보여주는 그래프이고, 도 3b는 객체간 메타데이터 코딩 로직을 이용한 경우의, 3개의 오디오 객체들의 메타데이터 파라메타들에 대한 절대 코딩 플래그(flag abs )의 값들을 보여주는 그래프로서, 화살표들은, 여러개의 절대 코딩 플래그들의 값들이 1인 프레임들을 나타내며;
도 4는 3개의 코어-인코더(core-encoder)들에 대한 비트레이트 적응화(bitrate adaptation)의 예시를 도시한 그래프이고;
도 5는 ISm(Independent audio stream with metadata) 중요도 로직에 기반한 비트레이트 적응화의 예시를 도시한 그래프이고;
도 6은 도 1의 코딩 시스템에서 도 7의 디코딩 시스템으로 전송된 비트-스트림의 구조를 도시한 개략적인 도면이고;
도 7은 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 시스템과, 오디오 객체들을 디코딩하는 대응하는 방법을 동시에 도시한 개략적인 블럭도이고;
도 8은 객체-기반 오디오 신호를 코딩하는 시스템 및 방법과, 객체-기반 오디오 신호를 디코딩하는 시스템 및 방법을 구현한 하드웨어 부품들의 예시적인 구성의 간략화된 블럭도이다.
본 개시는 메타데이터를 코딩하는 메카니즘의 예시를 제공한다. 본 개시는 가요성 객체내 및 객체간 비트레이트 적응화를 위한 메카니즘, 즉, 가능한 효율적으로 이용 가능 비트레이트를 분배하는 메카니즘을 제공한다. 본 개시에 있어서, 비트레이트가 고정(상수)되는 것이 추가로 고려된다. 그러나, 예를 들어, (a) 적응적 비트레이트-기반 코덱에 있어서 또는 (b) 고정된 전체 비트레이트로 코딩된 오디오 포맷들의 조합을 코딩한 결과로서, 적응적 비트레이트를 유사하게 고려하는 것은 본 개시의 범주내이다.
본 개시에서는 오디오 스트림들이 소위 "코어-인코더"에서 실질적으로 코딩되는 방법에 대한 설명이 없다. 일반적으로, 하나의 오디오 스트림을 코딩하는 코어-인코더는 적응적 비트레이트 코딩을 이용하는 임의 모노 코덱(arbitrary mono codec)일 수 있다. 예시는, 예를 들어, 참고 문헌 [2]에 설명된 바와 같은 코어-인코더의 모듈들간에 가요적이고 효율적으로 분배된 변동 비트-예산(fluctuating bit-budget)를 가진, 참고 문헌 [1]에 설명된 바와 같은 EVS 코덱에 기반한 코덱이다. 참고 문헌 [1] 및 [2]의 전체 내용은 본 명세서에 참조로서 수록된다.
1. 오디오 객체들을 코딩하는 프레임워크
비-제한적 예시로서, 본 개시는 여러개의 오디오 객체들(예를 들어, 최대 16개의 오디오 객체들)의 동시 코딩을 지원하는 프레임워크를 고려하는 반면, 연관된 메타데이터를 가진 오디오 스트림들을 포함하는 오디오 객체들을 코딩하기 위해 ism_total_brate라고 지칭되는 고정 상수(fixed constant) ISm 전체 비트레이트가 고려된다. 예를 들어, 외재 콘텐츠(non-diegetic content)의 경우에 오디오 객체들의 적어도 일부에 대해 메타데이터가 필수적으로 전송되는 것이 아님을 알아야 한다. 영화, TV 쇼 및 다른 비디오들에 있어서의 외재 사운드들은 캐릭터들(characters)이 들을 수 없는 사운드이다. 사운드트랙들(soundtracks)은, 예를 들어, 외재 사운드(non-diegetic sound)인데, 이는 관람객들이 뮤직을 듣기 위한 유일한 사람들이기 때문이다.
예를 들어, 2개의 오디오 객체들을 가진 앰비소닉스 오디오 포맷과 같은, 프레임워크에 있어서 오디오 포맷들의 조합을 코딩하는 경우, codec_total_brate로서 지칭되는 상수 전체 코덱 비트레이트(constant total codec bitrate)는 앰비소닉스 오디오 포맷 비트레이트(즉, 앰비소닉스 오디오 포맷을 인코딩하기 위한 비트레이트)와 ISm 전체 비트레이트 ism _total_ brate의 합(즉, 연관된 메타데이터를 가진 오디오 스트림과 같은, 오디오 객체들을 코딩하기 위한 비트레이트들의 합)을 나타낸다.
본 개시는 2개의 파라메타들, 즉, 각 객체에 대해 오디오 프레임마다 저장되는, 아지뮤즈(azimuth) 및 고도(elevation)로 구성된 입력 메타데이터의 기본적인 비-제한적 예시를 고려한다. 본 예시에 있어서, [-180°, 180°]의 아지뮤즈 범위와 [-90°, 90°]의 고도 범위가 고려된다. 그러나, 2개의 메타데이터 파라메타들 중 단지 하나 또는 그 이상을 고려하는 것은 본 개시의 범주내이다.
2. 객체-기반 코딩
도 1은 여러개의 프로세싱 블럭들을 구비하고, 객체-기반 오디오 신호를 코딩하는 시스템(100)과, 객체-기반 오디오 신호를 코딩하는 대응하는 방법(150)을 동시에 도시한 개략적인 블럭도이다.
2.1 입력 버퍼링(input buffering)
도 1을 참조하면, 객체-기반 오디오 신호를 코딩하는 방법(150)은 입력 버퍼링 동작(151)을 구비한다. 입력 버퍼링 동작(151)을 수행하기 위하여, 객체-기반 오디오 신호를 코딩하는 시스템(100)은 입력 버퍼(101)를 구비한다.
입력 버퍼(101)는 N개의 입력 오디오 객체들(102), 즉, 연관된 각각의 N개의 메타데이터를 가진 N개의 오디오 스트림들을 버퍼링한다. N개의 오디오 스트림들과, 이러한 N개의 오디오 스트림들의 각각에 연관된 N개의 메타데이터를 포함하는 N개의 입력 오디오 객체들(102)은 하나의 프레임, 예를 들어, 20ms 길이의 프레임에 대해 버퍼링된다. 사운드 신호 프로세싱 기술 분야에 잘 알려진 바와, 사운드 신호는 주어진 샘플링 주파수로 샘플링되고, 각각이 다수의 "서브-프레임"으로 분할되는 "프레임"이라고 하는 이 샘플들의 연속하는 블럭들에 의해 프로세싱된다.
2.2 오디오 스트림들 분석 및 프런트 전치-프로세싱(front pre-processing)
도 1을 참조하면, 객체-기반 오디오 신호를 코딩하는 방법(150)은 N개의 오디오 스트림들의 분석 및 프런트 전치-프로세싱 동작(153)을 구비한다. 동작(153)을 수행하기 위하여, 객체-기반 오디오 신호를 코딩하는 시스템(100)은, 입력 버퍼(101)에서 N개의 운송 채널(104)을 통해 오디오 스트림 프로세서(103)로 각각 전송되는 버퍼링된 N개의 오디오 스트림들을 병렬로 분석 및 프런트 전치-프로세싱하기 위해 오디오 스트림 프로세서(103)를 구비한다.
오디오 스트림 프로세서(103)에 의해 수행되는 분석 및 프런트 전치-프로세싱 동작(153)은, 예를 들어, 이하의 서브-동작들 중 적어도 하나를 구비할 수 있다: 시간-영역 과도 검출(time-domain transient detection), 스펙트럼 분석(spectral analysis), 장기 예측 분석(long-term prediction analysis), 피치 추적 및 보이싱 분석(pitch tracking and voicing analysis), 보이스/사운드 활성 검출(VAD/SAD), 대역폭 검출, 잡음 추정 및 신호 분류(이것은, 비-제한적 예시로서, (a) 예를 들어, ACELP 코어-인코더, TCX 코어-인코더, HQ 코어-인코더 등 중에서의 코어-인코더 선택, (b) 예를 들어, 불활성 코어-인코더 유형, 무성음 코어-인코더 유형, 유성음 코어-인코더 유형, 제네릭 코어-인코더 유형(generic core-encoder type), 전이 코어-인코더 유형(transition core-encoder type) 및 오디오 코어-인코더 유형 등간의 신호 유형 분류, (c) 스피치/뮤직 분류 등을 포함할 수 있음). 분석 및 프런트 전치-프로세싱 동작(153)으로부터 획득한 정보는 라인(121)을 통해 구성 및 결정 프로세서(106)로 공급된다. 상술한 서브-동작들의 예시는 EVS 코덱과 관련하여 참고 문헌 [1]에 설명되며, 따라서, 본 개시에서는 추가적인 설명을 하지 않겠다.
2.3 메타데이터 분석, 양자화 및 코딩
객체-기반 오디오 신호를 코딩하는, 도 1의 방법(150)은 메타데이터 분석, 양자화 및 코딩 동작(155)을 구비한다. 동작(155)을 수행하기 위하여, 객체-기반 오디오 신호를 코딩하는 시스템(100)은 메타데이터 프로세서(105)를 구비한다.
2.3.1 메타데이터 분석
오디오 스트림 프로세서(103)로부터의 신호 분류 정보(120)(예를 들어, EVS 코덱에서 이용되는 VAD 또는 local/ VAD 플래그(참고 문헌 [1] 참조))는 메타데이터 프로세서(105)로 공급된다. 메타데이터 프로세서(105)는, 특정 오디오 객체에 대해 현재 프레임이 불활성(예를 들어, VAD=0)인지 활성(예를 들어, VAD≠0)인지를 판정하기 위해 N개의 오디오 객체들의 각각의 메타데이터의 분석기(도시되지 않음)를 구비한다. 불활성 프레임들에 있어서, 그 객체와 관련하여 메타데이터 프로세서(105)에 의해 코딩되는 메타데이터는 없다. 활성 프레임들에 있어서, 메타데이터는 가변 비트레이트를 이용하여 이 오디오 객체에 대해 양자화되고 코딩된다. 메타데이터 양자화 및 코딩에 대한 보다 세부적인 사항은 이하의 섹션 2.3.2 및 2.3.3에 제공될 것이다.
2.3.2 메타데이터 양자화
도 1의 메타데이터 프로세서(105)는, 설명된 비-제한적인 예시적 실시 예들에 있어서, 오디오 객체들의 양자화와 이 오디오 객체들의 메타데이터 파라메타들간에 특정의 종속성이 채용될 수 있는 루프로(in a loop) 순차적으로 N개의 오디오 객체들의 메타데이터를 양자화 및 코딩한다.
상술한 바와 같이, 본 개시에 있어서, 2개의 메타데이터 파라메타들, 즉, 아지뮤즈 및 고도(N개의 입력 메타데이터내에 포함됨)가 고려된다. 비-제한적 예시로서, 메타데이터 프로세서(105)는 이용되고 있는 비트들의 개수를 감소시키기 위해 이하의 예시적인 분해능(resolution)을 이용하는 이하의 메타데이터 파라메타 인덱스들의 양자화기(도시되지 않음)를 구비한다.
- 아지뮤즈 파라메타: 입력 메타데이터의 파일(file)로부터의 12-비트 아지뮤즈 파라메타 인덱스는 B az -비트 인덱스(예를 들어, B az = 7)로 양자화된다. 최소 및 최대 아지뮤즈 한도(-180° 및 +180°)가 주어지면, (B az = 7)-비트 균일 스칼라 양자화기(bit uniform scalar quantizer)에 대한 양자화 스텝(quantization step)은 2.835°이다.
- 고도 파라메타: 입력 메타데이터 파일로부터의 12-비트 고도 파라메타 인덱스는 B el -비트 인덱스(예를 들어, B el = 6)로 양자화된다. 최소 및 최대 고도 한도(-90° 및 +90°)가 주어지면, (B el = 6)-비트 균일 스칼라 양자화기에 대한 양자화 스텝(quantization step)은 2.857°이다.
메타데이터 파라메타 인덱스들을 양자화하기 위한 전체 개수의 양자화 비트들(양자화 인덱스 입도(granularity) 및 그에 따른 분해능과 같은)과 N 메타데이터를 코딩하기 위한 전체 메타데이터 비트-예산은 비트레이트(들) codec_total_brate, ism_total_brate 및/또는 element_brate에 따라 이루어질 수 있다(후자는 하나의 오디오 객체와 연관된 코어-인코더 비트-예산 및/또는 메타데이터 비트-예산의 합으로부터 결과함).
아지뮤즈와 고도 파라메타들은, 예를 들어, 구체상의 한 포인트(point on a sphere)에 의해 하나의 파라메타로서 표시될 수 있다. 그 경우, 2 이상의 파라메타들을 포함하는 다른 메타데이터를 구현하는 것은 본 개시의 범위내에 있다.
2.3.3 메타데이터 코딩
아지뮤즈 및 고도 인덱스들 모두가 일단 양자화되면, 그들은 절대 또는 차분 코딩(absolute or differential coding)을 이용하여, 메타데이터 프로세서(105)의 메타데이터 인코더(도시되지 않음)에 의해 코딩될 수 있다. 알겠지만, 절대 코딩은 파라메타의 현재 값이 코딩되는 것을 의미한다. 차분 코딩은 파라메타의 현재 값과 이전 값간의 차이가 코딩되는 것을 의미한다. 아지뮤즈 및 고도 파라메타들의 인덱스들이 통상적으로 부드럽게 점진적으로 변화함에 따라(즉, 아지뮤즈 또는 고도 위치의 변경은 연속적이고 부드러운 것으로 간주될 수 있음), 자동적으로 차분 코딩이 이용된다. 그러나, 이하에 예시들에서는 절대 코딩이 이용될 수 있다:
- 파라메타 인덱스의 현재 값과 이전 값간의 차이가 너무 커서, 절대 코딩을 이용하는 것에 비해 차분 코딩을 이용하는 경우에 보다 많은 개수의 비트들로 결과하는 경우(예외적으로 발생할 수 있음);
- 이전 프레임내에 코딩되고 전송된 메타데이터가 없었던 경우;
- 차분 코딩을 이용한 연속적인 프레임들이 너무 많이 존재했던 경우. 잡음 채널(BFI(Bad Frame Indicator) = 1)에 있어서의 디코딩을 제어하기 위해, 예를 들어, 메타데이터 인코더는, 차분 코딩에 의해 코딩되는 연속하는 프레임들의 개수가 차분 코딩을 이용하여 코딩된 연속하는 프레임들의 최대 개수보다 더 크면, 절대 코딩을 이용하여 메타데이터 파라메타 인덱스들을 코딩한다. 연속하는 프레임들의 최대 개수는 β로 설정된다. 비-제한적인 예시로서, β=10 프레임들이다.
메타데이터 인코더는, 절대 코딩과 차분 코딩을 구분하기 위하여 1-비트 절대 코딩 플래그 flagabs를 생성한다.
절대 코딩의 경우, 코딩 플래그 flag abs 는 1로 설정되며, 절대 코딩을 이용하여 코딩된 B az -비트(또는 B el -비트) 인덱스가 뒤따른다. B az 또는 B el 는, 각각, 코딩될 아지뮤즈 및 고도 파라메타들의 상술한 인덱스들을 지칭한다.
차분 코딩의 경우, 1-비트 코딩 플래그 flag abs 는 0으로 설정되며, 0과 동일한 이전 프레임들과 현재 프레임들에 있어서의 B az -비트 인덱스들(각각 B el -비트 인덱스들)간의 차이 △를 시그널링하는 1-비트 제로 코딩 플래그(zero coding flag) flag zero 가 뒤따른다. 차이 △가 0이 아니면, 메타데이터 인코더는, 1-비트 부호 플래그(sign flag) flag sign 을 생성하고, 뒤이어, 예를 들어, 차이 △의 값을 나타내는 단항 코드(unary code) 형태이고 비트들의 개수가 적응적인 차이 인덱스(difference index)를 생성함에 의해 코딩을 계속한다.
도 2는 하나의 메타데이터 파라메타의 비트-스트림 코딩의 다른 시나리오들을 보여주는 도면이다.
도 2를 참조하면, 모든 메타데이터 파라메타들이 항상 매 프레임내에 전송되는 것은 아님을 알아야 한다. 일부는 단지 매 y번째 프레임내에 전송될 수 있고, 일부는, 예를 들어, 그들이 점진적으로 변화되지 않을 때, 그들이 중요하지 않을 때, 또는 이용 가능 비트-예산이 낮을 때, 전혀 송신되지 않는다. 도 2를 참조하면, 예를 들어,
- 절대 코딩(도 2의 제 1 라인)의 경우에는, 절대 코딩 플래그 flag abs 및 B az -비트 인덱스(각각 Bel-비트 인덱스)가 전송된다;
- 현재 프레임들과 이전 프레임들에 있어서의 B az -비트 인덱스들(각각 B el -비트 인덱스들)간의 차이 △가 0인 차분 코딩(도 2의 제 2 라인)의 경우에는, 절대 코딩 플래그 flag abs =0 및 제로 코딩 플래그 flag zero = 1이 전송된다;
- 현재 프레임들과 이전 프레임들에 있어서의 B az -비트 인덱스들(각각 B el -비트 인덱스들)간의 차이 △가 포지티브(positive)인 차분 코딩(도 2의 제 3 라인)의 경우에는, 절대 코딩 플래그 flag abs =0, 제로 코딩 플래그 flag zero = 1, 부호 플래그 flag sign = 0 및 차이 인덱스(1 내지 (B az -3)-비트 인덱스(각각 1 내지 (B el -3)-비트 인덱스))가 전송된다;
- 현재 프레임들과 이전 프레임들에 있어서의 B az -비트 인덱스들(각각 B el -비트 인덱스들)간의 차이 △가 네거티브(negative)인 차분 코딩(도 2의 마지막 라인)의 경우에는, 절대 코딩 플래그 flag abs =0, 제로 코딩 플래그 flag zero = 1, 부호 플래그 flag sign = 1 및 차이 인덱스(1 내지 (B az -3)-비트 인덱스(각각 1 내지 (B el -3)-비트 인덱스))가 전송된다.
2.3.3.1 객체내 메타데이터 코딩 로직(intra-object metadata coding logic)
절대 또는 차분 코딩을 설정하는데 이용되는 로직은 객체내 메타데이터 코딩 로직에 의해 추가 확장될 수 있다. 특히, 프레임들간의 메타데이터 코딩 비트-예산 변동의 범위를 제한하고 그에 따라 코어-인코더(109)를 위해 남겨진 비트-예산이 너무 낮아지는 것을 피하기 위해, 메타데이터 인코더는 주어진 프레임에 있어서의 절대 코딩을 1로 제한하거나 일반적으로 메타데이터 파라메타들의 가능한 한 낮은 개수로 제한한다.
아지뮤즈 및 고도 메타데이터 파라메타 코딩의 비-제한적 예시에 있어서, 메타데이터 인코더는, 아지뮤즈 인덱스가 이미 주어진 프레임에서 절대 코딩을 이용하여 코딩되었으면, 동일 프레임내의 고도 인덱스의 절대 코딩을 회피하는 로직을 이용한다. 다시 말해, 하나의 오디오 객체의 아지뮤즈 및 고도 파라메타들은 둘 모두가 (실제적으로) 결코 동일 프레임에서 절대 코딩을 이용하여 코딩되지 않는다. 결론적으로, 아지뮤즈 파라메타에 대한 절대 코딩 플래그 flag abs . azi 가 1이면, 고도 파라메타에 대한 절대 코딩 플래그 flag abs . ele 는 오디오 객체 비트-스트림내에 전송되지 않는다.
객체내 메타데이터 코딩 로직이 비트레이트에 의존하게 되도록 하는 것은 본 개시의 범주 이내이다. 예를 들어, 비트레이트가 충분히 크면, 고도 파라메타의 절대 코딩 플래그 flag abs . ele 와 아지뮤즈 파라메타에 대한 절대 코딩 플래그 flag abs . azi 의 둘 모두가 동일 프레임내에 전송될 수 있다.
2.3.3.2 객체간 메타데이터 코딩 로직
메타데이터 인코더는 서로 다른 오디오 객체들의 메타데이터 코딩에 유사한 로직을 적용할 수 있다. 구현된 객체간 메타데이터 코딩 로직은 현재 프레임에서 절대 코딩을 이용하여 코딩된 서로 다른 오디오 객체들의 메타데이터 파라메타들의 개수를 최소화한다. 이것은, 메타데이터 인코더가 주로, 파라메타 β에 의해 표시되고 견고성을 위해 선택된 절대 코딩을 이용하여 코딩된 메타데이터 파라메타들의 프레임 카운터들(frame counters)을 제어함으로써 달성된다. 비-제한적 예시로서, 오디오 객체들의 메타데이터 파라메타들이 느리고 부드럽게 점진적으로 변화하는 시나리오가 고려된다. 매 β 프레임들마다 절대 코딩을 이용하여 인덱스들이 코딩되는 잡음 채널에서의 디코딩을 제어하기 위하여, 오디오 객체 #1의 아지뮤즈 B az -비트 인덱스는 프레임 M에서 절대 코딩을 이용하여 코딩되고, 오디오 객체 #1의 고도 Bel-비트 인덱스는 프레임 M+1에서 절대 코딩을 이용하여 코딩되며, 오디오 객체 #2의 아지뮤즈 B az -비트 인덱스는 프레임 M+2에서 절대 코딩을 이용하여 코딩되고, 오디오 객체 #2의 고도 B el -비트 인덱스는 프레임 M+3에서 절대 코딩을 이용하여 코딩되며, 그 외에도 마찬가지이다.
도 3a는 객체간 메타데이터 코딩 로직(inter-object metadata coding logic)을 이용하지 않은, 3개의 오디오 객체들의 메타데이터 파라메타들에 대한 절대 코딩 플래그(absolute coding flag, flag abs )의 값들을 보여주는 그래프이고, 도 3b는 객체간 메타데이터 코딩 로직을 이용한, 3개의 오디오 객체들의 메타데이터 파라메타들에 대한 절대 코딩 플래그(flag abs )의 값들을 보여주는 그래프이다. 도 3a에 있어서, 화살표들은 여러개의 절대 코딩 플래그의 값들이 1인 프레임들을 나타낸다.
보다 구체적으로, 도 3a는 객체간 메타데이터 코딩 로직(inter-object metadata coding logic)을 이용하지 않은, 오디오 객체들에 대한 2개의 메타데이터 파라메타들(본 특정 예시에서는 아지뮤즈 및 고도)에 대한 절대 코딩 플래그(flag abs )의 값들을 보여주는 반면, 도 3b는 동일한 값들이되, 객체간 메타데이터 코딩 로직이 구현된 것을 보여준다. 도 3a 및 도 3b의 그래프들은 (위에서 아래로) 이하에 대응한다:
- 오디오 객체 #1의 오디오 스트림;
- 오디오 객체 #2의 오디오 스트림;
- 오디오 객체 #3의 오디오 스트림;
- 오디오 객체 #1의 아지뮤즈 파라메타에 대한 절대 코딩 플래그 flag abs . azi ;
- 오디오 객체 #1의 고도 파라메타에 대한 절대 코딩 플래그 flag abs . ele ;
- 오디오 객체 #2의 아지뮤즈 파라메타에 대한 절대 코딩 플래그 flag abs . azi ;
- 오디오 객체 #2의 고도 파라메타에 대한 절대 코딩 플래그 flag abs . ele ;
- 오디오 객체 #3의 아지뮤즈 파라메타에 대한 절대 코딩 플래그 flag abs . azi ; 및
- 오디오 객체 #3의 고도 파라메타에 대한 절대 코딩 플래그 flag abs . ele .
도 3a로부터, 객체간 메타데이터 코딩 로직이 이용되지 않을 때 동일 프레임에서 여러개의 flag abs 가 1의 값을 가질 수 있음(화살표 참조)을 알 수 있을 것이다. 이와 대조적으로, 도 3b는, 객체간 메타데이터 코딩 로직이 이용될 때 주어진 프레임에서 하나의 절대 플래그 flag abs 가 1의 값을 가질 수 있음을 보여준다.
객체간 메타데이터 코딩 로직은 비트레이트에 의존할 수 있다. 이 경우에는, 예를 들어, 비트레이트가 충분히 크면, 객체간 메타데이터 코딩 로직이 이용되는 경우에도, 주어진 프레임에 있어서 2 이상의 절대 플래그 flag abs 가 1의 값을 가질 수 있다.
객체간 메타데이터 코딩 로직과 객체내 메타데이터 코딩 로직의 기술적 장점은, 프레임들간의 메타데이터 코딩 비트-예산의 변동 범위를 제한한다는 것이다. 또 다른 기술적 장점은, 잡음 채널에 있어서의 코덱의 견고성을 증가시키는 것으로, 프레임이 상실되면, 절대 코딩을 이용하여 코딩된 오디오 객체들로부터의 단지 제한된 개수의 메타데이터 파라메타들만이 상실된다. 결론적으로, 상실된 프레임으로부터 전파된 임의 에러는 오디오 객체들에 걸쳐 단지 소수의 메타데이터 파라메타들에게만 영향을 미치며 그에 따라 전체 오디오 장면(또는 여러 개의 서로 다른 채널들)에는 영향을 미치지 않는다.
오디오 스트림들로부터 개별적으로 메타데이터를 분석하고, 양자화하고 코딩하는 전체적인 기술적 장점은, 상술한 바와 같이, 메타데이터 코딩 비트레이트, 메타데이터 코딩 비트-예산 변동, 잡음 채널에 있어서의 견고성, 상실된 프레임들에 기인한 에러 전파의 견지에서, 보다 효율적이고 메타데이터에 특정하게 맞게 조정된 프로세싱이 가능하다는 것이다.
메타데이터 프로세서(105)로부터의 양자화되고 코딩된 메타데이터(112)는 원거리 디코더(700)(도 7)로 전송되는 출력 비트-스트림(111)내로의 삽입을 위해 멀티플렉서(110)로 공급된다.
N개 오디오 객체들의 메타데이터가 분석되고, 양자화되고 인코딩되면, 메타데이터 프로세서(105)로부터의 오디오 객체 마다의 메타데이터의 코딩을 위한 비트-예산에 대한 정보(107)가 이하의 섹션 2.4에서 보다 상세하게 설명할 구성 및 결정 프로세서(106)(비트-예산 할당기)로 공급된다. 오디오 스트림들간의 구성 및 비트레이트 분배가 프로세서(106)(비트-예산 할당기)에서 완료되면, 코딩은 추후에 설명할 추가적인 전치-프로세싱(158)을 계속한다. 마지막으로, N개의 오디오 스트림들은, 예를 들어, 모노 코어-인코더와 같은, N개의 변동 비트레이트 코어-인코더들(109)을 구비한 인코더를 이용하여 인코딩된다.
2.4 채널당 비트레이트 구성 및 결정
객체-기반 오디오 신호를 코딩하는, 도 1의 방법(150)은 운송 채널(104) 마다의 비트레이트들에 대한 구성 및 결정 동작(1560)을 구비한다. 동작(156)을 수행하기 위하여, 객체-기반 오디오 신호를 코딩하는 시스템(100)은 비트-예산 할당기를 형성하는 구성 및 결정 프로세서(106)를 구비한다.
구성 및 결정 프로세서(106)(이하에서는 비트-예산 할당기(106)로 지칭함)는 N개의 운송 채널들(104)에 있어서의 N개의 오디오 스트림들을 코어-인코딩하기 위한 이용 가능 비트-예산을 분배하기 위해 비트레이트 적응화 알고리즘을 이용한다.
구성 및 결정 동작(156)의 비트레이트 적응화 알고리즘은 비트-예산 할당기(106)에 의해 수행되는 이하의 서브-동작들(1-6)을 구비한다:
1. 프레임당 ISm 전체 비트-예산 bits ism 이, 예를 들어, 이하의 관계식을 이용하여 ISm 전체 비트레이트 ism _total_ brate(또는 단지 오디오 객체들만이 코딩되면 코덱 전체 비트레이트 codec_total_brate)로부터 계산된다.
분모 50은, 20-ms 길이의 프레임들을 상정할 경우, 초당 프레임들의 개수에 대응한다. 값 50은, 프레임들의 크기가 20ms와 다를 경우, 달라질 수 있다.
2. N개의 오디오 객체들에 대해 정의된 (하나의 오디오 객체와 연관된 코어-인코더 비트-예산과 메타데이터 비트-예산의 합으로부터 결과하는) 상기 정의된 요소 비트레이트 element_ brate는 세션동안 주어진 코덱 전체 비트레이트로 변함이 없으며, N개의 오디오 객체들에 대한 것과 대략 동일한 것으로 상정된다. "세션"은, 예를 들어, 오디오 파일의 오프-라인 압축(off-line compression) 또는 통화(phone call)로서 정의된다. 이하의 관계식을 이용하여 오디오 스트림 객체들 n = 0,...,N-1에 대해 대응하는 요소 비트-예산 bits element 가 계산된다.
는 x 보다 작거나 그와 동일한 최대 정수를 나타낸다. 모든 이용 가능한 ISm 전체 비트-예산 bit ism 을 소비하기 위하여, 예를 들어, 마지막 오디오 객체의 요소 비트-예산 bits element 이 이하의 관계식을 이용하여 최종적으로 조정된다.
"mod"는 나머지 모듈로 동작(remainder modulo operation)을 나타낸다. 마지막으로, N개의 오디오 객체들의 요소 비트-예산 bits element 는, 예를 들어, 이하의 관계식을 이용하여 오디오 객체들 n = 0,...,N-1에 대해 값 element_ brate를 설정하는데 이용된다.
수 50은, 이미 언급한 바와 같이, 20ms 길이의 프레임을 가정할 때, 초당 프레임들의 개수에 대응한다.
3. N개의 오디오 객체들의 프레임당 메타데이터 비트-예산 bits meta 은 이하의 관계식을 이용하여 합산된다.
결과하는 값 bits meta _all 은 ISm 공통 시그널링 비트-예산 bits Ism _ signalling 에 가산되어, 코덱측 비트-예산(coded side bit-budget)으로 결과한다.
4. 프레임당 코덱측 비트-예산 은 N개의 오디오 객체들간에 균등하게 분할되어, 예를 들어, 이하의 관계식을 이용하여 N개의 오디오 객체들의 각각에 대한 코어-인코더 비트-예산 bits CoreCoder 을 계산하는데 이용되는 반면,
예를 들어, 마지막 오디오 스트림의 코어-인코더 비트-예산은, 예를 들어, 이하의 관계식을 이용하여, 궁극적으로 이용 가능한 코어-인코딩 비트-예산 모두를 소비하도록 조정될 수 있다.
대응하는 전체 비트레이트 total_ brate , 즉, 코어-인코더에 있어서의 하나의 오디오 스트림을 코딩하기 위한 비트레이트는, 예를 들어, 이하의 관계식을 이용하여, n = 0,...,N-1에 대해 획득된다.
수 50은, 20ms 길이의 프레임들을 가정할 때, 초당 프레임들의 개수에 대응한다.
5. 불활성 프레임들(또는 매우 낮은 에너지를 가지거나 유의미한 콘텐츠가 없는 프레임들)에 있어서의 전체 비트레이트 total_ brate는 낮아질 수 있고 연관된 오디오 스트림들에 있어서 상수값으로 설정될 수 있다. 그렇게 절약된 비트-예산은 프레임에 있어서 활성 콘텐츠를 가진 오디오 스트림들간에 균등하게 재분배된다. 비트-예산의 그러한 재분배는 이하의 섹션 2.4.1에서 추가 설명될 것이다.
6. 활성 프레임내의 (활성 콘텐츠를 가진) 오디오 스트림에 있어서의 전체 비트레이트 total_ brate는, ISm 중요도 분류에 기반하여 이들 오디오 스트림들간에 추가로 조정된다. 그러한 비트레이트의 조정은 이하의 섹션 2.4.2에서 추가 설명될 것이다.
오디오 스트림들 모두가 불활성 세그먼트내에 있을 때(또는 유의미한 콘텐츠가 없을때), 상기 마지막 2개의 서브-동작들 5 및 6은 건너뛴다. 따라서, 이하의 섹션 2.4.1 및 2.4.2에 설명한 비트레이트 적응화 알고리즘은, 적어도 하나의 오디오 스트림이 활성 콘텐츠를 가질 때, 채용된다.
2.4.1 신호 활성화에 기초한 비트레이트 적응화
불활성 프레임(VAD=0)에 있어서, 전체 비트레이트 total_ brate는 낮아지고 절약된 비트-예산은, 예를 들어, 활성 프레임들(VAD≠0)내의 오디오 스트림들간에 균등하게 재분배된다. 전제는 불활성으로 분류된 프레임들내의 오디오 스트림들의 파형 코딩이 요구되지 않는다는 것이다. 즉, 오디오 객체는 뮤트(mute)될 수 있다. 매 프레임에 이용되는 로직은 이하의 서브-동작 1-3에 의해 표시될 수 있다.
1. 특정 프레임에 대해, 불활성 콘텐츠를 가진 매 오디오 스트림 n에 대해 낮은 코어-인코더 비트-예산이 설정된다.
여기에서, 는 불활성 프레임들에서 설정될 낮은 상수 코어-인코더 비트-예산으로서, 예를 들어, = 140(이는 20ms 프레임에 대해 7kbps에 대응함)이거나, = 49(이는 20ms 프레임에 대해 2.45kbps에 대응함)이다.
2. 다음, 절약된 비트-예산은, 예를 들어, 이하의 관계식을 이용하여 계산된다.
3. 마지막으로, 절약된 비트 예산은, 예를 들어, 이하의 관계식을 이용하여 주어진 프레임내에 활성 콘텐츠를 가진 오디오 스트림들의 코어-인코더 비트-예산들간에 균등하게 재분배된다.
여기에서, 는 활성 콘텐츠를 가진 오디오 스트림들의 개수이다. 활성 콘텐츠를 가진 제 1 오디오 스트림의 코어-인코더 비트-예산은, 궁국적으로, 예를 들어, 이하의 관계식을 이용하여 증가된다.
각 오디오 스트림 n = 0,...,N-1에 대해, 다음과 같이, 대응하는 코어-인코더 전체 비트레이트 total_brate가 최종적으로 획득된다.
도 4는 3개의 코어-인코더(core-encoder)들에 대한 비트레이트 적응화(bitrate adaptation)의 예시를 도시한 그래프이다. 특히, 도 4에 있어서, 제 1 라인은 오디오 스트림 #1에 대한 코어-인코더 전체 비트레이트 total_ brate를 보여주고, 제 2 라인은 오디오 스트림 #2에 대한 코어-인코더 전체 비트레이트 total_ brate를 보여주며, 제 3 라인은 오디오 스트림 #3에 대한 코어-인코더 전체 비트레이트 total_brate를 보여주며, 라인 4는 오디오 스트림 #1이고, 라인 5는 오디오 스트림 #2이며, 라인 6은 오디오 스트림 #3이다.
도 4의 예시에 있어서, 3개의 코어-인코더에 대한 전체 비트레이트 total_brate의 적응화는 VAD 활성화(활성/불활성 프레임들)에 기반한다. 도 4로부터 알 수 있는 바와 같이, 대부분의 시간 동안, 변동측 비트-예산 의 결과로서, 코어-인코더 전체 비트레이트 total_ brate의 작은 변동이 존재한다. 그 다음, VAD 활성화의 결과로서, 코어-인코더 전체 비트레이트 total_ brate의 실질적인 변경은 드물다.
예를 들어, 도 4를 참조하면, 예시 A)는 오디오 스트림 #1의 VAD 활성화가 1(활성)에서 0(불활성)으로 변경되는 프레임에 대응한다. 로직에 따르면, 최소 코어-인코더 전체 비트레이트 total_ brate가 오디오 객체 #1에 할당되는 반면, 활성 오디오 객체들 #2 및 #3에 대한 코어-인코더 전체 비트레이트 total_ brate는 증가된다. 예시 B)는, 오디오 스트림 #3의 VAD 활성화가 1(활성)에서 0(불활성)으로 변경되는 반면, 오디오 스트림 #1의 VAD 활성화는 0으로 유지되는 프레임에 대응한다. 로직에 따르면, 최소 코어-인코더 전체 비트레이트 total_ brate가 오디오 스트림들 #1 및 #3에 할당되는 반면, 활성 오디오 스트림 #2에 대한 코어-인코더 전체 비트레이트 total_brate는 더욱 증가된다.
섹션 2.4.1의 상기 로직은 전체 비트레이트 ism _total_ brate에 의존하여 이루어질 수 있다. 예를 들어, 상술한 서브-동작 1에 있어서의 비트-예산 은 높은 전체 비트레이트 ism _total_ brate에 대해 보다 높게 설정될 수 있고, 낮은 전체 비트레이트 ism _total_ brate에 대해 보다 낮게 설정될 수 있다.
2.4.2 ISm 중요도에 기반한 비트레이트 적응화
이전 섹션 2.4.1에 설명한 로직은 주어진 프레임내에 활성 콘텐츠(VAD=1)를 가진 매 오디오 스트림에 있어서 대략 동일한 코어-인코더 비트레이트로 결과한다. 그러나, ISm 중요도의 분류(또는 보다 일반적으로는, 디코딩된 합성(decoded synthesis)의 주어진 (높은) 품질을 획득하기 위해 현재 프레임내의 특정 오디오 객체들의 크리티컬 코딩(critical coding)이 어떠한지를 나타내는 메트릭)에 기반하여 객체간 코어-인코더 비트레이트 적응화를 도입하는 것이 유익할 수 있다.
ISm 중요도의 분류는, 참고 문헌 [1]에 설명된 바와 같이, 예를 들어, 코어-인코더 유형(coder_type), FEC(Forward Error Correction), 사운드 신호 분류(class), 스피치/뮤직 분류 결정 및/또는 개방-루프 ACELP/TCX(Algebraic Code-Excited Linear Prediction/Transform-Coded eXcitation) 코어 결정 모듈(snr _ celp, snr_tcx)로부터의 SNR(Signal-to-Noise Ratio) 추정과 같은, 여러 파라메타들 또는 파라메타들의 조합에 기반할 수 있다. ISm 중요도의 분류를 결정하기 위해 다른 파라메타들이 이용될 수 도 있다.
비-제한적 예시에 있어서, 참고 문헌 [1]에 정의된 바와 같이 코어-인코더 유형에 기반한 ISm 중요도의 간단한 분류가 구현된다. 이를 위해, 도 1의 비트-예산 할당기(106)는 특정 ISm 스트림의 중요도의 등급을 매기기 위한 분류기(도시되지 않음)를 구비한다. 그 결과, 4개의 개별적인 ISm 중요도 등급들 class ISm 이 정의된다.
- 노우 메타데이터 등급(no metadata class), ISM _NO_ META: 메타데이터 코딩없는 프레임들, 예를 들어, VAD=0을 가진 불활성 프레임들;
- 낮은 중요도 등급, ISM _LOW_IMP: coder_type = UNVOICED 또는 INACTIVE인 프레임들;
- 중간 중요도 등급, ISM _MEDIUM_IMP: coder_type = VOICED인 프레임들;
- 높은 중요도 등급, ISM _HIGH_IMP: coder_type = GENERIC인 프레임들.
ISm 중요도 등급은, 비트레이트 적응화 알고리즘에 있어서(상기 섹션 2.4, 서브-동작 6 참조), 보다 높은 ISm 중요도를 가진 오디오 스트림들에 보다 높은 비트-예산을 할당하고, 보다 낮은 ISm 중요도를 가진 오디오 스트림들에 보다 낮은 비트-예산을 할당하도록, 비트-예산 할당기(106)에 의해 이용된다. 매 오디오 스트림 n=0,...,N-1에 대해, 비트-예산 할당기(106)에 의해 이하의 비트레이트 적응화 알고리즘이 이용된다.
2. class ISm = ISM _LOW_IMP로 분류된 프레임들에서는, 전체 비트레이트, total_brate가 예를 들어, 아래와 같이 낮아진다.
여기에서, 상수 는 1.0 미만의 값, 예를 들어, 0.6으로 설정된다. 그 다음, 상수 는, 예를 들어, 코덱의 내부 샘플링 레이트, 코딩된 오디오 대역폭 등(이 값들에 대한 보다 세부적인 설명은 참고 문헌 [1] 참조)에 의존할 수 있는, 특정 구성에 대한, 코덱에 의해 지원되는 최소 비트레이트 임계치를 나타낸다.
3. class ISm = ISM _MEDIUM_IMP로 분류된 프레임들에서는, 코어-인코더 전체 비트레이트 total_brate가, 예를 들어, 다음과 같이 낮아진다.
4. class ISm = ISM _HIGH_IMP로 분류된 프레임들에서는, 이용되는 비트레이트 적응화가 없다.
5. 마지막으로, 절약된 비트-예산(구(old) 전체 비트레이트(total_brate)와 신(new) 전체 비트레이트(total_brate new )간의 차이들의 합)은 프레임내에 활성 콘텐츠를 가진 오디오 스트림들간에 균등하게 재분배된다. 섹션 2.4.1, 서브-동작 2 및 3에서 설명된 것과 동일한 비트-예산 재분배 로직이 이용될 수 있다.
도 5는 ISm 중요도 로직에 기반한 비트레이트 적응화의 예시를 도시한 그래프이다. 상부에서부터 하부로, 도 5의 그래프는, 시간적으로,
- 오디오 객체 #1에 대한 오디오 스트림의 활성 스피치 세그먼트;
- 오디오 객체 #2에 대한 오디오 스트림의 활성 스피치 세그먼트;
- 비트레이트 적응화 알고리즘을 이용하지 않은 오디오 객체 #1에 대한 오디오 스트림의 전체 비트레이트 total_ brate;
- 비트레이트 적응화 알고리즘을 이용하지 않은 오디오 객체 #2에 대한 오디오 스트림의 전체 비트레이트 total_ brate;
- 비트레이트 적응화 알고리즘이 이용될 때의 오디오 객체 #1에 대한 오디오 스트림의 전체 비트레이트 total_ brate; 및
- 비트레이트 적응화 알고리즘이 이용될 때의 오디오 객체 #2에 대한 오디오 스트림의 전체 비트레이트 total_ brate을 나타낸다.
오디오 객체들이 2개(N=2)이고, 고정 상수 전체 비트레이트 ism_total_brate가 48kbps인 도 5의 비-제한적 예시에 있어서, 비트레이트 적응화 알고리즘이 이용되지 않을 경우 오디오 객체 #1의 활성 프레임들에 있어서의 코어-인코더 전체 비트레이트 total_ brate는 23.45kbps와 23.65kbps 사이에서 변동하고, 비트레이트 적응화 알고리즘이 이용될 경우, 그것은 19.15kbps와 28.05kbps 사이에서 변동한다. 유사하게, 오디오 객체 #2의 활성 프레임들에 있어서의 코어-인코더 전체 비트레이트 total_ brate는, 비트레이트 적응화 알고리즘을 이용하지 않으면, 23.40kbps와 23.65kbps 사이에서 변동하고, 비트레이트 적응화 알고리즘을 이용할 경우에는, 19.10kbps와 28.05kbps 사이에서 변동한다. 그에 의해 오디오 스트림들간에 이용 가능한 비트-예산의 보다 양호하고 보다 효율적인 분배가 획득된다.
2.5 전치-프로세싱
도 1을 참조하면, 객체-기반 오디오 신호를 코딩하는 방법(150)은 구성 및 결정 프로세서(106)(비트-예산 할당기)로부터 N개의 운송 채널들(104)을 통해 운반된 N개의 오디오 스트림들의 전치-프로세싱 동작(158)을 구비한다. 동작(158)을 수행하기 위하여, 객체-기반 오디오 신호를 코딩하는 시스템(100)은 전치-프로세서(108)를 구비한다.
N개의 오디오 스트림들간의 구성 및 비트레이트 분배가 구성 및 결정 프로세서(106)(비트-예산 할당기)에 의해 완료되면, 전치-프로세서(108)는 N개의 오디오 스트림들의 각각에 대해 순차적인 추가 전치-프로세싱(158)을 수행한다. 그러한 전치-프로세싱(158)은, 예를 들어, 추가적인 신호 분류, 추가적인 코어-인코더 선택(예를 들어, ACELP 코어, TCX 코어 및 HQ 코어 중에서의 선택), 코어-인코딩을 위해 이용될 비트레이트에 맞게 조정된 다른 내부 샘플링 주파수 F s 로의 다른 재샘플링(resampling) 등을 구비한다. 그러한 전치-프로세싱의 예시들은, 예를 들어, EVS 코덱과 관련하여 참고 문헌 [1]에 나타나 있으며, 그러므로, 본 개시에서는 추가 설명하지 않겠다.
2.6 코어-인코딩
도 1을 참조하면, 객체-기반 오디오 신호를 코딩하는 방법(150)은 코어-인코딩 동작(159)을 구비한다. 동작(159)을 수행하기 위하여, 객체-기반 오디오 신호를 코딩하는 시스템(100)은, 예를 들어, 전치-프로세서(108)로부터 N 운송 채널들(104)을 통해 운반되는 N 오디오 스트림들을 각각 코딩하기 위한 N개의 코어-인코더들(109)을 포함하는, 상술한 N개 오디오 스트림들의 인코더를 구비한다.
특히, N개 오디오 스트림들은, 예를 들어, 모노 코어-인코더들과 같은, N 변동 비트레이트 코어-인코더들(109)을 이용하여 인코딩된다. N 코어-인코더들의 각각에 의해 이용되는 비트레이트는, 대응하는 오디오 스트림에 대해 구성 및 결정 프로세서(106)(비트-예산 할당기)에 의해 선택된 비트레이트이다. 예를 들어, 참고 문헌 [1]에 설명된 코어-인코더가 코어-인코더들(109)로서 이용될 수 있다.
3.0 비트-스트림 구조
도 1을 참조하면, 객체-기반 오디오 신호를 코딩하는 방법(150)은 멀티플렉싱(multiplexing) 동작(160)을 구비한다. 동작(160)을 수행하기 위하여, 객체-기반 오디오 신호를 코딩하는 시스템(100)은 멀티플렉서(110)를 구비한다.
도 6은, 소정 프레임에 대해, 멀티플렉서(110)에 의해 생성되고, 도 1의 코딩 시스템(100)에서 도 7의 디코딩 시스템(700)으로 전송되는 비트-스트림(111)의 구조를 도시한 개략적인 도면이다. 메타데이터가 존재하여 전송되는지 또는 그렇지 않은지에 무관하게, 비트-스트림(111)의 구조는 도 6에 도시된 바와 같이 구성될 수 있다.
도 6을 참조하면, 멀티플렉서(110)는 비트-스트림(111)의 시작에서부터 N개 오디오 스트림들의 인덱스들을 기입하는 반면, 구성 및 결정 프로세서(106)(비트-예산 할당기)로부터의 ISm 공통 시그널링(113)과 메타데이터 프로세서(105)로부터의 메타데이터(112)의 인덱스들은 비트-스트림(111)의 끝에서부터 기입된다.
3.1 ISm 공통 시그널링
멀티플렉서는 비트-스트림(1110의 끝에서부터 ISm 공통 시그널링(113)을 기입한다. ISm 공통 시그널링은 구성 및 결정 프로세서(106)(비트-예산 할당기)에 의해 생성되고 이하를 나타내는 가변 개수의 비트들을 구비한다.
(a) N개의 오디오 객체들: 비트-스트림(111)내에 존재하는 N개의 코딩된 오디오 객체들에 대한 시그널링은, 예를 들어, 정지 비트(stop bit)를 가진 단항 코드 형태이다(예를 들어, N=3 오디오 객체들의 경우, ISm 공통 시그널링의 첫번째 3 비트들은 "110"일 수 있음).
(b) 메타데이터 존재 플래그(metadata presence flag), flag meta : 플래그, flag meta 는, 섹션 2.1.1에 설명된 바와 같은 신호 활성화에 기초한 비트레이트 적응화가 이용될 경우에 존재하며, 그 특정 오디오 객체에 대한 메타데이터가 비트-스트림(111)내에 존재하는지(flag meta = 1) 아닌지(flag meta = 0)를 나타내기 위해 오디오 객체당 1비트를 구비하거나,
(c) ISm 중요도 등급: 이 시그널링은, 섹션 2.4.2에 설명된 바와 같은 ISm 중요도에 기반한 비트레이트 적응화가 이용될 경우에 존재하며, 섹션 2.4.2에 정의된 바와 같이, ISm 중요도 등급, class ISm (ISM _NO_ META , ISM _LOW_IMP, ISM_MEDIUM_IMP, 및 ISM _HIGH_IMP)을 나타내기 위해 오디오 객체당 2 비트들을 구비한다.
(d) ISm VAD 플래그, flag VAD : ISm VAD 플래그는, flag meta = 0이고, class ISm = ISM_NO_META일때 전송되며 이하의 2 경우를 구분한다.
1) 입력 메타데이터가 존재하지 않거나, 오디오 스트림이 활성 코딩 모드(flag VAD = 1)에 의해 코딩될 필요가 있도록 메타데이터가 코딩되지 않는 경우; 및
2) 오디오 스트림이 불활성 코딩 모드(flag VAD = 0)에 의해 코딩될 수 있도록 입력 메타데이터가 존재하고 전송되는 경우.
3.2 코딩된 메타데이터 페이로드(payload)
멀티플렉서(110)는, 메타데이터 프로세서(105)로부터 코딩된 메타데이터(112)를 공급받으며, 현재 프레임에 있어서 메타데이터가 코딩되는(flag meta = 1, 각각 class ISm ≠ ISM _NO_ META) 오디오 객체들에 대한 비트-스트림의 끝에서부터 순차적으로 메타데이터 페이로드를 기입한다. 각 오디오 객체에 대한 메타데이터 비트-예산은 상수가 아니라 객체간 및 프레임간 적응적(inter-object and inter-frame adaptive)이다. 도 2에는 다른 메타데이터 포맷 시나리오들이 도시된다.
메타데이터가 존재하지 않거나 N개 오디오 객체의 적어도 일부에 대해 전송되지 않은 경우, 메타데이터 플래그는 0으로 설정된다. 즉, 이 오디오 객체에 대해 flag meta = 0, 각각 class ISm = ISM _NO_ META이다. 그 다음, 이 오디오 객체들과 관련하여 전송되는 메타데이터 인덱스들은 없다. 즉, 이다.
3.3 오디오 스트림들 페이로드
멀티플렉서(110)는 N개 운송 채널들(104)을 통해 N개 코어 인코더들(109)에 의해 코딩된 N개 오디오 스트림들(114)을 수신하며, N개 오디오 스트림드에 대해 순차적으로 오디오 스트림들을 비트-스트림(111)에서부터 연대순으로 기입한다(도 6 참조). N개 오디오 스트림들의 각각의 비트-예산은 섹션 2.4에 설명된 비트레이트 적응화 알고리즘의 결과로서 변동한다.
4.0 오디오 객체들의 디코딩
도 7은 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 시스템(700)과 오디오 객체들을 디코딩하는 대응하는 방법(750)을 동시에 도시한 개략적인 블럭도이다.
4.1 디멀티플렉싱(demultiplexing)
도 7을 참조하면, 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 방법(750)은 디멀티플렉싱 동작(755)을 구비한다. 동작(755)을 수행하기 위하여, 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 시스템(700)은 디멀티플렉서(705)를 구비한다.
디멀티플렉서는 도 1의 코딩 시스템(100)에서 도 7의 디코딩 시스템(700)으로 전송되는 비트-스트림(701)을 수신한다. 특히, 도 7의 비트-스트림(701)은 도 1의 비트-스트림(111)에 대응한다.
디멀티플렉서(110)는 비트-스트림(701)로부터, (a) 코딩된 N개의 오디오 스트림들(114), (b) N개 오디오 객체들에 대한 코딩된 메타데이터(112), 및 (c) 수신된 비트-스트림(701)의 끝에서부터 판독된 ISm 공통 시그널링(113)을 추출한다.
4.2 메타데이터 디코딩 및 역양자화
도 7을 참조하면, 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 방법(750)은 메타데이터 디코딩 및 역양자화 동작(756)을 구비한다. 동작(756)을 수행하기 위하여, 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 시스템(700)은 메타데이터 디코딩 및 역양자화 프로세서(706)를 구비한다.
메타데이터 디코딩 및 역양자화 프로세서(706)는 활성 콘텐츠를 가진 오디오 스트림들/객체들에 대한 메타데이터를 디코딩하고 역양자화하기 위하여 전송된 오디오 객체들에 대한 코딩된 메타데이터(112), ISm 공통 시그널링(113) 및 출력 셋-업(output set-up)(709)을 공급받는다. 출력 셋-업(709)은 N개의 코딩된 오디오 객체들/운송 채널들과 동일하거나 다를 수 있는, M개의 디코딩된 오디오 객체들/운송 채널들 및/또는 오디오 포맷들에 대한 명령 라인 파라메타(command line parameter)이다. 메타데이터 디코딩 및 역양자화 프로세서(706)는 M개 오디오 객체들/운송 채널들에 대해 디코딩된 메타데이터(704)를 생성하고, 라인(708)상에 M개의 디코딩된 메타데이터를 위한 각각의 비트-예산들에 대한 정보를 공급한다. 명백히, 프로세서(706)에 의해 수행되는 디코딩 및 역양자화는 도 1의 메타데이터 프로세서(105)에 의해 수행되는 양자화 및 코딩의 반대이다.
4.3 비트레이트에 대한 구성 및 결정
도 7을 참조하면, 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 방법(750)은, 채널당 비트레이트들에 대한 구성 및 결정 동작(757)을 구비한다. 동작(757)을 수행하기 위하여, 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 시스템(700)은, 채널당 비트레이트들에 대한 구성 및 결정 프로세서(707)(비트-예산 할당기)를 구비한다.
비트-예산 할당기(707)는 (a) 라인(708)상의 M개의 디코딩된 메타데이터를 위한 각각의 비트-예산들에 대한 정보, (b) 공통 시그널링(113)으로부터의 ISm 중요도 등급 class ISm 을 수신하고, 오디오 스트림당 코어-디코더 비트레이트 total_brate[n]를 결정한다. 비트-예산 할당기(707)는 코어-디코더 비트레이트를 결정하기 위하여 도 1의 비트-예산 할당기에서와 동일한 절차를 이용한다(섹션 2.4 참조).
4.4 코어-디코딩
도 7을 참조하면, 연관된 메타데이터를 가진 오디오 스트림에 응답하여 오디오 객체들을 디코딩하는 방법(750)은 코어-디코딩 동작(760)을 구비한다. 동작(760)을 수행하기 위하여, 연관된 메타데이터를 가진 오디오 스트림에 응답하여 오디오 객체들을 디코딩하는 시스템(700)은 N개의 코어-디코더(710), 예를 들어, N개의 변동 비트레이트 코어-디코더들을 포함하는 N개 오디오 스트림들(114)의 디코더를 구비한다.
디멀티플렉서(705)로부터의 N개 오디오 스트림들(114)은, 예를 들어, 비트-예산 할당기(707)에 의해 결정된 그들 각자의 코어-디코더 비트레이트로 N개의 변동 비트레이트 코어 디코더들에서 순차적으로 디코딩된다. 출력 셋-업(709)에 의해 요청된, 디코딩된 오디오 객체들의 개수 M이 운송 채널들의 개수보다 작으면, 즉, M<N이면, 보다 적은 개수의 코어-디코더들이 이용된다. 유사하게, 그 경우에 메타데이터 페이로드들 모두가 디코딩되는 것은 아니다.
디멀티플렉서(705)로부터의 N개의 오디오 스트림들(114), 비트-예산 할당기(707)에 의해 결정된 코어-디코더 비트레이트들 및 출력 셋-업(709)에 응답하여, 코어-디코더들(710)은 각 M개의 운송 채널상에 M개의 디코딩된 오디오 스트림들(703)을 생성한다.
5.0 오디오 채널 랜더링
오디오 채널 랜더링(761)의 동작에 있어서, 오디오 객체들의 랜더러(renderer)(711)는, 생성될 출력 오디오 채널들의 개수 및 콘텐츠들을 나타내는 출력 셋-업(712)을 고려하여, M개의 디코딩된 메타데이터(704)와 M개의 디코딩된 오디오 스트림들(703)을 다수의 출력 오디오 채널들(702)로 변환한다. 다시, 출력 오디오 채널들(702)의 개수는 M과 동일하거나 다를 수 있다.
랜더러(761)는 원하는 출력 오디오 채널들을 획득하기 위해 다양한 서로 다른 구조들로 고안될 수 있다. 그 때문에, 랜더러는 본 개시에서 추가로 설명하지 않겠다.
비-제한적인 예시적 실시 예에 따르면, 상기 설명에서 개시된 객체-기반 오디오 신호를 코딩하는 시스템 및 방법은 추가적인 개시로서 이하에 주어진 (C-코드로서 표시된) 이하의 소스 코드에 의해 구현될 수 있다.
7.0 하드웨어 구현
도 8은 상술한 코딩 및 디코딩 시스템 및 방법을 형성하는 하드웨어 부품들의 예시적인 구성의 간략화된 블럭도이다.
코딩 및 디코딩 시스템들의 각각은 이동 단말의 일부로서, 휴대형 매체 플레이어의 일부로서 또는 임의 유사한 디바이스내에 구현될 수 있다. (도 8에 있어서 1200으로서 식별된) 코딩 및 디코딩 시스템들의 각각은 입력(1202), 출력(1204), 프로세서(1206) 및 메모리(1208)를 구비한다.
입력(1202)은, 예를 들어, 도 1의 오디오 객체들(102)(대응하는 N개의 메타데이터를 가진 N개의 오디오 스트림들) 또는 도 7의 비트-스트림(701)과 같은 입력 신호(들)를 디지털 또는 아날로그 형태로 수신하도록 구성된다. 출력(1204)은, 예를 들어, 도 1의 비트-스트림(111) 또는 도 7의 M개의 디코딩된 오디오 채널들(703) 및 M개의 디코딩된 메타데이터(704)와 같은 출력 신호(들)를 공급하도록 구성된다. 입력(1202)과 출력(1204)은, 예를 들어, 직렬 입력/출력 디바이스와 같은 공통 모듈내에 구현될 수 있다.
프로세서(1206)는 입력(1202), 출력(1204) 및 메모리(1208)에 동작 가능하게 접속된다. 프로세서(1206)는 도 1 및 7의 여러 프로세서들 및 다른 모듈의 기능들을 지원하여 코드 명령어들을 실행하는 하나 이상의 프로세서들로서 실현된다.
메모리(1208)는 프로세서(들)(1206)에 의해 실행될 수 있는 코드 명령어들을 비-일시적 메모리, 특히, 실행시에, 프로세서(들)가 본 개시에 설명된 코딩 및 디코딩 시스템들 및 방법들의 동작들과 프로세서들/모듈들을 구현하게 하는 비-일시적 명령어들을 구비한 프로세서-판독 가능 메모리를 구비할 수 있다. 메모리(1208)는 프로세서(들)(1206)에 의해 수행되는 여러 기능들로부터 중간 프로세싱 데이터를 저장하기 위해 랜덤 액세스 메모리 또는 버퍼(들)를 구비할 수 있다.
본 기술 분야의 숙련자라면, 코딩 및 디코딩 시스템들 및 방법들의 설명이 단지 예시적인 것으로 임의 방법으로 제한하기 위한 것은 아님을 알 것이다. 본 개시의 혜택을 입은 본 기술 분야의 숙련자에게는 다른 실시 예들이 쉽게 제안될 것이다. 또한, 개시된 코딩 및 디코딩 시스템들 및 방법들은 인코딩 및 디코딩 사운드의 기존의 필요성 및 과제들에 대한 가치있는 해법들을 제공하도록 맞춤화될 수 있다.
명확성을 위해, 코딩 및 디코딩 시스템들 및 방법들의 구현의 일상적인 특징들 모두가 도시되고 설명되지는 않았다. 물론, 코딩 및 디코딩 시스템들 및 방법들의 그러한 실제 구현의 개발에 있어서, 애플리케이션 관련 제약, 시스템 관련 제약, 네트워크 관련 제약 및 사업 관련 제약과의 호환성과 같은, 개발자의 특정 목표를 달성하기 위해 많은 구현-지정적 결정들이 이루어질 필요가 있고 이들 특정 목표들이 각 구현마다 또는 각 개발자들마다 가변될 것임을 알 것이다. 또한, 개발 노력은 복잡하며 시간 소모적이지만, 본 개시의 혜택을 받은 사운드 프로세싱 분야의 숙련자에게는 일상적인 엔지니어링 작업임을 알 것이다.
본 개시에 따르면, 본 명세서에서 설명된 프로세서들/모듈들, 프로세싱 동작들 및/또는 데이터 구조들은 다양한 유형의 운영 시스템들, 계산 플랫폼들, 네트워크 디바이스들, 컴퓨터 프로그램들 및/또는 범용 기계를 이용하여 구현될 수 있다. 추가적으로 본 기술 분야의 숙련자라면, 하드와이어형 디바이스, FPGA(field programmable gate array)들, ASIC(application specific integrated circuit)들 들과 같은 보다 덜 범용적인 본질의 디바이스들이 또한 이용될 수 있음을 알 것이다. 일련의 동작들 및 서브-동작들을 구비한 방법들이 프로세서, 컴퓨터 또는 기계에 의해 구현되고, 이 동작들 및 서브-동작들이 프로세서, 컴퓨터 또는 기계에 의해 판독 가능한 일련의 비-일시적 코드 명령어들로서 저장되는 경우, 그들은 유형(tangible) 및/또는 비-일시적 매체상에 저장될 수 있다.
본 명세서에 설명된 코딩 및 디코딩 시스템들 및 방법들은 소프트웨어, 펌웨어, 하드웨어 또는 본 명세서에서 설명한 목적에 적합한 소프트웨어, 펌웨어 또는 하드웨어의 임의 조합을 이용할 수 있다.
본 명세서에 설명된 코딩 및 디코딩 시스템들 및 방법들에 있어서, 여러 동작들 및 서브-동작들은 다양한 순서로 수행될 수 있으며, 그 동작들과 서브-동작들 중의 일부는 선택적일 수 있다.
상기에서는 본 개시가 비-제한적인 예시적 실시 예들의 방식으로 설명되었지만, 이 실시 예들은 본 개시의 사상 및 본질을 벗어나지 않고도 첨부된 청구항들의 범주내에서 마음대로 수정될 수 있다.
8.0 참고 문헌
본 개시에서는 이하의 참고 문헌들이 참조되며, 그의 전체 내용들은 본 명세서에서 참고로서 수록된다.
[1]
3GPP Spec. TS 26.445: "Codec for Enhanced Voice Services (EVS). Detailed Algorithmic Description," v.12.0.0, Sep. 2014.
[2]
V. Eksler, "Method and Device for Allocating a Bit-budget Between Sub-frames in a CELP Codec," PCT patent application PCT/CA2018/51175
9.0 추가적인 실시 예들
이하의 실시 예들(실시 예 1 내지 83)은 본 발명과 연관된 본 개시의 일부이다.
실시 예 1: 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 구비한 객체-기반 오디오 신호를 코딩하는 시스템으로서,
오디오 스트림들을 분석하는 오디오 스트림 프로세서; 및
오디오 스트림 프로세서에 의한 분석으로부터의 오디오 스트림들에 대한 정보에 응답하여, 입력 오디오 스트림들의 메타데이터를 인코딩하는 메타데이터 프로세서를 구비한 시스템.
실시 예 2: 메타데이터 프로세서가 오디오 객체들의 메타데이터 비트-예산들에 대한 정보를 출력하고, 시스템이 메타데이터 프로세서로부터의 오디오 객체들의 메타데이터 비트-예산들에 대한 정보에 응답하여 오디오 스트림들에 비트레이트들을 할당하는 비트-예산 할당기를 추가로 구비한, 실시 예 1의 시스템.
실시 예 3: 코딩된 메타데이터를 포함하는 오디오 스트림들의 인코더를 구비한 실시 예 1 또는 2의 시스템.
실시 예 4: 인코더가 비트-예산 할당기에 의해 오디오 스트림들에 할당된 비트레이트들을 이용하는 다수의 코어-코더들을 구비하는, 실시 예 1 내지 3 중 어느 하나의 시스템.
실시 예 5: 객체-기반 오디오 신호가 스피치, 뮤직 및 일반 오디오 사운드 중 적어도 하나를 구비하는, 실시 예 1 내지 4 중 어느 하나의 시스템.
실시 예 6: 객체-기반 오디오 신호가 복합 오디오 청각 장면을 오디오 객체들인 개별적인 요소들의 모음으로서 나타내거나 인코딩하는, 실시 예들 1 내지 5 중 어느 하나의 시스템.
실시 예 7: 각 오디오 객체가 연관된 메타데이터를 가진 오디오 스트림을 구비하는, 실시 예들 1 내지 6 중 어느 하나의 시스템.
실시 예 8: 오디오 스트림이 메타데이터를 가진 독립적인 스트림인, 실시 예 1 내지 7 중 어느 하나의 시스템.
실시 예 9: 오디오 스트림이 오디오 파형을 나타내고 통상적으로 하나 또는 2개의 채널을 구비하는, 실시 예 1 내지 8 중 어느 하나의 시스템.
실시 예 10: 메타데이터가 원시 오디오 객체들 또는 코딩된 오디오 객체들을 최종 재생 시스템으로 중계하는데 이용되는 예술적 의도(artistic intension) 및 오디오 스트림을 설명하는 정보의 세트인, 실시 예 1 내지 9 중 어느 하나의 시스템.
실시 예 11: 메타데이터가, 통상적으로, 각 오디오 객체의 공간적 성질들(spatial properties)을 설명하는, 실시 예 1 내지 10 중 어느 하나의 시스템.
실시 예 12: 공간적 성질들이 오디오 객체의 위치, 배향, 볼륨, 폭 중 하나 이상을 포함하는, 실시 예 1 내지 11 중 어느 하나의 시스템.
실시 예 13: 각 오디오 객체가 코덱에 대한 입력으로서 이용된 양자화되지 않은 메타데이터 표현으로서 정의된, 입력 메타데이터를 지칭하는 메타데이터 세트를 구비하는, 실시 예 1 내지 12 중 어느 하나의 시스템.
실시 예 14: 각 오디오 객체가, 인코더에서 디코더로 전송된 비트-스트림의 일부인, 양자화되고 코딩된 메타데이터로서 정의된, 코딩된 메타데이터를 지칭하는 메타데이터 세트를 구비하는, 실시 예 1 내지 13 중 어느 하나의 시스템.
실시 예 15: 재생 시스템이 재생측에 있는 전송된 메타데이터 및 예술적 의도를 이용하여 청취자 주변의 3D 오디오 공간에 오디오 객체들을 랜더링(rendering)하도록 구성되는 실시 예 1 내지 14 중 어느 하나의 시스템.
실시 예 16: 재생 시스템이 오디오 객체들을 랜더링하는 동안 메타데이터를 동적으로 수정하는 헤드-추적 디바이스를 구비하는, 실시 예들 1 내지 15 중 어느 하나의 시스템.
실시 예 17: 여러 오디오 객체들의 동시 코딩을 위한 프레임워크를 구비하는, 실시 예들 1 내지 16 중 어느 하나의 시스템.
실시 예 18: 여러 오디오 객체들의 동시 코딩이 오디오 객체들을 코딩하기 위한 고정 상수의 전체 비트레이트를 이용하는, 실시 예들 1 내지 17 중 어느 하나의 시스템.
실시 예 19: 오디오 객체들의 일부 또는 전부를 전송하기 위한 전송기를 구비하는, 실시 예들 1 내지 18 중 어느 하나의 시스템.
실시 예 20: 프레임워크에 있어서의 오디오 포맷들의 조합을 코딩하는 경우, 상수의 전체 비트레이트가 그 포맷들의 비트레이트들의 합을 나타내는, 실시 예들 1 내지 19 중 어느 하나의 시스템.
실시 예 21: 메타데이터가 아지뮤즈와 고도를 구비한 2개의 파라메타들을 구비하는, 실시 예들 1 내지 20 중 어느 하나의 시스템.
실시 예 22: 아지뮤즈와 고도 파라메타들이 각 오디오 객체에 대한 각 오디오 프레임마다 저장되는, 실시 예들 1 내지 21 중 어느 하나의 시스템.
실시 예 23: 적어도 하나의 입력 오디오 스트림과, 오디오 스트림과 연관된 입력 메타데이터를 버퍼링하는 입력 버퍼를 구비하는, 실시 예들 1 내지 22 중 어느 하나의 시스템.
실시 예 24: 입력 버퍼가 하나의 프레임에 대한 각 오디오 스트림을 버퍼링하는, 실시 예들 1 내지 23 중 어느 하나의 시스템.
실시 예 25: 오디오 스트림 프로세서가 오디오 스트림들을 분석하고 프로세싱하는, 실시 예들 1 내지 24 중 어느 하나의 시스템.
실시 예 26: 오디오 스트림 프로세서가, 시간-영역 과도 검출기(time-domain transient detector), 스펙트럼 분석기(spectral analyser), 장기 예측 분석기(long-term prediction analyser), 피치 추적 및 보이싱 분석기(pitch tracking and voicing analyser), 보이스/사운드 활성 검출기, 대역폭 검출기, 잡음 추정기 및 신호 분류기 중 적어도 하나를 구비하는, 실시 예들 1 내지 25 중 어느 하나의 시스템.
실시 예 27: 신호 분류기가 코더 유형 선택, 신호 분류 및 스피치/뮤직 분류 중 적어도 하나를 수행하는, 실시 예들 1 내지 26 중 어느 하나의 시스템.
실시 예 28: 메타데이터 프로세서가 오디오 스트림들의 메타데이터를 분석, 양자화 및 인코딩하는, 실시 예들 1 내지 27 중 어느 하나의 시스템.
실시 예 29: 불활성 프레임들에 있어서, 대응하는 오디오 객체에 대한 비트-스트림내에, 메타데이터 프로세서에 의해 인코딩되고 시스템의 의해 송신되는 메타데이터가 없는, 실시 예들 1 내지 28 중 어느 하나의 시스템.
실시 예 30: 활성 프레임들에 있어서, 메타데이터 프로세서가 가변 비트레이트를 이용하여 대응하는 객체에 대한 메타데이터를 인코딩하는, 실시 예들 1 내지 29 중 어느 하나의 시스템.
실시 예 31: 비트-예산 할당기가 오디오 객체들의 메타데이터의 비트-예산들을 합산하고, 시그널링 비트-예산에 비트-예산들의 합을 가산하여 오디오 스트림에 비트레이트들을 할당하는, 실시 예들 1 내지 30 중 어느 하나의 시스템.
실시 예 32: 오디오 스트림들간의 구성 및 비트-레이트 분배가 이루어졌을 때 오디오 스트림들을 추가 프로세싱하기 위한 전치-프로세서를 구비하는, 실시 예들 1 내지 31 중 어느 하나의 시스템.
실시 예 33: 전치-프로세서가 오디오 스트림들의 추가적인 분류, 코어 인코더 선택 및 재샘플링 중 적어도 하나를 수행하는, 실시 예들 1 내지 32 중 어느 하나의 시스템.
실시 예 34: 인코더가 오디오 스트림들을 순차적으로 인코딩하는, 실시 예들 1 내지 33 중 어느 하나의 시스템.
실시 예 35: 인코더가 다수의 변동 비트레이트 코어-코더들을 이용하여 오디오 스트림들을 순차적으로 인코딩하는, 실시 예들 1 내지 34 중 어느 하나의 시스템.
실시 예 36: 메타데이터 프로세서가, 오디오 객체들의 양자화와 오디오 객체들의 메타데이터 파라메타들간에 종속성이 있는 루프(loop)로 순차적으로 메타데이터를 인코딩하는, 실시 예들 1 내지 35 중 어느 하나의 시스템.
실시 예 37: 메타데이터 프로세서가, 메타데이터 파라메타를 인코딩하기 위해, 양자화 스텝을 이용하여 메타데이터 파라메타 인덱스를 양자화하는, 실시 예들 1 내지 36 중 어느 하나의 시스템.
실시 예 38: 메타데이터 프로세서가, 아지뮤즈 파라메타를 인코딩하기 위해, 양자화 스텝을 이용하여 아지뮤즈 인덱스를 양자화하고, 고도 파라메타를 인코딩하기 위해, 양자화 스텝을 이용하여 고도 인덱스를 양자화하는, 실시 예들 1 내지 37 중 어느 하나의 시스템.
실시 예 39: 전체 메타데이터 비트-예산과 양자화 비트들의 개수는 코덱 전체 비트레이트, 메타데이터 전체 비트레이트 또는 메타데이터 비트 예산과 하나의 오디오 객체와 연관된 코어-코더 비트 예산의 합에 의존하는, 실시 예들 1 내지 38 중 어느 하나의 시스템.
실시 예 40: 아지뮤즈 및 고도 파라메타들이 하나의 파라메타로서 표시되는, 실시 예들 1 내지 39 중 어느 하나의 시스템.
실시 예 41: 메타데이터 프로세서가 메타데이터 파라메타 인덱스들을 절대적으로 또는 차분적으로 인코딩하는, 실시 예들 1 내지 40 중 어느 하나의 시스템.
실시 예 42: 현재 파라메타 인덱스와 이전 파라메타 인덱스간에 차이가 존재하여 절대 코딩보다 차분 코딩에 대해 더 많거나 동등한 개수의 비트들이 필요하게 될 경우, 메타데이터 프로세서가 절대 코딩을 이용하여 메타데이터 파라메타 인덱스들을 인코딩하는, 실시 예들 1 내지 41 중 어느 하나의 시스템.
실시 예 43: 이전 프레임에 메타데이터가 존재하지 않을 때, 메타데이터 프로세서가 절대 코딩을 이용하여 메타데이터 파라메타 인덱스들을 인코딩하는, 실시 예들 1 내지 42 중 어느 하나의 시스템.
실시 예 44: 차분 코딩을 이용하는 연속하는 프레임들의 개수가 차분 코딩을 이용하여 코딩된 최대의 연속하는 프레임들의 개수보다 더 많으면, 메타데이터 프로세서가 절대 코딩을 이용하여 메타데이터 파라메타 인덱스들을 인코딩하는, 실시 예들 1 내지 43 중 어느 하나의 시스템.
실시 예 45: 메타데이터 프로세서가, 절대 코딩을 이용하여 메타데이터 파라메타 인덱스들을 인코딩할 때, 절대 코딩된 메타데이터 파라메타 인덱스에 뒤이어, 절대 코딩과 차분 코딩을 구별하는 절대 코딩 플래그를 기입하는, 실시 예들 1 내지 44 중 어느 하나의 시스템.
실시 예 46: 메타데이터 프로세서가, 차분 코딩을 이용하여 메타데이터 파라메타 인덱스들을 인코딩할 때, 절대 코딩 플래그를 0으로 설정하고, 절대 코딩 플래그에 뒤이어, 현재 프레임 인덱스와 이전 프레임 인덱스 간에 차이가 0인지를 시그널링하는, 제로 코딩 플래그를 기입하는, 실시 예들 1 내지 45 중 어느 하나의 시스템.
실시 예 47: 현재 프레임 인덱스와 이전 프레임 인덱스간의 차이가 0이 아니면, 메타데이터 프로세서가 부호 플래그 및 그에 뒤이은 적응적-비트 차이 인덱스를 기입함에 의해 코딩을 계속하는, 실시 예들 1 내지 46 중 어느 하나의 시스템.
실시 예 48: 프레임들간의 메타데이터 비트-예산 변동의 범위를 제한하고 코어 코딩을 위해 남겨진 비트-예산이 너무 낮아지는 것을 피하기 위해, 메타데이터 프로세서가, 객체내 메타데이터 코딩 로직을 이용하는, 실시 예들 1 내지 47 중 어느 하나의 시스템.
실시 예 49: 객체내 메타데이터 코딩 로직에 따라, 메타데이터 프로세서가 주어진 프레임에 있어서의 절대 코딩의 이용을, 하나의 메타데이터 파라메타로만 제한하거나, 가능한 적은 개수의 메타데이터 파라메타들로 제한하는, 실시 예들 1 내지 48 중 어느 하나의 시스템.
실시 예 50: 또 다른 메타데이터 코딩 로직이 이미 동일 프레임에 있어서 절대 코딩을 이용하여 코딩되었으면, 객체내 메타데이터 코딩 로직에 따라, 메타데이터 프로세서가, 하나의 메타데이터 파라메타의 인덱스의 절대 코딩을 회피하는, 실시 예들 1 내지 49 중 어느 하나의 시스템.
실시 예 51: 객체내 메타데이터 코딩 로직이 비트레이트에 의존하는 실시 예들 1 내지 50 중 어느 하나의 시스템.
실시 예 52: 메타데이터 프로세서가, 현재 프레임내의 서로 다른 오디오 객체들의 절대 코딩된 메타데이터 파라메타들의 개수를 최소화하기 위해 서로 다른 객체들의 메타데이터 코딩에 대해 객체간 메타데이터 코딩 로직을 이용하는, 실시 예들 1 내지 51 중 어느 하나의 시스템.
실시 예 53: 객체간 메타데이터 코딩 로직을 이용하는 메타데이터 프로세서가, 절대 코딩된 메타데이터 파라메타들의 프레임 카운터들을 제어하는, 실시 예들 1 내지 52 중 어느 하나의 시스템.
실시 예 54: 객체간 메타데이터 코딩 로직을 이용하는 메타데이터 프로세서가, 오디오 객체들의 메타데이터 파라메타들이 느리고 부드럽게 점진적으로 변화할 때, (a) 프레임 M에 있어서 절대 코딩을 이용하여 제 1 오디오 객체의 제 1 메타데이터 파라메타 인덱스를 코딩하고, (b) 프레임 M+1에 있어서 절대 코딩을 이용하여 제 1 오디오 객체의 제 2 메타데이터 파라메타 인덱스를 코딩하고, (c) 프레임 M+2에 있어서 절대 코딩을 이용하여 제 2 오디오 객체의 제 1 메타데이터 파라메타 인덱스를 코딩하고, (d) 프레임 M+3에 있어서 절대 코딩을 이용하여 제 2 오디오 객체의 제 2 메타데이터 파라메타 인덱스를 코딩하는, 실시 예들 1 내지 53 중 어느 하나의 시스템.
실시 예 55: 객체간 메타데이터 코딩 로직이 비트레이트에 의존하는, 실시 예들 1 내지 54 중 어느 하나의 시스템.
실시 예 56: 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여 오디오 스트림을 인코딩하기 위한 비트-예산을 분배하는, 실시 예들 1 내지 55 중 어느 하나의 시스템.
실시 예 57: 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여, 메타데이터 전체 비트레이트 또는 코덱 전체 비트레이트로부터 메타데이터 전체 비트-예산을 획득하는, 실시 예들 1 내지 56 중 어느 하나의 시스템.
실시 예 58: 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여, 메타데이터 전체 비트-예산을 오디오 스트림들의 개수로 제산함에 의해 요소 비트-예산을 계산하는, 실시 예들 1 내지 57 중 어느 하나의 시스템.
실시 예 59: 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여, 마지막 오디오 스트림의 요소 비트-예산을 조정함으로써 모든 이용 가능한 메타데이터 비트-예산을 소비하는, 실시 예들 1 내지 58 중 어느 하나의 시스템.
실시 예 60: 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여, 모든 오디오 객체들의 메타데이터 비트-예산을 합산하고, 상기 합산을 메타데이터 공통 시그널링 비트-예산에 가산하여 코어-코더측 비트-예산으로 결과하게 하는, 실시 예들 1 내지 59 중 어느 하나의 시스템.
실시 예 61: 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여, (a) 오디오 객체들간에 코어-코더측 비트-예산을 균등하게 분할하고, (b) 코어-코더측 비트-예산과 요소 비트-예산을 이용하여 각 오디오 스트림에 대한 코어-코더 비트-예산을 계산하는, 실시 예들 1 내지 60 중 어느 하나의 시스템.
실시 예 62: 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여, 마지막 오디오 스트림의 코어-코더 비트-예산을 조정함으로써, 모든 이용 가능한 코어-코더 비트-예산을 소비하는, 실시 예들 1 내지 61 중 어느 하나의 시스템.
실시 예 63: 비트레이트 적응화 알고리즘을 이용하는 비트-예산 할당기가, 코어-코더 비트-예산을 이용하여 코어-코더에 있어서의 하나의 오디오 스트림을 인코딩하기 위한 비트레이트를 계산하는, 실시 예들 1 내지 62 중 어느 하나의 시스템.
실시 예 64: 불활성 프레임들 또는 낮은 에너지를 가진 프레임들에 있어서 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여, 코어-코더에 있어서의 하나의 오디오 스트림을 인코딩하기 위한 비트레이트를 낮추어 상수값으로 설정하고, 절약된 비트-예산을 활성 프레임들에 있어서의 오디오 스트림들간에 재분배하는, 실시 예들 1 내지 63 중 어느 하나의 시스템.
실시 예 65: 활성 프레임들에 있어서 비트-예산 할당기가, 비트레이트 적응화 알고리즘을 이용하여, 메타데이터 중요도 분류에 기초하여 코어-코더에 있어서의 하나의 오디오 스트림을 인코딩하기 위한 비트레이트를 조정하는, 실시 예들 1 내지 64 중 어느 하나의 시스템.
실시 예 66: 불활성 프레임들(VAD=0)에 있어서 비트-예산 할당기가, 코어-코더에 있어서의 하나의 오디오 스트림을 인코딩하기 위한 비트레이트를 낮추고, 상기 비트레이트를 낮춤에 의해 절약된 비트-예산을 활성으로서 분류된 프레임들내의 오디오 스트림들간에 재분배하는, 실시 예들 1 내지 64 중 어느 하나의 시스템.
실시 예 67: 소정 프레임에 있어서 비트-예산 할당기가, (a) 불활성 콘텐츠를 가진 매 오디오 스트림에 대해 낮은, 상수의 코어-코더 비트-예산을 설정하고, (b) 낮은 상수의 코어-코더 비트-예산과 코어-코더 비트-예산간의 차이로서 절약된 비트-예산을 계산하고, (c) 절약된 비트-예산을 활성 프레임들에 있어서의 오디오 스트림들의 코어-코더 비트-예산간에 재분배하는, 실시 예들 1 내지 66 중 어느 하나의 시스템.
실시 예 68: 낮은 상수의 비트-예산이 메타데이터 전체 비트-레이트에 의존하는, 실시 예들 1 내지 67 중 어느 하나의 시스템.
실시 예 69: 비트-예산 할당기가 낮은 상수의 코어-코더 비트-예산을 이용하여 코어-코더에 있어서의 하나의 오디오 스트림을 인코딩하기 위한 비트레이트를 계산하는, 실시 예들 1 내지 68 중 어느 하나의 시스템.
실시 예 70: 비트-예산 할당기가, 메타데이터 중요도의 분류에 기초하여 객체간 코어-코더 비트레이트 적응화를 이용하는, 실시 예들 1 내지 69 중 어느 하나의 시스템.
실시 예 71: 메타데이터 중요도가, 디코딩된 합성(decoded synthesis)의 높은 품질을 획득하기 위해 현재 프레임에서의 특정 오디오 객체들의 크리티컬 코딩(critical coding)이 어떠한지를 나타내는 메트릭에 기초하는, 실시 예들 1 내지 70 중 어느 하나의 시스템.
실시 예 72: 비트-예산 할당기는, 코더 유형(coder_type), FEC 신호 분류(class), 스피치/뮤직 분류 결정 및 개방-루프 ACELP/TCX 코어 결정 모듈(snr_celp, snr _ tcx)로부터의 SNR 추정 중 적어도 하나가 메타데이터 중요도 분류의 기반이 되게 하는, 실시 예들 1 내지 71 중 어느 하나의 시스템.
실시 예 73: 비트-예산 할당기는, 코더 유형(coder_type)이 메타데이터 중요도 분류의 기반이 되게 하는, 실시 예들 1 내지 72 중 어느 하나의 시스템.
실시 예 74: 비트-예산 할당기가, 이하의 4개의 개별적인 메타데이터 중요도 등급들(class ISm ), 즉,
- 노우 메타데이터 등급, ISM _NO_ META: 메타데이터 코딩없는 프레임들, 예를 들어, VAD=0을 가진 불활성 프레임들;
- 낮은 중요도 등급, ISM _LOW_IMP: coder_type = UNVOICED 또는 INACTIVE인 프레임들;
- 중간 중요도 등급, ISM _MEDIUM_IMP: coder_type = VOICED인 프레임들;
- 높은 중요도 등급, ISM _HIGH_IMP: coder_type = GENERIC인 프레임들,
을 정의하는, 실시 예 1 내지 73 중 어느 하나의 시스템:
실시 예 75: 비트-예산 할당기가, 비트레이트 적응화 알고리즘에 있어서 메타데이터 중요도 등급을 이용하여, 높은 중요도를 가진 오디오 스트림들에 높은 비트-예산을 할당하고 낮은 중요도를 가진 오디오 스트림에 낮은 비트-예산을 할당하는, 실시 예 1 내지 74 중 어느 하나의 시스템.
실시 예 76: 비트-예산 할당기가, 소정 프레임에 있어서, 이하의 로직, 즉,
1. class ISm = ISM _NO_ META 프레임들: 낮은 상수의 코어-코더 비트레이트가 할당됨;
2. class ISm = ISM _LOW_IMP 프레임들: 코어-코더에서 하나의 오디오 스트림을 인코딩하기 위한 비트레이트(total_brate)는, 아래와 같이 낮아지며,
3. class ISm = ISM _MEDIUM_IMP 프레임들: 코어-코더에서 하나의 오디오 스트림을 인코딩하기 위한 비트레이트(total_brate)는, 아래와 같이 낮아지며,
4. class ISm = ISM _HIGH_IMP 프레임들: 이용되는 비트레이트 적응화가 없음,
을 이용하는 실시 예 1 내지 75 중 어느 하나의 시스템.
실시 예 77: 비트-예산 할당기가, 이전 비트레이트와 새로운 비트레이트(total_brate) 간의 차이의 합으로서 표시된 절약된 비트-예산을, 활성으로서 분류된 프레임들내의 오디오 스트림들에 재분배하는, 실시 예 1 내지 76 중 어느 하나의 시스템.
실시 예 78: 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 디코딩하는 시스템으로서,
활성 콘텐츠들을 가진 오디오 스트림들의 메타데이터를 디코딩하는 메타데이터 프로세서와;
오디오 객체들의 디코딩된 메타데이터와 각 비트-예산들에 응답하여 오디오 스트림들의 코어-코더 비트레이트들을 결정하는 비트-예산 할당기; 및
비트-예산 할당기에서 결정된 코어-코더 비트레이트를 이용하는 오디오 스트림들의 디코더를 구비하는 시스템.
실시 예 79: 메타데이터 프로세서가 수신된 비트스트림의 끝에서부터 판독되는 메타데이터 공통 시그널링에 응답하는, 실시 예 78의 시스템.
실시 예 80: 디코더가 오디오 스트림들을 디코딩하기 위한 코어-디코더들을 구비하는, 실시 예 78 또는 79의 시스템.
실시 예 81: 코어-디코더들이 그들 각각의 코어-코더 비트레이트들로 오디오 스트림들을 순차적으로 디코딩하기 위한 변동 비트레이트 코어-디코더들을 구비하는, 실시 예 78 내지 80 중 어느 하나의 시스템.
실시 예 82: 디코딩된 오디오 객체들의 개수가 코어-디코더들의 개수보다 낮은, 실시 예 78 내지 81 중 어느 하나의 시스템.
실시 예 83: 디코딩된 오디오 스트림들 및 디코딩된 메타데이터에 응답하는 오디오 객체들의 랜더러를 구비하는, 실시 예 78 내지 82 중 어느 하나의 시스템.
실시 예 78 내지 83의 요소들을 추가 설명하는 실시 예들 2 내지 77 중 어느 하나는 이 실시 예 78 내지 83 중 어느 하나에 구현될 수 있다. 예를 들어, 디코딩 시스템들에 있어서의 오디오 스트림당 코어-코더 비트레이트들은 코딩 시스템에서와 동일한 절차를 이용하여 결정된다.
본 발명은 코딩 방법과 디코딩 방법에 관한 것이다. 이와 관련하여, 시스템 실시 예 1 내지 83은, 시스템 실시 예들의 요소들이 그러한 요소들에 의해 수행되는 동작으로 대체되는 방법 실시 예들로서 드래프트(draft)된다.
Claims (62)
- 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 구비한 객체-기반 오디오 신호를 코딩하는 시스템으로서,
오디오 스트림들을 분석하는 오디오 스트림 프로세서;
오디오 스트림 프로세서에 의한 분석으로부터의 오디오 스트림들에 대한 정보에 응답하여, 메타데이터를 코딩하고, 메타데이터 코딩 비트-예산을 제어하는 로직을 이용하는 메타데이터 프로세서; 및
오디오 스트림들을 코딩하는 인코더를 구비하는
시스템.
- 제 1 항에 있어서,
메타데이터 프로세서는, 객체-기반 오디오 신호의 프레임들간의 메타데이터 코딩 비트-예산 변동의 범위를 제한하고 오디오 스트림을 코딩하기 위해 남겨진 비트-예산이 너무 낮아지는 것을 피하기 위해, 객체내 메타데이터 코딩 로직을 이용하는,
시스템.
- 제 2 항에 있어서,
객체내 메타데이터 코딩 로직을 이용하는 메타데이터 프로세서는, 주어진 프레임에 있어서의 절대 코딩을 하나의 메타데이터 파라메타로 제한하거나 가능한 적은 개수의 메타데이터 파라메타들로 제한하는,
시스템.
- 제 2 항 또는 제 3 항에 있어서,
객체내 메타데이터 코딩 로직을 이용하는 메타데이터 프로세서는, 동일 프레임에서, 제 2 메타데이터 파라메타가 이미 절대 코딩을 이용하여 코딩되었으면, 제 1 메타데이터 파라메타의 절대 코딩을 회피하는,
시스템.
- 제 2 항 내지 제 4 항 중 어느 한 항에 있어서,
객체내 메타데이터 코딩 로직은, 비트레이트가 충분히 크면, 동일 프레임내의 다수의 메타데이터 파라메타들의 절대 코딩이 가능하도록, 비트레이트에 의존하는,
시스템.
- 제 1 항에 있어서,
메타데이터 프로세서는, 현재 프레임에 있어서 절대 코딩을 이용하여 코딩된 서로 다른 오디오 객체들의 메타데이터 파라메타들의 개수를 최소화하기 위해 서로 다른 오디오 객체들의 메타데이터 코딩에 객체간 메타데이터 코딩 로직을 적용하는
시스템.
- 제 6 항에 있어서,
객체간 메타데이터 코딩 로직을 이용하는 메타데이터 프로세서는, 절대 코딩을 이용하여 코딩된 메타데이터 파라메타들의 프레임 카운터들을 제어하는,
시스템.
- 제 6 항 또는 제 7 항에 있어서,
객체간 메타데이터 코딩 로직을 이용하는 메타데이터 프로세서는, 프레임 마다 하나의 오디오 객체 메타데이터 파라메타를 코딩하는
시스템.
- 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,
객체간 메타데이터 코딩 로직을 이용하는 메타데이터 프로세서는, 오디오 객체들의 메타데이터 파라메타들이 느리고 부드럽게 점진적으로 변화할 때, (a) 프레임 M에 있어서 절대 코딩을 이용하여 제 1 오디오 객체의 제 1 메타데이터 파라메타를 코딩하고, (b) 프레임 M+1에 있어서 절대 코딩을 이용하여 제 1 오디오 객체의 제 2 메타데이터 파라메타를 코딩하고, (c) 프레임 M+2에 있어서 절대 코딩을 이용하여 제 2 오디오 객체의 제 1 메타데이터 파라메타를 코딩하고, (d) 프레임 M+3에 있어서 절대 코딩을 이용하여 제 2 오디오 객체의 제 2 메타데이터 파라메타를 코딩하는,
시스템.
- 제 6 항 내지 제 9 항 중 어느 한 항에 있어서,
객체간 메타데이터 코딩 로직은, 비트레이트가 충분히 크면, 동일 프레임내의 오디오 객체들의 다수의 메타데이터 파라메타들의 절대 코딩이 가능하도록, 비트레이트에 의존하는,
시스템.
- 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
각각 연관된 메타데이터를 가진 오디오 스트림들 중 하나를 포함하는 다수의 오디오 객체들을 버퍼링하는 입력 버퍼를 구비하는,
시스템.
- 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
오디오 스트림 프로세서는 보이스 활성을 검출하기 위해 오디오 스트림들을 분석하고;
메타데이터 프로세서는, 오디오 객체에 대해 현재 프레임이 불활성인지 활성인지를 결정하기 위해, 오디오 스트림 프로세서로부터의 보이스 활성 검출을 이용하여 각 오디오 객체의 메타데이터를 분석하는 분석기를 구비하고;
불활성 프레임들에 있어서, 메타데이터 프로세서는 오디오 객체와 관련된 메타데이터를 코딩하지 않고,
활성 프레임들에 있어서, 메타데이터 프로세서는 오디오 객체에 대한 메타데이터를 코딩하는
시스템.
- 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
메타데이터 프로세서는 오디오 객체들의 양자화와 오디오 객체들의 메타데이터 파라메타들간에 종속성이 있는 루프(loop)로 순차적으로 메타데이터를 코딩하는
시스템.
- 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
메타데이터 프로세서는 오디오 객체의 메타데이터 파라메타를 양자화하기 위해, 양자화 스텝을 이용하는 메타데이터 파라메타의 양자화기를 구비하는,
시스템.
- 제 1 항 내지 제 14 항 중 어느 한 항에 있어서,
각 오디오 객체의 메타데이터는 아지뮤즈 파라메타와 고도 파라메타를 구비하고,
메타데이터 프로세서는, 아지뮤즈 및 고도 파라메타들을 양자화하기 위해, 양자화 스텝을 이용하는 아지뮤즈 인덱스 및 고도 인덱스의 양자화기를 구비하는
시스템.
- 제 14 항 또는 제 15 항에 있어서,
메타데이터를 코딩하기 위한 전체 메타데이터 비트-예산과, 메타데이터 파라메타 인덱스들을 양자화하기 위한 양자화 비트들의 전체 개수는, 코덱 전체 비트레이트, 메타데이터 전체 비트레이트 또는 하나의 오디오 객체와 연관된 코어-인코더 비트-예산과 메타데이터 비트-예산의 합에 의존하는
시스템.
- 제 1 항 내지 제 16 항 중 어느 한 항에 있어서,
각 오디오 객체의 메타데이터는 다수의 메타데이터 파라메타들을 구비하고,
메타데이터 프로세서는 다수의 메타데이터 파라메타들을 하나의 파라메타로서 나타내고,
메타데이터 프로세서는 상기 하나의 파라메타의 인덱스의 양자화기를 구비하는
시스템.
- 제 14 항 내지 제 16 항 중 어느 한 항에 있어서,
메타데이터 프로세서는 절대 코딩 또는 차분 코딩을 이용하여 메타데이터 파라메타 인덱스들을 코딩하는 메타데이터 인코더를 구비하는,
시스템.
- 제 18 항에 있어서,
메타데이터 인코더는, 파라메타 인덱스의 현재값과 이전값간의 차이가, 절대 코딩을 이용하는 것에 비해, 차분 코딩을 이용하는 경우에 더 높거나 동일한 개수의 비트들로 결과하면, 절대 코딩을 이용하여 메타데이터 파라메타 인덱스를 코딩하는,
시스템.
- 제 18 항 또는 제 19 항에 있어서,
메타데이터 인코더 프로세서는, 이전 프레임에 메타데이터가 존재하지 않았으면, 절대 코딩을 이용하여 메타데이터 파라메타 인덱스들을 코딩하는,
시스템.
- 제 18 항 내지 제 20 항 중 어느 한 항에 있어서,
메타데이터 인코더는 차분 코딩을 이용하는 연속하는 프레임들의 개수가 차분 코딩을 이용하여 코딩된 최대의 연속하는 프레임들의 개수보다 많으면, 절대 코딩을 이용하여 메타데이터 파라메타 인덱스들을 코딩하는,
시스템.
- 제 18 항 내지 제 21 항 중 어느 한 항에 있어서,
메타데이터 인코더는, 절대 코딩을 이용하여 메타데이터 파라메타 인덱스를 코딩할 때, 절대 코딩과 차분 코딩을 구분하는 절대 코딩 플래그를 생성하고, 그에 뒤이어, 절대 코딩을 이용하여 코딩된 메타데이터 파라메타 인덱스를 생성하는,
시스템.
- 제 22 항에 있어서,
메타데이터 인코더는, 차분 코딩을 이용하여 메타데이터 파라메타 인덱스를 인코딩할 때, 절대 코딩 플래그를 0으로 설정하고, 절대 코딩 플래그에 뒤이어, 현재 프레임에 있어서의 메타데이터 파라메타 인덱스와 이전 프레임에 있어서의 메타데이터 파라메타 인덱스 간의 차이가 0임을 시그널링하는, 제로 코딩 플래그를 생성하는,
시스템.
- 제 23 항에 있어서,
현재 프레임에 있어서의 메타데이터 파라메타 인덱스와 이전 프레임에 있어서의 메타데이터 파라메타 인덱스간의 차이가 0이 아니면, 메타데이터 인코더는, 그 차이의 양의 부호(plus sign) 또는 음의 부호(minus sign)를 나타내는 부호 플래그를 생성하고, 그에 뒤이어, 그 차이의 값을 나타내는 차이 인덱스를 생성하는
시스템.
- 제 1 항 내지 제 24 항에 있어서,
메타데이터 프로세서는 오디오 객체들의 메타데이터의 코딩을 위한 비트-예산에 대한 정보를 출력하고, 시스템은, 메타데이터 프로세서로부터의 오디오 객체들의 메타데이터의 코딩을 위한 비트-예산에 대한 정보에 응답하여 오디오 스트림들의 코딩을 위한 비트레이트를 할당하는 비트-예산 할당기를 더 구비하는
시스템.
- 제 25 항에 있어서,
비트-예산 할당기는, 오디오 객체들의 메타데이터의 코딩을 위한 비트-예산들을 합산하고, 그 비트-예산의 합산을 시그널링 비트-예산에 가산하여, 오디오 스트림들간의 비트레이트 분배를 수행하는
시스템.
- 제 25 항 또는 제 26 항에 있어서,
비트-예산 할당기에 의한 오디오 스트림들간의 비트레이트 분배가 완료되면 오디오 스트림들을 추가로 프로세싱하는 전치-프로세서를 구비하는,
시스템.
- 제 27 항에 있어서,
전치-프로세서는 오디오 스트림들의 추가적인 분류, 코어-인코더 선택 및 재샘플링(resampling) 중 적어도 하나를 수행하는,
시스템.
- 제 1 항 내지 제 28 항 중 어느 하나에 있어서,
오디오 스트림들의 인코더는 오디오 스트림들을 코딩하는 다수의 코어-인코더들을 구비하는,
시스템.
- 제 29 항에 있어서,
코어-인코더들은 오디오 스트림들을 순차적으로 코딩하는 변동 비트레이트 코어-인코더들인,
시스템.
- 장면-기반 오디오, 멀티-채널들 및 객체-기반 오디오 신호들을 구비하는 복합 오디오 청각 장면을 코딩하는 인코더 디바이스로서,
객체-기반 오디오 신호들을 코딩하는 청구항 제 1 항 내지 제 30 중 어느 하나에 따른 시스템을 구비하는,
인코더 디바이스.
- 연관된 메타데이터를 가진 오디오 스트림들에 응답하여 오디오 객체들을 구비한 객체-기반 오디오 신호를 코딩하는 방법으로서,
오디오 스트림들을 분석하고;
(a) 오디오 스트림들의 분석으로부터의 오디오 스트림들에 대한 정보와, (b) 메타데이터 코딩 비트-예산을 제어하는 로직을 이용하여 메타데이터를 코딩하고;
오디오 스트림들을 인코딩하는,
방법.
- 제 32 항에 있어서,
메타데이터 코딩 비트-예산을 제어하는 로직을 이용하는 것은,
객체-기반 오디오 신호의 프레임들간의 메타데이터 코딩 비트-예산 변동의 범위를 제한하고, 오디오 스트림을 코딩하기 위해 남겨진 비트-예산이 너무 낮아지는 것을 피하기 위해, 객체내 메타데이터 코딩 로직을 이용하는 것을 구비하는
방법.
- 제 33 항에 있어서,
객체내 메타데이터 코딩 로직을 이용하는 것은,
주어진 프레임에 있어서의 절대 코딩을 하나의 메타데이터 파라메타로 제한하거나 가능한 적은 개수의 메타데이터 파라메타들로 제한하는 것을 구비하는
방법.
- 제 33 항 또는 제 34 항에 있어서,
객체내 메타데이터 코딩 로직을 이용하는 것은,
동일 프레임에서, 제 2 메타데이터 파라메타가 이미 절대 코딩을 이용하여 코딩되었으면, 제 1 메타데이터 파라메타의 절대 코딩을 회피하는 것을 구비하는
방법.
- 제 33 항 내지 제 35 항 중 어느 한 항에 있어서,
객체내 메타데이터 코딩 로직은, 비트레이트가 충분히 크면, 동일 프레임내의 다수의 메타데이터 파라메타들의 절대 코딩이 가능하도록, 비트레이트에 의존하는,
방법.
- 제 32 항에 있어서,
메타데이터 코딩 비트-예산을 제어하는 로직을 이용하는 것은,
현재 프레임에 있어서 절대 코딩을 이용하여 코딩된 서로 다른 오디오 객체들의 메타데이터 파라메타들의 개수를 최소화하기 위해 서로 다른 오디오 객체들의 메타데이터 코딩에 대해 객체간 메타데이터 코딩 로직을 이용하는 것을 구비하는
방법.
- 제 37 항에 있어서,
객체간 메타데이터 코딩 로직을 이용하는 것은,
절대 코딩을 이용하여 코딩된 메타데이터 파라메타들의 프레임 카운터들을 제어하는 것을 구비하는
방법.
- 제 37 항 또는 제 38 항에 있어서,
객체간 메타데이터 코딩 로직을 이용하는 것은,
프레임 마다 하나의 오디오 객체 메타데이터 파라메타를 코딩하는 것을 구비하는
방법.
- 제 37 항 내지 제 39 항 중 어느 한 항에 있어서,
객체간 메타데이터 코딩 로직을 이용하는 것은,
오디오 객체들의 메타데이터 파라메타들이 느리고 부드럽게 점진적으로 변화할 때, (a) 프레임 M에 있어서 절대 코딩을 이용하여 제 1 오디오 객체의 제 1 메타데이터 파라메타를 코딩하고, (b) 프레임 M+1에 있어서 절대 코딩을 이용하여 제 1 오디오 객체의 제 2 메타데이터 파라메타를 코딩하고, (c) 프레임 M+2에 있어서 절대 코딩을 이용하여 제 2 오디오 객체의 제 1 메타데이터 파라메타를 코딩하고, (d) 프레임 M+3에 있어서 절대 코딩을 이용하여 제 2 오디오 객체의 제 2 메타데이터 파라메타를 코딩하는 것을 구비하는
방법.
- 제 37 항 내지 제 40 항 중 어느 한 항에 있어서,
객체간 메타데이터 코딩 로직은, 비트레이트가 충분히 크면, 동일 프레임내의 오디오 객체들의 다수의 메타데이터 파라메타들의 절대 코딩이 가능하도록, 비트레이트에 의존하는,
방법.
- 제 32 항 내지 제 41 항 중 어느 한 항에 있어서,
각각 연관된 메타데이터를 가진 오디오 스트림들 중 하나를 포함하는 다수의 오디오 객체들을 입력 버퍼링하는 것을 구비하는,
방법.
- 제 32 항 내지 제 42 항 중 어느 한 항에 있어서,
오디오 스트림들을 분석시에 보이스 활성을 검출하고;
오디오 객체에 대해 현재 프레임이 불활성인지 활성인지를 결정하기 위해, 보이스 활성 검출을 이용하여 각 오디오 객체의 메타데이터를 분석하고;
불활성 프레임들에 있어서, 오디오 객체와 관련된 메타데이터를 코딩하지 않고;
활성 프레임들에 있어서, 오디오 객체에 대한 메타데이터를 코딩하는 것을 구비하는,
방법.
- 제 32 항 내지 제 43 항 중 어느 한 항에 있어서,
메타데이터는, 오디오 객체들의 양자화와 오디오 객체들의 메타데이터 파라메타들간에 종속성이 있는 루프(loop)로 순차적으로 코딩되는
방법.
- 제 32 항 내지 제 44 항 중 어느 한 항에 있어서,
오디오 객체의 메타데이터 파라메타를 양자화하기 위해, 양자화 스텝을 이용하여 메타데이터 파라메타 인덱스를 양자화하는 것을 구비하는,
방법.
- 제 32 항 내지 제 45 항 중 어느 한 항에 있어서,
각 오디오 객체의 메타데이터는 아지뮤즈 파라메타와 고도 파라메타를 구비하고,
아지뮤즈 및 고도 파라메타들을 양자화하는 것은, 양자화 스텝을 이용하여 아지뮤즈 인덱스 및 고도 파라메타를 양자화하는 것을 구비하는
방법.
- 제 45 항 또는 제 46 항에 있어서,
메타데이터를 코딩하기 위한 전체 메타데이터 비트-예산과, 메타데이터 파라메타 인덱스들을 양자화하기 위한 양자화 비트들의 전체 개수는, 코덱 전체 비트레이트, 메타데이터 전체 비트레이트 또는 하나의 오디오 객체와 연관된 코어-인코더 비트-예산과 메타데이터 비트-예산의 합에 의존하는
방법.
- 제 32 항 내지 제 47 항 중 어느 한 항에 있어서,
각 오디오 객체의 메타데이터는 다수의 메타데이터 파라메타들을 구비하고,
상기 방법은,
다수의 메타데이터 파라메타들을 하나의 파라메타로서 나타내고,
상기 하나의 파라메타의 인덱스를 양자화하는 것을 구비하는
방법.
- 제 45 항 내지 제 47 항 중 어느 한 항에 있어서,
절대 코딩 또는 차분 코딩을 이용하여 메타데이터 파라메타 인덱스들을 코딩하는 것을 구비하는,
방법.
- 제 49 항에 있어서,
메타데이터 파라메타 인덱스들을 코딩하는 것은,
파라메타 인덱스의 현재값과 이전값간의 차이가, 절대 코딩을 이용하는 것에 비해, 차분 코딩을 이용하는 경우에 더 높거나 동일한 개수의 비트들로 결과하면, 절대 코딩을 이용하는 것을 구비하는,
방법.
- 제 49 항 또는 제 50 항에 있어서,
메타데이터 파라메타 인덱스들을 코딩하는 것은,
이전 프레임에 메타데이터가 존재하지 않았으면, 절대 코딩을 이용하는 것을 구비하는,
방법.
- 제 49 항 내지 제 51 항 중 어느 한 항에 있어서,
메타데이터 파라메타 인덱스들을 코딩하는 것은,
차분 코딩을 이용하는 연속하는 프레임들의 개수가 차분 코딩을 이용하여 코딩된 최대의 연속하는 프레임들의 개수보다 많으면, 절대 코딩을 이용하는 것을 구비하는,
방법.
- 제 49 항 내지 제 52 항 중 어느 한 항에 있어서,
절대 코딩을 이용하여 메타데이터 파라메타 인덱스를 코딩하는 것은,
절대 코딩과 차분 코딩을 구분하는 절대 코딩 플래그를 생성하고, 그에 뒤이어, 절대 코딩을 이용하여 코딩된 메타데이터 파라메타 인덱스를 생성하는 것을 구비하는
방법.
- 제 53 항에 있어서,
차분 코딩을 이용하여 메타데이터 파라메타 인덱스를 코딩하는 것은,
절대 코딩 플래그를 0으로 설정하고, 절대 코딩 플래그에 뒤이어, 현재 프레임에 있어서의 메타데이터 파라메타 인덱스와 이전 프레임에 있어서의 메타데이터 파라메타 인덱스 간의 차이가 0임을 시그널링하는, 제로 코딩 플래그를 생성하는 것을 구비하는,
방법.
- 제 54 항에 있어서,
차분 코딩을 이용하여 메타데이터 파라메타 인덱스를 코딩하는 것은,
현재 프레임에 있어서의 메타데이터 파라메타 인덱스와 이전 프레임에 있어서의 메타데이터 파라메타 인덱스간의 차이가 0이 아니면, 그 차이의 양의 부호(plus sign) 또는 음의 부호(minus sign)를 나타내는 부호 플래그를 생성하고, 그에 뒤이어, 그 차이의 값을 나타내는 차이 인덱스를 생성하는 것을 구비하는
방법.
- 제 32 항 내지 제 55 항에 있어서,
메타데이터를 코딩하는 것은,
오디오 객체들의 메타데이터의 코딩을 위한 비트-예산에 대한 정보를 출력하는 것을 구비하고,
상기 방법은,
오디오 스트림들의 코딩을 위한 비트레이트를 할당하기 위해, 오디오 객체들의 메타데이터의 코딩을 위한 비트-예산에 대한 정보에 응답하는 비트-예산 할당을 구비하는
방법.
- 제 56 항에 있어서,
비트-예산 할당은,
오디오 객체들의 메타데이터의 코딩을 위한 비트-예산들을 합산하고, 그 비트-예산의 합산을 시그널링 비트-예산에 가산하여, 오디오 스트림들간의 비트레이트 분배를 수행하는 것을 구비하는
방법.
- 제 56 항 또는 제 57 항에 있어서,
비트-예산 할당에 의해, 오디오 스트림들간의 비트레이트 분배가 완료되면 오디오 스트림들을 전치-프로세싱하는 것을 구비하는,
방법.
- 제 58 항에 있어서,
오디오 스트림들을 전치-프로세싱하는 것은,
오디오 스트림들의 추가적인 분류, 코어-인코더 선택 및 재샘플링 중 적어도 하나를 수행하는 것을 구비하는
방법.
- 제 32 항 내지 제 59 항 중 어느 하나에 있어서,
오디오 스트림들을 인코딩하는 것은,
오디오 스트림들의 각 코어-인코딩을 구비하는,
방법.
- 제 60 항에 있어서,
오디오 스트림들을 인코딩하는 것은,
오디오 스트림들을 순차적으로 코딩하기 위해 변동 비트레이트를 이용하는 것을 구비하는
방법.
- 장면-기반 오디오, 멀티-채널들 및 객체-기반 오디오 신호들을 구비하는 복합 오디오 청각 장면을 코딩하는 인코딩 방법으로서,
객체-기반 오디오 신호들을 코딩하는 청구항 제 32 항 내지 제 61 중 어느 하나에 따른 시스템을 구비하는,
인코딩 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962871253P | 2019-07-08 | 2019-07-08 | |
US62/871,253 | 2019-07-08 | ||
PCT/CA2020/050943 WO2021003569A1 (en) | 2019-07-08 | 2020-07-07 | Method and system for coding metadata in audio streams and for flexible intra-object and inter-object bitrate adaptation |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220034102A true KR20220034102A (ko) | 2022-03-17 |
Family
ID=74113835
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227000308A KR20220034102A (ko) | 2019-07-08 | 2020-07-07 | 오디오 스트림에 있어서의 메타데이터를 코딩하고 가요성 객체간 및 객체내 비트레이트 적응화를 위한 방법 및 시스템 |
KR1020227000309A KR20220034103A (ko) | 2019-07-08 | 2020-07-07 | 오디오 스트림에 있어서의 메타데이터를 코딩하고, 오디오 스트림 코딩에 효율적인 비트레이트 할당을 위한 방법 및 시스템 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227000309A KR20220034103A (ko) | 2019-07-08 | 2020-07-07 | 오디오 스트림에 있어서의 메타데이터를 코딩하고, 오디오 스트림 코딩에 효율적인 비트레이트 할당을 위한 방법 및 시스템 |
Country Status (10)
Country | Link |
---|---|
US (2) | US20220319524A1 (ko) |
EP (2) | EP3997697A4 (ko) |
JP (2) | JP2022539608A (ko) |
KR (2) | KR20220034102A (ko) |
CN (2) | CN114072874A (ko) |
AU (2) | AU2020310084A1 (ko) |
BR (2) | BR112021026678A2 (ko) |
CA (2) | CA3145047A1 (ko) |
MX (2) | MX2021015476A (ko) |
WO (2) | WO2021003569A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4416724A1 (en) * | 2021-10-12 | 2024-08-21 | Nokia Technologies Oy | Delayed orientation signalling for immersive communications |
WO2023065254A1 (zh) * | 2021-10-21 | 2023-04-27 | 北京小米移动软件有限公司 | 一种信号编解码方法、装置、编码设备、解码设备及存储介质 |
EP4428857A4 (en) * | 2021-11-02 | 2024-10-30 | Beijing Xiaomi Mobile Software Co Ltd | SIGNAL ENCODING AND DECODING METHOD AND APPARATUS, USER EQUIPMENT, NETWORK SIDE DEVICE, AND STORAGE MEDIUM |
GB2628410A (en) * | 2023-03-24 | 2024-09-25 | Nokia Technologies Oy | Low coding rate parametric spatial audio encoding |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630011A (en) * | 1990-12-05 | 1997-05-13 | Digital Voice Systems, Inc. | Quantization of harmonic amplitudes representing speech |
US7657427B2 (en) * | 2002-10-11 | 2010-02-02 | Nokia Corporation | Methods and devices for source controlled variable bit-rate wideband speech coding |
US9626973B2 (en) * | 2005-02-23 | 2017-04-18 | Telefonaktiebolaget L M Ericsson (Publ) | Adaptive bit allocation for multi-channel audio encoding |
BRPI0608756B1 (pt) * | 2005-03-30 | 2019-06-04 | Koninklijke Philips N. V. | Codificador e decodificador de áudio de multicanais, método para codificar e decodificar um sinal de áudio de n canais, sinal de áudio de multicanais codificado para um sinal de áudio de n canais e sistema de transmissão |
EP2375409A1 (en) * | 2010-04-09 | 2011-10-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction |
CN104620315B (zh) * | 2012-07-12 | 2018-04-13 | 诺基亚技术有限公司 | 一种矢量量化的方法及装置 |
CA2948015C (en) * | 2012-12-21 | 2018-03-20 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Comfort noise addition for modeling background noise at low bit-rates |
KR101751228B1 (ko) * | 2013-05-24 | 2017-06-27 | 돌비 인터네셔널 에이비 | 오디오 오브젝트들을 포함한 오디오 장면들의 효율적 코딩 |
EP2830047A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for low delay object metadata coding |
JP6288100B2 (ja) * | 2013-10-17 | 2018-03-07 | 株式会社ソシオネクスト | オーディオエンコード装置及びオーディオデコード装置 |
US9564136B2 (en) * | 2014-03-06 | 2017-02-07 | Dts, Inc. | Post-encoding bitrate reduction of multiple object audio |
FR3020732A1 (fr) * | 2014-04-30 | 2015-11-06 | Orange | Correction de perte de trame perfectionnee avec information de voisement |
CA2958429C (en) * | 2014-07-25 | 2020-03-10 | Panasonic Intellectual Property Corporation Of America | Audio signal coding apparatus, audio signal decoding apparatus, audio signal coding method, and audio signal decoding method |
US20160255348A1 (en) * | 2015-02-27 | 2016-09-01 | Arris Enterprises, Inc. | Adaptive joint bitrate allocation |
US9866596B2 (en) * | 2015-05-04 | 2018-01-09 | Qualcomm Incorporated | Methods and systems for virtual conference system using personal communication devices |
US10395664B2 (en) * | 2016-01-26 | 2019-08-27 | Dolby Laboratories Licensing Corporation | Adaptive Quantization |
US10573324B2 (en) * | 2016-02-24 | 2020-02-25 | Dolby International Ab | Method and system for bit reservoir control in case of varying metadata |
FR3048808A1 (fr) * | 2016-03-10 | 2017-09-15 | Orange | Codage et decodage optimise d'informations de spatialisation pour le codage et le decodage parametrique d'un signal audio multicanal |
US10354660B2 (en) * | 2017-04-28 | 2019-07-16 | Cisco Technology, Inc. | Audio frame labeling to achieve unequal error protection for audio frames of unequal importance |
CN118540517A (zh) * | 2017-07-28 | 2024-08-23 | 杜比实验室特许公司 | 向客户端提供媒体内容的方法和系统 |
AU2018338424B2 (en) * | 2017-09-20 | 2023-03-02 | Voiceage Corporation | Method and device for efficiently distributing a bit-budget in a CELP codec |
US10854209B2 (en) * | 2017-10-03 | 2020-12-01 | Qualcomm Incorporated | Multi-stream audio coding |
US10999693B2 (en) * | 2018-06-25 | 2021-05-04 | Qualcomm Incorporated | Rendering different portions of audio data using different renderers |
GB2575305A (en) * | 2018-07-05 | 2020-01-08 | Nokia Technologies Oy | Determination of spatial audio parameter encoding and associated decoding |
US10359827B1 (en) * | 2018-08-15 | 2019-07-23 | Qualcomm Incorporated | Systems and methods for power conservation in an audio bus |
US11683487B2 (en) * | 2019-03-26 | 2023-06-20 | Qualcomm Incorporated | Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding |
US20220172732A1 (en) * | 2019-03-29 | 2022-06-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for error recovery in predictive coding in multichannel audio frames |
-
2020
- 2020-07-07 CN CN202080050126.3A patent/CN114072874A/zh active Pending
- 2020-07-07 CA CA3145047A patent/CA3145047A1/en active Pending
- 2020-07-07 MX MX2021015476A patent/MX2021015476A/es unknown
- 2020-07-07 KR KR1020227000308A patent/KR20220034102A/ko unknown
- 2020-07-07 JP JP2022500962A patent/JP2022539608A/ja active Pending
- 2020-07-07 CA CA3145045A patent/CA3145045A1/en active Pending
- 2020-07-07 EP EP20836269.9A patent/EP3997697A4/en active Pending
- 2020-07-07 JP JP2022500960A patent/JP2022539884A/ja active Pending
- 2020-07-07 KR KR1020227000309A patent/KR20220034103A/ko unknown
- 2020-07-07 BR BR112021026678A patent/BR112021026678A2/pt unknown
- 2020-07-07 BR BR112021025420A patent/BR112021025420A2/pt unknown
- 2020-07-07 US US17/596,567 patent/US20220319524A1/en active Pending
- 2020-07-07 US US17/596,566 patent/US20220238127A1/en active Pending
- 2020-07-07 WO PCT/CA2020/050943 patent/WO2021003569A1/en unknown
- 2020-07-07 CN CN202080049817.1A patent/CN114097028A/zh active Pending
- 2020-07-07 AU AU2020310084A patent/AU2020310084A1/en active Pending
- 2020-07-07 AU AU2020310952A patent/AU2020310952A1/en not_active Abandoned
- 2020-07-07 WO PCT/CA2020/050944 patent/WO2021003570A1/en unknown
- 2020-07-07 EP EP20836995.9A patent/EP3997698A4/en active Pending
- 2020-07-07 MX MX2021015660A patent/MX2021015660A/es unknown
Also Published As
Publication number | Publication date |
---|---|
US20220319524A1 (en) | 2022-10-06 |
EP3997698A1 (en) | 2022-05-18 |
KR20220034103A (ko) | 2022-03-17 |
MX2021015660A (es) | 2022-02-03 |
CN114097028A (zh) | 2022-02-25 |
BR112021026678A2 (pt) | 2022-02-15 |
CA3145047A1 (en) | 2021-01-14 |
US20220238127A1 (en) | 2022-07-28 |
CN114072874A (zh) | 2022-02-18 |
JP2022539884A (ja) | 2022-09-13 |
EP3997698A4 (en) | 2023-07-19 |
WO2021003570A1 (en) | 2021-01-14 |
AU2020310084A1 (en) | 2022-01-20 |
MX2021015476A (es) | 2022-01-24 |
EP3997697A4 (en) | 2023-09-06 |
EP3997697A1 (en) | 2022-05-18 |
BR112021025420A2 (pt) | 2022-02-01 |
JP2022539608A (ja) | 2022-09-12 |
CA3145045A1 (en) | 2021-01-14 |
WO2021003569A1 (en) | 2021-01-14 |
AU2020310952A1 (en) | 2022-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7124170B2 (ja) | セカンダリチャンネルを符号化するためにプライマリチャンネルのコーディングパラメータを使用するステレオ音声信号を符号化するための方法およびシステム | |
JP5171269B2 (ja) | マルチチャネルオーディオ符号化における忠実度の最適化及び信号伝送量の低減 | |
US7761290B2 (en) | Flexible frequency and time partitioning in perceptual transform coding of audio | |
KR20220034102A (ko) | 오디오 스트림에 있어서의 메타데이터를 코딩하고 가요성 객체간 및 객체내 비트레이트 적응화를 위한 방법 및 시스템 | |
US9489962B2 (en) | Sound signal hybrid encoder, sound signal hybrid decoder, sound signal encoding method, and sound signal decoding method | |
EP1623411A1 (en) | Fidelity-optimised variable frame length encoding | |
JP7285830B2 (ja) | Celpコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス | |
WO2024103163A1 (en) | Method and device for discontinuous transmission in an object-based audio codec | |
KR20230088409A (ko) | 오디오 코덱에 있어서 오디오 대역폭 검출 및 오디오 대역폭 스위칭을 위한 방법 및 디바이스 | |
WO2024152129A1 (en) | Method and device for flexible combined format bit-rate adaptation in an audio codec | |
WO2024052450A1 (en) | Encoder and encoding method for discontinuous transmission of parametrically coded independent streams with metadata | |
WO2024051955A1 (en) | Decoder and decoding method for discontinuous transmission of parametrically coded independent streams with metadata |