超解像とは

超解像とは複数の低解像度の画像から「高解像かつ高画質の映像」を作り出す技術です。総合電機メーカー各社が近年この「超解像」技術を推進しており、超解像専用の演算チップを開発してテレビやパソコンなど各種オーディオビジュアル製品に組み込んできているのは皆様もご存知の通りだと思います。

超解像を用いると、例えば解像度720×480のDVDの動画を、リアルタイムに超解像映像(解像度1920×1080)に変換しながらフルHD対応テレビの大きなディスプレイで表示再生することが可能になるわけです。現在はインターネットの動画もテレビのディスプレイで見る方も多いので、DVDよりさらに画質であるWeb上の動画には、超解像による高解像度化の処理が有効なわけです。また、動画のように入力が複数ではなくて、1枚の画像だけからでも超解像は可能ですが、動画の方が微小な位置ずれによる移動量を上手く使って、お互いのフレームごとに存在しない画素の色を補間できるので超解像には有利です。

超解像

一方で、「カメラですでに撮影されたデジタル画像に対して行う超解像」とは違い、カメラでの撮影時に光学系的に(レンズで光の色をデジタル値で取得する時に)行う特殊なカメラを用いた超解像技術も存在します。しかし、「超解像」と表示する場合、通常「すでにカメラで撮影し終わったデジタル画像を入力として行う超解像処理」を指すことが一般的です。今回は、その「デジタル画像の超解像」に的を絞って仕組みを紹介していこうと思います。

超解像の基本「MAP推定による未知の超解像画像の推定」

超解像では未知の結果画像(超解像画像)が複数の各入力画像へある劣化関数で劣化したものとみなします。そして、数ある超解像画像の候補のうち劣化関数による劣化が最も大きいもの、すなわちもっとも綺麗に劣化を取り除いたものを超解像画像として復元するという方針で行われます。

超解像画像の推定には「最大事後確率(Maximum a posteriori:MAP)推定」という手法を用いられることが一般的です(MAP推定は「ベイズ推定」という確率的なデータ推定手法の1手法で、その仕組みは今回の超解像のシリーズの終盤に紹介する予定です)。

超解像のMAP推定では、以下のエネルギー関数Eが最初になる結果画像が最適の超解像画像になるという計算を行います。

この式は2つの項の和として構成されています。まず第一項では、i番目の入力像yi(i=1,…,k)と推定したい超解像後の画像xiが関数hiで劣化した画像の誤差の自乗が、全入力画像k個分足し合わされています。

第二項ではcという事前確率という事前情報を表す関数が超解像の画像xに適用されています(αは第二項c(x)がどのくらい影響を表す寄与率で、自分で適当な値を設定)。

劣化関数のhiと事前確率のcがうまく式として表されておけば、エネルギー関数Eを最小化するMAP推定により超解像画像を推定できるようになるという仕組みです。

劣化関数hiは次のように3つの行列の積として表現されることが普通です。

3つの行列は以下の劣化を表現しています。

D:(ダウンサンプリング):解像度の劣化。例:640×480から320×240
Bi:(ブラー:ぼけ):ボケによる画質の劣化。
Mi:(モーション):超解像画像から各画像への動き(撮影対象やカメラの移動によるフレーム間のモーション)

つまり超解像では、これら3つの要素により超解像画像xが各入力画像yiに劣化したと仮定しています。これらの劣化の逆の変換をこのあと紹介していく各技術を用いて算出・推定していくことで、MAP推定により劣化前の超解像画像を推定します。