2011年1月7日金曜日

3DCG におけるリニアワークフロー その1

昨年、C3D でも話題になった、リニアワークフローですが、正直、どういうものなのかあまりわかっておらず、重要性も理解できていませんでした。しかし、以前から読まねばと思っていた、modo mode のTakumi さんのリニアワークフロー解説をざっと読んだところ、冷や汗がでました。これは知らねば恥ずかしいことだと感じたからです。

ということで、リニアワークフローについて、あとから読み返せるように自分なりにまとめてみようと思ったら、、、ウェブ上に色々と情報はあるものの、自分の頭ではいまいちしっくりくるものがなく、2日がかりで色々と調べまくりました。でも、間違ってるところがあったら、ご容赦&ご指摘ください。(´Д` )

Linear Workflow(リニアワークフロー)ってなに?

CG 用語は、単語の意味がわかれば、感覚的に理解できることが多いのですが、リニアワークフローは、いまいちピンときません。「Linear」と「Workflow」のそれぞれの意味を調べると次のようになっています。

Linear=線の、線形の、線状に伸びる、直線の、直線状の、長さの

Workflow=作業[仕事・業務]の流れ

「直線的な作業の流れ?」

やっぱり、良くわかりませんね、、、というわけで、リニアワークフローの「リニア」が何を示しているのか調べた結果、まず、ガンマというものを知る必要があるとわかりました。


Gamma(ガンマ)ってなに?

ガンマとは、「入力される情報と出力される情報のバランスのこと」だそうです。うーん、、、

RGB の場合、0, 0, 0 は、100% の黒(明るさ 0%)、255, 255, 255 は、100% の白(明るさ 100%)です。128, 128, 128 では、その中間(50%) のグレーになるはずですが、実際にその色を作ってみると、かなり濃く見えます。感覚的に50% グレーに見えるRGB 値は、186, 186, 186 ぐらいだそうです。



なぜ、このようになるのか?コンピュータ内部で、50% のグレーを作っても、ディスプレイのガンマ値が違うために、このようなことが起こります。ディスプレイのガンマ値は、2.2 となっているものが多いそうです。

ガンマについて説明されたサイトの多くでは、次のような図を見ることができます。Input(入力側)とOutput(出力側)のバランスがとれた状態、つまり、コンピュータで作った50% のグレーが、見た目にもそのとおりに見える理想の状態が、ガンマ値1.0 で、図では、真ん中の直線(Linear)がそれを示しています。繰り返しとなりますが、これは入力したものが、そのまま出力(表示)されることを意味します。



しかし、実際には、ほとんどのディスプレイのガンマ値は、2.2 ぐらいで、図では赤い曲線のような弧を描き、暗く見えてしまいます。

ガンマ値2.2 を、1.0 に近づけるためには、それとは逆の数値をかける必要があります。この逆の数値が、ガンマ(=対数)で、ガンマを使ってガンマ値を1.0 に補正することをGamma Correction(ガンマ補正)と言います。(2011年2月5日追記:ディスプレイなどは、ガンマ補正により、ガンマが2.2になっています。これを1.0のリニアなガンマに補正すること、つまりガンマ補正に対するガンマ補正のことを、ガンマ逆補正というそうです。)

そもそもディスプレイのガンマ値が1.0 になっていて、コンピュータで作った色が完全に再現できれば、ガンマ補正など行う必要がないわけですが、実際には、そうなっていません。理由については、下記、参照サイトのDesign Visualization 中の記事で触れられています。なので、補正が必要となるわけです。


結論:Linear Workflow(リニアワークフロー)とは

直訳的に解釈すると、「理想のガンマ値である1.0(図示すると「Linear=直線」になっている状態)に近づけるための作業手順(Workflow)」が、リニアワークフローということになります。実際の意味としては、画像や写真等、取り込んだ素材を適切な状態に変換し、正しく表示させ、その環境で加工したものが、また別の環境でも適切に表示させるための一連の作業ということになるかと思います。なので、リニアワークフローには、ディスプレイのガンマ補正だけでなく、画像のリニア化なども含まれます。

何だか、当たり前の話なんですが、それを今まで知らなかったというorz フォトリアルな表現などを追求するなら、リニアワークフローは必須と言えます。


3DCG におけるリニアワークフローとは

リニアワークフローは、2D でも3D でも、コンピュータで画像を作るときには、意識すべき事柄ですが、3DCG の場合に限定してまとめると、次のようになるかと思います。

1. テクスチャのガンマ値を適切に設定する。(テクスチャのリニア化)
2. CG ソフトで作った画像を、ディスプレイで正しく表示できるようにする。(環境のリニア化)
3. リニア環境で作った画像が、別の環境でも正しく表示できるように書き出す。

では、modo におけるリニアワークフローについての、具体的なお話は次の記事で。


参考にしたサイト

modo mode
modo におけるリニアワークフローについて。

Design VIsualization(Autodesk)
リニアワークフローの一般的な説明と、3DS Max に特化したお話。

osakana.factory - ガンマって何?
ガンマについての、噛み砕いた説明。

はてなキーワード 対数
対数の説明。

weblio 辞書 ガンマ特性
ビデオ用語としてのガンマ特性の説明。

ソニービジネスソリューション株式会社 ビデオ機能活用集 技術情報
ガンマについての説明。

Mac OS X v10.6 ガンマ 2.2 について
Mac OS X v10.6(snow leopard)のガンマ値についての説明。

3DCGデザイナ、映像屋あたりの日記
リニアワークフローの説明。Maya での実現方法。

ガンマ補正の話
ガンマ補正の話w

ディスプレイガンマの調整
ガンマ補正についての説明。

Topic - Video: The Beginners Explanation of Gamma Correction & Linear Workflow
Luxology フォーラムの、リニアワークフローについてのトピック。

0 件のコメント: