小山壯二の深掘 「16bitデータって使ってますか」

Adobe Photoshop CCで16bitデータの数値を「情報」ウインドウで調べようとすると変な数字になります

筆者は淡い空の調整や、白飛びしそうでしないグラデーションの調整には、必ず16bitで処理をするようにしています。

Photoshop CC 2020の「グラデーション」ツールで作った画像を題材に、8bit画像の限界を見てください

Adobe RGB 16bitデータ             Adobe RGB 8bitデータ
     
表示の仕組みが原因で少しトーンジャンプとして見えていますが、データそのものは双方に差は見えず、トーンジャンプもありません。
このデータをトーンカーブで編集してみます。

Adobe RGB 16bitデータ             Adobe RGB 8bitデータ
     
多分この画面では8bitの方が少しジャンプが多く見えるかなといった状態だと思いますが、実際に比較した場合とんでもない差があります。こうした差は「グラデーション」だけでなく、「被い焼き」「焼き込み」など微妙なトーンや色彩を調整するときに必ず起こりうる結果なので、もしこのような現象が現れたら迷わず一歩戻って16bitで処理されることをお勧めします。

ここからが今回の本題です

上記のような結果になった時、16bitだとどのように細かく数値が動いているのか知りたくで、「情報」ウインドウの数値を16bit表示に切り替えてみました。スポイトマークをクリックすると以下の様な選択が出来ます。


16bit表示の選択肢には 16 bit(0-32768)と書かれています。ここで2つの疑問が湧きました。
8bitでも16bitでも偶数になるので、0から始まれば奇数で終わるはずですが32768とあり偶数です。おかしい!!

16bitって2の16乗なので 0-65535となるのでは? おかしい!!

Adobeに問い合わせしました

Photoshopの16bitデータはアプリの内部では、15bitの数値(0-32767)に1加えて 0-32768として、真ん中の数値を整数で作り演算を高速に処理しているということです。当然1増えているので15bitで表記できませんから、16bitで表記しているようです。
(少しややこしいです)
ということは各チャンネル65536階調あるはずの16bitデータのうち、使っているのは半分+1だけとなります。8bitに比べれば圧倒的に豊富な階調なのです。

では保存した16bitデータの白や黒はどのような数値で保存されているのか、アプリ間の互換性を考えれば気になります。

16bitの数値が読めるアプリを探したのですが、「GIMP」というフリーソフトでは16bit表示が可能でした。


多くのプラットホーム、多くの言語で使われてきたアプリです
GNU Image Manipulation Program(GIMP)の公式Webサイトで入手できます。
https://www.gimp.org/

 

Photoshopで制作した16bitTIFFデータをGIMPで開きました。

白と黒のポイントをスポイトで計りました

    
黒はRGB共に0、白はRGB共に65535です。

16bitデータなんだと納得し、Photoshop内部と違う事に疑問が湧きます。

Photoshopでは16bitデータが実質的に15bitであろうと、圧倒的な情報量である事は揺るぎません。最大の効果をより素早く提供するために考案された仕組みのようです。いつからこうした規格になったのかは想像の域をでませんが、まだ競合するアプリもなく16bit画像データが扱えるハードが少なかった時代には、互換性に配慮する必要もなかったのでしょう。唯一気にかかる点としてはGIMPで確認したように、Photoshopでは内部処理と保存の何処かで、15bit+1を16bitに変換しているらしいということです。仮に超超微細な画像劣化が起きたとしても、16bitの数値確認は不用でそもそもオーバースペックとなるデジタルフォトの場合、どうでもよいことなのかもしれませんが、スッキリしません。

決して私はクレーマーではありません。








小山壯二
株式会社プロテック代表取締役
いち早くデジタルフォトに取り組み、画像処理前とアナログ時代に培った撮影テクニックで、
精⼀杯写真を撮影する。テスト記事を中⼼にカメラ雑誌への執筆も数多くこなしてきた。
最近は語られなくなっているデジタルフォトの基礎など、深掘り小山壯二として使命を感じて活動。
写真に関する好奇⼼はいまもって旺盛。