代码之家  ›  专栏  ›  技术社区  ›  vgru

简单的2色差分图像压缩

  •  1
  • vgru  · 技术社区  · 15 年前

    有没有一个高效,快速和简单的例子做差分黑白图像压缩?或者更好,一些简单的( 但是无损的 -锯齿状的1bpp图像在使用有损压缩(lossy compression)流媒体技术进行压缩时看起来不是很有说服力,流媒体技术可以接受许多帧作为输入?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Jason B    15 年前

    您还希望每隔一段时间发送一个键(非差分)帧,以便在发生错误时可以重新同步。

    如果您只是对压缩感兴趣,可以尝试在XORing帧之后实现RLE。查看所讨论的位级RLE here 大约在这一页的一半。它应该很容易实现,因为它只是在每个字节中存储一个7位的长度和一个1位的值,所以如果帧之间没有变化,它可以实现128/8=16的最佳压缩比。

    如果您想超越简单方法,我建议使用可变长度代码来表示运行长度编码期间可能的运行。然后可以将较短的代码分配给概率最高的运行。这将类似于在执行压缩的有损部分(DCT和量化)之后在JPEG或MPEG中使用的RLE。