使用高级频谱延拓降低量化噪声的压扩装置和方法与流程

文档序号:14912877发布日期:2018-07-10 23:54阅读:179来源:国知局

相关申请的交叉引用

本申请要求在2013年4月5日提交的美国临时专利申请No.61/809028以及在2013年9月12日提交的No.61/877167的优先权,其全文内容通过引用并入于此。

技术领域

一个或更多个实施例一般涉及音频信号处理,更具体地说,涉及使用压缩/扩展(压扩(companding))技术降低音频编解码器中的编码噪声。



背景技术:

许多流行的数字声音格式利用丢弃数据中的一些来降低存储或数据速率要求的有损数据压缩技术。有损数据压缩的应用不仅降低源内容(例如,音频内容)的保真度,而且它也可能引入压缩伪影(artifact)形式的可察觉失真。在音频编码系统的背景下,这些声音伪影被称为编码噪声或量化噪声。

数字音频系统根据定义的音频文件格式或流媒体音频格式,利用编解码器(编码器-解码器组件)来压缩和解压缩音频数据。编解码器实现试图以最小的比特数表示音频信号同时保持尽可能高的保真度的算法。在音频编解码器中典型地使用的有损压缩技术在人类听觉感知的心理声学模型上工作。音频格式通常涉及时/频域变换(例如,修正离散余弦变换-MDCT)的使用,并且使用诸如频率掩蔽或时间掩蔽之类的掩蔽效应,使得包括任何明显的量化噪声的某些声音被实际内容隐藏或掩蔽。

大多数音频编码系统是基于帧的。在帧内,音频编解码器通常在频域中对编码噪声进行整形,使得它变得最难听得见。几种目前的数字音频格式利用这种长持续时间的帧,使得帧可以包含几个不同级别或强度的声音。因为编码噪声随着帧的演变在级别上通常是平稳的,所以编码噪声在帧的低强度部分期间可能是最能听得见。这种效应可以表现为预回声(pre-echo)失真,在该预回声失真中,高强度片段之前的静寂(或低级别信号)被解码的音频信号中的噪声淹没。这种效应可能在来自诸如响板或其他尖锐的打击声源之类的打击乐器的瞬态声音或脉冲中最显著。这种失真典型地由在频域中引入、在时域中遍布于编解码器的整个变换窗的量化噪声引起。

目前用于避免或最小化预回声伪影的措施包括使用滤波器。但是,这种滤波器引入相位失真和时间拖尾(temporal smearing)。另一种可能的解决方案包括使用较小的变换窗,但是这种方法可能显著地减小频率分辨率。

在背景技术部分中讨论的主题不应当仅仅因为在背景技术部分中提到了而被认为是现有技术。类似地,在背景技术部分中提及的或者与背景技术部分的主题相关联的问题不应当被认为在现有技术中已预先认识到。背景技术部分中的主题仅代表不同的方法,其自身也可以是发明。



技术实现要素:

实施例针对一种通过经由如下过程将音频信号扩展到扩展的动态范围来处理接收到的音频信号的方法,所述过程包括:使用定义的窗形状将接收到的音频信号分成多个时间片段,使用音频信号的频域表示的基于非能量的平均来在频域中计算用于每个时间片段的宽带增益,以及将增益值施加到每个时间片段以获得扩展的音频信号。对施加到每个时间片段的宽带增益的增益值进行选择以具有放大相对高强度的片段和衰减相对低强度的片段的效果。对于该方法,接收到的音频信号包括经由如下压缩过程从原始动态范围压缩的原始音频信号,所述压缩过程包括使用定义的窗形状将原始音频信号分成多个时间片段,使用原始音频信号的频域样本的基于非能量的平均来在频域中计算宽带增益,以及将宽带增益施加到原始音频信号。在该压缩过程中,对施加给每个时间片段的宽带增益的增益值进行选择以具有放大相对低强度的片段和衰减相对高强度的片段的效果。扩展过程被配置为基本上恢复初始音频信号的动态范围,并且扩展过程的宽带增益可以基本上是压缩过程的宽带增益的逆。

