编码装置和译码装置的制作方法

文档序号:2834769阅读:227来源:国知局
专利名称:编码装置和译码装置的制作方法
技术领域
本发明涉及一种编码装置和一种译码装置,尤其涉及一种用于将音频信号编码成具有减少的信息量但仍然保持音频信号的相同的声音质量的编码流的编码装置,以及一种用于对编码数据流译码的译码装置。
近来,AAC已经被MPEG4标准所采用。目前定义了MPEG4-AAC,它在IS13818-7标准之上有几个扩展功能。MPEG4-AAC的编码过程的一个例子在资料提供部分(INFORMATIVE PART)中进行了描述。


图10是显示一个常规编码装置1000的结构的示意图。编码装置1000的输入是一个频谱流。频谱流的产生如下。
一个音频信号通过对音频信号采样而获得的音频离散信号的形式输入一个时间频率变换单元(图中未显示)。时间频率变换单元通过正交变换等方法将在时间轴上的离散信号变换成在频率轴上的频谱。这里,将通过时间轴上的离散信号变换而获得的频率轴上的频谱的全部称为“一帧频谱”。一帧频谱被分成分别对应于不同频带的多个频谱。该频谱流被输入到编码装置1000。
编码装置1000包括频谱放大单元1010、频谱量化单元1020、霍夫曼编码单元1030和编码流产生单元1040。
频谱放大单元1010接收一个代表对应于多个频带中的一个规定频带的频谱的频谱流,并采用一个规定增益放大接收的频谱以便产生一个放大的频谱流。频谱放大单元1010还对规定增益进行编码以便产生一个编码增益。
频谱量化单元1020采用一个规定的变换公式量化放大的频谱流的数据,以便产生一个量化的频谱流。采用AAC方法时,频谱量化单元1020通过将以浮点部分表示的放大的频谱流的数据舍入成一个整数来执行量化。
霍夫曼编码单元1030对量化的频谱流中的多个数据单元进行霍夫曼编码,以便产生一个霍夫曼编码的频谱流。
编码流产生单元1040产生一个包括编码增益和霍夫曼编码的频谱流的编码流,并将编码流传送给译码装置(图中未显示)。
具有上述结构的常规编码装置1000具有下列问题。
近来需要减少通过对音频信号编码而获得的编码流的信息量以便提高音频信号的压缩比。
而在编码装置1000中,信息的压缩比依靠霍夫曼编码单元1030。更具体地,为了以较高的压缩比将音频信号编码成一个具有减少的信息量的数据流,则要控制频谱放大单元1010的增益,以减小量化的频谱流的数据值,从而减小要由霍夫曼编码单元1030编码的信息量。
然而,上述操作导致通过对霍夫曼编码的频谱流译码而获得的频谱在一个较宽的频率范围上显示出零振幅值(量化值)的现象。这意味着不能获得足够高的声音质量。
依据本发明的一个方面,一种编码装置包括频带增益编码单元,用于计算对应于多个频带中的每一个频带的频谱流的平均振幅,以便产生表示频谱流的平均振幅的第一代码;编码频带确定单元,用于从多个频带中确定至少一个频带,其对应的频谱流将被量化和编码;频谱编码单元,用于对由编码频带确定单元确定的至少一个频带中的每一个频带的频谱流量化和编码,以便产生第二代码;以及,编码流产生单元,用于根据第一代码和第二代码产生一个编码流。
在本发明的一个实施例中,编码频带确定单元根据表示频谱流的平均振幅的第一代码的大小确定对应于多个频带中的每一个频带的频谱流是否要被量化和编码。
在本发明的一个实施例中,编码频带确定单元从未被确定要量化或编码的频带中重新确定一个其对应的频谱流将被量化和编码的频带,重新确定是根据由频谱编码单元为确定要量化和编码的至少一个频带产生的第二代码的大小来执行的。频谱编码单元为重新确定的频带量化和编码频谱流,以便产生第二代码。
在本发明的一个实施例中,编码流产生单元根据一个表示由编码频带确定单元确定的频带的第三代码、第一代码和第二代码产生编码流。
在本发明的一个实施例中,频谱编码单元执行霍夫曼编码。
在本发明的一个实施例中,频谱编码单元执行矢量量化。
在本发明的一个实施例中,频谱编码单元执行霍夫曼编码和矢量量化。
在本发明的一个实施例中,编码装置进一步包括时间区域增益编码单元,用于计算对应于多个时间区域中的每一个时间区域的、要被变换成多个频带中的每一个频带的频谱流的时间信号流的平均振幅,以便产生表示时间信号流的平均振幅的第四代码。
在本发明的一个实施例中,编码装置进一步包括子频带增益编码单元,用于产生表示多个子频带中的每一个子频带的平均振幅的第五代码,该多个子频带通过划分频带中的其对应的频谱流被确定为不量化或编码的至少一个频带而获得。
在本发明的一个实施例中,多个子频带中的至少一个子频带包括两个或多个频谱流。
依据本发明的另一个方面,提供了一种用于对包括第一代码和至少一个第二代码的编码流译码的译码装置。产生第一代码以便表示多个频带中的一个频带的频谱流的平均振幅。通过对一个频带的频谱流进行量化和编码来产生所述至少一个第二代码中的每一个第二代码。译码装置包括编码流分析单元,用于分析编码流以便检测第一代码和至少一个第二代码;频带增益去量化单元,用于将由编码流分析单元检测出的第一代码去量化成频谱流的平均振幅;编码频带通知单元,用于通知对应于至少一个第二代码的频带是否包括一个对应于第一代码的频带;频谱去量化单元,用于根据编码频带通知单元提供的的对应于至少一个第二代码的频带包括一个对应于第一代码的频带的通知来将第二代码去量化和译码成频谱流;噪声频谱流产生单元,用于根据编码频带通知单元提供的的对应于至少一个第二代码的频带不包括对应于第一代码的频带的通知产生一个噪声频谱流;以及放大单元,用于根据平均振幅放大频谱流或噪声频谱流。
在本发明的一个实施例中,编码流进一步包括表示其对应的频谱流已经被量化和编码的频带的第三代码。编码频带通知单元对第三代码译码,并根据译码的第三代码给出对应于至少一个第二代码的频带是否包括一个对应于第一代码的频带的通知。
在本发明的一个实施例中,频谱去量化单元执行霍夫曼译码。
在本发明的一个实施例中,频谱去量化单元执行矢量去量化。
在本发明的一个实施例中,频谱去量化单元执行霍夫曼译码和矢量去量化。
在本发明的一个实施例中,编码流进一步包括表示要被变换成多个频带中的每一个频带的频谱流的、多个时间区域中的每一个时间区域的时间信号流的平均振幅的第四代码。译码装置进一步包括一个时间增益区域译码单元,用于将第四代码译码成时间信号流的平均振幅。
在本发明的一个实施例中,噪声频谱流产生单元根据由时间增益区域译码单元译码的第四代码产生一个要被变换成多个时间区域中的每一个时间区域的噪声信号的噪声频谱流。
在本发明的一个实施例中,编码流进一步包括表示多个子频带中的每一个子频带的平均振幅的第五代码,该多个子频带通过划分频带中的其对应的频谱流将不被去量化的至少一个频带而获得。译码装置进一步包括子频带增益译码单元,用于将第五代码译码成子频带的平均振幅,并根据译码的平均振幅为多个子频带中的每一个子频带产生一个噪声频谱流。
于是,本发明能够提供一种用于将对应于音频信号的频谱流编码成具有减少的信息量但仍然保持音频信号的声音质量的编码流的编码装置以及一种用于将编码流译码成对应于译码的音频信号的输出频谱流的译码装置。
对于本领域普通技术人员来说,在阅读和理解了下面带有参考附图的详细说明之后,本发明的以上和其他优点将变得明显。
图2C显示了图1中所示的编码装置110的又一个例子的结构;图3显示了图1中所示的译码装置120的一个例子的结构;图4是显示由图4中所示的译码装置输出的输出频谱流表示的输出频谱的说明图;图5显示了图1中所示的编码装置110的又一个例子的结构;图6显示了图1中所示的译码装置120的另一个例子的结构;图7显示了图1中所示的编码装置110的又一个例子的结构;图8显示了图1中所示的译码装置120的另一个例子的结构;图9是显示由图7中所示的编码装置获得的子频带的频谱的示意图;以及图10显示了一个常规编码装置的结构。
(例子1)图1显示了依据本发明的第一个例子的包括编码装置和译码装置的音频信号变换系统10的例示结构。
音频信号变换系统10包括时间频率变换单元20,用于将一个音频信号变换成一个频谱流;数据处理系统100,用于将频谱流编码成一个具有减少的信息量的编码流并用于对编码流译码以便产生一个输出频谱流;以及,频率时间变换单元30,用于将输出频谱流变换成一个译码的音频信号。译码的音频信号由一个再现单元40再现。
数据处理系统100包括用于将频谱流编码成一个编码流的编码装置110和用于将编码流译码成一个输出频谱流的译码装置120。
在音频信号变换系统10中,时间频率变换单元20和编码装置110一起用作一个发送单元60。译码装置120和频率时间变换单元30一起用作一个接收单元70。从发送单元60输出的编码流由任意的记录装置临时记录,并在需要时译码和再现。或者,从发送单元60输出的编码流通过传输路径(图中未显示)被发送到接收单元70。
一个音频信号通过对音频信号采样而获得的音频离散信号的形式输入到时间频率变换单元20。音频离散信号由时间轴上的一个离散信号表示。时间频率变换单元20以一特定时间间隔将时间轴上的离散信号变换成频率轴上的频谱。这里,一特定时间间隔上的时间轴上的离散信号的全部被称为“一帧时间信号”。通过变换一帧时间信号获得的频率轴上的频谱被称为“一帧频谱”。一帧时间信号被表示为一帧时间信号流。一帧频谱被分成分别对应于多个频带的多个频谱。这里,多个频带中的每一个频带被称为一个比例因子频带。多个频谱上的数据单位被包括在每个比例因子频带中,并且每个数据单位被输入给编码装置110。
时间频率变换单元20通过例如改进的离散余弦变换(MDCT)的方法执行时间频率变换。MDCT在本领域是公知的。时间频率变换单元20为指定数目的样本中的每一个样本(例如,每512个样本或每1024个样本)执行时间频率变换。在样本数(即,时间信号流的数目)是512并且将MDCT用于时间频率变换的情况下,应获得每一帧用于512样本的MDCT系数。在下面的描述中,假设采用MDCT并且MDCT系数的全部是一帧频谱。
图2A显示了作为图1中所示的编码装置110的一个例子的编码装置110A的结构。编码装置110A接收一个频谱流,并产生一个编码流。
编码装置110A包括频带增益编码单元210A、编码频带确定单元220A、频谱编码单元230A和编码流产生单元240A。频带增益编码单元210A计算频谱流的平均振幅,并产生表示频谱流的平均码单元210A计算频谱流的平均振幅,并产生表示频谱流的平均振幅的第一代码。编码频带确定单元220A在多个频带中确定其对应的频谱流要被量化和编码的至少一个频带。频谱编码单元230A对由编码频带确定单元220A确定的所述至少一个频带中的每一个频带的频谱流进行量化和编码,以便产生第二代码。编码流产生单元240A根据由频带增益编码单元210A产生的第一代码和由频谱编码单元230A产生的第二代码产生一个编码流。
下面将更详细地描述编码装置110A的每个单元的操作。
例如,频带增益编码单元210A采用表达式(1)计算对应于每个比例因子频带的频谱流的平均振幅rms。rms=1nΣi=0n-1sp(i)*sp(i)---(1)]]>其中,sp(i)表示对应于比例因子频带的频谱流中的每个数据单位的值,n表示对应于比例因子频带的频谱流中的数据单位的数目。
频带增益编码单元210A对为每个比例因子频带获得的平均振幅rms进行量化和编码。
例如,编码的平均振幅(index)由表达式(2)给出index=(int){2*log2(rms)-1}(2)其中(int)表示一个用于舍入小数点后的值并使振幅值是一个整数的函数,log2是2的对数。
例如,量化的平均振幅(qrms)由表达式(3)给出qrms=2^((index+2)/2) (3)其中^表示一个用于指数计算的函数。
在将一帧频谱分成M个频谱时(当一帧频谱包括M个比例因子频带时),获得最大为M个量化的平均振幅。编码流产生单元240A可以采用表示所有M个平均振幅的代码产生一个编码流。或者,编码流产生单元240A可以采用表示小于M的数目的平均振幅的代码产生一个编码流,其中该数目从最低频带算起。再或者,编码流产生单元240A可以根据表示一个平均振幅的代码和其他信息产生一个编码流。编码流可以通过直接对由表达式(2)获得的代码进行编码来产生,或者可以采用霍夫曼编码等方法对相邻比例因子频带的平均振幅之间的差进行编码。
编码频带确定单元220A在多个频带中确定其对应的频谱流要被频谱编码单元230A量化和编码的至少一个频带(或比例因子频带)。例如比例因子频带可以预置为从最低频带起的N个比例因子频带。
在这个例子中,将对应于M个比例因子频带中的从最低频带起的N个比例因子频带的频谱流预置为被量化和编码。M和N都是自然数,M等于或大于N。预置从最低频带起的N个比例因子频带的原因是因为在听一个再现的音频信号时人的听觉受较低频带的影响比较高频带的影响大。
频谱编码单元230A对对应于由编码频带确定单元220A确定的比例因子频带的频谱流进行量化和编码。频谱编码单元230A可以使用霍夫曼编码或矢量量化。或者,频谱编码单元230A可以同时使用霍夫曼编码和矢量量化。这里,假设由频谱编码单元230A执行的编码类型是预先确定的。本发明并不限于这一点。频谱编码单元230A可以向编码流产生单元240A输出表示在频谱流上执行的量化和编码的类型的信息,并且编码流产生单元240A可以将该信息包括在编码流中。
编码流产生单元240A根据由频带增益编码单元210A产生的平均振幅和由频谱编码单元230A产生的编码频谱流产生一个编码流。该编码流是以一个符合规定格式的位流的形式产生的。编码流可以以本领域技术人员公知的任何格式产生。
图3显示了作为图1中所示的译码装置120的一个例子的译码装置120A的结构。译码装置120A接收一个编码流并产生一个输出频谱流。
编码流包括多个第一代码和至少一个第二代码。多个第一代码中的每一个代码被产生以便表示对应于多个频带中的一个频带的频谱流的平均振幅。这里,术语“第一代码”指的是一个所产生的以表示对应于多个频带中的一个频带的频谱流的平均振幅的代码。术语“第二代码,”指的是一个通过对对应于由第一代码表示的平均振幅的频谱流进行编码所获得的代码。
例如,由译码装置120A接收的编码流是由上述的编码装置110A中的编码流产生单元240A产生的。由译码装置120A产生的输出频谱流被频率时间频谱变换单元30(图1)变换成一个译码的音频信号,该信号是一个时间信号。
译码装置120A包括编码流分析单元310A、频带增益去量化单元320A、编码频带通知单元330A、频谱去量化单元340A、噪声频谱流产生单元350A、放大单元360A和频谱合成单元365A。编码流分析单元310A分析包括多个第一代码和至少一个第二代码的编码流。频带增益去量化单元320A对每个第一代码去量化,以便产生每个频谱流的平均振幅。编码频带通知单元330A通知频谱去量化单元340A或噪声频谱流产生单元350A对应于至少一个第二代码的频带是否包括一个对应于一个第一代码的频带。频谱去量化单元340A将至少一个第二代码中的每一个第二代码去量化成一个频谱流。噪声频谱流产生单元350A产生一个噪声频谱流。放大单元360A放大由频谱去量化单元340A获得的频谱流和由噪声频谱流产生单元350A获得的噪声频谱流。频谱合成单元365A合成放大的频谱流和放大的噪声频谱流。放大单元360A包括用于放大噪声频谱流的噪声频谱流放大单元362A和用于放大频谱流的频谱流放大单元364A。
下面更详细地描述译码装置120A的每个单元的操作。
编码流分析单元310A接收编码流并分析收到的编码流。编码流分析单元310A还将由分析获得的每一个第一代码中输出到频带增益去量化单元320A。
频带增益去量化单元320A根据从编码流分析单元310A接收的第一代码为每个比例因子频带产生一个量化的译码平均振幅qrms。量化的译码平均振幅qrms由上面的表达式(3)计算。
编码流分析单元310A向编码频带通知单元330A发送关于对应于至少一个第二代码的频带是否包括一个对应于一个第一代码的频带的信息。当对应于至少一个第二代码的频带包括一个对应于一个第一代码的频带时,编码频带通知单元330A将该信息通知频谱去量化单元340A。当对应于至少一个第二代码的频带不包括对应于任何第一代码的任何频带时,编码频带通知单元330A将该信息通知噪声频谱流产生单元350A。在这个例子中,假设编码流包括通过对对应于多个比例因子频带中的从最低频带起的N个比例因子频带的频谱进行编码而获得的代码。本发明并不限于这一点。
当编码频带通知单元330A通知频谱去量化单元340A对应于至少一个第二代码的频带包括一个对应于一个第一代码的频带时,频谱去量化单元340A对从编码流分析单元310A接收的第二代码去量化,以便产生一个频谱流。当第二代码由霍夫曼编码形成时,频谱去量化单元340A执行霍夫曼译码。当第二代码由矢量量化形成时,频谱去量化单元340A执行矢量去量化。这里,假设在第二代码上执行的编码类型是预先确定的。本发明并不限于这一点。编码流可以包括一个表示第二代码被编码的类型的代码,频谱去量化单元340A可以根据在编码流中包括的代码确定在第二代码上执行的译码的类型。
放大单元360A的频谱流放大单元364A采用由频带增益去量化单元320A产生的平均振幅来放大由频谱去量化单元340A产生的频谱流。
在为一个比例因子频带产生的平均振幅是qrms以及由频谱去量化单元340A产生的对应于该比例因子频带的频谱流是qsp(i)的情况下,频谱放大单元364A的输出由表达式(4)给出。
rsp(i)=qrms*qsp(i) (4)当编码频带通知单元330A通知噪声频谱流产生单元350A对应于至少一个第二代码的频带不包括对应于任何第一代码的任何频带时,噪声频谱流产生单元350A向放大单元360A的噪声放大单元362A输出一个噪声频谱。这里,“噪声频谱”指的是频率轴上的频谱。噪声频谱流产生单元350A可以将一个通过与由时间频率变换单元20(图1)执行的时间频率变换相同类型的时间频率变换处理预先准备的白噪声信号而获得的频谱作为噪声频谱使用。白噪声信号的频谱被规格化,使得由表达式(1)到(3)获得的平均振幅是1。或者,噪声频谱流产生单元350A可以在一些记录介质上存储噪声频谱的一个值并仅仅输出该值。
噪声频谱放大单元362A采用由频带增益去量化单元320A产生的平均振幅来放大由噪声频谱流产生单元350A产生的噪声频谱流。放大是以与表达式(4)类似的方式执行的。
如上所述,当对应于编码频谱中包括的至少一个第二代码的频带包括一个对应于一个第一代码的频带时,放大单元360A根据由频谱去量化单元340A产生的频谱流和由频带增益去量化单元320A产生的平均振幅放大一个频谱流。
当对应于编码频谱中包括的至少一个第二代码的频带不包括对应于任何第一代码的任何频带时,放大单元360A根据由噪声频谱流产生单元350A产生的噪声频谱流和由频带增益去量化单元320A产生的平均振幅放大一个噪声频谱流。
频谱合成单元365A合成放大的噪声频谱流和放大的频谱流以便产生一个输出频谱流。
总之,当对应于至少一个第二代码的频带包括一个对应于一个第一代码的频带时,编码频带通知单元330A命令频谱去量化单元340A对第二代码去量化,以产生一个译码的频谱流。频谱去量化单元340A将产生的频谱流输出到频谱放大单元364A。频谱放大单元364A采用由频带增益去量化单元320A获得的平均振幅作为第一代码的去量化结果来放大频谱流。
或者,当对应于至少一个第二代码的频带不包括对应于任何第一代码的任何频带时,编码频带通知单元330A命令噪声频谱流产生单元350A输出一个噪声频谱流。噪声频谱流产生单元350A将产生的噪声频谱流输出到噪声频谱放大单元362A。噪声频谱放大单元362A采用由频带增益去量化单元320A获得的平均振幅作为第一代码的去量化结果来放大噪声频谱流。
图4显示了一个由译码装置120A输出的输出频谱流表示的输出频谱。在图4中,垂直轴代表频谱的振幅,水平轴代表频率。
图4显示了在较高范围和较低范围中的频带。在这个例子中,编码流包括对应于较低比例因子频带的第二代码。本发明并不限于包括第二代码的编码流是从较低频带开始连续的。
从放大单元360A输出的由输出频谱流表示的输出频谱由频率时间变换单元30(图1)变换成一个译码音频信号,该信号是一个时间信号流。
在上述例子中,其对应的频谱流要被编码装置110A量化和编码的比例因子频带和其对应的频谱流要被译码装置120A译码的比例因子频带是被预置的。本发明并不限于这一点。其对应的频谱流要被编码装置110A量化和编码的比例因子频带可以由平均振幅或编码频谱流的信息量来确定。其对应的频谱流要被译码装置120A译码的比例因子频带可以由编码流中包括的代码确定。
图2B显示了作为图1中所示的编码装置110的一个例子的编码装置110B的结构。
编码装置110B与图2A所示的编码装置110A相比,除了其对应的频谱流要被量化和编码的频带由编码频带确定单元220B根据由频带增益编码单元210B用来表示每个比例因子频带的平均振幅的编码流的信息量来确定,以及编码流产生单元240B产生一个包括表示由编码频带确定单元220B确定的频带的代码的编码流之外,其余是相同的。编码装置110B的频带增益编码单元210B、编码频带确定单元220B、频谱编码单元230B和编码流产生单元240B分别对应于编码装置110A的频带增益编码单元210A、编码频带确定单元220A、频谱编码单元230A和编码流产生单元240A(图2A)。
下面更详细地描述编码装置110B的操作。
编码频带确定单元220B根据由频带增益编码单元210B用来表示每个比例因子频带的平均振幅的编码流的信息量来确定其对应的频谱流要被频谱编码单元230B量化和编码的比例因子频带的数目。
例如,当用来表示至少一个比例因子频带的平均振幅的编码流的信息量比一个阈值大时,编码频带确定单元220B减少其对应的频谱流要被频谱编码单元230B量化和编码的比例因子频带的数目。相反,当用来表示至少一个比例因子频带的平均振幅的编码流的信息量比一个阈值小时,编码频带确定单元220B增大其对应的频谱流要被频谱编码单元230B量化和编码的比例因子频带的数目。
于是,编码频带确定单元220B可以根据由频带增益编码单元210B执行的编码的结果来控制其对应的频谱流要被频谱编码单元230B量化和编码的比例因子频带的数目。
编码流产生单元240B根据由频带增益编码单元210B产生的平均振幅(第一代码)、由频谱编码单元230B产生的编码频谱流(第二代码)以及表示由编码频带确定单元220B确定的比例因子频带的代码(第三代码)来产生一个编码流。
图2C显示了作为图1中所示的编码装置110的一个例子的编码装置110C的结构。
编码装置110C与图2A所示的编码装置110A相比,除了其对应的频谱流要被量化和编码的频带由编码频带确定单元220C根据由频谱编码单元230C用来表示编码频谱流的编码流的信息量来确定,以及编码流产生单元240C产生一个包括表示由编码频带确定单元220C确定的频带的代码的编码流之外,其余是相同的。编码装置110C的频带增益编码单元210C、编码频带确定单元220C、频谱编码单元230C和编码流产生单元240C分别对应于编码装置110A的频带增益编码单元210A、编码频带确定单元220A、频谱编码单元230A和编码流产生单元240A(图2A)。
例如,当编码流的大小被预置并且频谱编码单元230C执行霍夫曼编码时,编码频带确定单元220C确定对从最低频带顺序开始的多个频带的全部进行霍夫曼编码。当由于编码流大小的限制不能对多个频带的全部进行霍夫曼编码时,编码频带确定单元220C确定不对高于一特定频带的频带进行霍夫曼编码。在这种情况下,编码流产生单元240C根据由频带增益编码单元210C产生的平均振幅(第一代码)、由频谱编码单元230C产生的编码频谱流(第二代码)以及由编码频带确定单元220C确定的表示比例因子频带的代码(第三代码)产生一个编码流。
或者,可以想到,编码频带确定单元220C预先确定一个其对应的频谱流要被量化和编码的频带。在这种情况下,其对应的频谱流要被量化和编码的频带可以根据通过对预先确定的频带的频谱流量化和编码而获得的第二代码的大小在原先未确定为被量化和编码的频带中重新确定。频谱编码单元230C对重新确定的频带的频谱流量化和编码,以便产生另一个第二代码。
如图2B和2C所示,编码流可以包括一个表示其对应的频谱流已经被编码的比例因子频带的第三代码。
在这种情况下,译码装置120如同下面采用译码装置120A(图3)作为一个例子所描述的那样进行操作。
编码流分析单元310A分析第三代码。编码频带通知单元330A根据由编码流分析单元310A执行的分析所获得的第三代码对指示哪一比例因子频带已经被编码的信息进行译码。根据译码结果,编码频带通知单元330A通知频谱去量化单元340A其对应的频谱流已经被编码的比例因子频带。或者,编码频带通知单元330A通知噪声频谱流产生单元350A对应于每个第一代码的频带不包括对应于第二代码的任何频带。
根据从编码频带通知单元330A获得的结果,频谱去量化单元340A将对应于被编码频带通知单元330A确定为已经编码的每个比例因子频带的频谱流进行译码。在第二代码是通过霍夫曼编码获得的情况下,频谱去量化单元340A在第二代码上执行霍夫曼译码。在第二代码是通过矢量量化获得的情况下,频谱去量化单元340A在第二代码上执行矢量去量化。
放大单元360A采用由频带增益去量化单元320A获得的平均振幅放大由频谱去量化单元340A产生的译码的频谱流。
在一个依据本发明的编码装置中获得的编码流虽然具有减少的数据量,但也可以被译码成一个包括在较宽频率范围上的数据的音频信号。依据本发明,不是对对应于一个较宽范围上的所有频带的频谱的详细波形进行编码,而是对于一些频带,只对其平均振幅进行编码。因此,所获得的编码流具有减少的数据量,但被译码成一个带有输入音频信号的每个频带的平均振幅的音频信号。因此,译码的音频信号可以被再现成一个清晰的声音,该声音与一个从窄频率范围的信号获得的声音不同,不会给听者该声音被限制了的印象。
(例子2)依据本发明的第二个例子的编码装置和译码装置与第一个例子的不同之处在于(i)表示一个音频信号的一帧时间信号流被分成分别对应于多个时间区域的多个时间信号流,并产生对应于每个时间区域的时间信号流的平均振幅,以及(ii)对表示这样一个时间信号流的平均振幅的第四代码进行译码。
图5显示了作为图1所示的编码装置110的一个例子的编码装置110D的结构。
编码装置110D与图2A所示的编码装置110A相比,除了进一步包括用于产生表示每个时间信号流的平均振幅的第四代码的时间区域增益编码单元250D,以及编码流产生单元240D产生一个包括第四代码的编码流之外,其余是相同的。编码装置110D的频带增益编码单元210D、编码频带确定单元220D、频谱编码单元230D和编码流产生单元240D分别对应于编码装置110A的频带增益编码单元210A、编码频带确定单元220A、频谱编码单元230A和编码流产生单元240A(图2A)。
规定数目的采样中的每一个采样的音频信号被输入到时间频率变换单元20。时间频率变换单元20采用改进的离散余弦变换(MDCT)等方法从时间轴上的信号流产生频率轴上的一个频谱。如上所述,从时间轴上的频谱通过变换而得到的频率轴上的频谱的全部被称为“一帧频谱”。如在第一个例子中所述,将频谱作为频谱流输入到频带增益编码单元210D和编码频带确定单元220D。
以与将音频信号输入到时间频率变换单元20相同的时间间隔将音频信号作为音频离散信号输入到时间区域增益编码单元250D。时间区域增益编码单元250D将音频离散信号分成多个连续的时间区域。
例如,假设当音频信号由512个连续采样表示(即,in[i](i=0,1,2,…,511))时,时间区域增益编码单元250D将音频信号分成四个时间区域,每个时间区域具有128个样本。第0个时间区域中的数据是in[i],i为0到127。第1个时间区域中的数据是in[i],i为128到255。第2个时间区域中的数据是in[i],i为256到383。第3个时间区域中的数据是in[i],i为384到511。例如,时间区域增益编码单元250D采用表达式(5)计算每个时间区域的平均振幅。g(i)=Σi=j*128(j+1)*128-1in[i]*in[i]/128---(5)]]>其中,j代表时间区域的数目,g[j]代表第j个时间区域的平均振幅。
然后,时间区域增益编码单元250D根据每个时间区域的平均振幅计算每个时间区域的平均振幅比。例如,当具有四个时间区域的平均振幅的最大值的平均振幅被规格化为16时,每个时间区域的平均振幅比由4位表示。例如,规格化为16的平均振幅由表达式(6)计算。
rg(j)=(int){g(j)/gmax*16} (6)其中,rg(j)代表第j个时间区域的量化平均振幅,gmax代表g(j)的最大值。时间区域增益编码单元250D对计算出的rg(j)编码并向编码流产生单元240D发送。在上述例子中,rg(j)是通过将具有最大值的平均振幅规格化为16而获得的,以便将每个时间区域的平均振幅比用4位量化。本发明并不限于这一点。每个时间区域的平均振幅比可以用1位而不是4位来量化。这样,通过获得每个时间区域的平均振幅比,每个时间区域的平均振幅可以由规定的信息量来表示。
在上述例子中,获得每个时间区域的平均振幅比,但本发明并不限于这一点。通过仅仅对每个时间区域的平均振幅编码而获得的一个值也可以被发送到编码流产生单元240D。
图6显示了作为图1所示的译码装置120的一个例子的译码装置120B的结构。
译码装置120B与图3所示的译码装置120A相比,除了进一步包括一个时间区域增益译码单元370B之外,其余是相同的。译码装置120B的编码流分析单元310B、频带增益去量化单元320B、编码频带通知单元330B、频谱去量化单元340B、噪声频谱流产生单元350B、放大单元360B和频谱合成单元365B分别对应于译码装置120A的编码流分析单元310A、频带增益去量化单元320A、编码频带通知单元330A、频谱去量化单元340A、噪声频谱流产生单元350A、放大单元360A和频谱合成单元365A(图3)。
编码频带通知单元330B接收一个包括表示每个时间区域的时间信号流的平均振幅的第四代码的编码流。时间区域增益译码单元370B从由编码频带通知单元330B执行的分析获得的第四代码对每个时间区域的时间信号流的平均振幅进行译码。从第四代码译码出的时间信号流的平均振幅被发送到噪声频谱流产生单元350B。噪声频谱流产生单元350B根据由时间区域增益译码单元370B译码的第四代码产生一个要被变换成多个时间区域中的每一个时间区域的噪声信号的噪声频谱流。
如上面参考表达式(5)所述的,在第四代码是一个表示每个时间区域的平均振幅的时间区域增益比rg(j)的情况下,噪声频谱流产生单元350B根据由时间区域增益译码单元370B译码的时间区域增益比rg(j)产生一个要被变换成多个时间区域中的每一个时间区域的噪声信号的噪声频谱流。例如,这个处理对应于由表达式(7)表示的放大噪声信号的产生。
an(i)=rg(j)*n(i)其中(i=0,1,2,…511) 其中n(i)代表一个噪声信号,an(i)代表一个放大的噪声信号。噪声频谱流产生单元350B以与由时间频率变换单元20(图5)执行的类似的时间频率变换来处理放大的噪声信号an(i),以便产生一个噪声频谱,并向放大单元360B输出噪声频谱。在此之后执行的操作类似于在第一个例子中所描述的。噪声频谱流产生单元350B可以在一些记录介质中事先保存噪声频谱的一个值,并仅仅在需要时输出该值。
在一个依据本发明的编码装置中获得的编码流虽然具有减少的数据量,但也可以被译码成一个包括在较宽频率范围上的数据的音频信号。依据本发明,不是对对应于一个较宽范围上的所有频带的频谱的详细波形进行编码,而是对于一些频带,只对其平均振幅进行编码。因此,所获得的编码流具有减少的数据量,但被译码成一个带有输入音频信号的每个频带的平均振幅的音频信号。因此,译码的音频信号可以被再现成一个清晰的声音,该声音与一个从窄频率范围的信号获得的声音不同,不会给听者该声音被限制了的印象。由于多个时间区域中的每一个时间区域的平均振幅被译码,所以可以再现一个清晰明确的声音。
(例子3)依据本发明的第三个例子的编码装置和译码装置与第一个例子的不同之处在于(i)一个将不被量化或编码的频带被分成多个子频带,并产生每个子频带的平均振幅,以及(ii)对表示每个子频带的频谱流的平均振幅的第五代码译码。
图7显示了作为图1所示的编码装置110的一个例子的编码装置110E的结构。
编码装置110E与图2A中所示的编码装置110A相比,除了进一步包括一个子频带增益编码单元260E之外,其余是相同的。编码装置110E的频带增益编码单元210E、编码频带确定单元220E、频谱编码单元230E和编码流产生单元240E分别对应于编码装置110A的频带增益编码单元210A、编码频带确定单元220A、频谱编码单元230A和编码流产生单元240A。
由编码频带确定单元220E确定为将不被量化或编码的(对应于一个比例因子频带的)频谱流被输入到子频带增益编码单元260E。子频带增益编码单元260E选择这样的频谱流的全部或部分。这里,将这样一个选定的频带称为“子频带增益编码应用频带”。
子频带增益编码应用频带可以根据由频谱编码单元230E用来编码的信息量来改变。例如,当由频谱编码单元230E编码的信息量大于一个阈值时,子频带增益编码单元260E减小子频带增益编码应用频带。相反,当由频谱编码单元230E编码的信息量小于一个阈值时,子频带增益编码单元260E增大子频带增益编码应用频带。
将子频带增益编码应用频带中的至少一个频谱分成多个子频带。每个子频带可以包括两个或多个频带。
在下面的例子中,一个子频带增益编码应用频带包括一个频谱中的16个数据单位。在这个例子中,从对应于最低频带的频谱向最高频带排列频谱。将对应于三个子频带的频谱分别分成五、六和五个数据单位。
图9示意地显示了第三个例子中的一个子频带中的频谱。子频带0对应于最低频带,子频带1对应于次最低频带,子频带2对应于三个频带中的最高频带。例如,每个子频带的平均振幅采用表达式(8)计算。subG[i]=1N(i)Σj=start(i)end(i)ssp(j)*ssp(j)]]> 子频带增益编码应用频带包括三个子频带的数据,即ssp(j),subG[i]代表所计算的子频带i的的平均振幅。子频带增益编码单元260E根据计算出的平均振幅是大于还是小于一个阈值来对每个子频带的平均振幅编码。将编码的结果发送到编码流产生单元240E。例如,表示所计算的平均振幅是大于还是小于阈值的编码的subGsw[i]由表达式(9)给出。 其中,Th是用于实施的一个阈值。
图8显示了作为图1所示的译码装置120的一个例子的译码装置120C的结构。
译码装置120C与图3所示的译码装置120A相比,除了进一步包括一个子频带增益译码单元380C之外,其余是相同的。译码装置120C的编码流分析单元310C、频带增益去量化单元320C、编码频带通知单元330C、频谱去量化单元340C、噪声频谱流产生单元350C和放大单元360C分别对应于译码装置120A的编码流分析单元310A、频带增益去量化单元320A、编码频带通知单元330A、频谱去量化单元340A、噪声频谱流产生单元350A和放大单元360A(图3)。
编码流分析单元310C接收一个包括第五代码的编码流,第五代码表示通过划分未被量化或编码的频谱流而获得的每个子频带的频谱流的平均振幅。然后,编码流分析单元310C分析该编码流。子频带增益译码单元380C将通过由编码流分析单元310C执行的分析而获得的第五代码译码成每个子频带的频谱的平均振幅,并根据译码的平均振幅产生对应于多个子频带的噪声频谱流。
因此,子频带增益译码单元380C从其对应的频谱流将不被量化或编码的频带中找到一个子频带增益编码应用频带。然后,子频带增益译码单元380C获得每个子频带增益编码应用频带中的子频带中的频谱流的平均振幅。子频带增益译码单元380C将从噪声频谱流产生单元350C输出的噪声频谱乘以获得的平均振幅,并输出乘法结果。例如,子频带增益译码单元380C的输出由表达式(10)获得。
bn(i)=subGsw[j]*nsp(i) 其中,nsp(i)代表噪声频谱,bn(i)代表从子频带增益译码单元380C输出的频谱。子频带增益译码单元380C的输出被输入到放大单元360C。在此之后执行的操作与在第一个例子中所述的类似。
在一个依据本发明的编码装置中获得的编码流虽然具有减少的数据量,但也可以被译码成一个包括在较宽频率范围上的数据的音频信号。依据本发明,不是对对应于一个较宽范围上的所有频带的频谱的详细波形进行编码,而是对于一些频带,只对其平均振幅进行编码。因此,所获得的编码流具有减少的数据量,但被译码成一个带有输入音频信号的每个频带的平均振幅的音频信号。因此,译码的音频信号可以被再现成一个清晰的声音,该声音与一个从窄频率范围的信号获得的声音不同,不会给听者该声音被限制了的印象。子频带增益译码单元380C的使用允许即使在一个其对应的频谱流将不被量化或编码的频带中信息也只比第一个例子中有少量增加。于是,可以获得与原始音频信号相近的声音。
如上所述,依据本发明的编码装置提供了一个可以以低比特率被译码成较宽频率范围的译码音频信号的编码流。
工业实用性依据本发明,采用一个压缩技术、例如霍夫曼编码对对应于较低频带的频谱的详细波形进行编码。对于较高频带,不对频谱的详细波形进行编码,而是只对每个频谱的平均振幅上的信息进行编码。这样,可以使由编码所耗费的较高频率分量的信息量最小。由于较高频率分量可以用一个噪声频谱译码,所以再现的声音覆盖较宽的频率范围。
在不偏移本发明的范围和精神的情况下,各种其他修改对于本领域的技术人员来说是显而易见的并且可以容易地作出。因此,不希望将附带的权利要求书的范围限制到这里所述的说明,而是被广义构造的权利要求书所限制。
权利要求
1.一种编码装置,包括频带增益编码单元,用于计算对应于多个频带中的每一个频带的频谱流的平均振幅,以便产生表示频谱流的平均振幅的第一代码;编码频带确定单元,用于从多个频带中确定至少一个其对应的频谱流将被量化和编码的频带;频谱编码单元,用于对由编码频带确定单元确定的至少一个频带中的每一个频带的频谱流量化和编码,以便产生第二代码;以及编码流产生单元,用于根据第一代码和第二代码产生一个编码流。
2.如权利要求1所述的编码装置,其中,编码频带确定单元根据表示频谱流的平均振幅的第一代码的大小确定对应于多个频带中的每一个频带的频谱流是否要被量化和编码。
3.如权利要求1所述的编码装置,其中编码频带确定单元从未被确定要量化或编码的频带中重新确定一个其对应的频谱流将被量化和编码的频带,重新确定是根据由频谱编码单元为确定要被量化和编码的至少一个频带产生的第二代码的大小来执行的,以及频谱编码单元为重新确定的频带量化和编码频谱流,以便产生第二代码。
4.如权利要求1所述的编码装置,其中,编码流产生单元根据表示由编码频带确定单元确定的频带的第三代码、第一代码和第二代码产生编码流。
5.如权利要求1所述的编码装置,其中,频谱编码单元执行霍夫曼编码。
6.如权利要求1所述的编码装置,其中,频谱编码单元执行矢量量化。
7.如权利要求1所述的编码装置,其中,频谱编码单元执行霍夫曼编码和矢量量化。
8.如权利要求1所述的编码装置,进一步包括时间区域增益编码单元,用于计算对应于多个时间区域中的每一个时间区域的、要被变换成多个频带中的每一个频带的频谱流的时间信号流的平均振幅,以便产生表示时间信号流的平均振幅的第四代码。
9.如权利要求1所述的编码装置,进一步包括子频带增益编码单元,用于产生表示通过划分其对应的频谱流被确定为不被量化或编码的频带中的至少一个频带而获得的多个子频带中的每一个子频带的平均振幅的第五代码。
10.如权利要求9所述的编码装置,其中,多个子频带中的至少一个子频带包括两个或多个频谱流。
11.一种用于对包括第一代码和至少一个第二代码的编码流译码的译码装置,产生第一代码以便表示多个频带中的一个频带的频谱流的平均振幅,以及,通过对频带中的一个频带的频谱流进行量化和编码来产生所述至少一个第二代码中的每一个第二代码,译码装置包括编码流分析单元,用于分析编码流以便检测第一代码和至少一个第二代码;频带增益去量化单元,用于将由编码流分析单元检测出的第一代码去量化成频谱流的平均振幅;编码频带通知单元,用于通知对应于至少一个第二代码的频带是否包括一个对应于第一代码的频带;频谱去量化单元,用于根据编码频带通知单元发出的对应于至少一个第二代码的频带包括一个对应于第一代码的频带的通知来将第二代码去量化和译码成频谱流;噪声频谱流产生单元,用于根据编码频带通知单元发出的对应于至少一个第二代码的频带不包括对应于第一代码的频带的通知产生一个噪声频谱流;以及放大单元,用于根据平均振幅放大频谱流或噪声频谱流。
12.如权利要求11所述的译码装置,其中编码流进一步包括表示其对应的频谱流已经被量化和编码的频带的第三代码,以及编码频带通知单元对第三代码译码,并根据译码的第三代码通知对应于至少一个第二代码的频带是否包括一个对应于第一代码的频带。
13.如权利要求11所述的译码装置,其中,频谱去量化单元执行霍夫曼译码。
14.如权利要求11所述的译码装置,其中,频谱去量化单元执行矢量去量化。
15.如权利要求11所述的译码装置,其中,频谱去量化单元执行霍夫曼译码和矢量去量化。
16.如权利要求11所述的译码装置,其中编码流进一步包括表示要被变换成多个频带中的每一个频带的频谱流的、多个时间区域中的每一个时间区域的时间信号流的平均振幅的第四代码,以及译码装置进一步包括时间增益区域译码单元,用于将第四代码译码成时间信号流的平均振幅。
17.如权利要求16所述的译码装置,其中噪声频谱流产生单元根据由时间增益区域译码单元译码的第四代码产生一个要被变换成多个时间区域中的每一个时间区域的噪声信号的噪声频谱流。
18.如权利要求11所述的译码装置,其中编码流进一步包括表示通过划分其对应的频谱流将不被去量化的频带中的至少一个频带而获得的多个子频带中的每一个子频带的平均振幅的第五代码,以及译码装置进一步包括子频带增益译码单元,用于将第五代码译码成子频带的平均振幅,并根据译码的平均振幅为多个子频带中的每一个子频带产生一个噪声频谱流。
全文摘要
一种编码装置包括频带增益编码单元,用于计算对应于多个频带中的每一个频带的频谱流的平均振幅,以便产生表示频谱流的平均振幅的第一代码;编码频带确定单元,用于从多个频带中确定至少一个其对应的频谱流将被量化和编码的频带;频谱编码单元,用于对由编码频带确定单元确定的至少一个频带中的每一个频带的频谱流量化和编码,以便产生第二代码;以及,编码流产生单元,用于根据第一代码和第二代码产生一个编码流。
文档编号G10L19/028GK1461468SQ02801287
公开日2003年12月10日 申请日期2002年1月24日 优先权日2001年3月2日
发明者津岛峰生, 则松武志 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1