抖动缓冲器控制器、音频解码器、方法及计算机程序的制作方法

文档序号:9757009阅读:396来源:国知局
抖动缓冲器控制器、音频解码器、方法及计算机程序的制作方法
【技术领域】
[0001]根据本发明的实施例涉及一种用于基于输入音频内容来控制对已解码音频内容的提供的抖动缓冲器控制器。
[0002]根据本发明的另外实施例涉及一种用于基于输入音频内容来提供已解码音频内容的音频解码器。
[0003]根据本发明的另外实施例涉及一种用于基于输入音频内容来控制对已解码音频内容的提供的方法。
[0004]根据本发明的另外实施例涉及一种用于执行所述方法的计算机程序。
【背景技术】
[0005]音频内容(包括常规音频内容,如音乐内容、话语内容、混合常规音频/话语内容)的存储及传输是重要的技术领域。由以下事实引起特别挑战:收听者期望音频内容的连续播放,而没有任何中断,且没有由音频内容的存储和/或传输引起的任何可听到的假象。同时,需要使关于存储方式及数据传输方式的要求保持尽可能地低,以将成本保持在可接受的限度内。
[0006]例如,如果从存储介质的读出暂时被中断或延迟,或如果在数据源与数据宿之间的传输暂时被中断或延迟,则会造成问题。例如,经由因特网的传输并不十分可靠,这是由于TCP/IP分组可能会丢失,且由于在因特网上的传输延迟可以(例如)取决于因特网节点的变化的负载情形而变化。然而,为了具有令人满意的用户体验,需要音频内容的连续播放,而没有可听到的“间隙”或可听到的假象。此外,需要避免将由大量音频信息的缓冲引起的实质延迟。
[0007]鉴于以上论述,可认识到,甚至在不连续提供音频信息的情况下仍然需要提供良好音频质量的概念。

【发明内容】

