Skip to content

位图编码和游程序编码

一、位图编码

在一个N行的数据表中,如果列的可选值数量(M)比较少,比如(性别:男·女 国家: 中国·美国·英国。。。等)可以用M个N位的数据表示 其中每一条数据对应一个可选值的情况,数据的每一位表示当前行是否是对应的值。

  • 例子: 有如下表格:

    行号姓名性别
    1张三
    2李四
    3王五
    4赵六

用位图编码表示为

  • 男:1001
  • 女:0110

应用场景

  • 图像与视频压缩
  • 数据库列存储压缩
  • 布隆过滤器

二、游程编码

编码机制扫描数据流,将连续出现的相同值(称为“游程”)替换为二元组(值, 重复次数)

  • 示例:
    • 原始字符串 AAAABBBCC → 编码为 (A,4)(B,3)(C,2)。
    • 二值图像(如黑白图)中,连续白像素用正数计数,黑像素用负数表示

应用场景

  • 图像与视频压缩
    • 二值图像(如文字扫描件、图标):利用大量连续黑白像素,压缩效果显著(实测二值图压缩至原体积8.8%)。
    • 混合编码:在JPEG等格式中,与DCT、哈夫曼编码结合处理量化后的零系数序列。
  • 新兴领域 -异常检测:通过对比压缩前后数据差异识别异常点。 -生物信息学:处理基因序列中的重复片段。