在实现通过扩展过程处理接收到的音频信号的方法的系统中,可以使用滤波器组(filterbank)组件来分析音频信号以获得其频域表示,并且所定义的用于分段成多个时间片段的窗形状可以与用于滤波器组的原型滤波器(prototype filter)相同。类似地,在实现通过压缩过程处理接收到的音频信号的方法的系统中,可以使用滤波器组组件来分析原始音频信号以获得其频域表示,并且所定义的用于分段成多个时间片段的窗形状可以与用于滤波器组的原型滤波器相同。任一情况下的滤波器组可以是QMF组或短时傅里叶变换中的一个。在该系统中,在通过产生比特流的音频编码器和对比特流进行解码的解码器修正被压缩的信号之后,获得用于所述扩展过程的接收到的信号。编码器和解码器可以包括基于变换的音频编解码器的至少一部分。该系统还可以包括处理通过比特流接收到的并且确定所述扩展过程的激活状态的控制信息的组件。

附图说明

在下面的附图中,相同的附图标记用来表示相同的要素。虽然下面的附图描绘了各种示例,但是一种或更多种实现并不局限于附图中所描绘的示例。

图1例示了在一个实施例下,用于在基于变换的音频编解码器中压缩和扩展音频信号的系统。

图2A例示了在一个实施例下,被分成多个短时间片段的音频信号。

图2B例示了在一个实施例下,图2A的在每个短时间片段上施加宽带增益之后的音频信号。

图3A是例示了在一个实施例下压缩音频信号的方法的流程图。

图3B是例示了在一个实施例下扩展音频信号的方法的流程图。

图4是例示了在一个实施例下用于压缩音频信号的系统的框图。

图5是例示了在一个实施例下用于扩展音频信号的系统的框图。

图6例示了在一个实施例下音频信号到多个短时间片段的分割。

具体实施方式

描述使用压扩技术实现音频编解码器中的量化噪声的时间噪声整形的系统和方法。这些实施例包括使用在QMF域中实现的压扩算法来实现量化噪声的时间整形。所述过程包括期望的解码器压扩等级的编码器控制,以及超越单音调应用而延伸到立体声和多声道的压扩。

在此描述的一个或更多个实施例的方面可以在处理用于穿过网络传输的音频信号的音频系统中实现,所述网络包括执行软件指令的一个或更多个计算机或处理设备。所描述的实施例的任何一个可以单独使用或者在任意组合中彼此一起使用。虽然各种实施例可能受在说明书中一个或更多个地方可能讨论或略为提及的现有技术的各种缺陷的启发,实施例不一定解决这些缺陷的任何一个。换句话说,不同的实施例可以解决在说明书中可能讨论的不同缺陷。一些实施例可以仅部分地解决在说明书中可能讨论的一些缺陷或仅一个缺陷,并且一些实施例可以不解决这些缺陷中的任何一个。

图1例示了在一个实施例下,用于在基于编解码器的音频处理系统中降低量化噪声的压扩系统。图1例示了围绕包括编码器(或“核心编码器”)106和解码器(或“核心解码器”)112的音频编解码器建立的音频信号处理系统。编码器106将音频内容编码成用于在网络110上传输的数据流或信号,在那里它被解码器112解码以用于回放或进一步的处理。在一个实施例中,编解码器的编码器106和解码器112实现有损压缩方法以降低数字音频数据的存储和/或数据速率要求,并且这种编解码器可以实现为MP3、Vorbis、杜比数字(AC-3)、AAC或类似的编解码器。编解码器的有损压缩方法产生编码噪声,其中编码噪声通常随着由编解码器定义的帧的演变而具有平稳的级别。这种编码噪声经常在帧的低强度部分期间最能听得见。通过提供在编解码器的核心编码器106之前的压缩前步骤组件104以及对核心解码器112的输出进行操作的扩展后步骤组件114,系统100包括降低现有编码系统中的感知到的编码噪声的组件。压缩组件104被配置为使用定义的窗形状将原始音频输入信号102分成多个时间片段,使用初始音频信号的频域样本的基于非能量的平均在频域中计算并施加宽带增益,其中施加给每个时间片段的增益值放大相对低强度的片段并且衰减相对高强度的片段。该增益修正具有压缩并显著减小输入音频信号102的原始动态范围的效果。然后,经压缩的音频信号在编码器106中被编码,在网络上110上传输,并在解码器112中被解码。解码后的压缩信号被输入到扩展组件114,其中扩展组件114被配置为通过向每个时间片段施加逆增益值而将压缩的音频信号的动态范围扩展回到原始输入音频信号102的动态范围来执行压缩前步骤104的逆操作。因此,音频输出信号116包括具有原始动态范围的音频信号,而编码噪声通过所述前步骤和后步骤压扩过程被去除。

