Electric Image Stabilization 

 近年のスマートフォンでは、静止画撮影時や動画撮影時の写真やビデオ画質向上のため手振れ補正技術が使われています。余りにも浸透してしまったため撮影後のビデオに手振れ補正が入っていることを知らないユーザーも多いとは思いますが、手振れ補正技術は、スマートフォンにおける重要技術の一つであり、昔から技術開発が盛んに行われてきました。この手振れ補正技術のうち、撮像時にレンズを直接動かして手振れを抑えるものをOIS(Optical Image Stabilization)、撮像後にIMU情報のジャイロスコープや加速度を用いて画像のブレを除去する技術をEIS(Electric Image Stabilization)、  撮像後に撮像画像データを用いて動きベクトル情報を推定し、画像のブレを除去する技術をDIS(Digital Image Stabilization)と呼ぶことが多いです。実際のスマートフォンのフラッグシップ機となると、これらを複数を組み合わせた技術が使われることが多いです。HIS(Hybrid Image Stabilization)と呼んだりもします。このうちEISとDISが撮像後に手振れ補正を行う技術です。DISは数十年前から盛んに研究開発がなされカメラ製品に活用されてきました。しかしジャイロの精度向上、またEISは電力消費と処理時間がDISに比べてとても小さいため、EISはスマホやアクションカメラで一般的に使われています。以下にXiaomi Mi9からAndroidアプリを使って取得したIMU情報と手振れ補正前のビデオ情報を用いてEISを行った例を示します。左が補正前、右が補正後です。

少しキャリブレーションが甘い感もありますが、ある程度の大きなブレを抑えられていることがわかります。この例ではジャイロ情報のみを用いていますが、加速度やそれらをセンサーヒュージョンした情報を用いる場合もあります。また上記のサンプルではローリングシャッターの非線形歪みもある程度補正できていることがわかります。試しに、ワープ前のオリジナル動画のサンプリング点を赤い枠線で描画してみました。白点が補正後のグリッド位置です。

EISの精度を向上させるには、時間方向と空間方向のキャリブレーションを十分正確に行うことがとても重要です。また上記動画ではワープ後のはみ出した画像領域をそのまま描画してますが、実際にはクロップサイズを決めてこの領域をクロップしユーザーには見せないようにしています。ただし実際のシーンでは固定視点ではないので、平滑化後の視点を固定したままでは以下のビデオのように大幅に枠外にはみ出てしまいます。このため、手振れ補正後に枠外にはみ出ないように平滑化トラジェクトリをリアルタイムにアップデートしていくこともとても重要です。つまりVideo stabilizationは拘束条件付きの最適化問題を実時間で解く側面もあると言えます。アクションカメラの場合多くのパラメータは固定のままですが、スマートフォンの場合では、ユーザー操作で焦点距離や使用カメラなどもリアルタイムに変化することもあり、シームレスな映像変化に見せるため全てのパラメータ変化に柔軟に適合していく必要もあります。更なる話題、スマホ搭載の裏側が気になればご一報下さい。