主题:有没有研究整数压缩技术的朋友???
本人认为,传统计算机数据无损压缩技术已经达到了瓶颈,如果不改变数据压缩的基本理念,数据压缩技术是不会有更大发展的;
传统无损压缩脱胎于LZ系列算法,主要是利用数字串+字典来达到压缩效果;
我认为,新一代的数字压缩技术是整数压缩技术。
所谓整数压缩技术一般是指,将被压缩文件视为一个巨大的正整数(不一定是全部文件,可以将文件切割成比较大的“块”),将这个整数视为数轴上的一个点,利用数学公式+条件来纪录着个点;
举例:
某文件,字长若干字节(16进制)=T
我利用递减求和的方法纪录这个数字(可以将整个数字视为一个梯形的表面积)
这个梯形的上底可以用有序数字表示11111111111111111=17个1=A
这个梯形的下底是一个无序数字XXXXXXXXXX=B
这个梯形的余数同样是无序数字XXXXXXXXXX=C(长度不超过B)
公式=(A+B)*(A-B)/2+C=T
A=17(1)
B=XXXXXXXXXX
C=XXXXXXXXXX
如此4行内容就可以纪录T了,因此也达到了压缩效果
这个方法有很多局限,但是好处也不少,缺点是压缩的时候时间比较长,而且可以达到压缩效果的数字比较少,但是解压缩的时候就比较简单了,运算量相对较低;
这个算法是本人早期研究的算法之一,有兴趣的朋友可以与我交流
我的邮箱bjgp@21cn.com
传统无损压缩脱胎于LZ系列算法,主要是利用数字串+字典来达到压缩效果;
我认为,新一代的数字压缩技术是整数压缩技术。
所谓整数压缩技术一般是指,将被压缩文件视为一个巨大的正整数(不一定是全部文件,可以将文件切割成比较大的“块”),将这个整数视为数轴上的一个点,利用数学公式+条件来纪录着个点;
举例:
某文件,字长若干字节(16进制)=T
我利用递减求和的方法纪录这个数字(可以将整个数字视为一个梯形的表面积)
这个梯形的上底可以用有序数字表示11111111111111111=17个1=A
这个梯形的下底是一个无序数字XXXXXXXXXX=B
这个梯形的余数同样是无序数字XXXXXXXXXX=C(长度不超过B)
公式=(A+B)*(A-B)/2+C=T
A=17(1)
B=XXXXXXXXXX
C=XXXXXXXXXX
如此4行内容就可以纪录T了,因此也达到了压缩效果
这个方法有很多局限,但是好处也不少,缺点是压缩的时候时间比较长,而且可以达到压缩效果的数字比较少,但是解压缩的时候就比较简单了,运算量相对较低;
这个算法是本人早期研究的算法之一,有兴趣的朋友可以与我交流
我的邮箱bjgp@21cn.com