利用元数据对基于音床的音频进行渲染的方法及装置与流程

文档序号:31835202发布日期:2022-10-18 21:00阅读:57来源:国知局
利用元数据对基于音床的音频进行渲染的方法及装置与流程

1.本公开涉及音频处理的技术领域,尤其涉及一种利用元数据对基于音床的音频进行渲染的方法及装置。


背景技术:

2.随着科技的发展,音频变得越来越复杂。由早期的单声道音频演变成立体声,工作重心也注重左右声道的正确处理方式。但环绕声出现后,处理过程开始变得复杂。而环绕5.1扬声器系统则对多个通道进行排序约束,进而环绕6.1扬声器系统、环绕7.1扬声器系统等使音频处理千变万化,把正确的信号传递给合适的扬声器形成相互牵连的效果。因此,随着声音变得更具沉浸感和交互性,音频处理的复杂性也大大增加。
3.音频声道(或声道),是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号。而声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。例如,在环绕5.1扬声器系统中包括6个不同空间位置的音频信号,每个独立的音频信号被用于驱动对应空间位置的扬声器;在环绕7.1扬声器系统中包括8个不同空间位置的音频信号,每个独立的音频信号被用于驱动对应空间位置的扬声器。
4.因此,当前扬声器系统实现的效果依赖于扬声器的数量和空间位置。例如,双声道扬声器系统无法实现环绕5.1扬声器系统的效果。


技术实现要素:

5.本公开的目的在于提出一种利用元数据对基于音床的音频进行渲染的方法及装置,以将音频模型元素生成对应的结构数据,便于对音频数据进行渲染。
6.本公开第一方面提供了一种利用元数据对基于音床的音频进行渲染的方法,包括:
7.基于预先构建的音频模型,并通过类型标签将所述音频模型的参数保存在各自的数据结构;
8.通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数,生成音频模型的音床类型的元数据对象;
9.通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数和音床类型的元数据对象,生成音床类型的渲染项;音床类型的渲染项用于指示一个单独的音频通道格式或一组音频通道格式。
10.本公开第二方面提供了一种利用元数据对基于音床的音频进行渲染的装置,包括:
11.保存模块,用于基于预先构建的音频模型,并通过类型标签将所述音频模型的参数保存在各自的数据结构;
12.生成模块,用于通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数,生成音频模型的音床类型的元数据对象;
13.引入生成模块,用于通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数和音床类型的元数据对象,生成音床类型的渲染项;音床类型的渲染项用于指示一个单独的音频通道格式或一组音频通道格式。
14.本公开第三方面提供了一种电子设备,包括:存储器以及一个或多个处理器;
15.所述存储器,用于存储一个或多个程序;
16.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如任意实施例提供的利用元数据对基于音床的音频进行渲染的方法。
17.本公开第四方面提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器实现如任意实施例提供的利用元数据对基于音床的音频进行渲染的方法。
18.由上可见,本公开利用元数据对基于音床的音频进行渲染的方法,将将一组具有音床类型的元数据的音频信号转换为音频信号和元数据的不同配置,能够将音频这些信号渲染到高级音响系统中规定的所有扬声器配置。本公开利用元数据对基于音床的音频进行渲染的方法,无需任何信号改动,直接将每通道音频信号传送到每一个扬声器。
附图说明
19.图1为本公开实施例中提供了一种音频模型的示意图;
20.图2为本公开实施例中的利用元数据对基于音床的音频进行渲染的方法的流程图;
21.图3为本公开实施例中的利用元数据对基于音床的音频进行渲染的方法的另一流程图;
22.图4为本公开实施例中的利用元数据对基于音床的音频进行渲染的方法的另一流程图;
23.图5为本公开实施例中的利用元数据对基于音床的音频进行渲染的装置的结构示意图;
24.图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
25.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
26.图1为本公开实施例中提供了一种音频模型的示意图。所述音频模型包括内容制作部分和格式制作部分;
27.其中,所述内容制作部分包括:音频节目元素、音频内容元素、音频对象元素和音轨唯一标识元素;
28.所述格式制作部分包括:音频包格式元素、音频通道格式元素、音频流格式元素和音频轨道格式元素;
29.所述音频节目元素引用至少一个所述音频内容元素;所述音频内容元素引用至少一个音频对象元素;所述音频对象元素引用对应的所述音频包格式元素和对应的所述音轨
唯一标识元素;所述音轨唯一标识元素引用对应的所述音频轨道格式元素和对应的所述音频包格式元素;
30.所述音频包格式元素引用至少一个所述音频通道格式元素;所述音频流格式元素引用对应的所述音频通道格式元素和对应的所述音频包格式元素;所述音频轨道格式元素和对应的所述音频流格式元素相互引用;
31.所述音频通道格式元素包含至少一个音频块格式元素。
32.如图2所示,本公开实施例提供一种利用元数据对基于音床的音频进行渲染的方法,包括:
33.s201、基于预先构建的音频模型,并通过类型标签将所述音频模型的参数保存在各自的数据结构;
34.如图3所示,所述基于预先构建的音频模型,并通过类型标签将所述音频模型的参数保存在各自的数据结构包括:
35.s301、将通用数据合并为额外数据;所述通用数据包括音频对象开始时间、对象持续时间、荧屏参考和通道频率,音频对象开始时间是路径上最后一个音频对象的开始start时间(在仅通道分配模式下未指定重要性),对象持续时间(object_duration)是路径上最后一个音频对象的duration(在仅通道分配模式下未指定重要性)。荧屏参考(reference_screen)是所选音频节目的音频节目荧幕参考(audioprogrammereferencescreen)(没选即为未指定重要性)。
36.通道频率(channel_frequency)是所选音频通道格式(audiochannelformat)的通道频率frequency要素。
37.实现代码示例:
[0038][0039]
s302、将重要数据存储在重要性数据结构中;所述重要数据包括音频包格式(audiopackformat)和音频对象(audioobjects)的形式出现。
[0040]
重要数据允许处理器丢弃低于某个重要性级别的对象,其中10是最大的,0是最小的。应避免在连续块上改变此参数。当需要减小元数据的容量,并允许对可以做出的妥协进行优先级排序时,此参数非常有用。
[0041]
当在音频对象中使用重要数据时,当需要减少对象或轨迹的数量时,它可以用来删除不太重要的声音。例如,可以放弃一些背景声音效果,以确保保留主要对话对象。
[0042]
当在音频包格式中使用重要数据时,它可以用来降低空间音频质量。嵌套的音频包格式可用于利用此功能。例如,具有主直接声音(在具有高重要性的音频包格式父元素中)和附加混响声音(在具有低重要性的子音频包格式中)的音频对象可能会丢弃混响声
音,从而保留主声音,但会降低质量。
[0043]
实现代码示例:
[0044]
struct importancedata{
[0045]
optional《int》audio_object;
[0046]
optional《int》audio_pack_format;
[0047]
};
[0048]
所述基于预先构建的音频模型,并通过类型标签将所述音频模型的参数保存在各自的数据结构包括:将音频样本引用和封装在音轨规格(trackspec)结构中,并将其定义为音频样本源,包括:
[0049]
直接音轨规格(directtrackspec)将指定应直接从指定的输入轨迹读取音频样本;或者,
[0050]
静音音轨规格(silenttrackspec)将规定所有音频样本为预设阈值,具体地,规定所有音频样本均为零。
[0051]
实现代码示例:
[0052]
structtrackspec{};
[0053]
struct directtrackspec:trackspec{
[0054]
inttrack_index;
[0055]
};
[0056]
struct silenttrackspec:trackspec{
[0057]
};
[0058]
提供了两种音轨规格类型来支持typedefinition==bed,包括矩阵系数音轨规格(matrixcoefficienttrackspec)和混合音轨规格(mixtrackspec)。
[0059]
如图4所示,所述将音频样本引用和封装在音轨规格结构中,并将其定义为音频样本源的步骤还包括:
[0060]
s401、将矩阵音频块格式系数元素中指定的参数应用于输入轨迹的音频样本;或者,
[0061]
s402、指定应将至少一个封装在音轨规格结构输入的音频样本混合在一起。
[0062]
本公开实施例中的一组样本形成音频轨道格式元素。它用于描述数据的格式,允许渲染器正确解码信号。它来自音频流格式元素,用于识别成功解码音轨数据所需的音轨组合。
[0063]
实现代码示例:
[0064]
struct matrixcoefficienttrackspec:trackspec{
[0065]
trackspec input_track;
[0066]
matrixcoefficient coefficient;
[0067]
};
[0068]
struct mixtrackspec:trackspec{
[0069]
vector《trackspec》input_tracks;
[0070]
};
[0071]
s202、通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数,生
成音频模型的音床类型的元数据对象;
[0072]
所述通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数,生成音频模型的音床类型的元数据对象包括:
[0073]
引用音频块格式、包含音频通道格式的音频包格式集列表以及在额外数据中收集的通用数据。
[0074]
随着声音变得更具沉浸感和交互性,音频处理的复杂性也大大增加。处理所有这些新增的通道和复杂性,每个音频通道将需要明确的标签。这些通道标签即是元数据,将基于音床类型的元数据附加到某个音频时,它就变成了基于音床类型的音频。将基于音床类型的元数据与它所描述的音频绑定,就能够正确渲染该音频。在通常操作中,编码的音频和基于音床类型元数据均可作为一个或相互独立的数据流在音频通道上传输。
[0075]
实现代码示例:
[0076]
struct bedtypemetadata:typemetadata{
[0077]
audioblockformatbedblock_format;
[0078]
vector《audiopackformat》audiopackformats;
[0079]
extradata extra_data;
[0080]
};
[0081]
s203、通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数和音床类型的元数据对象,生成音床类型的渲染项;音床类型的渲染项用于指示一个单独的音频通道格式或一组音频通道格式。
[0082]
所述通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数和音床类型的元数据对象,生成音床类型的渲染项具体包括:
[0083]
引用元数据对象、存储在重要性数据结构中的重要数据和封装音轨规格结构输入的音频样本。
[0084]
音床类型的每个音频通道格式(audiochannelformat)能独立处理,渲染项(renderingitem)包含一个音轨规格(trackspec)。
[0085]
实现代码示例:
[0086]
structbedrenderingitem:renderingitem{
[0087]
trackspec track_spec;
[0088]
metadatasource metadata_source;
[0089]
importancedata importance;
[0090]
};
[0091]
本公开提供一种利用元数据对基于音床的音频进行渲染的方法,将将一组具有音床类型的元数据的音频信号转换为音频信号和元数据的不同配置,能够将音频这些信号渲染到高级音响系统中规定的所有扬声器配置。
[0092]
本公开提供一种利用元数据对基于音床的音频进行渲染的方法,无需任何信号改动,直接将每通道音频信号传送到每一个扬声器。
[0093]
所述通过所述类型标签,引入保存在各自的数据结构所述音频信号的音床类型的元数据,生成对应的渲染项还包括:将音床类型的元数据对象与音频样本源和在额外数据中收集的通用数据相关联。
[0094]
在通道分配模式下,将音床类型的元数据对象与音频样本源设置音频对象开始时间、对象持续时间、荧屏参考和通道频率。
[0095]
如图5所示,本公开实施例提供一种利用元数据对基于音床的音频进行渲染的装置,包括:
[0096]
保存模块501,用于基于预先构建的音频模型,并通过类型标签将所述音频模型的参数保存在各自的数据结构;
[0097]
生成模块502,用于通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数,生成音频模型的音床类型的元数据对象;
[0098]
引入生成模块503,用于通过所述类型标签,引入保存在各自的数据结构的所述音频模型的参数和音床类型的元数据对象,生成音床类型的渲染项;音床类型的渲染项用于指示一个单独的音频通道格式或一组音频通道格式。
[0099]
所述音频模型的参数包括:用于保存渲染项所需的所有参数和用于保存一系列元数据对象的音床类型的元数据对象。
[0100]
保存模块501,用于将通用数据合并为额外数据;所述通用数据包括音频对象开始时间、对象持续时间、荧屏参考和通道频率;或者,
[0101]
将重要数据存储在重要性数据结构中;所述重要数据包括音频对象和音频包;或者,
[0102]
将音频样本引用和封装在音轨规格结构中,并将其定义为音频样本源的步骤,包括:
[0103]
将指定应直接从指定的输入轨迹读取音频样本;或者,
[0104]
将规定所有音频样本为预设阈值。
[0105]
保存模块501,还用于将矩阵音频块格式系数元素中指定的参数应用于输入轨迹的音频样本;或者,
[0106]
指定应将至少一个封装在音轨规格结构输入的音频样本混合在一起。
[0107]
生成模块502,用于引用音频块格式、包含音频通道格式的音频包格式集列表以及在额外数据中收集的通用数据。
[0108]
引入生成模块503,用于引用元数据对象、存储在重要性数据结构中的重要数据和封装音轨规格结构输入的音频样本。
[0109]
所述通过所述类型标签,引入保存在各自的数据结构所述音频信号的音床类型的元数据,生成对应的渲染项还包括:将音床类型的元数据对象与音频样本源和在额外数据中收集的通用数据相关联。
[0110]
本公开实施例所提供的一种利用元数据对基于音床的音频进行渲染的装置可执行本发明任意实施例所提供的一种利用元数据对基于音床的音频进行渲染的方法,具备执行方法相应的功能模块和有益效果。
[0111]
图6为本公开实施例提供的一种电子设备的结构示意图。如图6所示,该电子设备包括:处理器610、存储器620、输入装置630以及输出装置640。该电子设备中处理器610的数量可以是一个或者多个,图6中以一个处理器610为例。该电子设备中存储器620的数量可以是一个或者多个,图6中以一个存储器620为例。该电子设备的处理器610、存储器620、输入装置630以及输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。该
电子设备可以是电脑和服务器等。本公开实施例以电子设备为服务器进行详细说明,该服务器可以是独立服务器或集群服务器。
[0112]
存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本公开任意实施例所述利用元数据对基于音床的音频进行渲染的程序指令/模块。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0113]
输入装置630可用于接收输入的数字或者字符信息,以及产生与电子设备的观众用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置640可以包括扬声器等音频设备。需要说明的是,输入装置630和输出装置640的具体组成可以根据实际情况设定。
[0114]
处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现基于音床渲染项元数据。
[0115]
本公开实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器生成包括任意实施例提供的利用元数据对基于音床的音频进行渲染的方法。
[0116]
当然,本公开实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的电子方法操作,还可以执行本公开任意实施例所提供的电子方法中的相关操作,且具备相应的功能和有益效果。
[0117]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本公开任意实施例所述的电子方法。
[0118]
值得注意的是,上述电子装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
[0119]
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0120]
在本说明书的描述中,参考术语“在一实施例中”、“在又一实施例中”、“示例性的”或“在具体的实施例中”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0121]
虽然,上文中已经用一般性说明、具体实施方式及试验,对本公开作了详尽的描述,但在本公开基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本公开精神的基础上所做的这些修改或改进,均属于本公开要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1