附图简述
通过以下结合附图对本发明的描述,本发明的这些和其它目的、优点以及特性将变得十分明显。这些附图说明了本发明的一个具体的实施例。在这些附图中:
图1是一个结构图,说明了传统编码设备的结构。
图2是一个结构图,说明了根据本发明第一实施例的编码设备的结构。
图3A示出由MDCT单元输出的一系列MDCT系数的示意图。
图3B示出图3A中所示的MDCT系数中的第0个~第(maxline-1)个MDCT系数的示意图。
图3C示出如何在图2中所示的一个BWE编码单元中产生被扩展的音频编码数据流的一个例子的示意图。
图4A是一个波形图,示出原声的一系列MDCT系数。
图4B是一个波形图,示出由BWE编码单元通过替代所产生的一系列MDCT系数。
图4C是一个波形图,示出当在图4B中所示的一系列MDCT系数上给出增益控制时所产生的一系列MDCT系数。
图5A示出通常的音频编码比特流的一个例子的示意图。
图5B示出根据本实施例的编码设备所输出的音频编码比特流的一个例子的示意图。
图5C示出一个被扩展的音频编码数据流的一个例子的示意图,该数据流被描述在图5B中所示的被扩展的音频编码数据流部分中。
图6是一个结构框图,示出对从图2中所示编码设备所输出的音频编码比特流进行解码的解码设备的结构。
图7示出在第二实施例的BWE编码单元中如何产生被扩展的频谱数据的示意图。
图8A示出以与第二实施例相同的方式所划分的较低和较高子频带的示意图。
图8B示出较低子频带A中的一系列MDCT系数的一个例子的示意图。
图8C示出通过反转较低子频带A中MDCT系数的顺序所获得的一个子频带As中的一系列MDCT系数的一个例子的示意图。
图8D示出通过反转较低子频带A中MDCT系数的符号所获得的一个子频带Ar的示意图。
图9A示出对一个较高子频带h0所指定的较低子频带A中的MDCT系数的一个例子的示意图。
图9B示出与由噪音产生单元所产生的较低子频带A中MDCT系数个数相同的MDCT系数的一个例子的示意图。
图9C说明了替代较高子频带h0的MDCT系数的一个例子的示意图,这些MDCT系数是使用图9A中所示较低子频带A中的MDCT系数、以及图9B中所示噪音产生单元所产生的MDCT系数产生的。
图10A是在时刻t0时一个帧中的MDCT系数的示意图。
图10B是在时刻t1时下一个帧中的MDCT系数的示意图。
图10C是在时刻t2时再下一个帧中的MDCT系数的示意图。
图11A是在时刻t0时一个帧中的MDCT系数的示意图。
图11B是在时刻t1时下一个帧中的MDCT系数的示意图。
图11C是在时刻t2时再下一个帧中的MDCT系数的示意图。
图12示出一个解码设备的结构框图,该解码设备由使用一个QMF滤波器所编码的一个音频编码比特流对宽带时间-频率信号进行解码。
图13是时间-频率信号的一个例子的示意图,这些信号由第六实施例的解码设备进行解码。
实现本发明的最佳方式
以下是参照附图(图2~图13)对根据本发明实施例的编码设备和解码设备的说明。
(第一实施例)
首先说明编码设备。图2是一个结构框图,说明了根据本发明第一实施例的编码设备200的结构。编码设备200是这样一种设备:它把较低频带频谱划分成一个固定频率带宽中的若干子频带,并输出一个音频编码比特流,该音频编码比特流具有用于指定将被复制于包括在其中的较高频带的子频带的数据。编码设备200包括一个预处理单元201、一个MDCT单元202、一个量化单元203、一个BWE编码单元204、以及一个被编码数据流产生单元205。考虑到由于在编码和/或解码时的量化失真所导致的声音质量方面的变化,预处理单元201判断是否输入音频信号应该被量化在每帧小于2048个采样(SHORT窗口)中,其给时间分辨率以较高优先级,或是输入音频信号应该照原样被量化在每2048个采样中(LONG窗口)。MDCT单元202使用修改的离散余弦变换(MDCT)变换从预处理单元201输出的时间域中的音频离散信号流,并输出频率域中的频谱。量化单元203量化从MDCT单元202输出的频谱的较低频带,使用霍夫曼编码对其进行编码,然后将其输出。BWE编码单元204接收到MDCT单元202所获得的一个MDCT系数后,把出自所接收频谱中的较低频带频谱划分成具有一个固定频率带宽的若干个子频带,并基于从MDCT单元202输出的较高频带频谱、指定将被复制到替代较高频带频谱的较高频带的较低子频带。BWE编码单元204产生被扩展的频谱数据(其指示对每一较高子频带所指定的较低子频带);如果需要的话,量化所产生的被扩展频谱数据,并使用霍夫曼编码对其进行编码,以输出被扩展的音频编码数据流。被编码数据流产生单元205分别把从量化单元203输出的较低频带音频编码数据流和从BWE编码单元204输出的被扩展音频编码数据流记录在根据ACC标准定义的音频编码比特流的音频编码数据流部分和被扩展音频编码数据流部分中,并把它们向外部输出。
下面将解释上述构造的编码设备200的操作。首先,例如,一个音频离散信号流被输入到预处理单元201,每帧中包括2048个采样,该音频离散信号流是以一采样频率(例如44.1kHz)采样的。一帧中的音频信号不局限于2048个采样,但为了便于对下面将加以描述的解码设备的解释,以下的解释将以2048个采样的情况为例。预处理单元20 1根据所输入的音频信号判断应该在一个LONG窗口中或是在一个SHORT窗口中对所输入的音频信号进行编码。以下将描述预处理单元201判定应在一个LONG窗口中对音频信号进行编码时的情况。
把从预处理单元201输出的音频离散信号流从时间域中的离散信号以固定的间隔变换成频谱数据,然后将其输出。当时间-频率变换时,MDCT是公共的。作为间隔,可以使用128、256、512、1024、以及2048个采样中的任何一个。在MDCT中,时间域中离散信号的采样的个数可以与所变换的频谱数据的采样的个数相同。MDCT对本领域技术人员是公知的。此处,将根据这样的假设进行解释:把从预处理单元201输出的2048个采样的音频信号输入到MDCT单元202,并对它们进行MDCT。另外,MDCT单元202还对它们使用过去的帧(2048个采样)和新输入的帧(2048个采样)执行MDCT,并输出2048个采样的MDCT系数。MDCT通常由表达式1等给出。
表达式1
Zi,n:开窗的输入音频信号
n:采样指针
k:MDCT系数的指针
i:帧数
N:窗口长度
n0=(N/2+1)/2
总体上讲,在编码过程中,如上所获得的频谱数据由相应于数据压缩的完全可逆的或不可逆的代码(例如霍夫曼编码)加以表示,以产生被编码数据流。此处,把第0个~第1023个较低频带MDCT系数,即按照从较低频率分量到较高频率分量的频率顺序排列的2048个采样的MDCT系数的一半,输入到量化单元203。量化单元203使用一种量化方法,例如ACC,量化所输入的MDCT系数,并产生较低频带音频编码数据流。通常,在如AAC这样的量化方法中,不定义将被量化的MDCT系数的个数。因此,量化单元203可以量化所有被输入的较低频带MDCT系数(1024个系数)或它们中的一部分。此处,量化单元203量化MDCT系数中的第0~第“maxline-1”的“maxline”个系数,并对它们进行编码。此处,“maxline”是将由传统编码设备量化和编码的MDCT系数的频率上限。与此同时,所有从MDCT单元202输出的MDCT系数(2048个系数)被输入到BWE编码单元204。
现在,将参照图3A~3C更详细地解释图2A中所示的BWE编码单元204中的用于产生被扩展音频编码数据流的处理过程。图3A说明了MDCT单元202所输出的一系列MDCT系数。图3B说明了图3A中所示的MDCT系数中、由量化单元203加以编码的第0个~第(maxline-1)个MDCT系数。图3C说明了如何在图2中所示的BWE编码单元中产生一个被扩展音频编码数据流的一个例子。在图3A~3C中,水平轴表示频率,并从较低到较高频率把数字0~2047赋予MDCT系数。纵轴表示MDCT系数的值。在这些图中,由沿频率方向的连续的波形代表频谱。然而,它们不是连续的波形,而是离散的频谱。如图3A中所示,从MDCT单元202输出的2048个MDCT系数可以代表以最大带宽在取样频率的频带之一半宽度中、在一个固定时间周期内采样的原声。一般情况下,在传统编码设备中,通常的情况是,仅对图3A中所示MDCT系数中的对于听觉是重要的(例如最高达”maxline”)较低频带MDCT系数被量化和编码,并被传输到解码设备上。因此,BWE编码单元204产生被扩展频谱数据,其代表替代图3A中所示较高频带MDCT系数本身的“maxline”或“maxline”以上的较高频带MDCT系数。换句话说,BWE编码单元204目的在于对第(maxline)个~第(targetline-1)个MDCT系数进行编码,如图3C中所示,因为量化单元203预先对第0个~第(maxline-1)个系数进行了编码。
首先,BWE编码单元204假设了其中数据应被再现为解码设备中的音频信号的较高频带中的范围(具体来说,从”maxline”到“targetline”的频率范围),并把这一假设的范围划分成具有一个固定频率带宽的若干子频带。其次,BWE编码单元204划分所有或部分较低频带,包括所输入的MDCT系数中的第0个~第(maxline-1)个MDCT系数,并指定可以替代包括第(maxline)个~第2047个MDCT系数的相应较高子频带的较低子频带。作为可以替代每一较高子频带的较低子频带,指定其能量与较高子频带的能量之差为最小的较低子频带。或者,也可以指定这样的较低子频带:其中,其绝对值为峰值的MDCT系数的频率域中的位置最接近于较高频带MDCT系数的位置。
在图3C中所示的BWE编码单元204的情况中,假设在代表MDCT系数的数字的“startline”、“targetline”、“endline”以及“sbw”之间存在着下列关系(表达式2)。
表达式2
endline=maxline-shiftlen
startline=endline-W·sbw
targetline=maxline+V·sbw
W:例如为4
V:例如为8
此处,“shiftlen”可以为一个预定的值,也可以依据所输入的MDCT系数来计算,并且可以在BWE编码单元204中对表示该值的数据进行编码。
图3C描述了这样一种情况:把较高频带划分成8个子频带,即MDCT系数h0~h7,分别具有包括“sbw”个MDCT系数采样的频率宽度,较低频带可以具有4个MDCT系数子频带A、B、C以及D,分别具有“sbw”个采样。在这一情况中,为了方便起见,把“startline”和“endline”之间的范围划分成4个子频带,并且把“maxline”和“targetline”之间的范围划分成8个子频带,但不总是把子频带的个数和一个子频带中采样的个数限制为这样的值。BWE编码单元204指定具有频率宽度“sbw”的较低子频带A、B、C以及D,并对它们进行编码,这些较低子频带替代具有相同的频率宽度”sbw”的较高子频带h0~h7中MDCT系数。此处,“替代”意味着把所获得MDCT系数的一部分,在这一情况中为较低子频带A~D的MDCT系数,复制为较高子频带h0~h7中的MDCT系数。这一替代可以包括在所替代的MDCT系数上进行增益控制时的情况。
在BWE编码单元204的情况中,对于每个较高子频带h0~h7,表示替代较高子频带的较低子频带所要求的数据量最多为2个比特,因为它满足了针对每一较高子频带可以指定4个较低子频带A~D中之一的需求。如以上所描述的,BWE编码单元204对指示哪一个较低子频带A~D替代较高子频带h0~h7的被扩展频谱数据进行编码,并用较低子频带的被编码数据流产生被扩展的音频编码数据流。
而且,BWE编码单元204还调整所产生的被扩展音频编码数据流的振幅。
图4A是一个波形图,说明了一个原声的一系列MDCT系数。图4B是一个波形图,说明了由BWE编码单元204通过替代所产生的一系列MDCT系数。图4C是一个波形图,说明了当在图4B中所示的一系列MDCT系数上给予增益控制时所产生的一系列MDCT系数。如图4A中所示,BWE编码单元204把从“maxline”到“targetline”的较高频带MDCT系数划分为多个频带,并编码每一频带的增益数据。从“maxline”到“targetline”的频带可以被划分,以便采用与图3中所示的较高子频带h0~h7相同的方法或其它的方法编码增益数据。此处,将参照图4解释使用相同划分方法的情况。
包含在较高子频带h0中的原声的MDCT系数为x(0),x(1),……,x(sbw-1),如图4A中所示;通过替代所获得的较高子频带h0中的MDCT系数为r(0),r(1),……,r(sbw-1),如图4B中所示;以及在图4C中的子频带h0中的MDCT系数为y(0),y(1),……,y(sbw-1)。根据下列表达式3,为数组x、r以及y获得增益g0,然后对其进行编码。
表达式3
对于较高子频带h1~h7,按与以上相同的方式计算增益数据和对其进行编码。也使用预定义数量的比特把这些增益数据g0~g7编码于被扩展音频编码数据流中。
在从编码设备200所输出的音频编码比特流中,对如上编码的被扩展音频编码数据流进行描述,如图5中示意性说明的。图5A说明了通常的音频编码比特流的一个例子。图5B说明了根据本实施例的编码设备200所输出的一个音频编码比特流的一个例子。图5C说明了图5B中所示的被扩展音频编码数据流中所描述的一个被扩展音频编码数据流的一个例子。如图5A中所示,当在流1中的每一个帧中形成音频编码比特流时,编码设备200采用每一帧的一部分(例如一个阴影区)作为流2中的一个被扩展音频编码数据流部分,如图5B中所示。这一被扩展音频编码数据流部分是MPEG-2AAC和MPEG-4 AAC中所描述的“data stream element”的区域。这一“data stream element”是一个备用区域,用于描述当扩展传统编码系统的功能时用于扩展的数据,并不被传统解码设备视为一个音频编码数据流,即使在其中记录了任何种类的数据。另外,“data stream element”还是一个用于填充无意义数据(例如“0”)、以便保持音频编码数据长度相同的区域,例如,MPEG-2 AAC和MPEG-4 AAC中的Fill Element(填充元素)的一个区域。通过在音频编码比特流中的这一区域中描述被扩展音频编码数据流,当再现被扩展音频编码数据流为音频信号时,不会出现噪音,即使本发明的音频编码比特流被传统解码设备解码时,所以可以再现具有与传统设备相同带宽的音频信号。
另外,如图5C中所示,在被扩展音频编码数据流中,描述了一个指示是否使用以与最后帧中被扩展音频编码数据流相同的方法划分的较低子频带A~D的项目、以及指示相应的较高子频带h0~h7的MDCT系数的若干项目。在指示相应的较高子频带h0~h7的MDCT系数的项目中,描述了指示所指定的较低子频带A~D的数据和它们的增益数据。在指示是否使用与最后帧中被扩展音频编码数据流相同的较低子频带A~D的项目中,当使用按与最后帧相同的方式加以划分的较低子频带之一替代较高子频带h0~h7的MDCT系数时,“1”被描述,否则,即当使用按与最后帧不同的一个新方法加以划分的较低子频带A~D之一替代它们时,“0”被描述。在那些指示所指定的A~D中的较低子频带的项目中,描述了指定4个较低子频带A~D之一的2个比特的数据。另外,例如增益数据被描述在4个比特中。这样做,当由按与最后帧相同的方式划分的较低子频带A~D替代较高子频带h0~h7时,1+8×(2+4)=49个比特的被扩展音频编码数据流可表示一个帧的较高频带MDCT系数。另外,在使用与最后帧相同的较低子频带A~D的帧中,可以仅由例如指示值“1”的1个比特表示被扩展音频编码数据流。
因此,当把根据本发明的编码设备200的音频信号编码方法应用于传统编码方法时,可以使用具有少量数据的被扩展音频编码数据流表示较高频带,并在较高频带中再现具有优质声音的宽带音频声音。
以下将解释解码设备。
在解码过程中,对一个输入音频编码数据流进行解码,以获得频谱数据,把频率域中的频谱变换成时间域中的数据,从而再现时间域中的音频信号。
图6是一个结构框图,说明了对从图2中所示的编码设备200所输出的音频编码数据流进行解码的一个解码设备600的结构。解码设备600是这样的一个解码设备:它对包括被扩展音频编码数据流的音频编码比特流进行解码,并输出宽带频谱数据。它包括一个被编码数据流划分单元601、一个去量化单元602、一个IMDCT(反向修改的离散余弦变换)单元603、一个噪音产生单元604、一个BWE解码单元605、以及一个被扩展IMDCT单元606。被编码数据流划分单元601把所输入的音频编码比特流划分成代表较低频带的音频编码数据流和代表较高频带的被扩展音频编码数据流,并把所划分的音频编码数据流和被扩展音频编码数据流分别输出到去量化单元602和BWE解码单元605。去量化单元602对从音频编码比特流划分的音频编码数据流进行去量化,并输出较低频带MDCT系数。需要加以注意的是,去量化单元602既可以接收音频编码数据流,也可以接收被扩展音频编码数据流。另外,去量化单元602使用根据ACC方法的去量化,重新构造MDCT系数,如果其在量化单元203中被用作一种量化方法。因此,去量化单元602重新构造和输出第0个~第(maxline-1)个较低频带MDCT系数。
IMDCT单元603使用IMDCT,根据从去量化单元602输出的较低频带MDCT系数进行频率-时间变换,并输出时间域中的较低频带音频信号。具体来说,当IMDCT单元603接收从去量化单元602所输出的较低频带MDCT系数时,获得1024个采样的音频输出用于每一帧。此处,IMDCT单元603执行1024个采样的IMDCT运算。IMDCT运算的表达式通常由下面的表达式4给出。
表达式4
n:采样指针
i:窗口指针
k:MDCT系数的指针
N:窗口长度
n0=(N/2+1)/2
另一方面,由被编码数据流划分单元601从音频编码比特流所划分的被扩展音频编码数据流被输出到BWE解码单元605。另外,从去量化单元602输出的第0个~第(maxline-1)个较低频带MDCT系数和来自噪音产生单元604的输出被输入到BWE解码单元605。以下将详细解释BWE解码单元605的操作。BWE解码单元605基于通过对所划分的被扩展音频编码数据流进行解码获得的被扩展频谱数据、对第(maxline)个~第2047个较高频带MDCT系数进行解码和去量化,并通过把由去量化单元602获得的第0个~第(maxline-1)个较低频带MDCT系数添加到第(maxline)个~第2047个较高频带MDCT系数上,输出第0个~第2047个宽带MDCT系数。被扩展IMDCT单元606对两倍于IMDCT单元603所执行的采样的采样进行IMDCT运算,然后,获得2048个采样的宽带输出音频信号用于每帧。
以下将更详细地解释BWE解码单元605的操作。BWE解码单元605使用由去量化单元602获得的第0个~第(maxline-1)个MDCT系数和被扩展音频编码数据流、重新构造第(maxline)个~第(targetline)个MDCT系数。“startline”、“endline”、“maxline”、“targetline”、“sbw”以及“shiftlen”均为与在编码设备200端上由BWE编码单元204所使用的值相同的值。如图5C中所示,指示替代较高子频带h0~h7中的MDCT系数的较低子频带A~D的数据被编码在被扩展音频编码数据流中。因此,基于该数据,较高子频带h0~h7中的MDCT系数分别由较低子频带A~D中所指定的MDCT系数加以替代。
因此,BWE解码单元605获得了第0个~第(targetline)个MDCT系数。而且,BWE解码单元605还基于被扩展音频编码数据流中的增益数据执行增益控制。如图4B中所示,BWE解码单元605产生一系列MDCT系数,这些MDCT系数被从“maxline”到“targetline”的相应的较高子频带h0~h7中的较低子频带A~D所替代。而且,当较高子频带h0中的替代MDCT系数为r(0),r(1),……,r(sbw-1)以及从被扩展音频编码数据流中所获得的增益数据是用于较高子频带h0的g0时,BWE解码单元605可以根据下列关系表达式5获得一系列增益控制的MDCT系数,如图4C中所示。具体来说,当用于较高子频带h0的MDCT系数为y(0),y(1),……,y(sbw-1)时,增益控制的第i个MDCT系数y(i)的值由下列表达式5加以表示。
表达式5
yi=g0·ri
按同样的方式,通过用相应的较高子频带g1~g7的增益数据乘以替代MDCT系数,较高子频带h1~h7可以获得增益控制的MDCT系数。而且,噪音产生单元604产生白噪音、粉红噪音或是全部或部分较低频带MDCT系数的随机组合的噪音,并把所产生的噪音添加到增益控制的MDCT系数。这时,可以将所添加的噪音的能量、以及与从较低频带所复制的频谱相组合的频谱校正成由表达式5所代表的频谱的能量。
在第一实施例中,已经描述了关于增益数据的编码,该增益数据将被根据表达式5而增多到替代的MDCT系数。然而,可以对不是相对增益值而是绝对值的增益数据(例如MDCT系数的能量或平均振幅)进行编码或解码。
使用如上所构造的BWE解码单元605,可以再现具有优质声音、特别是在较高频带中的优质声音的宽带音频信号,即使是使用由少量数据所代表的被扩展音频编码数据流。
尽管已经描述了根据AAC方法的编码设备200和解码设备600,但本发明的编码设备和解码设备不局限于此方法,也可以使用任何其它的编码方法。
另外,在编码设备200中,第0个~第2047个MDCT系数被从MDCT单元202输出到BWE编码单元204。然而,BWE编码单元204还可以接收包括量化失真的MDCT系数,这些包括量化失真的MDCT系数是通过对那些由量化单元203所量化的MDCT系数进行去量化获得的。另外,BWE编码单元204还可以接收这样的MDCT系数:即分别通过为第0个~第(maxline-1)个较低子频带对来自量化单元203的输出进行去量化、以及为第(maxline)个~第(targetline-1)个较高子频带对来自MDCT单元202的输出进行去量化获得的MDCT系数。
在第一实施例中,已经描述了:被扩展频谱数据被量化,并视情况对其进行编码。然而,由一个可变长度编码(例如由霍夫曼编码)所代表的将被编码数据(被扩展频谱数据)当然也可以被用作被扩展音频编码数据流。响应此编码,解码设备不需要对被扩展音频编码数据流去量化,但可以对可变长度编码(例如由霍夫曼编码)进行解码。
另外,在第一实施例中,已经描述了本发明的编码和解码方法被应用于MPEG-2 AAC和MPEG-4 AAC时的情况。然而,本发明并不局限于这样的情况,也可以被应用于其它的编码方法,例如MPEG-1 Audio和MPEG-2 Audio。当使用MPEG-1 Audio和MPEG-2 Audio时,被扩展音频编码数据流被应用于这些标准中所描述的“ancillary_data”。
在第一实施例中已经描述了:通过在所输入的音频信号上进行时间-频率变换所获得的频谱(MDCT系数)的一个范围内、由较低子频带中的频谱替代较高子频带。然而,本发明并不局限于这一点,较高子频带可以被替代,直到超过由时间-频率变换所输出的频谱的频率上限的范围。在这一情况中,基于代表原声的较高频带频谱(MDCT系数)不能指定用于替代的较低子频带。
(第二实施例)
本发明的第二实施例在以下方面不同于第一实施例。即,在第一实施例中的BWE编码单元204把从“startline”到“endline”的一系列较低频带MDCT系数划分成4个子频带A~D,而在第二实施例中的BWE编码单元把从“startline”到“endline”的同样带宽划分成7个子频带A~G,其中某些部分是重叠的。第二实施例中的编码设备和解码设备具有与第一实施例中的编码设备200和解码设备600基本相同的结构,与第一实施例的不同之处仅为:在编码设备中BWE编码单元701所进行的处理和在解码设备中的BWE解码单元702。因此,在第二实施例中,将仅使用修改的参考编号解释BWE编码单元701和BWE解码单元702,把相同的参考编号赋予在第一实施例的编码设备200和解码设备600中已经解释过的其它构成部分,并将省略对于这些构成部分的解释。另外,在以下的实施例中,将仅描述不同于以上解释的内容,省略相同的内容。
以下将参照图7对第二实施例中的BWE编码单元701进行解释。图7是在第二实施例的BWE编码单元701中如何产生被扩展频谱数据的示意图。在该图中,较低子频带E、F和G是通过把以与第一实施例中的方式相同的方式加以划分的较低子频带A、B、C和D中的较低子频带A、B和C在较高频率方向位移sbw/2获得的子频带。此处,较低子频带A、B和C在较高频率方向被位移了sbw/2,但把频带划分成子频带的方法(其中某些部分是相重叠的)、用于位移子频带的频率宽度、所划分的子频带的个数等不总局限于以上所描述的情况。BWE编码单元701产生指定替代较高子频带h0~h7中每一个较高子频带的7个较低子频带A~G之一的数据,并且对该数据进行编码。
另一方面,第二实施例的解码设备还接收由第二实施例的编码设备(它包括BWE编码单元701而不是编码设备200中的BWE编码单元204)所编码的被扩展音频编码数据流,对指定用于替代较高子频带h0~h7的较低子频带A~G中的MDCT系数的数据进行解码,并用较低子频带A~G中的MDCT系数替代较高子频带h0~h7中的MDCT系数。
例如,假设由3个比特的编码数据代表较低子频带A~G中的任何一个。当作为编码数据的整数“0”~“6”分别代表较低子频带A~G时,如果创建了由值“7”所代表的编码数据,那么解码设备可以使用A~G中任何一个执行不做替代的控制。此处,已经描述了把3个比特的数据用作编码数据以及编码数据的值为“7”时的情况,但编码数据的比特个数以及编码数据的值可以为其它值。
在第一实施例中所使用的增益控制与/或噪音添加也以同样的方式用在第二实施例中。当使用按以上描述所构造的编码设备和解码设备时,可以使用被扩展音频编码数据流获得宽带再现的声音,而需要大量数据。
(第三实施例)
第三实施例在以下方面不同于第二实施例。即,在第二实施例中,BWE编码单元701把从“startline”到“endline”的一系列较低频带MDCT系数划分成7个子频带A~G,其中某些部分是重叠的,而在第三实施例中的BWE编码单元把从“startline”到“endline”的同样的带宽划分成7个子频带A~G,并按相反的顺序定义了较低子频带中的MDCT系数以及其正号和符号被反转的较低频带中的MDCT系数。
第三实施例不同于第一和第二实施例中的编码设备200和解码设备600的构成部分仅在于编码设备中的BWE编码单元801和解码设备中的BWE解码单元802。以下将参照图8解释第三实施例中的BWE编码单元。
图8A~8D说明了第三实施例中的BWE编码单元801如何产生被扩展频谱数据。图8A说明了以与第二实施例相同的方式被划分的较低和较高子频带。图8B说明了较低子频带A中一系列MDCT系数的一个例子。图8C说明了通过反转较低子频带A中MDCT系数的顺序所获得的子频带As中的一系列MDCT系数的一个例子。图8D说明了通过反转较低子频带A中MDCT系数的符号所获得的一个子频带Ar。例如,较低子频带A中的MDCT系数由(p0,p1,……,pN)加以表示。在这一情况中,例如,P0代表子频带A中的第0个MDCT系数的值。通过在频率方向反转子频带A中的MDCT系数的顺序所获得的子频带As中的MDCT系数为(pN,p(n-1),……,p0)。通过反转较低子频带A中MDCT系数的符号所获得的子频带Ar中的MDCT系数由(-p0,-p1,……,-pN)加以表示。不仅对于子频带A,而且也对子频带B~G,定义了其顺序被反转的子频带Bs~Gs和其符号被反转的子频带Br~Gr。
如以上所描述的,第三实施例中的BWE编码单元801指定了一个子频带,用于替代较高子频带h0~h7中的每一个,即7个子频带A~G、通过反转较低频带A~G中的7个MDCT系数的顺序或符号所获得的7个较低子频带Bs~Gs或7个较低子频带Br~Gr中的任何一个。BWE编码单元801使用所指定的较低子频带、对用于代表较高频带MDCT系数的数据进行编码,并产生被扩展音频编码数据流,如图5C中所示。在这一情况中,BWE编码单元801为每一个较高子频带编码以下数据:指定替代较高频带MDCT系数的较低子频带的数据、指示是否要反转所指定的较低子频带中MDCT系数的顺序的数据、以及指示是否要反转所指定的较低子频带中MDCT系数的正号和负号的数据,作为扩展的频谱数据。
另一方面,如上所述,第三实施例中的解码设备接收由第三实施例中的编码设备所编码的被扩展音频编码数据流,并对被扩展频谱数据进行解码,该被扩展频谱数据指示较低子频带A~G中的哪一个MDCT系数替代较高子频带h0~h7中的每一个、是否要反转MDCT系数的顺序、是否要反转MDCT系数的正号及负号。接下来,根据所解码的被扩展频谱数据,解码设备通过反转所指定的较低子频带A~G中MDCT系数的顺序或符号,产生较高子频带h0~h7中的MDCT系数。
另外,第三实施例不仅包括较低子频带中MDCT系数的顺序和正负号的扩展,而且还包括较低子频带中通过滤波处理的MDCT系数的替代。需要加以注意的是,例如,滤波处理意味着IIR滤波、FIR滤波等,将省略对它们的解释,因为对于本领域技术人员来说,这些技术是他们十分熟悉的。在这一滤波处理中,如果在编码设备端将滤波系数编码于被扩展音频编码数据流中,那么在解码设备端上,对所指定的较低子频带中的MDCT系数执行被解码滤波系数所指示的IIR滤波或FIR滤波,而且较高子频带可以由滤波处理的MDCT系数来替代。需要加以注意的是,在第三实施例中能够以同样的方式使用第一实施例中所使用的增益控制。当使用如上所结构的编码设备和解码设备时,可使用数据量不大的被扩展音频编码数据流获得宽带再现的声音。
(第四实施例)
第四实施例在以下方面不同于第三实施例。即,第四实施例中的解码设备并不仅使用所指定的较低子频带A~G中的MDCT系数替代较高子频带h0~h7中的MDCT系数,而是除了所指定的较低子频带A~G中的MDCT系数外,还使用噪音产生单元所产生的MDCT系数替代它们。因此,在结构方面,第四实施例中解码设备不同于第一实施例中解码设备600的构成部分仅在于噪音产生单元901和BWE解码单元902。例如,对于第四实施例中解码设备中的被扩展音频编码数据流的解码过程,以下将参照图9A~C解释由较低子频带A替代将进行BWE解码的较高子频带h0的情况。图9A说明了为较高子频带h0所指定的较低子频带A中MDCT系数的一个例子。图9B说明了与由噪音产生单元901所产生的较低子频带A中MDCT系数个数相同的MDCT系数的示例的示意图。图9C说明了替代较高子频带h0的MDCT系数的一个例子,这些MDCT系数是使用图9A中所示较低子频带A中的MDCT系数、以及图9B中所示噪音产生单元901所产生的MDCT系数所产生的。此处,较低子频带A中的MDCT系数将为A=(p0,p1,……,pN)。在噪音产生单元901中获得与较低子频带A中相同个数的噪音信号MDCT系数,M=(n0,n1,……,nN)。BWE解码单元902使用加权因子α、β,调整较低子频带A中的MDCT系数A和噪音信号MDCT系数M,并产生替代较高子频带h0中的MDCT系数的替代MDCT系数A′。由下列表达式6代表替代MDCT系数A′。
表达式6
A′=α(p0,p1,…,pN)+β(n0,n1,…,nN)
在第四实施例中的解码设备中,加权因子α,β可以是预定的值,也可以是通过把指示加权因子α,β的值的控制数据编码于编码设备中的被扩展音频编码数据流中、并在解码设备中对这些值进行解码所获得的值。
此处,BWE解码单元902所输出的子频带h0已被描述为一个示例,但对于其它较高子频带h1~h7也进行相同的处理。另外,较低子频带A以被描述为将被替代的较低子频带的一个例子,但由去量化单元所获得的任何其它较低子频带以及针对它们的处理也是相同的。关于加权因子α、β,它们可以采用的值使得:一个为“0”,另一个为“1”,或者可以采用的值使得“α+β”为1。当α=0时,计算较高子频带中MDCT系数的能量与噪音数据的MDCT系数的能量之比率,并把所获得的能量之比率编码于被扩展音频编码数据流中,作为噪音信息的MDCT系数的增益数据。而且,也可以对代表加权因子α和β之间的一个比率的值进行编码。另外,当由BWE解码单元902所复制的一个较低子频带中的所有MDCT系数为“0”时,可以执行控制以便设置β的值为“1”而与α的值无关。可以对噪音产生单元901加以构造,以便将一个准备好的表保存在其自身中,并输出表中的值作为噪音信号MDCT系数,或为每一帧创建由时间域中的噪音信号的MDCT所获得的噪音信号MDCT系数,或执行对时间域中噪音信号的增益控制,并使用全部或一部分由增益控制的噪音信号的MDCT所获得的MDCT系数、输出噪音信号MDCT系数。
特别是,当使用通过在时间域中对时间域中噪音信号进行增益控制并在它们之上执行MDCT所获得的MDCT系数时,可以期望有抑制被再现声音的前回声的效果。在这一情况中,第四实施例中的编码设备预先对用于控制时间域中噪音信号增益的增益控制数据进行编码,而且解码设备可以对增益控制数据进行解码,并使用它。如果使用如上所述构造的解码设备,则可以期望实现宽带再现的效果,而无需使用噪音信号MDCT系数过高地提高音调,即使较低子频带的MDCT系数不能充分地代表要被BWE解码的较高子频带中的MDCT系数。
(第五实施例)
第五实施例与第四实施例的不同之处在于扩展了功能,以致于可以把多个时间帧作为一个单元加以控制。以下将参照图10A~C和图11A~C对第五实施例中编码设备和解码设备中的BWE编码单元1001和BWE解码单元1002的操作加以解释。
图10A说明在时刻t0时一个帧中的MDCT系数。图10B说明了时刻t1时下一个帧中的MDCT系数。图10C说明了时刻t2时再下一个帧中的MDCT系数。时刻t0、t1和t2是连续的时刻,而且它们是与这些帧同步的时刻。在第一至第四实施例中,分别在t0、t1和t2时刻产生被扩展音频编码数据流,但第五实施例的编码设备产生对多个连续帧是公用的被扩展音频编码数据流。尽管这些图中描述了3个连续帧,但也可以采用任何数量的连续帧。在第一实施例的图5C中,被扩展音频编码数据流的顶部具有指示是否使用按与最后帧中被扩展音频编码数据流相同的方式划分的较低子频带A~D的项目。第五实施例的BEW编码单元1001也以同样的方式在每一个帧中的被扩展音频编码数据流的顶部提供了指示是否使用与最后帧中被扩展音频编码数据流相同的被扩展音频编码数据流的项目。以下将解释这样的一种情况:例如,使用在时刻t0时每一帧中的被扩展音频编码数据流对在时刻t0、t1和t2时每一个帧中的较高子频带进行解码。
第五实施例的解码设备接收为多个连续帧的共同使用而产生的被扩展音频编码数据流,并执行对每一个帧的BWE解码。例如,当时刻t0时的帧中的较高子频带h0由同一时刻t0时的帧中的较低子频带C加以替代时,BWE解码单元1002也使用时刻t1的较低子频带C对时刻t1时的帧中的较高子频带h0进行解码,而且还使用时刻t2的较低子频带C以同样的方式对时刻t2的帧中的较高子频带h0进行解码。对于其它较高子频带h1~h7,BWE解码单元1002进行相同的处理。如果使用如上所构造的编码设备和解码设备,那么对于使用相同被扩展音频编码数据流的多个帧,可以整体减小由被扩展音频编码数据流所占据的音频编码比特流的区域,因而可以实现更有效的编码和解码。
以下,将参照图11A~11C解释第五实施例的编码设备和解码设备的另一个例子。这一例子不同于以上所提到的例子之处在于,BWE编码单元1101在对多个连续帧使用相同的被扩展音频编码数据流所解码的较高频带MDCT系数上,对用于给予增益控制的增益数据进行编码,其中对每一帧具有不同的增益。图11A~C还示出在时刻t0、t1和t2时多个连续帧中的MDCT系数的示意图,正如图10A~C。第五实施例的另一个编码设备对于被扩展音频编码数据流、产生在多个帧中被BWE解码的较高频带MDCT系数的增益的相对值。例如,对于时刻t0、t1和t2的帧,将被BWE解码的带宽(从“maxline”到“targetline”的较高频带)中MDCT系数的平均振幅为G0、G1和G2。
首先,从时刻t0、t1和t2的帧中确定一个参照帧。可以把时刻t0的第一帧预定为一个参照帧,或者把给出最大平均振幅的帧预定为一个参照帧,并且可以把指示给出最大平均振幅的帧的位置的数据独立地编码于被扩展音频编码数据流中。此处,假设时刻t0的帧中的平均振幅G0为其中使用相同被扩展音频编码数据流对较高频带MDCT系数进行解码的连续帧中的最大平均振幅。在这一情况中,由G1/G0代表时刻t1的帧中的较高频带中的平均振幅,用于时刻t0的参照帧,并且由G2/G0代表时刻t2的帧中的较高频带中的平均振幅,用于时刻t0的参照帧。BWE编码单元1101量化较高频带中的这些平均振幅的相对值G1/G0、G2/G0,以把它们编码于被扩展音频编码数据流中。
另一方面,在第五实施例的另一个解码设备中,BWE解码单元1102接收被扩展音频编码数据流,从被扩展音频编码数据流中指定一个参照帧,以对其进行解码或对一个预定的帧进行解码,并对参照帧的平均振幅值进行解码。而且,BWE解码单元1102还对相对于将被BWE解码的较高频带MDCT系数的参照帧的平均振幅值进行解码,并在根据共用的被扩展音频编码数据流所解码的每帧中的较高频带MDCT系数上执行增益控制。如以上所描述的,根据图11A~C中所示的BWE解码单元1102,很容易校正使用公用被扩展音频编码数据流所解码的多个帧中的MDCT系数的平均振幅。因此,可以使用少量数据对音频编码数据流进行编码和解码,所述音频编码数据流可以被再现成对原声保真的宽带音频信号。
(第六实施例)
第六实施例与第五实施例的不同之处在于,第五实施例的编码设备和解码设备把一个时间域中的音频信号变换和反变换成一个代表频谱的时间变化的时间-频率信号。例如,对于以44.1kHz采样频率采样的音频信号的一帧,大约每0.73毫秒(msec)从1024个采样中对每一连续的32个采样进行频率变换,并获得分别由32个采样组成的频谱。对1024个采样的每一帧,获得具有一个大约0.73毫秒时间差的32个频谱。这些频谱分别代表对32个采样的从0kHz到最大22.05kHz的再现带宽。通过从这些频谱中组合时间方向上相同频率的频谱数据的值所获得的波形是来自QMF滤波器的输出的时间-频率信号。例如,本实施例的编码设备以与传统编码设备相同的方式,从是QMF滤波器的输出的时间-频率信号中对第0个~第15个时间-频率信号进行量化和可变长度编码。另一方面,对于第16~第31个较高频带时间-频率信号,编码设备指定将替代第16~第31个信号中每一信号的第0个~第15个信号之一,并产生被扩展时间-频率信号,包括指示第0个~第15个较低频带时间-频率信号的被指定的一个的数据、和用于调整所指定的较低频带时间-频率信号的振幅的增益数据。当依据一个参数进行滤波处理或使用一个具有不同特性的滤波器时,在被扩展时间-频率信号中预先描述一个用于指定处理细节或滤波器的特性的参数。接下来,编码设备描述通过量化较低频带时间-频率信号和对较低频带时间-频率信号进行可变长度编码获得的较低频带音频编码数据流、以及通过对音频编码比特流中的被扩展时间-频率信号进行可变长度编码获得的较高频带编码数据流,以输出它们。
图12是一个结构框图,说明了解码设备1200的结构,解码设备1200对来自使用一个QMF滤波器所编码的音频编码比特流的宽带时间-频率信号进行解码。解码设备1200是一种解码设备,它对所输入音频编码比特流中的宽带时间-频率信号进行解码,其中所输入音频编码比特流由通过对代表较高频带时间-频率信号的被扩展时间-频率信号进行可变长度编码获得的编码数据流、以及通过量化较低频带时间-频率信号和对其进行编码获得的编码数据流组成。解码设备1200包括一个核心解码单元1201、一个被扩展解码单元1202、以及一个频谱添加单元1203。核心解码单元1201对所输入音频编码比特流进行解码,并将其划分成被量化的较低频带时间-频率信号和代表较高频带时间-频率信号的被扩展时间-频率信号。核心解码单元1201还对从音频编码比特流划分的较低频带时间-频率信号去量化,并将其输出到频谱添加单元1203。频谱添加单元1203添加核心解码单元1201所解码和去量化的时间-频率信号、以及核心解心解码单元1201所解码和去量化的时间-频率信号、以及核心解码单元1202所产生的较高频带时间-频率信号,并输出整个再现带宽(例如0kHz~22.05kHz)中的时间-频率信号。由一个QMF反向变换滤波器,把所输出的这些时间-频率信号变换成时间域中的音频信号,以下将对其加以描述但并未在图中加以显示,例如,还由一个以下所描述的扬声器将其进一步转换成听得见的声音,例如话音和音乐。
被扩展解码单元1202是一个处理单元,它接收由核心解码单元1201所解码的较低频带时间-频率信号和被扩展时间-频率信号;基于所划分的被扩展时间-频率信号,指定替代较高频带时间-频率信号的较低频带时间-频率信号,以在较高频带中复制它们,并调整它们的振幅,以产生较高频带时间-频率信号。被扩展解码单元1202还包括一个替代控制单元1204和一个增益调整单元1205。例如,替代控制单元1204根据所解码的被扩展时间-频率信号,指定替代第16个较高频带时间-频率信号的第0个~第15个较低频带时间-频率信号之一,并复制所指定的较低频带时间-频率信号,作为第16个较高频带时间-频率信号。增益调整单元1205根据被扩展时间-频率信号中所描述的增益数据,把被复制为第16个较高频带时间-频率信号的较低频带时间-频率信号加以放大,并调整振幅。被扩展解码单元1202还通过替代控制单元1204和增益调整单元1205、对第17个~第31个较高频带时间-频率信号中每一个执行上述处理。当用于指定第0个~第15个较低频带时间-频率信号之一的4个比特、以及用于调整所复制的较低频带时间-频率信号的振幅的增益数据的4个比特被使用时,则最多可以使用(4+4)×32=256个比特代表第16个~第3 1个较高频带时间-频率信号。
图13描述了由第六实施例的解码设备1200解码的时间-频率信号的一个例子。例如,当由Bk=(pk(t0),pk(t1),……,pk(t31))(k是一个0≤k≤15的整数)代表第k个较低频带时间-频率信号的频谱时,在由第六实施例的图中未加显示的编码设备所产生的音频编码比特流中描述被量化和被编码的第0个~第15个较低频带时间-频率信号B0~B15,如图13中所示。另一方面,关于第16个~第31个较高频带时间-频率信号B16~B31,描述了指定分别替代第16个~第31个较高频带时间-频率信号的第0个~第15个较低频带时间-频率信号B0~B15之一的数据、以及用于调整在较高频带中所复制的相应较低频带时间-频率信号的振幅的增益数据。例如,为了表示第16个较高频带时间-频率信号B16,在被扩展时间-频率信号中描述了指示替代第16个较高频带时间-频率信号B16的第10个较低频带时间-频率信号B10的数据、以及用于调整在较高频带中被复制作为第16个较高频带时间-频率信号B16的较低频带时间-频率信号B10的振幅的增益数据G0。因此,由核心解码单元1201解码和去量化的第10个较低频带时间-频率信号B10被复制在较高频带中,作为第16个较高频带时间-频率信号B16,并由在增益数据G0中所指示的一个增益对其加以放大,然后产生第16个较高频带时间-频率信号B16。对于第17个较高频带时间-频率信号B17,进行同样的处理。通过替代控制单元1204,将在被扩展时间-频率信号中所描述的第11个较低频带时间-频率信号B11复制成第17个较高频带时间-频率信号B17,由增益数据G1中所指示的一个增益对其加以放大,并产生第17个较高频带时间-频率信号B17。对于第18个~第31个较高频带时间-频率信号B18~B31,重复同样的处理,从而可以获得所有较高频带时间-频率信号。
如以上所描述的,根据第六实施例,通过把本发明的替代(即由较低频带时间-频率信号对较高频带时间-频率信号的替代)施加于作为QMF滤波器的输出的时间-频率信号,编码设备通过增加较少量的数据,可以对宽带音频时间-频率信号进行编码,而解码设备能够对可以在较高频带中被再现为优质声音的音频信号进行解码。够对可以在较高频带中被再现为优质声音的音频信号进行解码。
在第六实施例中,已经解释了相应的较低频带时间-频率信号替代相应的较高频带时间-频率信号,然而本发明并不局限于此。可以把对其设计而使得能够把较低频带和较高频带划分成多个组(例如8组),其中包括相同数量(例如4个)的时间-频率信号,从而较低频带中的所述组之一中的时间-频率信号替代较高频带中的每一组。另外,通过把所产生的噪音(由32个频谱值组成)添加在其上,可以调整较高频带中所复制的较低频带时间-频率信号的振幅。而且,还根据这样的假设解释了第六实施例:采样频率为44.1kHz一帧由1024个采样组成;包含在一个时间-频率信号中的采样的个数为22;以及包含在一帧中的时间-频率信号的个数为32,然而本发明并不局限于此。采样频率和包含在一帧中的采样的个数也可以为任何其它值。