如图1中所示,压缩组件或压缩前步骤104被配置为减小被输入到核心编码器106的音频信号102的动态范围。输入音频信号被分成许多短片段。每个短片段的大小或长度是核心编码器106所使用的帧大小的一小部分。例如,核心编码器的典型的帧大小可能为大约40至80毫秒。在这种情况下,每个短片段可以为大约1至3毫秒。压缩组件104计算适当的宽带增益值以逐片段地压缩输入音频信号。这通过用针对每个片段的适当的增益值修正信号的短片段来实现。选择相对大的增益值来放大相对低强度的片段,并且选择小的增益值来衰减高强度的片段。

图2A例示了在一个实施例下,被分成多个短的时间片段的音频信号,并且图2B例示了在通过压缩组件施加宽带增益之后的同一音频信号。如图2A中所示,音频信号202代表例如可能由打击乐器(例如响板)产生的瞬态或声音脉冲。如电压V对时间t的绘图中所示,信号以振幅的尖峰为特征。一般而言,信号的振幅与声音的声能或强度有关,并且代表任何时间点处的声音功率的量度。当通过基于帧的音频编解码器处理音频信号202时,信号的部分在变换(例如MDCT)帧204内处理。目前典型的数字音频系统利用相对长持续时间的帧,使得对于尖锐的瞬态或短脉冲声音,单个帧可以包括低强度以及高强度的声音。因此,如图1中所示,单个MDCT帧204包括音频信号的脉冲部分(峰)以及在峰前或峰后的相对大量的低强度信号。在一个实施例中,压缩组件104将信号分成许多短的时间片段206,并且向每个片段施加宽带增益,以压缩信号202的动态范围。可以基于应用需求和系统约束来选择每个短片段的数量和大小。相对于单个MDCT帧的大小,短片段的数量可以在从12至64个片段的范围内变化,并且可以典型地包括32个片段,但是实施例并不限于此。

图2B例示了在一个实施例下,在每个短的时间片段上施加宽带增益之后的图2A的音频信号。如图2B中所示,音频信号212具有与原始信号202相同的相对形状,但是低强度片段的振幅已经通过施加放大增益值而增大,而高强度片段的振幅已经通过施加衰减增益值而减小。

核心解码器112的输出是具有减小的动态范围的输入音频信号(例如,信号212)加上由核心编码器106引入的量化噪声。该量化噪声以在每个帧内在时间上几乎均一的级别为特征。扩展组件114作用于解码后的信号以恢复原始信号的动态范围。它使用基于短片段大小206的相同的短时间分辨率,并且逆变在压缩组件104中施加的增益。因此,扩展组件114在原始信号中具有低强度并已由压缩器放大的片段上施加小的增益(衰减),而在原始信号中具有高强度并已由压缩器衰减的片段上施加大的增益(放大)。由核心编码器添加且具有均一的时间包络的量化噪声因此被后处理器增益同时整形,以近似地符合原始信号的时间包络。该处理有效地使得量化噪声在安静的节段期间较难听得见。虽然噪声可能在高强度的节段期间被放大,但是由于音频内容自身的高声信号的掩蔽效应,它仍然较难听得见。

如图2A中所示,压扩过程用各增益值来单独地修正音频信号的离散片段。在某些情况下,这可能导致压缩组件的输出处的不连续,从而可能在核心编码器106中产生问题。类似地,扩展组件114处的增益的不连续可能导致整形后的噪声的包络的不连续,从而可能在音频输出116中导致听得见的咔哒声。与向音频信号的短片段施加个体增益值相关的另一个问题基于这一事实:典型的音频信号是许多单独的源的混合。这些源中的一些可能在时间上是平稳的,而一些可能是瞬态的。平稳信号在统计参数方面通常在时间上是恒定的,然而瞬态信号通常不是恒定的。给定瞬态的宽带性质,它们在这种混合中的特色在较高的频率通常更可见。基于信号的短期能量(short-term energy,RMS)的增益计算易于偏向更强的低频率,因此被平稳源主导,并且呈现为几乎不随时间变化。因此,该基于能量的方法在对由核心编码器引入的噪声进行整形时通常是无效的。

在一个实施例中,系统100在具有短的原型滤波器的滤波器组中的压缩和扩展组件处计算和施加增益,以便解决与施加个体增益值相关联的潜在问题。首先由滤波器组分析待修正的信号(压缩组件104处的原始信号,以及扩展组件114中的核心解码器112的输出),并且直接在频域中施加宽带增益。时域中的相应效果是根据原型滤波器的形状自然地平滑增益施加。这解决了上述不连续的问题。修正后的频域信号然后经由相应的合成滤波器组转换回到时域。用滤波器组来分析信号提供对其频谱内容(spectral content)的访问,并且允许由于高频率而优先增加贡献(或者由于弱的任何频谱内容而增加贡献)的增益的计算,提供不被信号中的最强成分主导的增益值。这解决了如上所述的与包括不同源的混合的音频源相关联的问题。在一个实施例中,系统使用频谱幅度的p-范数来计算增益,其中p典型地小于2(p<2)。与基于能量时(p=2)相比,这使得能够更加强调弱的频谱内容。

