前回の復習
前回は、インカメラVFXで使用するUnreal Engineの機能と必要な知識を解説しました。
詳しくは以下の記事をご覧ください。
インカメラVFXで使用するハードウェア構成とOSの設定について知る
連載第4回目は、インカメラVFXで使用するハードウェア構成とOS設定について、以下の内容で解説いたします。
- LEDウォールの描画の仕組み
- LEDコントローラーの設定
- PC構成
- 各種設定
インカメラVFXを行う際に必要な物は、大きく分類すると「LEDウォール」「カメラ」そして「映像を生成するPC」の3つになります。
LEDのカラーキャリブレーションを行うためには、正しい設定でLEDウォールに映像を表示するための知識が必要です。
それぞれの役割と設定について理解を深めていきましょう。
LEDウォールの描画の仕組み
インカメラVFXで使用するものの中で、恐らく一番なじみがないのはLEDウォールでしょう。
まずは、モニターとの違いを挙げながら解説していきます。
一般的に、PCからモニターへ接続する場合には、PCから直接モニターにHDMIやディスプレイポートなどを接続して使用するのが主だと思います。
では、LEDウォールの場合はどのようになるのでしょうか。
LEDウォールに描画する場合は、おおよそ下図のような接続になります。
PCから映像信号を送るためにHDMIやディスプレイポートを使用するのは同じですが、接続先はモニターではなく、ビデオプロセッサーやLEDコントローラーと呼ばれる機材に接続します。
そして、ビデオプロセッサーが映像信号をイEthernetを通して送信し、LEDウォールに描画しています。
なぜ、ビデオプロセッサーが必要なのか?と思われる方もいらっしゃるとは思いますが、それはLEDパネルの特性にあります。
PCモニターの場合は、パネルとしては物理的に1つのパネルですが、LEDウォールはパネルの集合体です。
小さい解像度の四角形のパネルを複数枚組み合わせることで、大きな1つの画面として描画しています。
LEDパネルは、通常のモニターでは表現できない大きな領域をディスプレイする場合に使用されますが、通常使用される解像度はLEDパネルの配列等により様々な解像度になります。
例えば1280x800だったり1920x320といった具合ですが、これらの解像度はLEDピッチによって使用するパネルの枚数などが変化します。
これらの全てのパネルに対して、どのような解像度でも適切なタイミングで描画するように指示を送る役割が必要なため、ビデオプロセッサーやLEDコントローラーへ接続して描画を行います。
LEDコントローラーの設定
LEDコントローラーの設定では、
- マッピング
- Genlock
- 色空間の指定
の大きく分けて3種類の設定を解説します。
1.マッピング
マッピングと言われてもイメージがしずらいと思うので、サンプルを元に説明します。
今回はこのような写真を用意しましたが、自分がカメラで撮った写真をLEDウォールへ描画することを想像してください。
LEDウォールで描画する際は、自分が撮影した画像(素材)解像度とLEDの解像度はおおよそ一致しません。
画像を解像度に合わせてスケーリングするか、画像の一部を使用して描画領域を合わせた素材を用意するなど、変更が必要です。
ただし、素材のスケーリング等を時間のない撮影現場で行うのは現実的ではありません。
そんな時は、LEDコントローラーに搭載されている映像の調整機能や、Unreal Engineやメディアサーバーなどアプリケーション側の機能を使うことで簡単に調整できます。
LEDコントローラーで指定する場合は、デフォルト設定では画像の左上の領域を指定して描画することが多いです。
マッピングは、LEDコントローラー側で行う場合もあれば、LiveFXのようなソフトウェアを使用してPCから出力する段階で変更することも可能です。
どのような方法が最適なのかは、現場の機材で判断するのが良いでしょう。
2.Genlock
Genlockは、放送系の機材やカメラ機材が映像を出力するタイミングを合わせるために使用されるリファレンス信号です。
わかりやすく例えるならば、オーケストラの指揮者のような役割です。
オーケストラでは、演奏する各楽器を担当している人が自分自身のタイミングで演奏してしまっては楽曲として成立しませんが、それを指揮者がタイミングを揃えることで、1つの曲として聴くことができます。
インカメラVFXのシステムの場合も同様で、カメラはLEDが描画を完全に終えたタイミングをとらえることで、再撮影したものが映像として成立します。
LEDコントローラーとカメラをGenlockで同期できていない場合は、それぞれの機材が出力するタイミングがズレているため、撮影するカメラのフレーム内に下から上に動く薄い線が出現します。
カメラを覗いたときにフレーム内に動く線を見つけたら、まずはカメラやLED側にGenlock信号が正しく入力されているかどうかを確認してください。
3.色空間の指定
色空間は、デバイスや機材が表現できる最大色幅の指定で、図にある三角形の外側はデバイスで表現されない色空間になります。
そのため、色空間の指定が間違っている場合は、意図した色と異なる色が描画される原因となります。
良くあるヒューマンエラーとして、PCからの素材は色空間をBT.2020として出力しているのに、LED側ではBT.709を指定して出力してしまっていることに気づかず、なんか素材の色味がおかしい、ということがあります。
このようなミスがないように、ディスプレイデバイス側で色空間を合わせることが重要です。都度、収録機等の波形モニターで確認すると一部の色がクリップされてわかりやすいので、波形モニターの見方も覚えておくと良いでしょう。
LEDコントローラーは、ただ映像を受け取って出力する役割だけではなく、映像素材のどの部分をLEDに描画するか、場所の変更を行ったり、様々な色味の設定を施すことも行います。
ただし、これらの機能はハイスペック・コントローラーやインカメラVFX向けコントローラーに実装されている場合が多く、低価格版やベーシック版には実装されていないことがあるため、注意が必要です。
近年、駅構内などに設置されるLEDサイネージが増えてきていますが、そこで使われているもののほとんどはサイネージ向けと呼ばれるLEDコントローラーを使用しています。
サイネージ向けのLEDコントローラーは、上記で説明したインカメラVFXに必要な、高度なカラーグレーディング等の機能が備わっていない可能性があり、そもそもGenlock等を入力できない場合もあるため、インカメラVFXで使用するLEDには適していません。
理由は単純で、インカメラVFX用ではないLEDコントローラーの多くは、人間の目でLEDを見たときに違和感がないように作られており、サイネージをカメラで再撮影することを想定していないからです。
インカメラVFXシステムを構築する場合、まずはBrompton Technology社Tesseraシリーズ、Megapixel社HELIOSなどのインカメラVFXに実績のあるLEDコントローラ-を選択したうえで、対応しているLEDを選定しましょう。
PC構成
PC構成に関しては、下記の機材がPCにインストールされている必要があります。
1.同期信号に対応したGPU
同期信号に対応したGPUの代表的なものとして、NVIDIA RTX A5000、A6000、6000 Adaなどがあります。
これらのボードにはNVIDIA Quadro Sync 2と通信するための特殊なポートがついています。
写真のようにNVIDIA Quadro Sync 2とGPUを接続する配線を行い、NVIDIA Quadro Sync 2のBNCコネクターへGenlock信号を接続することで、GPUからの映像をGenlock信号と同期して出力することが可能になります。
このポートがないGPUの場合、Genlock信号をPCに入力したとしても、GPUはGenlock信号を受信できないため、同期した映像を出力できません。
また、LEDコントローラー側でGenlockをしていたとしても、CGアプリケーション側のレンダリング映像がきちんと更新されず、同じフレームが2度表示されたりする場合もあるので注意してください。
2.NVIDIA Quadro Sync 2
NVIDIA Quadro Sync 2は、上記に記述した通り外部からGenlock信号を受け取るために使用するNVIDIA製のハードウェアです。
LEDコントローラー、LEDパネルの全てがSMPTE ST2110に対応していない場合、インカメラVFXシステムでは必要になります。
このハードウェアはLEDに対してレンダリングを行う全てのPCにセットアップしてください。
また、全てのPCに対してGenlock信号をBNC端子に接続するのではなく、1台のPC(nDisplayのプライマリノード)のみにGenlock信号をBNC端子に接続し、それ以外のCluster PCはPrimaryノードからRJ45ケーブルでカスケード接続する必要があります。
左側にRJ45のポートがありますが、LED描画用PCが複数台ある場合、下記のように接続する必要があります。
引用 https://images.nvidia.com/content/quadro/product-literature/user-guides/Quadro-Sync-II-User-Guide.pdf
各種設定
1.EDID設定
EDIDとは、Extended Display Identification Dataの略でモニターに関する情報を伝達するためのデータです。
通常はHDMI等をモニターとPCで接続するたび、PCはどんなモニターが接続されたかの情報をモニターから受け取り、どのようなフォーマットで出力できるかを把握したうえで映像を出力します。そのデータには解像度やリフレッシュレートなどが含まれています。
それらのモニターに関する情報を設定ファイルとして使用するため、保存したファイルを読み込むだけでよくなるので、モニターが接続されるたびにどんなモニターが接続されているかをPCが判断する必要が無くなります。
2.NVIDIA Quadro Sync 2の設定
NVIDIA Quadro Sync 2の設定は、NVIDIA Control Panelから行います。
NVIDIA Quadro Sync 2とGPUが接続されている場合、ディスプレイの同期という項目が出現します。
この設定については後の構築編で詳しくハンズオンで説明しますので、今回はNVIDIA Quadro Sync 2の設定はNVIDIA Control Panelで行う、ということだけ覚えておいてください。
3.GPU側の設定
GPUの設定は、インカメラVFXでアーティファクト(描画エラー)が出ないように、常に最大のパフォーマンスでGPUを使用するように設定します。
具体的には、GPUの消費電力設定をPerformanceに変更し、垂直同期を3Dアプリケーション設定を使用するに設定します。
これらをきちんと設定していないと、レンダリング時にHiccups(ヒッチ)が出現することがあります。
まとめ
今回は、ハードウェアやGPUの設定に焦点を当て、解説いたしました。
Unreal Engineを触っている方でも、NVIDIA Control Panelの設定を変更することはあまりないと思いますので、LEDコントローラーがどんな役割を担っているのか詳しく知らない部分もあったかもしれません。
次回は、いよいよ実際にUnreal Engine上でnDisplay Configを作っていくハンズオン編に入っていきます。お楽しみに!