【文献】
坂東 幸浩, 高村 誠之, 清水 淳,高時間分解能制御による時空間軌道追跡に基づく高画質画像生成アルゴリズムの基礎検討 A study on high quality image generation algorithm based on trajectory tracking with high temporal resolution,第32回 画像符号化シンポジウム 第22回 映像メディア処理シンポジウム,日本,2017年11月20日,pp.138-139
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
本発明の実施形態について、図面を参照して詳細に説明する。
図1は、画像生成装置1の構成の例を示す図である。画像生成装置1は、画像を生成する装置である。画像生成装置1は、動きボケ及び重畳雑音が低減されたリアルタイム再生用の画像を生成する。画像生成装置1は、入力画像記憶部10と、初期合成画像生成部20と、合成画像記憶部30と、合成画像更新部40と、更新終了判定部50とを備える。
【0019】
入力画像記憶部10と合成画像記憶部30とは、例えばフラッシュメモリ、HDD(Hard Disk Drive)などの不揮発性の記録媒体(非一時的な記録媒体)である。入力画像記憶部10と合成画像記憶部30とは、例えば、RAM(Random Access Memory)やレジスタなどの揮発性の記録媒体を有してもよい。入力画像記憶部10は、画像生成装置1に入力された画像データである入力画像を記憶する。
【0020】
初期合成画像生成部20と合成画像更新部40と更新終了判定部50とのうち一部又は全部は、例えば、CPU(Central Processing Unit)等のプロセッサが、記憶部に記憶されたプログラムを実行することにより実現される。各機能部のうち一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェアを用いて実現されてもよい。
【0021】
図2は、初期合成画像生成部20の構成の例を示す図である。初期合成画像生成部20は、更新される合成画像の初期画像である初期合成画像を生成する。初期合成画像生成部20は、入力画像記憶部21と、局所近傍領域設定部22と、対応位置同定部23と、合成画像生成部24と、最終画素判定部25とを備える。
【0022】
入力画像記憶部21は、フィルタリング処理の対象フレームと参照フレームとを記憶する。対象フレーム及び参照フレームは、高フレームレート(高い時間解像度)の動画像のフレームである。動画像の出力システムであるディスプレイ装置のフレームレートの上限が例えば240fpsである場合、高フレームレートは、例えば240fpsを超えるレートである。
【0023】
局所近傍領域設定部22は、予め定められた順序に基づいて、参照フレームの候補から参照フレームを選択する。局所近傍領域設定部22は、対象フレーム内の処理対象の画素(以下「対象画素」という。)の局所近傍の領域(以下「局所近傍領域」という。)の画素を、対象フレームに設定する。以下、局所近傍の領域の画素を「局所近傍画素」という。
【0024】
対応位置同定部23は、局所近傍画素の画素値を、局所近傍領域設定部22から取得する。対応位置同定部23は、参照フレームの探索範囲の画素値を、入力画像記憶部21から取得する。対応位置同定部23は、対象フレーム内の対象画素について、参照フレーム内の対応位置を同定する。対応位置同定部23は、対応位置情報を合成画像生成部24に出力する。
【0025】
図3は、合成画像生成部24の構成の例を示す図である。合成画像生成部24は、対応位置と参照フレームとに基づいて、合成画像を生成する。合成画像生成部24は、合成画像の画素値(更新画素値)を、最終画素判定部25に出力する。合成画像生成部24は、参照フレーム設定部240と、参照画素設定部241と、重み設定部242と、近似値生成部243と、最終参照フレーム判定部244と、画素値更新処理部245とを備える。
【0026】
参照フレーム設定部240は、入力画像の参照フレームを、入力画像記憶部21から取得する。参照画素設定部241は、参照フレーム内の対応位置の近傍の整数画素位置の画素を、参照画素と設定する。
【0027】
参照画素設定部241は、対応位置情報を対応位置同定部23から取得する。参照画素設定部241は、予め定められた全ての参照フレーム内の対応位置の画素の局所近傍領域の画素値を、参照フレーム設定部240から取得する。
【0028】
重み設定部242は、参照画素の局所近傍領域の画素値で対象画素の局所近傍領域内の画素値を近似した場合に近似誤差が最小となるように、参照画素の重み係数を定める。重み設定部242は、参照画素の重み係数を近似値生成部243に出力する。
【0029】
近似値生成部243は、参照画素値と参照画素の重み係数との加重和を、対象画素の画素値である対象画素値の近似値として算出する。近似値生成部243は、対象画素値の近似値を最終参照フレーム判定部244に出力する。
【0030】
最終参照フレーム判定部244は、予め定められた全ての参照フレームについて対象画素値の近似値を算出する処理が終了したか否かを判定する。対象画素値の近似値を算出する処理がいずれかの参照フレームについて終了していない場合、合成画像生成部24は、対象画素値の近似値を算出する処理を繰り返す。画素値更新処理部245は、いずれかの画素に対する処理が終了していない場合、対象画素値の近似値を算出する処理を次の画素に対して実行する。
【0031】
予め定められた全ての参照フレームについて対象画素値の近似値を算出する処理が終了した場合、画素値更新処理部245は、予め定められた全ての参照フレームの近似値と対象画素値とを取得する。画素値更新処理部245は、近似値及び対象画素値の平均値を算出する。画素値更新処理部245は、近似値及び対象画素値の平均値を、対象画素値の更新値として最終画素判定部25に出力する。すなわち、画素値更新処理部245は、予め定められた全ての画素に対する処理が終了した場合、生成された合成画像(更新画素値)を最終画素判定部25に出力する。
【0032】
図2に戻り、初期合成画像生成部20の構成の説明を続ける。最終画素判定部25は、合成画像の最終画素まで合成画像が生成された場合、生成された合成画像を合成画像記憶部30に出力する。
【0033】
図4は、合成画像更新部40の構成の例を示す図である。合成画像記憶部30は、初期合成画像生成部20によって生成された画像を記憶する。合成画像更新部40は、初期合成画像生成部20によって生成された画像を更新する。合成画像更新部40は、合成画像記憶部41と、局所近傍領域設定部42と、対応位置同定部43と、合成画像生成部44と、最終画素判定部45とを備える。
【0034】
合成画像記憶部41は、初期合成画像生成部20によって生成された合成画像(生成画像)と参照フレーム群とを記憶する。
局所近傍領域設定部42は、予め定められた順序に基づいて、参照フレーム群から参照フレームを選択する。局所近傍領域設定部42は、対象画素の局所近傍画素を対象フレームに設定する。
【0035】
対応位置同定部43は、局所近傍画素の画素値を局所近傍領域設定部42から取得する。対応位置同定部43は、参照フレームの探索範囲の画素値を、合成画像記憶部41から取得する。対応位置同定部43は、対象フレーム内の対象画素について、参照フレーム内の対応位置を同定する。対応位置同定部43は、対応位置情報を合成画像生成部44に出力する。
【0036】
合成画像生成部44の構成は、合成画像生成部24の構成と同じ構成を含む。合成画像生成部44は、合成画像生成部24の動作と同様に動作する。動作の結果、合成画像生成部44は、対応位置と参照フレームとに基づいて、更新された合成画像を生成する。
【0037】
最終画素判定部45は、生成された合成画像が合成画像生成部44によって合成画像の最終画素まで更新された場合、更新された合成画像を更新終了判定部50に出力する。
【0038】
図1に戻り、画像生成装置1の構成の説明を続ける。更新終了判定部50は、合成画像更新部40から出力された合成画像と初期合成画像との差分二乗和が閾値未満となる等の反復の終了条件が満たされている場合、合成画像更新部40から出力された合成画像を出力する。
【0039】
次に、画像生成装置1の動作の例を説明する。
図5は、画像生成装置1の動作の例を示すフローチャートである。画像生成装置1は、フィルタリング対象となる画像データを取得する(ステップS1)。初期合成画像生成部20は、取得された画像データに基づいて初期合成画像を生成する(ステップS2)。
【0040】
図6は、初期合成画像生成部20の動作の例を示すフローチャートである。
図6のフローチャートは、
図5のステップS2の詳細である。初期合成画像生成部20は、取得された画像データのフレーム内の全ての対象画素に対して、ステップS2a−2からステップS2a−8までの処理を繰り返す(ステップS2a−1)。
【0041】
初期合成画像生成部20は、対象画素に対して局所近傍画素を設定する(ステップS2a−2)。
初期合成画像生成部20は、参照フレーム内の全ての参照画素に対して、ステップS2a−4からステップS2a−7までの処理を繰り返す(ステップS2a−3)。
【0042】
初期合成画像生成部20は、局所近傍画素の画素値と参照フレームの探索範囲の画素値とを取得する。初期合成画像生成部20は、参照フレーム内の対応位置を同定し、同定された対応位置情報を取得する(ステップS2a−4)。
初期合成画像生成部20は、対応位置情報に基づいて、対応位置の近傍の整数画素位置の画素(近傍画素)を参照画素として設定する(ステップS2a−5)。
【0043】
初期合成画像生成部20は、全ての参照画素の局所近傍領域の画素値と対象画素の局所近傍領域内の画素値とに基づいて、参照画素の重み係数を算出する。初期合成画像生成部20は、参照画素の局所近傍領域の画素値で対象画素の局所近傍領域内の画素値を近似した場合に近似誤差が最小となるように、参照画素の重み係数を算出する(ステップS2a−6)。
【0044】
初期合成画像生成部20は、参照画素値と参照画素の重み係数との加重和を、対象画素値の近似値として算出する(ステップS2a−7)。
初期合成画像生成部20は、取得された画像データの全ての参照フレームの近似値及び対象画素値の平均値を、対象画素値の更新値として合成画像記憶部30に出力する(ステップS2a−8)。
【0045】
図7は、画像生成装置1の詳細動作の例を示すフローチャートである。
図7に示すフローチャートのステップS2−1からステップS5までは、
図5のステップS2からステップS5までに対応する。
【0046】
入力画像記憶部21は、指定された対象フレームである第tフレームと、指定されたr
t枚の参照フレームを記憶する。各フレームは、時間フィルタの入力信号のフレーム間隔t(=jδ
t(j=0,1,…))でサンプリングされる。f(x,y,t)(x=0,…,X−1, y=0,…,Y−1)は、第tフレームの位置x,yにおける画素値である。
【0047】
局所近傍領域設定部22は、フレームの時間位置を表す変数tに、t=t
0−t
b,…,t
0−r
t−b
tの順に値を設定する(ステップS2−1)。
【0048】
初期合成画像生成部20は、設定された時間位置tのフレームに対して、ステップS2−2からステップS2−4−4までの処理を実行する。つまり、初期合成画像生成部20は、(2b
t+r
t+1)枚の各フレームに対して、ステップS2−2からステップS2−4−4の処理を実行する。
【0049】
局所近傍領域設定部22は、対象フレーム内の対象画素f(x,y,t)に対する局所近傍領域F
b(x,y,t)として、(2b
x+1)×(2b
y+1)×(2b
t+1)画素から成る領域{f(x−i,y−j,t−k)|i∈[−b
x,b
x],j∈[−b
y,b
y],k∈[−b
t,b
t]}を設定する。
【0050】
局所近傍領域設定部22は、r
t枚の各参照フレームに対して、ステップS2−3からステップS2−4−4までの処理を実行する。局所近傍領域設定部22は、処理対象とする参照フレーム(t−r
tフレーム)を、1,…,r
tの順に設定する。つまり、局所近傍領域設定部22は、対象フレームから近い参照フレームを優先して処理に使用する(ステップS2−2)。
【0051】
対応位置同定部23は、参照フレーム内において、対象画素の対応位置を同定する。
ステップS2−3の詳細を説明する。
対応位置同定部23は、局所近傍領域F
b(x,y)と対応点の局所近傍領域との差分二乗和を最小化する参照フレーム内の位置を、式(1)のように同定する。
【0053】
ここで、e(v
x,v
y,r
t)は、式(2)のように表される。
【0055】
式(2)は、e(v
x,v
y,r
t−1)を最小化する対応点の位置(V(x,t’−r
t+1),V(y,t’−r
t+1))を探索中心とした処理を表す。r
tは、参照フレームまでの時間間隔を表す。(v
x,v
y)は、探索中心に対する変位量を表す。対象画素位置に対する変位量は、式(3)のように表される。
【0057】
ここで、round()は、四捨五入によって整数値化された結果を返す関数である。対応位置同定部23は、(1/4)画素精度で対応点を探索する。対応位置同定部23は、小数画素位置の値を、バイリニア(bilinear)補間で取得する。
【0059】
閾値θ
eに対して、e(v
x,v
y)>θ
eとなる場合、対応位置同定部23は、適切な対応点が存在しないものと判定し、(v
x,v
y)を設定しない。閾値θ
eは、外部パラメータとして設定される(ステップS2−3)。
【0060】
合成画像生成部24は、対応位置の近傍画素を参照画素とする。
ステップS2−4−1(参照画素の設定)の詳細を説明する。
式(3)における、第(t−r
t)フレームにおける対応位置での画素(x−V(x,t−r
t),y−V(y,t−r
t))と、その近傍に位置する画素(x−V(x,t−r
t)+1,y−V(y,t−r
t)),(x−V(x,t−r
t),y−V(y,t−rt)+1),(x−V(x,t−r
t)+1,y−V(y,t−r
t)+1)とについて、各々の局所近傍領域を考える。
【0061】
合成画像生成部24は、各近傍領域に含まれる画素をラスター走査順に一元化して、(2b
x+1)×(2b
y+1)×(2b
t+1)次元ベクトルの各ベクトルを算出する。(2b
x+1)×(2b
y+1)×(2b
t+1)次元ベクトルの各ベクトルは、R
0(x,y,t−r
t)と、R
1(x,y,t−r
t)と、R
2(x,y,t−r
t)と、R
3(x,y,t−r
t)とである。例えば、R
0(x,y,t−r
t)の要素は、式(5)のように表される。
【0063】
合成画像生成部24は、R
0(x,y,t−r
t)と、R
1(x,y,t−r
t)と、R
2(x,y,t−r
t)と、R
3(x,y,t−r
t)との加重和で、対象画素の局所近傍領域F
b(x,y,t)を近似する。近似誤差電力Eは、式(6)のように表される(ステップS2−4−1)。
【0065】
合成画像生成部24は、参照画素に重み係数を設定する。
ステップS2−4−2の詳細を説明する。
合成画像生成部24は、近似誤差電力E(x,y,t−r
t)を最小化する重み係数w
0,w
1,w
2,w
3を算出する。合成画像生成部24は、重み係数w
0,w
1,w
2を、式(7)に基づいて算出する。
【0067】
ここで、i,j=0,1,2に対して、ベクトルの内積値は、式(8)のように表される。
【0069】
ここで、肩付のtは転置を表す。合成画像生成部24は、式(7)に示された重み係数w
0,w
1,w
2を用いて、式(9)のように重み係数w
3を算出する。
【0071】
式(9)は、重み係数の和が1になるという制約条件の下で近似誤差電力を最小化した結果である。重み係数の和に関して制約条件が設けられていない場合、重み係数は式(10)のように表される。
【0073】
ここで、i,j=0,1,2,3に対して、ベクトルの内積値は、式(11)のように表される。肩付のtは転置を表す(ステップS2−4−2)。
【0075】
合成画像生成部24は、参照画素値と参照画素の重み係数とに基づいて、対象画素の近似値を生成する。
ステップS2−4−3の詳細を説明する。
合成画像生成部24は、式(11)に示された重み係数を各参照画素の画素値に式(12)のように乗算することによって、対象画素値の近似値を算出する。合成画像生成部24は、局所近傍領域単位で画素値に重み係数を乗じるのではなく、画素単位で画素値に重み係数を乗じる。合成画像生成部24は、r
t枚の参照フレーム(第(t−r
t)フレーム、(t=1,…,r
t))に対する参照画素値を、式(12)のように算出する。
【0077】
ここで、r
i(x,y,t−r
t)は、i=0,1,2,3に対して、式(13)のように表される。すなわち、式(13)は、時刻(t−r
t)に位置する参照フレームに対する参照画素値である(ステップS2−4−3)。
【0079】
合成画像生成部24は、各参照フレームから得た近似値に信頼度を割り当てる。合成画像生成部24は、近似値に信頼度を乗じた加重和で対象画素値を更新することによって、合成画像~f(x,y,t)を生成する。
【0080】
ステップS2−4−4(対象画素値の更新)の詳細を説明する。
合成画像生成部24は、式(12)のように表されるr
t枚の参照フレームに対する参照画素値に基づいて、式(14)のように対象画素値を更新する。
【0082】
係数a
kの第1の設定例は、式(15)及び式(16)のように表される。
【0085】
係数a
kの第2の設定例は、式(17)及び式(18)のように表される。
【0088】
ここで、合成画像生成部24は、各x,y,tに対して、|f(x,y,t)−^f(x,y,t,l
t)|<ψを満たすサンプル数として、r’t(x,y,t)を定める。なお、r’
t(x,y,t)の値域は、r
t≦r’t(x,y,t)≦r
tである。変数ψは、外部から与えられる閾値パラメータである。
【0089】
係数a
kの第3の設定例は、式(19)及び式(20)のように表される。ここで、εは、ゼロ除算を回避するために付与された微小量である(ステップS2−4−4)。
【0092】
画像生成装置1は、合成画像の各画素に対して、参照フレーム内の対応点を同定する。対応位置同定部43は、(2b
t+r
t+1)枚の合成画像f(x,y,t)(t=t
0−b
t,…,t
0−r
t−b
t)に対して、
図7のステップS2−3の処理と同様の処理を施す。
【0093】
対応位置同定部43は、~f(x,y,t
0)を対象フレームとして、各参照フレームである各合成画像~f(x,y,t)(t=t
0−1,…,t
0−r
t)内において、対象画素の対応位置を同定する(ステップS3)。
【0094】
画像生成装置1は、ステップS1で取得された画像データと対応点とに基づいて、合成画像を生成する。合成画像生成部44は、各参照フレームに対する対応位置情報を、対応位置同定部43から取得する。合成画像生成部44は、原フレームf(x,y,t)(t=t
0−b
t,…,t
0−r
t−b
t)を取得する。合成画像生成部44は、ステップS2−4−1からステップS2−4−4までの処理と同様に、合成画像~f(x,y,t)(t=t
0−b
t,…,t
0−r
t−b
t)を生成する(ステップS4)。
【0095】
画像生成装置1は、反復の終了条件を合成画像が満たしているか否かを判定する。反復の終了条件は、例えば、ステップS3で取得された合成画像とステップS4で出力された合成画像との差分二乗和が閾値未満となるという条件である。更新終了判定部50は、生成された合成画像~f(x,y,t)(t=t
0−b
t,…,t
0−r
t−b
t)を、合成画像更新部40から取得する。更新終了判定部50は、原フレームを、入力画像記憶部10から取得する。更新終了判定部50は、反復処理の終了条件が満たされているか否かを判定する(ステップS5)。
【0096】
反復の終了条件を合成画像が満たしていない場合(ステップS5:No)。画像生成装置1は、ステップS3に処理を戻す。反復の終了条件を合成画像が満たしている場合(ステップS5:Yes)、更新終了判定部50は、合成画像~f(x,y,t
0)を出力する。すなわち、更新終了判定部50は、動きボケ及び重畳雑音が低減された第tフレームの位置の画像を出力する(ステップS6)。
【0097】
以上のように、実施形態の画像生成装置1は、入力画像記憶部10(動画像取得部)と、対応位置同定部23(第1検出部)と、重み設定部242(第1重み生成部)と、近似値生成部243(第1近似値生成部)と、画素値更新処理部245(第1更新処理部)とを備える。入力画像記憶部10は、対象フレームと複数の参照フレームとを取得する。対応位置同定部23は、対象フレーム内の対象画素ごとに参照フレーム内の第1対応位置を検出する。重み設定部242は、第1対応位置の近傍の第1参照画素ごとに、画素値の第1重み係数を生成する。近似値生成部243は、第1参照画素の画素値と第1重み係数とに基づいて、対象画素の画素値の第1近似値を生成する。画素値更新処理部245は、複数の参照フレームについて生成された各第1近似値に基づいて、対象画素の画素値を更新する。
【0098】
これによって、実施形態の画像生成装置1は、動きボケ及び重畳雑音が低減されたリアルタイム再生用の画像を生成することが可能である。実施形態の画像生成装置1は、視覚の検知限を越えた高フレームレート画像から、リアルタイム再生用の高画質画像を生成すること(フィルタリング処理)が可能である。
【0099】
実施形態の画像生成装置1は、対応位置同定部43(第2検出部)を更に備える。実施形態の画像生成装置1は、第2重み生成部と、第2近似値生成部と、第2更新処理部とを合成画像生成部44の各構成として備える。第2検出部は、更新された画素値の対象画素ごとに参照フレームの第2対応位置を検出する。第2重み生成部は、第2対応位置の近傍の第2参照画素ごとに、画素値の第2重み係数を生成する。第2近似値生成部は、第2参照画素の画素値と第2重み係数とに基づいて、更新された画素値の対象画素の画素値の第2近似値を生成する。第2更新処理部は、複数の参照フレームについて生成された各第2近似値に基づいて、更新された画素値の対象画素の画素値を再び更新する。
【0100】
これによって、実施形態の画像生成装置1は、動きボケ及び重畳雑音が更に低減されたリアルタイム再生用の画像を生成することが可能である。
【0101】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。