如上所述,所述系统包括原型滤波器以平滑增益施加。一般而言,原型滤波器是滤波器组中的基本窗形状,其由正弦波形调制以针对滤波器组中的不同子带滤波器获得脉冲响应。例如,短时傅里叶变换(STFT)是滤波器组,并且该变换的每个频率线是滤波器组的子带。短时傅里叶变换通过将信号乘以窗形状(N采样窗)来实现,窗形状可以是矩形、Hann、Kaiser-Bessel导出(KBD)或一些其他形状。被加窗的信号然后经历离散傅里叶变换(DFT)操作,以获得STFT。该情况下的窗形状是原型滤波器。DFT由正弦基函数组成,每个正弦基函数均具有不同的频率。然后,与正弦函数相乘的窗形状为与该频率对应的子带提供滤波器。因为窗形状在所有频率是相同的,所以被称为“原型”。

在一个实施例中,系统针对滤波器组使用QMF(正交调制滤波器)组。在特定的实现方式中,QMF组可以具有形成原型的64点窗(64-pt window)。由余弦和正弦函数调制的该窗(与64个等间隔的频率相对应)为QMF组形成子带滤波器。在每次施加QMF函数之后,窗移动64个样本,即,在这种情况下时间片段之间的重叠是640-64=576个样本。但是,虽然在这种情况下窗形状跨越十个时间片段(640=10*64),但是窗的主瓣(在此处其样本值非常显著)大约为128个样本长。因此,窗的有效长度仍然相对较短。

在一个实施例中,扩展组件114理想地逆变由压缩组件104施加的增益。虽然可以通过比特流把由压缩组件施加的增益传输到解码器,但是这种方法典型地会消耗显著的比特速率。在一个实施例中,系统100却是直接从它可用的信号,即解码器112的输出中估计扩展组件114所需的增益,这有效地不需要附加比特。压缩和扩展组件处的滤波器组被选择为完全相同,以便计算互为逆的增益。另外,这些滤波器组时间同步,使得压缩组件104的输出与扩展组件114的输入之间的任何有效延迟是滤波器组的步幅的倍数。如果核心编码器-解码器是无损的,并且滤波器组提供完美的重构,则压缩和扩展组件处的增益将是彼此的精确的逆,从而允许精确地重构原始信号。但是,在实践中,由扩展组件114施加的增益仅是由压缩组件104施加的增益的逆的近似。

在一个实施例中,在压缩和扩展组件中使用的滤波器组是QMF组。在典型的使用应用中,核心音频帧可以是4096个样本长,并且与相邻的帧重叠2048个样本。在48kHz的情况下,这种帧的长度是85.3毫秒。与此相反,所使用的QMF组可具有64个样本的步幅(其长度是1.3毫秒),其为增益提供精细的时间分辨率。而且,QMF具有长度为640个样本的平滑的原型滤波器,保证增益施加在时间上平滑地变化。使用该QMF滤波器组的分析提供信号的时频平铺式表示。每个QMF时隙等于步幅,并且在每个QMF时隙中,存在64个均匀间隔的子带。可替代地,可以使用诸如短期傅里叶变换(STFT)之类的其他滤波器组,并且仍然可以获得这种时频平铺式表示。

在一个实施例中,压缩组件104执行缩放编解码器输入的预处理步骤。对于该实施例,St(k)是在时隙t和频率区间k处的复值滤波器组样本。图6例示了在一个实施例下对于一系列的频率,音频信号到许多时隙的分割。对于图600的实施例,存在64个频率区间k以及32个时隙t,其如所示产生多个时频块(虽然不一定按比例绘制)。压缩前步骤对编解码器输入进行缩放以变成S’t(k)=St(k)/gt。在该等式中,是经归一化的时隙平均值。

在上面的等式中,表达式是平均绝对级别/1-范数,并且S0是合适的常数。通用的p-范数在该上下文中定义如下:

