0

私のアプリケーションでは、非常に小さいサイズのjpegファイル(2.5KB未満)をQRコードにデータ(リンク不可)として保存する必要があります。品質とサイズの両方が懸念事項です。保存できるバイトは、QRコードを読みやすくすることができることを意味する場合があります。幸いなことに、それらはすべて標準の解像度(160x240)と色深度(24ビット)を持っています。

JPEGファイル自体からヘッダーの一部を取り出し、後でアプリケーションにヘッダーをデータ配列に追加して戻すことを考えました。これにより、600バイトを大幅に節約できます(すごい)。これまでのところ、圧縮を行っている方法は、「ゴールドスタンダードファイル」を保持し、そのファイルを2.5KBに収まるまでQ = 80〜10%で圧縮することです。

異なる圧縮率は異なるヘッダーを意味するため、私の考えは、既知の標準圧縮の別のパスを介して最終的な圧縮画像を渡すことです。ただし、「標準圧縮」が画像が確定した元の圧縮よりも大きい場合、サイズは実際には最終的な圧縮画像よりも大きくなる可能性があります。

このようなことをする標準的な方法はありますか?何かに夢中になっているような気がしますが、うまくいかないようです。

4

1 に答える 1

0

最終的に私がやったことは、複数のレベルの圧縮を行うことであり、ヘッダー(D0-DB)とハフマンテーブル(C4)を保存しました。この方法で、単純な置換アルゴリズムを使用して約550バイトを節約できます。100%理想的ではありませんが、半分悪くはありません。私は約50バイトを失いますが、品質とアプリプログラムのメモリサイズの向上とのトレードオフにより、それだけの価値があります。

スキャンを簡単にするために、置換アルゴリズムの前に最大サイズを1.9KBに減らしました。

于 2012-07-11T12:48:17.957 に答える