即时播放帧(IPF)的生成、传输及处理的方法、设备及系统与流程

文档序号:24892851发布日期:2021-04-30 13:20阅读:301来源:国知局
即时播放帧(IPF)的生成、传输及处理的方法、设备及系统与流程

相关申请案的交叉引用

本申请案要求以下优先权申请案的优先权:2018年8月21日申请的第62/720,680号美国临时申请案(参考文献:d18080usp1),其通过引用的方式并入本文中。

本公开大体上涉及音频编码器、编码方法、音频解码器及解码方法,包含:一种用于对编码音频数据的位流进行解码的方法,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值;及一种用于生成具有即时播放帧的编码音频数据的位流的方法。本公开进一步涉及一种用于在编码音频数据的位流中生成即时播放帧或用于从编码音频数据的位流中移除即时播放帧的设备。

虽然本文将特别参考所述公开内容来描述一些实施例,但应理解,本公开不限于此类使用领域,且适用于更广泛的上下文。



背景技术:

目前,在iso/iec14496-3《视听对象编码第3部分:用于生成、传输及处理即时播放帧(ipf)的音频(codingofaudio-visualobjects-part3:audio,forgenerating,transportingandprocessingimmediateplayoutframes(ipf))》中标准化的mpeg-4音频中还存在不足。ipf向特殊帧提供信息,所述特殊帧允许即时初始化解码器,从而在切换到包括所述特殊帧的数据流时即时播放。以另一种方式陈述,ipf是解码器在其接收时能够即时从编码到此ipf中的第一样本产生正确样本的帧,因为它含有要这样做的所有信息。因此,ipf表示只能使用来自其自身的信息来解码的独立可解码帧。

编码音频通常以数据帧或数据块的形式出现。在mpeg-4中标准化的音频上下文中,帧/块可被称为颗粒,编码块/帧被称为接入单元(au),及解码块被称为合成单元(cu)。在传输系统中,音频信号只能在这些编码块(接入单元)的粒度内进行接入及寻址。

在自适应流的上下文中,当音频切换到不同配置(例如,不同位率,例如在mpeg-dash中的自适应集内配置的位率)时,为了从一开始就准确地再现音频样本,解码器需要提供表示音频节目的对应时间段的aun,及aun先前的额外aun-1、aun-2、…aus及配置数据。否则,由于不同编码配置(例如,窗口数据、sbr相关数据、ps相关数据),不能保证解码器在仅解码aun时产生正确的输出。因此,要用新配置解码的第一aun必须携带新配置数据及用新配置初始化解码器所需的所有预滚数据(以aun-x的形式,表示aun之前的时间段)。这可通过mpeg-h3d音频标准或mpeg-dusac标准中界定的即时播放帧(ipf)来实现。

鉴于上文,因此本发明的目的是提供能够处理mpeg-4音频中的ipf的音频解码器与解码方法以及音频编码器、音频编码器的系统、设备及编码方法。



技术实现要素:

根据本公开的第一方面,提供一种用于对编码音频数据的位流进行解码的音频解码器,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

解码器可包括确定器,所述确定器经配置以确定所述编码音频数据的位流的帧是否是包括与当前帧相关联的编码音频样本值及额外信息的即时播放帧,其中所述额外信息可包括在所述即时播放帧先前的数个帧的编码音频样本值,其中所述先前帧的所述编码音频样本值可使用与所述当前帧相同的编解码器配置进行编码,其中对应于预滚帧的先前帧的数量可对应于所述解码器建立完整信号以便每当即时播放帧被解码时就处于输出与所述当前帧相关联的有效音频样本值的位置所需的帧的数量。

且解码器可包括初始化器,所述初始化器经配置以在所述确定器确定所述帧是即时播放帧时初始化所述解码器,其中初始化所述解码器可包括在对与所述当前帧相关联的所述编码音频样本值进行解码之前对由所述额外信息包括的所述编码音频样本值进行解码,其中如果所述确定器确定所述帧是即时播放帧,且如果所述当前帧的所述音频样本值已使用不同编解码器配置进行编码,那么所述初始化器可经配置以将所述音频解码器从当前编解码器配置切换到所述不同编解码器配置,且其中如果所述确定器确定所述帧是即时播放帧,且如果所述当前帧的所述音频样本值已使用所述当前编解码器配置进行编码,那么所述解码器可经配置以使用所述当前编解码器配置对所述当前帧进行解码并丢弃所述额外信息。

在一些实施例中,所述额外信息可进一步包括关于用于对与所述当前帧相关联的所述音频样本值进行编码的所述编解码器配置的信息,且所述确定器可经进一步配置以确定所述额外信息的所述编解码器配置是否与所述当前编解码器配置不同。

在一些实施例中,所述即时播放帧可包括作为扩展有效负载的所述额外信息,且所述确定器可经配置以评估所述即时播放帧的所述扩展有效负载。

在一些实施例中,所述编码音频数据的位流可为mpeg-4音频位流。

在一些实施例中,所述额外信息可经由mpeg-4音频位流扩展机制来传输,所述mpeg-4音频位流扩展机制是数据流元素(dse)或extension_payload元素。

