专利名称:音频元数据校验的制作方法
技术领域:
本发明涉及音频信号处理,尤其涉及对音频系统中采用的元数据进行校验和纠正。本发明尤其用于称为Dolby Digital ( AC-3 ) 、 Dolby Digital Plus和Dobly E的音频编码系统。Dolby、 Dolby Digital、 Dolby Digital Plus和Dobly E是杜比实验室认证7>司(Dolby Laboratories Licensing Corporation)的商标。本发明的各方面还可与其它类型的 音频编码(诸如MPEG-4 AAC ) —起4吏用。
背景技术:
在以下的参考文献中阐述Dolby Digital的细节J71S"C 5Vflw^rJ爿52Z4.. D/g/,a/爿《^ CV 附/7rew》w 5Va </fln/(!4C-3」,7 ev/s7ow爿,Advanced Television Systems Committee, 20 Aug.2001.在环球网上,可在http:〃www.atsc.org/standards.html找到A/52 A文献。Craig C. Todd等人的"Flexible Perceptual Coding for Audio Transmission and Storage", 96th Co ve //o < //Ae^m/iV 五"g,7iem."g 5W/丰1994年2月26日,预印3796;Steve Vernon的"Design and Implementation of AC-3 Coders", 7>,. C歸"五/e"簡/cs, Vol. 41, No.3, 1995年8月。Mark Davis 的"The AC-3 Multichannel Coder,, , Audio Engineering Society预印3774, 95th AES Convention, 1993年10月。Bosi等人的"High Quality, Low-Rate Audio Transform Coding for Transmission and Multimedia Applications", Audio Engineering Society预印3365, 93th AES Convention, 1992年10月。第5,583,962、 5,632,005、 5,633,981、 5,727,119和6,021,386号美
国专利。在以下文献中阐述Dolby Digital Phis的细节"Introduction to Dolby Digital Plus, an Enhancement to the Dolby Digital Coding System", AES Convention Paper 6196, 117th AES Convention, 2004 年10月28日。在以下文献中阐述Dolby E编码的细节"Efficient Bit Allocation, Quantization, and Coding in an Audio Distribution System", AES预 印5068, 107thAES Conference, 1999年8月;以及"Professional Audio Coder Optimized for Use with Video", AES预订5033, 107th AES Conference, 1999年8月。在以下文献中阐述MPEG-2 AAC编码的细节ISO/IEC 13818-7: 1997(E)"InformaUon technology — Generic coding of moving pictures and associated audio information -, Part 7: Advanced Audio Coding (AAC),"Interiiational Standards Organization (1997年4月); Karlheinz Brandenburg的"MP3 and AAC Explained", AES 17th International Conference on High Quality Audio Coding, 1999年8 月;以及Bosi等人的"ISO/IEC MPEG-2 Advanced Audio Coding", AES预印4382, 101st AES Convention, 1996年10月。在以下文献中阐述了包括Dolby编码器、MPEG编码器等的各 种感知编码器的概况Karlheinz Brandenburg和Marina Bosi的 "Overview of MPEG Audio: Current and Future Standards for Low-Bit-Rate Audio Coding", J. Audio Eng. Soc., Vol.45, No. 1/2, 1997年1月/2月。上述引用的所有参考文献通观引用全部合并于此。尽管本发明不限于在AC-3中使用,但是为了方便,将在AC-3 系统的环境中描述本发明。AC-3是用于在包括数字电视、DVD视频 和DVD音频的应用中传送音频的数字音频数据压缩系统。AC-3比特 流包括两种关键分量音频内容和元数据。使用感知音频编码来压缩 1到6个声道的音频内容。在AC-3中的各种类型的元数据中,存在
若干音频元数据参数,其特别用于改变传送到收听环境的节目的声 音。这些将在下面进行描述。AC-3系统在二进制信息帧中传送包括数据压缩的音频的比特 流。每帧包含数字音频的1536个样点的音频内容和元数据。对于 48kHz的采样率,意味着32毫秒的数字音频或者音频的每秒31.25帧 的速率。每帧中包含的比特数量取决于正在传送的声道数量以及应用 于所述声道的数据压缩量。例如,DVD视频盘通常以每秒448,000比 特的数据率或1792字节(1字节有8比特)的帧大小来传送6个声道 的音频。将每个AC-3帧划分成片段。所述片段包括(1)同步信息(SI), 其包含同步字(SW)、两个纠错字中的第一纠错字(CRC1) ; (2) 比特流信息(BSI),其包含多数元数据;(3)6个音频块(AB0-AB5 ), 其包含数据压缩的音频内容;(4)无用比特(W),其包含任何在 音频内容被压缩之后剩下的未使用比特;(5)辅助(AUX)信息, 其包含更多元数据;以及(6)所述两个纠错字中的第二纠错字 (CRC2)。上述项在稍后进一步描述的图9中示出。在以上引用的 AC-3参考文献以及以下对图9的描述中详细描述了 AC-3帧,其包括 感知音频数据压缩以及伴随的元数据。如上所述,在AC-3中,存在若干音频元数据参数,其特别用于 改变传送到收听环境的节目的声音。这些将在下面进行描述。这些元 数据参数中的以下三个参数涉及重放信号电平以及动态范围 DIALNORM、 COMPR和DYNRNG。 DIALNORM参数影响音频重 放信号电平,而相关的COMPR和DYNRNG参数有时在下面被称为 "动态范围压缩"参数一影响音频重放信号的电平。根据解码模式,在 解码中使用COMPR和DYNRNG参数之一或者不使用两者中的任何 一个,但是不会全部使用这两个参数。尽管当用户没有设置值时存在 默认的DIALNORM值,但是DIALNORM通常由用户来设置(该参 数不会自动产生)。例如,用户或"内容创建者"可利用AC-3编码器 外部的处理或装置进行响度测量,随后将结果传递到编码器。因此,
依靠用户来正确地设置DIALNORM参数值。COMPR和DYNRNG 参数尽管涉及DIALNORM参数,但是通常响应于多个动态范围压缩 简档(profile)之一 (或者不存在简档,这将导致应用DIALNORM 但是允许再现全动态范围)以及用户设置的DIALNORM参数值在编 码期间自动计算COMPR和DYNRNG参数。每个这种简档包含标准 音频动态压缩参数信息,所述信息包括上升时间常数和释放时间常 数,以及压缩率。在收听环境中影响声音的其它元数据参数包括各种 缩混(downmixing )参数CLEV、 CMIXLEV、 SLEV、 SURMIXLEV、 MIXLEVEL和MIXLEVEL2。这种缩混元数据提供用于解码器将原 始的5.1声道缩混为较少数量的再现声道(例如,1或2个声道)的 指令。DIALNORM参数允许在解码任何AC-3比特流时均匀地再现口 语对话。将普通口语对话的主观声级(level)用作参考。因此,再现 系统增益变为收听者期望的用于对话的再现声压级别和DIALNORM 值两者的函数。尽管原则上,可在解码(在数字域或模拟域进行)之 后将DIALNORM值应用于时域以调整重放增益,但是AC-3解码器 通常在解码器内将DIALNORM值用于数字域中以对增益进行缩放, 这引起对重放增益的调整。尽管存在用于方便且容易地测量音频内容中对话的声级的有用 工具(例如,Dolby LM100响度仪),并且AC-3提供用于传达对话 的声级的元数据(使用DIALNORM参数),但是在没有将压缩音频 完全解码为PCM并且没有利用被认可的测量技术执行响度测量的情 况下,不存在校验AC-3比特流中的DIALNORM值是否被正确设置 以及是否域音频的真实对话响度值匹配的方法。在Smithers等人于 2004年7月1日提交的第10/884,177号题为"Method for Correctingthe Playback Loudness and Dynamic Range of AC-3 (Dolby Digital) Compressed Audio Information"的美国专利申请中描述了所述全解 码方式。所述申请通过引用全部合并于此。存在几种导致AC-3比特流中的DIALNORM参数会不正确的不同原因。首先,如上所述,如果内容创建者没有设置DIALNORM值, 则每个AC-3编码器具有默认的DIALNORM值,该DIALNORM值 在产生比特流期间被使用。所述默认值通常被选为-27dB,该值可能 与音频的实际对话响度声级非常不同。其次,即使内容创建者测量响 度并相应地设置了 DIALNORM参数,但是所使用的响度测量算法或 仪器可能不符合所推荐的AC-3响度测量方法,这将导致不正确的 DIALNORM值。第三,即使通过由内容创建者测量并正确设置的 DIALNORM值创建了 AC-3比特流,但是在比特流的传输和/或存储 期间,其可能已经变为不正确的值。例如,在电视广播应用中,经常 使用不正确的DIALNORM元数据信息来解码、修改随后重新编码 AC-3比特流。因此,尽管DIALNORM值总是包含在AC-3比特流中, 但是其可能不正确或者不准确,因此,会给收听体验带来质量上的负 面影响。因此,需要一种用于校验AC-3比特流中的DIALNORM参数是 否由内容创建者正确地设置并且是否在分配和传输期间没有改变的 方法。优选地,这种校验不应改变AC-3比特流的标准语法,从而比 特流保持与现有AC-3解码器的兼容(即,保持向后兼容性)。
图1是^f艮据本发明各方面的用于产生比特流的配置的功能示意框图。图2是用于比特流中的元数据校验数据的格式示例的抽象表示。 图3实际上是示出图4的流程图中的判断步骤的细节的判断流程图。图4实际上是与确保比特流具有正确的元数据和匹配元数据校 验数据相关的用于理解本发明各方面的判断流程图。图5是用于实施图4的步骤404到413的各个子集的配置的功能 示意框图。图6a是用于实施图4的步骤408到410的子集的配置的功能示
意框图。图6b是用于实施图4的步骤408和411到413的子集的配置的 功能示意框图。图7是示出用于实施重新打包比特流功能的配置或图6a的装置 的功能示意框图。图8实际上是用于理解本发明中与知道校验数据的解码有关的 各方面的判断流程图。图9a是示出AC-3串行编码的比特流的帧的示意图。该图不是 按照比例显示的。图9b是更详细地示出AC-3串行编码的比特流的SI部分的示意 图。该图不是按照比例显示的。图9c是更详细地示出AC-3串行编码的比特流的比特流头部信 息(BSI)部分的示意图。该图不是按照比例显示的。图9d是更详细地示出AC-3串行编码的比特流的音频块部分的 示意图。该图不是按照比例显示的。图9e是AC-3编码器或编码功能的功能示意框图。图10a是示出三种示例性音频项的DIALNORM声级和动态范围 的假设图。图10b是示出三种示例性音频项在重放期间的DIALNORM声 级和动态范围的假设图。图lla是示出关于三种示例性音频项的动态范围控制参数的效 果的假设图。图lib是示出关于三种示例性音频项在重放期间的DIALNORM 和动态范围控制参数的效果的假设图。发明内容可将本发明看作具有若干方面,所有这些方面均涉及音频元数据 校验信息。所述方面中的某些包括以下项(1)编码的音频比特流,其具有正确的元数据以及校验所述15
元数据的至少一部分的正确性的信息;(2) 如下处理方法或装置,其产生编码的音频比特流,所述 编码的音频比特流具有正确的元数据以及校验所述元数据的至少 一部分的正确性的信息;(3) 如下处理方法或装置,其确保编码的音频比特流具有正 确的元数据,并且还包含校验所述元数据的至少一部分的正确性的 信息;以及(4) 如下处理方法或装置,其无论编码的音频比特流的所有 元数据是否正确均对所述编码的音频比特流进行解码,产生并替代 纠正的元数据,如果存在校验所述元数据的至少一部分的正确性的 信息,则考虑该信息。在权利要求以及说明书和附图中阐述本发明的其它方面。 应注意到音频元数据校验信息不承担提供比特差错检查和/或 纠正的功能。携带校验信息的比特流通常具有某种比特差错检查和/ 或纠正,例如,AC-3比特流中的CRC码字。在本发明的各方面中, 元数据因为以下原因可能不正确例如,元数据开始没有被正确设置, 或者即使开始被正确设置,但是由于人为干预或其它原因在传输或存 储期间被改变,但是元数据的不正确并不是由于传输或存储中的比特 差错所引起。事实上,因为音频元数据校验信息的目的在于在元数据 不正确的情况下将所述元数据改变为正确的值,所以元数据校验信息 的目的不在于进行比特差错检测或纠正。比特差错纠正仅仅纠正元数 据的比特差错,但是尽管没有了比特差错,元数据本身的不正确仍旧 没有被纠正。换言之,音频元数据校验信息涉及作为代表元数据的比 特的基础的信息的正确性,而不是所述比特本身的正确性。尽管在这里描述的本发明各方面的示例中,编码的音频比特流是 Dolby Digital (AC-3)编码的比特流,元数据的集合为DIALNORM 以及相关的动态范围控制元数据,并且校验信息相应于正确的 DIALNORM元数据,但是本发明的各方面可应用于其它编码系统以 及所述编码系统的比特流中的其它元数据。可使用本发明的各方面的 其它音频编码系统包括例如,Dolby E系统和MPEG-4AAC系统。 关于Dolby Digital,元数据可以是除DIALNORM以及相关的动态范 围控制元数据之外的缩混元数据(在这种情况下,校验信息还涉及缩 混元数据),或者替代DIALNORM以及相关的动态范围控制元数据 的缩混元数据(在这种情况下,作为替代,校验信息涉及缩混元数据)。在编码的音频比特流中,可按照所述比特流向后兼容现有或旧有 处理和装置的方式携带校验信息。在这里描述的本发明各方面的示例 中,在上述AC-3无用比特中携带校验信息,在其它方式中所述无用 比特将不携带有用信息并且通常被标准AC-3解码器忽略。其它音频 编码系统具有"无用"比特或者可用并且通常被标准解码器忽略的类 似比特(有时称为"空,,比特、"填充,,比特等),例如,诸如MPEG-4 AAC中的数据流元素的附加数据字段、用户定义的数据片段。然而, 某些编码系统中的所述比特不会被编码/解码操作破坏,当本发明各方 面在AC-3编码系统中时,上述特征为本发明各方面的有用特征。在 Truman等的第6,807,528B1号题为"Adding Data to a Compressed Data Frame"美国专利中7>开了在编码比特流中的"无用"比特或类似 比特中携带数据的技术,该专利通过引用全部合并于此。还可通过将校验信息"隐藏,,的方式在编码的音频比特流中携带 所述校验信息。例如,在无用比特中携带的校验信息可被加密。隐藏 校验数据的好处在于某些故意改变编码的音频比特流中的 DIALNORM的人将难以改变或者无法改变校验信息。尽管不是每个AC-3帧均具有足够的未使用数据比特来传递附加 信息,但是当DIALNORM值在整个节目期间恒定时就不存在问题-这是因为至少某些AC-3帧具有足够的未使用数据比特以用于校验数 据就足够了。或者,作为在可被编码的无用比特中携带校验信息的替代方式, 可使用诸如在以下专利中描述的技术将校验信息隐秘 (steganographically)编码为比特流:Watson等人在2001年8月15 日提交的(PCT)题为"Modulating One or More Parameters of an Audio or Video Perceptual Coding System in Response to Supplemental Information"的第10/344,388号美国专利申请,其于 2004年2月5日作为US 2004/0024588A1公开。所述申请通过引用全 部合并于此。隐秘编码的优点在于其保持向后兼容性,还隐藏所述数 据。然而,缺点在于对比特流进行解码和重新编码不会擦除或"清 除"校验信息(如以下进一步所讨论的)。最简单的形式的校验数据可以是正确的DIALNORM值(连同适 当的组帧或同步和标识数据)的副本。因为AC-3比特流中的未使用 比特通常被设置为空值或随机值,但是与DIALNORM校验数据格式 匹配的AC-3比特流中存在未使用数据比特的可能性很低。此外,如 通常情况,当每个编码的AC-3节目仅使用一个恒定DIALNORM值 时,包含在未使用数据比特中的DIALNORM校验信息也是恒定的固 定值。在这种情况下,检查一系列AC-3帧中DIALNORM校验数据如果实时连续地对AC-3比特流执行DIALNORM测量、元数据 产生和校验数据插入,则整个节目期间的恒定DIALNORM值不会出 现。在这种情况下,可通过分析一系列AC-3帧(其会包含各种 DIALNORM元数据值)和检查置于未使用数据比特中的 DIALNORM校验字段在它们存在时匹配于DIALNORM值,而执行 校验。为了减少未使用数据字段中的随机数据匹配DIALNORM参数 值的可能性,会需要最少数量的匹配DIALNORM和DIALNORM校 验数据字段。本发明的另一方面在于优选地仅允许已认可的处理或装置将 DIALNORM校验数据写入AC-3比特流。这样处理确保了校验数据 的有效性。因此,尽管由于上述原因而无法保证DIALNORM元数据 参数值的正确性是正确的,但是可在确保精确性的情况下使用 DIALNORM校验数据。此外,因为DIALNORM校验数据被置于 AC-3比特流的其它未使用数据比特中,所以克服了正确的 DIALNORM参数被破坏的问题。如果包含有效校验数据的AC-3比
特流被解码和重新编码,则即使使用相同的AC-3 DIALNORM元数 据值,作为重新编码的结果替代DIALNORM校验数据的作为结果生 成的未使用数据比特将保持正确的可能性较高。这确保校验的AC-3 比特流的任何附加处理将"清除"校验数据(如以下所解释的,除非已 认可的具有响度测量的AC-3编码器和校验能力被用于重新处理)。本发明的这些和其它方面将被更好地理解为用于实现本发明的 以下方式。
具体实施方式
产生具有正确的DIALNORM和匹配校验数据的AC-3比特流本发明的该方面涉及创建具有正确的DIALNORM参数值和具 有匹配DIALNORM校验数据的AC-3比特流。图1示出包括两个部件的配置100,所述两个部件为改进型 AC-3编码功能或改进型AC-3编码器("改进型AC-3编码,,)102和 对话声级测量功能或对话声级测量器("测量对话的声级")104。 PCM 音频101;故应用于改进型AC-3编码102和测量对话的声级104两者。 改进型AC-3编码可以与标准AC-3编码器或编码功能相同,只是改 进型AC-3编码还能够接受DIALNORM校验数据并按照上述某种适 合的方式将DIALNORM校验数据插入AC-3比特流。改进型AC-3 编码提供包括DIALNORM校验数据的向后兼容的AC-3比特流输出。 测量对话的声级104分析输入的PCM,计算正确的DIALNORM值, 并将其发送(经由103 )到改进型AC-3编码102。在普通AC-3编码中,可用未使用比特的数量直接与音频的复杂 性有关(即,按照期望的比特率对音频进行编码的难度)。因为每个 AC-3音频帧可用的比特数量是固定的,所以越难对音频进行编码, 用于达到某个等级的质量的比特越多,因此,用于编码处理且可用于 携带DIALNORM校验数据的比特越少。所以,更易于进行编码的音特。因此,对改进型AC-3编码器而言可选但是有用的改进在于能够
指定编码处理在编码期间不使用的最少数量的数据比特的能力。假设需要少量的比特来传达DIALNORM校验数据(如以下所描述的), 故意保留一些未使用数据比特对于编码的音频信号的影响很小,或者 没有影响。测量对话的声级可通过首先隔离主要包含讲话的音频内容的片段来执行对于对 话的响度声级的测量。所述方法在以下专利中进行描述Vinton等人 的第10/233,073号题为"Controlling Loudness of Speech in Signals That contain Speech and Other Types of Audio Information,,的美国 专利,其于3月4日作为US2004/0044525Al/^开。所述申请通过引 用全部合并于此。然而,可使用其它方法。随后将主要作为讲话的音 频片段传递到响度测量算法。在AC-3中,所述算法为标准A权重功 率测量。还可使用其它响度测量,包括B权重或C权重功率测量, 或者基于响度的心理声学模型的响度测量。相对于音频数字全标度 (full-scale)正弦波形(0dBFS)来计算功率测量。对于讲话片段的隔离不是必需的,然而,这一处理提高了测量的 精度并在收听者看来提供了更加令人满意的结果。因为并非所有的音 频内容均包含讲话,所以当存在讲话时,整个音频内容的响度测量可 足够接近音频的对话声级。如果对于连续比特流而不是有限长度的比特流操作该方法,则可 连续更新所述测量,并且所述测量可代表对话的声级(例如,仅代表 最后几秒钟)。如果对于预先存储的有限长度的比特流(诸如存储在 硬盘上的音频文件)操作该方法,则可分析整个节目,并计算单个 DIALNORM值。改进型AC-3编码102使用改进型AC-3编码对输入音频PCM进行编码,所述改进型 AC-3编码使用计算的DIALNORM值来设置比特流DIALNORM以 及有关的动态范围压缩元数据参数。所述改进型AC-3编码可以与普 通AC-3编码相同,只是在改进型AC-3编码中,如上所述的附加响
度测量功能或装置104明确并正确地测量DIALNORM参数值并将其 提供给编码器,以便所述DIALNORM参数值被包括在比特流中。改 进编码器还创建DIALNORM校验数据并将其插入AC-3的其它未使 用数据比特,原因在于在该示例中,已认可的DIALNORM测量处理 已经提供客观测量。由改进型AC-3编码102产生的AC-3比特流优 选地符合在以上引用的A/52A文献中定义的AC-3比特流的标准,使 得与现有AC-3解码器向后兼容。如果改进型AC-3编码还具有指定最少数量的未使用数据比特的 能力,则其可通过改变每个AC-3帧中可用于音频编码的比特总数的 值来实现。例如,如果可用于AC-3编码处理的比特数量通常为 N—TOTAL—ENCODE—BITS , 并且期望至少拥有 N—TOTAL—VERIFICATION—BITS,则可用的编码比特的新的总数将 为(N—TOTAL ENCODE BITS-N—TOTAL VERIFICATION—BITS ), 并且按照通常情况进行音频编码处理。DIALNORM校验数据的格式为了容易地识别DIALNORM校验数据并在不经过解码的情况 下从AC-3比特流读取所述DIALNORM校验数据,数据具有预先定 义的格式将是有用的。图2概述用于按照字节对齐的方式来存储 DIALNORM校验数据的适合格式,其使得从未解码的AC-3比特流 定位并读取数据变得简单(在实时AC-3比特流或存储为数字文件的 AC-3比特流的情况下)。所述格式并非决定性的,可使用其它格式。 如图2所示,用于DIALNORM校验数据的示例格式包括若干连续的 字节。第一字节是预先定义的DIALNORM校验头部字节。该头部字 节可采用任何值,然而,优选的是非零值(与AC-3 SYNCWORD类 似但不相同),这是因为在其它AC-3比特流中,未使用数据比特被 初始化到0值。在该示例中的DIALNORM校验头部之后,数据字节 用于传递DIALNORM校验和附加可选数据。因为标准AC-3 DIALNORM值包括5比特,所以一个数据字节提供三个附加数据比 特,两个数据字节提供11个附加数据比特。在图2的示例中示出对
两个DIALNORM校验数据字节的使用。这些字节可用于存储诸如所 使用的响度算法类型或版本的信息或其它信息。图2所示的最后字节 是循环冗余校验(CRC)数据字节,使用DIALNORM校验头部和数 据字节来计算所述CRC数据字节。该字节的用处在于其大大减少了 AC-3比特流中未使用数据比特(包含具有有效DIALNOMR校验头 部字节、两个中间数据字节和CRC字节的比特序列)经过对全部四 个字节进行CRC检查的可能性。如先前所讨论的,如果改进型AC-3编码器预留足够的未使用数 据比特来包含DIALNORM校验数据,则在图2概述的结构中,对于 每个1792字节的AC-3数据帧仅需要四个字节或32比特,这仅相应 于总数据的0.2%。确保AC-3比特流具有正确的DIALNORM和匹配校验数据 本发明的另 一方面在于确保AC-3比特流中的DIALNORM值正 确并且比特流具有匹配DIALNORM校验信息。本发明的这一方面在 图4的示例性流程图中阐述。如以下所解释的,可采用所有图4处理 或图4处理的子集。例如,所述处理或采用所述处理的步骤的装置可 用于在由内容创建者创建比特流之后以及对于收听者进行比特流的 最终解码之前,传输或存储所述比特流。应理解图4的步骤及其子集可代表一个或多个处理的各部分,或者可以是在一个或多个装置中 执行的功能。可对代表有限长度音频项的音频的比特流执行图4的步骤。例 如,音频项包括以数字形式存储在文件服务器等的电视节目或广告。 如这里所使用的,"音频项"是连续的音频信息段;例如,30秒的电视 广告或整个电影(运动图像)。然而,图4的步骤还可用于测量和更 新AC-3帧的连续实时的比特流,例如,代表电视台或声道的音频的 连续AC-3比特流。测试DIALNORM校验数据的存在(图3和图4的步骤401) 如图4所示,执行第一步骤(步骤401 )以确定AC-3 DIALNORM 校验数据是否存在于编码的AC-3比特流中。图3示出用于执行所述
检查的的示例性流程图。如图3所示,输入是可按照逐帧为基础来处 理的AC-3音频比特流。因为已知未使用数据比特在AC-3帧中的位 置,所以不必对整个帧或比特流执行彻底的搜索一搜索可开始于未使 用比特片段的开端。尽管DIALNORM校验数据包括连续的数据字节, 但是所述数据可以是与其它AC-3帧数据对齐的字节,也可以不是与 其它AC-3帧数据对齐的字节。因此,图3的处理中的第一步骤(步 骤301)"从比特流读取数据,,可要求逐比特地读取数据并从每一个读 取的比特构建连续的数据字节。在图3的示例中的步骤303,将从AC-3帧读取的每个数据字节 与预先定义的DIALNORM校验头部字节进行比较。如果字节不匹配, 则读取更多数据并执行另一字节比较。如果所述字节值匹配头部值, 则读取所述匹配字节之后的连续的数据字节。如果匹配校验头部字节 的字节靠近AC-3帧的末尾(如步骤302所确定的),并且三个字节 的后续数据不可用,则中断数据搜索。四个字节(包括如图2概述的 匹配校验头部字节)用于在步骤304计算CRC检查。如果CRC检查 通过(步骤305 ),则DIALNORM校验数据存在,并且如以下进一 步所述,可从数据字节检索DIALNORM校验信息。测试DIALNORM校验数据是否匹配AC-3 DIALNORM数据 (402 )如图4的步骤401所示,当DIALNORM校验数据存在时(步骤 401的输出为"是,,),进行下一步骤(步骤402)以确定所述校验数 据是否匹配AC-3 DIALNORM值。如图9所示,按照以下进一步所 讨论的,普通DILANORM数据的位置和格式是已知的,并且可从 AC-3比特流容易地读取。用于确定普通DIALNORM和校验 DILANORM值是否匹配的测试是简单的数值比较。如果所述值匹配, 则普通DIALNORM值是正确的,并且不需要进一步分析或处理。如 果所述两个值之差的绝对值小于阈值,则可认为所述值足够"匹配"。 如果期望的话,则可将所述阈值设置为等于O,但是在优选的实现中, 选择阈值以在以下各项之间进行权衡元数据参数的精确性、实现本
发明所需的计算资源的成本、以及DI ALNORM值与校验值之差会在 重放期间使音频信息的质量降级的可能性。阈值3 (3dB)可能适合 于许多应用。可对AC-3比特流输出进行存储、传输或解码。利用DIALNORM校验数据纠正普通AC-3 DIALNORM数据 (步骤403 )当DIALNORM校验数据被从AC-3比特流提取并且与普通 AC-3 DIALNORM元数据不匹配时(步骤402的输出为"否"),随后, 利用校验DIALNORM值来更新DIALNORM元数据(即,将 DIALNORM元数据设置或产生为与校验DIALNORM值相同) (403)。因为普通DIALNORM值已经净皮确定为不正确并且应该祐: 更新,所以有关的AC-3动态范围压缩元数据可能也不正确。因此, 应该分析动态范围压缩信息,如果它正确,则仅更新DIALNORM元 数据参数。如果动态范围压缩信息不正确,则也应该将其更新。以下 结合图4的步骤409到413以及图6a、图6b和图9c来进一步解释所 述分析和更新的细节。没有在AC-3比特流中的校验数据DIALNORM元数据正确(步骤404-407 )如图4的示例所示,如果DIALNORM校验数据没有包含在AC-3 比特流之内(步骤401的输出为"否"),则在不应用DIALNORM参 数以及有关的动态范围控制参数的情况下(因为这些元数据参数可能 不正确)将AC-3比特流解码为PCM,从而解码的音频内容与用于创 建比特流的编码器的输入位于相同声级(步骤404)。随后,测量对 话的响度以确定正确的DIALNORM声级(步骤405)。所述测量可 通过上述测量对话的声级104的装置或功能来实现。在步骤405测量 对话的声级之后,在步骤406将测量的值与AC-3 DIALNORM元数 据进行比较(以下给出所述比较的细节)。如步骤406的"是"输出之 后所示,如果普通DIALNORM元数据正确,则仅需要的动作为将 DIALNORM校验数据格式化并将其存储在AC-3比特流中(步骤 407)。
如上所述,可用的未使用数据比特的数量取决于音频的复杂性,并且某些AC-3帧可能不具有足够的未使用数据比特以将 DIALNORM校验数据存储在每一帧中。可进行以下两种选项将校 验数据仅存储在具有足够的未使用数据比特的AC-3帧中(在这种情 况下,可将DIALNORM校验数据插入原始的输入AC-3比特流中, 而不是插入通过对步骤404解码的AC-3比特流重新编码产生的AC-3 比特流中);或者对通过步骤404的AC-3解码产生的音频进行重新 编码,预留足够数量的未使用数据比特来保证校验数据适合每一 帧。对步骤404的AC-3解码以及步骤405的响度测量的替换选择在 于通过不需要对AC-3比特流进行完整解码的技术来获得响度的近 似。所述技术对诸如AC-3比特流的比特流进行部分解码,以便基于 子带指数(subband exponent)的幅度来获得对编码的音频频谱的粗 略估计,该技术^^开于Brett Graham Crockett、 Michael John Smithers、 Alan Jeffrey Seefeldt于本申请的同 一天提交的代理人案号 为DOL 157的美国临时专利申请中。所述Crockett等人的DOL 157 号申请通过引用全部合并于此。图5示出用于实施图4的步骤404到413的各个子集的配置的示 例。如图5所示,通过改进型AC-3解码功能或解码器("AC-3解码 器")502将AC-3帧501解码为数字音频503。在通过AC-3解码器 502对AC-3帧进行解码期间,尽管如下所述,DIALNORM参数以及 动态范围压缩信息被恢复以进行潜在的其它用途,但是所述 DIALNORM参数以及动态范围压缩信息被省略以便进行音频解码, 从而解码的音频503与用于创建比特流的编码器的输入位于相同电平 并具有相同的动态范围。对话声级测量功能或对话声级测量器("测 量对话的声级,,)504接收解码的音频503并计算对话的声级505。测 量对话的声级504可以是与以上结合图1描述的测量对话的声级104 相同的功能或装置。AC-3解码器502可执行如上所述的步骤404,测 量对话的声级504可执行如上所述的步骤405。比特更新功能或更新 器("更新比特流,,)506将对话的声级与出现在每一帧中的 DIALNORM参数进行比较。以下给出所述比较的更多细节。此外, 根据步骤406和步骤408的判决,可执行步骤407、步骤408-410 (参 见图6a及其下面的描述)或步骤408和411-413 (参见图6b及其下 面的描述)。当执行步骤407时,将DIALNORM校验信息插入输入 的AC-3比特流,保留原始DIALNORM和有关的动态范围控制信息。 在执行步骤407时,更新比特流506还在AC-3帧中搜索未使用数据 比特。对具有足够数量的未使用数据比特的AC-3帧进行改进,从而 未使用比特被更新为包含DIALNORM校验数据。或者,由AC-3解 码502产生的解码的音频可被重新编码,预留足够数量的未使用数据 比特来保证校验数据适合每一帧(在这种情况下,更新比特流506包 括诸如图1的改进型AC-3编码102的改进型AC-3编码器)。更具体地说,在执行步骤406时,更新比特流506将测量的对话 的声级与如DIALNORM参数指示的对话的声级进行比较。 DIALNORM参数具有包括-31dB到-ldB,以ldB为增量的范围。如 果测量的对话的声级位于所述范围之内并且不同于来自所述比特流 的DIALNORM的值,则,利用测量的声级(例如,进行最接近ldB的 取整)来有条件地更新DIALNORM参数(当确定是否存在足够的未 使用比特可用于携带校验信息时,所述更新为"有条件,,的)。如果所 述两个值之差的绝对值小于阈值,则可认为测量的对话的声级不同于 所述比特流中的DIALNORM的值。如果期望的话,则可将所述阈值 设置为等于0,但是在优选的实现中,选择阈值以在以下各项之间进 行权衡元数据参数的精确性、实现本发明所需的计算资源的成本、 以及DIALNORM值与测量的对话声级之差会在重放期间使音频信息 的质量降级的可能性。阈值3 (3dB)可能适合于许多应用。除了更 新比特流以包含正确的DIALNORM参数之外,更新比特流506还搜 索每一 AC-3帧中的未使用数据比特。如果某帧包含足够数量的未使 用数据比特,则用DIALNORM校验数据来替换所述未使用数据比特, 这表示已经进行精确的已认可的响度测量处理,避过那且嵌入AC-3 比特流中的DIALNORM值是正确的。
没有在AC-3比特流中的校验数据 DIALNORM元数据不正确在DIALNORM参数范围之内的响度(步骤408-410 )如图4的示例所示,如果检验信息不存在(步骤401的输出为 "否,,)并且现有AC-3 DIALNORM值不正确(步骤406的输出为 "否,,),则应该确定测量的响度声级是否位于DIALNORM参数的有 效范围之内(步骤408)。当测量的对话的声级505位于如AC-3比 特流中所允许的DIALNORM参数的有效范围之外时,DIALNORM 参数不具有足够的范围来传递所述声级。也就是说,测量的声级小于 -31dB或大于-ldB。如果DIALNORM参数具有足够的范围来传递所 述声级(步骤408的输出为"是,,),则如下执行步骤409和410,所 述步骤409和410的进一步细节结合图6a和图7示出。图6a示出当DIALNORM的值被改变并且DIALNORM校验数 据被插入时,如何确定新的动态范围压缩信息(步骤409)以及如何 更新和重新打包比特流(步骤410)。如上所述,图6a的示例时用于 执行步骤408-410的图5的更新比特流507的变型。图6a的部件可被 描述如下。提取DIALNORM 602如图5和图6a所示,从AC-3比特流提取DIALNORM参数的 值一将未解码的比特流501应用于DIALNORM提取装置或功能602 ("提取DIALNORM,,602 )。 确定动态范围压缩简档604如图6a所示,动态范围压缩简档确定装置或功能("确定动态范 围压缩简档,,604 )接收从未解码的比特流提取的DIALNORM参数以 及AC-3解码(图5的502)的输出,并确定动态范围压缩简档。AC-3 帧中的动态范围压缩元数据代表可在解码期间应用于音频内容的增 益改变。所述元数据作为两种不同的参数存在。比特流信息(BSI) 中的COMPR参数具有-48.14dB到+ 47.88dB的范围,并且是应用于 整个音频帧的缩放比例。每个音频块(AB)中的DYNRNG参数具有-24.06dB到+ 23.94dB的范围,并且提供用于独立地对每个块进行缩 放的手段。根据解码模式,这些参数之一用于解码器,或者所述参数 均不用于解码器,而这些参数不会都用于解码器。如上所述,使用DIALNORM参数以及多个动态范围压缩简档之 一,或者使用DIALNORM参数而不使用多个动态范围压缩简档中的 任何一个在编码期间计算COMPR和DYNPNG参数。每个简档包含 标准音频动态范围压缩参数信息,所述信息包括上升时间常数和释放 时间常数,以及压缩率。因为DIALNORM被改变,所以比特流中的COMPR和 DYNRNG的值可能不再正确。可在比特流中保留COMPR和 DYNRNG不变,但是重放时的音频会表现出剧烈和恼人的增益波动 并/或导致解码器过栽(或数字限幅)。更好的方式为更新COMPR 和DYNRNG参数。最好在知道用于计算它们的原始值的动态范围压 缩筒档的情况下实现所述更新。因为关于简档的信息不存在于比特流 中,所以可选择任意简档(同时包括禁用动态范围压缩),或者可从 比特流中的原始COMPR和DYNRNG值推导所述简档。推导简档会 更接近地匹配内容创建者关于动态范围压缩的原始意图。在确定动态范围压缩简档604中,解码的音频503和原始 DIALNORM值603被共同用来计算多组COMPR和DYNRNG值-一组用于已知存在于AC-3编码器中的每个简档。COMPR和 DYNRNG值的组合最接近地匹配原始比特流中的COMPR和 DYNRNG值的简档的索引号被输出为606。如果对连续的帧流操作所述方法,则简档索引可被连续地更新。例如,其可代表先前几秒的帧中最可能的简档。估计的动态范围压缩简档可以与原始使用的简档不同。因此,如 上所示,可期望仅当测量的对话的声级与DIALNORM值之差的绝对 值大于阈值时彩更新DIALNORM和动态范围压缩信息。计算新的动态范围信息607功能或装置("计算新的动态范围信息")607计算新的动态范围
信息。对话的实际声级505 (图5)的测量被取整并变为新的 DIALNORM值。向最接近ldB取整虽然不是必需的,但是可被使用。 使用简档索引606,计算解码的音频503 (不需要向其应用旧的 DIALNORM和动态范围压缩)、新的DIALNORM值(取整的505)、 一组新的COMPR和DYNRNG值608。 重新打包比特流609比特流重新打包器或重新打包功能("重新打包比特流,,)609接 收未解码的AC-3比特流501、 COMPR和DYNRNG值608以及测量 的对话声级505。如上所述,对话的实际声级505的测量被取整(例 如,向最接近ldB取整,尽管这不是必需的),并变为新的DYNRNG 值。在未解码的AC-3比特流501中更新新的DYNRNG值以及新的 COMPR和DYNRNG值。此外,如果如重新打包比特流609中所确 定的,存在足够的未使用数据比特,则DYNRNG校验数据用于替换 某些或所有未使用数据比特。新更新的AC-3比特流作为新的比特流 610被输出。在以下会描述的图7的示例中阐述重新打包比特流609的细节。 确定可用空间701功能或装置("确定可用空间")701识别所有的未使用数据比特, 所述未使用数据比特可用于更新COMPR和DYNRNG值并用于包括 新的DYNRNG校验数据。COMPR和DYNRNG参数两者均需要AC-3 比特流中的8比特。所述参数的每次出现具有有条件的"存在"标记。 COMPR参数具有COMPRE标记,该标记如果被设置为1,则指示 在比特流中跟随有COMPR参数。类似地,每个DYNRNG参数具有 DYNRNGE标记,该标记如果被设置为1,则指示在比特流中跟随有 DYNRNG参数。如果帧的第一块中的DYNRNGE标记被设置为0, 则解码器假设初始DYNRNG值为0dB。如果帧的块1到块5中的任 何块中的DYNRNGE标记被设置为0,则解码器重新使用来自先前块 的DYNRNG值。COMPR和DYNRNG参数在每一帧中的这种有条 件的存在表示由COMPR和DYNRNG使用的比特总数可变化。
因为新的COMPR和DYNRNG值所需的比特总数可能待遇由旧 的COMPR和DYNRNG值使用的比特总数(因为COMPR和 DYNRNG的存在和值取决于DIALNORM值),所以有必要确定帧 中是否存在任何未使用的比特。这些未使用比特可用于新的 DIALNORM校验数据以及在AC-3帧之内移动信息,以便为新的 COMPR和DYNRNG值所需的附加比特留出空间。减少动态范围压缩信息703功能或装置("减少D.R.C信息")703接收未使用数据比特702 的表示并计算新的动态范围信息608,以便如果用于这些值的比特总 数大于未使用比特加上由旧的COMPR和DYNRNG值使用的比特总 数的总和,则减少新的COMPR和DYNRNG值所需的比特数量。功 能或装置703的输出是新的COMPR和DYNRNG值,其可能已经根 据所述比特要求被调整。对于每个AC-3帧存在约束。图9a示出两个帧边界,第5/8帧边 界以及音频块1与音频块2之间的帧边界(AB1-AB2)。所述约束在 于当帧被编码时,AB1-AB2边界不能被进一步编码为超过第5/8帧 边界的比特流。如果音频块0和1中的新的DYNRNG值所需的比特 数量大于音频块0和1中未使用的跳过数据比特加上音频块0和1中 的旧的DYNRNG值使用的比特数量的总和,则遵循为附加比特留 出空间会将AB1-AB2边界推过第5/8帧边界。如果出现这种情况,则 应该减少块0和1中的新的DYNRNG值所需的比特数量。可按照各 种方式来执行这一处理。适合的方法为首先分析音频块0和1的新的DYNRNG值和 DYNRNGE标记。如果只有块0中的新的DYNRNGE标记被设置为 1,则将这一标记设置为0,并将块0和块1的新的DYNRNG值设置 为等于0。如果只有块1中的新的DYNRNGE标记被设置为1,则将 这一标记设置为0,并将块1的新的DYNRNG值设置为等于块0的 DYNRNG值。如果块0和1中的新的DYNRNGE标记被设置为1, 则执行两种比较。如果块0的DYNRNG的新值与0dB之间的绝对差
小于块0和1的DYNRNG的新值之间的绝对差,则将块0的新的 DYNRNGE标记设置为0,并将块0的DYNRNG的新值设置为0。 否则,将块1的新的DYNRNGE标记设置为0,并且将块0和1的新 的DYNRNG值设置为来自块0和1的DYNRNG的最小值。这将新 的DYNRNG字所需的比特数量减少了 8比特。如果块0或1的 DYNRNGE标记之一被设置为1,并且需要进一步减少比特,则重复 上述处理。在任何比特减少完成之后,将块1的新的DYNRNG值与 块2的新的DYNRNG值进行比较。如果所述值相等,则将块2的新 的DYNRNGE标记设置为0。如果新的DYNRNG值不相等,则将块 2的新的DYNRNGE标记被"i殳置为1。查看6个块的整个帧;如果新的COMPR和DYNRNG值所需的 比特总数多余未使用比特加上由旧的COMPR和DYNRNG值使用的 比特总数的总和,则有必要减少新的参数所需的比特数量。可按照各 种方式来执行这一处理。适合的方法为查看帧中的6个音频块中的新的DYNRNG值和 DYNRNGE标记,并将所述块组合为区,其中,每个区代表DYNRNGE 标记祐z没置为1的块、或者块0的DYNRNGE标记械 没置为0的情 况下的第一块加上DYNRNGE标记被设置为0的任何后续块。应遵 循区的数量可低至1,其中,所有块不具有被设置为1的DYNRNGE 标记或者第一块仅具有被设置为1的存在标记;或者区的数量可高至 6,其中,每个块具有被设置为1的DYNRNGE标记。将每个区的 DYNRNG的值与每个邻近区中的DYNRNG的值进行比较。随后,通 过以下处理将具有最接近的DYNRNG值的一对邻近的区组合为一个 区首先将两个区中的DYNRNG值设置为任一区的最小值,然后将 第二区的DYNRNGE标记设置为0。这将新的COMPR和DYNRNG 信息所需的比特总数减少了 8比特。重复所述处理,直到新的COMPR 和DYNRNG值所需的比特总数小于或等于未使用比特加上由旧的 COMPR和DYNRNG值所需的比特总数的总和。如上所示,AC-3帧中的所有未使用数据比特可用于更新的
DYNRNG和COMPR参数,从而不保留未使用比特以用于 DIALNORM校验数据。如先前所讨论的,期望这一结果,并且该结那些帧的实用性。更新DIALNORM、动态范围压缩和DIALNORM校验信息705 装置或功能("更新DIALNORM、 D.R.C和DIALNORM校验 信息")705接收未解码的AC-3比特流501、已根据比特要求调整的 新的COMPR和DYNRNG值704和测量的对话声级505,并更新比 特流的DIALNORM参数、动态范围参数,将DIALNORM校验信息 插入比特流。因为帧已经具有DIALNORM参数,所以可将新的DIALNORM 值写入它在BSI中的预定位置。然而,对COMPR和DYNRNG参数 的更新可能涉及移动AC-3帧的各个部分以便未新的值留出空间。如 果新的COMPR和DYNRNG值所需的比特总数大于由旧的值使用的 比特总数,则需要减少某些SKIPD字段的长度,并且可减少无用比 特(W)的长度。然而,如果所需的新的比特的总数较少,则增加无 用比特(W)的长度。如果在这些参数更新之后存在足够数量的未使 用数据比特,则将DIALNORM校验数据置于未使用数据比特的位置。为了更新COMPR参数,如果旧的COMPRE标记被设置为1, 则可利用新的COMPR值重写旧的COMPR值。然而,如果旧的 COMPRE标记被设置为0,并且新计算的COMPRE值被设置为1, 则应该将COMPRE参数之后的所有二进制数据移动8位以便为新的 COMPR值留出空间。随后,将帧中的COMPRE标记设置为1,并 将新的COMPR值写入新创建的8位空间。如果旧的COMPRE标记 被i殳置为1并且新的COMPRE标记被设置为0,则将帧中的 COMPRE设置为0,并应该将COMPRE参数之后的所有二进制数据 移动8位,这是因为COMPR参数不再存在于帧中。为了更新每个音频块中的DYNRNG参数,如果旧的COMPRE 标i己被i殳置为1,则可利用新的DYNRNG值重写旧的DYNRNG值。
然而,如果旧的DYNRNGE标记4皮设置为0,并且新的DYNRNGE 标记被设置为1,则应该将DYNRNGE参数之后的所有二进制数据移 动8位以便为新的DYNRNG值留出空间。随后,将帧中的DYNRNGE 标记设置为1,并可将新的DYNRNG值写入新创建的8位空间。如 果旧的DYNRNGE标记被设置为1并且新的DYNRNGE标记祐 没置 为0,则将帧中的DYNRNGE标记设置为0,并应该将DYNRNGE 参数之后的所有二进制数据移动8位,这是因为DYNRNG参数不再 存在于比特流中。SKIPL参数以字节来指示SKIPD字段的长度。为了减少SKIPD 字段的长度,应该将SKIPD字段右侧的二进制数据移动8位的整数 倍。随后更新SKIPL参数以反映SKIPD字段的新长度。有时候, SKIPD字段可包含没有在AC3标准(例如,参见以上已用的A52/A 文献)中正式定义的可选信息。如果SKIPD字段中的第一比特等于1, 则在SKIPD字段中跟随有负载数据的信息,否则,SKIPD字段中的 比特均被设置为0。如果存在信息并且需要缩短SKIPD字段,则仅可 将SKIPD字段缩短至所述信息。这允许信息被保留在AC-3帧之内。在修改和更新未使用数据比特之后,可将DIALNORM校验数据 插入未使用比特中。如先前所讨论的,所述数据可采取几种形式,包 括具有足够的同步和标识数据信息的双帧DIALNORM参数。这允许 DIALNORM校验解码器处理搜索未使用数据比特,识别是否存在 DIALNORM校验数据,并将其与嵌入AC-3比特流中的标准 DIALNORM参数进行比较。更新CRC 707更新的AC-3比特流包括DIALNORM校验信息,将所述更新的 AC-3比特流应用于纠错字产生装置或功能("更新CRC") 707。当 AC-3帧中的数据已经改变时,应该重新计算两个检错字CRC1和 CRC2。如果只有最多到达第5/8帧边界的数据被改变,则仅需要重 新计算CRC1。同理,如果只有从第5/8帧边界到帧的末端的数据被 改变,则仅需要重新计算CRC2。
没有在AC-3比特流中的校验数据DIALNORM元数据不正确,DIALNORM范围不足以传达声级 如图4的示例所示,如果校验信息不存在(步骤'401的输出为 "否,,)并且现有AC-3 DIALNORM值不正确(步骤406的输出为 "否,,),则应该确定测量的响度声级是否位于DIALNORM的有效范 围帧内(步骤408 )。如上所述,当测量的对话的声级505位于如AC-3 比特流中所允许的DIALNORM参数的有效范围之外时, DIALNORM参数不具有足够的范围来传递声级。也就是说,测量的 声级低于-31dB或大于-ldB。在这种情况下,步骤408的输出为"否"。 如上所述, 一种用于纠正这种情况的方式为利用最接近的有效值来更 新帧中的DIALNORM参数。然而,这会在DIALNORM值与测量的 对话的声级之间留下一些误差。如以下参照图6b的示例所描述的, 最小化上述差错的适合的替代选择为执行图4的步骤411、412和413。 如上所述,图6b是用于执行步骤411、 412和413的图5的更新比特 流507的变型。可如下描述不同于图6a的图6b的部件。图6a和图 6b共有的部件保有相同的各自的标号。 调整增益611将解码的音频503应用于可调整增益改变器或增益改变功能 ("调整增益")611。可将适合的增益改变应用于音频以减少测量的 对话声级与DIALNORM值之间的误差(步骤411)。例如,如果测 量的对话声级为-36dB ,则可将DIALNORM设置为最接近的有效值, 即,-31dB,从而将音频增加5dB,即,从-36dB增加到-31dB。改进型AC-3编码629然后,使用改进型AC-3音频编码对调整增益的音频进行重新编 码,将其连同新的DIALNORM和动态范围压缩信息608 (步骤412 ) 应用于改进型AC-3编码器或编码功能("改进型AC-3编码")629。 改进型AC-3编码的特征在于"改进,,,这是因为其意识到DIALNORM 校验数据能力的应用,并且在编码处理之后和最终比特流打包之前, 将所述数据插入未使用数据比特。这种重新编码保留来自原始比特流501帧的所有原始BSI(除了 DIALNORM、动态范围压缩信息和 DIALNORM校验)以及AUX元数据,并包括计算新的检错字。图6b的其它功能和装置可以与上述图6a的相应功能和装置相同。由于对音频内容的解码和重新编码,所以实施步骤411、 412和 413会导致某些声音质量的损失。因此,如果测量的对话声级与最接 近的DIALNORM值之间的绝对误差大于阈值,则可期望仅对内容重 新编码。阈值3 (3dB)可能适合于许多应用。图4的子集如上所述,可采用所有图4的处理或图4处理的子集,或者采用 所述处理的步骤的装置。图4处理的一种有用且花费不多的子集为采用步骤401到403。 如果校验信息存在于比特流中(401为"是"),则步骤402和403如 上所述进行操作,以保留AC-3比特流不变或将DIALNORM值设置 为校验值。如果比特流中不存在校验信息(401的输出为"否"),则 可保留DIALNORM不变或将其设置成等于默认值。图4处理的另一有用子集为釆用步骤401以及步骤404到407。 所述子集用于不存在校验数据时,并且当现有DIALNORM正确时, 期望添加校验信息。如果校验信息存在于比特流中(401为"是"), 则可保留比特流不变。如果校验信息不存在(401的输出为"否"), 则步骤404、 405和406确定现有DIALNORM正确(406的输出为 "是")还是不正确(406的输出为"否")。如果现有DIALNORM正 确,则可将校验信息添加到比特流。如果现有DIALNORM不正确, 则可将DIALNORM i殳置为默i人值。图4处理或装置的另一有用但花费较多的子集为采用步骤401 到406。当存在校验信息时(401的输出为"是,,)仅描述操作,但是 当校验信息不存在时(401的输出为"否"),步骤404、 405和406确 定现有DIALNORM正确(406的输出为"是")还是不正确(406的 输出为"否")。如果现有DIALNORM正确,则可保留比特流不变。
如果现有DIALNORM不正确,则可将DIALNORM设置为默认值。 知道校验数据的(Verification-Data-Aware)解码
本发明的另一方面在于适当地对AC-3比特流进行解码,不考虑 其是否具有正确的DIALNORM和匹配校验数据,但是当存在校验数 据时,所述解码处理使用所述校验数据。这可被称为"知道校验数据 的"解码。在图8的示例性流程图中阐述本发明的该方面。如以下所 解释的,可采用所有图8处理或图8处理的子集。例如,采用所述处 理的步骤的这种处理或装置可用于对比特流进行解码。与图4中的步 骤大致相应的图8中的步骤采用相应的标号(例如,"801"和"401")。 应理解图8的步骤或其子集可代表一个或多个处理的各部分,或者 可以是在一个或多个装置中执行的功能。
测试DIALNORM校验数据的存在(801)
如图8所示,执行第一步骤(步骤801 )以确定AC-3 DIALNORM 校验数据是否存在于AC-3比特流中。可按照与上述图4的步骤401 相同的方式执行这一步骤(包括图3所示的步骤401的细节)。
测试DIALNORM校验数据是否匹配AC-3 DIALNORM数据 (802 )
如图8的步骤801所示,当DIALNORM校验数据存在时(步骤 801的输出为"是"),进行下一步骤(步骤802 )以确定所述校验数 据是否匹配AC-3 DIALNORM值。可按照与上述图4的步骤402相 同的方式来执行这一步骤。如果所述值匹配,则普通DIALNORM值 是正确的,并且如步骤814所示,可使用AC-3比特流的现有 DIALNORM以及有关的动态范围元数据对应用于所述处理的AC-3 比特流(步骤801的输入)进行解码,从而提供解码的AC-3音频比 特流。如以上结合步骤402的描述所解释的,可通过所述值是否位于 阈值之内来确定所述值是否"匹配"。
利用DIALNORM校验数据纠正普通AC-3 DIALNORM数据 (步骤803 )
当DIALNORM校验数据被从AC-3比特流提取并且与普通AC-3 DIALNORM元数据不匹配时(步骤802的输出为"否"),随后, 利用校验DIALNORM值来更新DIALNORM元数据(803 )。因为 普通DIALNORM值已经被确定为不正确并且应该被更新,所以有关 的AC-3动态范围压缩元数据可能也不正确。因此,应该分析动态范 围压缩信息,如果它正确,则仅更新DIALNORM元数据参数。如果 动态范围压缩信息不正确,则也应该将其更新。以下结合图4的步骤 409到413以及图6b在此解释所述分析和更新的细节。没有在AC-3比特流中的校验数据DIALNORM元数据正确如图8的示例所示,如果DIALNORM校验数据没有包含在AC-3 比特流之内(步骤801的输出为"否,,),则可在不应用DIALNORM 参数以及有关的动态范围控制参数的情况下(因为这些元数据参数可 能不正确)将AC-3比特流解码为音频(例如,PCM编码的音频)(步 骤804),从而解码的音频内容与用于创建比特流的编码器的输入位 于相同声级。接着,测量解码的音频的DIALNORM声级(步骤805)。 所述DIALNORM的测量可以与上述测量对话的声级104所执行的测 量相同。在步骤805测量对话的声级之后,在步骤806将测量的值与 输入AC-3比特流的AC-3 DIALNORM元数据值进行比较。如步骤 806的"是"输出之后所示,如果所述DIALNORM值正确(步骤806 的输出为"是"),则将输入AC-3比特流的原始DIALNORM值和有 关的原始动态范围压缩信息应用于步骤804中由AC-3解码产生的解 码的音频,以便提供已经应用正确的DIALNORM和动态范围压缩参 数值的解码的AC-3音频比特流。没有在AC-3比特流中的校验数据DIALNORM元数据不正确当现有DIALNORM元数据不正确时(步骤806的输出为"否,,), 有必要将DIALNORM值设置为步骤805测量的DIALNORM值,并 从所述测量的DIALNORM参数值来确定新的动态范围压缩信息。这 可在步骤815中实现,步骤815可以与步骤412相同。随后,可在步
骤816将测量的DIALNORM值以及通过步骤815确定的动态范围压 缩信息应用于通过步骤804产生的解码的数字或模拟音频。 图8的子集如上所述,可采用所有图8的处理或图8处理的子集,或者采用 所述处理的步骤的装置。图8处理的一种有用且花费不多的子集为采用步骤801到803 以及步骤814。如果校验信息存在于比特流中(801为"是,,),则步 骤802、803以及814如上所述进行操作,以对AC-3比特流进行解码。 如果比特流中不存在校验信息(801的输出为"否"),则可使用比特 流的现有DIALNORM值和有关的动态范围压缩参数值或者通过使用图8处理的另一有用但花费较多的子集为釆用除步骤815以外的 所有步骤。该子集避免了确定与测量的DIALNORM有关的动态范围 压缩信息所需的计算。所进行的操作正如结合图8所描述的,只是当 步骤806确定现有DIALNORM不正确时,可通过将DIALNORM和 有关的动态范围参数值设置为默认值对输入AC-3比特流进行解码。附加背景技术AC-3比特分配以及未使用数据比特图9e示出简化的AC-3编码器框图。PCM音频采样被输入频域 变换功能902。使用具有50%重叠的512点改进离散余弦变换 (MDCT)来对输入数据加窗以避免块处理和边缘伪像。在瞬态信号 的情况下,通过使用块切换技术来实现改进的时间性能(减少瞬态预 噪声),在所述块切换技术中,计算两个265点的变换来代替512点 的变换。将来自功能902的变换系数应用于块浮点处理904,所述卯4 将每个变换系数分为指数和尾数对。利用由比特分配功能908分配的 可变数量的比特在尾数量化功能906中量化变换系数尾数,所述比特 分配功能908相应于块浮点指数对参数比特分配模型进行操作。AC-3比特分配模型使用心理声学掩蔽的原理来选择分配到给定
频带中的每个尾数的比特数量。根据掩蔽的范围,某些尾数可接收非 常少的比特,或者甚至根本不接收比特。这减少了代表源音频所需的 比特数量,其代价为增加(尽管不可听)噪声。与某些其它的编码系统不同,AC-3没有已压缩的音频比特流将 比特分配结果传递到解码器。相反,所采用的是参数逼近(parametric approach),其中,音频编码器基于变换系数指数以及较少的根据键 信号的参数来构建它的掩蔽模型。将这些参数从比特分配功能908传 递到比特流打包功能910,已经由比特流传递到解码器,所需要的比 特要比发送未处理的比特分配值所需的比特少很多。产生编码的音频 比特流的比特流打包功能910还接收指数和量化的尾数以将其包括在 比特流中。在解码器,基于接收的指数以及比特分配参数来重新构建 比特分配。所述配置构建混合式向后/向前自适应比特分配。由于以下两个主要特点,AC-3的编码效率随着源声道数量的增 加而提高全局比特池和高效联结。全局比特池技术允许比特分配器 基于随需模式在音频声道之间分发可用比特。如果一个或多个声道在 特定蚀刻处于非活动状态,则剩余声道接收比其它情况下接收的比特 更多的比特。在AC-3音频压缩系统中,比特分配处理采用有限搜索。在搜索 的每次反复中,变化信噪比(SNR)参数以控制比特的分配。这还影 响其它参数的值。在搜索的末尾,如果使用的比特数量超过分配的比 特数量,则使用最后的合法分配。通常,该分配不能使用所有可用比 特,从而留下未使用比特或无用比特。如先前所讨论的,AC-3串行编码的音频比特流由通常如图9a 所示被构建的帧序列构成。每个AC-3帧代表所有编码的声道中1536 个PCM采样的恒定时间间隔,并且包含6个编码的音频块(ABO到 AB5),所述音频块均代表256个新的音频采样。每个AC-3帧具有 固定的大小(范围从64比特到1920比特的比特数量中的几种大小中 的一个),所述固定的大小取决于PCM采样率(32kHz、 44.1kHz 或48kHz)和编码的音频比特率(范围从32kbps到640kbps的离散值)。位于每一帧的开端的同步信息(SI)头部包含捕获和保持同步 所需的信息。比特流信息(BSI)头部跟在SI字段之后,并包含描述 编码的音频服务的参数。SI和BSI字段描述比特流配置,包括采样 率、数据率、编码的音频声道数量以及若干其它系统级的元素。在编 码的音频块(AB0到AB5)之后的是辅助数据(AUX)字段。在每一 帧的末尾是检错字段,其包括用于检错的CRC字(循环冗余纠错码 字)。此外,另一CRC字位于SI头部中。尽管图9a中的比特流元素的宽度大致给出每个元素中的典型比 特数量,但是该附图不是按照比例显示的。块ABO显示为比其它块宽, 这是因为每一帧必须独立于其它帧,块AB1到AB5可共享块ABO携 带的信息而不必重复所述信息,从而允许块AB1到AB5携带比块ABO 少的比特。除了可进行共享之外,音频块还具有可变长度,这是因为 在每个块中可分配给量化尾数的比特数量可变。如以上引用的第6,807,528号美国专利中所解释的,每当编码器中的比特分配功能没有采用所有可用比特来对音频信号进行编码时, 帧中存在未使用比特。如果最终比特分配不足以使用所有可用比特或 者输入音频不需要所有可用比特,则出现上述情况。因为应该将这些 未^f吏用比特置于帧中的某些位置,以便所述帧具有强制的固定大小, 所以编码器将伪比特或空比特出入比特流,以便填满比特的长度。所 述空比特被插入一个或多个音频块中的"跳过字段"(如图9d所示) 以及AUX字段。每个跳过字段按照8比特的字节来接受空比特,而 aux字段最多接收7个空比特以便提供对帧长度的"精细调整"并确保 最终CRC字出现在帧的最后16比特中。实际上,空比特是随机的比 特。所述空比特是不携带有用信息的无用比特。本发明的一方面在于 使用某些或所有所述空比特的值以携带与某些包含在比特流之内的 AC-3参数有关的负载信息的比特(特别是图9c所示的DIALNORM 参数)。解码器跳过或忽略掉过字段和AUX字段中的空比特。尽管AC-3 解码器能够识别空比特并忽略它们,但是空比特的数量以及它们在比
特流中的位置不是事先已知的(它们的数量和位置在帧之间变化,即,跳过字段具有可变大小,它们在块AB1到AB5的开始位置有所变化, 类似地,AUX字段具有可变大小,它的开始位置也变化),也不能够 仅仅通过对AC-3比特流的检测就分辨出它们的数量和位置(空比特 是随机的,并且在比特流中无法与其它数据相区分)。每个音频块(AB0到AB5)开始于"固定数据",所述固定数据 由事先已知其字大小(比特长度)的比特流元素构成(即,这些固定 数据元素具有预先分配的比特数量,并且比特分配处理不向其分配比 特)。固定数据是参数和标记的集合,包括块切换标记、联结信息、 指数和比特分配参数。在固定数据之后是"跳过字段,,数据,其在跳过 字段不包括空比特的情况下具有1比特的最小大小,在跳过字段包含 空比特的情况下具有522比特的最大大小。作为跳过字段的最少内容 的1比特字指示跳过字段是否包括空比特。如果包括空比特,则接着 由9比特字指示空比特字节的数量。其后跟随有空字节。在跳过字段 子后为尾数数据。尾数数据的大小可变并由比特分配来确定。通过以下规则来确定特定音频块是否包含具有空比特的跳过字 段1) SYCINFO字段(即,SYNCWORD、第一 CRC字段、采样 频率码字和帧大小码字)、BSI字段、音频块0 (AB0)和音频块1(AB1)的组合大小从不超过帧的5/8; 2)音频块5 ( AB5 )尾数数 据、AUX数据字段和检错字段的组合大小从不超过帧的最后3/8。 5/8 和3/8的配置用于减少等待时间(第一CRC字应用于帧的开始5/8, 允许更快的解码)。原则上,如果不是5/8和3/8配置,则可将所有 空比特插入AUX字段,不需要一个或多个跳过字段。AUX数据字段具有两个功能。以上所述的AUX数据字段的一种 功能在于提供对于帧长度的精细调整,并确保帧的最后16比特用于 第二CRC字。最多将7个空比特插入AUX数据。AUX字段的第二 功能是可选的并且独立于第一功能,所述第二功能为携带附加信息("auxdata"),其代价为使用本可分配给音频块中的尾数的比特。 AUX数据字段的最后比特指示是否存在任何可选auxdata。如果该比 特指示存在auxdata,则之前的14比特字指示auxdata的长度,接下 来的先前比特为auxdata。如果存在空比特,则其位于AUX字段中的 auxdata数据之前。如果aux字段不具有auxdata,则存在空比特的 话,空比特位于AUX数据字段末尾的单个比特之前,该单个比特指 示是否存在auxdata。因此,无论是否存在auxdata,在AUX字段中 可以存在或不存在空比特。如果不存在未使用比特(在给定帧中不存 在未使用比特,而在许多连续的帧中出现这种情况的可能性极低)或 者空比特的数量不能被8整除,则AUX字段中不存在空比特,因此, 所有的空比特在一个或多个跳过字段中携带。在标准AC-3编码配置中,在AUX字段和/或AUX字段和一个 或多个跳过字段中的空比特是未使用比特或无用比特(即,它们不携 带有用信息)。根据本发明的各方面,如以上所讨论的,用携带信息 的元数据校验比特来替换某些或所有所述未使用比特,同时保留与现 有AC-3编码器和解码器的完全兼容并避免任何编码的音频信号的降 级。新的携带信息的比特优选地符合已知或预定的格式或语法,从而 可通过元数据参数(例如DIALNORM)校验解码器处理来恢复所述 携带信息的比特。可在任何有效AC-3编码器创建AC-3比特流之后 实现元数据(DIALNORM)校验比特对无用比特的替换。例如,可 采用传统的非改进型AC-3编码器来产生标准AC-3比特流。分析所 产生的比特流,以识别每一帧中某些或所有未使用比特的位置。随后, 用携带信息的比特(DIALNORM校验数据比特)来替换某些或所有 识别的未使用比特,所述携带信息的比特被嵌入由未使用比特先前占 据的位置。因为某些数据被改变(某些或所有空比特被改变),所以 重新计算用于整个帧的校验和,并用新的CRC字来替换应用于整个 帧的第二 CRC字,如果所述帧的开始3/8中的数据被改变,则重新 计算用于该帧的所述部分的校验和,也用新的CRC字来替换应用于 帧的开始3/8的第一 CRC字。或者,不用遵循标准编码的携带信息的比特来替换某些后所有
AC-3比特流中的未使用比特,包括附加分析和元数据校验能力的改 进型AC-3编码器可在编码处理期间将携带信息的比特插入帧的某些 或所有未使用比特位置而不是随机的空比特。不管在编码处理之前还是之后对AC-3比特流进行改进,所产生 的改进比特流对于传统AC-3解码器而言是相同的。接收改进比特流 的非改进型AC-3解码器按照其在相同的比特位置忽略或跳过空比特 的相同方式来忽略携带信息的比特。可在改进型AC-3解码器或专用 AC-3元数据分析处理中恢复替换未使用比特的携带信息的比特,所 述改进型AC-3解码器或专用AC-3元数据分析处理识别帧中未使用 比特的位置,检测未使用比特位置中的数据,并报告对AC-3比特流 执行的元数据校验分析的结果。在任何情况下,对替换AC-3比特流此,本发明的各方面可通过以下两种方式来保持音频质量不使用其 它情况下会被用于音频的比特,并且可避免对比特流进行解码和重新 编码的需要(尽管如上所述,这种处理可能是必要和有用的)。 AC-3对话声级以及压缩元数据参数如上所述,包括在AC-3帧元数据中的是指示包含在压缩音频中 的讲话或对话的响度声级的参数。该参数被称为DIALNORM,并且 该参数的目的在于在音频项被编码或进行数据压缩之前,测量所述项 中的对话或讲话的主要声级。该测量随后用于在包含压缩音频项的比 特流的每一帧中设置DIALNORM参数。在重放所述比特流期间, AC-3解码器使用DIALNORM参数来修改所述项的重放声级或响度, 从而对话的感知响度处于一致的声级上。图10a示出包含三种不同的音频项的示例。数字声级是数据压缩 的音频内容相对于数字实比正弦波形的声级(0dBFS)。示出用于每 一项的最大和最小声级,连同对话的预定声级。用于每一项的 DIALNORM参数是对话的声级,其按照ldB为单位进行取整、图10b 示出在重放期间,解码器如何对每一项的声级进行缩放,使得每一项 的对话的声级或响度相同或非常近似。对于AC-3系统,每一项的对
话被缩放的参考声级为-31dBFS。随后,可在重放系统中将所述参考 数字声级校准到期望的声压级别。在AC-3中对DIALNORM参数的使用通过减少存在于不同音频 项之间的剧烈响度差来向收听者提供更加一致和可预见的收听体验, 其中,所述不同音频项由不同的人在不同收听环境中为了不同的目的 而创建。然而,由于以上讨论的原因,DIALNORM参数可能不正确。动态范围压缩在AC-3帧元数据中还包括参数,所述参数如果在重放期间应用 于音频,则用于减少音频内容的动态范围。也就是说,使得音频的较 响部分变得较安静,并使得音频的较安静部分变得较响。这些动态范 围压缩参数被称为COMPR和DYNRNG,并且在对AC-3比特流进 行编码期间被自动计算。参见图9。减少音频的动态范围的能力可用于多种情况。例如,当在深夜观 看电影时,通常有必要在降低的重放音量下来收听,从而不会打扰睡 着的家庭成员或邻居。因为电影易于具有非常大的动态范围,所以降 低的重放音量导致电影的大部分过于安静以致收听不到。动态范围压 缩的使用有助于增加安静的部分,使得它们能够被听到,并减少最响 的部分,使得它们对人的打扰较轻。参照由DIALNORM参数指示的对话的声级来计算动态范围压 缩参数。这保证对话的平均声级不变而只有音频的较响或较轻柔部分 被改变。图12示出包含三种不同的音频项的示例。图12a示出未处理音 频项的平均对话声级和动态范围。图12b示出在重放期间,动态范围 压缩以及DIALNORM参数的应用如何在所有三种项之间导致一致的 平均对话声级以及减少的动态范围输出信号。因为动态范围压缩参数的计算与对话声级相关,所以它们的使用 依赖于内容创建者正确地测量并设置DIALNORM参数。如果在由 DIALNORM指示的对话的声级与音频内容中对话的实际声级之间存 在差错,则由于压缩,对话很可能表现出不希望得到的可听动态增益改变。DIALNORM2、 COMPR2和DINRNG2在多数情况下,AC-3系统对于所有的声道使用单个对话声级以 及单组动态范围信息参数。然而,AC-3包括允许两个声道独立操作 的操作模式;也就是说,每个声道具有独立的对话声级和动态范围信 息。在该模式下,所述两个声道中的第二声道使用DIALNORM2、 COMPR2和DYNRNG2参数(见图9 )。因为按照与DIALNORM、 COMPR和DYNRNG完全相同的方式来解释和使用DIALNORM2、 COMPR2和DYNRNG2,所以在该文档中仅描述前者的操作。实现可利用硬件或软件、或者两者的组合(例如,可编程逻辑阵列) 来实现本发明。除非另外说明,否则作为本发明的一部分所包括的算 法或处理并非必然涉及任何特定的计算机或其它设备。具体说来,各 种通用机器可通过根据这里的教导写入的程序来使用,或者可更加方 便地构建更加专用的设备(例如,集成电路)来执行需要的方法步骤。 因此,可通过在一个或多个可编程计算机系统上运行的一个或多个计 算机程序来实现本发明,所述一个或多个可编程计算机系统均包括 至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存 储器和/或存储元件)、至少一个输入装置或端口和至少一个输出装置 或端口 。将程序代码应用于输入数据以执行这里所述的功能并产生输 出信息。按照已知的方式将输出信息应用于一个或多个输出装置。可按照任何期望的计算机语言(包括机器语言、汇编语言或高级 程序语言、逻辑语言或面向对象的编程语言)来实现每个所述的程序 以与计算机系统通信。在任何情况下,所述语言可以是编译或解释的语言。应认识到在示例性附图中示出的某些步骤或功能执行多个子步 骤,并且还可显示为多个步骤或功能,而不是一个步骤或功能。还应 认识到在这里的各个示例中示出和描述的各个装置、功能、步骤和
或分离。例如,当通过计算机软件指令序列来实现示例性附图中的各 个功能和步骤时,可通过在适合的数字信号处理硬件上运行的多线程 软件指令序列来实现所述各个功能和步骤,在这种情况下,附图中所 示的示例中的各个装置和功能可相应于软件指令部分。每个所述计算机程序被优选地存储或下载到通用或专用可编程 计算机可读取的存储介质或装置(例如,固态存储器或介质、或者磁 介质或光介质),以便当计算机系统读取存储介质或装置时,配置并 操作计算机来执行这里所述的过程。还可考虑将本发明的系统实现为 配置有计算机程序的计算机可读存储介质,其中,将存储介质配置为 促使系统按照特定的预先定义的方式来执行这里所述的功能。已经描述了本发明的若干实施例。然而,将理解到在不脱离本发明的精神和范围的情况下,可进行各种改进。例如,这里描述的某 些步骤可以不按顺序发生,因此可按照不同于所描述的顺序来执行这 些步骤。
权利要求
1、一种数字比特流,包括代表音频的数据比特、预期对于音频而言正确的元数据以及元数据校验信息,其中,全部或部分元数据对于音频而言可能不正确,所述元数据校验信息能够用于检测元数据对于音频而言是否正确,并且如果不正确,则对其进行改变以使其正确。
2、 如权利要求1所述的数字比特流,其中,能够用于检测和改 变元数据的元数据校验信息包括所述元数据的正确版本的副本或数 据压缩的副本。
3、 一种数字比特流,包括代表音频的数据比特、用于音频的 元数据以及元数据校验信息,所述元数据校验信息包括所述元数据的 副本或数据压缩的副本,所述校验信息能够用于检测元数据及其副本 是否位于彼此的阈值差之内,如果它们没有位于彼此的阈值差之内, 则用副本来替换元数据。
4、 如权利要求1-3中的任何一个所述的数字比特流,其中,元 数据校验信息被加密。
5、 如权利要求1-4中的任何一个所述的数字比特流,其中,代 表元数据校验信息的比特替换比特流中通常不携带任何信息的多个 比特中的全部比特或一些比特。
6、 如权利要求1-4中的任何一个所述的数字比特流,其中,元 数据校验信息在比特流中被隐秘编码。
7、 如权利要求1-6中的任何一个所述的数字比特流,其中,音 频是数据压缩的音频。
8、 一种编码器,其产生如权利要求1-7中的任何一个所述的数 字比特流。
9、 一种解码器,用于接收如权利要求1-7中的任何一个所述的 数字比特流,其中,解码器使用所述元数据以及所述元数据校验信息 对代表音频的数据比特进行解码。
10、 如权利要求9所述的解码器,其中,解码器在对代表音频的 数据比特进行解码时使用所述元数据校验信息改变元数据,并在对音 频进行解码时使用所述改变的元数据。
11、 一种响应于音频而产生数字比特流的处理方法,所述处理方 法包括产生对于音频而言正确的元数据,产生元数据校验信息,元数据校验信息能够用于检测元数据对于 音频而言是否正确,并且如果不正确,则对其进行改变以使其正确, 以及组装数字比特流,所述数字比特流包括代表音频的数据比特、 元数据以及元数据校验信息。
12、 一种响应于音频而产生数字比特流的处理方法,所述处理方 法包括产生用于音频的元数据,产生元数据校验信息,所述元数据校验信息包括所述元数据的副 本或数据压缩的副本,所述元数据校验信息能够用于检测元数据及其 副本是否位于彼此的阈值差之内,如果它们没有位于彼此的阈值差之 内,则用副本来替换元数据,以及组装数字比特流,所述数字比特流包括代表音频的数据比特、 元数据以及元数据校验信息。
13、 如权利要求11或12所述的处理方法,其中,所述产生元数 据的步骤基于音频的测量来产生元数据。
14、 如权利要求13所述的处理方法,其中,所述音频的测量是 音频的响度的测量。
15、 如权利要求11-14中的任何一个所述的处理方法,其中,能版本的副本或数据压缩的副本。
16、如权利要求11-15中的任何一个所述的处理方法,其中,校 验信息被加密。
17、 如权利要求11-16中的任何一个所述的处理方法,其中,代 表元数据校验信息的比特替换比特流中通常不携带任何信息的多个 比特中的全部比特或一些比特。
18、 如权利要求11-16中的任何一个所述的处理方法,其中,元 数据校验信息在比特流中被隐秘编码。
19、 一种用于处置数字音频比特流的处理方法,所述数字音频比 特流包括代表音频的数据比特、预期对于音频而言正确的元数据, 其中,全部或部分元数据对于音频而言可能不正确,并且所述数字音 频比特流可包括代表元数据校验信息的数据比特,所述元数据校验信 息能够用于检测元数据对于音频而言是否正确,并且如果不正确,则 对其进行改变以使其正确,所述处理方法包括确定元数据校验信息是否存在于比特流中,以及 如果存在元数据校验信息,则确定其是否证实至少一部分元数据 的正确性,如果元数据校验信息证实所述至少一部分元数据的正确性,则保 留比特流不变,以及如果元数据校验信息没有证实所述至少一部分元数据的正确性, 则使用它来纠正元数据。
20、 一种用于处置数字音频比特流的处理方法,所述数字音频比 特流包括代表音频的数据比特、预期对于音频而言正确的元数据, 其中,全部或部分元数据对于音频而言可能不正确,并且所述数字音 频比特流可包括代表元数据校验信息的数据比特,所述元数据校验信 息能够用于检测对于音频而言不正确的元数据,所述处理方法包括确定元数据校验信息是否存在于比特流中, 如果不存在元数据校验信息,则确定至少一部分元数据是否正确,如果所述至少一部分元数据正确,则将用于所述至少一部分元数 据的元数据校验信息插入到比特流中,以及如果所述至少一部分元数据不正确,则将所述至少一部分元数据 设置为等于默认值。
21、 一种用于处置数字音频比特流的处理方法,所述数字音频比 特流包括代表音频的数据比特、预期对于音频而言正确的元数据, 其中,全部或部分元数据对于音频而言可能不正确,并且所述数字音 频比特流可包括代表元数据校验信息的数据比特,所述元数据校验信 息能够用于检测对于音频而言不正确的元数据,并且如果不正确,则 对其进行改变以使其正确,所述处理方法包括确定元数据校验信息是否存在于比特流中,以及 如果存在元数据校验信息,则确定其是否证实至少 一部分元数据 的正确性,如果元数据校验信息证实所述正确性,则保留比特流不变, 如果元数据校验信息没有证实所述正确性,则纠正所述至少 一部 分元数据,如果不存在元数据校验信息,则确定至少一部分元数据是否正确,如果所述至少一部分元数据正确,则保留比特流不变,以及 如果所述至少一部分元数据不正确,则将所述至少一部分元数据 设置为等于默认值。
22、 一种用于处置数字音频比特流的处理方法,所述数字音频比 特流包括代表音频的数据比特、预期对于音频而言正确的 DIALNORM元数据和有关的动态范围压缩元数据,其中,全部或部 分元数据对于音频而言可能不正确,并且所述数字音频比特流可包括 代表元数据校验信息的数据比特,所迷元数据校验信息能够用于检测 DIALNORM元数据值对于音频而言是否正确,并且如果不正确,则 对其进行改变以使其正确,所述处理方法包括确定元数据校验信息是否存在于比特流中,如果存在元数据校验信息,则确定其是否证实DIALNORM元数 据值的正确性,如果元数据校验信息证实所述正确性,则保留比特流不变, 如果元数据校验信息没有证实所述正确性,则改变DIALNORM 元数据值,以使其对于音频而言正确,如果不存在元数据校验消息,则通过以下处理来确定 DIALNORM元数据值对于音频而言是否正确在不使用 DIALNORM元数据值和有关的动态范围压缩元数据的情况下对比特 流进行解码,测量解码的音频的响度以确定测量的DIALNORM值, 并将比特流的DIALNORM元数据值与测量的DIALNORM值进行比 较,如果比特流中的DIALNORM元数据值位于测量的DIALNORM 元数据值的阈值差之内,则保留比特流不变,如果DIALNORM元数据没有位于所述阈值之内,则确定测量的 DIALNORM元数据值是否位于有效DIALNORM值的范围之内,如果测量的响度位于有效DIALNORM元数据值的范围之内,则 确定新的动态范围压缩元数据,并利用测量的DIALNORM元数据值 和有关的动态范围压缩元数据以及利用对于测量的DIALNORM值而 言正确的元数据校验信息对比特流重新打包,以及如果测量的响度没有位于有效DIALNORM值的范围之内,则改 变解码的音频的增益以将所述响度带入有效DIALNORM值的范围之 内,确定新的动态范围压缩元数据,并使用经增益调整的音频、测量 的DIALNORM元数据值以及新确定的动态范围压缩元数据对比特流 重新编码。
23、 一种用于处置数字音频比特流的处理方法,所述数字音频比 特流包括代表音频的数据比特、音频元数据和音频元数据校验信息, 所述音频元数据校验信息包括所述音频元数据的副本或数据压缩的 副本,所述校验信息能够用于检测元数据及其所述副本是否位于彼此 的阈值差之内,并且如果它们没有位于彼此的阈值差之内,则用副本 替换元数据,所述处理方法包括改变元数据,以及改变校验信息,从而元数据以及元数据的副本或数据压缩的副本位于所述彼此的阈值差之内。
24、 一种用于对数字音频比特流进行解码的处理方法,所述数字 音频比特流包括代表音频的数据比特、预期对于音频而言正确的元 数据,其中,全部或部分元数据对于音频而言可能不正确,并且所述 数字音频比特流可包括代表元数据校验信息的数据比特,所述元数据 校验信息能够用于检测元数据对于音频而言是否正确,并且如果不正 确,则对其进行改变以使其正确,所述处理方法包括确定元数据校验信息是否存在于比特流中, 如果存在元数据校验信息,则确定其是否证实至少一部分元数据 的正确性,如果所述信息证实所述正确性,则使用所述元数据对比特流进行解码,如果元数据校验信息没有证实所述至少 一部分元数据的正确性, 则使用它来纠正元数据并使用纠正的元数据对比特流进行解码,以及如果元数据校验信息没有存在于比特流中,则使用比特流中的元 数据对比特流进行解码,或者使用默认元数据对比特流进行解码。
25、 一种用于对数字音频比特流进行解码的处理方法,所述数字 音频比特流包括代表音频的数据比特、预期对于音频而言正确的元 数据,其中,全部或部分元数据对于音频而言可能不正确,并且所述 数字音频比特流可包括代表元数据校验信息的数据比特,所述元数据 校验信息能够用于检测元数据对于音频而言是否正确,并且如果不正 确,则对其进行改变以使其正确,所述处理方法包括确定元数据校验信息是否存在于比特流中, 如果存在元数据校验信息,则确定其是否证实至少 一部分元数据 的正确性,如果所述信息证实所述正确性,则使用所述元数据对比特流进行解码,如果元数据校验信息没有证实所述至少 一部分元数据的正确性, 则使用它来纠正元数据并使用纠正的元数据对比特流进行解码, 如果元数据校验信息没有存在于比特流中,则确定所述至少一部 分元数据是否正确,如果所述至少一部分元数据正确,则使用所述元数据对比特流进 行解码,以及如果所述至少 一部分元数据不正确,则利用被设置为等于默认值 的所述至少 一部分元数据对比特流进行解码。
26、 一种用于对数字音频比特流进行解码的处理方法,所述数字 音频比特流包括代表音频的数据比特、预期对于音频而言正确的 DIALNORM元数据和有关的动态范围元数据,其中,全部或部分元 数据对于音频而言可能不正确,并且所述数字音频比特流可包括代表 元数据校验信息的数据比特,所述元数据校验信息能够用于检测 DIALNORM元数据对于音频而言是否正确,并且如果不正确,则对 其进行改变以使其正确,所述处理方法包括确定元数据校验信息是否存在于比特流中,如果存在元数据校验信息,则确定其是否证实DIALNORM元数 据的正确性,如果所述信息证实所述正确性,则使用所述DIALNORM元数据 对比特流进行解码,如果元数据校验信息没有证实所述DIALNORM元数据的正确 性,则使用元数据校验信息来纠正DIALNORM元数据,并使用纠正 的DIALNORM元数据对比特流进行解码,如果不存在元数据校验信息,则通过以下处理来确定 DIALNORM元数据值对于音频而言是否正确在不使用 DIALNORM元数据值和有关的动态范围压缩元数据的情况下对比特 流进行解码,测量解码的音频的响度以确定测量的DIALNORM值, 并将比特流的DIALNORM元数据值与测量的DIALNORM值进行比 较,如果比特流中的DIALNORM值位于测量的DIALNORM值的 阈值差之内,则使用比特流中的DIALNORM元数据和有关的动态范 围压缩元数据对比特流进行解码,以及如果比特流中的DIALNORM值没有位于测量的DIALNORM 值的阈值差之内,则利用测量的DIALNORM元数据值来纠正 DIALNORM元数据值,确定新的动态范围压缩元数据,并使用纠正 的DIALNORM元数据和新的动态范围压缩元数据对比特流进行解 码。
27、 一种适合执行如权利要求12到26中的任何一个所述的方法 的设备。
28、 一种存储在计算机可读介质上的计算机程序,用于使计算机 执行如权利要求11到26中的任何一个所述的方法。
全文摘要
一种数字比特流,包括代表音频的数据比特、预期对于音频而言正确的元数据以及元数据校验信息,其中,全部或部分元数据对于音频而言可能不正确。所述元数据校验信息可用于检测元数据对于音频而言是否正确,以及如果不正确,则对其进行改变以使其正确。可用于检测并改变元数据的元数据校验信息可包括元数据正确版本的副本或数据压缩的副本。
文档编号G10L11/00GK101160616SQ200680012133
公开日2008年4月9日 申请日期2006年3月23日 优先权日2005年4月13日
发明者布莱特·G·克罗克特 申请人:杜比实验室特许公司