准周期性波形的语音压缩方法

文档序号:2818909阅读:399来源:国知局
专利名称:准周期性波形的语音压缩方法
技术领域
本发明为一种语音压缩方法,特别是指一种准周期性波形的语音压缩方法。
语音压缩是语音信号处理中一项非常重要的技术,几乎只要有语音的地方,都会使用到语音压缩技术,然而,以电子辞典为例,标榜以真人发音的功能,已成为电子辞典主要诉求的特色。为了提升中低档电子辞典在市场的竞争力,节省语音数据存储器并提高声音品质,一种只需简单的模拟至数字转换器(D/A Converter)即可实现即时解压缩及播放的语音压缩技术,遂成为一被关注的议题。
本发明的语音压缩方法,为非固定(not constant;varying)压缩比特率(Bit Rate/Sec;bps),其平均比特率视所需的压缩品质而定,对不同的语音可设定不同的压缩参数,可达到低于12kbps,记忆容量约为原音(8k Hz Sampling Rate,16bit,mono;128kbps)的1/10,并维持平均信号信噪比(Signal-to-Noise Ratio;SNR)约7-10dB以上,且其解压缩的运算量极低,目前已经以Z80程序处理撰写,并已实验证明可成功的在Z80微处理器上做即时解压缩,只需简单的D/A Converter即可播放,不需数字信号处理器(DSP)及语音合成器(Speech Synthesizer)。非常有利于中低档真人发音产品的应用。
本发明提供一种准周期性波形的语音压缩方法,该方法至少包含下列步骤提供一语音(x),并取一段该语音的音框(x’)(音框frame,取样的声波信号);
计算该音框的周期,决定复制周期数(Duplicate);从该周期中找出一代表周期,并计算该代表周期的长度(L)、数据(Data)与最大值(AMPmax);计算每个该周期的最大值(AmpD)与变动量(ShiftD);及依据一编码比特配置表进行参数编码,其中该周期的编码主要是以复制该代表周期的方式产生,依据该代表周期的该长度、该数据与该复制周期数进行编码,并记录每个该周期的该最大值与该变动量,最后填入FFH当作结束码。
所述的准周期性波形的频谱变化现为固定不变。
所述的该音框约20-25ms。
所述的代表周期是利用一绝对振幅差异函数(Absolute MagnitudeDifference Function;AMDF)计算出。
所述的计算每个该周期的该最大值与该变动量的步骤至少包含下列步骤(a)令D=D+1;(b)令xp’=x(MsMs+L-1);(c)找出xp’的最大值(AmpD);(d)令xp’=xp’*AMPmax/AmpD,找出周期的变动量ShiftD及DistD(步骤150),其中DistD=minshift(Σn(xp(n)-xp′(n+shift))2(xp2(n)+xp′2(n+shift)))]]>ShiftD=Indexof(minshift(Σn(xp(n)-xp′(n+shift))2(xp2(n)+xp′2(n+shift))))]]>shift~=-P/4~P/4(e)计算已编码语音长度Ms=Ms+L+ShjftD;(f)如果D<D_min,回到步骤(a);(g)回到步骤(a)直到DistD大于Dist Thrd为止。
所述的编码比特配置表如下所示1.若D>0,D≠FFH

其中D(Duplicate)复制份数L供复制的数据长度Data供复制的数据Amp 1第一份复制周期振幅Shjft 1第一份复制周期偏移量AmpD第D份复制周期振幅ShjftD第D份复制周期偏移量2.若D=0,表示这个音框的数据全部为零;

L零的个数
3.若D=FFH,表示语音编码结束。