在一些实施例中,所述数据流元素(dse)或所述extension_payload元素可位于所述mpeg-4音频位流中的预定义位置及/或可具有特定实例标签,所述特定实例标签发信号通知所述数据流元素(dse)或所述extension_payload元素的有效负载是所述额外信息。

所述extension_payload元素可例如含在所述mpeg-4音频位流语法的不同位置。因此,这允许也在mpeg-4音频中使用即时播放帧功能。

在一些实施例中,所述extension_payload元素可含在填充元素(id_fil)内。

在一些实施例中,所述额外信息可进一步包括唯一标识符,且任选地,所述唯一标识符可用于检测所述不同编解码器配置。

在一些实施例中,所述解码器可进一步包括交叉渐变器,所述交叉渐变器经配置以对通过刷新先前编解码器配置中的所述解码器而获得的输出样本值及通过对与所述当前帧相关联的所述编码音频样本值进行解码而获得的输出样本值执行交叉渐变。

在一些实施例中,包括在所述额外信息中的所述数个帧的最早帧可相对于所述最早帧先前的任何帧不进行时差编码或熵编码,且所述即时播放帧可相对于所述即时播放帧先前的所述数个帧的所述最早帧先前的任何帧或相对于所述即时播放帧先前的任何帧不进行时差编码或熵编码。

根据本公开的第二方面,提供一种用于对编码音频数据的位流进行解码的方法,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

所述方法可包括确定所述编码音频数据的位流的帧是否是包括与当前帧相关联的编码音频样本值及额外信息的即时播放帧,其中所述额外信息可包括在所述即时播放帧先前的数个帧的编码音频样本值,其中所述先前帧的所述编码音频样本值可使用与所述即时播放帧相同的编解码器配置进行编码,其中对应于预滚帧的先前帧的数量可对应于解码器建立完整信号以便每当即时播放帧被解码时就处于输出与所述当前帧相关联的有效音频样本值的位置所需的帧的数量。

所述方法可进一步包括:如果确定所述帧是即时播放帧,那么初始化所述解码器,其中所述初始化可包括在对与所述当前帧相关联的所述编码音频样本值进行解码之前对由所述额外信息包括的所述编码音频样本值进行解码。

所述方法可进一步包括:如果确定所述帧是即时播放帧,且如果所述即时播放帧的所述音频样本值已使用不同编解码器配置进行编码,那么将所述音频解码器从当前编解码器配置切换到所述不同编解码器配置。

且所述方法可包括:如果确定所述帧是即时播放帧,且如果所述即时播放帧的所述音频样本值已使用所述当前编解码器配置进行编码,那么使用所述当前编解码器配置对所述即时播放帧进行解码并丢弃所述额外信息。

如所提议的那样配置,所述方法允许例如如iso/iec14496-3中所界定的音频对象类型(aot)的切换,结合连续地产生正确的输出样本并在所述音频输出中不引入静默间隙。

在一些实施例中,所述额外信息可进一步包括关于用于对与所述当前帧相关联的所述音频样本值进行编码的所述编解码器配置的信息,其中所述方法可进一步包括确定所述额外信息的所述编解码器配置是否与用于对与所述即时播放帧先前的所述位流中的帧相关联的音频样本值进行编码的所述当前编解码器配置不同。

在一些实施例中,所述编码音频数据的位流可为mpeg-4音频位流。

在一些实施例中,所述额外信息可经由mpeg-4音频位流扩展机制来传输,所述mpeg-4音频位流扩展机制是数据流元素(id_dse)或extension_payload元素。

在一些实施例中,所述数据流元素(id_dse)或所述extension_payload元素可位于mpeg-4音频位流中的预定义位置及/或可具有特定实例标签,所述特定实例标签发信号通知所述数据流元素(id_dse)或所述extension_payload元素的有效负载是所述额外信息。

在一些实施例中,所述extension_payload元素可含在填充元素(id_fil)内。

在一些实施例中,所述额外信息可进一步包括唯一标识符,且任选地,所述唯一标识符可用于检测所述不同编解码器配置。

在一些实施例中,所述编码音频数据的位流可包括使用第一编解码器配置编码的第一数量的帧及在所述第一数量的帧之后并使用第二编解码器配置编码的第二数量的帧,其中所述第二数量的帧的第一帧可为所述即时播放帧。

根据本公开的第三方面,提供一种用于生成具有即时播放帧的编码音频数据的位流的音频编码器,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频数据音频样本值。

所述音频编码器可包括核心编码器,所述核心编码器经配置以使用预定义编解码器配置对与所述多个帧相关联的未压缩音频样本值进行编码。

所述音频编码器可进一步包括缓冲器,所述缓冲器经配置以存储使用所述预定义编解码器配置编码的所述多个帧的当前帧的数个先前帧的编码音频样本值。

且所述音频编码器可包括嵌入器,所述嵌入器经配置以在所述多个帧的所述当前帧中写入即时播放帧,其中所述即时播放帧可包括与所述当前帧相关联的编码音频样本值及与所述当前帧的所述数个先前帧的所述编码音频样本值相对应的额外信息。

