ファイルの最高の圧縮(Web転送用)?


14

700MBのデータが30〜50MB程度に圧縮されているなど、高度に圧縮されたファイルを見てきました。

しかし、このような圧縮ファイルをどのように取得しますか?WinRARや7Zipなどのソフトウェアを使用してみましたが、このような高い圧縮率を達成したことはありません。

ファイルを非常にうまく圧縮できる技術/ソフトウェアは何ですか?

(PS私はWindows XPを使用しています)


良いアイデア...しかし、とにかくそのようなファイルをどこから入手しますか?
ロビーニクス2009

3
7zipがサーバーログファイル(主にテキスト)を元のサイズの約1%に圧縮するのを見てきました。
アンバーフェルール

2
メモ帳を開きます。「A」を10億回入力します。保存してから圧縮します。うわー!10億(真)の乱数をファイルに書き込むアプリを作成します。それを圧縮します。え?
igrimpe

igrimpe:多くの圧縮アルゴリズムがパターンをインデックスします。10億AはA 10億回です。これを[A] {1、1000000000}に圧縮できます。10億個の乱数がある場合、特定のサブセット内の連続する各番号は、サブセットが一致する確率を指数関数的に減少させるため、パターンマッチングを実行することは困難になります。
アーロンF

回答:


11

データの圧縮にかかる時間が問題にならない場合は、いくつかの異なるツールを一緒に使用して圧縮サイズを最適化できます。

7zip、winrar(zip用)、bjwflateなどのさまざまなツールを使用して、データを数回圧縮します。

(これはzipファイルを何度も圧縮することを意味するのではなく、異なるツールを使用して多数の代替zipファイルを作成することに注意してください)

次に、各アーカイブでdefloptを実行して、各アーカイブをもう少し減らします。

最後に、アーカイブのコレクションでzipmixを実行します。異なるzipツールは異なるファイルに対して優れているため、zipmixは各アーカイブから各ファイルの最適な圧縮バージョンを選択し、zipツールが個別に生成できるものよりも小さい出力を生成します。

ただし、これはファイルに対して何らかの魔法をかけることを保証するものではないことに注意してください。JPEGやMP3など、特定の種類のデータは単純にあまり圧縮されません。これらのファイルはすでに内部的に圧縮されています。


4
JPEGとMP3は圧縮されていません。圧縮されていますが、圧縮されていません。
KovBal 09

これは非常に貧弱なアドバイスです。複数の圧縮アルゴリズムを連続して使用しようとすることは非常に悪い考えです。各アルゴリズムは圧縮ファイル+オーバーヘッドを作成するため、複数を使用することで、圧縮しようとしているデータに実際データを追加します-砂に穴を掘ろうとするようなもので、より深く砂を注ぎます君は。最大の圧縮設定で単一の優れたアルゴリズムを使用する方がはるかに良いでしょう。
タクロイ

誤解されていると思います。同じデータが繰り返し再圧縮されていません。むしろ、アーカイブごとではなく、ファイルごとに最適な単一のアルゴリズムを選択しているだけです。
izb

6
データを数回圧縮するのはかなり誤解を招きます。
ta.speot.is

12

これは、圧縮されるデータに完全に依存します。

テキストは非常によく圧縮されますが、バイナリ形式はあまり圧縮されず、圧縮データ(mp3、jpg、mpeg)はまったく圧縮されません。

ウィキペディアの優れた圧縮比較表を次に示します。


圧縮はデータの種類に依存することは承知していますが、ファイルをさらに圧縮するのに役立つ特定の手法はありますか?
rzlines 09

3
何かを圧縮したら、通常、かなり小さくすることはできません。データに適した圧縮方法を選択するだけです。
ニフル2009

テキストは最大90%まで簡単に圧縮できます。
ゲオルクシェーリー

@GeorgSchölly:それは素晴らしい。すべてのデータをテキストに変換できるため、たとえば、各バイナリバイトをテキストに表示される2つの16進数に変換します。それは私のサイズを2倍にしますが、2倍のサイズの90%を節約すると、全体で80%の節約になります。(または、バイナリからテキストへの変換をもう少し効率的にするためにbase64を使用することもできます。)これは驚くべき素晴らしいニュースです。:)
TOOGAM

8

以前の答えは桁違いに間違っています!

私が個人的に経験した中で最高の圧縮アルゴリズムはpaq8o10tですzpaqページとPDFを参照)。

ヒント:files_or_foldersを圧縮するコマンドは次のようになります。

paq8o10t -5 archive files_or_folders

