通过树型分层数据结构的有序横向结构描述比特流语法的音频比特流格式的制作方法

文档序号:2829005阅读:264来源:国知局
专利名称:通过树型分层数据结构的有序横向结构描述比特流语法的音频比特流格式的制作方法
技术领域
本发明涉及用于表示音频信息的比特流格式,其中通过树型分层数据结构的有序横向结构来描述比特流语法;涉及根据这种比特流格式所格式化的比特流;涉及用于存储或发送这种比特流的媒介;涉及用于对其格式具有这种比特流格式的比特流进行编码和解码的系统;涉及用于对其格式具有这种比特流格式的比特流进行编码的编码器;涉及用于对其格式具有这种比特流格式的比特流进行解码的解码器;涉及用于对其格式具有这种比特流格式的比特流进行编码和解码的过程;涉及用于产生根据这种比特流格式所格式化的比特流的过程;涉及用于对其格式具有这种比特流格式的比特流进行编码的过程;和涉及用于对其格式具有这种比特流格式的比特流进行解码的过程。


发明内容
根据本发明的一个方面,一种用于表示音频信息的比特流格式具有树型分层结构,其中通过树型分层数据结构的有序横向结构来描述比特流语法,该树型分层结构包括多个树型分层的级,每级都有一个或多个节点,其中音频信息的至少某些逐步变小的分段用该树型分层结构的逐步变低的级来表示,其中音频信息包含在一个或多个所述级的节点当中。音频的逐步变小的分段可以包括一个或多个时间分段、空间分段和分辨率分段。树型分层结构的第一级可以包括表示所有音频信息的根节点,至少一个较低级可以包括多个表示音频信息的时间分段的节点,至少一个更低级可以包括多个表示音频信息的空间分段的节点。此外,音频信息可以再分层以提供多个分辨率,这样基本分辨率音频信息层包含在某一层中,而一个或多个音频信息分辨率增强层包含在同一层中或一个或多个其他级中。在整个描述和权利要求书中,阐明了本发明的其他方面。
根据本发明观点的比特流格式可用于下列一个或多个 -最大限度地减少音频处理等待时间, -无需对比特流进行大量修改就可以增加、移去和操作元数据, -使任意元数据与比特流中所含的音频素材的特点关联, -最大限度地减少比特流的结构开销, -为前向/后向兼容性提供灵活的比特流结构, -使得可以通过多种接口进行有效传送, -简化基于帧的编辑,和 -简化编码或未编码的音频信息的封装。
树型分层数据结构的定义和例子可以参见NIST国家标准与工艺技术研究所网站的“Dictionary of Algorithms and Data Structures”(http//nist.gov/dads/)。树型分层数据结构的预订横向结构的示范可以参见坎特伯雷大学(新西兰)计算机科学系网站的“DataStructures,Algorithms,Binary Tree Traversal Algorithm”(http//www.cosc.canterbury.ac.nz/people/mukundan/dsal/BTree.html)。



图1a和1b是分别表示根据本发明观点的比特流的音频信息(本文中有时也称为“音频要素”)分量和该比特流的分层树型结构图的简化示意图。
图2是表示与图1b类似的但还包括元数据的分层树型结构图的例子的简化示意图。
图3是表示作为图2的树型分层结构的有序横向结构的结果的根据本发明观点所串行化的比特流的简化示意图。图2与图1b的不同之处在于,它还示出了附属于各自节点的起点和/或终点的元数据的分段。
图4a至4d是利用根据本发明观点的比特流表示代码转换过程的简化示意图。
图5是根据本发明观点的树型分层结构中的节点的结构的简化示意图。
图6是短节点的结构的简化示意图。
图7是根据本发明的分层树型结构的例子的简化示意图。
图8a是表示将两个AC-3同步帧变换为根据本发明观点的比特流的简化示意图。
图8b是表示附加有两个补充音频信道的图8a的AC-3封装比特流的简化示意图。
图9是具有流程图或功能框图的性质的简化示意图,表示根据本发明观点的用于产生与图3例子中的比特流类似的比特流的编码器或编码过程的各种功能特性。
图10是具有流程图或功能框图的性质的简化示意图,表示根据本发明观点的用于从比特流(比如图3和图9例子中的比特流)中得出音频要素和元数据的解码器或解码过程的各种功能特性。

具体实施例方式 图1a和1b是分别表示根据本发明观点的比特流的音频信息(本文中有时也称为“音频要素”)分量和该比特流的分层树型结构图的简化示意图。图1a的比特流图表示两个连续的音频帧,每帧具有第一和第二信道,即信道1和信道2。后者可以例如相应于分别由左和右扬声器产生的音频信息。信道1和信道2在第一帧中被标记为1a和2a而在第二帧中被标记为1b和2b。在图1a中,垂直方向表示信道,而水平方向表示帧和时间。
在图1b的例子中,根据本发明观点的构成图1a的比特流的基础的树型分层结构具有三级级1、级2和级3。级1中的单一根节点3表示整个比特流的音频素材。实际上,如下所述,“音频素材”的比特流格式和基础树型分层数据结构图可以包括音频信息或音频“要素”、作为关于音频要素的信息的“元数据”和其他数据。然而,在这一简单例子中,只示出了与比特流的树型分层结构有关的音频要素。
在这一例子的分层结构的级2中,音频素材可以分解成任意多个单独的音频帧,每帧都具有固定或可变的持续时间或比特长度(为了便于说明,在图1a和1b的例子中只示出了两帧)。帧节点4和5(都以根节点3为其父节点)在这一例子的分层结构的级2中分别表示第一和第二音频帧。每一音频帧都可以分解成任意多个音频信道(为了便于说明,在图1a和1b的例子中只示出了每帧的两个信道),每一信道相应于空间方向(比如“左”和“右”)。帧节点6、7、8和9(都以其所属的帧节点为其父节点)在该分层结构的级3中分别表示连续帧中的音频信道1a、2a、1b和2b。
在图1b的例子中,信道节点6-9是叶节点,其每一节点都包括至少一个要素单元形式的音频要素。尽管原则上音频要素不必包含在叶节点中,然而实际上最好在叶节点中置入音频要素(并且,在诸如音频的基本分辨率层与一个或多个较高级分辨率增强层一起被提供的“分层”音频的情况下,在叶节点中和在具有一个或多个下一较高分层的节点中置入音频要素),这可以通过阅读和理解本发明的描述来领会。
无论音频要素在分层结构中的哪一层,本发明的观点在于,音频要素在分层结构的一个或多个节点中,因此音频要素出现在结果比特流中。这不排除这样的可能性,例如,与编码或解码有关信息或音频要素可能并不位于比特流和基础分层结构中。例如,与音频要素有关的元数据中的指针可能指向比特流及其基础分层结构外部的特定解码过程。
如上所述,“音频素材”的比特流格式和基础树型分层数据结构图不仅可以包括音频信息或音频“要素”,而且可以包括作为关于音频要素的信息的“元数据”和其他数据。
关于音频元数据的有益讨论包括http//tvtechnology.com/features/audio notes/fTC-AC3-06.26.02.shtml上的“Tim Carroll,‘Exploring the AC-3 Audio Standard for ATSC’,Audio Notes, June 26,2002” ;http//tvtechnology.com/features/audio notes/f-tc-metadata.shtml上的“Tim Carroll,‘A Closer Look at Audio Metadata’,Audio Notes,July24, 2002” ; 和http//tvtechnology.com/features/audio notes/f-TC-metadata-08.21.02.shtml上的“Tim Carroll,‘Audio MetadataYou Can GetThere From Here’,Audio Notes,August 21,2002”。每一文献在此全部作为参考。
基于根据本发明观点的分层结构图的比特流使得任意元数据信息可以与所描述的音频要素精确关联从而同步。这可以通过在与该音频要素相同的节点中或在含有该音频要素的节点的任意父节点中置入与特定音频要素有关的元数据来实现。根据本发明的一些实施方式,如下进一步所述,一个或多个元数据单元可以附属于分层结构中的任意节点的起点或终点。因此,在比如图1b的例子中的三级分层结构中,与特定音频要素有关的元数据可以附属于级1的根节点中的整个比特流的音频素材的起点或终点,附属于作为含有该特定音频要素的信道的父节点的级2中的帧节点中的单独帧的起点或终点,和/或附属于含有该特定音频要素的级3中的信道(叶)节点中的信道的起点或终点。
元数据最好以对单独节点的“语义独立性”起作用的方式分布到分层结构的级中。例如,在图1b类型的排列中,根节点中的元数据最好只应用于整个音频素材,帧节点中的元数据最好只应用于特定帧及其信道,而信道节点中的元数据最好只应用于特定信道。通过元数据信息的适当定义,可以确保给定节点的操作无需修改另一节点中所载送的元数据。例如,假设帧节点不含任一特定信道节点所特有的元数据而信道节点不含另一信道节点所需的元数据,那么,无需对位于另一节点中的元数据进行修改,就可以全面地不仅对信道节点中的元数据而且对信道节点进行增加、移去或修改。从这个意义上讲,本发明观点认为节点在语义上是独立的。换言之,从元数据和要素角度来看,任何给定节点如果它含有只适用于它自己同样适用于其所有子节点(如果有的话)的元数据,那么它可以与其兄弟节点无关。因此,根据本发明的具有适当分布的元数据的比特流可以有利于代码转换,如下进一步所述。
根据本发明的比特流利用树型分层数据结构的有序横向结构来产生,以便将音频素材的分层结构图串行化。有序横向结构具有预订横向结构(有时也称为“预安排横向结构”)的性质。预订横向结构算法可以定义为通过处理根节点然后递归处理所有子树的方式来处理树的所有节点。具体地说,如果不使用主体标记(关于“主体标记”如下所述),那么,可以通过应用下列算法来描述根据本发明观点的用于将分层结构串行化的合适预订横向结构算法,该算法从根节点开始 a)可以将表示节点的起点的“起点标记”分段写入比特流; b)然后,一个或多个附属于节点的起点的元数据或要素单元中的每一个都可以被写成单独的分段; c)从步骤“a”开始的这一算法被应用于所考虑节点的每一子节点; d)然后,一个或多个附属于节点的终点的元数据或要素单元中的每一个都可以被写成单独的分段;和 e)可以将表示节点的终点的“终点标记”分段写入比特流。
横向结构算法还可以用简化的C语言伪代码表示如下 visit(root);where visit(node){ for segment in node.header.segments do{write(segment); } for child in all node.children do{visit(child); } for segment in node.footer.segments do{ write(segment); } } 如果使用主体标记,那么,可以通过应用下列算法来描述合适预订横向结构算法,该算法从根节点开始 a)可以将表示节点的起点的“起点标记”分段写入比特流; b)然后,一个或多个附属于节点的起点的元数据或要素单元中的每一个都可以被写成单独的分段; c)如果根节点没有子节点并且没有附属于其终点的元数据或要素单元,那么可以跳过步骤d)至g)(含); d)可以将表示节点的子节点的起点的“起点主体标记”分段写入比特流; e)从步骤“a”开始的这一算法被应用于所考虑节点的每一子节点; f)可以将表示节点的子节点的终点的“终点主体标记”分段写入比特流; g)然后,一个或多个附属于节点的终点的元数据或要素单元中的每一个都可以被写成单独的分段;和 h)可以将表示节点的终点的“终点标记”分段写入比特流。
图2表示与图1b类似的但还包括元数据的分层树型结构图的简单例子。图3表示作为图2的树型分层结构的有序横向结构的结果的所串行化的比特流。
图2与图1b的不同之处在于,它还示出了附属于各自节点的起点和/或终点的元数据的分段。为了表明这些节点是图1b中的节点的修改,图2中使用了带撇号的标号。因此,根节点3’具有例如附属于其起点的标题和版权元数据。帧节点4’和5’具有例如附属于各自节点的起点的时间码和附属于各自节点的终点的响度元数据。信道节点6’、7’、8’和9’具有例如附属于各自节点的起点的下混合元数据。
图3表示按照根据本发明的算法和分层结构所串行化的比特流的一个例子。该比特流具有10至37的分段(分段还可以称为“原子单元”),这些分段由根据以上“无主体标记”算法的图2分层结构的有序横向结构所产生。每一单元(无论含有音频要素、元数据还是其他数据)最好都利用表示其内容的独特标识符来标明。合适的标识符如下所述。
如下进一步所述,根节点3’包括全是音频素材的分段10-37。根节点3’内的帧节点4’和5’的嵌套以及依次的每一帧节点内的信道节点的嵌套可以参见图3。图3的例子中的比特流从根节点起点标记分段10开始,表示音频素材的开始,随后是附属于根节点的起点的元数据(标题)分段11和元数据(版权)分段12。然后,访问第一子帧节点4’,如帧节点起点标记13所示,随后是附属于帧节点4’的起点的元数据(时间码)分段14。接下来访问帧节点的第一子信道节点6’,如信道节点起点标记15所示。该信道节点起点标记分段之后是附属于信道节点6’的起点的元数据(下混合)分段16。元数据分段16之后是信道节点6’的(信道1)音频要素17和信道节点终点标记18。接着,访问帧节点4’的第二子信道节点7’,如信道节点起点标记19所示。该信道节点起点标记分段之后是附属于信道节点7’的起点的元数据(下混合)分段20。元数据分段20之后是信道节点7’的(信道2)音频要素21和信道节点终点标记22。由于帧节点4’没有其他子节点并且由于信道节点6’和7’是叶节点,因此重新访问帧节点4’,使得可以写响度元数据23(响度元数据取决于访问信道1和2的音频要素的过程,以便确定响度元数据的值)。然后将帧终点标记分段24写入比特流。然后,访问下一帧节点5’。
按照刚刚针对帧节点4’的子树所描述的类似的方式,写下由帧5’及其子叶节点8’和9’产生的比特流,从而产生帧起点分段25、元数据(时间码)分段26、信道节点起点标记27、信道节点元数据(下混合)分段28、(信道1)信道节点音频要素分段29、信道节点终点标记30、信道节点起点标记31、信道节点元数据(下混合)分段32、(信道2)信道节点音频要素分段33、信道节点终点标记34、帧节点终点元数据(响度)35和帧终点标记分段36。由于该简单例子只有两帧,于是重新访问根节点。因为没有附属于根节点的终点的元数据,因此写下根节点终点标记分段37,表示音频素材结束。
除了上述在语义上是独立的之外,从如下意义上讲每一分段在结构上也可以是独立的每一分段都有它自己的类型和长度,不包含其他分段,也不嵌套在另一分段中。因此,处理一个分段时无需事先了解其他分段,并且,作为必然的结果,可以每次一个分段地对比特流进行解析,从而实现短等待时间的操作。此外,节点或分段的增加、删除和修改未必需要操作其他任何节点或分段。
有了这种结构上的灵活性,可以增加、移去和操作分段(事实上全部节点),而不会影响其他分段和节点,假定元数据和音频要素是最优分布的。这使得例如可以从某一音频素材中移去特定的音频信道,而没有必要全面地重新控制比特流。具体地说,节点最好不含任何可能需要系统修改(即比特流的其他节点中的修改)的长度或同步信息。由于起点标记和终点标记界定了节点,因此不需要长度信息。由于节点中分段的存在显然使得它与节点的内容同步,因此不需要同步信息。另一方面,元数据和/或音频要素也可能以这样一种方式进行分布,致使例如在分层结构的特定级的节点之间具有相关性,在这种情况下,可能会增加等待时间。例如,根据本发明观点的一种特殊实施方式可能要求每一帧节点都包含时间标记并且时间标记是连续的。因此,移去某一帧节点可能需要修改所有后续帧节点,这是一种不合乎需要的设计决策。
如上所述,分层结构中的每一单元(无论含有音频要素、元数据还是其他数据)最好都利用表示其内容的独特标识符来标明。因此,一种接收根据本发明所格式化的比特流的给定应用可以忽视它无法识别的单元。这使得可以在比特流中引入新的单元类型,而不会扰乱现有应用。例如,可以将一个或多个音频要素增强层同相关元数据一起加到比特流中,从而允许进行后向和前向兼容。或者,可以在元数据中包含一个或多个增强层。
图4a至4d利用根据本发明观点的比特流说明了代码转换过程。当分段在比特流中出现时,可以连续地对这些分段进行处理。图4a表示在代码转换过程之前的根据本发明的双信道比特流。分段(a)和(b)含有与帧1的信道1和2相应的音频信息。分段(c)和(d)含有与帧2的信道1和2相应的音频信息。在图4b中,当代码转换过程读取了六个分段后,它遇到含有音频信息的分段(a)。它从比特流中读取该分段,提取音频信息,将该音频信息代码转换成目标格式,并将该音频信息包装回到分段(a’),它写入比特流以代替(a)。除非在代码转换情况下信道节点相互有关,否则不必了解以前的或未来的节点。这对短等待时间的操作而言是重要的----代码转换可以在代码转换过程接收整个比特流之前或接收比特流的大部分之前开始。在图4c中,代码转换过程到达分段(b),它以结合图4b所述的方式写单元段(b’)。图4d表示完全代码转换后的比特流。
以下描述本发明观点的一种实施方式。应当理解,本发明并不局限于这一实施方式或局限于其他实施方式。尽管下列描述说明了比特流的语法和文法、比特流的原子单元的结构以及这些单元的合适配置,然而,并没有描述比特流的语义内容,比如元数据与音频要素之间的关系。这些关系超出了本发明的范围。
本文中尤其结合这一实施方式所用的术语可以定义如下 基础音频素材包括节点和分段的自主式比特流所表示的并根据本发明观点所格式化的音频信息。
节点属于分层结构的级的并由起点标记和终点标记对所界定的0或更多个连续比特流分段。节点可以嵌套。
分段(原子单元)可作为不同实体操作(比如打包或加密)的最小比特流单元。存在三种分段音频要素分段、元数据分段(音频要素和元数据分段是“内容”分段)和标记分段(标记分段是“结构”分段,这种分段例如有助于使比特流与树型分层结构相关)。分段可以载送关于其长度、类型和/或内容的信息。
音频要素分段用于载送音频要素(音频信息)的内容分段。音频要素分段可以是例如一系列未编码脉码调制(PCM)音频数据或编码PCM音频数据(如感性编码PCM)。
元数据分段用于载送涉及与其有关的音频要素的元数据信息的内容分段。
标记分段用于界定节点的非内容分段。
帧比特流节点,它包括一个或多个表示音频素材的时间间隔的音频要素分段以及一个或多个涉及这些音段要素分段的元数据分段。
帧组一系列帧,先是一个或多个元数据分段然后是(可选)一个或多个附加元数据分段。
根据本发明格式化的比特流的定义与音频编码、音频元数据和传送方法无关,因此,这种比特流可以不含诸如与具体纠错和压缩相关的元数据的一些特性。
分段 如上所述,分段或原子单元是可作为不同实体操作(比如打包或加密)的最小比特流单元。实际上,每一分段都可以是按字节排列的结构,包括首部,包括类型和大小信息,而在音频要素和元数据分段的情况下可以是有效载荷。标记分段载送结构信息并且没有有效载荷。内容分段载送作为其有效载荷的元数据或要素信息。利用独特标识符可以进一步精炼分段的类型及其语义。分段语法如下所详述。
节点 分段进一步分类成具有分层嵌套式结构的节点。在本实施方式中,节点可以包括一系列通过匹配起点和终点标记分段所界定的分段。如图5中所示,树型分层结构中的节点的结构包括三个不同的上下文(或部分)首部40、主体41和尾部42上下文。首部和尾部上下文各自可以包括一个或多个内容分段,而主体上下文包括0或更多个子节点。可选地,主体上下文可以由主体起点和终点标记分段来界定。
参照图5的细节,节点结构从起点标记分段43开始,结束于终点标记分段44。标记分段43和44各自标为“X”,因为标记的类型取决于分层结构中的节点的位置。在本实施方式中的根节点的情况下,标记分段可以是帧组(GOF)标记。在起点标记43之后,首部上下文40可以有一个或多个内容分段45。接着,主体起点标记46可以界定主体上下文41的起点,主体上下文41包括低于图5中所示节点的按一个或多个分层结构的级所嵌套的一个或多个节点47。主体终点标记48可以界定主体上下文41的终点。在主体终点标记48之后,尾部上下文42可以有一个或多个内容分段49。最后,节点结构结束于终点标记分段44。
如果主体和尾部上下文两者都是空的(这可以出现在含有音频要素及可能相关的元数据的叶节点的情况下),那么,主体标记可以省略并且节点成为短节点,如图6中所示。短节点限于首部上下文40’,这是因为在没有主体标记的情况下首部和页脚上下文无法区分。参照图6的细节,节点结构从起点标记分段50开始,结束于终点标记分段51。与图5例子的情况一样,这些标记分段标为“X”,因为标记的类型取决于分层结构中的节点的位置。在本实施方式的叶节点的情况下,这些标记分段可以是信道标记。首部上下文40’在起点与终点标记之间,并且包括一个或多个内容分段45’。
分层结构 比特流的分层结构可以用节点的主体上下文的结构来说明。与节点有关的首部和尾部上下文的内容和语义是使用本发明的比特流格式的环境所特有的,便并不构成本发明的一部分。
为了便于扩展,接收和处理根据本发明观点所格式化的比特流的应用可以跳过和忽视上下文外的内容分段和节点。然而,上下文内的但无序的节点可能被看作是错误。“上下文内”涉及已被定义为属于特定节点上下文的分段和节点。例如,如下所述,信道顶(top-of-channel)(TOC)节点当出现在帧主体中时是上下文内的,但如果出现在GOF节点中则可能是上下文外的。这些方法通过进一步的应用便于前向兼容,以便插入附加内容分段和节点同时保持与从前的应用的兼容性。
如图7中所示,根据本发明观点的比特流是一种分层树型结构,在其根中具有一系列一个或多个帧组(GOF)的节点。在本例子的根节点中,只有GOF节点是上下文内的。
帧组(GOF)节点 GOF节点60...61(图7)是实体,它含有精确再现比特流所载送的音频素材的一部分所必需的信息。在每一GOF节点内可以嵌套帧节点。理论上,GOF节点包括足够的信息,使得在GOF边界可以轻易操作(比如接合)比特流。
帧节点 帧节点62...63(图7)包括与时间间隔相应的音频要素和元数据信息。在每一帧节点内可以嵌套一个信道顶(TOC)节点和一个信道底(bottom-of-channel)(BOC)节点。出现在帧级的元数据可以补充已经在GOF级中发现的元数据,并且可能易受帧节点之间的变化的影响。如果帧级的元数据不随帧变化,那么帧节点可以是独立的。尽管不一定需要,然而帧可能与伴随画面要素同步。此外,信道可以分组到两个以上的节点中,或者信道可以直接嵌套在各自的帧节点中,这样,信道节点成为上下文内节点。
TOC和BOC节点 TOC和BOC节点可以各自包括与帧中所含的大约一半信息相应的元数据和要素信息。这种配置通过使编码器和解码器在帧被全部接收或发送之前就对帧进行处理可以减小等待时间。TOC和BOC主体上下文包括0或更多个信道节点。
信道节点 每个信道节点都可以表示单个独立的要素实体,通常包括带有0或更多个元数据分段的一个或多个要素分段。在本比特流格式的实施方式中,信道节点的主体是空的,而且,如果没有定义尾头,那么节点结构可以采取短节点形式。
分段详细说明 分段可以根据简化的C语言语法利用如下伪代码进行详细说明。对于大于1比特的大块单元,比特的到达次序始终是MSB优先。帧中所含的字段或单元用粗体来表示。
/// /// /// /// /// /// /// ///
标记分段参数 “is_tag”参数 字长1 有效范围1 标记分段其is_tag值始终为1。
“start_or_end”参数 字长1 有效范围0(起点),1(终点) 这一参数的值指示标记是起点标记(0)还是终点标记(1)。
“is_long_id”参数 字长1 有效范围0(5比特id字段),1(13比特id字段) 这一参数的值指示tag_id字段是5比特还是13比特宽。
“tag_id”参数 字长5或13(参见上一参数) 有效范围

