OSASK-WikiのKの落書きの過去ログ

  • 本家:OSA:K
    • 過去ログにコメントしたい人も、本家のこめんと欄に突っ込んでください。
      • そのうちKによって下のこめんと欄に移動しますので。

JPEGはさらに圧縮できるのか?

  • (2004.12.05)
  • OSASK ver.4.7 のディスクイメージを作る過程でFUJI.JPGが8.8%もtek5で小さくなったのをみてびっくり。JPEGに対するtek5圧縮は有効なのか?ということを確認するために、急きょ圧縮テストをやってみました。
    • これでもし有効だということになったら、SusieのJPEG+tek5プラグインを作ってもらおうかなと。
    • なお一般的にいって、このような二重圧縮は圧縮率がよくないのです。だから8.8%というのはわが目を疑うほどの圧縮率なのです。
    • テストに使ったJPEGファイルをまとめて公開しようと思ったけど、なんか結論がたいしたことないので、公開しなくてもいいかなと思っています。photoはあっきぃさんが撮った写真で、pictはhideyosiさんのOSASKページからダウンロードしたイラストのJPEGファイルです。
  • バイト数
    fujiphoto1photo2photo3photo4pict1pict2pict3pict4pict5
    無圧縮200961873891868561863721220545025011872455542116622133691
    dgc1982418548848240
    bzip21933618639448264
    PPMd1880718752047514
    LZMA1863818714647634
    stk1187501864194830811644652086113700132971
    gzip1864418604247734
    tek5183361839651829754679111445550328111428129536
    paq181541833751823451196514643011364949934110751128654
    • PPMdは7zのものを使ってバッファサイズ192MBを指定。
    • paqar 1.3 は圧縮オプション -5。
  • 指標A
    fujiphoto1photo2photo3photo4pict1pict2pict3pict4pict5max.
    無圧縮110.70102.19102.47102.01108.23104.47111.23105.30103.92
    dgc109.20101.15103.90109.20
    bzip2106.51101.65103.95106.51
    PPMd103.60102.26102.33103.60
    LZMA102.67102.06102.59102.67
    stk1103.28101.66104.04102.46104.31102.66103.36104.31
    gzip102.70101.45102.81102.81
    tek5101.00100.32100.35100.78100.71100.79100.61100.69101.00
    paq100.00100.00100.00100.00100.00100.00100.00100.00100.00100.00
  • 指標B
    fujiphoto1photo2photo3photo4pict1pict2pict3pict4pict5min.
    無圧縮-1.181-0.277-0.710
    dgc-1.0300.3650.037-1.030
    bzip2-0.6850.0080.024-0.685
    PPMd-0.091-0.3090.550-0.309
    LZMA0.208-0.2140.445-0.214
    stk10.0000.0000.0000.000
    gzip0.1960.1320.3650.132
    tek51.1861.6411.6491.186
    paq[inf][inf][inf][inf]
    • 参考指標は常にstk1を用いた。この関係で、stk1よりも悪い圧縮率のものは、結果が負になっている。
  • 考察:
    • まず指標Aを見てください。これは要するに、最も圧縮率のよいpaqarでのサイズを100として、他のサイズを規格化しただけのものです。
    • とりあえず「無圧縮」のところに注目してほしいのですが、たとえばfujiは110.70です。つまりpaqarの結果よりも1割以上大きいということです。逆に考えると、圧縮すれば最大で1割程度の削減が期待できる、というわけです。
    • photo1やpict1についても同様で、photo1は2%程度、pict1は8%程度の削減が可能であるというわけです。
    • で、ここで問題なのですが、この程度のわずかな圧縮は役に立つのか、ということです。まあないよりはマシなのは確かですが、たとえばCD-Rに100枚しか入らなかったのに、圧縮したら105枚入るようになった、とか、まあそういうレベルなわけです。どう思いますか?なんか微妙ですよね・・・。
    • ぶっちゃけ、JPEGを小さくしたければ、画質をほんの少し下げればいいと思います。それだけで、あっけなく2割とか3割はサイズが変わるでしょう。2%だの8%だのというのはみみっちいです。
    • 考えようによっては画質を全く下げないで小さくできるわけですから、すごいといえばすごいかもしれません。・・・しかしまあ、僕としては積極的に圧縮するべき、とまではいえない状況だなと思いました。これで終わってしまってはさみしいので、まあもうちょっと詳しく見ていきます。
    • 1割もの圧縮効果があるとされたfujiですが、削減バイト数は1.90KBです。また2%しか削減効果がないとされたphoto1ですが、それでも3.92KBは減ります。割合で考えるとたいしたことないかもしれませんが、元が大きいので削減バイト数で考えるとそれなりにボリュームはあります(OSASK的なセンスで考えた場合)。3.92KBといえば、1024キャンペーンアプリが4個分ですからね。・・・とかなんとか苦しい言い訳をしつつ、ここからしばらくはとにかくJPEGだって圧縮する意義があるんだ、という前提で話を進めます。
    • ここまでの話題はpaqarでの圧縮を想定しての考察ですが、paqarは展開があまりに遅いのでちょっと実用的ではありません。ということで、他の圧縮方法、特にtek5を中心に考えてみたいと思います。指標Aを再度見ますと、tek5はpaqarに対して最悪でも+1%であって、ライバルの形式よりもよさそうです。この表は最初、tek5とpaqarくらいしかなかったのですが、他の形式ならtek5よりもpaqarに肉薄できる可能性も捨てきれない、とりあえず一通り試してみないと!と思って、たくさん書き足して、現在にいたっています。
    • 特に指標Bで表を作ってみると、その傾向ははっきりします。僕にとってstk1というのは、これ以上簡単な圧縮形式なんて考えられない、というほど単純で芸のないフォーマットなのですが(=逆にいうと工夫が少なすぎてほとんど圧縮が掛からない)、それより悪い結果に終わる圧縮形式が大量に出てしまいました。PPMdでは、photo1で無圧縮よりも悪い値です。その中にあって安定してstk1を上回ったのは、gzipとtek5とpaqarだけでした。
    • というかtek5は安定しているばかりか、paqarに次ぐ2位の座を常にキープしています。他の形式は順位が乱高下していて優劣を決めがたいというか、まあ使う気になれません。JPEG圧縮といえばpaqarかtek5といってもいいでしょう。で、実用的な展開速度と言うことも考えに入れるなら、tek5以外の選択肢はないと思います。
  • 表には大量の空欄がありますが、どうもJPEG+tek5でこんなに縮むぞ!的な結果が出ないという傾向が見えてきたので、やる気がなくなって、途中でやめちゃいました(笑)。こんな状態でも、とりあえず全体的な傾向は見えると思います。要望があったり、気が向いたりしたら、空欄を埋めていきます。

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2006-02-16 (木) 18:00:06 (5977d)