一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

固定带宽音信数据的有损或无损压缩的动态切换方法与流程

2022-07-10 15:00:20 来源:中国专利 TAG:


1.本技术涉及音信数据流的压缩方法,特别是涉及一种固定带宽音信数据的有损或无损压缩的动态切换方法。


背景技术:

2.数字音信数据通常以一帧帧(frame)方式编码后经由有线或无线网络传送到接收端译码后播放。编码的方法分为有损压缩(lossy compression)和无损压缩(lossless compression)二种。无损压缩在解压后可以得到和压缩前完全一致的音信数据,但相对有损压缩,无损压缩的压缩效率通常较差,有损压缩则把人耳通常无法辨别的声音细微差异移除。一般的使用者在意使用方便和稳定,而追求高音质的音乐爱好者则希望音信失真的程度越小越好,最好能达到原音重现。
3.为解决前述问题,mpeg-4sls提出一个混合有损与无损压缩的方法以满足二种使用者的不同需求,其在有损压缩的基底上再把与原始音信数据差异部分附加上去,播放时可以根据需求只传送有损压缩的部分或是全部的数据,如进阶音信编码(advanced audio coding,aac)有损压缩的基底附加差异部分来完成无损压缩。然而,mpeg-4sls相比于aac的带宽128kbps大幅增加,也不再是固定带宽了,反而增加了网络传输及处理的复杂度与不稳定。


技术实现要素:

