コンピュータビジョンを用いた写真・映像編集技術シリーズとして、インペインティングング、漫画画像変換、リターゲティングと、紹介してきました。そのシリーズの最後として、今回から「デジタルビデオ安定化(Digital Video Stabilization)」という技術を紹介していきます。
デジタルビデオ安定化は、ソフトウェア処理によって行う動画のブレ補正の技術です。みなさんがビデオカメラで動画を撮る際に、手でカメラを動かすと、いわゆる「手ブレ」が起こると思います。これはどういうことかもう少し噛み砕いて表現すると、要するに、映像の動きがランダムで安定していないせいで見えづらい映像が撮影されてしまうということだと思います。こういう「不安定な動きの映像」はカメラを持つ手が震えてしまった場合のみならず、例えば車に固定していてもその車が大きく揺れればそれだけ撮影した映像は不安定な動きの映像になります。
このように手ぶれなどによって不安定なカメラの動きになっている映像を、動きを補正して「安定した」カメラの動きの映像を作成するのが「ビデオ安定化(俗に言う「手ブレ補正」)という技術です。そのビデオ安定化のうちでも特に、撮影後の動画に対して、コンピュータビジョン技術を用いてソフトウェア処理によってビデオ安定化を行うものを「デジタルビデオ安定化」と呼びます。(「電子式手ぶれ補正」とも呼ばれます。)
デジタルビデオ安定化以外にも、各社のビデオカメラには、各種ハードウェア的に行うビデオ安定化の技術が搭載されてきました。最初に各社のカメラに搭載された安定化技術は、レンズ系の工夫により振動を抑える「光学的安定化」です。一方、このレンズソフト方式の光学安定化は価格を抑えにくい難点があったので、撮影素子のCCD工夫することによりブレを抑える「センサーシフト方式」という光学安定化がその次に開発されてきました。日本だと「ボディ内蔵方式」と呼ばれることも多いです。加えて、カメラやレンズ周り自体を重くて強固なものにする、ジャイロセンサーによってレンズ系に生じる微小なずれを計測してそのずれを打ち消す方向に移動することによって安定化をはかるなどといった「機械的安定化」も、比較的高価な企業向けカメラを中心に搭載されています。
こうしたレンズ系による光学的な対処は行わずに、ブレが残ったまま撮影したデジタル画像の複数フレームから、各画素の動き量を推定して(カメラの動きによる)ずれを補正し、補正して空白になったところをインペインティングした映像を作る技術が「デジタルビデオ安定化」です。こうした説明の流れですと、「撮影したあとでソフトウェアで処理する」イメージが強くなるかもしれませんが、近年ではこれを高速なDSP処理により、撮影時にリアルタイムに行う機種も出ていて、かならずしも後処理だけで使われる技術ではありません。
というわけで、今回は、この「デジタルビデオ安定化」に焦点をあてて紹介していきます。
デジタルビデオ安定化の処理の概要
デジタルビデオ安定化を行うためには、カメラの姿勢や位置の違いによるフレーム間の変化具合(= 移動度、もしくはそれによる画像のブラー)を、動画中の各フレームの画像から取得する必要があります。機械的なビデオ安定化で用いる物理的なセンサで計測したカメラの姿勢や位置の変化情報はないので、代わりに動画からカメラの動きを推定しないといけません。この時、動画から細かい画素ごとのカメラの動きを推定する際に、「オプティカルフロー(Optical Flow)」と呼ばれる「動き推定技術」を用います。このオプティカルフローによって推定した動き量をもとに、各フレーム間の位置合わせを行うというのが、デジタルビデオ安定化の基本的なアイデアです。
以下の動画は、AdobesのAfter Effectsに搭載されている、デジタルビデオ安定化処理の使用感のレポート動画です(ちなみに、この動画が横に真っすぐ移動して撮影をした映像に対して安定化処理を行った理由は、今後の解説記事でビデオ安定化の原理がわかると明らかになります)。
デジタルビデオ安定化では、2枚の画像ごとに予測したオプティカルフローによる局所ごとの動きと、同時に算出した全体的な動き(カメラの並行移動や回転移動による全体的な移動)をもとに、ブレがない状態の安定した位置を推測し、各画素を安定化したところに移動・変形させます。ただ、そのようにして各画像を移動・変形させると、どうしても元の画像に存在していない空白が生じてきます。そこで、その部分をインペインティングで埋めることで、隙間のない、かつ安定化された最終結果の動画が得られるというのが、デジタルビデオ安定化のおおまかな仕組みです。さらに、モーションブラーが強い場合には、これを取り除くためのデコンボリューション処理も使用します。
このように、以前紹介したインペインティングとともに、オプティカルフローがデジタルビデオ安定化には欠かせない処理です。従って、まずはオプティカルフローを中心とした「動きの推定」の原理について一通り説明することにします。その後、デジタルビデオ安定化の仕組みについて全体の流れを紹介していくことにします。