Key & Fill を使う映像合成の考え方
AfterEffectsやPhotoshopを使用したレイヤー方式のコンポジションソフトウェアでの映像合成が行われるようになって久しいですが、PCを使うようになる前はビデオスイッチャーによるキーヤーや、外付けDSKにより映像は合成されていました。近年のように映像発信のプラットフォームに、動画編集に加えて、リアルタイムオペレーションの性格を持つライブ配信が加わると、オペレーションツールがノンリニア編集ソフト+PCではなく、スイッチャーが見直されたことでATEM Miniがコンシューマーの表現ツールとして出てきました。アナログのビデオスイッチャーがキャリアのスタートだった私としては、原点回帰のような気持ちです。
ここで、スイッチャー合成の基礎、且つ要の技術である、Key & Fillの使用について、考えてみましょう。
スイッチャーのキーイング合成の考え方
スイッチャーで合成を行う場合、呼び方やパラメーターの違いこそあれ、次の3つの手法があります。
ルミナンスキー、リニアキー、セルフキー
クロマキー
エキスターナルキー
1は合成する入力信号の明暗から、暗い部分を抽出して透明度を計算し、バックグラウンド入力と合成するものです。
合成入力の明るさを指標とするため、最もイメージしやすい方法です。バックグランドと合成入力の2つの入力で済むため、信号源や入力ポートが少なくて済むのがメリット。暗い色の部分の調整が難しく、基本的に黒いオブジェクトの表現はできません。
2のクロマキーは、合成入力の明るさではなく、色成分の違いを指標とします。明るい緑色を使う場合が多いですが、昔は水色が多く使われました。緑色は肌の色が明るい白人を対象とした欧州、アメリカでよく使われ、黄色人種の日本では黄色成分の少ない水色が使われていました。よく、工事現場で使われるブルーシートが、簡易的に撮影背景に使われました。(あまり綺麗に合成できませんでしたが)
1と同様に入力信号は2つで済むメリットがあり、また、さまざまな色成分とその範囲が合成の指標に使用できるため、合成といえばクロマキーを思い浮かべる方もいるかもしれません。しかし、緑が多く使われることから分かるように、基本的には実写の人物を合成するために使うように設計されている場合があり、グラフィックスの合成にはアンチエリアス部分に色がちらちら載ってしまう不具合が出ることがあります。また、当然合成色に近い色をオブジェクトに使うことはできません。
実はエキスターナルキーがスイッチャーにとっては基本
3のエキスターナルキーは、合成の指標になるキー信号を、合成信号とは別に用意し、同時に入力する方法です。
エキスターナルキーはキーフィル(Fill)とキーソース(Key)の2つの合成信号を用意する必要があるため、余計にスイッチャーのポートを消費するデメリットがあります。しかし、合成品質としては1番綺麗な結果が得られる方法です。実は、1も2も、明かりさの違いや色の違いを手段として使って、なんとかこのFillとKeyをスイッチャー内部で作り直しているのです。つまり、すべてのキーイングプロセスの最終は必ずエキスターナルキーなのです。
注意すべきは、Keyの考え方、作り方は、「抜きたいところは黒、表示したいところは白、半透明はグレー」とわかりやすいので、これを作ればOKと思われてしまうのですが、品質に関わってくるのは実はFillの方にあるということです。例えはグラフィックスソフトでオブジェクトを作った場合、画面に映されているのは黒いバックグラウンドに合成された結果なので、これをFillに使ってしまってはいけません。半透明の表現やアンチエリアスを合成するためには、合成後のPGMとは別にFillをちゃんと用意する必要があります。
Key & FillをOBSから作る(DeckLink Output)
今回、なぜこの話を思いついたかというと、いつも参考にしています松井さんのnoteより、YouTubeLiveのチャットやTwitterの書き込みをサードローワーとして合成するchrome拡張機能「Chat Overlay for Youtube, Twitch & more」を紹介され、htmlとして出力されるソースを外部スイッチャーで扱えるようにできないかと考えたからです。
松井さんもOBSからのKey出力にチャレンジしていますが、これを行う前にKey & Fillの扱いについて整理する必要がありました。
私は、Key & Fillを得るため、DeckLink Output機能を使用します。OBSは映像信号をPGMとして出力するために、PCのグラフィックボードからのHDMIを使用する方法の他に、BlackMagicDesignのキャプチャーカードからネイティブな信号を出力することができます。グラフィックスボードからの出力と違いOSや接続先EDIDの影響を受けないので、正確に色が得られるのと、カーソルなどが不用意に出力に混在しないので、私は基本的にOBSの出力を映像信号として取り出すにはDeckLink Output機能を使用しますが、BMDのキャプチャーカードにはデュアルリンク、つまり同時に2系統の出力を得られるカードがあるので、これでKey & Fillが同時に出力できないかと考えたわけです。
使用したのはUltraStudio 4Kです。SDIでデュアルリンクに対応しているうえに、パンダスタジオレンタルで1650円/日と破格なので、チェックに使用するにはもってこいです。なぜか、WindowsPCとのthunderbolt接続に問題があったのでMacBookAir2018で使用します。
なお、用意したchrome拡張のhtmlファイルは、ローカルフォルダにダウンロードし、テキストエディターで以下の項目を変更することで、ピンク色半透明のオブジェクトにしました。
--comment-bg-color: #222;
↓
--comment-bg-color: rgba(255, 0, 255, 0.6)
2本のSDIの出力を同時に観測してみると
この手法では、出力は2本のSDIになってしまいます。ATEM Miniではなかなか手強いですね。ただ、Extremeと同じ予算でSDI10入力を持つ、ATEM 1M/E Constellation HD が発売されました。Extremeを検討されている方は、SDIの安心感を持つATEM Constellation HDも検討されてはいかがでしょうか。
OBSがKey & Fillを出力できるということは
配信エンコードは安心感のあるハードウェアエンコードを使いたいという方も、メディアプレーヤーやオンエアグラフィックスとしてOBSを使うのはアリなんじゃないでしょうか。全く動作に不安なく扱えます。Key & Fillが使えるなら、動画のP in P再生の出力などにも使えそうです。また、htmlでグラフィックスを入力できるなら、Chat Overlay for Youtube, Twitch & more以外にも色々と応用できそうです。(Excel入力などから流し込みのスポーツグラフィックスとか)
Key & Fillを正しく理解し、動画の拡張にチャレンジしてみてください。
この記事が気に入ったらサポートをしてみませんか?