数据编码装置及方法、数据解码装置及方法制造方法及图纸

技术编号:8611279 阅读:148 留言:0更新日期:2013-04-19 23:28
本发明专利技术提供了一种数据编码装置及方法、数据解码装置及方法,涉及数据编解码技术领域。所述数据编码方法包括:将待编码数据中的部分数据确定为测验数据;采用预定的二个以上编码表分别对所述测验数据进行编码,并比较所获得的二个以上编码结果的压缩率,选择获得最大压缩率的编码表作为目标编码表;采用所述目标编码表对所述待编码数据进行编码,并在所获得的编码结果中记载所述目标编码表的信息。本发明专利技术的方法及装置能提高编码性能。

【技术实现步骤摘要】

本专利技术涉及数据的编解码,特别是涉及一种能支持二个以上静态霍夫曼编码表的数据编码装置及方法和相应的数据解码装置及方法。
技术介绍
GZIP (GNU Zip的缩写)是一种文件压缩程序,最早由Jean-loup Gailly和MarkAdler创建,用于UNIX系统的文件压缩。在Linux系统中经常会见到的后缀为.gz的文件,就是用GZIP格式压缩的。GZIP现今已成为在Internet上使用非常普遍的一种数据压缩格式,或者说文件格式。GZIP在算法上通常使用霍夫曼(huffman)编码。采用霍夫曼编码压缩后的数据格式在RFC1951中有描述。霍夫曼编码是一种基于统计意义的熵编码,其以不同数据出现的概率作为编码基础。霍夫曼编码包括静态霍夫曼编码和动态霍夫曼编码两种。静态霍夫曼编码指的是数据出现的概率由事先统计的规律得出,其只有一种编码方式,具有计算量少、速度快、编码性能差等特点。动态霍夫曼编码指的是数据出现的概率由实际数据源得出,具有计算量大、处理时间长、速度慢、编码性能好等特点。然而,现有的GZIP编码方法存在难以同时保证编码性能和编码速度的缺点。
技术实现思路
有鉴于此,本专利技术提供了一种能支持二个以上编码表的数据编码装置及方法和相应的数据解码装置及方法,以提高编码性能并保持编码速度。第一方面,本专利技术实施例提供了一种数据编码方法,包括以下步骤将待编码数据中的部分数据确定为测验数据;采用预定的二个以上编码表分别对所述测验数据进行编码,并比较所获得的二个以上编码结果的压缩率,选择获得最大压缩率的编码表作为目标编码表;采用所述目标编码表对所述待编码数据进行编码,并在所获得的编码结果中记载所述目标编码表的信息。结合该第一方面,在第一种可能的实施方式中,所述将待编码数据中的部分数据确定为测验数据包括随机选择所述待编码数据中的一个数据块作为所述测验数据。结合该第一方面,在第二种可能的实施方式中,所述将待编码数据中的部分数据确定为测验数据包括将所述待编码数据划分为二个以上数据块;将所述二个以上数据块中的N个数据块分别确定为所述测验数据,其中N为大于I的整数,所述采用预定的二个以上编码表分别对所述测验数据进行编码,并比较所获得的二个以上编码结果的压缩率,选择获得最大压缩率的编码表作为目标编码表包括采用所述二个以上编码表对每个数据块分别进行编码,获得所述N个数据块中每个数据块的最大压缩率;将生成所述最大压缩率次数最多的编码表确定为目标编码表。结合该第一方面以及该第一方面的第一至二种可能的实施方式中的任一种,在第三种可能的实施方式中,所述二个以上编码表由数据压缩方和数据解压缩方协商确定。结合该第一方面以及该第一方面的第一至三种可能的实施方式中的任一种,在第四种可能的实施方式中,所述二个以上编码表为静态霍夫曼编码格式的编码表。结合该第一方面的第四种可能的实施方式,在第五种可能的实施方式中,采用所述目标编码表对所述待编码数据进行编码所获得的数据为GZIP格式,所述目标编码表信息是通过扩展所述数据的BTYPE字段记载的。第二方面,本专利技术实施例提供了一种数据编码装置,包括测验数据确定单元,用于将待编码数据中的部分数据确定为测验数据;编码表选择单元,与所述测验数据确定单元连接,用于比较对所述测验数据采用预定的二个以上编码表分别进行编码所获得的二个以上编码结果的压缩率,并选择获得最大压缩率的编码表作为目标编码表;编码单元,与所述测验数据确定单元以及所述编码表选择单元连接,用于采用所述二个以上编码表分别对所述测验数据进行编码;在所述编码表选择单元确定所述目标编码表后,采用所述目标编码表对所述待编码数据进行编码,并在所获得的编码结果中记载所述目标编码表的信息。结合该第二方面,在第一种可能的实施方式中,所述测验数据确定单元包括选择模块,用以随机选择所述待编码数据中的一个数据块作为所述测验数据,所述编码表选择单元包括压缩率比较模块,用于比较所述二个以上编码表对该数据块分别进行编码的结果,并将获得最大压缩率的编码表确定为所述目标编码表。结合该第二方面,在第二种可能的实施方式中,所述测验数据确定单元包括分块模块,用以将所述待编码数据划分为二个以上数据块;以及选择模块,用以将所述二个以上数据块中的N个数据块分别确定为所述测验数据,其中N为大于I的整数,所述编码表选择单元包括压缩率比较模块,用于比较所述二个以上编码表对每个数据块分别进行编码的结果,获得所述N个数据块中每个数据块的最大压缩率;统计模块,将生成所述最大压缩率次数最多的编码表确定为所述目标编码表。结合该第二方面以及该第二方面的第一至二种可能的实施方式中的任一种,在第三种可能的实施方式中,所述数据编码装置还包括存储单元,所述二个以上编码表由数据压缩方和数据解压缩方协商确定并存储于所述存储单元中。结合该第二方面以及该第二方面的第一至三种可能的实施方式中的任一种,在第四种可能的实施方式中,所述二个以上编码表为静态霍夫曼编码格式的编码表。结合该第一方面的第四种可能的实施方式,在第五种可能的实施方式中,由所述编码单元进行编码所获得的数据为Gzip格式,所述目标编码表信息是通过所述编码单元扩展所述数据的BTYPE字段记载的。第三方面,本专利技术实施例提供了一种数据解码方法,包括以下步骤接收待解码数据,其中,所述待解码数据中记载有表示编码时所采用的编码表的信息,所述编码时所采用的编码表为从预定的二个以上编码表中选出的、对待编码数据中的部分数据具有最大压缩率的编码表;读取所述待解码数据中记载的表示编码时所采用的编码表的信息;以及根据所读取到的表示编码时所采用的编码表的信息对所述待解码数据进行解码。结合该第三方面,在第一种可能的实施方式中,所述二个以上编码表为静态霍夫曼编码格式的编码表。第四方面,本专利技术实施例提供了一种数据解码装置,包括接收单元,用于接收待解码数据,其中,所述待解码数据中记载有表示编码时所采用的编码表的信息,所述编码时所采用的编码表为从预定的二个以上编码表中选出的、对待编码数据中的部分数据具有最大压缩率的编码表;编码表信息读取单元,与所述接收单元连接,用于读取所述待解码数据中记载的表示编码时所采用的编码表的信息;以及解码单元,与所述接收单元和所述编码表信息读取单元连接,用于根据所读取到的表示编码时所采用的编码表的信息对所述待解码数据进行解码。结合该第四方面,在第一种可能的实施方式中,所述二个以上编码表为静态霍夫曼编码格式的编码表。本专利技术根据不同编码表对不同特点的待编码数据具有不同压缩率的特点,通过采用预定的二个以上编码表对待编码数据中的部分数据进行编码,来获得对待编码数据具有最大压缩率的编码表,并通过所获得的编码表对待编码数据进行编码,以提高对待编码数据的编码性能。同时,由于本专利技术仅对待编码数据中的部分数据进行编码来获得该具有最大压缩率的编码表,提高了编码速度。附图说明图1示出了 GZIP格式的数据压缩封包的结构示意图。图2示出了 GZIP格式的数据压缩封包中的数据块的结构示意图。图3示出根据本专利技术实施例的数据编码方法的流程图。图4示出了根据本专利技术实施例的数据块的结构示意图。图5示出了根据本专利技术一实施例的数据编码装置的结构框图。图6示出了根据本专利技术另一实施例的数据编码装置的结构框图。本文档来自技高网...