这一参数的值指示分段表示哪种标记。可以定义下列标记 内容分段参数 “is_tag”参数 字长1 有效范围0 内容分段其is_tag值始终为0。
“metadata_or_essence”参数 字长1 有效范围0(元数据),1(要素) 这一参数的值指示分段包括元数据(0)还是要素(1)。
“is_long_id”参数 字长1 有效范围0(5比特id字段),1(13比特id字段) 这一参数的值指示content_id字段是5比特还是13比特宽。
“content_id”参数 字长5或13(参见上一参数) 有效范围

这一参数的值唯一标识分段中所含信息的类型。
“content_length-class”参数 字长2 有效范围
content_length-class参数可以根据下表确定分段的最大长度。
“content_length”参数 字长(content_length_class+1)*8-2 有效范围
(content_length_class==0)
(content_length_class==1)
(content_length_class==2)
(content_length_class==3) content_length参数确定有效载荷的总字节长度。
AC-3串行编码音频比特流的封装的例子 如上所述,编码音频信息可以封装成根据本发明观点所格式化的比特流的分段。作为其中一个例子,AC-3串行编码音频比特流的主要部分可以按如下方式进行封装。
AC-3数字音频压缩标准参见ATSC标准Digital AudioCompression Standard(AC-3),Revision A,Document A/52A,AdvancedTelevision Systems Committee,20 August 2001(the“A/52ADocument”)。A/52A文献在此全部作为参考。
AC-3比特流语法如A/52A文献的第5节中(以及其他地方)所述。AC-3串行编码音频比特流由一系列同步帧(“sync frame”)构成。图8A表示将两个AC-3同步帧变换为根据本发明观点的比特流。每一AC-3同步帧包括六个编码音频块(AB0-AB5),其中每一块表示256个新的音频抽样。每帧起点处的同步信息(SI)首部包括取得和保持同频所需的信息。比特流信息(BSI)首部跟随在SI之后,它包括描述编码音频业务的参数。编码音频块之后可以有辅助数据(Aux)字段。通常,辅助数据包括调整AC-3帧的比特长度所需的零“填充”比特。然而,在某些情况下,辅助数据也包含信息。在每帧结尾处是差错检验字段,它包括用于检错的CRC字。附加CRC字位于SI首部中,它的使用是可选的。
图8a描述了将两个AC-3同步帧变换为由一个帧组节点构成的比特流,该帧组节点本身包括两个帧节点,每个帧节点表示一个或多个AC-3信道。SI和BSI首部中所含的元数据项被划分为两组,即(1)帧所通用的元数据项,比如时间码;和(2)AC3和其信道中的每一个所专用的元数据。通用元数据被包装成“GFM”元数据分段,而专用元数据被包装成“AC3M”元数据分段。如果Aux块含有用户比特则被包装成Aux分段(而如果只用于填充则可以省略)。由于给定比特流可能在各种接口之间传送(有些接口本身可以提供纠错机制),因此,可以省略纠错和检错信息(可以省略CRC块)(未示出)。
具体地说,在图8a中,示出了两个AC-3同步帧,每帧按顺序包括SI、AB0-AB5、Aux和CRC单元。两个AC-3同步帧所变换成的以便封装的根据本发明观点的比特流包括首先是GOF起点标记,然后是帧起点标记(FRM)、通用帧元数据(GFM)、AC-3信道起点标记(AC3)、AC-3专用元数据(AC3M)、AC-3内容分段(AB0-AB5和Aux)、AC-3信道终点标记(AC3)、帧终点标记(FRM),以及由第二AC-3同步帧变换而来的相同序列。
图8b表示附加有两个补充音频信道的图8a的AC-3封装比特流。每一信道都可以包含在通用信道(GCH)节点中。第一信道可以包括管理者的解说(DC)信道,它可以包括线性PCM抽样。通用信道元数据(GCM)分段认为这一信道含有DC信道。第二信道可以包括弱视(VI)信道,它可以包括码激励线性预测(“CELP”)(有损耗编码音频格式)编码的音频。此外,通用信道元数据(GCM)分段可以认为这一信道为含有VI素材。每一附加信道中所含的音频内容的持续时间最好与AC3节点中的音频内容的时间段(具有不变的持续时间)相符。此外,识别比特流的元数据可以加到帧组元数据分段(GOFM)中。
具体地说,在图8b中,示出了附加有补充的管理者的解说和弱视音频信道的变换第一AC-3同步帧的细节。该比特流包括首先是GOF起点标记,然后是识别比特流的元数据(GOFM)、帧起点标记(FRM)、通用帧元数据(GFM)、AC-3信道起点标记(AC3)、AC-3专用元数据(AC3M)、AC-3内容分段(AB0-AB5和Aux)、AC-3信道终点标记(AC3)、通用信道起点标记(GCH)、通用信道元数据(GCM)、线性PCM音频要素分段(PCM)、通用信道终点标记(GCH)、通用信道起点标记(GCH)、通用信道元数据(GCM)、CELP编码的音频要素(CELP)、通用信道终点标记(GCH)和帧终点标记(FRM)。第二帧(只示出一部分)重复具有第二帧信息的相同序列。
本发明的模式的优点在于,两个附加信道的插入并不需要对AC3数据进行修改,并且可以以原始比特流流动的形式出现,也就是说,第二帧(未描述)中VI信道的插入不需要了解第一帧的内容。此外,不能解释VI和/或DC信道的解码器可以轻易地忽视这些信道。例如,VI和DC信道可以以修改方式加到规定比特流的内容的说明中。因此,该比特流是后向兼容的。
图9具有流程图或功能框图的性质,表示根据本发明观点的用于产生与图3例子中的比特流类似的比特流的编码器或编码过程的各种功能特性。将可以是线性PCM编码音频的抽样的音频要素流91例如输入到音频分段和处理功能或设备93中,该功能或设备将音频分割成适当时长(固定或可变)的块,并可以进行诸如压缩等附加处理(比如比特率降低编码)。得到音频数据可以包装成音频内容分段,其一个例子95如图中所示意。可以将关于音频要素的信息输入到元数据生成器97。元数据生成器利用这种信息以及其他可能的信息(比如来自用户或来自其他功能或设备(未示出)的信息)来产生可能与音频要素同步也可以不同步的元数据分段,以便插入到比特流中。
然后,将音频内容分段传送到信道节点串行器功能或设备99,该功能或设备产生信道节点(与图2中的分层结构的级3比较),该信道节点包括一个或多个音频内容分段和从元数据生成器97得到的一个或多个相关元数据分段(本例中为下混合(DM)元数据的一个分段)以及信道节点起点和终点标记。信道节点的一个例子101如图中所示意,它包括信道起点标记(CHAN)、下混合元数据(DM)、音频要素分段和信道终点标记(CHAN)。
将信道节点输入到帧节点串行器103,该串行器产生帧节点(与图2中的分层结构的级2比较),该帧节点包括输入信道节点和从元数据生成器97得到的相关帧级元数据(本例中为时间码(TC)元数据的一个分段)以及帧节点起点和终点标记。帧节点的一个例子105如图中所示意,它包括帧起点标记(FRAM)、时间码元数据(TC)、信道节点序列和帧终点标记(FRAM)。
将帧节点输入到帧组(gof)节点串行器功能或设备107,该功能或设备将连续帧节点和从元数据生成器97得到的相关元数据(本例中为标题(TITL)元数据的一个分段)以及帧组起点和终点标记组合成一个完整的比特流(与图2中的分层结构的级1比较)。完整比特流的一个例子如图中所示意,它包括帧组起点标记(GOF)、标题元数据(TITL)、两个帧序列和帧组终点标记(GOF)。
图10具有流程图或功能框图的性质,表示根据本发明观点的用于从比特流(比如图3和图9例子中的比特流)中得出音频要素和元数据的解码器或解码过程的各种功能特性。
将比特流(比如图9例子中所产生的比特流)输入到帧组(gof)节点解串器121。gof节点解串器识别并移去gof起点和终点标记以及gof元数据(本例中为标题(TITL)元数据),将该元数据传送到元数据解释器123,再将帧节点传送到帧节点解串器125。一例帧节点105如图中所示意,实质上它可以与图9中的帧节点105相同。
帧节点解串器125识别并移去帧节点起点和终点标记以及帧元数据(本例中为时间码(TC)元数据),将该元数据传送到元数据解释器123,再将信道节点传送到信道节点解串器127。一例信道节点101如图中所示意,实质上它可以与图9中的信道节点101相同。
信道节点解串器127识别并移去信道节点起点和终点标记以及信道元数据(本例中为下混合(DM)元数据),将该元数据传送到元数据解释器123,再将音频要素分段传送到音频再现过程或设备129,该过程或设备重新装配音频要素流91,该音频要素流实质上可以与图9中的输入到编码器或编码过程的音频要素相同。
元数据解释器123解释各种元数据,并可以将其输入到一些功能和/或设备(未示出)以及输入到音频再现129。
本发明及其不同的方面可以各种方式来实现,比如通过数字信号处理器、可编程通用数字计算机和/或专用数字计算机中所执行的软件功能来实现。模拟和/或数字信号流之间的接口可以用适当的硬件来实现和/或实现为软件和/或固件的功能。尽管本发明及其不同的方面可能将模拟音频信号作为其源,然而,由于本发明的实际方面很可能在数字域中实现,因此大多数或所有处理对用抽样表示音频信号的数字信号流都起作用。
根据本发明观点所格式化的比特流可以由任何一种或多种已知数据存储和传输媒体来存储或传送。
应当理解,对熟练技术人员而言,显然可以实现本发明的其他变化和修改及其不同的方面,并且本发明并不局限于这些所述的特定实施方式。因此,在不超出本文所公开和要求的基本原理的真实思想和范围的情况下,本发明可以涉及所有的修改方式、变化方式或等价方式。
权利要求
1.一种用于表示音频信息的比特流格式,其中,通过树型分层数据结构的有序横向结构来描述比特流语法,该树型分层结构包括
多个树型分层的级,每级都有一个或多个节点,其中音频信息的至少某些逐步变小的分段用该树型分层结构的逐步变低的级来表示,其中所述音频信息包含在一个或多个所述级的节点当中。
2.如权利要求1所述的通过树型分层结构来描述比特流语法的比特流格式,其中,音频的逐步变小的分段包括一个或多个时间分段、空间分段和分辨率分段。
3.如权利要求1所述的通过树型分层结构来描述比特流语法的比特流格式,其中,树型分层结构的第一级包括表示所有音频信息的根节点,至少一个较低级包括多个表示音频信息的时间间隔的节点。
4.如权利要求3所述的通过树型分层结构来描述比特流语法的比特流格式,其中,至少一个更低级包括多个表示音频信息的空间分段的节点。
5.如权利要求1-4任一所述的比特流格式,其中,所述比特流包括一系列独立的标记和内容分段,每一标记分段起分界符作用,每一内容分段包括用于载送音频信息或与音频信息有关的元数据的有效载荷,而且其中,所述分段在所述树型分层结构的级当中被排列成结构上独立的分层嵌套节点。
6.如权利要求5所述的比特流格式,其中,每一节点由起点和终点标记分段来界定。
7.如权利要求6所述的比特流格式,其中,起点和终点标记分段界定节点内的首部和页脚上下文。
8.如权利要求1-7任一所述的比特流格式,其中,含有一个或多个载送音频信息的内容分段的节点包括用于载送与所述一个或多个载送音频信息的内容分段中的音频信息有关的元数据的一个或多个内容分段。
9.一种按照如权利要求1-8任一所述的比特流格式所格式化的比特流。
10.一种用于对其格式按照如权利要求1-8任一所述的比特流格式的比特流进行编码和解码的系统。
11.一种用于对其格式按照如权利要求1-8任一所述的比特流格式的比特流进行编码的编码器。
12.一种用于对其格式按照如权利要求1-8任一所述的比特流格式的比特流进行解码的解码器。
13.一种用于对其格式按照如权利要求1-8任一所述的比特流格式的比特流进行代码转换的设备。
14.一种用于产生按照如权利要求1-8任一所述的比特流格式所格式化的比特流的过程。
15.一种用于对其格式按照如权利要求1-8任一所述的比特流格式的比特流进行编码和解码的过程。
16.一种用于对其格式按照如权利要求1-8任一所述的比特流格式的比特流进行编码的过程。
17.一种用于对其格式按照如权利要求1-8任一所述的比特流格式的比特流进行解码的过程。
18.一种用于对其格式按照如权利要求1-8任一所述的比特流格式的比特流进行代码转换的过程。
19.一种用于存储或传送如权利要求9所述的比特流的媒体。
全文摘要
一种用于表示音频信息的比特流格式具有树型分层结构,其中通过树型分层数据结构的有序横向结构来描述比特流语法,该树型分层结构包括多个树型分层的级,每级都有一个或多个节点,其中音频信息的至少某些逐步变小的分段用该树型分层结构的逐步变低的级来表示,其中音频信息包含在一个或多个所述级的节点当中。
文档编号G10L19/14GK1942931SQ20058001179
公开日2007年4月4日 申请日期2005年4月13日 优先权日2004年4月21日
发明者皮埃尔安东尼.·S.·勒米厄 申请人:杜比实验室特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1