4.基于此,本技术所要解决的技术问题在于,针对现有技术的不足提供一种固定带宽音信数据的有损或无损压缩的动态切换方法,其包含以下步骤:依据设定带宽,计算多个帧中的各帧可无损压缩的预定最大能量值;读取各帧的原始音信数据;计算各帧的原始音信数据的能量值;以及判断各帧的原始音信数据的能量值是否大于预定最大能量值,若是,将帧的原始音信数据进行有损压缩以产生音信有损压缩数据,若否,将帧的原始音信数据进行无损压缩以产生音信无损压缩数据。
5.根据示例实施例,所述固定带宽音信数据的有损或无损压缩的动态切换方法还包含以下步骤:计算各帧的原始音信数据的音信信号的多个波形中的各波形的振幅的平方值;将多个波形分别的多个平方值进行加总,以产生能量总值;以及将能量总值除以多个波形的数量,以取得平均能量值,取平均能量值的对数值,以计算出各帧的原始音信资料的能量,以下列方程式表示:e=log((x
12
x
22


x
n2
)/n),其中e代表各帧的原始音信资料的能量,x1至xn分别代表多个波形分别的多个振幅,n代表多个波形的数量。
6.根据示例实施例,所述固定带宽音信数据的有损或无损压缩的动态切换方法还包含以下步骤:判断各帧的原始音信资料的能量值是否大于预定最大能量值,若是,将帧的原始音信数据进行有损压缩以产生音信有损压缩数据,若否,执行下一步骤;判断目前帧的上一帧是否为无损压缩,若是,将目前帧的原始音信数据进行无损压缩以产生音信无损压缩数据,不执行后续步骤,若否,依序执行后续步骤;将上一帧的原始音信资料套用改进的离
散余弦变换(modified discrete cosine transform,mdct)的窗函数(window function),根据时域混迭消除法(time-domain aliasing cancellation,tdac),以计算出函数音信数据;以及将函数音信数据与目前帧的原始音信数据进行无损压缩,以产生音信无损压缩数据。
7.根据示例实施例,所述固定带宽音信数据的有损或无损压缩的动态切换方法还包含以下步骤:依据设定带宽,计算出各帧的原始音信数据压缩后允许的一预定最大长度;判断各帧的音信无损压缩数据的数据长度是否大于预定最大长度,若否,保留音信无损压缩数据,若是,将帧的原始音信数据进行有损压缩以产生音信有损压缩数据,取代具有数据长度大于预定最大长度的音信无损压缩数据。
8.根据示例实施例,所述固定带宽音信数据的有损或无损压缩的动态切换方法还包含以下步骤:将上一帧的原始音信数据进行有损压缩;决定将目前帧的原始音信数据进行有损压缩;将上一帧的原始音信资料以及目前帧的原始音信数据,套用窗函数后进行改进的离散余弦变换,计算出函数音信数据;以及将函数音信数据进行有损压缩,以产生音信有损压缩数据。
9.根据示例实施例,所述固定带宽音信数据的有损或无损压缩的动态切换方法还包含以下步骤:将上一帧的原始音信数据进行有损压缩;决定将目前帧的原始音信数据进行无损压缩;将上一帧的原始音信资料,套用改进的离散余弦变换的窗函数,根据时域混迭消除法,以计算出函数音信数据;以及将函数音信数据与目前帧的完整原始音信数据一起进行无损压缩,以产生音信无损压缩数据。
10.根据示例实施例,所述固定带宽音信数据的有损或无损压缩的动态切换方法还包含以下步骤:将上一帧的原始音信数据进行无损压缩,以产生上一帧的音信无损压缩数据;以及决定将目前帧的原始音信数据进行无损压缩,以产生目前帧的音信无损压缩数据。
11.根据示例实施例,所述固定带宽音信数据的有损或无损压缩的动态切换方法还包含以下步骤:将上一帧的原始音信数据进行无损压缩,以产生音信无损压缩数据;决定将上一帧的原始音信资料以及目前帧的原始音信数据,套用窗函数后进行改进的离散余弦变换,计算出一函数音信数据;以及将函数音信数据进行有损压缩。
附图说明
12.图1为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法的压缩步骤流程图。
13.图2为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法的解压缩步骤流程图。
14.图3为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法的多个帧的原始音信数据相互重迭的示意图。
15.图4为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法,有损压缩的上一帧、目前帧的解压缩示意图。
16.图5为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法,有损压缩的上一帧、无损压缩的目前帧的解压缩示意图。
17.图6为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法,无
损压缩的上一帧、目前帧的解压缩示意图。
18.图7为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法,无损压缩的上一帧以及有损压缩的目前帧的解压缩示意图。
具体实施方式
19.请参阅图1,其为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法的压缩步骤流程图。如图1所示,本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法可包含步骤s101至s115,这些步骤的执行顺序、内容、次数可以依据实际需求做调整。对多个帧的每一帧皆执行这些步骤s101至s115,以在一预设带宽/固定带宽下,个别判断每一帧采用有损压缩还是无损压缩。不同的帧可能采用不同的压缩方式,例如但不限于上一帧采用有损压缩,目前帧动态切换为采用无损压缩。为方便说明,在下文中,将目前处理的帧简称为目前帧。
20.在步骤s101,计算目前帧的原始音信资料的能量值。举例而言,计算各帧的原始音信数据的音信信号的多个波形中的各波形的振幅的平方值。接着,将多个波形分别的多个平方值进行加总,以产生一能量总值。将能量总值除以多个波形的数量,以取得一平均能量值。接着,取平均能量值的对数值,以计算出各帧的原始音信数据的能量。以下列方程式表示:e=log((x
12
x
22


x
n2
)/n),其中e代表各帧的原始音信资料的能量,x1至xn分别代表多个波形分别的多个振幅,n代表多个波形的数量/取得的多个振幅的数量。
21.在步骤s103,依据一设定带宽,以计算可无损压缩的预定最大能量值,判断目前帧的原始音信资料的能量值是否大于预定最大能量值。若目前帧的原始音信资料的能量值大于预定最大能量值时,即e》emax(其中e代表目前帧的原始音信资料的能量值,而emax代表预定最大能量值),决定选择有损压缩方式,接着执行步骤s105。相反地,若目前帧的原始音信资料的能量值不大于(即等于或小于)预定最大能量值时,则决定选择无损压缩方式,接着执行步骤s107。
22.在步骤s105,将具有能量值大于预定最大能量值的目前帧的原始音信数据进行有损压缩,以产生一音信有损压缩数据。如此,可避免在原始音信数据的能量值过大时,仍尝试无损压缩,而导致浪费运算时间的情形发生。若有需要,接着可执行步骤s115。
23.在步骤s107,判断目前帧的上一帧的原始音信数据是否采用无损压缩的方式进行压缩。
24.若上一帧的原始音信数据采用有损压缩,为了在解压缩时能顺利还原出完整的上一帧的原始音信数据,需取得此上一帧的上一帧和目前帧的原始音信资料。因此,若上一帧的原始音信数据采用有损压缩时,在执行目前帧的原始音信数据的无损压缩时,需执行步骤s109后,接着再执行步骤s111。
25.在步骤s109,将上一帧的原始音信数据(例如上一帧b),套用改进的离散余弦变换(modified discrete cosine transform,mdct)的窗函数(window function),根据时域混迭消除法(time-domain aliasing cancellation,tdac),以计算出一函数音信数据。
26.若上一帧的原始音信数据采用有损压缩方式进行压缩,需将目前帧的无损压缩范围往前延伸到目前帧与上一帧重迭(overlap)部分。因此,在执行步骤s109后,接着执行步骤s111,以将此函数音信数据与目前帧的完整原始音信数据一起进行无损压缩,以产生一
音信无损压缩数据。
27.相反地,若决定上一帧和目前帧的原始音信资料皆采用无损压缩,则在对目前帧的原始音信资料进行无损压缩时,不需将目前帧的压缩范围往前延伸到至上一帧(即不需执行步骤s109),而是直接接着执行步骤s111,以将目前帧的原始音信数据本身直接进行无损压缩即可。
28.在步骤s113,依据设定带宽,以计算出各帧无损压缩后允许的一预定最大长度,判断目前帧的音信无损压缩数据的数据长度是否大于预定最大长度。
29.若目前帧的音信无损压缩数据的数据长度不大于预定最大长度时,即l≤lmax时(其中l代表目前帧的音信无损压缩数据的数据长度,lmax代表预定最大长度),可接着执行步骤s115。相反地,若目前帧的音信无损压缩数据的数据长度大于预定最大长度时,执行步骤s105以将目前帧的原始音信数据进行有损压缩后,始执行步骤s115。
30.在步骤s115,传输压缩后的音信数据,即音信有损压缩数据或音信无损压缩数据。
31.请参阅图2,其为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法的解压缩步骤流程图。
32.如图2所示,本实施例的固定带宽音信数据的有损或无损压缩的动态切换方法可包含步骤s201至s213。
33.在步骤s201,读取目前帧的压缩音信数据的表头。
34.在步骤s203,依据读取到的内容,判断目前帧是否采用无损压缩(即是否为上述音信无损压缩数据)。若是,接着执行步骤s205。若否,接着执行步骤s207。
35.在步骤s205,对目前帧的原始音信数据进行无损解压缩。
36.在步骤s207,对目前帧的原始音信数据进行有损解压缩,以及改进的离散余弦逆变换。
37.在步骤s209,判断目前帧的上一帧的压缩音信数据是否采用无损压缩。若上一帧采用无损压缩,则不需透过时域混迭消除法(tdac)以消除目前帧与上一帧相互重迭的部分,以还原出上一帧,因此接着执行步骤s213。相反地,若上一帧为有损压缩,接着依序执行步骤s211、s213。
38.在步骤s211,根据时域混迭消除法(tdac),将目前帧的解压缩资料的前半部,与上一帧改进的离散余弦逆变换结果的后半部相迭加,即可还原出上一帧的原始音信数据。
39.在步骤s213,输出上一帧解压后的音信原始音信数据。
40.在反复执行本发明实施例的上述步骤后,在固定带宽下,可依据每帧的特征,个别选择采用有损压缩或无损压缩,使得连续帧所采用的压缩方式也可能相同或不同。本发明的主要目的在于,连续帧所采用的压缩方式可以不同,例如上一帧采用无损压缩,但此上一帧的下一帧(即目前帧)可能动态切换成有损压缩,目前帧的下一帧可能又动态切换成无损压缩,在此仅举例说明,本发明不以此为限。如下更详细读说明。
41.请参阅图4,其为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法,有损压缩的上一帧、目前帧的解压缩示意图。
42.本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法所包含的步骤s101至s115、s201至s213适用于如图4所示的皆采用有损压缩的上一帧b、上一帧的上一帧a、以及目前帧c。
43.首先,如图4所示,将上一帧b改进的离散余弦逆变换结果的后半部,与目前帧c改进的离散余弦逆变换结果的前半部,根据时域混迭消除法(tdac),相迭加,即可还原出上一帧的原始音信数据。
44.如图3所示的上一帧b套用通用的mdct的窗函数,根据时域混迭消除法,运算如下:imdct(mdct(wa,wrb))的后半部为wr(wrb (wrb)r)=w
r2
b ww
rbr
,而imdct(mdct(wb,wrc))的前半部为w(wb-w
rbr
)=w2b

