JP2013041387A - 画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム - Google Patents
画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム Download PDFInfo
- Publication number
- JP2013041387A JP2013041387A JP2011177406A JP2011177406A JP2013041387A JP 2013041387 A JP2013041387 A JP 2013041387A JP 2011177406 A JP2011177406 A JP 2011177406A JP 2011177406 A JP2011177406 A JP 2011177406A JP 2013041387 A JP2013041387 A JP 2013041387A
- Authority
- JP
- Japan
- Prior art keywords
- image
- motion search
- search processing
- divided
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
Abstract
【課題】局所的な動被写体や照度変化等にロバストであり、又、精度の高いグローバル動き探索処理を行なうことができる技術を提供する。
【解決手段】画像処理装置は、処理対象画像を複数の分割画像にする画像分割部と、複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部とを備える。
【選択図】図1
【解決手段】画像処理装置は、処理対象画像を複数の分割画像にする画像分割部と、複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部とを備える。
【選択図】図1
Description
本明細書で開示する技術は、画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムに関する。より詳細には、画像シーケンスのうちの画像間のグローバルな動き量を推定する動きベクトル探索(ME:Motion Estimation、動き推定)を行なう技術(「グローバル動き探索処理」とも記す)に関する。
動き推定を行なうのに最もよく使用する手法として、ブロックマッチングが知られている。画像シーケンスのうち複数枚(典型的には1枚の現画像と1枚の参照画像の2枚)の画像間のグローバルな動き量を推定するには、基本的には、分割したブロックごとに生成される動きベクトル(MV:Motion Vector、「ローカルMV」とも記す)の画像全体に亘る重付き平均をとる。その際、ローカルMVが信頼できないブロックの重みを小さくして、ロバスト性を高めることができる(例えば、特開平5−289159号公報や特開2006−222933号を参照)。しかし、ブロックマッチングを行なう方法は、ブロックごとに動きベクトルMVを求めるブロックマッチングの計算資源が多く必要であり、一般的に実行効率はよくない。
他の動き推定手法として、画像全体に対する動き推定手法がある。画像全体に対する動き推定手法としてはLK法(Lucas-Kanade法)が知られている(An Iterative Image Registration Technique with an Application to Stereo Vision”, B. D. Lucas, T. Kanade, Intl. Joint Conf. on AI, pp.674-679, 1981を参照、非特許文献1とも記す)。画像全体に亘るLK法を用いると、ブロックマッチングと比較して、計算実行効率のよいグローバル動き探索処理GMEを行なうことができる。
一方、ロバスト性を高めるための動き推定手法として、画像分割(画面分割とも称される)を行なうことが知られている(特開2004−015376号公報を参照)。この画像分割を行なう方法では、入力画像を複数の画像に分割し、各分割画像で動き推定を行なう。分割画像の信頼性を元に分割画像ごとに算出された動きベクトルMVに重みを付けることにより、ロバスト性を高めることができる。
"An Iterative Image Registration Technique with an Application to Stereo Vision", B. D. Lucas, T. Kanade, Intl. Joint Conf. on AI, pp.674-679, 1981
しかし、LK法は、ブロックマッチングと比較して、大幅に計算実行効率のよいグローバル動き探索処理GMEを行なうことができる一方で、画像全体に亘るLK法はローカルMVを算出しないため、ロバスト性を向上させることはできない。非特許文献1には、画像分割を行ない、LK法を用いて動き探索処理を行ない、その動き探索処理結果に対して外れ値除去を行なって画像全体の動き探索処理を行なうことも記載されているが、精度の面では依然として難点がある。又、画像分割を行なう方法では、分割画像ごとに重付けがされてしまうため、信頼性が低いとされた分割画像中の画素全ての信頼性が低くなる。信頼性が低いとされた分割画像中に信頼性の高い画素があった場合、その信頼性の高い画素の情報が当該分割画像の重付けによって信頼性が低くなるため、結果的には、実際には信頼性の高い画素であるにも関わらず、その情報が動き推定に有効に使用されないため、動き推定の精度が低くなってしまう。
従って、本開示の目的は、局所的な動被写体や照度変化等にロバストであり、又、精度の高いグローバル動き探索処理を行なうことができる技術を提供することにある。好ましくは、更に、高い計算実行効率を保ちながら、局所的な動被写体や照度変化等にロバストで精度の高いグローバル動き探索処理を行なうことができる技術を提供することにある。
本開示の第1の態様に係る画像処理装置は、処理対象画像を複数の分割画像にする画像分割部と、複数の分割画像の内で、複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択部と、分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部とを備える。本開示の第1の態様に係る画像処理装置の従属項に記載された各画像処理装置は、本開示の第1の態様に係る画像処理装置のさらなる有利な具体例を規定する。
本開示の第2の態様に係る画像処理方法は、処理対象画像を複数の分割画像にする画像分割工程と、数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択工程と、分割画像ごとに動き探索処理を行なう第1の動き探索処理工程と、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理工程とを備える。
本開示の第3の態様に係る撮像装置は、固体撮像装置と、固体撮像装置の撮像面に被写体像を結像する光学系と、固体撮像装置により取得された画像を記憶する第1記憶部と、固体撮像装置により取得された画像に対して予め定められた信号処理を行なう第1の信号処理部と、第1の信号処理部で処理された画像を記憶する第2記憶部と、第2記憶部から読み出した画像を複数の分割画像にする画像分割部と、複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択部と、分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部と、第1記憶部から読み出した画像に対して、第2の動き探索処理部の動き探索処理の結果を参照して動き補正処理を行なう第2の信号処理部とを備える。
本開示の第4の態様に係る電子機器は、入力された画像を記憶する第1記憶部と、入力された画像に対して予め定められた信号処理を行なう第1の信号処理部と、第1の信号処理部で処理された画像を記憶する第2記憶部と、第2記憶部から読み出した画像を複数の分割画像にする画像分割部と、複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択部と、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部と、第1記憶部から読み出した画像に対して、第2の動き探索処理部の動き探索処理の結果を参照して動き補正処理を行なう第2の信号処理部とを備える。
本開示の第5の態様に係るプログラムは、処理対象画像を複数の分割画像にする画像分割部と、複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部としてコンピュータを機能させる。本開示に係るプログラムは、本開示に係る画像処理装置を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なものである。プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線或いは無線による通信手段を介した配信により提供されてもよい。
本開示の第2の態様に係る画像処理方法、本開示の第3の態様に係る撮像装置、本開示の第4の態様に係る電子機器、本開示の第5の態様に係るプログラムのそれぞれにおいては、本開示の第1の態様に係る画像処理装置の従属項に記載された各構成・技術・手法が同様に適用可能であり、それが適用された構成は、これらのさらなる有利な具体例を規定する。
要するに、本明細書で開示する技術では、処理対象画像を複数に分割し、分割画像ごとに1回目の動き探索処理を行なう、つまり、動き推定を行ない、動き推定の結果に基づいて動きベクトル等の動き情報を算出する。次に、複数の分割画像の中から動き探索処理の信頼性が予め定められた閾値以上である(動き探索処理の信頼性の高い)分割画像を選択する。そして、2回目の動き探索処理の際には、選択された分割画像についての1回目の動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう。つまり、2回目では、信頼性が高いとして選択された分割画像についての1回目の動き探索処理の情報に基づいて画像分割されていない画像全体に対して、画素ごとに動き推定を行ない、動き推定の結果に基づいて画像全体についての動き情報(動きベクトル等)を算出する。
全体として見た場合、画像分割を使用することによりロバスト性が高い動き推定を行なうことができるとともに、信頼性が高い分割画像についての1回目の動き探索処理結果に基づく外れ値除去処理を含む2回目の動き探索処理を行なうこともできるので、情報を無駄にしない動き推定を行なうことができる。信頼性の高い画素であるか否かを判断し、信頼性の高い画素の情報を破棄することなく(逆に信頼性の高くない画素の情報は破棄して)、画素ごとに動き推定を行なうことができる。具体的には、画像分割手法を用いるが、分割画像ごとに重付けを行なうのではなく、画像全体において、信頼性が高い分割画像の動き探索処理結果を元に画素ごとに信頼性の高い画素を選択し、信頼性の高い画素を用いて動き推定を行ない、画像全体に対して動き情報の算出を行なうことができる。信頼性が低いとされた分割画像中の画素全ての信頼性が低くなるとういうことはなく、信頼性の高い画素の情報を破棄することがないため、精度の高いグローバル動き探索処理を行なうことができる。画像分割手法を用いるので、局所的な動被写体や照度変化等にロバストな動き推定を行なうことができる。
又、第1の態様に係る画像処理装置、第2の態様に係る画像処理方法、第3の態様に係る撮像装置、第4の態様に係る電子機器、及び、第5の態様に係るプログラムにおいては、好ましい態様として、以下の構成を備えるのがよい。例えば、各動き探索処理部の少なくとも1つは、Lucas-Kanade法(LK法)により動き探索処理を行なうのがよい。LK法を使用することにより、少ない計算量で動き推定を行なうことができ、計算実行効率を高くすることができる。尚、LK法を使用する場合は、更に、以下の構成を備えるのが好適である。先ず、第1の動き探索処理部は、分割画像ごとに、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を分割画像全体に亘って行なった加算計算結果に基づいて動き情報を算出するとよい。又、第2の動き探索処理部は、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を画像全体に亘って行なう際に、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づく設定条件に従って信頼性の高い画素であるか否かを判断し、設定条件を満足する場合に加算計算を行なうとよい。
第1の態様に係る画像処理装置、第2の態様に係る画像処理方法、第3の態様に係る撮像装置、第4の態様に係る電子機器、及び、第5の態様に係るプログラムによれば、画像分割手法を用いるので、局所的な動被写体や照度変化等にロバストな動き推定を行なうことができる。画像分割手法を用いるが、信頼性の高い画素の情報の破棄をすることがないため、精度の高い動き推定を行なうことができる。精度の高い動き推定結果に基づいて、精度の高い画像補正情報を算出できるため、画揺れ補正処理や超解像処理等に適用すると、正確な画像処理を行なうことができる。又、好ましい態様では、高い計算実行効率を保ちながら、局所的な動被写体や照度変化等にロバストで、精度の高い動き推定を行なうことができる。
以下、図面を参照して、本明細書で開示する技術の実施形態について詳細に説明する。各機能要素について形態別に区別する際にはアルファベット或いは“_n”(nは数字)或いはこれらの組合せの参照子を付して記載し、特に区別しないで説明する際にはこの参照子を割愛して記載する。図面においても同様である。
説明は以下の順序で行なう。
1.全体概要
2.実施例1:各装置の基本構成
3.実施例2:アフィン情報を適用
4.実施例3:オブジェクト情報を利用した画像分割
5.実施例4:分割画像に対して外れ値除去を行なった新たな2回目の動き探索処理
6.実施例5:画像全体に対して外れ値除去を行なった新たな3回目の動き探索処理
7.実施例6:1回目の処理後に、エッジ量情報を利用した動き推定の信頼度の判定
8.実施例7:1回目の処理ループ内でエッジ量情報を利用した動き推定の信頼度判定
1.全体概要
2.実施例1:各装置の基本構成
3.実施例2:アフィン情報を適用
4.実施例3:オブジェクト情報を利用した画像分割
5.実施例4:分割画像に対して外れ値除去を行なった新たな2回目の動き探索処理
6.実施例5:画像全体に対して外れ値除去を行なった新たな3回目の動き探索処理
7.実施例6:1回目の処理後に、エッジ量情報を利用した動き推定の信頼度の判定
8.実施例7:1回目の処理ループ内でエッジ量情報を利用した動き推定の信頼度判定
<全体概要>
先ず、基本的な事項について以下に説明する。本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムにおいて、グローバル動き探索処理を行なうに当たっては、先ず、画像分割部により、処理対象画像を複数に分割する。第1動き探索処理部は、分割画像ごとに、動き推定を行ない、動き推定の結果に基づいて動きベクトル等の動き情報を算出する。分割画像選択部は、複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像(以下纏めて「信頼性の高い分割画像」と記すこともある)を選択する。好ましくは、分割画像選択部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、動き探索処理結果の信頼性の高い分割画像を選択するとよい。
先ず、基本的な事項について以下に説明する。本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムにおいて、グローバル動き探索処理を行なうに当たっては、先ず、画像分割部により、処理対象画像を複数に分割する。第1動き探索処理部は、分割画像ごとに、動き推定を行ない、動き推定の結果に基づいて動きベクトル等の動き情報を算出する。分割画像選択部は、複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像(以下纏めて「信頼性の高い分割画像」と記すこともある)を選択する。好ましくは、分割画像選択部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、動き探索処理結果の信頼性の高い分割画像を選択するとよい。
「第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて」における「動き探索処理の情報」としては、例えば、動き探索処理結果として算出される動き情報(動きベクトル)を使用することができるが、これには限らず、動き推定に関わるあらゆる情報を利用することができる。当該情報を使用した所定の規則に従って判断(判定)用の指標値を算出し、「信頼性の高い分割画像」であるか否かを判定する。
「信頼性の高い分割画像」であるか否かは、所定の規則に従って計算した指標値と予め定められた閾値との比較による絶対的基準に基づいて判断してもよい。或いは、全分割画像の内で前記指標値(例えば信頼性の高いほど値が大きいとする)が相対的に大きいもの(1つとは限らない)を選択するという相対的基準に基づく判断でもよい。前者は、閾値の設定次第で、次処理(2回目の動き探索処理等)に使用される分割画像数が変わり、場合によっては1つも選択されない場合も起こり得るため、閾値設定のやり直しから再度同様の処理を繰り返す必要が生じる難点がある。後者は、次処理(2回目の動き探索処理等)に使用される分割画像数を一定にできるが、全分割画像の指標値の算出を行なってからでないと判断処理に移行できない難点がある。
第2動き探索処理部は、2回目の動き探索処理の際に、分割画像選択部により選択された分割画像についての第1動き探索処理部による1回目の動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き推定を行ない、動き推定の結果に基づいて画像全体に対しての動き情報を算出し直す。つまり、1回目の動き探索処理の情報に基づいて動き探索処理をやり直す。この際には、第1動き探索処理部による1回目の動き探索処理の情報に基づいて、外れ値除去処理を行なうこともできる。例えば、第2動き探索処理部は、処理対象画素の動き探索処理の信頼性が予め定められた閾値以上であるか(信頼性の高い画素であるか否か)を判断し(外れ値除去を行ない)、信頼性が閾値以上である(信頼性の高い)画素を用いて画像分割されていない画像全体に対して動き探索処理を行なう。つまり、2回目では、信頼性が高いとして選択された分割画像についての1回目の動き探索処理の情報に基づいて画素ごとに信頼性の高い画素であるか否かを判断し、信頼性の高い画素の情報を破棄することなく(逆に信頼性の高くない画素の情報は破棄して)動き推定を行ない、動き推定の結果に基づいて画像全体についての動き情報(動きベクトル等)を算出する。
「分割画像選択部により選択された分割画像についての第1動き探索処理部による1回目の動き探索処理の情報」における「動き探索処理の情報」としては、例えば、動き探索処理結果として算出される動き情報(動きベクトル)、動き情報を算出するための途中の積和演算結果、動き情報の算出そのものには関係しない画素値変化量そのものの加算値等、動き推定に関わるあらゆる情報を利用することができる。当該情報を使用した所定の規則に従って判断(判定)用の指標値を算出し、「信頼性の高い画素」であるか否かを判定する。
「信頼性の高い画素」であるか否かは、選択された分割画像についての1回目の動き探索処理の情報に基づく所定の規則に従って計算した指標値と閾値との比較による絶対的基準に基づいて判断してもよい。或いは、画像全体の全画素の内で前記指標値(例えば信頼性の高いほど値が大きいとする)が相対的に小さいものを破棄するという相対的基準に基づく閾値判定でもよい。前者は、閾値の設定次第で、次処理(詳しくは積和演算処理)に使用される総画素数が変わるため、最終的に算出される動き情報に寄与する画素数が変わるが、判断処理と積和演算処理とを逐次行なうことができる利点がある。後者は、次処理(積和演算処理)に使用される総画素数を一定にできるが、全画素の指標値の算出を行なってからでないと判断処理や積和演算処理に移行できない難点がある。
画像分割を適用するが、2回目の動き探索処理では、画像全体において、信頼性が高い分割画像の動き探索処理結果を元に画素ごとに信頼性の高い画素を選択する。分割画像ごとに重付けを行なうのではないので、信頼性が低いとされた分割画像中の画素全ての信頼性が低くなるということはない。信頼性が低いとされた分割画像中に信頼性の高い画素があった場合、その画素は、適正に信頼性の高い画素として選択される。結果的には、信頼性の高い画素が分割画像の何れに存在するかに関わらず、信頼性の高い画素の情報が無駄にされることなく確実に選択されて動き推定が行なわれるため、精度の高い動き推定を行なうことができる。これにより、ロバスト性が高く、且つ、信頼性の高い画素の情報を無駄にしない高精度の動き推定を行なうことができる。
このようなグローバル動き探索処理を前処理として利用し、画揺れ補正、超解像処理、時間軸合成処理、高ダイナミックレンジ処理、スティッチング処理、ステレオ視マッチング処理等を行なう撮像装置や電子機器を構成すると、精度の高い動き推定結果に基づいて精度の高い画像補正情報を算出できるため、正確な画揺れ補正や超解像処理等を実現することができる。
本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムにおいては、好ましくは、代表特徴値算出部を更に備えているとよい。これは、分割画像選択部が、動き探索処理結果の信頼性の高い分割画像を複数選択する場合への対処である。この場合、代表特徴値算出部は、選択された複数の分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値を算出する。第2の動き探索処理部は、この結果を受けて2回目の動き探索処理を行なう。即ち、第2の動き探索処理部は、選択された複数の分割画像についての代表特徴値算出部により算出された代表的な特徴値に基づいて動き探索処理結果が信頼性の高い画素であるか否かを判断し、信頼性の高い画素を用いて画像全体に対して動き探索処理を行なう。
本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムにおいては、好ましくは、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいてグローバル動き探索の難易度が予め定められた閾値以上であるか(難易度が高いか)否かを判定することにより、第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備えるとよい。判定部が、第1の動き探索処理部による動き探索結果が無効であると判定したときには、第2の動き探索処理部は、動き探索処理を行なわないようにしてもよい。有効な動き推定ができないからである。或いは、分割画像の選択における選択条件を変えて再度、処理をやり直してもよい。
「第1の動き探索処理部による分割画像ごとの動き探索処理の情報」における「動き探索処理の情報」としては、例えば、動き探索処理結果として算出される動き情報(動きベクトル)、動き情報を算出するための途中の積和演算結果、動き情報の算出そのものには関係しない画素値変化量そのものの加算値等、動き推定に関わるあらゆる情報を利用することができる。当該情報を使用した所定の規則に従って判断(判定)用の指標値を算出し、「信頼性の高い画素」であるか否かを判定する。例えば、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく分割画像全体に亘る加算計算結果と、分割画像全体についての加算計算結果に基づいて算出した動き情報とを、全ての分割画像について取得し、取得した各値で表される条件式に従ってグローバル動き探索の難易度が高いか否かを判定する。「取得した各値で表される条件式」としては、LK法における誤差関数値の画像全体に亘る分布の標準偏差に関する条件式や、1画素当たりの時間方向の画素値変化の絶対値に関する条件式を挙げることができる。
本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムにおいては、好ましくは、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、信頼性の高い画素であるか否かを判断しながら、分割画像ごとに動き探索処理を行なう第3動き探索処理部を備えるとよい(第1の手法と記す)。この場合、第2の動き探索処理部は、第3の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう。或いは、第2の動き探索処理部による画像全体に対しての動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第3の動き探索処理部を備えるとよい(第2の手法と記す)。第2の手法を採る場合には、第3の動き探索処理部は、第2動き探索処理部による2回目の動き探索処理の情報に基づいて、外れ値除去処理を行なうこともできる。つまり、信頼性の高い画素であるか否かを判断し、信頼性の高い画素を用いて画像全体に対して動き探索処理を行なうことができる。
つまり、第1の手法及び第2の手法の何れも、外れ値除去処理を含む動き探索処理の情報を用いて、再度、外れ値除去処理を含む動き探索処理を行なうのがよい。より正しい動き推定の情報を使用して、外れ値除去を行なうことができるため、結果として、正確な動き探索処理を行なうことができる。第1の手法では、分割画像ごとの動き探索処理及び画像選択を再度行なうことにより、第2の手法より、処理量は増えるが、精度の高い外れ値除去用の値を算出することができる。一方、第2の手法では、画像全体に対して外れ値除去を含む動き探索処理を行ない、その情報を使用して、再度、画像全体に外れ値除去を含む動き探索処理を行なうので、分割画像ごとの動き探索処理及び画像選択は1回で済むため、第1の手法より処理量は少なくなる。
本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムにおいては、好ましくは、処理対象画像の画像特徴値に基づいて、画像分割及び/又は動き探索処理を行なうとよい。「処理対象画像の画像特徴値」としては、画像中のオブジェクト情報やエッジ情報が挙げられる。
例えば、「処理対象画像の画像特徴値」が画像中のオブジェクト情報である場合、画像分割部は、画像特徴値としての画像中のオブジェクト情報に基づいて処理対象画像を不均等に複数の分割画像に分割可能な構成にすることができる。オブジェクト情報を使用して注目被写体の動きに合わせて画像分割を行なうことにより、ローカル動きがある画像と無い(或いは少ない)画像とに分割することができるため、正確な動き探索処理を行なうことができる。
或いは、「処理対象画像の画像特徴値」がエッジ情報である場合、第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備えた構成とし、この判定部が、画像特徴値としてのエッジ情報に基づいてグローバル動き探索の難易度が高いか否かを判定することにより、第1の動き探索処理部による動き探索結果が無効か否かを判定する構成にすることもできる。エッジ情報に基づいて、第1の動き探索処理部による動き探索処理の信頼度を判定し、動き推定結果の信頼度が低い画像では、動き推定結果を無効とすることにより、結果として誤補正を行なわなくなる。換言すると、誤補正を防ぐため、画像全体のエッジ量を計算し、画像全体中にエッジが少ない場合は第1の動き探索処理部による動き探索処理結果を無効とすることができる。
或いは又、「処理対象画像の画像特徴値」がエッジ情報である場合、第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備えた構成とし、この判定部が、分割画像ごとに、画像特徴値としてのエッジ情報に基づいて、第1の動き探索処理部による動き探索結果が無効か否かを判定し、無効のときは当該分割画像の第1の動き探索処理部による動き探索処理結果を無効とする構成にすることもできる。この場合、分割画像選択部は、判定部による処理後の第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、動き探索処理結果の信頼性の高い分割画像を選択する。又、判定部は、当該判定後の全ての分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいてグローバル動き探索の難易度が高いか否かを判定することにより、動き探索結果が無効か否かを判定することもできる。このような構成では、分割画像ごとにエッジ量を計算し、分割画像中にエッジが少ない場合は、その分割画像の動き探索処理結果を無効とする。このため、誤まった動き探索処理結果を使用しての画像選択が行なわれなくなるため、正確な画像選択を行なうことができる。又、精度の高い外れ値除去を行なうことができるため、2回目以降の動き探索処理では、正確な動き探索処理を行なうことができる。
本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムにおいては、動き探索処理の結果として算出される動き情報として、画像の平行移動に関する動き情報を算出することもできるし、画像の回転移動に関する動き情報を算出することもできる。算出する結果が平行移動情報のみである場合は処理が簡単であるが、行移動情報以外の高度の移動情報を利用することはできない。これに対して、算出する結果がアフィン情報を含む場合は、処理が複雑であるが、2枚画像間の回転、スケーリング、シアー、平行移動の情報を算出することができ、より高度の移動情報を利用することができる。これにより、平行移動の補正だけでなく、回転、スケーリング、シアーの補正も行なうことができ、より安定化した画像シーケンスを出力することができる。
本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムにおいては、好ましくは、各動き探索処理部の少なくとも1つは、LK法により動き探索処理を行なうとよい。局所的な動被写体や照度変化等にロバストで、精度の高い動き推定を行なうことができるだけでなく、LK法の適用により高い計算実行効率を保つこともできる。
LK法を適用する場合、更に好ましくは、第1の動き探索処理部は、分割画像ごとに、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を分割画像全体に亘って行なった加算計算結果に基づいて動き情報を算出するとよい。例えば、第1の動き探索処理部は、分割画像ごとに、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を分割画像全体に亘って行なった加算計算結果に基づいて動き情報を算出するとよい。
或いは、LK法を適用する場合、更に好ましくは、第2の動き探索処理部は、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を画像全体に亘って行なうとよい。この場合、第2の動き探索処理部は、選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づく設定条件に従って信頼性の高い画素であるか否かを判断し、設定条件を満足する場合に加算計算を行なうとよい。例えば、第2の動き探索処理部は、動き探索処理結果が信頼性の高い画素であるか否かを判断する情報として、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく分割画像全体に亘る加算計算結果と、分割画像全体についての加算計算結果に基づいて算出した動き情報とを選択された分割画像について取得し、取得した各値で表される設定条件に従って、画素ごとに加算するか否かの判断を行なうとよい。更には、第2の動き探索処理部は、LK法における誤差関数値の選択された各分割画像全体に亘る分布の状況を示す指標値に関する設定条件や、LK法における画素値変化の選択された各分割画像全体に亘る分布の状況を示す指標値に関する設定条件を使用するとよい。
固体撮像装置は、電磁波に対して感応性をする電荷検出部(典型的には光電変換部)を備えており、電荷検出部を利用して画像を取り込む画像取込部に適用可能であり、当該固体撮像装置を用いる撮像装置や電子機器全般に搭載して用いられる。例えば、デジタルスチルカメラやビデオカメラ等の撮像装置に使用されるし、電子機器としては、携帯電話機等の撮像機能を有する携帯端末装置、画像読取部に固体撮像装置或いは撮像装置を用いる複写装置等が挙げられる。固体撮像装置及び撮像装置はリニアセンサ及びエリアセンサを含む。即ち、固体撮像装置は、光や放射線等の外部から入力される電磁波に対して感応性をする単位構成要素(例えば画素)をライン状もしくはマトリクス状に複数個配列してなる物理量分布検知半導体装置の一態様と捉えることもできるし、撮像装置は物理量分布検知半導体装置を利用した物理情報取得装置(物理量分布検知装置)の一態様と捉えることもできる。
本実施形態の構成は、光や放射線等の外部から入力される電磁波に対して感応性をする電荷検出部を備えた固体撮像装置に限らず、各種の物理量の変化を電荷量の変化として検知するあらゆるものに適用できる。例えば指紋に関する情報を圧力に基づく電気的特性の変化や光学的特性の変化に基づき指紋の像を検知する指紋認証装置等、その他の物理的な変化を検知する装置に適用可能である。例えば、タッチパネルにおける検出部に本開示の技術を適用できる。或いは、コンピュータ機器の分野では、指紋に関する情報を圧力に基づく電気的特性の変化や光学的特性の変化に基づき指紋の像を検知する指紋認証装置等が使われているが、これらは、単位構成要素(固体撮像装置にあっては画素)によって電気信号に変換された物理量分布を電気信号として読み出すものであり、本開示の技術を適用できる。電子機器に搭載されるカメラモジュールを撮像装置と称する場合もある。以下で説明する構成は、固体撮像装置及びこれを搭載した撮像装置への適用で代表的に説明するが、これに限らず、撮像機能を有する各種の電子機器にも適用可能である。このことから理解されるように、請求項に記載の技術に限らず、固体撮像装置等と同様の機能部を備えた物理量分布検知半導体装置や物理情報取得装置を本開示が提案する技術として抽出することもできる。因みに、本明細書では、特段の断り(例えば、この項で区別して説明した点)のない限り、物理量分布検知半導体装置は固体撮像装置で代表して記述し(換言すると物理量分布検知半導体装置は固体撮像装置を含み)、物理情報取得装置は撮像装置で代表して記述する(換言すると物理情報取得装置は撮像装置を含む)。
<具体的な適用例>
以下に、本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムの具体的な適用例を説明する。
以下に、本明細書で開示する画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラムの具体的な適用例を説明する。
[グローバル動き探索処理装置及び画像処理装置]
図1は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例1を説明する図である。ここで、図1(A)は、実施例1のグローバル動き探索処理装置3Aを備えた画像処理装置1Aを示し、図1(B)は、実施例1のグローバル動き探索処理装置の基本構成を示すブロック図である。
図1は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例1を説明する図である。ここで、図1(A)は、実施例1のグローバル動き探索処理装置3Aを備えた画像処理装置1Aを示し、図1(B)は、実施例1のグローバル動き探索処理装置の基本構成を示すブロック図である。
図1(A)に示すように、実施例1の画像処理装置1Aはグローバル動き探索処理装置3Aを有する。実施例1のグローバル動き探索処理装置3Aは、現画像CIMと参照画像RIM(例えば1フレーム前の画像)の2枚の画像を取り込んで1組の動きベクトルMV(詳しくは2回目の動き探索処理(2ndME)の結果である動きベクトルMV’)を出力するグローバル動き探索処理を行なう。後述する実施例2とは異なり、画像の動き情報を示す動きベクトルMV’は平行移動情報のみを表す。
図1(B)に示すように、グローバル動き探索処理装置3Aは、第1動き探索処理部10(1stME)(第1の動き探索処理部)、動き探索判定部20、第2動き探索処理部30(2ndME)(第2の動き探索処理部)、及び、記憶部50(メモリ)を備える。動き探索判定部20は、第1動き探索処理部10による動き探索結果が無効か否かを判定するものであり、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいてグローバル動き探索の難易度が高いか否かを判定するための機能部として、標準偏差判定部22と画素値変化判定部24とを有する。標準偏差判定部22は、第1動き探索処理部10(1stME)の処理結果や加算結果等を使用して誤差関数値に関する標準偏差Seを算出し、標準偏差Seを閾値判定する。画素値変化判定部24は、第1動き探索処理部10(1stME)の処理結果や加算結果等を使用して画素値変化の絶対値Dを算出し、絶対値Dを閾値判定する。動き探索判定部20は、標準偏差判定部22と画素値変化判定部24の少なくとも一方の閾値判定結果に基づいて、第1動き探索処理部10による1回目の動き探索処理(1stME)が有効であるのか否かを判定する。
因みに、本実施形態では、動き探索判定部20を備える構成で説明するが、動き探索判定部20を備えない構成にすることもできる。この場合、第2動き探索処理部30は、動き探索判定部20による処理結果を参照することなく、2回目の動き探索処理を行なうことになる。
本実施形態の特徴として、グローバル動き探索処理装置3Aは、画像を分割し、その中から代表的な動きベクトルMVを算出する画像分割・選択処理部60を備える。本実施形態の第1動き探索処理部10は、画像分割・選択処理部60により分割された分割画像(分割領域)ごとに動き探索処理を行なうものであり、分割領域動きベクトル算出部の機能を持つ。画像分割・選択処理部60は、画像領域を複数に分割し、次に第1動き探索処理部10により算出された分割領域ごとの一組の各特徴量を元に信頼性の高い画像領域を単数或いは複数選択する。単数の場合はそれを代表的な特徴値とするが、複数選択する場合は、選択した画像領域の特徴値を元に代表的な特徴値を算出する。
これらの処理を行なうべく、詳細には、先ず、画像分割・選択処理部60は、画像分割部62及び割画像選択部66を有する。又、選択された複数の分割画像についての第1動き探索処理部10による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値(代表動きベクトル)を算出する代表特徴値算出部(代表動きベクトル算出部)を設ける。図示した例では、第2動き探索処理部30が代表特徴値算出部38を有する例で示している。この場合、2回目の動き探索処理を行なう過程で、代表的な特徴値を算出する。尚、代表特徴値算出部は、第2動き探索処理部30ではなく画像分割・選択処理部60に設けてもよく、この場合、2回目の動き探索処理を行なう前に予め、代表的な特徴値を算出する構成となる(実施例4、実施例5を参照)。
第2動き探索処理部30は、画像領域全体において、画像分割・選択処理部60で得られた代表的な特徴値(動きベクトルMV)を元に画素ごとに信頼性の高い画素を選択し、信頼性の高い画素を用いて動き推定を行なう。第2動き探索処理部30は、その結果に基づいて、画像領域全体に対し一組の動き情報の算出を行なう。
グローバル動き探索処理装置3Aは、2次元画像の水平方向(x)及び垂直方向(y)並びに時間方向(t)の関数として表される画像シーケンスI(x,y,t)のうち2枚の画像間のグローバル動き探索処理GME(グローバルME)を行なうために、画像全体に亘るLK法を、複数回(2回以上)実行する機能を有する。ここで、グローバル動き探索処理装置3Aは、1回目の動き探索処理(1stME)では、画像分割・選択処理部60により分割された分割画像ごとに動き探索処理を行なう点と、2回目の動き探索処理(2ndME)では、画像分割・選択処理部60で取得される代表的な動きベクトルMVを元に画像全体に対して動き探索処理を行なうことにより信頼性の高い動き推定を行なう点に特徴がある。動き推定手法として、入力画像を複数に分割して1回目の動き推定を分割画像ごとに行ない、次に1回目の動き推定の結果より特徴値を算出し、算出した特徴値を元に入力画像全体に対して2回目の動き推定を行なう。これにより、ロバスト性が高く、精度の高い動き推定を行なうことができる。以下、各機能部の基本的な処理について簡単に説明する。
尚、動きベクトルの検出を行なうに当たっての手法としては、例えば、勾配法(LK法に限らずその他のものでもよい)、ブロックマッチング法、Hesse法やSIFT法等、何れの手法でもよい。又、動きベクトルの検出を複数回行なうが、各回の手法は同じである必要はない。以下では、説明を簡潔にするべく、又、好適な例として、各回の動きベクトルの検出はLK法を基本とした手法で行なう例で説明する。
〔画像分割・選択処理部60:画像分割と信頼性の高い分割画像の選択〕
画像分割の手法としては、特開2004−015376号公報等に記載の画像分割等様々な方法があるが、どのような手法を用いてもよい。又、何れの手法を採用する場合でも、画像を均等に分割する方法に限らず、不均等な画像分割でもよい。
画像分割の手法としては、特開2004−015376号公報等に記載の画像分割等様々な方法があるが、どのような手法を用いてもよい。又、何れの手法を採用する場合でも、画像を均等に分割する方法に限らず、不均等な画像分割でもよい。
信頼性の高い分割画像の選択の手法にも様々な方法があるが、信頼性の高い画像領域を選択する限りにおいてどのような手法を用いてもよい。例えば、処理対象の画像シーケンスI(x,y,t)の領域を画像分割部62により複数に分割し、第1動き探索処理部10により分割領域ごとに特徴量(ここでは動きベクトルMV)を算出する。分割画像選択部66は、各特徴量(動きベクトルMV)の中から信頼性の高い特徴量を有する分割領域を1つ或いは複数選択する。代表動きベクトル算出部68は、分割画像選択部66により選択された分割領域が1つの場合はその分割領域の特徴量を代表的な特徴値とし、分割画像選択部66により選択された分割領域が複数の場合は、それぞれの分割領域の特徴量を元に代表的な特徴値を算出する。
ここで、分割領域を1つ或いは複数選択する際には、ソート処理を利用するのが好適である。例えば、1回目の動き探索処理(1stME)の結果から、他分割画像との動きベクトルMVの差を求め、算出された値をソートキーとしてソートを行なうことにより、他分割画像との動きベクトルMVの差が小さい分割画像を、予め決められている選択個数分だけ選択し、その情報を記憶部50に保存する。分割画像の選択個数は動き推定処理ごとに変更できるようにするとよい。
〔第1動き探索処理部10:1回目の動き探索処理(1stME)〕
1回目の動き探索処理では、分割画像ごとに、LK法の結果として1組の動きベクトルMV(Vx、Vy)を計算して、計算結果を記憶部50に保存しておく。保存された動きベクトルMVは、分割画像の選択や2回目の動き探索処理等に利用される。この際、動きベクトルMV(Vx、Vy)を求めるために必要な途中の計算結果であるAxx(=Σ(Ix)2)、Ayy(=Σ(Iy)2)、Axy(=Σ(Ix・Iy))、Axt(=Σ(Ix・It))、Ayt(=Σ(Iy・It))も、以降のME無効判定や2回目以降の動き探索処理等で使用するため、記憶部50に保存しておく。更には、本来のLK法では必要としないAx(=ΣIx)、Ay(=ΣIy)、At(=ΣIt)、Att(=Σ(It)2)等の付加情報も同様に計算し、計算結果を記憶部50に保存しておく。ここで、Ix、Iy、Itはそれぞれ、画像シーケンスI(x,y,t)の水平方向、垂直方向、時間方向の当該画素における画素値変化量を示し、その限りにおいて、例えば偏微分値を算出する等、様々な計算方法を採用することができる。Ix,Iy,Itからなる項の加算値Σは、各成分を分割画像全体(必要に応じて時間成分も加味する)に亘って加算したもの(総和)を示す。例えば、本実施形態では使用していないが、水平方向、垂直方向、及び、時間方向の全てを加味する場合の加算値Σは、水平方向の画素値変化量と垂直方向の画素値変化量と時間方向の画素値変化量からなる任意の計算式の計算結果を、画像全体に亘って加算したものとなる。水平方向と垂直方向を加味する場合の加算値Σは、水平方向の画素値変化量と垂直方向の画素値変化量からなる任意の計算式の計算結果を、画像全体に亘って加算したものとなる。水平方向(或いは垂直方向)と時間方向を加味する場合の加算値Σは、水平方向(或いは垂直方向)の画素値変化量と時間方向の画素値変化量からなる任意の計算式の計算結果を、画像全体に亘って加算したものとなる。
1回目の動き探索処理では、分割画像ごとに、LK法の結果として1組の動きベクトルMV(Vx、Vy)を計算して、計算結果を記憶部50に保存しておく。保存された動きベクトルMVは、分割画像の選択や2回目の動き探索処理等に利用される。この際、動きベクトルMV(Vx、Vy)を求めるために必要な途中の計算結果であるAxx(=Σ(Ix)2)、Ayy(=Σ(Iy)2)、Axy(=Σ(Ix・Iy))、Axt(=Σ(Ix・It))、Ayt(=Σ(Iy・It))も、以降のME無効判定や2回目以降の動き探索処理等で使用するため、記憶部50に保存しておく。更には、本来のLK法では必要としないAx(=ΣIx)、Ay(=ΣIy)、At(=ΣIt)、Att(=Σ(It)2)等の付加情報も同様に計算し、計算結果を記憶部50に保存しておく。ここで、Ix、Iy、Itはそれぞれ、画像シーケンスI(x,y,t)の水平方向、垂直方向、時間方向の当該画素における画素値変化量を示し、その限りにおいて、例えば偏微分値を算出する等、様々な計算方法を採用することができる。Ix,Iy,Itからなる項の加算値Σは、各成分を分割画像全体(必要に応じて時間成分も加味する)に亘って加算したもの(総和)を示す。例えば、本実施形態では使用していないが、水平方向、垂直方向、及び、時間方向の全てを加味する場合の加算値Σは、水平方向の画素値変化量と垂直方向の画素値変化量と時間方向の画素値変化量からなる任意の計算式の計算結果を、画像全体に亘って加算したものとなる。水平方向と垂直方向を加味する場合の加算値Σは、水平方向の画素値変化量と垂直方向の画素値変化量からなる任意の計算式の計算結果を、画像全体に亘って加算したものとなる。水平方向(或いは垂直方向)と時間方向を加味する場合の加算値Σは、水平方向(或いは垂直方向)の画素値変化量と時間方向の画素値変化量からなる任意の計算式の計算結果を、画像全体に亘って加算したものとなる。
〔動き探索判定部20:1回目の動き探索処理結果の有効・無効の判定〕
動き探索判定部20は、1回目の動き探索処理結果及び途中の計算結果を使用して、第1動き探索処理部10による動き探索処理が有効であるか無効であるかを判定する。例えば、動き探索判定部20は、第1動き探索処理部10により求められた動きベクトルMV(Vx、Vy)に基づいて、グローバル動き探索処理GMEの難易度が高いと判断される場合は第1動き探索処理部10による動き探索処理結果を無効とする。この場合、第2動き探索処理部30による2回目のLK法を実行する必要はない。この判断の際には、第2動き探索処理部30は、1回目の動き探索処理結果及び途中の計算結果を使用して、標準偏差Se(=σe:LK法における誤差関数値の画像全体に亘る分布の標準偏差)及び絶対値D(=δ:1画素当たりの時間方向の画素値変化の絶対値)を求め、標準偏差Se及び/又は絶対値Dを予め決めておいた閾値パラメータと比較する処理(閾値判定)を行なう。動き探索判定部20は、各値が閾値より「低い」と判定した場合は第1動き探索処理部10による動き探索処理が「有効」であると判定し、これを受けて、第2動き探索処理部30は、1回目の動き探索処理結果及び途中の計算結果を使用して、2回目の動き探索処理を行なう。一方、動き探索判定部20は、各値が閾値より「高い」と判定した場合は第1動き探索処理部10による動き探索処理が「無効」であると判定し、1回目の動き探索処理結果である動きベクトルMV(Vx=DVx、Vy=DVx)を「0:ゼロ」とする。この場合、グローバル動き探索処理装置3Aは、第2動き探索処理部30による2回目の動き探索処理を行なわずに、全体の処理を終了する。因みに、「低い」は「以下」でもよいし「未満」でもよく、「高い」は前述の「低い」と対応するように、「以下」の場合は「上回る」とし、「未満」の場合は「以上」とするとよい。
動き探索判定部20は、1回目の動き探索処理結果及び途中の計算結果を使用して、第1動き探索処理部10による動き探索処理が有効であるか無効であるかを判定する。例えば、動き探索判定部20は、第1動き探索処理部10により求められた動きベクトルMV(Vx、Vy)に基づいて、グローバル動き探索処理GMEの難易度が高いと判断される場合は第1動き探索処理部10による動き探索処理結果を無効とする。この場合、第2動き探索処理部30による2回目のLK法を実行する必要はない。この判断の際には、第2動き探索処理部30は、1回目の動き探索処理結果及び途中の計算結果を使用して、標準偏差Se(=σe:LK法における誤差関数値の画像全体に亘る分布の標準偏差)及び絶対値D(=δ:1画素当たりの時間方向の画素値変化の絶対値)を求め、標準偏差Se及び/又は絶対値Dを予め決めておいた閾値パラメータと比較する処理(閾値判定)を行なう。動き探索判定部20は、各値が閾値より「低い」と判定した場合は第1動き探索処理部10による動き探索処理が「有効」であると判定し、これを受けて、第2動き探索処理部30は、1回目の動き探索処理結果及び途中の計算結果を使用して、2回目の動き探索処理を行なう。一方、動き探索判定部20は、各値が閾値より「高い」と判定した場合は第1動き探索処理部10による動き探索処理が「無効」であると判定し、1回目の動き探索処理結果である動きベクトルMV(Vx=DVx、Vy=DVx)を「0:ゼロ」とする。この場合、グローバル動き探索処理装置3Aは、第2動き探索処理部30による2回目の動き探索処理を行なわずに、全体の処理を終了する。因みに、「低い」は「以下」でもよいし「未満」でもよく、「高い」は前述の「低い」と対応するように、「以下」の場合は「上回る」とし、「未満」の場合は「以上」とするとよい。
このような動き探索判定部20による標準偏差Seや絶対値Dの閾値判定により、画像内のローカル動きが大き過ぎるときに出易い望ましくない動きベクトルMVを誤って使用することを防ぐことができる。同様に標準偏差Seや絶対値Dの閾値判定により、画像の照度変化が大きす過ぎるときに出易い望ましくない動きベクトルMVを誤って使用することを防ぐことができる。尚、閾値判定する際に、過去の標準偏差Seや絶対値Dも用いて平均化フィルタをかけたあとに閾値比較するとより望ましい結果が得られる。更に、ヒステリシス性を持った閾値比較をするとより望ましい結果が得られる。
〔第2動き探索処理部30:2回目の動き探索処理(2ndME)〕
2回目の動き探索処理では、基本的には1回目と同様にLK法の結果として新たに1組の動きベクトルMV’(Vx’、Vy’)を計算し直し、計算結果を記憶部50に保存する。ここで、1回目との違いは、動きベクトルMV’の計算に必要な途中の計算結果や付加情報を求める際に、画素ごとに、加算するかどうかの判断を行なう点にある。途中の計算結果は、Axx’(=Σ(I’x)2)、Ayy’(=Σ(I’y)2)、Axy’(=Σ(I’x・I’y))、Axt’(=Σ(I’x・I’t))、Ayt’(=Σ(I’y・I’t))である。付加情報は、Ax’(=ΣI’x)、Ay’(=ΣI’y)、At’(=ΣI’t)、Att’(=Σ(I’t)2)である。尚、後述する他の実施例においては、途中の計算結果であるAxx’、Ayy’、Axy’、Axt’、Ayt’や付加情報Ax’、Ay’、At’、Att’を、更なる後段の動き探索処理等で使用するため、記憶部50に保存しておく。因みに、アポストロフィ「’」は、1回目の計算と2回目の計算を区別するために付したものであるが、同じ画像ペアに対して2回のLK法を実行するだけなので、実際にはI’=Iであり、一方、各計算値は加算するかどうかの判断が行なわれるため1回目とは異なる値となる。
2回目の動き探索処理では、基本的には1回目と同様にLK法の結果として新たに1組の動きベクトルMV’(Vx’、Vy’)を計算し直し、計算結果を記憶部50に保存する。ここで、1回目との違いは、動きベクトルMV’の計算に必要な途中の計算結果や付加情報を求める際に、画素ごとに、加算するかどうかの判断を行なう点にある。途中の計算結果は、Axx’(=Σ(I’x)2)、Ayy’(=Σ(I’y)2)、Axy’(=Σ(I’x・I’y))、Axt’(=Σ(I’x・I’t))、Ayt’(=Σ(I’y・I’t))である。付加情報は、Ax’(=ΣI’x)、Ay’(=ΣI’y)、At’(=ΣI’t)、Att’(=Σ(I’t)2)である。尚、後述する他の実施例においては、途中の計算結果であるAxx’、Ayy’、Axy’、Axt’、Ayt’や付加情報Ax’、Ay’、At’、Att’を、更なる後段の動き探索処理等で使用するため、記憶部50に保存しておく。因みに、アポストロフィ「’」は、1回目の計算と2回目の計算を区別するために付したものであるが、同じ画像ペアに対して2回のLK法を実行するだけなので、実際にはI’=Iであり、一方、各計算値は加算するかどうかの判断が行なわれるため1回目とは異なる値となる。
ここで、第2動き探索処理部30は、加算するかどうかの判断に当たって、1回目の動き探索処理結果及び途中の計算結果を使用し、誤差関数値の分布平均Me’及び標準偏差Se’並びに画素値変化の分布平均Mi’及び標準偏差Si’を求める。更に、第2動き探索処理部30は、分布平均に対する各画素における外れ値度合いを計算し、外れ値度合いを予め決めておいた閾値パラメータ(例えば標準偏差)と比較する処理(閾値判定)を行なう。
分布平均Me’はLK法における誤差関数値の選択した分割画像(選択画像)内の分布の平均μe’である。標準偏差Se’は、LK法における誤差関数値の選択した分割画像内の分布の標準偏差σe’である。分布平均Mi’は時間方向の画素値変化の選択した分割画像内の分布の平均μi’である。Si’は時間方向の画素値変化の選択した分割画像内の分布の標準偏差σi’である。
第2動き探索処理部30は、何れか一方或いは両方が成立した場合は(外れ値度合いが閾値を上回っている、以下「外れ値である」とも記す)、各加算値Σ(ここでは特にAxx’、Ayy’、Axy’、Axt’、Ayt’)を求めずに次の画素に進む。即ち、第2動き探索処理部30は、LK法における誤差関数値の平均と標準偏差に基づいて、各画素における誤差関数値からの外れ値度合いを計算し、それが閾値を上回っているかどうかを判定し、これが成立するとき該当画素を動きベクトルMV’の計算に入れない。或いは、第2動き探索処理部30は、時間方向の画素値変化の平均と標準偏差に基づいて、各画素における画素値変化からの外れ値度合いを計算し、それが閾値を上回っているかどうかを判定し、これが成立するとき該当画素を動きベクトルMV’の計算に入れない。このようにすることで、ある程度のローカル動きやノイズ的な輝度変化を除去し、グローバル動きベクトルMV’として望ましい結果を得ることができる。
特に、実施例1(後述の他の実施例でも同様)では、1回目の処理結果や演算途中の情報を使用して、2回目のLK法において外れ値除去を行なうので、1回目の処理結果や演算途中の情報を使用しない非特許文献1に記載の外れ値除去を含むLK法の場合に比べて、処理量を少なくすることができる。そのため、LK法の高い計算実行効率を保ちながら、局所的な動被写体や照度変化等にロバストなグローバル動き探索処理を行なうことができる。
[グローバル動き探索処理装置の具体的な処理]
〔処理手順の全体概要〕
図2は、実施例1のグローバル動き探索処理装置3Aが行なうグローバル動き探索処理の手順の全体概要を説明するフローチャートである。
〔処理手順の全体概要〕
図2は、実施例1のグローバル動き探索処理装置3Aが行なうグローバル動き探索処理の手順の全体概要を説明するフローチャートである。
先ず、画像分割・選択処理部60の画像分割部62は、画像分割数Nの設定を受け付け(S10)、処理対象フレーム画像(現画像CIM)及び参照画像RIMを画像分割数Nに従って分割する(S12:詳細は後述する)。尚、後述のように、横分割数Xと縦分割数Yの設定を受け付けて、これに基づいて画像分割数Nを設定してもよい。
次に、第1動き探索処理部10は、各分割画像に対してLK法を利用した1回目の動き探索処理(1stME)を行なう。具体的には、第1動き探索処理部10は先ず分割画像番号と対応するオペレータnを「0」にセットし(S20)、n(=0)番目の分割画像に対してLK法を利用した動き探索処理(1stME)を行なう(S21:詳細は後述する)。第1動き探索処理部10は、この「n(=0)」の元で行なった処理結果である動きベクトルMV(Vx、Vy)を動きベクトルMDV(DVx[n]、DVy[n])として記憶部50に保存する(S26)。そして、第1動き探索処理部10は、オペレータnを「1」インクリメントし、オペレータn=N−1の処理が完了するまで同様の処理を繰り返す(S20、S28−N)。
第1動き探索処理部10により全ての分割画像に対しての1回目の動き探索処理(1stME)が完了すると(S28−Y)、画像分割・選択処理部60の分割画像選択部66は、各分割画像の動き探索処理(1stME)の結果を用いて、信頼性の高い分割画像を選択する(S30:詳細は後述する)。
次に、動き探索判定部20は、第1動き探索処理部10による1回目の動き探索処理結果及び途中の計算結果を使用して、グローバル動き探索処理GMEの難易度や信頼性を判定し、1回目の動き探索処理(1stME)が無効か否か(有効か)を判定する(S40:詳細は後述する)。動き探索判定部20は、グローバル動き探索処理GMEの難易度が高いと判断した場合は第1動き探索処理部10による動き探索処理を無効とし(S48−Y)、1回目の動き探索処理結果である動きベクトルMV(Vx=DVx、Vy=DVx)を「0:ゼロ」とし、これをグローバル動き探索処理GMEの結果(動きベクトルMV)として出力する(S92)。この場合、グローバル動き探索処理装置3Aは、第2動き探索処理部30による2回目のLK法を実行する必要はなく、全体の処理を終了する。一方、動き探索判定部20は、グローバル動き探索処理GMEの難易度が低いと判断した場合は第1動き探索処理部10による動き探索処理を有効とし(S48−N)、これを受けて、第2動き探索処理部30は、1回目の動き探索処理結果及び途中の計算結果を使用して、2回目の動き探索処理を行なう(S51:詳細は後述する)。第2動き探索処理部30は、2回目の動き探索処理(2ndME)の結果である動きベクトルMV’(Vx’、Vy’)をグローバル動き探索処理GMEの結果(動きベクトルMV)として出力して、全体の処理を終了する(S94)。第1動き探索処理部10による1回目の動き探索処理(1stME)が無効のときに(S48−Y)、第2動き探索処理部30による2回目の動き探索処理(2ndME)を行なわないことにより、望ましくない動きベクトルMVを誤って使用することを防ぐとともに、処理量を削減することができる。
〔画像分割処理〕
図3〜図4は、画像分割・選択処理部60の画像分割部62による実施例1の画像分割処理(S12)を説明する図である。ここで、図3は、画像分割部62による画像分割処理の手順を説明するフローチャートである。図4は、図3に示した画像分割処理手順により分割される分割画像とその分割画像の位置を特定する座標情報との関係を説明する図である。尚、各分割画像の番号は、左上から左下へ、その後一列右側へ移動し、上から下へと云うように、左上を0番とし、右下を最終番(N−1)とするように処理する。
図3〜図4は、画像分割・選択処理部60の画像分割部62による実施例1の画像分割処理(S12)を説明する図である。ここで、図3は、画像分割部62による画像分割処理の手順を説明するフローチャートである。図4は、図3に示した画像分割処理手順により分割される分割画像とその分割画像の位置を特定する座標情報との関係を説明する図である。尚、各分割画像の番号は、左上から左下へ、その後一列右側へ移動し、上から下へと云うように、左上を0番とし、右下を最終番(N−1)とするように処理する。
画像分割部62は先ず、処理対象画像(現画像CIM)及び参照画像RIM(例えば処理対象画像の1フレーム前の画像)の幅W(画素数で規定)及び高さH(画素数で規定)、並びに、横分割数X及び縦分割数Yの設定を受け付ける(S120)。実施例1の画像分割処理手法は、画像を均等に分割する方法であり、横分割数X・縦分割数Yが画像分割数Nになる。
次に、画像分割部62は、設定された横分割数X及び縦分割数Yに従って画像分割を行ない、各分割画像の位置を特定する座標情報を記憶部50に保存する。具体的には、画像分割部62は、横分割数Xに対応する配列変更要素aを0から「X−1」までとし、縦分割数Yに対応する配列変更要素bを0から「Y−1」までとして、分割画像の位置情報を算出して記憶部50に記憶する2次元ループを開始する(S124)。当該処理に入ると、画像分割部62は先ず配列変更要素a及び配列変更要素bをそれぞれ「0」にセットし(S124)、「a・X+b」番目の分割画像の位置を特定する垂直方向の座標情報Dy[a・X+b]及び水平方向の座標情報Dx[a・X+b]をそれぞれ計算する(S126)。例えば、各分割画像の左上頂点の座標情報を求めるべく、座標情報Dx[a・X+b]=W/X・aとし、座標情報Dy[a・X+b]=H/Y・bとする(S126)。ここで示した座標情報の算出式は例示であり、左下頂点や中心点等その他の算出式を用いてもよい。画像分割部62は、求めた座標情報Dx[a・X+b]及び座標情報Dy[a・X+b]を1回目の動き探索処理(1stME)に使用するため、記憶部50に保存する(S126)。そして、画像分割部62は、a,bループが終了したか否かを判定し、終了していない場合にはステップS124に戻り(S128−N)、終了した場合には次ステップに移行する。即ち、画像分割部62は、配列変更要素a或いは配列変更要素aを「1」インクリメントし、配列変更要素a=X−1及び配列変更要素b=Y−1についての処理が完了するまで同様の処理を繰り返す(S128−N)。
例えば、図4には、水平方向の幅Wが1400画素であり、垂直方向の高さHが1000画素である画像を、横分割数Xを2とし、縦分割数Yを2とし、全体として4分割する場合が例示されている。a=0且つb=0のときは、座標情報Dx[0・2+0]=1400/2・0=0であり、座標情報Dy[0・2+0]=1000/2・0=0である。つまり、「a・X+b」=0番目の分割画像は左上であり、その分割画像の左上頂点の水平方向の座標情報Dx[0]=0、垂直方向の座標情報Dy[0]=0である。a=0且つb=1のときは、座標情報Dx[0・2+1]=1400/2・0=0であり、座標情報Dy[0・2+1]=1000/2・1=500である。つまり、「a・X+b」=1番目の分割画像は左下であり、その分割画像の左上頂点の水平方向の座標情報Dx[1]=0、垂直方向の座標情報Dy[1]=500である。a=1且つb=0のときは、座標情報Dx[1・2+0]=1400/2・1=700であり、座標情報Dy[1・2+0]=1000/2・0=0である。つまり、「a・X+b」=2番目の分割画像は右上であり、その分割画像の左上頂点の水平方向の座標情報Dx[2]=700、垂直方向の座標情報Dy[2]=0である。a=1且つb=1のときは、座標情報Dx[1・2+1]=1400/2・1=700であり、座標情報Dy[1・2+1]=1000/2・1=500である。つまり、「a・X+b」=3番目の分割画像は右下であり、その分割画像の左上頂点の水平方向の座標情報Dx[3]=700、垂直方向の座標情報Dy[3]=500である。
〔1回目の動き探索処理(1stME)〕
図5は、第1動き探索処理部10による実施例1の1回目の動き探索処理(S21)を説明するフローチャートである。ここで示す動き探索処理は、LK法を増補したものであり、基本的には、第1動き探索処理部10は次式(式(1)と記す)に従って動きベクトルMV(Vx、Vy)を求める。尚、Axx(=Σ(Ix)2)、Ayy(=Σ(Iy)2)、Axy(=Σ(Ix・Iy))、Axt(=Σ(Ix・It))、Ayt(=Σ(Iy・It))、div=Axx・Ayy−Axy・Axy=Axx・Ayy−(Axy)2である。
図5は、第1動き探索処理部10による実施例1の1回目の動き探索処理(S21)を説明するフローチャートである。ここで示す動き探索処理は、LK法を増補したものであり、基本的には、第1動き探索処理部10は次式(式(1)と記す)に従って動きベクトルMV(Vx、Vy)を求める。尚、Axx(=Σ(Ix)2)、Ayy(=Σ(Iy)2)、Axy(=Σ(Ix・Iy))、Axt(=Σ(Ix・It))、Ayt(=Σ(Iy・It))、div=Axx・Ayy−Axy・Axy=Axx・Ayy−(Axy)2である。
以下、順を追って、説明する。第1動き探索処理部10は先ず、現画像配列Iと参照画像配列Jを入力し、分割画像(分割画像番号のオペレータn)の幅W’(=W/X)及び分割画像の高さH’(=H/Y)を得る(S210)。
次に、第1動き探索処理部10は、1回目の処理計算のパラメータAxx、Ayy、Axy、Axt、Aytを初期値0に設定する(S212)とともに、パラメータAx、Ay、At、Attを初期値0に設定する(S214)。
次に、第1動き探索処理部10は、分割画像(分割画像番号n)の座標xをDx[n]からDx[n]+W’−2、座標yをDy[n]からDy[n]+H’−2として、画像シーケンスI(x,y,t)の水平・垂直・時間方向の当該画素における画素値変化量(ここでは偏微分値を採用する)を算出して記憶部50に記憶する2次元ループを開始する(S216)。「W’−2」や「H’−2」における「−2]はループ処理における最終の画素位置であり、適当に定めればよい。最後を分割画像の辺とする場合であれば最終画素位置と対応するように「−1」であればよいが(つまり、画像の幅W−1=画像の最後の座標)、後述のように偏微分計算を行なう際には1つ先の画素をみるため、当該画素が辺の1つ手前までとなるように「−2」を使用する。
当該処理に入ると、第1動き探索処理部10は、座標(x,y)における現画像Iと参照画像Jの偏微分値Ix、Iy、Itを算出し、その算出結果を記憶部50に保存する(S218:詳細は後述する)。第1動き探索処理部10は、算出した偏微分値Ix、Iy、Itに基づいて、Axx、Ayy、Axy、Axt、Aytを算出し、その算出結果を記憶部50に保存する。具体的には、それぞれ直前ループで算出しておいた、Axxに当該画素のIx・Ixを加算し、Ayyに当該画素のIy・Iyを加算し、Axyに当該画素のIx・Iyを加算し、Axtに当該画素のIx・Itを加算し、Aytに当該画素のIy・Itを加算する(S220)。更には、第1動き探索処理部10は、算出した偏微分値Ix、Iy、Itに基づいて、本来LK法で必要としないAx、Ay、At、Aytも算出し、その算出結果を記憶部50に保存する。具体的には、それぞれ直前ループで算出しておいた、Axに当該画素のIxを加算し、Ayに当該画素のIyを加算し、Atに当該画素のItを加算し、Attに当該画素のIt・Itを加算する(S222)。
第1動き探索処理部10は、x,yループが終了したか否かを判定し、終了していない場合にはステップS216に戻り(S224−N)、終了した場合には次ステップに移行する。即ち、第1動き探索処理部10は、分割画像番号nの分割画像の全ての画素に対しての1回目の動き探索処理(1stME)が完了すると(S224−Y)、算出したAxx、Ayy、Axy、Axt、Aytを用いて式(1)に従って動きベクトルMV(Vx、Vy)を算出し(S226)、その算出結果を記憶部50に保存する(S228)。
〔偏微分値算出処理〕
図6は、第1動き探索処理部10による偏微分値算出処理(S218)を説明するフローチャートである。第1動き探索処理部10は、座標(x,y)における現画像Iと参照画像Jを得(S230)、その偏微分値Ix、Iy、Itを求める(S232)。例えば、現画像Iに関して、当該画素に対して水平方向に1単位(1画素)ずれた(画素番号が1増分)画素の偏微分値I[y][x+1]と当該画素の偏微分値I[y][x]との差分(=I[y][x+1]−I[y][x])を偏微分値Ixとして求め、当該画素に対して垂直方向に1単位(1画素)ずれた(画素番号が1増分)画素の偏微分値I[y+1][x]と当該画素の偏微分値I[y][x]との差分(=I[y+1][x]−I[y][x])を偏微分値Iyとして求める。更に、第1動き探索処理部10は、時間方向に1単位分ずれた現画像Iと参照画像Jとの同一画素の偏微分値I[y][x]と偏微分値J[y][x]の差分(=I[y][x]−J[y][x])を偏微分値Itとして求める。第1動き探索処理部10は、算出した各偏微分値Ix、Iy、Itを記憶部50に保存する(S234)。
図6は、第1動き探索処理部10による偏微分値算出処理(S218)を説明するフローチャートである。第1動き探索処理部10は、座標(x,y)における現画像Iと参照画像Jを得(S230)、その偏微分値Ix、Iy、Itを求める(S232)。例えば、現画像Iに関して、当該画素に対して水平方向に1単位(1画素)ずれた(画素番号が1増分)画素の偏微分値I[y][x+1]と当該画素の偏微分値I[y][x]との差分(=I[y][x+1]−I[y][x])を偏微分値Ixとして求め、当該画素に対して垂直方向に1単位(1画素)ずれた(画素番号が1増分)画素の偏微分値I[y+1][x]と当該画素の偏微分値I[y][x]との差分(=I[y+1][x]−I[y][x])を偏微分値Iyとして求める。更に、第1動き探索処理部10は、時間方向に1単位分ずれた現画像Iと参照画像Jとの同一画素の偏微分値I[y][x]と偏微分値J[y][x]の差分(=I[y][x]−J[y][x])を偏微分値Itとして求める。第1動き探索処理部10は、算出した各偏微分値Ix、Iy、Itを記憶部50に保存する(S234)。
〔分割画像選択処理〕
図7〜図8は、画像分割・選択処理部60の分割画像選択部66による実施例1の分割画像選択処理(S30)を説明する図である。ここで、図7は、分割画像選択部66による分割画像選択処理(S30)を説明するフローチャートである。図8は、図7に示した分割画像選択処理手順により選択される分割画像及び分割画像番号の関係を説明する図である。図8(A)には、1回目の動き探索処理(1stME)により記憶部50に保存された全分割画像分の動きベクトルMDV(DVx、DVy)並びにAxx、Ayy、Axy、Axt、Ayt、Ax、Ay、At、Attのアキュムレート値が示されている。[n]は各分割画像の番号を示す。
図7〜図8は、画像分割・選択処理部60の分割画像選択部66による実施例1の分割画像選択処理(S30)を説明する図である。ここで、図7は、分割画像選択部66による分割画像選択処理(S30)を説明するフローチャートである。図8は、図7に示した分割画像選択処理手順により選択される分割画像及び分割画像番号の関係を説明する図である。図8(A)には、1回目の動き探索処理(1stME)により記憶部50に保存された全分割画像分の動きベクトルMDV(DVx、DVy)並びにAxx、Ayy、Axy、Axt、Ayt、Ax、Ay、At、Attのアキュムレート値が示されている。[n]は各分割画像の番号を示す。
分割画像選択部66は先ず、他の分割画像の動きベクトルMDV(DVx[n]、DVy[n])との差の配列K[n]、分割画像番号の配列T[n]を記憶部50に確保するとともに、信頼性の高い分割画像の選択個数M(Mは全分割数N以下)を設定する(S300)。分割画像の選択個数Mは動き推定処理ごとに変更が可能であるとする。選択個数Mを「全分割数N以下」としたのは、使い勝手を考慮したものである。例えば、画像全体の信頼性が高い場合には、選択個数MはNを指定したい可能性がある。実施例1では、M=Nでも問題なく実施でき、「分割画像の選択個数Mは動き推定処理ごとに変更が可能である」としておくことにより、選択個数Mを「全分割数N未満とすることに限らず、M=Nの指定も可能である。M=Nの場合は、画像分割及び画像選択の処理自体は実施されるが、実質上は、画像全体に対して、2回の動き探索処理(2回目は外れ値除去)をすることになる。但し、画像全体に対して、単純に同じ動き探索処理を2回繰り返すと云うものではない。
次に、分割画像選択部66は、各分割画像の動き探索処理(1stME)の結果に基づく動きベクトルMDV(DVx[n]、DVy[n](nは0から「N−1」、図8(A)を参照))を用いて、オペレータnを0から「N−1」まで、オペレータmを0から「N−1」までとして、動きベクトル差の合計値K[n]を算出して記憶部50に記憶する2次元ループを開始する(S302)。当該処理に入ると、分割画像選択部66は先ず、オペレータnを0として、オペレータmが0から「N−1」まで(n=mのときは処理不要)の水平方向及び垂直方向の各動きベクトル差の合計を動きベクトル差の合計値K[0]として算出して記憶部50の配列に記憶する(S304)。具体的には(図8を参照して説明すると)、合計値K[0]を「0」に初期化し、オペレータmを1として、K[0]=|(DVx[0]−DVx[1])|+|DVy[0]−DVy[1]|を算出する。次に、オペレータmを2としたときの|(DVx[0]−DVx[2])|+|DVy[0]−DVy[2]|を算出して、直前ループ(m=1)で算出しておいたK[0]にその算出結果を加算する。更に、オペレータmを3としたときの|(DVx[0]−DVx[3])|+|DVy[0]−DVy[3]|を算出して、直前ループ(m=2)で算出しておいたK[0]にその算出結果を加算することにより、最終的な動きベクトル差の合計値K[0]を求めて記憶部50に記憶する。同様にして、オペレータnを1から「N−1」まで繰り返すことにより、動きベクトル差の合計値K[1]、動きベクトル差の合計値K[2]、動きベクトル差の合計値K[3]をそれぞれ求めて記憶部50の各配列に記憶する(図8(B)を参照)。
そして、分割画像選択部66は、n,mループが終了したか否かを判定し、終了していない場合にはステップS302に戻り(S306−N)、終了した場合にはソート処理に移行する(S306−Y)。ソート処理に入ると分割画像選択部66は、オペレータnを0から「N−1」までとして(S310)、求めた動きベクトル差の合計値K[n](nは0からN−1:図8(B)ではK[0]、K[1]、K[2]、K[3])をソートキーとしてソートする1次元ループを開始する(S312)。この動きベクトル差の合計値K[n]のソートを行なう際には、各分割画像番号T[n]も併せてソートを行なう(図8(C)を参照)。図8(C)に示した例では、K[2]<K[3]<K[1]<K[0]であり、この結果に基づいて、動きベクトル差の合計値K[n]は、K[2]→K[3]→K[1]→K[0]の順にソートされ、これに対応して分割画像番号T[n]は、T[0]=2→T[1]=3→T[2]=1→T[3]=0の順にソートされる。
そして、分割画像選択部66は、nループが終了したか否かを判定し、終了していない場合にはステップS310に戻り(S314−N)、終了した場合には画像選択処理に移行する(S314−Y)。画像選択処理に入ると、分割画像選択部66は、選択分割画像番号の配列Dn[n]を記憶部50に確保するとともに、オペレータnを0から「M−1」までとして(S320)、ソートした動きベクトル差の合計値K[n](nは0からN−1:図8(B)ではK[0]、K[1]、K[2]、K[3])に基づいて、M個分の分割画像を選択する1次元ループを開始する。この選択処理に入ると、分割画像選択部66は、ソートの結果に基づき、他分割画像との動きベクトルMDVの差(ここでは動きベクトル差の合計値K[n])が小さい分割画像の番号を、選択個数(M個)分、選択して、その分割画像番号T[n]の情報を記憶部50の選択分割画像番号の配列Dn[n]に保存する(S332:図8(D)を参照)。そして、分割画像選択部66は、nループが終了したか否かを判定し、終了していない場合にはステップS320に戻り(S324−N)、終了した場合には分割画像選択処理を終了する(S324−Y)。図8(D)に示した例では、選択個数Mは2であり、選択分割画像番号Dn[0]=T[0]=2、選択分割画像番号Dn[1]=T[1]=3が保存される。
〔動き探索の有効無効判定処理〕
図9は、実施例1の動き探索判定部20による動き探索処理の有効無効判定処理を説明するフローチャートである。動き探索判定部20は先ず、処理対象画像(現画像CIM)及び参照画像RIM(例えば処理対象画像の1フレーム前の画像)の幅W(画素数で規定)及び高さH(画素数で規定)並びに全分割数Nの情報を取得する(S400)。例えば、ステップS120での設定情報を利用する。
図9は、実施例1の動き探索判定部20による動き探索処理の有効無効判定処理を説明するフローチャートである。動き探索判定部20は先ず、処理対象画像(現画像CIM)及び参照画像RIM(例えば処理対象画像の1フレーム前の画像)の幅W(画素数で規定)及び高さH(画素数で規定)並びに全分割数Nの情報を取得する(S400)。例えば、ステップS120での設定情報を利用する。
次に、動き探索判定部20は、1回目の動き探索処理(1stME)の結果を受けて記憶部50に保存された全分割画像分の動きベクトルMDV(DVx、DVy)並びにAxx(=Σ(Ix)2)、Ayy(=Σ(Iy)2)、Axy(=Σ(Ix・Iy))、Axt(=Σ(Ix・It))、Ayt(=Σ(Iy・It))、Ax(=ΣIx)、Ay(=ΣIy)、Att(=Σ(It)2)のアキュムレート値を取得する(図8を参照)(S402)。
次に、動き探索判定部20(標準偏差判定部22及び画素値変化判定部24)は、幅W、高さH、全分割数N、全分割画像の動きベクトルMDV(DVx、DVy)、Axt、Ayt、Ax、Ay、Attを用いて、式(2)に従って、誤差関数値の標準偏差Se(=LK法における誤差関数値の画像全体に亘る分布の標準偏差σe)及び画素値変化の絶対値D(=1画素当たりの時間方向の画素値変化の絶対値δ)を算出する(S404)。因みに、全分割数Nは、DVx[0]〜DVx[N−1]の平均VxaveやDVy[0]〜DVy[N−1]の平均Vyaveを算出する際に使用される。F(α,β,γ,…)は各パラメータα,β,γ,…の関数式であることを示している。パラメータα,β,γ,…は、他の関数式で示される計算値も含む。ここでは具体的な関数式は示さない。又、ここで示しているF(α,β,γ,…)も一例である。又、分布平均MeはLK法における誤差関数値の画面全体に亘る分布の平均である。
次に、動き探索判定部20(の標準偏差判定部22)は、予め設定された閾値で、標準偏差Seの閾値判定を行なう(S420)。動き探索判定部20は、閾値判定の結果、標準偏差Seが閾値より高いと判定した場合は第1動き探索処理部10による1回目の動き探索処理(1stME)が無効であると判定して処理を終了する(S422−High、S440)。標準偏差判定部22が、その閾値判定の結果、標準偏差Seが閾値より低いと判定した場合は、画素値変化判定部24は、予め設定された閾値で、画素値変化の絶対値Dの閾値判定を行なう(S422−Low、S430)。動き探索判定部20は、閾値判定の結果、画素値変化の絶対値Dが閾値より高いと判定した場合は第1動き探索処理部10による1回目の動き探索処理(1stME)が無効であると判定する(S432−High、S440)。動き探索判定部20は、閾値判定の結果、画素値変化の絶対値Dが閾値より低いと判定した場合は、第1動き探索処理部10による1回目の動き探索処理(1stME)が有効であると判定する(S432−Low、S442)。
尚、ここでは、誤差関数値の標準偏差Se及び画素値変化の絶対値Dを算出してから、標準偏差Seや絶対値Dの閾値判定を行なっているが、標準偏差Seと絶対値Dの何れか一方の算出と閾値判定を行なってから、他方の算出と閾値判定を行なうように変形してもよい。又、精度は劣るが、標準偏差Seと絶対値Dの何れか一方のみの算出と閾値判定を行なうように変形してもよい。
このような実施例1の動き探索の有効無効判定処理によれば、標準偏差Seの閾値判定により、画像内のローカル動きが大き過ぎるときに出易い望ましくない動きベクトルMVを誤って使用することを防ぐことができし、画素値変化の絶対値Dの閾値判定により、画像の照度変化が大き過ぎるときに出易い望ましくない動きベクトルMVを誤って使用することを防ぐこともできる。尚、閾値判定する際に、過去の標準偏差Seや絶対値Dも用いて平均化フィルタをかけたあとに閾値判定するとより望ましい結果が得られる。更に、ヒステリシス性をもった閾値判定をするとより望ましい結果が得られる。
〔2回目の動き探索処理(2ndME)〕
図10は、第2動き探索処理部30による実施例1の2回目の動き探索処理(S51)を説明するフローチャートである。
図10は、第2動き探索処理部30による実施例1の2回目の動き探索処理(S51)を説明するフローチャートである。
ここで示す2回目の動き探索処理は、1回目の動き探索処理(1stME)と同様にLK法を増補したものであり、基本的には、動き探索判定部20は式(1)に従って動きベクトルMV’(Vx’、Vy’)を求める。但し、2回目の動き探索処理(2ndME)は、計算処理を画像全体に対して行なう点と、特定の画素において加算値Σを算出しない、即ち、「画像全体に亘って加算」をとらないという点が、1回目の動き探索処理(1stME)と異なる。
その加算値Σの計算に入れない特定の画素を判断するために、第2動き探索処理部30は先ず、現画像Iと参照画像Jを得、又、各画像の幅W(画素数で規定)及び高さH(画素数で規定)並びに全分割数N及び分割画像の選択個数Mの情報を取得する(S510)。例えば、ステップS120やステップS300での設定情報を利用する。
次に、第2動き探索処理部30は、1回目の動き探索処理(1stME)の結果を受けて記憶部50に保存された全分割画像分の内、分割画像選択部66により選択されたもの(選択分割画像)のそれぞれについての、動きベクトルMDV(DVx、DVy)、選択した分割画像番号Dn、並びに、Axx(=Σ(Ix)2)、Ayy(=Σ(Iy)2)、Axy(=Σ(Ix・Iy))、Axt(=Σ(Ix・It))、Ayt(=Σ(Iy・It))、Ax(=ΣIx)、Ay(=ΣIy)、At(=ΣIt)、Att(=Σ(It)2)のアキュムレート値を取得する(図8を参照)(S512)。
次に、第2動き探索処理部30は、幅W、高さH、全分割数N、選択個数M、選択分割画像の動きベクトルMDV(DVx、DVy)、Dn、Axx、Ayy、Axy、Axt、Ayt、Ax、Ay、At、Attを用いて、式(3)に従って、誤差関数値の分布平均Me’及び標準偏差Se’、画素値変化の分布平均Mi’及び標準偏差Si’を算出する(S514)。ここで、誤差関数値の分布平均Me’は、LK法における誤差関数値の選択画像内の分布の平均μe’である。誤差関数値の標準偏差Se’は、LK法における誤差関数値の選択画像内の分布の標準偏差σe’である。画素値変化の分布平均Mi’は、時間方向の画素値変化の選択画像内の分布の平均μi’である。画素値変化の標準偏差Si’は時間方向の画素値変化の選択画像内の分布の標準偏差σi’である。因みに、代表特徴値算出部38は、選択された分割画像での動きベクトルの平均値(代表動きベクトルDVxave,DVyave)を代表特徴量として算出する。例えば、代表特徴値算出部38は、DVx[0]〜DVx[N−1]、選択個数M、分割画像番号Dnを使用して、平均DVxave(選択された分割画像の動きベクトル水平方向の平均)を算出し、DVy[0]〜DVy[N−1]、選択個数M、分割画像番号Dnを使用して、平均DVyave(選択された分割画像の動きベクトル垂直方向の平均)を算出する。DVxave、DVyaveの算出方法としては、Dn[0〜M−1]に基づいて、選択された各分割画像のDVx、DVyを加算し、加算結果を選択個数Mで割ることにより求まる。
次に、第2動き探索処理部30は、2回目の処理計算のパラメータAxx’、Ayy’、Axy’、Axt’、Ayt’を初期値0に設定する(S516)。次に、第2動き探索処理部30は、画像の座標xを0からW−2、座標yを0からH−2として、画像シーケンスI(x,y,t)の水平・垂直・時間方向の当該画素における画素値変化量(ここでは偏微分値と採用する)を算出して記憶部50に記憶する2次元ループを開始する(S518)。当該処理に入ると、第2動き探索処理部30は、座標(x,y)における現画像Iと参照画像Jの偏微分値I’x、I’y、I’tを算出し、その算出結果を記憶部50に保存する(S5209)。この偏微分値算出処理の詳細は、1回目の1回目の動き探索処理(1stME)における偏微分値算出処理(S218)と同様である(図6を参照)。
次に、第2動き探索処理部30は、算出した偏微分値I’x、I’y、I’tに基づいて、Axx’、Ayy’、Axy’、Axt’、Ayt’を算出し直すループ(S518〜S534)で、次の条件式を評価する条件分岐を導入する(S522、S524)。具体的には、第2動き探索処理部30は、LK法における誤差関数値の分布平均Me’に対する各画素における誤差関数値に関する外れ値度合いを、式(4)に従って計算する。第2動き探索処理部30は、予め設定された閾値で、この誤差関数値に関する外れ値度合いの閾値判定を行なう(S522)。「予め設定された閾値」としては、例えば標準偏差Se’を使用する。誤差関数値に関する外れ値度合いが閾値を上回っている場合には、加算値Σをとらずに次の画素に進む(S522−Y)。
誤差関数値に関する外れ値度合いが閾値を上回っていない場合には(S522−N)、第2動き探索処理部30は、LK法における誤差関数値の分布平均Mi’に対する各画素における画素値変化に関する外れ値度合いを、式(5)に従って計算する。第2動き探索処理部30は、予め設定された閾値で、この画素値変化に関する外れ値度合いの閾値判定を行なう(S524)。「予め設定された閾値」としては、例えば標準偏差Si’を使用する。画素値変化に関する外れ値度合いが閾値を上回っている場合には、加算値Σをとらずに次の画素に進む(S524−Y)。
画素値変化に関する外れ値度合いが閾値を上回っていない場合には(S524−N)、第2動き探索処理部30は、算出した偏微分値I’x、I’y、I’tに基づいて、Axx’、Ayy’、Axy’、Axt’、Ayt’を算出し、その算出結果を記憶部50に保存する。具体的には、それぞれ直前ループで算出しておいた、Axx’に当該画素のI’x・I’xを加算し、Ayy’に当該画素のI’y・I’yを加算し、Axy’に当該画素のI’x・I’yを加算し、Axt’に当該画素のI’x・I’tを加算し、Ayt’に当該画素のI’y・I’tを加算する(S530)。
第2動き探索処理部30は、x,yループが終了したか否かを判定し、終了していない場合にはステップS518に戻り(S534−N)、終了した場合には次ステップに移行する。即ち、第2動き探索処理部30は、分割画像番号Dnの分割画像の全ての画素に対しての2回目の動き探索処理(2ndME)が完了すると(S534−Y)、算出したAxx’、Ayy’、Axy’、Axt’、Ayt’を用いて式(1)に従って動きベクトルMV’(Vx’、Vy’)を算出し(S536)、その算出結果を記憶部50に保存する(S538)。
このような実施例1の2回目の動き探索処理(2ndME)によれば、誤差関数値に関する外れ値度合いと画素値変化に関する外れ値度合いの何れか一方或いは両方の閾値判定が成立した場合は加算値Σをとらずに次の画素に進む。このようにすることで、ある程度のローカル動きやノイズ的な輝度変化を除去し、グローバル動きベクトルMVとして望ましい結果を得ることができる。
又、2回目の動き探索処理において、1回目の動き探索処理の結果や途中のパラメータを使用することにより、LK法の高い計算実行効率を保ちながら、局所的な動被写体や照度変化等にロバストなグローバル動き探索を行なうことができる。1回目の動き探索処理の結果や途中のパラメータを使用せずに、2回目の動き探索処理(外れ値除去を含む)を実現する方法としては、例えば次の2つが考えられる。
第1例は、LK法による1回目の動き探索処理→外れ値除去を行うため演算(或いは、外れ値除去処理)→LK法による2回目LK(外れ値除去含む)という手順である。ここで、「外れ値除去を行うため演算」とは、実施例1に則して説明すると、誤差関数値の分布平均Me’及び標準偏差Se’並びに画素値変化の分布平均Mi’及び標準偏差Si’を求めるために、再度全画素で計算を行なうことである。これは、動きベクトルMVを求めるための算出ではAx、Ay、At、Attは使用していないために必要となる処理である。この場合、外れ値除去を行うため演算(或いは、外れ値除去処理)の工程が増える分、処理量が多くなる。これに対して、実施例1では、LK法による1回目の動き探索処理の演算で予め算出した値を、LK法による2回目の動き探索処理で使用することにより、処理量を少なくすることを実現することができる。
又、第2例は、非特許文献1に記載の技術において、LK法による2回の動き探索処理を実施する方法である。この場合は、LK法による1回目の動き探索処理を画像分割して行ない、各分割画像の結果で演算を行ない、外れ値除去処理を行ない、その後、その外れ値除去結果を使用して、LK法による2回目の動き探索処理を実施することになる。そのため、実施例1に比べて、各分割画像の結果を使用する外れ値除去処理が必要となるため、処理が多くなる。
このように、実施例1では、外れ値除去に使用するパラメータを、1回目の動き探索処理の演算過程(ベクトルを求める演算中)に求めて記憶部50に格納しておくことにより、その結果を2回目の動き探索処理で使用することができる。LK法では、演算途中で使用するパラメータが多いため、追加演算も少ない。2回目の動き探索処理では、記憶部50に格納されている、結果途中のパラメータを使用することにより、外れ値除去に使用するパラメータの演算を実施することなく外れ値除去処理を行なうことができるため、全体としての処理量を少なくすることができる。
又、通常のLK法は、結果として動きベクトルを算出するのみであり、算出する際の水平方向の画素値変化量、垂直方向の画素値変化量、時間方向の画素値変化量の何が起因して、動きベクトルが変化したかを判断することはできない。これに対して、実施例1では、1回目の動き探索処理の結果や途中のパラメータを使用することにより、どのパラメータが起因して動きベクトルが変化したかを判別することができる。例えば、時間方向の画素値変化(=フレーム間の輝度の変化)を見ることにより、動きベクトルが変化したのが、照度変化が原因かどうかを判断し、その判断結果に応じた外れ値除去処理を行なうことにより、照度変化に対するロバスト性を高めることができる。
ここでは、誤差関数値の分布平均Me’及び標準偏差Se’並びに画素値変化の分布平均Mi’及び標準偏差Si’を算出してから、標準偏差の外れ値を算出して閾値判定を行ない、又、画素値変化の外れ値を算出して閾値判定を行なっているが、標準偏差と画素変化値の何れか一方に関する各値の算出と閾値判定を行なってから、他方の算出と閾値判定を行なうように変形してもよい。又、多少精度は劣るが、標準偏差と画素値変化の何れか一方のみに関する各値の算出と閾値判定を行なうように変形してもよい。
尚、以下は容易に想像可能なバリエーションであり、本開示の技術に含まれる。先ず、動き探索処理の繰返し回数を2回にした場合で説明したが、繰返し数を更に増やしても適用可能である。又、並進移動成分のみの動きベクトルMVの推定だけではなく、回転拡大を含めたアフィンパラメータ推定(これについては後述する)や射影変換行列推定に適用したバージョンも適用可能である。
以上説明したように、実施例1によれば、LK法の高い計算実行効率を保ちながら、局所的な動被写体や照度変化等にロバストなグローバル動き探索処理GMEを行なうことができる。又、画像分割手法を用いるが、信頼性の高い画素の情報の破棄をすることがないため、精度の高い動き推定を行なうことができる。画像全体のLK法による動き推定ではローカル動きベクトルMVを求めないためロバスト性が向上できないが、実施例1のようなLK法で実施した場合、ロバスト性が高い動き推定を行なうことができる。LK法を使用することで、少ない計算量で動き推定を行なうことができる。
本実施形態のグローバル動き探索処理GMEで得られる動き推定の結果に基づいて、動き推定を行なった画像を、記録、加工することができる。これにより、本実施形態のグローバル動き探索処理GMEを、画像全体の動き推定や位置合わせ等を行なう処理(例えば、超解像、時間軸合成、画揺れ補正、3次元ノイズリダクション、高ダイナミックレンジ、パノラマスティッチング、ステレオ視マッチング、流し撮り(動物体のスチル化)、動画像符号化等の信号処理)に適用することができる。勿論、これらの信号処理に限らず、本開示の技術の要旨を逸脱しない限り、適宜、変更し得ることはいうまでもない。
本実施形態のグローバル動き探索処理GMEは、精度の高い画像補正情報を算出できるため、超解像処理や時間軸合成処理等に適用すると、正確な画像処理を行なうことができる。例えば、デジタルスチルカメラやデジタルムービーカメラ等における画揺れ補正(DIS:Digital Image Stabilizer)に適用する場合、入力画像の縮小画像だけでグローバル動き探索処理GMEが可能であるので、より少ない計算資源で実現可能である。或いは、ブロックマッチング手法をとる場合、通常は専用のハードウェアを持つことが多いが、本開示の技術であれば、一般的な画像縮小回路と汎用メモリとプロセッサがあれば十分である。このような効果を有する固体撮像装置は、デジタルカメラやビデオカメラの撮像デバイスとして適用することができる。
[撮像装置の構成例]
図11は、画像分割を行ない信頼性の高い分割画像を選択することでロバストであり且つ精度の高い動き推定を行なうことのできる前述のグローバル動き探索処理GMEを適用した画像処理装置を備える撮像装置の構成例を示す図である。
図11は、画像分割を行ない信頼性の高い分割画像を選択することでロバストであり且つ精度の高い動き推定を行なうことのできる前述のグローバル動き探索処理GMEを適用した画像処理装置を備える撮像装置の構成例を示す図である。
実施例1のグローバル動き探索処理装置3Aによる動き推定アルゴリズムを前処理として用いることができる画像処理装置1A及びそのアルゴリズムを搭載する撮像装置5が構成される。撮像装置5は、カメラ信号処理装置として機能する画像処理装置1Aの他に、固体撮像装置7及び光学系9を備えている。撮像部7は、CMOSイメージセンサやCCDイメージセンサ等の撮像デバイスで成る撮像部、撮像部の光入射側に配置された光学ローパスフィルタ及び色フィルタ群、撮像部を駆動する駆動制御部、撮像信号を処理して画像信号として出力する信号処理部等(何れも図示しない)で構成される。光学系9は、固体撮像装置7の撮像部の撮像領域に入射光を導く(被写体像を結像する)ものであり、例えば入射光(像光)を集光して撮像部の撮像面上に結像させる(投射する)撮像レンズ91を有する。
画像処理装置1Aは、グローバル動き探索処理装置3Aからの動きベクトルMV’を利用して画揺れ補正(DIS:Digital Image Stabilizer)を行なう機能を備えており、グローバル動き探索処理装置3Aの他に前段信号処理装置140(第1の信号処理部を含む)及び後段信号処理装置150(第2の信号処理部)を有する。前段信号処理装置140は、撮像装置5により取得された画像信号を信号処理して、グローバル動き探索処理装置3A用と後段信号処理装置150用との2系統(2系統以上でもよい)の画素値信号を生成する。グローバル動き探索処理装置3Aは、前述のようにして、前段信号処理装置140から入力された画素値信号で表された現画像CIMと参照画像RIMに基づいて動きベクトルMV’(画像の動き情報)を算出する。後段信号処理装置150は、グローバル動き探索処理装置3Aから入力される動きベクトルMV’を使用して、前段信号処理装置140から入力された画素値信号に対して信号処理(特に画揺れ補正機能に関わるもの)を行ない映像信号として出力する。
[電子機器への適用例]
前記の固体撮像装置或いは撮像装置は、デジタルカメラ(電子スチルカメラ)、ビデオカメラ(デジタルムービー)、ゲーム機、電子ブック、電子辞書、携帯電話機等の各種の電子機器に適用することができる。又、電子機器は、その処理対象画像として、前記の固体撮像装置或いは撮像装置で取得された画像を処理対象画像とすることに限らず、各種の記憶媒体から読み出した画像や、通信網を介して取得した画像を処理対象画像とすることもできる。
前記の固体撮像装置或いは撮像装置は、デジタルカメラ(電子スチルカメラ)、ビデオカメラ(デジタルムービー)、ゲーム機、電子ブック、電子辞書、携帯電話機等の各種の電子機器に適用することができる。又、電子機器は、その処理対象画像として、前記の固体撮像装置或いは撮像装置で取得された画像を処理対象画像とすることに限らず、各種の記憶媒体から読み出した画像や、通信網を介して取得した画像を処理対象画像とすることもできる。
例えば、電子機器が、画像表示装置の一例である表示モジュール(液晶表示装置や有機EL表示装置)を利用したテレビジョン受像機の場合が挙げられる。テレビジョン受像機は、例えば台座に支持されたフロントパネルの正面に表示モジュールを配置した構造となっており、表示面にはフィルターガラスが設けられている。このテレビジョン受像機には、固体撮像装置を含む動体検出用の撮像装置が表示面側に設けられ、実施例1で提案した撮像装置(詳しくはグローバル動き探索処理装置3A)の技術がそのまま適用可能である。或いは、電子機器がデジタルカメラの場合が挙げられる。デジタルカメラは、表示モジュール、コントロールスイッチ、シャッターボタン、その他を含んでいる。デジタルカメラには固体撮像装置を含む撮像装置が搭載され、実施例1で提案した撮像装置(詳しくはグローバル動き探索処理装置3A)の技術がそのまま適用可能である。或いは、電子機器がビデオカメラの場合が挙げられる。ビデオカメラは、本体の前方に被写体を撮像する撮像レンズが設けられ、さらに、表示モジュールや撮影のスタート/ストップスイッチ等が配置されている。ビデオカメラには固体撮像装置が搭載されており、前述の撮像装置が適用された形態となり、実施例1で提案した撮像装置(詳しくはグローバル動き探索処理装置3A)の技術がそのまま適用可能である。或いは、電子機器が携帯電話機の場合が挙げられる。携帯電話機は、例えば折り畳み式であり、上側筐体、下側筐体、表示モジュール、サブディスプレイ、カメラ、連結部(ヒンジ部)、ピクチャーライト等を含む。そして、携帯電話機のカメラに関して、前記の固体撮像装置を含む撮像装置が適用された形態となり、実施例1で提案した撮像装置(詳しくはグローバル動き探索処理装置3A)の技術がそのまま適用可能である。或いは、電子機器がノート型のコンピュータの場合が挙げられる。コンピュータは、下型筐体、上側筐体、表示モジュール、Webカメラ、キーボード等を含む。そして、コンピュータのWebカメラに関して、前記の固体撮像装置を含む撮像装置が適用された形態となり、実施例1で提案した撮像装置(詳しくはグローバル動き探索処理装置3A)の技術がそのまま適用可能である。
[画像処理装置の構成例]
図12は、撮像装置5に組み込まれた画像処理装置1Aの詳細構成例を説明する図である。前段信号処理装置140は、画像を記憶する第1記憶部142及び第2記憶部144、並びに、縮小処理と平滑化処理を行なう縮小平滑化部146(第1の信号処理部)を有する。第1記憶部142や第2記憶部144としては、記憶媒体としてフラッシュメモリ等を使用する半導体メモリ、半導体メモリを用いるストレージ装置(SSD:Solid State Drive)、ハードディスク装置、光や磁気等を利用したMOやDVD−RAM等の可搬型の記憶媒体等を利用することができる。後段信号処理装置150は、動きベクトルフィルタ152及び画像切出部154を有する。後段信号処理装置150は、第1記憶部142から読み出した画像に対して、第2記憶部144から読み出した画像全体に対しての動き探索処理(グローバル動き探索処理装置3Aによる)の結果を参照して動き補正処理を行なうことにより、安定化した画像シーケンスを出力する。
図12は、撮像装置5に組み込まれた画像処理装置1Aの詳細構成例を説明する図である。前段信号処理装置140は、画像を記憶する第1記憶部142及び第2記憶部144、並びに、縮小処理と平滑化処理を行なう縮小平滑化部146(第1の信号処理部)を有する。第1記憶部142や第2記憶部144としては、記憶媒体としてフラッシュメモリ等を使用する半導体メモリ、半導体メモリを用いるストレージ装置(SSD:Solid State Drive)、ハードディスク装置、光や磁気等を利用したMOやDVD−RAM等の可搬型の記憶媒体等を利用することができる。後段信号処理装置150は、動きベクトルフィルタ152及び画像切出部154を有する。後段信号処理装置150は、第1記憶部142から読み出した画像に対して、第2記憶部144から読み出した画像全体に対しての動き探索処理(グローバル動き探索処理装置3Aによる)の結果を参照して動き補正処理を行なうことにより、安定化した画像シーケンスを出力する。
第1記憶部142には、入力された画像シーケンスI(x,y,t)に基づき、画像が1枚ずつ格納される。第2記憶部144には、縮小平滑化部146により縮小処理及び平滑化処理が施された画像が格納される。第1記憶部142に格納された画像は後段信号処理装置150(の画像切出部154)により読み出される。第2記憶部144に格納された画像(現画像CIM及び参照画像RIM)はグローバル動き探索処理装置3Aにより読み出される。画像を縮小することによりグローバル動き探索処理GMEの計算量が減り、又、平滑化処理と組み合わせることによりノイズに強く精度のよい動きベクトルMV’を取得することができる。第1記憶部142及び第2記憶部144を備えることで、グローバル動き探索処理装置3Aによる動き探索処理の経路の時間遅れ(詳しくは動きベクトルMV’が出力されるまでの時間遅れ)と、第1記憶部142からの画像読出しとの同期をとることができる。
グローバル動き探索処理装置3Aは、第2記憶部144から最新入力画像の縮小平滑化画像(現画像CIM)と1つ過去の画像の縮小平滑化画像(参照画像RIM)を読み出し、グローバル動き探索処理GMEの結果として得られる動きベクトルMV’を動きベクトルフィルタ152に出力する。動きベクトルフィルタ152は、現画像CIM及び参照画像RIMを補正ベクトルに変換する。動きベクトルフィルタ152は、例えば最も単純なケースでは、積分フィルタ処理(入力された動きベクトルMV’の系列を順次加算していくだけ)を行ない、画像切出部154に出力する。画像切出部154は、最新入力画像(現画像CIM)を第1記憶部142から読み出し、動きベクトルフィルタ152からの補正ベクトルに従って切出し及び拡大(或いは単に切出し)を行なうことにより、画揺れ補正が施された安定化画像シーケンスを生成して出力する。つまり、後段信号処理装置150は、動きベクトルフィルタ152において、動きベクトルMV’の時系列にデジタルフィルタをかけて補正ベクトルとし、画像切出部154において、補正ベクトルで示された位置に従って、元の入力画像から一定の割合の大きさの部分を切り出し、又は、切出し及び拡大することにより、画揺れ補正が施され安定化した画像シーケンスを出力する。
尚、ここでは、グローバル動き探索処理装置3Aを撮像装置5の画揺れ補正機能に利用する形態で説明したが、これに限らず、グローバル動き探索処理装置3Aは、超解像処理、時間軸合成処理、高ダイナミックレンジ処理、パノラマスティッチング処理、ステレオ視マッチング処理等にも利用することができる。
超解像処理を行なう撮像装置としては、例えば、特開2009−076984号公報に記載の技術を参照するとよい。高ダイナミックレンジ処理を行なう撮像装置としては、例えば、特開2010−62785号公報に記載の技術を参照するとよい。パノラマスティッチング処理を行なう撮像装置としては、例えば、特開2009−33392号公報に記載の技術を参照するとよい。ステレオ視マッチング処理を行なう撮像装置としては、例えば、特開2006−313445号公報に記載の技術を参照するとよい。時間軸合成処理は、パノラマスティッチング処理、超解像処理、高ダイナミックレンジ処理を包含する技術であり、時間軸合成処理を行なう撮像装置としては、例えばそれら各処理を行なう撮像装置を組み合わせればよい。
[グローバル動き探索処理装置及び画像処理装置]
図13は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例2を説明する図である。実施例2は、前述の実施例1とは異なり、画像の動き情報として、平行移動情報のみではなく、アフィン情報を出力ことにより、2枚画像間の回転、スケーリング(拡大・縮小)、シアー(スキュー、剪断変形)、平行移動の情報を算出することができる点に特徴がある。
図13は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例2を説明する図である。実施例2は、前述の実施例1とは異なり、画像の動き情報として、平行移動情報のみではなく、アフィン情報を出力ことにより、2枚画像間の回転、スケーリング(拡大・縮小)、シアー(スキュー、剪断変形)、平行移動の情報を算出することができる点に特徴がある。
図13に示すように、実施例2の画像処理装置1Bはグローバル動き探索処理装置3Bを有する。実施例2のグローバル動き探索処理装置3Bは、現画像CIMと参照画像RIM(例えば1フレーム前の画像)の2枚の画像を取り込んで1組のアフィン情報を出力する。グローバル動き探索処理GMEの基本的な処理シーケンスは実施例1と同様に実現できるが、1組の動きベクトルMV’ではなく、1組のアフィン情報を出力する点が実施例1と異なる。
〔処理手順の全体概要〕
図14は、実施例2のグローバル動き探索処理装置3Bが行なうグローバル動き探索処理の手順の全体概要を説明するフローチャートである。凡その手順は図2に示した実施例1の手順と同じであるが、ステップS21とステップS30とステップS51では、実施例2に特有の処理を行なう点が異なる。以下では、実施例1との相違を明確にするため、これらのステップに参照子Bを付して示す(図も同様である)。
図14は、実施例2のグローバル動き探索処理装置3Bが行なうグローバル動き探索処理の手順の全体概要を説明するフローチャートである。凡その手順は図2に示した実施例1の手順と同じであるが、ステップS21とステップS30とステップS51では、実施例2に特有の処理を行なう点が異なる。以下では、実施例1との相違を明確にするため、これらのステップに参照子Bを付して示す(図も同様である)。
例えば、第1動き探索処理部10は、分割画像番号と対応するオペレータnを「0」にセットし(S20)、n(=0)番目の分割画像に対してLK法を利用した動き探索処理(1stME)を行ない、その処理結果として、アフィン情報を算出し、分割領域ごとに記憶部50に保存する(S21B)。
ここで、アフィン変換は、平行移動及び回転変換(ユークリッド変換)に拡大縮小変換を加えた相似変換に、シアー(スキュー、剪断変形)を許すような変換であり、元の図形で直線上に並ぶ点は変換後も直線上に並び、平行線は変換後も平行線である等、幾何学的性質が保たれる変換である。周知のように、アフィン変換を行なうためのアフィン行列の行列要素aij(i=1,2、j=1,2)は、回転、拡大縮小、シアーを決定するパラメータを表し、b1及びb2は平行移動パラメータを表す。つまり、第1動き探索処理部10において計算すべきアフィン変換のパラメータは、a11、a12、a21、a22及びb1、b2の6つである。この内の平行移動パラメータを表すb1、b2が実施例1の動きベクトルMV(Vx、Vy)と対応する。実施例2では、動きベクトルMV(Vx、Vy)つまり平行移動パラメータを表すb1、b2の他に、回転、拡大縮小、シアーを決定するパラメータa11、a12、a21、a22もアフィン情報として計算し、これらアフィン情報にも基づいて各種の処理を行なう点が異なる。
例えば、アフィンパラメータと各画素情報及び座標は、式(6−1)のような関係で表すことができる。この式(6−1)は、各画素において1次式が成立するため、最小二乗法を使用することにより、アフィンパラメータa11、a12、a21、a22及びb1、b2はAxx、Ayy、Att、Axy、Axt、Ayt及び座標x、座標yから算出することができる。アフィンパラメータから、回転、拡大縮小、シアーを決定するパラメータへ変換に関しては、様々な方法があるが、例えば、QR分解の例で説明すると式(6−2)のようになる。尚、説明を簡易にするため、平行移動のパラメータb1、b2は割愛する。α、βは拡大・縮小率、θは回転角度、γはシアーである。算出に当たっては、式(6−3)も利用する。因みに、x、yはアフィン変換前の座標(つまり現座標)、X、Yはアフィン変換後の座標である。
画像分割・選択処理部60の分割画像選択部66は、信頼性の高い分割画像の選択を行なう処理において、アフィン情報の回転、スケーリング、シアー、平行移動の情報を元に信頼性の高い分割領域を選択する(S30B)。これは、平行移動パラメータと同様に、各分割画像との“回転、拡大縮小、シアーを決定するパラメータ”の差分を算出し、ソートを行なうことにより、選択が可能である。例えば、図2のステップS26において、DVx、DVyは各分割画像の動きベクトル(Vx、Vy:実質上、分割画像での平行移動のパラメータ)となっているが、これを、各分割画像での“回転、拡大縮小、シアーを決定するパラメータ”の何れか(AFx、AFyと記す)とする(図14のステップS26B)。又、図7のステップS304においては、K[n]は動きベクトルの差を利用することにしているが、これを、各分割画像での“回転、拡大縮小、シアーを決定するパラメータの差”の何れかとすることにより、信頼性の高い分割画像が選択することができる。
又、実施例2においては、動き探索判定部20による動き探索の有効無効判定処理(S40B、S48B)においても、アフィン情報を利用する。例えば、画素値変化の絶対値に関する判定処理はそのままでよいが、誤差関数を求める際には、平行移動のパラメータ及び“回転、拡大縮小、シアーを決定するパラメータ”を使用する。例えば、各分割画面に算出される平行移動のパラメータ及び“回転、拡大縮小、シアーを決定するパラメータ”の平均を求める。求められた平均値よりアフィンパラメータを算出する(実施例1におけるVxave,Vyaveの算出に相当する)。この平均値から求められたアフィンパラメータを、a11ave、a12ave、a21ave、a22ave、b1ave、b2aveとする。そして、式(2)において、Vsumの代わりに、2種類のVsum1、Vsum2を求める。因みに、Vsum1=F(a11ave,a12ave,a21ave,a22ave,b1ave,b2ave,x,y,Ix,,Iy,It)であり、Vsum2=F(a11ave,a12ave,a21ave,a22ave,b1ave,b2ave,x,y,Ix,,Iy,It)である。何れも積和演算を全画素について行なう関数式であるが、両者の違いは、Vsum2は、Vsum1の積和演算要素を2乗した値を全画素について加算する点が異なる。又、式(2)において、Meの関数式はMe=F(Vsum1,W,H)とし、Seの関数式は、Se=F(Vsum2,Me,W,H)とする。
第2動き探索処理部30は、2回目の動き探索処理(2ndME)の結果としてアフィン情報を算出する(S51B)。ここで、第2動き探索処理部30は、2回目の動き探索処理(2ndME)において、加算計算に含めない特定の画素を判断するために、1回目の動き探索処理(1stME)の出力結果であるアフィン情報及び途中計算結果を使用し、式(7)に従って、誤差関数値の分布平均Ma’及び標準偏差Sa’並びに画素値変化の分布平均Mb’及び標準偏差Sb’を求める。分布平均Ma’はLK法における誤差関数値の選択した分割画像(選択画像)内の分布の平均である。標準偏差Sa’は、LK法における誤差関数値の選択した分割画像内の分布の標準偏差である。分布平均Mb’は時間方向の画素値変化の選択した分割画像内の分布の平均である。Sb’は時間方向の画素値変化の選択した分割画像内の分布の標準偏差である。
因みに、Ma'、Sa'を算出するためには、実施例1でDVxxave、DVyxaveを求めたように、各アフィンパラメータにおいて、代表値を求める。代表値の求め方としては、選択された分割画面における、平行移動のパラメータ、“回転、拡大縮小、シアーを決定するパラメータ”の平均を求めればよい。求められた平均値からアフィンパラメータを算出する。算出されたアフィンパラメータを入力する際の特徴値になる。N、M、Dn[0〜M−1]、平行移動のパラメータ、“回転、拡大縮小、シアーを決定するパラメータ”を使用して算出でき、算出されたアフィンパラメータを、Da11ave、Da12ave、Da21ave、Da22ave、Db1ave、Db2aveとする。因みに、DVsum1とDVsum2は、何れも積和演算を全画素について行なう関数式であるが、両者の違いは、DVsum2は、DVsum1の積和演算要素を2乗した値を全画素について加算する点が異なる。分布平均Mb’は実質上、分布平均Mi’と同じであり、標準偏差Sb’は実質上、標準偏差Si’と同じである。
そして、各画素における誤差関数値及び/又は画素値変化からの外れ値度合いを計算し、これを予め決めておいた閾値パラメータと比較する処理(閾値判定)を行なう。図示しないが、図10に対する変形例(ステップ番号の最後にBを付す)として説明すると以下のようになる。例えば、第2動き探索処理部30は、LK法における誤差関数値の分布平均Ma’に対する各画素における誤差関数値に関する外れ値度合いを、式(8)に従って計算する(S514B)。第2動き探索処理部30は、予め設定された閾値で、この誤差関数値に関する外れ値度合いの閾値判定を行なう(S522B)。「予め設定された閾値」としては、例えば標準偏差Sa’を使用する。
実施例1は、出力する結果は平行移動情報のみであるので処理が簡単であるが、行移動情報以外の高度の移動情報を利用することはできない。これに対して、実施例2では、処理を行なうデータをアフィン情報としているため、処理が複雑であるが、2枚画像間の回転、スケーリング、シアー、平行移動の情報を算出することができ、より高度の移動情報を利用することができる。したがって、この実施例2のグローバル動き探索処理装置3Bを画像処理装置1や撮像装置5に適用すれば、平行移動の補正だけでなく、回転、スケーリング、シアーの補正も行なうことができ、より安定化した画像シーケンスを出力することができる。
[グローバル動き探索処理装置及び画像処理装置]
図15は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例3を説明する図である。実施例3は、2枚画像(現画像CIMと参照画像RIM)の他に画像中のオブジェクト情報OJを取り込んで、取り込んだオブジェクト情報OJを画像分割に使用する点に特徴がある。ここで、オブジェクト情報OJとは、動体検知等の結果である画像中のオブジェクトの座標(例えば中心座標)や大きさ等の情報である。以下では、実施例1に対する変形例で説明するが、実施例2に対しても同様の変形が可能である。
図15は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例3を説明する図である。実施例3は、2枚画像(現画像CIMと参照画像RIM)の他に画像中のオブジェクト情報OJを取り込んで、取り込んだオブジェクト情報OJを画像分割に使用する点に特徴がある。ここで、オブジェクト情報OJとは、動体検知等の結果である画像中のオブジェクトの座標(例えば中心座標)や大きさ等の情報である。以下では、実施例1に対する変形例で説明するが、実施例2に対しても同様の変形が可能である。
図15に示すように、実施例3の画像処理装置1Cはグローバル動き探索処理装置3Cを有する。実施例3のグローバル動き探索処理装置3Cは、現画像CIMと参照画像RIM(例えば1フレーム前の画像)の2枚の画像並びにオブジェクト情報OJを取り込んで1組の動きベクトルMV’を出力する。グローバル動き探索処理GMEの基本的な処理シーケンスは実施例1と同様に実現できるが、オブジェクト情報OJを参照して、動きのない(或いは動きの少ない)分割画像と動きのある分割画像とに分割する点に特徴がある。画像分割部62は、分割画像の各座標情報と同様に、個々の分割画像の高さ及び幅を記憶部50に保存しておく。第1動き探索処理部10は、保存された分割画像の座標情報並びに幅及び高さを使用して、1回目の動き探索処理(1stME)を行なう。オブジェクト情報OJを使用して画像分割を行なうので、ローカル動きがある画像と無い画像で分割することができる。換言すると、実施例1や実施例2の画像分割は、画像を均等に分割する方法であるが、実施例3の画像分割は、オブジェクト情報OJを使用して画像を不均等に分割する手法である。
[画像分割処理]
図16〜図17は、画像分割・選択処理部60の画像分割部62による実施例3の画像分割処理を説明する図である。ここで、図16は、画像分割部62による画像分割処理(ステップS12C)の手順を説明するフローチャートである。図17は、図16に示した画像分割処理手順により分割される分割画像とその分割画像の位置を特定する座標情報との関係を説明する図である。
図16〜図17は、画像分割・選択処理部60の画像分割部62による実施例3の画像分割処理を説明する図である。ここで、図16は、画像分割部62による画像分割処理(ステップS12C)の手順を説明するフローチャートである。図17は、図16に示した画像分割処理手順により分割される分割画像とその分割画像の位置を特定する座標情報との関係を説明する図である。
ここでは、分割画像の位置を特定する水平方向の座標情報Dx[x・X+y]及び垂直方向の座標情報Dy[x・X+y]は、各分割画像の左上頂点の座標情報であるとして説明する。勿論、これに限らず、左下頂点や中心点等その他の算出式を用いてもよい。凡その手順は図3に示した実施例1の手順と同じであるが、オブジェクト情報OJを使用して画像を不均等に分割する点が異なる。以下では、実施例1との相違を明確にするため、画像分割処理(ステップS12C)の詳細を140番台以降のステップ番号を付して示す(図も同様である)。
画像分割部62は先ず、処理対象画像(現画像CIM)及び参照画像RIM(例えば処理対象画像の1フレーム前の画像)並びに動体検知等の結果である注目被写体のオブジェクト情報OJ(中心座標や大きさ等)を受け付けるとともに、横分割数X及び縦分割数Yの設定を受け付ける(S140)。画像分割部62は、設定された横分割数X及び縦分割数Yに従ってオブジェクト情報OJを使用して、ローカル動きがある画像と無い画像とにできるだけ明確に分かれるように、幅Wx(xは1〜X−1)とし、高さHy(yは1〜Y−1)として水平方向及び垂直方向に直線で画像を分割し(図17を参照)、個々の分割画像(分割画像番号n)の幅W’[n]の情報(Wx)と高さH’[n]の情報(Hy)を記憶部50に保存する(S142)。
次に、画像分割部62は、各分割画像の位置を特定する座標情報を記憶部50に保存する。具体的には、画像分割部62は、横分割数Xに対応する配列変更要素aを0から「X−1」までとし、縦分割数Yに対応する配列変更要素bを0から「Y−1」までとして、分割画像の位置情報を算出して記憶部50に記憶する2次元ループを開始する(S144)。当該処理に入ると、画像分割部62は先ず配列変更要素a及び配列変更要素bをそれぞれ「0」にセットし、「a・X+b」=0番目の分割画像の位置を特定する水平方向の座標情報Dx[0]及び垂直方向の座標情報Dy[0]をそれぞれ「0」とする(S146−Y、S148)。つまり、0番目の分割画像の位置を特定する情報は、画像全体の左上頂点である。
次に、画像分割部62は、配列変更要素aと配列変更要素bの何れか一方を固定して他方を「1」インクリメントして、「a・X+b」番目の分割画像の位置(左上頂点)を特定する垂直方向の座標情報Dy[a・X+b]及び水平方向の座標情報Dx[a・X+b]をそれぞれ計算する。例えば、b≠0である場合には(S150−N)、座標情報Dy[a・X+b]=Dy[a・X+b−1]+Hy-1とし(S151)、b=0である場合には(S150−Y)、座標情報Dy[a・X+b]=Dy[a・X]=0とする(S152)。a≠0である場合には(S154−N)、座標情報Dx[a・X+b]=Dx[a・X+b−Y]+Wx-1とし(S155)、a=0である場合には(S154−Y)、座標情報Dx[a・X+b]=Dx[b]=0とする(S156)。画像分割部62は、求めた座標情報Dx[a・X+b]及び座標情報Dy[a・X+b]を1回目の動き探索処理(1stME)に使用するため、記憶部50に保存する。画像分割部62は、a,bループが終了したか否かを判定し、終了していない場合にはステップS144に戻り(S158−N)、終了した場合には次ステップに移行する。
第1動き探索処理部10は、図5に示したステップS216において、分割画像(分割画像番号n)の座標xをDx[n]からDx[n]+W’[n]−2、座標yをDy[n]からDy[n]+H’[n]−2として、画像シーケンスI(x,y,t)の水平・垂直・時間方向の当該画素における画素値変化量(偏微分値)を算出して記憶部50に記憶する2次元ループを開始する。以下、実施例1と同様である。
このような実施例3によれば、動体検知等の情報を使用して画像分割を行なうので、ローカル動きがある画像と動きの無い(或いは少ない)画像とに分割することができる。そのため、分割画像の選択時に、ローカル動きが無い分割画像を選択することができ、実施例1に比べてより精度の高い精度の外れ値除去を行なうことができる。結果として、正確な動き探索処理を行なうことができる。これに対して、実施例1では、固定の幅及び高さで画像分割を行なうため、動体が複数領域に跨がるということが想定され、外れ値除去の精度は実施例3よりも劣る。
[グローバル動き探索処理装置及び画像処理装置]
図18は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例4を説明する図である。ここで、図18(A)は、実施例4のグローバル動き探索処理装置3Dを備えた画像処理装置1Dを示し、図18(B)は、実施例4のグローバル動き探索処理装置3Dの基本構成を示すブロック図である。因みに、画像分割・選択処理部60が、選択された複数の分割画像についての第1動き探索処理部10による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値を算出する代表特徴値算出部68(代表動きベクトル算出部)を備える例で示している。代表特徴値算出部68は、例えば、各選択分割画像の動きベクトルを加算し、選択個数で除算する(つまり、平均を求める)ことにより代表的な特徴値を算出する。選択分割画像が1つの場合には、その1つの分割画像の動きベクトルが代表的な特徴値となるし、選択分割画像が複数の場合には、それぞれの分割画像の動きベクトルの平均値が代表的な特徴値となる。
図18は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例4を説明する図である。ここで、図18(A)は、実施例4のグローバル動き探索処理装置3Dを備えた画像処理装置1Dを示し、図18(B)は、実施例4のグローバル動き探索処理装置3Dの基本構成を示すブロック図である。因みに、画像分割・選択処理部60が、選択された複数の分割画像についての第1動き探索処理部10による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値を算出する代表特徴値算出部68(代表動きベクトル算出部)を備える例で示している。代表特徴値算出部68は、例えば、各選択分割画像の動きベクトルを加算し、選択個数で除算する(つまり、平均を求める)ことにより代表的な特徴値を算出する。選択分割画像が1つの場合には、その1つの分割画像の動きベクトルが代表的な特徴値となるし、選択分割画像が複数の場合には、それぞれの分割画像の動きベクトルの平均値が代表的な特徴値となる。
実施例4は、1回目の動き探索処理(1stME)後、再度、分割画像に対して外れ値除去を行なった新たな2回目の動き探索処理(2ndME)を実施し、その後に、実施例1の2回目の動き探索処理(2ndME)と同様にして画像全体に対して外れ値除去を行なった3回目の動き探索処理(3rdME)を実施する点に特徴がある。外れ値除去を2回行なうため実施例1よりグローバル動き探索処理の精度がよくなる。又、2回目の動き探索処理と3回目の動き探索処理との間に、2回目の各分割画像の動き探索処理(2ndME)の結果を用いて、再度、信頼性の高い分割画像を選択する点にも特徴がある。以下では、実施例1に対する変形例で説明するが、実施例2に対しても同様の変形が可能である。
図18(B)に示すように、実施例4のグローバル動き探索処理装置3Dは、第2動き探索処理部30を第2動き探索処理部32(第3の動き探索処理部に相当)に置き換えるとともに、第2動き探索処理部32(2ndME)の後段に、1組の動きベクトルMV(詳しくは3回目の動き探索処理(3rdME)の結果である動きベクトルMV”)を出力する第3動き探索処理部40(3rdME)(第2の動き探索処理部に相当)を備えている。第3動き探索処理部40は実施例1の第2動き探索処理部30と同じものでよいが、第2動き探索処理部32は第2動き探索処理部30とは少し異なる。因みに、「”」は、1回目や2回目の計算と3回目の計算を区別するために付したものであるが、同じ画像ペアに対して3回のLK法を実行するだけなので、実際にはI”=I’=Iであり、一方、2回目及び3回目の各計算値は加算するかどうかの判断が行なわれるため1回目とは異なる値となる。後述する処理の説明では3回目の画像シーケンスI(x,y,t)や各計算値についても「”」を付して示す。
第2動き探索処理部32は、実施例1の第2動き探索処理部30とは異なり、1回目の動き探索処理(1stME)の結果及び各種の加算値Σを使用して、分割画像に対して新たな2回目の動き探索処理(2ndME)を実施する。「新たな2回目の動き探索処理(2ndME)」では、基本的には、実施例1の2回目の動き探索処理(2ndME)と同様に、画素ごと計算に含めるかの判断をするが、実施例1とは異なり、画像全体に対してではなく、分割画像ごとに動き探索処理を行なう。画像分割・選択処理部60(の分割画像選択部66)は、1回目の各分割画像の動き探索処理(1stME)の結果を用いて信頼性の高い分割画像を選択するとともに、2回目の各分割画像の動き探索処理(2ndME)の結果を用いても、信頼性の高い分割画像を選択する。第3動き探索処理部40は、実施例1の第2動き探索処理部30と同様の処理を3回目の動き探索処理(3rdME)として行なう。
[処理手順の全体概要]
図19は、実施例4のグローバル動き探索処理装置3Dが行なうグローバル動き探索処理の手順の全体概要を説明するフローチャートである。ステップS48までは実施例1と同様である。
図19は、実施例4のグローバル動き探索処理装置3Dが行なうグローバル動き探索処理の手順の全体概要を説明するフローチャートである。ステップS48までは実施例1と同様である。
動き探索判定部20が第1動き探索処理部10による動き探索処理を有効とした場合(S48−N)、これを受けて、第2動き探索処理部32は、1回目の動き探索処理結果及び途中の計算結果を使用して、各分割画像に対してLK法を利用した2回目の動き探索処理(2ndME)を行なう。具体的には、第2動き探索処理部32は先ず分割画像番号と対応するオペレータnを「0」にセットし(S60)、n(=0)番目の分割画像に対してLK法を利用した動き探索処理(2ndME)を行なう(S61)。その詳細は、画像全体に対してではなく分割画像ごとである点を除いて、実施例1の2回目の動き探索処理(2ndME)と同じである。例えば、実施例1の2回目の動き探索処理(2ndME)の詳細を示した図10において、ステップS510では、分割画像の幅W’或いはW’[n])及び高さH’或いはH’[n]の情報を取得する。ステップS518では、選択分割画像(分割画像番号Dn)の座標xを0からW’−2或いはW’[n]−2、座標yを0からH’−2或いはH’[n]−2として、画像シーケンスI(x,y,t)の水平・垂直・時間方向の当該画素における画素値変化量(偏微分値)を算出して記憶部50に記憶する2次元ループを開始する。
第2動き探索処理部32は、この「n(=0)」の元で行なった処理結果である動きベクトルMV’(Vx’、Vy’)を動きベクトルMDV’(DVx’[n]、DVy’[n])として記憶部50に保存する(S26)。そして、第2動き探索処理部32は、オペレータnを「1」インクリメントし、オペレータn=N−1の処理が完了するまで同様の処理を繰り返す(S60、S68−N)。
第2動き探索処理部32により全ての分割画像に対しての2回目の動き探索処理(2ndME)が完了すると(S68−Y)、画像分割・選択処理部60の分割画像選択部66は、各分割画像の動き探索処理(2ndME)の結果を用いて、ステップ30と同様にして、信頼性の高い分割画像を選択する(S70)。
この後、第3動き探索処理部40は、選択された分割画像の2回目の動き探索処理結果及び途中の計算結果を使用して、実施例1の2回目の動き探索処理(2ndME)と同様にして、画像全体に対して3回目の動き探索処理を行なう(S71)。第3動き探索処理部40は、3回目の動き探索処理(3rdME)の結果である動きベクトルMV”(Vx”、Vy”)をグローバル動き探索処理GMEの結果(動きベクトルMV)として出力して、全体の処理を終了する(S96)。
このような実施例4によれば、分割画像ごとに外れ値除去を行なった動き推定(2ndME)の結果を用いて、画像全体に対して外れ値除去を行なった動き推定(3rdME)を行なうので、実施例1に比べてより正しい動き推定の結果を使用して、外れ値除去を行なうことができるため、正確なグローバル動き探索処理を行なうことができる。実施例1でも、2回目の動き探索処理では外れ値除去を含む動き探索処理を行なうので従前よりも精度が高い動き探索処理を行なうことができるが、外れ値除去を含む動き探索処理を繰り返すことにより、処理量は増えるが、より外れ値は除去でき、精度のより高い動き探索処理を実現できる。因みに、後述の実施例5を加味すれば、動き探索処理(外れ値除去を含む)を繰り返す際は、分割画像ごとの動き探索処理と画像全体に対する動き探索処理のどちらでも適用が可能である。又、実施例4では、分割画像ごとの動き探索処理及び画像選択を2回行なうので、後述の実施例5に比べて、処理量は増えるが、より精度の高い外れ値除去のための値を算出することができる。特に、2回目の動き探索処理(2ndME)において、外れ値除去の精度がよくなかった場合に有効である。
[グローバル動き探索処理装置及び画像処理装置]
図20は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例5を説明する図である。ここで、図20(A)は、実施例5のグローバル動き探索処理装置3Eを備えた画像処理装置1Eを示し、図20(B)は、実施例5のグローバル動き探索処理装置3Dの基本構成を示すブロック図である。因みに、画像分割・選択処理部60が、選択された複数の分割画像についての第1動き探索処理部10による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値を算出する代表特徴値算出部68(代表動きベクトル算出部)を備える例で示している。
図20は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例5を説明する図である。ここで、図20(A)は、実施例5のグローバル動き探索処理装置3Eを備えた画像処理装置1Eを示し、図20(B)は、実施例5のグローバル動き探索処理装置3Dの基本構成を示すブロック図である。因みに、画像分割・選択処理部60が、選択された複数の分割画像についての第1動き探索処理部10による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値を算出する代表特徴値算出部68(代表動きベクトル算出部)を備える例で示している。
実施例5は、1回目の動き探索処理(1stME)後、画像全体に対して外れ値除去を行なった2回目の動き探索処理(2ndME)を実施し、その後に更に、2回目の動き探索処理(2ndME)と同様にして画像全体に対して外れ値除去を行なった新たな3回目の動き探索処理(3rdME)を実施する点に特徴がある。実施例4と同様に外れ値除去を2回行なうため実施例1よりグローバル動き探索処理の精度がよくなる。又、実施例5では、実施例4とは異なり、分割画像ごとの動き探索処理結果情報の格納や画像選択を2回目の動き探索処理及び前後処理では行なわない点に特徴がある。そのため、実施例4に比べて、処理量が少なくなる。以下では、実施例1に対する変形例で説明するが、実施例2に対しても同様の変形が可能である。
図20(B)に示すように、実施例5のグローバル動き探索処理装置3Eは、第2動き探索処理部30(2ndME)の後段に、1組の動きベクトルMV(詳しくは3回目の動き探索処理(3rdME)の結果である動きベクトルMV”)を出力する第3動き探索処理部42(3rdME)(第3の動き探索処理部)を備えている。因みに、「”」は、1回目や2回目の計算と3回目の計算を区別するために付したものであるが、同じ画像ペアに対して3回のLK法を実行するだけなので、実際にはI”=I’=Iであり、一方、2回目及び3回目の各計算値は加算するかどうかの判断が行なわれるため1回目とは異なる値となる。後述する処理の説明では3回目の画像シーケンスI(x,y,t)や各計算値についても「”」を付して示す。
第3動き探索処理部42は、実施例4の第3動き探索処理部40とは異なり、第2動き探索処理部30による画像全体に対しての動き探索処理の情報に基づいて信頼性の高い画素であるか否かを判断しながら、実施例1の第2動き探索処理部30の処理に準じて画像全体に対して動き探索処理を行なう。
〔動き探索の有効無効判定処理〕
図21は、実施例5のグローバル動き探索処理装置3Eが行なうグローバル動き探索処理の手順の全体概要を説明するフローチャートである。実施例5のグローバル動き探索処理装置3E、及び、このグローバル動き探索処理装置3Eを備えた画像処理装置1Eの構成は、実施例4と同様である。
図21は、実施例5のグローバル動き探索処理装置3Eが行なうグローバル動き探索処理の手順の全体概要を説明するフローチャートである。実施例5のグローバル動き探索処理装置3E、及び、このグローバル動き探索処理装置3Eを備えた画像処理装置1Eの構成は、実施例4と同様である。
ステップS51までは実施例1と同様である。第2動き探索処理部30による2回目の動き探索処理(2ndME)が完了すると、第3動き探索処理部42は、再度、画像全体に対してLK法を利用した3回目の動き探索処理(3rdME)を実施する(S81)。ここで、実施例5における3回目の動き探索処理(3rdME)においては、特定の画素を計算に含めるか否かの判断をするために、画像全体に対して行なった2回目の動き探索処理の結果及び途中の計算結果を使用して、外れ値除去を含む動き探索処理を行なうことにより、1組の動きベクトルMV(詳しくは3回目の動き探索処理(3rdME)の結果である動きベクトルMV”)を出力する(S98)。
この実施例5における3回目の動き探索処理(3rdME)は、実施例1の2回目の動き探索処理(2ndME)と概ね同じである。違いは、誤差関数値の分布平均及び標準偏差並びに画素値変化の分布平均及び標準偏差を求める際には、「選択した分割画像内」ではなく「画像全体」の画素を対象とする点にある。例えば、実施例1の2回目の動き探索処理(2ndME)の詳細を示した図10において、ステップS512では、動きベクトルMV’(Vx’、Vy’)、並びに、途中の計算結果であるAxx’(=Σ(I’x)2)、Ayy’(=Σ(I’y)2)、Axy’(=Σ(I’x・I’y))、Axt’(=Σ(I’x・I’t))、Ayt’(=Σ(I’y・I’t))、Ax’(=ΣI’x)、Ay’(=ΣI’y)、At’(=ΣI’t)、Att’(=Σ(I’t)2)のアキュムレート値を取得する。
ステップS514では、第3動き探索処理部40は、幅W、高さH、動きベクトルMV’(Vx’、Vy’)、Axx’、Ayy’、Axy’、Axt’、Ayt’、Ax’、Ay’、At’、Att’を用いて、誤差関数値の分布平均Me”及び標準偏差Se”並びに画素値変化の分布平均Mi”及び標準偏差Si”を算出する。誤差関数値の分布平均Me”は、LK法における誤差関数値の画像全体の分布の平均μe’である。誤差関数値の標準偏差Se”は、LK法における誤差関数値の画像全体の分布の標準偏差σe’である。画素値変化の分布平均Mi”は、時間方向の画素値変化の画像全体の分布の平均μi’である。画素値変化の標準偏差Si”は時間方向の画素値変化の画像全体の分布の標準偏差σi’である。誤差関数値の分布平均Me”及び標準偏差Se”並びに画素値変化の分布平均Mi”及び標準偏差Si”の各計算式は式(3)に準じたものである。
ステップS516〜S534では、第3動き探索処理部42は、誤差関数値の分布平均Me”及び標準偏差Se”並びに画素値変化の分布平均Mi”及び標準偏差Si”に基づいて、各画素における誤差関数値からの外れ値度合い及び/又は各画素における画素値変化からの外れ値度合いを計算し、画素ごとの条件判断を行ない、3回目の動き探索処理を実施する。各外れ値度合いの各計算式は式(4)や式(5)に準じたものである。
このような実施例5によれば、画像全体に対して外れ値除去を行なった動き推定(2ndME)の結果を用いて、画像全体に対して外れ値除去を行なった動き推定(3rdME)を行なうので、外れ値除去を2回行なう点では実施例4と同様であり、実施例1に比べてより正しい動き推定の結果を使用して外れ値除去を行なうことができるため、正確なグローバル動き探索処理を行なうことができる。実施例5では、実施例4とは異なり、分割画像ごとの動き探索処理及び画像選択は1回であるので、実施例4に比べて、外れ値除去の精度は多少劣るが、処理量が少なくて済む。実施例1、実施例4、実施例5を簡単に対比すると(相対的な記述である)、処理量は、実施例1が最も少なく、次に実施例5であり、実施例4が最も多く、一方、精度は、実施例4が最も高く、次に実施例4であり、実施例1が最も低い。
[グローバル動き探索処理装置及び画像処理装置]
図22は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例6を説明する図である。ここで、図22(A)は、実施例6のグローバル動き探索処理装置3Fを備えた画像処理装置1Fを示し、図22(B)は、実施例6のグローバル動き探索処理装置3Fの基本構成を示すブロック図である。以下では、実施例1に対する変形例で説明するが、実施例2等に対しても同様の変形が可能である。
図22は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例6を説明する図である。ここで、図22(A)は、実施例6のグローバル動き探索処理装置3Fを備えた画像処理装置1Fを示し、図22(B)は、実施例6のグローバル動き探索処理装置3Fの基本構成を示すブロック図である。以下では、実施例1に対する変形例で説明するが、実施例2等に対しても同様の変形が可能である。
実施例6は、2枚画像(現画像CIMと参照画像RIM)の他に画像のエッジ量情報EGを取り込んで、取り込んだエッジ量情報EGに基づいて第1動き探索処理部10による動き探索結果が無効か否かを判定する点に特徴がある。このため、図22(B)に示すように、実施例6のグローバル動き探索処理装置3Fは、第1動き探索処理部10(1stME)、動き探索判定部20に代わる動き探索判定部70、第2動き探索処理部30(2ndME)、及び、記憶部50(メモリ)を備える。動き探索判定部70は、標準偏差判定部22に対応する標準偏差判定部72及び画素値変化判定部24に対応する画素値変化判定部74の他に、第1エッジ判定部76を有する点が実施例1の動き探索判定部20と異なる。
第1エッジ判定部76は、画像特徴値としてのエッジ量情報EGに基づいて第1の動き探索処理部による動き探索結果が無効か否かを判定するものであり、画像のエッジ量情報EGに基づく特徴量(例えば画像全体におけるエッジ量の平均値)を求め、この特徴量を閾値判定する。ここで、実施例6の第1エッジ判定部76は、後述する実施例7とは異なり、「画像全体」のエッジ量(例えば画像全体におけるエッジ量の平均値)を計算し、画像全体中にエッジが少ない場合は第1動き探索処理部10による処理結果を無効とする点が異なる。動き探索判定部20は、少なくとも第1エッジ判定部76の閾値判定結果に基づいて、好ましくは、標準偏差判定部22と画素値変化判定部24の少なくとも一方の閾値判定結果にも基づいて、第1動き探索処理部10による1回目の動き探索処理(1stME)が有効であるのか否かを判定する。
〔動き探索の有効無効判定処理〕
図23は、実施例6の動き探索判定部70による動き探索処理の有効無効判定処理(ステップS40F)を説明するフローチャートである。ステップS404までは実施例1と同様である。この後、動き探索判定部70の第1エッジ判定部76は、処理対象画像の幅W及び高さH並びに全画素の各エッジ量情報EGに基づいて、画像全体におけるエッジ量の平均値Eallを算出する(S406)。例えば、エッジ量情報EGは、エッジ画素のときは「1」、そうでないときは「0」とするデータが、画素分あるものとする。「x:0 to W−1、y:0 to H−1」の2次元元ループ中で、入力されたエッジ量情報EG(x,y)を加算していき、画素数(W・H)で割る、つまり、Eall=(エッジ情報を足し合わせた数)/(W・H)とする。
図23は、実施例6の動き探索判定部70による動き探索処理の有効無効判定処理(ステップS40F)を説明するフローチャートである。ステップS404までは実施例1と同様である。この後、動き探索判定部70の第1エッジ判定部76は、処理対象画像の幅W及び高さH並びに全画素の各エッジ量情報EGに基づいて、画像全体におけるエッジ量の平均値Eallを算出する(S406)。例えば、エッジ量情報EGは、エッジ画素のときは「1」、そうでないときは「0」とするデータが、画素分あるものとする。「x:0 to W−1、y:0 to H−1」の2次元元ループ中で、入力されたエッジ量情報EG(x,y)を加算していき、画素数(W・H)で割る、つまり、Eall=(エッジ情報を足し合わせた数)/(W・H)とする。
次に、動き探索判定部70(の第1エッジ判定部76)は、予め設定された閾値で、平均値Eallの閾値判定を行なう(S410)。動き探索判定部70は、閾値判定の結果、平均値Eallが閾値より低いと判定した場合は第1動き探索処理部10による1回目の動き探索処理(1stME)が無効であると判定して処理を終了する(S412−Low、S440)。平均値Eallが閾値より低いということは、画像全体中にエッジが少なく、動き探索処理を誤ってしまう可能性が高くなることを意味する。換言すると、画像全体中にエッジが少ない画像は、動き推定結果の信頼度が低い画像である。そのため、第1エッジ判定部76は、画像全体のエッジ量を計算し、画像全体中にエッジが少ない場合は1回目の動き探索処理(1stME)が無効とする。これは、その後の処理における誤補正を防ぐためである。第1エッジ判定部76が、その閾値判定の結果、平均値Eallが閾値より低くない(高い)と判定した場合は、実施例1と同様に、ステップS420以降の処理(つまり、標準偏差や画素値変化の閾値判定)を行なう。
尚、ここでは、平均値Eall、誤差関数値の標準偏差Se、及び、画素値変化の絶対値Dを算出してから、平均値Eallや標準偏差Seや絶対値Dの閾値判定を行なっているが、平均値Eallと標準偏差Seと絶対値Dの何れか1つの算出と閾値判定を行なってから、他の算出と閾値判定を行なうように変形してもよい。又、精度は劣るが、少なくとも平均値Eallの算出と閾値判定を行なうとともに、標準偏差Seと絶対値Dの何れか一方のみの算出と閾値判定を行なうように変形してもよい。
このような実施例6の動き探索の有効無効判定処理によれば、2枚画像の他に画像のエッジ量情報EGを入力し、その情報に基づいて第1動き探索処理部10による動き推定結果が有効か無効かの判定を行なう。このため、動き推定結果の信頼度が低い画像では、動き推定の結果を無効とすることにより、結果として誤補正を行なわなくなる。即ち、動き推定を行なう際、エッジ量が少ない画像(例えば無地の画像)においては、動き推定結果は信頼度が低いということが前提として存在する。ここで、実施例6では、画像のエッジ量の情報を取得し、そのエッジ情報を元に、画像全体のエッジ量を計算して1回目の動き探索処理の結果が有効であるか無効であるかを判定する。そのため、動き推定の結果の信頼度が低い画像では、動き推定の結果を無効とすることにより、2回目には、精度の高い動き探索処理を行なうことができる。つまり、画像全体のエッジ量を計算して画像全体中にエッジが少ない場合は1回目の動き探索処理(1stME)を無効とする(誤補正を防ぐため)。 例えば、無地(=エッジ量が少ない)の場合、動き探索処理を誤ってしまう可能性が高くなるため、無地の可能性が高い場合は動きベクトルMVを0とすることにより、誤った動き探索処理を使用することはなくなる(一方、動き探索処理を誤ると動きベクトルMVは大きくなる)。これにより、誤まった動き探索処理結果を使用しての処理が行なわれなくなるため、2回目以降の動き探索処理においては、精度の高い外れ値除去を含む動き探索処理を行なうことができる。したがって、実施例6のグローバル動き探索処理装置3Fを画像処理装置1や撮像装置5に適用すれば、結果として誤補正を行なわなくなるので、より安定化した画像シーケンスを出力することができる。例えば、揺れ補正技術の場合、補正量=0、つまり、「補正をしない」というのは、安全のため対策となる。
図24は、グローバル動き探索処理装置及びこれを備えた画像処理装置の実施例7を説明する図である。ここで、図24(A)は、実施例7のグローバル動き探索処理装置3Gを備えた画像処理装置1Gを示し、図24(B)は、実施例7のグローバル動き探索処理装置3Gの基本構成を示すブロック図である。以下では、実施例1に対する変形例で説明するが、実施例2等に対しても同様の変形が可能である。図は、実施例6と併用する構成で示しているが、このことは必須ではない。
実施例7は、実施例6と同様に、2枚画像(現画像CIMと参照画像RIM)の他に画像のエッジ量情報EGを取り込んで、取り込んだエッジ量情報EGに基づいて第1動き探索処理部10による動き探索結果が無効か否かを判定する点に特徴がある。但し、実施例7では、実施例6とは異なり、分割画像ごとに行なう1回目の動き探索処理のループにエッジ量計算と閾値判定とを組み込むことで、分割画像ごとにエッジ量を計算し、分割画像中にエッジが少ない場合は、その分割画像の動き探索処理結果を無効とする点が異なる。更にこの判定処理後にも、実施例1と同様に、標準偏差判定部72と画素値変化判定部74の少なくとも一方の閾値判定結果にも基づいて、第1動き探索処理部10による1回目の動き探索処理(1stME)が有効であるのか否かも判定する。
このため、図24(B)に示すように、実施例7のグローバル動き探索処理装置3Gは、実施例6の構成をベースに、更に、動き探索判定部70に第2エッジ判定部76を設けた点が実施例1の動き探索判定部20と異なる。第2エッジ判定部78は、分割画像ごとに、画像特徴値としてのエッジ量情報EGに基づいて、第1動き探索処理部10による動き探索結果が無効か否かを判定し、無効のときは当該分割画像の第1動き探索処理部10による動き探索処理結果を無効(例えば動きベクトルMDV(DVx、DVy)をゼロ)とする。そして分割画像選択部66は、第2エッジ判定部76による判定後の全ての分割画像についての第1動き探索処理部10による動き探索処理結果である特徴量(動きベクトルMV)の中から、信頼性の高い特徴量を有する分割領域を1つ或いは複数選択する。標準偏差判定部72や画素値変化判定部74は、第2エッジ判定部76による判定後の全ての分割画像についての第1動き探索処理部10による動き探索処理の情報に基づいてグローバル動き探索の難易度が高いか否かを判定することにより、第1動き探索処理部10の動き探索結果が無効か否かを判定する。
[処理手順の全体概要]
図25は、実施例7の動き探索判定部70による動き探索処理の有効無効判定処理を説明するフローチャートである。例えば、n(=0)番目の分割画像に対してLK法を利用した動き探索処理(1stME)を行なう(S21)までの処理は実施例1と同様である。第1エッジ判定部76は、この1回目の動き探索処理(1stME)の直後において、分割画像ごとのエッジ量の閾値判定を行なうことにより、分割画像ごとに1回目の動き探索処理が無効か否かの判断を行なう。具体的には、第1エッジ判定部76は、当該分割画像におけるエッジ量の平均値Eblkを求める(S23)。例えば、分割画像(分割画像番号のオペレータn)の幅W’(=W/X)及び分割画像の高さH’(=H/Y)、処理対象の分割画像の位置を特定する座標情報Dx[n]、Dy[n]並びに取得したエッジ量情報EG(x,y)を用いて、平均値Eblkを求める。その際には、「x:Dx[n] to Dx[n]+W’−1、y:Dy[n] to Dy[n]+H’−1」の2次元ループ中で、入力されたエッジ量情報EG(x,y)を加算していき、画素数(W’・H’)で割る、つまり、Eblk=(エッジ情報を足し合わせた数)/( W’・H’)とする。
図25は、実施例7の動き探索判定部70による動き探索処理の有効無効判定処理を説明するフローチャートである。例えば、n(=0)番目の分割画像に対してLK法を利用した動き探索処理(1stME)を行なう(S21)までの処理は実施例1と同様である。第1エッジ判定部76は、この1回目の動き探索処理(1stME)の直後において、分割画像ごとのエッジ量の閾値判定を行なうことにより、分割画像ごとに1回目の動き探索処理が無効か否かの判断を行なう。具体的には、第1エッジ判定部76は、当該分割画像におけるエッジ量の平均値Eblkを求める(S23)。例えば、分割画像(分割画像番号のオペレータn)の幅W’(=W/X)及び分割画像の高さH’(=H/Y)、処理対象の分割画像の位置を特定する座標情報Dx[n]、Dy[n]並びに取得したエッジ量情報EG(x,y)を用いて、平均値Eblkを求める。その際には、「x:Dx[n] to Dx[n]+W’−1、y:Dy[n] to Dy[n]+H’−1」の2次元ループ中で、入力されたエッジ量情報EG(x,y)を加算していき、画素数(W’・H’)で割る、つまり、Eblk=(エッジ情報を足し合わせた数)/( W’・H’)とする。
次に、動き探索判定部70(の第1エッジ判定部76)は、予め設定された閾値で、平均値Eblkの閾値判定を行なう(S24)。第1エッジ判定部76による閾値判定の結果、平均値Eblkが閾値より低いと判定された場合は、第1動き探索処理部10による1回目の動き探索処理(1stME)が無効であるとして、第1動き探索処理部10は、この「n」の元で行なった処理結果である動きベクトルMV(Vx、Vy)を動きベクトルMDV(DVx[n]=0、DVy[n]=0)として記憶部50に保存する(S25)。平均値Eblkが閾値より低いということは、分割画像中にエッジが少なく、動き探索処理を誤ってしまう可能性が高くなることを意味する。そのため、第1エッジ判定部76は、分割画像のエッジ量を計算し、分割画像中にエッジが少ない場合は1回目の動き探索処理(1stME)が無効とする。これは、実施例6と同様に、その後の処理における誤補正を防ぐためである。
一方、動き探索判定部70による閾値判定の結果、平均値Eblkが閾値より低くない(高い)と判定された場合は、実施例1と同様に、第1動き探索処理部10は、「n」の元で行なった処理結果である動きベクトルMV(Vx、Vy)を動きベクトルMDV(DVx[n]、DVy[n])として記憶部50に保存する(S26)。そして、第1動き探索処理部10は、オペレータnを「1」インクリメントし、オペレータn=N−1の処理が完了するまで同様の処理を繰り返す(S20、S28−N)。
このような実施例7の動き探索の有効無効判定処理によれば、2枚画像の他に画像のエッジ量情報EGを入力し、入力されたエッジ量から動き推定の信頼度を判定するので、正確な画像選択と外れ値除去を含む2回目の動き探索処理を行なうことができる。即ち、実施例7では、画像のエッジ量の情報を取得し、そのエッジ情報を元に、分割画像ごとにエッジ量を計算して1回目の動き探索処理の結果が有効であるか無効であるかを判定する。分割画像ごとにエッジ量を計算し、分割画像中にエッジが少ない場合は、その分割画像の動き探索処理結果を無効とする。この結果を受けて分割画像選択部66による分割画像の選択や標準偏差判定部72及び画素値変化判定部74による最終的な無効判定を行なうことにより、誤まった動き探索処理結果を使用しての画像選択が行なわれなくなるため、安全な画像選択を行なうことができるし、2回目以降の動き探索処理においては、精度の高い外れ値除去を含む動き探索処理を行なうことができる。したがって、この実施例7のグローバル動き探索処理装置3Gを画像処理装置1や撮像装置5に適用すれば、結果として誤補正を行なわなくなるので、より安定化した画像シーケンスを出力することができる。
例えば、エッジ量の少ない分割画像において動きベクトルMVをゼロにすることにより、エッジ量の少ない分割画像との差分が大きくなってしまう分割画像は、ゼロとの差分が多い=動きベクトルMVが大きいと修正されるし、エッジ量の少ない分割画像との差分が小さくなってしまう分割画像は、ゼロとの差分が少ない=動きベクトルMVが小さいと修正される。つまり、エッジ量の少ない分割画像の動きベクトルMVをゼロとすることにより、ベクトルが大きい分割画像との差分が大きくなる。本実施例では、差分が小さいものから分割画像を選択するので、動きベクトルMVが小さいものから選択されることになる。そのため、動きベクトルMVが大きい分割画像ではなく、安全であるゼロに近い分割画像を選択する傾向になる。エッジ量の少ない分割画像の動きベクトルMVをゼロとすることにより、分割画像間の差分は変わる(修正される)が、安全な処理が行なわれる。
以上、本明細書で開示する技術について実施形態を用いて説明したが、請求項の記載内容の技術的範囲は前記実施形態に記載の範囲には限定されない。本明細書で開示する技術の要旨を逸脱しない範囲で前記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本明細書で開示する技術の技術的範囲に含まれる。前記の実施形態は、請求項に係る技術を限定するものではなく、実施形態の中で説明されている特徴の組合せの全てが、本明細書で開示する技術が対象とする課題の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の技術が含まれており、開示される複数の構成要件における適宜の組合せにより種々の技術を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、本明細書で開示する技術が対象とする課題と対応した効果が得られる限りにおいて、この幾つかの構成要件が削除された構成も、本明細書で開示する技術として抽出され得る。
例えば、本開示に係るグローバル動き探索処理GMEの技術は、CPU、RAM、ROM等を有する電子計算機(コンピュータ)を用いてソフトウェアで実現することもでき、このためのプログラムやこのプログラムを格納した記録媒体を発明として抽出することもできる。各種の信号処理をソフトウェアで実現する電子計算機それ自体の構成は周知であるので図示しない。「各種の信号処理」として前述のグローバル動き探索処理GMEを適用することにより、本開示に係るグローバル動き探索処理GMEの技術をソフトウェアで実現することができる。
プログラムは、コンピュータ読取り可能な記憶媒体(例えば、半導体メモリ、磁気ディスク、光ディスク等)に格納されて提供されてもよいし、有線或いは無線による通信手段を介した配信により提供されてもよい。例えば、グローバル動き探索処理機能をコンピュータに実行させるプログラムは、例えば可搬型の記録媒体を通じて配布・提供される。例えばプログラムは、CD−ROM(Compact Disc Read Only Memory )やFD(フレキシブルディスク)に格納されて配布・提供されてもよい。又、MO(Magneto Optical Disk)ドライブを設け、MOに前記プログラムを格納してもよく、フラッシュメモリ等の不揮発性の半導体メモリを利用したカード型の記憶媒体等、その他の記録媒体にプログラムを格納して配布・提供してもよい。ソフトウェアを構成するプログラムは、記録媒体を介して配布・提供されることに限らず、通信手段(有線・無線は不問)を介して配布・提供されてもよい。例えば、他のサーバなどからインターネット等のネットワークを経由してプログラムをダウンロードして取得したり、又は更新したりしてもよい。グローバル動き探索処理GMEを行なう機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
前記実施形態の記載を踏まえれば、特許請求の範囲に記載の請求項に係る技術は一例であり、例えば、以下の技術が抽出される。以下列記する。
[付記1]
処理対象画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部、
とを備えた画像処理装置。
[付記2]
分割画像選択部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、分割画像を選択する付記1に記載の画像処理装置。
[付記3]
代表特徴値算出部を更に備え、
分割画像選択部は、分割画像を複数選択し、
代表特徴値算出部は、選択された複数の分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値を算出し、
第2の動き探索処理部は、選択された複数の分割画像についての代表特徴値算出部により算出された代表的な特徴値に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう付記1又は付記2に記載の画像処理装置。
[付記4]
第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいてグローバル動き探索の難易度が閾値以上であるか否かを判定することにより、動き探索結果が無効か否かを判定する付記1乃至付記3の何れか1項に記載の画像処理装置。
[付記5]
判定部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報として、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく分割画像全体に亘る加算計算結果と、
分割画像全体についての加算計算結果に基づいて算出した動き情報、
とを全ての分割画像について取得し、
取得した各値で表される条件式に従ってグローバル動き探索の難易度が閾値以上であるか否かを判定する付記4に記載の画像処理装置。
[付記6]
第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて信頼性が閾値以上である画素であるか否かを判断しながら、分割画像ごとに動き探索処理を行なう第3動き探索処理部を備え、
第2の動き探索処理部は、第3の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう付記1乃至付記5の何れか1項に記載の画像処理装置。
[付記7]
第2の動き探索処理部による画像全体に対しての動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第3の動き探索処理部を備えた付記1乃至付記6の何れか1項に記載の画像処理装置。
[付記8]
処理対象画像の画像特徴値に基づいて、画像分割及び/又は動き探索処理を行なう付記1乃至付記7の何れか1項に記載の画像処理装置。
[付記9]
画像分割部は、画像特徴値としての画像中のオブジェクト情報に基づいて処理対象画像を不均等に複数の分割画像に分割可能である付記8に記載の画像処理装置。
[付記10]
第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、画像特徴値としてのエッジ情報に基づいてグローバル動き探索の難易度が閾値以上であるか否かを判定することにより、第1の動き探索処理部による動き探索結果が無効か否かを判定する付記8又は付記9に記載の画像処理装置。
[付記11]
第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、分割画像ごとに、画像特徴値としてのエッジ情報に基づいて、第1の動き探索処理部による動き探索結果が無効か否かを判定し、無効のときは当該分割画像の第1の動き探索処理部による動き探索処理結果を無効とする付記8乃至付記10の何れか1項に記載の画像処理装置。
[付記12]
各動き探索処理部は、画像の平行移動に関する動き情報を算出する、及び/又は、画像の回転移動に関する動き情報を算出する付記1乃至付記11の何れか1項に記載の画像処理装置。
[付記13]
各動き探索処理部の少なくとも1つは、Lucas-Kanade法により動き探索処理を行なう付記1乃至付記12の何れか1項に記載の画像処理装置。
[付記14]
第1の動き探索処理部は、分割画像ごとに、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を分割画像全体に亘って行ない、その加算計算結果に基づいて動き情報を算出する付記13に記載の画像処理装置。
[付記15]
第2の動き探索処理部は、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を画像全体に亘って行なう際に、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づく設定条件に従って信頼性が閾値以上である画素であるか否かを判断し、設定条件を満足する場合に加算計算を行なう付記13又は付記14に記載の画像処理装置。
[付記16]
第2の動き探索処理部は、動き探索処理結果が信頼性が閾値以上である画素であるか否かを判断する情報として、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく分割画像全体に亘る加算計算結果と、
分割画像全体についての加算計算結果に基づいて算出した動き情報、
とを選択された分割画像について取得し、
取得した各値で表される設定条件に従って、画素ごとに加算するか否かの判断を行なう付記15に記載の画像処理装置。
[付記17]
処理対象画像を複数の分割画像にする画像分割工程と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択工程と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理工程と、
選択された分割画像についての第1の動き探索処理工程による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理工程、
とを備えた画像処理方法。
[付記18]
固体撮像装置と、
固体撮像装置の撮像面に被写体像を結像する光学系と、
固体撮像装置により取得された画像を記憶する第1記憶部と、
固体撮像装置により取得された画像に対して予め定められた信号処理を行なう第1の信号処理部と、
第1の信号処理部で処理された画像を記憶する第2記憶部と、
第2記憶部から読み出した画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部と、
第1記憶部から読み出した画像に対して、第2の動き探索処理部の動き探索処理の結果を参照して動き補正処理を行なう第2の信号処理部、
とを備えた撮像装置。
[付記19]
入力された画像を記憶する第1記憶部と、
入力された画像に対して予め定められた信号処理を行なう第1の信号処理部と、
第1の信号処理部で処理された画像を記憶する第2記憶部と、
第2記憶部から読み出した画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部と、
第1記憶部から読み出した画像に対して、第2の動き探索処理部の動き探索処理の結果を参照して動き補正処理を行なう第2の信号処理部、
とを備えた電子機器。
[付記20]
処理対象画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部、
としてコンピュータを機能させるプログラム。
[付記1]
処理対象画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部、
とを備えた画像処理装置。
[付記2]
分割画像選択部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、分割画像を選択する付記1に記載の画像処理装置。
[付記3]
代表特徴値算出部を更に備え、
分割画像選択部は、分割画像を複数選択し、
代表特徴値算出部は、選択された複数の分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値を算出し、
第2の動き探索処理部は、選択された複数の分割画像についての代表特徴値算出部により算出された代表的な特徴値に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう付記1又は付記2に記載の画像処理装置。
[付記4]
第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいてグローバル動き探索の難易度が閾値以上であるか否かを判定することにより、動き探索結果が無効か否かを判定する付記1乃至付記3の何れか1項に記載の画像処理装置。
[付記5]
判定部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報として、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく分割画像全体に亘る加算計算結果と、
分割画像全体についての加算計算結果に基づいて算出した動き情報、
とを全ての分割画像について取得し、
取得した各値で表される条件式に従ってグローバル動き探索の難易度が閾値以上であるか否かを判定する付記4に記載の画像処理装置。
[付記6]
第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて信頼性が閾値以上である画素であるか否かを判断しながら、分割画像ごとに動き探索処理を行なう第3動き探索処理部を備え、
第2の動き探索処理部は、第3の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう付記1乃至付記5の何れか1項に記載の画像処理装置。
[付記7]
第2の動き探索処理部による画像全体に対しての動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第3の動き探索処理部を備えた付記1乃至付記6の何れか1項に記載の画像処理装置。
[付記8]
処理対象画像の画像特徴値に基づいて、画像分割及び/又は動き探索処理を行なう付記1乃至付記7の何れか1項に記載の画像処理装置。
[付記9]
画像分割部は、画像特徴値としての画像中のオブジェクト情報に基づいて処理対象画像を不均等に複数の分割画像に分割可能である付記8に記載の画像処理装置。
[付記10]
第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、画像特徴値としてのエッジ情報に基づいてグローバル動き探索の難易度が閾値以上であるか否かを判定することにより、第1の動き探索処理部による動き探索結果が無効か否かを判定する付記8又は付記9に記載の画像処理装置。
[付記11]
第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、分割画像ごとに、画像特徴値としてのエッジ情報に基づいて、第1の動き探索処理部による動き探索結果が無効か否かを判定し、無効のときは当該分割画像の第1の動き探索処理部による動き探索処理結果を無効とする付記8乃至付記10の何れか1項に記載の画像処理装置。
[付記12]
各動き探索処理部は、画像の平行移動に関する動き情報を算出する、及び/又は、画像の回転移動に関する動き情報を算出する付記1乃至付記11の何れか1項に記載の画像処理装置。
[付記13]
各動き探索処理部の少なくとも1つは、Lucas-Kanade法により動き探索処理を行なう付記1乃至付記12の何れか1項に記載の画像処理装置。
[付記14]
第1の動き探索処理部は、分割画像ごとに、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を分割画像全体に亘って行ない、その加算計算結果に基づいて動き情報を算出する付記13に記載の画像処理装置。
[付記15]
第2の動き探索処理部は、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を画像全体に亘って行なう際に、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づく設定条件に従って信頼性が閾値以上である画素であるか否かを判断し、設定条件を満足する場合に加算計算を行なう付記13又は付記14に記載の画像処理装置。
[付記16]
第2の動き探索処理部は、動き探索処理結果が信頼性が閾値以上である画素であるか否かを判断する情報として、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく分割画像全体に亘る加算計算結果と、
分割画像全体についての加算計算結果に基づいて算出した動き情報、
とを選択された分割画像について取得し、
取得した各値で表される設定条件に従って、画素ごとに加算するか否かの判断を行なう付記15に記載の画像処理装置。
[付記17]
処理対象画像を複数の分割画像にする画像分割工程と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択工程と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理工程と、
選択された分割画像についての第1の動き探索処理工程による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理工程、
とを備えた画像処理方法。
[付記18]
固体撮像装置と、
固体撮像装置の撮像面に被写体像を結像する光学系と、
固体撮像装置により取得された画像を記憶する第1記憶部と、
固体撮像装置により取得された画像に対して予め定められた信号処理を行なう第1の信号処理部と、
第1の信号処理部で処理された画像を記憶する第2記憶部と、
第2記憶部から読み出した画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部と、
第1記憶部から読み出した画像に対して、第2の動き探索処理部の動き探索処理の結果を参照して動き補正処理を行なう第2の信号処理部、
とを備えた撮像装置。
[付記19]
入力された画像を記憶する第1記憶部と、
入力された画像に対して予め定められた信号処理を行なう第1の信号処理部と、
第1の信号処理部で処理された画像を記憶する第2記憶部と、
第2記憶部から読み出した画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部と、
第1記憶部から読み出した画像に対して、第2の動き探索処理部の動き探索処理の結果を参照して動き補正処理を行なう第2の信号処理部、
とを備えた電子機器。
[付記20]
処理対象画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部、
としてコンピュータを機能させるプログラム。
1…画像処理装置、10…第1動き探索処理部、140…前段信号処理装置、142…第1記憶部、144…第2記憶部、146…縮小平滑化部、150…後段信号処理装置、152…動きベクトルフィルタ、154…画像切出部、20…動き探索判定部、22…標準偏差判定部、24…画素値変化判定部、3…グローバル動き探索処理装置、30…第2動き探索処理部、32…第2動き探索処理部、38…代表特徴値算出部、40…第3動き探索処理部、42…第3動き探索処理部、5…撮像装置、50…記憶部、60…画像分割・選択処理部、62…画像分割部、66…分割画像選択部、68…代表特徴値算出部、7…固体撮像装置、70…動き探索判定部、72…標準偏差判定部、74…画素値変化判定部、76…第1エッジ判定部、78…第2エッジ判定部
Claims (20)
- 処理対象画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部、
とを備えた画像処理装置。 - 分割画像選択部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、分割画像を選択する請求項1に記載の画像処理装置。
- 代表特徴値算出部を更に備え、
分割画像選択部は、分割画像を複数選択し、
代表特徴値算出部は、選択された複数の分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、動き探索処理に関する代表的な特徴値を算出し、
第2の動き探索処理部は、選択された複数の分割画像についての代表特徴値算出部により算出された代表的な特徴値に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう請求項1に記載の画像処理装置。 - 第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいてグローバル動き探索の難易度が閾値以上であるか否かを判定することにより、動き探索結果が無効か否かを判定する請求項1に記載の画像処理装置。 - 判定部は、第1の動き探索処理部による分割画像ごとの動き探索処理の情報として、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく分割画像全体に亘る加算計算結果と、
分割画像全体についての加算計算結果に基づいて算出した動き情報、
とを全ての分割画像について取得し、
取得した各値で表される条件式に従ってグローバル動き探索の難易度が閾値以上であるか否かを判定する請求項4に記載の画像処理装置。 - 第1の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて信頼性が閾値以上である画素であるか否かを判断しながら、分割画像ごとに動き探索処理を行なう第3動き探索処理部を備え、
第2の動き探索処理部は、第3の動き探索処理部による分割画像ごとの動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう請求項1に記載の画像処理装置。 - 第2の動き探索処理部による画像全体に対しての動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第3の動き探索処理部を備えた請求項1に記載の画像処理装置。
- 処理対象画像の画像特徴値に基づいて、画像分割及び/又は動き探索処理を行なう請求項1に記載の画像処理装置。
- 画像分割部は、画像特徴値としての画像中のオブジェクト情報に基づいて処理対象画像を不均等に複数の分割画像に分割可能である請求項8に記載の画像処理装置。
- 第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、画像特徴値としてのエッジ情報に基づいてグローバル動き探索の難易度が閾値以上であるか否かを判定することにより、第1の動き探索処理部による動き探索結果が無効か否かを判定する請求項8に記載の画像処理装置。 - 第1の動き探索処理部による動き探索結果が無効か否かを判定する判定部を備え、
判定部は、分割画像ごとに、画像特徴値としてのエッジ情報に基づいて、第1の動き探索処理部による動き探索結果が無効か否かを判定し、無効のときは当該分割画像の第1の動き探索処理部による動き探索処理結果を無効とする請求項8に記載の画像処理装置。 - 各動き探索処理部は、画像の平行移動に関する動き情報を算出する、及び/又は、画像の回転移動に関する動き情報を算出する請求項1に記載の画像処理装置。
- 各動き探索処理部の少なくとも1つは、Lucas-Kanade法により動き探索処理を行なう請求項1に記載の画像処理装置。
- 第1の動き探索処理部は、分割画像ごとに、画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を分割画像全体に亘って行ない、その加算計算結果に基づいて動き情報を算出する請求項13に記載の画像処理装置。
- 第2の動き探索処理部は、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく加算計算を画像全体に亘って行なう際に、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づく設定条件に従って信頼性が閾値以上である画素であるか否かを判断し、設定条件を満足する場合に加算計算を行なう請求項13に記載の画像処理装置。 - 第2の動き探索処理部は、動き探索処理結果が信頼性が閾値以上である画素であるか否かを判断する情報として、
画素における水平方向の画素値変化量、垂直方向の画素値変化量、及び、時間方向の画素値変化量に関する情報の少なくとも1つで表される計算式に基づく分割画像全体に亘る加算計算結果と、
分割画像全体についての加算計算結果に基づいて算出した動き情報、
とを選択された分割画像について取得し、
取得した各値で表される設定条件に従って、画素ごとに加算するか否かの判断を行なう請求項15に記載の画像処理装置。 - 処理対象画像を複数の分割画像にする画像分割工程と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択工程と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理工程と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理工程、
とを備えた画像処理方法。 - 固体撮像装置と、
固体撮像装置の撮像面に被写体像を結像する光学系と、
固体撮像装置により取得された画像を記憶する第1記憶部と、
固体撮像装置により取得された画像に対して予め定められた信号処理を行なう第1の信号処理部と、
第1の信号処理部で処理された画像を記憶する第2記憶部と、
第2記憶部から読み出した画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部と、
第1記憶部から読み出した画像に対して、第2の動き探索処理部の動き探索処理の結果を参照して動き補正処理を行なう第2の信号処理部、
とを備えた撮像装置。 - 入力された画像を記憶する第1記憶部と、
入力された画像に対して予め定められた信号処理を行なう第1の信号処理部と、
第1の信号処理部で処理された画像を記憶する第2記憶部と、
第2記憶部から読み出した画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像選択部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部と、
第1記憶部から読み出した画像に対して、第2の動き探索処理部の動き探索処理の結果を参照して動き補正処理を行なう第2の信号処理部、
とを備えた電子機器。 - 処理対象画像を複数の分割画像にする画像分割部と、
複数の分割画像の内で、動き探索処理の信頼性が閾値以上である若しくは信頼性が相対的に高い分割画像を選択する分割画像を選択する分割画像選択部と、
分割画像ごとに動き探索処理を行なう第1の動き探索処理部と、
選択された分割画像についての第1の動き探索処理部による動き探索処理の情報に基づいて、画像分割を行なわない画像全体に対して動き探索処理を行なう第2の動き探索処理部、
としてコンピュータを機能させるプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011177406A JP2013041387A (ja) | 2011-08-15 | 2011-08-15 | 画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム |
PCT/JP2012/069613 WO2013024703A1 (ja) | 2011-08-15 | 2012-08-01 | 画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム |
CN201280045116.6A CN103797514A (zh) | 2011-08-15 | 2012-08-01 | 图像处理装置、图像处理方法、成像装置、电子设备和程序 |
US14/237,464 US9361704B2 (en) | 2011-08-15 | 2012-08-01 | Image processing device, image processing method, image device, electronic equipment, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011177406A JP2013041387A (ja) | 2011-08-15 | 2011-08-15 | 画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013041387A true JP2013041387A (ja) | 2013-02-28 |
Family
ID=47715025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011177406A Abandoned JP2013041387A (ja) | 2011-08-15 | 2011-08-15 | 画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9361704B2 (ja) |
JP (1) | JP2013041387A (ja) |
CN (1) | CN103797514A (ja) |
WO (1) | WO2013024703A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014220565A (ja) * | 2013-05-01 | 2014-11-20 | 日本放送協会 | 動き推定装置及びプログラム |
JP6430086B1 (ja) * | 2017-10-05 | 2018-11-28 | 三菱電機株式会社 | 画像提供装置、画像提供方法および画像提供プログラム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6448218B2 (ja) * | 2014-05-12 | 2019-01-09 | キヤノン株式会社 | 撮像装置、その制御方法および情報処理システム |
CN108291876B (zh) | 2014-11-21 | 2022-03-15 | 盖伊·李·亨纳夫 | 用于检测产品的真实性的***及方法 |
JP6509025B2 (ja) * | 2015-05-11 | 2019-05-08 | 株式会社日立製作所 | 画像処理装置、及びその方法 |
WO2017010514A1 (ja) * | 2015-07-15 | 2017-01-19 | 日本電信電話株式会社 | 画像検索装置及び方法、撮影時刻推定装置及び方法、反復構造抽出装置及び方法、並びにプログラム |
KR102131903B1 (ko) * | 2015-10-21 | 2020-07-08 | 삼성전자주식회사 | 모션 벡터 추정 방법 및 모션 벡터 추정 장치 |
WO2017082698A1 (ko) * | 2015-11-11 | 2017-05-18 | 삼성전자 주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
CN115174936A (zh) * | 2016-05-10 | 2022-10-11 | 三星电子株式会社 | 用于对图像进行编码/解码的方法及其装置 |
JP6545229B2 (ja) * | 2017-08-23 | 2019-07-17 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム |
JP2023026919A (ja) * | 2021-08-16 | 2023-03-01 | キヤノン株式会社 | 撮像装置及びその制御方法並びにプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237405A (en) * | 1990-05-21 | 1993-08-17 | Matsushita Electric Industrial Co., Ltd. | Image motion vector detecting device and swing correcting device |
US6741652B1 (en) * | 1992-02-21 | 2004-05-25 | Canon Kabushiki Kaisha | Movement vector detecting device |
JP3199834B2 (ja) | 1992-04-06 | 2001-08-20 | キヤノン株式会社 | 防振装置及び振れ検出装置 |
JP2004015376A (ja) | 2002-06-06 | 2004-01-15 | Canon Inc | 像振れ防止装置およびカメラ |
JP4755490B2 (ja) | 2005-01-13 | 2011-08-24 | オリンパスイメージング株式会社 | ブレ補正方法および撮像装置 |
US8300015B2 (en) * | 2005-07-05 | 2012-10-30 | Stmicroelectronics S.A. | Method of detecting the movement of an entity equipped with an image sensor and device for implementing same |
US7835542B2 (en) * | 2005-12-29 | 2010-11-16 | Industrial Technology Research Institute | Object tracking systems and methods utilizing compressed-domain motion-based segmentation |
DE102006009774B4 (de) * | 2006-03-01 | 2007-10-18 | Siemens Ag | Bewegungsanalyse in digitalen Bildfolgen |
JP4762089B2 (ja) * | 2006-08-31 | 2011-08-31 | 三洋電機株式会社 | 画像合成装置及び方法並びに撮像装置 |
JP5045320B2 (ja) * | 2007-09-05 | 2012-10-10 | ソニー株式会社 | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
JP4958756B2 (ja) * | 2007-12-13 | 2012-06-20 | キヤノン株式会社 | 撮像装置及びその制御方法及びプログラム |
JP4623111B2 (ja) * | 2008-03-13 | 2011-02-02 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
JP5490117B2 (ja) * | 2009-07-07 | 2014-05-14 | 株式会社東芝 | 画像処理装置 |
JP2012227669A (ja) * | 2011-04-19 | 2012-11-15 | Sony Corp | 情報処理装置と情報処理方法およびプログラム |
-
2011
- 2011-08-15 JP JP2011177406A patent/JP2013041387A/ja not_active Abandoned
-
2012
- 2012-08-01 CN CN201280045116.6A patent/CN103797514A/zh active Pending
- 2012-08-01 WO PCT/JP2012/069613 patent/WO2013024703A1/ja active Application Filing
- 2012-08-01 US US14/237,464 patent/US9361704B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014220565A (ja) * | 2013-05-01 | 2014-11-20 | 日本放送協会 | 動き推定装置及びプログラム |
JP6430086B1 (ja) * | 2017-10-05 | 2018-11-28 | 三菱電機株式会社 | 画像提供装置、画像提供方法および画像提供プログラム |
WO2019069415A1 (ja) * | 2017-10-05 | 2019-04-11 | 三菱電機株式会社 | 画像提供装置、画像提供方法および画像提供プログラム |
US11328383B2 (en) | 2017-10-05 | 2022-05-10 | Mitsubishi Electric Corporation | Image provision apparatus, image provision method, and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
US9361704B2 (en) | 2016-06-07 |
CN103797514A (zh) | 2014-05-14 |
WO2013024703A1 (ja) | 2013-02-21 |
US20140185882A1 (en) | 2014-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013024703A1 (ja) | 画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム | |
JP5859958B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US9275464B2 (en) | Method for determining the extent of a foreground object in an image | |
JP5694300B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
US8818046B2 (en) | Image processing device, image processing method, and program | |
US20090046160A1 (en) | Camera shake correcting device | |
KR101524548B1 (ko) | 영상 정합 장치 및 방법 | |
CN110008795B (zh) | 图像目标追踪方法及其***与计算机可读取记录介质 | |
KR20110120215A (ko) | 화상 처리 장치, 화상 처리 방법, 촬상 장치, 및 프로그램 | |
US8774550B2 (en) | Picture processing device, picture processing method, integrated circuit, and program | |
EP2591460A1 (en) | Method, apparatus and computer program product for providing object tracking using template switching and feature adaptation | |
JP4639555B2 (ja) | 動きベクトル検出装置および方法、手振れ補正装置および方法、並びに撮像装置 | |
KR101202642B1 (ko) | 배경의 특징점을 이용한 전역 움직임 추정 방법 및 장치 | |
US20110085026A1 (en) | Detection method and detection system of moving object | |
JP6282133B2 (ja) | 撮像装置、その制御方法、および制御プログラム | |
JP4665737B2 (ja) | 画像処理装置及びプログラム | |
JP2006215655A (ja) | 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体 | |
JP5683153B2 (ja) | 画像処理装置および画像処理方法 | |
JP4743601B2 (ja) | 動画像処理装置 | |
JP4052348B2 (ja) | 画像処理装置、及び画像処理方法 | |
JP5759162B2 (ja) | 動きベクトル検出装置、動きベクトル検出方法及び補正装置及びプログラム | |
JP2010079815A (ja) | 画像補正装置 | |
JP2019144827A (ja) | 画像処理装置およびその制御方法ならびにプログラム | |
US12008773B2 (en) | Object tracking apparatus and control method thereof using weight map based on motion vectors | |
JP6525693B2 (ja) | 画像処理装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140704 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20150401 |