(57)【要約】【課題】より適切な動き検出を可能とする。【解決手段】動画像における動きを検出する画像処理装置は、動画像における着目画素の輝度を取得する取得手段と、第１の検出手法により着目画素における動きを検出し動き情報を決定する第１の決定手段と、第２の検出手法により着目画素における動きを検出し動き情報を決定する第２の決定手段と、着目画素の輝度に基づいて、第１の決定手段と第２の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、を有する。【選択図】図４
2020027357.tif 000002
【特許請求の範囲】
【請求項１】
動画像における動きを検出する画像処理装置であって、
前記動画像における着目画素の輝度を取得する取得手段と、
第１の検出手法により前記着目画素における動きを検出し動き情報を決定する第１の決定手段と、
前記第１の検出手法とは異なる第２の検出手法により前記着目画素における動きを検出し動き情報を決定する第２の決定手段と、
前記取得手段により取得された前記着目画素の輝度に基づいて、前記第１の決定手段と前記第２の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第１の検出手法は前記第２の検出手法に比較して動画像内のフリッカの影響を受けにくい動き検出手法であり、
前記制御手段は、前記着目画素の輝度が所定の下限閾値より大きい場合は前記第１の決定手段を用いて動き情報を決定し、前記着目画素の輝度が前記所定の下限閾値より小さい場合は前記第２の決定手段を用いて動き情報を決定するよう制御する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の検出手法は、特徴量の比較に基づく動き検出手法であり、
前記第２の検出手法は、テンプレートマッチングに基づく動き検出手法である
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記特徴量は、空間的な輝度勾配を多次元ベクトル化した情報である
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記着目画素の輝度と前記第１の決定手段又は前記第２の決定手段により決定された動き情報とに基づいて、画像相関エネルギー関数を小さくする動き情報を決定する手段を更に有する
ことを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
動画像における動きを検出する画像処理装置であって、
前記動画像のシーン情報に基づき該動画像が暗所シーンを示すか否かを判定する判定手段と、
前記動画像における着目画素の輝度を取得する取得手段と、
特徴量の比較に基づく第１の検出手法により前記着目画素における動きを検出し動き情報を決定する第１の決定手段と、
勾配法に基づく第２の検出手法により前記着目画素における動きを検出し動き情報を決定する第２の決定手段と、
前記第１の決定手段と前記第２の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
を有し、
前記制御手段は、
前記動画像が暗所シーンであると判定されかつ前記着目画素の輝度が所定の下限閾値より大きい場合は、前記第１の決定手段を用いて動き情報を決定し、
前記動画像が暗所シーンであると判定されかつ前記着目画素の輝度が前記所定の下限閾値より小さい場合は、前記第２の決定手段を用いて動き情報を決定し、
前記動画像が暗所シーンではないと判定された場合は、前記第２の決定手段と前記第１の決定手段とを縦列実行することにより動き情報を決定する、
よう制御する
ことを特徴とする画像処理装置。
【請求項７】
動画像における動きを検出する画像処理装置であって、
前記動画像のエッジ画像を決定するエッジ画像決定手段と、
前記動画像のシーン情報に基づき該動画像が暗所シーンを示すか否かを判定する判定手段と、
前記動画像における着目画素の輝度を取得する取得手段と、
特徴量の比較に基づく第１の検出手法により前記着目画素における動きを検出し動き情報を決定する第１の決定手段と、
勾配法に基づく第２の検出手法により前記着目画素における動きを検出し動き情報を決定する第２の決定手段と、
テンプレートマッチングに基づく第３の検出手法により前記着目画素における動きを検出し動き情報を決定する第３の決定手段と、
前記第１の決定手段と前記第２の決定手段と前記第３の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
を有し、
前記制御手段は、
前記動画像が暗所シーンであると判定されかつ前記着目画素の輝度が所定の下限閾値より大きい場合は、前記エッジ画像を対象として前記第３の決定手段を用いて動き情報を決定し、
前記動画像が暗所シーンであると判定されかつ前記着目画素の輝度が前記所定の下限閾値より小さい場合は、前記動画像を対象として前記第３の決定手段を用いて動き情報を決定し、
前記動画像が暗所シーンではないと判定された場合は、前記第２の決定手段と前記第１の決定手段とを縦列実行することにより動き情報を決定する、
よう制御する
ことを特徴とする画像処理装置。
【請求項８】
動画像における動きを検出する画像処理装置であって、
前記動画像のシーン情報に基づき該動画像が暗所シーンを示すか否かを判定する判定手段と、
前記動画像における着目画素の輝度を取得する取得手段と、
特徴量の比較に基づく第１の検出手法により前記着目画素における動きを検出し動き情報を決定する第１の決定手段と、
勾配法に基づく第２の検出手法により前記着目画素における動きを検出し動き情報を決定する第２の決定手段と、
前記第１の決定手段と前記第２の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
を有し、
前記制御手段は、
前記動画像が暗所シーンであると判定された場合は、前記第２の決定手段と前記第１の決定手段とを並列実行し、前記第２の決定手段により得られた動き情報と前記第１の決定手段により得られた動き情報とを前記着目画素の輝度に基づき重み付き平均することにより動き情報を決定し、
前記動画像が暗所シーンではないと判定された場合は、前記第２の決定手段と前記第１の決定手段とを縦列実行することにより動き情報を決定する、
よう制御する
ことを特徴とする画像処理装置。
【請求項９】
動画像における動きを検出する画像処理装置の制御方法であって、
前記画像処理装置は、
第１の検出手法により着目画素における動きを検出し動き情報を決定する第１の決定手段と、
前記第１の検出手法に比較して動画像内のフリッカの影響を受けやすい第２の検出手法により着目画素における動きを検出し動き情報を決定する第２の決定手段と、
を有し、
前記制御方法は、
前記動画像における着目画素の輝度を取得する取得工程と、
前記着目画素の輝度が所定の下限閾値より大きい場合は前記第１の決定手段を用いて動き情報を決定し、前記着目画素の輝度が前記所定の下限閾値より小さい場合は前記第２の決定手段を用いて動き情報を決定する、決定工程と、
を含むことを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像内の動きを検出する技術に関するものである。
【背景技術】
【０００２】
近年、動体追跡、動画の電子防振、フレーム補間など、動き情報を利用した技術が、数多く、開発されている。動き情報は、画素や局所域毎の動きを動きベクトルとして検出することにより決定される。また、このように密度の高い動き情報の一画像分の集合はオプティカルルフローとも呼ばれる。動きベクトルの検出手法としては、勾配法を用いるもの、テンプレートマッチングを用いるもの、特徴量比較を用いるものがある。
【０００３】
勾配法を用いる動き検出では、画素の時空間の輝度変化の方向と大きさから動きを検出する。勾配法の基本的な考え方は、着目画素の周辺の画素は同じ動きであると仮定し、着目画素を中心とするパッチ内の画素の平均的な時空間の輝度変化から動きを算出するものである。具体的な方法としては、ＬＫ（Lucas Kanade）法（非特許文献１）がある。ＬＫ法では、移動前後のパッチの画像相関をＳＳＤ（Sum of Squared Differences）で表現し、ＳＳＤをテイラー展開して、ＳＳＤが最小となる（つまり相関が最も高い）移動量を導出する方程式を解く。この移動量が着目画素の動きに相当する。
【０００４】
テンプレートマッチングを用いる動き検出では、着目画素を中心とする着目領域に対し、参照画像上に様々な位置に参照領域を設定し、着目領域の参照領域の相関値（もしくは逆相関値）を算出する。そして、参照領域の位置をずらしながら、相関値が最大（逆相関値が最小）となる参照領域の相対位置を動きベクトルとして得る。逆相関値の算出方法には、ＳＳＤやＳＡＤ（Sum of Absolute Differences）、ＮＣＣ（Normalized Cross-Correlation）といった着目領域と参照領域の対応する画素の画素値を比較して逆相関を得るものがある。
【０００５】
特徴量比較を用いる動き検出では、多次元ベクトルで表現される特徴量を算出し、特徴量の距離を逆相関値とする。特徴量は、一般に画面内の輝度勾配を複数数値化し多次元ベクトルとして扱うものであり、ＳＩＦＴ（非特許文献２），ＢＲＩＥＦ（非特許文献３）などが利用される。具体的な方法としては、非特許文献４に開示された方法がある。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】B. D. Lucas and T. Kanade, "An iterative image registration technique with an application to stereo vision", Proceedings of Imaging Understanding Workshop, pages 121-130, 1981
【非特許文献２】D.G. Lowe, "Distinctive image features from scaleinvariant key points", 60, pp.91-110, 2004
【非特許文献３】Michael Calonder, Vincent Lepetit, Christoph Strecha, and Pascal Fua, "BRIEF: Binary Robust Independent Elementary Features", 11th European Conference on Computer Vision (ECCV), Heraklion, Crete. LNCS Springer, September 2010
【非特許文献４】Ce Liu, Jenny Yuen, and Antonio Torralba, "SIFT Flow: Dense Correspondence across Scenes and its Applications",  IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 33, No. 5, 2011
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、勾配法を用いる動き検出やテンプレートマッチングを用いる動き検出では、比較する画像間に輝度変動がある場合には、適切な動き検出を行うことが出来ない場合がある。これは、上述の、ＳＳＤ，ＳＡＤ，ＮＣＣにおいて逆相関値が大きくなりすぎることに起因する。輝度変動は、高周波で明滅（フリッカ）する照明が存在するシーンを撮影した場合などに発生する。輝度変動の影響を軽減するために、パッチの平均値を引いてＮＣＣを算出するＺＮＣＣ（Zero Normalized Cross-Correlation）や、エッジ画像に対して処理を行う方法もある。ただし、ノイズ耐性や低周波成分の動き検出精度が低下してしまうという問題が生じる。一方、特徴量比較を用いる動き検出は、輝度変動の耐性は強いものの、ノイズ耐性が低いという特徴がある。
【０００８】
本発明は、このような問題に鑑みてなされたものであり、より適切な動き検出を可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上述の問題点を解決するため、本発明に係る画像処理装置は以下の構成を備える。すなわち、動画像における動きを検出する画像処理装置は、
前記動画像における着目画素の輝度を取得する取得手段と、
第１の検出手法により前記着目画素における動きを検出し動き情報を決定する第１の決定手段と、
前記第１の検出手法とは異なる第２の検出手法により前記着目画素における動きを検出し動き情報を決定する第２の決定手段と、
前記取得手段により取得された前記着目画素の輝度に基づいて、前記第１の決定手段と前記第２の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
を有する。
【発明の効果】
【００１０】
本発明によれば、より適切な動き検出を可能とする技術を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る画像処理装置のハードウェア構成を示す図である。
【図２】階層処理によるオプティカルフロー算出のフローチャートである。
【図３】第１実施形態における画像内の動き検出の詳細フローチャートである。
【図４】第１実施形態における着目画素の動き検出の詳細フローチャートである。
【図５】第２実施形態における着目画素の動き検出の詳細フローチャートである。
【図６】第３実施形態における画像内の動き検出の詳細フローチャートである。
【図７】第３実施形態における着目画素の動き検出の詳細フローチャートである。
【図８】第４実施形態における着目画素の動き検出の詳細フローチャートである。
【発明を実施するための形態】
【００１２】
以下に、図面を参照して、この発明の実施の形態の一例を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１３】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、２枚の画像（着目画像と参照画像）を比較し画像内の動きを検出する画像処理装置を例に挙げて以下に説明する。
【００１４】
＜装置構成＞
図１は、第１実施形態に係る画像処理装置のハードウェア構成を示す図である。ここで、図１（ａ）は、図２を参照して後述する各処理をソフトウェア処理により実現する際のハードウェア構成を示している。
【００１５】
画像処理装置は、ＣＰＵ（中央演算処理装置）１０２、メモリ１０３、ＨＤＤ（ハードディスクドライブ）１０４を含み、これらはバス１０１を介して相互に接続されており、各種データの入出力はバス１０１を介して行われる。ＨＤＤ１０４には、画像データおよびプログラムが記録されているものとする。
【００１６】
後述する各処理は、ＣＰＵ１０２が、ＨＤＤ１０４に格納されたプログラムをメモリ１０３へと読み込み実行することにより実現される。なお、以下の説明では、ＨＤＤ１０４から画像データを入力し、ＨＤＤ１０４へ画像データを出力し記録するものとする。ただし、不図示の各種インタフェースを介して外部機器から画像データを入力し画像データを出力するよう構成してもよい。
【００１７】
ここでは説明を簡単にするために、入力される画像データはモノクロの画像であるとするが、カラー画像（例えばＲＧＢ画像）であってもよい。また、ここでは、画像を構成するそれぞれの画素の画素値は、０（黒）〜１（白）の１ビット値で表現されるものとして説明するが、例えば８ビット値や１６ビット値であってもよい。
【００１８】
まず、後述する説明における用語と記法について説明する。画像の各画素に対応する動きベクトルをマップ化したものをオプティカルフローと表現する。つまり、オプティカルフローは入力画像と同じ解像度を持つ要素が二次元ベクトルのデータである。また、画素の集合である画像データやオプティカルフローを一つの変数として表す。例えば、画像データをＩとし、座標情報をＸ（又は（ｘ，ｙ））としたとき、Ｉ（Ｘ）（又はＩ（ｘ，ｙ））として画像の画素値を取得するものとする。そして、オプティカルフローに対しても同様に、オプティカルフローをｆとしたとき、ｆ（Ｘ）（又はｆ（ｘ，ｙ））として指定された座標の動きベクトルを取得するものとする。
【００１９】
ここでは、座標や動きベクトルを実数として扱う。よって、上述の表記法において座標値を実数で渡した場合には、バイリニア補間によって算出された画素値、あるいは、動きベクトルを得るものとする。また、動きベクトルや座標値に、下付き文字のｘ、ｙを付加することによりｘ成分、ｙ成分を得られるものとする。例えば、動きベクトルをＶとしたとき、Ｖ＝（Ｖｘ，Ｖｙ）となる。同様に、オプティカルフローもｆ（Ｘ）＝（ｆｘ（Ｘ）、ｆｙ（Ｘ））と表現する。ここではピラミッド処理を用いているが、Ｉ［１］は、第一の階層の画像というように、変数に［］を付加して階層を表すものとする。
【００２０】
フローチャートで示される各処理は、特別な記述がない限り、図中の矢印で示される順序で実行されるものとする。なお、処理間に依存関係がない場合には、処理順序を入れ替えてもよい。また、図２の各処理は、特別な記述がなければフレーム単位で行われ、各処理内で着目画素を走査することによって、すべての画素に処理が実施されるとする。ただし、処理単位に限定はなく、フレーム単位の処理を画素単位で実施することも可能である。
【００２１】
＜装置の動作＞
図２は、階層処理によるオプティカルフロー算出のフローチャートである。なお、ここでは、単一のカメラで撮像された動画像に含まれる連続するフレーム画像を、着目画像及び参照画像として入力して、オプティカルフローを算出するものとして説明する。各ステップの動作はＣＰＵ１０２が実行するものとして説明する。
【００２２】
Ｓ２０１０では、ＣＰＵ１０２は、着目画像と参照画像を取得する。ここでは、２枚の画像を取得する場合について説明するが、より多くの枚数の画像や動画データを取得しても構わない。画像が３枚以上ある場合や、動画の場合は、対象となる２枚の画像（もしくはフレーム）を選択して連続的に処理することになる。
【００２３】
Ｓ２０２０では、ＣＰＵ１０２は、着目画像と参照画像から、着目階層画像群と参照階層画像群を生成する。具体的には、最大階層数（ｍａｘ＿ｌｖ）に対し、ｌｖ＝０〜ｍａｘ＿ｌｖまでの縮小画像を生成する。ｍａｘ＿ｌｖは、画像の解像度に基づいて、あるいはあらかじめ所定の値を設定しておくものとし、ここでは、ｍａｘ＿ｌｖが５であるとして説明する。ｌｖは、階層をあらわすインデックスであり等倍画像を０（ゼロ）とし、最小画像階層のｌｖが５となる。つまり階層数は６となる。なお、ここではｍａｘｌ＿ｌｖは、最小画像の幅を等倍画像の５％以下にするものして設定した。式（１）を参照してｍａｘ＿ｌｖの計算方法を説明する。
【００２４】
【数１】
2020027357.tif 000003
【００２５】
式（１）の結果を切り上げた値である５がｍａｘ＿ｌｖとなる。もし、最小画像の幅を等倍画像の１０％以下とするなら、ｍａｘ＿ｌｖは４でよい。最小画像の幅は、画像間の動き検出対象の動きが大きいほど小さく設定すべきであるが、処理時間など様々な要素によって応じて最適な設定をすることが望ましい。なお、ここでは、画像の各階層間の縮小倍率を表すｓｃａｌｅ＿ｆａｃｔｏｒ（以下ｓｆ）を０．５であるものして説明する。階層＝ｌｖにおける縮小率ｓは以下の式（２）で算出される。
【００２６】
【数２】
2020027357.tif 000004
【００２７】
Ｉｔａｒ［ｌｖ］及びＩｒｅｆ［ｌｖ］は、それぞれ、着目画像と参照画像を式（２）で与えられる縮小率ｓ倍で縮小して得られる画像であるとする。しかし、ｓｆは０．５に限定されず、０．７や０．９といった値をとってもよい。ここでは、縮小はバイキュービック法を用いるものとするが、例えばＬａｎｃｚｏｓ  ３−ｌｏｂｅｄ法など他の縮小方法を用いてもよい。なお、ｌｖ＝０の場合は、ｓ＝１となるために縮小は不要であり、Ｓ２０１０で取得した着目画像と参照画像をそれぞれ、Ｉｔａｒ［０］，Ｉｒｅｆ［０］として表現するものとする。
【００２８】
Ｓ２０３０では、ＣＰＵ１０２は、ｌｖをｍａｘ＿ｌｖに設定する。Ｓ２０４０では、ＣＰＵ１０２は、着目画像のｌｖ階層のヒストグラムを生成・解析する。ここでは、階級幅を０．０１とした輝度ヒストグラムを生成し、ヒストグラムの平均値と最頻値を生成するものとする。
【００２９】
Ｓ２０５０では、ＣＰＵ１０２は、ｌｖ＝ｍａｘ＿ｌｖであるか否かを判定して処理を遷移する。判定結果が真（Ｙｅｓ）の場合はＳ２０７０へ遷移し、偽（Ｎｏ）の場合はＳ２０６０へ遷移する。
【００３０】
Ｓ２０６０では、ＣＰＵ１０２は、ｌｖ＋１階層のオプティカルフローを拡大し、拡大オプティカルフローを生成する。具体的には、ｌｖ＋１階層で算出したオプティカルフローを１／ｓｆ倍に拡大し、ベクトルの要素も１／ｓｆ倍して（ｕ’（ｘ，ｙ），ｖ’（ｘ，ｙ））を生成する。ＲＧＢ画像を拡大する際には、Ｒ、Ｇ，Ｂそれぞれの成分を独立して処理し、動きベクトルのＸ成分、Ｙ成分も独立して処理する。ここでは、バイリニア補間によって拡大するものとするが、バイキュービック法など他の補間手法を用いてもよい。ここではｓｆが０．５であるため、２（＝１／０．５）倍にオプティカルフローを拡大する。ここでは以下の式（３）で算出することができる。
【００３１】
【数３】
2020027357.tif 000005
【００３２】
これらの処理を全画素分実行し、一画像分の拡大オプティカルフローを得る。以後、Ｉｔａｒ＝Ｉｔａｒ［ｌｖ］とＩｒｅｆ＝Ｉｒｅｆ［ｌｖ］として説明する。
【００３３】
Ｓ２０７０では、ＣＰＵ１０２は、全画素の動きベクトルを全て０（ゼロ）にしたオプティカルフローを生成し、Ｓ２１８０へ遷移する。
【００３４】
Ｓ２０８０では、ＣＰＵ１０２は、着目画像と参照画像のｌｖ階層画像、拡大オプティカルフローから動き検出を行い、ｌｖ階層のオプティカルフローを生成する。詳細は図３を参照して後述する。
【００３５】
Ｓ２０９０では、ＣＰＵ１０２は、ｌｖ＝０であるか否かを判定する。ｌｖ＝０の場合は処理を終了する。一方、ｌｖ≠０の場合はＳ２１００へ遷移する。Ｓ２１００では、ＣＰＵ１０２は、ｌｖ＝ｌｖ−１とする。そして、Ｓ２０４０に遷移する。
【００３６】
１回のＳ２０４０〜Ｓ２０８０の処理によりで一階層分のオプティカルフローを生成する。このオプティカルフローは、ｌｖ≠０では、次の階層処理の入力となり、ｌｖ＝０の場合は、最終的なオプティカルフローの出力となる。
【００３７】
図３は、第１実施形態における画像内の動き検出（Ｓ２０８０）の詳細フローチャートである。具体的には、着目画素を走査して着目画素の動きを検出する。
【００３８】
Ｓ３０１０では、ＣＰＵ１０２は、着目画像から一次微分画像を生成する。ここでは、垂直及び水平方向にＳｏｂｌｅフィルタを施すことにより画像を生成するものとするが、生成手法はＳｏｂｅｌフィルタに限定されない。
【００３９】
Ｓ３０２０では、ＣＰＵ１０２は、着目画素を設定する。例えば、画像の左上から右に走査し、１ラインの画素の走査が終わったら、次のラインの左から右へ走査する画素を特定する操作を順次行う。Ｓ３０３０では、ＣＰＵ１０２は、着目画像と参照画像の一次微分画像から着目画素の動きを検出する。処理の詳細は図４を参照して後述する。
【００４０】
Ｓ３０４０では、ＣＰＵ１０２は、全画素の処理が終了したか否か判定する。結果が真の場合は処理を終了し、偽の場合にはＳ３０３０へ遷移する。この処理により、画像内の全画素の動きを検出することになる。
【００４１】
図４は、第１実施形態における着目画素の動き検出（Ｓ３０３０）の詳細フローチャートである。
【００４２】
Ｓ４０１０では、ＣＰＵ１０２は、動きベクトルの初期値を取得する。初期値は、Ｓ２０６０で生成したオプティカルフローから着目画素に対応する動きを得る。着目座標の座標をＸ＝（ｘ，ｙ）とすれば、Ｖ０＝（ｕ’（ｘ，ｙ），ｖ’（ｘ，ｙ））となる。
【００４３】
Ｓ４０２０では、ＣＰＵ１０２は、上限閾値と下限閾値を取得する。ここでは、上限閾値は画像の平均輝度（ただし上限値を０．９５）とする。下限閾値はＳ２０４０で算出したヒストグラムの平均値とする。
【００４４】
Ｓ４０３０では、ＣＰＵ１０２は、着目画素の輝度ｐを取得する。なお、ここでは画素値の輝度そのものとして説明するが、ローパスフィルタを掛けた輝度値をｐとしてもよい。
【００４５】
Ｓ４０４０では、ＣＰＵ１０２は、下限閾値＜輝度ｐ＜上限閾値を満足するか否かを判定する。結果が真の場合にはＳ４０６０へ遷移させ、偽の場合にはＳ４０５０へ遷移させる。これは、照明の影響を受けた比較的明るい画素値ではＳ４０６０で説明される動き検出方法で動きを検出し、そうでない場合はＳ４０５０で説明される動き検出方法で動きを検出することを示す。なお、Ｓ４０２０上限値を０．９５とした理由は、Ｓ４０６０で説明される動き検出方法が輝度飽和を苦手とするためである。
【００４６】
Ｓ４０５０では、ＣＰＵ１０２は、Ｖ０を初期値として画素値比較の動き検出により動きベクトルＶ１を算出する。Ｖ１は以下の式（４）で算出できる。
【００４７】
【数４】
2020027357.tif 000006
【００４８】
ここで、Ｘは着目画素の座標、Ｉｔａｒ（Ｘ’）は着目画像の座標Ｘ’の画素値、Ｉｒｅｆ（Ｘ’）は参照画像の座標Ｘ’の画素値とする。Ｗは探索範囲を示し、ここでは７×７とするがこれに限定されない。ｄＸは探索範囲Ｗに含まれる座標オフセットを示し、探索範囲が７×７なので水平、垂直にそれぞれ±３の範囲で整数値をとる。Ｐは相関を算出するパッチサイズを示し、ここでは７×７とするがこれに限定されない。ｄＰはパッチ内の座標オフセットを示し、パッチサイズが７×７なので水平、垂直にそれぞれ±３の範囲で整数値をとる。
【００４９】
ｎは１もしくは２の値を取る。ｎ＝１の場合は一般にＳＡＤとよばれ、ｎ＝２の場合はＳＳＤと呼ばれる手法になる。ここでは、着目画像と参照画像の画素値の差を取っていることから、この処理を画素値比較と表記している。
【００５０】
式（４）では、参照画像上のＸ＋Ｖ０を探索初期点とし、７×７の探索領域から、逆相関（ＳＡＤまたはＳＳＤ）が小さい（＝相関が大きい）ｄＸを探している。そして、初期値Ｖ０に加算して、動きベクトルＶ１を求めている。なお、探索範囲Ｗに含まれる画素全画素を探索対象としたが、演算量削減のために一部の画素を間引いてもよい。
【００５１】
Ｓ４０６０では、ＣＰＵ１０２は、Ｖ０を初期値として、特徴量比較による動き検出により着目画素の動きベクトルＶ１を算出する。Ｖ１は以下の式（５）で算出できる。
【００５２】
【数５】
2020027357.tif 000007
【００５３】
Ｘは着目画素の座標である。Ｆｔａｒ（Ｘ’）は着目画像の座標Ｘ’の画素とその周辺から得られるＳＩＦＴ特徴量（非特許文献２参照）である。Ｆｒｅｆ（Ｘ’）は、参照画像の座標Ｘ’のとその周辺から得られるＳＩＦＴ特徴量とする。Ｗは探索範囲を示し、ここでは７×７とするがこれに限定されない。ｄＸは探索範囲Ｗに含まれる座標オフセットを示し、探索範囲が７×７なので水平、垂直にそれぞれ±３の範囲で整数値をとる。
【００５４】
ｎｏｒｍは、多次元ベクトルで表せる特徴量の距離、つまり、各要素の差の二乗和の平方根を計算する。ここでは、着目画像と参照画像の特徴量の各要素の差を取っていることから、この処理を特徴量比較と表記している。
【００５５】
式（５）は、参照画像上のＸ＋Ｖ０を探索初期点とし、７×７の探索領域から、逆相関（ＳＩＦＴ特徴量の二乗和の平方根）が小さい（＝特徴量が類似し相関が大きい）ｄＸを探している。そして、初期値Ｖ０に加算して、動きベクトルＶ１を求めている。なお、探索範囲Ｗに含まれる画素全画素を探索対象としたが、演算量削減のために一部の画素を間引いてもよい。
【００５６】
ここでは、特徴量としてＳＩＦＴ特徴量を使用する場合について説明したが、ＢＲＩＥＦ特徴量（非特許文献３参照）などの他の特徴量を用いてもよい。画面内の輝度勾配差を多次元ベクトル化して表現し比較する任意の手法を用いることが可能である。また、ＳＩＦＴ  Ｆｌｏｗ（非特許文献４参照）のように平滑化項を追加した特徴量比較を行ってもよい。
【００５７】
Ｓ４０７０では、ＣＰＵ１０２は、動きベクトルＶ１から平滑化項φを算出する。座標（ｘ，ｙ）におけるφは以下の式（６）で表現される。
【００５８】
【数６】
2020027357.tif 000008
【００５９】
ここで、Ｖｓｍｏｏｔｈは平滑化ベクトルであり、以下の式（７）によって算出するものとする。
【００６０】
【数７】
2020027357.tif 000009
【００６１】
ここで、Ａｘ（Ｘ），Ａｙ（Ｘ）は、座標Ｘとその周辺の拡大オプティカルフローで得られる動きベクトルの水平と垂直成分の集合とする。ここでは、座標Ｘを中心として５×５領域のベクトルの集合とする。ｍｅｄｉａｎ（Ｚ）は、数値の集合Ｚに対し、その中央値を返す関数である。
【００６２】
式（７）は、周辺ベクトルの水平、垂直成分の中央値を平滑化ベクトルとして計算することを示している。中央値をとることによって外れ値を除外し、空間的になめらかな動きベクトルを得ることができる。
【００６３】
Ｓ４０８０では、ＣＰＵ１０２は、輝度ｐから平滑化項φの寄与度である重みθを以下の式（８）によって算出する。
【００６４】
【数８】
2020027357.tif 000010
【００６５】
ここで、ｐｂａｓｅはＳ２０４０で算出したヒストグラムの平均値であり、ｋは寄与度の強さを決める係数である。ここではＫ＝０．０１とするがこれに限定されない。なお、θを導出する式は式（８）に限定されない。照明の影響が大きい（≒明るい輝度）ほど値が大きくなる式であればよく、例えば以下の式（９）を用いてもよい。
【００６６】
【数９】
2020027357.tif 000011
【００６７】
ここで、Ｋ’は、寄与度の強さを決める係数で、式（９）ではＫ’＝０．０５とする。
【００６８】
Ｓ４０９０では、ＣＰＵ１０２は、平滑化項φとその重みθ考慮した画像相関エネルギー関数を小さくする動きベクトルＶを算出する。以下ではＳ４０９０で使われる式の導出方法について説明する。
【００６９】
Ｓ４０９０は、着目画素（ｘ，ｙ）に対し、エネルギー関数を最小化する動きベクトルＶを勾配法を用いて推定する処理である。ここで、エネルギー関数について説明する。エネルギー関数の基本はデータ項と呼ばれる項であり、データ項は以下の式（１０）〜（１２）で定義される。
【００７０】
【数１０】
2020027357.tif 000012
【００７１】
【数１１】
2020027357.tif 000013
【００７２】
【数１２】
2020027357.tif 000014
【００７３】
Ｉｒｅｆｗ（ｘ，ｙ）は、式（１２）に従ってＩｒｅｆ（ｘ，ｙ）をワーピングした画素である。ここでは、動きベクトルは実数で表現されるため、座標値も実数となる。そこで、バイリニア補間による画素値を得るものとする。なお、全画素分のＩｒｅｆｗに対応する画素を事前に作っておいてよい。ｆは、ＩｔａｒとＩｒｅｆｗの違いをエネルギーとして表す関数であり、絶対値や差分２乗を用いることができる。Ｂは、着目画素（ｘ，ｙ）を中心としたパッチ領域を表しており、例えば７×７のパッチを考えた場合、ω、ηは−３から３までの整数値をとり、式（１１）は、ρ（ｘ＋ω、ｙ＋η）の積算処理を表す。
【００７４】
しかし、画像に歪みがある、テクスチャが存在しない場合など、式（１１）が最適なエネルギー関数を表すとは限らない。そこで、この問題を解決するために、拘束条件として、オプティカルフローを滑らかにするための平滑化項を追加する。以下の式（１３）が平滑化項を追加した式である。
【００７５】
【数１３】
2020027357.tif 000015
【００７６】
ここではρは以下のように定義される。
【００７７】
【数１４】
2020027357.tif 000016
【００７８】
（ｕｏｕｔ（ｘ，ｙ），ｖｏｕｔ（ｘ，ｙ））を算出するために、（ｄｕ，ｄｖ）を算出する必要がある。そのため、（ｄｕ，ｄｖ）を導出する式を定義する。このとき、ｄｕ，ｄｖが十分に小さいとして、ρをテイラー展開すると、式（１５）となる。
【００７９】
【数１５】
2020027357.tif 000017
【００８０】
ここで、Ｉｔａｒ＿ｘ、Ｉｔａｒ＿ｙは、Ｉｔａｒの１次微分であり、Ｓ３０１０で導出した水平・垂直一次微分画像である。
【００８１】
式（１５）はｄｕ、ｄｖの２次関数なので、式（１３）を最小にする解析解を求めることが可能である。解析解ｄｕ、ｄｖは以下の連立方程式を満たす。
【００８２】
【数１６】
2020027357.tif 000018
【００８３】
ここで、Ａ、（ｕｔ，ｖｔ）は以下のように定義される。
【００８４】
【数１７】
2020027357.tif 000019
【００８５】
【数１８】
2020027357.tif 000020
【００８６】
【数１９】
2020027357.tif 000021
【００８７】
また、Ｂは、パッチサイズを示し、ここでは７×７とする。
【００８８】
式（１５）の両辺にＡの逆行列をかけることで、ｄｕ、ｄｖを求めることができる。つまり、最終的な動きベクトルＶは下記の式（２０）〜（２１）で計算できる
【００８９】
【数２０】
2020027357.tif 000022
【００９０】
【数２１】
2020027357.tif 000023
【００９１】
上述の処理を全画素分実行することにより、ｌｖ階層のオプティカルフローを得ることが出来、画像ごとに最適な平滑化項の寄与度を算出することができる。なお、ここでは、方程式を解いて（ｕｏｕｔ（ｘ，ｙ），ｖｏｕｔ（ｘ，ｙ））を解析的に算出する方法について説明したが、それに限定されない。例えば、ＳＯＲ法（Successive Over-Relaxation、逐次加速緩和法）を用いてもよい。また、平滑化ベクトルを使った平滑化項を用いてエネルギー計算を行い、（ｕｏｕｔ（ｘ，ｙ），ｖｏｕｔ（ｘ，ｙ））を算出してもよい。
【００９２】
＜効果＞
夜景などシーンにおいては、暗い画素は画素ごとにノイズが発生し、明るい画素は照明に起因する動画像内のフリッカの影響をうける。フリッカは照明だけでなく、壁や地面の反射光としても画像中に観察できる。壁や地面のテクスチャが低周波で構成される場合、着目画像と参照画像の低周波成分に輝度変化が生じているものとして観察できる。
【００９３】
画素値比較による動き検出では、着目画素とその周辺画素の画素値を比較、つまり低周波成分を含んだ情報で動き検出を行うためノイズの影響をうけにくい。一方で、動画像内のフリッカの影響を受けやすいという特徴がある。
【００９４】
特徴量比較による動き検出では、特徴量は絶対的な輝度に非依存で生成されるため、比較結果も輝度に非依存で相関を得られる。一方で、同一画像内の位置が異なる画素を比較するため、画素毎に輝度変化が発生するノイズがあると、正しい特徴量をえることが難しい。そのため、動き検出も失敗する可能性が高い。
【００９５】
そこで、第１実施形態では、Ｓ４０４０〜Ｓ４０６０で説明したとおり、画素の輝度値が比較的暗い場合に画素値比較による動き検出を選択し、画素の輝度値が比較的明るい場合には、特徴量比較による動き検出を選択している。
【００９６】
さらに、第１実施形態では、後段で勾配法を適用し、さらに小数画素精度単位で動きの精度を高める処理を適用している。勾配法は、式（１９）でも定義される通り、着目画像と参照画像の画素の輝度値の差から動き量を求めるため、フリッカが発生すると動き量が本来あるべき量に対して増減してしまう。そのため、フリッカが発生しやすい明るい画素では、平滑化項の寄与度を上げて、フリッカの影響を最小化している。
【００９７】
以上説明したとおり第１実施形態によれば、動き検出対象の画素の輝度値に応じて、動き検出の方式を切り替える。また、それぞれの動き検出方式により得られた動き情報を統合する際の重みを調整する。これにより、より適切な動き検出を行うことが可能となる。
【００９８】
なお、上述の説明では、動き検出において、相関値算出方法を切り替えるものとして説明したが、これに限定されない。例えば、画素に対して２つ以上の動き候補が存在しどの動きが尤もらしいかを判断する場合に、相関値算出方法を切り替えて判断することも可能である。具体的には、画素の動きとして、動き検出により得られた動きと、画面全体の動きを代表する動きであるグローバルモーションのどちらが尤もらしいかを判断して、適した動きを得る場合である。つまり、検出対象の画素の輝度値によって、ＳＡＤ算出に代表される画素値比較、もしくは、特徴量比較を切り替えて相関値を算出し、相関の高い動きを選ぶことになる。
【００９９】
（変形例）
上述の説明では、図２〜図４に示す各処理を、図１（ａ）に示すハードウェアにおいて、ＣＰＵ１０２がプログラムを実行することにより実現する形態について説明した。一方、図２〜図４に示す１以上の処理を専用回路として実現することも可能である。
【０１００】
図１（ｂ）は、各処理を個々のハードウェアにより実現する際のハードウェア構成を示している。図１（ｂ）では、図１（ａ）の構成においてＣＰＵ１０２が行っていた処理を専用回路が実現している。ＣＰＵ１０２は、各専用回路の制御及び簡単な処理のみ実行する。
【０１０１】
画像縮小部１０５は、Ｓ２０２０で説明した画像縮小を行う。オプティカルフロー拡大部１０６は、Ｓ２０６０で示したオプティカルフロー拡大を行う。画像フィルタ部１０７は、Ｓ３０１０で説明したＳｏｂｅｌフィルタを実行する。
【０１０２】
動き探索部１０８は、画素値比較部１０９と特徴量比較部１１０とを切り替えながら動きを検出し動きベクトルＶ１を決定する。画素値比較部１０９は、Ｓ４０５０で説明した方法と同様にＶ０を初期値としてＳＡＤを算出して比較する。特徴量比較部１１０は、Ｓ４０６０で説明した方法と同様にＶ０を取得しそれを初期値としてＳＩＦＴ特徴量を生成しノルムを比較する。勾配法計算部１１１は、Ｓ４０９０で説明した勾配法と同様の計算で、Ｖ１を初期値として動きベクトルＶを計算する。
【０１０３】
なお、エッジ計算部１１２は、後述の第３実施形態で説明するＳ６０１５におけるエッジ画像決定を行う。また、動き混合部１１３は、後述の第４実施形態で説明するＳ８０９０における重み付き加算処理を行う。
【０１０４】
（第２実施形態）
第２実施形態では、動き検出の対象画像が暗所シーンであるか否かを判断し、その結果に基づいて動き検出を制御する第１の方法について説明する。なお、装置構成（図１）、オプティカルフロー算出（図２）、画像内の動き検出（図３）については第１実施形態と同様であるため説明は省略する。
【０１０５】
＜装置の動作＞
図５は、第２実施形態における着目画素の動き検出（Ｓ３０３０）の詳細フローチャートである。すなわち、第１実施形態における動き検出（図３）における着目画素の動き検出（Ｓ３０３０）の動作が異なる。特別な記述がない場合、他の処理は第１実施形態と同じであるものとして説明する。
【０１０６】
Ｓ５０１０では、ＣＰＵ１０２は、画像シーン情報を取得する。画像シーン情報は、画像シーンが暗所（夜景）、風景、スポートなどのどのシーンであるかを識別する情報である。これは、画像のヒストグラム情報を解析して決定することが出来る。例えば、画像の輝度ヒストグラムの最頻値と平均値以下の輝度値の平均が０．１以下の場合、暗所と判断する。画像シーン情報は、ヒストグラム生成・解析時に作っておくものとする。なお、暗所であるか否かの判定は、ヒストグラムの解析結果だけなく、ユーザーが直接設定するものであってもよい。
【０１０７】
Ｓ５０２０では、ＣＰＵ１０２は、動きベクトルの初期値Ｖ０を取得する。ここでは、拡大したオプティカルフローの着目画素に対応する座標の動きベクトルである。
【０１０８】
Ｓ５０３０では、ＣＰＵ１０２は、画像シーンが暗所と判定されるか否かを判定する。結果が真の場合にはＳ５０４０へ、偽の場合はＳ５０９０へ遷移する。
【０１０９】
Ｓ５０４０では、ＣＰＵ１０２は、上限閾値と下限閾値を取得するＳ４０２０と同様の処理を実行する。Ｓ５０５０では、ＣＰＵ１０２は、着目画素の輝度ｐを取得する。Ｓ５０６０では、ＣＰＵ１０２は、下限閾値＜輝度ｐ＜上限閾値を満足するか否かを判定し、結果が真の場合にはＳ５０８０へ遷移し、偽の場合にはＳ５０７０へ遷移する。
【０１１０】
Ｓ５０７０では、ＣＰＵ１０２は、Ｖ０を初期値として勾配法（パッチサイズを１１×１１）による動きベクトルＶを算出する。ここでの勾配は、第１実施形態で説明したものを同様とするが、これに限定されない。なお、暗所シーンにおける暗い画素は、一般にノイズが非常に多いため、ここでは、勾配法のパッチサイズを１１×１１と比較的大きなものを用い、ノイズに対するロバスト性を上げている。ただし、パッチサイズは１１×１１には限定されない
Ｓ５０８０では、ＣＰＵ１０２は、Ｖ０を初期値として特徴量比較による動き検出により着目画素の動きベクトルＶを算出する。ここでの動き検出方法は、第１実施形態で説明したものを同様とするがこれに限定されない。
【０１１１】
Ｓ５０９０では、ＣＰＵ１０２は、Ｖ０を初期値として特徴量比較による動き検出により着目画素の動きベクトルＶ１を算出するＳ５０８０と同様の処理を実行する。
【０１１２】
Ｓ５１００では、ＣＰＵ１０２は、Ｖ１を初期値として勾配法（パッチサイズ５×５）により動きベクトルＶを算出するＳ５０７０と同様の処理を実行する。ここでの動き検出方法は、第１実施形態で説明したものを同様とするが、これに限定されない。ここでは、対象画像は暗所シーンでなくノイズも少ないため、勾配法のパッチサイズを５×５と比較的小さなものを用いている。パッチサイズを小さくすることによって、細かい動きをより精度よく検出できる。ただし、パッチサイズは５×５に限定されない。
【０１１３】
以上説明したとおり第２実施形態によれば、暗所シーンであるか否かを判定し、暗所シーンの場合は、画素ごとに動き検出処理を切り替えている。具体的には、輝度値が比較的明るい画素に関しては、特徴量比較による動き検出を用いる。一方で、それ以外の画素については画素値勾配法を用いる。
【０１１４】
前述のとおり、特徴量比較は照明の変動に強いため、シーン適応的な動き検出をすることができる。一方で、暗所シーンでない場合には、特徴量比較による動き検出とパッチサイズの小さい勾配法による動き検出を縦列実行している。特性の異なる動き検出方式を縦列実行することによって、より精度の高い動きの検出を行うことが可能となる。
【０１１５】
（第３実施形態）
第３実施形態では、動き検出の対象画像が暗所シーンであるか否かを判断し、その結果に基づいて動き検出を制御する第２の方法について説明する。なお、装置構成（図１）及びオプティカルフロー算出（図２）については第１実施形態と同様であるため説明は省略する。
【０１１６】
＜装置の動作＞
図６は、第３実施形態における画像内の動き検出（Ｓ２０８０）に係る詳細フローチャートである。図６は、図３のＳ３０１０がＳ６０１０に置き換わり、Ｓ６０１５がＳ６０１０の次に追加されている。それ以外の動作は、図３と同じである。
【０１１７】
Ｓ６０１０では、ＣＰＵ１０２は、着目画像と参照画像から一次微分画像を生成する。ここでは水平、垂直のＳｏｂｅｌフィルタを施した、４枚の画像を生成する。Ｓ６０１５では、ＣＰＵ１０２は、着目画像と参照画像の一次微分画像からエッジ画像を生成する。例えば、エッジ画像の各画素の画素値は式（２２）〜（２３）によって求めることが出来る。
【０１１８】
【数２２】
2020027357.tif 000024
【０１１９】
【数２３】
2020027357.tif 000025
【０１２０】
ここで、Ｉｔａｒ＿ｘ，Ｉｔａｒ＿ｙは、着目画像の水平、垂直の一次微分画像である。Ｉｒｅｆ＿ｘ，Ｉｒｅｆ＿ｙは、参照画像の水平、垂直の一次微分画像である。ｘ，ｙは、走査対象の画素の座標を示し、画像内の全画素を上記の式で計算することによって、着目画像のエッジ画像ｅｔａｒと参照画像のエッジ画像ｅｒｅｆを生成する。なお、ここでは、エッジとして水平、垂直の二乗和平方根を計算したがこれに限定されない。Ｃａｎｎｙなどのエッジ検出を行っても良い。また、エッジ画像は閾値を設定して二値化してもよい。
【０１２１】
図７は、第３実施形態における着目画素の動き検出（Ｓ３０３０）の詳細フローチャートである。図７は、第２実施形態（図５）のフローを置き換える形で実行される。以下のその動作について、図５との差分について説明する。
【０１２２】
Ｓ７０７０では、ＣＰＵ１０２は、Ｖ０を初期値として、画素値比較による動き検出により着目画素の動きベクトルＶを算出する。画素値比較の方法としては、ＳＡＤを用いるものとする。
【０１２３】
Ｓ７０８０では、ＣＰＵ１０２は、Ｖ０を初期値として、エッジ画像の画素値比較による動き検出により、着目画素の動きベクトルＶを算出する。エッジ画像はＳ６０１５で生成したものを用いる。画素値比較の方法としては、ＳＡＤを用いるものとする。
【０１２４】
エッジ画像は、高周波成分が強調された画像であるため、元画像にノイズが含まれる場合ノイズの影響を受けやすい。一方、低周波成分が低減されているため照明のフリッカによる輝度変動の影響をうけにくい。そこで、第３実施形態では、Ｓ５０６０で輝度値を判定し、明るい画素はエッジ画像で動き検出、暗い画像は、入力画像そのもので動き検出を行っている。
【０１２５】
以上説明したとおり第３実施形態によれば、第２実施形態と同様、暗所シーンの画像においても、より精度の高い動きの検出を行うことが可能となる。
【０１２６】
（第４実施形態）
第４実施形態では、動き検出の対象画像が暗所シーンであるか否かを判断し、その結果に基づいて動き検出を制御する第１の方法について説明する。なお、装置構成、オプティカルフロー算出、画像内の動き検出については第１実施形態（図１、図２、図３）と同様であるため説明は省略する。
【０１２７】
＜装置の動作＞
図８は、第４実施形態における着目画素の動き検出（Ｓ３０３０）の詳細フローチャートである。図８は、第２実施形態（図５）におけるＳ５０６０〜Ｓ５１００の代わりに、Ｓ８０６０〜Ｓ８１１０が追加されている。それ以外の動作は、図５と同じであるため、以下では、図５との差分について説明する。
【０１２８】
Ｓ８０６０では、ＣＰＵ１０２は、Ｖ０を初期値として特徴量比較による動き検出により着目画素の動きベクトルＶ１を算出する。Ｓ８０７０では、ＣＰＵ１０２は、Ｖ０を初期値として勾配法により動きベクトルＶ２を算出する。すなわち、特徴量比較による動き検出と勾配法による動き検出を並列実行する。Ｓ８０８０では、ＣＰＵ１０２は、輝度ｐから重みＷを算出する。重みは以下の式（２４）を用いて算出することが出来る。
【０１２９】
【数２４】
2020027357.tif 000026
【０１３０】
ここで、ｐｂａｓｅは、Ｓ２０４０で算出したヒストグラムの平均値である。ｋ”は、寄与度の強さを決める係数であり、ここではｋ”＝２とするがこれに限定されない。
【０１３１】
Ｓ８０９０では、ＣＰＵ１０２は、重み付き加算を実施する。例えば、Ｖ＝Ｗ×Ｖ１＋（１−Ｗ）×Ｖ２という式を用いる。Ｓ８１００では、ＣＰＵ１０２は、Ｖ０を初期値として特徴量比較による動き検出により着目画素の動きベクトルＶ１を算出する。Ｓ８１１０では、ＣＰＵ１０２は、Ｖ１を初期値として勾配法により動きベクトルＶを算出する。
【０１３２】
このように、Ｓ５０３０で暗所シーンと判断された場合、照明変動に強い動き検出方法で得たＶ１と、照明変動に弱いが小数画素精度で動きが検出できるＶ２と、を重み付き平均する。特に、着目画素の輝度が比較的明るいほど、Ｖ１の重みが増すように重み付き平均している。これにより、明るい画素はより精度が高く、暗い画素でも大きく動きを間違えにくい動き検出を行うことが可能となる。
【０１３３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３４】
１０１  バス；  １０２  ＣＰＵ；  １０３  メモリ；  １０４  ＨＤＤ；  １０５  画像縮小部；  １０６  オプティカルフロー拡大部；  １０７  画像フィルタ部；  １０８  動き探索部；  １０９  画素値比較部；  １１０  特徴量計算部；  １１１  勾配法計算部；  １１２  エッジ計算部；  １１３  動き混合部
【図１】
2020027357.tif 000027
【図２】
2020027357.tif 000028
【図３】
2020027357.tif 000029
【図４】
2020027357.tif 000030
【図５】
2020027357.tif 000031
【図６】
2020027357.tif 000032
【図７】
2020027357.tif 000033
【図８】
2020027357.tif 000034