一种压缩编码方法技术

技术编号:14245435 阅读:60 留言:0更新日期:2016-12-22 01:23
本发明专利技术公开了一种压缩编码方法,包括:字符对应字码表偏移值与二进制数据;利用所述字码表的引用,输出指定字符所对应的偏移值;根据偏移值求熵,按照熵值的大小构建二叉树,而由根节点到叶节点的过程,左子树为0右子树为1输出二进制数;根据对多个二进制数据进行拼接编译所形成的字符串数据,进行通讯传输;本发明专利技术便于在由指定格式的传输数据或大数据频繁传输的压缩编码,且压缩效率高,实现复杂度低。

【技术实现步骤摘要】

本专利技术属于数据压缩及通讯领域,涉及一种数据压缩编码方法
技术介绍
随着互联网通讯的发展,传输数据量不断增大,连接数量不断增多,对通讯中网速的压力日益增大,而研究如何将数据中重复数据用更小的数据代替,并剔除数据中冗余的数据,以减少占用空间的大小,成为人们研究的热点。直到20世纪70年代,数据压缩才在计算机领域开始扮演重要角色,那时互联网变得更加流行,Lempel-Ziv算法被专利技术出来,但压缩算法在计算机领域之外有着更悠久的历史。专利技术于1838年的Morsecode,是最早的数据压缩实例,为英语中最常用的字母比如“e”和“t”分配更短的Morse code。所谓压缩无非是将一个符号出现的概率用更短的符号来表示,以达到数据压缩的效果。但目前压缩技术针对性差,压缩解压时间长。
技术实现思路
本专利技术为了解决上述至少一个问题和/或不足,并提供下述至少一种有点,响应的提供了一种压缩编码方法。一方面,在压缩编码方法中,包括:字符对应字码表偏移值与二进制数据;利用所述字码表生成偏移值;利用熵生成二进制数据;利用所产生的二进制数据,拼接编码生成输出数据串;另一方面,在压缩编码方法中,偏移值为以所述字符表的偏移值,为数据在字符表中的地址对应字符表引用的偏移值;另一方面,在压缩编码方法中,所述二进制数据为对所述字码表偏移值求熵,根据熵值进行二叉树排列,根据从根节点到叶节点的过程所得的二进制数据;另一方面,在压缩编码方法中,二叉树为,根据熵值由小到大排列的优先队列,根据最小两个熵值相加,并合并成子树,直到合并为一颗二叉树;本专利技术公开了一种压缩编码方法,包括:字符对应字码表偏移值与二进制数据;利用所述字码表的引用,输出指定字符所对应的偏移值;根据偏移值求熵,按照熵值的大小构建二叉树,而由根节点到叶节点的过程,左子树为0右子树为1输出二进制数;根据对多个二进制数据进行拼接编译所形成的字符串数据,进行通讯传输;本专利技术便于在由指定格式的传输数据或大数据频繁传输的压缩编码,且压缩效率高,实现复杂度低。附图说明图1为压缩编码方法示意图;图2为压缩编码根据熵值生成二叉树示意图。具体实施方式本专利技术公开了一种压缩编码方法,包括:字符对应字码表偏移值与二进制数据;利用所述字码表的引用,输出指定字符所对应的偏移值;根据偏移值求熵,按照熵值的大小构建二叉树,而由根节点到叶节点的过程,左子树为0右子树为1输出二进制数;根据对多个二进制数据进行拼接编译所形成的字符串数据,进行通讯传输;本专利技术便于在由指定格式的传输数据或大数据频繁传输的压缩编码,且压缩效率高,实现复杂度低。下面通过附图以及具体实施例对本专利技术技术方案做详细的说明,应当理解,本专利技术实施例以及实施例中的具体技术特征只是对本专利技术技术方案的说明,而不是限定,在不冲突的情况下,本专利技术实施例以及实施例中的具体技术特征可以相互组合。如下,结合图1与图2对本专利技术压缩编码方法进行说明。图1为如图1压缩编码方法流程示意图,图二为根据熵值生成二叉树的示意图。如图1所示,在压缩编码方法中,根据输入字符在字码表中查找对应字符的相对于字码表引用的偏移值。根据偏移值对应二叉树的叶节点,由根节点到叶节点路径,左子树为0右子树为1,说对应的二进制数据。将字符创中的每一个字符对应的二进制数据拼接按照每8位一个字符所组成的字符串为压缩后数据进行发送。熵值:每一个数据集都有一定的信息量,这就是所谓的熵。一组数据的熵是每个符号熵的总和,符号Z的熵S定义为:Sz=-lgPz。其中Pz是数据集中z出现的概率,如果我们确切的知道z出现了多少次,那么Pz就是z出现的频率,如果z在有32个符号的数据集中出现了8次,也就是1/4的概率没那么z的熵为:-lg(1/4)=2。这意味着如果用超过两位的数来表述z将是一种浪费。如果在一般情况下用一个字节(即8位)来表示一个符号,那么这种情况下使用压缩编码方法可以大幅度减小数据的容量。如图2所述构建二叉树。首先将数据按照熵值进行升序排列,可按照下述主要过程进行:步骤I,根据熵值进行升序排列。步骤II,数组的最低两位进行树合并,并将树中所有叶节点的熵值相加,并再对数组进行升序排列。重复步骤II直到只剩下一棵树,并将数据到左子树的的过程规定为0,到右子树的过成为1.那么在根节点到叶节点的过程就为一个在树中的唯一二进制数据。一个字节由8位组成,只要是在0-255数据之间都有八位表示,而当数据件小时前面位数将用无意义的0来填充,而将无意义的0变为有意义的数据,由于我们的树不为平衡二叉树,所以由根节点到叶节点的路径所产生的二进制也是不固定的。所以可以将字符创所产生的二进制数每8位分成一个字符,所组成的字符串,进行发送。而接受端再按照路径解码,还原字符串。例如用二进制表示下列字符串。GoodJob假设Gjdbo对应图2中I中说对应的熵值,那么他们分别对应的二进制数据就为100 101 00 01 11。即二进制组成的二进制字符串为1001 1110 0101 1101仅占用两个字符,而原字符串占用7个字符创。本专利技术与现有技术相比的优点在于:实现复杂度低,在有针性对数据进行字码表创建后,可以对数据进行大幅度压缩,且字码表与二叉树,皆为在运行时以存放在内存中,在进行查询,输出二进制更为快捷。尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。本文档来自技高网...
一种压缩编码方法

【技术保护点】
一种压缩编码方法,其特征在于:利用所述字码表生成偏移值;利用偏移值的离散程度熵生成二进制数据;利用所产生的二进制数据,拼接编码生成输出数据串。

【技术特征摘要】
1.一种压缩编码方法,其特征在于:利用所述字码表生成偏移值;利用偏移值的离散程度熵生成二进制数据;利用所产生的二进制数据,拼接编码生成输出数据串。2.如权利要求1所述压缩编码方法,其特征在于:所述偏移值为以所述字符表的偏移值,为数据在字符表中的地址对应字符表引用的偏移值。3.如权利要求1所述压缩编码方法,其特征在于:所述字码表,为与预先存储的字符,根据数值出现次数由大到小排列。4.如权利要求1所述压缩编码方法,其特征在于;所述二进制数据为对所述字码表偏移值求熵,根据熵值进行二叉树排列,根据从根节点到叶节点的过程所得的二...

【专利技术属性】
技术研发人员:郑书湛
申请(专利权)人:山东华旗新能源科技有限公司
类型:发明
国别省市:山东;37

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

1