Dell Latitude E6510ラップトップ(Core i7 M620、2 + 2ハイパースレッド、2.66 GHz、4 GB、Ubuntu Linux)のデフォルトおよび最大設定で10 GB(79,431ファイル)を圧縮して外部USBハードドライブに抽出する時間に対するアーカイブサイズ、ワイン1.6)。 10 GBベンチマーク(システム4)からのデータ。

出典:増分ジャーナリングバックアップユーティリティおよびアーカイバ

GitHubでソースコードのミラーを見つけることができます。


わずかに優れた圧縮アルゴリズムであり、Hutter Prizeの勝者はdecomp8です(賞のページのリンクを参照)。ただし、実際に使用できる圧縮プログラムはありません。


以下のための本当に大きなファイルlrzip単にある圧縮率を達成することができコミカルに

README.benchmarksの例:


1つのバージョンを別の6つのカーネルツリー、tarball、linux-2.6.31からlinux-2.6.36に分けてみましょう。これらは多くの冗長な情報を表示しますが、数百メガバイト離れているため、lrzipは圧縮に非常に適しています。簡単にするために、現時点では7zのみを比較します。これは現時点で最も優れた汎用コンプレッサーであるためです。

これらは、lrzip v5.0.1を使用して4GB RAMを搭載した2.53GhzデュアルコアIntel Core2で実行されたベンチマークです。32ビットのユーザー空間で実行されていたため、2GBのアドレス指定のみが可能であったことに注意してください。ただし、ベンチマークは-Uオプションで実行され、ファイル全体を1つの大きな圧縮ウィンドウとして扱うことができました。

6つの連続したカーネルツリーのTarball。

Compression    Size                 Percentage      Compress    Decompress
None           2373713920           100             [n/a]       [n/a]
7z             344088002            14.5            17m26s      1m22s
lrzip          104874109            4.4             11m37s      56s
lrzip -l       223130711            9.4             05m21s      1m01s
lrzip -U       73356070             3.1             08m53s      43s
lrzip -Ul      158851141            6.7             04m31s      35s
lrzip -Uz      62614573             2.6             24m42s      25m30s

最大の圧縮率を提供するように最適化されていますが、競合他社に比べて非常に低速です。
エリックJ.

2
@Eric J.はい、しかし問題は、圧縮/解凍の速度が指定されていませんでした。)
アレクサンダー・リッチオ

3

Squeezechart.comには、さまざまな圧縮率の比較が含まれています。ただし、Nifleの答えで述べられているように、バイナリ形式でこのような高い圧縮率が得られることはほとんどありません。


2

ほとんどの圧縮ツールには、遅い圧縮/解凍時間とより多くのRAM使用量の妥協点で、より高い圧縮率を実現できる設定があります。

7-Zipの場合、組み込みヘルプで「アーカイブに追加ダイアログボックス」を検索して詳細を確認してください。


2

次のウルトラ設定で7zipを試すことができます。

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on big_file.mysql.7z big_file.mysql

2

完全な圧縮ベンチマークを構成する最高の圧縮リストを持つ複数ファイル圧縮ベンチマークテスト概要を確認してください。

トップ30

ここに画像の説明を入力してください

このテストの(圧縮に基づく)上位のパフォーマンスは、PAQ8およびWinRK(PWCM)です。300+ Mbのテストセットを62 Mb未満に圧縮することができます(サイズが80%縮小)が、テストを完了するには最低でも8時間かかります。第1プログラム(PAQ8P)はほぼ12時間かかり、第4プログラム(PAQAR)はさらに17時間かかります。WinRK、2番目に最高の圧縮(79.7%)を備えたプログラムは、約8.5時間かかります。驚くことではないが、言及されたすべてのプログラムは、圧縮にPAQ(-like)エンジンを使用します。画像が埋め込まれたファイル(Word DOCファイルなど)がPAQ8を使用している場合、PAQ8はそれらを認識して個別に圧縮し、圧縮を大幅に向上させます。上記のすべてのプログラム(WinRKを除く)は無料です。


1

ここでの最善の策は試行錯誤のようです。各ファイルで利用可能なすべての圧縮技術を試してみて、ウェブサイトに配置するのに最適なものを選択してください。幸いなことに、コンピューターはこの種のことを非常に高速に行い、退屈しません。プロセスを自動化する単純なスクリプトを作成して、「比較的痛みのない」ものにすることができます。

奇跡を期待しないでください-700 mbから30 mbまではそれほど頻繁に起こりません。上記のログファイル-はい。「あなたの平均的なファイル」-方法はありません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.