(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では、背景の成分を１仮想分割時間含み、前景成分を２仮想分割時間含むので、混合比αは（１／３）となる。
【００２７】
また、シャッタ動作が行われたとき、露光時間比率と１フレーム期間内での動き量ｖを乗算して露光時間内動き量ｖsを算出することができる。
【００２８】
このように、前景の成分が移動することから、１露光時間では、異なる前景の成分が加算されるので、動きオブジェクトに対応する前景の領域は、動きボケを含むものとなる。このため、画像処理装置２０では、画像信号に埋もれてしまった有意情報を抽出して前景に対応する動きオブジェクトＯＢfの動きボケを軽減させた画像信号ＤＶoutを生成する。
【００２９】
図６は、画像処理装置の機能ブロック図である。なお、画像処理装置の各機能はハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、図６の機能ブロックは、ハードウェアで実現するものとしても良く、ソフトウェアで実現するものとしてもよい。
【００３０】
ここで、ソフトウェアを用いるときの画像処理装置２０の構成を例えば図７に示す。ＣＰＵ（Central Processing Unit）２０１は、ＲＯＭ（Read Only Memory）２０２、または記憶部２０８に記憶されているプログラムに従って各種の処理を実行するものであり、ＲＯＭ２０２や記憶部２０８には、画像処理装置の各機能を実現するプログラムが記憶される。ＲＡＭ（Random Access Memory）２０３には、ＣＰＵ２０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ２０１、ＲＯＭ２０２、およびＲＡＭ２０３は、バス２０４により相互に接続されている。
【００３１】
また、ＣＰＵ２０１には、バス２０４を介して入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７が接続されている。ＣＰＵ２０１は、入力部２０６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ２０１は、処理の結果得られた画像や音声等を出力部２０７に出力する。
【００３２】
入出力インタフェース２０５に接続されている記憶部２０８は、例えばハードディスクなどで構成され、ＣＰＵ２０１が実行するプログラムや各種のデータを記憶する。通信部２０９は、インターネット、その他のネットワークを介して外部の装置と通信する。この例の場合、通信部２０９はセンサの出力を取り込む取得部として働く。また、通信部２０９を介してプログラムを取得し、記憶部２０８に記憶してもよい。
【００３３】
入出力インタフェース２０５に接続されているドライブ部２１０は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどの記録媒体が装着されたとき、それらを駆動し、記録媒体に記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部２０８に転送されて記憶される。
【００３４】
図６に示すように、画像処理装置２０に供給された入力画像の画像信号ＤＶaは、動きベクトル設定部３１の動きベクトル推定部３１１と、露光時間比率設定部３２および注目画素設定部３５に供給される。
【００３５】
動きベクトル推定部３１１は、画像信号ＤＶaに基づき注目画像の画素毎の動きベクトルｖpaを推定して、推定された動きベクトルｖpaを動きベクトル選択部３１２に供給する。この動きベクトル推定部３１１では、ブロックマッチング法や勾配法等の手法を用いることで、画素毎の動きベクトルを推定できる。ここで、注目画像とは、画像処理装置２０に供給された入力画像において動きボケ除去処理を行う画像を示しており、注目画素とは、注目画像内において、動きボケ除去処理を行う画素を示している。
【００３６】
動きベクトル選択部３１２には、外部から情報ＥＴとして動きベクトルｖpbが供給されたとき、この動きベクトルｖpbが入力可能とされており、動きベクトル推定部３１１から供給された動きベクトルｖpa、あるいは外部から供給された動きベクトルｖpbの何れかを選択して、動きベクトルｖpとしてボケ量設定部３３と注目画素設定部３５に供給する。また、後述する処理係数設定部３７に記憶させる処理係数に応じて、動きベクトルｖpを処理領域設定部３６，処理係数設定部３７，画素値生成部３８に供給する。動きベクトルの選択は、例えばユーザが行うものとして、注目画像から検出した動きベクトルを用いて動きボケ除去処理を行うものとしたときには、動きベクトル推定部３１１から供給された動きベクトルｖpaを選択する。また、動きボケ除去処理で用いる動きベクトルを設定するときには、入力した動きベクトルｖpbを選択させる。
【００３７】
露光時間比率設定部３２は、注目画像の時間間隔における露光時間の割合を示す露光時間比率ＥＲを画像単位で設定する。この露光時間比率ＥＲは、例えば特開２００３−６６４８号公報に開示された技術を用いて設定できる。
【００３８】
図８は露光時間比率設定部３２の機能ブロック図である。露光時間比率設定部３２のオブジェクト抽出部３２１は、画像信号ＤＶaに基づき注目画像に含まれる動きのあるオブジェクトに対応する画像オブジェクトＯＢmを粗く抽出して、抽出した画像オブジェクトＯＢmを動き検出部３２２に供給する。例えば、上述のように動いている前景のオブジェクトに対応する画像オブジェクトの輪郭を検出することで、画像オブジェクトＯＢmを粗く抽出して動き検出部３２２に供給する。なお、画像オブジェクトＯＢmとは、撮像の対象となる、現実世界におけるオブジェクトに対応する画像を意味するものである。
【００３９】
また、オブジェクト抽出部３２１は、例えば内部に設けられている背景メモリに記憶されている背景の画像と、注目画像との差から、動いている前景のオブジェクトに対応する画像オブジェクトＯＢmを粗く抽出するようにしてもよい。
【００４０】
動き検出部３２２は、粗く抽出された画像オブジェクトＯＢmのフレーム間動きベクトルの動き量ｖmを、上述のような動きベクトル検出法を用いて検出して比率演算部３２５に供給する。また、動き検出部３２２は、動きのある画像オブジェクトが複数含まれているときには、フレーム間動きベクトルを画像オブジェクト毎に求めて、求めた複数のフレーム間動きベクトルから統計的手法を用いて、１つのフレーム間動きベクトルの動き量ｖmを決定する。この統計的手法としては、単純平均、オブジェクトの表示面積や表示位置に応じて重み付けを行ってから平均を算出する重み付け平均、メディアン等を用いることができる。
【００４１】
領域特定部３２３は、注目画像に対して、動き部分である前景領域、静止部分である背景領域、混合領域であるカバードバックグランド領域とアンカバードバックグランド領域の特定を行い、特定結果を示す領域情報ＪＦを混合比算出部３２４に供給する。
【００４２】
図９は、領域特定部３２３の機能ブロック図である。画像メモリ部３２３ａは、入力された画像信号ＤＶaをフレーム単位で記憶する。画像メモリ部３２３ａは、注目画像が（ｔ）フレームであるとき、（ｔ）フレームの２つ前のフレームである（ｔ−２）フレーム、（ｔ）フレームの１つ前のフレームである（ｔ−１）フレーム、（ｔ）フレーム、（ｔ）フレームの１つ後のフレームである（ｔ＋１）フレーム、および（ｔ）フレームの２つ後のフレームである（ｔ＋２）フレームを記憶する。
【００４３】
静動判定部３２３ｂは、連続する２フレームの画素毎のフレーム間差分絶対値を求め、フレーム差分絶対値が予め設定している閾値Thより大きいか否かを判定し、フレーム間差分絶対値が閾値Thよりも大きいときは動き、フレーム間差分絶対値が閾値Th以下であるときは静止と判定する。
【００４４】
領域判定部３２３ｃは、静動判定部３２３ｂで得られた判定結果を用いて、画素が前景領域、背景領域、混合領域であるカバードバックグランド領域やアンカバードバックグランド領域の何れに属するか、図１０に示すように領域判定処理を行う。
【００４５】
例えば、最初に（ｔ−１）フレームと（ｔ）フレームの静動判定の結果が静止である画素を背景領域の画素と判定する。また、（ｔ）フレームと（ｔ＋１）フレームの静動判定の結果が静止である画素を背景領域の画素と判定する。次に、（ｔ−２）フレームと（ｔ−１）フレームの静動判定の結果が静止であり、（ｔ−１）フレームと（ｔ）フレームの静動判定の結果が動きである画素をカバードバックグランド領域の画素と判定する。また、（ｔ）フレームと（ｔ＋１）フレームの静動判定の結果が動きであり、（ｔ＋１）フレームと（ｔ＋２）フレームの静動判定の結果が静止である画素をアンカバードバックグランド領域の画素と判定する。その後、（ｔ−１）フレームと（ｔ）フレームの静動判定の結果と（ｔ）フレームと（ｔ＋１）フレームの静動判定の結果が共に動きである画素を前景領域の画素と判定する。
【００４６】
混合比算出部３２４は、画像信号ＤＶaおよび領域特定部３２３から供給された領域情報ＪＦをもとに混合比αを算出して、算出した混合比αを比率演算部３２５に供給する。この混合比αは、上述のように、画素値における背景成分の割合を示す値である。
【００４７】
ここで、前景に対応するオブジェクトが露光時間内に等速で動いていると仮定することで、混合領域に属する画素の混合比αは、画素の位置の変化に対応して、直線的に変化する。例えば画素の位置の変化を１次元とすれば、混合比αの変化は、直線で表現することができる。さらに、１フレームの期間は短いので、前景に対応するオブジェクトが剛体であり、等速で移動していると仮定すると、混合比αの傾きは、前景の露光時間内動き量ｖsの逆比となる。なお、複数の混合領域について混合比αの算出を行い、複数の混合比αを算出したときには上述のように統計的手法を用いて、１つの混合比αを決定する。なお、図１１は理想的な混合比αを示しており、前景領域では混合比α＝０、背景領域では混合比α＝１となる。また、混合領域における混合比αの傾きαｌは、露光時間内動き量ｖsの逆数を表すものである。
【００４８】
比率演算部３２５は、混合比算出部３２４から供給された混合比αに基づき、混合領域における傾きαｌの逆数を算出して、露光時間内動き量ｖsを求める。さらに、露光時間内動き量ｖsを動き検出部３２２から供給されたフレーム間動きベクトルの動き量ｖmで除算して、注目画像の時間間隔に対する露光時間の比率を示す露光時間比率ＥＲを設定してボケ量設定部３３に供給する。
【００４９】
ボケ量設定部３３のボケ量算出部３３１は、動きベクトル設定部３１から供給された画素毎の動きベクトルの動き量に対して露光時間比率ＥＲを乗算することで、画素毎の動きボケ量ＭＢaを算出して動きボケ量選択部３３２に供給する。
【００５０】
動きボケ量選択部３３２には、外部から情報ＥＴとして動きボケ量ＭＢbが供給されたとき、この動きボケ量ＭＢbが入力可能とされており、ボケ量算出部３３１から供給された動きボケ量ＭＢa、外部から入力された動きボケ量ＭＢbの何れかを選択して動きボケ量ＭＢpとして、処理領域設定部３６や処理係数設定部３７に供給する。
【００５１】
注目画素設定部３５は、注目画像を含めて複数の処理対象画像を設定して、動きベクトル設定部３１により設定された動きベクトルｖpに基づき、注目画像の注目画素に対応する処理対象画像上の画素を検出して、この検出した画素を各処理対象画像の注目画素に設定する。さらに、注目画素を設定した複数の処理対象画像の画像信号を処理領域設定部３６に供給する。
【００５２】
例えば、（ｔ）フレームの画像を注目画像とするとき、（ｔ−１）フレーム，（ｔ）フレーム、（ｔ＋１）フレームの画像を処理対象画像とする。ここで、動きベクトルｖpに基づき、注目画像の注目画素に対応する（ｔ−１）フレームや（ｔ＋１）フレームの画像上の画素を注目画素として設定する。さらに、（ｔ）フレームの処理対象画像の画像信号ＤＶa(t)を処理領域設定部３６の（ｔ）フレームタップ選択部３６２、注目画素を設定した（ｔ−１）フレームの処理対象画像の画像信号ＤＶa(t-1)を（ｔ−１）フレームタップ選択部３６１、注目画素を設定した（ｔ＋１）フレームの処理対象画像の画像信号ＤＶa(t+1)を（ｔ＋１）フレームタップ選択部３６３にそれぞれ供給する。
【００５３】
なお、注目画像の注目画素が（ｔ＋１）フレームで動きベクトルｖpだけ移動する場合、（ｔ＋１）フレームの画像を動きベクトルｖpだけ戻すように移動させれば、注目画像の注目画素と移動後の（ｔ＋１）フレームの注目画素の位置は同じとなり、処理領域設定部３６における処理領域の設定を容易とすることができる。
【００５４】
また、基準となる注目画像は、（ｔ）フレームの画像に限られるものではなく、（ｔ−１）フレームや（ｔ＋１）フレームの画像を注目画像とすることもできる。さらに、注目画像の何れの画素を注目画素とするかについては、外部から注目画素を指定したり、注目画像内の画素を順次自動的に注目画素に指定する。このようにすれば、所望の画素についてのみ、動きボケ除去処理を行うものとしたり、注目画像の全体に対して動きボケ除去処理を自動的に行うことができる。また、外部から範囲を指定して、この範囲内の画素を順次自動的に注目画素に指定するようにすれば、所望の範囲について動きボケ除去処理を行うことが可能となる。
【００５５】
処理領域設定部３６の（ｔ−１）フレームタップ選択部３６１は、注目画素設定部３５から供給された処理対象画像における注目画素に対する処理領域を、ボケ量設定部３３で設定された動きボケ量ＭＢpおよび動きベクトルｖpに対応する動き方向に基づいて設定する。さらに、処理領域の画素値を画素値生成部３８のボケ除去処理部３８１に供給する。
【００５６】
図１２は、処理領域を示しており、丸印で示す注目画素を基準として処理領域ＷＡを設定する。ここで、処理係数設定部３７に動きボケ量と動き方向に基づいた処理係数を予め記憶させておく場合、処理領域ＷＡは、空間的には、図１３Ａに示すように、黒丸印で示す注目画素を基準として矢印で示す動き方向に、動きボケ量ＭＢpに応じた処理領域ＷＡを設定する。また、後述する処理係数設定部３７に、特定の処理係数例えば動き方向を水平方向としたときの処理係数を予め記憶しておくものとした場合、図１３Ｂに示すように、黒丸印で示す注目画素を基準として矢印で示す動き方向と直交する方向に幅を持たせて、動きボケ量ＭＢpに応じた処理領域ＷＡを動き方向に設定して、処理係数と線形結合される画素位置（三角印）の画素値を補間等によって生成できるようにする。例えば処理係数を生成するときの動き方向を水平方向としたとき、この水平に対して角度差θを有する動き方向の動きボケが生じている場合、図１４に示すように、三角印で示す位置Ｐwaの画素値ＤＰwを、周辺の画素位置Ｐw1，Ｐw2，Ｐw3，Ｐw4の画素値を用いて式（３）から算出する。
【００５７】
ＤＰwa＝  （１−βh）×（１−βv）×ＤＰw1
＋    βh    ×（１−βv）×ＤＰw2
＋（１−βh）×    βv    ×ＤＰw3
＋    βh    ×    βv    ×ＤＰw4    ・・・（３）
なお、式（３）において、βh＝ｃｏｓθ，βv＝ｓｉｎθ、ＤＰw1は画素位置Ｐw1の画素値、ＤＰw2〜ＤＰw4は画素位置Ｐw2〜Ｐw4の画素値である。
【００５８】
また、１フレーム期間内での被写体の移動量が多いと動きボケ量ＭＢpが大きく、移動量が少ないと動きボケ量ＭＢpが小さい。従って、動きボケ量ＭＢpが大きいときには処理領域ＷＡを動き方向に広く設定する。
【００５９】
（ｔ）フレームタップ選択部３６２，（ｔ＋１）フレームタップ選択部３６３も、（ｔ−１）フレームタップ選択部３６１と同様に、それぞれ注目画素設定部３５から供給された処理対象画像における注目画素を基準として、ボケ量設定部３３で設定された動きボケ量ＭＢpおよび動きベクトルｖpに対応する動き方向に基づく処理領域を上述のように設定する。さらに、処理領域の画素値をボケ除去処理部３８２，３８３に供給する。
【００６０】
処理係数設定部３７は、メモリを用いて構成されており、動きボケ量ＭＢpに基づいた特定の処理係数、あるいは動きボケ量ＭＢpおよび動きベクトルｖpに対応する動き方向に基づく処理係数が予め記憶されている。処理係数設定部３７は、動きボケ量ＭＢpに基づいた特定の処理係数を記憶しているとき、ボケ量設定部３３から供給された動きボケ量ＭＢpに応じた特定の処理係数をメモリから読み出して、ボケ除去処理部３８１，３８２，３８３に供給することで、処理係数の設定を行う。また、動きボケ量ＭＢpおよび動きベクトルｖpに対応する動き方向に基づく処理係数を記憶しているとき、ボケ量設定部３３から供給された動きボケ量ＭＢpと動きベクトル選択部３１２で選択された動きベクトルＶpに基づく動き方向に応じた処理係数をメモリから読み出して、ボケ除去処理部３８１，３８２，３８３に供給することで、処理係数の設定を行う。
【００６１】
画素値生成部３８のボケ除去処理部３８１は、処理係数設定部３７から動きボケ量ＭＢpに基づいた特定の処理係数が供給されるとき、（ｔ−１）フレームタップ選択部３６１から供給された処理領域の画素値を用いて、処理係数と線形結合される画素位置の画素値を補間等によって生成する。さらに、生成した画素値と供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。ボケ除去処理部３８２は、（ｔ）フレームタップ選択部３６２から供給された処理領域の画素値を用いて、処理係数と線形結合される画素位置の画素値を補間等によって生成する。さらに、生成した画素値と供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。ボケ除去処理部３８３は、（ｔ＋１）フレームタップ選択部３６３から供給された処理領域の画素値と、処理係数設定部３７から供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。
【００６２】
また、画素値生成部３８のボケ除去処理部３８１は、処理係数設定部３７から動きボケ量と動き方向に応じた処理係数が供給されるとき、（ｔ−１）フレームタップ選択部３６１から供給された処理領域の画素値と供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。同様に、ボケ除去処理部３８２は、（ｔ）フレームタップ選択部３６２から供給された処理領域の画素値と供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。また、ボケ除去処理部３８３は、（ｔ＋１）フレームタップ選択部３６３から供給された処理領域の画素値と供給された処理係数を用いて線形結合を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。
【００６３】
式（４）は、処理領域の画素値と処理係数の線形結合の一例として、積和演算を行う場合を示している。
【００６４】
【数１】
0004766333.tif 000002
【００６５】
式（４）において、ｑ’は、ボケ除去が行われた画素の画素値を表している。ｃi（iは、１乃至ｎの整数値で処理範囲内の各画素を示す）は、処理領域の画素値を表している。また、ｄiは処理係数を表している。
【００６６】
統合部３９は、ボケ除去処理部３８１〜３８３から供給されたボケ除去後の画素値を統合して、動きボケ除去がなされた画像である予測画像における注目画素の画素値を生成して画像信号ＤＶoutとして出力する。この画素値の統合では、統計的処理を用いるものとする。例えば、単純平均、重み付け平均、メディアンフィルタ等を用いることができる。ここで、重み付け平均では、例えば（ｔ−１）フレームの画素値：ｔフレームの画素値：（ｔ＋１）フレームの画素値＝２：６：２の重み付けを行って平均値を算出する。
【００６７】
図１５は、ソフトウェアで画像処理を行う場合のフローチャートを示している。ステップＳＴ１でＣＰＵ２０１は、注目画像に動きボケの除去を行う注目画素を設定してステップＳＴ２に進む。ステップＳＴ２でＣＰＵ２０１は、注目画素の動きベクトルを検出してステップＳＴ３に進む。ステップＳＴ３でＣＰＵ２０１は、露光時間比率を算出する。ステップＳＴ４でＣＰＵ２０１は、注目画素の動きボケ量を検出する。すなわち、ステップＳＴ２で検出した動きベクトルとステップＳＴ３で算出した露光時間比率を用いて演算処理を行い、注目画素の露光時間内での動きボケ量を検出する。
【００６８】
ステップＳＴ５でＣＰＵ２０１は、処理領域を設定する。すなわちＣＰＵ２０１は、注目画像の注目画素に基づき、処理対象画像を設定して処理対象画像に注目画素を設定する。さらに、各処理対象画像の注目画素を基準として、ステップＳＴ４で求めた動きボケ量やステップＳＴ２で検出した動きベクトルに対応する動き方向に応じた処理領域を設定してステップＳＴ６に進む。ステップＳＴ６でＣＰＵ２０１は、処理係数の設定を行う。この処理係数の設定では、動き量に応じた特定の動きボケ除去用の処理係数、あるいは動き量とステップＳＴ２で検出された動き方向に応じた動きボケ除去用の処理係数を設定する。
【００６９】
ステップＳＴ７でＣＰＵ２０１は、ステップＳＴ６で設定した処理係数を用いてボケ除去処理を各処理対象画像に対して行う。すなわち、各処理対象画像に対してステップＳＴ５で設定した処理領域の画素値とステップＳＴ６で設定した処理係数との演算処理を行い、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップＳＴ８に進む。
【００７０】
ステップＳＴ８でＣＰＵ２０１は、ステップＳＴ７で処理対象画像毎に算出した画素値の統合処理を行い、得られた画素値を注目画素の動きボケ除去処理後の画素値として出力してステップＳＴ９に進む。ステップＳＴ９でＣＰＵ２０１は、処理範囲の全画素に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップＳＴ１に戻り、処理範囲の全画素に対してボケ除去が完了したときは注目画像に対する画像処理を終了する。
【００７１】
このように、注目画像の注目画素に対応させて各処理対象画像に注目画素を設定して、各処理対象画像に対する動きボケ除去処理を行うことにより、所望の注目画素に対して動きボケ除去を時間方向に順次行った画素値を得られることとなる。すなわち、実世界信号の動き方向の時間軸に対する定常性を利用して、実世界信号を構築することとなり、各処理対象画像に対する動きボケ除去処理結果を統合することにより、処理の精度を高めることができる。
【００７２】
次に、処理係数設定部３７に予め記憶される処理係数を学習によって求めてボケ除去処理を行う場合と、処理係数をモデル式から求めてボケ除去処理を行う場合について説明する。
【００７３】
図１６は、処理係数を学習によって求めてボケ除去処理を行う場合の構成を示したものである。学習部５１は、教師画像である静止画と、この静止画に動きボケを付加した生徒画像を用いて学習処理を実行し、この学習により得られる処理係数を画像処理装置２０の処理係数設定部３７に記憶させる。画像処理装置２０は、上述のように入力画像となる動きボケを含む画像から注目画素に対する処理領域を設定して、この処理領域の画素値と処理係数設定部３７に記憶されている動きボケ量に応じた処理係数を用いて演算処理を行い、ボケ除去後の画素値を生成する。
【００７４】
図１７は、学習部５１の機能ブロック図である。学習部５１の生徒画像生成部５１１は、入力画像である教師画像に対して動き量あるいは動き方向と動き量に応じた動きボケを付加して生徒画像を生成して予測タップ抽出部５１２に供給する。
【００７５】
予測タップ抽出部５１２は、ボケ除去を行う注目画素に対して複数の画素を予測タップとして設定して、生徒画像から予測タップの画素値を抽出して、正規方程式生成部５１３に出力する。
【００７６】
正規方程式生成部５１３は、予測タップ抽出部５１２から供給された予測タップの画素値と、教師画像の画素値とから正規方程式を生成し、係数決定部５１４に供給する。係数決定部５１４は、正規方程式生成部５１３から供給された正規方程式に基づき処理係数を演算して、処理係数設定部３７に記憶させる。この正規方程式生成部５１３と、係数決定部５１４についてさらに説明する。
【００７７】
上述した式（４）において、学習前は処理係数ｄiのそれぞれが未定係数である。学習は、複数の教師画像（静止画像）の画素を入力することによって行う。教師画像の画素がｍ個存在し、ｍ個の画素の画素値を「ｑk（ｋは、１乃至ｍの整数値）」と記述する場合、式（４）から、次の式（５）が設定される。
【００７８】
【数２】
0004766333.tif 000003
【００７９】
すなわち、式（５）は、右辺の演算を行うことで、動きボケのない実際の画素値ｑkとほぼ等しいボケ除去後の画素値ｑk’を得ることができる。なお、式（５）において、イコールではなくニアリーイコールとなっているのは誤差を含むからである。すなわち、右辺の演算結果であるボケ除去後の画素値は、動きボケのない実際の画像における注目画素の画素値と厳密には一致せず、所定の誤差を含むためである。
【００８０】
この式（５）において、誤差の自乗和を最小にする処理係数ｄiが学習により求まれば、その処理係数ｄiは、ボケ除去後の画素値ｑkを動きボケのない画素値に近づけるための最適な係数と考えられる。従って、例えば、学習により集められたｍ個（ただし、ｍはｎより大きい整数）の画素値ｑkを用いて、最小自乗法により最適な処理係数ｄiを決定する。
【００８１】
式（５）の右辺の処理係数ｄiを最小自乗法で求める場合の正規方程式は、式（６）として表すことができる。
【００８２】
【数３】
0004766333.tif 000004
【００８３】
従って、式（６）に示す正規方程式を解くことで処理係数ｄiを決定できる。具体的には、式（６）で示される正規方程式の各行列のそれぞれを、次の式（７）乃至（９）のように定義すると、正規方程式は、次の式（１０）のように表される。
【００８４】
【数４】
0004766333.tif 000005
【００８５】
【数５】
0004766333.tif 000006
【００８６】
【数６】
0004766333.tif 000007
【００８７】
Ｃ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、および画素位置Ｐ40と隣接して注目画素の成分Ｆ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と動きベクトルｖpに対応する動き方向およびクラスコードに応じた処理係数をメモリから読み出して画素値生成部３８に供給させる。
【０１０８】
ここで、アクティビティの大小によりクラス分類が行われているとき、図１８，図１９を参照して説明したように、アクティビティの算出に用いた画素をクラスタップとして抽出する。この抽出したクラスタップを用いて上述のようにアクティビティを求め、求めたアクティビティによりクラスコードを検出する。例えばアクティビティＡＣ(P42)，ＡＣ(P52)を求めて、アクティビティＡＣ(P42)がアクティビティＡＣ(P52)よりも小さいときクラスコードを「１」、アクティビティＡＣ(P52)がアクティビティＡＣ(P42)よりも小さいときクラスコードを「２」として、クラスコードを処理係数設定部３７に供給する。
【０１０９】
さらに、処理領域設定部３６では、クラスコードに対応して注目画素に対応する処理領域の設定を行う。例えば、クラスコードが「１」であった場合、画素位置Ｐ52よりも画素位置Ｐ42の空間相関が高いので、画素位置Ｐ42、Ｐ44、Ｐ45の画素値を処理領域の画素値として画素値生成部３８に供給する。また、クラスコードが「２」であった場合、画素位置Ｐ42よりも画素位置Ｐ52の空間相関が高いので、画素位置Ｐ49、Ｐ50、Ｐ52の画素値を処理領域の画素値として画素値生成部３８に供給する。
【０１１０】
処理係数設定部３７は、動き方向を特定して動きボケ量のみを切り換える、あるいは動きボケ量と動き方向を切り換えるだけでなく、クラスコード毎に生成された処理係数を予め記憶している。ここで、処理係数設定部３７は、動きボケ量ＭＢpとクラスコードに基づいた特定の処理係数を記憶しているとき、ボケ量設定部３３から供給された動きボケ量ＭＢpと処理領域設定部３６から供給されたクラスコードに応じた特定の処理係数をメモリから読み出して、ボケ除去処理部３８１，３８２，３８３に供給することで、処理係数の設定を行う。また、動きボケ量ＭＢpと動きベクトルｖpに対応する動き方向およびクラスコードに基づく処理係数を記憶しているとき、ボケ量設定部３３から供給された動きボケ量ＭＢpと動きベクトル選択部３１２で選択された動きベクトルｖpに基づく動き方向および処理領域設定部３６から供給されたクラスコードに応じた処理係数をメモリから読み出して、ボケ除去処理部３８１，３８２，３８３に供給することで、処理係数の設定を行う。
【０１１１】
画素値生成部３８のボケ除去処理部３８１〜３８３は、処理領域の画素値と処理係数設定部３７から供給された処理係数を用いて演算処理を行い、ボケ除去処理後の画素値を生成して統合部３９に供給する。統合部３９は、ボケ除去処理部３８１〜３８３から供給された画素値を統合して、動きボケ除去がなされた画像である予測画像における注目画素の画素値を出力する。
【０１１２】
図２１は、クラス分類を用いた画像処理のフローチャートを示している。ステップＳＴ２１でＣＰＵ２０１は、注目画像に動きボケの除去を行う注目画素を設定してステップＳＴ２２に進む。ステップＳＴ２２でＣＰＵ２０１は、注目画素の動きベクトルを検出してステップＳＴ２３に進む。ステップＳＴ２３でＣＰＵ２０１は、露光時間比率を算出する。ステップＳＴ２４でＣＰＵ２０１は、注目画素の動きボケ量を検出する。すなわち、ステップＳＴ２２で検出した動きベクトルとステップＳＴ２３で算出した露光時間比率を用いて演算処理を行い、注目画素の露光時間内での動きボケ量を検出する。
【０１１３】
ステップＳＴ２５でＣＰＵ２０１は、ステップＳＴ２４で求めた動きボケ量に応じてクラスタップを抽出してステップＳＴ２６に進む。ステップＳＴ２６でＣＰＵ２０１は、クラス分類を行い、クラスタップからクラスコードを決定する。ステップＳＴ２７でＣＰＵ２０１は、クラスコードに対応した処理領域をステップＳＴ２２で検出した動きベクトルに対応する動き方向に設定する。
【０１１４】
ステップＳＴ２８でＣＰＵ２０１は、クラスコードを用いて処理係数の設定を行う。この処理係数の設定では、ステップＳＴ２４で求めた注目画素の動きボケ量とステップＳＴ２６で決定されたクラスコードに応じた特定の動きボケ除去用の処理係数、あるいは動き量とステップＳＴ２２で検出された動きベクトルに応じた動き方向とクラスコードに応じた動きボケ除去用の処理係数を設定してステップＳＴ２９に進む。
【０１１５】
ステップＳＴ２９でＣＰＵ２０１は、ステップＳＴ２８で設定した処理係数を用いてボケ除去処理を各処理対象画像に対して行う。すなわち、各処理対象画像に対してステップＳＴ２７で設定した処理範囲の画素値とステップＳＴ２８で設定した処理係数との演算処理を行い、ボケ除去がなされた画素値を各処理対象画像の注目画素毎に算出してステップＳＴ３０に進む。
【０１１６】
ステップＳＴ３０でＣＰＵ２０１は、ステップＳＴ２９で処理対象画像毎に算出した画素値の統合処理を行い、得られた画素値を注目画素の動きボケ除去処理後の画素値として出力してステップＳＴ３１に進む。ステップＳＴ３１でＣＰＵ２０１は、処理範囲の全画素に対してボケ除去処理が完了したか否かを判別し、ボケ除去処理が行われていない画素があるときはステップＳＴ２１に戻り、処理範囲の全画素に対してボケ除去が完了したときは注目画像に対する画像処理を終了する。
【０１１７】
次に、クラス分類を行う場合の処理係数の学習について説明する。図２２は、クラス分類を行う場合の学習部５２の機能ブロック図である。なお図２２において、図１７と対応する部分については同一符号を付し、詳細な説明は省略する。
【０１１８】
学習部５２のクラスタップ抽出部５２１は、上述のようにクラスタップを選択して、選択したクラスタップをクラス分類部５２２に供給する。クラス分類部５２２は、上述のようにクラス分類を行いクラスコードを決定して予測タップ抽出部５２３と正規方程式生成部５２４に供給する。
【０１１９】
予測タップ抽出部５２３はクラスコードに応じて予測タップを切り換えて抽出して、正規方程式生成部５２４に供給する。
【０１２０】
正規方程式生成部５２４は、基本的に図１７の正規方程式生成部５１３と同様のものであるが、クラス分類部５２２から供給されるクラスコード毎に正規方程式を生成して係数決定部５２５に出力する。従って、係数決定部５２５は、クラスコード毎に係数を決定し、この係数を処理係数設定部３７に記憶させる。ここで、動き方向を特定して動きボケ量のみを切り換えて生徒画像を生成しているときには、動きボケ量ＭＢpとクラスコードに応じた特定の処理係数が処理係数設定部３７に記憶される。また、動きボケ量と動き方向を切り換えて生徒画像を生成しているときには、動きボケ量ＭＢpと動きベクトルｖpに対応する動き方向およびクラスコードに応じた処理係数が処理係数設定部３７に記憶される。
【０１２１】
図２３は、クラス分類を用いた処理係数の学習処理を示すフローチャートである。ステップＳＴ４１では、教師画像から生徒画像を生成する。すなわち、教師画像に動きボケを付加して、動きボケが付加された画像である生徒画像を生成する。
【０１２２】
ステップＳＴ４２では、生徒画像からクラスタップを抽出する。このクラスタップの抽出は、上述のステップＳＴ２５と同様にして行う。
【０１２３】
ステップＳＴ４３では、抽出したクラスタップよりクラス分類を行いクラスコードを決定する。ステップＳＴ４４では、ステップＳＴ４３で決定したクラスコードに対応して、生徒画像から予測タップを抽出する。
【０１２４】
ステップＳＴ４５では、予測タップおよび教師画像の画素からクラスコード毎に正規方程式を生成する。
【０１２５】
ステップＳＴ４６では、ステップＳＴ４５で生成した正規方程式を解いて処理係数を決定し、処理係数設定部３７に記憶させる。
【０１２６】
ステップＳＴ４７において、全ての画素について処理を施したか否かを判定して、全ての画素について処理を施していないときは、新たな画素に対してステップＳＴ４２からの処理を繰り返し、全ての画素の処理が終了したときは、学習処理を終了する。
【０１２７】
次に、処理係数設定部３７に記憶される処理係数をモデル式から求めてボケ除去処理を行う場合について説明する。
【０１２８】
図２４は処理領域を示しており、注目画素を中心として動き方向に（２Ｎ＋１）画素分の処理領域を設定する。図２５Ａおよび図２５Ｂは処理領域の設定例を示しており、動きボケを軽減させる動きオブジェクトＯＢfの画素に対して、動きベクトルの方向が例えば矢印Ｂで示すように水平方向である場合は、図２５Ａに示すように水平方向に処理領域ＷＢを設定する。また、動きベクトルの方向が斜め方向である場合は、
図２５Ｂに示したように、該当する角度方向に処理領域ＷＢを設定する。ただし、斜め方向に処理領域を設定する際には、処理領域の画素位置に相当する画素値を、上述の図１４に示すように補間等によって求める。
【０１２９】
ここで、処理領域内では、図２６に示すように、実世界変数(Ｙ-8，・・・,Ｙ0，・・・，Ｙ8) が時間混合されている。なお、図２６は、動き量ｖが「ｖ＝５」であって処理領域を１３画素（Ｎ＝６：Ｎは注目画素に対する処理幅の画素数）とした場合である。
【０１３０】
ボケ除去処理では、この処理領域に対して実世界推定を行い、推定した実世界の中心画素変数Ｙ0のみを、動きボケ除去がなされた注目画素の画素値として出力する。
【０１３１】
ここで、処理領域を構成する画素の画素値をＸ-N，Ｘ-N+1，・・・，Ｘ0，・・・，ＸN-1，ＸN とすると、式（２０）に示すような（２Ｎ＋１）個の混合式が成立する。なお、定数ｈは、動き量ｖを１／２倍したときの整数部分の値（小数点以下を切り捨てた値）を示している。
【０１３２】
【数７】
0004766333.tif 000008
【０１３３】
しかし、求めたい実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）は、（２Ｎ＋ｖ）個ある。すなわち、変数の数よりも式の数が少ないので、式（２０）に基づき実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）を求めることができない。
【０１３４】
そこで、空間相関を用いた拘束式である式（２１）を用いることで、実世界変数よりも式の数を増やし、最小自乗法を用いて、実世界変数の値を求める。
【０１３５】
Ｙt−Ｙt+1＝０  （ｔ＝-N-ｈ,・・・,０,・・・,N+ｈ-1）
・・・（２１）
すなわち、式（２０）で表される（２Ｎ＋１）個の混合式と式（２１）で表される（２Ｎ＋ｖ−1）個の拘束式を合わせた（４Ｎ＋ｖ）個の式を用いて、（２Ｎ＋ｖ）個の未知変数である実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）を求める。
【０１３６】
ここで、各式において発生する誤差の二乗和が最小となるような推定を行うことで、動きボケ軽減画像生成処理を行いながら、実世界での画素値の変動を小さくできる。
【０１３７】
式（２２）は、図２６に示すように処理領域を設定した場合を示しており、式（２０）と式（２１）にそれぞれの式で発生する誤差を加えたものである。
【０１３８】
【数８】
0004766333.tif 000009
【０１３９】
この式（２２）は式（２３）として示すことができ、式（２４）に示す誤差の二乗和Ｅを最小とするようなＹ（＝Ｙi）は式（２５）として求まる。なお、式（２５）において、Ｔは転置行列であることを示している。
【０１４０】
【数９】
0004766333.tif 000010
【０１４１】
ここで、誤差の二乗和は式（２６）で示すものとなり、この誤差の二乗和を偏微分して、式（２７）に示すように偏微分値が０となるようにすれば、誤差の二乗和が最小となる式（２５）を求めることができる。
【０１４２】
【数１０】
0004766333.tif 000011
【０１４３】
この式（２５）の線形結合を行うことで、実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）をそれぞれ求めることができ、中心画素変数Ｙ0の画素値を注目画素の画素値として出力する。すなわち、中心画素変数Ｙ0に対する係数を動き量毎に求めて処理係数として処理係数設定部３７に記憶させておき、この処理係数設定部３７に記憶されている動き量に応じた処理係数を用いて、画素値と積和演算を行うことにより動きボケが除去された画素値を出力する。このような処理を処理領域内の全画素に対して行うことで、動きボケが軽減されている実世界変数を処理領域について求めることができる。
【０１４４】
上述では、ＡＹ＝Ｘ＋ｅにおける誤差の二乗和Ｅを最小とするように、最小自乗法で実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）を求めているが、式の数＝変数の数となるように式を作ることも可能である。この式をＡＹ＝Ｘとすると、Ｙ＝Ａ-1Ｘと変形することにより、実世界変数（Ｙ-N-h，・・・，Ｙ0，・・・，ＹN+h）を求めることができる。
【０１４５】
また、上述のモデル式のボケ除去処理では、前景オブジェクトが画素単位で動く場合について説明したが、前景オブジェクトの動き量が画素単位でないときには、露光時間内での前景オブジェクトの積分範囲が画素単位で動く場合とは異なるものとなる。このため、画素単位以下の動き量に応じた処理係数を予め求めておくものとすれば、画素単位以下の動き量が生じても、動き量に応じた処理係数を用いることで精度良くボケ除去処理を行うことができる。
【０１４６】
ここで、図２６では、実世界変数(Ｙ-8，・・・,Ｙ0，・・・，Ｙ8) が時間混合されている画素単位での足し込みモデルを示しているが、例えば動き量が５．５画素であるときは、図２７に示すように０．５画素単位の足し込みモデルを設定する。この足し込みモデルでは、動き量の小数部に対応するため、動き方向と時間方向の分割をそれぞれ例えば２倍とする。このため、１画素単位での足し込みモデルでは、１つ成分を動き量で除算していたが、動き方向と時間方向の分割をそれぞれ例えば２倍としたときは、除算結果をさらに１／４倍する。すなわち、１つ成分を４倍の動き量である「２２」で除算する。また、処理領域を構成する画素の画素値として、（ｔ）フレームの画素値ＤＰ-4(t)〜ＤＰ4(t)と（ｔ＋１）フレームの画素値ＤＰ-3(t+1)〜ＤＰ4(t+1)を用いる。このように足し込みモデルを設定すると、上述の式（２２）は、式（２８）として示すことができる。
【０１４７】
【数１１】
0004766333.tif 000012
【０１４８】
図２８は、図２７に示す足し込みモデルを用いる場合の画像処理装置の機能ブロック図である。なお、図２８において、図６と対応する部分については同一符号を付し、詳細な説明は省略する。
【０１４９】
（ｔ）フレームタップ選択部３６２ａは、処理領域の画素値を抽出して、ボケ除去処理部３８１ａ，３８２ａに供給し、ボケ除去処理部３８１ａでは、（ｔ−１）フレームタップ選択部３６１と（ｔ）フレームタップ選択部３６２ａから供給された画素値と、処理係数設定部３７から供給された処理係数を用いて演算処理を行い、動きボケ除去された注目画素の画素値を生成する。すなわち、式（２８）のＹ0に対する処理係数と、（ｔ−１）フレームタップ選択部３６１と（ｔ）フレームタップ選択部３６２ａから供給された画素値を掛け合わせて演算を行うことにより、動き量が画素単位でない場合であっても、注目画素の動きボケ除去後の画素値を求めることができる。また、（ｔ＋１）フレームタップ選択部３６３ａは、処理領域の画素値を抽出して、ボケ除去処理部３８２ａ，３８３ａに供給し、（ｔ＋２）フレームタップ選択部３６４から処理領域の画素値をボケ除去処理部３８３ａに供給すれば、ボケ除去処理部３８２ａ，３８３ａでもボケ除去処理部３８１ａ同様な処理を行うことができるので、各ボケ除去処理部で得られた注目画素の画素値を統合処理することで、さらに、処理精度を高めることができる。
【０１５０】
このように実世界変数の値を求める際に、多くの画素値を用いて実世界変数の値が求められるので、より精度の良好なボケ除去処理を行うことができる。また、このようにして求めた処理係数を予め算出しておけば、動き量が画素単位でなくとも、動き量に応じた処理係数を読み出すことで、実世界変数の値すなわちボケ除去後の注目画素の画素値を容易に得ることができる。
【０１５１】
次に、シャッタ動作が行われないときは、露光時間比率が１となり、注目画素の動き量は、動きベクトル設定部３１で設定された動きベクトルの動き量と等しくなる。このため、ノーシャッタ動作に限定したときは、図２９に示すように、露光時間比率算出部を設けることなく画像処理装置を構成できる。なお、図２９においても、図６と対応する部分については同一符号を付し、詳細な説明は省略する。
【０１５２】
この場合、動きベクトル設定部３１で設定された動きベクトルｖpを注目画素設定部３５や処理領域設定部３６および処理係数設定部３７に供給して、この動きベクトルｖpに基づく動きボケ量と動き方向に応じて処理領域の設定や処理係数の設定を行うものとすれば、上述の形態と同様にして動きボケ除去を行うことができる。
【０１５３】
また、動きボケ量ＭＢpに基づいて処理係数設定部３７から画素値生成部３８のボケ除去処理部３８１，３８２，３８３にそれぞれ供給する特定の処理係数、あるいは注目画素の動きボケ量と動き方向に応じてそれぞれ供給する処理係数を、関係付けておくものとすれば、ボケ除去処理部３８１，３８２，３８３のそれぞれで画素値を生成して統合部３９で統合する処理を行わなくとも、各処理係数と処理範囲の画素値を用いた積和演算処理を行うことで注目画素の画素値を生成できる。
【０１５４】
図３０は、処理係数とタップの画素値を用いた積和演算処理を行う場合の画像処理装置の機能ブロック図である。なお、図３０においても、図６と対応する部分については同一符号を付し、詳細な説明は省略する。
【０１５５】
この場合、処理係数設定部３７は、関係付けられて記憶されている処理係数から動きボケ量ＭＢpと動きベクトルｖpに対応する動き方向に応じた処理係数を選択して積和演算処理部４０に供給する。積和演算処理部４０では、処理領域設定部３６で動きベクトルｖpに対応する動き方向に設定された処理範囲の画素値と処理係数の積和演算により、注目画素の動きボケ除去後の画素値を生成して出力する。例えば、上述の統合部３９で行った重み付けを、処理係数設定部３７に記憶されている処理係数に対して予め行っておけば、積和演算処理部４０から出力される画素値は、上述のように複数フレームの動きボケ除去処理後の画像信号を用いて重み付けを行った場合と同等な画素値を得ることができる。また、処理対象画像をＮフレーム分として積和演算を行うとき、各処理対象画像に対する処理係数を予め１／Ｎ倍しておくことで、積和演算処理後の画素値のダイナミックレンジが変化してしまうことも防止できる。
【産業上の利用可能性】
【０１５６】
以上のように、本発明に係る画像処理装置と画像処理方法および画像処理プログラムは、画像センサを用いて現実社会を撮像して得られる画像信号に埋もれてしまった情報を抽出する際に有用であり、動きボケを除去した解像度の高い画像を得る場合に好適である。
【図面の簡単な説明】
【０１５７】
図１は、システムの構成を示す図である。
図２は、画像センサによる撮像を説明するための図である。
図３Ａと図３Ｂは、撮像画像を説明するための図である。
図４は、画素値の時間方向分割動作を説明するための図である。
図５は、シャッタ動作を行ったときの画素値の時間方向分割動作を説明するための図である。
図６は、画像処理装置の機能ブロック図である。
図７は、ソフトウェアを用いるときの画像処理装置の構成を示す図である。
図８は、露光時間比率設定部の機能ブロック図である。
図９は、領域特定部の機能ブロック図である。
図１０は、領域判定処理を説明するための図である。
図１１は、理想的な混合比を示す図である。
図１２は、処理領域を説明するための図である。
図１３Ａと図１３Ｂは、処理領域を示す図である。
図１４は、画素値の算出方法を説明するための図である。
図１５は、画像処理を示すフローチャートである。
図１６は、処理係数を学習によって求めてボケ除去処理を行う場合の構成を示す図である。
図１７は、学習部の機能ブロック図である。
図１８は、予測タップを離散的に選択する場合の動作を説明するための図である。
図１９は、アクティビティの算出を説明するための図である。
図２０は、処理係数の学習処理を示すフローチャートである。
図２１は、クラス分類を用いた画像処理のフローチャートである。
図２２は、クラス分類を行う場合の学習部の機能ブロック図である。
図２３は、クラス分類を用いた処理係数の学習処理を示すフローチャートである。
図２４は、処理領域を説明するための図である。
図２５Ａと図２５Ｂは、処理領域の設定例を示す図である。
図２６は、処理領域における実世界変数の時間混合を説明するための図である。
図２７は、０．５画素単位の足し込みモデルを示す図である。
図２８は、画像処理装置の他の機能ブロック図である。
図２９は、ノーシャッタ動作に限定したときの画像処理装置の機能ブロック図である。
図３０は、積和演算を行うときの画像処理装置の機能ブロック図である。
【図１】
0004766333.tif 000013
【図２】
0004766333.tif 000014
【図３Ａ】
0004766333.tif 000015
【図３Ｂ】
0004766333.tif 000016
【図４】
0004766333.tif 000017
【図５】
0004766333.tif 000018
【図６】
0004766333.tif 000019
【図７】
0004766333.tif 000020
【図８】
0004766333.tif 000021
【図９】
0004766333.tif 000022
【図１０】
0004766333.tif 000023
【図１１】
0004766333.tif 000024
【図１２】
0004766333.tif 000025
【図１３Ａ】
0004766333.tif 000026
【図１３Ｂ】
0004766333.tif 000027
【図１４】
0004766333.tif 000028
【図１５】
0004766333.tif 000029
【図１６】
0004766333.tif 000030
【図１７】
0004766333.tif 000031
【図１８】
0004766333.tif 000032
【図１９】
0004766333.tif 000033
【図２０】
0004766333.tif 000034
【図２１】
0004766333.tif 000035
【図２２】
0004766333.tif 000036
【図２３】
0004766333.tif 000037
【図２４】
0004766333.tif 000038
【図２５Ａ】
0004766333.tif 000039
【図２５Ｂ】
0004766333.tif 000040
【図２６】
0004766333.tif 000041
【図２７】
0004766333.tif 000042
【図２８】
0004766333.tif 000043
【図２９】
0004766333.tif 000044
【図３０】
0004766333.tif 000045