これからの圧縮ソフト

データ圧縮ソフトにはさまざまなものがありますが、大きくはlossy(非可逆)とlossless(可逆)の二つに分類できます。MP3やJPEGが使われるようになる前は、圧縮前後でファイルの内容に全く差が生じない、可逆圧縮が主流でした。その当時からある圧縮方式にはZipやGIFなどがあります。コンピュータ画面の多色化高精細化にともなってJPEGによる非可逆圧縮された画像ファイルの公開が広まりました。非可逆圧縮では圧縮の前後でファイルの内容が異なります。多くの場合、感覚的にあまり意味を持たない部分を省略することで圧縮を実現しています。圧縮前後のファイル内容が感覚的に「だいたい同じ」であれば良い場合に用いられますので、視覚と聴覚に影響を与える、画像圧縮と音声圧縮で使われることの多い方式です。

この10年間で、ファイルのためのZipやLHa、画像のためのJPEG、音声のためのMP3やAAC、動画のためのMPEGなどが普及してきました。圧縮にはもともと、ハードディスク容量を圧迫している大きなファイルを圧縮して空き容量を増やす目的と、ネットワークなどでのデータ転送の転送容量を減らすための工夫としての圧縮、という二つの目的があったのですが、記憶媒体の低価格化とネットワークの広帯域化によって、圧縮をする意味がだんだんと薄れてきています。じゃぁ、圧縮ソフトはこれからは必要がなくなるのか? と考えると、どうもそうではなさそうです。携帯電話やiPodなどの携帯機のための圧縮はもちろんなんですが、これからは圧縮用途よりもアーカイブ、すなわち複数のファイルをひとつにまとめる機能のほうが重要になってくるような気がします。

さてMac OS Xには、Mac OS 9までのリソースフォークに似た「バンドル」というファイルの仕組みがあります。その仕組みによって複数ロケールをひとつのアプリケーションとしてまとめることができます。バンドルの実体はディレクトリなので、ターミナルからアプリケーションを見るとディレクトリの中にさまざまな画像や各国語用のリソースが入っていることが分かります。バンドルであるためにFinderからはひとつのファイルとして扱えるわけです。ただ、そのバンドルを扱えるのはHFS+だけなので、NFS、FAT、NTFSなど、別のファイルシステムでは「ディレクトリの中のファイル群」という扱いしかできません。そのため、電子メールへの添付やインターネットでの公開には適していないのです。

そこでアーカイブの出番です。複数ファイルをひとつのファイルにまとめ、エラー訂正機能や暗号化や署名機能などが付加されれば、安心かつ便利にファイルのやりとりができます。じつはこの考え方はすでにOpenOfficeでも使われています。OpenDocumentフォーマットは実は複数の内部ファイルから成り立っており、それをPK方式のZipでアーカイブしたファイルとして保存します。ユーザーは単ファイルとして扱うことができ、アプリケーションからはバンドルとして扱える、とても便利な構造です。しかもオープンになっている技術のみを使っているので、対応アプリケーションを作るのも比較的容易です。ほかにもJavaで使われるjarファイルも似たような仕様になっていますね。どちらも圧縮率は二の次で、アーカイブ機能(とプラス・アルファ)をメインに考えています。