2011/02/05
2011/02/05
昨日からの続きです。一応、実験によって
「ZIP圧縮は音に影響しない」
という事が確認できました。
またネットで送受信しても問題なし。
というのも分かって一安心です。
しかし、ここでさらに理論的な裏付けというか、
本当にそうだよね?
と思える考察も付け加えておきたいなと思います。
でもその前に一言だけ。
こういう考察って
その迷信を信じている人達にとっては
気分の悪いものです。
いくら理論的に正しいからと言って、
鬼の首をとったかのように、しつこく説明したりすると
相手にはまるで
「お前が間違ってる」
「オレが正しいんだぞ」
と頭ごなしに言われるように感じるでしょう。
エンジニアの人も感性で作業している部分は当然あります。
ミックス時に、これから書くような事を延々語られたら
人によってはモチベーションが大きく下がってしまうかもしれません。
なので、タイミングを考えて話すようにしてください。
そういう苦い経験をもつ、僕からのお願いですw。
[可逆データ圧縮]
まずはZIP圧縮について調べてみましょう。
こういう時にWikipediaは便利ですね。
めちゃめちゃ詳しく書いてあるので、
ちょっと大事な部分を抜粋してきました。
現在の .ZIP ファイルフォーマット仕様では次のメソッドの詳細が記載されている。
stored (無圧縮), Shrunk, Reduced (メソッド 1-4), Imploded, Tokenizing, Deflated,
Deflate64, BZIP2, LZMA (EFS), WavPack, PPMd 。
最も一般的な圧縮メソッドは DEFLATE で IETF RFC 1951 に記載されている。
つまり、ZIP圧縮では一般的にDeflateという、
圧縮アルゴリズムを使用しています。
このDeflateも重要な部分を抜粋してみましょう。
Deflate(デフレート)とはLZ77とハフマン符号化を組み合わせた可逆データ
圧縮アルゴリズム。フィル・カッツが開発した圧縮ツールPKZIPのバージョン2で
使われていた。
ZIPやgzipなどで使われている。1996年5月に RFC 1951 としてドキュメント化された。
特徴
可逆圧縮
圧縮は比較的高速、伸長(元に戻すこと/展開)は非常に高速
インターネットで広く使われている圧縮形式
パテントフリー(保証されているわけではないが、特許にかかわる
アルゴリズムは一切使用されていないと考えられている)
日本で考案されたLHAとほぼ同じアルゴリズムを使う。
ここで重要なのは
「可逆データ圧縮アルゴリズム」
という点ですね。
ご存知の方も多いでしょうが、WAVやAIFをmp3やAACなどに
変換するのは「非可逆圧縮」といって、その逆は音が変わってしまいます。
↑これが非可逆圧縮ね。
でも「可逆データ圧縮アルゴリズム」というのは
完全に元の形に復元できる方式だという事です。
[ファイルタイプと圧縮アルゴリズム]
さらに僕が調べたのは、ZIP圧縮というものが
「ファイルの種類によって圧縮アルゴリズムを
変えるかどうか?」
という点です。
これは言い換えれば、ZIP圧縮解凍プログラムが
「お、これは.exeかあ、じゃあ1ビットたりとも
変えちゃいけないな」
とか
「あ、こいつはオーディオファイルね、
じゃあ、適当に圧縮すれば良いや」
なんて、やってたらどうしよう?!、
と思ったわけですw。
しかし、僕が検索した限り、このような事をする
ZIP圧縮メソッドというのは存在しませんでした。
つまり、プログラムファイル、画像データ、
オーディオファイルなど、どれでも同じ方式で
可逆圧縮をしている事になります。
これでますます「ZIP圧縮で音が変わる」という噂が、
都市伝説のようなものだと言えるのではないでしょうか。
だって、
ZIP圧縮したらプログラムファイルにバグが現れた!
とか
画像データをZIP圧縮したら特定の部分が赤っぽくなった!
なんて聞いた事無いですよね(^^;)。
それだけZIPというのは信頼できる可逆圧縮ということです。
たまーにそういう事ありますけどね、それはHDDやメモリが
おかしくなってた、とかハードウェアの不良によるものでしょう。
これはZIPだけでなく、全てのデータ移行でつきまとう不安要素です。
コレ言い出したら、何もできなくなっちゃいますし。
てな感じで、明日で結論つけます。
---
Kei Kusama
ZIP圧縮で変わる? 2