(57)【特許請求の範囲】
【請求項１】
注目画像内の画素単位で第１の動きベクトルを設定する動きベクトル設定部と、
注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定部と、
前記動きベクトル設定部により画素単位で設定された第１の動きベクトルと、前記露光時間比率設定部により設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定部と、
前記動きボケ量設定部により設定された動きボケ量および前記第１の動きベクトルに対応する動き方向に基づき、前記注目画像内の注目画素に対する処理領域を設定する処理領域設定部と、
前記動きボケ量設定部により設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定部と、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定部により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成部と、
入力された第２の動きベクトルと、前記第１の動きベクトルに基づき、画素単位で、前記画素値生成部により生成された画素値からなる画像に対して動きボケを付加する動きボケ付加部と、
前記動きボケ付加部により動きボケ付加された動きボケ付加注目画像を、前記第２の動きベクトルと対向するベクトルに沿って移動する画像移動部とを備える画像処理装置。
【請求項２】
前記動きボケ付加部は、前記露光時間比率に応じて、前記画像に対して動きボケを付加する請求項１記載の画像処理装置。
【請求項３】
前記画像移動部により移動された動きボケ付加注目画像内の画素値が存在しない部分を補間して提示画像を形成する提示画像形成部を備える請求項１記載の画像処理装置。
【請求項４】
前記画素値生成部により生成された画素値を蓄積することにより、前記注目画像の時間的に前後である周辺画像に対して前記動きボケ付加部により動きボケ付加された動きボケ付加周辺画像を記憶する記憶部を備え、
前記動きボケ付加注目画像が提示されるときに画素値が無い部分を、前記提示画像形成部は、前記動きボケ付加周辺画像から該画素値を取得し、その画素値で補間する請求項３記載の画像処理装置。
【請求項５】
前記提示画像形成部は、前記画像移動部により移動された動きボケ付加注目画像内の画素値が存在しない部分に固定値を割り当てる請求項３記載の画像処理装置。
【請求項６】
前記提示画像形成部は、前記動きボケ付加注目画像が移動することにより画枠外となる画素の画素値を折り返し、前記画像移動部により移動された動きボケ付加注目画像内の画素値が存在しない部分に、折り返した画素値を割り当てる請求項３記載の画像処理装置。
【請求項７】
前記注目画像よりも大きいフレームメモリを備え、
前記画像移動部により前記第２の動きベクトルと対向するベクトルに沿って移動された動きボケ付加注目画像のうち、前記注目画像の画枠から外れた画素値も前記フレームメモリに記憶しておく請求項１記載の画像処理装置。
【請求項８】
前記画像移動部は、前記画像移動部により移動された動きボケ付加注目画像を順次前記フレームメモリに記憶していく請求項７記載の画像処理装置。
【請求項９】
前記動きベクトル設定部により設定された動きベクトルに基づき、画像毎に前記注目画素を設定する注目画素設定部と、
単一の画素値を出力する統合部を備え、
前記処理領域設定部は、前記動きボケ量設定部により設定された動きボケ量および前記動きベクトルに対応する動き方向に基づき、前記注目画素設定部により設定された画像毎の注目画素に対する処理領域を設定し、
前記画素値生成部は、前記画像毎に設定された処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定部により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記注目画素の動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記画像毎の注目画素に対応する画素値を生成し、
前記統合部は、前記画素値生成部により生成された画像毎の注目画素に対応する画素値を統合処理して、前記単一の画素値を生成して出力する請求項１記載の画像処理装置。
【請求項１０】
予測する注目画像内の注目画素を設定する注目画素設定部と、
入力された前記注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定部と、
前記注目画素の空間位置と略同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定部と、
前記動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定部と、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定部により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成部と、
前記画素値生成部により生成された画素値からなる処理画像を、前記入力された動きベクトルと対向するベクトルに沿って移動する画像移動部とを有する画像処理装置。
【請求項１１】
注目画像内の画素単位で第１の動きベクトルを設定する動きベクトル設定工程と、
注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定工程と、
前記動きベクトル設定工程により画素単位で設定された第１の動きベクトルと、前記露光時間比率設定工程により設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定工程と、
前記動きボケ量設定工程により設定された動きボケ量および前記第１の動きベクトルに対応する動き方向に基づき、前記注目画像内の注目画素に対する処理領域を設定する処理領域設定工程と、
前記動きボケ量設定工程により設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定工程と、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定工程により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成工程と、
入力された第２の動きベクトルと、前記第１の動きベクトルに基づき、画素単位で、前記画素値生成工程により生成された画素値からなる画像に対して動きボケを付加する動きボケ付加工程と、
前記動きボケ付加工程により動きボケ付加された動きボケ付加注目画像を、前記第２の動きベクトルと対向するベクトルに沿って移動する画像移動工程とを備える画像処理方法。
【請求項１２】
予測する注目画像内の注目画素を設定する注目画素設定工程と、
入力された前記注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定工程と、
前記注目画素の空間位置と略同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定工程と、
前記動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定工程と、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定工程により設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成工程と、
前記画素値生成工程により生成された画素値からなる処理画像を、前記入力された動きベクトルと対向するベクトルに沿って移動する画像移動工程とを有する画像処理方法。
【請求項１３】
コンピュータに、
注目画像内の画素単位で第１の動きベクトルを設定する動きベクトル設定ステップと、
注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定ステップと、
前記動きベクトル設定ステップにより画素単位で設定された第１の動きベクトルと、前記露光時間比率設定ステップにより設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定ステップと、
前記動きボケ量設定ステップにより設定された動きボケ量および前記第１の動きベクトルに対応する動き方向に基づき、前記注目画像内の注目画素に対する処理領域を設定する処理領域設定ステップと、
前記動きボケ量設定ステップにより設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定ステップと、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定ステップにより設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と、前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成ステップと、
入力された第２の動きベクトルと、前記第１の動きベクトルに基づき、画素単位で、前記画素値生成ステップにより生成された画素値からなる画像に対して動きボケを付加する動きボケ付加ステップと、
前記動きボケ付加ステップにより動きボケ付加された動きボケ付加注目画像を、前記第２の動きベクトルと対向するベクトルに沿って移動する画像移動ステップとを実行させる画像処理プログラム。
【請求項１４】
コンピュータに、
予測する注目画像内の注目画素を設定する注目画素設定ステップと、
入力された前記注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定ステップと、
前記注目画素の空間位置と同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定ステップと、
前記動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは前記動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定ステップと、
前記処理領域内の画素に対応する画素値から前記動き方向に応じて生成された新たな処理用の画素値と、前記処理係数設定ステップにより設定された特定の処理係数との線形結合、あるいは前記処理領域内の画素に対応する画素値と、前記動きボケ量と動き方向に応じて設定された処理係数の線形結合により、前記注目画素に対応する画素値を生成する画素値生成ステップと、
前記画素値生成ステップにより生成された画素値からなる処理画像を、前記入力された動きベクトルと対向するベクトルに沿って移動する画像移動ステップとを実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置と画像処理方法および画像処理プログラムに関する。詳しくは、注目画像の動きボケ除去を行い、動きボケ除去された画像に対して画素単位で視点動きベクトルに応じて動きボケが付加されて、この動きボケが付加された動きボケ付加注目画像が視点動きベクトルに応じて移動されるものである。
【背景技術】
【０００２】
従来より、現実世界における事象を、センサを用いてデータ化することが行われている。このセンサを用いて取得されたデータは、現実世界の情報（例えば、光）が、現実世界より低い次元の時空間に射影して得られた情報である。このため、射影して得られた情報は、射影により発生する歪みを有している。例えば、静止している背景の前で移動する物体をビデオカメラで撮像して画像信号としてデータ化する場合、現実世界の情報をサンプリングしてデータ化することから、画像信号に基づいて表示される画像では、射影により発生する歪みとして、動いている物体がボケてしまう動きボケが生じる。
【０００３】
このため、特開２００１−２５０１１９号公報（対応米国出願番号：０９／８３０８５８、対応欧州特許公開番号：ＥＰ１１６４５４５）で開示されているように、例えば、入力画像に含まれる前景のオブジェクトに対応する画像オブジェクトの輪郭を検出することで、前景のオブジェクトに対応する画像オブジェクトを粗く抽出し、この粗く抽出された前景のオブジェクトに対応する画像オブジェクトの動きベクトルを検出して、検出した動きベクトルおよび動きベクトルの位置情報を用いて動きボケの除去が行われている。
【０００４】
また、センサを用いて取得されたデータから任意視点画像の生成も従来より行われている。この任意視点画像の生成においては、視点位置の動きベクトルを検出して、画面全体を動きベクトルの動き方向とは逆方向に動き量分だけ移動することにより、視点の位置を固定した画像表示が可能となる。例えば、撮像装置の向きを固定して撮像動作を行ったとき、撮像装置で得られた画像信号に基づいて撮像画像を表示すると、動いている被写体が画面上で移動した画像となる。ここで、動いている被写体を視点位置とした画像を生成する場合、動いている被写体の動きベクトルを検出して、この動きベクトルの動き方向とは逆方向に動き量分だけ画面全体を移動すると、動いている被写体が画面上で固定された位置に表示された画像を得ることができる。
【発明の開示】
【０００５】
ところで、上述のようにして視点の位置を固定した画像表示を行う場合、視点の位置に生じている動きボケ量については何ら変更されないことから、視点の位置は固定されているが動きボケが生じたままの画像が表示されることとなり、動きのある被写体を追従して撮像を行ったように動きボケのない画像表示を行うことはできない。
【０００６】
また、動きボケ除去処理を用いることで、動きのある被写体の動きボケ除去を行っても、動きのない例えば背景部分は、動きボケが生じていないことから、動きのある被写体を追従して撮像を行ったように背景部分に動きボケを生じた画像を得ることができない。
【０００７】
この発明に係る画像処理装置は、注目画像内の画素単位で第１の動きベクトルを設定する動きベクトル設定部と、注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定部と、動きベクトル設定部により画素単位で設定された第１の動きベクトルと、露光時間比率設定部により設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定部と、動きボケ量設定部により設定された動きボケ量および第１の動きベクトルに対応する動き方向に基づき、注目画像内の注目画素に対する処理領域を設定する処理領域設定部と、動きボケ量設定部により設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定部と、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定部により設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成部と、入力された第２の動きベクトルと、第１の動きベクトルに基づき、画素単位で、画素値生成部により生成された画素値からなる画像に対して動きボケを付加する動きボケ付加部と、動きボケ付加部により動きボケ付加された動きボケ付加注目画像を、第２の動きベクトルと対向するベクトルに沿って移動する画像移動部とを備えるものである。
【０００８】
また、予測する注目画像内の注目画素を設定する注目画素設定部と、入力された注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定部と、注目画素の空間位置と略同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定部と、動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定部と、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定部により設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成部と、画素値生成部により生成された画素値からなる処理画像を、入力された動きベクトルと対向するベクトルに沿って移動する画像移動部とを有するものである。
【０００９】
この発明に係る画像処理方法は、注目画像内の画素単位で第１の動きベクトルを設定する動きベクトル設定工程と、注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定工程と、動きベクトル設定工程により画素単位で設定された第１の動きベクトルと、露光時間比率設定工程により設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定工程と、動きボケ量設定工程により設定された動きボケ量および第１の動きベクトルに対応する動き方向に基づき、注目画像内の注目画素に対する処理領域を設定する処理領域設定工程と、動きボケ量設定工程により設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定工程と、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定工程により設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成工程と、入力された第２の動きベクトルと、第１の動きベクトルに基づき、画素単位で、画素値生成工程により生成された画素値からなる画像に対して動きボケを付加する動きボケ付加工程と、動きボケ付加工程により動きボケ付加された動きボケ付加注目画像を、第２の動きベクトルと対向するベクトルに沿って移動する画像移動工程とを備えるものである。
【００１０】
また、予測する注目画像内の注目画素を設定する注目画素設定工程と、入力された注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定工程と、注目画素の空間位置と略同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定工程と、動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定工程と、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定工程により設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成工程と、画素値生成工程により生成された画素値からなる処理画像を、入力された動きベクトルと対向するベクトルに沿って移動する画像移動工程とを有するものである。
【００１１】
この発明に係る画像処理プログラムは、コンピュータに、注目画像内の画素単位で第１の動きベクトルを設定する動きベクトル設定ステップと、注目画像の時間間隔と露光時間との比率である露光時間比率を画像単位で設定する露光時間比率設定ステップと、動きベクトル設定ステップにより画素単位で設定された第１の動きベクトルと、露光時間比率設定ステップにより設定された露光時間比率に基づいて、画素単位で動きボケ量を設定する動きボケ量設定ステップと、動きボケ量設定ステップにより設定された動きボケ量および第１の動きベクトルに対応する動き方向に基づき、注目画像内の注目画素に対する処理領域を設定する処理領域設定ステップと、動きボケ量設定ステップにより設定された動きボケ量に基づき、特定の処理係数を設定するか、あるいは注目画素の動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定ステップと、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定ステップにより設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と、動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成ステップと、入力された第２の動きベクトルと、第１の動きベクトルに基づき、画素単位で、画素値生成ステップにより生成された画素値からなる画像に対して動きボケを付加する動きボケ付加ステップと、動きボケ付加ステップにより動きボケ付加された動きボケ付加注目画像を、第２の動きベクトルと対向するベクトルに沿って移動する画像移動ステップとを実行させるものである。
【００１２】
また、コンピュータに、予測する注目画像内の注目画素を設定する注目画素設定ステップと、入力された注目画素が含まれる画像に対応する動きベクトルを設定する動きベクトル設定ステップと、注目画素の空間位置と同じ周辺画像内の画素が含まれる処理領域を設定する処理領域設定ステップと、動きベクトルに対応する動きボケ量に基づき、特定の処理係数を設定するか、あるいは動きベクトルに対応する動きボケ量と動き方向に応じて、処理係数を設定する処理係数設定ステップと、処理領域内の画素に対応する画素値から動き方向に応じて生成された新たな処理用の画素値と、処理係数設定ステップにより設定された特定の処理係数との線形結合、あるいは処理領域内の画素に対応する画素値と、動きボケ量と動き方向に応じて設定された処理係数の線形結合により、注目画素に対応する画素値を生成する画素値生成ステップと、画素値生成ステップにより生成された画素値からなる処理画像を、入力された動きベクトルと対向するベクトルに沿って移動する画像移動ステップとを実行させるものである。
【００１３】
この発明においては、注目画像の時間間隔と露光時間との比率である露光時間比率が画像単位で設定されて、この露光時間比率と、注目画像内の画素単位で設定された第１の動きベクトルに基づいて動きボケ量が画素単位で設定される。この動きボケ量および第１の動きベクトルに基づき、注目画像内の注目画素に対する処理領域が設定される。またこの動きボケ量や動きボケ量と動き方向に応じた処理係数が設定されて、処理領域内の画素に対応する画素値と設定された処理係数とにより、注目画素に対応する画素値が生成される。また、画像毎に注目画素に対応する画素値の生成が行われて、生成された画素値が統合処理されて単一の画素値とされる。この単一の画素値からなる画像に対して、入力された第２の動きベクトルと第１の動きベクトルや露光時間比率に基づき動きボケが付加されて、動きボケ付加された動きボケ付加注目画像が第２の動きベクトルと対向するベクトルに沿って移動される。
【００１４】
さらに、注目画像の時間的に前後である周辺画像に対して動きボケ付加された動きボケ付加周辺画像や固定値あるいは動きボケ付加注目画像が移動することにより画枠外となる画像を用いて、動きボケ付加注目画像が提示されるときに画素値がない部分の補間を行い提示画像が形成される。また、注目画像よりも大きいフレームメモリを設けて、第２の動きベクトルと対向するベクトルに沿って移動された動きボケ付加注目画像を、注目画像の画枠から外れた画素値も含めて順次記憶される。
【発明の効果】
【００１５】
この発明によれば、注目画像の時間間隔と露光時間との比率である露光時間比率が画像単位で設定されて、この露光時間比率と、注目画像内の画素単位で設定された第１の動きベクトルに基づいて動きボケ量が画素単位で設定される。この動きボケ量および第１の動きベクトルに基づき、注目画像内の注目画素に対する処理領域が設定される。またこの動きボケ量や動きボケ量と動き方向に応じた処理係数が設定されて、処理領域内の画素に対応する画素値と設定された処理係数とにより、注目画素に対応する画素値が生成される。さらに、入力された第２の動きベクトルと第１の動きベクトルに基づき動きボケが付加されて、動きボケ付加された動きボケ付加注目画像が第２の動きベクトルと対向するベクトルに沿って移動される。
【００１６】
このため、画像センサによる歪みを受けた画像信号から、歪みを除いた実世界情報を示す画像信号が生成されて、この実世界情報を外部から与えた第２の動きベクトルに基づく視点で、あたかももう一度画像を撮像しなおしたような画像を再構築することができる。また、視点を画面中の動きベクトルから一番主要なものというように設定することによって、カメラの視点ではなくあたかも俯瞰しなおしたような画像を再構築することが可能になる。
【００１７】
また、露光時間比率に応じて動きボケが付加されることから、シャッタ動作を行った場合であっても、シャッタ動作に応じた動きボケを付加することができる。さらに、画像移動手段によって動きボケ付加注目画像が移動されて画素値が存在しない部分が生じても、この部分の補間が行われて提示画像が形成される。例えば、注目画像の時間的に前後である周辺画像に対して動きボケ付加された動きボケ付加周辺画像を記憶して、画素値がない部分は動きボケ付加周辺画像から画素値を取得して動きボケ付加注目画像の周辺が補間される。あるいは画素値が存在しない部分の画素値が固定値に設定される。または、動きボケ付加注目画像を移動したとき画枠外となる画素の画素値を折り返し、画素値が存在しない部分に割り当てる。このように補間を行うことで、画素値が存在しない部分にノイズ画像等が表示されてしまうことを防止できる。
【００１８】
さらに、注目画像よりも大きいフレームメモリが設けられて、第２の動きベクトルと対向するベクトルに沿って移動された動きボケ付加注目画像のうち注目画像の画枠から外れた画素値もフレームメモリに順次記憶されるので、フレームメモリに記憶された画像を表示画像サイズに対応して縮小表示することで、画枠から外れてしまう画像も表示できる。
【００１９】
また、画像毎の注目画素に対応する画素値が生成されて、生成された画素値が統合処理されて単一の画素値として出力されるので、例えば時間方向の複数の画像を用いて単一の画素値を出力できるので、実世界情報の時間方向に対する定常性を利用して、動きボケ除去を精度良く行うことができる。
【００２０】
さらに、予測する注目画像内の注目画素と、入力された注目画素が含まれる画像に対応する動きベクトルと、注目画素の空間位置と同じ周辺画像内の画素が含まれる処理領域と、動きベクトルに基づき処理係数が設定されて、処理領域内の画素に対応する画素値と処理係数とにより、注目画素に対応する画素値が生成されて、この生成された画素値からなる処理画像が入力された動きベクトルと対向するベクトルに沿って移動される。
【００２１】
このため、ノーシャッタ動作時には、画素毎の動きベクトルを用いることなく、歪みを除いた実世界情報を示す画像信号を簡易に生成することができ、この実世界情報を外部から与えた動きベクトルでの視点に対して、あたかもその視点でもう一度画像を撮像しなおしたような画像を再構築することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図を参照しながら、この発明の実施の形態について説明する。図１は、本発明を適用するシステムの構成を示すブロック図である。画像センサ１０は現実社会を撮像した画像信号ＤＶaを生成して画像処理装置２０に供給する。画像処理装置２０は、供給された入力画像の画像信号ＤＶaに埋もれてしまった情報の抽出を行い、埋もれてしまった情報を抽出した画像信号ＤＶoutを生成して出力する。なお、画像処理装置２０は、外部から供給された種々の情報ＥＴを用いて、画像信号ＤＶaに埋もれてしまった情報の抽出を行うこともできるようになされている。
【００２３】
画像センサ１０は、固体撮像素子であるＣＣＤ（Charge-Coupled Device）エリアセンサやＭＯＳエリアセンサを備えたビデオカメラなどで構成されており、現実社会を撮像する。例えば、図２に示すように、画像センサ１０と背景に対応するオブジェクトＯＢbとの間を、前景に対応する動きオブジェクトＯＢfが矢印Ａ方向に移動するとき、画像センサ１０は、前景に対応する動きオブジェクトＯＢfを背景に対応するオブジェクトＯＢbと共に撮像する。
【００２４】
この画像センサ１０の検出素子は、露光時間に対応する期間、入力された光を電荷に変換して、光電変換された電荷を蓄積する。電荷の量は、入力された光の強さと、光が入力されている時間にほぼ比例する。検出素子は、露光時間に対応する期間において、入力された光から変換された電荷を、既に蓄積されている電荷に加えていく。すなわち、検出素子は、露光時間に対応する期間、入力される光を積分して、積分された光に対応する量の電荷を蓄積する。検出素子は、時間に対して、積分効果があるとも言える。このように、画像センサで光電変換を行い、入力された光を画素単位で電荷に変換して露光時間単位で蓄積する。この蓄積された電荷量に応じて画素信号を生成して、この画素信号を用いて所望のフレームレートの画像信号を生成して画像処理装置に供給する。なお、画像センサの露光時間は、上述のように画像センサが入力された光を電荷に変換して検出素子にその電荷を蓄積する期間であり、シャッタ動作が行われていないときは画像時間間隔（１フレーム期間）と等しいものである。また、シャッタ動作が行われるときはシャッタ開時間と等しいものである。
【００２５】
図３Ａと図３Ｂは、画像信号で示される撮像画像を説明するための図である。図３Ａは、動いている前景に対応する動きオブジェクトＯＢfと、静止している背景に対応するオブジェクトＯＢbとを撮像して得られる画像を示している。なお、前景に対応する動きオブジェクトＯＢfは、矢印Ａ方向に水平移動しているものとする。
【００２６】
図３Ｂは、図３Ａに示すように矢印Ａ方向に伸びたラインＬ（破線で示す）の位置での画像と時間の関係を示している。動きオブジェクトＯＢfのラインＬにおける移動方向の長さが例えば９画素分であり、１露光時間中に５画素移動する場合、フレーム期間開始時に画素位置Ｐ21にあった前端と画素位置Ｐ13にあった後端は、それぞれ画素位置Ｐ25，Ｐ17で露光時間の終了となる。また、シャッタ動作が行われていないとき、１フレームにおける露光時間は１フレーム期間と等しいことから、次のフレーム期間開始時に前端が画素位置Ｐ26、後端が画素位置Ｐ18となる。
【００２７】
このため、ラインＬのフレーム期間において、画素位置Ｐ12までと画素位置Ｐ26からは、背景成分のみの背景領域となる。また、画素位置Ｐ17〜Ｐ21は、前景成分のみの前景領域となる。画素位置Ｐ13〜Ｐ16と画素位置Ｐ22〜Ｐ25は、背景成分と前景成分が混合された混合領域となる。混合領域は、時間の経過に対応して背景成分が前景に覆い隠されるカバードバックグランド領域と、時間の経過に対応して背景成分が現れるアンカバードバックグランド領域に分類される。なお、図３Ｂでは、前景のオブジェクトＯＢfの進行方向前端側に位置する混合領域がカバードバックグランド領域、後端側に位置する混合領域がアンカバードバックグランド領域となる。このように、画像信号には、前景領域、背景領域、またはカバードバックグランド領域若しくはアンカバードバックグランド領域を含む画像が含まれることとなる。
【００２８】
ここで、画像時間間隔は短時間であり、前景に対応する動きオブジェクトＯＢfは剛体であって等速に移動していると仮定して、ラインＬにおける画素値の時間方向分割動作を図４に示すように行う。この時間方向分割動作では、画素値を時間方向に展開して仮想分割数で等時間間隔に分割する。なお、図４において縦方向は時間に対応し、図中の上から下に向かって時間が経過することを示している。
【００２９】
仮想分割数は、動きオブジェクトの画像時間間隔での動き量ｖなどに対応して設定する。例えば、１フレーム期間内の動き量ｖが上述のように５画素であるときは、動き量ｖに対応して仮想分割数を「５」に設定して、１フレーム期間を等時間間隔で５分割する。
【００３０】
また、背景に対応するオブジェクトＯＢbを撮像したときに得られる画素位置Ｐxの１フレーム期間の画素値をＢx、ラインＬにおける長さが９画素分である前景に対応する動きオブジェクトＯＢfを静止させて撮像したときに、各画素で得られる画素値をＦ09（前端側）〜Ｆ01（後端側）とする。
【００３１】
この場合、例えば画素位置Ｐ14の画素値ＤＰ14は、式（１）で表される。
【００３２】
ＤＰ14＝Ｂ14/ｖ+Ｂ14/ｖ+Ｂ14/v＋Ｆ01/ｖ+Ｆ02/ｖ     ・・・（１）
この画素位置Ｐ14では、背景の成分を３仮想分割時間（フレーム期間/ｖ）含み、前景成分を２仮想分割時間含むので、画素値に対する背景成分の混合比αは（３／５）となる。同様に、例えば画素位置Ｐ22では、背景の成分を１仮想分割時間含み、前景成分を４仮想分割時間含むので、混合比αは（１／５）となる。
【００３３】
また、シャッタ動作が行われて、１フレーム期間に対する露光時間の比率を示す露光時間比率が変化されたとき、例えば、露光時間比率が「３／５」であるときは、図５に示すように、１フレーム期間における画素値の時間方向分割動作を行い、画素値を露光時間比率に応じた仮想分割数で等時間間隔に分割する。
【００３４】
仮想分割数は、動きオブジェクトの画像時間間隔内での動き量ｖなどに対応して設定する。例えば、１フレーム期間内の動き量ｖが上述のように５画素であるときは、動き量ｖに対応して仮想分割数を「５」に設定して、１フレーム期間を等時間間隔で５分割する。
【００３５】
この場合、例えば画素位置Ｐ14の画素値ＤＰ14は、式（２）で表される。
ＤＰ14＝Ｂ14/v＋Ｆ01/ｖ+Ｆ02/ｖ    ・・・（２）
【００３６】
この画素位置Ｐ14では、背景の成分を１仮想分割時間（フレーム期間/ｖ）含み、前景成分を２仮想分割時間含むので、混合比αは（１／３）となる。同様に、例えば画素位置Ｐ22では、背景の成分を１仮想分割時間含み、前景成分を２仮想分割時間含むので、混合比αは（１／３）となる。
【００３７】
また、シャッタ動作が行われたとき、露光時間比率と１フレーム期間内での動き量ｖを乗算して露光時間内動き量を算出することができる。
【００３８】
このように、前景の成分が移動することから、１露光時間では、異なる前景の成分が加算されるので、動きオブジェクトに対応する前景の領域は、動きボケを含むものとなる。このため、画像処理装置２０では、画像信号に埋もれてしまった有意情報を抽出して前景に対応する動きオブジェクトＯＢfの動きボケを軽減させた画像信号ＤＶoutを生成する。
【００３９】
図６は、画像処理装置の機能ブロック図である。なお、画像処理装置の各機能はハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、図６の機能ブロックは、ハードウェアで実現するものとしても良く、ソフトウェアで実現するものとしても良い。
【００４０】
ここで、ソフトウェアを用いるときの画像処理装置２０の構成を例えば図７に示す。ＣＰＵ（Central Processing Unit）２０１は、ＲＯＭ（Read Only Memory）２０２、または記憶部２０８に記憶されているプログラムに従って各種の処理を実行するものであり、ＲＯＭ２０２や記憶部２０８には、画像処理装置の各機能を実現するプログラムが記憶される。ＲＡＭ（Random Access Memory）２０３には、ＣＰＵ２０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ２０１、ＲＯＭ２０２、およびＲＡＭ２０３は、バス２０４により相互に接続されている。
【００４１】
また、ＣＰＵ２０１には、バス２０４を介して入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７が接続されている。ＣＰＵ２０１は、入力部２０６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ２０１は、処理の結果得られた画像や音声等を出力部２０７に出力する。
【００４２】
入出力インタフェース２０５に接続されている記憶部２０８は、例えばハードディスクなどで構成され、ＣＰＵ２０１が実行するプログラムや各種のデータを記憶する。通信部２０９は、インターネット、その他のネットワークを介して外部の装置と通信する。この例の場合、通信部２０９はセンサの出力を取り込む取得部として働く。また、通信部２０９を介してプログラムを取得し、記憶部２０８に記憶しても良い。
【００４３】
入出力インタフェース２０５に接続されているドライブ部２１０は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどの記録媒体が装着されたとき、それらを駆動し、記録媒体に記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部２０８に転送されて記憶される。
【００４４】
図６に示すように、画像処理装置２０に供給された入力画像の画像信号ＤＶaは、動きベクトル設定部３１と、露光時間比率設定部３２の露光時間比率推定部３２０および注目画素設定部３５に供給される。
【００４５】
動きベクトル設定部３１は、画像信号ＤＶaに基づき注目画像の画素毎の動きベクトルを検出して、第１の動きベクトルｖpに設定する。また、設定した動きベクトルｖpを、注目画素設定部３５と動きボケ量設定部３３，処理領域設定部３６，処理係数設定部３７，画素値生成部３８および視点設定部４０に供給する。この動きベクトル設定部３１では、ブロックマッチング法や勾配法等の手法を用いることで、画素毎の動きベクトルを検出する。ここで、注目画像とは、画像処理装置２０に供給された入力画像において動きボケ除去処理を行う画像を示しており、注目画素とは、注目画像内において動きボケ除去処理を行う画素を示している。
【００４６】
露光時間比率設定部３２の露光時間比率推定部３２０は、注目画像の時間間隔における露光時間の割合を示す露光時間比率ＥＲを画像単位で推定する。この露光時間比率ＥＲは、例えば特開２００３−６６４８号公報に開示された技術を用いて設定できる。
【００４７】
図８は露光時間比率推定部３２０の機能ブロック図である。露光時間比率推定部３２０のオブジェクト抽出部３２１は、画像信号ＤＶaに基づき注目画像に含まれる動きのあるオブジェクトに対応する画像オブジェクトＯＢmを粗く抽出して、抽出した画像オブジェクトＯＢmを動き検出部３２２に供給する。例えば、上述のように動いている前景のオブジェクトに対応する画像オブジェクトの輪郭を検出することで、画像オブジェクトＯＢmを粗く抽出して動き検出部３２２に供給する。なお、画像オブジェクトＯＢmとは、撮像の対象となる、現実世界におけるオブジェクトに対応する画像を意味するものである。
【００４８】
また、オブジェクト抽出部３２１は、例えば内部に設けられている背景メモリに記憶されている背景の画像と、注目画像との差から、動いている前景のオブジェクトに対応する画像オブジェクトＯＢmを粗く抽出するようにしても良い。
【００４９】
動き検出部３２２は、粗く抽出された画像オブジェクトＯＢmのフレーム間動きベクトルの動き量ｖmを、上述のような動きベクトル検出法を用いて検出して比率演算部３２５に供給する。また、動き検出部３２２は、動きのある画像オブジェクトが複数含まれているときには、フレーム間動きベクトルを画像オブジェクト毎に求めて、求めた複数のフレーム間動きベクトルから統計的手法を用いて、１つのフレーム間動きベクトルの動き量ｖmを決定する。この統計的手法としては、単純平均、オブジェクトの表示面積や表示位置に応じて重み付けを行ってから平均を算出する重み付け平均、メディアン等を用いることができる。
【００５０】
領域特定部３２３は、注目画像に対して、動き部分である前景領域、静止部分である背景領域、混合領域であるカバードバックグランド領域とアンカバードバックグランド領域の特定を行い、特定結果を示す領域情報ＪＦを混合比算出部３２４に供給する。
【００５１】
図９は、領域特定部３２３の機能ブロック図である。画像メモリ部３２３ａは、入力された画像信号ＤＶaをフレーム単位で記憶する。画像メモリ部３２３ａは、注目画像が（ｔ）フレームであるとき、（ｔ）フレームの２つ前のフレームである（ｔ−２）フレーム、（ｔ）フレームの１つ前のフレームである（ｔ−１）フレーム、（ｔ）フレーム、（ｔ）フレームの１つ後のフレームである（ｔ＋１）フレーム、および（ｔ）フレームの２つ後のフレームである（ｔ＋２）フレームを記憶する。
【００５２】
静動判定部３２３ｂは、連続する２フレームの画素毎のフレーム間差分絶対値を求め、フレーム差分絶対値が予め設定している閾値Thより大きいか否かを判定し、フレーム間差分絶対値が閾値Thよりも大きいときは動き、フレーム間差分絶対値が閾値Th以下であるときは静止と判定する。
【００５３】
領域判定部３２３ｃは、静動判定部３２３ｂで得られた判定結果を用いて、各画素が、前景領域、背景領域、混合領域であるカバードバックグランド領域やアンカバードバックグランド領域のいずれに属するか、図１０に示すように領域判定処理を行う。
【００５４】
例えば、最初に（ｔー１）フレームと（ｔ）フレームの静動判定の結果が静止である画素を背景領域の画素と判定する。また、（ｔ）フレームと（ｔ＋１）フレームの静動判定の結果が静止である画素を背景領域の画素と判定する。次に、（ｔ−２）フレームと（ｔ−１）フレームの静動判定の結果が静止であり、（ｔ−１）フレームと（ｔ）フレームの静動判定の結果が動きである画素をカバードバックグランド領域の画素と判定する。また、（ｔ）フレームと（ｔ＋１）フレームの静動判定の結果が動きであり、（ｔ＋１）フレームと（ｔ＋２）フレームの静動判定の結果が静止である画素をアンカバードバックグランド領域の画素と判定する。その後、（ｔ−１）フレームと（ｔ）フレームの静動判定の結果と（ｔ）フレームと（ｔ＋１）フレームの静動判定の結果が共に動きである画素を前景領域の画素と判定する。
【００５５】
混合比算出部３２４は、画像信号ＤＶaおよび領域特定部３２３から供給された領域情報ＪＦをもとに混合比αを算出して、算出した混合比αを比率演算部３２５に供給する。この混合比αは、上述のように、画素値における背景成分の割合を示す値である。
【００５６】
ここで、前景に対応するオブジェクトが露光時間内に等速で動いていると仮定することで、混合領域に属する画素の混合比αは、画素の位置の変化に対応して、直線的に変化する。例えば画素の位置の変化を１次元とすれば、混合比αの変化は、直線で表現することができる。さらに、１フレームの期間は短いので、前景に対応するオブジェクトが剛体であり、等速で移動していると仮定すると、混合比αの傾きは、前景の露光時間内動き量の逆比となる。なお、複数の混合領域について混合比αの算出を行い、複数の混合比αを算出したときには上述のように統計的手法を用いて、１つの混合比αを決定する。なお、図１１は理想的な混合比αを示しており、前景領域では混合比α＝０、背景領域では混合比α＝１となる。また、混合領域における混合比αの傾きαｌは、露光時間内動き量の逆数を表すものである。
【００５７】
比率演算部３２５は、混合比算出部３２４から供給された混合比αに基づき、混合領域における傾きαｌの逆数を算出して、露光時間内動き量を求める。さらに、露光時間内動き量を動き検出部３２２から供給されたフレーム間動きベクトルの動き量ｖmで除算して、注目画像の時間間隔に対する露光時間の比率を示す露光時間比率ＥＲａを推定して露光時間比率選択部３２９に供給する。
【００５８】
露光時間比率選択部３２９には、外部から露光時間比率ＥＲｂが供給されており、露光時間比率推定部３２０から供給された露光時間比率ＥＲａ、外部から供給された露光時間比率ＥＲｂの何れかを選択して、露光時間比率ＥＲとして動きボケ量設定部３３と動きボケ付加部４１に供給する。
【００５９】
動きボケ量設定部３３は、動きベクトル設定部３１から供給された画素毎の動きベクトルｖpの動き量に対して露光時間比率設定部３２から供給された露光時間比率ＥＲを乗算することで、画素毎の動きボケ量ＭＢpを算出して、処理領域設定部３６や処理係数設定部３７に供給する。
【００６０】
注目画素設定部３５は、注目画像を含めて複数の処理対象画像を設定して、動きベクトル設定部３１により設定された動きベクトルｖpに基づき、注目画像の注目画素Ｐnaに空間位置が対応する処理対象画像上の画素を検出して、この検出した画素を各処理対象画像の注目画素に設定する。さらに、注目画素を設定した複数の処理対象画像を処理領域設定部３６に供給する。
【００６１】
例えば、（ｔ）フレームの画像を注目画像とするとき、（ｔ−１）フレーム，（ｔ）フレーム、（ｔ＋１）フレームの画像を処理対象画像とする。ここで、動きベクトルｖpに基づき、注目画像の注目画素Ｐnaに対応する（ｔ−１）フレームや（ｔ＋１）フレームの画像上の画素を注目画素として設定する。さらに、（ｔ）フレームの処理対象画像を処理領域設定部３６の（ｔ）フレームタップ選択部３６２、注目画素を設定した（ｔ−１）フレームの処理対象画像を（ｔ−１）フレームタップ選択部３６１、注目画素を設定した（ｔ＋１）フレームの処理対象画像を（ｔ＋１）フレームタップ選択部３６３にそれぞれ供給する。
【００６２】
なお、注目画像の注目画素Ｐnaが（ｔ＋１）フレームで動きベクトルｖpだけ移動する場合、（ｔ＋１）フレームの画像を動きベクトルｖpだけ戻すように移動させれば、注目画像の注目画素と移動後の（ｔ＋１）フレームの画像の注目画素の位置は同じとなり、処理領域設定部３６における処理領域の設定を容易とすることができる。
【００６３】
また、基準となる注目画像は、（ｔ）フレームの画像に限られるものではなく、（ｔ−１）フレームや（ｔ＋１）フレームの画像を注目画像とすることもできる。さらに、注目画像のいずれの画素を注目画素とするかについては、外部から注目画素を指定したり、注目画像内の画素を順次自動的に注目画素に指定する。このようにすれば、所望の画素についてのみ、動きボケ除去処理を行うものとしたり、注目画像の全体に対して動きボケ除去処理を自動的に行うことができる。また、外部から範囲を指定して、この範囲内の画素を順次自動的に注目画素に指定するようにすれば、所望の範囲について動きボケ除去処理を行うことが可能となる。
【００６４】
処理領域設定部３６の（ｔ−１）フレームタップ選択部３６１は、注目画素設定部３５から供給された処理対象画像における注目画素を基準として、動きボケ量設定部３３で設定された動きボケ量ＭＢpと動きベクトル設定部３１から供給された動きベクトルｖpに対応する動き方向に応じて処理領域を設定する。さらに、処理領域の画素値を画素値生成部３８のボケ除去処理部３８１に供給する。
【００６５】
図１２は、空間方向の処理領域を示しており、注目画素Ｐnaを中心として動き方向である矢印Ａ方向に沿って動きボケ量が大きいときには動き方向の幅が広くなるように処理領域ＷＡを設定する。
【００６６】
（ｔ）フレームタップ選択部３６２，（ｔ＋１）フレームタップ選択部３６３も、（ｔ−１）フレームタップ選択部３６１と同様に、それぞれ注目画素設定部３５から供給された処理対象画像における注目画素を基準として、ボケ量設定部３３で設定された動きボケ量ＭＢpと動きベクトル設定部３１から供給された動きベクトルｖpに対応する動き方向に応じて処理領域を設定する。なお、図１３は、時間方向の処理領域を示しており、時間方向にずれたフレームの処理領域については、処理領域の幅が動きボケ量で決まる空間方向の処理領域の幅と同一であるが、中心位置については動きベクトル量ｖp分だけ移動したものとなる。
【００６７】
（ｔ）フレームタップ選択部３６２は、処理領域の画素値をボケ除去処理部３８２に供給する。また、（ｔ＋１）フレームタップ選択部３６３は、処理領域の画素値をボケ除去処理部３８３に供給する。
【００６８】
処理係数設定部３７は、メモリを用いて構成されており、動きボケ量ＭＢpに基づいた特定の処理係数、あるいは動きボケ量ＭＢpおよび動きベクトルｖpに対応する動き方向に基づく処理係数が予め記憶されている。処理係数設定部３７は、動き方向を特定の方向に設定して動きボケ量ＭＢpに応じて生成した特定の処理係数を記憶しているとき、ボケ量設定部３３から供給された動きボケ量ＭＢpに応じた特定の処理係数をメモリから読み出して、ボケ除去処理部３８１，３８２，３８３に供給することで、処理係数の設定を行う。また、動きボケ量ＭＢpおよび動きベクトルｖpに対応する動き方向に基づく処理係数を記憶しているとき、ボケ量設定部３３から供給された動きボケ量ＭＢpと動きベクトル設定部３１から供給された動きベクトルｖpに基づく動き方向に応じた処理係数をメモリから読み出して、ボケ除去処理部３８１，３８２，３８３に供給することで、処理係数の設定を行う。
【００６９】
画素値生成部３８のボケ除去処理部３８１は、（ｔ−１）フレームタップ選択部３６１から供給された処理領域の画素値と、処理係数設定部３７から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。ボケ除去処理部３８２は、（ｔ）フレームタップ選択部３６２から供給された処理領域の画素値と、処理係数設定部３７から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。ボケ除去処理部３８３は、（ｔ＋１）フレームタップ選択部３６３から供給された処理領域の画素値と、処理係数設定部３７から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。ここで、処理係数設定部３７から動きボケ量ＭＢpと動き方向に応じて処理係数が読み出されているとき、動き方向と処理領域の方向は一致している。従って、処理領域内の画素に対応する画素値と設定された処理係数の線形結合により、注目画素に対応するボケ除去処理後の画素値を生成する。また、動きボケ量ＭＢpに基づいた特定の処理係数が読み出されているときは、処理領域内の画素に対応する画素値から処理係数と線形結合される画素位置の画素値（以下「処理用の画素値」という）を補間等によって生成して、処理用の画素値と読み出された特定の処理係数との線形結合により、注目画素に対応するボケ除去処理後の画素値を生成する。
【００７０】
統合部３９は、ボケ除去処理部３８１〜３８３から供給された画素値を統合して、動きボケ除去がなされた注目画像における注目画素の画素値として、この動きボケ除去がなされた注目画像の画像信号ＤＶcを出力する。この画素値の統合では、統計的処理を用いるものとする。例えば、単純平均、重み付け平均、メディアンフィルタ等を用いることができる。ここで、重み付け平均では、例えば（ｔ−１）フレームの画素値：ｔフレームの画素値：（ｔ＋１）フレームの画素値＝２：６：２の重み付けを行って平均値を算出する。
【００７１】
視点設定部４０の最大頻度判定部４０１は、動きベクトル設定部３１から供給された画素毎の動きベクトルｖpを用いて、動きベクトルが等しい画素の数が最大頻度となる動きベクトルｖpmを判定して動きベクトル選択部４０２に供給する。
【００７２】
動きベクトル選択部４０２には、外部から視点設定用の動きベクトルｖpeが供給されている。動きベクトル選択部４０２は、外部から供給された動きベクトルｖpeあるいは最大頻度判定部４０１から供給された動きベクトルｖpmの何れかを選択して、視点動きベクトルｖqとして動きボケ付加部４１と画像移動部４２に供給する。この視点動きベクトルｖqの選択は、どのような任意視点画像を生成するかに基づいて行う。例えば、上述の前景に対応する動きオブジェクトＯＢfが表示画像上で固定した位置となるように視点画像を生成する場合、動きベクトルｖpmを選択して視点動きベクトルｖqとして動きボケ付加部４１と画像移動部４２に供給する。また、ユーザが所望する視点画像を生成するときには、外部から供給された動きベクトルｖpeを視点動きベクトルｖqとして動きボケ付加部４１と画像移動部４２に供給する。このとき、動きベクトルｖpeの動き方向や動き量を可変することで、任意の視点画像を生成することが可能となる。
【００７３】
動きボケ付加部４１は、画素毎の動きベクトルｖpと視点動きベクトルｖqとの差分を求め、新しい視点に応じた相対動きベクトルを算出する。また、相対動きベクトルと露光時間比率設定部３２によって設定された露光時間比率ＥＲを乗算して、ボケ量ＭＢsを画素毎に算出する。さらに、算出されたボケ量ＭＢsに応じた動きボケを統合部３９から供給された画像信号ＤＶcに基づく画像に付加して、動きボケ付加注目画像の画像信号ＤＶdを生成して画像移動部４２とメモリ４３に供給する。
【００７４】
画像移動部４２は、視点設定部４０から供給された視点動きベクトルｖqに基づき、視点動きベクトルｖqと対向するベクトル、すなわち動き方向が動きベクトルｖqの動き方向に対して逆方向であって動き量が視点動きベクトルｖqの動き量と等しいベクトルに沿って、動きボケ付加注目画像を全画面移動させて、全画面移動後の画像信号ＤＶeをフレームメモリ４４と提示画像形成部４５に供給する。このため、例えば視点設定部４０で動きベクトルｖpmが選択されて視点動きベクトルｖqとして画像移動部４２に供給されたときは、最大頻度と判定された動きベクトルの画素位置が固定するように全画面の移動が行われることとなる。また、ユーザが視点設定用の動きベクトルｖpeを画像処理装置２０に入力して、視点動きベクトルｖqとして画像移動部４２に供給すれば、所望の動きの画素位置が固定するように、全画面の移動を行うことができる。
【００７５】
メモリ４３は、動きボケ付加注目画像の画像信号ＤＶdを記憶する。また、フレームメモリ４４は、画像移動部４２によって移動された動きボケ付加注目画像の画像信号ＤＶeを、画枠から外れてしまう部分も含めて記憶できるように、注目画像よりも記憶サイズを大きくする。
【００７６】
提示画像形成部４５は、移動された動きボケ付加注目画像の画像信号ＤＶeやメモリ４３、フレームメモリ４４に記憶されている画像の画像信号を用いて、提示画像の画像信号ＤＶoutを形成して出力する。
【００７７】
図１４Ａ〜図１４Ｅは、画像移動部の動作を説明するための図である。上述の図２に示すように、動きオブジェクトＯＢfを撮像したときの撮像画像は図１４Ａに示すものとなる。また、動きオブジェクトＯＢfが矢印Ａで示すように水平方向に移動する場合、画面上のライン位置Ｌにおける動きオブジェクトＯＢfの位置は、時間の経過と共に、図１４Ｂに示すように移動する。なお、図１４Ａの画像は、図１４Ｂにおいて時点ｔgの撮像画像に相当する。
【００７８】
ここで、時点ｔaから時点ｔbまでの画像を繰り返し提示するものとした場合、図１４Ｃに示すように、動きオブジェクトＯＢfは画面の左端から右端まで移動する。また、動きベクトルｖpmと動き量が等しく動き方向が逆方向である視点設定用の動きベクトルｖpeを入力して、この動きベクトルｖpeを視点動きベクトルｖqとすると、動きボケ付加部４１は、動きベクトルｖpと視点動きベクトルｖqとの差分に応じた動きボケの付加処理が行われる。このため、動きオブジェクトＯＢfについては、差分が「０」であることから、動きボケは付加されず、背景に対応するオブジェクトＯＢbに対して、オブジェクトＯＢbを動きベクトルｖpeで移動したときと同等の動きボケが付加される。この動きボケが付加されたオブジェクトＯＢbをオブジェクトＯＢb+gとして示す。
【００７９】
画像移動部４２は、視点設定部４０から供給された視点動きベクトルｖqに基づいて画像を移動させる。このため、時点ｔgの撮像画像における動きオブジェクトＯＢfの位置を基準としたときは、図１４Ｄに示すように、動きオブジェクトＯＢfが画面の中央で固定されて動きボケが除去された静止しているオブジェクトＯＢf-gとして表示されることとなる。また、背景部分は、視点動きベクトルｖqに基づき動きオブジェクトＯＢfの動きとは逆方向に移動する動きボケを生じたオブジェクトＯＢb+gとなる。このように所望の時間範囲の処理結果を繰り返し提示する場合、提示開始するフレームや提示時間、いずれの画像位置を中心とするか等をユーザが設定できるものとすれば、ユーザが所望する画像提示を行うことができる。なお、図１４Ａ〜図１４Ｅおよび後述する図１５Ａ〜図１５Ｄや図１６Ａ〜図１６Ｅにおいて、斜線部分は画素値が無いことを示している。
また、視点設定用の動きベクトルｖpeの動き量を動きベクトルｖpmの動き量の半分として動き方向を逆方向とすれば、図１４Ｅに示すように、動きオブジェクトＯＢfは画面の左から右、背景に対応するオブジェクトＯＢbは画面の右から左に移動して、動きに応じた動きボケが付加された動きオブジェクトＯＢf-g'とオブジェクトＯＢb+g'が表示されることとなる。このように、視点設定用の動きベクトルｖpeを入力することで、視点を変えた画像をより現実的に表示することができる。
【００８０】
ところで、提示する画像の時間範囲を時点ｔaから時点ｔbまでに限定しない場合、図１５Ａに示す撮像画像に対して、動きオブジェクトＯＢfの動きボケを除去して画面の中央で固定されるように視点を変えると、図１５Ｂに示すように動きオブジェクトＯＢf-gが画面の左端や右端の位置となるとき、画面上における表示画像部分の領域が小さくなってしまう。そこで、図１５Ａの一点鎖線で示すように、視点基準位置が画枠外となるまで処理を続けて、視点基準位置が画枠外となる時点ｔcや時点ｔdで視点基準位置の切替を行う。このように視点基準位置の切替を行うものとすると、図１５Ｃに示すように、動きオブジェクトＯＢf-gが画面の左端や右端の位置であっても、画面上における表示画像部分の領域が小さくなってしまうことを防止できる。さらに、図１５Ａの二点鎖線で示すように、視点基準位置が画枠外となる前に視点基準位置の切り換えを行えば、図１５Ｄに示すように動きオブジェクトＯＢf-gが画面の左端や右端の位置であっても、画面上における表示画像部分の領域が小さくなってしまうことをさらに防止できる。
【００８１】
図１６Ａ〜図１６Ｅは、提示画像形成部４５の動作を説明するための図である。図１６Ａに示すように動きオブジェクトＯＢfが移動する撮像画像に対して、動きオブジェクトＯＢfの動きボケを除去して画面の中央で固定されるように視点を変えると、図１６Ｂに示すように画素値の無い領域ＡＲaが生じてしまう。このため、この画素値の無い領域ＡＲaは、図１６Ｃに示すように、画素値を固定値ＤＰcに設定する。例えば、撮像画像の無い部分を黒色や白色で塗りつぶす。このように撮像画像の無い部分は、画素値を固定値ＤＰcに設定することで、撮像画像の無い部分にノイズ画像等の不要な画像が表示されてしまうことを防止できる。
【００８２】
また、撮像画像の無い部分に画像を割り当てるものとしても良い。ここで、上述のように視点を変更すると、図１６Ａにおける領域ＡＲbは、画枠外の位置となり画面上に表示されないこととなる。従って、図１６Ｄに示すように、画枠外となる領域ＡＲbの画素値を、画素値の無い領域ＡＲaに折り返して割り当てる。このように画素値の割り当てを行うものとすると、背景画像が折り返して表示されることとなる。
【００８３】
さらに、画像信号ＤＶaに対する動きボケ除去を非リアルタイムに行う場合には、時間的にずれている画像の画素値をメモリ４３に記憶させて、この記憶されている画素値を割り当てるものとしても良い。例えば図１６Ｅに示すように時間的に前の画像の画素値や時間的に後の画素値を用いて、画素値の無い領域ＡＲaに割り当てる。
【００８４】
また、注目画像よりも記憶サイズの大きいフレームメモリ４４に記憶されている画像の画像サイズを小さくして表示すれば、画枠外の位置となり画面上に表示されない部分も表示することが可能となる。例えば、図１７Ａに示すように動きオブジェクトＯＢfが移動する撮像画像に対して、動きオブジェクトＯＢfの動きボケを除去して画面の中央で固定されるように視点を変えると、図１７Ｂに示すように、画枠外の位置となり画面上に表示されない領域ＡＲbが生じる。しかし、フレームメモリ４４に記憶されている画像を図１７Ｃに示すように縮小して表示すれば、領域ＡＲbを画枠内の位置として、画面上に表示させることができる。なお、図１７Ｄは時点ｔeのときの表示画像を示している。
【００８５】
図１８は、ソフトウェアで画像処理を行う場合のフローチャートを示している。ステップＳＴ１でＣＰＵ２０１は、注目画像に動きボケの除去を行う注目画素を設定してステップＳＴ２に進む。ステップＳＴ２でＣＰＵ２０１は、注目画素の動きベクトルを検出してステップＳＴ３に進む。ステップＳＴ３でＣＰＵ２０１は、露光時間比率を算出する。ステップＳＴ４でＣＰＵ２０１は、注目画素の動きボケ量を検出する。すなわち、ステップＳＴ２で検出した動きベクトルとステップＳＴ３で算出した露光時間比率を乗算して、注目画素の露光時間内での動きボケ量を検出する。
【００８６】
ステップＳＴ５でＣＰＵ２０１は、処理領域を設定する。すなわちＣＰＵ２０１は、注目画像の注目画素に基づき、処理対象画像を設定して処理対象画像に注目画素を設定する。さらに、各処理対象画像の注目画素を基準として動き方向や動き量に応じた処理領域を設定してステップＳＴ６に進む。
【００８７】
ステップＳＴ６でＣＰＵ２０１は、処理係数の設定を行う。この処理係数の設定では、動き量に応じた特定の動きボケ除去用の処理係数、あるいは動き量とステップＳＴ２で検出された動き方向に応じた動きボケ除去用の処理係数を設定する。
【００８８】
ステップＳＴ７でＣＰＵ２０１は、ボケ除去処理を処理対象画像である各フレームの画像に対して行う。すなわち、ＣＰＵ２０１は、ステップＳＴ５で設定した処理領域の画素値と、ステップＳＴ６で動き量と動き方向に応じて設定した処理係数とに基づき、注目画素に対応する画素値を生成する。あるいは、処理領域の画素値から新たに処理用の画素値を生成すると共に、この処理用の画素値とステップＳＴ６で動き量に応じて設定した特定の処理係数とに基づき、注目画素に対応する画素値を算出する。このようにして、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップＳＴ８に進む。ステップＳＴ８でＣＰＵ２０１は、ステップＳＴ７で処理対象画像毎に算出した画素値の統合処理を行い１つの画素値を生成してステップＳＴ９に進む。
【００８９】
ステップＳＴ９でＣＰＵ２０１は、視点動きベクトルを設定する。この視点動きベクトルの設定では、外部から供給された視点設定用の動きベクトルｖpeを視点動きベクトルとする。ステップＳＴ１０でＣＰＵ２０１は、動きボケ付加を行う。すなわち、ＣＰＵ２０１は、ステップＳＴ２で検出した注目画素の動きベクトルとステップＳＴ９で設定された視点動きベクトルに基づき、任意視点変換後の動きベクトルを算出して、この任意視点変換後の動きベクトルから注目画素の動きボケ量を算出して、注目画素の画素値に付加することで、動きボケ付加注目画像の生成を行う。
【００９０】
ステップＳＴ１１でＣＰＵ２０１は、全画面に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップＳＴ１に戻り、全画面に対する処理が完了したときはステップＳＴ１２に進む。
【００９１】
ステップＳＴ１２でＣＰＵ２０１は、視点動きベクトルに基づき、動きボケ付加注目画像の全画面移動を行って任意視点画像を生成してステップＳＴ１３に進む。ステップＳＴ１３でＣＰＵ２０１は、提示画像形成を行う。例えば、画素値の無い部分が生じたときには、この部分を補間することで提示画像を形成して処理を終了する。
【００９２】
このように、動きボケを除去した画像を生成して、外部から与えた任意の視点に対応した動きボケが付加されて、任意の視点に応じて全画面が移動されるので、あたかもその視点でもう一度撮像しなおしたような画像を再構築することができる。
【００９３】
次に、処理係数設定部３７に予め記憶される処理係数を学習によって求めてボケ除去処理を行う場合と、処理係数をモデル式から求めてボケ除去処理を行う場合について説明する。
【００９４】
図１９は、処理係数を学習によって求めてボケ除去処理を行う場合の構成を示したものである。学習装置５１は、教師画像である静止画と、この静止画に動きボケを付加した生徒画像を用いて学習処理を実行し、この学習により得られる処理係数を画像処理装置２０の処理係数設定部３７に記憶させる。画像処理装置２０は、入力画像となる動きボケを含む画像から注目画素に対する処理領域を設定して、この処理領域の画素値と処理係数設定部３７に記憶されている動きボケ量に応じた処理係数を用いて、例えば式（３）で示される積和演算を実行することにより、ボケ除去が行われた画素値を求める。なお、処理領域の設定は後述する。
【００９５】
【数１】
0004868236.tif 000002
【００９６】
式（３）において、ｑ’は、ボケ除去が行われた画素の画素値を表している。ｃi（iは、１乃至ｎの整数値）は、処理領域の画素値を表している。また、ｄiは処理係数を表している。
【００９７】
図２０は、学習装置５１の機能ブロック図である。学習装置５１の生徒画像生成部５１１は、入力画像である教師画像に対して動き方向と動き量に応じた動きボケを付加して生徒画像を生成して予測タップ抽出部５１２に供給する。
【００９８】
予測タップ抽出部５１２は、ボケ除去を行う注目画素に対して複数の画素を予測タップとして設定して、生徒画像から予測タップの画素値を抽出して、正規方程式生成部５１３に出力する。なお、予測タップは、動き方向と動き量に応じた係数を生成する場合、上述の処理領域に対応するものである。
【００９９】
正規方程式生成部５１３は、予測タップ抽出部５１２から供給された予測タップの画素値と、教師画像の画素値とから正規方程式を生成し、係数決定部５１４に供給する。係数決定部５１４は、正規方程式生成部５１３から供給された正規方程式に基づき処理係数を演算して、処理係数設定部３７に記憶させる。この正規方程式生成部５１３と、係数決定部５１４についてさらに説明する。
【０１００】
上述した式（３）において、学習前は処理係数ｄiのそれぞれが未定係数である。学習は、複数の教師画像（静止画像）の画素を入力することによって行う。教師画像の画素がｍ個存在し、ｍ個の画素の画素値を「ｑk（ｋは、１乃至ｍの整数値）」と記述する場合、式（３）から、次の式（４）が設定される。
【０１０１】
【数２】
0004868236.tif 000003
【０１０２】
すなわち、式（４）は、右辺の演算を行うことで、動きボケの無い実際の画素値ｑkとほぼ等しいボケ除去後の画素値ｑk’を得ることができる。なお、式（４）において、イコールではなくニアリーイコールとなっているのは誤差を含むからである。すなわち、右辺の演算結果であるボケ除去後の画素値は、動きボケの無い実際の画像における注目画素の画素値と厳密には一致せず、所定の誤差を含むためである。
【０１０３】
この式（４）において、誤差の自乗和を最小にする処理係数ｄiが学習により求まれば、その処理係数ｄiは、ボケ除去後の画素値ｑkを動きボケの無い画素値に近づけるための最適な係数と考えられる。従って、例えば、学習により集められたｍ個（ただし、ｍは、ｎより大きい整数）の画素値ｑkを用いて、最小自乗法により最適な処理係数ｄiを決定する。
【０１０４】
式（４）の右辺の処理係数ｄiを最小自乗法で求める場合の正規方程式は、式（５）として表すことができる。
【０１０５】
【数３】
0004868236.tif 000004
【０１０６】
従って、式（５）に示す正規方程式を解くことで処理係数ｄiを決定できる。具体的には、式（５）で示される正規方程式の各行列のそれぞれを、次の式（６）乃至（８）のように定義すると、正規方程式は、次の式（９）のように表される。
【０１０７】
【数４】
0004868236.tif 000005
【０１０８】
ＣMATＤMAT＝ＱMAT      ・・・（９）
式（７）で示されるように、行列ＤMATの各成分は、求めたい処理係数ｄiである。従って、式（９）において、左辺の行列ＣMATと右辺の行列ＱMATが決定されれば、行列解法によって行列ＤMAT（すなわち、処理係数ｄi）の算出が可能である。具体的には、式（６）で示されるように、行列ＣMATの各成分は、予測タップｃikが既知であれば演算可能である。予測タップｃikは、予測タップ抽出部５１２により抽出されるので、正規方程式生成部５１３は、予測タップ抽出部５１２から供給される予測タップｃikのそれぞれを利用して行列ＣMATの各成分を演算することができる。
【０１０９】
また、式（８）で示されるように、行列ＱMATの各成分は、予測タップｃikと静止画像の画素値ｑkが既知であれば演算可能である。予測タップｃikは、行列ＣMATの各成分に含まれるものと同一のものであり、また、画素値ｑkは、予測タップｃikに含まれる注目画素（生徒画像の画素）に対する教師画像の画素である。従って、正規方程式生成部５１３は、予測タップ抽出部５１２より供給された予測タップｃikと、教師画像を利用して行列ＱMATの各成分を演算することができる。
【０１１０】
このようにして、正規方程式生成部５１３は、行列ＣMATと行列ＱMATの各成分を演算し、その演算結果を係数決定部５１４に供給する。
【０１１１】
係数決定部５１４は、上述した式（７）の行列ＤMATの各成分である処理係数ｄiを演算する。具体的には、上述した式（９）の正規方程式は、次の式（１０）のように変形できる。
ＤMAT＝ＣMAT-1ＱMAT    ・・・（１０）
【０１１２】
式（１０）において、左辺の行列ＤMATの各成分が、求める処理係数ｄiである。また、行列ＣMATと行列ＱMATのそれぞれの各成分は、正規方程式生成部５１３より供給される。従って、係数決定部５１４は、正規方程式生成部５１３より行列ＣMATと行列ＱMATのそれぞれの各成分が供給されてきたとき、式（１０）の右辺の行列演算を行うことで行列ＤMATを演算し、その演算結果（処理係数ｄi）を処理係数設定部３７に記憶させる。ここで、動き方向を一定の方向として動き量を変えて上述の学習を行えば、動きボケ量に応じた特定の処理係数が記憶させることができる。また、動き方向も変えて上述の学習を行えば、動きボケ量と動き方向に応じた処理係数を記憶させることができる。
【０１１３】
予測タップの選択では、動き量に比例した長さを用いて予測タップを選択する。例えば注目画素を基準として動き方向に「３×動き量＋９画素」の範囲に含まれる画素を予測タップとする。また、「２×動き量＋３画素」の範囲に含まれる画素を予測タップとすれば、タップ数が少なく構成を簡単にできる。さらに、予測タップの選択では、動き量ｖに応じて予測タップを離散的に選択するものとしても良い。
【０１１４】
ここで、動き量ｖに応じて予測タップを離散的に選択する場合について図２１を用いて説明する。例えば図２１に示す画素位置Ｐ47を注目画素位置として注目画素の画素値Ｆ19を求める場合、破線で示すように最初に注目画素の成分Ｆ19/vが現れる画素位置Ｐ45、および画素位置Ｐ45と隣接して注目画素の成分Ｆ19/vを有していない画素位置Ｐ44ついて考えると、式（１１）が成立する。なお、画素位置Ｐ44，Ｐ45の画素値をＤＰ44，ＤＰ45とする。
F19−F14＝（ＤＰ45−ＤＰ44）×ｖ        ・・・（１１）
【０１１５】
同様に、破線で示すように最後に注目画素の成分Ｆ19/vが現れる画素位置Ｐ49、および画素位置Ｐ49と隣接して注目画素の成分Ｆ19/vを有していない画素位置Ｐ50ついて考えると、式（１２）が成立する。
F24−F19＝（ＤＰ50−ＤＰ49）×ｖ        ・・・（１２）
【０１１６】
ここで、画素値Ｆ14のレベルは空間相関を利用して近似的に求める。例えば画素位置Ｐ42と周辺画素の空間相関が高ければ式（１３）に示すような近似が成立する。
Ｆ14≒ＤＰ42  ・・・（１３）
【０１１７】
ここでいう空間相関とは、各画素のアクティビティ（Activity）の大小で表される関係である。すなわち、アクティビティとは、例えば、基準とする画素に隣接する画素間の差分値の和である。図２２はアクティビティの算出を説明するための図である。例えば、画素位置Ｐ42を中心として３画素×３画素の合計９画素の画素間の差分が画素位置Ｐ42のアクティビティＡＣ(P42)であり、以下の式（１４）で示される。なお、図２２において、画素位置Ｐ42-Uは画素位置Ｐ42よりも１つ上のラインの画素、画素位置Ｐ42-Lは画素位置Ｐ42よりも１つ下のラインの画素であることを示しており、他も同様である。
ＡＣ(P42)＝  ｜ＤＰ41-U−ＤＰ42-U｜＋｜ＤＰ42-U−ＤＰ43-U｜
＋｜ＤＰ41 −ＤＰ42  ｜＋｜ＤＰ42 −ＤＰ43 ｜
＋｜ＤＰ41-L−ＤＰ42-L｜＋｜ＤＰ42-L−ＤＰ43-L｜
＋｜ＤＰ41-U−ＤＰ41 ｜＋｜ＤＰ41 −ＤＰ41-L｜
＋｜ＤＰ42-U−ＤＰ42 ｜＋｜ＤＰ42 −ＤＰ42-L｜
＋｜ＤＰ43-U−ＤＰ43 ｜＋｜ＤＰ43 −ＤＰ43-L｜
・・・（１４）
式（１４）で示される画素位置Ｐ42で表される画素のアクティビティＡＣ(P42)は、その値が小さいほど、画素位置Ｐ42の画素と周辺画素の空間相関が高く、画素位置Ｐ42の画素値は周辺画素の画素値に近似していることが示される。逆に、アクティビティが大きいときは、画素位置Ｐ42の画素と周辺画素の空間相関が低く、画素位置Ｐ42の画素値は周辺画素の画素値と異なる可能性が高い。すなわち、空間相関が高いということは、画素内における画素値の変化も少ないと仮定することができるので、式（１５）で示すような関係が成立すると考えられる。
Ｆ12/v＝Ｆ13/v＝Ｆ14/v＝Ｆ15/v＝Ｆ16/v        ・・・（１５）
【０１１８】
従って、アクティビティＡＣ(P42)が小さいときには、以下の式（１６）が導出されることになるため、式（１３）が成立すると考えられる。
【０１１９】
ＤＰ42/v＝（Ｆ12/v＋Ｆ13/v＋Ｆ14/v＋Ｆ15/v＋Ｆ16/v）＝Ｆ14/v
・・・（１６）
以上の結果から、式（１１）を変形し、式（１３）の関係を代入すると、以下の式（１７）で示されるように、動きボケの無い画像の画素に入射される光のレベルとして、F19が求められることになる。
【０１２０】
Ｆ19＝（ＤＰ45−ＤＰ44）×v＋ＤＰ42  ・・・（１７）
同様に考えると式（１８）も成立する。
【０１２１】
Ｆ19＝ＤＰ52＋（ＤＰ49−ＤＰ50）×v  ・・・（１８）
このように考えると、注目画素の画素値Ｆ19を求めるときには、画素位置Ｐ42,Ｐ44，Ｐ45，Ｐ49，Ｐ50，Ｐ52を得られれば良いことから、注目画素の画素位置Ｐ47を基準として画素位置Ｐ42,Ｐ44，Ｐ45，Ｐ49，Ｐ50，Ｐ52の画素を予測タップとして用いることもできる。
【０１２２】
図２３は、処理係数の学習処理を示すフローチャートである。ステップＳＴ２１では、教師画像から生徒画像を生成する。すなわち、教師画像に動きボケを付加して、動きボケが付加された画像である生徒画像を生成する。
【０１２３】
ステップＳＴ２２では、生徒画像の中から予測タップを抽出する。ステップＳＴ２３では、予測タップおよび教師画像の画素から、正規方程式を生成する。ステップＳＴ２４では、ステップＳＴ２３で生成した正規方程式を解いて処理係数を決定し、処理係数設定部３７に記憶させる。
【０１２４】
ステップＳＴ２５において、全ての画素について処理を施したか否かを判定して、全ての画素について処理を施していないときは、新たな画素に対してステップＳＴ２２からの処理を繰り返し、全ての画素の処理が終了したときには、学習処理を終了する。
【０１２５】
以上の処理を行い、学習によって動きボケを除去するための処理係数を生成して処理係数設定部３７に記憶させることにより、動きボケの除去処理が実行可能となる。
【０１２６】
また、上述のようにアクティビティの大小、すなわち、空間相関の有無を検出するときには、アクティビティの大小によりクラス分類を行い、クラス分類結果であるクラスコードに対応して処理領域を変更させることで、ボケ除去の精度を向上させることもできる。
【０１２７】
この場合、処理領域設定部３６では、注目画素に対するクラスタップを抽出して、抽出したクラスタップからクラスコードを決定し、このクラスコードに応じて注目画素に対する処理領域を設定して、処理領域の画素値を画素値生成部３８に供給する。また、決定したクラスコードを処理領域設定部３６から処理係数設定部３７に供給して、動きボケ量ＭＢpとクラスコードに応じた処理係数をメモリから読み出して画素値生成部３８に供給させる。
【０１２８】
ここで、アクティビティの大小によりクラス分類が行われているとき、図２１，図２２を参照して説明したように、アクティビティの算出に用いた画素をクラスタップとして抽出する。この抽出したクラスタップを用いて上述のようにアクティビティを求め、求めたアクティビティによりクラスコードを検出する。例えばアクティビティＡＣ(P42)，ＡＣ(P52)を求めて、アクティビティＡＣ(P42)がアクティビティＡＣ(P52)よりも小さいときクラスコードを「１」、アクティビティＡＣ(P52)がアクティビティＡＣ(P42)よりも小さいときクラスコードを「２」として、クラスコードを処理係数設定部３７に供給する。
【０１２９】
さらに、処理領域設定部３６では、クラスコードに対応して注目画素に対応する処理領域の設定を行う。例えば、クラスコードが「１」であった場合、画素位置Ｐ52よりも画素位置Ｐ42の空間相関が高いので、画素位置Ｐ42、Ｐ44、Ｐ45の画素値を処理領域の画素値として画素値生成部３８に供給する。また、クラスコードが「２」であった場合、画素位置Ｐ42よりも画素位置Ｐ52の空間相関が高いので、画素位置Ｐ49、Ｐ50、Ｐ52の画素値を処理領域の画素値として画素値生成部３８に供給する。
【０１３０】
処理係数設定部３７は、クラスコードに応じて、予め後述する学習装置が学習により求めた処理係数を記憶しており、クラスコードおよび動き量に対応する処理係数を画素値生成部３８に供給する。
【０１３１】
画素値生成部３８のボケ除去処理部３８１〜３８３は、処理領域の画素値と処理係数設定部３７から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。統合部３９は、ボケ除去処理部３８１〜３８３から供給された画素値を統合して、動きボケ除去がなされた注目画像における注目画素の画素値を出力する。
【０１３２】
図２４は、クラス分類を用いた画像処理のフローチャートを示している。ステップＳＴ３１でＣＰＵ２０１は、注目画像に動きボケの除去を行う注目画素を設定してステップＳＴ３２に進む。ステップＳＴ３２でＣＰＵ２０１は、注目画素の動きベクトルを検出してステップＳＴ３３に進む。ステップＳＴ３３でＣＰＵ２０１は、露光時間比率を算出する。ステップＳＴ３４でＣＰＵ２０１は、注目画素の動きボケ量を検出する。すなわち、ステップＳＴ３２で検出した動きベクトルとステップＳＴ３３で算出した露光時間比率の乗算を行い、注目画素の露光時間内での動きボケ量を検出する。
【０１３３】
ステップＳＴ３５でＣＰＵ２０１は、ステップＳＴ３４で求めた動きボケ量に応じてクラスタップを抽出してステップＳＴ３６に進む。ステップＳＴ３６でＣＰＵ２０１は、クラス分類を行い、抽出したクラスタップに基づきクラスコードを決定する。
【０１３４】
ステップＳＴ３７でＣＰＵ２０１は、クラスコードに応じて処理領域を設定する。すなわちＣＰＵ２０１は、注目画像の注目画素に基づき処理対象画像を設定して、処理対象画像に注目画素を設定する。さらに、各処理対象画像の注目画素を基準としてクラスコードと注目画素の動きボケ量と動き方向に応じた処理領域を設定してステップＳＴ３８に進む。
【０１３５】
ステップＳＴ３８でＣＰＵ２０１は、注目画素の動きボケ量とクラスコードに応じた処理係数、あるいはステップＳＴ３２で検出した動きベクトルに応じた動き方向と注目画素の動きボケ量とクラスコードに応じた処理係数を設定してステップＳＴ３９に進む。
【０１３６】
ステップＳＴ３９でＣＰＵ２０１は、ボケ除去処理を各処理対象画像に対して行う。すなわち、ＣＰＵ２０１は、ステップＳＴ３７で設定した処理領域の画素値と、ステップＳＴ３８において動き量と動き方向に応じて設定した処理係数との演算処理を行い、注目画素に対応する画素値を生成する。あるいは、処理領域の画素値から新たに処理用の画素値を生成すると共に、この処理用の画素値とステップＳＴ３８で動き量に応じて設定した特定の処理係数との演算処理を行い、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップＳＴ４０に進む。
【０１３７】
ステップＳＴ４０でＣＰＵ２０１は、ステップＳＴ３９で処理対象画像毎に算出した画素値の統合処理を行い、１つの画素値を生成してステップＳＴ４１に進む。
【０１３８】
ステップＳＴ４１でＣＰＵ２０１は、視点動きベクトルを設定する。この視点動きベクトルの設定では、外部から供給された視点設定用の動きベクトルｖpeを視点動きベクトルとする。ステップＳＴ４２でＣＰＵ２０１は、動きボケ付加を行う。すなわち、ＣＰＵ２０１は、ステップＳＴ３２で検出した注目画素の動きベクトルとステップＳＴ４１で設定された視点動きベクトルに基づき、任意視点変換後の動きベクトルを算出して、この任意視点変換後の動きベクトルから注目画素の動きボケ量を算出して、注目画素の画素値に付加することで、動きボケ付加注目画像の生成を行う。
【０１３９】
ステップＳＴ４３でＣＰＵ２０１は、全画面に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップＳＴ３１に戻り、全画面に対する処理が完了したときはステップＳＴ４４に進む。
【０１４０】
ステップＳＴ４４でＣＰＵ２０１は、視点動きベクトルに基づき、動きボケ付加注目画像の全画面移動を行って任意視点画像を生成してステップＳＴ４５に進む。ステップＳＴ４５でＣＰＵ２０１は、提示画像形成を行う。すなわち、画像の無い部分を補間することで提示画像を形成して処理を終了する。
【０１４１】
次に、クラス分類を行う場合の処理係数の学習について説明する。図２５は、クラス分類を行う場合の学習装置５２の機能ブロック図である。学習装置５２の生徒画像生成部５２１は、入力画像である教師画像に対して動き量ｖに応じた動きボケを付加して生徒画像を生成してクラスタップ抽出部５２２と予測タップ抽出部５２４に供給する。
【０１４２】
クラスタップ抽出部５２２は、上述のように生徒画像の中からクラスタップを選択して、選択したクラスタップをクラス分類部５２３に供給する。クラス分類部５２３は、上述のようにクラス分類を行いクラスコードを決定して予測タップ抽出部５２４と正規方程式生成部５２５に供給する。
【０１４３】
予測タップ抽出部５２４は、生徒画像の中からクラスコードに応じて予測タップを切り換えて抽出して、正規方程式生成部５２５に供給する。
【０１４４】
正規方程式生成部５２５は、基本的に図２０の正規方程式生成部５１３と同様のものであるが、クラス分類部５２３から供給されるクラスコード毎に正規方程式を生成して係数決定部５２６に出力する。従って、係数決定部５２６は、クラスコード毎に係数を決定し、クラスコード毎に決定した係数を処理係数設定部３７に記憶させる。ここで、動き方向を特定して動き量毎に生徒画像を生成しているときには、動き量とクラスコードに応じた特定の処理係数が処理係数設定部３７に記憶される。また、動き量と動き方向を切り換えて生徒画像を生成しているときには、動き量と動き方向およびクラスコードに応じた処理係数が処理係数設定部３７に記憶される。
【０１４５】
図２６は、クラス分類を用いた処理係数の学習処理を示すフローチャートである。ステップＳＴ５１では、教師画像から生徒画像を生成する。すなわち、教師画像に動きボケを付加して、動きボケが付加された画像である生徒画像を生成する。
【０１４６】
ステップＳＴ５２では、生徒画像からクラスタップを抽出する。このクラスタップの抽出は、上述のステップＳＴ３５と同様にして行う。
【０１４７】
ステップＳＴ５３では、抽出したクラスタップよりクラス分類を行いクラスコードを決定する。ステップＳＴ５４では、ステップＳＴ５３で決定したクラスコードに対応して、生徒画像から予測タップを抽出する。
【０１４８】
ステップＳＴ５５では、予測タップおよび教師画像の画素からクラスコード毎に正規方程式を生成する。
【０１４９】
ステップＳＴ５６では、ステップＳＴ５５で生成した正規方程式を解いて処理係数を決定し、クラスコード毎に処理係数設定部３７に記憶させる。
【０１５０】
ステップＳＴ５７において、全ての画素について処理を施したか否かを判定して、全ての画素について処理を施していないときは、新たな画素に対してステップＳＴ５２からの処理を繰り返し、全ての画素の処理が終了したときは、学習処理を終了する。このようにして、動き量と動き方向とクラスに応じた動きボケ除去用の処理係数を生成できる。また、動き方向を一定方向とすることで、動き量とクラスに応じた特定の処理係数を生成できる。
【０１５１】
次に、処理係数設定部３７に記憶される処理係数をモデル式から求めてボケ除去処理を行う場合について説明する。
【０１５２】
図２７は、処理領域を空間方向に示したものであり、注目画素Ｐnaを中心として例えば動き方向に（２Ｎ＋１）画素分の処理領域を設定する。図２８Ａと図２８Ｂは処理領域の設定例を示しており、動きボケを軽減させる動きオブジェクトＯＢfの画素に対して、動きベクトルの方向が例えば矢印Ａで示すように水平方向である場合は、図２８Ａに示すように水平方向に処理領域ＷＡを設定する。また、動きベクトルの方向が斜め方向である場合は、図２８Ｂに示したように、該当する角度方向に処理領域ＷＡを設定する。ただし、斜め方向に処理領域を設定する際には、処理領域の画素位置に相当する画素値を、補間等によって求める。
【０１５３】
ここで、処理領域内では、図２９に示すように、実世界変数(Ｙ-8，・・・,Ｙ0，・・・，Ｙ8) が時間混合されている。なお、図２９は、動き量ｖが「ｖ＝５」であって処理領域を１３画素（Ｎ＝６：Ｎは注目画素Ｐnaに対する処理幅の画素数）とした場合である。
【０１５４】
ボケ除去処理では、この処理領域に対して実世界推定を行い、推定した実世界の中心画素変数Ｙ0のみを、動きボケ除去がなされた注目画素の画素値として出力する。
【０１５５】
ここで、処理領域を構成する画素の画素値をＸ-N，Ｘ-N+1，・・・，Ｘ0，・・・，ＸN-1，ＸN とすると、式（１９）に示すような（２Ｎ＋１）個の混合式が成立する。なお、定数ｈは、動き量ｖを１／２倍したときの整数部分の値（小数点以下を切り捨てた値）を示している。
【０１５６】
【数５】
0004868236.tif 000006
【０１５７】
しかし、求めたい実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）は、（２Ｎ＋ｖ）個ある。すなわち、変数の数よりも式の数が少ないので、式（１９）に基づき実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）を求めることができない。
【０１５８】
そこで、空間相関を用いた拘束式である式（２０）を用いることで、実世界変数よりも式の数を増やし、最小自乗法を用いて、実世界変数の値を求める。
【０１５９】
Ｙt−Ｙt+1＝０  （ｔ＝-N-h,・・・,０,・・・,N+h-1）・・・（２０）
すなわち、式（１９）で表される（２Ｎ＋１）個の混合式と式（２０）で表される（２Ｎ＋ｖ−1）個の拘束式を合わせた（４Ｎ＋ｖ）個の式を用いて、（２Ｎ＋ｖ）個の未知変数である実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）を求める。
【０１６０】
ここで、各式において発生する誤差の二乗和が最小となるような推定を行うことで、動きボケ軽減画像生成処理を行いながら、実世界での画素値の変動を小さくできる。
【０１６１】
式（２１）は、図２９に示すように処理領域を設定した場合を示しており、式（１９）と式（２０）にそれぞれの式で発生する誤差を加えたものである。
【０１６２】
【数６】
0004868236.tif 000007
・・・（２１）
【０１６３】
この式（２１）は式（２２）として示すことができ、式（２３）に示す誤差の二乗和Ｅを最小とするようなＹ（＝Ｙi）は式（２４）として求まる。なお、式（２４）において、Ｔは転置行列であることを示している。
【０１６４】
【数７】
0004868236.tif 000008
【０１６５】
ここで、誤差の二乗和は式（２５）で示すものとなり、この誤差の二乗和を偏微分して、式（２６）に示すように偏微分値が０となるようにすれば、誤差の二乗和が最小となる式（２４）を求めることができる。
【０１６６】
【数８】
0004868236.tif 000009
【０１６７】
この式（２４）の線形結合を行うことで、実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）をそれぞれ求めることができ、中心画素変数Ｙ0の画素値を注目画素の画素値として出力する。すなわち、中心画素変数Ｙ0に対する係数を動き量毎に求めて処理係数として処理係数設定部３７に記憶させておき、この処理係数設定部３７に記憶されている動き量に応じた処理係数を用いて、画素値と積和演算を行うことにより動きボケが除去された画素値を出力する。このような処理を処理領域内の全画素に対して行うことで、動きボケが軽減されている実世界変数を処理領域について求めることができる。
【０１６８】
上述では、ＡＹ＝Ｘ＋ｅにおける誤差の二乗和Ｅを最小とするように、最小自乗法で実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）を求めているが、式の数＝変数の数となるように式を作ることも可能である。この式をＡＹ＝Ｘとすると、Ｙ＝Ａ-1Ｘと変形することにより、実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）を求めることができる。
【０１６９】
ところで、シャッタ動作を行わないものとすると、露光時間比率は常に「１」で一定となり、動きオブジェクトＯＢfが連続して移動する画像となる。また、動きオブジェクトＯＢfが連続して移動する画像であることから、時間方向の主要項を用いることで、動きベクトルの検出ずれを生じても、ロバストなボケ除去処理を行うことが可能となり、画像処理装置の構成を簡易とすることができる。
【０１７０】
次に、主要項について説明する。上述のモデル式等によって各画素に対して用いられる処理係数を求めると、処理係数は図３０に示すような形状を示すものとなり、処理係数の絶対値が大きくなる部分を生ずる。このような、処理係数の絶対値が大きくなる部分を主要項とする。この主要項の位置は、注目画素Ｐnaを基準として動き方向および動き量に応じた画素位置となる。なお、図３０において、主要項ＭＣa1は注目画素Ｐnaに対して動き方向に最も近接した主要項、主要項ＭＣb1は動き方向とは逆方向で最も近接した主要項を示している。この主要項ＭＣa1，ＭＣb1は、注目画素Ｐnaから動き量の（１／２）だけ動き方向あるいは動き方向と逆方向に離れた位置に生ずるものである。また、隣接する主要項は、動き量だけ動き方向あるいは動き方向と逆方向に離れた位置に生ずるものである。
【０１７１】
この主要項を時間方向に用いるものとした場合、主要項の位置は同じ画素位置に重なるものとなる。すなわち、上述の主要項ＭＣa1，ＭＣb1について着目すると、（ｔ−１）フレームの画像上の主要項ＭＣa1の位置は（ｔ）フレームの画像上の主要項ＭＣb1の位置となる。従って、（ｔ−１）フレームと（ｔ）フレームとの真ん中の位相であって、主要項ＭＣa1，ＭＣb1と同じ画素位置は、注目画素Ｐnaに相当する。このため、例えば２フレームの主要項を用いて画素値を算出して、この画素値を２フレームの中間の位相で出力すれば、動きボケが除去された注目画素の画素値を正しく出力できる。
【０１７２】
このように、時空間方向の主要項を使用して、フレーム間の真ん中を、動きボケ除去後の注目画素Ｐnaの出力位相とした動きボケ除去を行う画像処理装置の機能ブロック図を図３１に示す。なお、画像処理装置の各機能はハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、図３１の機能ブロックは、ハードウェアで実現するものとしても良く、上述の図に示す構成を用いてソフトウェアで実現するものとしても良い。
【０１７３】
ここで、フレーム間の真ん中を、動きボケ除去後の注目画素Ｐnaの出力位相とすると、３フレーム分の画像を得るためには、４フレーム分の画像を用いなければならない。このため、図３１に示す画像処理装置の処理領域設定部３６には、（ｔ−１）フレームタップ選択部３６１と（ｔ）フレームタップ選択部３６２および（ｔ＋１）フレームタップ選択部３６３に加えて、（ｔ＋２）フレームタップ選択部３６４を設けるものとする。また、画素値生成部の各ボケ除去処理部は、連続する２フレームから抽出されたタップと、処理係数設定部３７から供給された処理係数を用いて、注目画素Ｐnaの動きボケが除去された画素値を、２フレームの真ん中を出力位相として生成する。
【０１７４】
注目画素設定部３５は、注目画像を含めて複数の処理対象画像を設定して、動きベクトル設定部３１により設定された動きベクトルｖpに基づき、注目画像の注目画素Ｐnaに空間位置が対応する処理対象画像上の画素を検出して、この検出した画素を各処理対象画像の注目画素に設定する。さらに、注目画素を設定した複数の処理対象画像を処理領域設定部３６に供給する。
【０１７５】
例えば、（ｔ）フレームの画像を注目画像とするとき、（ｔ−１）フレーム，（ｔ）フレーム、（ｔ＋１）フレーム，（ｔ＋２）フレームの画像を処理対象画像とする。ここで、動きベクトルｖpに基づき、注目画像の注目画素Ｐnaに対応する（ｔ−１）フレームや（ｔ＋１）フレームの画像上の画素を注目画素として設定する。さらに、（ｔ）フレームの処理対象画像を処理領域設定部３６の（ｔ）フレームタップ選択部３６２、注目画素を設定した（ｔ−１）フレームの処理対象画像を（ｔ−１）フレームタップ選択部３６１、注目画素を設定した（ｔ＋１）フレームの処理対象画像を（ｔ＋１）フレームタップ選択部３６３、注目画素を設定した（ｔ＋２）フレームの処理対象画像を（ｔ＋２）フレームタップ選択部３６４にそれぞれ供給する。
【０１７６】
また、基準となる注目画像は、（ｔ）フレームの画像に限られるものではなく、（ｔ−１）フレームや（ｔ＋１）フレームあるいは（ｔ＋２）フレームの画像を注目画像とすることもできる。さらに、注目画像のいずれの画素を注目画素とするかについては、外部から注目画素を指定したり、注目画像内の画素を順次自動的に注目画素に指定する。
【０１７７】
処理領域設定部３６の（ｔ−１）フレームタップ選択部３６１は、注目画素の成分が主に含まれる主要項を抽出するため、注目画素設定部３５から供給された処理対象画像における注目画素の空間位置を基準として、動きベクトルｖpに応じた動き方向に処理領域を設定して、この処理領域から注目画素の空間位置と略同じ位置の画素を少なくとも抽出して、抽出した画素の画素値を画素値生成部３８のボケ除去処理部３８１に供給する。
【０１７８】
（ｔ）フレームタップ選択部３６２，（ｔ＋１）フレームタップ選択部３６３，（ｔ＋２）フレームタップ選択部３６４も、（ｔ−１）フレームタップ選択部３６１と同様にして画素の抽出を行い、抽出した画素の画素値をボケ除去処理部３８１〜３８３に供給する。
【０１７９】
処理係数設定部３７は、ボケ除去処理に用いる処理係数を予め記憶しており、記憶している処理係数を画素値生成部３８に供給する。また、処理係数設定部３７は、図示せずも外部から動きボケの調整を可能とする調整情報が供給されたとき、この調整情報に基づいて、画素値生成部３８に供給する処理係数の切り換えを行うことで動きボケ除去効果を調整する。例えば、最初に供給した処理係数で動きボケが最適に行われないような場合が生じても処理係数を切り換えることで動きボケを最適に除去することが可能となる。また、処理係数を切り換えることで意図的に動きボケを残すことも可能である。
【０１８０】
処理係数設定部３７に動きボケ量ＭＢpに基づいた特定の処理係数を記憶しておくものとした場合、画素値生成部３８のボケ除去処理部３８１は、処理領域設定部３６の（ｔ−１）フレームタップ選択部３６１から抽出した画素値と動きベクトルｖpに応じた動き方向に応じて新たに処理用の画素値を生成して、この生成した処理用の画素値と特定の処理係数との積和演算を行い画素値を生成する。また、（ｔ）フレームタップ選択部３６２から抽出した画素値と動きベクトルｖpに応じた動き方向に応じて新たに処理用の画素値を生成して、この生成した処理用の画素値と特定の処理係数との積和演算を行い画素値を生成する。このようにして生成した２つの画素値を統合して、（ｔ−１）フレームと（ｔ）フレームとの時間的に真ん中を出力位相として統合部３９に供給する。
【０１８１】
ここで、処理用の画素値の生成は、以下のように行う。すなわち、ボケ除去処理に用いる処理係数を生成するとき、動き方向を特定の方向に設定して、このとき得られた処理係数を特定の処理係数として動きボケ量毎（動き量毎）に処理係数設定部３７に記憶させる。画素値生成部３８は、動きベクトルｖpに応じた動き方向が、処理係数を生成したときの特定の方向に対して角度差θを有する場合、例えば図３２に示すように、処理係数を生成するときに設定した動き方向が水平方向であり、動き方向が角度差θを有する場合、注目画素Ｐnaから動き方向の処理係数に対応する画素位置は、三角印で示す位置Ｐwa，Ｐwbとなる。このため、位置Ｐwaの画素値ＤＰwaを、周辺の画素位置Ｐw1，Ｐw2，Ｐw3，Ｐw4の画素値を用いて式（２７）から算出する。また、同様にして位置Ｐwaとは逆方向である位置Ｐwbの画素値ＤＰwbを算出する。
【０１８２】
ＤＰwa＝  （１−βh）×（１−βv）×ＤＰw1
＋    βh    ×（１−βv）×ＤＰw2
＋（１−βh）×    βv    ×ＤＰw3
＋    βh    ×    βv    ×ＤＰw4    ・・・（２７）
なお、式（２７）において、βh＝ｃｏｓθ，βv＝ｓｉｎθ、ＤＰw1は画素位置Ｐw1の画素値、ＤＰw2〜ＤＰw4は画素位置Ｐw2〜Ｐw4の画素値である。
【０１８３】
また、処理係数設定部３７には動きボケ量と動き方向に基づいた処理係数を記憶しておくこともできる。この場合、処理係数設定部３７には、上述の式（２７）において、画素値ＤＰw1，ＤＰw2，ＤＰw3，ＤＰw4に乗算される各係数と動きボケ量毎の特定の処理係数を、角度差θ毎にそれぞれ乗算して、各乗算結果を動きボケ量と動き方向に基づいた処理係数として記憶させる。処理係数設定部３７は、動きボケ量設定部３３からの動きボケ量と動きベクトルｖpに応じた動き方向に基づく処理係数を画素値生成部３８に供給する。また、ボケ除去処理部３８１は、動きボケ量と動き方向に基づいた処理係数と、周辺の画素位置の画素値の積和演算を行うことで、動きボケが除去された画素値を生成できる。
【０１８４】
ボケ除去処理部３８２もボケ除去処理部３８１と同様に、（ｔ）フレームタップ選択部３６２や（ｔ＋１）フレームタップ選択部３６３から供給された画素値と処理係数設定部３７から供給された処理係数を用いて注目画素の画素値を生成して、（ｔ）フレームと（ｔ＋１）フレームとの時間的に真ん中を出力位相として出力する。さらに、ボケ除去処理部３８３もボケ除去処理部３８１と同様に、（ｔ＋１）フレームタップ選択部３６３や（ｔ＋２）フレームタップ選択部３６４から供給された画素値と処理係数設定部３７から供給された処理係数を用いて注目画素の画素値を生成して、（ｔ＋１）フレームと（ｔ＋２）フレームとの時間的に真ん中を出力位相として出力する。
【０１８５】
統合部３９は、ボケ除去処理部３８１〜３８３から供給された画素値を統合して、動きボケ除去がなされた注目画像における注目画素の画素値として、この動きボケ除去がなされた注目画像の画像信号ＤＶcを出力する。
【０１８６】
処理係数設定部に記憶させる処理係数は、上述のモデル式を用いて求めることができる。すなわち、式（２０）に示すように隣接画素差分＝０とする拘束を導入して、式（２１）に示す足し込み特性を用いることにより、実世界変数に対応する静止画像内の注目画素を含む第１の領域の画素（式（２１）に示すＹ8〜Ｙ-8に相当）と、注目画素の空間位置と同じ動きボケを生じた画像内の画素を含む第２の領域の画素（式（２１）に示すＸ6〜Ｘ-6に相当）間で行列演算を行い、注目画素に相当する中心画素変数Ｙ0の算出に用いる係数を処理係数として処理係数設定部３７に記憶させる。このように、中心画素変数Ｙ0の算出に用いる係数を処理係数として用いるものとすれば、周辺画像の画素値を用いて動きボケが除去された画素値を算出できる。
【０１８７】
図３３は、モデル式を用いて処理係数の生成を行う係数生成装置の機能ブロック図である。動き設定部７１は、動き方向の設定や動き量の設定を行い、設定された動き方向や動き量を示す動き情報ＭＨを行列式生成部７５１に供給する。
【０１８８】
処理係数生成部７５の行列式生成部７５１は、動き情報ＭＨに基づき、画像に動きボケを付加した少なくとも２つの画像からなるモデルを構築し、２つの画像例えば（ｔ−１）フレームと（ｔ）フレームの画像の画像間に位置する注目画素の空間的位置と略同じ２つの画像内の周辺画素の画素値の足し込み特性と、隣接画素差分＝０とする拘束により行列式を生成する。
【０１８９】
ここで、例えば動き量ｖ＝５の場合における処理係数の生成手法について説明する。この場合、図２７のようなモデルを構築し、行列式を生成する。主要項は画素値Ｘ-3、Ｘ-2、Ｘ2、Ｘ3の画素に相当するので、行列式は式（２８）として示すことができる。
【０１９０】
【数９】
0004868236.tif 000010
・・・（２８）
【０１９１】
これより、Ｙ0を求めるための行列式を式（２４）のように一意に求めることができる。すなわち、動き量ｖ＝５における主要項の画素値Ｘ-3, Ｘ-2, Ｘ2, Ｘ3に線形結合される処理係数（行列式）を求めることができる。上述の式では未知数Ｙと式の数が一致するように拘束式を追加しているが、式（２１）のように、さらに拘束式を追加して未知数Ｙ＜式の数として、最小二乗法を用いて最小二乗法で処理係数を求めてもかまわない。これより、行列式生成部７５１は、動き量毎に上述のように行列式を生成し、係数決定部７５２は、動き量毎に処理係数を求めることができる。また、動き量ｖ＝４の場合、主要項の画素値は画素値Ｘ-3、Ｘ-2、Ｘ-1、Ｘ1 、Ｘ2、Ｘ3となるので、行列式は式（２９）となる。
【０１９２】
【数１０】
0004868236.tif 000011
【０１９３】
ところで、動き量ｖが奇数画素数分であるとき、中心画素変数Ｙ0は図２９に示すように時間的に位相が中央となっている。しかし、動き量ｖが偶数画素数分であるとき、中心画素変数Ｙ0は図３４Ａに示すように時間的に位相が中央とならず位相差を生じてしまう。このため、仮想分割数を２倍として、図３４Ｂに示すように１フレーム期間を等時間間隔で８分割する。さらに、Ｙ0aとＹ1bを加算することで、動き量ｖが奇数画素分であるときの中心画素変数Ｙ0と同様に、時間的に位相が中央である値を得ることができる。
【０１９４】
また、空間的位相を考えたとき、動き量が奇数画素分である場合の主要項は、２つの連続する画素単位で係数が大きく変化する。このため、主要項を用いて注目画素Ｐnaを求めるものとした場合は、注目画素Ｐnaの位相が２つの画素の中央となる。すなわち、動きボケ除去後の画像は、（ｔ−１）フレームおよび（ｔ）フレームの画像に対して１／２画素分だけ位相がずれたものとなる。
【０１９５】
また、１／２画素分の位相のずれを防止する場合は、図３５に示すように、中心画素変数Ｙ0 に対する処理係数ＫＣ-y0と変数Ｙ1(あるいはＹ-1) に対する処理係数ＫＣ-y1と加算して１／２倍とした処理係数ＫＣを用いるものとすれば良い。なお、図３５において、丸印は画素位置を示している。このように処理係数ＫＣを生成すると、主要項は３画素単位となることから、処理係数ＫＣを用いることにより、注目画素Ｐnaの位相が（ｔ−１）フレームおよび（ｔ）フレームの画像の画素と等しくなり、（ｔ−１）フレームおよび（ｔ）フレームの画像と位相が等しい動きボケ除去画像を得ることができる。図３４Ｂに示すように動き量ｖが偶数画素分の場合、仮想分割数が２倍とされているので、変数Ｙ0aは変数Ｙ0の１／２倍、変数Ｙ1bは変数Ｙ1の１／２倍であり、変数Ｙ0aと変数Ｙ1bを加算することで、中心画素変数Ｙ0 に対する処理係数ＫＣ-y0と変数Ｙ1 に対する処理係数ＫＣ-y1を加算して１／２倍したものと同等となり、動き量ｖが偶数画素分であるときの主要項は３画素単位となる。
【０１９６】
このため、上述のように動き量ｖが偶数画素分であるときや、動き量が奇数画素分であるときに主要項を３画素単位に変換して処理係数を設定して記憶させておけば、動きボケが除去された注目画素の画素値を、２つのフレームの画素と同じ画素位置で出力させることができる。
【０１９７】
図３６は、モデル式を用いた係数生成処理を示すフローチャートである。ステップＳＴ６１では、生成する処理係数の動き方向と動き量を設定する。
【０１９８】
ステップＳＴ６２では、行列式の生成を行う。行列式の生成は、上述のように画像に動きボケを付加したモデルを構築し、隣接画素の差分を「０」とする拘束を導入して足し込み特性を示す行列式を生成する。ステップＳＴ６３では、ステップＳＴ６２で生成した行列式および動き方向に基づき、注目画素の算出に用いる係数を生成して処理係数とする。
【０１９９】
図３７は、シャッタ動作を行わないものとしたときの画像処理装置の他の機能ブロック図を示している。なお、図３７において、図６と対応する部分については同一符号を付し、詳細な説明は省略する。注目画素設定部３５ａは、２フレームの中間の位相上に注目画素を設定して、この注目画素と対応する位置の画素を２フレームの処理対象画像の注目画素と設定する。例えば、（ｔ−１）フレームと（ｔ）フレームの中間の位相上に注目画像とするとき、（ｔ−１）フレーム，（ｔ）フレームの画像を処理対象画像とする。また、設定した注目画素と対応する処理対象画像上の位置の画素を処理対象画像の注目画素と設定する。
【０２００】
処理領域設定部３６の（ｔ−１）フレームタップ選択部３６１は、注目画素設定部３５ａから供給された処理対処画像における注目画素、すなわち主要項を基準として処理領域を設定する。さらに、処理領域の画素値を画素値生成部３８のボケ除去処理部３８１に供給する。（ｔ）フレームタップ選択部３６２も（ｔ−１）フレームタップ選択部３６１と同様に、主要項を基準として処理領域を設定する。さらに、処理領域の画素値をボケ除去処理部３８２に供給する。
【０２０１】
動きベクトル設定部４７は、視点動きベクトルを設定して処理係数設定部３７に供給する。この動きベクトル設定部４７は、ユーザ等によって外部から供給された視点設定用の動きベクトルを視点動きベクトルｖqとして処理係数設定部３７に供給する。
【０２０２】
処理係数設定部３７は、視点動きベクトルｖqに応じた処理係数を読み出して、ボケ除去処理部３８１，３８２に供給する。画素値生成部３８のボケ除去処理部３８１，３８２は、処理領域の画素値と処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。統合部３９は、ボケ除去処理部３８１，３８２から供給された画素値を上述のように統合して、（ｔ−１）フレームと（ｔ）フレームの中間の位相における画像の画素値を生成し、画像信号ＤＶfとして画像移動部４２とメモリ４３に供給する。
【０２０３】
ここで、視点動きベクトルｖqの動き量が動きオブジェクトの動き量と等しく、視点動きベクトルｖqの動き方向が動きオブジェクトの動き方向と逆方向であるときは、動きオブジェクトの画像から動きボケが除去されて統合部３９から出力される。また、視点動きベクトルｖqの動き量が動きオブジェクトの動き量と異なる場合や、視点動きベクトルｖqの動き方向が動きオブジェクトの動き方向の逆方向でないときは、動き量の差分や動き方向の違いに応じた動きボケが残された画像が統合部３９から出力されることとなる。
【０２０４】
画像移動部４２は、動きベクトル設定部４７から供給された視点動きベクトルｖqに基づき、視点動きベクトルｖqの動き方向とは逆方向で、視点動きベクトルｖqの動き量分だけ統合部３９から出力された画像信号ＤＶfに基づく画像を全画面移動させる。さらに、全画面移動後の画像信号ＤＶgをフレームメモリ４４と提示画像形成部４５に供給する。また、提示画像形成部４５は、全画面移動後の画像信号ＤＶgやメモリ４３、フレームメモリ４４に記憶されている画像の画像信号を用いて、提示画像の画像信号ＤＶoutを形成して出力する。
【０２０５】
図３８は、シャッタ動作を行わないものとしたときの画像処理をソフトウェアで行う場合のフローチャートを示している。ステップＳＴ７１でＣＰＵ２０１は、注目画素を設定してステップＳＴ７２に進む。ステップＳＴ７２でＣＰＵ２０１は、視点動きベクトルを設定してステップＳＴ７３に進む。ステップＳＴ７３でＣＰＵ２０１は、処理対象画像上の注目画素を中心として処理領域を設定する。ステップＳＴ７４でＣＰＵ２０１は、ステップＳＴ７２で設定した視点動きベクトルに応じて処理係数を設定してステップＳＴ７５に進む。
【０２０６】
ステップＳＴ７５でＣＰＵ２０１は、ボケ除去処理を各処理対象画像に対して行う。すなわち、各処理対象画像に対してステップＳＴ７３で設定した処理範囲の画素値とステップＳＴ７４で設定した処理係数との演算処理を行い、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップＳＴ７６に進む。ステップＳＴ７６でＣＰＵ２０１は、ステップＳＴ７５で処理対象画像毎に算出した画素値の統合処理を行い１つの画素値を生成して、処理対象画像の中間の位相における画像の画素値としてステップＳＴ７７に進む。
【０２０７】
ステップＳＴ７７でＣＰＵ２０１は、全画面に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップＳＴ７１に戻り、全画面に対する処理が完了したときはステップＳＴ７８に進む。
【０２０８】
ステップＳＴ７８でＣＰＵ２０１は、視点動きベクトルに基づき、動きボケ付加注目画像の全画面移動を行って任意視点画像を生成してステップＳＴ７９に進む。ステップＳＴ７９でＣＰＵ２０１は、提示画像形成を行う。すなわち、画像の無い部分を補間することで提示画像を形成して処理を終了する。
【０２０９】
このように、シャッタ動作を行わないものとしたときは、画素毎の動きベクトルや露光時間比率の設定を行うことなく、簡単な構成で任意視点画像を生成できる。なお、このときの任意視点画像は、視点を変更したことによる動きボケは付加されていない画像となる。
【０２１０】
さらに、シャッタ動作を行わないときに用いる処理係数は、モデル式を用いて求める場合に限られるものではなく、教師画像と生徒画像を用いた学習によって生成するものとしても良い。
【産業上の利用可能性】
【０２１１】
以上のように、本発明にかかる画像処理装置と画像処理方法および画像処理プログラムは、画像センサを用いて現実社会を撮像して得られる画像信号に埋もれてしまった情報を抽出する際に有用であり、動きボケを除去した解像度の高い画像を得る場合に好適である。
【図面の簡単な説明】
【０２１２】
図１は、システムの構成を示す図である。
図２は、画像センサによる撮像を説明するための図である。
図３Ａと図３Ｂは、撮像画像を説明するための図である。
図４は、画素値の時間方向分割動作を説明するための図である。
図５は、シャッタ動作を行ったときの画素値の時間方向分割動作を説明するための図である。
図６は、画像処理装置の機能ブロック図である。
図７は、ソフトウェアを用いるときの画像処理装置の構成を示す図である。
図８は、露光時間比率推定部の機能ブロック図である。
図９は、領域特定部の機能ブロック図である。
図１０は、領域判定処理を説明するための図である。
図１１は、理想的な混合比を示す図である。
図１２は、空間方向の処理領域を説明するための図である。
図１３は、時間方向の処理領域を説明するための図である。
図１４のＡ〜Ｅは、画像移動部の動作を説明するための図である。
図１５Ａ〜図１５Ｄは、画像移動部の他の動作を説明するための図である。
図１６Ａ〜図１６Ｅは、提示画像形成部の動作を説明するための図である。
図１７Ａ〜図１７Ｄは、提示画像形成部の他の動作を説明するための図である。
図１８は、画像処理を示すフローチャートである。
図１９は、処理係数を学習によって求めて動きボケ除去を行う場合の構成を示す図ある。
図２０は、学習装置の機能ブロック図である。
図２１は、予測タップを離散的に選択する場合の動作を説明するための図である。
図２２は、アクティビティの算出を説明するための図である。
図２３は、処理係数の学習処理を示すフローチャートである。
図２４は、クラス分類を用いた画像処理のフローチャートである。
図２５は、クラス分類を行う場合の学習装置の機能ブロック図である。
図２６は、クラス分類を用いた処理係数の学習処理を示すフローチャートである。
図２７は、処理領域を説明するための図である。
図２８Ａと図２８Ｂは、処理領域の設定例を示す図である。
図２９は、処理領域における実世界変数の時間混合（動き量ｖ＝５の場合）を説明するための図である。
図３０は、主要項と処理係数を示す図である。
図３１は、画像処理装置の他の機能ブロック図である。
図３２は、画素値の算出方法を説明するための図である。
図３３は、係数生成装置の機能ブロック図である。
図３４Ａと図３４Ｂは、処理領域における実世界変数の時間混合（動き量ｖ＝４の場合）を説明するための図である。
図３５は、空間方向の位相を一致させるときの主要項と処理係数を説明するための図である。
図３６は、係数生成処理を示すフローチャートである。
図３７は、画像処理装置の他の機能ブロック図である。
図３８は、シャッタ動作を行わないときの画像処理を示すフローチャートである。
【図１】
0004868236.tif 000012
【図２】
0004868236.tif 000013
【図３Ａ】
0004868236.tif 000014
【図３Ｂ】
0004868236.tif 000015
【図４】
0004868236.tif 000016
【図５】
0004868236.tif 000017
【図６】
0004868236.tif 000018
【図７】
0004868236.tif 000019
【図８】
0004868236.tif 000020
【図９】
0004868236.tif 000021
【図１０】
0004868236.tif 000022
【図１１】
0004868236.tif 000023
【図１２】
0004868236.tif 000024
【図１３】
0004868236.tif 000025
【図１４】
0004868236.tif 000026
【図１５Ａ】
0004868236.tif 000027
【図１５Ｂ】
0004868236.tif 000028
【図１５Ｃ】
0004868236.tif 000029
【図１５Ｄ】
0004868236.tif 000030
【図１６Ａ】
0004868236.tif 000031
【図１６Ｂ】
0004868236.tif 000032
【図１６Ｃ】
0004868236.tif 000033
【図１６Ｄ】
0004868236.tif 000034
【図１６Ｅ】
0004868236.tif 000035
【図１７Ａ】
0004868236.tif 000036
【図１７Ｂ】
0004868236.tif 000037
【図１７Ｃ】
0004868236.tif 000038
【図１７Ｄ】
0004868236.tif 000039
【図１８】
0004868236.tif 000040
【図１９】
0004868236.tif 000041
【図２０】
0004868236.tif 000042
【図２１】
0004868236.tif 000043
【図２２】
0004868236.tif 000044
【図２３】
0004868236.tif 000045
【図２４】
0004868236.tif 000046
【図２５】
0004868236.tif 000047
【図２６】
0004868236.tif 000048
【図２７】
0004868236.tif 000049
【図２８Ａ】
0004868236.tif 000050
【図２８Ｂ】
0004868236.tif 000051
【図２９】
0004868236.tif 000052
【図３０】
0004868236.tif 000053
【図３１】
0004868236.tif 000054
【図３２】
0004868236.tif 000055
【図３３】
0004868236.tif 000056
【図３４Ａ】
0004868236.tif 000057
【図３４Ｂ】
0004868236.tif 000058
【図３５】
0004868236.tif 000059
【図３６】
0004868236.tif 000060
【図３７】
0004868236.tif 000061
【図３８】
0004868236.tif 000062