akiraaniの日記: ScanSnapの圧縮率による変換速度の怪 1
日記 by
akiraani
圧縮率の設定を変えたら、変換速度にどれくらいの差が出てくるのかを、28ページの同人誌(A6オフセット、表紙のみフルカラー)をスキャンしてテストしてみた。
試してみたのは圧縮率5,3,1について。スキャン完了時点で変換が何ページまで終わっているかを調べたところ、それぞれ16,15,14だった。解像度設定が同じなのでスキャン速度そのものは変わらない。ということは、圧縮率1の方が若干遅く、少なくとも有意な差が見られない。
スキャン後のサイズは12M,25M,78Mと、圧縮率にほぼ反比例して少なくなっていく様子。
で、Acrobatで最終的に処理した結果はというと、今度は元の圧縮率が低い方が最終的なファイルサイズはわずかだが小さいという結果に。
画質のチェックをしてみたが、目に見えて差が出る部分はない模様。
最終的なサイズが取り込み時に圧縮しない方が小さくなると言うのはなんとなくわからないでもないが、スキャン後の変換速度が遅くなると言うのはかなり意外な結果。
測定方法がいい加減というのもあるが、純粋にファイルサイズがでかくなるからその分アクセス速度がボトルネックになっているということだろうか。ということは、Scan時の圧縮アルゴリズムは圧縮率に関わらず同じだけの処理速度がかかる可能性が高そうだ。ううむ……。
圧縮にかかる時間 (スコア:2)
のではなく、「圧縮率が高い(小さいファイルが作られる)時ほど速い」はずです。たくさんデータを作らないといけないので…
具体的にはたくさんハフマンコードを作ってビット列をバイト列にパッキングする部分が辛いです。超ざっくりで1バイトのJPEGデータを作るのにかかる時間は10~50CPUサイクルなので、 50MBのファイルサイズ違いがあると0.5~2.5Gcycleぐらいかかります。つまり3GHzのCPUで0.5秒とか1秒行くかどうかぐらい。
いまどきのHDDで50MBぐらい書き出すのはファイルシステムの影響を考慮しても2,3秒程度と思いますが、これと比べて無視できるほど小さい時間じゃないかと思われます。
-- Takehiro TOMINAGA // may the source be with you!