1つ以上のファイルに対して複数の形式の圧縮を使用するという主張と適用可能性は何ですか?

1つ以上のファイルに対して複数の形式の圧縮を使用するという主張と適用可能性は何ですか?

同じアルゴリズムまたは異なるアルゴリズムを使用してファイルを複数回圧縮する必要があるシナリオがあるかどうか疑問に思います。私が知っている限り、圧縮アルゴリズムの微妙な違いに応じて追加の圧縮を適用すると、ファイルサイズをさらに縮小できます。 (どのファイルやデータに最適化されていますか?)複数ラウンドの圧縮を適用すると、特定の圧縮エンコーディングが使用されたことを示す情報が追加されるため、ファイルサイズが増加しますか?

ベストアンサー1

いいえ、通常、圧縮を試みる複数のレイヤーがある場合を除いて、複数回圧縮することは意味がありません(たとえば、PNG画像があり、圧縮されたtarアーカイブ(.tar.gz)に保存されている、ファイルシステムに保存されている、またはファイルを介して送信済み)。リンク圧縮)。

汎用圧縮アルゴリズムは、実際の情報をできるだけ小さいファイルに圧縮しようとし、本質的に可能なランダムに見えるようにするため、マルチ圧縮には利点はありません(高いエントロピー)。ランダムなデータはうまく圧縮されないので、後続の圧縮層は多くの操作を実行しません。もちろん、初期圧縮がマイナーな場合(例:実行長エンコーディング)、より複雑なアルゴリズムはまだデータをより圧縮することができます。しかし、この場合、生データに対してより良いアルゴリズムを使用する方が良いでしょう。

通常、いくつかのヘッダーが関連しているため、複数回圧縮するとファイルサイズが簡単に増える可能性があります。ファイル圧縮の場合は、使用されている圧縮アルゴリズムを知っておくと便利です。たとえば、gzip元のファイル名も保存されます。

おすすめ記事