このチュートリアルでは、ビデオカードの取り扱い、ビデオ出力の設定、およびComposerの内部ビデオチャネルの使用について説明します。
Aximmetryにおいて「出力」とは何を指すのでしょうか?主にPCに接続されたモニターでフルスクリーン表示可能なデバイスです。次に、PCにインストールされた特殊なI/Oカードで、例えばプロフェッショナルなテレビスタジオで用いられるSDI規格の信号入出力に対応したカードなどが該当します。
Composerを起動すると、最初に「スタートアップ設定」ウィンドウが表示され、その中に「ビデオ出力」セクションがあります。ここで利用可能なビデオ出力が一覧表示されます。リストは接続されたモニターから始まります。現在、2つのモニターが接続されています。各モニターには、モニターの種類と接続されているビデオカードのタイプが表示されます。この2つが、出力のユニークな名前を構成します。また、モニターの解像度とリフレッシュレートも確認できます。この例では、両方のモニターがフルHD解像度で60Hzで動作しています。
この例で残りの4つの出力は、PCにインストールされたAJA Corvid SDIカードの利用可能な4つの出力チャネルを表しています。各チャネルには、解像度とフレームレートを決定する設定可能なモードが用意されています。3つのドットボタンをクリックすると、モード選択ダイアログが表示されます。ここでは、SDからHD、4Kまでの標準解像度を選択できます。各解像度に対して、インターレースとプログレッシブの両方のフレームレートを指定できます。デフォルトモードは1080i50で、これは50Hzのインターレースレートを採用した欧州HD標準です。
スタートアップ設定ウィンドウでは、各出力にIDパネルが表示され、リストされた項目と実際の出力を簡単にペアリングできます。各パネルには、リスト項目の左側の番号に対応するインデックスが表示されます。実際、これらはボタンであり、クリックするとパネルが点滅し、識別が容易になります。
現在、この動画では確認できませんが、IDパネルはSDI出力にも表示されています。スタジオコントロールルームでよく使用される分割表示で識別しやすくするため、フルスクリーン形式で表示されています。
通常のモニター上のパネルもフルスクリーン形式に拡大できます。例えばプロジェクターの設定時などに便利です。そのためには、この小さな拡大鏡ボタンをオンにします。まだ何も表示されていませんが、これはスタートアップ設定ウィンドウを含む特定のモニターでは拡大が適用されないためです(相互に重ならないようにするため)。そのため、ウィンドウを別のモニターにドラッグし、現在フルスクリーン形式が表示されています。
次に、Composerから使用したい出力を選択します。各出力に論理識別番号を割り当てる必要があります。これは、リストの左側に表示されるインデックスとは異なる点に注意してください。これらの論理番号は、Composerで特定の出力を指定する際に使用されます。
出力#1をモニターの1つに設定します。実際の状況では、この動画では表示されていないセカンダリモニターを選択します。プライマリモニターはComposer UIで占領されるためです。しかし、チュートリアルのため、ここではリスト内のモニター番号2を選択し、出力#1に設定します。IDパネルに#1が表示されていることが確認できます。次に、出力#2を最初のAJAチャンネルに設定します。
次のタスクは、指定した出力の1つにSyncを割り当てることです。基本的には、レンダリングフレームレートを選択した出力の周波数に同期させます。PCモニターのみを使用する場合、Syncを割り当てる必要はありませんが、推奨されます。ただし、SDI出力を使用する場合、Syncを割り当てることは必須です。
Syncを出力に設定すると、対応するIDパネルに赤色で表示されます。PCモニターにSyncを割り当てると、レンダリングフレームレートはモニターの周波数またはその分割値に調整されます。この場合、60Hzのモニターを使用しているため、60、30、または15fpsのレンダリングを選択できます。設定はプリファレンスで変更できます。アプリケーション起動後に説明します。
SyncをI/Oカードに割り当てた場合、レンダリングフレームレートはデバイスのフレームレートに厳密に固定され、プリファレンスの設定に関わらず変更できません。この場合、AJAカードのビデオモードをi50に設定しているため、50fpsのレンダリングになります。さらに、出力用にI/Oカードを選択した場合、Syncを設定する必要があります。これは、おそらくスタジオシステムに信号を送るメイン出力になるためです。通常のPCモニターはコントロールディスプレイとして機能するため、画像が少しちらつく可能性がありますが、問題ありません。
希望の出力に番号を割り当て、Syncを設定しました。Composerを起動しましょう。フルスクリーンモニター出力が一瞬表示されます。チュートリアル中は、必要に応じて出力とGUIを切り替えます。
まず、編集メニューの「Preferences」をクリックして、先ほど mention した設定ウィンドウを表示します。レンダリングセクションに移動します。フレームレート設定が見つかります。任意のレンダリング周波数を設定できます。標準のフレームレートから選択できますが、任意の値を入力することも可能です。例えば52と入力します。Syncがどの出力にも割り当てられていない場合、システムは指定した正確なフレームレートでレンダリングします。
ただし、Sync が割り当てられている場合、フレームレートは上書きされます。PC モニターに Sync を割り当てた場合、フレームレートはモニターの周波数の最も近い整数倍に丸められます。SDI 出力に Sync を割り当てた場合、ここで指定した値に関わらずフレームレートは 50 になります。現在はデフォルトに戻しましょう。
ここにはレンダリングのデフォルトのフレームサイズも表示されます。現在HD1080出力を使用しているため、同じフレームサイズでレンダリングすることをおすすめします。もちろん、Ultra HDでレンダリングし、出力でダウンスケールすることで画像の品質を向上させることができますが、その場合GPU負荷が増加します。ここではフルHDに戻しましょう。
レンダリングされたビデオ信号が選択した出力にどのように送信されるかを確認しましょう。新しいコンパウンドを作成し、Getting Started チュートリアルで作成したシーンをいくつか追加します。こちらは2D効果を含むBasicsシーンと、シンプルな3Dシーンを含む3Dシーンです。これらの出力を右側に順番に接続します。この操作で何が起こるのでしょうか?これらのビデオ信号は、Composerのいわゆる「チャンネル」に送信されます。最初に露出されたものはチャンネル1に、次に露出されたものはチャンネル2に送信されます。
これらのチャンネルはプレビューパネルで直接確認できます。各プレビューでは、表示するチャンネルを選択できます。例えば、チャンネル2をプレビュー1に割り当てると、両方のプレビューに同じ画像が表示されます。
Composer 99では99チャンネルが利用可能です。これらのチャンネルは、ビデオ信号を右に1つずつ配線するだけでなく、直接アクセスする方法はあります。アニメーションのサンプルシーンである3つ目のシーンをロードします。このシーンの出力をチャンネル43に送信したい場合、チャンネルアウトモジュールを追加し、出力をそのモジュールに配線します。その後、チャンネル番号(この場合は43)を指定します。これ以降、プレビューパネルでチャンネル43を選択すると、そのチャンネルにアニメーションシーンが表示されます。
これまで説明したのは、プレビューパネルに表示可能なチャンネルについてです。では、これらの信号は実際の出力にどのように到達するのでしょうか?これは、プリファレンスダイアログで設定可能な「チャンネルマトリックス」で制御されます。チャンネルマトリックスセクションでは、選択した出力のリストを確認できます。この場合、モニター用とAJA SDI出力用の2つがあります。各出力に対して、表示するソースチャンネルを指定できます。デフォルトでは、これらのチャンネル番号は出力番号と一致しています。チャンネル1は出力#1に、チャンネル2は出力#2に送信されます。したがって、右側に最初に表示されたビデオ信号が出力#1に、次に表示されたものが出力#2に送信されます。フルスクリーン出力(出力#1)に切り替えると、最初の信号(2Dアニメーションシーン)が表示されます。
チャンネルマトリックスでこれを上書きできます。例えば、チャンネル43を出力#1に設定します。すぐに、3Dアニメーションの3番目のシーンがフルスクリーン出力に表示されます。
チャンネルシステムを bypass してビデオ信号を直接出力に送信できる特別なモジュールがあります。これは「Video Out」と呼ばれます。出力の露出設定を削除し、3DシーンをVideo Outモジュールに接続し、その出力インデックスを1に設定します。これにより、チャンネルマトリックスの設定に関わらず、ビデオ信号が直接出力#1に送信されます。
さらに、マルチマシン構成を使用する場合、Video Outモジュールはより詳細な設定が可能です。モジュールで個々のマシンを指定し、そのマシンの出力の一つをターゲットに設定できます。マルチマシン構成の詳細は別のチュートリアルで説明されています。
プレビューパネルに戻りましょう。現在、ここに2つ表示されていますが、システム全体では合計9つ存在します。これらは、ビューメニューのプレビューサブメニューから任意に表示できます。または、Alt + 数値キーのキーボードショートカットを使用することもできます。例えば、Alt + 数値キー3と4を押すことで、プレビュー3と4のパネルを表示できます。これらのパネルは、ドッキングシステム内の任意の位置に配置可能です。各パネルでは、表示するチャンネルを選択できます。プレビュー3にはチャンネル43、プレビュー4にはチャンネル2を選択します。
もう一度強調しますが、プレビューパネルはチャンネルに送信される信号を表示します。これは、出力に送信される信号と混同しないでください。後者は、チャンネル信号がチャンネルマトリックスを通過した結果です。
次に、PCに2つ以上のビデオカードがインストールされている場合を検討しましょう。このような構成のポテンシャルをどのように活用できるでしょうか?この例では、古いNVidia GTX 580とGTX 1080という非常に異なる2つのビデオカードが搭載されています。また、各ビデオカードに接続された2つのモニターがあります。
2つのビデオカードは2つのGPUを意味します。ここで、まだ説明していなかった上部のGPUセレクターフィールドが登場します。ドロップダウンリストから、レンダリングに使用するGPUを選択できます。これらのGPUは性能面で大きく異なります。単一のGPUのみをレンダリングに使用する場合、より高性能な1080を選択すべきです。2つのモニターが異なるビデオカードに接続されていても、両方のモニターを出力先に選択できます。つまり、1080でレンダリングされた画像は、580に接続されたモニターにも表示可能です。
しかし、2つのモニターに完全に異なるコンテンツをレンダリングしたい場合で、GPUの性能が不足している場合はどうでしょうか?各コンテンツをそれぞれのGPUでレンダリングし、負荷を分散させるのが論理的です。これには、Multi-GPUモードの1つである「Independent」を使用できます。このモードでは、最大4つのGPUを選択できます。利用可能な2つのGPUを選択しましょう。
各出力ごとにGPU選択フィールドが利用可能になりました。これは、各出力に対してどのGPUでレンダリングするかを指定できることを意味します。不要なデータ転送を避けるため、各GPUは接続されたモニターのコンテンツをレンダリングするように設定することが強く推奨されます。この設定は、ここにある小さなAボタンをクリックすることで自動的に設定できます。580カードに接続されたモニターは、当然ながら580 GPUであるGPU2に自動的に割り当てられています。独立モードでは、各出力識別パネルにも、その出力に選択されたGPU番号を表示するフィールドが追加されます。
以前のシーンをロードします。これにより、シーンに属するすべてのグラフィックデータが両方のビデオカードに読み込まれます。注意が必要です:各ビデオカードに十分なオンボードメモリを確保する必要があります。ただし、2つの出力に完全に分離されたコンテンツを接続した場合(つまり、2つのサブグラフ間に配線がない場合)、2つのGPUはそれぞれ自身のグラフィックコンテンツのみをレンダリングします。1つのGPUはこの部分のみをレンダリングし、もう1つのGPUはこの部分のみをレンダリングします。
現在、これは完全に正しいわけではありません。プレビューにも注意が必要です。プレビューは常にGPU1でレンダリングされるため、この場合でもGPU1には両方のコンテンツが読み込まれます。両方のプレビューをオフにしましょう。先ほど述べた通り、各GPUは自身のコンテンツのみをレンダリングします。また、ワイヤーやピンにピーカーウィンドウを表示することもGPU1に負荷をかけます。
独立したレンダリングを破綻させる他のケースはありますか?明らかに、2つのコンテンツ間に接続を生成するケースです。例えば、2つのビデオ信号をブレンドする場合です。この場合、2つのコンテンツの混合がOutput #1に送信されるため、GPU1は両方の部分をレンダリングする必要があり、GPU2に読み込まれたコンテンツは変更されません。
より複雑な例として、3つの異なる部分をブレンドし、3番目の部分を他の2つにブレンドする場合があります。この場合、GPU1は部分1と3をレンダリングし、GPU2は部分2と3を一緒にレンダリングします。
このChannel Outモジュールはどのような状況ですか?現在は何もありません。なぜなら、これはChannel 43に設定されており、プレビューや出力のどちらにも表示されないため、GPUに負荷を追加しません。ただし、プレビューに選択した場合は、GPU1に独自の負荷を追加します。(この特定のケースでは、ブレンドのためパート3は既にレンダリングされているため、負荷は追加されません。)
要約すると、Independent GPUモードは、シーングラフにGPUの数と同じかそれ以上の独立したパートが存在し、これらのパートが異なる出力に表示される場合にのみ利用可能です。
別のMulti-GPUモードも利用可能ですが、これは出力をI/Oカードに割り当てた場合のみ使用可能です。したがって、通常のPCモニターでは適切に使用できません。このモードは、複数のGPUで2つ以上の連続したフレームを同時に並列レンダリングし、フレームごとのGPU性能を倍増させる仕組みです。この方法でレンダリングされたフレームは、その後並べ替えられ、I/Oカードに順次送信されます。
このモードは「Linked」と呼ばれます。このモードでもGPUを選択する必要があります。ただし、Independent GPUモードとは異なり、各スロットに同じビデオカードモデルを使用することを推奨します。そうでないと、最も性能の低いカードがシステムの全体的な性能を決定します。
出力としてAJAカードを選択し、Syncを割り当てます。現在のビデオモードは1080i50であり、システムは1秒あたり50フレームをレンダリングする必要があります。これを2つのGPUに分散すると、各GPUは25フレーム/秒をレンダリングします。i50はインターレースモードを意味するため、並列レンダリングで連続する2フレームをレンダリングした後、システムはそれらを1つのフレームにインターレースし、その後出力に送信します。p50モードを選択した場合、システムは並列レンダリングされた2フレームをバッファに格納し、順次出力します。
これで出力モードのチュートリアルは終了です。