RGBA 32ビット画像データを圧縮するための最速のアルゴリズムは何ですか?私はCで働いていますが、他のプログラミング言語の例には満足しています。
現在、LZ4を使用していますが、ランレングス/デルタエンコーディングを検討しています。
ロスレスエンコーディング、実際の画像とコンピューターで生成された/クリップアート画像の組み合わせ。アルファチャネルは常に存在しますが、通常は一定です。
RGBA 32ビット画像データを圧縮するための最速のアルゴリズムは何ですか?私はCで働いていますが、他のプログラミング言語の例には満足しています。
現在、LZ4を使用していますが、ランレングス/デルタエンコーディングを検討しています。
ロスレスエンコーディング、実際の画像とコンピューターで生成された/クリップアート画像の組み合わせ。アルファチャネルは常に存在しますが、通常は一定です。
結局LZ4を使うことになりました。他にこれほど高速なものはなく、LZ4は通常少なくとも50%のサイズ縮小を実現しました。
損失または損失なし?
「本物の」画像またはコンピュータグラフィックス?
あなたは実際にアルファチャンネルを持っていますか?
ロスレス(またはセミ=ロスレス)が必要な場合は、YUVに変換して圧縮すると、おそらく約1/2に減少します(すでに2バイト/ピクセルになっている後)Huffyuvを試してください
実際の画像がある場合、H264は非常に高い圧縮を実行でき、最適化されたライブラリとHWサポートがあるため、非常に高速になります。
色数が少ないがエッジを保持する必要があるコンピュータグラフィックスタイプの画像がある場合、または実際にAチャネルがある場合は、ランレングスが適切な場合があります。最初に画像を色ごとのフレームに分割してみてください。
LZ4は数行のコードであるLZ77ファミリーですが、私はそれを自分でやったことはありませんが、あなたが正しいランレングスであるか、デルタコードが最速であり、画像にも適していると思います。きびきびとしたアルゴリズムもあります。最近、exdupeユーティリティを試して仮想マシンを圧縮しました。これも信じられないほど高速です:http://www.exdupe.com。exdupeはrzipを使用しているようです:http ://encode.ru/threads/1354-Data-deduplication 。