little things of mine

from los angeles, california

Month: March, 2006

ajaxSketch

第二弾. ajaxSketch: an ajaxLaunch family application 今度は簡易ドローアプリケーションです.SVGを使っているそうなので,Firefox 1.5以上が必要です. ちょこっと試してみましたが,動作が結構重い感じ.これで本気で作図するのはちと辛い.気軽に使えるとは言い難いかな?あと保存形式がSVGってのもどうかなあ. でもこんなにデスクトップアプリっぽいウェブアプリ,凄いですね.

sRGBとAdobe RGB – 2

Adobe RGBはどんな時に効果があるか. それは,sRGB以上の色を表現できるデバイスで表示する時であり,一番多いのはプリンタで出力する時でしょう.最近のインクジェットプリンタは高性能で,Adobe RGBの範囲を表現できる物も少なくありません.画像データがAdobe RGB空間の色を保持していれば,より豊かな色を再現できます. しかし,一般的なモニタはsRGBまでしか再現できない事を昨日述べました.つまり,Adobe RGBが正しく表示できるかどうかは,画像表示アプリケーションに依存する事になります.理想的には,モニタで画像を表示する全てのプログラムがきちんとプロファイルを認識し,最も近しいと思われる色で表示してくれれば問題無いのですが,まだまだそういう状態には程遠いようです. よって,Adobe RGBによる恩恵は確かにありますが,最終的に出力するデバイスに依存する事になります.むしろ,プリントはしない,見るのはモニタ上だけというような場合には,sRGBで保存する方がトラブルが少ないと思います. ここで一つ考えられる事があります.Adobe RGBの方が沢山の色を表現できるんだから,Adobe RGBで保存しておいて,必要があればsRGBに変換すればいいんじゃない?確かにそうかも知れません.しかしながら,Adobe RGBからsRGBに完全に変換できる式が存在しない限り,8bit/channel同士のテーブル変換ではあまり正確には変換できないと思います. そもそも違う色空間による結果の違いは,大元のデータが8bit/channelよりも広いレンジを持っている場合においてのみ意味のある話です.例えばデジカメのCDDからの出力,physically basedなレンダラから出力された輝度の値などです.モニタ上で一から描かれた絵にはあまり意味がありません. ですから,デジカメであればRAWフォーマットのファイル,レンダラならHDRなファイル(.exrとか)で保存をしておけば,必要な場合にどちらにも変換,tone mappingが可能になりますから,出来る限りそうする事が好ましいでしょう.ディスクスペース的には厳しいかも知れませんが,仕事で高品質な画像を扱い,環境の許す場合は是非そうすべきだと思います. そろそろ,画像なら8bit/channelという常識を見直す時期なのかも知れませんね.

sRGBとAdobe RGB – 1

勉強したので防備録代りに. あるサイトで,「Adobe RGBで保存するとsRGBよりも広い範囲の色を使う事が出来る」と書かれていました.え?ファイルは同じ8bit/channelなのに? 疑問が湧いたら調べましょう.以下は自分の理解をまとめた物です. sRGBとAdobe RGBと言うのは色空間の名前です.以前書いた色空間の話とは少し違って,今回の色空間は「現実に存在する無限の色をどのように表現するか」を決めるための座標系です.この図を使って説明します. 上の図の色の付いた領域は,可視光,つまり人間が目で見ることの出来る色の範囲をCIE表色系で表した物です.この範囲の色がそのまま色んなデバイスで再生できれば良いのですが,さすがにそれは無理なので,もう少し範囲を狭めてやる必要があります. sRGBとAdobe RGBはその狭めた範囲の代表的な二つで,それぞれの色空間が扱える範囲は上の図の三角形の範囲に相当します.ふむ,確かにAdobe RGBの方が少し広いですね. しかし,色空間でいくら広い範囲を定義可能でも,ファイルは同じ8bit/channelです.Adobe RGBの方が沢山の色を表現できる訳はありません.では,なぜ「広い範囲の色を使う事が出来る」のか. sRGBやAdobe RGBというのは,結局の所数字の変換テーブルです.例えば,ファイルに(r, g, b) = (10, 20, 30)という値が入っていたとすると,それをCIEの表色系に変換する時どのような値に変換するかはsRGBとAdobe RGBで結果が違う,という事になります. つまり,Adobe RGBはファイルに保存されているRGBの値をsRGBよりも広い範囲にマップする訳で,この意味で広い範囲の色を扱えるという事ですね. しかしながら,一般的なモニタで表現できる色はせいぜいsRGBの範囲なので,Adobe RGBで保存された画像はそのままでは期待した通りに表示できません.ファイルにプロファイルとしてAdobe RGBである事が書かれていれば,表示アプリケーション側でそれを指標に色をエミュレーション表示する事が可能ですが,そうでない場合はAdobe RGBで保存された画像を正しい色で表示させる事は出来なくなります. では,Adobe RGBはどんな時に嬉しいのでしょうか. 3/30/06 追記: otsuneさんより,以前の書き方では業務用や高価なAdobe RGBが表示できるモニタも含まれるように読めるとの御指摘を頂いたので,該当個所を「一般的なモニタ」としました.

「書けば良い」という逃げ

仕事をしていて,「作れば出来るのに」と思う事は良くあります. 実制作では,技術的に可能でもそれが出来ない事は多く,原因はパイプラインのとの兼ね合いだったり,技術的には可能でもそれを使って制作をするのは現実的ではなかったりと,色々な場合があります. 「出来ないのなら(出来るようするプログラムを)書けば良い」というのは尤もなのですが,既にある物を使って出来るのならそれに越した事はありませんし,それがパッケージの機能の一部であれば,きちんと統合されている分ユーザにも扱いやすいでしょう. ある問題を,今現在利用できる方法を組み合わせて解決するには「賢さ」を要求されます.プログラムが書けるからと言ってとにかく書けば良いという方法を選ぶ事は,短絡的でもあるし,ある意味逃げであると思います. もちろん新たな開発をする事は,今までよりもひとつレベルを上げるためには必要な事です.それに対して億劫になるべきでもありません.でも,どの部分に何を作れば一番効果が高いかを見つけるのはセンスが要ります. 自分も出来るだけ考えるようにしていますが,なかなか難しいです.

build an airplane

長年の疑問が晴らされた. How to build an Airbus A380 in about 7 Mins – Google Video