CN114072874A - 用于编解码音频流中的元数据和用于对音频流编解码的有效比特率分配的方法和*** - Google Patents

用于编解码音频流中的元数据和用于对音频流编解码的有效比特率分配的方法和*** Download PDF

Info

Publication number
CN114072874A
CN114072874A CN202080050126.3A CN202080050126A CN114072874A CN 114072874 A CN114072874 A CN 114072874A CN 202080050126 A CN202080050126 A CN 202080050126A CN 114072874 A CN114072874 A CN 114072874A
Authority
CN
China
Prior art keywords
bit
audio
ism
audio stream
bit rate
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202080050126.3A
Other languages
English (en)
Inventor
V.埃克斯勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VoiceAge Corp
Original Assignee
VoiceAge Corp
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 VoiceAge Corp filed Critical VoiceAge Corp
Publication of CN114072874A publication Critical patent/CN114072874A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • 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

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

用于编解码音频流中的元数据和用于对音频流编解码的有效 比特率分配的方法和***
技术领域
本公开涉及声音编解码(coding),更具体地,涉及用于对基于对象的音频(例如,语音、音乐或一般音频声音)进行数字编解码的技术。特别地,本公开涉及用于编解码的***和方法,以及用于响应于具有相关联的元数据的音频流来解码包括音频对象的基于对象的音频信号的***和方法。
在本公开和所附权利要求中:
(a)术语“基于对象的音频”意在将复杂的音频听觉场景表示为单独元素的群集(collection),也称为音频对象。而且,如上所述,“基于对象的音频”可以包括例如语音、音乐或一般音频声音。
术语“音频对象”意在指定具有相关联的元数据的音频流。例如,在本公开中,“音频对象”被称为具有元数据的独立音频流(ISm)。
术语“音频流”意在在比特流中表示音频波形,例如,语音、音乐或一般音频声音,并且可以由一个声道(单声道)组成,尽管也可以考虑两个声道(立体声)。“单声道(mono)”是“单个声道(monophonic)”的缩写,“立体声(stereo)”是“立体音响(stereophonic)”的缩写。
术语“元数据”意在表示描述音频流和用于将原始或经编解码的音频对象转译到再现***的艺术意图(artistic intension)的信息集。元数据通常描述每个单独音频对象的空间属性,诸如位置、方向、音量、宽度等。在本公开的上下文中,考虑两个元数据集合:
-输入元数据:未量化的元数据表示,用作编解码器的输入;本公开不限于输入元数据的特定格式;和
-经编解码元数据:构成从编码器发送到解码器的比特流的一部分的经量化和经编解码元数据。
(e)术语“音频格式”意在指定一种实现沉浸式音频体验的方法。
(f)术语“再现***”意在指定解码器中能够在再现侧使用发送的元数据和艺术意图例如但不限于在听众周围的3D(三维)音频空间中渲染音频对象的元件。可以对目标扬声器布局(例如,5.1环绕声)或耳机执行渲染,同时元数据可以被动态地修改,例如,响应于头部跟踪设备的反馈。可以考虑其他类型的渲染。
背景技术
在过去的几年里,音频的生成、录制、表示、编解码、发送和再现正在向增强的、交互式的和沉浸式的听众体验发展。沉浸式体验可以被描述为,例如,当声音从四面八方传来时,深度参与或介入声音场景的状态。在沉浸式音频(也称为3D音频)中,考虑到广泛的声音特征,如音色、方向性、混响、透明度和(听觉)宽敞度的准确性,声音图像在听众周围的所有三维空间中再现。沉浸式音频是为给定的再现***(即,扬声器配置、集成再现***(声音条)或耳机)产生的。然后,音频再现***的交互性可以包括例如调节声音水平、改变声音位置或选择不同语言进行再现的能力。
有三种基本方法(以下也称为音频格式)可以实现沉浸式音频体验。
第一种方法是基于声道的音频,其中使用多个间隔开的麦克风来捕捉来自不同方向的声音,而一个麦克风对应于特定扬声器布局中的一个音频声道。每个录制的声道都被提供给特定位置的扬声器。基于声道的音频的示例包括例如立体声、5.1环绕声、5.1+4等。
第二种方法是基于场景的音频,其通过维度分量的组合将局部空间上的期望声场表示为时间的函数。表示基于场景的音频的信号独立于音频源的位置,而声场必须在渲染再现***处被转换成所选择的扬声器布局。基于场景的音频的一个示例是环境立体声。
第三种、最后一种沉浸式音频方法是基于对象的音频,其将听觉场景表示为单独音频元素(例如,歌手、鼓、吉他)的集合,伴随有关于例如它们在音频场景中的位置的信息,使得它们可以在再现***处被渲染到它们的预期位置。这为基于对象的音频提供了极大的灵活性和交互性,因为每个对象都是离散的,并且可以单独操纵。
上述每种音频格式都有其优缺点。因此,常见的是,在音频***中不仅使用一种特定的格式,而且它们可能在复杂的音频***中被组合以创建沉浸式听觉场景。一个示例可以是将基于场景或基于声道的音频与基于对象的音频(例如,具有很少离散音频对象的环境立体声)相结合的***。
本公开在以下描述中呈现了对基于对象的音频进行编码和解码的框架。这种框架可以是用于基于对象的音频格式编解码的独立***,或者它可以形成复杂的沉浸式编解码器的一部分,其可以包含其他音频格式和/或其组合的编解码。
发明内容
根据第一方面,本公开提供了一种用于响应于具有相关联的元数据的音频流对包括音频对象的基于对象的音频信号进行编解码的***,包括用于对元数据进行编解码的元数据处理器,元数据处理器生成关于用于音频对象的元数据的编解码的比特预算的信息。编码器对音频流进行编解码,并且比特预算分配器响应于来自元数据处理器的关于音频对象的元数据的编解码的比特预算的信息,为由编码器对音频流进行编解码分配比特率。
本公开还提供了一种用于响应于具有相关联的元数据的音频流对包括音频对象的基于对象的音频信号进行编解码的方法,包括对元数据进行编码,生成关于用于对音频对象的元数据进行编解码的比特预算的信息,对音频流进行编码,以及响应于关于用于对音频对象的元数据进行编解码的比特预算的信息,为对音频流进行编解码分配比特率。
根据第三方面,提供了一种用于响应于具有相关联的元数据的音频流对音频对象进行解码的***,包括:元数据处理器,用于对音频对象的元数据进行解码并用于提供关于音频对象的元数据的相应比特预算的信息;比特预算分配器,响应于音频对象的元数据比特预算来确定音频流的核心解码器比特率;以及使用在比特预算分配器中确定的核心解码器比特率的音频流的解码器。
本公开还提供了一种用于响应于具有相关联的元数据的音频流对音频对象进行解码的方法,包括:对音频对象的元数据进行解码并提供关于音频对象的元数据的相应比特预算的信息,使用音频对象的元数据比特预算来确定音频流的核心解码器比特率,以及使用所确定的核心解码器比特率对音频流进行解码。
在阅读以下仅参考附图作为示例给出的对其说明性实施例的非限制性描述后,用于对基于对象的音频信号进行编解码的***和方法以及用于对基于对象的音频信号进行解码的***和方法的前述和其他目的、优点和特征将变得更加明显。
附图说明
在附图中:
图1是同时示出了用于对基于对象的音频信号进行编解码的***和用于对基于对象的音频信号进行编解码的对应方法的示意框图;
图2是示出一个元数据参数的比特流编解码的不同场景的图;
图3a是示出不使用对象间元数据编解码逻辑的三(3)个音频对象的元数据参数的绝对编解码标志flagabs的值的曲线图,并且图3b是示出使用对象间元数据编解码逻辑的三(3)个音频对象的元数据参数的绝对编解码标志flagabs的值的曲线图,其中箭头指示几个绝对编解码标志的值等于1的帧;
图4是示出三(3)个核心编码器的比特率自适应的示例的曲线图;
图5是示出基于ISm(具有元数据的独立音频流)重要性逻辑的比特率自适应的示例的曲线图;
图6是示出从图1的编解码***发送到图7的解码***的比特流的结构的示意图;
图7是同时示出了用于响应于具有相关联的元数据的音频流对音频对象进行解码的***以及用于对音频对象进行解码的对应方法的示意框图;和
图8是所述用于对基于对象的音频信号进行编解码的***和方法以及用于对基于对象的音频信号进行解码的***和方法的硬件组件的示例配置的简化框图。
具体实施方式
本公开提供了用于对元数据进行编解码的机制的示例。本公开还提供了一种用于灵活的对象内和对象间比特率自适应的机制,即,尽可能高效地分布可用比特率的机制。在本公开中,进一步认为比特率是固定的(恒定的)。然而,类似地考虑自适应比特率也在本公开的范围内,例如(a)在基于自适应比特率的编解码器中,或者(b)作为对以固定总比特率来编解码的音频格式的组合进行编解码的结果。
在本公开中没有描述如何在所谓的“核心编码器”中实际编解码音频流。通常,用于对一个音频流进行编解码的核心编码器可以是使用自适应比特率编解码的任意单声道编解码器。一个示例是基于参考文献[1]中描述的EVS编解码器的编解码器,其具有灵活且有效地分布在核心编码器的模块之间的波动比特预算,例如,如参考文献[2]中描述的。参考文献[1]和[2]的全部内容通过引用结合于此。
1.对音频对象进行编解码的框架
作为非限制性示例,本公开考虑了一种框架,该框架支持几个音频对象(例如,多达16个音频对象)的同时编解码,同时被称为ism_total_brate的固定常数ISm总比特率被考虑用于对音频对象进行编解码,该音频对象包括具有相关联的元数据的音频流。应当注意,对于至少一些音频对象,元数据不必被发送,例如,在画外(non-diegetic)内容的情况下。电影、电视剧和其他视频中的画外音是角色听不到的声音。配乐是画外音的一个示例,因为听众是唯一听到音乐的人。
在对框架中的音频格式的组合进行编解码的情况下,例如,具有两(2)个音频对象的环境立体声音频格式,被称为codec_total_brate的恒定总编解码器比特率然后表示环境立体声音频格式比特率(即,对环境立体声音频格式进行编码的比特率)与ISm总比特率ism_total_brate(即,对音频对象(即,具有相关联的元数据的音频流)进行编解码的比特率的总和)的总和。
本公开考虑输入元数据的基本非限制性示例,该输入元数据包括两个参数,即,方位角和仰角,这两个参数针对每个对象按音频帧存储。在该示例中,考虑了[-180°,180°]的方位角范围和[-90°,90°]的仰角范围。然而,仅考虑一个或多于两(2)个元数据参数也在本公开的范围内。
2.基于对象的编解码
图1是同时示出了用于对基于对象的音频信号进行编解码的包括几个处理块的***100以及用于对基于对象的音频信号进行编解码的对应方法150的示意框图。
2.1输入缓冲
参考图1,用于对基于对象的音频信号进行编解码的方法150包括输入缓冲的操作151。为了执行输入缓冲的操作151,用于对基于对象的音频信号进行编解码的***100包括输入缓冲器101。
输入缓冲器101缓冲数量N个输入音频对象102,即,数量N个音频流以及相关联的相应N个元数据。包括N个音频流和与这N个音频流中的每一个相关联的N个元数据的N个输入音频对象102被缓冲一个帧,例如,20毫秒长的帧。在声音信号处理领域中众所周知,声音信号以给定的采样频率被采样,并由这些被称为“帧”的连续采样块进行处理,每个帧被分成多个“子帧”。
2.2音频流分析和前置预处理
仍然参考图1,用于对基于对象的音频信号进行编解码的方法150包括对N个音频流的分析和前置预处理的操作153。为了执行操作153,用于对基于对象的音频信号进行编解码的***100包括音频流处理器103,以用于例如并行地对分别通过N个传输通道104从输入缓冲器101发送到音频流处理器103的所缓冲的N个音频流进行分析和前置预处理。
由音频流处理器103执行的分析和前置预处理操作153可以包括例如以下子操作中的至少一个:时域瞬态检测、频谱分析、长期预测分析、音调跟踪和发声分析、话音/声音活动检测(VAD/SAD)、带宽检测、噪声估计和信号分类(在非限制性实施例中其可以包括(a)在例如ACELP核心编码器、TCX核心编码器、HQ核心编码器等之间的核心编码器选择、(b)在例如非活动核心编码器类型、无声核心编码器类型、有声核心编码器类型、通用核心编码器类型、转换核心编码器类型和音频核心编码器类型等之间的信号类型分类、(c)语音/音乐分类等)。从分析和前置预处理操作153获得的信息通过la线121提供给配置和决策处理器106。参考文献[1]中描述了与EVS编解码器相关的前述子操作的示例,因此在本公开中将不再进一步描述。
2.3元数据分析、量化和编解码
用于对基于对象的音频信号进行编解码的图1的方法150包括元数据分析、量化和编解码的操作155。为了执行操作155,用于对基于对象的音频信号进行编解码的***100包括元数据处理器105。
2.3.1元数据分析
来自音频流处理器103的信号分类信息120(例如,在EVS编解码器(参见参考文献[1])中使用的VAD或localVAD标志)被提供给元数据处理器105。元数据处理器105包括N个音频对象中的每一个的元数据的分析器(未示出),以确定当前帧相对于该特定音频对象是不活动的(例如,VAD=0)还是活动的(例如,VAC≠0)。在非活动帧中,与该对象相关的元数据没有被元数据处理器105编解码。在活动帧中,该音频对象的元数据使用可变比特率被量化和编解码。关于元数据量化和编解码的更多细节将在下面的第2.3.2节和第2.3.3节中提供。
2.3.2元数据量化
在所描述的非限制性说明性实施例中,图1的元数据处理器105在环路中顺序地对N个音频对象的元数据进行量化和编解码,同时在音频对象的量化和这些音频对象的元数据参数之间可以采用一定的相关性。
如上所述,在本公开中,考虑了两个元数据参数,方位角和仰角(包括在N个输入元数据中)。作为非限制性示例,元数据处理器105包括以下元数据参数索引的量化器(未示出),该量化器使用以下示例分辨率来减少正在使用的比特数:
-方位角参数:来自输入元数据的文件的12比特方位角参数索引被量化为Baz比特索引(例如,Baz=7)。给定最小和最大方位角极限(-180°和+180°),(Baz=7)比特均匀标量量化器的量化步长是2.835°。
-仰角参数:来自输入元数据的文件的12比特仰角参数索引被量化为Bel比特索引(例如,Bel=6)。给定最小和最大仰角极限(-90°和+90°),(Bel=6)比特均匀标量量化器的量化步长是2.857°。
用于对N个元数据进行编解码的总元数据比特预算和用于对元数据参数索引进行量化的总量化比特数(即,量化索引粒度,因而是分辨率)可以取决于比特率codec_total_brate、ism_total_brate和/或element_brate(后者由与一个音频对象相关的元数据比特预算和/或核心编码器比特预算的总和产生)来确定。
方位角和仰角参数可以例如通过球体上的点而表示为一个参数。在这种情况下,实施包括两个或更多个参数的不同元数据在本公开的范围内。
2.3.3元数据编解码
方位角和仰角索引两者一旦被量化,就可以由元数据处理器105的元数据编码器(未示出)使用绝对或差分编解码来编解码。如已知的,绝对编解码意味着对参数的当前值进行编解码。差分编解码意味着对参数的当前值和先前值之间的差进行编解码。由于方位角和仰角参数的索引通常平滑地演变(即,方位角或仰角位置的变化可以被认为是连续和平滑的),因此默认使用差分编解码。然而,例如,在以下情况下,可以使用绝对编解码:
-参数索引的当前值和先前值之间的差太大,这将导致使用差分编解码的比特数与使用绝对编解码相比更高或相等(可能会出现例外情况);
-在前一帧中没有元数据被编解码和发送;
-用差分编解码的连续帧太多。为了控制噪声通道中的解码(坏帧指示符,BFI=1)。例如,如果使用差分来编解码的连续帧的数量高于使用不同编解码来编解码的连续帧的最大数量,则元数据编码器使用绝对编解码来编解码元数据参数索引。后一个连续帧的最大数量被设置为β。在非限制性说明性示例中,β=10帧。
元数据编码器产生1比特绝对编解码标志flagabs,以区分绝对编解码和差分编解码。
在绝对编解码的情况下,编解码标志flagabs被设置为1,其后是使用绝对编解码来编解码的Baz比特(或Bel比特)索引,其中Baz和Bel分别指上述要编解码的方位角和仰角参数的索引。
在差分编解码的情况下,1比特编解码标志flagabs被设置为0,其后是1比特零编解码标志flagzero,发信号通知当前和先前帧中的Baz比特索引(在另外情况下是Bel比特索引)之间的差△等于0。如果差△不等于0,则元数据编码器通过产生1比特符号标志flagsign,其后是差索引来继续编解码,该差索引的比特数是自适应的,该差索引以例如指示差△的一元码的形式。
图2是示出一个元数据参数的比特流编解码的不同场景的图。
参考图2,注意到并非所有元数据参数总是在每个帧中被发送。有些可能只在每第y个帧中被发送,有些根本不发送,例如,当它们不演变时,它们不重要或者可用的比特预算低。参考图2,例如:
-在绝对编解码的情况下(图2的第一行),绝对编解码标志flagabs和Baz比特索引(在另外情况下是Bel比特索引)被发送;
-在当前帧和先前帧中的Baz比特索引(在另外情况下是Bel比特索引)之间的差△等于0的差分编解码的情况下(图2的第二行),绝对编解码标志flagabs=0和零编解码标志flagzero=1被发送;
-在当前帧和先前帧中的Baz比特索引(在另外情况下是Bel比特索引)之间正差△的差分编解码的情况下(图2的第三行),绝对编解码标志flagabs=0、零编解码标志flagzero=0、符号标志flagsign=0和差索引(1至(Baz-3)比特索引(在另外情况下是1至(Bel-3)比特索引))被发送;和
-在当前帧和先前帧中的Baz比特索引(在另外情况下是Bel比特索引)之间的负差△的差分编解码的情况下(图2的最后一行),绝对编解码标志flagabs=0、零编解码标志flagzero=0、符号标志flagsign=1和差索引(1到(Baz-3)比特索引(在另外情况下是1到(Bel-3)比特索引))被发送。
2.3.3.1对象内元数据编解码逻辑
用于设置绝对或差分编解码的逻辑可以由对象内元数据编解码逻辑进一步扩展。具体而言,为了限制帧之间的元数据编解码比特预算波动的范围,从而避免核心编码器109剩余的比特预算太低,元数据编码器将给定帧中的绝对编解码限制为一个,或者通常限制为尽可能少的元数据参数。
在方位角和仰角元数据参数编解码的非限制性示例中,元数据编码器使用如果方位角比特索引已经在给定帧中使用绝对编解码进行编解码,则避免在同一帧中对仰角索引进行绝对编解码的逻辑。换句话说,一个音频对象的方位角和仰角参数(实际上)永远不会在同一帧中使用绝对编解码进行编码。因此,如果方位角参数的绝对编解码标志flagabs.azi等于1,则仰角参数的绝对编解码标志flagabs.ele不在音频对象比特流中被发送。
使对象内元数据编解码逻辑依赖于比特率也在本公开的范围内。例如,比特率足够大,仰角参数的绝对编解码标志flagabs.ele和方位角参数的绝对编解码标志flagabs.azi可以在同一帧中被发送。
2.3.3.2对象间元数据编解码逻辑
元数据编码器可以将类似的逻辑应用于不同音频对象的元数据编解码。所实施的对象间元数据编解码逻辑最小化了在当前帧中使用绝对编解码进行编解码的不同音频对象的元数据参数的数量。这是通过元数据编码器主要通过控制使用根据鲁棒性目的而选择的绝对编解码来编解码并且由参数β表示的元数据参数的帧计数器来实现的。作为非限制性示例,考虑音频对象的元数据参数缓慢且平滑地演变的场景。为了控制在噪声声道中的解码,在该噪声声道中使用绝对编解码每β帧对索引进行编解码,在帧M中使用绝对编解码对音频对象#1的方位角Baz比特索引进行编解码,在帧M+1中使用绝对编解码对音频对象#1的仰角Bel比特索引进行编解码,在帧M+2中使用绝对编解码对音频对象#2的方位角Baz比特索引进行编码,在帧M+3中使用绝对编解码对对象#2的仰角Bel比特索引进行编解码,等等。
图3a是示出不使用对象间元数据编解码逻辑的三(3)个音频对象的元数据参数的绝对编解码标志flagabs的值的曲线图,并且图3b是示出使用对象间元数据编解码逻辑的三(3)个音频对象的元数据参数的绝对编解码标志flagabs的值的曲线图。在图3a中,箭头表示几个绝对编码解标志的值等于1的帧。
更具体地,图3a示出了不使用对象间元数据编解码逻辑的音频对象的两个元数据参数(在该特定示例中为方位角和仰角)的绝对编解码标志flagabs的值,而图3b示出了相同的值,但是实施了对象间元数据编解码逻辑。图3a和图3b的曲线图对应于(从上到下):
-音频对象#1的音频流;
-音频对象#2的音频流;
-音频对象#3的音频流,
-音频对象#1的方位角参数的绝对编解码标志flagabs,azi
-音频对象#1的仰角参数的绝对编解码标志flagabs,ele
-音频对象#2的方位角参数的绝对编解码标志flagabs,azi
-音频对象#2的仰角参数的绝对编解码标志flagabs,ele
-音频对象#3的方位角参数的绝对编解码标志flagabs,azi;和
-音频对象#3的仰角参数的绝对编解码标志flagabs,ele
从图3a可以看出,当不使用对象间元数据编解码逻辑时,在同一帧中,几个flagabs的值可以等于1(见箭头)。相反,图3b示出了,当使用对象间元数据编解码逻辑时,在给定帧中,只有一个绝对标志flagabs的值可以等于1。
对象间元数据编解码逻辑也可以依赖于比特率。在这种情况下,例如,如果比特率足够大,则甚至当使用对象间元数据编解码逻辑时,在给定的帧中,不止一个绝对标志flagabs的值可以等于1。
对象间元数据编解码逻辑和对象内元数据编解码逻辑的技术优势是限制帧之间元数据编解码比特预算的波动范围。另一技术优势是增加编解码器在噪声声道中的鲁棒性;当一帧丢失时,则只有来自使用绝对编解码来编解码的音频对象的有限数量的元数据参数丢失。因此,从丢失的帧传播的任何错误仅影响音频对象上的少量元数据参数,因此不会影响整个音频场景(或几个不同的声道)。
如上所述,与音频流分开地分析、量化和编解码元数据的总体技术优势在于,能够进行特别适合于元数据的处理,并且在元数据编解码比特率、元数据编解码比特预算波动、噪声声道中的鲁棒性以及由于丢失帧而导致的错误传播方面更加有效。
来自元数据处理器105的经量化和经编解码的元数据112被提供给复用器110,以用于***到发送到远程解码器700的输出比特流111中(图7)。
一旦N个音频对象的元数据被分析、量化和编码,来自元数据处理器105的关于每音频对象的元数据的编解码的比特预算的信息107就被提供给配置和决策处理器106(比特预算分配器),这将在下面的第2.4节中更详细地描述。当在处理器106(比特预算分配器)中完成音频流之间的配置和比特率分布时,编解码由后面将描述的进一步预处理158继续进行。最后,使用编码器对N个音频流进行编码,该编码器包括例如N个波动比特率核心编码器109,诸如单核编码器。
2.4每个通道的比特率配置和决策
用于对基于对象的音频信号进行编解码的图1的方法150包括关于每传输通道104的比特率的配置和决定的操作156。为了执行操作156,用于对基于对象的音频信号进行编解码的***100包括形成比特预算分配器的配置和决策处理器106。
配置和决策处理器106(这里在比特预算分配器106之后)使用比特率自适应算法来分布用于对N个传输通道104中的N个音频流进行核心编码的可用比特预算。
配置和决策操作156的比特率自适应算法包括由比特预算分配器106执行的以下子操作1-6:
1.每帧的ISm总比特预算是使用例如以下关系,根据ISm总比特率ism_total_brate(或如果只对音频对象进行编解码,则为编解码器总比特率codec_total_brate)计算的:
Figure BDA0003462357650000121
分母50对应于每秒帧数,假设帧长为20毫秒。如果帧的大小不同于20毫秒,则值50将不同。
2.为N个音频对象定义的上述元素比特率element_brate(由与一个音频对象相关的元数据比特预算和核心编码器比特预算的总和产生)在给定编解码器总比特率的会话期间应该是恒定的,并且对于N个音频对象大约是相同的。“会话”被定义为例如电话呼叫或音频文件的离线压缩。使用例如以下关系,为音频流对象n=0,…,N-1计算对应的元素比特预算bitselement
Figure BDA0003462357650000122
其中
Figure BDA0003462357650000123
表示小于或等于x的最大整数。为了花费所有可用的ISm总比特预算bitsism,例如,最后一个音频对象的元素比特预算bitselement最终使用以下关系进行调整:
Figure BDA0003462357650000124
其中“mod”表示余数模运算。最后,使用N个音频对象的元素比特预算bitselement来使用例如以下关系,设置音频对象n=0,…,N-1的值element_brate:
element_brate[n]=bitselement[n]*50
其中如已经提到的数字50对应于每秒帧数,假设帧长为20毫秒。
3.使用以下关系,对N个音频对象的每帧的元数据比特预算bitsmeta进行求和:
Figure BDA0003462357650000125
并且所得值bitsmetal_all被添加到ISm公共信令比特预算bitsIsm_signalling中,从而产生编解码器侧比特预算:
bitsside=bitsmeta_all+bitsISm_signalling
4.每帧的编解码器侧比特预算bitsside在N个音频对象之间平均分割,并用于使用例如以下关系来计算N个音频流中每一个的核心编码器比特预算bitsCoreCoder
Figure BDA0003462357650000131
而例如最后一个音频流的核心编码器比特预算最终可以被调整为使用例如以下关系来花费所有可用的核心编码比特预算:
Figure BDA0003462357650000132
然后,对于n=0,…,N-1,使用例如以下关系,获得对应的总比特率total_brate,即,在核心编码器中对一个音频流进行编解码的比特率:
total_brate[n]=bitsCoreCoder[n]*50
其中数字50还是对应于每秒帧数,假设帧长为20毫秒。
5.可以降低非活动帧(或具有非常低能量或以其他方式不具有有意义内容的帧)中的总比特率total_brate,并将其设置为相关音频流中的恒定值。如此节省的比特预算然后在帧中具有活动内容的音频流之间平均重新分布。这种比特预算的重新分布将在下面的第2.4.1节中进一步描述。
6.活动帧中音频流(具有活动内容)的总比特率total_brate基于ISm重要性分类在这些音频流之间进一步调整。比特率的这种调整将在下面的第2.4.2节中进一步描述。
当音频流都处于非活动段(或者不具有有意义的内容)时,可以跳过上面的最后两个子操作5和6。因此,当至少一个音频流具有活动内容时,采用在下面的第2.4.1节和第2.4.2节中描述的比特率自适应算法。
2.4.1基于信号活动的比特率自适应
在非活动帧(VAD=0)中,总比特率total_brate降低,节省的比特预算被重新分布,例如,在活动帧(VAD≠0)中音频流之间平均分布。假设不需要对在被分类为非活动的帧中的音频流进行波形编解码;音频对象可能被静音。每个帧中使用的逻辑可以由以下子操作1-3表示:
1.对于特定的帧,为每个具有非活动内容的音频流n设置较低的核心编码器比特预算:
Figure BDA0003462357650000133
其中VAD=0
其中BVAD0是要在非活动帧中设置的较低的、恒定的核心编码器比特预算;例如,BVAD0=140(对于20毫秒帧,对应于7kbps)或BVAD0=49(对于20毫秒帧对应于2.45kbps)。
2.接下来,使用例如以下关系来计算节省的比特预算:
Figure BDA0003462357650000141
3.最后,节省的比特预算被重新分布,例如,使用以下关系在给定帧中具有活动内容的音频流的核心编码器比特预算之间平均分布:
Figure BDA0003462357650000142
其中VAD=l
其中NVAD1是具有活动内容的音频流的数量。具有活动内容的第一音频流的核心编码器比特预算最终使用例如以下关系来增加:
Figure BDA0003462357650000143
第一VAD=1流
对于每个音频流n=0,…,N-1,最终获得对应的核心编码器总比特率total_brate,如下所示:
total_brate′[n]=bitsCoreCoder′[n]*50
图4是示出了三(3)个核心编码器的比特率自适应的示例的曲线图。具体而言,在图4中,第一行示出了音频流#1的核心编码器总比特率total_brate,第二行示出了音频流#2的核心编码器总比特率total_brate,第三行示出了音频流#3的核心编码器总比特率total_brate,第四行是音频流#1,第五行是音频流#2,并且第四行是音频流#3。
在图4的示例中,三(3)个核心编码器的总比特率total_brate的自适应是基于VAD活动性(活动/非活动帧)的。从图4可以看出,大多数时候,由于波动的边比特预算bitsside,核心编码器总比特率total_brate有一个小的波动。然后,由于VAD活动性,核心编码器的总比特率total_brate发生了罕见的实质性变化。
例如,参考图4,实例A)对应于音频流#1VAD活动性从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。例如,对于较高的总比特率ism_total_brate,可以将上述子操作1中的比特预算BVAD0设置得较高,而对于较低的总比特率ism_total_brate,可以将其设置得较低。
2.4.2基于ISm重要性的比特率自适应
前面第2.4.1节中描述的逻辑导致在给定帧中具有活动内容(VAD=1)的每个音频流中大约相同的核心编码器比特率。然而,基于ISm重要性的分类(或者更一般地,基于指示当前帧中特定音频对象的编解码对于获得解码合成的给定(适宜的)质量有多关键的度量),引入对象间核心编码器比特率自适应可能是有益的。
ISm重要性的分类可以基于几个参数和/或参数组合,例如,核心编码器类型(coder_type)、FEC(前向纠错)、声音信号分类(class)、语音/音乐分类决策、和/或来自参考文献[1]中描述的开环ACELP/TCX(代数码激励线性预测/变换编解码激励)核心决策模块(snr_celp、snr_tcx)的SNR(信噪比)估计。其他参数可能用于确定ISm重要性的分类。
在一个非限制性示例中,ISm重要性的简单分类基于参考文献[1]中定义的核心编码器类型。为此,图1的比特预算分配器106包括分类器(未示出),以用于评定特定ISm流的重要性。作为结果,定义了四(4)个不同的ISm重要性类classISm
-无元数据类,ISM_NO_META:没有元数据编解码的帧,例如,VAD=0的非活动帧;
-低重要性类,ISM_LOW_IMP:coder_type(编码器类型)=UNVOICED(无声)或INACTIVE(无效)的帧;
-中等重要性类,ISM_MEDIUM_IMP:coder_type=VOICED(有声)的帧;
-高重要性类,ISM_HIGH_IMP:coder_type=GENERIC(通用)的帧。
然后,比特预算分配器106在比特率自适应算法(见上文第2.4节,子操作6)中使用ISm重要性类,以将较高的比特预算分派给具有较高ISm重要性的音频流,并且将较低的比特预算分派给具有较低ISm重要性的音频流。因此,对于每个音频流n,n=0,…,N-1,比特预算分配器106使用以下比特率自适应算法:
1.在分类为classISm=ISM_NO_META的帧中,恒定的低比特率BVAD0被分派。
2.在分类为classISm=ISM_LOW_IMP的帧中,总比特率total_brate降低,例如降低为:
total_bratenew[n]=max(αlow*total_brate[n],Blow)
其中常数αlow被设置为低于1.0的值,例如,0.6。然后,常数Blow表示特定配置的编解码器所支持的最小比特率阈值,该阈值可以取决于例如编解码器的内部采样率、编解码音频带宽等。(有关这些值的更多详细信息,请参见参考文献[1])。
3.在分类为classISm=ISM_MEDIUM_IMP的帧中:核心编码器总比特率total_brate被降低,例如降低为:
total_bratenew[n]=max(αmed*total_brate[n],Blow)
其中常数αmed被设置为低于1.0但高于αlow的值,例如,0.8。
4.在分类为classISm=ISM_HIGH_IMP的帧中,不使用比特率自适应;
5.最后,节省的比特预算(旧(total_brate)总比特率和新(total_bratenew)总比特率之间的差的总和)在帧中具有活动内容的音频流之间平均重新分布。可以使用与第2.4.1节子操作2和3中描述的相同的比特预算重新分布逻辑。
图5是示出基于ISm重要性逻辑的比特率自适应的示例的曲线图。从上到下,图5的曲线图按时间示出:
-音频对象#1的音频流的活动语音段;
-音频对象#2的音频流的活动语音段;
-不使用比特率自适应算法的音频对象#1的音频流的总比特率total_brate;
-不使用比特率自适应算法的音频对象#2的音频流的总比特率total_brate;
-当使用比特率自适应算法时,音频对象#1的音频流的总比特率total_brate;和
-使用比特率自适应算法时,音频对象#2的音频流的总比特率total_brate。
在图5的非限制性示例中,在两个音频对象(N=2)和固定不变的总比特率ism_total_brate等于48kbps的情况下,当不使用比特率自适应算法时,音频对象#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。
一旦配置和决策处理器106(比特预算分配器)完成了N个音频流之间的配置和比特率分布,预处理器108就对N个音频流中的每一个执行顺序的进一步预处理158。这种预处理158可以包括,例如,进一步的信号分类、进一步的核心编码器选择(例如,在ACELP核心、TCX核心和HQ核心之间的选择)、以适应于用于核心编码的比特率的不同的内部采样频率Fs进行的其他重采样,等等。这种预处理的示例可以在例如与EVS编解码器相关的参考文献[1]中找到,因此在本公开中将不再进一步描述。
2.6核心编码
参考图1,用于对基于对象的音频信号进行编解码的方法150包括核心编码的操作159。为了执行操作159,用于对基于对象的音频信号进行编解码的***100包括上述N个音频流的编码器,包括例如数量N个核心编码器109,以分别对从预处理器108通过N个传输通道104传送的N个音频流进行编解码。
具体而言,使用N个波动比特率核心编码器109,例如,单核编码器,对N个音频流进行编码。N个核心编码器中的每一个使用的比特率是由配置和决策处理器106(比特预算分配器)为对应的音频流选择的比特率。例如,参考文献[1]中描述的核心编码器可以用作核心编码器109。
3.0比特流结构
参考图1,用于对基于对象的音频信号进行编解码的方法150包括复用的操作160。为了执行操作160,用于对基于对象的音频信号进行编解码的***100包括复用器110。
图6是示出对于一帧,由复用器110产生并从图1的编解码***100发送到图7的解码***700的比特流111的结构的示意图。不管元数据是否存在并被发送,比特流111的结构可以如图6所示被结构化。
参考图6,复用器110从比特流111的开头写入N个音频流的索引,而来自配置和决策处理器106(比特预算分配器)的ISm公共信令113的索引和来自元数据处理器105的元数据112从比特流111的结尾写入。
3.1ISm公共信令
复用器从比特流111的结尾写入ISm公共信令113。ISm公共信令由配置和决策处理器106(比特预算分配器)产生,并且包括可变数量的比特,表示:
(a)音频对象的数量N:比特流111中存在数量N个编解码音频对象的信令是以例如具有停止比特的一元码的形式(例如,对于N=3个音频对象,ISm公共信令的前3比特将是“110”)。
(b)元数据存在标志flagmeta:当使用如第2.4.1节描述的基于信号活动性的比特率自适应时,标志flagmeta存在,并且每音频对象包括一个比特,以指示该特定音频对象的元数据是存在于比特流111中(flagmeta=1)还是不存在于比特流111中(flagmeta=0),或者(c)ISM重要性类:当使用第2.4.2节中描述的基于ISm重要性的比特率自适应时,该信令存在,并且每音频对象包括两个比特来指示ISm重要性类classISm(ISM_NO_META、ISM_LOW_IMP、ISM_MEDIUM_IMP和ISM_HIGH_IMP),如第2.4.2节中所定义的。
(d)ISm VAD标志flagVAD:ISm VAD标志在flagmeta=0,另外classISm=ISM_NO_META时被发送,并区分以下两种情况:
1)输入元数据不存在或元数据未被编解码,因此音频流需要通过活动编解码模式(flagVAD=1)进行编解码;和
2)输入元数据存在和被发送,使得音频流可以通过非活动编解码模式(flagVAD=0)进行编解码。
3.2经编解码的元数据有效载荷
复用器110被提供有来自元数据处理器105的经编解码的元数据112,并且为当前帧中其中元数据被编解码的音频对象(flagmeta=1,另外classISm≠ISM_NO_META)从比特流的结尾顺序写入元数据有效载荷。每个音频对象的元数据比特预算不是恒定的,而是对象间和帧间自适应的。不同的元数据格式场景如图2所示。
在对于N个音频对象中的至少一些,元数据不存在或不被发送的情况下,对于这些音频对象,元数据标志被设置为0,即,flagmeta=0,另外classISm=ISM_NO_META。然后,不发送与那些音频对象(即,bitsmeta[n]=0)相关的元数据索引。
3.3音频流有效负载
复用器110通过N个传输通道104接收由N个核心编码器109进行编解码的N个音频流114,并从比特流111的开始按时间顺序为N个音频流顺序写入音频流有效载荷(见图6)。由于第2.4节中描述的比特率自适应算法,N个音频流各自的比特预算是波动的。
4.0音频对象的解码
图7是同时示出了用于响应于具有相关联的元数据的音频流对音频对象进行解码的***700和用于对音频对象进行解码的对应方法750的示意框图。
4.1解复用
参考图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和输出设置709,以对具有活动内容的音频流/对象的元数据进行解码和去量化。输出设置709是关于经解码音频对象/传输通道和/或音频格式的数量M的命令线路(line)参数,其可以等于或不同于经编码音频对象/传输通道的数量N。元数据解码和去量化处理器706产生M个音频对象/传输通道的经解码元数据704,并在线路708上提供关于M个经解码元数据的相应比特预算的信息。显然,由处理器706执行的解码和解量化是由图1的元数据处理器105执行的量化和编解码的逆过程。
4.3关于比特率的配置和决策
参考图7,用于响应于具有相关联的元数据的音频流对音频对象进行解码的方法750包括关于每声道的比特率的配置和决定的操作757。为了执行操作757,用于响应于音频流以及相关联的元数据对音频对象进行解码的***700包括配置和决策处理器707(比特预算分配器)。
比特预算分配器707从公共信令113接收(a)关于线路708上的M个经解码元数据的相应比特预算的信息,以及(b)ISm重要性类classISm,并且确定每音频流的核心解码器比特率total_brate[n]。比特预算分配器707使用与图1的比特预算分配器106中相同的过程来确定核心解码器比特率(参见第2.4节)。
4.4核心解码
参考图7,用于响应于具有相关联的元数据的音频流对音频对象进行解码的方法750包括核心解码的操作760。为了执行操作760,用于响应于具有相关联的元数据的音频流对音频对象进行解码的***700包括N个音频流114的解码器,包括N个核心解码器710,例如,N个波动比特率核心解码器。
来自解复用器705的N个音频流114被解码,例如,在数量N个波动比特率核心解码器710中以由比特预算分配器707确定的它们各自的核心解码器比特率被顺序解码。当输出设置709所请求的经解码音频对象的数量M低于传输通道的数量,即,M<N时,使用较低数量的核心解码器。类似地,在这种情况下,并非所有元数据有效载荷都可以被解码。
响应于来自解复用器705的N个音频流114、由比特预算分配器707确定的核心解码器比特率以及输出设置709,核心解码器710在相应的M个传输通道上产生M个经解码音频流703。
5.0音频声道渲染
在音频声道渲染761的操作中,音频对象的渲染器711将M个经解码元数据704和M个经解码音频流703转换成多个输出音频声道702,同时考虑到指示要产生的输出音频声道的数量和内容的输出设置712。同样,输出音频声道702的数量可以等于或不同于数量M。
渲染器761可以被设计成各种不同的结构,以获得期望的输出音频声道。为此,在本公开中将不再进一步描述渲染器。
6.0源代码
根据非限制性说明性实施例,如前面描述中公开的用于对基于对象的音频信号进行编解码的***和方法可以由下面作为附加公开给出的以下源代码(用C代码表示)来实施。
Figure BDA0003462357650000211
Figure BDA0003462357650000221
Figure BDA0003462357650000231
Figure BDA0003462357650000241
Figure BDA0003462357650000251
Figure BDA0003462357650000261
Figure BDA0003462357650000271
Figure BDA0003462357650000281
Figure BDA0003462357650000291
Figure BDA0003462357650000301
Figure BDA0003462357650000311
Figure BDA0003462357650000321
7.0硬件实施方式
图8是形成上述编解码和解码***和方法的硬件组件的示例配置的简化框图。
每个编解码和解码***可以被实施为移动终端的一部分、便携式媒体播放器的一部分或者任何类似的设备。每个编解码和解码***(在图8中标识为1200)包括输入1202、输出1204、处理器1206和存储器1208。
输入1202被配置为接收(多个)输入信号,例如,以数字或模拟形式的图1的N个音频对象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)、专用集成电路(ASIC)等。在由处理器、计算机或机器实施包括一系列操作和子操作的方法的情况下,这些操作和子操作可以被存储为处理器、计算机或机器可读的一系列非暂时性代码指令,它们可以被存储在有形和/或非瞬时介质上。
这里描述的编解码和解码***和方法可以使用软件、固件、硬件或适合于这里描述的目的的软件、固件或硬件的(多个)任何组合。
在这里描述的编解码和解码***和方法中,各种操作和子操作可以以各种顺序执行,并且一些操作和子操作可以是可选的。
尽管上文已经通过非限制性的说明性实施例描述了本公开,但是在不脱离本公开的精神和本质的情况下,可以在所附权利要求的范围内随意修改这些实施例。
8.0参考文献
在本公开中引用了以下参考文献,并且其全部内容通过引用结合于此。
[1]3GPP规范TS 26.445:“Codec for Enhanced Voice Services(EVS).DetailedAlgorithmic Description”,v12.0.0,2014年9月。
[2]V.Ekslerde“Method and Device for Allocating a Bit-budget BetweenSub-frames in a CELP Codec”,PCT专利申请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.根据实施例1至8中任一项所述的***,其中音频流表示音频波形,并且通常包括一个或两个声道。
实施例10.根据实施例1至9中任一项所述的***,其中元数据是描述音频流和用于将原始或经编解码音频对象转译到最终再现***的艺术意图的信息集。
实施例11.根据实施例1至10中任一项所述的***,其中元数据通常描述每个音频对象的空间属性。
实施例12.根据实施例1至11中任一项所述的***,其中空间属性包括音频对象的位置、方向、音量、宽度中的一个或多个。
实施例13.根据实施例1至12中任一项所述的***,其中每个音频对象包括被称为输入元数据的元数据集,该输入元数据被定义为用作编解码器的输入的未量化的元数据表示。
实施例14.根据实施例1至13中任一项所述的***,其中每个音频对象包括被称为经编解码元数据的元数据集,该经编解码元数据被定义为经量化和经编解码元数据,该经量化和经编解码元数据是从编码器发送到解码器的比特流的一部分。
实施例15.根据实施例1至14中任一项所述的***,其中再现***被构造成在再现侧使用所发送的元数据和艺术意图在听众周围的3D音频空间中再现音频对象。
实施例16.根据实施例1至15中任一项所述的***,其中再现***包括用于在渲染音频对象期间动态地修改元数据的头部跟踪设备。
实施例17.根据实施例1至16中任一项所述的***,包括用于数个音频对象的同时编解码的框架。
实施例18.根据实施例1至17中任一项所述的***,其中数个音频对象的同时编解码使用固定不变的总体比特率来对音频对象进行编码。
实施例19.根据实施例1至18中任一项所述的***,包括用于发送部分或全部音频对象的发送器。
实施例20.根据实施例1至19中任一项所述的***,其中在对框架中的音频格式的组合进行编解码的情况下,恒定的总体比特率表示格式的比特率的总和。
实施例21.根据实施例1至20中任一项所述的***,其中元数据包括两个参数,包括方位角和仰角。
实施例22.根据实施例1至21中任一项所述的***,其中针对每个音频对象按每个音频帧存储方位角和仰角参数。
实施例23.根据实施例1至22中任一项所述的***,包括用于缓冲至少一个输入音频流和与该音频流相关联的输入元数据的输入缓冲器。
实施例24.根据实施例1至23中任一项所述的***,其中输入缓冲器为一个帧缓冲每个音频流。
实施例25.根据实施例1至24中任一项所述的***,其中音频流处理器分析和处理音频流。
实施例26.根据实施例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.根据实施例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.根据实施例1至45中任一项所述的***,其中当使用差分编解码来编码元数据参数索引时,元数据处理器将绝对编解码标志设置为0,并且在绝对编解码标志之后写入零编解码标志,如果当前帧索引和前一帧索引之间的差为0,则发信号通知。
实施例47.根据实施例1至46中任一项所述的***,其中如果当前帧索引和前一帧索引之间的差不等于0,则元数据处理器通过写入符号标志并随后写入自适应比特差索引来继续编解码。
实施例48.根据实施例1至47中任一项所述的***,其中元数据处理器使用对象内元数据编解码逻辑来限制帧之间的元数据比特预算波动的范围,并避免留给核心编接码的比特预算过低。
实施例49.根据实施例1至48中任一项所述的***,其中元数据处理器根据对象内元数据编解码逻辑,将在给定帧中绝对编接码的使用限制为仅一个元数据参数或尽可能少的元数据参数。
实施例50.根据实施例1至49中任一项所述的***,其中如果另一元数据编解码逻辑的索引已经在同一帧中使用绝对编解码来编解码,则元数据处理器根据对象内元数据编解码逻辑,避免对一个元数据参数的索引进行绝对编码。
实施例51.根据实施例1至50中任一项所述的***,其中对象内元数据编解码逻辑是依赖于比特率的。
实施例52.根据实施例1至51中任一项所述的***,其中元数据处理器使用在不同对象的元数据编解码之间使用的对象间元数据编解码逻辑,以最小化当前帧中不同音频对象的绝对编解码元数据参数的数量。
实施例53.根据实施例1至52中任一项所述的***,其中元数据处理器使用对象间元数据编解码逻辑来控制绝对编解码元数据参数的帧计数器。
实施例54.根据实施例1至53中任一项所述的***,其中元数据处理器使用对象间元数据编解码逻辑,当音频对象的元数据参数缓慢且平滑地演变时,(a)在帧M中使用绝对编解码来编解码第一音频对象的第一元数据参数索引,(b)在帧M+1中使用绝对编解码来编解码第一音频对象的第二元数据参数索引,(c)在帧M+2中使用绝对编解码来编解码第二音频对象的第一元数据参数索引,以及(d)在帧M+3中使用绝对编解码来编解码的第二音频对象的第二元数据参数索引。
实施例55.根据实施例1至54中任一项所述的***,其中对象间元数据编解码逻辑是依赖于比特率的。
实施例56.根据实施例1至55中任一项所述的***,其中比特预算分配器使用比特率自适应算法来分布用于编码音频流的比特预算。
实施例57.根据实施例1至56中任一项所述的***,其中比特预算分配器使用比特率自适应算法,从元数据总比特率或编解码器总比特率获得元数据总比特预算。
实施例58.根据施例1至57中任一项所述的***,其中比特预算分配器使用比特率自适应算法,通过将元数据总比特预算除以音频流的数量来计算元素比特预算。
实施例59.根据实施例1至58中任一项所述的***,其中比特预算分配器使用比特率自适应算法来调整最后一个音频流的元素比特预算,以花费所有可用的元数据比特预算。
实施例60.根据实施例1至59中任一项所述的***,其中比特预算分配器使用比特率自适应算法,对所有音频对象的元数据比特预算进行求和,并将所述和与元数据公共信令比特预算相加,从而产生核心编码器侧比特预算。
实施例61.根据实施例1至60中任一项所述的***,其中比特预算分配器使用比特率自适应算法,(a)在音频对象之间平均分割核心编码器侧比特预算,以及(b)使用分割的核心编码器侧比特预算和元素比特预算来计算每个音频流的核心编码器比特预算。
实施例62.根据实施例1至61中任一项所述的***,其中比特预算分配器使用比特率自适应算法来调整最后一个音频流的核心编码器比特预算,以花费所有可用的核心编码器比特预算。
实施例63.根据实施例1至62中任一项所述的***,其中比特预算分配器使用比特率自适应算法,使用核心编码器比特预算计算用于在核心编码器中编码一个音频流的比特率。
实施例64.根据实施例1至63中任一项所述的***,其中比特预算分配器在非活动帧或低能量帧中使用比特率自适应算法,降低用于在核心编码器中编码一个音频流的比特率并将其设置为恒定值,并且在活动帧中的音频流之间重新分布节省的比特预算。
实施例65.根据实施例1至64中任一项所述的***,其中比特预算分配器在活动帧中使用比特率自适应算法,基于元数据重要性类来调整用于在核心编码器中编码一个音频流的比特率。
实施例66.根据实施例1至65中任一项所述的***,其中比特预算分配器在非活动帧(VAD=0)中,降低用于在核心编码器中编码一个音频流的比特率,并且在被分类为活动的帧中的音频流之间重新分布通过所述比特率降低而节省的比特预算。
实施例67.根据实施例1至66中任一项所述的***,其中比特预算分配器在一帧中(a)为每个具有非活动内容的音频流设置较低的、恒定的核心编码器比特预算,(b)将节省的比特预算计算为较低的恒定核心编码器比特预算和核心编码器比特预算之间的差,以及(c)在活动帧中的音频流的核心编码器比特预算之间重新分布节省的比特预算。
实施例68.根据实施例1至67中任一项所述的***,其中较低的、恒定的比特预算取决于元数据总比特率。
实施例69.根据实施例1至68中任一项所述的***,其中比特预算分配器使用较低的、恒定的核心编码器比特预算来计算比特率,以在核心编码器中编码一个音频流。
实施例70.根据实施例1至69中任一项所述的***,其中比特预算分配器基于元数据重要性的分类使用对象间核心编码器比特率自适应。
实施例71.根据实施例1至70中任一项所述的***,其中元数据重要性基于指示当前帧处特定音频对象的编解码对于获得解码合成的良好质量有多关键的度量。
实施例72.根据实施例1至71中任一项所述的***,其中比特预算分配器基于以下参数中的至少一个来进行元数据重要性的分类:编码器类型(coder_type)、FEC信号分类(class)、语音/音乐分类决策、以及来自开环ACELP/TCX核心决策模块的SNR估计(snr_celp、snr_tcx)。
实施例73.根据实施例1至72中任一项所述的***,其中比特预算分配器基于编码器类型(coder_type)来进行元数据重要性的分类。
实施例74.根据实施例1至73中任一项所述的***,其中比特预算分配器定义以下四个不同的元数据重要性类(classISm):
-无元数据类,ISM_NO_META:没有元数据编解码的帧,例如,在VAD=0的非活动帧中
-低重要性类,ISM_LOW_IMP:coder_type=UNVOICED或INACTIVE的帧
-中等重要性类,ISM_MEDIUM_IMP:coder_type=VOICED的帧
-高重要性类,ISM_HIGH_IMP:coder_type=GENERIC的帧。
实施例75.根据实施例1至74中任一项所述的***,其中比特预算分配器使用比特率自适应算法中的元数据重要性类来将较高的比特预算分派给重要性较高的音频流,并将较低的比特预算分派给重要性较低的音频流。
实施例76.根据实施例1至75中任一项所述的***,其中比特预算分配器在帧中使用以下逻辑:
1.classISm=ISM_NO_META帧:分派较低的恒定核心编码器比特率;
2.classISm=ISM_LOW_IMP帧:在核心编码器中编码一个音频流的比特率(total_brate)降低为
total_bratenew[n]=max(αlow*total_brate[n],Blow)
其中常数αlow被设置为低于1.0的值,并且常数Blow是核心编码器支持的最小比特率阈值;
3.classISm=ISM_MEDIUM_IMP帧:在核心编码器中编码一个音频流的比特率(total_brate)降低为
total_bratenew[n]=max(αmed*total_brate[n],Blow)
其中常数αmed被设置为低于1.0但高于值αlow的值;
4.classISm=ISM_HIGH_IMP帧:不使用比特率自适应。
实施例77.根据实施例1至76中任一项所述的***,其中比特预算分配器重新分布节省的比特预算,该节省的比特预算被表示为被分类为活动的帧中的音频流之间的先前比特率和新比特率total_brate之间的差的总和。
实施例78.一种用于响应具有相关联的元数据的音频流对音频对象进行解码的***,包括:
元数据处理器,用于对具有活动内容的音频流的元数据进行解码;
比特预算分配器,响应于经解码元数据和音频对象的相应比特预算,确定音频流的核心编码器比特率;和
使用在比特预算分配器中确定的核心编码器比特率的音频流的解码器。
实施例79.根据实施例78所述的***,其中元数据处理器响应于从接收到的比特流的结尾读取的元数据公共信令。
实施例80.根据实施例78或79所述的***,其中解码器包括对音频流进行解码的核心解码器。
实施例81.根据实施例78至80中任一项所述的***,其中核心解码器包括波动比特率核心解码器,以它们各自的核心编码器比特率顺序解码音频流。
实施例82.根据实施例78至81中任一项所述的***,其中经解码音频对象的数量低于核心解码器的数量。
实施例83.根据实施例78至83中任一项所述的***,包括响应于经解码音频流和经解码元数据的音频对象的渲染器。
进一步描述实施例78至83的元件的实施例2至77中的任何一个可以在这些实施例78至83中的任何一个中实施。作为示例,解码***中每音频流的核心编码器比特率使用与编解码***中相同的过程来确定。
本发明还涉及编解码方法和解码的方法。在这方面,***实施例1至83可以被起草为方法实施例,其中***实施例的元件被由这样的元件执行的操作代替。

