Appearance
位图编码和游程序编码
一、位图编码
在一个N行的数据表中,如果列的可选值数量(M)比较少,比如(性别:男·女 国家: 中国·美国·英国。。。等)可以用M个N位的数据表示 其中每一条数据对应一个可选值的情况,数据的每一位表示当前行是否是对应的值。
例子: 有如下表格:
行号 姓名 性别 1 张三 男 2 李四 女 3 王五 女 4 赵六 男
用位图编码表示为
- 男:1001
- 女:0110
应用场景
- 图像与视频压缩
- 数据库列存储压缩
- 布隆过滤器
二、游程编码
编码机制扫描数据流,将连续出现的相同值(称为“游程”)替换为二元组(值, 重复次数)
- 示例:
- 原始字符串 AAAABBBCC → 编码为 (A,4)(B,3)(C,2)。
- 二值图像(如黑白图)中,连续白像素用正数计数,黑像素用负数表示。
应用场景
- 图像与视频压缩
- 二值图像(如文字扫描件、图标):利用大量连续黑白像素,压缩效果显著(实测二值图压缩至原体积8.8%)。
- 混合编码:在JPEG等格式中,与DCT、哈夫曼编码结合处理量化后的零系数序列。
- 新兴领域 -异常检测:通过对比压缩前后数据差异识别异常点。 -生物信息学:处理基因序列中的重复片段。