/**/

チュートリアル 8:
シンプルなミキシング

2つのビデオソースのミキシング

2つの映像のミキシングは、ビデオを扱う上で、最も一般的で、しかも役に立つテクニックの1つに挙げられます。

最も単純な形のビデオミキシングは、2つのイメージ各々の強さを好みの割合に調節して加算するだけで実行できます。1つのイメージの強さを弱めながら、もう1つのイメージを強くしていくと、1つのイメージから他のイメージへのスムーズなクロスフェードを行うことができます。

Jitterには、ミキシングとクロスフェードを行うことができる jit.xfade というオブジェクトが用意されています。

技術的な詳細:このタイプのミキシングは、一方のマトリックスの個々の値と、もう一方のマトリックスの対応する値を、セルごと、プレーンごとにすべて加算し、その全ての結果によるマトリックスを出力することを意味します。しかし、これを単にそのまま行った場合、全ての値は入力されるどちらのイメージよりも大きくなってしまうため、結果として、出力されるイメージはオリジナルより明るいものになります(さらに、マトリックスがcharデータによるものである場合、いくつかの値は255でクリップされてしまうかもしれません)。したがって、普通は加算を行う前に一方、あるいは両方のイメージの強さをあらかじめ縮小します。例えば、2つのイメージを等しくミックスしようとする場合、加算を行う前に双方を同じだけ(係数0.5を掛けるなどして)縮小しておきます。

jit.xfadeオブジェクト

jit.xfade オブジェクトは2つのインレットそれぞれにマトリックスを受け取り、各々のマトリックスの値を特定の量だけ縮小(スケール)し、2つのマトリックスを加算して、ミックスされた結果をマトリックスとして出力します。入力される2つのマトリックスそれぞれに対する縮小率は、オブジェクトの xfade アトリビュートによって決定されます。xfade の値は、0〜1の間の (floatによる)数値をとります。この値は右インレットに入力されるマトリックスに対する縮小率を決定します。左インレットに入力されるマトリックスに対する縮小率は1 - xfade になります。そのため、xfade の値を0から1へだんだんと増加させていくと、出力されるマトリックスは、左の入力イメージから右の入力イメージへのクロスフェードになります。

・Jitter Tutorialフォルダの08jSimpleMixingというチュートリアルパッチを開いて下さい。2つのソースとなるビデオは loadbang オブジェクトによって自動的に読み込まれます。 metro オブジェクトをスタートさせて下さい。最初は左のビデオだけが見えます。hslider をドラッグして xfade の値を変化させて下さい。これによって、左と右のマトリックスをミックスしたものを見ることができます。


値が0.5の場合、左と右のマトリックスが等しくミックスされたものになります

クロスフェードの自動化

クロスフェードは1つのイメージから他のイメージにトランジション(転換)を行うもっとも一般的な方法の1つです。クロスフェードは数秒をかけて非常に緩やかに行われる場合も、また、ジャンプカット(画面を飛ばすこと)より若干スムーズな突然の転換を行うためにコンマ何秒というような短い時間で非常に素早く行われる場合もあります。

パッチの左上の部分では、ビデオAからビデオBへ(またはその逆)への自動的なクロスフェードを用意してあります。クロスフェードにかかる時間はどのようにでも設定できます。これは、ナンバーボックスで トランジションタイム(Transition time)を指定して行うことができます。


連続的に変化するxfadeの値を送信するための自動処理

・クロスフェーダーの効果を見ることができるように、ナンバーボックスで緩やかなトランジションタイム(5000ミリ秒など)を設定して下さい。Go to スイッチの右側をクリックして、ビデオBへフェードさせて下さい。

Go To スイッチは、実際には range(値の範囲)が2で、multiplier(値に掛けられる係数)が100の小さな hsliderです。このため、0と100という2つの値だけを送信することができます。スイッチの右側をクリックすると値100を送信し、packオブジェクトは100 5000 というメッセージを送信します。そしてline オブジェクトは0から100までの連続した値(50ミリ秒ごとに1つの新しい値)を5秒間かけて送信します。これらの値には0.01が掛けられ、0から1までのスムーズな変化を作り出します。

まとめ

2つのマトリックスの加算は、ビデオイメージのA - Bミキシングを行う簡単な方法です。2つのイメージを望むようなバランスにするためには、最初に各々のマトリックスにある係数を掛け合わせておく必要があります。一方のイメージに対する係数(縮小率)を1から0へ減少させた分だけ、もう一方のイメージに対する係数を0から1へ増加させることによって、あるイメージから他のイメージへのクロスフェードを行うことができます。

jit.xfade オブジェクトを使うと、2つのマトリックスのミックス、そしてクロスフェードを簡単に行うことができます。このオブジェクトの xfade アトリビュートは2つのマトリックスのバランスを決定します。xfade の値を連続的に0から1へ変化させるとスムーズなA - Bクロスフェードを行うことができます。クロスフェードを自動化するために、lineオブジェクト、あるいは他の、Max内の時間を調節するオブジェクトを利用することができます。