画像圧縮を試みる jpgには完全にかないませんが、ビットマップに比べれば ファイルサイズは結構圧縮されているのでこれで良しとします。 pngよりもサイズが少ないこともあります。 方法としては、 1:イメージをYUVに分解する 2:U要素とV要素を半分の解像度にする 3:U要素とV要素を量子化する <-ものすごく適当 4:ピクセルデータは直前のピクセルとの差分を取る 5:ピクセルデータを調べ、ハフマン符号法により符号化する としました。(どれもかなり適当ですが) 2,3をしなければ可逆圧縮になるはず。 また、このソース群に含まれる jp.gr.java_conf.tama.io.BitInputStream.javaと jp.gr.java_conf.tama.io.BitOutputStream.javaは TJP(http://www.oikaze.com/~tamada/TJP/)を使わせていただきました。
|