Masthead



デジタル写真でのグラデーションについての考察


デジタル写真を、フイルム写真と比較してよく言われることに、「デジタルでは中間調のグラデーションがうまくでない」とか、「グラデーションの途中に階調の線が出てくる」というのがあります。
これは JPG で表現したときには避けられない問題ですので、それを解決する方法について記述しておきます。


1. Bit 数と階調

デジタル情報は2進数で保存や計算がなされます。
8 bit を使うと 2 の 8 乗で、256 階調が表現できます。 赤で 256、緑で 256、青で 256 の階調を組み合わせると、およそ 1600 万の色を扱うことができるわけです。
これはとても多いように思われますが、そうでもありません。 人間の目は、似た色が隣接している場合は敏感に見分けることができ、これがグラデーションの問題となります。


2. 実際に見てみる

簡単なソフトを書いてグラデーションのある絵を作ってみました。
RGBを各同じ量だけ混ぜると黒から白までの灰色になりますが、それを右下に 0 、左上に 255 が来るように並べてみると右のようになります。

絵をクリックすると大きくなるので表示させてみてください。
黒の近辺や白の近辺では判然としませんが、中央辺りを数秒じっと見て、目をゆっくりほんのわずかに左右に動かすと縦に境界の線が入っているのが分かるでしょう。 その線が1ステップ(1/256)の差です。 目を動かす代わりに頭を左右に動かすといいかもしれません。

これがまさしくグラデーション問題です。 
さらに、後で言及する「暗い部分の持ち上げ」を行った場合は1ステップではなく2ステップの境界になるので、これよりはるかに目立ってきます。

ところで、境界線の左右で、マッハ効果がみられるのが分かるでしょうか? これは脳が一生懸命境界を強調して見分けようと努力している結果です。

赤のみを256階調で表現した場合はよく見ないと分からない程度です。
緑だとかなりよく分かります。 人の目は緑に敏感に反応するようです。
青は目の感度が悪いので、境界のステップはそれほど目立ちません。


3. 暗い絵を Photoshop Elements で明るくすると


まず、暗いピクセルは 8 bit の一番上やその次の bit が使われていないことに注意してください。
また、Photoshop Elements は 8bit の処理であることに注意してください。
その条件で、暗い絵を倍の明るさにした場合は下側 7 bit を使って拡大することになりますから、途中のグラデーションは 2 ステップや 3 ステップの場所が頻繁に現れることになります。 1/128 は 2/256 ですから 2 ステップです。 

それを理解するために、右に 1から 255 までを 2 ステップで並べてみました。 一番上のグレイのサムネイルをクリックして拡大してください。 これだと 1 ステップの時より容易に境界が判別できます。
これが典型的なグラデーション問題です。

中程の2段だけここに表示しておきます。 65 から 159 までの 2 ステップの中間調グラデーションです。 境界がはっきり見えます。

境界の右側が少し暗く、左側が少し明るく感じられるのは「マッハ効果」と呼ばれる現象です。  人の目が、境界を強調しようとしています。





4. JPG の性質と TIFF16 の性質

JPG は上記のように 8 bit で表現するという制約の他に、圧縮時に圧縮比に応じた情報の欠落が発生します。 これは回復させることができません。 非可逆圧縮と言います。  ですから、保存時はできるだけ圧縮比を上げないで(非圧縮で)保存することをお奨めします。

これに対して、RAW ではメーカー間の互換性が無いデータ形式であることが問題になります。 ですから、ラボに印刷のために持ち込むには共通性のあるデータ形式が求められます。 それが TIFF です。
TIFF には 8 bit と 16 bit があります。 例えば Nikon のカメラは TIFF を直接 SD カードに書き込む設定ができますが、これはTIFF-8 です。 従って、本記事のグラデーション問題の解決にはなりません。

本命は、RAW で撮って編集し、 編集後は TIFF-16 に変換することです。


5. プロセス

カメラは 12 bit 乃至 14 bit の ADC(アナログ・デジタル変換回路)を持っています。 JPG で出力すると、その上位 8 bit だけを取り出し SD カードに書き込みます。 RAW で出力すると 14bit 全部をそのまま SD カードに書き込みます。
カメラによっては 14 でなく、12 の時もあります。

右の図のようなプロセスでは、JPG で出したデータはすでに下位の bit が失われているので、どうがんばっても元の状態を回復させることはできません。

どうしてもグラデーションの部分だけを改善したい場合は、Photoshop を使って、その部分だけに「ガウスぼかし」をかけ、 TIFF-16 で保存する、という手があります。 ごまかして段差を補間する訳です。
カメラから RAW で出した場合は 14(12) bit の情報がありますので、画像処理ソフトでの処理が非常に楽になります。
グラデーションの問題は起こりません。

ディスプレイについては、表示するだけなので、(作品として残すのはプリンターの出力なので)bit 数についてはあまり神経質になる必要はありません。

プリンターはできれば XPS を使って、16 bit 処理をすることをお奨めします。



6. 画像処理ソフト

Photoshop Elements は 8 bit の絵でも、16 bit の絵でも読み込むことはできます。 しかし、プロセスの重要なところでは 8 bit でないと動作しないように設計されています。 また、書き出し(保存)は 8 bit でしか行えません。 これは上位のソフト Photoshop との差別化のためです。
Phoshop (Elements ではない)では一貫して 16 bit の処理が行えます。 また Photoshop のプリプロセスである Camera Raw でも 16 bit の処理を行います。 ただし、JPG で保存するときは、やむなく 8 bit に品質を落としてからでないと保存できません。
Photoshop に対になっているファイル整理/簡易編集ソフトの Lightroom も 16 bit が扱えます。
他に 現像ソフトとして有名どころでは Capture One が 16 bit で処理できます。
カメラ購入時に付属してくる RAW 変換ソフトの Canon DPP、 Nikon Capture NX-D、また Silkypix も 16 bit のデータを扱うことができます。


7. ディスプレイとプリンター

表示装置(ディスプレイ)は一般的には 8bit で処理しますが、一部に安価なディスプレイでは 6 bit のものがあるので注意が必要です。 また、EIZO は 10bit の LUT (look up table) を持ったものがあり、精密な表現ができます。
Display に表示したものは作品として残すものではありませんから、LUT はあまり重要視する必要はないでしょう。
しかし、色の再現性は重要ですから(8bit でも)きちんとしたキャリブレーションと、その定期的な保守が大切です。
10 bit LUT を使うためにはディスプレイアダプタも 10 bit 以上をサポートしている必要があります。

印刷は、一般的には 8 bit 処理がなされます。 しかし、 一部のプリンターでは XPS のドライバーを使って 16 bit の処理も行うことができます。 私の使っている Canon Pro-10s は XPS ドライバが使えます。
できれば 16bit 処理をしたいものです。

ディスプレイとプリンタについては、上記3で説明したビット落ちのプロセスはないので、8 bit なら 256 階調を出せます。


8. ラボ(写真屋さん)での印刷

ラボの問題ですが、レーザープリンタは 8 bit で出力します。 インクジェットの場合はラボ次第なので尋ねるしかありません。
なので、自分のプリンターで XPS を使って印刷するのが無難ということになります。
京都にある AMS というラボでは、TIFF16 のデータを持ち込んで「インクジェットでお願いします」と言えば 16bit で印刷してくれます。

一部のラボでは TIFF のデータを受け付けないところがあります。 そういうお店は避けた方がいいでしょう。






(9/29/2015)
Ⓒ Copyright 2015  T. Fujiwara      All rights reserved.
Archiving or copying this article without the author's permission is prohibited.
藤原 武 写真 集 アルバム Tak Fujiwara