[0008]根据本发明的实施例创建了一种用于基于输入音频内容来控制对已解码音频内容的提供的抖动缓冲器控制器。所述抖动缓冲器控制器配置为按照信号自适应方式选择基于帧的时间缩放或基于样本的时间缩放。
[0009]根据本发明的这种实施例是基于以下发现:使用时间缩放允许提供具有良好或至少可接受质量的连续已解码音频内容,即使输入音频内容包含实质抖动,或甚至在输入音频内容的部分(例如,帧)丢失的情况下亦然。此外,根据本发明的这种实施例是基于以下发现:基于帧的时间缩放在计算上有效率且在一些情况下提供良好结果,而在一些情形下,通常在计算上较复杂的基于样本的时间缩放是可推荐的(或甚至必需的),以便避免已解码音频内容的可听到的假象。此外,已发现,可通过按信号自适应方式选择基于帧的时间缩放和基于样本的时间缩放来获得特别好的结果,这是因为可以这种方式使用更适当类型的时间缩放。因此,根据本发明的此实施例提供音频质量、延迟与计算复杂度之间的良好取舍。
[0010]在优选实施例中,当使用基于帧的时间缩放时,丢弃或插入音频帧以控制抖动缓冲器的深度。此外,当使用基于样本的时间缩放时,执行音频信号部分的时间移位的重叠相加。因此,当音频信号允许且不会引起不可接受的音频失真时,可能使用在计算上非常有效率的方法,例如,丢弃或插入音频帧。另一方面,当在计算上较不复杂的方法(例如,音频帧的丢弃或插入)将不会(或鉴于对音频内容的评定或分析,将可能不会)导致令人满意的音频质量时,使用更完善且可精细调整的方法,也就是说,音频信号部分的时间移位的重叠相加。因此,可以实现计算复杂度与音频质量之间的良好折衷。
[0011]在优选实施例中,所述抖动缓冲器控制器配置为按照信号自适应方式在基于帧的时间缩放、基于样本的时间缩放和时间缩放的去激活之间切换。通过使用此方法,当发现时间缩放操作(甚至基于样本的时间缩放操作)将导致音频内容的不可接受的退化时,可以(至少暂时地)避免时间缩放操作。
[0012]在优选实施例中,所述抖动缓冲器控制器配置为选择所述基于帧的时间缩放或所述基于样本的时间缩放,以便控制去抖动缓冲器(其也可以简要地标识为“抖动缓冲器”)的深度。因此,可能将去抖动缓冲器(或抖动缓冲器)的“深度”(或充满度)保持在所需的范围内,这允许对抖动进行处理,而不会实质地使音频质量退化,同时仍保持延迟(其通常对应于去抖动缓冲器的深度)合理地小。
[0013]在优选实施例中,所述抖动缓冲器控制器配置为在先前帧“未激活”的情况下,选择舒适噪声插入或舒适噪声删除。这种概念是基于以下发现:如果帧(例如,先前帧)是未激活的,例如,当因为“说话者”刚好正在收听而在某一时间段内不存在话语时,产生舒适噪声就足够了。然而,已发现,可通过将额外舒适噪声(例如,舒适噪声的整个帧)插入音频内容来进行时间缩放,而不会严重地使听觉印象退化,这是因为延长时间段的舒适噪声将不会被人察觉为实质假象。类似地,舒适噪声(例如,舒适噪声帧)的删除并不会实质上使听觉印象退化,这是由于人将不会“丢失”舒适噪声帧。因此,如果先前帧是未激活的(例如,舒适噪声帧),则可执行非常有效率的基于帧的时间缩放(通过插入舒适噪声帧或通过删除舒适噪声帧)。因此,在先前帧未激活的情况下,对基于帧的时间缩放的信号自适应选择可带来时间缩放的良好效率(而基于帧的时间缩放通常并不十分适合于音频内容的“激活”部分,除非存在特定情况,例如空缓冲器)。
[0014]在优选实施例中,所述舒适噪声插入导致将舒适噪声帧插入去抖动缓冲器(亦简要地标识为抖动缓冲器)。此外,所述舒适噪声删除优选地导致从所述去抖动缓冲器中移除舒适噪声帧。因此,可以执行非常有效率的时间缩放,这是由于可以容易地产生舒适噪声帧(其中所述舒适噪声帧通常仅包含用于发信号通知应该产生舒适噪声的适当信令信息)。
[0015]在优选实施例中,当各个帧携带指示产生舒适噪声的信令信息时,将所述各个帧视为未激活的。因此,可以容易地执行时间缩放模式(基于帧的时间缩放或基于样本的时间缩放)的信号自适应选择。
[0016]在优选实施例中,所述抖动缓冲器控制器配置为在先前帧是“激活的”情况下,实现音频信号部分的时间移位的重叠相加。这种概念是基于以下发现:在激活的帧(例如,包含音频内容的帧,而非指示产生舒适噪声的信令信息)的情况下,音频信号部分的时间移位的重叠相加减少(或甚至避免)了可听到的假象。
[0017]在优选实施例中,音频信号部分的时间移位的重叠相加适用于允许以小于所述音频样本块的长度(或者小于帧长度)、小于所述音频样本块的长度的四分之一(或者小于所述帧长度的四分之一)、或者小于或等于两个音频样本的分辨率来调整在基于单一的帧或基于所述输入音频内容的后续帧获得的音频样本块之间的时间移位。换句话说,当使用音频信号部分的时间移位的重叠相加时,可以通过非常精细的分辨率(其可以如单一音频样本那样小)来调整时间移位。因此,时间移位可以被调整使得可按十分适宜于信号部分的方式执行重叠相加(在随后的音频样本块之间)(其中通常在具有比较高的类似性的信号部分之间执行重叠相加,这又避免了假象)。
[0018]在优选实施例中,所述抖动缓冲器控制器配置为确定音频样本块是否表示激活的但是静音的音频信号部分(例如,因为不产生舒适噪声而被视为“激活的”音频信号部分,但因为所述音频信号部分的能量小于或等于某能量阈值或甚至等于零,其被视为“静音”),且选择重叠相加模式,在所述模式中对于表示“静音”(但“激活的”)音频信号部分的音频样本块,将表示静音音频信号部分的音频样本块与后续音频样本块之间的时间移位设置为预定最大值。因此,针对“激活的”但“静音的”(例如,根据如上所述的定义)的所述音频信号部分执行最大时间缩放。结果,针对时间缩放不引起实质可听到的假象的音频信号部分执行最大时间缩放,这是由于“静音”音频信号部分可以在极少可听到的失真或无可听到的失真的情况下时间缩放。此外,通过将最大时间缩放应用于“静音”音频信号部分,仅将比较小的时间缩放应用于“非静音”音频信号部分(例如,包含大于或等于能量阈值的能量的“激活”音频信号部分)就足够了,这再次有助于减少或甚至避免可听到的失真(由于当应用于非静音音频信号部分时,与较大的时间缩放相比,较小的时间缩放通常导致较小失真)。
[0019]在优选实施例中,所述抖动缓冲器控制器配置为确定音频样本块是否表示激活的且非静音的音频信号部分,并且选择重叠相加模式,在所述模式中按照信号自适应方式确定音频样本块(其按照相对于原始时间位置进行时间移位的时间位移方式进行重叠相加)之间的时间移位。已发现,按信号自适应方式确定(后续)音频样本块之间的时间移位十分适合于在音频样本块(或随后音频样本块)表示激活的且非静音音频信号部分的情况下执行重叠相加,这是由于自适应地确定要应用于重叠相加操作的时间移位减少(或甚至避免)可能由激活的且非静音音频信号部分的时间缩放造成的可听到的假象。
[0020]在优选实施例中,所述抖动缓冲器控制器配置为响应于确定需要时间伸展和抖动缓冲器为空而选择插入隐藏帧。因此,在空抖动缓冲器的情况下,所述抖动缓冲器控制器可以执行特定处置,这是由于在空抖动缓冲器的情况下,其他时间缩放概念通常不带来良好结果。例如,隐藏帧可包含类似于先前帧(例如,在抖动缓冲器变空之前获得的最后一个帧)的音频内容的音频内容。然而,在抖动缓冲器变空之前的先前帧携带指示产生舒适噪声的信令信息的情况下,隐藏帧也可以包含指示产生舒适噪声的这种信令信息。
[0021]在优选实施例中,所述抖动缓冲器控制器配置为取决于当前是否使用结合舒适噪声产生的不连续传输(或等效地,是否已用于先前帧)来选择所述基于帧的时间缩放或所述基于样本的时间缩放。这种概念是基于以下发现:如果当前使用结合舒适噪声产生的不连续传输(或用于先前帧),则使用基于样本的时间缩放效率低下。因此,所述抖动缓冲器控制器可使用关于当前是否使用结合舒适噪声产生(亦以CNG来标识)的不连续传输(亦以DTX来标识)(或是否已用于先前帧)的信息,以便有助于在基于帧的时间缩放与基于样本的时间缩放之间的切换。
[0022]在优选实施例中,所述抖动缓冲器控制器配置为在当前使用舒适噪声产生(或等效地,已用于先前帧)的情况下,选择基于帧的时间缩放,且在当前未使用舒适噪声产生(或等效地,尚没有用于先前帧)的情况下,选择基于样本的时间缩放。因此,时间缩放模式十分适宜于信号(即使在空抖动缓冲器的例外条件下,也可以使用通过使用隐藏帧的基于帧的“时间缩放”)。
[0023]在优选实施例中,所述抖动缓冲器控制器配置为在当前使用结合舒适噪声产生的不连续传输(或等效地,已用于先前帧)的情况下,选择所述舒适噪声插入或舒适噪声删除来进行时间缩放,在当前音频信号部分(或等效地,先前的音频信号部分)是激活的(例如,不使用舒适噪声产生)但包含小于或等于能量阈值(“静音”音频信号部分)的信号能量并且抖动缓冲器不空的情况下,选择使用预定时间移位的重叠相加操作来进行时间缩放,在当前音频信号部分(或等效地,先前的音频信号部分)是激活的(例如,不包含舒适噪声产生)且包含大于或等于所述能量阈值的信号能量并且所述抖动缓冲器不空的情况下,选择使用信号自适应时间移位的重叠相加操作来进行时间缩放,且在当前音频信号部分(或等效地,先前的音频信号部分)是激活的并且所述抖动缓冲器为空的情况下,选择插入隐藏帧来进行时间缩放。因此,可针对音频信号的每一部分(或帧)以在计算上有效率的方式选择适当的时间缩放模式。
[0024]在优选实施例中,所述抖动缓冲器控制器配置为在当前音频信号部分(或等效地,先前的音频信号部分)是激活的(例如,不包含舒适噪声产生)且包含大于或等于所述能量阈值的信号能量并且所述抖动缓冲器不空的情况下,选择使用信号自适应时间移位和质量控制机制的重叠相加操作来进行时间缩放。使用信号自适应时间移位和质量控制机制的重叠相加操作的使用带来以下优势:可能使用质量控制机制避免不能容忍的可听到的假象。因此,所述质量控制机制可(例如)即使当前音频信号部分是激活的且包含大于或等于能量阈值的信号能量并且即使控制逻辑请求时间移位时仍然防止时间缩放的应用。
[0025]根据本发明的实施例创建一种用于基于输入音频内容提供已解码音频内容的音频解码器。所述音频解码器包含抖动缓冲器,其配置为对表示音频样本块的多个音频帧进行缓冲。所述音频解码器也包括解码器内核,其配置为基于从所述抖动缓冲器接收的音频帧提供音频样本块。所述音频解码器也包括基于样本的时间缩放器,其中所述基于样本的时间缩放器配置为基于由所述解码器内核提供的音频样本提供经时间缩放的音频样本块。此外,所述音频解码器包含如上所述的抖动缓冲器控制器。所述抖动缓冲器控制器配置为按照信号自适应方式选择由所述抖动缓冲器执行的基于帧的时间缩放或由所述基于样本的时间缩放器执行的基于样本的时间缩放。因此,抖动缓冲器控制器选择两个实质上不同的时间缩放概念,其中在将音频帧输入解码器内核(例如,通过添加或移除整个音频帧)前执行基于帧的时间缩放,且其中基于由解码器内核提供的音频样本块执行基于样本的时间缩放。因此,以信号自适应方式进行两个实质上不同的时间缩放方法之间的选择,其允许使时间缩放模式适应于信号,且因此带来良好效率,同时避免了过多可听到的假象(或失真)。
[0026]在优选实施例中,所述抖动缓冲器配置为丢弃或插入音频帧以便执行基于帧的时间缩放。因此,可以按照特别有效率的方式执行时间缩放。丢弃的时间帧可以(例如)是包含指示产生舒适噪声(并且也可能还表示“静音”)的信令信息的时间帧。此外,插入的时间帧可(例如)是包含表示应产生舒适噪声的信令信息的时间帧。可以容易地插入或丢弃这种时间帧,其中如果丢弃的帧或在插入的帧之前的先前帧包含指示产生舒适噪声的信令信息,则通常几乎不存在(或无)任何可听到的失真。
[0027]在优选实施例中,所述音频解码器内核配置为响应于携带指示产生舒适噪声的信令信息的帧来执行舒适噪声产生。此外,所述解码器内核优选地配置为响应于空的抖动缓冲器而执行隐藏。使用配置为执行舒适噪声产生的解码器内核允许音频内容的有效率的传输,并且也允许有效率的时间缩放。此外,使用配置为响应于空抖动缓冲器而执行隐藏的解码器内核避免了以下问题:在没有隐藏功能性时,在空抖动缓冲器的情况下音频内容的播放会中断。因此,使用所述解码器内核允许已解码音频内容有效率且可靠的提供。
[0028]在优选实施例中,所述基于样本的时间缩放器配置为取决于对可通过所述时间缩放获得的输入音频信号的经时间缩放版本的质量的计算或估计,来执行所述输入音频信号的时间缩放。因此,引入额外的机制,所述额外的机制减少或甚至避免在第二阶段中(也就是说,在已经作出使用基于样本的时间缩放的决策之后)产生可听到的假象。换句话说,以信号自适应方式在第一阶段中执行基于帧的时间缩放与基于样本的时间缩放之间的选择,且在第二阶段中执行质量控制(可通过基于样本的时间缩放获得的音频信号的时间缩放版本的质量的计算估计),如果(基于样本的)时间缩放将实质上使音频内容退化,使得可通过所述时间缩放获得的输入音频信号的时间缩放版本的质量较差,则允许省略所述时间缩放。
[0029]根据本发明的实施例创建一种用于基于输入音频内容来提供已解码音频内容的方法。所述方法包含按照信号自适应方式选择基于帧的时间缩放或基于样本的时间缩放。此方法基于与上述抖动缓冲器控制器和与上述音频解码器相同的考虑。
[0030]根据本发明的又一实施例创建一种计算机程序,其用于当所述计算机程序正在计算机上执行时执行所述方法。所述计算机程序基于与上述方法相同的考虑。
【附图说明】
[0031]随后将参考附图描述根据本发明的实施例,其中:
[0032]图1示出了根据本发明的实施例的抖动缓冲器控制器的方框示意图;
[0033]图2示出了根据本发明的实施例的时间缩放器的方框示意图;
[0034]图3示出了根据本发明的实施例的音频解码器的方框示意图;
[0035]图4示出了根据本发明的另一实施例的音频解码器的方框示意图,其中示出了对抖动缓冲器管理(JBM)的概述;
[0036]图5示出了用以控制PCM缓冲程度的算法的伪程序代码;
[0037]图6示出了用以根据接收时间和RTP分组的RTP时间戳来计算延迟值和偏移值的算法的伪程序代码;
[0038]图7示出了用于计算目标延迟值的算法的伪程序代码;
[0039]图8示出了抖动缓冲器管理控制逻辑的流程图;
[0040]图9示出了具有质量控制的经修改的WSOLA的方框示意图表示;
[0041]图1Oa和图1Ob示出了用于控制时间缩放器的方法的流程图;
[0042]图11示出了用于时间缩放的质量控制的算法的伪程序代码;
[0043]图12示出了通过根据本发明的实施例获得的目标延迟和播放延迟的图形表示;
[0044]图13示出了在根据本发明的实施例中执行的时间缩放的图形表示;
[0045]图14示出了用于基于输入音频内容来控制对已解码音频内容的提供的方法的流程图;以及
[0046]图15示出了根据本发明的实施例的用于提供输入音频信号的经时间缩放的版本的方法的流程图。
【具体实施方式】
[0047]5.1.根据图1的抖动缓冲器控制器
[0048]图1示出了根据本发明的实施例的抖动缓冲器控制器的方框示意图。用于基于输入音频内容来控制对已解码音频内容的提供的抖动缓冲器控制器100接收音频信号110或与音频信号有关的信息(所述信息可描述音频信号或音频信号的帧或其他信号部分的一个或多个特性)。
[0049]此外,抖动缓冲器控制器100提供用于基于帧的缩放的控制信息(例如,控制信号)112。例如,控制信息112可以包含启动信号(用于基于帧的时间缩放)和/或定量控制信息(用于基于帧的时间缩放)。
[0050]此外,抖动缓冲器控制器100提供用于基于样本的时间缩放的控制信息(例如,控制信号)114。控制信息114可(例如)包含用于基于样本的时间缩放的启动信号和/或定量控制信息。
[0051]所述抖动缓冲器控制器110配置为按照信号自适应方式选择基于帧的时间缩放或基于样本的时间缩放。因此,抖动缓冲器控制器可配置为评估音频信号或关于音频信号110的信息,并且基于此来提供控制信息112和/或控制信息114。因此,例如可以按照以下方式使使用基于帧的时间缩放还是使用基于样本的时间缩放的决策适宜于音频信号的特性:如果基于音频信号和/或基于与音频信号的一个或多个特性有关的信息预期(或估计)基于帧的时间缩放不导致音频内容的实质退化,则使用在计算上简单的基于帧的时间缩放。相反,如果基于对音频信号110的特性的评估(由抖动缓冲器控制器)预期或估计需要基于样本的时间缩放来避免当执行时间缩放时的可听到的假象,则抖动缓冲器控制器通常决定使用基于样本的时间缩放。
[0052]此外,应注意,抖动缓冲器控制器110自然也可以接收额外控制信息,例如,指示是否应该执行时间缩放的控制信
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1