(57)【特許請求の範囲】
【請求項１】
対象物を撮像して得られる対象画像を表す対象画像データならびにその撮像時の手振れ量および手振れ方向を表す手振れデータを入力する入力手段，
上記入力手段に入力した手振れデータから手振れの状態を表すぼけ関数を生成するぼけ関数生成手段，
上記入力手段に入力した対象画像データによって表される対象画像の視点と異なる視点から上記対象物を撮像して得られる対象画像を表す対象画像データおよび手振れデータを上記入力手段に入力する処理を繰り返すように制御する入力制御手段，
上記ぼけ関数生成手段によって生成される複数のぼけ関数のうち，複数の上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数を畳み込むぼけ関数畳み込み手段，ならびに
上記ぼけ関数畳み込み手段によって畳み込まれたぼけ関数を上記一の対象画像に適用して，ぼけた対象画像を生成する対象画像生成手段，
を備えた対象画像生成システム。
【請求項２】
上記ぼけ関数生成手段によって生成された複数のぼけ関数のうち類似しているぼけ関数を見つける類似ぼけ関数検出手段をさらに備え，
上記ぼけ関数畳み込み手段は，
上記類似ぼけ関数検出手段によって検出された類似しているぼけ関数のうち一つのぼけ関数を残して他のぼけ関数を排除して，複数の上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数を畳み込むものである，
請求項１に記載の対象画像生成システム。
【請求項３】
上記ぼけ関数畳み込み手段は，
上記ぼけ関数生成手段によって生成されるぼけ関数のうち，手振れの状態がしきい値以上であるぼけ関数を排除して，複数の上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数を畳み込むものである，
請求項１または２に記載の対象画像生成システム。
【請求項４】
上記ぼけ関数畳み込み手段は，
上記入力制御手段の制御のもとに視点の異なる複数の対象画像を表す画像データのすべてが上記入力手段に入力したことにより畳み込みを行うものである，
請求項１から３のうち，いずれか一項に記載の対象画像生成システム。
【請求項５】
上記ぼけ関数畳み込み手段は，
上記入力手段に二つの視点の異なる対象画像を表す画像データが入力したことにより畳み込みが開始され，その後上記入力手段に対象画像を表す画像データが入力するごとに畳み込みを行うものである，
請求項１から３のうち，いずれか一項に記載の対象画像生成システム。
【請求項６】
上記対象画像生成手段によって生成される複数のぼけた対象画像における対応する特徴点を検出する特徴点検出手段，
をさらに備えた請求項１から５のうち，いずれか一項に記載の対象画像生成システム。
【請求項７】
入力手段が，対象物を撮像して得られる対象画像を表す対象画像を表す対象画像データならびにその撮像時の手振れ量および手振れ方向を表す手振れデータを入力し，
ぼけ関数生成手段が，上記入力手段に入力した手振れデータから手振れの状態を表すぼけ関数を生成し，
入力制御手段が，上記入力手段に入力した対象画像データによって表される対象画像の視点と異なる視点から上記対象物を撮像して得られる対象画像を表す対象画像データおよび手振れデータを上記入力手段に入力する処理を繰り返すように制御し，
ぼけ関数畳み込み手段が，上記ぼけ関数生成手段によって生成される複数のぼけ関数のうち，複数の上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数を畳み込み，
対象画像生成手段が，上記ぼけ関数畳み込み手段によって畳み込まれたぼけ関数を上記一の対象画像に適用して，ぼけた対象画像を生成する，
対象画像生成システムの動作制御方法。
【請求項８】
対象画像生成システムのコンピュータを制御するプログラムであって，
対象物を撮像して得られる対象画像を表す対象画像を表す対象画像データならびにその撮像時の手振れ量および手振れ方向を表す手振れデータを入力させ，
入力した手振れデータから手振れの状態を表すぼけ関数を生成させ，
入力した対象画像データによって表される対象画像の視点と異なる視点から上記対象物を撮像して得られる対象画像を表す対象画像データおよび手振れデータを入力する処理を繰り返させ，
生成される複数のぼけ関数のうち，複数の上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数を畳み込ませ，
畳み込まれたぼけ関数を上記一の対象画像に適用して，ぼけた対象画像を生成させるように対象画像生成システムのコンピュータを制御するコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は，対象画像生成システムならびにその動作制御方法およびその動作制御プログラムに関する。
【背景技術】
【０００２】
所定の対象物を多数の異なる視点から撮像し，得られた多数の撮像画像から対象物を立体的に見せるものがある（特許文献１，２）。多数の撮像画像から対象物を立体的に見せる場合には，多数の撮像画像の特徴点を対応付ける必要がある。多数の異なる視点から撮像した場合，それぞれの撮像により得られた撮像画像の手振れ量は撮像ごとに異なるので，ぼけている程度も撮像画像ごとに異なる。このために，多数の撮像画像の対応関係が不明確になることがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2005-45328号公報
【特許文献２】特開2001-28049号公報
【発明の概要】
【０００４】
この発明は，撮像ごとに異なるぼけの程度を合わせることを目的とする。
【０００５】
この発明による対象画像生成システムは，対象物を撮像して得られる対象画像を表す対象画像を表す対象画像データならびにその撮像時の手振れ量および手振れ方向を表す手振れデータを入力する入力手段，上記入力手段に入力した手振れデータから手振れの状態を表すぼけ関数を生成するぼけ関数生成手段，上記入力手段に入力した対象画像データによって表される対象画像の視点と異なる視点から上記対象物を撮像して得られる対象画像を表す対象画像データおよび手振れデータを上記入力手段に入力する処理を繰り返すように制御する入力制御手段，上記ぼけ関数生成手段によって生成される複数のぼけ関数のうち，複数の上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数を畳み込むぼけ関数畳み込み手段，ならびに上記ぼけ関数畳み込み手段によって畳み込まれたぼけ関数を上記一の対象画像に適用して，ぼけた対象画像を生成する対象画像生成手段を備えていることを特徴とする。
【０００６】
この発明は，上記対象画像生成システムの動作制御方法も提供している。すなわち，この方法は，入力手段が，対象物を撮像して得られる対象画像を表す対象画像を表す対象画像データならびにその撮像時の手振れ量および手振れ方向を表す手振れデータを入力し，ぼけ関数生成手段が，上記入力手段に入力した手振れデータから手振れの状態を表すぼけ関数を生成し，入力制御手段が，上記入力手段に入力した対象画像データによって表される対象画像の視点と異なる視点から上記対象物を撮像して得られる対象画像を表す対象画像データおよび手振れデータを上記入力手段に入力する処理を繰り返すように制御し，ぼけ関数畳み込み手段が，上記ぼけ関数生成手段によって生成される複数のぼけ関数のうち，複数の上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数を畳み込み，対象画像生成手段が，上記ぼけ関数畳み込み手段によって畳み込まれたぼけ関数を上記一の対象画像に適用して，ぼけた対象画像を生成するものである。
【０００７】
この発明は，上記対象画像生成システムの動作制御方法を実現するためのプログラムも提供している。また，そのようなプログラムを格納した記録媒体を提供するようにしてもよい。
【０００８】
この発明によると，異なる視点から撮像された複数の対象画像を表す対象画像データおよび手振れデータが入力する。対象画像データおよび手振れデータが入力すると，手振れデータから手振れの状態を表すぼけ関数が生成される。複数のぼけ関数が生成されると，複数の対象画像の中の一の対象画像を除く他の対象画像に対応するぼけ関数が畳み込まれる（まとめられる）。畳み込まれたぼけ関数が一の対象画像に適用され，ぼけた対象画像が生成される。このような処理がすべての対象画像について繰り返される。得られた対象画像は撮像ごとの手振れにより生じるぼけがすべて適用されたものとなるから，ぼけの程度が同じとなる。得られた対象画像の対応関係も明確になる。
【０００９】
上記ぼけ関数生成手段によって生成された複数のぼけ関数のうち類似しているぼけ関数を見つける類似ぼけ関数検出手段をさらに備えてもよい。この場合，上記ぼけ関数畳み込み手段は，たとえば，上記類似ぼけ関数検出手段によって検出された類似しているぼけ関数のうち一つのぼけ関数を残して他のぼけ関数を排除して，複数の上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数に畳み込むものである。
【００１０】
上記ぼけ関数畳み込み手段は，たとえば，上記ぼけ関数生成手段によって生成されるぼけ関数のうち，手振れの状態がしきい値以上であるぼけ関数を排除して，上記対象画像中の一の対象画像を除く他の対象画像に対応するぼけ関数に畳み込むものでもよい。
【００１１】
上記ぼけ関数畳み込み手段は，上記入力制御手段の制御のもとに視点の異なる複数の対象画像を表す画像データのすべてが上記入力手段に入力したことにより畳み込みを行うものでもよい。
【００１２】
上記ぼけ関数畳み込み手段は，上記入力手段に二つの視点の異なる対象画像を表す画像データが入力したことにより畳み込みが開始され，その後上記入力手段に対象画像を表す画像データが入力するごとに畳み込みを行うものでもよい。
【００１３】
上記対象画像生成手段によって生成される複数のぼけた対象画像における対応する特徴点を検出する特徴点検出手段をさらに備えてもよい。
【図面の簡単な説明】
【００１４】
【図１】対象物を撮像している様子を示している。
【図２】対象画像のぼけの程度を一致させる様子を示している。
【図３】ジャイロ・センサの出力信号と露光開始からの経過時間との関係を示している。
【図４】カメラの角度のずれ量と露光開始からの経過時間との関係を示している。
【図５】カメラの画素のずれ量と露光開始からの経過時間との関係を示している。
【図６】被写体と撮像レンズと撮像素子との関係を示している。
【図７】被写体と撮像レンズと撮像素子との関係を示している。
【図８】手振れ軌跡を示している。
【図９】フィルタ上に手振れ軌跡を重ねた様子を示している。
【図１０】ぼけ関数の一例である。
【図１１】立体画像生成装置の電気的構成を示すブロック図である。
【図１２】立体画像生成装置の処理手順を示すフローチャートである。
【図１３】立体画像生成装置の電気的構成を示すブロック図である。
【図１４】立体画像生成装置の処理手順を示すフローチャートである。
【図１５】（Ａ）および（Ｂ）は，ぼけ関数の一例である。
【図１６】（Ａ）および（Ｂ）は，規格化されたぼけ関数の一例である。
【図１７】規格化されたぼけ関数のフィルタ係数の差分絶対値を示している。
【図１８】フィルタ係数の差分絶対値を変形したものである。
【図１９】ぼけ関数の一例である。
【図２０】立体画像生成装置の電気的構成を示すブロック図である。
【図２１】立体画像生成装置の処理手順を示すフローチャートである。
【図２２】対象画像のぼけの程度を合わせる様子を示している。
【図２３】対象画像のエッジを示している。
【図２４】立体画像生成装置の電気的構成を示すブロック図である。
【図２５】立体画像生成装置の処理手順を示すフローチャートである。
【図２６】立体画像生成装置の処理手順を示すフローチャートである。
【図２７】立体画像生成装置の処理手順を示すフローチャートである。
【実施例】
【００１５】
図１は，この発明の実施例に用いられる画像データを取得する様子を示している。
【００１６】
この実施例では，ディジタル・スチル・カメラ３が様々な位置Ｐ１〜Ｐｎから対象物１を撮像する。対象物１が様々な視点から撮像されたｎ個の対象画像をそれぞれ表す画像データが得られる。ｎ個の対象画像のそれぞれの対象画像は，手振れ量が異なる。対象画像の手振れ量が異なると，対象画像のぼけの程度が対象画像ごとに異なる。ｎ個の対象画像の中から，例えば，対象物１の特徴点である点２に対応する点を見つけ出す場合に見つけにくいことがある。このために，この実施例では，ｎ個の対象画像のそれぞれの対象画像のぼけの程度を一致させるものである。
【００１７】
図２は，ｎ個の対象画像のそれぞれの対象画像のぼけの程度を一致させる様子を示している。
【００１８】
上述のように，異なるＰ１〜Ｐｎの視点から対象物１が撮像され，ｎ個の対象画像11〜1nが得られる。これらの画像11〜1nにおいて，上述したように対象物１の頂点２に対応する頂点は11Ａ〜1nＡで示されている。
【００１９】
対象画像11〜1nのそれぞれの対象画像の撮像時の手振れ軌跡（ぼけ関数）21〜2nが算出される。手振れ軌跡は，対象画像のぼけの程度を表している。たとえば，手振れ軌跡21は対象画像11を撮像したときの手振れ軌跡を示し，手振れ軌跡22は対象画像12を撮像したときの手振れ軌跡を示している。その他の手振れ軌跡も同様である。
【００２０】
ｎ個の手振れ軌跡21〜2nのうち，ある一の対象画像の手振れ軌跡を除いた他の対象画像の手振れ軌跡が一つの手振れ軌跡に畳み込まれる（一つの手振れ軌跡，ぼけ関数にまとめられる）。一つにまとめられたぼけ関数が，その一の対象画像に適用され，対象画像11〜1nを撮像したときのすべての手振れによるぼけが加えられることとなる。他の対象画像についても同様に，ｎ個の手振れ軌跡21〜2nのうち，他の対象画像を除いた残りの対象画像の手振れ軌跡が一つのぼけ関数にまとめられ，他の対象画像に適用される。たとえば，対象画像11に対して，対象画像12〜1nの撮像時のすべてのぼけを加える場合には，手振れ軌跡21〜2nのうち，対象画像11の手振れ軌跡21を除いた手振れ軌跡22〜2nが一つのぼけ関数にまとめられて，そのまとめられた一つのぼけ関数が対象画像11に適用される。これにより，対象画像11に対応する画像であって，対象画像11〜1nが撮像されたときのすべての画像のぼけが反映された（加えられた）対象画像31が得られる。対象画像11以外の対象画像12〜1nについても同様に，対象画像11〜1nが撮像されたときのすべての画像のぼけが反映された対象画像32〜3nが得られる。これらの画像31〜3nにおいて，対象物１の頂点２に対応する頂点は31Ａ〜3nＡで示されている。
【００２１】
図３から図10は，ぼけ関数の生成の仕方を説明している。
【００２２】
図３は，ジャイロ・センサの出力信号と露光開始から露光終了までの経過時間との関係を示している。
【００２３】
横軸は露光開始からの経過時間を，縦軸はジャイロ信号（単位時間当たりのディジタル・スチル・カメラ３の角度変化）を示している。グラフＧ１はディジタル・スチル・カメラ３の水平方向の変化を示し，グラフＧ２はディジタル・スチル・カメラの垂直方向の変化を示している。
【００２４】
対象物１を撮像するディジタル・スチル・カメラ３には，ジャイロ・センサ（図示略）が内蔵されている。このジャイロ・センサによって，露光開始から露光終了時刻t1までの間，ジャイロ信号が出力される。ノイズが多いので，移動平均をとるようにしてもよい。
【００２５】
図４は，露光開始から露光終了までの経過時間と露光開始から露光終了までのディジタル・スチル・カメラ３の角度のずれ量を示している。
【００２６】
横軸は露光開始からの経過時間を，縦軸は角度のずれ量を示している。グラフＧ３は水平方向の角度のずれ量を示し，グラフＧ４は垂直方向の角度のずれ量を示している。これらのグラフＧ３およびＧ４は，図３に示すグラフを０秒からｔ秒まで積分することにより得られる。ｔ秒までの間にディジタル・スチル・カメラ３が水平方向および垂直方向に何度傾いたかがわかる。たとえば，露光終了時刻ｔ１では，水平方向に-0.1度，垂直方向に-0.18度傾いたことがわかる。
【００２７】
図５は，露光開始から露光終了までの経過時間と露光開始から露光終了までのディジタル・スチル・カメラ３の画素のずれ量を示している。
【００２８】
横軸は露光開始からの経過時間を，縦軸は画素のずれ量を示している。グラフＧ５は水平方向の画素のずれ量を示し，グラフＧ６は垂直方向の画素のずれ量を示している。
【００２９】
図６および図７は，図４に示す関係を図５に示す関係に変換する方法を説明するものである。
【００３０】
図６および図７はいずれも，対象物１とディジタル・スチル・カメラ３の撮像素子41とディジタル・スチル・カメラ３の撮像レンズ43との関係を示している。対象物１は撮像レンズ43の光軸上に存在するものとする。
【００３１】
図６は手振れが無いときの状態を示している。対象物１は，撮像レンズ43の光軸上に存在し，対象物１を示す対象画像42は撮像素子41の中心に結像する。
【００３２】
図７は手振れがあるときの状態を示している。角度θの手振れがあることにより，対象物１は撮像レンズ43の光軸から外れる。すると，対象物１を示す対象画像42も撮像素子41の中心からずれる。
【００３３】
撮像素子43から撮像レンズ43までの焦点距離をｆとすると，撮像素子41でのずれ量ｄはｄ（画素）＝ｆ（mm）×tanθ（deg）÷撮像素子の画素ピッチ（mm）で得られる。但し，図５においては，焦点距離を６mm（フイルム換算ではなく，実焦点距離），画素ピッチを0.002mmとしている。
【００３４】
図８は，手振れ軌跡を示している。
【００３５】
横軸はｘ方向移動量を示し，縦軸はｙ方向移動量を示している。図５に示すずれ量を単位持間ごとに，図８の座標に表すことにより，手振れ軌跡Ｇ７が得られる。露光開始の座標がＣ１（ｘ０，ｙ０）であり，露光終了の座標がＣ２（ｘ１，ｙ１）である。手振れ軌跡Ｇ７の重心はＣｇ（ｘｇ，ｙｇ）で示されている。上述したように撮像レンズ43によって対象物の画像41は上下反転するので，図８においては手振れ軌跡の数値の正負は反転されている。
【００３６】
図９は，ぼけ関数のフィルタと手振れ軌跡との関係を示している。
【００３７】
ぼけ関数のフィルタ61は11領域×11領域とする（他の領域数でもよい）。フィルタによる空間位相のずれを防ぐために手振れ軌跡Ｇ７の重心点がフィルタ61の中心62Ｃとなるようにフィルタ61上に手振れ軌跡Ｇ７が位置決めされる。図９の右側に示すように，各領域62または62Ｃ内に手振れ軌跡Ｇ７を構成する所定時間ごとの手振れの軌跡を表す点63が含まれることとなる。この点63の数がフィルタ61の重みとなる。
【００３８】
図10は，ぼけ関数を表すフィルタの一例である。
【００３９】
ぼけ関数を表すフィルタ61の各領域62内の点63の数が表されている。これらの数が上述のようにぼけ関数を表すフィルタ61のフィルタ係数（重み）である。このようにしてぼけ関数61が得られる。
【００４０】
上述したように，撮像により得られた対象画像11〜1nのそれぞれの対象画像のぼけ関数が算出され，対象画像11〜1nのすべてのぼけ関数のうち，一の対象画像のぼけ関数を除いた他の対象画像のすべてのぼけ関数が畳み込まれ，畳み込まれたぼけ関数が一の対象画像に適用されることにより，一の対象画像には対象画像11〜1nの手振れによるぼけが加えられたものなる。一の対象画像以外の他の対象画像についても同様の処理が行われることにより，上述のように，ぼけの程度が一致した対象画像が得られるようになる。
【００４１】
図11は，立体画像生成装置（ぼけ画像生成システム）の電気的構成を示すブロック図である。
【００４２】
立体画像生成装置の全体の動作は，ＣＰＵ70によって統括される。
【００４３】
立体画像生成装置には，ＣＤ−ＲＯＭドライブ71が設けられている。このＣＤ−ＲＯＭドライブ71に，後述する動作を制御する動作プログラムが格納されているＣＤ−ＲＯＭ72のような記録媒体が装填される。すると，ＣＤ−ＲＯＭ72から動作プログラムが読み取られて，その読み取られた動作プログラムは立体画像生成装置にインストールされる。動作プログラムは，ネットワークを介して立体画像生成装置に与えられてインストールされてもよい。
【００４４】
上述のように，撮像により得られたｎ個の対象画像データおよび手振れデータ（図３に示す露光開始からの経過時間とジャイロ信号との関係を示すデータ）が入力インターフェイス88Ａおよび88Ｂを介して立体画像生成装置に入力する。これらの対象画像データおよび手振れデータは，たとえば，ディジタル・スチル・カメラ３によってメモリ・カードに記録され，そのメモリ・カードが立体画像生成装置に装填されることにより，メモリ・カードから読み出されて立体画像生成装置に入力する。もちろん，ディジタル・スチル・カメラ３自体が立体画像生成装置としての機能を有していてもよい。ディジタル・スチル・カメラ３自体が立体画像生成装置としての機能を有している場合には，ディジタル・スチル・カメラ３に装填されているメモリ・カードから対象画像データおよび手振れデータが読み出されることとなる。
【００４５】
ｎ個の対象画像データがメモリ80に入力し，メモリ80に一時的に記憶される。ｎ個の対象画像データは一度にメモリ80に入力してもよいし，１個ずつメモリ80に入力してもよい。また，撮像により得られたｎ個の対象画像に対応するｎ個の手振れデータ（図３に示す露光開始からの経過時間とジャイロ信号との関係を示すデータ）は，ぼけ関数算出装置81に入力する。ぼけ関数算出装置81において，上述のように，ｎ個の対象画像のそれぞれに対応するぼけ関数が算出される。
【００４６】
上述のように，ｎ個のぼけ関数のうち，ｎ個の対象画像の中のある一の対象画像のぼけ関数を除く他のぼけ関数がフィルタ83に与えられ，それらの他のぼけ関数が畳み込まれたぼけ関数を表すフィルタ83が形成される。一の対象画像を表す対象画像データがメモリ80から読み出され，フィルタ83に与えられることにより，上述したように，ｎ個の対象画像のすべての手振れによるぼけが加えられた対象画像が得られる。他の対象画像についても同様である。
【００４７】
ｎ個の対象画像のすべてについて，ｎ個のすべての手振れによるぼけが加えられると，ｎ個の対象画像を表す対象画像データが特徴点抽出／マッチング装置84に入力する。特徴抽出／マッチング装置84において，それぞれの対象画像の特徴点が抽出され，対象画像同士のマッチング処理が行われる。マッチング処理が行われた対象画像データが３Ｄ形状復元装置82に与えられて，対象物１を立体的に表す画像が得られる。
【００４８】
図12は，立体画像生成装置の処理手順を示すフローチャートである。
【００４９】
まず，画像係数ｋが初期化され（ステップ91），第ｋ番目の対象画像を表す対象画像データと第ｋ番目の対象画像を撮像したときの手振れデータとが読み取られる（ステップ92）。手振れデータから上述のように，ぼけ関数が算出される（ステップ93）。すると，対象画像データとぼけ関数とが関連づけられてメモリ80に記憶される（ステップ94）。ｎ個の対象画像データのすべてが読み取られていなければ（ステップ95でＮＯ），画像係数ｋがインクレメントされ（ステップ96），再びステップ92からの処理が繰り返される。
【００５０】
ｎ個の対象画像データのすべてについて，対象画像データとぼけ関数と関連付けられて（対応づけられて）記憶されると（ステップ95でＹＥＳ），上述のように，ぼけ関数を畳み込む処理が行われる（ステップ96）。ぼけ関数を畳み込む処理は，ｎ個の対象画像のそれぞれに対応するｎ個のぼけ関数のうち，一の対象画像のぼけ関数を除く他のぼけ関数を一つにするものである。上述したように（図２参照），一の対象画像が第１フレームの対象画像11とすると，ぼけ関数21〜2nのうち，第１フレームの対象画像11のぼけ関数21を除くぼけ関数22〜2nが一つのぼけ関数に畳み込まれ，第１フレームの対象画像11に適用されて，ぼけの程度が一致する第１フレームの対象画像31が得られる。他の対象画像12〜1nについても同様に，対象画像に対応するぼけ関数が除かれてぼけ関数の畳み込みが行われ，その畳み込みが行われたぼけ関数が対象画像に適用されることにより，ぼけの程度が一致した対象画像32〜3nが得られる。畳み込みが行われたぼけ関数もｎ個得られることとなる。
【００５１】
畳み込みが行われたぼけ関数が対象画像に適用されて，ぼけの程度が一致した対象画像のそれぞれの対象画像について特徴点の抽出が行われ，対象画像同士で特徴点に対応する対応点が検出される（ステップ98）。たとえば，図２に示す例では，対象画像31〜3nにおいて特徴点に対応する対応点31Ａ〜3nＡが得られることとなる。その他の特徴点についても同様である。このようにして特徴点抽出および対応点検出が行われると，立体画像が生成される（ステップ99）。
【００５２】
図13から図18は，他の実施例を示している。
【００５３】
この実施例では，類似しているぼけ関数については一つのぼけ関数を残して残りの類似しているぼけ関数が排除される。このようにして類似しているぼけ関数が複数ある場合には，一つのぼけ関数だけが残されて，ｎ個の対象画像のそれぞれに対応するｎ個のぼけ関数のうち，一の対象画像のぼけ関数を除く他のぼけ関数が一つにされる。
【００５４】
上述の実施例では，一の対象画像が第１番目の対象画像11であるとすると，ぼけ関数21〜2nのうち，一の対象画像11のぼけ関数21を除いた他のぼけ関数22〜2nが一つに畳み込まれて，その畳み込まれたぼけ関数が対象画像11に適用されてぼけの程度を一致させる対象画像31が得られる。これに対して，この実施例では，まず，上述と同様に，一の対象画像が第１番目の対象画像11とした場合，ぼけ関数21〜2nのうち，一の対象画像11のぼけ関数21が除かれる。さらに，その他のぼけ関数22〜2nのうちから類似したぼけ関数が見つけられ，類似したぼけ関数のうち，一つのぼけ関数だけが残され，残りのぼけ関数は排除される。たとえば，第２番目の対象画像12のぼけ関数22と第(n-1)番目の対象画像1(n-1)のぼけ関数2(n-1)とが類似していると判断されると，いずれか一方のぼけ関数が排除される。たとえば，ぼけ関数2(n-1)が排除される。ぼけ関数22〜2nのうち，ぼけ関数2(n-1)が排除されたぼけ関数が畳み込まれて，畳み込まれたぼけ関数が第１番目の対象画像11に適用される。類似したぼけ関数が複数ある場合に，その複数のぼけ関数を対象画像に適用しないので，対象画像のぼけ具合が無駄に大きくなってしまうことを未然に防止できる。
【００５５】
図13は，立体画像生成装置の電気的構成を示すブロック図である。この図は，図11に対応するもので，図11に示すものと同一物については同一符号を付して説明を省略する。
【００５６】
図13に示す立体画像生成装置においては，図11に示すものと異なり，ぼけ関数比較装置85が設けられている。上述したように，ぼけ関数算出装置81において生成されたぼけ関数21〜2nがぼけ関数比較装置85に入力する。ぼけ関数比較装置85において，ぼけ関数21〜2nのうち類似しているぼけ関数が見つけられて，その類似しているぼけ関数のうち一つのぼけ関数を残して残りのぼけ関数が排除される。その後，ぼけ関数の畳み込みが行われる。
【００５７】
図14は，立体画像生成装置の処理手順を示すフローチャートである。この図は，図12に対応するもので，図12の処理と同一の処理については同一符号を付して説明を省略する。
【００５８】
上述したように，対象画像11〜1nのすべてを表す対象画像データが読み取られ（入力され），メモリ80に記憶されると，ぼけ関数比較装置85において類似しているぼけ関数が見つけられる（ステップ100）。さらに，上述したように，類似しているぼけ関数のうち，一つのぼけ関数を残して残りのぼけ関数が排除され，畳み込みが行われる（ステップ97）。
【００５９】
図15（Ａ）および（Ｂ）から図18は，ぼけ関数が類似しているかどうかを判断する処理を示している。
【００６０】
図15（Ａ）および（Ｂ）は，それぞれぼけ関数の一例である。５×５の領域のぼけ関数であるが，他のぼけ関数でも同様である。図15（Ａ）に示すぼけ関数111と図15（Ｂ）に示すぼけ関数112とが類似するかどうかを考える。ぼけ関数111，112のそれぞれの領域内の数字はフィルタ係数である。まず，ぼけ関数111のフィルタ係数の総和とぼけ関数112のフィルタ係数の総和とが一致するように規格化が行われる。
【００６１】
図16（Ａ）および（Ｂ）は規格化されたぼけ関数を示している。
【００６２】
図15（Ａ）に示すぼけ関数111のフィルタ係数の総和は32であり，図15（Ｂ）に示すぼけ関数112のフィルタ係数の総和は８である。図15（Ｂ）に示すぼけ関数112のフィルタ係数が４倍される。
【００６３】
図16（Ａ）は，図15（Ａ）に示すぼけ関数111と同じであり，図16（Ｂ）は，図15（Ｂ）に示すぼけ関数112のフィルタ係数が４倍されたぼけ関数114である。
【００６４】
規格化されたぼけ関数111とぼけ関数114とにおいて，対応する領域のフィルタ係数同士の差分絶対値が算出される。
【００６５】
図17は，ぼけ関数に対応した差分絶対値分布を示している。
【００６６】
差分絶対値分布115において，フィルタ係数同士の差分絶対値が第１のしきい値（例えば，４）と比較される。第１のしきい値以上の差分絶対値の領域が１とされ，第１のしきい値未満の差分絶対値の領域が０とされる。
【００６７】
図18は，差分絶対値と第１のしきい値との比較結果を示している。
【００６８】
差分絶対値と第１のしきい値とを比較して１となった領域の数が第２のしきい値（たとえば，３）以上であれば，図15（Ａ）に示すぼけ関数111と図15（Ｂ）に示すぼけ関数112とが類似すると判断される。逆に，差分絶対値と第１のしきい値とを比較して１となった領域の数が第２のしきい値未満であれば，図15（Ａ）に示すぼけ関数111と図15（Ｂ）に示すぼけ関数112とが類似しないと判断される。
【００６９】
図19から図21は，他の実施例を示している。
【００７０】
この実施例では，ぼけの程度が大きすぎるぼけ関数が上述したぼけ関数の畳み込み処理から排除されるものである。
【００７１】
図19は，ぼけ関数の一例である。
【００７２】
ぼけ関数120の外接矩形121が考えられる。この外接矩形121の短辺または長辺のうち長い辺（短い辺でもよい）をぼけ関数の拡がりＳとする。このぼけ関数の拡がりＳが所定のしきい値未満であれば，ぼけの程度は大きくないとしてぼけ関数の畳み込み処理の対象となる。
【００７３】
図20は，立体画像生成装置の電気的構成を示すブロック図である。この図において，図11に示すものと同一物については同一符号を付して説明を省略する。
【００７４】
図20に示す立体画像生成装置においては，ぼけ関数拡がり算出装置86が設けられている。このぼけ関数拡がり算出装置86において，ぼけ関数算出装置81において生成されたぼけ関数の拡がりＳが算出される。算出された拡がりＳが所定のしきい値以上であるぼけ関数は畳み込み処理から排除される。
【００７５】
図21は，立体画像生成装置の処理手順を示すフローチャートである。この図において，図12または図14に示す処理と同一の処理については同一符号を付して説明を省略する。
【００７６】
ぼけ関数が算出されると（ステップ93），ぼけ関数の拡がりＳが上述のように算出される（ステップ101）。ぼけ関数の拡がりＳが所定のしきい値Ｓmax未満かどうかが判断される（ステップ102）。所定のしきい値Ｓmax未満であれば（ステップ102でＹＥＳ），そのぼけ関数が示すぼけの程度はあまり大きくないので，畳み込み処理の対象となるように，対象画像データとぼけ関数とが関連づけられて記憶される（ステップ94）。所定のしきい値Ｓmax以上であると，そのぼけ関数が示すぼけの程度が大きすぎるので，対象画像データと関連づけられて記憶される処理は行われない。ぼけの程度（手振れの状態）が大きすぎるぼけ関数が畳み込み処理の対象から除外される。
【００７７】
図22から図27は，さらに他の実施例を示している。
【００７８】
この実施例では，対象画像データが順に一つずつ入力し，新たに対象画像データが入力すると，すでに入力していた対象画像データのぼけ関数が統合してまとめられたぼけ関数が新たに入力した対象画像データに適用され，新たに入力していた対象画像データのぼけ関数がすでに入力していた対象画像データに適用される。つづいて対象画像データが入力すると，同様の処理が繰り返される。このように二つの視点の異なる対象画像を表す画像データが入力したことにより畳み込みが開始され，その後上記入力手段に対象画像を表す画像データが入力するごとに畳み込みが行われる。
【００７９】
図22は，この実施例による処理を示している。図23は，対象画像等のエッジを示している。
【００８０】
立体画像生成装置に第１の対象画像11を表わす対象画像データが入力し，つづいて第２の対象画像12を表わす対象画像データが入力する。すると，第２の対象画像12のぼけ関数22が第１の対象画像11に適用される。これにより，第２の対象画像12のぼけ（手振れ）が加えられ，かつ第１の対象画像11に対応するぼけが加えられた対象画像111が得られる。また，第１の対象画像11のぼけ関数21が第２の対象画像12に適用される。これにより，第１の対象画像11のぼけが加えられ，かつ第２の対象画像12に対応するぼけが加えられた対象画像112が得られる。ぼけの程度が一致するので特徴点111Ａと112Ａとを見つけやすくなる。さらに，第１の対象画像11のぼけ関数21と第２の対象画像12のぼけ関数とが畳み込まれ（乗算され），第１の対象画像11のぼけと第２の対象画像12のぼけとが，合わせられたぼけの程度を示す統合されたぼけ関数22Ａが生成される。
【００８１】
第３の対象画像13を表わす対象画像データが入力すると，第２の対象画像12に対応する画像であって，ぼけが加えられた対象画像112に，第３の対象画像13のぼけ関数23が適用される。これにより，第１の対象画像11から第３の対象画像13のすべてのぼけが加えられている対象画像122が得られる。第３の対象画像13を表わす対象画像データについては，上述のように生成されたぼけ関数22Ａが適用される。これにより，第１の対象画像11から第３の対象画像13のすべてのぼけが加えられている対象画像123が得られる。この場合もぼけの程度が一致するので特徴点122Ａと123Ａとを見つけやすくなる。
【００８２】
このように，新たに入力した対象画像データに対しては，すでに入力している対象画像データのぼけが加えられる。また，新たに入力した対象画像データの直前に入力した対象画像データに対しては，その新たに入力した対象画像データのぼけが加えられる。このようにして，順次リアルタイムでぼけの補正ができるようになる。
【００８３】
時間的に連続した（連続して記憶された）２つの対象画像のぼけの程度を一致させることができるので，それらの２つの対象画像の対応する特徴点を検出することが比較的容易となる。この実施例においてもぼけの程度が大きすぎるものについては排除してもよいし，排除しなくてもよい。
【００８４】
図24は，立体画像生成装置の電気的構成を示すブロック図である。この図において，図20に示すものと同一物については同一符号を付して説明を省略する。
【００８５】
対象画像データが一つずつ入力し，新たに対象画像データが入力すると，新たに入力した対象画像データのぼけ関数と直前までに入力した対象画像のすべてのぼけ関数とが統合され，統合されたぼけ関数がぼけ関数統合装置87において生成される。統合されたぼけ関数が，新たに入力した対象画像データに適用される。また，新たに入力した対象画像データのぼけ関数が直前に入力した（記憶された）対象画像データのぼけ関数に適用される。
【００８６】
図25から図27は，立体画像生成装置の処理手順を示すフローチャートである。
【００８７】
第１番目の対象画像の対象画像データ，手振れデータが読み取られる（ステップ131）。読み取られた手振れデータから第１番目の対象画像のぼけ関数が生成される（ステップ132）。ぼけ関数の拡がりＳが算出される（ステップ133）。算出された拡がりＳが所定のしきい値以上であれば（ステップ134でＮＯ），ぼけの程度が大きすぎるので，排除するために，次の対象画像の対象画像データ，手振れデータが読み取られる（ステップ131）。算出された拡がりＳが所定のしきい値未満であれば（ステップ134でＹＥＳ），読み取られた対象画像データと生成されたぼけ関数とが第１番目の対象画像データとぼけ関数として記憶される（ステップ135）。
【００８８】
つづいて，次の対象画像の対象画像データ，手振れデータが読み取られる（ステップ136）。手振れデータからぼけ関数が算出され（ステップ137），ぼけ関数の拡がりＳが算出される（ステップ138）。拡がりＳが所定のしきい値Ｓmax以上であれば（ステップ139でＮＯ），入力した対象画像のぼけの程度が大きいので排除され，次の対象画像の対象画像データ，手振れデータが読み取られる（ステップ136）。拡がりＳが所定のしきい値Ｓmax未満であれば（ステップ139でＹＥＳ），読み取られた対象画像データと生成されたぼけ関数とが，現対象画像とぼけ関数として記憶される（ステップ140）。
【００８９】
記憶されている対象画像データが現対象画像データと第１番目の対象画像データだけの場合には，現対象画像データに第１番目の対象画像データのぼけ関数が適用され，第１番目の対象画像データに現対象画像データのぼけ関数が適用される（ステップ141）。記憶されている対象画像データが現対象画像データと第１番目の対象画像データ以外にもある場合には，上述したようにすでに記憶されているぼけ関数が統合されているので，その統合されているぼけ関数が現対象画像データに適用され，現対象画像データの直前に入力した対象画像データに，現対象画像データのぼけ関数が適用される。
【００９０】
現対象画像データの直前の対象画像データが第１番目の対象画像データであると（ステップ142でＹＥＳ），第１番目の対象画像から特徴点が抽出される（ステップ143）。現対象画像データの直前の対象画像データが第１番目の対象画像データでなければ（ステップ142でＮＯ），ステップ143の処理はスキップされる。
【００９１】
現対象画像の直前に記憶された対象画像の特徴点に対応する特徴点が，現対象画像から見つけられる（ステップ144）。
【００９２】
つづいて，現対象画像のぼけ関数と，現対象画像データが記憶されるまでに記憶されている対象画像のぼけ関数とが上述のように統合されて記憶される（ステップ145）。
【００９３】
必要な数の対象画像データが読み取られていなければ（ステップ146でＮＯ），ステップ136からの処理が繰り返される。必要な数の対象画像データが読み取られると（ステップ146でＹＥＳ），抽出された特徴点，ぼけ関数が適用された対象画像を用いて立体画像が生成される（ステップ147）。
【符号の説明】
【００９４】
70  ＣＰＵ
81  ぼけ関数算出装置
83  フィルタ
85  ぼけ関数比較装置
86  ぼけ関数拡がり算出装置
87  ぼけ関数統合装置
【図１】
0005395752.tif 000002
【図２】
0005395752.tif 000003
【図３】
0005395752.tif 000004
【図４】
0005395752.tif 000005
【図５】
0005395752.tif 000006
【図６】
0005395752.tif 000007
【図７】
0005395752.tif 000008
【図８】
0005395752.tif 000009
【図９】
0005395752.tif 000010
【図１０】
0005395752.tif 000011
【図１１】
0005395752.tif 000012
【図１２】
0005395752.tif 000013
【図１３】
0005395752.tif 000014
【図１４】
0005395752.tif 000015
【図１５】
0005395752.tif 000016
【図１６】
0005395752.tif 000017
【図１７】
0005395752.tif 000018
【図１８】
0005395752.tif 000019
【図１９】
0005395752.tif 000020
【図２０】
0005395752.tif 000021
【図２１】
0005395752.tif 000022
【図２２】
0005395752.tif 000023
【図２３】
0005395752.tif 000024
【図２４】
0005395752.tif 000025
【図２５】
0005395752.tif 000026
【図２６】
0005395752.tif 000027
【図２７】
0005395752.tif 000028