Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
EXPECTED DATA COMPRESSIBILITY CALCULATION METHOD AND DEVICE
Document Type and Number:
WIPO Patent Application WO/2016/004629
Kind Code:
A1
Abstract:
The present invention relates to the technical field of data processing. Provided are an expected data compressibility calculation method and device. In the solution, the expected compressibility is calculated using related indicators characterizing the distribution rule of symbols in a symbol sequence, the related indicators being highly correlated with the expected data compressibility, thus solving the existing problem of low accuracy of calculating expected data compressibility.

More Like This:
Inventors:
WEI JIANSHENG (CN)
ZHU JUNHUA (CN)
Application Number:
PCT/CN2014/082077
Publication Date:
January 14, 2016
Filing Date:
July 11, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
G06F5/00
Domestic Patent References:
WO2006056247A12006-06-01
Foreign References:
CN1127558A1996-07-24
JP2000259187A2000-09-22
CN103152430A2013-06-12
CN102890268A2013-01-23
Attorney, Agent or Firm:
TDIP & PARTNERS (CN)
北京同达信恒知识产权代理有限公司 (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种计算数据的预期压缩率的方法, 其特征在于, 包括

将待压缩数据解析为符号序列;

获取所述符号序列的相关指标, 其中, 所述相关指标用于表征所述符号 序列中的符号的分布规律;

根据所述相关指标, 计算将所述待压缩数据釆用指定编码方式编码后的 预期编码长度;

将计算得到的预期编码长度与所述待压缩数据的初始长度的比值, 作为 所述待压缩数据的预期压缩率。

2、 如权利要求 1所述的方法, 其特征在于, 所述相关指标包括符号集合 的基数和 /或符号频数集合;

其中, 所述符号集合包括所述符号序列中出现的所有符号, 且所述符号 集合中的任意两个符号均不相同;

所述符号集合的基数为所述符号集合中的所有符号的个数;

所述符号频数集合中的频数为所述符号集合中的各个符号分别在所述符 号序列中分别出现的次数。

3、 如权利要求 2所述的方法, 其特征在于, 根据所述相关指标, 计算将 所述待压缩数据釆用指定编码方式编码后的预期编码长度, 具体包括:

根据所述符号集合的基数, 计算所述符号集合所包括的任意一符号釆用 定长编码方式表达时所需要的位长, 其中, 所述符号集合中的每一个符号釆 用所述定长编码方式表达时所需要的位长均相等;

确定计算出的位长与所述符号频数集合中包括的所有频数之和的乘积; 将确定的乘积作为第一预期编码长度, 其中, 所述第一预期编码长度为 将所述待压缩数据釆用所述定长编码方式编码得到的预期编码长度;

其中, 所述符号集合中的每一个符号釆用所述定长编码方式表达时所需 要的位长均相等。 4、 如权利要求 2所述的方法, 其特征在于, 根据所述相关指标, 计算将 所述待压缩数据釆用指定编码方式编码后的预期编码长度, 具体包括:

通过对所述符号频数集合进行递归划分, 计算第二预期编码长度, 其中, 所述第二预期编码长度为将所述待压缩数据釆用哈夫曼编码方式编码后的预 期编码长度。

5、 如权利要求 4所述的方法, 其特征在于, 通过对所述符号频数集合进 行递归划分, 计算第二预期编码长度, 具体包括:

确定所述符号集合的基数大于或者等于预设划分门限值时, 将所述符号 频数集合进行递归划分, 获取递归划分完成后得到的至少两个频数子集合; 针对所述至少两个频数子集合中的任意一频数子集合, 计算指定数目个 符号釆用所述哈夫曼编码方式表达时的预期编码长度, 其中, 所述指定数目 为该任意一频数子集合中包括的所有频数之和;

将针对每一个频数子集合分别计算出的预期编码长度相加, 得到预期编 码长度之和;

将所述预期编码长度之和, 作为所述第二预期编码长度。

6、 如权利要求 5所述的方法, 其特征在于, 将所述符号频数集合进行递 归划分, 获取递归划分完成后得到的至少两个频数子集合, 具体包括:

对划分得到的每个频数子集合重复执行下述划分处理, 直至划分得到的 频数子集合的基数小于所述预设基数门限值时, 或者直至递归划分级数达到 预设级数门限值时, 停止划分:

对所述符号频数集合进行划分, 得到两个频数子集合;

针对每个频数子集合, 确定出该频数子集合的基数大于或者等于所述预 设基数门限值, 或者递归划分级数大于或者等于所述预设级数门限值时, 对 该频数子集合返回继续执行划分处理。

7、 如权利要求 6所述的方法, 其特征在于, 对所述符号频数集合进行划 分, 得到两个频数子集合, 具体包括:

确定对所述符号频数集合进行划分的所有划分方式; 针对每种划分方式, 分别执行:

釆用该划分方式对所述符号频数集合进行划分, 得到两个频数子集合; 判定得到的两个频数子集合中的第一频数子集合中包括的任意一频数, 是否均大于或者等于得到的两个频数子集合中的第二频数子集合中包括的任 一频数;

从所有划分方式中确定出指定划分方式, 其中, 所述指定划分方式中的 任意一种划分方式下得到的两个频数子集合中的第一频数子集合中包括的任 意一频数, 均大于或者等于得到的两个频数子集合中的第二频数子集合中包 括的任意一频数;

针对所述指定划分方式中的每种划分方式, 计算该划分方式下得到的两 个频数子集合中的第一频数子集合包括的所有频数之和与第二频数子集合包 括的所有频数之和之间的差值;

从得到的所有差值中, 确定出最小差值;

将该最小差值对应的划分方式下划分得到的两个频数子集合, 作为对所 述符号频数集合进行划分, 得到的两个频数子集合。

8、 如权利要求 6所述的方法, 其特征在于, 对所述符号频数集合进行划 分, 得到两个频数子集合, 具体包括:

将所述符号频数集合中包括的所有频数进行排序;

将排序后的符号频数集合, 按照如下规则依次进行 N-1次划分, N为所述 符号集合的基数;

将排序后的符号频数集合中的排序在首位的频数、 排序在第 X位的频数, 及位于排序在首位和第 X位之间的所有频数, 作为第 X次划分得到的第一频数 子集合, 其中, X为大于等于 1小于等于 N-1的正整数;

将排序后的符号频数集合中的排序在末位的频数,及排序在末位和第 X位 之间的所有频数, 作为所述第 X次划分得到的第二频数子集合;

计算针对每一次划分得到的第一频数子集合包括的所有频数之和, 与第 二频数子集合包括的所有频数之和之间的差值; 将最小差值对应划分方式下划分得到的第一频数子集合与第二频数子集 合, 作为对所述符号频数集合划分, 得到的两个频数子集合。

9、 如权利要求 5-8任一项所述的方法, 其特征在于, 计算指定数目个符 号釆用所述哈夫曼编码方式表达时的预期编码长度, 具体包括:

针对该任意一频数子集合中包含的任意一频数, 分别执行:

确定该任意一频数所在频数子集合对应的递归划分级数;

根据确定出的递归划分级数和所述任意一频数所在频数子集合的基数, 计算该频数所对应的符号釆用所述哈夫曼编码方式表达时所需要的预期位 长;

将计算出的预期位长与该任意一频数的乘积, 作为该任意一频数数目个 符号, 釆用所述哈夫曼编码方式表达时的预期编码长度;

将计算出的该任意一频数子集合中的所有频数之和的数目个符号, 釆用 所述哈夫曼编码方式表达时的总预期编码长度, 作为指定数目个符号釆用所 述哈夫曼编码方式表达时的预期编码长度。

10、 如权利要求 1-9任一项所述的方法, 其特征在于, 所述待压缩数据的 数据类型为二进制数据, 所述相关指标还包括游标集合的基数、 游标位长、 最大游程; 及每一组连续重复出现的符号中的任意一符号;

所述游标集合的基数为所述游标集合中的所有符号的个数;

所述游标位长为所述游标集合中的任意一游标的空间开销, 其中, 所述 游标集合中包含的各游标的位长均相等;

所述游程集合包括的游程为所述游标集合包括的游标在所述符号序列中 的对应位置连续出现的次数;

所述最大游程为各游标分别在所述符号序列中的对应位置连线出现的次 数中的最大值。

11、 如权利要求 10所述的方法, 其特征在于, 根据所述相关指标, 计算 将所述待压缩数据釆用指定编码方式编码后的预期编码长度, 具体包括: 计算所述最大游程釆用所述游程编码方式表达时所需要的位长, 其中, 所述游程集合中的每一个游程釆用所述游程编码方式表达时所需要的位长, 与所述最大游程釆用所述游程编码方式表达时所需要的位长均相等;

将计算出的所述最大游程釆用所述游程编码方式表达时所需的位长, 与 所述游标集合的基数的乘积, 作为计算出的所有游程釆用所述游程编码方式 表达所需要的位长;

将所述游标位长与所述游标集合的基数的乘积, 作为计算出的所有游标 的位长;

确定计算得到的所有游标的位长, 与计算得到的所有游程釆用所述游程 编码方式表达所需要的位长之和;

将所述位长之和作为第三预期编码长度, 其中, 所述第三预期编码长度 为将所述待压缩数据釆用所述游程编码方式编码得到的预期编码长度。

12、 一种计算数据的预期压缩率的装置, 其特征在于, 包括

解析单元, 用于将待压缩数据解析为符号序列;

获取单元, 用于获取所述符号序列的相关指标, 其中, 所述相关指标用 于表征所述符号序列中的符号的分布规律;

第一计算单元, 用于根据所述相关指标, 计算将所述待压缩数据釆用指 定编码方式编码后的预期编码长度;

第二计算单元, 用于将计算得到的预期编码长度与所述待压缩数据的初 始长度的比值, 作为所述待压缩数据的预期压缩率。

13、 如权利要求 12所述的装置, 其特征在于, 所述获取单元获取的相关 指标包括符号集合的基数和 /或符号频数集合;

其中, 所述符号集合包括所述符号序列中出现的所有符号, 且所述符号 集合中的任意两个符号均不相同;

所述符号集合的基数为所述符号集合中的所有符号的个数;

所述符号频数集合中的频数为所述符号集合中的各个符号分别在所述符 号序列中分别出现的次数。

14、 如权利要求 13所述的装置, 其特征在于, 所述第一计算单元具体用 于:

根据所述符号集合的基数, 计算所述符号集合所包括的任意一符号釆用 定长编码方式表达时所需要的位长, 其中, 所述符号集合中的每一个符号釆 用所述定长编码方式表达时所需要的位长均相等;

确定计算出的位长与所述符号频数集合中包括的所有频数之和的乘积; 将确定的乘积作为第一预期编码长度, 其中, 所述第一预期编码长度为 将所述待压缩数据釆用所述定长编码方式编码得到的预期编码长度;

其中, 所述符号集合中的每一个符号釆用所述定长编码方式表达时所需 要的位长均相等。

15、 如权利要求 13所述的装置, 其特征在于, 所述第一计算单元具体用 于:

通过对所述符号频数集合进行递归划分, 计算第二预期编码长度, 其中, 所述第二预期编码长度为将所述待压缩数据釆用哈夫曼编码方式编码后的预 期编码长度。

16、 如权利要求 15所述的装置, 其特征在于, 所述第一计算单元在通过 对所述符号频数集合进行递归划分, 计算第二预期编码长度时, 具体为: 确定所述符号集合的基数大于或者等于预设划分门限值时, 将所述符号 频数集合进行递归划分, 获取递归划分完成后得到的至少两个频数子集合; 针对所述至少两个频数子集合中的任意一频数子集合, 计算指定数目个 符号釆用所述哈夫曼编码方式表达时的预期编码长度, 其中, 所述指定数目 为该任意一频数子集合中包括的所有频数之和;

将针对每一个频数子集合分别计算出的预期编码长度相加, 得到预期编 码长度之和;

将所述预期编码长度之和, 作为所述第二预期编码长度。

17、 如权利要求 16所述的装置, 其特征在于, 所述第一计算单元在将所 述符号频数集合进行递归划分, 获取递归划分完成后得到的至少两个频数子 集合时, 具体为:

对划分得到的每个频数子集合重复执行下述划分处理, 直至划分得到的 频数子集合的基数小于所述预设基数门限值时, 或者直至递归划分级数达到 预设级数门限值时, 停止划分:

对所述符号频数集合进行划分, 得到两个频数子集合;

针对每个频数子集合, 确定出该频数子集合的基数大于或者等于所述预 设基数门限值, 或者递归划分级数大于或者等于所述预设级数门限值时, 对 该频数子集合返回继续执行划分处理。

18、 如权利要求 17所述的装置, 其特征在于, 所述第一计算单元在对所 述符号频数集合进行划分, 得到两个频数子集合时, 具体为:

确定对所述符号频数集合进行划分的所有划分方式;

针对每种划分方式, 分别执行:

釆用该划分方式对所述符号频数集合进行划分, 得到两个频数子集合; 判定得到的两个频数子集合中的第一频数子集合中包括的任意一频数, 是否均大于或者等于得到的两个频数子集合中的第二频数子集合中包括的任 一频数;

从所有划分方式中确定出指定划分方式, 其中, 所述指定划分方式中的 任意一种划分方式下得到的两个频数子集合中的第一频数子集合中包括的任 意一频数, 均大于或者等于得到的两个频数子集合中的第二频数子集合中包 括的任意一频数;

针对所述指定划分方式中的每种划分方式, 计算该划分方式下得到的两 个频数子集合中的第一频数子集合包括的所有频数之和与第二频数子集合包 括的所有频数之和之间的差值;

从得到的所有差值中, 确定出最小差值;

将该最小差值对应的划分方式下划分得到的两个频数子集合, 作为对所 述符号频数集合进行划分, 得到的两个频数子集合。 19、 如权利要求 17所述的装置, 其特征在于, 所述第一计算单元在对所 述符号频数集合进行划分, 得到两个频数子集合时, 具体为:

将所述符号频数集合中包括的所有频数进行排序;

将排序后的符号频数集合, 按照如下规则依次进行 N-1次划分, N为所述 符号集合的基数;

将排序后的符号频数集合中的排序在首位的频数、 排序在第 X位的频数, 及位于排序在首位和第 X位之间的所有频数, 作为第 X次划分得到的第一频数 子集合, 其中, X为大于等于 1小于等于 N-1的正整数;

将排序后的符号频数集合中的排序在末位的频数,及排序在末位和第 X位 之间的所有频数, 作为所述第 X次划分得到的第二频数子集合;

计算针对每一次划分得到的第一频数子集合包括的所有频数之和, 与第 二频数子集合包括的所有频数之和之间的差值;

将最小差值对应划分方式下划分得到的第一频数子集合与第二频数子集 合, 作为对所述符号频数集合划分, 得到的两个频数子集合。

20、 如权利要求 16-19任一项所述的装置, 其特征在于, 所述第一计算单 元在计算指定数目个符号釆用所述哈夫曼编码方式表达时的预期编码长度 时, 具体为:

针对该任意一频数子集合中包含的任意一频数, 分别执行:

确定该任意一频数所在频数子集合对应的递归划分级数;

根据确定出的递归划分级数和所述任意一频数所在频数子集合的基数, 计算该频数所对应的符号釆用所述哈夫曼编码方式表达时所需要的预期位 长;

将计算出的预期位长与该任意一频数的乘积, 作为该任意一频数数目个 符号, 釆用所述哈夫曼编码方式表达时的预期编码长度;

将计算出的该任意一频数子集合中的所有频数之和的数目个符号, 釆用 所述哈夫曼编码方式表达时的总预期编码长度, 作为指定数目个符号釆用所 述哈夫曼编码方式表达时的预期编码长度。 21、 如权利要求 12-20任一项所述的装置, 其特征在于, 所述待压缩数据 的数据类型为二进制数据, 所述获取单元获取的相关指标还包括游标集合的 基数、 游标位长、 最大游程; 及每一组连续重复出现的符号中的任意一符号;

所述游标集合的基数为所述游标集合中的所有符号的个数;

所述游标位长为所述游标集合中的任意一游标的空间开销, 其中, 所述 游标集合中包含的各游标的位长均相等;

所述游程集合包括的游程为所述游标集合包括的游标在所述符号序列中 的对应位置连续出现的次数;

所述最大游程为各游标分别在所述符号序列中的对应位置连线出现的次 数中的最大值。

22、 如权利要求 21所述的装置, 其特征在于, 所述第一计算单元具体用 于:

计算所述最大游程釆用所述游程编码方式表达时所需要的位长, 其中, 所述游程集合中的每一个游程釆用所述游程编码方式表达时所需要的位长, 与所述最大游程釆用所述游程编码方式表达时所需要的位长均相等;

将计算出的所述最大游程釆用所述游程编码方式表达时所需的位长, 与 所述游标集合的基数的乘积, 作为计算出的所有游程釆用所述游程编码方式 表达所需要的位长;

将所述游标位长与所述游标集合的基数的乘积, 作为计算出的所有游标 的位长;

确定计算得到的所有游标的位长, 与计算得到的所有游程釆用所述游程 编码方式表达所需要的位长之和;

将所述位长之和作为第三预期编码长度, 其中, 所述第三预期编码长度 为将所述待压缩数据釆用所述游程编码方式编码得到的预期编码长度。

Description:
一种计算数据的预期压缩率的方法及装置 技术领域

本发明涉及数据处理技术领域, 特别涉及一种计算数据的预期压缩率的 方法及装置。 背景技术

随着信息社会的发展, 数据量以指数级的形式进行增长, 数据压缩以可 以消除信息冗余, 提高数据传输效率、 存储资源的利用率的优点而广泛应用 于各个领域。

在压缩数据过程中,需要占用 CPU ( Central Processing Unit, 中央处理器) 和内存资源, 对系统性能有一定程度的负面影响, 数据的可压缩性根本上取 决于其数据自身的冗余特征, 也就是说不是所有的数据都适合压缩, 例如, 现有研究表明, 压缩低冗余度的数据会引起更多的计算开销, 严重浪费系统 资源。 因此, 在数据压缩之前, 判定数据是否适合进行压缩的技术显得尤为 重要。

目前, 在判定数据是否适合进行压缩时, 根据预期压缩率来判断, 但是, 目前计算预期压缩率的方法存在准确度较低的 缺陷。 发明内容

本发明实施例提供一种计算数据的预期压缩率 的方法及装置, 用以解决 当前计算数据的预期压缩率的方法中存在的准 确度较低的缺陷。

本发明实施例提供的具体技术方案如下:

第一方面, 提供一种计算数据的预期压缩率的方法, 包括

将待压缩数据解析为符号序列;

获取所述符号序列的相关指标, 其中, 所述相关指标用于表征所述符号 序列中的符号的分布规律; 根据所述相关指标, 计算将所述待压缩数据釆用指定编码方式编码 后的 预期编码长度;

将计算得到的预期编码长度与所述待压缩数据 的初始长度的比值, 作为 所述待压缩数据的预期压缩率。

结合第一方面, 在第一种可能的实现方式中, 所述相关指标包括符号集 合的基数和 /或符号频数集合;

其中, 所述符号集合包括所述符号序列中出现的所有 符号, 且所述符号 集合中的任意两个符号均不相同;

所述符号集合的基数为所述符号集合中的所有 符号的个数;

所述符号频数集合中的频数为所述符号集合中 的各个符号分别在所述符 号序列中分别出现的次数。

结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 根据所述相关指标, 计算将所述待压缩数据釆用指定编码方式编码 后的预期 编码长度, 具体包括:

根据所述符号集合的基数, 计算所述符号集合所包括的任意一符号釆用 定长编码方式表达时所需要的位长, 其中, 所述符号集合中的每一个符号釆 用所述定长编码方式表达时所需要的位长均相 等;

确定计算出的位长与所述符号频数集合中包括 的所有频数之和的乘积; 将确定的乘积作为第一预期编码长度, 其中, 所述第一预期编码长度为 将所述待压缩数据釆用所述定长编码方式编码 得到的预期编码长度;

其中, 所述符号集合中的每一个符号釆用所述定长编 码方式表达时所需 要的位长均相等。

结合第一方面的第一种可能的实现方式, 在第三种可能的实现方式中, 根据所述相关指标, 计算将所述待压缩数据釆用指定编码方式编码 后的预期 编码长度, 具体包括:

通过对所述符号频数集合进行递归划分, 计算第二预期编码长度, 其中, 所述第二预期编码长度为将所述待压缩数据釆 用哈夫曼编码方式编码后的预 期编码长度。

结合第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 通过对所述符号频数集合进行递归划分, 计算第二预期编码长度, 具体包括: 确定所述符号集合的基数大于或者等于预设划 分门限值时, 将所述符号 频数集合进行递归划分, 获取递归划分完成后得到的至少两个频数子集 合; 针对所述至少两个频数子集合中的任意一频数 子集合, 计算指定数目个 符号釆用所述哈夫曼编码方式表达时的预期编 码长度, 其中, 所述指定数目 为该任意一频数子集合中包括的所有频数之和 ;

将针对每一个频数子集合分别计算出的预期编 码长度相加, 得到预期编 码长度之和;

将所述预期编码长度之和, 作为所述第二预期编码长度。

结合第一方面的第四种可能的实现方式, 在第五种可能的实现方式中, 将所述符号频数集合进行递归划分, 获取递归划分完成后得到的至少两个频 数子集合, 具体包括:

对划分得到的每个频数子集合重复执行下述划 分处理, 直至划分得到的 频数子集合的基数小于所述预设基数门限值时 , 或者直至递归划分级数达到 预设级数门限值时, 停止划分:

对所述符号频数集合进行划分, 得到两个频数子集合;

针对每个频数子集合, 确定出该频数子集合的基数大于或者等于所述 预 设基数门限值, 或者递归划分级数大于或者等于所述预设级数 门限值时, 对 该频数子集合返回继续执行划分处理。

结合第一方面的第五种可能的实现方式, 在第六种可能的实现方式中, 对所述符号频数集合进行划分, 得到两个频数子集合, 具体包括:

确定对所述符号频数集合进行划分的所有划分 方式;

针对每种划分方式, 分别执行:

釆用该划分方式对所述符号频数集合进行划分 , 得到两个频数子集合; 判定得到的两个频数子集合中的第一频数子集 合中包括的任意一频数, 是否均大于或者等于得到的两个频数子集合中 的第二频数子集合中包括的任 一频数;

从所有划分方式中确定出指定划分方式, 其中, 所述指定划分方式中的 任意一种划分方式下得到的两个频数子集合中 的第一频数子集合中包括的任 意一频数, 均大于或者等于得到的两个频数子集合中的第 二频数子集合中包 括的任意一频数;

针对所述指定划分方式中的每种划分方式, 计算该划分方式下得到的两 个频数子集合中的第一频数子集合包括的所有 频数之和与第二频数子集合包 括的所有频数之和之间的差值;

从得到的所有差值中, 确定出最小差值;

将该最小差值对应的划分方式下划分得到的两 个频数子集合, 作为对所 述符号频数集合进行划分, 得到的两个频数子集合。

结合第一方面的第五种可能的实现方式, 在第七种可能的实现方式中, 对所述符号频数集合进行划分, 得到两个频数子集合, 具体包括:

将所述符号频数集合中包括的所有频数进行排 序;

将排序后的符号频数集合, 按照如下规则依次进行 N-1次划分, N为所述 符号集合的基数;

将排序后的符号频数集合中的排序在首位的频 数、 排序在第 X位的频数, 及位于排序在首位和第 X位之间的所有频数, 作为第 X次划分得到的第一频数 子集合, 其中, X为大于等于 1小于等于 N-1的正整数;

将排序后的符号频数集合中的排序在末位的频 数,及排序在末位和第 X位 之间的所有频数, 作为所述第 X次划分得到的第二频数子集合;

计算针对每一次划分得到的第一频数子集合包 括的所有频数之和, 与第 二频数子集合包括的所有频数之和之间的差值 ;

将最小差值对应划分方式下划分得到的第一频 数子集合与第二频数子集 合, 作为对所述符号频数集合划分, 得到的两个频数子集合。

结合第一方面的第四至第七种可能的实现方式 , 在第八种可能的实现方 式中, 计算指定数目个符号釆用所述哈夫曼编码方式 表达时的预期编码长度, 具体包括:

针对该任意一频数子集合中包含的任意一频数 , 分别执行:

确定该任意一频数所在频数子集合对应的递归 划分级数;

根据确定出的递归划分级数和所述任意一频数 所在频数子集合的基数, 计算该频数所对应的符号釆用所述哈夫曼编码 方式表达时所需要的预期位 长;

将计算出的预期位长与该任意一频数的乘积, 作为该任意一频数数目个 符号, 釆用所述哈夫曼编码方式表达时的预期编码长 度;

将计算出的该任意一频数子集合中的所有频数 之和的数目个符号, 釆用 所述哈夫曼编码方式表达时的总预期编码长度 , 作为指定数目个符号釆用所 述哈夫曼编码方式表达时的预期编码长度。

结合第一方面, 或者第一方面的第一至第八种可能的实现方式 , 在第九 种可能的实现方式中, 所述待压缩数据的数据类型为二进制数据, 所述相关 指标还包括游标集合的基数、 游标位长、 最大游程; 及每一组连续重复出现的符号中的任意一符号 ;

所述游标集合的基数为所述游标集合中的所有 符号的个数;

所述游标位长为所述游标集合中的任意一游标 的空间开销, 其中, 所述 游标集合中包含的各游标的位长均相等;

所述游程集合包括的游程为所述游标集合包括 的游标在所述符号序列中 的对应位置连续出现的次数;

所述最大游程为各游标分别在所述符号序列中 的对应位置连线出现的次 数中的最大值。

结合第一方面的第九种可能的实现方式, 在第十种可能的实现方式中, 根据所述相关指标, 计算将所述待压缩数据釆用指定编码方式编码 后的预期 编码长度, 具体包括: 计算所述最大游程釆用所述游程编码方式表达 时所需要的位长, 其中, 所述游程集合中的每一个游程釆用所述游程编 码方式表达时所需要的位长, 与所述最大游程釆用所述游程编码方式表达时 所需要的位长均相等;

将计算出的所述最大游程釆用所述游程编码方 式表达时所需的位长, 与 所述游标集合的基数的乘积, 作为计算出的所有游程釆用所述游程编码方式 表达所需要的位长;

将所述游标位长与所述游标集合的基数的乘积 , 作为计算出的所有游标 的位长;

确定计算得到的所有游标的位长, 与计算得到的所有游程釆用所述游程 编码方式表达所需要的位长之和;

将所述位长之和作为第三预期编码长度, 其中, 所述第三预期编码长度 为将所述待压缩数据釆用所述游程编码方式编 码得到的预期编码长度。

第二方面, 提供一种计算数据的预期压缩率的装置, 包括

解析单元, 用于将待压缩数据解析为符号序列;

获取单元, 用于获取所述符号序列的相关指标, 其中, 所述相关指标用 于表征所述符号序列中的符号的分布规律;

第一计算单元, 用于根据所述相关指标, 计算将所述待压缩数据釆用指 定编码方式编码后的预期编码长度;

第二计算单元, 用于将计算得到的预期编码长度与所述待压缩 数据的初 始长度的比值, 作为所述待压缩数据的预期压缩率。

结合第二方面, 在第一种可能的实现方式中, 所述获取单元获取的相关 指标包括符号集合的基数和 /或符号频数集合;

其中, 所述符号集合包括所述符号序列中出现的所有 符号, 且所述符号 集合中的任意两个符号均不相同;

所述符号集合的基数为所述符号集合中的所有 符号的个数;

所述符号频数集合中的频数为所述符号集合中 的各个符号分别在所述符 号序列中分别出现的次数。 结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述第一计算单元具体用于:

根据所述符号集合的基数, 计算所述符号集合所包括的任意一符号釆用 定长编码方式表达时所需要的位长, 其中, 所述符号集合中的每一个符号釆 用所述定长编码方式表达时所需要的位长均相 等;

确定计算出的位长与所述符号频数集合中包括 的所有频数之和的乘积; 将确定的乘积作为第一预期编码长度, 其中, 所述第一预期编码长度为 将所述待压缩数据釆用所述定长编码方式编码 得到的预期编码长度;

其中, 所述符号集合中的每一个符号釆用所述定长编 码方式表达时所需 要的位长均相等。

结合第二方面的第一种可能的实现方式, 在第三种可能的实现方式中, 所述第一计算单元具体用于:

通过对所述符号频数集合进行递归划分, 计算第二预期编码长度, 其中, 所述第二预期编码长度为将所述待压缩数据釆 用哈夫曼编码方式编码后的预 期编码长度。

结合第二方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述第一计算单元在通过对所述符号频数集合 进行递归划分, 计算第二预期 编码长度时, 具体为:

确定所述符号集合的基数大于或者等于预设划 分门限值时, 将所述符号 频数集合进行递归划分, 获取递归划分完成后得到的至少两个频数子集 合; 针对所述至少两个频数子集合中的任意一频数 子集合, 计算指定数目个 符号釆用所述哈夫曼编码方式表达时的预期编 码长度, 其中, 所述指定数目 为该任意一频数子集合中包括的所有频数之和 ;

将针对每一个频数子集合分别计算出的预期编 码长度相加, 得到预期编 码长度之和;

将所述预期编码长度之和, 作为所述第二预期编码长度。

结合第二方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所述第一计算单元在将所述符号频数集合进行 递归划分, 获取递归划分完成 后得到的至少两个频数子集合时, 具体为:

对划分得到的每个频数子集合重复执行下述划 分处理, 直至划分得到的 频数子集合的基数小于所述预设基数门限值时 , 或者直至递归划分级数达到 预设级数门限值时, 停止划分:

对所述符号频数集合进行划分, 得到两个频数子集合;

针对每个频数子集合, 确定出该频数子集合的基数大于或者等于所述 预 设基数门限值, 或者递归划分级数大于或者等于所述预设级数 门限值时, 对 该频数子集合返回继续执行划分处理。

结合第二方面的第五种可能的实现方式, 在第六种可能的实现方式中, 所述第一计算单元在对所述符号频数集合进行 划分, 得到两个频数子集合时, 具体为:

确定对所述符号频数集合进行划分的所有划分 方式;

针对每种划分方式, 分别执行:

釆用该划分方式对所述符号频数集合进行划分 , 得到两个频数子集合; 判定得到的两个频数子集合中的第一频数子集 合中包括的任意一频数, 是否均大于或者等于得到的两个频数子集合中 的第二频数子集合中包括的任 一频数;

从所有划分方式中确定出指定划分方式, 其中, 所述指定划分方式中的 任意一种划分方式下得到的两个频数子集合中 的第一频数子集合中包括的任 意一频数, 均大于或者等于得到的两个频数子集合中的第 二频数子集合中包 括的任意一频数;

针对所述指定划分方式中的每种划分方式, 计算该划分方式下得到的两 个频数子集合中的第一频数子集合包括的所有 频数之和与第二频数子集合包 括的所有频数之和之间的差值;

从得到的所有差值中, 确定出最小差值;

将该最小差值对应的划分方式下划分得到的两 个频数子集合, 作为对所 述符号频数集合进行划分, 得到的两个频数子集合。

结合第二方面的第五种可能的实现方式, 在第七种可能的实现方式中, 所述第一计算单元在对所述符号频数集合进行 划分, 得到两个频数子集合时, 具体为:

将所述符号频数集合中包括的所有频数进行排 序;

将排序后的符号频数集合, 按照如下规则依次进行 N-1次划分, N为所述 符号集合的基数;

将排序后的符号频数集合中的排序在首位的频 数、 排序在第 X位的频数, 及位于排序在首位和第 X位之间的所有频数, 作为第 X次划分得到的第一频数 子集合, 其中, X为大于等于 1小于等于 N-1的正整数;

将排序后的符号频数集合中的排序在末位的频 数,及排序在末位和第 X位 之间的所有频数, 作为所述第 X次划分得到的第二频数子集合;

计算针对每一次划分得到的第一频数子集合包 括的所有频数之和, 与第 二频数子集合包括的所有频数之和之间的差值 ;

将最小差值对应划分方式下划分得到的第一频 数子集合与第二频数子集 合, 作为对所述符号频数集合划分, 得到的两个频数子集合。

结合第二方面的第四至第七种可能的实现方式 , 在第八种可能的实现方 式中, 所述第一计算单元在计算指定数目个符号釆用 所述哈夫曼编码方式表 达时的预期编码长度时, 具体为:

针对该任意一频数子集合中包含的任意一频数 , 分别执行:

确定该任意一频数所在频数子集合对应的递归 划分级数;

根据确定出的递归划分级数和所述任意一频数 所在频数子集合的基数, 计算该频数所对应的符号釆用所述哈夫曼编码 方式表达时所需要的预期位 长;

将计算出的预期位长与该任意一频数的乘积, 作为该任意一频数数目个 符号, 釆用所述哈夫曼编码方式表达时的预期编码长 度;

将计算出的该任意一频数子集合中的所有频数 之和的数目个符号, 釆用 所述哈夫曼编码方式表达时的总预期编码长度 , 作为指定数目个符号釆用所 述哈夫曼编码方式表达时的预期编码长度。

结合第二方面, 或者第二方面的第一至第八种可能的实现方式 , 在第九 种可能的实现方式中, 所述待压缩数据的数据类型为二进制数据, 所述获取 单元获取的相关指标还包括游标集合的基数、 游标位长、 最大游程; 及每一组连续重复出现的符号中的任意一符号 ;

所述游标集合的基数为所述游标集合中的所有 符号的个数;

所述游标位长为所述游标集合中的任意一游标 的空间开销, 其中, 所述 游标集合中包含的各游标的位长均相等;

所述游程集合包括的游程为所述游标集合包括 的游标在所述符号序列中 的对应位置连续出现的次数;

所述最大游程为各游标分别在所述符号序列中 的对应位置连线出现的次 数中的最大值。

结合第二方面的第九种可能的实现方式, 在第十种可能的实现方式中, 所述第一计算单元具体用于:

计算所述最大游程釆用所述游程编码方式表达 时所需要的位长, 其中, 所述游程集合中的每一个游程釆用所述游程编 码方式表达时所需要的位长, 与所述最大游程釆用所述游程编码方式表达时 所需要的位长均相等;

将计算出的所述最大游程釆用所述游程编码方 式表达时所需的位长, 与 所述游标集合的基数的乘积, 作为计算出的所有游程釆用所述游程编码方式 表达所需要的位长;

将所述游标位长与所述游标集合的基数的乘积 , 作为计算出的所有游标 的位长;

确定计算得到的所有游标的位长, 与计算得到的所有游程釆用所述游程 编码方式表达所需要的位长之和;

将所述位长之和作为第三预期编码长度, 其中, 所述第三预期编码长度 为将所述待压缩数据釆用所述游程编码方式编 码得到的预期编码长度。

本发明有益效果如下:

现有技术中, 在计算数据的预期压缩率时, 是根据符号的频数的标准差, 或者, 根据连续符号的异或值和差值的标准差进行计 算的, 而符号的频数的 标准差, 或者, 连续符号的异或值和差值的标准差与压缩率的 相关性较小, 因此, 目前计算数据的预期压缩率的方法存在准确度 较低的缺点, 本发明实 施例中, 提出一种计算数据的预期压缩率的方法: 将待压缩数据解析为符号 序列, 并获取符号序列的相关指标; 其中, 相关指标用于表征符号序列中的 符号的分布规律; 根据相关指标计算将待压缩数据釆用指定编码 方式编码后 的预期编码长度, 并将计算得到的预期编码长度与待压缩数据的 初始长度的 比值, 作为待压缩数据的预期压缩率, 在该方案中, 是用表征符号序列中的 符号的分布规律的相关指标来计算数据的预期 压缩率的, 表征符号序列中的 符号的分布规律的相关指标与数据的预期压缩 率相关性较高, 且计算过程考 虑了压缩编码方法的技术特点, 因此, 解决了当前计算数据预期压缩率的方 法中存在的准确度较低的缺陷。 附图说明

图 1为本发明实施例中计算数据的预期压缩率的 细流程图;

图 2为本发明实施例中计算数据的预期压缩率的 施例;

图 3为本发明实施例中计算数据的预期压缩率的 置的功能结构示意图; 图 4为本发明实施例中计算数据的预期压缩率的 置的实体结构示意图。 具体实施方式

为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前 提下所获 得的所有其他实施例, 都属于本发明保护的范围。

另外, 本文中术语"系统,,和"网络"在本文中常被可 互换使用。本文中术语 "和 /或", 仅仅是一种描述关联对象的关联关系, 表示可以存在三种关系, 例 如, A和 /或 B, 可以表示: 单独存在 A, 同时存在 A和 B, 单独存在 B这三 种情况。 另外, 本文中字母 "/" , 一般表示前后关联对象是一种 "或" 的关系。

现有技术中, 在数据压缩之前, 先要判定待压缩的数据是否适合进行压 缩处理, 并根据判定结果确定是否对数据进行压缩, 数据的可压缩性根本上 取决于其数据自身的冗余特征, 现有过程在计算数据的预期压缩率时, 是根 据符号的频数的标准差, 或者, 根据连续符号的异或值和差值的标准差进行 计算的, 而符号的频数的标准差, 或者, 连续符号的异或值和差值的标准差 与预期压缩率的相关性较小, 因此, 目前的计算数据的预期压缩率的方法存 在准确度较低的缺点, 为了解决当前计算数据的预期压缩率的方法中 存在的 准确度较低的缺陷, 本发明实施例中, 提出一种计算数据的预期压缩率的方 法, 该方法中: 将待压缩数据解析为符号序列, 并获取符号序列的相关指标; 其中, 相关指标用于表征符号序列中的符号的分布规 律; 根据相关指标, 计 算将待压缩数据釆用指定编码方式编码后的预 期编码长度, 并将计算得到的 预期编码长度与待压缩数据的初始长度的比值 作为待压缩数据的预期压缩 率, 在该方案中, 用表征符号序列中的符号的分布规律的相关指 标来计算数 据的预期压缩率, 表征符号序列中的符号的分布规律的相关指标 与数据的预 期压缩率相关性较高, 因此, 解决了现在在计算数据的预期压缩率的过程中 存在的准确度较低的缺陷。

下面结合说明书附图对本发明优选的实施方式 进行详细说明, 应当理解, 此处所描述的优选实施例仅用于说明和解释本 发明, 并不用于限定本发明, 并且在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互 组合。

下面结合附图对本发明优选的实施方式进行详 细说明。

参阅图 1 所示, 本发明实施例中, 计算数据的预期压缩率的详细流程如 下: 步骤 100: 将待压缩数据解析为符号序列;

步骤 110: 获取符号序列的相关指标, 其中, 相关指标用于表征符号序列 中的符号的分布规律;

步骤 120: 根据相关指标, 计算将待压缩数据釆用指定编码方式编码后的 预期编码长度;

步骤 130: 将计算得到的预期编码长度与待压缩数据的初 始长度的比值, 作为待压缩数据的预期压缩率。

本发明实施例中, 相关指标有多种形式, 可选的, 可以包括符号集合的 基数和 /或符号频数集合;

其中, 符号集合包括符号序列中出现的所有符号, 且符号集合中的任意 两个符号均不相同;

符号集合的基数为符号集合中的所有符号的个 数;

符号频数集合中的频数为符号集合中的各符号 分别在符号序列中出现的 次数。

如,符号序列为( ABBCCCDDDDEEEEEFFFFFFGGGGGGGACAEAG ) , 则这个符号序列的符号集合为 (ABCDEFG ) , 符号频数集合为 (4244668 ) , 其中, 位于第 1位的频数 4为符号 A在符号序列中出现的次数, 位于第 2位的频 数 2为符号 B在符号序列中出现的次数,位于第 3位的频数 4为符号 C在符号序列 中出现的次数, 位于第 4位的频数 5为符号 D在符号序列中出现的次数, 位于第 5位的频数 6为符号 E在符号序列中出现的次数, 位于第 6位的频数 6为符号 F在 符号序列中出现的次数, 位于第 7位的频数 8为符号 G在符号序列中出现的次 数。

本发明实施例中, 根据相关指标, 计算将待压缩数据釆用指定编码方式 编码后的预期编码长度的方式有多种, 可选的, 可以釆用如下方式:

根据符号集合的基数, 计算符号集合所包括的任意一符号釆用定长编 码 方式表达时所需要的位长, 其中, 符号集合中的每一个符号釆用定长编码方 式表达时所需要的位长均相等; 确定计算出的位长与符号频数集合中包括的所 有频数之和的乘积; 将确定的乘积作为第一预期编码长度, 其中, 第一预期编码长度为将待 压缩数据釆用定长编码方式编码后得到的预期 编码长度;

如,符号序列为( ABBCCCDDDDEEEEEFFFFFFGGGGGGGACAEAG ) , ( ABCDEFG )为符号集合, 釆用定长编码对符号序列进行编码时, 编码后的 每一个符号所占的位长是相等的, 也就是说, 符号 A、 符号 B、 符号 C、 符号 D、 符号 E、 符号 F、 符号 G釆用定长编码方式表达时, 所占的位长都是相等 的, 其中, 在确定符号集合中的任意一符号釆用定长编码 方式表达所占的位 长时, 可以釆用公式一来实现:

η = Γΐο β2 Νΐ (公式一)

其中, n为任意一符号釆用定长编码方式表达所占的 长;

「1表示向上取整;

N为符号集合的基数。

例 口, log 2 N = 7.2, 则 n = riog 2 Nl = 8。

上述实施例过程中, 将待压缩数据釆用定长编码方式编码得到的第 一预 期编码长度为 34与 「lo g2 7l的乘积。

当然, 根据相关指标, 计算将待压缩数据釆用指定编码方式编码后的 预 期编码长度时, 还可以釆用如下方式:

通过对符号频数集合进行递归划分, 计算第二预期编码长度, 其中, 第 二预期编码长度为将待压缩数据釆用哈夫曼编 码方式编码后的预期编码长 度。

本发明实施例中, 通过对符号频数集合进行递归划分, 计算第二预期编 码长度的方式有多种, 可选的, 可以釆用如下方式:

确定符号集合的基数大于或者等于预设划分门 限值时, 将符号频数集合 进行递归划分, 获取递归划分完成后得到的至少两个频数子集 合;

针对至少两个频数子集合中的任意一频数子集 合, 计算指定数目个符号 釆用哈夫曼编码方式表达时的预期编码长度, 其中, 指定数目为该任意一频 数子集合中包括的所有频数之和;

将针对每一个频数子集合分别计算出的预期编 码长度相加, 得到预期编 码长度之和;

将预期编码长度之和, 作为第二预期编码长度。

例如, 符号频数集合为 (4、 2、 2、 2、 1、 1、 1 ), 对符号频数集合釆用 递归划分进行划分, 递归划分完成后, 得到 4个频数子集合: 频数子集合 1 (4、 2)、 频数子集合 2 (2、 2)、 频数子集合 3 (1)、 频数子集合 4 ( 1、 1 ), 针对频数子集合 1 , 计算釆用哈夫曼编码表达频数子集合 1 (4、 2 )对应的 6 个符号时的预期编码长度 1, 针对 4个频数子集合中的其他三个频数子集合: 频数子集合 2 (2、 2)、 频数子集合 3 ( 1)、 频数子集合 4 ( 1、 1 ), 都按照针 对频数子集合 1的计算过程计算相应的预期编码长度 2、 预期编码长度 3、 预 期编码长度 4, 并计算预期编码长度 1、 预期编码长度 2、 预期编码长度 3、 预期编码长度 4的相加之和, 并将相加之和作为第二预期编码长度。

本发明实施例中, 将符号频数集合进行递归划分, 获取递归划分完成后 得到的至少两个频数子集合的方式有多种, 可选的, 可以釆用如下方式: 对划分得到的每个频数子集合重复执行下述划 分处理, 直至划分得到的 频数子集合的基数小于预设基数门限值时, 或者直至递归划分级数达到预设 级数门限值时, 停止划分:

对符号频数集合进行划分, 得到两个频数子集合;

针对每个频数子集合, 确定出该频数子集合的基数大于或者等于预设 基 数门限值, 或者递归划分级数大于或者等于预设级数门限 值时, 对该频数子 集合返回继续执行划分处理。

例如, 符号频数集合为 (4、 3、 3、 3、 2、 2、 2、 1、 1、 1 ) , 第一次划 分得到两个频数子集合, 也就是一级划分得到两个频数子集合: (4、 3、 3) 、 (3、 2、 2、 2、 1、 1、 1 ) , 然后进行第二次划分, 将(4、 3、 3) 划分为两 个频数子集合: (4) 、 (3、 3) , 将(3、 2、 2、 2、 1、 1、 1 ) 划分为两个 频数子集合: (3、 2) 、 (2、 2、 1、 1、 1 ) , 也就是二级划分得到四个频数 子集合: (4) 、 (3、 3) 、 (3、 2) 、 (2、 2、 1、 1、 1 ) , 假设(4) 、 (3、 3) 、 (3、 2) 、 (2、 2、 1、 1、 1 ) 均不能再划分, 此时, 递归划分完成, 则将符号频数集合进行递归划分, 获取递归划分完成后得到的至少两个频数 子集合为: (4) 、 (3、 3) 、 (3、 2) 、 (2、 2、 1、 1、 1 ) ; 若其中 (2、 2、 1、 1、 1 )还能再划分为 (2、 2) 、 (1、 1、 1 ) , 也就是三级划分得到两 个频数子集合: (2、 2) 、 (1、 1、 1 ) , 此时, 递归划分完成, 则将符号频 数集合进行递归划分, 获取递归划分完成后得到的至少两个频数子集 合为: (4) 、 (3、 3) 、 (3、 2) 、 (2、 2) 、 (1、 1、 1 ) 。

本发明实施例中, 对符号频数集合进行划分, 得到两个频数子集合的方 式有多种, 可选的, 可以釆用如下方式:

确定对符号频数集合进行划分的所有划分方式 ;

针对每种划分方式, 分别执行:

釆用该划分方式对符号频数集合进行划分, 得到两个频数子集合; 判定得到的两个频数子集合中的第一频数子集 合中包括的任意一频数, 是否均大于或者等于得到的两个频数子集合中 的第二频数子集合中包括的任 意一频数;

从所有划分方式中确定出指定划分方式, 其中, 指定划分方式中的任意 一种划分方式下得到的两个频数子集合中的第 一频数子集合中包括的任意一 频数, 均大于或者等于得到的两个频数子集合中的第 二频数子集合中包括的 任意一频数;

针对指定划分方式中的每种划分方式, 计算该划分方式下得到的两个频 数子集合中的第一频数子集合包括的所有频数 之和与第二频数子集合包括的 所有频数之和之间的差值;

从得到的所有差值中, 确定出最小差值;

将该最小差值对应的划分方式下划分得到的两 个频数子集合, 作为对符 号频数集合进行划分, 得到的两个频数子集合。

本发明实施例中, 对符号频数集合进行划分, 得到两个频数子集合, 具 体包括:

将符号频数集合中包括的所有频数进行排序;

将排序后的符号频数集合, 按照如下规则依次进行 N-1次划分, N为符号 集合的基数;

将排序后的符号频数集合中的排序在首位的频 数、 排序在第 X位的频数, 及位于排序在首位和第 X位之间的所有频数, 作为第 X次划分得到的第一频数 子集合, 其中, X为大于等于 1小于等于 N-1的正整数;

将排序后的符号频数集合中的排序在末位的频 数,及排序在末位和第 X位 之间的所有频数, 作为第 X次划分得到的第二频数子集合;

计算针对每一次划分得到的第一频数子集合包 括的所有频数之和, 与第 二频数子集合包括的所有频数之和之间的差值 ;

将最小差值对应划分方式下划分得到的第一频 数子集合与第二频数子集 合, 作为对符号频数集合划分, 得到的两个频数子集合。

本发明实施例中, 计算指定数目个符号釆用哈夫曼编码方式表达 时的预 期编码长度的方式有多种, 可选的, 可以釆用如下方式:

针对该任意一频数子集合中包含的任意一频数 , 分别执行:

确定该任意一频数所在频数子集合对应的递归 划分级数;

根据确定出的递归划分级数和该任意一频数所 在频数子集合的基数, 计 算该频数所对应的符号釆用哈夫曼编码方式表 达时所需要的预期位长;

将计算出的预期位长与该任意一频数的乘积, 作为该任意一频数数目个 符号, 釆用哈夫曼编码方式表达时的预期编码长度;

将计算出的该任意一频数子集合中的所有频数 之和的数目个符号, 釆用 哈夫曼编码方式表达时的总预期编码长度, 作为指定数目个符号釆用哈夫曼 编码方式表达时的预期编码长度。

本发明实施例中, 根据确定出的递归划分级数和任意一频数所在 频数子 集合的基数, 计算该频数所对应的符号釆用哈夫曼编码方式 表达时所需要的 预期位长的方式有多种, 可选的, 可以釆用如下方式: 将确定出的递归划分级数作为该频数所对应的 符号釆用哈夫曼编码方式 表达时所需要的第一位长;

根据任意一频数所在频数子集合的基数, 计算该频数所对应的符号釆用 哈夫曼编码方式表达时所需要的第二位长;

将计算得出的第一位长和第二位长之和, 作为该频数所对应的符号釆用 哈夫曼编码方式表达时所需要的预期位长。

例如: 递归划分级数为 3 , 则第一位长为 3。

在根据任意一频数所在频数子集合的基数, 计算该频数所对应的符号釆 用哈夫曼编码方式表达时所需要的第二位长时 , 可以釆用公式一进行计算, 在釆用公式一具体计算时, N为任意一频数所在频数子集合的基数, n为第二 位长。

本发明实施例中, 待压缩数据的数据类型为二进制数据, 相关指标还包 括游标集合的基数、 游标位长、 最大游程;

其中, 游标集合包括符号序列中与相邻的符号均不相 同的符号, 及每一 组连续重复出现的符号中的任意一符号;

游标集合的基数为游标集合中的所有符号的个 数;

游标位长为游标集合中的任意一游标的空间开 销, 其中, 游标集合中包 含的各游标的位长均相等;

游程集合包括的游程为游标集合包括的游标在 符号序列中的对应位置连 续出现的次数。

最大游程为各游标分别在符号序列中的对应位 置连续出现的次数中的最 大值。

也就是说, 本发明实施例中, 游标为在符号序列中与之前的相邻的符号 不同的符号, 其中, 不相邻的游标可以是相同符号; 游程为游标连续重复出 现的次数; 符号集合由符号序列中出现过的符号构成, 且符号集合中的任意 两个符号均不相同。

例如, 符号序列为 ( ABBCCCDDDDEEEEEFFFFFFGGGGGGGACAEAG ) , 游标集合为

( ABCDEFGACAEAG ) , 处于游标集合中的第 1位的游标 A的游程为 1 , 处于 游标集合中的第 2位的游标 Β的游程为 2 ,处于游标集合中的第 3位的游标 C的游 程为 3 , 处于游标集合中的第 4位的游标 D的游程为 4, 处于游标集合中的第 5 位的游标 Ε的游程为 5 , 处于游标集合中的第 6位的游标 F的游程为 6 , 处于游标 集合中的第 7位的游标 G的游程为 7 , 处于游标集合中的第 8位的游标 Α的游程 为 1 , 处于游标集合中的第 9位的游标 C的游程为 1 , 处于游标集合中的第 10位 的游标 A的游程为 1 , 处于游标集合中的第 11位的游标 E的游程为 1 , 处于游标 集合中的第 12位的游标 A的游程为 1 , 处于游标集合中的第 13位的游标 G的游 程为 1。

此时, 在根据相关指标, 计算将待压缩数据釆用指定编码方式编码后的 预期编码长度时, 可以釆用如下方式:

计算最大游程釆用游程编码方式表达时所需要 的位长, 其中, 游程集合 中的每一个游程釆用游程编码方式表达时所需 要的位长, 与最大游程釆用游 程编码方式表达时所需要的位长均相等;

将计算出的最大游程釆用游程编码方式表达时 所需的位长, 与游标集合 的基数的乘积, 作为计算出的所有游程釆用游程编码方式表达 所需要的位长; 将游标位长与游标集合的基数的乘积, 作为计算出的所有游标的位长; 确定计算得到的所有游标的位长, 与计算得到的所有游程釆用游程编码 方式表达所需要的位长之和;

将位长之和作为第三预期编码长度, 其中, 第三预期编码长度为将待压 缩数据釆用游程编码方式编码得到的预期编码 长度。

本发明实施例中, 计算最大游程釆用游程编码方式表达时所需要 的位长 时, 可以釆用公式一进行计算, 此时, N 为最大游程, 如符号序列为 ABBCCCDDDDEEEEEFFFFFFGGGGGGGACAEAG, 此时, 最大游程为 7, 则每一个游程釆用游程编码方式表达时所需要 的位长为「lo g2 7l 。

本发明实施例中, 在将计算得到的预期编码长度与待压缩数据的 初始长 度的比值, 作为待压缩数据的预期压缩率时, 可以釆用如下方式: 确定符号序列包括的任意一符号的预设长度, 其中, 符号序列包括的各 符号的预设长度均相等;

将确定出的预设长度与符号频数集合包括的所 有频数之和的乘积, 作为 待压缩数据的初始长度;

将计算得到的第一预期编码长度与初始长度的 比值, 作为待压缩数据的 第一预期压缩率; 或者

将计算得到的第二预期编码长度与初始长度的 比值, 作为待压缩数据的 第二预期压缩率; 或者

将计算得到的第三预期编码长度与初始长度的 比值, 作为待压缩数据的 第三预期压缩率。

本发明实施例中, 在将计算得到的预期编码长度与待压缩数据的 初始长 度的比值, 作为待压缩数据的预期压缩率之后, 还包括如下操作:

确定预期压缩率达到压缩率预设门限值时, 对待压缩数据釆用指定编码 方式进行压缩处理。

本发明实施例中, 确定预期压缩率达到压缩率预设门限值时, 对待压缩 数据釆用指定编码方式进行压缩处理时, 可选的, 可以釆用如下方式:

确定第一预期压缩率达到压缩率预设门限值时 , 对待压缩数据釆用定长 编码方式进行压缩处理; 或者

确定第二预期压缩率达到压缩率预设门限值时 , 对待压缩数据釆用哈夫 曼编码方式进行压缩处理; 或者

确定第三预期压缩率达到压缩率预设门限值时 , 对待压缩数据釆用游程 编码方式进行压缩处理。

本发明实施例中, 在根据相关指标, 计算将待压缩数据釆用指定编码方 式编码后的预期编码长度之后, 还包括如下操作:

根据符号集合的基数, 计算游标集合所包括的任意一符号釆用定长编 码 方式表达时所需要的位长; 确定计算出的位长与游标集合基数的乘积, 将乘积作为第四预期编码长 度, 其中, 第四预期编码长度为将游标集合釆用定长编码 方式编码得到的预 期编码长度;

确定游标集合包括的任意一游标的预设长度, 其中, 游标集合包括的每 一个游标的预设长度均相等;

将确定出的预设长度与游标集合的基数的乘积 , 作为游标集合的初始长 度;

将计算得到的第四预期编码长度与游标集合的 初始长度的比值, 作为游 标集合的预期压缩率。

本发明实施例中, 确定预期压缩率达到压缩率预设门限值时, 对待压缩 数据釆用指定编码方式进行压缩处理时, 可选的, 可以釆用如下操作:

计算所有游标釆用游程编码方式表达时所需要 的位长与第三预期编码长 度的比值;

确定第三预期压缩率、 比值及游标集合的预期压缩率的乘积, 达到压缩 率预设门限值时, 对待压缩数据釆用游程编码方式和定长编码方 式进行压缩 处理。

本发明实施例中, 在根据相关指标, 计算将待压缩数据釆用指定编码方 式编码后的预期编码长度之后, 还包括如下操作:

确定游标集合的符号频数集合;

通过对确定出的游标集合的符号频数集合进行 递归划分, 计算第五预期 编码长度, 其中, 第五预期编码长度为将游标集合釆用哈夫曼编 码方式编码 后的预期编码长度;

确定游标集合包括的任意一游标的预设长度, 其中, 游标集合包括的每 一个游标的预设长度均相等;

将确定出的预设长度与游标集合的基数的乘积 , 作为游标集合的初始长 度;

将计算得到的第五预期编码长度与游标集合的 初始长度的比值, 作为游 标集合的预期压缩率。

本发明实施例中, 确定预期压缩率达到压缩率预设门限值时, 对待压缩 数据釆用指定编码方式进行压缩处理时, 可选的, 可以釆用如下方式:

确定计算得到的所有游标釆用游程编码方式表 达时所需要的位长与第三 预期编码长度的比值;

确定第三预期压缩率、 比值及游标集合的预期压缩率的乘积, 达到压缩 率预设门限值时, 对待压缩数据釆用游程编码方式和哈夫曼编码 方式进行压 缩处理。

本发明实施例中, 待压缩数据的数据类型为文本数据时, 相关指标还包 括符号对集合的基数和 /或符号对频数集合;

其中, 符号对集合包括符号序列中出现的符号对所组 成的集合, 且符号 对集合中的任意两个符号对均不相同, 任意一个符号对为在符号序列中任意 两个相邻的符号;

符号对集合的基数为符号对集合所含符号对的 个数;

符号对频数集合包括符号对集合中的各个符号 对在符号序列中分别出现 的次数。

本发明实施例中, 根据相关指标, 计算将待压缩数据釆用指定编码方式 编码后的预期编码长度时, 可选的, 可以釆用如下方式:

根据符号对集合的基数, 计算符号对集合所包括的任意一符号对釆用定 长编码方式表达时所需要的位长;

确定计算出的位长与符号对频数集合中包括的 所有频数之和的乘积; 将乘积作为第六预期编码长度, 其中, 第六预期编码长度为将待压缩数 据釆用定长编码方式编码后的预期编码长度;

其中, 符号对集合中的每一个符号对釆用定长编码方 式表达时所需要的 位长均相等。

本发明实施例中, 根据相关指标, 计算将待压缩数据釆用指定编码方式 编码后的预期编码长度的方式有多种, 可选的, 可以釆用如下方式: 通过对符号对频数集合进行递归划分, 计算第七预期编码长度, 其中, 第七预期编码长度为将待压缩数据釆用哈夫曼 编码方式编码后的预期编码长 度。

本发明实施例中, 通过对符号对频数集合进行递归划分, 计算第七预期 编码长度的方式有多种, 可选的, 可以釆用如下方式:

确定符号对集合的基数大于或者等于预设划分 门限值时, 将符号对频数 集合进行递归划分, 获取递归划分完成后得到的至少两个频数子集 合;

针对至少两个频数子集合中的任意一频数子集 合, 计算指定数目个符号 对釆用哈夫曼编码方式表达时的预期编码长度 , 其中, 指定数目为该任意一 频数子集合中包括的所有频数之和;

将针对每一个频数子集合分别计算出的预期编 码长度相加, 得到预期编 码长度之和;

将预期编码长度之和, 作为第七预期编码长度。

本发明实施例中, 将符号对频数集合进行递归划分, 获取递归划分完成 后得到的至少两个频数子集合的方式有多种, 可选的, 可以釆用如下方式: 对划分得到的每个频数子集合重复执行下述划 分处理, 直至划分得到的 频数子集合的基数小于预设基数门限值时, 或者直至递归划分级数达到预设 级数门限值时, 停止划分:

对符号对频数集合进行划分, 得到两个频数子集合;

针对每个频数子集合, 确定出该频数子集合的基数大于或者等于预设 基 数门限值, 或者递归划分级数大于或者等于预设级数门限 值时, 对该频数子 集合返回继续执行划分处理。

本发明实施例中, 对符号对频数集合进行划分, 得到两个频数子集合的 方式有多种, 可选的, 可以釆用如下方式:

确定对符号对频数集合进行划分的所有划分方 式;

针对每种划分方式, 分别执行:

釆用该划分方式对符号对频数集合进行划分, 得到两个频数子集合; 判定得到的两个频数子集合中的第一频数子集 合中包括的任意一频数, 是否均大于或者等于得到的两个频数子集合中 的第二频数子集合中包括的任 意一频数;

从所有划分方式中确定出指定划分方式, 其中, 指定划分方式中的任意 一种划分方式下得到的两个频数子集合中的第 一频数子集合中包括的任意一 频数, 均大于或者等于得到的两个频数子集合中的第 二频数子集合中包括的 任意一频数;

针对指定划分方式中的每种划分方式, 计算该划分方式下得到的两个频 数子集合中的第一频数子集合包括的所有频数 之和与第二频数子集合包括的 所有频数之和之间的差值;

从得到的所有差值中, 确定出最小差值;

将该最小差值对应的划分方式下划分得到的两 个频数子集合, 作为对符 号对频数集合进行划分, 得到的两个频数子集合。

本发明实施例中, 对符号对频数集合进行划分, 得到两个频数子集合的 方式有多种, 可选的, 可以釆用如下方式:

将符号对频数集合中包括的所有频数进行排序 ;

将排序后的符号对频数集合, 按照如下规则依次进行 N-1次划分, N为符 号对集合的基数;

将排序后的符号对频数集合中的排序在首位的 频数、 排序在第 X位的频 数, 及位于排序在首位和第 X位之间的所有频数, 作为第 X次划分得到的第一 频数子集合, 其中, X为大于等于 1小于等于 N-1的正整数;

将排序后的符号对频数集合中的排序在末位的 频数,及排序在末位和第 X 位之间的所有频数, 作为第 X次划分得到的第二频数子集合;

计算针对每一次划分得到的第一频数子集合包 括的所有频数之和, 与第 二频数子集合包括的所有频数之和之间的差值 ;

将最小差值对应划分方式下划分得到的第一频 数子集合与第二频数子集 合, 作为对符号对频数集合划分, 得到的两个频数子集合。 本发明实施例中, 计算指定数目个符号对釆用哈夫曼编码方式表 达时的 预期编码长度的方式有多种, 可选的, 可以釆用如下方式:

针对该任意一频数子集合中包含的任意一频数 , 分别执行:

确定该任意一频数所在的频数子集合对应的递 归划分级数;

根据确定出的递归划分级数和任意一频数所在 的频数子集合的基数, 计 算该频数所对应的符号对釆用哈夫曼编码方式 表达时所需要的预期位长; 将计算出的预期位长与该任意一频数的乘积, 作为该任意一频数数目个 符号对, 釆用哈夫曼编码方式表达时的预期编码长度;

将计算出的该任意一频数子集合中的所有频数 之和的数目个符号对, 釆 用哈夫曼编码方式表达时的总预期编码长度, 作为指定数目个符号对釆用哈 夫曼编码方式表达时的预期编码长度。

本发明实施例中, 根据确定出的递归划分级数和任意一频数所在 频数子 集合的基数, 计算该频数所对应的符号对釆用哈夫曼编码方 式表达时所需要 的预期位长的方式有多种, 可选的, 可以釆用如下方式:

将确定出的递归划分级数作为该频数所对应的 符号对釆用哈夫曼编码方 式表达时所需要的第一位长;

根据任意一频数所在频数子集合的基数, 计算该频数所对应的符号对釆 用哈夫曼编码方式表达时所需要的第二位长;

将计算得出的第一位长和第二位长之和, 作为该频数所对应的符号对釆 用哈夫曼编码方式表达时所需要的预期位长。

例如: 递归划分级数为 3 , 则第一位长为 3。

在根据任意一频数所在频数子集合的基数, 计算该频数所对应的符号对 釆用哈夫曼编码方式表达时所需要的第二位长 时, 可以釆用公式一进行计算, 在釆用公式一具体计算时, N为任意一频数所在频数子集合的基数, n为第二 位长。

本发明实施例中, 将计算得到的预期编码长度与待压缩数据的初 始长度 的比值, 作为待压缩数据的预期压缩率的方式有多种, 可选的, 可以釆用如 下方式:

确定符号集合的基数数目个符号所能构成的符 号对数量;

计算表达确定出的符号对数量个符号对所需的 第一位长;

计算表达符号对频数集合包括的所有频数之和 个符号对所需的第二位 长;

将第一位长和第二位长中的最小值与符号对频 数集合包括的所有频数之 和的乘积, 作为待压缩数据的初始长度;

将计算得到的第六预期编码长度与初始长度的 比值, 作为待压缩数据的 第六预期压缩率; 或者

将计算得到的第七预期编码长度与初始长度的 比值, 作为待压缩数据的 第七预期压缩率。

本发明实施例中, 计算表达确定出的符号对数量个符号对所需的 第一位 长时, 可以釆用公式一, 此时, N为符号对数量, n为第一位长。

本发明实施例中, 计算表达符号对频数集合包括的所有频数之和 个符号 对所需的第二位长时, 也可以釆用公式一, 此时, N 为符号对频数集合包括 的所有频数之和, n为第二位长。

例如, 符号集合的基数为 9 , 则 9个符号所构成的符号对数量为 81 , 则 第一位长 nl为「log 2 8l1 , 符号对频数集合包括的所有频数之和为 46 , 则第二 位长 n2为「log 2 46l, 由于 nl 大于 n2,则将 n2与 46的乘积作为待压缩数据的 初始长度。

本发明实施例中, 将计算得到的预期编码长度与待压缩数据的初 始长度 的比值, 作为待压缩数据的预期压缩率之后, 还包括如下操作:

确定预期压缩率达到压缩率预设门限值时, 对待压缩数据釆用指定编码 方式进行压缩处理。

本发明实施例中, 确定预期压缩率达到压缩率预设门限值时, 对待压缩 数据釆用指定编码方式进行压缩处理的方式有 多种, 可选的, 可以釆用如下 方式: 确定第六预期压缩率达到压缩率预设门限值时 , 对待压缩数据釆用定长 编码方式进行压缩处理; 或者

确定第七预期压缩率达到压缩率预设门限值时 , 对待压缩数据釆用哈夫 曼编码方式进行压缩处理。

本发明实施例中, 确定的符号序列包括的任意一符号的预设长度 可以是 预设的长度如 1字节, 也可以是 2字节, 当然, 还可以随着其他应用场景而 变化, 在此不再进行——详述。

为了更好地理解本发明实施例, 以下给出具体应用场景, 针对计算数据 的预期压缩率的过程, 作出进一步详细描述, 如图 2所示:

步骤 200: 将待压缩数据解析为符号序列( ABBDDEEEEFFFFFFABAC ); 步骤 210: 获取符号序列的相关指标, 其中, 相关指标用于表征符号序列 中的符号的分布规律;

在该步骤中, 相关指标包括符号集合的基数, 其中, 符号集合为 ( ABCDEF ), 符号集合的基数为 6, 符号频数集合为 (3 , 3 , 1 , 2, 4, 6 )。

步骤 220: 根据符号集合的基数 6, 计算符号集合(ABCDEF )所包括的 任意一符号釆用定长编码方式表达时所需要的 位长;

在该步骤中, 符号集合(ABCDEF ) 中的每一个符号釆用定长编码方式 表达时所需要的位长均相等, 也就是说, 符号 A、 符号 B、 符号 C、 符号 D、 符号 E、 符号 F釆用定长编码方式表达时所需要的位长均相 。

步骤 230: 确定计算出的位长与频数集合中包括的所有频 数之和 19的乘 积;

步骤 240: 将乘积作为第一预期编码长度, 其中, 第一预期编码长度为将 待压缩数据釆用定长编码方式编码得到的预期 编码长度;

步骤 250:将计算得到的第一预期编码长度与待压缩 据的初始长度的比 值, 作为待压缩数据的第一预期压缩率。

基于上述技术方案, 参阅图 3 所示, 本发明实施例提供一种计算数据的 预期压缩率的装置, 该计算数据的预期压缩率的装置包括解析单元 30、 获取 单元 31、 第一计算单元 32 , 及第二计算单元 33 , 其中:

解析单元 30 , 用于将待压缩数据解析为符号序列;

获取单元 31 , 用于获取符号序列的相关指标, 其中, 相关指标用于表征 符号序列中的符号的分布规律;

第一计算单元 32 , 用于根据相关指标, 计算将待压缩数据釆用指定编码 方式编码后的预期编码长度;

第二计算单元 33 , 用于将计算得到的预期编码长度与待压缩数据 的初始 长度的比值, 作为待压缩数据的预期压缩率。

本发明实施例中, 可选的, 获取单元 31获取的相关指标包括符号集合的 基数和 /或符号频数集合;

其中, 符号集合包括符号序列中出现的所有符号, 且符号集合中的任意 两个符号均不相同;

符号集合的基数为符号集合中的所有符号的个 数;

符号频数集合中的频数为符号集合中的各个符 号分别在符号序列中分别 出现的次数。

本发明实施例中, 可选的, 第一计算单元 32具体用于:

根据符号集合的基数, 计算符号集合所包括的任意一符号釆用定长编 码 方式表达时所需要的位长, 其中, 符号集合中的每一个符号釆用定长编码方 式表达时所需要的位长均相等;

确定计算出的位长与符号频数集合中包括的所 有频数之和的乘积; 将确定的乘积作为第一预期编码长度, 其中, 第一预期编码长度为将待 压缩数据釆用定长编码方式编码得到的预期编 码长度;

其中, 符号集合中的每一个符号釆用定长编码方式表 达时所需要的位长 均相等。

本发明实施例中, 可选的, 第一计算单元 32具体用于:

通过对符号频数集合进行递归划分, 计算第二预期编码长度, 其中, 第 二预期编码长度为将待压缩数据釆用哈夫曼编 码方式编码后的预期编码长 度。

本发明实施例中, 可选的, 第一计算单元 32在通过对符号频数集合进行 递归划分, 计算第二预期编码长度时, 具体为:

确定符号集合的基数大于或者等于预设划分门 限值时, 将符号频数集合 进行递归划分, 获取递归划分完成后得到的至少两个频数子集 合;

针对至少两个频数子集合中的任意一频数子集 合, 计算指定数目个符号 釆用哈夫曼编码方式表达时的预期编码长度, 其中, 指定数目为该任意一频 数子集合中包括的所有频数之和;

将针对每一个频数子集合分别计算出的预期编 码长度相加, 得到预期编 码长度之和;

将预期编码长度之和, 作为第二预期编码长度。

本发明实施例中, 可选的, 第一计算单元 32在将符号频数集合进行递归 划分, 获取递归划分完成后得到的至少两个频数子集 合时, 具体为:

对划分得到的每个频数子集合重复执行下述划 分处理, 直至划分得到的 频数子集合的基数小于预设基数门限值时, 或者直至递归划分级数达到预设 级数门限值时, 停止划分:

对符号频数集合进行划分, 得到两个频数子集合;

针对每个频数子集合, 确定出该频数子集合的基数大于或者等于预设 基 数门限值, 或者递归划分级数大于或者等于预设级数门限 值时, 对该频数子 集合返回继续执行划分处理。

本发明实施例中, 可选的, 第一计算单元 32在对符号频数集合进行划分, 得到两个频数子集合时, 具体为:

确定对符号频数集合进行划分的所有划分方式 ;

针对每种划分方式, 分别执行:

釆用该划分方式对符号频数集合进行划分, 得到两个频数子集合; 判定得到的两个频数子集合中的第一频数子集 合中包括的任意一频数, 是否均大于或者等于得到的两个频数子集合中 的第二频数子集合中包括的任 一频数;

从所有划分方式中确定出指定划分方式, 其中, 指定划分方式中的任意 一种划分方式下得到的两个频数子集合中的第 一频数子集合中包括的任意一 频数, 均大于或者等于得到的两个频数子集合中的第 二频数子集合中包括的 任意一频数;

针对指定划分方式中的每种划分方式, 计算该划分方式下得到的两个频 数子集合中的第一频数子集合包括的所有频数 之和与第二频数子集合包括的 所有频数之和之间的差值;

从得到的所有差值中, 确定出最小差值;

将该最小差值对应的划分方式下划分得到的两 个频数子集合, 作为对符 号频数集合进行划分, 得到的两个频数子集合。

本发明实施例中, 可选的, 第一计算单元 32在对符号频数集合进行划分, 得到两个频数子集合时, 具体为:

将符号频数集合中包括的所有频数进行排序;

将排序后的符号频数集合, 按照如下规则依次进行 N-1次划分, N为符号 集合的基数;

将排序后的符号频数集合中的排序在首位的频 数、 排序在第 X位的频数, 及位于排序在首位和第 X位之间的所有频数, 作为第 X次划分得到的第一频数 子集合, 其中, X为大于等于 1小于等于 N-1的正整数;

将排序后的符号频数集合中的排序在末位的频 数,及排序在末位和第 X位 之间的所有频数, 作为第 X次划分得到的第二频数子集合;

计算针对每一次划分得到的第一频数子集合包 括的所有频数之和, 与第 二频数子集合包括的所有频数之和之间的差值 ;

将最小差值对应划分方式下划分得到的第一频 数子集合与第二频数子集 合, 作为对符号频数集合划分, 得到的两个频数子集合。

本发明实施例中, 可选的, 第一计算单元 32在计算指定数目个符号釆用 哈夫曼编码方式表达时的预期编码长度时, 具体为: 针对该任意一频数子集合中包含的任意一频数 , 分别执行: 确定该任意一频数所在频数子集合对应的递归 划分级数;

根据确定出的递归划分级数和任意一频数所在 频数子集合的基数, 计算 该频数所对应的符号釆用哈夫曼编码方式表达 时所需要的预期位长;

将计算出的预期位长与该任意一频数的乘积, 作为该任意一频数数目个 符号, 釆用哈夫曼编码方式表达时的预期编码长度;

将计算出的该任意一频数子集合中的所有频数 之和的数目个符号, 釆用 哈夫曼编码方式表达时的总预期编码长度, 作为指定数目个符号釆用哈夫曼 编码方式表达时的预期编码长度。

本发明实施例中, 可选的, 待压缩数据的数据类型为二进制数据, 获取 单元 31获取的相关指标还包括游标集合的基数、 游标位长、 最大游程;

其中, 游标集合包括符号序列中与相邻的符号均不相 同的符号, 及每一 组连续重复出现的符号中的任意一符号;

游标集合的基数为游标集合中的所有符号的个 数;

游标位长为游标集合中的任意一游标的空间开 销, 其中, 游标集合中包 含的各游标的位长均相等;

游程集合包括的游程为游标集合包括的游标在 符号序列中的对应位置连 续出现的次数;

最大游程为各游标分别在符号序列中的对应位 置连线出现的次数中的最 大值。

本发明实施例中, 可选的, 第一计算单元 32具体用于:

计算最大游程釆用游程编码方式表达时所需要 的位长, 其中, 游程集合 中的每一个游程釆用游程编码方式表达时所需 要的位长, 与最大游程釆用游 程编码方式表达时所需要的位长均相等;

将计算出的最大游程釆用游程编码方式表达时 所需的位长, 与游标集合 的基数的乘积, 作为计算出的所有游程釆用游程编码方式表达 所需要的位长; 将游标位长与游标集合的基数的乘积, 作为计算出的所有游标的位长; 确定计算得到的所有游标的位长, 与计算得到的所有游程釆用游程编码 方式表达所需要的位长之和;

将位长之和作为第三预期编码长度, 其中, 第三预期编码长度为将待压 缩数据釆用游程编码方式编码得到的预期编码 长度。

如图 4所示, 为本发明实施例提供的网络接口卡的实体装置 图, 网络接口 卡包括至少一个处理器 401 , 通信总线 402, 存储器 403以及至少一个通信接口 404。

其中, 通信总线 402用于实现上述组件之间的连接并通信, 通信接口 404 用于与外部设备连接并通信。

其中, 存储器 403用于存储需要执行的程序代码, 当处理器 401执行存 储器 403中的程序代码时, 实现如下功能:

将待压缩数据解析为符号序列;

获取符号序列的相关指标, 其中, 相关指标用于表征符号序列中的符号 的分布规律;

根据相关指标, 计算将待压缩数据釆用指定编码方式编码后的 预期编码 长度;

将计算得到的预期编码长度与待压缩数据的初 始长度的比值, 作为待压 缩数据的预期压缩率。

综上所述, 本发明实施例中, 提出一种计算数据的预期压缩率的方法, 该方法中: 将待压缩数据解析为符号序列, 并获取符号序列的相关指标; 其 中, 相关指标用于表征符号序列中的符号的分布规 律; 根据相关指标计算将 待压缩数据釆用指定编码方式编码后的预期编 码长度, 并将计算得到的预期 编码长度与待压缩数据的初始长度的比值作为 待压缩数据的预期压缩率, 在 该方案中, 用表征符号序列中的符号的分布规律的相关指 标来计算数据的预 期压缩率的, 表征符号序列中的符号的分布规律的相关指标 与数据的预期压 缩率相关性较高, 因此, 解决了现在在计算数据的预期压缩率的过程中 存在 的准确度较低的缺陷。 本发明是参照根据本发明实施例的方法、 设备(系统) 、 和计算机程序 产品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程 图和 /或方框图中的每一流程和 /或方框、 以及流程图和 /或方框图中的流 程和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算 机、 嵌入式处理机或其他可编程数据处理设备的处 理器以产生一个机器, 使 得通过计算机或其他可编程数据处理设备的处 理器执行的指令产生用于实现 在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中的功能的 装置。

这些计算机程序指令也可存储在能引导计算机 或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器 中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个流程或 多个流程和 /或方框图一个方框或多个方框中的功能。

这些计算机程序指令也可装载到计算机或其他 可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列 操作步骤以产生计算机实现的 处理, 从而在计算机或其他可编程设备上执行的指令 提供用于实现在流程图 一个流程或多个流程和 /或方框图一个方框或多个方框中的功能的步 。

尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了 基本创造性概念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权 利要求意欲解释为包括优选实施例以及落入本 发明范围的所有变更和修改。 脱离本发明实施例的精神和范围。 这样, 倘若本发明实施例的这些修改和变 型属于本发明权利要求及其等同技术的范围之 内, 则本发明也意图包含这些 改动和变型在内。