已经示出,1-范数可以给出比使用能量(rms/2-范数)明显更好的结果。指数项γ的值典型地在0到1之间的范围内,并且可以被选为1/3。常数S0保证独立于实现平台的合理的增益值。例如,当在所有St(k)值的绝对值可能限制为1的平台中实现时,它可能是1。在St(k)可能具有不同的最大绝对值的平台中,它可能不同。它也可以用来确保一大组信号的平均增益值接近1。也就是说,它可以是介于根据内容的大型语料库确定的最大信号值与最小信号值之间的中间信号值。

在由扩展组件114执行的后步骤过程中,编解码器输出由压缩组件104所施加的逆增益来扩展。这需要精确地或近似精确地复制压缩组件的滤波器组。在这种情况下,表示该第二滤波器组的复数值样本。扩展组件114对编解码器输出进行缩放以变成

在上面的等式中,是经归一化的时隙平均值,如下给出:

以及

一般而言,扩展组件114将使用与在压缩组件104中所使用的p-范数相同的p-范数。因此,如果使用平均绝对级别来定义压缩组件104中的在上面的等式中也使用1-范数(p=1)来定义。

当在压缩和扩展组件中使用诸如STFT或复数QMF之类的复数滤波器组(包含余弦和正弦基函数这两者)时,复数子带样本的幅度或|St(k)|的计算需要计算密集型的平方根运算。这可以通过以多种方式求复数子带样本的幅度的近似,例如通过计算其实部和虚部的总和来回避。

在上面的等式中,值K等于或小于滤波器组中子带的数量。一般而言,可以使用滤波器组中的子带的任何子集来计算p-范数。但是,应当在编码器106和解码器112这两者处使用相同的子集。在一个实施例中,可以使用高级频谱延拓(A-SPX)工具来对音频信号的高频部分(例如,高于6kHz的音频成分)进行编码。另外,仅使用高于1kHz(或类似频率)的信号来引导噪声整形可能是期望的。在这种情况下,只有那些在1kHz至6kHz范围内的子带可以用来计算p-范数,从而计算增益值。此外,虽然增益是根据子带的一个子集计算的,它仍然可以被施加给不同的且可能更大的子带的子集。

如图1中所示,用于对由音频编解码器的核心编码器106引入的量化噪声进行整形的压扩功能由执行某些编码器前的压缩功能和解码器后的扩展功能的两个单独的组件104和114执行。图3A是例示了在一个实施例下的在编码器前的压缩组件中压缩音频信号的方法的流程图,并且图3B是例示了在一个实施例下的在解码器后的扩展组件中扩展音频信号的方法的流程图。

如图3A中所示,过程300从压缩组件接收到输入音频信号(302)开始。该组件然后将音频信号分成短的时间片段(304),并通过向每个短片段施加宽带增益值来将音频信号压缩到减小的动态范围(306)。压缩组件也实现某种原型滤波和QMF滤波器组件以减少或消除由于将不同的增益值施加给连续的片段而引起的任何不连续,如上所述(308)。在某些情况下,诸如基于音频内容的类型或音频内容的某些特性,在音频编解码器的编码级/解码级之前和之后对音频信号进行的压缩和扩展可能会劣化而不是增强输出音频质量。在这种情况下,可以关闭或修改压扩过程以返回不同的压扩(压缩/扩展)等级。因此,除了其他变量之外,压缩组件还确定具体的信号输入和音频回放环境所需的压扩功能的适当性和/或压扩的最佳等级(310)。该确定步骤310可以发生在过程300的任何实践点,诸如在音频信号的划分304或者音频信号的压缩306之前。如果压扩被认为是适当的,则施加增益(306),并且编码器然后根据编解码器的数据格式来编码用于传输到解码器的信号(312)。某些压扩控制数据,诸如激活数据、同步数据、压扩等级数据以及其他类似的控制数据,可以作为比特流的一部分进行传输以用于扩展组件的处理。

图3B是例示了在一个实施例下的在解码器后的扩展组件中扩展音频信号的方法的流程图。如过程350中所示,编解码器的解码器级从编码器级接收编码音频信号的比特流(352)。解码器然后根据编解码器数据格式来对经编码的信号进行解码(353)。然后扩展组件处理比特流并应用任何经编码的控制数据来基于控制数据关闭扩展或修改扩展参数(354)。扩展组件使用合适的窗形状将音频信号分成时间片段(356)。在一个实施例中,时间片段对应于由压缩组件使用的相同的时间片段。扩展组件然后在频域上针对每个片段计算适当的增益值(358),并向每个时间片段施加增益值以将音频信号的动态范围扩展回到原始的动态范围或任何其他适当的动态范围(360)。

压扩控制

