ソフトを開発しようと思った動機、背景
アルゴリズムによって画像品質にどれだけの差があるのか? また、縮小・拡大の両方で良好な結果を得られるアルゴリズムはどれか? そういった疑問を解消するべく開発したソフト。それが「R13」です。もともとは「Lanczos3」を実装するために作りはじめたテストプログラムだったのですが、「Lanczos3」の縮小結果を他のアルゴリズムと比較しようと思い、あれこれ追加しているうちに、いまのような姿になりました。国内では「バイキュービック」と「バイリニア」の二つが有名ですが、それ以外にもリサンプリングアルゴリズムは数多く存在します。「Lanczos3」は高品質に縮小できると評判のアルゴリズムです。もし「Lanczos3」という言葉をはじめて目にするのであれば、この機会に触れてもらえたらと思っています。
開発中に苦労した点
「Lanczos3」をはじめて実装したとき、その処理の遅さに呆然としたのを覚えています(1024×768から400×400への縮小に6秒以上)。アルゴリズム数の拡充より、高速化に多くの時間を費やしました。
今後のバージョンアップ予定
リサンプリング用に新たなアルゴリズムを追加する予定はありません。ただ、リサンプリングと組み合わせて使うことができるノイズ除去処理を充実させる予定です。これは、一見きれいに見えるJPEG画像であっても、拡大するとJPEG特有のノイズが顕著になるからです。
また、「R13」は画像品質にこだわりをもたれている方を対象としたソフトです。今後は、画像品質繋がりで「JPEG専用のブロックノイズ除去」や「不鮮明画像の高画質化」といったソフトを開発していけたらと思っています。
最後に
「Lanczos3」を実装する際に以下のホームページを参考にさせていただきました。Wikipediaと“Lanczos resampling”を寄稿された方に感謝いたします。
- http://en.wikipedia.org/wiki/Lanczos_resampling
(Lanczos3のサンプルコードを入手できます)
P.S. ちょっと読み方が難しいのですけど、「Lanczos」は「ランゾス」と発音するようです。「Lanczos3」は「ランゾススリー」となります。誤って覚えてしまった作者は、いまでも「ランクゾススリー」と言ってしまいます。
(msatoh)