数字音频数据的压缩与解压缩的方法

文档序号:2829532阅读:285来源:国知局
专利名称:数字音频数据的压缩与解压缩的方法
技术领域
本发明涉及对具有少量延迟的数字音频数据进行压缩与解压缩的方法。
本发明要求日本专利申请No.2005-159484的优先权,此处通过引用该专利申请的内容以结合进来。
背景技术
众所周知,通过ADPCM(即自适应差分脉冲编码调制)和LPC(即线性预测编码)以及诸如MP3(即MPEG音频层3)的子带编码和MPEG音频AAC(高级音频编码)来实现压缩数字音频数据的方法。
线性预测编码以样本为单位对数字音频数据执行压缩,所以它们可以通过解压缩(解码)没有延迟地开始播放(即音调产生处理);因此,与子带编码方法相比较,它们实现了少量的音调产生延迟,但没有实现高压缩率。子带编码方法对以帧(或块)为单位的多个样本执行压缩;因此,与线性预测编码方法相比较,它们实现高压缩率。然而,在完成对头帧中包括的所有样本的解压缩之前,子带编码方法不能开始播放;因此,解压缩时间随着每帧中包括的样本数量的增加而增长,这又增加了音调产生延迟。已授权的日本专利申请文件No.2734323与国际公开No.WO99/29133教导了实现改善音调产生延迟同时确保高压缩性能的数据压缩的方法。

发明内容
本发明的目标是提供一种对具有少量音调产生延迟的数字音频数据进行压缩与解压缩的方法。
在本发明的第一方面中,以这样的方式执行数据压缩将一系列样本数据分为n个帧,其中每帧包括的样本数量从第一帧至第k帧逐渐增大,其中1<k<n(其中k与n是整数);然后,将每帧中包括的样本数据分为多个子带信号,随后通过心理声学分析对子带进行量化,从而产生压缩的数据。
具体地,数字音频数据被分为多个帧,每帧包括希望数量的子带样本,对于乐曲的起声部分,样本数量在“16”与“1024”的范围内逐渐增大;并且通过心理声学分析和量化压缩每一帧,从而产生具有少量音调产生延迟的压缩数据。
在本发明的第二方面,使用n个帧执行数据解压缩,每一帧包括对应于压缩数据的多个子带信号,其中每帧内包括的样本数量从第一帧至第k帧逐渐增大,其中1<k<n(其中k与n是整数);然后以帧为单位对压缩数据进行解码,以便再现压缩前的一系列样本数据,并将样本数据依次写入至存储器,在其中根据该存储器的空余容量控制解码。
具体地,通过反量化和子带合成以帧为单位解码压缩的数据。解码的数据被依次写入存储器(例如,FIFO存储器),其中根据存储器的当前空余容量适当地启动或停止解码。