所述的原语音数据每个Sample是16时,压缩率=数据长度/表长度=[LD+(shift1+…+shiftD)]×2/(2+L+2D)。
所述的原语音数据每个Sample是8时,压缩率=数据长度/表长度=[LD+(shift1+…+shiftD)]/(2+L+2D)。
本发明如应用在语音合成的音素压缩上,可先把所有可共用的音素气音的部分移除。
本发明可以在低阶的Z80微处理器上做在线(on-line)即时(real-time)解压缩及播放。
本发明的有益效果为本发明提出一种准周期性波形的语音压缩方法,是特别针对有声语音信号做处理,首先,在PC上离线(off-line)对有声语音信号做波形编码,利用有声语音波形准周期性(quasi-periodic)的特性,利用相邻周期的波形的相似度,将数个周期以同一波形周期取代并记录每个周期的振幅变化及周期变化,以此编码方式来达到压缩的目的。然后,可在低阶的微处理器(如Z80微处理器)上做在线(on-line)即时(real-time)解压缩及播放,不需数字信号处理器(DSP)及语音合成器(Speech Synthesizer),非常有利于中低档真人发音产品的应用。
首先,输入语音x(步骤100),设定Duplicate最小值D_min(步骤102),设定误差边界值(Distortion Threshold)Dist Thrd(步骤104),令已编码语音长度Ms=0(步骤106),令Duplicate=0(步骤108),并自x(Ms)点起取一段约20-25ms的语音音框长度M(步骤110),再利用绝对振幅差异函数(Absolute Magnitude Difference Function;AMDF),找出代表的周期长度P(步骤120),其中AMDF(k)=Σn=0M-1|x′(n)-x′(n-k)|]]>P=indexof(mink(AMDF(k)))]]>k为可能的周期范围,对8kHz取样的语音而言,通常为k=20,21…150;M为x’的语音长度。
接着找出代表的周期xp=x’(c1c2)(步骤130),首先,找出x’的最大值AMPmax;接着在AMPmax位置前1/2-3/4周期间找出切点c1,并设定切点条件为x’(c1)>0且x’(c1-1)≤0;并在AMPmax位置后1/2-3/4周期间找出切点c2,并设定切点条件为x’(c2+1)>0且x’(c2)≤0。找出代表的周期xp=x’(c1c2)(步骤130)后(长度为L=c2-c1+1),接着进行计算第D个周期的最大值AmpD(步骤140),与周期的变动量ShiftD及DistD(步骤150),其执行步骤为(a)令D=D+1;(b)令xp’=x(MsMs+L-1);(c)找出xp’的最大值(AmpD);(d)令xp’=xp’*AMPmax/AmpD,找出周期的变动量ShiftD及DistD(步骤150),其中DistD=minshift(Σn(xp(n)-xp′(n+shift))2(xp2(n)+xp′2(n+shift)))]]>ShiftD=Indexof(minshift(Σn(xp(n)-xp′(n+shift))2(xp2(n)+xp′2(n+shift))))]]>shift~=-P/4~P/4(e)计算已编码语音长度Ms=Ms+L+ShiftD;(f)如果D<D_min,回到步骤(a);
(g)回到步骤(a)直到DistD大于DistThrd为止。最后,依据编码比特配置表进行参数编码(步骤160),其中,每个语音音框(SpeechFrame)的编码比特配置表如表1所示1.若D>0,D≠FFH

表1其中D(Duplicate)复制份数L供复制的数据长度Data供复制的数据Amp 1第一份复制周期振幅Shift 1第一份复制周期偏移量AmpD第D份复制周期振幅ShjftD第D份复制周期偏移量若原数据每个Sample是16bits,则需先将16bits转为8bits,若最后解压缩发音不为8bits,则可用查表方式将8bits转为实际的bit数。
其中,若原数据每个取样点(Sample)是8bits,压缩率=数据长度/表长度=[LD+(shift1+…+shiftD)]/(2+L+2D)。其中,若原数据每个取样点(Sample)是16bits,压缩率=数据长度/表长度=[LD+(shift1+…+shiftD)]×2/(2+L+2D)。
以原音(8k Hz Sampling Rate,16bit,正常约为128kbps)为例,L=50,D=6,Shift1~ShlftD=0其压缩率=50*6*2/(2+50+12)=9.375倍~13.6533kbps。
2.若D=0,表示这个音框的数据全部为零。

L零的个数3.若D=FFH,表示语音编码结束。