Claims (100)

1.一种用于响应于具有相关联的元数据的音频流对包括音频对象的基于对象的音频信号进行编解码的***,包括:
元数据处理器,用于对所述元数据进行编解码,所述元数据处理器生成关于用于对所述音频对象的元数据进行编解码的比特预算的信息;
编码器,用于对所述音频流进行编解码;和
比特预算分配器,响应于来自所述元数据处理器的关于用于对所述音频对象的元数据进行编解码的比特预算的信息,为由所述编码器对所述音频流进行编解码分配比特率。
2.根据权利要求1所述的***,包括音频流处理器,用于分析所述音频流并向所述元数据处理器和所述比特预算分配器提供关于所述音频流的信息。
3.根据权利要求2所述的***,其中所述音频流处理器并行分析所述音频流。
4.根据权利要求1至3中任一项所述的***,其中,所述比特预算分配器使用比特率自适应算法来分布用于对音频流进行编解码的可用比特预算。
5.根据权利要求4所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,从用于对所述音频流和所述相关联的元数据进行编解码的音频流和元数据(ISm)总比特率或编解码器总比特率计算ISm总比特预算。
6.根据权利要求5所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,通过将所述ISm总比特预算除以所述音频流的数量来计算元素比特预算。
7.根据权利要求6所述的***,其中,所述比特预算分配器使用所述比特率自适应算法来调整最后一个音频对象的元素比特预算,以花费所有所述ISm总比特预算。
8.根据权利要求6所述的***,其中,所述元素比特预算在一个ISm总比特预算上是恒定的。
9.根据权利要求6至8中任一项所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,对用于对所述音频对象的元数据进行编解码的比特预算进行求和,并将所述和与ISm公共信令比特预算相加,从而产生编解码器侧比特预算。
10.根据权利要求9所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,(a)在所述音频对象之间平均分割所述编解码器侧比特预算,以及(b)使用经分割的编解码器侧比特预算和所述元素比特预算来计算每个音频流的编码比特预算。
11.根据权利要求10所述的***,其中,所述比特预算分配器使用所述比特率自适应算法来调整最后一个音频流的编码比特预算,以花费所有可用的编码比特预算。
12.根据权利要求10或11所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,使用所述音频流的编码比特预算来计算用于对所述音频流之一进行编解码的比特率。
13.根据权利要求4至12中任一项所述的***,其中,所述比特预算分配器对具有非活动内容或不具有有意义内容的音频流使用所述比特率自适应算法,降低用于对所述音频流之一进行编解码的比特率的值,并且在具有活动内容的音频流之间重新分布节省的比特预算。
14.根据权利要求4至13中任一项所述的***,其中,所述比特预算分配器对具有活动内容的音频流使用所述比特率自适应算法,基于音频流和元数据(ISm)重要性分类来调整用于对所述音频流之一进行编解码的比特率。
15.根据权利要求13所述的***,其中,所述比特预算分配器对具有不活动内容或不具有有意义内容的音频流使用所述比特率自适应算法,降低用于对所述音频流进行编解码的比特预算并将所述比特预算设置为恒定值。
16.根据权利要求13或15所述的***,其中,所述比特预算分配器将节省的比特预算计算为用于对所述音频流进行编解码的比特预算的较低值与用于对所述音频流进行编解码的比特预算的非较低值之间的差。
17.根据权利要求15或16所述的***,其中,所述比特预算分配器使用所述比特预算的较低值计算用于对所述音频流进行编解码的比特率。
18.根据权利要求14所述的***,其中,所述比特预算分配器基于指示对音频对象进行编解码以获得给定质量的解码合成有多关键的度量来对所述ISm重要性进行分类。
19.根据权利要求14或18所述的***,其中,所述比特预算分配器基于以下参数中的至少一个对所述ISm重要性进行分类:音频流编码器类型、FEC(前向纠错)、声音信号分类、语音/音乐分类、和SNR(信噪比)估计。
20.根据权利要求19所述的***,其中,所述比特预算分配器基于所述音频流编码器类型(coder_type)对所述ISm重要性进行分类。
21.根据权利要求20所述的***,其中,所述比特预算分配器定义以下ISm重要性类(classISm):
-无元数据类,ISM_NO_META:没有元数据编解码的帧;
-低重要性类,ISM_LOW_IMP:coder_type=UNVOICED或INACTIVE的帧;
-中等重要性类,ISM_MEDIUM_IMP:coder_type=VOICED的帧;和
-高重要性类,ISM_HIGH_IMP:coder_type=GENERIC的帧。
22.根据权利要求14和18至21中任一项所述的***,其中,所述比特预算分配器使用所述比特率自适应算法中的ISm重要性分类来增加用于对具有较高ISm重要性的音频流进行编解码的比特预算,并降低用于对具有较低ISm重要性的音频流进行编解码的比特预算。
23.根据权利要求21所述的***,其中,对于帧中的每个音频流,所述比特预算分配器使用以下逻辑:
1.classISm=ISM_NO_META帧:为对所述音频流进行编解码分派恒定的低比特率;
2.classISm=ISM_LOW_IMP或classISm=ISM_MEDIUM_IMP帧:使用给定关系降低用于对所述音频流进行编解码的比特率;和
3.classISm=ISM_HIGH_IMP帧:不使用比特率自适应。
24.根据权利要求14和18至21中任一项所述的***,其中,所述比特预算分配器在所述帧中在具有活动内容的音频流之间重新分布节省的比特预算。
25.根据权利要求1至24中任一项所述的***,包括预处理器,用于一旦比特预算分配器在所述音频流之间完成比特率分布,进一步处理所述音频流。
26.根据权利要求25所述的***,其中,所述预处理器执行音频流的进一步分类、核心编码器选择和重采样中的至少一个。
27.根据权利要求1至26中任一项所述的***,其中,所述音频流的编码器包括用于对所述音频流进行编解码的多个核心编码器。
28.根据权利要求27所述的***,其中,所述核心编码器是对所述音频流顺序编解码的波动比特率核心编码器。
29.一种用于响应于具有相关联的元数据的音频流对包括音频对象的基于对象的音频信号进行编解码的方法,包括:
对所述元数据进行编解码;
生成关于用于对所述音频对象的元数据进行编解码的比特预算的信息;
对所述音频流进行编码;和
响应于关于用于对所述音频对象的元数据进行编解码的比特预算的信息,为对所述音频流进行编码分配比特率。
30.根据权利要求29所述的方法,包括分析所述音频流并提供关于用于对所述元数据进行编解码的所述音频流的信息和为对所述音频流进行编解码分配比特率的信息。
31.根据权利要求30所述的方法,其中,所述音频流被并行分析。
32.根据权利要求29至31中任一项所述的方法,其中,为对所述音频流进行编解码分配比特率包括使用比特率自适应算法来分布对所述音频流进行编解码的可用比特预算。
33.根据权利要求32所述的方法,其中,使用所述比特率自适应算法为对所述音频流进行编解码分配比特率包括从用于对所述音频流和所述相关联的元数据进行编解码的音频流和元数据(ISm)总比特率或编解码器总比特率计算ISm总比特预算。
34.根据权利要求33所述的方法,其中,使用所述比特率自适应算法为对所述音频流进行编解码分配比特率包括通过将所述ISm总比特预算除以所述音频流的数量来计算元素比特预算。
35.根据权利要求34所述的方法,其中,使用所述比特率自适应算法为对所述音频流进行编解码分配比特率包括调整最后一个音频对象的元素比特预算,以花费所有所述ISm总比特预算。
36.根据权利要求34所述的方法,其中,所述元素比特预算在一个ISm总比特预算上是恒定的。
37.根据权利要求34至36中任一项所述的方法,其中,使用所述比特率自适应算法为对所述音频流进行编解码分配比特率包括对用于对所述音频对象的元数据进行编解码的比特预算进行求和,并将所述和与ISm公共信令比特预算相加,从而产生编解码器侧比特预算。
38.根据权利要求37所述的方法,其中,使用所述比特率自适应算法为对所述音频流进行编解码分配比特率包括(a)在所述音频对象之间平均分割所述编解码器侧比特预算,以及(b)使用经分割的编解码器侧比特预算和所述元素比特预算来计算每个音频流的编码比特预算。
39.根据权利要求38所述的方法,其中,使用所述比特率自适应算法为对所述音频流进行编解码分配比特率包括调整最后一个音频流的编码比特预算,以花费所有可用的编码比特预算。
40.根据权利要求38或39所述的方法,其中,使用所述比特率自适应算法为对所述音频流进行编解码分配比特率包括使用所述音频流的编码比特预算来计算用于对所述音频流之一进行编解码的比特率。
41.根据权利要求32至40中任一项所述的方法,其中,对具有非活动内容或不具有有意义内容的音频流使用所述比特率自适应算法为对音频流进行编解码分配比特率包括降低用于对所述音频流之一进行编解码的比特率的值,并在具有活动内容的音频流之间重新分布节省的比特预算。
42.根据权利要求32至41中任一项所述的方法,其中,对具有活动内容的音频流使用所述比特率自适应算法为对音频流进行编解码分配比特率包括基于音频流和元数据(ISm)重要性分类来调整用于对所述音频流之一进行编解码的比特率。
43.根据权利要求41所述的方法,其中,对具有非活动内容或不具有有意义内容的音频流使用所述比特率自适应算法为对所述音频流进行编解码分配比特率包括降低用于对所述音频流进行编解码的比特预算并将所述比特预算设置为恒定值。
44.根据权利要求41或43所述的方法,其中,为对所述音频流进行编解码分配比特率包括将节省的比特预算计算为用于对所述音频流进行编解码的比特预算的较低值与用于对所述音频流进行编解码的比特预算的非较低值之间的差。
45.根据权利要求43或44所述的方法,其中,为对所述音频流进行编解码分配比特率包括使用所述比特预算的较低值来计算用于对所述音频流进行编解码的比特率。
46.根据权利要求42所述的方法,其中,为对所述音频流进行编解码分配比特率包括基于指示对音频对象进行编解码以获得给定质量的解码合成有多关键的度量来对所述ISm重要性进行分类。
47.根据权利要求42或46所述的方法,其中,为对所述音频流进行编解码分配比特率包括基于以下参数中的至少一个对所述ISm重要性进行分类:音频流编码器类型、FEC(前向纠错)、声音信号分类、语音/音乐分类、和SNR(信噪比)估计。
48.根据权利要求47所述的方法,其中,为对所述音频流进行编解码分配比特率包括基于所述音频流编码器类型(coder_type)对所述ISm重要性进行分类。
49.根据权利要求48所述的方法,其中,对ISm重要性进行分类包括定义以下ISm重要性类(classISm):
-无元数据类,ISM_NO_META:没有元数据编解码的帧;
-低重要性类,ISM_LOW_IMP:coder_type=UNVOICED或INACTIVE的帧;
-中等重要性类,ISM_MEDIUM_IMP:coder_type=VOICED的帧;和
-高重要性类,ISM_HIGH_IMP:coder_type=GENERIC的帧。
50.根据权利要求42和46至49中任一项所述的方法,其中,为对所述音频流进行编解码分配比特率包括使用所述比特率自适应算法中的ISm重要性分类来增加用于对具有较高ISm重要性的音频流进行编解码的比特预算,并降低用于对具有较低ISm重要性的音频流进行编解码的比特预算。
51.根据权利要求49所述的方法,其中,为对所述音频流进行编解码分配比特率包括对于帧中的每个音频流,使用以下逻辑:
1.classISm=ISM_NO_META帧:为对所述音频流进行编解码分派恒定的低比特率;
2.classISm=ISM_LOW_IMP或classISm=ISM_MEDIUM_IMP帧:使用给定关系降低用于对所述音频流进行编解码的比特率;和
3.classISm=ISM_HIGH_IMP帧:不使用比特率自适应。
52.根据权利要求42和46至49中任一项所述的方法,其中,为对所述音频流进行编解码分配比特率包括在所述帧中在具有活动内容的音频流之间重新分布节省的比特预算。
53.根据权利要求29至52中任一项所述的方法,包括一旦通过为对所述音频流进行编解码分配比特率而完成在所述音频流之间的比特率分布,预处理所述音频流。
54.根据权利要求53的方法,其中,所述预处理包括执行所述音频流的进一步分类、核心编码器选择和重采样中的至少一个。
55.根据权利要求29至54中任一项所述的方法,其中,对所述音频流进行编码包括使用多个核心编码器来对所述音频流进行编解码。
56.根据权利要求55所述的方法,其中,所述核心编码器是对所述音频流顺序编解码的波动比特率核心编码器。
57.一种用于响应具有相关联的元数据的音频流对音频对象进行解码的***,包括:
元数据处理器,用于对所述音频对象的元数据进行解码,并用于提供关于所述音频对象的元数据的相应比特预算的信息;
比特预算分配器,响应于所述音频对象的元数据比特预算,确定所述音频流的核心解码器比特率;和
使用在所述比特预算分配器中确定的核心解码器比特率的所述音频流的解码器。
58.根据权利要求57所述的***,其中,所述元数据处理器响应于从接收到的比特流中读取的公共信令。
59.根据权利要求57或58所述的***,其中,所述解码器包括多个核心解码器来解码音频流。
60.根据权利要求59所述的***,其中,所述核心解码器包括波动比特率核心解码器,以它们各自的核心解码器比特率顺序解码所述音频流。
61.根据权利要求57至60中任一项所述的***,其中,所述比特预算分配器使用比特率自适应算法来分布用于对所述音频流进行解码的可用比特预算。
62.根据权利要求61所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,从用于对所述音频流和所述相关联的元数据进行解码的音频流和元数据(ISm)总比特率或编解码器总比特率来计算ISm总比特预算。
63.根据权利要求62所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,通过将所述ISm总比特预算除以所述音频流的数量来计算元素比特预算。
64.根据权利要求63所述的***,其中,所述比特预算分配器使用所述比特率自适应算法来调整最后一个音频对象的元素比特预算,以花费所有所述ISm总比特预算。
65.根据权利要求63或64所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,对用于对所述音频对象的元数据进行解码的比特预算进行求和,并将所述和与ISm公共信令比特预算相加,从而产生编解码器侧比特预算。
66.根据权利要求65所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,(a)在所述音频对象之间平均分割所述编解码器侧比特预算,以及(b)使用经分割的编解码器侧比特预算和所述元素比特预算来计算每个音频流的解码比特预算。
67.根据权利要求66所述的***,其中,所述比特预算分配器使用所述比特率自适应算法来调整最后一个音频流的解码比特预算,以花费所有可用的解码比特预算。
68.根据权利要求66或67所述的***,其中,所述比特预算分配器使用所述比特率自适应算法,使用所述音频流的解码比特预算来计算用于对所述音频流之一进行解码的比特率。
69.根据权利要求61至68所述的***,其中,所述比特预算分配器对具有非活动内容或不具有有意义内容的音频流使用所述比特率自适应算法,降低用于对所述音频流之一进行解码的比特率的值,并在具有活动内容的音频流之间重新分布节省的比特预算。
70.根据权利要求61至69中任一项所述的***,其中,所述比特预算分配器对具有活动内容的音频流使用所述比特率自适应算法,基于音频流和元数据(ISm)重要性分类来调整用于对所述音频流之一进行解码的比特率。
71.根据权利要求70所述的***,其中,所述比特预算分配器对具有不活动内容或不具有有意义内容的音频流使用所述比特率自适应算法,降低用于对所述音频流进行解码的比特预算并将所述比特预算设置为恒定值。
72.根据权利要求69或71所述的***,其中,所述比特预算分配器将节省的比特预算计算为用于对所述音频流进行解码的比特预算的较低值与用于对所述音频流进行解码的比特预算的非较低值之间的差。
73.根据权利要求71或72所述的***,其中,所述比特预算分配器使用所述比特预算的较低值来计算用于对所述音频流进行解码的比特率。
74.根据权利要求57至73中任一项所述的***,其中,所述比特预算分配器使用从接收到的比特流中的公共信令读取的音频流和元数据(ISm)重要性来指示对所述音频对象进行解码以获得给定质量的解码合成有多关键。
75.根据权利要求74所述的***,其中,所述比特预算分配器定义以下ISm重要性类(classISm):
-无元数据类,ISM_NO_META:没有元数据编解码的帧;
-低重要性类,ISM_LOW_IMP:音频流解码器类型(coder_type)=UNVOICED或INACTIVE的帧;
-中等重要性类,ISM_MEDIUM_IMP:coder_type=VOICED的帧;和
-高重要性类,ISM_HIGH_IMP:coder_type=GENERIC的帧。
76.根据权利要求70、74和75中任一项所述的***,其中,所述比特预算分配器使用所述比特率自适应算法中的ISm重要性分类来增加用于对具有较高ISm重要性的音频流进行解码的比特预算,并降低用于对具有较低ISm重要性的音频流进行解码的比特预算。
77.根据权利要求75所述的***,其中,对于帧中的每个音频流,所述比特预算分配器使用以下逻辑:
1.classISm=ISM_NO_META帧:为对所述音频流进行解码分派恒定的低比特率;
2.classISm=ISM_LOW_IMP或classISm=ISM_MEDIUM_IMP帧:使用给定关系降低用于对所述音频流进行解码的比特率;和
3.classISm=ISM_HIGH_IMP帧:不使用比特率自适应。
78.根据权利要求70和74至77中任一项所述的***,其中,所述比特预算分配器在所述帧中在具有活动内容的音频流之间重新分布节省的比特预算。
79.一种用于响应于具有相关联的元数据的音频流对音频对象进行解码的方法,包括:
对所述音频对象的元数据进行解码并提供关于所述音频对象的元数据的相应比特预算的信息;
使用所述音频对象的元数据比特预算来确定所述音频流的核心解码器比特率;和
使用所确定的核心解码器比特率对所述音频流进行解码。
80.根据权利要求79所述的方法,其中,对所述音频对象的元数据进行解码响应于从接收到的比特流中读取的公共信令。
81.根据权利要求79或80所述的方法,其中,对所述音频流进行解码包括使用多个核心解码器来解码所述音频流。
82.根据权利要求81所述的方法,其中,对所述音频流进行解码包括使用波动比特率核心解码器作为核心解码器,以它们各自的核心解码器比特率顺序解码所述音频流。
83.根据权利要求79至82中任一项所述的方法,其中,确定所述音频流的核心解码器比特率包括使用比特率自适应算法来分布用于对所述音频流进行解码的可用比特预算。
84.根据权利要求83所述的方法,其中,使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括从用于对所述音频流和所述相关联的元数据进行解码的音频流和元数据(ISm)总比特率或编解码器总比特率来计算ISm总比特预算。
85.根据权利要求84所述的方法,其中,使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括通过将所述ISm总比特预算除以所述音频流的数量来计算元素比特预算。
86.根据权利要求85所述的方法,其中,使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括调整最后一个音频对象的元素比特预算,以花费所有所述ISm总比特预算。
87.根据权利要求85或86所述的方法,其中,使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括对用于对所述音频对象的元数据进行解码的比特预算进行求和,并将所述和与ISm公共信令比特预算相加,从而产生编解码器侧比特预算。
88.根据权利要求87所述的方法,其中,使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括(a)在音频对象之间平均分割所述编解码器侧比特预算,以及(b)使用经分割的编解码器侧比特预算和所述元素比特预算来计算每个音频流的解码比特预算。
89.根据权利要求88所述的方法,其中,使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括调整最后一个音频流的解码比特预算,以花费所有可用的解码比特预算。
90.根据权利要求88或89所述的方法,其中,使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括使用所述音频流的解码比特预算来计算用于对所述音频流之一进行解码的比特率。
91.根据权利要求83至90中任一项所述的方法,其中,对具有非活动内容或不具有有意义内容的音频流使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括降低用于对所述音频流之一进行解码的比特率的值,并且在具有活动内容的音频流之间重新分布节省的比特预算。
92.根据权利要求83至91中任一项所述的方法,其中,对具有活动内容的音频流使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括基于音频流和元数据(ISm)重要性分类来调整用于对所述音频流之一进行解码的比特率。
93.根据权利要求92所述的方法,其中,对具有非活动内容或不具有有意义内容的音频流使用所述比特率自适应算法来确定所述音频流的核心解码器比特率包括降低用于对所述音频流进行解码的比特预算并将所述比特预算设置为恒定值。
94.根据权利要求91或93所述的方法,其中,确定所述音频流的核心解码器比特率包括将节省的比特预算计算为用于对所述音频流进行解码的比特预算的较低值与用于对所述音频流进行解码的比特预算的非较低值之间的差。
95.根据权利要求93或94所述的方法,其中,确定所述音频流的核心解码器比特率包括使用所述比特预算的较低值来计算用于对所述音频流进行解码的比特率。
96.根据权利要求80所述的方法,其中,确定所述音频流的核心解码器比特率包括使用从接收到的比特流中的公共信令读取的音频流和元数据(ISm)重要性来指示对音频对象进行解码以获得给定质量的解码合成有多关键。
97.根据权利要求96所述的方法,其中,确定所述音频流的核心解码器比特率包括定义以下ISm重要性类(classISm):
-无元数据类,ISM_NO_META:没有元数据编解码的帧;
-低重要性类,ISM_LOW_IMP:音频流解码器类型(coder_type)=UNVOICED或INACTIVE的帧;
-中等重要性类,ISM_MEDIUM_IMP:coder_type=VOICED的帧;和
-高重要性类,ISM_HIGH_IMP:coder_type=GENERIC的帧。
98.根据权利要求92、96和97中任一项所述的方法,其中,确定所述音频流的核心解码器比特率包括使用所述比特率自适应算法中的ISm重要性分类来增加用于对具有较高ISm重要性的音频流进行解码的比特预算,并降低用于对具有较低ISm重要性的音频流进行解码的比特预算。
99.根据权利要求97所述的方法,其中,确定所述音频流的核心解码器比特率包括:对于帧中的每个音频流,以下逻辑:
1.classISm=ISM_NO_META帧:为对所述音频流进行解码分派恒定的低比特率;
2.classISm=ISM_LOW_IMP或classISm=ISM_MEDIUM_IMP帧:使用给定关系降低用于对所述音频流进行解码的比特率;和
3.classISm=ISM_HIGH_IMP帧:不使用比特率自适应。
100.根据权利要求92和96至99中任一项所述的方法,其中,确定所述音频流的核心解码器比特率包括在帧中在具有活动内容的音频流之间重新分布节省的比特预算。
CN202080050126.3A 2019-07-08 2020-07-07 用于编解码音频流中的元数据和用于对音频流编解码的有效比特率分配的方法和*** Pending CN114072874A (zh)

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/050944 WO2021003570A1 (en) 2019-07-08 2020-07-07 Method and system for coding metadata in audio streams and for efficient bitrate allocation to audio streams coding