在一些实施例中,所述嵌入器可经进一步配置以在所述额外信息中包含关于所述预定义编解码器配置的信息。

在一些实施例中,所述嵌入器可经进一步配置以在所述即时播放帧中包含所述额外信息。

在一些实施例中,所述所生成的编码音频数据的位流可为mpeg-4音频位流。

在一些实施例中,所述嵌入器可经进一步配置以经由mpeg-4音频位流扩展机制将所述额外信息嵌入在所述位流中,所述mpeg-4音频位流扩展机制是数据流元素(id_dse)或extension_payload元素。

在一些实施例中,所述嵌入器可经进一步配置以将所述数据流元素(id_dse)或所述extension_payload元素定位在所述mpeg-4音频位流中的预定义位置及/或分配特定实例标签,所述特定实例标签发信号通知所述数据流元素(id_dse)或所述extension_payload元素的有效负载是所述额外信息。

在一些实施例中,所述嵌入器可经进一步配置以将所述extension_payload元素嵌入在填充元素(id_fil)内。

在一些实施例中,所述嵌入器可经进一步配置以将唯一标识符包含到所述额外信息中,且任选地,所述唯一标识符可发信号通知所述预定义编解码器配置。

在一些实施例中,所述音频编码器可经进一步配置以使包括在所述额外信息中的所述数个帧的最早帧相对于所述最早帧先前的任何帧不进行时差编码或熵编码,且所述音频编码器可经进一步配置以使所述即时播放帧相对于所述即时播放帧先前的所述数个帧的所述最早帧先前的任何帧或相对于所述即时播放帧先前的任何帧不进行时差编码或熵编码。

根据本公开的第四方面,提供一种系统,所述系统包括两个或多于两个音频编码器,以用于生成编码音频数据的多个位流,每一位流具有即时播放帧,其中编码音频数据的每一位流表示音频样本值的序列并包括多个帧,且其中每一帧包括相关联的编码音频样本值。

在一些实施例中,对于所述两个或多于两个音频编码器的核心编码器中的每一者,预定取样率可相同。因此,可避免解码器处的重取样及额外延迟处理。

在一些实施例中,所述系统可进一步包括用于延迟对准所述多个位流的延迟对准单元。因此,这允许通过补偿不同编码器延迟在所述解码器处无缝切换。

根据本公开的第五方面,提供一种由音频编码器生成具有即时播放帧的编码音频数据的位流的方法,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

所述方法可包括由核心编码器使用预定义编解码器配置对与所述多个帧相关联的未压缩音频样本值进行编码的步骤。

所述方法可进一步包括由缓冲器存储使用所述预定义编解码器配置编码的所述多个帧的当前帧的数个先前帧的编码音频样本值的步骤。

且所述方法可进一步包括由嵌入器在所述多个帧的所述当前帧中写入即时播放帧的步骤,其中所述即时播放帧可包括与所述当前帧相关联的编码音频样本值及与所述当前帧的所述数个先前帧的所述编码音频样本值相对应的额外信息。

在一些实施例中,所述额外信息可进一步包括关于所述预定义编解码器配置的信息。

在一些实施例中,所述即时播放帧可进一步包括所述额外信息。

在一些实施例中,所述所生成的编码音频数据的位流可为mpeg-4音频位流。

在一些实施例中,所述额外信息可由所述嵌入器经由mpeg-4音频位流扩展机制嵌入在所述位流中,所述mpeg-4音频位流扩展机制可为数据流元素(id_dse)或extension_payload元素。

在一些实施例中,所述数据流元素(id_dse)或所述extension_payload元素可由所述嵌入器定位在所述mpeg-4音频位流中的预定义位置处及/或可被分配特定实例标签,所述特定实例标签发信号通知所述数据流元素(id_dse)或所述extension_payload元素的有效负载是所述额外信息。

在一些实施例中,所述extension_payload元素可由所述嵌入器嵌入在填充元素(id_fil)内。

在一些实施例中,所述额外信息可进一步包括唯一标识符,且任选地,所述唯一标识符可发信号通知所述预定义编解码器配置。

在一些实施例中,由所述音频编码器使包括在所述额外信息中的所述数个帧的最早帧可相对于最早帧先前的任何帧不进行时差编码或熵编码,且由所述音频编码器使所述即时播放帧可相对于所述即时播放帧先前的所述数个帧中的所述最早帧先前的任何帧或相对于所述即时播放帧先前的任何帧不进行时差编码或熵编码。

根据本公开的第六方面,提供一种用于在编码音频数据的位流中生成即时播放帧或用于从编码音频数据的位流中移除即时播放帧的设备,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

所述设备可包括接收器,所述接收器经配置以接收编码音频数据的位流,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

且所述设备可包括嵌入器,所述嵌入器经配置以在所述多个帧的当前帧中写入即时播放帧,其中所述即时播放帧可包括与所述当前帧相关联的编码音频样本值及与所述当前帧的数个先前帧的编码音频样本值相对应的额外信息。

如所提议的那样配置,所述设备允许在编码音频数据的任何已存在的位流中单独地生成即时播放帧,即在分发之前(如果需要)。

