2013年1月19日土曜日

JPEGエンコーダ・デコーダ

お久しぶりです。
また前回の更新から期間が空いてしまいましたね…。

さて、今回はプログラミングの話題です。

夏ごろに図書館で見つけたのですが、「JPEG―概念からC++での実装まで」という書籍があります。(Amazon, 出版社ホームページ

こちらの本では、JPEGの仕様解説から、それを書き込み・読み込みするためのプログラムのクラス設計・デバッグの方法などが載っています。
しかし、ハンガリアン記法かつMFCを使用しており、私はVisual C++ 2010 Expressで構築したかったので、こちらのサンプルソースを参考に書き直しました。
そして、上位クラス(JPEG・BMPを読みこんでエンコーダ・デコーダに渡し、返ってきたRGB・JPEGデータをファイルに書き込む)を新たに作成しました。

2つとも、コンソールアプリケーションですが、dll化することで他のソフトウェアに使えるかな、と考えています。
また、読み込みの方はsusieプラグインの仕様に合わせてみようと思っています。

こちらの書籍は、もう絶版となっておりAmazonで中古品を見ても結構な高値がついており、入手するのは難しいようです…。
しかし、JPEGの仕様について自分の手で理解できるのは素晴らしいと思いますので、もしよければ図書館等で探してみるのもいいかなと思います。

また、私が作成したJPEGエンコーダ・デコーダプログラムについては、もうしばらくしてから公開しようかなと考えております。
とは言っても、需要はあまりなさそうなので、そのままお蔵入りするかもしれませんが…。

(追記:公開しました。 3月1日の記事にて)

ちなみに私は、これを利用して自分の画像フォルダを整理するソフト(タグ付け管理・大きなファイルは再エンコードして圧縮など)を作ろうかと考えております。
こちらも、ちゃんと完成すれば公開する予定です。

個人的には、こちらの書籍と似た形でPNG・GIF形式について理解できる書籍などがあればいいな…とは思っています。

今回、このプログラムを作って、先人達が作った規格は素晴らしいな…と改めて感じた私でした。

ではまた、機会がありましたらば。

0 件のコメント:

コメントを投稿