zopfli

ニュースで zopfli の存在を知った。
https://code.google.com/p/zopfli/
zlib圧縮はPNGとかSWF等のファイルフォーマットで使われてるけど、圧縮率が上がればファイルサイズが小さくなるという事で結構おいしいかも、と思った。でも圧縮率を上げると解凍に時間が掛かるようにはならないんだろうか?
DeflateのAlgorithmがよくわかってないしベンチマークとか見てないからわからない。。
いつか↓のを読んで理解したい。
http://www.zlib.net/feldspar.html
まぁzlibは展開は速い方だから気にしなくて良いのかも?

ニュースを見た時に、PNG画像の圧縮率を高めるのに使えそう、とか当然思ったけど花粉症だし実装する気は起きなかったら既に作られてた。
http://blog.livedoor.jp/imaya_js/archives/6334344.html

zlib圧縮されているSWFファイルを処理するプログラムを作った。
https://github.com/beru/swf-zopfli
結構圧縮するのに時間が掛かるけれど期待してたよりはファイルサイズは縮まなかった。
SWFってデータ全体をzlib圧縮しているけど、それ以前に DefineBitsJPEG2, DefineBitsJPEG3, DefineBitsLossless, DefineBitsLossless2, DefineBitsJPEG4, Screen Video bitstream format 等の部分が既にzlib圧縮済みなので、それらをzopfliで再圧縮するようにしたら良いのかもしれない。圧縮時間は更に増えるのはまぁ良いとして、ちょっと実装が面倒くさい。。