包括系统100的压扩器的压缩和扩展组件可以被配置为仅在音频信号处理期间的某个时间,或者仅针对某些类型的音频内容,施加所述前处理和后处理步骤。例如,对于语音和音乐瞬态信号,压扩可能表现出益处。但是,对于诸如平稳信号之类的其他信号,压扩可能会使信号质量劣化。因此,如图3A中所示,压扩控制机制被提供为块310,并且控制数据被从压缩组件104传输到扩展组件114以协调压扩操作。这种控制机制的最简单形式是对于其中施加压扩会使音频质量劣化的音频样本的块关闭压扩功能。在一个实施例中,压扩开/关决定在编码器中被检测并且作为比特流元素传输到解码器,使得压缩器和扩展器能够在同一QMF时隙打开/关闭。

两种状态之间的切换通常会导致所施加的增益的不连续,从而导致听得见的切换伪影或咔哒声。实施例包括用于减少或消除这些伪影的机制。在第一实施例中,系统仅在增益接近1的帧处允许压扩功能关和开的切换。在这种情况下,在打开/关闭压扩功能之间仅存在小的不连续。在第二实施例中,在开和关的帧之间的音频帧中施加介于开和关模式之间的第三种弱压扩模式,并且在比特流中以信号告知。弱压扩模式使指数项γ从它在压扩期间的默认值缓慢地过渡到相当于不压扩的0。作为介于中间的弱压扩模式的替代,系统可以实现开始帧和停止帧,其在一块音频样本上平滑地淡入到(fade into)不压扩的模式,而不是突然地关闭压扩功能。在另一个实施例中,系统被配置为不是简单地关闭压扩,而是施加平均增益。在某些情况下,如果向音频帧施加这样的恒定增益因子:该恒定增益因子比压扩关闭情况下的恒定增益因子1.0更像相邻的压扩打开的帧的增益因子,则可以提高音调平稳的信号的音频质量。可以通过在一个帧上平均所有压扩增益来计算这种增益因子。包含恒定的平均压扩增益的帧从而在比特流中被以信号告知。

虽然实施例是在单音调的音频声道的背景下描述的,但是应当注意,在直接的延伸中,可以通过在每个声道上分别重复该方法来处理多个声道。但是,包含两个或多个声道的音频信号表现出由图1的压扩系统的实施例解决的某些附加的复杂性。压扩策略应当取决于声道之间的相似度。

例如,在立体声漂移(stereo-panned)的瞬态信号的情况下,已经观察到个体声道的独立压扩可能导致听得见的图像伪影。在一个实施例中,系统根据两个声道的子带样本来为每个时间片段确定单个增益值,并且使用相同的增益值来压缩/扩展两个信号。无论何时两个声道具有非常相似的信号,该方法通常都是合适的,其中相似度是例如通过使用互相关来定义的。检测器计算声道之间的相似度并且在使用声道的单独压扩或共同地压扩声道之间转换。延伸到多个声道的话可以通过使用相似度标准将声道分成声道组,并对组施加共同压扩。然后该分组信息可以通过比特流进行传输。

系统实现

图4是例示在一个实施例下,用于与编解码器的编码器阶段联合地压缩音频信号的系统的框图。图4例示了实现用于图3A中所示的基于编解码器的系统的压缩方法的至少一部分的硬件电路或系统。如系统400中所示,时域中的输入音频信号401被输入到QMF滤波器组402。该滤波器组执行将输入信号分离成多个成分的分析操作,其中每个带通滤波器承载原始信号的频率子带。信号的重构在由QMF滤波器组410执行的合成操作中执行。在图4的示例性实施例中,分析和合成滤波器组这两者均处理64个频带。核心编码器412从合成滤波器组410接收音频信号,并且通过以适当的数字格式(例如MP3、AAC等)编码音频信号来产生比特流414。

系统400包括压缩器406,压缩器406将增益值施加给音频信号已经分成的每个短片段。这产生压缩的动态范围的音频信号,诸如图2B中所示。压扩控制单元404对音频信号进行分析,以基于信号的类型(例如,语音)或者信号的特性(例如,平稳对瞬态)或其他相关参数,确定是否应施加压缩或应施加多少压缩。控制单元404可以包括检测机制,以检测音频信号的时间峰度特性。基于音频信号的所检测的特性和某种预先定义的标准,控制单元404将适当的控制信号发送到压缩器406,以关闭压缩功能或修正施加给短片段的增益值。