在一些实施例中,所述设备可进一步包括缓冲器,所述缓冲器经配置以存储所述多个帧的所述当前帧的所述数个先前帧的编码音频样本值。

在一些实施例中,所述嵌入器可经进一步配置以从所述即时播放帧中移除与所述当前帧的所述数个先前帧的所述编码音频样本值相对应的所述额外信息。

因此,这允许例如在音频编码器仅生成即时播放帧的情况下,从编码音频数据的位流中单独地移除即时播放帧。

根据本公开的第七方面,提供一种非暂时性数字存储媒体,其具有存储在其上的计算机程序,以在所述计算机程序由计算机或处理器运行时执行用于对编码音频数据的位流进行解码的方法,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

根据本公开的第八方面,提供一种非暂时性数字存储媒体,其具有存储在其上的计算机程序,以在所述计算机程序由计算机或处理器运行时执行由音频编码器生成具有即时播放帧的编码音频数据的位流的方法,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

附图说明

现在将仅以示例的方式,参考附图来描述本公开的示例实施例,其中:

图1说明编码音频数据的mpeg-4音频位流中的即时播放帧的示例。

图2说明用于对编码音频数据的位流进行解码的方法的示例,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

图3说明用于对编码音频数据的位流进行解码的方法的另一示例,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

图4说明用于对编码音频数据的位流进行解码的音频解码器的示例,其中所述编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

图5说明用于生成具有随机接入点(即时播放帧,ipf)的编码音频数据的位流的音频编码器的示例。

图6说明用于生成具有随机接入点(即时播放帧,ipf)的编码音频数据的位流的方法的示例。

图7说明用于生成编码音频数据的多个位流的音频编码器的系统的示例,每一位流具有时间对准的随机接入点(即时播放帧,ipf)。

图8说明用于在编码音频数据的位流中生成随机接入点(即时播放帧,ipf)或用于从编码音频数据的位流中移除随机接入点(即时播放帧,ipf)的设备的示例。

图9说明具有用于运行存储在非暂时性数字存储媒体上的计算机程序的处理器的装置的示例。

具体实施方式

本发明涉及mpeg-4音频中ipf的创建(编码)、传输(位流)及处理(解码),例如在包含根据另一标准(例如mpeg-h3d音频标准)标准化的音频的数据流的上下文中。在这里及下文中,mpeg-4音频位流可指与iso/iec14496-3《视听对象编码第3部分:音频》及其所有未来版本、修订及修正案(以下简称“mpeg-4音频”)中规定的标准兼容的位流。为了在mpeg-4音频中启用ipf功能,有几个选项用于在aun之前及时生成并传输aus及配置数据,作为用于aun的相同有效负载包的一部分。这样做是为了能够从解码aun得到的第一个样本正确输出音频样本。

编码音频数据的位流可含有音频样本值的序列,例如有效负载分组。编码音频数据的位流可进一步包括多个帧。每一帧可包括相关联的编码音频样本值。换句话说,每一有效负载分组可属于相应的帧或au。

在一个示例中,音频有效负载分组可符合如iso/iec14496-3中所界定的以下语法:

上述音频有效负载分组可与mpeg标准的当前及未来版本(例如mpeg-4音频标准)兼容。在一个实施例中,编码音频数据的位流可为mpeg-4音频位流(即mpeg-4音频标准兼容位流)。

编码音频数据的位流的帧可为即时播放帧(随机接入点、特殊帧),包括与当前帧相关联的编码音频样本值及额外信息。额外信息可包括在即时播放帧先前的数个帧的编码音频样本值,其中先前帧的编码音频样本值可使用与当前帧相同的编解码器配置进行编码。对应于预滚帧的先前帧的数量可对应于解码器建立完整信号以便每当即时播放帧被解码时就处于输出与当前帧相关联的有效音频样本值的位置所需的帧的数量。例如,可在解码器的启动或重新启动期间建立完整信号。即时播放帧可为例如解码器启动时的第一帧。

在一个实施例中,额外信息可经由mpeg-4音频位流扩展机制来传输,所述mpeg-4音频位流扩展机制可为数据流元素(id_dse)或extension_payload元素。extension_payload元素可例如含在mpeg-4音频位流语法的不同位置,例如在不同层级。在一个实施例中,extension_payload元素可含在填充元素(id_fil)内。

因此,可经由mpeg-4音频位流扩展机制来传输额外信息,例如,基于以下选项之一:

选项1:

raw_data_block()->caseid_dse->data_stream_element()->

data_stream_byte[element_instance_tag][i];

选项2:

raw_data_block()->caseid_fil->fill_element()->extension_payload(cnt)->

switch(extension_type)->extension_type==ext_data_element(+convention

howtoidentify)orext_audio_pre_roll

选项3:

er_raw_data_block()orer_raw_data_block_eld()->extension_payload(cnt)->

switch(extension_type)->extension_type==ext_data_element(+convention

howtoidentify)orext_audio_pre_roll

iso/iec14496-3及/或未来标准中界定的数据流元素(经由等于id_dse的id_syn_ele发信号通知)或填充元素(经由等于id_fil的id_syn_ele发信号通知)或其等效者可用于承载扩展有效负载,其可用于进一步扩展在此类有效负载分组中传输的信息而不破坏与遗留解码器的兼容性。

