iPhone 12以降で撮影可能になったHDR動画を、PCのHDR非対応モニターで再生すると、色がおかしく表示されます。HDRからSDRへの色変換を行いつつ再生する方法をご紹介します。
何が問題なのか
iPhone 12以降で撮影が可能になったDolby Vision対応のHDR動画は、明暗のダイナミックレンジが広く、くっきりと美しい画になります。
しかしHDRで撮影された動画は、HDRに対応しているiPhone上では正常な色で再生できますが、PCに転送して「HDR非対応のモニターで再生」すると、明るくギラギラし白飛びしまくった画になります。
鑑賞に耐えないほど輝度やコントラスト、色味が変わってしまいます。後ほどサンプルをご紹介します。
ギラギラ、白飛びの原因
以下の画像は、iPhone 12 Proで撮影したHDRで動画の構成情報です。
▼ iPhone 12(高効率)で撮影したHDR動画
▼ iPhone 12(互換性優先)で撮影したSDR動画
HDR動画のBit depth、つまり「ビット深度」は10bitになっています。
HDRは、ビット深度が8bitから10bitとなることによって、表現できる色の範囲が増えるという仕組みです。
しかし、大多数のPC用モニターはHDRに非対応であり、ビット深度8bitの表示にしか対応していません。
そのため、10bitで記録された画像や動画を本来の色で表示できないことになります。
「表現できる色の範囲が違う」「輝度情報の持ち方が違う」等が、ギラギラや白飛びの原因です。
HDR非対応のモニターでHDRの色を再現することは不可能
たまに「HDR非対応のモニターでHDR表示できないか」という質問を見かけます。
これは「8リットルの容器に10リットルの水は入りますか」と聞いているようなものです。
結論としては「できません」。もしできるなら誰もHDRモニタを購入しないでしょう。
iPhone側でHDR撮影しない設定にすることも可能ですが、本記事の趣旨から外れます。
ここでは「HDR動画をHDR非対応モニターでどうにかまともに再生する」ことを目的とします。
正しい色で再生することはできるのか
前述した通り、HDRで撮影された動画をHDR非対応のモニターで「HDRのまま表示する」ことは不可能です。モニターの機能を超える要求となり、物理的に不可能です。
しかし、10bitで記録された動画を「8bitの色情報に変換して表示する」ことは可能です。
色の表現範囲を狭めるわけですから、撮影した色をそのまま再現できるわけではありませんが、HDR非対応のモニターでもギラギラや白飛びを抑えて「そこそこまともに」再生することができるようになります。
多くの方が知りたいのはこの方法だと思いますが、情報が少ないのが現状です。
HDRの10bit動画を8bitに変換しながら再生する方法
Windowsでの再生を前提としています。
前提として、NVIDIAのビデオカードを搭載し、NVIDIA コントロールパネルを使用します。
ビデオカラーをNVIDIAの設定に変更する
この設定は必須ではありません。RGBモニターでRGBらしいクッキリした映像を観たい方向けです。
NVIDIA コントロールパネルの「ビデオ カラー設定の調整」を開きます。
ディスプレイを選択し「2. カラー調整の方法」の「詳細設定」を「フルレンジ(0~255)」に変更します。
出力される色空間がYUVからRGBになり、明暗やコントラストがはっきりして彩度の高い画になります。
ただし非HDR動画で彩度が高すぎてギラつくようになりますので、お好みで以下設定も行ってください。
同じ画面の「カラー」で「彩度」を「+ 45%」程度に落とします。
VLC Media Playerで再生する
いきなり結論になりますが、VLCはHDR動画をうまく処理してHDR非対応モニターで表示できます。
ただしこのVLCは、カスタマイズの幅が狭く使い勝手が悪いと感じるため、私は好んで使用しません。
カスタマイズの自由度が気にならなければVLC 一択で問題ないかと思います。
しかし、個人的にマウス操作の割当が不自由であるため、以下ではVLCを使わない方法を解説します。
MPC-BEで再生する
MPC-BEは、古くから定番のメディアプレイヤーです。筆者は昔からコレを愛用しています。
他に、同じくMedia Player Classicから派生したMPC-HCがあります。お好みで選択してOKです。
軽量・シンプル・多機能で、初心者から動画マニアまで万人にオススメできます。
このMPC-BEでは、10bitから8bitに自動変換しつつ再生することができます。
10bit動画は8bitに変換しながら再生、8bit動画はそのまま再生されます。
インストール・設定方法
MPC-BEは(ポータブル版でなければ)インストーラー付きですので、普通にインストールを行います。特に躓くところはありません。
外部フィルタとしてLAV Filtersのインストールを推奨しますが、無くてもMPC-BEは内蔵フィルタだけでほとんどの動画形式に対応しており、困ることはほぼありません。
LAV Filtersはインターレース解除方法を柔軟に選択できたり、5.1chで収録された音声を2chにMixして出力できるという特長があります。
次に、MPC-BEのオプションを開き、「映像」という項目を開きます。
「ビデオレンダラー」が「Enhanced Video Renderer(カスタムプレゼンター)になっている場合は、これを「Enhanced Video Renderer」、通称EVRに変更します。
EVRを使用する以外に、外部レンダラーとしてお手軽なMPC Video Rendererや、細やかな映像設定が可能なmadVRを使用する方法もあります。
私はmadVRを使用していますが、動作が重く、設定が多彩・難解であるため、万人にはオススメしにくいです。うまく設定すれば、主に再生サイズ変更時に大変綺麗な再生が可能になります。
※後述するレンダラー変更は「動画の回転ができなくなる」のですが、madVRでは回転が可能です。
レンダラー変更結果
HDRで撮影した動画をHDR非対応モニター上のMPC-BEで再生した例です。
左がデフォルトの「EVRカスタムプレゼンター」、右が「EVR」による表示です。
中央のスライダーを左右に動かして比較してみてください。
設定前はカーテンやキーボードの白飛びがひどく、特にカーテンに関してはあることがわからないくらい飛んでしまっています。
設定後は、やや彩度に欠ける眠たげな画にはなっていますが、その差は一目瞭然です。
設定前は空の青色や建物の壁面が激しく白飛びしています。空は真っ白になり、建物と融合しています。
設定後は人間が目で見たイメージに近くなり、例1と同じく彩度に欠けますが、その差は一目瞭然です。
レンダラーにmadVRを使う場合
madVRの設定を開き、「devices」でモニタを選択し「hdr」を「passthrough HDR to display」にします。
これで、上記EVRへの変更と同様の効果を得られます。
まとめ
HDR動画をHDR非対応のモニターで表示する方法をご紹介しました。
- VLC Media Playerであれば、特に設定しなくてもほぼ適切なカラーで表示してくれるため初心者向きです。
- MPC-BEは設定が必要ですが、軽量かつ詳細なカスタマイズが可能な動画プレイヤーとしてオススメです。
ちなみに
思い切った方法としては、iPhoneなどで動画を撮影する際、カメラの設定にある「フォーマット」で「高効率」から「互換性優先」に変更する方法もあります。
「互換性優先」にすると従来のSDRで録画されますので上記のようなカラーの問題は発生しません。
ただし、両設定には以下のような違いがあります。
- 「互換性優先」では動画圧縮にAVC(H.264)が用いられます。
- 「高効率」ではHEVC(H.265)が用いられ、高画質になるうえにファイルサイズが小さくなります。
当然、後者が理想です。
一昔前と異なり、今ではHEVCを普通に再生できないデバイスやソフトウェアの方が珍しい状況です。
「録画は高効率」で、「カラーの問題は再生側で対応する」方法がオススメです。