除了压扩之外,许多其他编码工具也可以在QMF域中操作。一种此类工具是图4的块408中所示的A-SPX(高级频谱延拓)。A-SPX是一种用来允许相比于在感知上较重要的频率以较粗糙的编码方案来对较不重要的频率进行编码的技术。例如,在解码器端的A-SPX中,来自较低频率的QMF子带样本可以在较高频率处重复,然后使用从编码器传输到解码器的辅助信息来对高频带中的频谱包络进行整形。

在压扩和A-SPX都在QMF域中执行的系统中,如图4中所示,在编码器处,可以从尚未压缩的子带样本中提取用于较高频率的A-SPX包络数据,并且可以对与由核心编码器412编码的信号的频率范围对应的较低频率QMF样本施加压缩。在图5的解码器502处,在对解码后的信号进行QMF分析504之后,扩展过程506首先被施加,并且A-SPX操作508随后从较低频率的扩展信号中再现较高子带样本。

在该示例性实现中,编码器处的QMF合成滤波器组410和解码器504处的QMF分析滤波器组一起引入640-64+1个样本延迟(~9个QMF时隙)。该示例中的核心编解码器延迟是3200个样本(50个QMF时隙),所以总延迟是59个时隙。该延迟由如下导致:将控制数据嵌入到比特流中并且在解码器处使用它,使得编码器压缩器和解码器扩展器操作同步。

可替代地,在编码器处,可以在原始信号的整个带宽上施加压缩。随后可以从被压缩的子带样本中提取A-SPX包络数据。在这种情况下,在QMF分析之后,解码器首先运行A-SPX工具以首先重构全带宽的压缩信号。然后应用扩展阶段以恢复具有其原始动态范围的信号。

在图4中,可以在QMF域中进行操作的另一种工具可以是高级耦合(advanced coupling,AC)工具(未示出)。在高级耦合系统中,使用可以在解码器处在QMF域中应用以重构立体声输出的附加参数化空间信息将两个声道编码成单声道下混(mono downmix)。当AC和压扩彼此联合使用时,AC工具可以置于编码器处的压缩级406之后,在该情况下,它将在解码器处的扩展级506之前应用。作可替代地,AC辅助信息可以从未压缩的立体声信号中提取,在该情况下,AC工具将在解码器处的扩展级506之后操作。也可以支持混合AC模式,在该混合AC模式中,在某频率以上使用AC,而在该频率之下使用离散立体声;或者可替代地,在某频率以上使用离散立体声,而在该频率之下使用AC。

如图3A和3B中所示,在编解码器的编码器级与解码器级之间传输的比特流包括某种控制数据。这种控制数据构成允许系统在不同压扩模式之间切换的辅助信息。切换控制数据(用于打开/关闭压扩)可能再加上一些中间状态可以每个声道增加大约1或2比特。其他控制数据可以包括信号以确定是否离散立体声或多声道配置的所有声道都将使用共同的压扩增益因子,或者它们是否应当针对每个声道独立地计算。这种数据可以每个声道仅需要单个额外的比特。可以取决于系统需求和约束而使用其他类似的控制数据元素及其适当的比特权重。

检测机制

在一个实施例中,压扩控制机制被包括作为压缩组件104的一部分,以提供对QMF域中压扩的控制。可以基于诸如音频信号类型之类的许多因素来配置压扩控制。例如,在大多数应用中,对于语音信号和瞬态信号或者在时间上多峰的信号类别内的任何其他信号,应该打开压扩。系统包括检测机制以检测信号的峰度(peakness),以便帮助产生用于压扩器功能的适当控制信号。

在一个实施例中,对于给定的核心编解码器,时间峰度的量度TP(k)frame在频率区间k上计算,并且使用下面的公式计算:

在上面的等式中,St(k)是子带信号,并且T是与一个核心编码器帧相对应的QMF时隙的数量。在示例性实现中,T的值可以是32。每个频带计算的时间峰度可以用来将声音内容分类成一般两个种类:平稳的音乐信号,以及音乐瞬态信号或语音信号。如果TP(k)frame的值小于定义的值(例如1.2),则帧的该子带中的信号有可能是平稳的音乐信号。如果TP(k)frame的值大于该值,则信号有可能是音乐瞬态信号或语音信号。如果值大于甚至更高的阈值(例如1.6),信号很有可能是纯音乐瞬态信号,例如响板。而且,已经观察到,对于自然发生的信号,在不同的带中获得的时间峰度的值或多或少是相似的,并且该特性可以用来减小要计算时间峰度值的子带数量。基于该观察,系统可以实现下面两个之一。