因此,在mpeg-4音频上下文中,可使用数据流元素(id_dse)或可包含在填充元素(id_fil)内的extension_payload元素,以便在与aun(即当前帧、即时播放帧)相同的有效负载分组内传输表示aun(即额外信息)之前的时间段的aus及配置信息。这可进一步用于应用处理,其允许在mpeg-4音频中也使用ipf功能。类似地,在mpeg-dusac中,扩展机制(usacextelement)可用来传递audiopreroll()有效负载,但有一些不同。

在一个实施例中,可将扩展元素(例如extension_payload元素)插入到au中,其中元素类型在位流中针对每一元素及au发信号通知。在一个示例中,扩展元素可为有效负载分组中的第一元素,在第一音频元素先前。

下面界定的每一音频预滚元素可由通用唯一标识符(uuid)来识别。uuid字段可用于由音频编码器发信号通知并由音频解码器检测流配置的切换。如果uuid字段相对于先前帧或初始状态已更改(例如,在第一解码器启动时),那么流配置可能已更改,且必须评估预滚有效负载以确保正确解码。如果uuid相对于先前帧没有更改,解码器可跳过audio_preroll_element()有效负载并继续进行常规解码。

在一个示例中,如果不存在uuid,解码器可将audio_preroll_element()的audiospecificconfig与当前解码器配置进行比较,以检测流配置开关。

字段“flags”用作8位位集,可用于向解码器发送额外信息。这可能是关于是否应用交叉渐变或交叉渐变类型(例如,线性、对数)的信息。在下面的示例中,一位用于表示在位流中是否存在预滚有效负载或uuid。

在处理任何au之前,解码器必须知道流配置。在mpeg-4音频中,解码器配置在audiospecificconfig元素中输送。解码器配置及uuid是预滚负载的一部分。此外,预滚有效负载包括mpeg-4音频au(raw_data_block)的依赖于配置的数量。

mpeg-4中的即时播放帧(ipf)可包括如下所述的正好一个audio_preroll_element()有效负载及iso/iec14496-3中界定的一或多个音频元素流(例如,single_channel_element())。音频基本元素流与当前时间戳相关联。预滚有效负载可在mpeg-4音频的扩展有效负载机制的一者中携带。

图1展示即时播放帧(aun)1,包括两个预滚帧(aun-1、aun-2)2、3与对应的流配置4(audiospecificconfig)及流标识符5(uuid)。

可基于以下内容界定音频预滚元素:

在一个示例中,音频预滚元素(例如,audio_preroll_element())是字节对准的,因此可由extension_payload元素(例如,填充元素内部)及数据流元素来传输而无需进一步的字节对准。

在一个示例中,ipf如下涉及预滚元素:ipf包含正确解码所需的当前au及额外au(即先前帧的数量)。额外au被封装为预滚元素的一部分,而预滚元素又被封装到raw_data_block()中(经由id_dse或id_fil)。此类raw_data_block可为ipf。

ipf可经由各种方法编码。在一个示例中,预滚帧必须是独立可解码的,例如,如果使用sbr,那么必须存在sbr标头。在一个实施例中,audio_preroll_element()可封装在数据流元素中。例如,audio_preroll_element()可基于以下语法封装在数据流元素中:

可使用惯例来识别携带audio_preroll_element()的数据流元素(id_dse)。在一个实施例中,id_dse可位于流中的预定义位置及/或可具有特定实例标签,所述特定实例标签发信号通知有效负载是audio_preroll_element()。

在另一实施例中,audio_preroll_element()可封装在填充元素内的extension_payload元素中。例如,audio_preroll_element()可基于以下语法进行封装:

如在先前示例中,可使用惯例来识别extension_payload元素的类型,例如,如果在有效负载分组中的某个预定义位置传送ext_data_element,那么有效负载是audio_preroll_element()。因此,在一个实施例中,extension_payload元素可位于流中的预定义位置及/或可具有特定实例标签,所述特定实例标签表示有效负载是audio_preroll_element()。

在一个示例中,根据本发明的扩展有效负载可使用新扩展有效负载类型来发信号通知,例如extension_type=ext_audio_pre_roll=1010b。

在一个示例中,携带audio_preroll_element()的数据流元素(id_dse)或extension_payload元素(例如,在填充元素(id_fil)内)可在相同有效负载分组中的任何音频元素之前嵌入位流中。以这种方式嵌入ipf有效负载的一些示例包含:

mono:<id_(dse|fil)><id_sce>…<id_end>

5.1:<id_(dse|fil)><id_sce><id_cpe><id_cpe><id_lfe>…<id_end>

本发明的一个方面涉及ipf的解码。参照图2的示例,解码过程可包含接收编码音频数据的位流的步骤s101。编码音频数据的位流可表示音频样本值的序列,并可包括多个帧,其中每一帧可包括相关联的编码音频样本值。