Publications (1)

Publication Number Publication Date
CN114072874A true CN114072874A (zh) 2022-02-18

Family

ID=74113835

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080049817.1A Pending CN114097028A (zh) 2019-07-08 2020-07-07 用于编解码音频流中的元数据及用于灵活对象内和对象间比特率适配的方法和***
CN202080050126.3A Pending CN114072874A (zh) 2019-07-08 2020-07-07 用于编解码音频流中的元数据和用于对音频流编解码的有效比特率分配的方法和***

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202080049817.1A Pending CN114097028A (zh) 2019-07-08 2020-07-07 用于编解码音频流中的元数据及用于灵活对象内和对象间比特率适配的方法和***

Country Status (10)

Country Link
US (2) US20220238127A1 (zh)
EP (2) EP3997697A4 (zh)
JP (2) JP2022539884A (zh)
KR (2) KR20220034103A (zh)
CN (2) CN114097028A (zh)
AU (2) AU2020310084A1 (zh)
BR (2) BR112021025420A2 (zh)
CA (2) CA3145047A1 (zh)
MX (2) MX2021015476A (zh)
WO (2) WO2021003569A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023061556A1 (en) * 2021-10-12 2023-04-20 Nokia Technologies Oy Delayed orientation signalling for immersive communications
CN114127844A (zh) * 2021-10-21 2022-03-01 北京小米移动软件有限公司 一种信号编解码方法、装置、编码设备、解码设备及存储介质
CN115552518B (zh) * 2021-11-02 2024-06-25 北京小米移动软件有限公司 一种信号编解码方法、装置、用户设备、网络侧设备及存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
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
EP1866913B1 (en) * 2005-03-30 2008-08-27 Koninklijke Philips Electronics N.V. Audio encoding and decoding
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
JP6096896B2 (ja) * 2012-07-12 2017-03-15 ノキア テクノロジーズ オーユー ベクトル量子化
MX366279B (es) * 2012-12-21 2019-07-03 Fraunhofer Ges Forschung Adicion de ruido de confort para modelar el ruido de fondo a bajas tasas de bits.
EP2830049A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for efficient object metadata coding
CN105637582B (zh) * 2013-10-17 2019-12-31 株式会社索思未来 音频编码装置及音频解码装置
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
BR112017000629B1 (pt) * 2014-07-25 2021-02-17 Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschug E.V. aparelho de codificação de sinal de áudio e método de codificação de sinal de áudio
WO2016138502A1 (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
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
CN110945494B (zh) * 2017-07-28 2024-06-21 杜比实验室特许公司 向客户端提供媒体内容的方法和***
KR20200055726A (ko) * 2017-09-20 2020-05-21 보이세지 코포레이션 씨이엘피 코덱에 있어서 비트-예산을 효율적으로 분배하는 방법 및 디바이스
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

Also Published As

Publication number Publication date
US20220238127A1 (en) 2022-07-28
AU2020310084A1 (en) 2022-01-20
CN114097028A (zh) 2022-02-25
MX2021015660A (es) 2022-02-03
CA3145047A1 (en) 2021-01-14
US20220319524A1 (en) 2022-10-06
EP3997698A1 (en) 2022-05-18
AU2020310952A1 (en) 2022-01-20
WO2021003569A1 (en) 2021-01-14
EP3997697A1 (en) 2022-05-18
MX2021015476A (es) 2022-01-24
CA3145045A1 (en) 2021-01-14
EP3997697A4 (en) 2023-09-06
WO2021003570A1 (en) 2021-01-14
BR112021026678A2 (pt) 2022-02-15
EP3997698A4 (en) 2023-07-19
KR20220034102A (ko) 2022-03-17
KR20220034103A (ko) 2022-03-17
JP2022539884A (ja) 2022-09-13
JP2022539608A (ja) 2022-09-12
BR112021025420A2 (pt) 2022-02-01

Similar Documents

Publication Publication Date Title
JP7124170B2 (ja) セカンダリチャンネルを符号化するためにプライマリチャンネルのコーディングパラメータを使用するステレオ音声信号を符号化するための方法およびシステム
US9741354B2 (en) Bitstream syntax for multi-process audio decoding
US20220238127A1 (en) Method and system for coding metadata in audio streams and for flexible intra-object and inter-object bitrate adaptation
JP7285830B2 (ja) Celpコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス
WO2024103163A1 (en) Method and device for discontinuous transmission in an object-based audio codec
US20230360660A1 (en) Seamless scalable decoding of channels, objects, and hoa audio content
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

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40069013

Country of ref document: HK