差分法
差分法(Differencing)是用相邻两个数据的差值来表示数列,本项差值等于本项原数据-上一项原数据。
如2,3,4,5,6数列,通过差分法后的数列为:2,1,1,1,1。
差分法通常使用在数据压缩之前,通过差分法,产生大量相同的数据,提高压缩率。
当Tiff图像使用LZW压缩之前,就使用差分法。
TIFF图像的差分法
Tiff图像用id=0x13D的tag(Predictor)来定义差分类型,共三个值:1,2,3。分别代表“不使用差分法”,“水平差分法”和“浮点水平差分”三种情况。这里只谈论“水平差分法”。
- 水平差分法以图像的每一行图像数据为数列进行差分;
- 图像数据中的RGB各字节独立差分,如图像数据保存为:FEFEFC FFFFFD,差分计算为FF-FE=01,FF-FE=01,FD-FC=01,并不是FFFFFD-FEFEFC;
- 每个字节按有符号值计算。如图像数据保存为:FFFFFD FEFEFC,差分计算时,分别换成(-1,-1,-2)和(-2,-2,-3),结果为(-1,-1,-1),故差分图像数据得:FFFFFD FFFFFF。