进一步的 Jpeg 压缩以获得已知的分辨率?可能存储标头



我的应用程序需要非常小的jpeg文件(小于2.5KB)作为数据(不能是链接)存储在QR码中。质量和尺寸都是一个问题。我可以保存的任何字节都可能意味着我可以使二维码更易于阅读。幸运的是,它们都具有标准分辨率(160x240)和颜色深度(24位)。

我有一个想法,从 JPEG 文件本身中取出部分标头,并让应用程序稍后将标头添加回数据数组中,这将节省 600 字节(哇)。到目前为止,我进行压缩的方法是保留一个"黄金标准文件"并以 Q = 80-10% 压缩该文件,直到它适合 2.5KB。

因为不同的压缩

比意味着不同的标头,我的想法是通过已知的标准压缩的另一个传递来传递最终的压缩图像。但是,如果"标准压缩"大于图像确定的原始压缩,则大小实际上可能大于最终压缩图像。

有没有做这样的事情的标准方法?我觉得我可能正在做某事,但我似乎无法让它发挥作用。

我最终做的是进行多级压缩,我存储了标头(D0-DB)和霍夫曼表(C4)。我能够通过简单的替换算法以这种方式保存大约 550 个字节。这不是 100% 理想的,但也不是半点坏处。我丢失了大约 50 个字节,但与提高质量和应用程序内存大小的权衡使它值得。

为了便于扫描,我在替换算法之前将最大大小减小到 1.9KB。

最新更新