下面参考附图通过示例详细地说明本发明的这些和其它目标、方面以及实施例,其中图1是表示根据本发明优选实施例的数据压缩电路的框图;图2是表示根据本发明优选实施例的数据解压缩电路的框图;以及图3是表示图2所示的数据解压缩电路整体操作的流程图。
具体实施例方式
下面将参考附图,通过示例更加详细地说明本发明。
图1是表示根据本发明优选实施例的数据压缩电路构成的框图。图1的数据压缩电路使用子带编码方法对数字音频数据进行压缩。为了解决利用数字音频数据的乐曲的播放,对于乐曲(参见图1底部所示的条形图)的起声部分(或前部),该数据压缩电路被设计为改变一帧中包括的样本数量。也就是,相比于一帧中包括的样本数量固定为1024的常规子带编码方法,本发明的特征在于一帧中包括的样本数量可在16、32、64、128、256…,以及1024中变化,其中以因子“2”增加并最终到达“1024”,“1024”是固定的,因此对于每帧1024个样本执行压缩。
下面详细说明图1的数据压缩电路。
附图标记1代表用于存储压缩前的数字音频数据(例如,PCM数据),即一系列样本数据的存储器。附图标记2代表以帧为单位从存储器1依次读取包括多个样本的数字音频数据的帧划分模块,样本数量由从控制器3给出的帧大小指定。随后,读取的数字音频数据被传递至子带变换模块4和心理声学分析模块5。首先,从存储器1读取16个样本数据,并随后将它们传递至子带变换模块4和心理声学分析模块5。接着,从存储器1读取32个样本数据,并随后将它们传递至子带变换模块4和心理声学分析模块5。接着,从存储器1读取64个样本数据,并随后将它们传递至子带变换模块4和心理声学分析模块5。接着,从存储器1读取128个样本数据,随后将它们传递至子带变换模块4和心理声学分析模块5。类似地,从存储器1读取256和512个样本数据,并随后传递它们。最后,从存储器1读取1024个样本数据,并随后将它们传递至子带变换模块4和心理声学分析模块5。
子带变换模块4将其输入数据分为多个子带信号,对于规定数量的子带,每一子带信号具有相同的子带宽度。当规定数量被设置为16时,将输入数据分为16个子带信号,从而以采样频率的1/16对每一子带信号进行下采样。当规定数量被设置为32时,将输入数据分为32个子带信号,从而以采样频率的1/32对每一子带信号进行下采样。比例因子提取与归一化模块6检测一帧包括的子带样本中具有最大值的样本,其中将该最大值量化以产生比例因子。然后用该比例因子除每一子带信号,并随后将子带信号归一化至规定的±1范围内。
心理声学分析模块5利用快速傅立叶变换(FFT)执行关于频谱的计算,并以此为基础对于子带产生遮蔽阈值(或可允许的量化噪声功率)。比特分配模块7基于心理声学分析模块5的输出并在考虑到比特数量的限制之下执行重复循环处理,这在每帧是有用的,并由比特速率确定,从而确定每一子带的量化比特数。比特分配模块7可降低分配至每一帧的比特数,同时确保由压缩的数字音频数据实现的高播放质量,其基本等效于原始播放质量;因此,当压缩的数字音频数据的基本帧大小被设置为大数字时(例如1024个样本),有可能增大压缩比。量化模块8根据量化比特数,对从比例因子提取与归一化模块6输出的子带信号执行量化,其中量化比特数针对每一子带进行设置。比特流形成模块9基于比例因子提取与归一化模块6、比特分配模块7和量化模块8的输出产生每帧的比特流BS。该比特流BS包括音频数据(对应于量化的子带信号)和边数据(包括每一子带的比特分配信息、比例因子以及从控制器3输出的帧大小)。将头部增加至前述数据,以完成比特流BS,随后将其写入至ROM 10。
接下来详细说明用于对从ROM 10读取的比特流10执行解压缩的数据解压缩电路。
图2是表示数据解压缩电路构成的框图,其中前述比特流BS从ROM 10读取。从ROM 10读取的比特流BS的头部被提供至控制电路14,而比特流10中包括的子带样本与边数据被提供至比特流分析模块12。具体地,比特流分析模块12将从ROM 10读取的比特流BS的量化的子带样本和边数据分离,因此子带样本被提供至反量化电路13,而边数据被提供至控制电路14。反量化电路13对子带样本执行反量化,并且还利用比例因子执行乘法,从而产生子带数据。根据提前预定的规定子带数量,将子带数据全部提供至子带合成电路16。
控制电路14控制图2的数据解压缩电路的多个模块,其中当从CPU(即中央处理单元,未示出)接收到指令时,该控制电路产生ROM10的读取地址。此外,它接收从比特流分析模块12输出的边数据,以将比特分配信息和比例因子输出至反量化电路13。进一步地,它基于先进先出(FIFO)存储器17输出的数据ED控制由反量化电路13和子带合成电路16执行的解码。后面将说明解码的细节。
子带合成电路16根据规定的子带数量合成从反量化电路13输出的子带数据,以便通过解码再现压缩前的原始数字音频数据。解码的数字音频数据样本被提供至FIFO存储器17。FIFO存储器17中存储的解码的数字音频数据样本与采样脉冲(它的频率由fs表示)定时被同步地提供至数模(D/A)转换器18。此外,FIFO存储器17通常通过被提供至控制电路14的数据ED表明其当前空余容量。D/A转换器将FIFO存储器17输出的数字音频数据转换为模拟乐曲信号。
接下来,将参考图3说明图2的数据解压缩电路的整体操作。
当从CPU(未示出)接收到开始指令时,控制电路14对图2的数据解压缩电路的各种模块执行初始化,并且它还清除FIFO存储器17的存储内容(参见步骤S1)。接下来,它输出用于从ROM 10读取第一帧的地址。这样,从ROM 10读取对应于第一帧的比特流BS,从而将其头部提供至控制电路14(参见步骤S2),而将其子带样本与边数据提供至比特流分析模块12。比特流分析模块12将来自比特流BS的边数据和量化的子带样本分离,从而将子带样本提供至反量化电路13,而将边数据提供至控制电路14。
控制电路14基于比特流数据BS的头部做出关于当前帧是否匹配第一帧的判决(参见步骤S3)。在第一帧的情况下,控制电路14向反量化电路13提供包括在边数据中的比特分配信息和比例因子,以开始反量化。反量化电路13从而对子带样本执行反量化,并且还利用比例因子执行乘法,以便产生子带数据,随后将子带数据提供至子带合成电路16。子带合成电路16合成从反量化电路13输出的32个子带数据,以便再现压缩前的原始数字音频数据,随后将其提供至FIFO存储器17。这样如上所述地执行解码(参见步骤S4),因此解码的数字音频数据被存储至FIFO存储器17(参见步骤S5)。完成写入操作后,从FIFO存储器17读取数据。
由于第一帧包括16个样本(由前述的帧大小指定),所以可在短时间短内执行解码(参见步骤S4);因此,可以几乎零延迟地产生声音。
接下来,控制电路输出用于从ROM 10读取第二帧的地址。这样,从ROM 10读取对应于第二帧的比特流,从而将其头部提供至控制电路14(参见步骤S2),而将其子带样本与边数据提供至比特流分析模块12。控制电路14接收表示FIFO存储器17当前空余容量的数据ED,以便将第二帧的大小和FIFO存储器17当前空余容量进行比较(步骤S7)。另外,每帧的大小包括于设置在控制电路14的边数据中。
当当前空余的大小小于帧大小时,FIFO存储器处于等待状态,直到空余的大小变得大于帧大小(参见步骤S7)。当当前空余的大小变得大于帧大小时,控制电路14向反量化电路13输出比特分配信息和比例因子,以便开始反量化。之后,类似地执行前述操作以执行解码(参见步骤S8),从而将解码结果存储至FIFO存储器17(参见步骤S9)。
类似地,从ROM 10依次读取后续比特流(例如,第三、第四和第五帧),并进行解码(参见步骤S7至S9),从而将解码结果依次存储至FIFO存储器17。以先进先出的方式与采样脉冲(fs)定时同步地从FIFO存储器17读取在FIFO存储器17中存储的解码的数字音频数据样本,并且通过D/A转化器18将其转换为模拟乐曲。通常,FIFO存储器17具有对应于1024×2个样本的规定容量。也就是,在恰好完成音调产生处理之后,存在足够大的空余容量;因此,可在FIFO存储器17中存储后续样本,而不在步骤7中引起大量的等待时间。总而言之,本发明被设计为提供解码空间,该空间允许解码具有大量样本的每一帧,而不引起声音中断,这是因为在播放开始时刻之后,后续读取的数字音频数据样本逐渐在FIFO存储器17中积累。
如上所述,本实施例的特征在于,对应于数字音频数据前部(乐曲的播放起始部分)的每一帧中包括的样本数量被设置为规定数量,例如16、32、64,…,每一数量均小于原始样本数,即1024。众所周知,当需要解码的样本数量少时,由反量化电路13和子带合成电路16执行的解码可以在短时间段内完成。出于此原因,本实施例可降低数字音频数据播放起始时刻(即乐曲播放起始时刻)处的延迟(即音调产生延迟)。对应于数字音频数据前部(或者乐曲的起始部分)的每一帧内包括的样本数量从16逐渐增加到1024,然后在数字音频数据前部进行之后可将其设置为原始数量;因此有可能进一步提高压缩率。当压缩的数字音频数据的基本帧大小被设置为较大数字时,有可能提高压缩率,同时确保高播放质量,其等效于数字音频数据的原始播放质量。
对播放起始时刻设置的样本数量不必限制于前述序列。例如,可按照希望的序列改变每一帧的样本数量,例如16,16,32,32,64,64,…等。简言之,可任意确定此序列,以避免在播放中出现声音中断,只要对于FIFO存储器17的写入操作进行快于读取操作,其中这取决于解码速度。具体地,对应于数字音频数据前部的每一帧中包括的样本数量逐渐增加,并最终到达1024。在数字音频数据的播放中,当对于包括1024个样本的每一帧的总解码时间与由512(样本)乘以采样脉冲(fs)时间间隔产生的规定值匹配时,FIFO存储器17有必要在对包括1024个样本的头帧的解码处理的起始时刻预先存储至少512个样本。因此,必须确定序列满足此要求。此外,优选地利用2的次方确定此序列,以便简化数据压缩电路的构成。
本发明不限制于乐曲数据的压缩和解压缩,并可应用于其它类型数字数据的压缩和解压缩。例如,本发明适用于集成至游戏设备和音频设备等的声源和音调发生器。
最后,本发明不限于前述实施例,前述实施例是解释性的,而不是限制性的;因此,任何修改和设计变化可包含于由所附权利要求限定的本发明的范围之内。
权利要求
1.一种数据压缩方法,包括以下步骤以这样的方式将一系列样本数据分为n个帧,使得每帧内包括的样本数量从第一帧至第k帧逐渐增大,其中1<k<n,k与n是整数;将每帧内包括的所述样本数据分为多个子带信号;以及通过心理声学分析对子带信号执行量化,从而产生压缩的数据。
2.如权利要求1所述的数据压缩方法,其中所述样本数据系列对应于数字音频数据。
3.一种数据压缩设备,包括用于以这样一种方式将一系列样本数据分为n个帧的第一划分器,使得每帧内包括的样本数量从第一帧至第k帧逐渐增大,其中1<k<n,其中k与n是整数;用于将每帧内包括的样本数据分为多个子带信号的第二划分器;以及用于通过心理声学分析对所述子带信号执行量化从而产生压缩数据的压缩器。
4.一种数据解压缩设备,包括用于存储n个帧的第一存储器,每帧包括对应于压缩数据的多个子带信号,其中每帧内包括的样本数量从第一帧至第k帧逐渐增大,其中1<k<n,其中k与n是整数;用于以帧为单位解码压缩数据以再现压缩前的一系列样本数据的解码器;所述样本数据被依次写入其中的第二存储器;以及用于根据所述第二存储器空余容量来控制所述解码器的解码过程的控制器。
5.如权利要求4所述的数据解压缩设备,其中所述数据样本系列对应于数字音频数据。
6.一种用于压缩数字音频数据的方法,包括以下步骤以这样的方式将所述数字音频数据分为多个帧,每帧包括希望数量的子带样本;以及通过心理声学分析和量化来压缩每帧,从而产生压缩数据。
7.如权利要求6所述的用于压缩数字音频数据的方法,其中每帧在其子带样本数量上逐渐增加,范围从“16”至“1024”。
8.一种数据压缩电路,包括用于将数字音频数据分为多个帧的第一划分器,每帧包括希望数量的子带样本;以及用于通过心理声学分析和量化来压缩每帧,从而产生压缩数据的压缩器。
9.如权利要求8所述的数据压缩电路,其中每帧在其子带样本数量上逐渐增加,范围从“16”至“1024”。
10.一种用于将压缩数据进行解压缩的数据解压缩电路,通过心理声学分析和量化,基于多个帧产生所述压缩数据,每帧包括希望数量的子带样本,所述数据解压缩电路包括用于以帧为单位、通过反量化和子带合成来解码所述压缩数据的解码器;解码的数据被依次写入其中的存储器;以及用于根据所述存储器的当前空余容量来启动或关闭所述解码器的控制器。
11.如权利要求10所述的数据解压缩电路,其中每帧在其子带样本数量上逐渐增加,范围从“16”至“1024”。
12.如权利要求10所述的数据解压缩电路,其中所述存储器以先进先出方式操作。
全文摘要
数字音频数据被分为多个帧,每帧包括希望数量的子带样本,样本数量在“16”与“1024”间的范围内逐渐增大,随后通过心理声学分析和量化压缩各帧,从而以高压缩率和少量音调产生延迟形成压缩数据。通过反量化和子带合成解码压缩数据,从而将压缩数据依次写入存储器(例如FIFO存储器)。根据存储器目前的空余容量适当地启动或停止解码。
文档编号G10H7/00GK1874163SQ20061008993
公开日2006年12月6日 申请日期2006年5月26日 优先权日2005年5月31日
发明者铃木俊彦 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1