所述方法可进一步包括确定编码音频数据的位流的帧是否是即时播放帧的步骤s102。即时播放帧可包括与当前帧相关联的编码音频样本值及额外信息。额外信息可包括在即时播放帧先前的数个帧的编码音频样本值,先前帧的编码音频样本值是使用与当前帧相同的编解码器配置进行编码。对应于预滚帧的先前帧的数量可对应于解码器建立完整信号以便每当即时播放帧被解码时就处于输出与当前帧相关联的有效音频样本值的位置所需的帧的数量。例如,可在解码器的启动或重新启动期间建立完整信号。即时播放帧可为例如解码器启动时的第一帧。

且所述方法可包含在确定帧是即时播放帧时初始化解码器的步骤s103。所述初始化可包括在对与当前帧相关联的编码音频样本值进行解码之前对由额外信息包括的编码音频样本值进行解码。

现在参考图3的示例,如果确定帧是即时播放帧,且如果即时播放帧的音频样本值已使用不同编解码器配置进行编码,那么音频解码器可从当前编解码器配置切换到不同编解码器配置。可使用当前编解码器配置对即时播放帧进行解码,且如果确定所述帧是即时播放帧且如果已使用当前编解码器配置对即时播放帧的音频样本值进行编码,那么可丢弃额外信息。

在一个示例中,解码过程可利用来自mpeg-dusac中的ipf解码的元素。再次参考图3的示例,解码过程可如下详细地进行。

●如果有效负载存在且如果uuid从先前帧更改(在框s104处的决策)

●如果有效负载存在且uuid不存在(在框s105处的决策)

1.从audio_preroll_element()读取新的流配置s106,即audiospecificconfig()

2.例如,使用“null”访问单元,刷新解码器状态并将结果存储在缓冲器s107中

■将结果存储在缓冲器(交叉渐变缓冲器)

3.重新配置(重新初始化)解码器s108

4.解码audio_preroll_elements109中的n_preroll_frames并丢弃输出

5.解码位流中的下一音频元素(例如sce/cpe/lfe),并将结果存储在缓冲器(交叉渐变缓冲器b)中

■如果由flags发信号通知,那么在交叉渐变缓冲器a与解码器输出之间应用交叉渐变s110,并将结果写入输出pcm缓冲器。交叉渐变的结果构成此帧的合成单元

■将解码器输出直接写入pcm缓冲器

6.继续下一帧

●其它

1.跳过音频audio_preroll_element()并解码帧s111

2.将结果写入pcm缓冲器s112

解码过程可进一步包括:

●如果有效负载不存在,那么解码相应帧并继续下一帧

在一个示例中,此处理可允许如iso/iec14496-3中所界定的audioobjecttypes(aot)的切换,结合连续产生正确的输出样本并在音频输出中不引入静默间隙。在一个示例中,在两者之间切换的aot可包含aot2(aac)、aot5(sbr)、aot29(ps)及其它兼容的aot。

现在参考图4的示例,本发明的一个方面涉及用于对ipf进行解码的音频解码器。音频解码器100可包括确定器101。确定器101可经配置以确定编码音频数据的位流的帧是否是包括与当前帧相关联的编码音频样本值及额外信息的即时播放帧。额外信息可包括在即时播放帧先前的数个帧的编码音频样本值。先前帧的经编码音频样本值可使用与当前帧相同的编解码器配置进行编码。对应于预滚帧的先前帧的数量可对应于解码器100建立完整信号以便每当即时播放帧被解码时就处于输出与当前帧相关联的有效音频样本值的位置所需的帧的数量。例如,可在解码器100的启动或重新启动期间建立完整信号。例如,即时播放帧可为解码器100启动时的第一帧。

且音频解码器100可包括初始化器102。如果确定器101确定帧是即时播放帧,那么初始化器102可经配置以初始化解码器100。初始化解码器100可包括在对与当前帧相关联的编码音频样本值进行解码之前对由额外信息包括的编码音频样本值进行解码。如果确定器101确定帧是即时播放帧且如果当前帧的音频样本值已使用不同编解码器配置进行编码,那么初始化器102还可经配置以将音频解码器100从当前编解码器配置切换到不同编解码器配置。且如果确定器101确定所述帧是即时播放帧且如果当前帧的音频样本值已使用当前编解码器配置进行编码,那么解码器100可经配置以使用当前编解码器配置对当前帧进行解码并丢弃额外信息。

现在参考图5的示例,本发明的一个方面涉及用于生成具有即时播放帧(随机接入点)的编码音频数据的位流的音频编码器,其中编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

音频编码器200可包括核心编码器202,核心编码器202经配置以使用预定义编解码器配置对与多个帧相关联的未压缩音频样本值进行编码。例如,使用预定义编解码器配置可包含使用预定取样率。在一个示例中,核心编码器202可将未压缩音频样本编码为符合mpeg-4音频标准的解码。

音频编码器200可进一步包括缓冲器203,缓冲器203经配置以存储使用预定义编解码器配置(如虚线所指示)编码的多个帧的当前帧的数个先前帧的编码音频样本值。

当编码例如帧n时,相关的先前帧n-1、n-2……可总是被缓冲/存储。当被指示在帧n中写入ipf时(例如,每2秒以便允许动态切换),然后可将存储的相关先前帧n-1、n-2……取出并封装到当前帧n中。

