- 积分
- 20
- 阅读权限
- 10
- 主题
- 10
- 帖子
- 53
- 注册时间
- 18-12-5
- 在线时间
- 46 小时
- UID
- 10094
- 精华
- 0
列兵
- 大洋
- 159
- 阅读权限
- 10
|

楼主 |
发表于 19-9-15 00:20
|
显示全部楼层
编码】
CompositionObject使用RLE进行了压缩。算法简述:
1. 对图形的每一行进行编码,编码完成后以两个0表示行结束。各行数据的编码结果连续保存。
2. 对每行编码时,以字节为单位。对每一个字节值x,统计该字节值连续出现的次数(行程)Nx。
3. 写入RLE编码时,使用如下策略:
a.x为0时,先写入1字节0,再写入变码后的Nx,变码规则f(Nx, 0)
b.x为非0时,若Nx不大于2,则直接照抄1或2个x
c.x为非0时,若Nx大于2,则先写入1字节0,再写入变码后的Nx,变码规则f(Nx, 1),再写入x
4. 变码规则f(Nx, S):
a.若Nx的值较小,表示为2进制时不超过6位,则输出1字节值,低6位为Nx, 第6位为0,第7位即最高位为S;
b.若Nx的值超过6位,则输出2字节值,低14位为Nx,第14位为1,第15位即最高位为S。字节序为大端。 |
|