同様のJPG画像を大量に圧縮しようとしています。これまでに私が見つけた最高の圧縮アルゴリズムは次のとおりです。FP8。存在するこの問題テスト結果を表示し、より良いオプションがあるかどうかを尋ねます。しかし、fp8はこれまで私が見つけたものの中で最高です。それでも理想的ではありませんが、他の既存の圧縮ユーティリティ(zip、z7、rar、tar、bz2など)よりもデータセットをサイズの80%に減らしました。その質問より良いオプションの提案がある場合)。
しかし、fp8はWindowsでのみ動作する廃棄されたユーティリティのようです(ワインで実行してテストしました)。
Linuxでfp8アルゴリズムを実装するユーティリティはありますか?
実装も提供するUbuntuリポジトリでzpaqを見つけました。PAQ圧縮。しかし、同様のJPG画像ではパフォーマンスがはるかに悪いです。そのため、私は特に似ているか、より良いパフォーマンスを持つfp8または同様のJPG画像を探しています。
答え1
FP8形式は次のとおりです。ZPAQ形式を好む著者によって削除されました。これが最新バージョンが見つからない理由です。
ZPAQは、PAQとそのバリエーション(PAQ8、PAQ9A、LPAQ、LPQ1など)をポータブル標準形式で類似またはより良い圧縮に置き換えるように設計されています。 PAQの現在のバージョンは、すべての圧縮の改善により、アーカイブの互換性が損なわれています。 ZPAQはこの問題を解決することを目指しています。もはや古いPAQコードを保持しません。
ZPAQ Ubuntuディストリビューション古いと思います。したがって、ZPAQ Webサイトのバージョンを使用してアップグレードできます。https://pkgs.org/download/zpaq。最新バージョンは、圧縮動作に関するより多くのオプションをサポートしています(ZPAQドキュメント):
-m
タイプ[ブロックサイズ[.pre[.arg][比較する[.arg]]… ]]
-method
タイプ[ブロックサイズ[.pre[.arg][比較する[.arg]]… ]]
add
圧縮方法を選択するために使用されます。タイプは0
、、、、、、、、または です。選択科目1
2
3
4
5
x
s
ブロックサイズ0..11 の可能性があり、型の後にスペースを入れないでください (-m10
または )-method 511
。残りの引数はスペースなしでピリオドまたはカンマで区切られます(例:x
orタイプの場合のみ)。s
-mx4.3ci1
タイプが数値の場合、数値が大きいほど圧縮率は高くなりますが、速度は遅くなります。デフォルト値はです
-m1
。バックアップにお勧めします。-m2
圧縮速度は遅いですが、解凍速度は同じです1
。アーカイブを一度圧縮し、ダウンロードなどのために複数回解凍することをお勧めします。-m0
ストレージは重複排除されますが、圧縮されなくなりました。ブロックサイズピースを最大2^の塊にまとめることを意味します。ブロックサイズ未部。より大きなブロックを使用すると圧縮が向上しますが、各ブロックが別々のスレッドによって圧縮または解凍されるため、より多くのメモリが必要になり、速度が遅くなる可能性があります。メモリ要件最大8倍ブロックサイズレベル4の場合、各スレッドはブロックサイズの16倍、レベル5の場合、各スレッドはブロックサイズの16倍です。デフォルトブロックサイズタイプ0と1の場合は4(16MiB)、そうでない場合は6(64MiB)です。
[...]
最初は同様の圧縮が得られるかどうかを調べるために-m2
throughを使ってみました。 (サイズと速度のバランスをとるように設計されたデフォルト設定です。他のプログラムと同じです。)-m5
-m1
-1
他の使用可能な調整方法があります(文書を参照)、(「64 MiBブロック(6)、E8E9なしの可変長LZ77(1)、最小一致長4、補助検索なし(0))などの特定の設定が必要です。-method x6.1.4.0.5.27.1
そうでない場合は、サフィックス配列の各方向で2 ^ 5 = 32(27 = 6 + 21)の検索深さと1バイトのプレビュー" [ドキュメントで!])心配しないでください。事前定義された設定はおそらくうまく機能します。
もともとFP8プログラムが必要な場合に使用できます。GitHubのソースコードで。git
32ビットGCCツールチェーンが必要ですnasm
(このプログラムには32ビットアセンブリファイルがあるため、64ビットプログラムではビルドできません)。
答え2
いくつかの追加の研究の最後に、paq8pxdソフトウェアで最新世代のpaq8アルゴリズム(fp8が1つのバージョン)が開発されていることがわかりました。 gitリポジトリはここ、以前のバージョンの履歴は次のとおりです。ここ。ベンチマーク、バイナリ、および追加情報は通常、次の場所に公開されます。Paq8pxd辞書スレッドencode.ruから。
paq8にはJPGモデルが含まれているため、JPGファイルを元のサイズの70〜80%にロスレス圧縮できます。しかし、zpaqは最新のパッケージですが、これらのモデルは含まれていないため、JPGイメージではパフォーマンスがはるかに低くなります。
zpaqに関して、Ubuntuリポジトリのバージョンは非常に古いです(v1.10)。最新バージョン(v7.14)を確認できますここ、Ubuntuでコンパイルを非常に簡単にするMakefileが含まれています。ただし、JPGモデルはまだ含まれていないため、jpgファイルでは正しく機能しません。この特定のアプリケーションでは、以前のpaq8ベースのパッケージよりも優れています。