窓の杜 トップページへ
今月の掲載ソフト 過去のニュース あいうえお順
from 窓の杜ML かうんとだうん 窓の杜について
Click Here
【Click Here!】
特集


ファイル圧縮対決6番勝負!
著名なファイル圧縮形式のうち一番小さくなる圧縮形式はどれだ?

(98/11/16)

 普段なにげなく使っているファイル圧縮ソフト。しかし世の中には数々の圧縮形式があることをご存じだろうか。世界で最も広く利用されているZIP、日本では最もメジャーなLZH、この2つは窓の杜の読者ならばほとんどの方がご存じだろうが、ほかにもCAB、ARJ、TGZ、最近ではRARやYZ1、BZ2というものも見かける。その違いは圧縮アルゴリズムにあるわけだが、それでは圧縮率にどこまで差があるのだろうか。そこでいくつかのファイルを用意して圧縮テストを行ってみた。

 なお、すべての圧縮形式は最大の圧縮率となる圧縮時オプションを使用し、比較の参考として日本で10年以上昔から最もよく使われているlh5オプションでのLHA圧縮のデータ(LZH-5)も添えてある。圧縮技術について現在どれだけ進歩してきたのかという視点で見るのも一興だろう。

 テストにはWindows 95 OSR2.0のインストールされたマシン(CPU: MMX Pentium 150MHz、RAM: 64MB)を用いたことを記しておく。また圧縮時間は試行1回について手元の時計で計測したもので、あくまで目安と考えていただきたい。

【対決1】プログラムファイル(バイナリ)の圧縮

圧縮素材:EXEファイル 元サイズ合計:12,253,056 Byte、ファイル数 3
形式圧縮後サイズ
(Bytes)
圧縮率
(%)
高 < 圧縮率 > 低圧縮時間
(秒)
1CAB4,455,81236.4246
2RAR5,126,22641.81075
3BZ25,232,85942.7100
4LZH5,446,21244.4119
5ZIP5,508,48645.096
6TGZ5,524,84845.1140
7ARJ5,539,38745.271
8SIT5,665,27346.269
9LZH-55,671,93646.364
10YZ15,672,34946.375

 大きなサイズほど差が出ると思われたので、手持ちのプログラムのうち最も大きかった3ファイルをサンプルにした。結果はご覧の通り。ドングリの背比べの中、Windowsのインストールディスクでお馴染みのCAB形式が、大きく差をつけてトップ。なお、CAB圧縮にはMSZIP形式とLZX形式があるが、LZX形式(圧縮レベル21)のほうが小さくできる。

【対決2】データファイル(テキスト)の圧縮

圧縮素材:TXTファイル 元サイズ合計:6,481,375 Byte、ファイル数 3
形式圧縮後サイズ
(Bytes)
圧縮率
(%)
高 < 圧縮率 > 低圧縮時間
(秒)
1CAB2,595,39540.0113
2RAR2,638,77540.7352
3BZ22,639,90740.772
4YZ12,825,58043.631
5LZH2,849,32244.041
6TGZ2,857,04544.126
7ARJ2,885,80144.526
8ZIP2,887,65344.623
9SIT2,971,46945.833
10LZH-53,000,72546.327

 テキスト圧縮ではYZ1が強いとも言われているが、結果はご覧の通りCABの2連勝。しかし、YZ1もLZHやZIPといった有名どころより明らかに高圧縮なのは確かだ。メールやパソコン通信のログファイルは一般にテキスト形式だが、捨てるに捨てられないだけに膨大になりがち。圧縮してサイズを小さくすればディスク容量の節約となるが、圧縮形式の選択によってはサイズが大きく異なることに注目。

【対決3】データファイル(バイナリ)の圧縮 I

圧縮素材:HLPファイル 元サイズ合計: 3,752,059 Byte、ファイル数 3
形式圧縮後サイズ
(Bytes)
圧縮率
(%)
高 < 圧縮率 > 低圧縮時間
(秒)
1CAB2,234,57860.066
2RAR2,262,78560.3203
3LZH2,345,39762.537
4TGZ2,364,00663.050
5ZIP2,364,25863.026
6ARJ2,368,39563.121
7BZ22,383,10563.548
8LZH-52,423,97164.621
9SIT2,433,44164.936
10YZ12,455,88265.527

 バイナリ形式のデータではどうかということでヘルプファイルを圧縮してみた。ここでもCABが僅差で逃げ切って3勝目。対決1、2で強さを見せたRARはここでも2位となっているが、圧縮速度の点ではいずれも最下位という結果になっている。4~9位はグラフにも差が現れないほどの僅差なので、圧縮するヘルプファイルによっては順位が入れ替わることもあるようだ。

【対決4】データファイル(バイナリ)の圧縮 II

圧縮素材:DOCファイル 元サイズ合計: 2,123,264 Byte、ファイル数 3
形式圧縮後サイズ
(Bytes)
圧縮率
(%)
高 < 圧縮率 > 低圧縮時間
(秒)
1BZ266,4263.177
2CAB66,4773.129
3RAR71,4473.426
4YZ175,2793.52
5SIT75,5973.69
6TGZ77,7013.721
7LZH77,9683.78
8LZH-580,9393.86
9ZIP81,0383.87
10ARJ81,1793.87

 別のバイナリ形式のデータではどうかということで、ワードパッド文書(DOCファイル)を圧縮してみた。こちらは新星BZ2が僅差でCABを抑え、1位になった。どの形式でも、概してDOCファイルはかなり高く圧縮されることがわかる。

