CN102055974B - 数据压缩、解压缩方法、装置及*** - Google Patents
数据压缩、解压缩方法、装置及*** Download PDFInfo
- Publication number
- CN102055974B CN102055974B CN 201010512524 CN201010512524A CN102055974B CN 102055974 B CN102055974 B CN 102055974B CN 201010512524 CN201010512524 CN 201010512524 CN 201010512524 A CN201010512524 A CN 201010512524A CN 102055974 B CN102055974 B CN 102055974B
- Authority
- CN
- China
- Prior art keywords
- coding
- decoding
- encoding
- frequency domain
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例公开了数据压缩、解压缩方法、装置及***;以方法实施例的实现为例,包括:获取原始数据S的帧,获取压缩编码规则;根据压缩编码规则对原始数据S的帧进行压缩编码,得到第一层编码误差E1和第一层编码C1;根据压缩编码规则对E1进行压缩编码得到第二层编码C2;将C2、C1封装得到压缩后的编码帧。实现了分层压缩,适用于多媒体信源信号的压缩也适用于一般数据的压缩,该压缩方法应用于数据传输,可以提高通信信号和数据的传输效率,提高信道利用率;应用于数据存储,则可以提高通信信号和数据的存储效率,提高存储设备利用率。
Description
技术领域
本发明涉及通信技术领域,特别涉及数据压缩、解压缩方法、装置及***。
背景技术
随着包括数据业务和多媒体通信业务需求量的极大增长,通过通信***和通信网络传输的数据量正不断增加。资源有限且代价昂贵的通信信道已经无法满足这种与日俱增的传输需求。所以有必要对研究压缩编码方法来降低信道承载的数据。
以下将就信源压缩算法进行说明:
如图1所示,是采样数据编码器的原理图。编码器的子集分离器将输入的一帧原始数据分解成第一和第二两个子集;估计器利用第一子集数据估计第二子集数据,然后第二子集减去得到的第二子集的估值得到一组误差数据。第一子集数据经过一个导数编码器处理得到子集尾数和子集指数发送给格式化模块,而误差数据经过另一个导数编码器处理得到误差尾数和误差指数也发送给格式化模块;同时两个上述导数编码器还输出反映第一子集编码信息的子集导数及子集哈弗曼(Huffman)表,以及反映误差数据编码信息的误差导数及误差Huffman表,这些导数信息决定了表示一组浮点数据需要的最少存储量。头信息编码器将接收到的子集导数及子集Huffman表、误差导数及误差Huffman表和来自反映编码器编码设置的编码参数组合成头信息交给格式化模块;压缩数据格式化模块将接收的头信息、子集尾数和子集指数以及误差尾数和误差指数按照一定的格式组合成编码数据帧,形成压缩数据输出。
如图2所示,是采样数据解码器的原理图。解码器的压缩数据分析模块将接收到的压缩编码帧分解成头信息、子集尾数和子集指数以及误差尾数和误差指数;头信息解码器将收到的头信息分离成子集导数及子集Huffman表、误差导数及误差Huffman表;两个集成解码器中,一个利用子集导数及子集Huffman表将子集尾数和子集指数重构成第一子集数据,而一个利用误差导 数及误差Huffman表将误差尾数和误差指数重构成误差数据;估计器根据解码得到的第一子集数据估算出第二子集数据,并将其与误差数据相加,得到第二子集数据,最后第二子集数据与第一子集数据通过子集结合器处理得到重构数据输出。
多媒体信源信号(如语音、音频、图像和视频信号)在送入信道之前,可以利用业已成熟的信源编码算法进行压缩编码;然而在通信终端之间、通信***内部各部分或部件之间、板内各芯片之间或片内各逻辑单元之间的数据多为一般数据(非周期信号、随机信号称为一般性信号),这些数据不具备多媒体信源的相关特性,不能采用通用的信源压缩算法对其进行压缩;由于仅能对信源信号进行压缩,适用性窄。
发明内容
本发明实施例要解决的技术问题是提供数据压缩、解压缩方法、装置及***;实现对一般性信号和信源信号的压缩。
一种数据压缩方法,包括:
获取原始数据S的帧,获取压缩编码规则;
根据压缩编码规则对原始数据S的帧进行压缩编码,得到第一层编码误差E1和第一层编码C1;
根据压缩编码规则对E1进行压缩编码得到第二层编码C2;
将C2、C1封装得到压缩后的编码帧。
一种数据解压缩方法,包括:
获取编码比特流B1得到编码帧,获取解码解压规则;
将编码帧分解得到第一层编码C1以及第二层编码C2;
根据解码解压规则将第二层编码C2解码解压得到第一层编码误差E1;
对第一层编码C1进行解码解压得到解码数据S’;
将解码数据S’与第一层编码误差E1相加,得到重构数据Sr1。
一种数据压缩装置,包括:
第一层压缩编码模块,用于压缩编码规则对原始数据S的帧进行压缩编码,得到第一层编码误差E1和第一层编码C1;
第二层压缩编码模块,用于根据压缩编码规则对E1进行压缩编码得到第 二层编码C2;
帧封装模块,用于将C2、C1封装得到压缩后的编码帧。
一种数据解压缩装置,包括:
帧解封模块,用于获取编码比特流B1得到编码帧;将编码帧分解得到第一层编码C1以及第二层编码C2;
第二层解码解压模块,用于解码解压规则将第二层编码C2解码解压得到第一层编码误差E1;
第一层解码解压模块,用于对第一层编码C1进行解码解压得到解码数据S’;将解码数据S’与第一层编码误差E1相加,得到重构数据Sr1。
一种通信***,包括:以可通信方式连接的数据发送端和数据接收端,其特征在于,所述数据发送端为本发明实施例提供的数据压缩装置,所述接收端本发明实施例提供的数据解压缩装置。
上述技术方案具有如下有益效果:根据压缩编码规则对原始数据进行压缩编码,得到第一层编码误差E1和第一层编码C1;根据压缩编码规则对E1进行压缩编码得到第二层编码C2;将C2、C1组合得到编码比特流B1。实现了分层压缩,适用于多媒体信源信号的压缩也适用于一般数据的压缩,该压缩方法应用于数据传输,可以提高通信信号和数据的传输效率,提高信道利用率;应用于数据存储,则可以提高通信信号和数据的存储效率,提高存储设备利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术采样数据编码器的原理示意图;
图2为现有技术采样数据解码器的原理示意图;
图3为本发明实施例数据压缩装置示意图;
图4A为本发明实施例第一层压缩编码模块示意图;
图4B为本发明实施例第二层压缩编码模块示意图;
图5A为本发明实施例无失真编解码器示意图;
图5B为本发明实施例第二层压缩编码模块示意图;
图5C为本发明实施例第三层压缩编码模块示意图;
图6为本发明实施例数据压缩装置示意图;
图7为本发明实施例数据解压缩装置示意图;
图8为本发明实施例第二层解码解压模块示意图;
图9为本发明实施例第一层解码解压模块示意图;
图10为本发明实施例数据解压缩装置示意图;
图11A为本发明实施例第二层解压解码模块示意图;
图11B为本发明实施例第三层解压解码模块示意图;
图11C为本发明实施例失真编码结构示意图;
图11D为本发明实施例无失真编码结构示意图;
图12A为本发明实施例通信***示意图;
图12B为本发明实施例通信***示意图;
图13A为本发明实施例存储***示意图;
图13B为本发明实施例存储***示意图;
图14A为本发明实施例数据压缩方法流程示意图;
图14B为本发明实施例原始数据S的时域幅值实例示意图;
图14C为本发明实施例DCT系数示意图;
图15A为本发明实施例基于DCT变换的压缩编码算法流程示意图;
图15B为本发明实施例第二层编码C2的流程示意图;
图15C为本发明实施例DCT系数的概率分布实例示意图;
图15D为本发明实施例误差E1的概率分布实例示意图;
图15E为本发明实施例4比特编码时频域参数编码Cr中16个码字概率分布的实例示意图;
图15F为本发明实施例4比特编码时误差编码Ce中16个码字概率分布的实例示意图;
图16为本发明实施例数据解压缩方法流程示意图;
图17为本发明实施例基于DCT变换的解码解压算法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例将公开高效通信信号和一般数据的压缩、编码和传输方法和装置。其中编码器的作用是对输入的原始数据S进行压缩编码,然后将压缩得到的编码比特流送入信道传输或存入存储介质;解码器的作用是对来自信道或存储介质的压缩比特流进行解码和解压缩,得到重构数据。本发明实施例的方案既可应用于通信信号和数据的压缩与传输,也可以应用于其它一般数据的压缩编码和通信传输中去,还可以应用于语音和音频等多媒体信息的压缩编码和通信传输中去。
下面分别介绍编码和解码方法进行说明。
本发明实施例提供了一种数据压缩装置,如图3所示,包括:
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”和“第二”仅为了表述的方便不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
第一层压缩编码模块301,用于获取原始数据S的帧,获取压缩编码规则;根据压缩编码规则对原始数据S的帧进行压缩编码,得到第一层编码误差E1和第一层编码C1;
压缩编码规则可以是帧头信息Hi;也可以是预定义的压缩编码规则。对此本发明实施例不予限定,在后续实施例中均以帧头信息Hi为例进行说明。帧头信息Hi可以包含帧的长度信息、差错校验信息等;需要用于压缩的帧头信息可以从帧中获取,也可以通过预定义的方式存储对此本发明实施例不予限定。
在对原始数据S的帧进行压缩编码的过程中,压缩编码的结果相对于压缩编码前的编码帧存在误差,例如:上述E1是压缩编码的结果(第一层编码C1)相对于原编码帧的误差。
第二层压缩编码模块302,用于根据帧头信息Hi对E1进行压缩编码得到第二层编码C2;上述压缩编码一般有压缩和编码两个部分,这两个部分可以分 别进行,也可以同时进行。在有失真的编码算法中可以分别进行,在无失真编码中可以同时进行。
帧封装模块303,用于将C2、C1封装得到压缩后的编码帧。
若压缩编码规则是Hi,则上述帧封装模块303,具体用于将C2、Hi以及C1封装得到压缩后的编码帧。若压缩编码规则是预定义的压缩编码规则,Hi可以不用封装到编码帧中。
另外由压缩后的编码帧就可以得到编码比特流B1。由C2、Hi以及C1封装得到压缩后的编码帧的结构可以参考后续实施例中的图11C。
图3中,输入的原始数据S被送入第一层压缩编码模块301进行压缩编码,根据帧头信息,生成第一层编码误差E1和第一层编码C1,将得到的第一层编码误差E1和第一层编码C1分别送入第二层压缩编码模块302和帧封装模块303;根据帧头信息,第一层编码误差E1经过第二层压缩编码模块302的压缩编码得到第二层编码C2;最后,帧封装模块303将第一层编码C1、帧头信息Hi以及第二层编码C2组合,再加上帧头信息Hi,得到完整的编码帧输出,形成编码比特流B1。
具体地,如图4A所示,上述第一层压缩编码模块301包括:
时频分析模块3011,用于对原始数据S进行时频分析得到频域参数Fp;
量化编码模块3012,用于根据帧头信息Hi对频域参数Fp进行量化得到频域参数编码Cr;由于对原始数据S时频分析得到频域参数Fp的值有很多并分布在可以确定的范围内,通过量化可以将相的频域参数Fp值用一个参数表示,这样可以减少数据量;量化的具体实现在后续实施例中将作更详细的说明。
解码反量化模块3013,用于根据频域参数编码Cr执行解码反量化得到解码频域参数Fp’;
时频合成模块3014,用于对解码频域参数Fp’进行时频合成得到解码数据S’;
减法模块3015,用于将原始数据S与解码数据S’相减,得到第一层编码误差E1;
熵编码模块3016,用于对频域参数编码Cr进行熵编码得到第一层编码C1。
在图4A中,原始数据S经过时频分析模块3011得到频域参数Fp,在帧头信 息的指导下,量化编码模块3012对频域参数进行量化产生频域参数编码Cr,频域参数编码被同时送入解码反量化模块3013和熵编码模块3016;解码反量化模块3013根据频域参数编码进行本地解码得到解码频域参数Fp’,解码频域参数再经过时频合成得到解码数据S’,将原始数据S与解码数据S’相减得到的误差,在本实施例中称之为第一层编码误差E1;同时,熵编码模块3016对频域参数编码Cr进行熵编码得到的编码,在本实施例中称之为第一层编码C1。
如图4B所示,第二层压缩编码模块302可以包括量化编码模块3021和熵编码模块3022。第一层编码误差E1被送入第二层压缩编码模块302,经过量化编码模块3021编码后得到误差编码Ce,再经过熵编码模块3022编码后得到第二层压缩编码C2。
进一步地,上述第二层压缩编码模块302,还用于在对E1进行压缩编码之前,将E1按比特深度进行分类,对分类后的残差按其比特深度的范围进行非均匀标量量化。在后续实施例中将就此作更详细说明。其中,比特深度描述的是数据的精度,可以是指表示数据的有效位数,或二进制数的位数。其中,分类的目的是在于提高量化的质量;按比特深度分类的方式例如:比特深度为10比特的分为一类,9比特的分为一类,等。
进一步地,如图5A所示,由于以上实施例中使用了可以带来编码误差的量化和编码处理,致使编码设备为失真编码器。本实施例进一步设计了无失真编解码器。
上述第二层压缩编码模块302,用于对第一层编码误差E1进行数据压缩编码,得到的第二层编码误差E2;对第一层编码误差E1进行数据压缩编码,得到第二层编码C2;还包括:
第三层压缩编码模块501,用于根据帧头信息Hi对E2进行压缩编码得到第三层编码C3;
上述帧封装模块303,具体用于将C3、C2、Hi以及C1封装得到压缩后的编码帧。
在图5A中,输入的原始数据S输入到第一层压缩编码模块301进行数据压缩编码,将得到第一层编码误差E1和第一层编码C1分别送给第二层压缩编码模块302和帧封装模块303;第一层编码误差E1被送入第二层压缩编码模块302 进行数据压缩编码,得到的第二层编码误差E2和第二层编码C2被分别送给第三层压缩编码模块501和帧封装模块303;第二层编码误差E2输入到第三层压缩编码模块303进行数据压缩编码,生成第二层编码C3;最后,帧封装模块303将第一层编码C1、第二层编码C2和第三层编码C3组合在一起,再加上帧头信息Hi,得到完整的编码帧输出,形成编码比特流B2。
具体地,如图5B所示,上述第二层压缩编码模块302,包括:
时频分析模块3021,用于对E1进行时频分析得到频域参数F1p;
量化编码模块3022,用于根据帧头信息Hi对频域参数F1p进行量化得到频域参数编码C1r;
解码反量化模块3023,用于根据频域参数编码C1r进行本地解码得到解码频域参数F1p’;
时频合成模块3024,用于对解码频域参数F1p’进行时频合成得到解码误差E1’;
减法模块3025,用于将E1与解码误差E1’相减,得到第二层编码误差E2;
熵编码模块3026,用于对频域参数编码C1r进行熵编码得到第二层编码C2。
在图5B中,输入数据E1经过时频分析模块3021得到频域参数F1p,在帧头信息的指导下,量化编码模块3022对频域参数进行量化产生频域参数编码C1r,域参数编码C1r被同时送入解码反量化模块3023和熵编码模块3026;解码反量化模块3023根据域参数编码C1r进行本地解码得到解码频域参数F1p’,解码频域参数F1p’再经过时频合成得到解码误差E1”,将输入数据E1与解码误差E1’相减,生成第二层编码误差E2。
如图5C所示,给出了无失真编码器中第三层压缩编码模块503的示意图。第二层编码误差E2被送入第三层压缩编码模块501,经过量化编码模块5011得到误差编码C2e,再经过熵编码模块5012,得到第三层压缩编码C3。
进一步地,如图6所示,上述装置,还包括:
发送模块601,用于将上述编码比特流B1发送到传输介质进行传输,或者将上述编码比特流B1发送给存储介质存储。
以上实施例中,由于编码比特流B1是由压缩后的帧得到的,因而上述编 码比特流B1相对原始数据更小,在传输过程中可以节省传输资源,并且存储时能够节省存储空间。
对应地,本发明实施例还提供了一种数据解压缩装置,如图7所示,包括:
帧解封模块701,用于获取编码比特流B1得到编码帧;将编码帧分解得到第一层编码C1、第二层编码C2;
第二层解码解压模块702,用于解码解压规则将第二层编码C2解码解压得到第一层编码误差E1;上述解码解压规则可以是预定义的解码解压规则也可以是帧头信息Hi;若解码解压规则是帧头信息Hi,则上述帧解封模块701,具体用于获取编码比特流B1得到编码帧;将编码帧分解得到第一层编码C1、帧头信息Hi以及第二层编码C2;上述解码解压规则与前述实施例中的压缩编码规则是相应的关系。
第一层解码解压模块703,用于对第一层编码C1进行解码解压得到解码数据S’;将解码数据S’与第一层编码误差E1相加,得到的数据为重构数据Sr1。
从编码比特流B1中接收到编码帧后,帧解封模块701将编码帧中的信息分解成第二层编码C2、帧头信息Hi以及第一层编码C1;第二层编码数据流C2被送入第二层解码解压模块702,根据帧头信息,解码解压得到第一层编码误差E1;第一层编码误差E1和第一层编码C1一起被送入第一层解码解压模块703,第一层编码C1经过解码解压后生成解码数据S’;最后解码数据S’与第一层编码误差E1相加,得到重构数据Sr1输出。
具体地,如图8所示,第二层解码解压模块702,包括:
熵解码模块7021,用于对第二层压缩编码C2进行熵解码得到误差编码Ce;
解码反量化模块7022,用于对误差编码Ce进行反量化得到第一层编码误差E1。
输入的第二层压缩编码C2经过熵解码模块7021得到误差编码Ce,再经过反量化模块7022得到第一层编码误差E1。
具体地,如图9所示,第一层解码解压模块703,包括:
熵解码模块7031,用于对第一层编码C1进行熵解码得到频域参数编码Cr;
解码反变量化模块7032,用于根据帧头信息Hi对频域参数编码Cr进行反量化得到解码频域参数Fp’;
时频合成模块7033,用于对解码频域参数Fp’进行时频合成得到解码数据S’;
加法模块7034,用于将解码数据S’与第一层编码误差E1相加,得到重构数据Sr1。
第一层编码误差E1和第一层编码C1一起被送入第一层解码解压模块703,第一层编码C1经过熵解码得到频域参数编码Cr,频域参数编码被送入解码反量化模块7032,根据头信息反量化得到频域参数Fp,通过频域参数Fp,时频合成模块7033产生解码数据S’;最后解码数据S’与第一层编码误差E1相加,得到重构数据Sr1输出。
进一步地,如图10所示,上述帧解封模块701将编码帧分解还得到第三层编码C3;还包括:
第三解码解压模块1001,用于根据帧头信息Hi,对第三层编码C3进行解码解压得到第二层编码误差E2;
上述第二层解压解码模块702,用于根据帧头信息Hi对第二层编码C2进行解码解压,得到解码误差E1’,将解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1。
解码装置从编码比特流B2中接收到编码帧后,帧解封模块701将编码帧中的信息分解成帧头信息Hi、第一层编码C1、第二层编码C2和第三层编码C3;第三层编码数据流C3被送入第三层解码解压模块1001,根据帧头信息,解码解压得到第二层编码误差E2;第二层编码误差E2和第二层编码C2一起被送入第二层解码解压模块702,第二层编码C2经过解码解压后生成解码误差E1’,解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1;将得到的第一层编码误差E1和第一层编码C1送入第一层解码解压模块703进行解码解压,第一层编码C1经过解码解压后生成解码数据S’,解码数据S’与第一层编码误差E1相加,得到重构数据Sr2输出。
具体地,如图11A所示,上述第二层解压解码模块702,包括:
熵解码模块7021,用于对第二层编码C2进行熵解码得到频域参数编码C1r;
解码反量化模块7022,用于根据帧头信息Hi对频域参数编码C1r进行反量 化得到解码频域参数F1p’;
时频合成模块7023,用于对解码频域参数F1p’进行时频合成得到解码误差E1;
加法模块7024,用于将解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1。
在图11A中,第二层编码误差E2和第二层编码C2一起被送入第二层解码解压模块702,第二层编码C2经过熵解码得到频域参数编码C1r,频域参数编码被送入解码反量化模块7022,根据头信息反量化得到频域参数F1p,通过频域参数,时频合成模块7023产生解码误差E1’;最后解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1输出。相应地,无失真编码帧的结构以及由连续的无失真编码帧组成的编码比特流B2由下表给出。可见,与有失真编码帧相比,在无失真编码帧中增加了第二层编码部分。
如图11B所示,给出了无失真解码器中第三层解压解码模块1001的结构示意图。输入的第三层压缩编码C3经过熵解码模块10011得到误差编码C2e,再经过解码反量化模块10012得到第二层编码误差E2。
帧封装模块303将编码器中得到的第一层编码C1和第二层编码C2组合,再加上帧头信息,组成一个完整的编码帧,图11C给出了失真编码帧的结构示意图。不同编码帧按照输出的时间顺序排列,便形成了编码器输出的编码比特流B1,如图11C所示。
图11C中的帧头信息是编码帧中的可选信息,当编解码器工作在固定的工作模式时,帧头信息可以去掉不用;但当编解码器工作在时变的模式时,帧头信息携带着当前编码帧的编码模式,这是必须传递给解码器端的,所以不 能省去。帧头信息可能包括的信息有帧长、编码模式、编码速率、量化编码表格等信息,这是需要根据具体的应用需求而确定的。
无失真编码帧的结构以及由连续的无失真编码帧组成的编码比特流B2由图11D给出。可见,与有失真编码帧相比,在无失真编码帧中增加了第二层编码部分。
另外本发明实施例还提供了一种通信***,可以参考图12A,包括:以可通信方式连接的数据发送端1201和数据接收端1202,其中上述数据发送端1201为本发明实施例提供的任意一项的数据压缩装置,上述数据接收端1202为本发明实施例提供的任意一项的数据解压缩装置。以下两个***举例分别就数据接收端1202为通信设备或者存储设备为例进行说明。
本发明实施例还提供了一种通信***,如图12A所示,包括:以可通信方式连接的数据发送端1201和数据接收端1202,其中上述数据发送端1201为本发明实施例提供的任意一项的数据压缩装置,上述接收端1202为本发明实施例提供的任意一项的数据解压缩装置。
如图12B所示,通信***的一个举例,本发明实施例公开的有失真和无失真编解码器可以应用在图12B所示的***之中,编码器1201A通过各类传输信道或网络1303A与解码器1202A进行远程数据通信(如数据通信、文件传输、语音通信、音频通信等)、进程和***内部的数据通信(如通用公共无线接口中的IQ数据传输和拉远等)、设备内或板内模块之间的数据传输(如AD/DA变换器与其它部件的数据交换)等。数据流向为:原始数据S,经编码器1201A编码得到编码比特流B,编码比特流B经过传输信道1303A到达解码器1202A,经解码得到重构数据Sr
本发明实施例还提供了一种存储***,如图13A所示,包括:编码设备1301和解码设备1302,其中上述编码设备1301为本发明实施例提供的任意一项的数据压缩装置,上述解码设备1302为本发明实施例提供的任意一项的数据解压缩装置。
如图13B所示,存储***的一个举例,本发明实施例公开的有失真和无失真编解码器可以应用在如图13B所示的面向存储应用的***之中,如数据的高效存储、数字媒体存储、数字图书馆等。数据的流向为:原始数据S经编码器1301A编码得到编码比特流B,编码比特流被发送给存储装置1302A进行存储,编码比特流B被出去出来进入解码器1303A解码得到重构数据Sr。
以上实施例中,由于编码比特流B1是由压缩后的帧得到的,因而上述编码比特流B1相对原始数据更小,在传输过程中可以节省传输资源,并且存储时能够节省存储空间。
本发明实施例提供了一种数据压缩方法,如图14A所示,包括:
1401:获取原始数据S的帧,获取压缩编码规则;
压缩编码规则可以是帧头信息Hi;也可以是预定义的压缩编码规则对此本发明实施例不予限定,在后续实施例中均以帧头信息Hi为例进行说明。
1402:根据压缩编码规则对上述编码帧进行压缩编码,得到第一层编码误差E1和第一层编码C1;
因此上述1402可以是:根据Hi对上述编码帧进行压缩编码,得到第一层编码误差E1和第一层编码C1;更具体地,上述1402中,根据Hi得到第一层编码误差E1和第一层编码C1,包括:
对原始数据S进行时频分析得到频域参数Fp;
根据帧头信息Hi对频域参数Fp进行量化得到频域参数编码Cr,
根据频域参数编码Cr执行解码反量化得到解码频域参数Fp’,对解码频域参数Fp’进行时频合成得到解码数据S’,将原始数据S与解码数据S’相减,得到第一层编码误差E1;对频域参数编码Cr进行熵编码得到第一层编码C1。
更具体地,上述对原始数据S进行时频分析得到频域参数Fp,包括:
对原始数据S的每帧进行离散余弦变换(Discrete Cosine Transform,DCT)正变换,得到频域参数Fp;需要说明的是时频分析的方法还可以是:修正余弦变换(Modified Discrete Cosine Transform,MDCT)、快速傅里叶变换(FastFourier Fransform,FFT)、离散小波变换等(Discrete Wavelet Transform,DWT)等。DCT只是其中的一个举例不应理解为对本发明实施例的限定。
上述根据帧头信息Hi对频域参数Fp进行量化得到频域参数编码Cr,包括:
根据频域参数Fp幅度分布,对频域参数Fp进行分类处理,然后进行量化得到频域参数编码Cr;
上述压缩编码为非均匀标量量化编码。
更具体地,上述熵编码为:哈弗曼Huffman编码、算术编码、其它不等长编码中的至少一项。
更具体地,上述分类处理包括:对全动态范围的频域参数Fp进非均匀标量量化,或者,对设定范围内的频域参数Fp进行非均匀标量量化。
1403:根据压缩编码规则对E1进行压缩编码得到第二层编码C2;
具体地,上述1403可以是:根据帧头信息Hi对E1进行压缩编码得到第二层编码C2。
进一步地,1403中,在对E1进行压缩编码之前,还包括:
将E1按比特深度进行分类,对分类后的残差按其比特深度的范围进行非均匀标量量化。
具体地,上述1403根据帧头信息Hi对E1进行压缩编码得到第二层编码C2,包括:对第一层编码误差E1进行量化编码得到误差编码Ce,对误差编码Ce进行熵编码得到第二层压缩编码C2。
1404:将C2以及C1封装得到压缩后的编码帧。另外由压缩后的编码帧就 可以得到编码比特流B1。
若压缩编码规则是Hi,则1404可以为:将C2、Hi以及C1封装得到压缩后的编码帧。若压缩编码规则是预定义的压缩编码规则,Hi可以不用封装到编码帧中。
进一步地,上述1404封装得到压缩后的编码帧包括:根据原始数据S的编码帧特性复杂度选择可变速率或固定速率进行封装得到压缩后的编码帧。
进一步地,上述将C2、Hi以及C1封装得到压缩后的编码帧之前,还包括:
对第一层编码误差E1进行数据压缩编码,得到的第二层编码误差E2;
对第一层编码误差E1进行数据压缩编码,得到第二层编码C2;
上述1403根据帧头信息Hi对E1进行压缩编码得到第二层编码C2,包括:
根据帧头信息Hi对E2进行压缩编码得到第三层编码C3;
上述1404将C2、Hi以及C1封装得到压缩后的编码帧包括:
上述将C3、C2、Hi以及C1封装得到压缩后的编码帧。
具体地,上述对第一层编码误差E1进行数据压缩编码,得到的第二层编码误差E2,包括:
对E1进行时频分析得到频域参数F1p,根据帧头信息Hi对频域参数F1p进行量化得到频域参数编码C1r;
根据频域参数编码C1r进行本地解码得到解码频域参数F1p’,对解码频域参数F1p’进行时频合成得到解码误差E1’,将E1与解码误差E1’相减,得到第二层编码误差E2。
进一步地,得到编码比特流B1之后,还包括:通过传输信道发送上述编码比特流B1,或者将上述编码比特流B1存储在存储介质中。
本发明实施例中的原始数据S可以是任意来源和任意类型的数据,比如一般的数据序列、采样通信信号、采样时间序列、语音信号、音频信号等。数据压缩编码模块的作用是对输入原始数据S进行压缩编码,它可以根据应用***对压缩性能和成本的要求采用不同方法,常采用的方法有频域和变换处理方法,如:DCT变换、小波变换(Wavelet Transfirm,WT)等,也可以有时域处理的波形编码方法,如:脉冲编码调制(Pulse Code Modulation,PCM)和自适应差分脉冲编码调制(Adaptive Differential Pulse Code Modulation, ADPCM)等,还可以采用算法比较复杂的预测,如线性预测(Linear Prediction,LP)等方法,同时还可以采用压缩比较高但算法比较复杂的矢量,例如量化矢量量化(Vector Quantization,VQ)方法等。为了降低硬件实现的成本,本编码器中的数据压缩编码模块采用了算法比较简单但性能较好的基于DCT变换的压缩编码算法。
DCT变换是一种常用的时频变换方法,常在信号处理和图像处理当中使用,用于对数据和信号进行有损的压缩。DCT变换之所以能用来进行数据压缩,是因为它对于一般的数据或信号其具有很好的能量集中特性,即数据做DCT变换之后,能量会集中到小部分的DCT系数上去,有利于进行高效数据压缩和量化编码。如图14B所示,表示一个原始数据S的时域幅值实例,它所对应的DCT系数的由图14C给出,图14C为DCT系数的幅值实例。可以看出,同时域原始数据相比,DCT变换后信号的能量集中到了部分系数中去。
基于DCT变换的压缩编码算法流程由图15A给出。具体流程为:
1501:对每帧输入的原始数据S进行DCT正变换,得到频域参数Fp,即DCT系数;
1502:为了使算法对数据具有自适应性,对频域参数Fp进行预处理。
1503:为了使之后的量化更加精确,在量化之前根据预处理后DCT系数的幅度分布,将DCT系数进行分类处理。DCT系数的分布一般是非均匀分布,如图15C给出了分类之后一类DCT系数的概率分布实例(其他类系数的概率分布与其类似),可以看出,DCT系数的分布是非常不等概的分布,对其压缩编码算法应该采用非均匀标量量化编码算法,这里DCT系数压缩编码模块采用的是Lloyd-Max非均匀标量量化算法。
1504:量化。在之前的技术说明中,DCT系数量化是分类处理的,具体的可以分为两类:一类直接对全动态范围的数据进行Lloyd-Max非均匀标量量化,这种处理方法相对简单。另一类只对一部分范围内的数据进行Lloyd-Max非均匀标量量化,即先设定两个门限值,分别为小系数门限和大系数门限;小系数门限的确定规则是保持重构信噪比在可接受范围内的情况下使小系数尽量多,大系数门限的确定规则是保持比特率在可接受范围内的情况下使大系数尽量多,将幅值小于小系数门限的DCT系数置零,将幅值大于大系数门 限的DCT系数用更精确地方法表示,只有在小系数和大系数门限之间的DCT系数才参与Lloyd-Max非均匀标量量化,从而在传输最少的比特的基础上保持最大限度的重构信噪比。其中,大于大系数门限的DCT系数可以使用指数加尾数的形式来表示,或是利用更精细的Lloyd-Max非均匀标量量化表来量化。
具体实施例:预处理即对DCT系数进行统一移位,根据该帧DCT系数的绝对值最大值确定将DCT系数归一化到15位所需要的移位位数,最多移7位,即小于128的系数不参与移位,再根据移位位数对全帧数据进行向左移位;根据移位后DCT系数绝对值最大值二进制表示的头四位分布情况,将DCT系数分为四类,即DCT系数最大值头四位为1000-1001划为一类,1010-1011划为一类,1100-1101划为一类,1110-1111划为一类,其中每一类数据在幅度上相近,量化时可以相对精确。量化时设定小系数门限为1024,即小于1024的系数全部置为0,用1个量化区间标示;设定大系数门限为1%最大值处,每帧保留2个大系数,而这些大系数用5比特的Lloyd-Max非均匀标量量化来量化表示,用1个量化区间来标示;介于小系数门限和大系数门限之间的DCT系数,用正负各7个区间的Lloyd-Max非均匀标量量化来量化。针对整个DCT系数,一共利用16个区间即4比特来进行量化。
1505:频域参数Fp经以上说明的量化编码后得到频域参数编码Cr,频域参数编码经过本地解码反量化后得到解码频域参数Fp’,
1506:解码频域参数经过后处理再通过时频合成得到解码数据S’,将原始数据S与解码数据S’相减,生成第一层编码误差E1。在实际应用中,误差E1的分布一般是非均匀分布,图15D所示是误差E1的概率分布实例。因此对误差E1的压缩编码算法应该采用非均匀量化编码算法,在这里采用的也是Lloyd-Max非均匀标量量化算法。
1507:1504量化后的DCT系数进行熵编码,得到第一层编码(第一层压缩编码)。
如图15B所示,为执行第二层编码C2(第二层压缩编码)的流程。
1501A:实际观察中发现,每帧之间误差动态范围相差较大,且每帧中只有几个幅值很大的残差,其余部分残差幅值都在一个相对其较小的范围内波动。因此,在对误差E1进行量化编码之前,将误差按比特深度进行分类。
1502A:对分类后的残差按其比特深度的范围来进行Lloyd-Max非均匀标量量化,这样使每一类中的残差量化更加精确。
具体实施例:为了除去一帧中偶然几个大值对该帧的其余大部分残差比特深度判定的影响,一般取每帧残差的第三大值(取绝对值后)来判断该帧残差的比特深度,即判断第三大值是否小于32、小于64、小于128或大于128,然后根据比特深度将残差分为四类。对分类后的残差按其比特深度的范围来进行Lloyd-Max非均匀标量量化,即第一类量化区间范围为0-32,第二类量化区间范围为0-64,第三类量化区间范围为0-128,第四类量化区间范围为大于128。其中Lloyd-Max非均匀标量量化用15个量化区间标示,还有1个量化区间用来标示每帧保留的2个残差大值,即残差第一大值和第二大值,这些大值用5比特的Lloyd-Max非均匀标量量化来量化表示。
1503A:由第一层压缩编码模块产生的频域参数编码Cr和第二层压缩编码模块产生的误差编码Ce一般也具有较强的不等概特性,图15E给出了一个4比特编码时频域参数编码Cr中16个码字概率分布的实例,而图15F给出了一个4比特编码时误差编码Ce中16个码字概率分布的实例。可以看出,频域参数编码Cr和误差编码Ce码字出现的概率是不均等的,这就为采用熵编码进行进一步的数据压缩提供了依据,因此数据熵编码模块和误差熵编码模块各自采用熵编码方法分别对频域参数编码Cr码字和误差编码Ce码字进行无失真的熵编码,分别得到第一层编码C1和第二层编码C2。熵编码可以采用Huffman编码、算术编码或其它不等长编码算法、或它们的组合算法。
对应地、本发明实施例还提供了一种数据解压缩方法,如图16所示,包括:
1601:获取编码比特流B1得到编码帧,获取解码解压规则;将编码帧分解得到第一层编码C1、以及第二层编码C2;
1602:根据解码解压规则将第二层编码C2解码解压得到第一层编码误差E1;
上述解码解压规则可以是预定义的解码解压规则也可以是帧头信息Hi;若解码解压规则是帧头信息Hi,则上述1601可以是:获取编码比特流B1得到编码帧;将编码帧分解得到第一层编码C1、帧头信息Hi以及第二层编码C2;
具体地,1602中根据帧头信息Hi将第二层编码C2解码解压得到第一层编码误差E1,包括:
对第二层压缩编码C2进行熵解码得到误差编码Ce,对误差编码Ce进行反量化得到第一层编码误差E1。
进一步地,在1601中,将编码帧分解还得到第三层编码C3;上述1602根据帧头信息Hi将第二层编码C2解码解压得到第一层编码误差E1,包括:
根据帧头信息Hi,对第三层编码C3进行解码解压得到第二层编码误差E2;
根据帧头信息Hi对第二层编码C2进行解码解压,得到解码误差E1’,将解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1。
1603:对第一层编码C1进行解码解压得到解码数据S’;
具体地,1603中对第一层编码C1进行解码解压得到解码数据S’,包括:
对第一层编码C1进行熵解码得到频域参数编码Cr,根据帧头信息Hi对频域参数编码Cr进行反量化得到解码频域参数Fp’,对解码频域参数Fp’进行时频合成得到解码数据S’。
具体地,上述1603根据帧头信息Hi将第二层编码C2解码解压得到第一层编码误差E1,包括:
对第二层编码C2进行熵解码得到频域参数编码C1r,根据帧头信息Hi对频域参数编码C1r进行反量化得到解码频域参数F1p’,对解码频域参数F1p’进行时频合成得到解码误差E1’;将解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1。
1604:将解码数据S’与第一层编码误差E1相加,得到重构数据Sr1。
对应基于DCT变换的压缩编码的流程,本发明实施例还提供了基于DCT变换的解码解压算法流程由图17给出。
1701:第二层编码C2经过熵解码模块得到误差编码Ce;
1702:再经过反量化模块得到第一层编码误差E1;
1703:第一层编码C1经过熵解码得到频域参数编码Cr;
1704:频域参数编码被送入反量化模块,根据头信息反量化得到解码频域参数Fp’;
1705:解码频域参数Fp’经过后处理恢复为原来的频域参数特性
1706:时频合成模块根据该解码频域参数Fp’进行DCT反变换得到解码数据S’。
1707:最后解码数据S’与第一层编码误差E1相加,得到重构数据Sr1,完成解码解压过程。
本发明实施例还给出了,编码比特分配的说明:
如上,帧头信息中有一项为编码模式,编解码器可能的编码模式有两种,即可变速率和固定速率。在可变速率模式下,编码器输出比特流的编码速率不是固定的,是根据编码器输入数据的特性改变的,如果输入编码帧特性复杂,就需要比较多的比特对其进行一定质量的编码;相反如果输入编码帧特性简单,就需要比较多的比特对其进行一定质量的编码。在固定速率模式下,要求编码器输出比特流的编码速率固定不变的,这时就需要对每帧有限的编码比特进行合理分配,是在比特数受限的情况下,作到编码质量最好。
固定速率模式下的比特分配采用迭代的方法,具体实现步骤如下。设数据的采样频率为Fs,编码帧的帧长为Lf,编解码器设定的编码速率为Rb,那么帧速率Rf和每帧比特数Bf就可以表示为:
(式1)
在固定速率模式下,编码速率为Rb是给定不变的,当编码帧的采样频率为Fs和帧长Lf确定之后,那么每帧数据编码可用的比特数Bf就确定了。比特分配的目的就是针对每帧需要进行编码的部分合理分配比特数,使编码性能达到最佳,同时各部分分配的比特数之和应等于每帧数可用比特数Bf。
设帧头信息的比特数为Bh,第一层编码C1所需的比特数为BC1,第二层编码C2所需的比特数为BC2,那么比特分配的目的是使:
Bf=Bh+BC1+BC2(比特)(式3)
对于无失真编解码器的情况,如果设第三层编码C3所需的比特数为BC3,那么比特分配的目的是使:
Bf=Bh+BC1+BC2+BC3(比特)(式4)
为了进行比特分配的迭代的处理,事先要对编解码器中的第一层压缩编码模块和第二层压缩编码模块分别设计若干个量化编码表,不同的表格对应不同的编码比特率,这样每帧的编码比特分配就可以用如下的迭代过程完成:
A1:初始化:将第一层压缩编码模块和第二层压缩编码模块的编码器中的设定在需要比较多比特的编码表上,使Bf<Bt=Bh+BC1+BC2;
A2:分别或同时调整数第一层压缩编码模块和第二层压缩编码模块的编码器中的量化表,使所需编码比特数减少,并计算设定在需要比较多比特的编码表上,使Bt=Bh+BC1+BC2;
A3:如果Bf<Bt,转到A2);如果Bf≥Bt,停止。
对于无失真编解码器,编码比特分配可采用类似的方法:
B1:初始化:将各层压缩编码模块的编码器中的设定在需要比较多比特的编码表上,使Bf<Bt=Bh+BC1+BC2+BC3;
B2:分别或同时各层压缩编码模块的编码器中的量化表,使所需编码比特数减少,并计算设定在需要比较少比特的编码表上,使Bt=Bh+BC1+BC2+BC3;
B3:如果Bf<Bt,转到B2);如果Bf≥Bt,停止。
以上方法装置、方法和***实施例中,将根据Hi对原始数据进行压缩编码,得到第一层编码误差E1和第一层编码C1;根据帧头信息Hi对E1进行压缩编码得到第二层编码C2;将C2、Hi以及C1封装得到压缩后的编码帧,然后得到编码比特流B1。实现了分层压缩,适用于多媒体信源信号的压缩也适用于一般数据的压缩,该压缩方法应用于数据传输,可以提高通信信号和数据的传输效率,提高信道利用率;应用于数据存储,则可以提高通信信号和数据的存储效率,提高存储设备利用率。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,上述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的数据压缩、解压缩方法、装置及***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围 上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (23)
1.一种数据压缩方法,其特征在于,包括:
获取原始数据S的帧,获取压缩编码规则;
根据压缩编码规则对原始数据S的帧进行压缩编码,得到第一层编码误差E1和第一层编码C1;
根据压缩编码规则对E1进行压缩编码得到第二层编码C2;
将C2、C1封装得到压缩后的编码帧;
所述压缩编码规则包括:帧头信息Hi;
所述将C2、C1封装得到压缩后的编码帧包括:将C2、Hi以及C1封装得到压缩后的编码帧。
2.根据权利要求1所述方法,其特征在于,所述根据Hi得到第一层编码误差E1和第一层编码C1,包括:
对原始数据S进行时频分析得到频域参数Fp;
根据帧头信息Hi对频域参数Fp进行量化得到频域参数编码Cr,
根据频域参数编码Cr执行解码反量化得到解码频域参数Fp’,对解码频域参数Fp’进行时频合成得到解码数据S’,将原始数据S与解码数据S’相减,得到第一层编码误差E1;
对频域参数编码Cr进行熵编码得到第一层编码C1。
3.根据权利要求2所述方法,其特征在于,所述对原始数据S进行时频分析得到频域参数Fp,包括:
对原始数据S的每帧进行离散余弦变换DCT正变换,得到频域参数Fp;
所述根据帧头信息Hi对频域参数Fp进行量化得到频域参数编码Cr,包括:
根据频域参数Fp幅度分布,对频域参数Fp进行分类处理,然后进行量化得到频域参数编码Cr;
所述根据帧头信息Hi对所述编码帧进行压缩编码包括:
根据帧头信息Hi对所述编码帧进行非均匀标量量化编码。
4.根据权利要求1至3任意一项所述方法,其特征在于,在对E1进行压缩编码之前,还包括:
将E1按比特深度进行分类,对分类后的残差按其比特深度的范围进行非均匀标量量化。
5.根据权利要求1至3任意一项所述方法,其特征在于,所述根据帧头信息Hi对E1进行压缩编码得到第二层编码C2,包括:
对第一层编码误差E1进行量化编码得到误差编码Ce,对误差编码Ce进行熵编码得到第二层压缩编码C2。
6.根据权利要求1所述方法,其特征在于,所述将C2、Hi以及C1封装得到压缩后的编码帧之前,还包括:
对第一层编码误差E1进行数据压缩编码,得到的第二层编码误差E2;
对第一层编码误差E1进行数据压缩编码,得到第二层编码C2;
所述根据帧头信息Hi对E1进行压缩编码得到第二层编码C2,包括:
根据帧头信息Hi对E2进行压缩编码得到第三层编码C3;
所述将C2、Hi以及C1封装得到压缩后的编码帧包括:
所述将C3、C2、Hi以及C1封装得到压缩后的编码帧。
7.根据权利要求6所述方法,其特征在于,所述对第一层编码误差E1进行数据压缩编码,得到的第二层编码误差E2,包括:
对E1进行时频分析得到频域参数F1p,根据帧头信息Hi对频域参数F1p进行量化得到频域参数编码C1r;
根据频域参数编码C1r进行本地解码得到解码频域参数F1p’,对解码频域参数F1p’进行时频合成得到解码误差E1’,将E1与解码误差E1’相减,得到第二层编码误差E2;对频域参数编码C1r进行熵编码得到第二层编码C2。
8.一种数据解压缩方法,其特征在于,包括:
获取编码比特流B1得到编码帧,获取解码解压规则;解码解压规则包括:帧头信息Hi;
将编码帧分解得到第一层编码C1以及第二层编码C2;
根据解码解压规则将第二层编码C2解码解压得到第一层编码误差E1;
对第一层编码C1进行解码解压得到解码数据S’;
将解码数据S’与第一层编码误差E1相加,得到重构数据Sr1。
9.根据权利要求8所述方法,其特征在于,根据帧头信息Hi将第二层编码C2解码解压得到第一层编码误差E1,包括:
对第二层压缩编码C2进行熵解码得到误差编码Ce,对误差编码Ce进行反量化得到第一层编码误差E1。
10.根据权利要求8或9所述方法,其特征在于,对第一层编码C1进行解码解压得到解码数据S’,包括:
对第一层编码C1进行熵解码得到频域参数编码Cr,根据帧头信息Hi对频域参数编码Cr进行反量化得到解码频域参数Fp’,对解码频域参数Fp’进行时频合成得到解码数据S’。
11.根据权利要求8或9所述方法,其特征在于,所述根据帧头信息Hi将第二层编码C2解码解压得到第一层编码误差E1,包括:
对第二层编码C2进行熵解码得到频域参数编码C1r,根据帧头信息Hi对频域参数编码C1r进行反量化得到解码频域参数F1p’,对解码频域参数F1p’进行时频合成得到解码误差E1’;将解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1。
12.根据权利要求8所述方法,其特征在于,将编码帧分解还得到第三层编码C3;所述根据帧头信息Hi将第二层编码C2解码解压得到第一层编码误差E1,包括:
根据帧头信息Hi,对第三层编码C3进行解码解压得到第二层编码误差E2;
根据帧头信息Hi,对第二层编码C2进行解码解压,得到解码误差E1’,将解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1。
13.一种数据压缩装置,其特征在于,包括:
第一层压缩编码模块,用于用于根据帧头信息Hi对原始数据S的帧进行压缩编码,得到第一层编码误差E1和第一层编码C1;
第二层压缩编码模块,用于根据帧头信息Hi对E1进行压缩编码得到第二层编码C2;
帧封装模块,具体用于将C2、Hi以及C1封装得到压缩后的编码帧。
14.根据权利要求13所述装置,其特征在于,所述第一层压缩编码模块包括:
时频分析模块,用于对原始数据S进行时频分析得到频域参数Fp;
量化编码模块,用于根据帧头信息Hi对频域参数Fp进行量化得到频域参数编码Cr,
解码反量化模块,用于根据频域参数编码Cr执行解码反量化得到解码频域参数Fp’;
时频合成模块,用于对解码频域参数Fp’进行时频合成得到解码数据S’;
减法模块,用于将原始数据S与解码数据S’相减,得到第一层编码误差E1;
熵编码模块,用于对频域参数编码Cr进行熵编码得到第一层编码C1。
15.根据权利要求13或14所述装置,其特征在于,
所述第二层压缩编码模块,还用于在对E1进行压缩编码之前,将E1按比特深度进行分类,对分类后的残差按其比特深度的范围进行非均匀标量量化。
16.根据权利要求13所述装置,其特征在于,
所述第二层压缩编码模块,具体用于对第一层编码误差E1进行数据压缩编码,得到的第二层编码误差E2;对第一层编码误差E1进行数据压缩编码,得到第二层编码C2;
所述装置还包括:
第三层压缩编码模块,用于根据帧头信息Hi对E2进行压缩编码得到第三层编码C3;
所述帧封装模块,具体用于将C3、C2、Hi以及C1由压缩后的编码帧。
17.根据权利要求16所述装置,其特征在于,所述第二层压缩编码模块,包括:
时频分析模块,用于对E1进行时频分析得到频域参数F1p;
量化编码模块,用于根据帧头信息Hi对频域参数F1p进行量化得到频域参数编码C1r;
解码反量化模块,用于根据频域参数编码C1r进行本地解码得到解码频域参数F1p’;
时频合成模块,用于对解码频域参数F1p’进行时频合成得到解码误差E1’;
减法模块,用于将E1与解码误差E1’相减,得到第二层编码误差E2;
熵编码模块,用于对频域参数编码C1r进行熵编码得到第二层编码C2。
18.一种数据解压缩装置,其特征在于,包括:
帧解封模块,用于获取编码比特流B1得到编码帧;将编码帧分解得到第一层编码C1、帧头信息Hi以及第二层编码C2;
第二层解码解压模块,用于根据帧头信息Hi将第二层编码C2解码解压得到第一层编码误差E1;
第一层解码解压模块,用于对第一层编码C1进行解码解压得到解码数据S’;将解码数据S’与第一层编码误差E1相加,得到重构数据Sr1。
19.根据权利要求18所述装置,其特征在于,第二层解码解压模块,包括:
熵解码模块,用于对第二层压缩编码C2进行熵解码得到误差编码Ce;
解码反量化模块,用于对误差编码Ce进行反量化得到第一层编码误差E1。
20.根据权利要求18或19所述装置,其特征在于,第一层解码解压模块,包括:
熵解码模块,用于对第一层编码C1进行熵解码得到频域参数编码Cr;
解码反变量化模块,用于根据帧头信息Hi对频域参数编码Cr进行反量化得到解码频域参数Fp’;
时频合成模块,用于对解码频域参数Fp’进行时频合成得到解码数据S’;
加法模块,用于将解码数据S’与第一层编码误差E1相加,得到重构数据Sr1。
21.根据权利要求18或19所述装置,其特征在于,所述将编码帧分解还得到第三层编码C3;所述装置还包括:
第三解码解压模块,用于根据帧头信息Hi,对第三层编码C3进行解码解压得到第二层编码误差E2;
所述第二层解压解码模块,具体用于根据帧头信息Hi对第二层编码C2进行解码解压,得到解码误差E1’,将解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1。
22.根据权利要求18或19所述装置,其特征在于,所述第二层解压解码模块,包括:
熵解码模块,用于对第二层编码C2进行熵解码得到频域参数编码C1r;
解码反量化模块,用于根据帧头信息Hi对频域参数编码C1r进行反量化得到解码频域参数F1p’;
时频合成模块,用于对解码频域参数F1p’进行时频合成得到解码误差E1’;
加法模块,用于将解码误差E1’与第二层编码误差E2相加,得到第一层编码误差E1。
23.一种通信***,包括:以可通信方式连接的数据发送端和数据接收端,其特征在于,所述数据发送端为权利要求13至15任意一项的装置,所述接收端为权利要求18至20、22任意一项的装置;或者,所述数据发送端为权利要求16或17的装置,所述接收端为权利要求21的装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010512524 CN102055974B (zh) | 2010-10-14 | 2010-10-14 | 数据压缩、解压缩方法、装置及*** |
PCT/CN2011/080811 WO2012048662A1 (zh) | 2010-10-14 | 2011-10-14 | 数据压缩、解压缩方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010512524 CN102055974B (zh) | 2010-10-14 | 2010-10-14 | 数据压缩、解压缩方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102055974A CN102055974A (zh) | 2011-05-11 |
CN102055974B true CN102055974B (zh) | 2013-04-17 |
Family
ID=43959840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010512524 Active CN102055974B (zh) | 2010-10-14 | 2010-10-14 | 数据压缩、解压缩方法、装置及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102055974B (zh) |
WO (1) | WO2012048662A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013190690A1 (ja) * | 2012-06-21 | 2013-12-27 | 三菱電機株式会社 | 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム |
CN104113394B (zh) * | 2014-07-29 | 2017-06-13 | 西安电子科技大学 | 通信调制信号的压缩及解压方法 |
CN108134805B (zh) * | 2014-08-08 | 2021-04-30 | 安科讯(福建)科技有限公司 | 一种数据同步压缩还原算法及装置 |
CN106712893B (zh) * | 2015-07-23 | 2020-10-09 | 华为技术有限公司 | 用于数据传输的方法和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1639984A (zh) * | 2002-03-08 | 2005-07-13 | 日本电信电话株式会社 | 数字信号编码方法、解码方法、编码设备、解码设备、数字信号编码程序和解码程序 |
CN101137065A (zh) * | 2006-09-01 | 2008-03-05 | 华为技术有限公司 | 图像编码方法、解码方法、编码器、解码器、编解码方法及编解码器 |
CN101438597A (zh) * | 2006-05-17 | 2009-05-20 | 富士通株式会社 | 图像数据压缩装置、压缩方法及程序、以及图像数据恢复装置、恢复方法及程序 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004521583A (ja) * | 2001-07-10 | 2004-07-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 非スケーラブル符号化ビデオ信号からスケーラブル符号化ビデオ信号を発生する方法及び装置 |
KR20050112587A (ko) * | 2004-05-27 | 2005-12-01 | 학교법인 대양학원 | 동영상 인코딩, 디코딩 장치 및 그 방법 |
TWI348651B (en) * | 2006-06-09 | 2011-09-11 | Via Tech Inc | A system for reducing bandwidth requirements for transferring graphics data and its related method |
-
2010
- 2010-10-14 CN CN 201010512524 patent/CN102055974B/zh active Active
-
2011
- 2011-10-14 WO PCT/CN2011/080811 patent/WO2012048662A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1639984A (zh) * | 2002-03-08 | 2005-07-13 | 日本电信电话株式会社 | 数字信号编码方法、解码方法、编码设备、解码设备、数字信号编码程序和解码程序 |
CN101438597A (zh) * | 2006-05-17 | 2009-05-20 | 富士通株式会社 | 图像数据压缩装置、压缩方法及程序、以及图像数据恢复装置、恢复方法及程序 |
CN101137065A (zh) * | 2006-09-01 | 2008-03-05 | 华为技术有限公司 | 图像编码方法、解码方法、编码器、解码器、编解码方法及编解码器 |
CN101518089A (zh) * | 2006-09-01 | 2009-08-26 | 华为技术有限公司 | 编/解码方法、编/解码器及寻找最佳匹配块的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2012048662A1 (zh) | 2012-04-19 |
CN102055974A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102016985B (zh) | 对输入数据流进行混合以及从中产生输出数据流 | |
CN101160726B (zh) | 参数压缩单元和解码器以及相应的方法 | |
CN100584023C (zh) | 用于基于上下文的信号编码和解码的方法和设备 | |
CN102007768A (zh) | 位深度可分级性 | |
CN103280221B (zh) | 一种基于基追踪的音频无损压缩编码、解码方法及*** | |
CN103873877A (zh) | 远程桌面的图像传输方法及装置 | |
CN101742313A (zh) | 基于压缩感知技术的分布式信源编码的方法 | |
CN101371447A (zh) | 使用扩展带频率编码的复变换信道编码 | |
CN101945286B (zh) | 压缩编码方法、解码解压方法、装置和通信*** | |
CN102055974B (zh) | 数据压缩、解压缩方法、装置及*** | |
CN101162584A (zh) | 使用带宽扩展技术对音频信号编码和解码的方法和设备 | |
Yang et al. | A sudoku matrix-based method of pitch period steganography in low-rate speech coding | |
CN102572426B (zh) | 一种数据处理的方法和装置 | |
JP4163680B2 (ja) | コードワードインデックスに対してパラメータ値のマッピングを行うための適応型方法およびシステム | |
CN101300633A (zh) | 信号处理的方法和装置以及编码和解码方法及其装置 | |
CN102982807B (zh) | 用于对语音信号lpc系数进行多级矢量量化的方法和*** | |
JP2010506207A (ja) | エンコード方法、デコード方法、エンコーダ、デコーダ、及びコンピュータプログラム製品 | |
CN107666472A (zh) | 混合的数字‑模拟编解码 | |
US9948928B2 (en) | Method and apparatus for encoding an image | |
CN101980464B (zh) | 数据编码方法、解码方法、编码器和解码器 | |
CN104113394B (zh) | 通信调制信号的压缩及解压方法 | |
CN113453002B (zh) | 量化与熵编码方法及装置 | |
CN113990335A (zh) | 一种基于压缩感知的音频编解码方法 | |
Mashiach et al. | Multiple description delta-sigma quantization with individual and central receivers | |
Ibrahimpatnam | A high performance novel image compression technique using hybrid transform for multimedia applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |