逆DCTを試してみたかったので、JPEGファイルをBMPファイルに輝度だけを変換するプログラムを書いてみた。
元来、ハフマン符号のデコードさえもPythonでは遅かったが、逆DCTを追加したら非常に遅くなってしまった。
本に載っていた計算式をそのまま実装したので、浮動小数点演算で、cos計算のテーブル引きも使わずに、
ひとつの画素を計算するのに8x8のループを回している。実際のところJPEGのAC成分の係数には0が
多く含まれているので計算はかなり省略可能なんだと思う。
もちろん、浮動小数点演算ではなくて、32ビット整数演算すれば速くなります。
jpeg2bmp.py
BaseJpegDecode.py
(2012/10/28)
---
0 件のコメント:
コメントを投稿