イメージ スキャナが 16 ビット ピクセルのストリームを送信し、後でグレースケール イメージにアセンブルする組み込みアプリケーションがあります。このデータをローカルに保存し、ネットワーク インターフェイスに転送する必要があるため、データ ストリームを圧縮して、必要なストレージ スペースとネットワーク帯域幅を削減したいと考えています。
ピクセル データを可逆圧縮するために使用できる簡単なアルゴリズムはありますか?
最初に、連続する 2 つのピクセルの差を計算し、この差をハフマン コードでエンコードすることを考えました。残念ながら、ピクセルは符号なしの 16 ビット量であるため、差は -65535 .. +65535 の範囲のどこかにある可能性があり、コードワードの長さが巨大になる可能性があります。非常に長いコードワードが連続して発生すると、バッファ オーバーフローの問題が発生します。
更新: 私のプラットフォームは FPGA です