且音频编码器200可包括嵌入器204,嵌入器204经配置以在多个帧的当前帧中写入即时播放帧,其中即时播放帧可包括与所述当前帧相关联的编码音频样本值及与所述当前帧的数个先前帧的编码音频样本值相对应的额外信息。

虽然在图5的示例中,嵌入器204经界定为音频编码器200的一部分,但注意,替代地或另外,嵌入器204还可单独实施,以在编码音频数据的位流的任何当前帧中写入即时播放帧,或通过从即时播放帧中移除额外信息,将编码音频数据的位流中的即时播放帧转换为“正常”帧。在这种情况下,嵌入器204可为编码器链的一部分,但不一定必须是。

在一个实施例中,嵌入器204可经进一步配置以在额外信息中包含关于预定义编解码器配置的信息。在这种情况下,额外信息可向解码器提供关于预定义编解码器配置的信息。

在一个实施例中,嵌入器204可经进一步配置以在即时播放帧中包含额外信息。以此方式,额外信息可在位流中传输到解码器。

在一个实施例中,所生成的编码音频数据的位流可为mpeg-4音频位流。

在一个实施例中,嵌入器204可经进一步配置以经由mpeg-4音频位流扩展机制将额外信息嵌入在位流中(例如,用于输送),mpeg-4音频位流扩展机制可为数据流元素(id_dse)或extension_payload元素。

在一个实施例中,嵌入器204可经进一步配置以将数据流元素(id_dse)或extension_payload元素定位在mpeg-4音频位流中的预定义位置及/及分配特定实例标签,所述特定实例标签发信号通知数据流元素(id_dse)或extension_payload元素的有效负载是额外信息。预定义位置可对应于mpeg-4音频位流中的第一位置,即总是在帧中的第一位置,因为它可携带解码帧n所需的解码器配置(图1,raw_data_block()[n])。解码器因此可假设,如果帧中的第一元素是id_dse或extension_payload元素(可含在id_fil元素内),那么此元素携带预滚数据(前帧、预滚帧)。

在一个实施例中,嵌入器204可经进一步配置以在额外信息中包含唯一标识符。任选地,唯一标识符可发信号通知预定义编解码器配置。然后,解码器可使用预定义编解码器配置对如上所述的帧n进行解码。基于唯一标识符,解码器能够识别位流中的额外信息并相应地解析位流。

在一个实施例中,音频编码器200可经进一步配置以使包括在额外信息中的数个帧的最早帧相对于最早帧先前的任何帧对不进行时差编码或熵编码,且音频编码器200可经进一步配置以使即时播放帧相对于即时播放帧先前的数个帧的最早帧先前的任何帧或相对于即时播放帧先前的任何帧不进行时差编码或熵编码。

现在参考图6的示例,本发明的一个方面涉及由音频编码器生成具有即时播放帧(随机接入点)的编码音频数据的位流的方法,其中编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

所述方法可包括由核心编码器使用预定义编解码器配置对与多个帧相关联的未压缩音频样本值进行编码的步骤s201。例如,使用预定义编解码器配置可包含使用预定取样率。所述方法可进一步包括由缓冲器存储使用预定义编解码器配置编码的多个帧的当前帧的数个先前帧的编码音频样本值的步骤s202。

且所述方法可包括由嵌入器在多个帧的当前帧中写入即时播放帧的步骤s203,其中即时播放帧包括与所述当前帧相关联的编码音频样本值及与所述当前帧的数个先前帧的编码音频样本值相对应的额外信息。

在一个实施例中,额外信息可进一步包括关于预定义编解码器配置的信息。如上所述,解码器可在解码过程中使用预定义编解码器配置。

在一个实施例中,即时播放帧可进一步包括额外信息。以此方式,额外信息可在位流中传输。

在一个实施例中,所生成的编码音频数据的位流可为mpeg-4音频位流。

在一个实施例中,额外信息可由嵌入器经由mpeg-4音频位流扩展机制嵌入在位流中(例如,用于输送),mpeg-4音频位流扩展机制是数据流元素(id_dse)或extension_payload元素。extension_payload元素可例如含在mpeg-4音频位流语法的不同位置。在一个实施例中,extension_payload元素可由嵌入器嵌入(例如,用于输送)在填充元素(id_fil)内。

如上所详细描述的,在一个实施例中,数据流元素(id_dse)或extension_payload元素可由嵌入器定位在mpeg-4音频位流中的预定义位置处及/或可被分配特定实例标签,所述特定实例标签发信号通知数据流元素(id_dse)或extension_payload元素的有效负载是额外信息。预定义位置可总是帧中的第一位置,因为它可携带解码当前帧可能需要的解码器配置。

在一个实施例中,额外信息可进一步包括唯一标识符。任选地,所述唯一标识符可发信号通知预定义编解码器配置。

在一个实施例中,可由音频编码器使包括在额外信息中的数个帧的最早帧相对于最早帧先前的任何帧不进行时差编码或熵编码,且可由音频编码器使即时播放帧相对于即时播放帧先前的数个帧的最早帧先前的任何帧或相对于即时播放帧先前的任何帧不进行时差编码或熵编码。