在第一实施例中,解码器执行下面的过程。作为第一步骤,它计算时间峰度大于1.6的带的数量。作为第二步骤,它然后计算时间峰度值小于1.6的带的时间峰度值的平均值。如果在第一步骤中发现的带的数量大于51,或者如果在第二步骤中确定的平均值大于1.45,则该信号被确定是音乐瞬态信号,因此压扩应当打开。否则被确定是压扩不应当打开的信号。这种检测器对于语音信号将关闭大部分时间。在一些实施例中,语音信号通常将由单独的语音编码器编码,所以这一般不是问题。但是,在某些情况下,可能期望对于语音也打开压扩功能。在这种情况下,第二类型的检测器可能是优选的。

在一个实施例中,该第二类型的检测器执行下面的过程。作为第一步骤,它计算时间峰度值大于1.2的带的数量。在第二步骤中,它然后计算时间峰度小于1.2的带的时间峰度值的平均值。然后它应用下面的规则:如果第一步骤的结果大于55,则打开压扩,如果第一步骤的结果小于15,则关闭压扩;如果第一步骤的结果介于15至55之间并且第二步骤的结果大于1.16,则打开压扩;并且如果第一步骤的结果位于15至55之间并且第二步骤的结果小于1.16,则关闭压扩。应当注意,这两种类型的检测器仅描述检测器算法的许多可能解决方法中的两个示例,并且也可以使用或者替代地使用其他类似的算法。

由图4的元件404提供的压扩控制功能可以任何适当的方式实现,以允许基于某些操作模式使用或不使用压扩。例如,在环绕声系统的LFE(低频效果)声道上通常不使用压扩,以及当没有实现A-SPX(即,非QMF)功能时也不使用压扩。在一个实施例中,压扩控制功能可以由电路或诸如压扩控制元件404之类的基于处理器的元件执行的程序来提供。下面是在一个实施例下,可以实现压扩控制的程序片段的一些示例性语法:

sync_flag,b_compand_on[ch],以及b_compand_avg标记或程序元素可以长约1个比特,或者是取决于系统约束和需求的任何其他长度。应当注意,上面所例示的程序代码是实现压扩控制功能的一种方法的示例,并且根据一些实施例可以使用其他程序或硬件组件来实现压扩控制。

虽然所述实施例到目前为止包括用于降低由编解码器中的编码器引入的量化噪声的压扩过程,但应当注意,这种压扩过程的方面也可以在不包括编码器和解码器(编解码器)级的信号处理系统中应用。而且,如果压扩过程与编解码器联合使用,则编解码器可以基于变换或非基于变换。

这里描述的系统的方面可以在用于处理数字或数字化音频文件的适当的基于计算机的声音处理网络环境中实现。自适应音频系统的部分可以包括一个或更多个网络,网络包括任何期望数量的个体机器,包括用来缓冲并路由在计算机之间传输的数据的一个或更多个路由器(未示出)。这种网络可以基于各种不同的网络协议构建,并且可以是因特网、广域网(WAN)、局域网(LAN)或其任何组合。

组件、块、过程或其他功能组件的一个或更多个可以通过对系统的基于处理器的计算设备的执行进行控制的计算机程序来实现。还应当注意,这里公开的各种功能可以按照它们的行为、寄存器传送、逻辑组件和/或其他特性,使用硬件、固件和/或包含在各种机器可读或计算机可读介质中的数据和/或指令的任何数量的组合来描述。其中包含这种格式化的数据和/或指令的计算机可读介质包括但不限于各种形式的物理(非暂态)、非易失性存储介质,诸如光学、磁性或半导体存储介质。

除非上下文另外明确要求,否则在整个说明书和权利要求书中,单词“包括”、“包含”等应被解释为包括的意义,与排除或穷举的意义截然相反;即,“包括但不限于”的意义。使用单数或复数的单词也分别包括复数或单数。另外,单词“在这里”、“在下面”、“上面”、“下面”以及类似含义的单词是指整个申请,而不是指该申请的任何特定部分。当在提及两个或更多个项的列表时使用单词“或者”时,该单词覆盖单词的以下所有解释:列表中的任何项、列表中的全部项以及列表中的项的任何组合。

虽然已经以示例的方式依据具体的实施例描述了一个或更多个实现,但应当理解,一个或更多个实现并不限于所公开的实施例。相反,其意在覆盖对本领域技术人员显然的各种变型和类似的布置。因此,所附权利要求的范围应被赋予最宽泛的解释,以涵盖所有这种变型和类似的布置。

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