即时无损图像压缩

ges*_*ema 5 compression embedded image-processing image-compression

我有一个嵌入式应用程序,其中图像扫描仪发出一个16位像素流,后来组装成灰度图像.因为我需要在本地保存这些数据并将其转发到网络接口,所以我想压缩数据流以减少所需的存储空间和网络带宽.

有没有一种简单的算法可以用来无损压缩像素数据?

我首先想到计算两个连续像素之间的差异然后用霍夫曼​​代码编码这个差异.不幸的是,像素是无符号的16位量,因此差值可以是-65535 ... +65535范围内的任何位置,这可能导致潜在的巨大码字长度.如果连续出现一些非常长的代码字,我将遇到缓冲区溢出问题.

更新:我的平台是一个FPGA

Nor*_*sey 8

PNG使用标准工具以标准格式提供免费,开源,无损图像压缩.PNG zlib用作压缩的一部分.还有一个libpng.除非您的平台非常不寻常,否则将此代码移植到它上面并不困难.

  • @Matthew,标题上写着"无损".JPEG有一种非标准的无损模式,但我认为更好的选择是PNG. (2认同)