ww
rbr
,将二个半部相加(w
r2
b ww
rbr
) (w2b

ww
rbr
)=(w
r2
w2)b=b,其中(w
r2
w2)=1,其中b代表上一帧的原始音信资料(即上述的上一帧),r代表反向(inverse),br代表b波形的反向波形。
45.如上所述,采用有损压缩的每一帧的音信数据,在进行还原时,皆需与连续的上一帧和下一帧的原始音信数据进行tdac的运算,始能还原出采用有损压缩的每一帧。
46.请参阅图5,其为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法,有损压缩的上一帧、无损压缩的目前帧的解压缩示意图。
47.本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法所包含的步骤s101至s115、s201至s213适用于如图5所示的采用有损压缩的上一帧b、以及采用无损压缩的目前帧c。
48.首先,如图5所示,将上一帧b进行有损解压缩,以及改进的离散余弦逆变换,其中变换结果的后半部为w
r2
b ww
rbr

49.将目前帧c进行无损压缩,得到目前帧c的原始音信数据以及先前于步骤s109中,上一帧b原始音信资料套用改进的离散余弦变换的窗函数,而转换得到w2b

ww
rbr

50.根据时域混迭消除法,将w
r2
b ww
rbr
与w2b

ww
rbr
相加运算后,还原出上一帧b完整的原始音信数据。
51.请参阅图6,其为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法,无损压缩的上一帧、目前帧的解压缩示意图。
52.本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法所包含的步骤s101至s115、s201至s213适用于如图6所示的皆采用无损压缩的上一帧b、以及目前帧c。
53.首先,如图6所示,若上一帧b的音信资料为无损压缩,且目前帧c的音信数据亦为无损压缩,则将上一帧的音信无损压缩数据进行解压缩,即可还原出上一帧b的原始音信数据。
54.如上所述,采用无损压缩的每一帧的原始音信数据,可直接在解压缩后还原出帧的原始音信数据,而无需与连续的上一帧和下一帧的原始音信数据进行mdct的运算。
55.请参阅图7,其为本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法,无损压缩的上一帧及有损压缩的下一帧的解压缩示意图。
56.本发明实施例的固定带宽音信数据的有损或无损压缩的动态切换方法所包含的步骤s101至s115、s201至s213适用于如图7所示的采用无损压缩的上一帧b以及采用有损压缩的目前帧c。
57.若上一帧b的音信资料为无损压缩,而目前帧c的音信数据为有损压缩,则将上一帧的音信无损压缩数据进行解压缩,即可还原出上一帧b的原始音信数据。
58.如上所述,采用无损压缩的每一帧的原始音信数据,可直接在解压缩后还原出完
整的原始音信数据,而无需与连续的此帧的上一帧和下一帧的原始音信数据进行tdac的运算。然而,采用有损压缩的帧的原始音信数据,在还原时,皆需与连续的上一帧的原始音信数据和下一帧的原始音信数据进行tdac的运算,始能还原出采用有损压缩的每一帧。
59.综上所述,本发明提供一种固定带宽音信数据的有损或无损压缩的动态切换方法,其具有以下主要特点:
60.在固定带宽下动态切换有损无损压缩方式;
61.支持改进的离散余弦变换(mdct);
62.依据能量大小过滤掉在固定带宽内无法做到无损压缩的帧,不需每帧尝试无损压缩,降低压缩运算耗时;
63.本发明直接以无损压缩一帧的原始音信数据,非如市面上大部分的无损压缩方式是计算原始音信数据与有损压缩还原的差值。
64.为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与图式,然而所提供的图式仅用于提供参考与说明,并非用来对本发明加以限制。
65.以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的权利要求书,所以凡是运用本发明说明书及图式内容所做的等效技术变化,均包含于本发明的权利要求书内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献