因此,本发明的语音压缩方法是依据编码比特配置表,填入复制份数(Duplicate)、L=xp长度、Data=xp、AmpD、ShiftD,最后填入FFH当作结束码,完成语音压缩的编码程序。
图2为本发明的准周期性波形的语音解码流程图,首先输入语音压缩码xc(步骤200);再读取复制周期(Duplicate)(步骤210);接着判断Duplicate=FFH?(步骤220);如果Duplicate=FFH,则表示结束,否则进行读取长度L(步骤230);再进行判断Duplicate=0H?(步骤240),如果Duplicate=0H,则读取下一个Byte=L,并产生语音L个0(步骤245),否则进行读取长度L的语音(步骤250)。当Duplicate>0时,进行读下一个Byte=L,并读L个Byte=xp(n),n=0,1,…,L-1(步骤250),接着读取振幅AmpD(步骤260),以及读取ShiftD(步骤270),其中,长度L的语音乘以振幅AmpD后,再通过一延迟(步骤280)位移ShiftD个取样点(Samples),此ShiftD可以是大于等于或小于零,若大于零则长度L的语音向后位移,并在位移处补零;若小于零则长度L的语音向前位移,并截掉与前语音重叠处,最后合成语音长度L+ShiftD(步骤290),若以数学式表示,则xs(n)=xp(n+ShiftD)*AmpD,
n=-ShiftD,…,0,1,…,L-1,令Duplicate=Duplicate-1((步骤292),并再加以判断Duplicate=0H?(步骤295),如果是,则回到步骤210,否则,继续执行步骤260,并直到Duplicate=FFH为止。
现以二实施例说明本发明的准周期性波形的语音压缩方法的实例验证。
以一语音[a]为例(8k Hz Sampling Rate,16bits,mono长度411ms)本发明的第一实施例设定Dist Thrd=0.1;限定D_min=6,解压缩后后SNR~=10dB,Bit-Rate~=13.25kbps,图3表其原语音与解压缩后的语音相较波形图,其中,以前500个取样点为例,1代表原语音,2代表解压缩后的语音,可看出1与2重合的周期,即为代表的周期(用来复制的周期)。
本发明的第二实施例设定Dist Thrd=0.5;限定D_min=6,解压缩后SNR~=7dB,Bit-Rate~=6.4kbps,图4为其原语音与解压缩后的语音相较波形图,其中,以前500个取样点为例,1代表原语音,2代表解压缩后的语音,可看出1与2重合的周期,即是代表的周期(用来复制的周期)。
本压缩法已成功的应用在语音合成的音素压缩上,可先把所有的音素气音的部份移除(例如fa、fe、fai中f的气音),因为他们的气音部份是可共用的,因此不需压缩,且其所占空间甚小。把有声语音的部份编码后,约可压缩原音7~10倍左右,Bit-Rate约为15kbps。可把原本约70MBytes的音素文件,压成约7~10Mbytes,音质保持在SNR7-20dB以上。
权利要求
1.一种准周期性波形的语音压缩方法,该方法至少包含下列步骤提供一语音(x),并取一段该语音的音框(x’);计算该音框的周期,决定复制周期数;从该周期中找出一代表周期,并计算该代表周期的长度(L)、数据与最大值(AMPmax);计算每个该周期的最大值(AmpD)与变动量(ShiftD);及依据一编码比特配置表进行参数编码,其中该周期的编码主要是以复制该代表周期的方式产生,依据该代表周期的该长度、该数据与该复制周期数进行编码,并记录每个该周期的该最大值与该变动量,最后填入FFH当作结束码。
2.如权利要求1所述的准周期性波形的语音压缩方法,其特征在于所述的准周期性波形的频谱变化现为固定不变。
3.如权利要求1所述的准周期性波形的语音压缩方法,其特征在于所述的该音框约20-25ms。
4.如权利要求1所述的准周期性波形的语音压缩方法,其特征在于所述的代表周期是利用一绝对振幅差异函数计算出。
5.如权利要求1所述的准周期性波形的语音压缩方法,其特征在于计算每个该周期的该最大值与该变动量的步骤至少包含下列步骤(a)令D=D+1;(b)令xp’=x(MsMs+L-1);(c)找出xp’的最大值(AmpD);(d)令xp’=xp’*AMPmax/AmpD,找出周期的变动量ShiftD及DistD,其中DistD=minshift(Σn(xp(n)-xp′(n+shift))2(xp2(n)+xp′2(n+shift)))]]>ShiftD=Indexof(minshift(Σn(xp(n)-xp′(n+shift))2(xp2(n)+xp′2(n+shift))))]]>shift~=-P/4~P/4(e)计算已编码语音长度Ms=Ms+L+ShiftD;(f)如果D<D_min,回到步骤(a);(g)回到步骤(a)直到DistD大于Dist Thrd为止。
6.如权利要求1所述的准周期性波形的语音压缩方法,其特征在于所述的编码比特配置表如下所示(1)若D>0,D≠FFH
其中D复制份数;L供复制的数据长度;Data供复制的数据;Amp 1第一份复制周期振幅;Shift 1第一份复制周期偏移量;AmpD第D份复制周期振幅;ShiftD第D份复制周期偏移量;(2)若D=0,表示这个音框的数据全部为零
L零的个数;(3)若D=FFH,表示语音编码结束。
7.如权利要求6所述的准周期性波形的语音压缩方法,其特征在于所述的原语音数据每个取样点是16比特时,压缩率=数据长度/表长度=[LD+(shift1+…+shiftD)]×2/(2+L+2D)。
8.如权利要求6所述的准周期性波形的语音压缩方法,其特征在于所述的原语音数据每个取样点是8比特时,压缩率=数据长度/表长度=[LD+(shift1+…+shiftD)]/(2+L+2D)。
9.如权利要求1所述的准周期性波形的语音压缩方法,其特征在于应用在语音合成的音素压缩上,可先把所有可共用的音素气音的部分移除。
10.如权利要求1所述的准周期性波形的语音压缩方法,其特征在于更可以在低阶的Z80微处理器上做在线即时解压缩及播放。
全文摘要
一种准周期性波形的语音压缩方法,是在一准周期性语音波形中取一个代表周期,其他的周期则用复制(Duplicate)的方式产生,只记录振幅的变化及微小的周期变动,以达到压缩的目的。并可在Z80微处理器上做即时解压缩,只需简单的模拟至数字转换器(DAC)即可播放,不需数字信号处理器(DSP)及语音合成器(Speech Synthesizer),非常有利于中低档真人发音产品的应用。
文档编号G10L21/00GK1404033SQ01130758
公开日2003年3月19日 申请日期2001年8月23日 优先权日2001年8月23日
发明者杨凰琳 申请人:无敌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1