音频解码器、用于生成经编码的音频输出数据的装置以及允许将解码器初始化的方法与流程

文档序号:13717285阅读:199来源:国知局
技术领域本发明涉及音频编码/解码,且尤其涉及一种对数据进行编码及解码的方法,其允许将解码器初始化(正如当在不同的编解码器配置之间切换时可能需要的)。

背景技术:
本发明的实施例可应用于传输信道的属性可依据诸如DSL、WiFi、3G、LTE及其类似的访问技术而广泛地变化的情形。在室内或在郊区,移动电话接收可能会衰减。无线因特网连接的品质在很大程度上取决于距基站的距离以及访问技术,从而导致比特率的波动。每个用户的可用比特率也可随着连接至一个基站的用户端的数目而改变。

技术实现要素:
本发明的目标在于提供一种允许以灵活的方式传送音频内容的概念。根据本发明,通过根据权利要求1的音频解码器、根据权利要求9的用于生成经编码的音频输出数据的装置、根据权利要求18的用于对音频输入数据进行解码的方法、根据权利要求22的用于生成经编码的音频数据的方法以及根据权利要求25的计算机程序达成此目标。本发明的实施例提供一种用于对经编码的音频数据的比特流进行解码的音频解码器,其中经编码的音频数据的比特流表示音频样本值序列且包含多个帧,其中每个帧包括相关联的经编码的音频样本值,该音频解码器包含:判断器,用于判断经编码的音频数据的帧是否为特殊帧,该特殊帧包含与该特殊帧相关联的经编码的音频样本值及额外信息,其中额外信息包含在该特殊帧之前的多个帧的经编码的音频样本值,其中在先帧的经编码的音频样本值是使用与该特殊帧相同的编解码器配置而被编码的,其中如果该特殊帧为解码器启动后的第一帧,则多个在先帧足以将解码器初始化为能够解码与该特殊帧相关联的音频样本值;以及初始化器,用于在判断器判定该帧为特殊帧的情况下将解码器初始化,其中将解码器初始化包含:在对与该特殊帧相关联的经编码的音频样本值进行解码之前,对额外信息中包括的经编码的音频样本值进行解码。本发明的实施例提供一种用于生成表示音频信号的音频样本值序列的经编码的音频数据的比特流的装置,其中经编码的音频数据的比特流包含多个帧,其中每个帧包括相关联的经编码的音频样本值,其中该装置包含:特殊帧提供器,用于提供帧中的至少一个作为特殊帧,该特殊帧包含与该特殊帧相关联的经编码的音频样本值及额外信息,其中额外信息包含在该特殊帧之前的多个帧的经编码的音频样本值,其中在先帧的经编码的音频样本值是使用与该特殊帧相同的编解码器配置而被编码的,且其中如果该特殊帧为解码器启动后的第一帧,则多个在先帧足以将解码器初始化为能够解码与该特殊帧相关联的音频样本值;以及输出端,用于输出经编码的音频数据的比特流。本发明的实施例提供一种用于对经编码的音频数据的比特流进行解码的方法,其中经编码的音频数据的比特流表示音频样本值序列且包含多个帧,其中每个帧包括相关联的经编码的音频样本值,该方法包含:判断经编码的音频数据的帧是否为特殊帧,该特殊帧包含与该特殊帧相关联的经编码的音频样本值及额外信息,其中额外信息包含在该特殊帧之前的多个帧的经编码的音频样本值,其中在先帧的经编码的音频样本值是使用与该特殊帧相同的编解码器配置而被编码的,其中如果该特殊帧为解码器启动后的第一帧,则多个在先帧足以将解码器初始化为能够解码与该特殊帧相关联的音频样本值;以及在判定该帧为特殊帧的情况下将解码器初始化,其中初始化包含:在对与该特殊帧相关联的经编码的音频样本值进行解码之前,对额外信息中包括的经编码的音频样本值进行解码。本发明的实施例提供一种用于生成表示音频信号的音频样本值序列的经编码的音频数据的比特流的方法,其中经编码的音频数据的比特流包含多个帧,其中每个帧包括相关联的经编码的音频样本值,该方法包含:提供帧中的至少一个作为特殊帧,该特殊帧包含与该特殊帧相关联的经编码的音频样本值及额外信息,其中额外信息包含在该特殊帧之前的多个帧的经编码的音频样本值,其中在先帧的经编码的音频样本值是使用与该特殊帧相同的编解码器配置而被编码的,且其中如果该特殊帧为解码器启动后的第一帧,则多个在先帧足以将解码器初始化为能够解码与该特殊帧相关联的音频样本值;以及通过串接该特殊帧与多个帧中的其他帧而生成比特流。本发明的实施例基于以下发现:表示音频信号的音频样本值序列且包含多个帧的经编码的音频数据的比特流的立即重播可在以下情况下达成:帧中的一个被提供为包括与在先帧相关联的经编码的音频样本值的特殊帧,该在先帧对于启动解码器使其能够解码与该特殊帧相关联的经编码的音频样本值是必需的。启动解码器所必需的帧的数目因此取决于所使用的编解码器配置,且对于编解码器配置是已知的。本发明的实施例基于以下发现:在此特殊帧被放置于编码配置之间的切换将发生的位置处的情况下,可以以有益的方式达成在不同的编解码器配置之间的切换。该特殊帧不仅可包括与该特殊帧相关联的经编码的音频样本值,而且包括准许编解码器配置之间的切换以及切换后的立即重播的其他信息。在本发明的实施例中,用于生成经编码的音频输出数据的装置及方法以及音频编码器用于以如下的方式准备经编码的音频数据:编解码器配置之间的切换后的立即回复可发生在解码器侧。在本发明的实施例中,在编码器侧生成并输出的此音频数据在解码器侧被接收为音频输入数据且在解码器侧处允许立即重播。在本发明的实施例中,在解码器侧在不同的编解码器配置之间切换后,在解码器侧允许立即重播。在本发明的实施例中,初始化器用于在判断器判定该帧为特殊帧且已使用不同的编解码器配置对该特殊帧的音频样本值进行编码的情况下将音频解码器从当前编解码器配置切换为该不同的编解码器配置。在本发明的实施例中,解码器用于在判断器判定该帧为特殊帧且已使用当前编码配置对该特殊帧的音频样本值进行编码的情况下使用当前编解码器配置对该特殊帧进行解码且丢弃额外信息。在本发明的实施例中,额外信息包含关于用于对与该特殊帧相关联的音频样本值进行编码的编解码器配置的信息,其中判断器用于判断额外信息的编解码器配置是否不同于当前编解码器配置。在本发明的实施例中,音频解码器包含交叉衰减器,该交叉衰减器用于在使用当前编解码器配置而获得的多个输出样本值与通过对与该特殊帧相关联的经编码的音频样本值进行解码而获得的多个输出样本值之间执行交叉衰减。在本发明的实施例中,交叉衰减器用于对通过对处于当前编解码器配置中的解码器进行清空而获得的输出样本值与通过对与该特殊帧相关联的经编码的音频样本值进行解码而获得的输出样本值进行交叉衰减。在本发明的实施例中,对在额外信息中包含的多个帧中的最早帧并未相对于在该最早帧之前的任何帧进行时间差分式编码或熵编码,且其中对该特殊帧并未相对于在该特殊帧之前的多个帧中的最早帧之前的任何帧或相对于在该特殊帧之前的任何帧进行时间差分式编码或熵编码。在本发明的实施例中,该特殊帧包含额外信息作为扩展有效载荷,且其中判断器用于评估该特殊帧的扩展有效载荷。在本发明的实施例中,额外信息包含关于用于对与该特殊帧相关联的音频样本值进行编码的编解码器配置的信息。在本发明的实施例中,经编码的音频数据包含多个片段,其中每个片段与音频样本值序列的多个部分中的一个相关联且包含多个帧,其中特殊帧添加器用于在每个片段的开始处添加特殊帧。在本发明的实施例中,经编码的音频数据包含多个片段,其中每个片段与音频样本值序列的多个部分中的一个相关联且包含多个帧,其中用于生成经编码的音频数据的比特流的装置包含:片段提供器,用于提供与音频样本值序列的不同部分相关联且通过不同的编解码器配置进行编码的片段,其中特殊帧提供器用于提供片段中的至少一个的第一帧作为该特殊帧;以及生成器,用于通过将片段中的至少一个布置在片段中的另一个之后而生成音频输出数据。在本发明的实施例中,片段提供器用于基于控制信号选择用于每个片段的编解码器配置。在本发明的实施例中,片段提供器用于提供音频样本值序列的m个经编码的版本,其中m≥2,其中m个经编码的版本是使用不同的编解码器配置而被编码的,其中每个经编码的版本包含表示音频样本值序列的多个部分的多个片段,其中该特殊帧提供器用于在片段中的每个的开始处提供特殊帧。在本发明的实施例中,片段提供器包含多个编码器,每个编码器用于根据多个不同的编解码器配置中的一个至少部分地对音频信号进行编码。在本发明的实施例中,片段提供器包含存储器,该存储器储存音频样本值序列的m个经编码的版本。在本发明的实施例中,额外信息呈现为特殊帧的扩展有效载荷的形式。在本发明的实施例中,解码方法包含:如果判定该帧为特殊帧且已使用不同的编解码器配置对该特殊帧的音频样本值进行编码,则将音频解码器从当前编解码器配置切换为不同的编解码器配置。在本发明的实施例中,经编码的音频数据的比特流包含使用第一编解码器配置编码的第一数目的帧及在第一数目的帧之后且使用第二编解码器配置编码的第二数目的帧,其中第二数目的帧中的第一帧为该特殊帧。在本发明的实施例中,额外信息包含关于用于对与该特殊帧相关联的音频样本值进行编码的编解码器配置的信息,且该方法包含:判断额外信息的编解码器配置是否不同于当前编解码器配置,比特流中先于该特殊帧的帧的经编码的音频样本值是使用该当前编解码配置而被编码的。在本发明的实施例中,生成经编码的音频数据的比特流的方法包含:提供与音频样本值序列的不同部分相关联且通过不同的编解码器配置进行编码的片段,其中片段中的至少一个的第一帧被提供作为该特殊帧。因此,在本发明的实施例中,进行交叉衰减以允许在不同的编解码器配置之间的无缝切换。在本发明的实施例中,该特殊帧的额外信息包含为将解码器初始化为能够解码该特殊帧而必需的预载帧(pre-rollframe)。换言之,在本发明的实施例中,额外信息包含在该特殊帧之前且使用与由特殊帧表示的经编码的音频样本值相同的编解码器配置进行编码的经编码的音频样本值的帧的复本,为将解码器初始化为能够解码与该特殊帧相关联的音频样本值,该特殊帧是必需的。在本发明的实施例中,以规则的时间间隔(即,以周期性方式)将特殊帧引入至经编码的音频数据。在本发明的实施例中,经编码的音频数据的每个片段的第一帧为特殊帧。在实施例中,音频解码器用于使用特殊帧中指示的编解码器配置对该特殊帧及随后帧进行解码,直至碰到指示不同的编解码器配置的另一特殊帧。在本发明的实施例中,解码器及解码方法用于在从一个编解码器配置切换至另一编解码器配置时进行交叉衰减,以允许多个经压缩的音频表示之间的无缝切换。在本发明的实施例中,不同的编解码器配置为根据AAC(高级音频编码)标准的不同编解码器配置,即,AAC家族编解码器的不同编解码器配置。本发明的实施例可针对在AAC家族编解码器的编解码器配置与AMR(自适应多速率)家族编解码器的编解码器配置之间的切换。因此,本发明的实施例允许在解码器侧的立即重播及在不同的编解码器配置之间的切换,以使得传送音频内容的方式可适于环境条件,如具有可变比特率的传输信道。因此,对于给定的网络条件,本发明的实施例允许向消费者提供最佳的可能音频品质。附图说明随后参考附图论述本发明的实施例,其中:图1示出用于生成经编码的音频输出数据的装置的实施例的示意图;图2示出用于解释特殊帧的实施例的示意图;图3示出音频信号的不同表示的示意图;图4a及图4b示出用于生成经编码的音频输出数据的装置的示意图;图5示出音频解码器的示意图;图6示出用于解释音频解码器及解码方法的实施例的示意性框图;图7示出用于解释音频解码器在不同的编解码器配置之间的切换的示意性框图;图8示出用于解释AAC(高级音频编码)解码器行为的示意图;图9示出从第一流1至第二流2的切换;以及图10示出提供额外信息的示例性语法元素。具体实施方式大体而言,本发明的实施例针对在具有可变比特率的传输信道上的可能与视频传送相结合的音频内容传送。目标可为对于给定的网络条件,向消费者提供最佳的可能音频品质。本发明的实施例致力于在自适应成流环境中实施AAC家族编解码器。在本发明的实施例中,如本文中所使用的,未经编码的音频样本值表示时域音频样本值,如PCM(脉冲编码调制)样本。在本发明的实施例中,术语经编码的音频样本值指的是在对时域音频样本值进行编码后获得的频域样本值。在本发明的实施例中,经编码的音频样本值或样本是通过将时域样本转换为频谱表示(如,借助于MDCT(改进的离散余弦变换))并对结果进行编码(如,通过量化及哈夫曼编码)而获得的值或样本。因此,在本发明的实施例中,编码意味着从时域样本获得频域样本,且解码意味着从频域样本获得时域样本。在本文中,通过对经编码的音频数据进行解码而获得的样本值(样本)有时被称作输出样本值(样本)。图1示出用于生成经编码的音频输出数据的装置的实施例。图1示出自适应音频成流的典型情景,本发明的实施例可应用于此。由各种各样的音频编码器12、14、16及18(即,编码器1至m)对音频输入信号10进行编码。编码器1至m可用于同时对音频输入信号10进行编码。通常,可配置编码器1至m以使得可达成宽比特率范围。编码器生成音频输入信号10的不同表示(即,经编码的版本22、24、26及28,亦即,表示1至m)。每个表示包括多个片段1至k,其中仅出于示例性目的而为第一表示的第二片段给定附图标记30。每个片段包含由字母AU标示的多个帧(访问单元)及指示帧在各个表示中的位置的各个索引1至n。仅出于示例性目的而为第一表示的第八帧给定附图标记40。编码器12、14、16及18用于以规则的时间间隔(其界定片段的大小)插入流访问点(SAP)42。因此,诸如片段30的片段由多个帧(如,AU5、AU6、AU7及AU8)组成,其中第一帧AU5表示SAP42。在图1中,通过阴影指示SAP。每个表示1至m表示用于音频输入信号10的经压缩的音频表示(CAR),且由k个此类片段组成。不同的CAR之间的切换可在片段边界处发生。在解码器侧,客户端可请求表示中最适于给定情境(例如,给定的网络条件)的一个表示。若出于某种原因,条件改变,则客户端应能够请求不同的CAR,用于生成经编码的输出数据的装置应能够在每个片段边界处在不同的CAR之间切换,且解码器应能够切换以在每个片段边界处对不同的CAR进行解码。因此,客户端将能够使媒体比特率适合于可用的信道比特率以使品质最大化同时使运行下的缓冲器(“再缓冲”)最小化。若使用HTTP(超文本传输协议)来下载片段,则此成流架构可被称作HTTP自适应成流。当前实施包括AppleHTTP直播成流(HTTPLiveStreaming,HLS)、Microsoft平滑成流(SmoothStreaming),及Adobe动态成流,其全部遵循基本原理。最近,MPEG发布了开放式标准:在HTTP上的动态自适应成流(MPEGDASH),参见“GuidelinesforImplementation:DASH-AVC/264InteroperabilityPoints”,http://dashif.org/w/2013/08/DASH-AVC-264-v2.00-hd-mca.pdf。HTTP通常使用TCP/IP(传输控制协议/因特网协议)作为基础网络协议。本发明的实施例可应用于所有的这些当前发展。表示(经编码的版本)之间的切换将尽可能为无缝的。换言之,在切换期间不应存在任何可听到的干扰脉冲(glitch)或咔嗒声(click)。不采用本发明的实施例所提供的进一步措施,则仅能在某些约束下且在编码过程期间特别谨慎的情况下达成此要求。在图1中,片段所源自的各个编码器由置于圆圈内的各个标记指示。图1进一步示出决策引擎50,其决定为每个片段下载哪个表示。生成器52通过串接所选择的片段(在图1中被给定附图标记44、46及48)而从所选择的片段生成经编码的音频输出数据54。经编码的音频输出数据54可被传送至解码器60,解码器用于将经编码的音频输出数据解码成包含音频输出样本的音频输出信号62。在图1中所示的实施例中,源自不同编码器的片段以及因此的帧(例如,图1的示例中的来自编码器2的AU4及来自编码器3的AU5)被馈入相同的解码器60。在相同的解码器实例被用于对这些AU进行解码的情况下,两个编码器必须彼此兼容。特别地,不采用任何额外措施,则在两个编码器来自完全不同的编解码器家族(比如用于编码器2的AMR及用于编码器3的G.711)的情况下,此方法不起作用。然而,即使跨越所有表示使用相同的编解码器,也必须特别谨慎以约束编码过程。这是因为诸如高级音频编码(AAC)的现代音频编解码器为灵活的算法,其可使用各种各样的编码工具及模式在若干个配置中操作。AAC中的此编码工具的示例为频谱带复制(SBR)或短区块(SB)。其他重要的配置参数为采样频率(fs,例如48kHz)或信道配置(单声道、立体声、环绕声)。为了正确地对帧(AU)进行解码,解码器必须知晓使用了哪些工具以及如何配置这些工具(例如,fs或SBR交越频率)。因此,大体而言,所需信息被编码至短配置字符串中,且使得其在解码之前对解码器是可用的。这些配置参数可被称作编解码器配置。在AAC的情况下,此配置被称为音频特定配置(ASC)。迄今为止,为了达成无缝切换,必须将编解码器配置约束为跨越表示(经编码的版本)可兼容。举例而言,采样频率或编码工具通常必须为跨越所有表示而相同的。若在表示之间使用不兼容的编解码器配置,则必须重配置解码器。这基本上意味着必须关闭旧解码器且必须启动具有新配置的新解码器。然而,此重配置的过程并非在所有情况下均为无缝的,且可能引起干扰脉冲。造成此的一个原因是,新解码器无法立即产生有效样本,而需要若干预载AU来建立完整的信号强度。此启动行为对于具有解码器状态(即,当前AU的解码并非完全独立于对先前AU进行解码)的编解码器是典型的。作为此行为的结果,通常要求编解码器配置为跨越所有表示而恒定的,且唯一改变的参数为比特率。此为(例如)用于如由DASH工业论坛定义的DASH-AVC/264简介的情况。此约束确实限制了编解码器的灵活性,且因此限制了跨越整个比特率范围的编码效率。举例而言,SBR对于极低比特率是有价值的编码工具,但其限制了高比特率处的音频品质。因此,若要求经编码的配置为恒定的(即,采用或不采用SBR),则必须在高或低比特率下作出妥协。类似地,编码效率可得益于改变跨越表示的采样速率,但由于用于无缝切换的上述限制而必须保持采样速率为恒定的。本发明的实施例针对一种新颖方法,其在自适应成流环境中实现无缝音频切换,且特别地,在自适应成流环境中实现用于AAC家族音频编解码器的无缝音频切换。本发明的方法被设计用于解决由如上所描述的对编解码器配置的限制而引起的所有缺点。总体目标为在跨越表示(经编码的版本)的配置(如,编码工具或采样频率)中具有更多灵活性,同时仍实现或保证无缝切换。本发明的实施例基于以下发现:通过在诸如经压缩的音频表示(CAR)的经编码的音频数据的其他帧之间添加携载有除与特殊帧相关联的经编码的音频样本值之外的额外信息的特殊帧,可克服上文解释的约束且可达成较高的灵活性。经压缩的音频表示可被视为由具有恒定的总体比特率的有损或无损音频编码器(例如,AAC家族音频编码器(AAC、HE-AAC、MPEG-DUSAC、…))压缩后的一条音频材料(音乐、语音、…)。特别地,特殊帧中的额外信息被设计为允许在解码器侧的瞬时播出,即使处于在不同的编解码器配置之间切换的情况下。因此,特殊帧可被称作瞬时播出帧(IPF)。IPF用于补偿解码器启动延迟,并用于传输关于先前帧的音频信息连同当前帧的数据。图2中示出此IPF80的示例。图2示出编号为n-4至n+3的多个帧(访问单元)40。每个帧包括相关联的经编码的音频样本值,即,表示音频信号(如,音频输入信号10)的时域音频样本值序列中的特定数目的时域音频样本值中的经编码的音频样本值。举例而言,每个帧可包含表示1024个时域音频样本值(即,未经编码的音频信号的音频样本值)的经编码的音频样本值。在图2中,放置于在先帧n-1与随后帧n+1之间的帧n表示特殊帧或IPF80。特殊帧80包括额外信息82。额外信息82包括关于编解码器配置的信息84,即,关于用于对包括帧n-4至n+3的数据流进行编码的编解码器配置的信息,且因此包括关于用于对与特殊帧相关联的音频样本值进行编码的编解码器配置的信息。在图2中所示的实施例中,假定由音频解码器引入的延迟为三个帧,即,假定需要三个所谓的预载帧来在音频解码器的启动期间建立完整的信号。因此,假定流配置(编解码器配置)已为解码器所知,则解码器通常应必须在帧n-3处开始解码以在帧n处产生有效样本。因此,为了使必要的信息对解码器是可用的,额外信息82包含在特殊帧80之前且使用额外信息82中指示的编解码器配置84进行编码的经编码的音频样本值的多个帧。此多个帧在图2中由附图标记86指示。此多个帧86对于将解码器初始化为能够解码与特殊帧n相关联的音频样本值是必需的。因此,帧86的信息被复制且被携载作为特殊帧80的部分。因此,在于帧n处切换至图2中所示的数据流之后此信息可立即用于解码器。不采用帧n中的此额外信息,在切换之后编解码器配置84与帧n-3至n-1两者对解码器是均不可用的。将此信息添加至特殊帧80允许立即将解码器初始化,且因此允许在切换至包含特殊帧的数据流之后的立即播出。配置解码器以使得在必须输出通过对帧n进行解码而获得的输出样本以前可用的时间窗内可进行帧n的此初始及解码。在正常地解码(即,不切换至不同的编解码器配置)期间,仅对帧n进行解码,而忽略额外信息中包括的帧n-3至n-1。然而,在切换至不同的编解码器配置之后,提取特殊帧80中的所有信息,且基于所包括的编解码器配置并基于在最终对当前帧n进行解码及重播之前的对预载帧(n-3至n-1)的解码而将解码器初始化。对预载帧的解码发生于对当前帧进行解码及重播之前。预载帧并不被重播,但解码器用于在当前帧n的重播之前可用的时间窗内对预载帧进行解码。术语“编解码器配置”指的是用于对音频数据或音频数据的帧进行编码的编解码器配置。因此,编码配置可指示所使用的不同的编码工具及模式,其中用于AAC中的示例性编码工具为频谱带复制(SBR)或短区块(SB)。一个配置参数可为SBR交越频率。其他配置参数可为采样频率或信道配置。不同的编解码器配置在这些配置参数中的一个或多个上不同。在本发明的实施例中,不同的编解码器配置还可包含完全不同的编解码器,如AAC、AMR或G.711。因此,在图2中所示出的示例中,三个帧(即,n-3至n-1)对于补偿解码器启动延迟是必需的。可借助音频比特流内部的扩展有效载荷机制传输额外帧数据。举例而言,USAC扩展有效载荷机制(UsacExtElement)可用于携载额外信息。此外,“配置”字段可用于传输流配置94。这在比特流切换或比特率自适应的情况下可以是有用的。第一预载AU(n-3)与IPF自身(n)可为独立地可解码帧。在USAC的上下文中,编码器可为这些帧将旗标(usacIndependencyFlag)设定为“1”。实施如图2中所示的帧结构,可以随机地在每个IPF处访问比特流,且立即播出有效PCM样本。IPF的解码过程可包含以下步骤。对所有“预载”AU(n-3…n-1)进行解码,并丢弃所得输出PCM样本。内部解码器状态及缓冲器在此步骤之后被完全初始化。对帧n进行解码,并开始规则的播出。继续正常地对帧n+1进行解码。IPF可被用作音频流访问点(SAP)。有效PCM样本的立即播出在每个IPF处是可能的。如本文中所定义的特殊帧可被实施于准许辅助数据或扩展数据或数据流元素的多路复用和传输或用于传输音频编解码器外部数据的类似机制的任何编解码器中。本发明的实施例参考USAC编解码器框架的实施。可结合USAC音频编码器及解码器实施本发明的实施例。USAC意味着统一的语音及音频编码,且参考标准ISO/IEC23003-3:2012。在本发明的实施例中,额外信息包含在对应帧(如,图2中的帧n)的扩展有效载荷中。举例而言,USAC标准准许将任意的扩展有效载荷添加至经编码的音频数据。扩展有效载荷的存在是基于帧至帧可切换的。因此,额外信息可被实施为经定义以携载先前帧的额外音频信息的新扩展有效载荷类型。如上所解释的,设计瞬时播出帧80以使得可立即(即,不必根据音频编解码器延迟而等待特定数目的帧)生成与某个时间戳(帧n)相关联的有效输出样本。换言之,可补偿音频编解码器延迟。在图2中所示的实施例中,音频编解码器延迟为三个帧。此外,设计IPF以使得其是充分且独立地可解码的,即,无需更进一步了解先前音频流。就此而言,对添加至特殊帧的多个帧中的最早者(即,图2中的帧n-3)并未相对于任何先前帧进行时间差分式编码或熵编码。此外,对特殊帧也根本没有相对于在额外信息中包含的多个帧中的最早者之前的任何帧或相对于任何先前帧进行时间差分式编码或熵编码。换言之,对于图2中的帧n-3及n,可移除对先前帧的所有依赖性,例如,某些参数的时间差分式编码或重设熵编码。因此,这些独立帧准许所有符号的正确解码及解析,但其本身并不足以瞬时地获得有效PCM样本。尽管此独立帧已在常见的音频编解码器(如,AAC或USAC)中可用,但此音频编解码器并未提供诸如IPF帧80的特殊帧。在本发明的实施例中,在图1中所示的表示的每个流访问点处提供特殊帧。在图1中,流访问点为每个片段中的第一帧,且标有阴影线。因此,图1示出根据本发明的用于生成经编码的音频输出数据的装置的特定实施例。此外,图1中所示的编码器1至m中的每个表示根据本发明的音频编码器的实施例。根据图1,编码器12至18表示用于提供与音频输入信号10的不同部分相关联且通过不同的编解码器配置进行编码的片段的提供器。就此而言,编码器12至18中的每个使用不同的编解码器配置。决策单元50用于为每个片段决定下载哪个表示。因此,决策单元50用于基于控制信号选择用于每个片段的编解码器配置(与各个表示相关联)。举例而言,可从请求最适于给定情境的表示的客户端接收控制信号。基于决策单元50的决策,区块52通过一个接一个地布置片段(如,片段46(表示3的片段2)在片段44(表示2的片段1)之后)而生成音频输出数据54。因此,在片段2的开始处的特殊帧AU5准许切换至表示3且准许在解码器侧在片段44与46之间的边界处的立即重播。因此,在图1中所示的实施例中,提供器(包含编码器1至m)用于提供音频输入10的m个经编码的版本,其中m≥2,其中m个经编码的版本(表示)是使用不同的编解码器配置而被编码的,其中每个经编码的版本包括表示音频样本值序列的多个部分的多个片段,其中片段中的每个在其开始处包含特殊帧。在本发明的其他实施例中,相同音频输入的不同表示(如,图1中的表示22至28)可储存在存储器中,且可在用户请求对应媒体内容的情况下被访问。图1中所示的编码器实例1至m可依据编码器配置和/或编码器实例中的工具的激活而产生不同的编码器延迟。在此情况下,可采取措施以确保编码器延迟得到补偿以达成m个输出流(即,m个表示)的时间对准。例如,可通过将一定量的尾随零样本添加至编码器输入以补偿不同的编码器延迟来实施此。换言之,不同表示中的片段将具有相同的持续时间以允许在片段边界处的表示之间的无缝切换。理论片段持续时间取决于所应用的采样率和帧大小。图3示出可归因于不同采样率和/或帧大小的插入具有不同成帧的表示的可能IPF插入的示例。零样本可在适当位置处添加至较短的片段,以使得所有特殊帧是时间对准的,正如可从图3所见。图4a示出用于生成经编码的音频输出数据102的装置90的示意图。装置90包含提供器92,该提供器用于提供多个帧40中的至少一个帧80作为特殊帧,如本文中所定义。在本发明的实施例中,提供器92可被实施为用于对音频样本值进行编码的编码器的部分,其提供帧40且将额外信息添加至帧中的至少一个以生成特殊帧。举例而言,提供器92可用于将额外信息作为有效载荷扩展添加至帧40中的一个以生成特殊帧80。表示经编码的音频数据102的比特流的帧40、80经由输出端112输出。图4b示出用于生成经编码的音频输出数据102的装置100的示意图。该装置包含提供器104,该提供器用于提供与音频样本值序列的不同部分相关联的片段106、108。该片段中的至少一个的第一帧为如上所解释的特殊帧。生成器110用于通过将片段106、108中的至少一个布置在片段106、108中的另一个之后而生成音频输出数据。生成器110将音频输出数据传送至用于输出经编码的音频数据102的输出端112。图5示出用于对音频输入数据122进行解码的音频解码器60的实施例的示意图。音频输入数据可为图1中所示的区块52的输出。音频解码器60包含判断器130、初始化器132及解码器核心134。判断器130用于判断音频输入数据122的帧是否为特殊帧。初始化器132用于在帧为特殊帧且必需或需要初始化的情况下将解码器核心134初始化。初始化包含:对额外信息中包括的在先帧进行解码。解码器核心134用于使用编解码器配置(利用该编解码器配置对其初始化)而对经编码的音频样本值的帧进行解码。在帧并非特殊帧的情况下,其被直接传送至解码器核心134(箭头136)。在帧为特殊帧且不需要解码器核心134的初始化的情况下,判断器130可丢弃额外信息,且仅将特殊帧(而非额外信息中的帧)的经编码的音频样本值传送至解码器核心134。判断器130可用于基于额外信息中包括的信息或基于外部信息而判断是否必须将解码器核心134初始化。额外信息中包括的信息可为关于用于对特殊帧进行编码的编解码器配置的信息,其中若此信息指示使用与特殊帧不同的编解码器配置对在先帧进行编码,则判断器可决定初始化为必需的。外部信息可指示在接收到下一特殊帧之后应将解码器核心134初始化或重新初始化。在本发明的实施例中,解码器60用于在不同的编解码器配置中的一个中启动解码器核心134。举例而言,可使用不同的编解码器配置(即,如上所解释的不同的编解码器配置参数)启动软件解码器核心的不同实例。在本发明的实施例中,将解码器(核心)初始化可包含关闭当前解码器实例且使用额外信息中(即,在所接收的比特流内)包括的或外部传送的(即,在所接收的比特流外部)编解码器配置参数开启新解码器实例。解码器60可依据用于对所接收的经编码的音频数据的各个片段进行编码的编解码器配置而切换至不同的编解码器配置。若额外信息指示不同于当前编解码器配置的编解码器配置,则解码器60可用于从当前编解码器配置(即,在遇到特殊帧之前的音频解码器的编解码器配置)切换至不同的编解码器配置。参考图6至图8解释具有AAC解码器行为的音频解码器的实施例的进一步细节。图8示意性地示出AAC解码器的行为。参考标准ISO/IECDTR14496-24,“AudioandSystemsInteraction”。图8示出在如下多个状态上的解码器的行为:对应于一个或多个预载帧的第一状态200,其为与帧AU1、AU2及AU3中的每一个相关联的一个状态;以及“清空”状态202。为生成用于AU1的有效输出样本,必须对一个或多个预载帧及帧AU1两者进行解码。通过预载帧生成的样本被丢弃,即,其仅用于将解码器初始化而不被重播。然而,对于设置内部解码器状态,对预载帧的解码是强制的。在本发明的实施例中,特殊帧的额外信息包括预载帧。因此,解码器能够对预载帧进行解码以设置内部解码器状态,以便特殊帧可被解码,且可发生特殊帧的有效输出样本的立即播出。“预载”AU(帧)的实际数目取决于解码器启动延迟,在图8的示例中为一个AU。大体而言,对于文件播放,如参考图8所描述的立即播出实施在系统层级上。迄今为止,其仅在解码器启动时发生。然而,特殊帧(IPF)始终携载足够信息来完全初始化内部解码器状态并填充内部缓冲器。因此,特殊帧的插入实现在随机流位置处的立即播出。图8中的清空状态202示出在对最后帧AU3进行解码之后进行清空的情况下的解码器的行为。清空意味着向解码器馈送假想零帧,即,由所有“数字零”输入样本构成的假想帧。归因于AAC家族的重迭添加,清空导致不消耗新输入帧而达成的有效输出。此之所以为可能的是因为最后帧AU3包括关于在对帧AU3之后的下一帧进行解码时将获得的输出样本值的预测信息(此是因为帧重迭在多个时域样本值之上)。大体而言,帧的前半部分与在先帧重迭,且帧的后半部分与随后帧重迭。因此,在对第一帧进行解码时获得的输出样本值的后半部分包括关于在对第一帧之后的第二帧进行解码时获得的输出样本值的前半部分的信息。如下文将解释的,在实施交叉衰减时可利用此特性。现参考图6描述音频解码器及用于对音频输入数据进行解码的方法的实施例的进一步细节,其中音频解码器用于进行如参考图6及图7所描述的方法。该过程在300处开始。解码器扫描用于IPF的传入帧(AU)并判断传入帧是否为IPF(302)。若传入帧并非IPF,则对该帧进行解码(304),且该过程跳转至下一帧(306)。若不存在下一帧,则该过程结束。输出经解码的PCM样本,如区块308(其可表示输出缓冲器)所指示。若在302中判定帧为IPF,则评估编解码器配置(310)。举例而言,评估图2中所示的“配置”字段。关于编解码器配置(流配置)是否已改变做出判断(312)。若编解码器配置并未改变,即,若额外信息指示编解码器配置相同于当前编解码器配置,则跳过诸如扩展有效载荷的额外信息,且该过程跳转至304,在304处,继续正常地进行解码。若编解码器配置已改变,则应用以下步骤。清空解码器(314)。将由清空解码器产生的输出样本储存于清空缓冲器316中。这些输出样本(或这些输出样本的至少一部分)为至交叉衰减过程318的第一输入。然后使用如由额外信息(如,由图2中的字段“配置”)指示的新编解码器配置且使用特殊帧中包含的在先帧将解码器重新初始化。在重新初始化之后,解码器能够对特殊帧(即,与特殊帧相关联的经编码的音频样本值)进行解码。对特殊帧进行解码(322)。将通过对特殊帧进行解码而获得的输出样本(PCM样本)储存为至交叉衰减过程318的第二输入。举例而言,对应PCM输出样本可储存在缓冲器324(其可被称作IPF缓冲器)中。在交叉衰减过程318中,基于来自清空缓冲器及IPF缓冲器的两个输入信号而计算交叉衰减。交叉衰减的结果在区块308被输出为PCM输出样本。其后,该过程跳转至下一帧(306),且对于该下一帧重复该过程。在当前帧为最后帧的情况下,该过程结束。现参考图7解释在配置改变(如在312中已检测到的)之后进行的那些步骤的进一步细节。从IPF的额外信息取回编解码器配置(330),且提供该编解码器配置以用于解码器重新初始化(332)。在将解码器重新初始化之前,清空解码器(314),且将所得输出样本储存在清空缓冲器316中。将解码器重新初始化可包括关闭当前解码器实例并以新配置开启新解码器实例。在重新开启新解码器实例时,使用关于IPF中包含的编解码器配置的信息。在开启新解码器实例之后,通过对IPF中包括的预载帧进行解码而将其初始化。假定IPF中包含的预载帧的数目为m,如由区块334所指示。判断是否m>0(336)。若m>0,则对预载帧n-m进行解码(338),其中n指示IPF。丢弃所获得的输出PCM样本(340)。m减小1,且该过程跳转至区块336。通过对IPF中包含的所有预载帧重复步骤336至342,进行在重新开启解码器之后填充该解码器的解码器状态的过程(344)。若已对所有预载帧进行解码,则该过程跳转至区块332,在区块332处,对IPF进行解码。将所得PCM样本传送至PCM缓冲器(342)。基于来自PCM缓冲器316及324的输出进行交叉衰减318,且将交叉衰减过程318的输出传送至输出PCM缓冲器308。在上文所述的实施例中,解码器重新初始化包括关闭当前解码器实例且开启新解码器实例。在可选实施例中,解码器可包括并行的多个解码器实例,以便解码器重新初始化可包括在不同解码器实例之间的切换。此外,解码器重新初始化包括通过对特殊帧的额外信息中包括的预载帧进行解码而填充解码器状态。如上所解释,利用AAC解码器上的内部存储器状态及缓冲器(重迭添加、滤波器状态),可以不采用借助于清空过程的传递新输入而获得输出样本。清空的输出信号极类似于用于所获得的输出样本值的至少一部分(特别地,其第一部分)的“原始信号”,参见图8中的状态202。通过清空过程获得的所获得的输出样本值用于在下文中详细描述的交叉衰减过程。如在图8中的状态202中可看出,所得清空缓冲器中的能量将依据当前编解码器配置的变换窗及使能的工具而随时间减小。因此,应在清空缓冲器的第一部分处应用交叉衰减,在此处输出信号可被认为是几乎满能量的。利用可清空现代音频编解码器以获得用于连续交叉衰减的有效样本的事实显著地有助于获得无缝的切换值。因此,在本发明的实施例中,交叉衰减器用于在通过当前编解码器配置的清空过程而获得的输出值与通过使用额外信息中指示的编解码器配置对特殊帧进行解码而获得的输出样本值之间进行交叉衰减。下文中,描述交叉衰减过程的特定实施例。将交叉衰减应用于如上所述的音频信号以避免CAR切换期间的可听到的伪声(artifact)。典型伪声为输出信号能量的下降。如上所解释,经清空的信号的能量将依据配置而减小。因此,交叉衰减的长度必须依据配置而谨慎地选择以避免伪声。若交叉衰减窗过短,则由于音频波形的差异,切换过程可引入可听到的伪声。若交叉衰减窗过长,则经清空的音频样本已经损失能量,且将引起输出信号能量的下降。对于使用256个样本的短变换窗的AAC编解码器配置,可应用长度为n=128个样本(每信道)的线性交叉衰减。在其他实施例中,可应用长度为(例如)64个样本(每信道)的线性交叉衰减。下文描述使用128个样本的线性交叉衰减过程的示例:交叉衰减过程可使用清空缓冲器的前128个样本。通过将清空缓冲器的前128个样本Sf=Sf0、…、Sf127乘以而将清空缓冲器开窗,其中ⅰ为当前样本的索引。结果可储存在交叉衰减器的内部缓冲器中,即此外,将IPF缓冲器Sd开窗,其中前128个经解码的IPF输出样本乘以因数其中ⅰ为当前样本的索引。结果可储存在交叉衰减器的内部缓冲器中,即将内部缓冲器的前128个样本相加:S0=5d′0+Sf′0,...,5d′127+Sf′,Sd′128,…Sd′n,且所得值被输出至PCM输出样本缓冲器308。因此,达成在清空缓冲器的前128个输出样本值与IPF缓冲器的前128个样本值上的的线性交叉衰减。大体而言,交叉衰减器可用于在使用当前编解码器配置而获得的多个输出样本值与通过对与特殊帧相关联的经编码的音频样本值进行解码而获得的多个输出样本值之间进行交叉衰减。大体而言,在诸如AAC家族编解码器及AMR家族编解码器的音频编解码器中,在先帧的经编码的音频样本值隐含地包含关于在下一帧中编码的音频信号的信息。可在于不同的编解码器配置之间切换时实施交叉衰减中利用此特性。举例而言,若当前编解码器配置为AMR编解码器配置,则可基于零脉冲响应(即,基于在当前编解码器配置的最后帧之后将零帧应用于解码器核心时获得的响应)获得用于交叉衰减中的输出样本值。在本发明的实施例中,用于音频编码及解码的额外机制可用于交叉衰减中。举例而言,用于SBR(频谱带复制)的内部滤波器包含延迟,且因此包含可用于交叉衰减中的冗长安定时间。因此,本发明的实施例并不限于任何特定交叉衰减以达成编解码器配置之间的无缝切换。举例而言,交叉衰减器可用于将增大的权重应用于特殊帧的第一数目的输出样本值,且将减小的权重应用于基于使用当前编解码器配置进行解码而获得的多个输出样本值,其中权重可线性地增大和减小,或可以非线性方式增大和减小。在本发明的实施例中,解码器的初始化包含使用特殊帧的额外信息将内部解码器状态及缓冲器初始化。在本发明的实施例中,在编解码器配置改变时,发生解码器的初始化。在本发明的其他实施例中,特殊帧可用于将解码器初始化而不改变编解码器配置。举例而言,在本发明的实施例中,解码器可用于立即播出,其中填充解码器的内部状态及缓冲器被而不改变编解码器配置,其中可进行利用零样本的交叉衰减。因此,有效样本的立即播出是可能的。在其他实施例中,可实施快进功能,其中可依据期望的快进速率而以预定间隔对特殊帧进行解码。在本发明的实施例中,可基于供应至音频解码器的外部控制信号而进行如下决策:是否应发生(即,是否必需或需要)使用特殊帧的初始化。如上所解释,特殊帧(如,如图2中所示的IPF80)可分别用于比特率自适应及比特流切换。可应用以下约束:所有表示(如,不同比特率、编码工具的不同利用率)经时间对准,IPF插入至每个表示,将IPF同步,且图2中的IPF字段“配置”包含流配置,即,工具的激活等。图9示出由自适应成流环境中的比特流切换所采用的比特率的示例。有时被称为框架的控制逻辑(如,图1中所示的系统)将音频数据划分成片段。片段包含多个AU。音频流配置可在每个片段边界处改变。音频解码器不知晓分段,仅由控制逻辑向其提供简单的AU。为在每个片段边界处实现音频比特流切换,每个片段的第一AU可为IPF,如上所解释。在图9中,片段边界400由虚线指示。在图9中所说明的情形中,向音频解码器提供“流1”的AU40(AU1至AU3)。控制逻辑决定在下一片段边界(即,边界400)处切换至“流2”。在对“流1”的AU3进行解码之后,控制逻辑可将“流2”的AU4传递至音频解码器而无任何进一步通知。AU4为特殊帧(IPF),且因此,可在切换至流2之后发生立即播出。参考图9中所示的情形,切换可如下发生:对于流1的AU1至AU3,未检测到IPF,且解码过程正常地进行。对于流2的AU4,检测到IPF。此外,检测到流配置的改变。音频解码器将图9中的清空过程402初始化。所得PCM输出样本储存在临时缓冲器(清空缓冲器)中以供稍后使用。利用IPF所携载的流配置重新初始化音频解码器。对IPF有效载荷(“预载”)进行解码。丢弃所得输出PCM样本。此时,内部解码器状态及缓冲器已被完全初始化。对AU4进行解码。为避免切换伪声,应用交叉衰减。储存在清空缓冲器中的PCM样本被逐渐渐弱(fadedout),而从对AU4进行解码而产生且储存在PCM输出缓冲器中的PCM样本被逐渐增强(fadedin)。播出交叉衰减的结果。因此,可利用IPF来实现经压缩的音频表示的切换。解码器可接收简单的AU作为输入,因此不需要进一步的控制逻辑。现描述MPEG-DUSAC的上下文中的特定实施例的细节,其中比特流语法可如下:AudioPreRoll()语法元素用于传输先前帧的音频信息连同当前帧的数据。额外音频数据可用于补偿解码器启动延迟(预载),因此在利用AudioPreRoll()的流访问点处实现随机访问。UsacExtElement()可用于传输AudioPreRoll()。为此目的,将使用新的有效载荷标识符:表1:用于AudioPreRoll()的有效载荷标识符名称值ID_EXT_ELE_AUDIOPREROLL4图10中示出AudioPreRoll()的语法,并解释如下:configLen以字节计的配置语法元素的大小。Config()解码器配置语法元素。在MPEG-DUSAC的上下文中,此为如在ISO/IEC23003-3:2012中定义的UsacConfig()。Config()字段可经传输以能够响应音频配置的改变(流的切换)。numPreRollFrames作为音频预载数据传输的预载访问单元(AU)的数目。AU的合理数目取决于解码器启动延迟。auLen以字节计的AU长度。AccessUnit()预载AU。扩展元素中携载的预载数据可“带外”传输,即,可不满足缓冲器要求。为了使用用于随机访问及比特率自适应的AudioPreRoll(),应用以下约束:-每个帧的第一元素为类型为ID_EXT_ELE_AUDIOPREROLL的扩展元素(UsacExtElement)。-应如表2中所述地设置对应UsacExtElement()。-因此,若存在预载数据,则应按以下比特顺序开始此UsacFrame():\1\:usacIndependencyFlag。\1\:usacExtElementPresent(参考音频预载扩展元素)。\0\:usacExtElementUseDefaultLength(参考音频预载扩展元素)。-若未传输预载数据,则不应存在扩展有效载荷(usacExtElementPresent=0)。-具有索引“0”及“numPreRollFrames-1”的预载帧应为独立地可解码的,即,usacIndependencyFlag应设定为“1”。表2:用于AudioPreRoll()的UsacExtElement()的设置usacExtElementTypeID_EXT_ELE_AUDIOPREROLLusacExtElementConfigLength0usacExtElementDefaultLengthPresent0usacExtElementPayloadFrag0在利用如所述的AudioPreRoll()结构的每个帧处,随机访问及立即播出是可能的。以下伪代码描述解码过程:可通过相同音频内容的不同经编码的表示之间的切换利用比特率自适应。如所述的AudioPreRoll()结构可用于该目的。通过以下伪代码描述比特率自适应情况下的解码过程:尽管已在装置的上下文中描述了一些方面,但显然,这些方面还表示对应方法的描述,其中区块或装置对应于方法步骤或方法步骤的特征。类似地,方法步骤的上下文中所描述的方面还表示对应区块或对应装置的项目或特征的描述。可由(或使用)硬件装置(例如,微处理器、可编程计算机或电子电路)执行方法步骤中的一些或全部。在一些实施例中,可由此装置执行最重要方法步骤中的某一步或多步。在本发明的实施例中,本文中所描述的方法为处理器实施或计算机实施的。依据某些实施要求,本发明的实施例可以以硬件或软件实施。可使用具有存储于其上的电子可读控制信号的诸如数字存储介质的非暂时性存储介质,例如软盘、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM或闪存,执行实施方案,电子可读控制信号与(或能够与)可编程计算机系统协作,从而执行各个方法。因此,数字存储介质可是计算机可读的。根据本发明的一些实施例包含具有电子可读控制信号的数据载体,电子可读控制信号能够与可编程计算机系统协作,从而执行本文中所描述的方法中的一个。大体而言,本发明的实施例可被实施为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,程序代码可操作用于执行所述方法中的一个。程序代码可(例如)储存于机器可读载体上。其他实施例包含储存于机器可读载体上的用于执行本文中所描述的方法中的一个的计算机程序。换言之,因此,本发明方法的实施例为具有程序代码的计算机程序,当计算机程序在计算机上运行时,该程序代码用于执行本文中所描述的方法中的一个。因此,本发明方法的另一实施例为数据载体(或数字存储介质,或计算机可读介质),其包含记录于其上的用于执行本文中所描述的方法中的一个的计算机程序。数据载体、数字存储介质或记录介质通常为有形的及/或非暂时性的。因此,本发明方法之另一实施例为表示用于执行本文中所描述的方法中的一个的计算机程序的数据流或信号序列。数据流或信号序列可(例如)被配置为通过数据通信连接(例如,通过因特网)进行传送。另一实施例包含处理装置(例如,计算机或可编程逻辑装置),其被配置为或适于执行本文中所描述的方法中的一个。另一实施例包含一种计算机,其具有安装于其上的用于执行本文中所描述的方法中的一个的计算机程序。根据本发明的另一实施例包含用于将用于执行本文中所描述的方法中的一个的计算机程序传输(例如,电子地或光学地)至接收器的装置或系统。接收器可(例如)为计算机、移动装置、存储器装置或类似。装置或系统可(例如)包含用于将计算机程序传输至接收器的文件服务器。在一些实施例中,可编程逻辑装置(例如,现场可编程门阵列)可用于执行本文中所描述的方法的一些或全部功能。在一些实施例中,现场可编程门阵列可与微处理器协作,以执行本文中所描述的方法中的一个。大体而言,优选地由任何硬件装置执行方法。上文所描述的实施例仅仅说明本发明的原理。应理解的是,本文中所描述的配置及细节的修改及变化对于本领域的其他技术人员是显而易见的。因此,其仅受到所附的专利权利要求的范围的限制,而不受本文中以实施例的描述及解释方式所呈现的特定细节的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1