现在参考图7的示例,本发明的一个方面涉及一种系统,所述系统包括两个或多于两个音频编码器,以用于生成编码音频数据的多个位流,每一位流具有即时播放帧(时间对准的随机接入点),其中编码音频数据的每一位流表示音频样本值的序列并包括多个帧,且其中每一帧包括相关联的编码音频样本值。虽然系统中音频编码器的数量不受限制,但在图7的示例中,说明包括两个音频编码器的系统。系统可在相同的内容上并行运行两个音频编码器,以相同的节奏插入即时播放帧,但具有不同配置(例如位率)。每一编码链可输出自己的位流。以这种方式创建的两个位流可例如存储在web服务器上。客户端可开始回放流a(例如,以高位率)。在某个时间点,客户端可决定切换到较低位率的流b,因此可请求相同的内容,但位率不同。当流b的第一区段到达解码器时,此类区段可总是以ipf开始(这可例如经由根据mpeg-dash的清单文件来发信号通知),这使得解码器能够从一开始就输出正确的音频。

再次参考图7的示例,并行地说明两个音频编码器,每一音频编码器包括核心编码器202(编码器核心#1、编码器核心#2)、缓冲器(未展示)及嵌入器204(ipf插入)。

在一个实施例中,对于每一核心编码器202,预定取样率可相同。否则,在解码器侧可能需要重取样及额外延迟处理。然而,核心编码器202可经配置成以不同帧速率运行(例如aac-lc1024;he-aac2048)。进一步来说,核心编码器配置可能需要不同数量的预滚帧p。可能需要帧n-p及n都是独立可解码的,即可能不必依赖于来自先前帧的信息(对于he-aac,它们可能含有sbr标头)。在核心编码之后,ipfs的解码时间可跨不同流对准。

在一个实施例中,系统可进一步包括延迟对准单元201(延迟#1,延迟#2),用于延迟对准多个位流。对于解码器处的无缝切换,可能必须对准即时播放帧(ipf)的解码时间。延迟对准级可延迟输入pcm样本(未压缩音频样本值、输入音频样本值)以补偿不同编码器/解码器延迟。

现在参考图8的示例,本发明的一个方面涉及用于在编码音频数据的位流中生成即时播放帧(随机接入点)或用于从编码音频数据的位流中移除即时播放帧(随机接入点)的设备,其中编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

设备300可包括接收器301,接收器301经配置以接收编码音频数据的位流,其中编码音频数据的位流表示音频样本值的序列并包括多个帧,其中每一帧包括相关联的编码音频样本值。

且设备300可包括嵌入器302,嵌入器302经配置以在多个帧的当前帧中写入即时播放帧,其中即时播放帧包括与所述当前帧相关联的编码音频样本值及与所述当前帧的数个先前帧的编码音频样本值相对应的额外信息。在生成ipf时,嵌入器302可按照上面结合图5到7描述的原理操作。这可以说此操作对应于将“正常”(非ipf)帧转换为ipf。

ipf插入可能会考虑实际的复制及封装。通过分割核心编码及ipf插入,与上述设备一样,可在没有ipf的情况下存储位流,且如果需要,仅在分发之前嵌入ipf。如果经配置为无缝切换,每一ipf可能必须包含流配置asc。

在一个实施例中,设备300可进一步包括缓冲器,所述缓冲器经配置以存储多个帧中当前帧的数个先前帧的编码音频样本值。

在一个实施例中,嵌入器302可经进一步配置以从即时播放帧中移除与所述当前帧的数个先前帧的编码音频样本值相对应的额外信息。这可以说对应于将ipf转换为“正常”帧。例如,音频编码器可仅生成ipf,其随后可由嵌入器根据相应信道/服务可能具有的约束来移除。

现在参考图9的示例,本发明的方面可包含非暂时性数字存储媒体,所述非暂时性数字存储媒体具有存储在其上的计算机程序,以在所述计算机程序由计算机或处理器运行时执行本文所述的方法。图9说明具有可运行所述计算机程序的处理器401的装置400。或者,装置400可表示相应的计算机。

本文所描述的方法及系统可经实施为软件、固件及/或硬件。某些组件可例如经实施为在数字信号处理器或微处理器上运行的软件。其它组件可例如经实施为硬件及/或特定于应用的集成电路。在所描述的方法及系统中遇到的信号可存储在例如随机存取存储器或光存储媒体的媒体上。它们可经由网络传输,例如无线电网络、卫星网络、无线网络或有线网络,例如因特网。使用本文所描述的方法、设备及系统的典型装置是用于存储及/或呈现音频信号的便携式电子装置或其它消费型装备。

应注意,说明书及附图仅说明所提议的方法、系统及设备的原理。所属领域的技术人员将能够实施各种布置,这些布置虽然在本文中没有明确描述或展示,但体现本发明的原理,且包含在本发明的精神及范围内。此外,本文档中概述的所有示例及实施例主要希望明确地仅用于解释目的,以帮助读者理解所提出方法的原理。此外,本文中提供本发明的原理、方面及实施例的所有陈述及其特定示例希望包含其等效者。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1