【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于数据的无损压缩的系统和方法。
技术介绍
霍夫曼译码是用于无损数据压缩的一种熵编码算法(见D.A霍夫曼(D.A.Huffman),“用于构造最小冗余代码的方法(Amethodfortheconstructionofminimum-redundancycodes)”,Proc.IRE40(9),第1098-1101页,1952年)。霍夫曼译码是指使用可变长度代码表编码源文字(例如文件中的字符),其中已基于源文字的每个可能值的估计出现概率以特定方式导出可变长度代码表。霍夫曼译码使用特定的方法挑选每个文字的表示,从而得到前缀码(有时被称作“无前缀代码”,也就是说,表示一些特定文字的位串从不是表示任何其它文字的位串的前缀),其使用比用于较不常见的源文字更短的位串来表达最常见的源文字。霍夫曼能够设计这种类型的最高效的压缩方法:当实际文字频率与用于创建代码的文字频率一致时,没有其它个别源文字到唯一位串的映射将产生更小的平均输出大小。下文描述霍夫曼算法的伪代码。算法1:计算二进制霍夫曼码输入:N对(文字、计数/概率)的集合。输出:N对(文字,霍夫曼码)的集合。1-通过减小的计数将文字集合排序。2-选择2个最不可能的文字,并且分别向每个文字指派位0和1。3-通过为选定文字的计数求和的复合文字替代选定文字,并且将其重新顺序。4-当剩余的文字多于一个时,进行步骤到6。5-选择两个最不可能的文字,并且分别附加0和1。6-通过为选定文字的计数求和的复合文字替代选定文字,并且将其重新顺序。7-通过聚合位的级联给出每个文字的霍夫码。以上霍夫曼树在译码方案的实施方案中 ...
【技术保护点】
一种用于压缩的方法,其包括通过计算机系统执行:接收多个计数P(i),i=1到N,每个计数P(i)对应于数据集中的多个符号中的一个符号S(i),所述多个计数P(i)未排序;根据所述计数P(i)向N个中的每个符号S(i),i=1到N指派位长度而无需首先将所述计数P(i)排序,以获得第一规范霍夫曼码;以及使用所述第一规范霍夫曼码对所述数据集进行规范霍夫曼译码。
【技术特征摘要】
【国外来华专利技术】2014.06.09 US 14/299,9901.一种用于压缩的方法,其包括通过计算机系统执行:接收多个计数P(i),i=1到N,每个计数P(i)对应于数据集中的多个符号中的一个符号S(i),所述多个计数P(i)未排序;根据所述计数P(i)向N个中的每个符号S(i),i=1到N指派位长度而无需首先将所述计数P(i)排序,以获得第一规范霍夫曼码;以及使用所述第一规范霍夫曼码对所述数据集进行规范霍夫曼译码。2.根据权利要求1所述的方法,其中根据所述计数P(i)向每个符号S(i)指派所述位长度而无需首先将所述计数P(i)排序包括:向每个符号S(i)指派映射值I(i),所述映射值是依次向所述数据集中的每个符号S(i)指派的;确定所述多个计数P(i),i=1到N,每个计数对应于不同的符号S(i);(a)寻找所述多个符号S(i)中具有所述多个频率量度P(i)中的最低对应计数P(a)和P(b)的两个符号S(a)和S(b);(b)将所述计数P(a)和C(b)求和以获得总和Pt;(c)确定指派给符号S(a)和S(b)的所述映射值I(a)和I(b)中的较小映射值I(min)以及所述映射值I(a)和I(b)中的较大映射值I(max);(d)将I(max)中的一者改变成等于所述较小映射值I(min);(e)将对应于所述较小映射值I(min)的计数C(min)设置成等于Pt;(f)将对应于I(max)的计数C(max)设置成等于零;(g)递增对应于符号S(a)和S(b)的位长度L(a)和L(b);以及(h)重复(a)到(g),直到所有映射值I(i)等于零为止。3.根据权利要求1所述的方法,其进一步包括:将所有大于阈值的代码长度L(i)设置成等于所述阈值以获得第二规范霍夫曼码;确定基准代码,其是低于所述阈值的最大代码长度,其在逐一递增时,使得所述第二规范霍夫曼译码的溢流概率大于或等于一;使经调整的代码逐一递增以生成第三规范霍夫曼码,所述经调整的代码具有小于所述基准代码的长度;以及根据所述第三规范霍夫曼译码对所述数据文件进行霍夫曼译码。4.根据权利要求3所述的方法,其中生成所述第三规范霍夫曼译码进一步包括移动所述经调整的代码,使得对于对应于所述经调整的代码的所述文字,所述经调整的代码采用规范次序。5.根据权利要求4所述的方法,其中移动所述经调整的代码使得所述经调整的代码采用规范次序包括:将所述经调整的代码向右移位,直到所述经调整的代码采用规范次序为止,其中所述第三霍夫曼码的具有相等长度的代码长度按照字母顺序从左到右。6.一种用于压缩的方法,其包括通过计算机系统:生成数据文件中的多个文字的第一规范霍夫曼码,所述第一规范霍夫曼译码包含所述多个文字中的每个文字的代码长度,所述代码长度按照顺序布置;将所有大于阈值的代码长度设置成等于所述阈值以获得第二规范霍夫曼码;确定低于所述阈值的最大代码长度的基准代码,其在逐一递增时,使得所述第二规范霍夫曼译码的溢流概率大于或等于一;使经调整的代码逐一递增以生成第三规范霍夫曼码,所述经调整的代码具有小于所述基准代码的长度;以及根据所述第三规范霍夫曼译码对所述数据文件进行霍夫曼译码。7.根据权利要求6所述的方法,其中生成所述第三规范霍夫曼译码进一步包括移动所述经调整的代码,使得对于对应于所述经调整的代码的所述文字,所述经调整的代码采用规范次序。8.根据权利要求7所述的方法,其中移动所述经调整的代码使得所述经调整的代码采用规范次序包括:将所述经调整的代码向右移位,直到所述经调整的代码采用规范次序为止,其中所述第三霍夫曼码的具有相等长度的代码长度按照字母顺序从左到右。9.一种用于压缩的方法,其包括通过计算机系统:处理数据文件并且标记每个文字以作为一或多个非重复文字的多个文字群组中的一者和一或多个文字的多个复制群组中的一者的一部分,在所述数据文件中每个文字群组的所述一或多个文字前面不是一或多个文字的相同群组,在所述数据文件中每个复制群组的所述一或多个文字前面是一或多个文字的相同群组,每个复制群组具有指示所述复制群组中的文字数目的长度以及相对于在所述数据文件中在所述每个复制群组前面的一或多个文字的相同群组的偏移,并且每个文字群组具有指示所述文字群组中的文字数目的长度;对所述多个文字群组的第一部分进行霍夫曼译码以获得经霍夫曼译码的文字群组,所述多个文字群组的所述部分包含于所述数据文件的第一部分中;在输出文件中包含所述经霍夫曼译码的文字群组;以及在所述输出文件中包含所述数据文件的第二部分中的所述多个文字群组的第二部分而无需对所述多个文字...
【专利技术属性】
技术研发人员:吴英全,亚历山大·贺布利司,
申请(专利权)人:泰德系统股份有限公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。