【対決5】データファイル(バイナリ)の圧縮 III

圧縮素材:PDFファイル 元サイズ合計: 2,738,567 Byte、ファイル数 3
形式圧縮後サイズ
(Bytes)
圧縮率
(%)
高 < 圧縮率 > 低圧縮時間
(秒)
1CAB2,097,39776.647
2RAR2,114,24877.2125
3LZH2,160,56778.920
4BZ22,171,93679.338
5YZ12,179,92379.621
6TGZ2,180,58679.612
7ARJ2,188,85579.912
8ZIP2,189,95880.013
9SIT2,196,93780.217
10LZH-52,269,76782.914

 もともとある程度圧縮されているバイナリデータではどうかということでPDFファイルを圧縮してみた。結果はほとんど差がなかったが、やはりCAB、RARが強い。

【対決6】画像ファイル(バイナリ)の圧縮

圧縮素材:BMPファイル 元サイズ合計:5,281,002 Byte、ファイル数 3
形式圧縮後サイズ
(Bytes)
圧縮率
(%)
高 < 圧縮率 > 低圧縮時間
(秒)
1BZ21,997,42737.8167
2CAB2,235,09342.382
3RAR2,314,24643.8175
4LZH2,355,24444.629
5ZIP2,376,67245.021
6ARJ2,395,22445.419
7SIT2,397,18145.433
8TGZ2,399,80245.442
9LZH-52,410,93545.723
10YZ12,461,05546.630

 非圧縮画像ファイルのスタンダードとしてフルカラーのBMPファイルを圧縮してみた。ここではBZ2が意外な強さを見せ、金星をゲット。CAB、RARもやはり強かった。なお、インターネットでよく用いられるJPEGやGIFといった画像形式は、もともと高い圧縮率で圧縮されているため、圧縮ソフトを使ってさらに圧縮しようとしてもほとんど変化がないことを付け加えておく。

【総合成績】

 順位をそのまま配点とし、加算した結果をあげておく。
1CAB8
2RAR14
3BZ219
4LZH26
5TGZ36
6ZIP40
7ARJ43
7YZ143
9SIT47
10LZH-554

 総合的にはCABの圧勝ということになった。もちろん圧縮素材によっては多少の順位変動はあるものの、他の圧縮素材でテストしてみても傾向が大きく変わることはないようだ。CAB形式での圧縮は時間もあまりかからず、またCAB32.DLLを使うものを含め、既に20以上のアーカイバーが対応しているため、操作性も好みのものを選べるという利点もある。一般的にはまだあまり使われていないようだが、今後注目されるべき圧縮形式だろう。また、逆に圧縮率の高さで知られるRARは、最大の圧縮率を望む場合は、かなりの圧縮時間が必要になるということを知っておくべきだろう。

 さて、今回は圧縮率と圧縮速度以外の特徴には触れなかったが、それぞれの圧縮形式には圧縮率のほかにも、パスワードをかけられたり、対話型の自己解凍形式にできるなど、得意不得意がある。また、データやソフトの配布用に用いる場合は解凍可能なソフトの普及率も重要な選択基準になってくる。実際に利用する場合は、単に圧縮率で圧縮方式を選ぶのではなく、用途や目的に応じて最適なものを選択するべきだが、それらは機会を改めて解説したい。

 なお、非Windows環境を含めれば、上記の圧縮形式よりさらに数パーセント小さくなる圧縮形式もある。圧縮率の熱い戦いに興味がある人は下記のページをのぞいてみるといいだろう。

□世界中の圧縮形式比較一覧「Archive Comparison Test by Jeff Gilchrist」
http://personal.nbnet.nb.ca/jeffg/
□圧縮技術関連のリンク集「Mitsuharu ARIMURA's Bookmarks on Source Coding/Data Compression」
http://www.sr3.t.u-tokyo.ac.jp/~arimura/compression_links.html
□圧縮アルゴリズムの解説「自分で作って使おう、データ圧縮プログラミング入門」
http://amethyst.ie.akita-u.ac.jp/~fukusima/compress.html
□圧縮ファイル形式や必要DLL、和製アーカイバーについての情報「統合アーカイバ・プロジェクト」
http://www.csdinc.co.jp/archiver/

◎本テストで圧縮に用いたオンラインソフト

□Explzh v2.68(LZH、CAB、TGZ、BZ2)、ZipFolders v2.03(ZIP)、WinRAR v2.05(RAR)、DeepFreezer v1.05(YZ1)、UNLHA32.DLL v1.27c(LZH)
http://www.forest.impress.co.jp/archiver.html
□CAB32.DLL v0.69(CAB)、TAR32.DLL v0.43(TGZ、BZ2)
http://www.csdinc.co.jp/archiver/
□CrAzY CloWN WIN 95/NT v2.1(ARJ)
http://www.geocities.com/SiliconValley/Peaks/7662/
□ARJ.EXE v2.60(ARJ)[MS-DOS] 343KB
ftp://ftp.iij.ad.jp/pub/simtelnet/msdos/arcers/arj260x.exe
□DropStuff for Windows 95, 98 and Windows NT 4.0 v1.0(SIT)
http://www.aladdinsys.com/

(ひぐち たかし)

トップページへ
特集・集中企画 INDEX


Copyright(C), 1996-1998 Impress Corporation.
編集部への連絡は mado-no-mori-info@impress.co.jp まで