【技术保护点】
一种数据编码方法,其特征在于,包括以下步骤:将待编码数据中的部分数据确定为测验数据;采用预定的二个以上编码表分别对所述测验数据进行编码,并比较所获得的二个以上编码结果的压缩率,选择获得最大压缩率的编码表作为目标编码表;采用所述目标编码表对所述待编码数据进行编码,并在所获得的编码结果中记载所述目标编码表的信息。

【技术特征摘要】
1.ー种数据编码方法,其特征在于,包括以下步骤 将待编码数据中的部分数据确定为测验数据; 采用预定的ニ个以上编码表分别对所述测验数据进行编码,井比较所获得的ニ个以上编码结果的压缩率,选择获得最大压缩率的编码表作为目标编码表; 采用所述目标编码表对所述待编码数据进行编码,并在所获得的编码结果中记载所述目标编码表的信息。2.根据权利要求1所述的数据编码方法,其特征在于,所述将待编码数据中的部分数据确定为测验数据包括随机选择所述待编码数据中的一个数据块作为所述测验数据。3.根据权利要求1所述的数据编码方法,其特征在干, 所述将待编码数据中的部分数据确定为测验数据包括 将所述待编码数据划分为ニ个以上数据块; 将所述ニ个以上数据块中的N个数据块分别确定为所述测验数据,其中N为大于I的整数, 所述采用预定的ニ个以上编码表分别对所述测验数据进行编码,井比较所获得的ニ个以上编码结果的压缩率,选择获得最大压缩率的编码表作为目标编码表包括 采用所述ニ个以上编码表对每个数据块分别进行编码,获得所述N个数据块中每个数据块的最大压缩率; 将生成所述最大压缩率次数最多的编码表确定为目标编码表。4.根据权利要求1至3中任一项所述的数据编码方法,其特征在于,所述ニ个以上编码表由数据压缩方和数据解压缩方协商确定。5.根据权利要求1至4中任一项所述的数据编码方法,其特征在于,所述ニ个以上编码表为静态霍夫曼编码格式的编码表。6.根据权利要求5所述的数据编码方法,其特征在干,采用所述目标编码表对所述待编码数据进行编码所获得的数据为GZIP格式,所述目标编码表信息是通过扩展所述数据的BTYPE字段记载的。7.ー种数据编码装置,其特征在于,包括 测验数据确定単元,用于将待编码数据中的部分数据确定为测验数据; 编码表选择单元,与所述测验数据确定单元连接,用于比较对所述测验数据采用预定的ニ个以上编码表分别进行编码所获得的ニ个以上编码结果的压缩率,并选择获得最大压缩率的编码表作为目标编码表; 编码单元,与所述测验数据确定单元以及所述编码表选择单元连接,用于采用所述ニ个以上编码表分别对所述测验数据进行编码;在所述编码表选择单元确定所述目标编码表后,采用所述目标编码表对所述待编码数据进行编码,并在所获得的编码结果中记载所述目标编码表的信息。8.根据权利要求7所述的数据编码装置,其特征在干, 所述测验数据确定単元包括 选择模块,用以随机选择所述待编码数据中的一个数据块作为所述测验数据, 所述编码表选...

【专利技术属性】
技术研发人员:沈慧
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1