iPhoneやSONYやCanonの一部のミラーレス一眼で採用されている新しい圧縮画像形式の[HEIF]
その特徴として、階調幅がJPEG画像の8bitに対して10bitであること、JPEGに対して2倍の圧縮効率を実現し、同等画質ならJPEGよりも低容量で記録できること、カラーサンプリングが4:2:2に対応すること(4:2:0でも記録可能)、HLGやPQ形式のHDR(ハイダイナミックレンジ)に対応するのが特徴です。
非可逆圧縮なのはJPEGと変わらないものの、1992年に登場した古い規格のJPEGに対して、HEIFは2015年に規格制定されて、2017年より最初にAppleがiOSとmacOSでサポートしました。
Windowsは2018年より拡張機能として有償サポートしています(ただしこれが曲者で、後述します)。
大昔からあるJPEGは、四半世紀以上Webなどの主力画像形式ですが、近年動画ファイルは10bit HDRや高色域のRec.2020、解像度は4Kや8Kといったものも登場し、特に階調面や色域の点では、静止画よりも進んだものになっています。
こうした中、動画の高画質圧縮技術が静止画に降りてきた、というのがHEIF形式です。
NikonもZ 8でHEIF形式をサポートしました。
ではJPEGに置き換わるものとして使えるのか、という話です。
Z 8のHEIFはHLGに設定しないと使えない
まず、Nikon Z 8のHEIFは、階調モード[HLG](ハイブリッドログガンマ)に設定しないと使えません。
Z 8の画像記録は、[RAW+FINE★] [FINE]といったように、RAWではない方の圧縮画像形式の場合は、従来のカメラと同様、単純に圧縮率の設定でしか表示されません。
つまり、画質設定では、JPEGかHEIFかは選べず、階調モードを[SDR]か[HLG] で、JPEGかHEIFかが切り替わる方式です。
HDRの1つであるHLGは、対応のディスプレイでないと正確に表示できないのですが、PCのモニタもテレビもスマホも、ここ何年かでやっと対応のものが出ているのと、特にPCの場合はOSやディスプレイの組み合わせ、とりわけWindows OSと市販ディスプレイの場合、Windows側でもHDR設定しないと出力されず、しかもそのHDRも正しく作動するのか怪しいケースも有り…とまだまだ敷居が高いですね。
そんな我家も、メインモニタであるEIZO CS2740は、10bit入力対応ですが、HDRは非対応です。この上位機だと対応なんですけどね、こんなので差をつけないでほしいのですが…。一方、サブモニタのDELL SS2721QはHDR400対応です。こっちのほうが圧倒的に安いのに。
ただ、Windows S上ではHDR設定できるのですが、HDRに設定して、対応ソフトのNX StudioでNikon Z 8のHLGを表示させると…HDR表示されない上に、色味がおかしくなります。HDR自体、規格もまちまちで、輝度も高くなりがちで、比較的画面に近づいて見るPCディスプレイで本当に必要なのか…。そもそもガンマカーブの話だよねと思いつつ…。
なぜかNikon Z 8も、Canonも、HEIFはHDRとセットでしか使用できません。SONYはSDRとHDRがHEIFであっても選べます。
そしてHLGに設定すると、Nikon Z 8の最低感度は、ISO64からISO400となります。ピーカンで絞り開放、という状況では使いづらくなりそうです。
WindowsではHEIFは標準サポートしない
さらにHEIF、Windowsでは標準でサポートせず、拡張機能を入れているにも関わらず、うまく表示できなかったりします。
HLGで撮ったRAWをHEIFに変換する機能が、NX Studioでサポートされましたが…
残念ながらそのHEIFファイルをPhotoshopで開こうとしても…
開けなかったりします。ということで、現時点でWindows環境では、HEIF形式のファイルは持て余します。これがJPEG並みにどこでも編集可能になり、Webでもネイティブにサポートされない限り、普及は難しそうです。
iPhoneも、写真を撮るとデフォルトでHEIF形式になりますが、SNSなどWebにアップロードする際は、自動でJPEG変換するそうで。こうしたユーザーに意識させない所はiOSの巧みなところですね。
いずれにしろ、現時点ではHEIFはJPEGの代替にはならない、ということになります。
HLG(HDR)とSDRのRAWをJPEGに変換してみる
JPEGに変換した時点で、残念ながらHLGにはならなくなります、が、元々HLGは従来のSDRのモニタでも違和感が少なくなるよう、ピークの輝度は機器に依存するようなガンマカーブになります。これがPQ形式だと、ピーク輝度は固定となっているため、表示デバイスの最大輝度が合わないと、ガンマカーブがおかしくなります。互換性の点では、HLG形式のほうが有利です。詳しくはEIZOのサイトで。
ということで、今回はHLGとSDRで撮ったRAW画像(HEIFは編集も出来ないので)をそのまま単純にJPEG変換してみました。色域はそれぞれBT.2020、AdobeRGBですが、sRGBに変換しています。
三脚を使っていないので、微妙に画像の位置は変わっています。写真は百里基地撮影後、百里神社にお参りに行って撮りました。
HLGは、確かに暗部の階調は持ち上がっているのがわかります。ちょっと色が薄く、色味が黄色っぽい気はします(WBはRAW現像時に揃えています)。ただ、それほど不自然にならないのは、HLGの互換性の高さでしょうか。
SDRのほうは、ピクチャーコントロール含めオートですが、少しサイドが高め、そしてコントラストも高いですね。
実際に画像のヒストグラムを比較してみましょう。
HLGは暗部をだいぶ持ち上げている一方、白飛びはありません。SDRのほうは白飛びが多く発生しているのがわかります。
これを見る限り、最終的にJPEGに変換するとしても、RAWであればHLGに設定する意味はありそうです。
どの画像でも言えますが、HLGはやや彩度が下がり、WBを揃えていますが暖色系、そして白飛び黒つぶれがなく撮れています。SDRは従来のガンマカーブで、白飛びを許容する感じです。
ちなみにZ 8の先行体験会で中の人に質問しましたが、RAW画像におけるSDRとHLGの差はガンマカーブで、画像が持つダイナミックレンジ自体は同等とのこと。あくまでHLGは白飛び黒つぶれをできるだけ発生させないガンマカーブで記録するということですが、これは撮影時に処理されるようで、HLG設定の場合は最低感度がISO400に上がり、暗部は持ち上げて撮影するため、RAWからHEIF(HLG/PQ)に変換は、元のRAWもHLGで撮影している必要があるとのことでした。
試しにSDR設定のRAW画像をNX Studioを使ってHEIFで書き出そうとした所、対応していない旨表示されました。
Lightroomでも、SDRとHLGのRAW画像は同様なガンマカーブでした。
前述のZ 8先行体験会で、中に人に「Z 9でもファームアップでHEIFに対応できるようになるか?」との質問に「現時点ではその予定はないです」と言われましたが、やはり撮影時に最低感度を上げる、暗部を持ち上げると言った処理がされている以上、イメージセンサの出力するファイルを後からいじるというより、イメージセンサ自体にHLGモードがあるのかなとも勘ぐったり。そうすると、単純にFWのバージョンアップでHEIFに対応するということは難しいのかもしれませんね。
最終的にJPEG出力するにしろ、HLGで撮る意味はありそう、ただしHEIFは…
Nikon Z 8 の場合、HEIFで撮るにはHLGもセットになります。そしてRAWで同時に撮る場合のRAW画像自体にもHLGが適用されます。
仮に明暗差が激しい被写体を撮影する際に、HEIFを使う使わない如何に関わらず、RAWのHLGで撮っておけば、RAW現像である程度イジる必要ありますが、最終的にJPEG変換する際にも、白飛び黒つぶれを最小限に出来ます。
であれば、通常の撮影でも、明暗差が大きな被写体でHLGで撮る価値はあると思います。ただ、暗部を持ち上げるということは、ノイズも増えるのと、低速シャッターが使いにくくなるというのもあるため、状況に応じて設定するのが良さそうです。
1つ問題があるとすればm「最低感度もISO400まで上がるため、センサ自体のダイナミックレンジはISO64の基本感度より下がります。ガンマカーブで見かけ上はハイダイナミックレンジですが、実際のダイナミックレンジは基本感度よりは落ちることになります。そこをどう捉えるか、というのはありますね。
そしてHEIFは、少なくとも現時点では編集できるソフトも限られ、特にWindows環境では表示すら難しいため、あまり積極的に使える感じではないですね。