Saturday, October 22, 2011

32bitグレースケールはfloatで[0,1]の値

グレースケール形式にハマりました.

一般的なグレースケール画像は8bitグレースケールですが,より分解能が高い形式もあり,16, 32, 64bitグレースケールがあります.(たぶん今後はもっと分解能上がる)

8bitグレースケールは,画素あたり[0,255]整数で表現されるので,一般的に整数で表現します.
プログラミングでの書き出しもこの範囲の整数で書きだします.
しかし,同じノリで16,32,64も整数で記述するものと思っていたのですが,違ったようです.
32,64は整数で扱うソフトウェアがかなり少なく,浮動小数点形式が一般的のようです.
このような情報をどこかに明記してくれていればありがたいのですが,見つからなかったので,photoshopでグレースケール画像を生成して,tiff形式で保存して,tiff画像のタグを見ることで,知ることができました.

はじめに,16bitと32bitグレースケールをtiff形式で作ります.
次に,TIFFの分析ソフトを使ってタグを見ます.私はTiffAnalyzerを使いました.
http://www.vector.co.jp/soft/mac/art/se136821.html

タグを見た結果,16bitグレースケールのときは,タグなしだったのに,32bitグレースケールでは,sampleformatが3になっていました.
sampleformatが3の意味は,浮動小数点形式で画素を表現するということです.
下のページは,TIFFのタグ「sampleformat」について書かれたページです.
http://www.awaresystems.be/imaging/tiff/tifftags/sampleformat.html


32bitで浮動小数点といえば,floatなので,保存はデータをfloat形に変換して出力することがわかります.
また,実験的に生成したグラデーションのデータを観察すると[0,1]表現だったので,32bitグレースケールはfloatの[0,1]で表現することがわかります.

この条件を満たすように32bitグレースケールを生成して,いろんなソフトで開けるかを実験します.
作った32bitグレースケール画像は,ウィンドウズ7の標準のビューワーやphotoshopなどなど複数のソフトウェアで開くことができました.
一方,実験の中で作った,整数型のグレースケールは32bit指定しても,多くのソフトウェアで開けませんでした.

ということで,既存のソフトウェアで32bitグレースケール画像を開けるような画像を生成したときは,floatに変換して書きだす必要があります.

Friday, October 14, 2011

桁違い

例にもよって,このブログでは研究活動の内容を書かないようにしているのですが,ちょろっとメモ.

今,M先生と論文原稿テニスをしているのですが,その中で桁違いの実力の差を感じました.
先生はものすごく編集が速いのです.
今回のテニスでは,編集にMS Wordを使っています.
いつからか知りませんがWordでは,リボンのファイルタブの情報という項目で編集時間が見れるようになっています.
その機能を使って,意図的ではないですが,先生の編集時間を知ってしまいました.
ものすごく短いのです.
6から7ページの原稿を概ね1時間で編集しています.

私は一文の書き方が決まらずに1時間過ぎてしまうことがあるというのに,先生はそうこうしている間に一編を適切に編集してしまうわけです.
自分の場合は一時間かけても不適切なことがあるのに,と思うと,もう桁違いだと諦めるほかありません.
やはり先生と呼ばれる先生は,あーでなくっちゃ駄目だと思いました.

Saturday, October 8, 2011

GI含めたレンダリングは時間がかかる

毎度毎度レンダリングするたびに思いますが,レンダリングは時間がかかる.
600万ポリゴン程度でもグローバルイルミネーションつけるだけで1時間かかる.
待ってる間はPCで遊んでろという話かもしれませんが,CPUの使用率100%の中ではさすがにPCを使う気にはなりません.

あー,毎度思う.