串行音频元数据帧生成方法、装置、设备及存储介质与流程

文档序号:29688542发布日期:2022-04-16 10:13阅读:112来源:国知局
串行音频元数据帧生成方法、装置、设备及存储介质与流程

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.图7为本技术实施例中的分割帧流中串行音频元数据结构。
具体实施方式
26.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
27.实施例
28.如图1所示,三维声音频模型由一组元素组成,每个元素用于描述音频制作的一个阶段,三维声音频模型包括内容部分和格式部分。
29.其中,所述内容部分包括:音频节目(audioprogramme)元素、音频内容(audiocontent)元素、音频对象(audioobject)元素和音轨唯一标识(audiotrackuid)元素;所述格式部分包括:音频包格式(audiopackformat)元素、音频通道格式(audiochannelformat)元素、音频流格式(audiostreamformat)元素和音频轨道格式(audiotrackformat)元素;
30.所述音频节目元素引用至少一个所述音频内容元素;所述音频内容元素引用至少一个音频对象元素;所述音频对象元素引用对应的所述音频包格式元素和对应的所述音轨唯一标识元素;所述音轨唯一标识元素引用对应的所述音频轨道格式元素和对应的所述音频包格式元素;
31.所述音频包格式元素引用至少一个所述音频通道格式元素;所述音频流格式元素引用对应的所述音频通道格式元素和对应的所述音频包格式元素;所述音频轨道格式元素和对应的所述音频流格式元素相互引用。元素间的引用关系在图1中以箭头表示。
32.音频节目可以包括但不限于叙述、声音效果和背景音乐,所述音频节目元素可以用于描述节目,所述节目包括至少一个内容,所述音频内容元素用于描述所述音频节目元素中对应的一个内容。音频节目元素可以引用一个或多个音频内容元素,音频内容元素组合在一起以构建为完整的音频节目元素。
33.所述音频内容元素描述音频节目的一个组成部分(例如背景音乐)的内容,并引用一个或多个音频对象元素将内容与其格式联系起来。
34.所述音频对象元素用于建立内容、格式和有价值的信息,并确定实际音轨的音轨唯一标识。
35.格式部分包括:音频包格式元素、音频通道格式元素、音频流格式元素、音频轨道格式元素。
36.所述音频包格式元素,可以用于描述所述音频对象元素和原始音频数据依据通道分组打包时采用的格式。
37.所述音频通道格式元素可以用于表示单个音频采样序列和对其执行的预设操作,例如,在场景中渲染对象的移动。所述音频通道格式元素可以包含至少一个音频块格式元素。音频块格式元素可以视为音频通道格式元素的子元素,所以,音频通道格式元素和音频块格式元素之间为一种包含关系。
38.音频流,是渲染通道、对象、高阶环境音组件或包所需的音轨的组合。所述音频流格式元素用于建立音频轨道格式元素集和音频通道格式元素集之间的关系,或音频轨道格式集和音频包格式之间的关系。
39.所述音频轨道格式元素对应于单个音轨中的一组样本或数据,用于描述原始音频数据的格式,及渲染器的解码信号,还用于识别成功解码音轨数据所需的音轨组合。
40.通过三维声音频模型对原始音频数据进行制作后生成包含元数据的合成音频数据。
41.所述元数据(metadata)是描述数据特性的信息,元数据支持的功能包括指示存储位置、历史数据、资源查找或文件记录。
42.合成音频数据以通信方式传输到远端后,由远端基于元数据对合成音频数据进行渲染,还原原始声音场景。
43.图1中示出了内容部分、格式部分和bw64(broadcast wave-64bit,64位广播波)文件之间的划分。内容部分和格式部分都构成了xml格式的元数据,它通常包含在bw64文件的一个块(“axml”块)中。底部的bw64文件部分包含“通道分配(chna)”块,它是一个查找表,用于连接元数据和文件中的音频节目。
44.内容部分描述音频的技术内容,例如它是否包含对话或特定语言,以及响度元数据。格式部分描述音频曲目的通道类型以及它们是如何组合在一起的,例如立体声对中的左声道和右声道。内容部分的元索通常是音频和节目所独有的,而格式部分的元素可以复用。
45.本技术提供了一种串行音频元数据帧生成方法,如图2所示,该方法包括:
46.s210、获取串行音频元数据帧的帧头子元素和音频格式扩展子元素;
47.s220、将所述帧头子元素置于所述串行音频元数据帧的头部,将所述音频格式扩展子元素置于所述帧头子元素之后,生成所述串行音频元数据帧;
48.其中,所述帧头子元素包括帧格式元素和传输音频接口格式元素,所述音频格式扩展子元素包括规定的音频模型元数据。
49.可选的,所述音频格式扩展子元素包括所述音频模型元数据中以下元素的至少一种:音频节目元素、音频内容元素、音频对象元素、音轨唯一标识元素、音频包格式元素、音
频通道格式元素、音频流格式元素和音频轨道格式元素,其中,所述音频通道格式元素包含至少一个音频块格式元素。
50.可选的,获取到的所述帧头子元素中的所述帧格式元素用于描述包含音频模型元数据的帧的规格和相关音频帧的规格。
51.可选的,获取所述帧头子元素包括:
52.获取所述帧格式元素的属性和子元素,所述帧格式元素的属性包括:帧格式标识、帧开始时间、帧持续时间、帧类型、音频块格式定时参数时间模式和帧序列标识;
53.所述帧格式元素的子元素包括:更改音频模型元素标识和元数据块音频模型元素引用信息。
54.可选的,所述串行音频元数据帧的帧类型包括完整帧、中间帧、分割帧、报头帧和全部帧;
55.对于所述完整帧、中间帧、报头帧和全部帧,获取所述帧格式元素的属性,还包括:获取完整帧数;
56.对于所述分割帧,获取所述帧格式元素的属性,还包括:获取随机访问所需元数据块数量和静态元数据块重复出现帧数。
57.可选的,所述更改音频模型元素标识包括:引用音频通道格式元素标识、引用音频包格式元素标识、引用音轨唯一标识元素标识、引用音频轨道格式元素标识、引用音频流格式元素标识、引用音频对象元素标识、引用音频内容元素标识和引用音频节目元素标识。
58.可选的,对于pcm音频,如果音轨唯一标识元素直接引用音频通道格式元素,则在所述音频格式扩展子元素中省略所述音频流格式元素和所述音频轨道格式元素。
59.串行音频元数据帧的结构
60.串行音频元数据帧应由两部分组成。第一部分是帧头(frameheader),包含用于描述元数据帧规范的、串行音频的附加元素,第二部分是音频格式扩展(audioformatextended),包含规定的元数据。
[0061]“完整”帧的结构
[0062]“完整”帧应包含音频格式扩展中的所有8个元素,即音频模型元数据的8个元素。
[0063]“中间”帧的结构
[0064]
当与前一元数据帧相比时,“中间”帧应仅包括值已更改的元素。音频模型元数据元素中,音频节目元素、音频对象元素和音频块格式元素用于定义时间信息。“音床bed”类型定义的音频块格式元素通常具有时不变元数据,而“对象”类型定义的音频块格式元素通常具有时变元数据。
[0065]“中间”帧由音频通道格式元素中的音频块格式元素组成,通常用于定义为“对象”的音频类型。
[0066]“分割”帧的结构
[0067]“分割”帧包含分割成至少两个数据块的元数据。每个帧应至少承载一个数据块。每个数据块应包含一个完整的帧中所有元素的子集。
[0068]
由于静态元数据元素不会在连续的帧中更改,因此没有必要将它们放置在所有帧中。在每一帧里会改变的动态元数据元素,应承载于该帧携带的最后一个块中。
[0069]“报头”帧的结构
[0070]“报头”帧是一个“完整”帧,具有特殊功能,用于指示一个新的音频节目的开始或一个新的流的开始。
[0071]“全部”帧的结构
[0072]“全部”帧应包含整个音频节目元素的所有元数据。因此,这可以包括用于描述过去和未来帧中的音频的元数据以及当前帧中的元数据。
[0073]
在把串行音频元数据形成数据流之前,已知整个音频节目元素的元数据时,才使用“全部”类型的帧。因此,在预先录制的节目或者带有完全静态元数据的直播节目的情况下,应考虑此类型帧。
[0074]
每一串行音频元数据帧的通用属性
[0075]
对于pcm(pulse code modulation,脉冲编码调制)音频,如图5所示,音频轨道格式元素应引用单个音频流格式元素,音频流格式元素应引用单个音频通道格式元素。如果音轨唯一标识元素直接引用音频通道格式元素,则音频轨道格式元素和音频流格式元素都可以省略。
[0076]
音频模型元素的一些典型用例是通用定义,尤其是对基于通道的音频。当使用通用定义时,音频模型的格式部分应被省略,包括:音频轨道格式元素、音频流格式元素、音频通道格式元素和音频包格式元素。
[0077]
串行音频元素和属性
[0078]
帧元素
[0079]
串行音频父元素是帧(frame)。它有两个子元素,即帧头(frameheader)子元素和音频格式扩展(audioformatextended)子元素。帧头应该位于每个帧的最前面,它包括帧格式元素(frameformat)和传输音频接口格式元素(transporttrackformat),添加这两个格式是为了规定串行音频元数据帧的结构以及描述串行音频的传输音频接口。音频格式扩展子元素承载音频模型元数据。
[0080]
帧元素包含的信息如表1所示:
[0081]
表1
[0082][0083][0084]
帧头子元素包含的信息如表2所示:
[0085]
表2
[0086][0087]
帧格式元素
[0088]
帧格式须描述包含串行音频元素的帧的规格和相关音频帧的规格。的开始时间指明从音频节目开始时间开始的、已经经过的时间。
[0089]
串行音频元数据帧与相关音频实质内容的同步和/或偏移由传输/接口协议决定。
[0090]
参数静态元数据块重复出现帧数(counttosamechunk)须指明当前帧和同一数据块重复出现的帧之间的帧数。
[0091]
参数元数据块数量(nummetadatachunks)须指明随机访问所需的元数据块的数量。图6中的示例其元数据块数量值为4。需说明的是:一个流中每个帧的元数据块数量应该是相同的。
[0092]
帧格式的属性如表3所示:
[0093]
表3
[0094]
[0095]
[0096]
[0097][0098]“报头”“完整”“中间”和“全部”帧类型的帧格式的属性如表4所示:
[0099]
表4
[0100][0101]“分割”帧类型的帧格式的属性如表5所示,分割帧流中串行音频元数据结构如图7
所示。
[0102]
表5
[0103][0104]
关于时间格式和小数位数的说明
[0105]
基于时间的时间格式显示秒的五位小数(“ss.zzz”或“hh:mm:ss.zzzzz”),但这是最小小数位数。可以使用更多的小数位,并建议在使用48khz以上的采样率时使用更多的小数位。九位小数(即hh:mm:ss.zzzzzzzzz)给出了纳秒级的精度。
[0106]
对于较长的、基于样本的时间格式(hh:mm:ss.zzzzzsfffff),“z”数字表示多个样本,“z”的数量必须与“f”的数量相匹配(即“hh:mm:ss.zzzzzs48000”“hh:mm:ss.zzzzzzs192000”)。“zzzzz”的值应小于“fffff”的值。
[0107]
对于较短的、基于样本的格式“zzzzzsfffff”,数字位数可以是可变的(即“0s48000”或“500000s48000”)。如果表示的时间大于一秒,则“zzzzz”的值可以大于“fffff”的值。
[0108]
可选的属性完整帧数和静态元数据块重复出现帧数对于接收机了解何时能够开始随机访问回放是有用的。然而,不要求这些属性支持随机访问功能:即使不使用这些属性,接收机也可以在接收到随机访问所需的所有元数据时从所接收的数据中识别。
[0109]
帧格式的更改音频模型元素标识(changedids)子元素可以显示其值与之前的帧相比不同的音频模型元数据元素。
[0110]
帧格式子元素如表6所示:
[0111]
表6
[0112][0113]
更改音频模型元素标识子元素只能清楚地显示其值变自前面帧的音频模型元素。更改音频模型元素标识的子元素如表7所示。
[0114]
表7
[0115]
[0116][0117]
表7中status属性的具体信息如表8所示:
[0118]
表8
[0119][0120]
status属性应为四个值中的一个:
[0121]“新的
”–
当新的元素首次出现时,应使用该值;
[0122]“经更改的
”–
当自上一帧以来元素内的任何参数或值发生变化时,应使用该值;
[0123]“经扩展的
”–
当定时参数自前一帧以来发生变化但所有其他参数均保持不变时,应使用该值;
[0124]“过期的
”–
当元素不再存在于当前帧中但出现于前一帧中时,应使用该值。
[0125]
图3为本技术实施例提供的一种串行音频元数据帧生成装置,包括:
[0126]
获取模块310,用于获取串行音频元数据帧的帧头子元素和音频格式扩展子元素;
[0127]
帧生成模块320,用于将所述帧头子元素置于所述串行音频元数据帧的头部,将所述音频格式扩展子元素置于所述帧头子元素之后,生成所述串行音频元数据帧;
[0128]
其中,所述帧头子元素包括帧格式元素和传输音频接口格式元素,所述音频格式扩展子元素包括规定的音频模型元数据。
[0129]
本发明实施例所提供的串行音频元数据帧生成装置可执行本发明任意实施例所提供的串行音频元数据帧生成方法,具备执行方法相应的功能模块和有益效果。
[0130]
图4为本技术实施例提供的一种电子设备的结构示意图。如图4所示,该电子设备包括:处理器410、存储器420、输入装置430以及输出装置440。该电子设备中处理器30的数量可以是一个或者多个,图4中以一个处理器410为例。该电子设备中存储器420的数量可以是一个或者多个,图4中以一个存储器420为例。该电子设备的处理器410、存储器420、输入装置430以及输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。该电子设备可以是电脑和服务器等。本技术实施例以电子设备为服务器进行详细说明,该服务器可以是独立服务器或集群服务器。
[0131]
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术任意实施例所述串行音频元数据帧生成装置的程序指令/模块。存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0132]
输入装置430可用于接收输入的数字或者字符信息,以及产生与电子设备的观众用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置440可以包括扬声器等音频设备。需要说明的是,输入装置430和输出装置440的具体组成可以根据实际情况设定。
[0133]
处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现串行音频元数据帧生成方法。
[0134]
本技术实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器生成包括任意实施例提供的串行音频元数据帧生成方法。
[0135]
当然,本技术实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的电子方法操作,还可以执行本技术任意实施例所提供的电子方法中的相关操作,且具备相应的功能和有益效果。
[0136]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本技术可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本技术任意实施例所述的电子方法。
[0137]
值得注意的是,上述电子装置中,所包括的各个单元和模块只是按照功能逻辑进
行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。
[0138]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0139]
在本说明书的描述中,参考术语“在一实施例中”、“在又一实施例中”、“示例性的”或“在具体的实施例中”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0140]
虽然,上文中已经用一般性说明、具体实施方式及试验,对本技术作了详尽的描述,但在本技术基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本技术精神的基础上所做的这些修改或改进,均属于本技术要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1