RLE图像压缩技术全解析
1. 相对编码与差分编码
在数据处理中,相对编码是一种有效的压缩方式,尤其适用于连续数据差异不大或者数据串相似的情况。以遥测为例,传感设备按一定间隔收集数据并传输到中心位置进行处理,如每小时收集的温度值。由于连续的温度值通常差异不大,传感器只需发送第一个温度值,后续发送与前一个值的差值即可。例如,温度序列70, 71, 72.5, 73.1, … 可压缩为70, 1, 1.5, 0.6, … ,因为差值较小,能用更少的比特表示,从而实现数据压缩。
不过,差值可能为负,也可能很大。当出现大的差值时,压缩器会发送下一个测量值的实际值而非差值。例如,序列110, 115, 121, 119, 200, 202, … 可压缩为110, 5, 6, -2, 200, 2, … 。此时,就需要区分差值和实际值。一种方法是压缩器为每个发送的数字创建一个额外的比特(标志位),累积这些标志位,并作为传输的一部分不时发送给解压缩器。假设每个差值以字节形式发送,压缩器应在一组8个字节之后(或之前)发送一个包含8个标志位的字节。
另一种实用方法是发送字节对。每个字节对要么是一个实际的16位测量值(正或负),要么是两个8位有符号差值。实际测量值范围在0到±32K之间,差值范围在0到±255之间。对于每个字节对,压缩器创建一个标志位:若为实际值则为0,若为一对差值则为1。发送16对字节后,压缩器发送16个标志位。例如,测量序列110, 115, 121, 119, 200, 202, … 发送形式为(110), (5, 6), (-2, -1), (200), (2, …) ,其中括号表示一个字节对。-1的值为11111111₂ ,解压缩器会忽略它(表示该字节对中只有一个差值)。在
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



