(57)【要約】【課題】  オプティカルフロー推定処理によって、画像の動きベクトルを視覚的に把握する。【解決手段】  ＣＰＵ１は、時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定し、フレーム画像を所定数の部分画像に分割し、その部分画像の各々に対して推定したオプティカルフローに基づくベクトル分布を算出し、算出したベクトル分布に応じて部分画像を表示させる位置を移動して表示する。【選択図】      図１
2010198634.tif 000002
【特許請求の範囲】
【請求項１】
時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する動き推定手段と、
前記動き推定手段によって推定されたオプティカルフローに基づくベクトル分布を算出するベクトル演算手段と、
所定の表示手段の表示画面上において前記ベクトル演算手段によって算出されたベクトル分布に応じて画像の表示位置を移動して表示する表示制御手段と、
を備えた画像処理装置。
【請求項２】
前記表示制御手段は、前記ベクトル演算手段によって算出されたベクトル分布に応じた移動量で画像を表示することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記表示制御手段は、前記ベクトル演算手段によって算出されたベクトル分布に応じた振動数で画像を表示することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記時系列に連続する動画の画面に対応する各フレーム画像を所定数の部分画像に分割する画像分割手段をさらに備え、前記ベクトル演算手段は、前記画像分割手段によって分割された部分画像の各々に対して前記動き推定手段によって推定されたオプティカルフローに基づくベクトル分布を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記動き推定手段によって推定されたオプティカルフローが所定の撮像手段によって撮像された動画の連続する撮像画面に対応する複数のフレーム画像のベクトル分布である場合に、前記撮像手段の移動に起因するベクトル分布を判定するベクトル判定手段をさらに備え、前記表示制御手段は、前記ベクトル判定手段によって判定された前記撮像手段の移動に起因するベクトル分布とフレーム画像内の画像のベクトル分布との関係に基づいて画像の表示位置を移動して表示することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記表示制御手段は、前記撮像手段によって撮像されたフレーム画像のベクトル分布から前記ベクトル判定手段によって判定された前記撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に基づいて画像の表示位置を移動して表示することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に対応する特定の画像を前記画像分割手段によって分割された部分画像に基づいて抽出する画像抽出手段をさらに備え、前記表示制御手段は、前記相殺されたベクトル分布に基づいて前記特定の画像の表示位置を移動して表示することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記表示制御手段は、前記ベクトル判定手段によって判定された前記撮像手段の移動に起因するベクトル分布に基づいて前記撮像手段によって撮像された動きのない背景画像の表示位置を移動して表示することを特徴とする請求項５に記載の画像処理装置。
【請求項９】
前記ベクトル判定手段は、撮像画像における所定の画素数からなる複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値内である場合には、前記撮像手段の移動に起因するベクトル分布を平行移動又は静止状態と判定し、前記複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値を超える場合には、最小のベクトル量を有する単位領域を検出して、当該最小のベクトル量の単位領域と他の任意の単位領域との間の方向に対して、当該任意の単位領域のベクトル方向が略同一方向又は略逆方向である場合には前記撮像手段の移動に起因するベクトル分布を拡大又は縮小と判定し、当該任意の単位領域のベクトル方向が略直角方向である場合には前記撮像手段の移動に起因するベクトル分布を回転と判定することを特徴とする請求項５に記載の画像処理装置。
【請求項１０】
前記表示制御手段は、前記ベクトル判定手段によって前記撮像手段の移動に起因するベクトル分布が平行移動と判定された場合の撮像画面のみを表示することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記表示制御手段は、前記動き推定手段によるオプティカルフローの推定の対象であるフレーム画像の任意の位置における速度パラメータを算出し、当該算出した速度パラメータに従った速度で画像の表示位置を移動することを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
前記表示制御手段は、一連の動画を前記ベクトル演算手段によって算出されたベクトル分布の分類に応じた区間に分割し、各分割区間ごとに一枚の画像をその区間のベクトル分布に応じて移動して表示することを特徴とする請求項１に記載の画像処理装置。
【請求項１３】
時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する第１のステップと、
前記第１のステップによって推定されたオプティカルフローに基づくベクトル分布を算出する第２のステップと、
所定の表示手段の表示画面上において前記第２のステップによって算出されたベクトル分布に応じて画像の表示位置を移動して表示する第３のステップと、
を実行する画像処理のプログラム。
【請求項１４】
前記第３のステップは、前記第２のステップによって算出されたベクトル分布に応じた移動量で画像を表示することを特徴とする請求項１３に記載の画像処理のプログラム。
【請求項１５】
前記第３のステップは、前記第２のステップによって算出されたベクトル分布に応じた振動数で画像を表示することを特徴とする請求項１３に記載の画像処理のプログラム。
【請求項１６】
前記時系列に連続する動画の画面に対応する各フレーム画像を所定数の部分画像に分割する第４のステップをさらに有し、前記第２のステップは、前記第４のステップによって分割された部分画像の各々に対して前記第１のステップによって推定されたオプティカルフローに基づくベクトル分布を算出することを特徴とする請求項１３に記載の画像処理のプログラム。
【請求項１７】
前記第１のステップによって推定されたオプティカルフローが所定の撮像手段によって撮像された動画の連続する撮像画面に対応する複数のフレーム画像のベクトル分布である場合に、前記撮像手段の移動に起因するベクトル分布を判定する第５のステップをさらに有し、前記第３のステップは、前記第５のステップによって判定された前記撮像手段の移動に起因するベクトル分布とフレーム画像内の画像のベクトル分布との関係に基づいて画像の表示位置を移動して表示することを特徴とする請求項１３に記載の画像処理のプログラム。
【請求項１８】
前記第３のステップは、前記撮像手段によって撮像されたフレーム画像のベクトル分布から前記第５のステップによって判定された前記撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に基づいて画像の表示位置を移動して表示することを特徴とする請求項１７に記載の画像処理のプログラム。
【請求項１９】
前記撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に対応する特定の画像を前記第４のステップによって分割された部分画像に基づいて抽出する第６のステップをさらに有し、前記第３のステップは、前記相殺されたベクトル分布に基づいて前記特定の画像の表示位置を移動して表示することを特徴とする請求項１７に記載の画像処理のプログラム。
【請求項２０】
前記第３のステップは、前記第５のステップによって判定された前記撮像手段の移動に起因するベクトル分布に基づいて前記撮像手段によって撮像された動きのない背景画像の表示位置を移動して表示することを特徴とする請求項１７に記載の画像処理のプログラム。
【請求項２１】
前記第５のステップは、撮像画像における所定の画素数からなる複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値内である場合には、前記撮像手段の移動に起因するベクトル分布を平行移動又は静止状態と判定し、前記複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値を超える場合には、最小のベクトル量を有する単位領域を検出して、当該最小のベクトル量の単位領域と他の任意の単位領域との間の方向に対して、当該任意の単位領域のベクトル方向が略同一方向又は略逆方向である場合には前記撮像手段の移動に起因するベクトル分布を拡大又は縮小と判定し、当該任意の単位領域のベクトル方向が略直角方向である場合には前記撮像手段の移動に起因するベクトル分布を回転と判定することを特徴とする請求項１７に記載の画像処理のプログラム。
【請求項２２】
前記第３のステップは、前記第５のステップによって前記撮像手段の移動に起因するベクトル分布が平行移動と判定された場合の撮像画面のみを表示することを特徴とする請求項２１に記載の画像処理のプログラム。
【請求項２３】
前記第３のステップは、前記第１のステップによるオプティカルフローの推定の対象であるフレーム画像の任意の位置における速度パラメータを算出し、当該算出した速度パラメータに従った速度で部分画像の表示位置を移動することを特徴とする請求項１３に記載の画像処理のプログラム。
【請求項２４】
前記第３のステップは、一連の動画を前記第２のステップによって算出されたベクトル分布の分類に応じた区間に分割し、各分割区間ごとに一枚の画像をその区間のベクトル分布に応じて移動して表示することを特徴とする請求項１３に記載の画像処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理のプログラムに関し、特に、オプティカルフローを推定して画像処理を行う画像処理装置および画像処理のプログラムに関するするものである。
【背景技術】
【０００２】
オプティカルフローを推定して画像処理を行う従来の技術として、移動撮影するカメラから得られる動画像から目的とする移動物体を自動的に検出する発明の提案がある。この発明の実施の形態として、図２（ａ），（ｂ），（ｃ），（ｄ）に示されているように、２つの落石を検出する画像処理が記載されている。図２（ａ）には、単一色の落石Ａおよび模様のある落石Ｂのフレーム画像が示されている。図２（ｂ）は、図２（ａ）の入力フレーム画像とその１フレーム後（又は前）のフレーム画像とから求めた画像上の落石の動きを示す動きベクトルを実際の監視エリアとなる実平面に写像することにより得られる速度ベクトルをオプティカルフロー推定処理によって計算し、この速度ベクトルを座標配列した速度場ベクトルを示している。この速度場ベクトルにおいて落石の塊をベクトルの方向性に応じて領域分割した処理が、図２（ｃ）に示す速度場ラベリングと呼ぶ状態である。次に、図２（ｃ）の速度場ラベリング結果に基づいて、図２（ｄ）のように、落石の塊の動きの方向を推定することで、落石の形状、面積を推定し、落石の有無を検出するような構成になっている。
さらに、図３に示されているように、動きベクトルを計算する際に、動きベクトルの空間的な滑らかさの度合いを示すパラメータを正則化パラメータとして用いている（特許文献１参照）。この正則化パラメータを用いたオプティカルフロー推定処理は、他の文献（特許文献２）で紹介されている公知の正規化手法に、正規化パラメータを用いる改良を加えたものである。
【０００３】
一方、オプティカルフローを推定してカメラワークすなわち撮像するビデオカメラの移動を検出する発明の提案がある。例えば、ある提案の動画像処理装置によれば、処理対象のフレーム画像ｆ（ｔ，ｘ，ｙ）と隣り合うフレーム画像ｆ（ｔ−１，ｘ，ｙ）により差分画像ｄｉｆｆ１（ｔ，ｘ，ｙ）を求め、さらに、差分に関わった２つのフレーム画像（横ＮＸおよび縦ＮＹの領域）間での変化の大きさＤ（ｔ）を求める。次に、正規化によって得られた変化の大きさ（Ｄ（ｔ）／（ＮＸ×ＮＹ））に対して、しきい値処理によってシーンの切れ目かどうかを判別する。次に、２つの方法（方法（ａ）および方法（ｂ））によってカメラの移動を判別する。方法（ａ）では、該当するシーンの先頭と最後のフレームとを比較し、変化が大きい領域が大きい場合は、カメラ移動があると判別する。方法（ｂ）では、画素ごとに、シーン全体を通しての輝度値の分散を求め、分散が大きい画素が多い場合は、カメラ移動があると判別する。カメラの動きは、例えば図４に示すように、画像に対して設定した４つの小領域の動きで求めることができる。すなわち、４つの小領域が同一方向に動いている期間をカメラの縦横の動きとして検出する（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−７４３７０号公報
【特許文献２】特開平９−２９７８５１号公報
【特許文献３】特開平６−３３３０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のように、矢印によって動きベクトルを表す表示方法では、実際の画像の動きを視覚的に把握することができないという課題があった。特に、スポーツ観戦の画像を分析する場合には、選手の細かい動きを矢印によって分析することは困難である。例えば、図２５に示すような、卓球のゲームにおいて、オプティカルフロー推定処理によって求めた腕、ラケット、球の動きベクトルを矢印で表しても、実際の画像の動きを視覚的に把握することは困難である。
また、上記特許文献３のように、４つの小領域が同一方向に動いている期間をカメラの縦横の動きとして検出するだけでは、縦、横又は斜めのビデオカメラ移動、すなわち、カメラの平行移動は検出できるが、拡大や縮小のズームのカメラワークや回転のカメラワークは検出することができないという課題があった。このため、撮像された動画に基づいて、サッカーなどのスポーツの試合における選手の動きや試合の攻防を分析することは困難である。あるいは、再生された動画に基づいて、映画におけるカメラワークを分析することによって、撮像技術（映像文法）を研究することは困難である。
本発明は、オプティカルフロー推定処理によって、画像の動きベクトルを視覚的に把握することが可能な画像処理装置および画像処理のプログラムを提供することを目的とする。
また、本発明は、オプティカルフロー推定処理によって、平行移動、ズーム、および回転のような様々なカメラワークを検出して画像の分析を可能にするとともに、分析の対象となる画像を抽出して、その画像の動きを表示できる画像処理装置および画像処理のプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の画像処理装置は、時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する動き推定手段（実施形態においては、図１のＣＰＵ１に相当する）と、動き推定手段によって推定されたオプティカルフローに基づくベクトル分布を算出するベクトル演算手段（実施形態においては、図１のＣＰＵ１に相当する）と、所定の表示手段（実施形態においては、図１のディスプレイ９に相当する）の表示画面上においてベクトル演算手段によって算出されたベクトル分布に応じて画像の表示位置を移動して表示する表示制御手段（実施形態においては、図１のＣＰＵ１に相当する）と、を備えた構成になっている。
【０００７】
請求項１の画像処理装置において、請求項２に記載したように、表示制御手段は、ベクトル演算手段によって算出されたベクトル分布に応じた移動量で画像を表示するような構成にしてもよい。
【０００８】
請求項１の画像処理装置において、請求項３に記載したように、表示制御手段は、ベクトル演算手段によって算出されたベクトル分布に応じた振動数で画像を表示するような構成にしてもよい。
【０００９】
請求項１の画像処理装置において、請求項４に記載したように、時系列に連続する動画の画面に対応する各フレーム画像を所定数の部分画像に分割する画像分割手段（実施形態においては、図１のＣＰＵ１に相当する）をさらに備え、ベクトル演算手段は、画像分割手段によって分割された部分画像の各々に対して動き推定手段によって推定されたオプティカルフローに基づくベクトル分布を算出するような構成にしてもよい。
【００１０】
請求項１の画像処理装置において、請求項５に記載したように、動き推定手段によって推定されたオプティカルフローが所定の撮像手段（実施形態においては、ビデオカメラに相当する）によって撮像された動画の連続する撮像画面に対応する複数のフレーム画像のベクトル分布である場合に、撮像手段の移動に起因するベクトル分布を判定するベクトル判定手段（実施形態においては、図１のＣＰＵ１に相当する）をさらに備え、表示制御手段は、ベクトル判定手段によって判定された撮像手段の移動に起因するベクトル分布とフレーム画像内の画像のベクトル分布との関係に基づいて部分画像の表示位置を移動して表示するような構成にしてもよい。
【００１１】
請求項５の画像処理装置において、請求項６に記載したように、表示制御手段は、撮像手段によって撮像されたフレーム画像のベクトル分布からベクトル判定手段によって判定された撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に基づいて部分画像の表示位置を移動して表示するような構成にしてもよい。さらに、この場合において、請求項７に記載したように、撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に対応する特定の画像を画像分割手段によって分割された部分画像に基づいて抽出する画像抽出手段（実施形態においては、図１のＣＰＵ１に相当する）をさらに備え、表示制御手段は、相殺されたベクトル分布に基づいて特定の画像の表示位置を移動して表示するような構成にしてもよい。
【００１２】
請求項５の画像処理装置において、請求項８に記載したように、表示制御手段は、ベクトル判定手段によって判定された撮像手段の移動に起因するベクトル分布に基づいて撮像手段によって撮像された動きのない背景画像の表示位置を移動して表示するような構成にしてもよい。
【００１３】
請求項５の画像処理装置において、請求項９に記載したように、ベクトル判定手段は、撮像画像における所定の画素数からなる複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値内である場合には、撮像手段の移動に起因するベクトル分布を平行移動又は静止状態と判定し、複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値を超える場合には、最小のベクトル量を有する単位領域を検出して、当該最小のベクトル量の単位領域と他の任意の単位領域との間の方向に対して、当該任意の単位領域のベクトル方向が略同一方向又は略逆方向である場合には撮像手段の移動に起因するベクトル分布を拡大又は縮小と判定し、当該任意の単位領域のベクトル方向が略直角方向である場合には撮像手段の移動に起因するベクトル分布を回転と判定するような構成にしてもよい。さらに、この場合において、請求項１０に記載したように、表示制御手段は、ベクトル判定手段によって撮像手段の移動に起因するベクトル分布が平行移動と判定された場合の撮像画面のみを表示するような構成にしてもよい。
【００１４】
請求項１の画像処理装置において、請求項１１に記載したように、表示制御手段は、動き推定手段によるオプティカルフローの推定の対象であるフレーム画像の任意の位置における速度パラメータを算出し、当該算出した速度パラメータに従った速度で部分画像の表示位置を移動するような構成にしてもよい。
【００１５】
請求項１に記載の画像処理装置において、請求項１２に記載したように、表示制御手段は、一連の動画をベクトル演算手段によって算出されたベクトル分布の分類に応じた区間に分割し、各分割区間ごとに一枚の画像をその区間のベクトル分布に応じて移動して表示するような構成にしてもよい。
【００１６】
請求項１３に記載の画像処理のプログラムは、時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する第１のステップと、第１のステップによって推定されたオプティカルフローに基づくベクトル分布を算出する第２のステップと、所定の表示手段（実施形態においては、図１のディスプレイ９に相当する）の表示画面上において第２のステップによって算出されたベクトル分布に応じて画像の表示位置を移動して表示する第３のステップと、を実行する。
第１のステップないし第３のステップは、実施形態においては、図１のＣＰＵ１の処理に相当する。
【００１７】
請求項１３の画像処理のプログラムにおいて、請求項１４に記載したように、第３のステップは、第２のステップによって算出されたベクトル分布に応じた移動量で画像を表示するような構成にしてもよい。
【００１８】
請求項１３の画像処理のプログラムにおいて、請求項１５に記載したように、第３のステップは、第２のステップによって算出されたベクトル分布に応じた振動数で画像を表示するような構成にしてもよい。
【００１９】
請求項１３の画像処理のプログラムにおいて、請求項１６に記載したように、時系列に連続する動画の画面に対応する各フレーム画像を所定数の部分画像に分割する第４のステップをさらに有し、第２のステップは、第４のステップによって分割された部分画像の各々に対して第１のステップによって推定されたオプティカルフローに基づくベクトル分布を算出するような構成にしてもよい。
【００２０】
請求項１３の画像処理のプログラムにおいて、請求項１７に記載したように、第１のステップによって推定されたオプティカルフローが所定の撮像手段（実施形態においては、ビデオカメラに相当する）によって撮像された動画の連続する撮像画面に対応する複数のフレーム画像のベクトル分布である場合に、撮像手段の移動に起因するベクトル分布を判定する第５のステップをさらに有し、第３のステップは、第５のステップによって判定された撮像手段の移動に起因するベクトル分布とフレーム画像内の画像のベクトル分布との関係に基づいて部分画像の表示位置を移動して表示するような構成にしてもよい。
なお、第５のステップは、実施形態においては、図１のＣＰＵ１の処理に相当する。
【００２１】
請求項１７の画像処理のプログラムにおいて、請求項１８に記載したように、第４のステップは、撮像手段によって撮像されたフレーム画像のベクトル分布から第５のステップによって判定された前記撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に基づいて部分画像の表示位置を移動して表示するような構成にしてもよい。さらに、この場合において、請求項１６に記載したように、撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に対応する特定の画像を第２のステップによって分割された部分画像に基づいて抽出する第６のステップをさらに有し、第４のステップは、相殺されたベクトル分布に基づいて特定の画像の表示位置を移動して表示するような構成にしてもよい。
なお、第６のステップは、実施形態においては、図１のＣＰＵ１の処理に相当する。
【００２２】
請求項１７の画像処理のプログラムにおいて、請求項１９に記載したように、第４のステップは、第５のステップによって判定された撮像手段の移動に起因するベクトル分布に基づいて撮像手段によって撮像された動きのない背景画像の表示位置を移動して表示するような構成にしてもよい。
【００２３】
請求項１７の画像処理のプログラムにおいて、請求項２０に記載したように、第５のステップは、撮像画像における所定の画素数からなる複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値内である場合には、撮像手段の移動に起因するベクトル分布を平行移動又は静止状態と判定し、複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値を超える場合には、最小のベクトル量を有する単位領域を検出して、当該最小のベクトル量の単位領域と他の任意の単位領域との間の方向に対して、当該任意の単位領域のベクトル方向が略同一方向又は略逆方向である場合には撮像手段の移動に起因するベクトル分布を拡大又は縮小と判定し、当該任意の単位領域のベクトル方向が略直角方向である場合には撮像手段の移動に起因するベクトル分布を回転と判定するような構成にしてもよい。さらに、この場合において、請求項２１に記載したように、第３のステップは、第５のステップによって撮像手段の移動に起因するベクトル分布が平行移動と判定された場合の撮像画面のみを表示するような構成にしてもよい。
【００２４】
請求項１３の画像処理のプログラムにおいて、請求項２１に記載したように、第３のステップは、第１のステップによるオプティカルフローの推定の対象であるフレーム画像の任意の位置における速度パラメータを算出し、当該算出した速度パラメータに従った速度で部分画像の表示位置を移動するような構成にしてもよい。
【００２５】
請求項１３の画像処理のプログラムにおいて、請求項２２に記載したように、第３のステップは、一連の動画を第２のステップによって算出されたベクトル分布の分類に応じた区間に分割し、各分割区間ごとに一枚の画像をその区間のベクトル分布に応じて移動して表示するような構成にしてもよい。
【発明の効果】
【００２６】
本発明の画像処理装置および画像処理のプログラムによれば、オプティカルフロー推定処理によって、画像の動きベクトルを視覚的に把握することが可能になるという効果が得られる。
また、本発明の画像処理装置および画像処理のプログラムによれば、オプティカルフロー推定処理によって、平行移動、ズーム、および回転のような様々なカメラワークを検出して画像の分析を可能にするとともに、分析の対象となる画像を抽出して、その画像の動きを表示できるという効果が得られる。
【図面の簡単な説明】
【００２７】
【図１】第１実施形態における画像処理装置の構成を示すブロック図。
【図２】第１実施形態におけるメインルーチンのフローチャート。
【図３】第１実施形態におけるメインルーチンのスイッチ処理のフローチャート。
【図４】第１実施形態におけるメインルーチンの画面分割処理のフローチャート。
【図５】第１実施形態における画面分割の表示例を示す図。
【図６】第１実施形態におけるメインルーチンのシーン分割処理のフローチャート。
【図７】第１実施形態においてカメラワークが平行移動の場合に単位領域ごとのベクトル分布を示す図。
【図８】第１実施形態においてカメラワークが回転の場合に単位領域ごとのベクトル分布を示す図。
【図９】第１実施形態においてカメラワークが拡大又は縮小の場合に単位領域ごとのベクトル分布を示す図。
【図１０】第１実施形態において起点座標および単位領域を結ぶ直線の方向と単位領域におけるベクトル分布との関係を示す図。
【図１１】第１実施形態において起点座標および単位領域を結ぶ直線の方向の単位ベクトルと単位領域におけるベクトル分布との内積を説明する図。
【図１２】第１実施形態において対象画像の動きを分析するための画像処理の例を示す図。
【図１３】第１実施形態においてカメラワークの動きを分析するための画像処理の例を示す図。
【図１４】第１実施形態においてビデオカメラの撮像位置を特定するための図。
【図１５】第２実施形態におけるメインルーチンのシーン分割処理のフローチャート。
【図１６】第２実施形態における映画のスタジオシーンを記録した画面を示す図。
【図１７】第２実施形態における分析結果に基づいたカメラワークの俯瞰図。
【図１８】第２実施形態における映像文法の分析に基づいて実際の撮影現場を予想した図。
【図１９】第２実施形態における映画のロケシーンを記録した画面を示す図
【図２０】第２実施形態における映画の散歩のロケシーンを示す図。
【図２１】第２実施形態における映画において人物のクローズアップのシーンを示す図
【図２２】第２実施形態における映画の戦闘場面において戦闘機のコックピット内のシーンを示す図。
【図２３】第２実施形態における映画において時間の経過に応じたカメラワークを示す図。
【図２４】映画の一連のカメラワークによって映像文法を分析する際の画面を示す図。
【図２５】従来技術における画面分割の表示例を示す図。
【発明を実施するための形態】
【００２８】
以下、本発明による画像処理装置の第１実施形態および第２実施形態について、図を参照して説明する。
図１は、第１実施形態における画像処理装置の構成を示すブロック図である。図１において、ＣＰＵ１は、システムバスを介して、ＲＯＭ２、ＲＡＭ３、画像入力インターフェース（Ｉ／Ｆ）４、スイッチ部５、演算部６、フレームメモリ７、画像出力インターフェース８に接続され、これら各部との間で指令やデータの授受を行って、この装置全体を制御する。
【００２９】
ＲＯＭ２は、画像処理のプログラムを含む制御プログラムや、電源起動時のイニシャライズにおける初期データを記憶している。ＲＡＭ３は、ＣＰＵ１のワークエリアであり、ＣＰＵ１のプログラムの実行に必要な各種のレジスタ、フラグ、変数のエリアが設けられている。画像入力インターフェース４は、ビデオカメラやその他の映像資源からの画像データを入力する。スイッチ部５は、電源スイッチの他、画面分割を指示する画面分割スイッチ、シーン分割を指示するシーン分割スイッチ、オプティカルフロー推定処理の対象となる２つのフレーム画像のフレーム間隔を指定するフレーム間隔スイッチ、および、その他のスイッチで構成されている。演算部６は、ＣＰＵ１の演算指令に応じて、オプティカルフロー推定処理に関する演算や、後述するその他の演算を行う。フレームメモリ７は、画像入力インターフェース４から入力された画像データをフレーム単位で記憶する。画像出力インターフェース８は、ＣＰＵ１および演算部６によって画像処理されたフレームの画像データをディスプレイ９に出力して表示させる。
【００３０】
図２は、第１実施形態におけるＣＰＵ１のメインルーチンのフローチャートである。まず、所定のイニシャライズ（ステップＳＡ１）の後、スイッチ処理を行う（ステップＳＡ２）。図３は、スイッチ処理のフローチャートである。画面分割スイッチがオンされたか否かを判別し（ステップＳＢ１）、このスイッチがオンされたときは、レジスタｄｉｖに「０」をセットする（ステップＳＢ２）。さらに、表示形態設定スイッチによって、移動量一定表示が設定されているか否かを判別する（ステップＳＢ３）。移動量一定表示が設定されている場合には、レジスタｍｏｄｅに「０」をセットする（ステップＳＢ４）。移動量一定表示が設定されていない場合には、振動数一定表示が設定されているか否かを判別する（ステップＳＢ５）。振動数一定表示が設定されている場合には、ｍｏｄｅに「１」をセットする（ステップＳＢ６）。
ステップＳＢ１において、画面分割スイッチがオンでない場合には、シーン分割スイッチがオンであるか否かを判別する（ステップＳＢ７）。このスイッチがオンである場合には、ｄｉｖに「１」をセットする（ステップＳＢ８）。
【００３１】
ステップＳＢ４においてｍｏｄｅに「０」をセットした後、若しくは、ステップＳＢ６においてｍｏｄｅに「１」をセットした後、又は、ステップＳＢ８においてｄｉｖに「１」をセットした後、若しくは、ステップＳＢ７において、シーン分割スイッチがオンでない場合には、フレーム間隔スイッチがオンであるか否かを判別し（ステップＳＢ９）、このスイッチがオンでフレーム間隔が指定された場合には、レジスタｆに指定されたフレーム間隔の数値をセットする（ステップＳＢ１０）。この数値が「１」の場合には隣接するフレーム画像に対してオプティカルフロー推定処理を行ない、この数値が「１０」の場合には１０フレーム間隔のフレーム画像に対してオプティカルフロー推定処理を行なう。フレーム間隔スイッチがオンでない場合には、他のスイッチがオンであるか否かを判別し（ステップＳＢ１１）、他のスイッチがオンである場合には、そのスイッチに対応する処理を行う（ステップＳＢ１２）。ステップＳＢ５において振動数一定表示が設定されていな場合には、他の処理を行う（ステップＳＢ１３）。
【００３２】
ステップＳＢ１０においてフレーム間隔の数値をセットした後、又は、ステップＳＢ１２若しくはステップＳＢ１３の処理の後は、図２のフローチャートに戻って、画像入力処理を行う（ステップＳＡ３）。この処理では、画像入力インターフェース４を介してビデオカメラなどの撮像手段から入力される画像データをフレームメモリ７に記憶する。なお、この画像入力処理は、ルーチンワークでなくインタラプトに応じて処理してもよい。例えば、ＮＴＳＣの場合には、約１／３０秒ごとに発生するインタラプトに応じて画像入力処理を行うことになる。
【００３３】
次に、レジスタｄｉｖの値が「０」であるか否かを判別し（ステップＳＡ４）、この値が「０」である場合には、画面分割処理を行う（ステップＳＡ５）。ｄｉｖの値が「０」でない場合には、ｄｉｖの値が「１」であるか否かを判別し（ステップＳＡ６）、この値が「１」である場合には、シーン分割処理を行う（ステップＳＡ７）。ステップＳＡ５の画面分割処理の後、又は、ステップＳＡ７のシーン分割処理の後は、画像出力処理を行う（ステップＳＡ８）。この処理では、画像出力インターフェース８を介して、ディスプレイ９に対して画面分割処理又はシーン分割処理したフレーム画像を出力する。この画像出力処理の後、又は、ｄｉｖが「０」および「１」のいずれでもない場合には、その他の処理を行って（ステップＳＡ９）、ステップＳＡ２に移行してスイッチ処理を行う。
【００３４】
図４は、図２のステップＳＡ５における画面分割処理のフローチャートである。まず、フレームメモリ７の中から処理の対象となるフレームＦ（ｎ）を選択する（ステップＳＣ１）。例えば、最新のフレームを選択する。次に、レジスタｆにストアされているフレーム間隔の数値だけ前のフレームＦ（ｎ−ｆ）を選択する（ステップＳＣ２）。フレーム間隔の数値は、動画における動き速度に応じて設定される。そして、選択した２つのフレームＦ（ｎ）およびＦ（ｎ−ｆ）間のオプティカルフローを計算する（ステップＳＣ３）。
【００３５】
次に、２つのフレームＦ（ｎ）およびＦ（ｎ−ｆ）をＭ×Ｎ（＝Ｊ）のブロックＢ（１）〜Ｂ（Ｊ）に分割する（ステップＳＣ４）。例えば、水平方向の画素数６４０、垂直方向の画素数４８０のフレームを水平方向に１０個、垂直方向に８個の８０個のブロックＢ（１）〜Ｂ（８０）に分割する。したがって、各ブロックの画素数は３８４０個（水平画素数６４×垂直画素数６０）となる。
【００３６】
次に、変数ｊを「１」にセットして（ステップＳＣ５）、ｊの値をインクリメントしながら、以下のループ処理を行う。ｊの値で指定するブロックＢ（ｊ）の平均速度ベクトルＶｘ（ｊ）、Ｖｙ（ｊ）を計算して（ステップＳＣ６）、計算した平均速度ベクトルＶｘ（ｊ）、Ｖｙ（ｊ）をＲＡＭ３にストアする（ステップＳＣ７）。この後、ｊの値をインクリメントして（ステップＳＣ８）、ｊの値が最大値Ｊの値を超えたか否かを判別する（ステップＳＣ９）。
【００３７】
ｊの値がＪの値以内である場合には、ステップＳＣ６に移行してループ処理を繰り返すが、ｊの値がＪの値を超えたときは、ループ処理を終了して、レジスタｍｏｄｅの値が「０」であるか「１」であるかを判別する（ステップＳＣ１０）。ｍｏｄｅの値が「０」である場合には、オプティカルフローの計算によるベクトル分布に従って、ブロックの画像を移動量一定でディスプレイ９に表示する（ステップＳＣ１１）。あるブロックについて移動量一定で表示する場合には、そのブロックにおいて指定した任意の点（ｘ０，ｙ０）は、その点（ｘ０，ｙ０）とベクトル分布に応じた下記の数１の点とを結ぶ直線上を、速度ベクトルに比例した振動数で移動する。
2010198634.tif 000003
一方、ｍｏｄｅの値が「１」である場合には、オプティカルフローの計算によるベクトル分布に従って、ブロックの画像を振動数一定でディスプレイ９に表示する（ステップＳＣ１２）。あるブロックについて振動数一定で表示する場合には、そのブロックにおいて指定した任意の点（ｘ０，ｙ０）は、その点（ｘ０，ｙ０）とベクトル分布に応じた点（ｘ０＋Ｖｘ，ｙ０＋Ｖｙ）とを結ぶ直線上を、速度ベクトルに比例した移動量で移動する。
ステップＳＣ１１又はステップＳＣ１２の表示の後は、図２のメインルーチンに戻る。
【００３８】
図５は、振動数一定でディスプレイ９に表示された画像を示す図である。この図は、フレームを水平方向に１０個、垂直方向に８個の８０個のブロックに分割した例である。各ブロックをその平均速度ベクトルに基づいて移動して表示する。図２５に示した従来の画像と比較すると、静止画のイラストであるにもかかわらず、オプティカルフロー推定処理によって、画像の動きベクトルを視覚的に把握することが可能になる。実際に、これを動画で表示した画面で見ると、画像の動きベクトルを顕著に把握することができる。
【００３９】
図６は、図２のメインルーチンにおけるステップＳＡ７のシーン分割処理のフローチャートである。フレームメモリ７に記憶されている処理対象の複数のフレームにおいて、各フレームのオプティカルフローを計算する（ステップＳＤ１）。オプティカルフローの計算においては、フレームを所定数の画素（例えば、１６画素×１６画素）からなる単位領域のエリアに分割して、そのエリアごとの動きベクトルを計算する。次に、フレームを１つ取り出す（ステップＳＤ２）。例えば、最新のフレームを取り出す。そして、オプティカルフローに基づいてベクトルの分散Ｄｖを計算する（ステップＳＤ３）。
【００４０】
図７、図８、および図９は、様々なカメラワークの状態をエリアごとの動きベクトルで表した図である。図７（１）は各エリアのベクトルが均一に右向きの方向になっている。図７（２）は各エリアのベクトルが均一に右斜め上の方向になっている。図８（１）はハッチングで示すエリアを中心に各エリアのベクトルが時計回りの渦巻き状になっている。図８（２）はハッチングで示すエリアを中心に各エリアのベクトルが反時計回りの渦巻き状になっている。図９（１）は各エリアのベクトルがハッチングで示すエリアに向かう方向になっている。図９（２）は各エリアのベクトルがハッチングで示すエリアから外に向かう方向になっている。図７ないし図９においては、単位領域のエリア数を少なくしているが、実際には、水平方向が画素数６４０で垂直方向が画素数４８０のフレームの場合には、エリアを１６画素×１６画素とすると、水平４０個×垂直３０個からなる１２００個のエリアとなる。
【００４１】
次に、ステップＳＤ３で計算した動きベクトルの分散Ｄｖが閾値Ｔｖより大きいか否かを判別する（ステップＳＤ４）。図７に示した各エリアのベクトルは同じ方向に均一な状態になっているので、分散Ｄｖは閾値Ｔｖよりも小さい。したがって、図７のカメラワークは平行移動に分類する（ステップＳＤ５）。なお、動きが非常に少ない静止画に近いものも平行移動に分類するものとする。
【００４２】
一方、図８および図９に示す各エリアのベクトルは、均一性がなく分散した状態になっている。この場合には、ステップＳＤ４において、分散Ｄｖが閾値Ｔｖより大きいと判別する。この場合には、最小ベクトル量のエリアを検出する（ステップＳＤ６）。具体的には、ステップＳＤ１において計算したオプティカルフローに基づいて、最小ベクトル量のエリアを検出する。図８および図９においては、ハッチングで示すエリアが最小ベクトル量のエリアである。
【００４３】
次に、カメラワーク判定演算を行う（ステップＳＤ７）。この演算では、最小ベクトル量のエリアと他のエリアとを結ぶ直線の方向と他のエリアにおける動きベクトルの方向との関係を分析する。最小ベクトル量のエリアの中心位置を起点座標（ｘ、ｙ）とし、起点座標と他のエリアの中心位置とを結ぶ直線と水平方向（Ｘ軸方向）との角度をθｘｙとした場合には、図８（２）に示すように、各エリアのベクトルが反時計回りの渦巻き状になっている状態においては、そのエリアのベクトルＶは図１０（１）に示すようになる。
【００４４】
したがって、ベクトルＶにおける水平方向のベクトルＶｘおよび垂直方向のベクトルＶｙは、下記の式で表される。
Ｖｘ＝−Ｖ・sinθｘｙ
Ｖｙ＝Ｖ・cosθｘｙ
次に、起点座標と他のエリアの中心位置とを結ぶ直線と法線方向の成分ｄｒおよび接線方向の成分ｄｘを下記の式で求める。
ｄｒ＝Ｖｙ・cosθｘｙ−Ｖｘ・sinθｘｙ
＝Ｖ・cosθｘｙ・cosθｘｙ−Ｖ（−sinθｘｙ）・sinθｘｙ＝Ｖ
ｄｚ＝Ｖｙ・sinθｘｙ＋Ｖｘ・cosθｘｙ
＝Ｖ・cosθｘｙ・sinθｘｙ・＋Ｖ・（−sinθｘｙ）・cosθｘｙ＝０
【００４５】
すなわち、各エリアのベクトルが反時計回りの渦巻き状になっている状態においては、オプティカルフロー計算の誤差を考慮しても、ベクトルＶで正規化した後の法線方向の成分はほぼ「１」、接線方向の成分はほぼ「０」となる。
【００４６】
一方、図９（２）に示すように、各エリアのベクトルがハッチングで示すエリアから外に向かう方向になっている場合には、そのエリアのベクトルＶは図１０（２）に示すようになる。
したがって、ベクトルＶにおける水平方向のベクトルＶｘおよび垂直方向のベクトルＶｙは、下記の式で表される。
Ｖｘ＝Ｖ・cosθｘｙ
Ｖｙ＝Ｖ・sinθｘｙ
次に、起点座標と他のエリアの中心位置とを結ぶ直線と法線方向の成分ｄｒおよび接線方向の成分ｄｘを下記の式で求める。
ｄｒ＝Ｖｙ・cosθｘｙ−Ｖｘ・
＝Ｖ・sinθｘｙ・cosθｘｙ−Ｖ・cosθｘｙ・sinθｘｙ＝０
ｄｚ＝Ｖｙ・sinθｘｙ＋Ｖｘ・cosθｘｙ
＝Ｖ・sinθｘｙ・sinθｘｙ・＋Ｖ・cosθｘｙ・cosθｘｙ＝Ｖ
【００４７】
すなわち、各エリアのベクトルがハッチングで示すエリアから外に向かう方向になっている場合には、オプティカルフロー計算の誤差を考慮しても、ベクトルＶで正規化した後の法線方向の成分はほぼ「０」、接線方向の成分はほぼ「１」となる。
【００４８】
このことは、２つのベクトルの内積を計算することと等価である。図１１（１）に示すように、起点座標と他のエリアの中心位置とを結ぶ直線方向の単位ベクトルをＶｕ（｜Ｖｕ｜＝１）、他の任意のエリアのベクトルをＶｎ、ＶｎおよびＶｕのベクトル角をαとすると、ベクトルの内積は、次の式で表される。
｜Ｖｎ｜・｜Ｖｕ｜・cosα＝｜Ｖｎ｜・cosα
あるいは、一般に２つのベクトルの内積は、水平方向成分同士の積と垂直方向成分同士の積との和で表されるので、ベクトルＶｎと水平方向との角度をβとすると、ベクトルの内積は、次の式でも表される。
｜Ｖｎ｜cosβ・｜Ｖｕ｜cosθｘｙ+｜Ｖｎ｜・sinβ・｜Ｖｕ｜sinθｘｙ
＝｜Ｖｎ｜cosβ・cosθｘｙ+｜Ｖｎ｜・sinβ・sinθｘｙ
＝｜Ｖｎ｜・cos（β−θｘｙ）
なお、θｘｙはベクトルＶｕと水平方向の角度であるので、β−θｘｙ＝αとなり、
｜Ｖｎ｜・cos（β−θｘｙ）＝｜Ｖｎ｜・cosα
【００４９】
したがって、図１１（２）に示すように、単位ベクトルＶｕとベクトルＶｎ１とがほぼ直角の場合、すなわち、図８（１）若しくは（２）に示すように、カメラワークが回転の場合にはαが約９０°であるので、｜Ｖｎ｜で正規化した内積は約「１」となる。一方、単位ベクトルＶｕとベクトルＶｎ２とがほぼ平行の場合、すなわち、図９（１）若しくは（２）に示すように、カメラワークが拡大又は縮小の場合には、αが約１８０°若しくは０°であるので、｜Ｖｎ｜で正規化した内積は約「０」となる。
【００５０】
したがって、ｄｒの値がｄｚの値より大きいか否かを判別して（ステップＳＤ８）、ｄｒの値がｄｚの値より大きい場合には、カメラワークを回転に分類する（ステップＳＤ９）。一方、ｄｒの値がｄｚの値より大きくない場合には、カメラワークを拡大若しくは縮小に分類する（ステップＳＤ１０）。ステップＳＤ５、ステップＳＤ９、ステップＳＤ１０において、カメラワークを分類した後は、フレームメモリ７に処理対象のフレームが残っているか否かを判別し（ステップＳＤ１１）、残っている場合には、ステップＳＤ２に移行して、ステップＳＤ１１までのループ処理を繰り返す。
フレームメモリ７に処理対象のフレームが残っていない場合には、画像出力インターフェース８を介して、ディスプレイ９にシーン分割した画像を表示する（ステップＳＤ１２）。そして、図２のメインルーチンに戻る。
【００５１】
カメラワークを分類した後は、撮像された画面からカメラワークの影響を除外して、対象画像の動きを分析するための画像処理、および、撮像された画面から移動画像の影響を除外して、カメラワーク自体の動きを分析するための画像処理が可能となる。
図１２は、対象画像の動きを分析するための画像処理の例を示す図である。図１２（１）は、ビデオカメラを平行移動させながら、サッカーの試合を撮像した動画であり、３人の選手がそれぞれオプティカルフローで算出されたベクトル分布であるｖ１、ｖ２、ｖ３の動きベクトルで移動している。カメラワークのベクトル分布を右方向に向かうｖｃとすると、各選手のベクトル分布ｖ１、ｖ２、ｖ３は、図１２（２）に示すように、カメラワークのベクトル分布ｖｃと選手自体のベクトル分布ｖ１’、ｖ２’、ｖ３’に分解できる。したがって、各選手のベクトル分布からカメラワークのベクトル分布を相殺すると、選手自体のベクトル分布ｖ１’、ｖ２’、ｖ３’に基づいて、動画像の中から選手の画像を抽出することができる。
そして、図１２（３）に示すように、フレームから抽出した各選手の画像をそれぞれのベクトル分布に従って移動して表示することができる。この結果、試合中の各選手の動きを分析することによって、今後の練習の方針や次の試合における対策を研究することができる。
【００５２】
図１３は、カメラワーク自体の動きを分析するための画像処理の例を示す図である。図１３（１）は、ビデオカメラを移動させながらサッカーの試合を撮像した場合の連続したフレームを示している。このフレームの画面では、ボールが飛び、選手も走っているので、カメラワーク自体の動きは分かりにくい。そこで、所定の閾値よりも速い動きベクトルの画像を除外する。
図１３（２）は、その閾値より速い動きベクトルのボールおよび選手の画像を除外した場合の連続したフレームを示している。図１３（２）のフレームからはカメラワーク自体の動きを抽出して容易に分析することができる。この場合のカメラワークは左から右に平行する単純なものであるが、回転や拡大・縮小などが復号したカメラワークにおいては、所定の閾値よりも速い動きベクトルの画像を除外することによって、カメラワーク自体の動きを分析に顕著な効果が得られる。例えば、映画撮影の場合には、監督や映画のジャンルなどによって、カメラワークがどのように異なるかの分析、すなわち映画文法の分析が可能となる。
【００５３】
この場合において、カメラワーク自体の動きが平行移動である場合だけを表示するようにしてもよい。この場合には、ビデオカメラの移動方向によって攻撃側のチームを容易に認識することで、試合全体の流れを明確に把握することができる。
【００５４】
図１４は、ビデオカメラの撮像位置を特定するための図である。サッカー場において、センターサークル、ライン、ゴールなどの動きのない背景画像をあらかじめフレームメモリ７に記憶し、撮像された時系列のフレーム（ｔ）、フレーム（ｔ＋１）、…フレーム（ｔ＋ｎ）の画像において、背景画像とマッチングを行ってカメラワークの分析を行う。
【００５５】
以上のように、この第１実施形態によれば、ＣＰＵ１は、時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定し、フレーム画像を所定数の部分画像に分割し、その部分画像の各々に対して推定したオプティカルフローに基づくベクトル分布を算出し、算出したベクトル分布に応じて部分画像の表示位置を移動して表示する。例えば、算出したベクトル分布に応じて部分画像の移動量を一定にして表示する。あるいは、算出したベクトル分布に応じて部分画像の振動数を一定にして表示する。
したがって、オプティカルフロー推定処理によって、画像の動きベクトルを視覚的に把握することが可能になる。
【００５６】
また、第１実施形態によれば、ＣＰＵ１は、推定したオプティカルフローが、ビデオカメラによって撮像された動画の連続する撮像画面に対応する複数のフレーム画像のベクトル分布である場合に、ビデオカメラのベクトル分布を判定して、ビデオカメラのベクトル分布と、フレーム画像内の画像のベクトル分布との関係に基づいて部分画像の表示位置を移動して表示する。
例えば、ビデオカメラによって撮像されたフレーム画像のベクトル分布から、ビデオカメラのベクトル分布を相殺したベクトル分布に基づいて、部分画像の表示位置を移動して表示する。この場合において、ビデオカメラのベクトル分布を相殺したベクトル分布に対応する特定の画像（図１２における選手の画像）を抽出して、相殺したベクトル分布に基づいてその特定の画像の表示位置を移動して表示する。
したがって、オプティカルフロー推定処理によって、分析の対象となる画像を抽出して、カメラワークの動きに関係なく、その画像自体の動きを表示できる。
あるいは、ビデオカメラのベクトル分布に基づいて、ビデオカメラによって撮像された動きのない背景画像の表示位置を移動して表示する。
したがって、オプティカルフロー推定処理によって、平行移動、ズーム、および回転のような様々なカメラワークを検出して画像の分析を可能にする。
【００５７】
さらに、ＣＰＵ１は、撮像画像における所定の画素数（１６画素×１６画素）からなる複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値内である場合には、ビデオカメラのベクトル分布を平行移動又は静止状態と判定し、複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値を超える場合には、最小のベクトル量を有する単位領域を検出して、当該最小のベクトル量の単位領域と他の任意の単位領域との間の方向に対して、当該任意の単位領域のベクトル方向が略同一方向又は略逆方向である場合には、ビデオカメラのベクトル分布を拡大又は縮小と判定し、当該任意の単位領域のベクトル方向が略直角方向である場合には、ビデオカメラのベクトル分布を回転と判定する。
したがって、平行移動、ズーム、および回転のような様々なカメラワークを正確に検出することができる。
この場合において、ＣＰＵ１は、ビデオカメラのベクトル分布が平行移動と判定された場合の撮像画面のみを表示する。
したがって、スポーツの試合において、ビデオカメラの移動方向によって攻撃側のチームを容易に認識することで、試合全体の流れを明確に把握することができる。
【００５８】
次に、本発明による画像処理装置の第２実施形態について説明する。
第２実施形態における画像処理装置の構成は、図１に示した第１実施形態のブロック図と同じである。さらに、第２実施形態における画像処理の動作についても、シーン分割処理の一部を除いて、第１実施形態の動作と同じである。したがって、第１実施形態と同じ処理については説明を省略し、第１実施形態の図面を援用するとともに、第１実施形態と異なる内容について説明する。
【００５９】
図１５は、第２実施形態におけるシーン分割処理のフローチャートである。図１５と第１実施形態における図６との比較から明らかなように、図１５においては、カメラワークを平行移動若しくは静止に分類したステップＳＤ５の後、回転に分類したステップＳＤ９の後、又は、拡大若しくは縮小に分類したステップＳＤ１０の後に、静止の場合（速度がゼロの場合）を除き、分類に応じた速度パラメータの計算を行う（ステップＳＤ１３）。
【００６０】
カメラワークが平行移動の場合には、任意の点の座標（ｘ、ｙ）における水平方向の速度パラメータをＶｘ、垂直方向の速度パラメータをＶｙとすると、座標（ｘ、ｙ）における水平方向のベクトル分布ｖｘおよび垂直方向のベクトル分布ｖｙは、下記の式で表される。したがって、下記の式によって水平方向の速度パラメータＶｘ、垂直方向の速度パラメータＶｙを求めることができる。
ｖｘ＝ｘ＋Ｖｘ
ｖｙ＝ｙ＋Ｖｙ
【００６１】
カメラワークが回転の場合には、任意の点の座標（ｘ、ｙ）が座標（ｘｃ，ｙｃ）を中心として回転しているときの回転の速度パラメータをＶθとすると、座標（ｘ、ｙ）における水平方向のベクトル分布ｖｘおよび垂直方向のベクトル分布ｖｙは、下記の式で表される。したがって、下記の式によって回転の中心位置ｘｃ、ｙｃ、回転の速度パラメータＶθを求めることができる。
ｖｘ＝（ｘ−ｘｃ）cosＶθ−（ｙ−ｙｃ）sinＶθ
ｖｙ＝（ｘ−ｘｃ）sinＶθ−（ｙ−ｙｃ）cosＶθ
【００６２】
さらに、カメラワークも被写体も回転している場合において、被写体の動きを解析する場合には、被写体の回転速度によるベクトル分布からカメラの回転速度によるベクトル分布を相殺したベクトル分布に基づいて被写体の動きを分析する。これに対して、カメラワークの動きすなわち映像文法を解析する場合には、カメラの回転速度によるベクトル分布から被写体の回転速度によるベクトル分布を相殺したベクトル分布に基づいてカメラワークを分析する。
【００６３】
図１６は、著名な監督による映画を記録したビデオテープ又はＤＶＤの画面を示す図であり、３人の人物ｐ０、ｐ１、ｐ２および図示しない他の人物やセットの建物が撮影されている。図１６（Ａ）のシーンから単位時間（例えば、１秒）後にカメラが動いて図１６（Ｂ）のシーンに変化した場合に、カメラワークの動きである映像文法を動きベクトルのオプティカルフローによって分析する。この２つのシーンの映像に示されているように、人物ｐ０の画像は移動せず、人物ｐ１の画像が左にｄ１の距離だけ移動し、人物ｐ２の画像が右にｄ２の距離だけ移動している。したがってこの場合には、人物ｐ０を中心にカメラが回転移動していることが分析できる。すなわち、単位時間における移動距離ｄ１およびｄ２は、人物ｐ１およびｐ２の動きベクトルを表している。
【００６４】
図１７は、この分析結果に基づいたカメラワークの俯瞰図である。図１６（Ａ）のシーンではカメラ１１は、図１７の回転移動の軌道を示す円１２において点線の位置にあり、図１６（Ｂ）のシーンでは、カメラ１１は人物ｐ０を中心に動きベクトルθで回転移動した実線の位置にある。図１７において、２点鎖線でしめす画面Ｇ１が人物ｐ１の画像の移動を表し、２点鎖線でしめす画面Ｇ２が人物ｐ２の画像の移動を表している。いま、人物ｐ０と人物ｐ１との距離をｒ１とし、人物ｐ０と人物ｐ２との距離をｒ２とすると、下記の近似式が成り立つ。
ｒ１・θ＝ｄ１、ｒ２・θ＝ｄ２
すなわち、この式から次の式を導くことができる。
ｄ２／ｄ１＝ｒ２／ｒ１
したがって、図１６の映像における人物ｐ１およびｐ２の画像の動きベクトルを分析することによって、３人の人物ｐ０、ｐ１、ｐ２の配置関係も分析できる。
図１８は、このような映像文法の分析に基づいて、実際の撮影現場を予想した図である。この図に示すように、カメラ１１は、人物ｐ０を中心とする円の軌道１２に沿って矢印の方向に回転移動している。
【００６５】
図１９は、この映画のロケシーンの画面を示す図であり、連続する撮像画面である図１９（Ａ）、（Ｂ）、（Ｃ）に、人物の画像１３が同じ大きさで表示されている。ただし、背景の町並みの画像は次第に小さくなっている。この３つのシーン動きベクトルのオプティカルフローによれば、右方向にカメラを回転させながら人物の進行に合わせて左後方にズームし、低い位置すなわちローアングルで撮影するカメラワークであることが分析される。
【００６６】
図２０は、この映画の散歩のシーンを示す図である。図２０（Ａ）のシーンから図２０（Ｂ）のシーンに変化した場合には、人物は右方向にｄ１の距離だけ移動し、背景は左方向にｄ２の距離だけ移動している。したがって、この２つのシーン動きベクトルのオプティカルフローによれば、カメラを右方向に移動するパンのカメラワークであることが分析される。また、人物は図２０（Ａ）のシーンから図２０（Ｂ）のシーンに変化するまでの時間に（ｄ１＋ｄ２）の距離を移動していることが分かる。
【００６７】
図２１は、この映画における人物のクローズアップのシーンを示す図である。図２１（Ａ）のシーン、図２１（Ｂ）のシーン、図２１（Ｃ）のシーンに変化しているので、この３つのシーン動きベクトルのオプティカルフローによれば、カメラを下から上に移動させながら撮影するカメラワークであることが分析される。なお、図には示さないが、さらに、図２１（Ｃ）のシーンから逆に、カメラを上から下に移動させながら撮影するカメラワークも行われる。すなわち、縦揺れの映像文法のカメラワークである。
【００６８】
図２２は、この映画の戦闘場面における戦闘機のコックピット内のシーンを示す図である。図２２（Ａ）のシーン、図２２（Ｂ）のシーン、図２２（Ｃ）のシーンに変化し、水平線の画像が右回転しているので、この３つのシーン動きベクトルのオプティカルフローによれば、コックピット内のカメラが戦闘機の左回転するのに伴って、回転しながら撮影するカメラワークであることが分析される。図１６に示した回転のカメラワークは、撮影現場の所定の地点を垂直の軸として回転するカメラワークであるのに対して、この図２２に示す回転のカメラワークは、カメラの光軸を中心に回転するカメラワークになっている。
【００６９】
図２３は、この映画において時間の経過に応じて異なるカメラワークの種類を示す一連の図であり、カメラワークの種類に応じた画面の変化を矢印で示している。この図に示すように、回転（所定の地点を垂直の軸とした回転）のカメラワーク、ズームのカメラワーク、パンのカメラワーク、縦揺れのカメラワーク、実施形態においては示していないが、パンと縦揺れの合成である斜め揺れのカメラワーク、回転（カメラの光軸を中心とする回転）のカメラワークに応じて、画面が矢印のように変化する。
なお、各種類のカメラワークを各シーン番号で表示したり、あるいは、各種類のカメラワークを各シーンの開始時間および終了時間で表示するようにしてもよい。
【００７０】
図２４は、この映画の一連のカメラワークによって映像文法を分析する際の画面を示す図である。この図に示すように、一連の動画をベクトル分布の分類であるカメラワークに応じた区間、すなわち複数の画面からなるシーン（１，２，３…）に分割し、各分割区間ごとに一枚の画像（ディスプレイ９の１画面）をその区間のベクトル分布に応じて移動して表示する。この場合において、各区間における移動表示、すなわち、縦軸又は横軸を中心とする画像の回転、画面の拡大又は縮小であるズーム、画像を横又は斜めに移動するパン、画像を上又は下に移動する縦揺れ、画面の任意の表示位置すなわちカメラの光軸を中心とする回転などが可能なように、図２４に示すように、各分割区間の画像の間を空けて表示する。
【００７１】
さらにこの場合において、任意のシーンを選択して表示することも可能であるし、特定のカメラワーク、例えば、縦軸を中心とする画像の回転のカメラワークだけの分割区間を複数抽出して、それぞれの画像の回転を比較することにより、より詳細な映像文法の分析を行うことも可能である。あるいは、同じ監督の他の作品又は他の著名な監督の作品から、特定のカメラワークを抽出して比較することによって、作品ごとの映像文法の分析を行うことも可能である。
【００７２】
なお、映像文法の分析において、カメラワークが図１９に示すようなズームの場合には、任意の点の座標（ｘ、ｙ）が座標（ｘｃ，ｙｃ）を中心として外側に拡大しているとき、又は、座標（ｘｃ，ｙｃ）を中心として内側に縮小しているときに、拡大又は縮小の速度パラメータをＶｚとすると、座標（ｘ、ｙ）における水平方向のベクトル分布ｖｘおよび垂直方向のベクトル分布ｖｙは、下記の式で表される。したがって、下記の式によって拡大又は縮小の中心位置ｘｃ、ｙｃ、拡大又は縮小の速度パラメータＶｚを求めることができる。
ｖｘ＝（ｘ−ｘｃ）Ｖｚ
ｖｙ＝（ｙ−ｙｃ）Ｖｚ
【００７３】
以上のように、この第２実施形態によれば、ＣＰＵ１は、オプティカルフローの推定の対象であるフレーム画像の任意の位置における速度パラメータを算出し、当該算出した速度パラメータに従った速度で部分画像の表示位置を移動する。
したがって、オプティカルフロー推定処理によって、平行移動、ズーム、および回転のような様々なカメラワークの速度を検出して、カメラワークの定量的な分析を可能にする。
【００７４】
各実施形態においては、オプティカルフローの推定を行う２つのフレーム間の間隔については特に限定していないが、通常は隣接するフレーム間においてオプティカルフローの推定を行う。この場合には、図３に示したスイッチ処理のステップＳＢ１０において、レジスタｆの値が「１」にセットされる。しかしながら、分析対象の動画の動きがフレーム間隔の３３．３ｍｓに比べてかなり遅い場合には、隣接するフレーム間においては、動きベクトル量が非常に小さくなり、オプティカルフローの推定を行っても分析が困難である。このような場合には、ｆにセットする値を大きくして、オプティカルフローの推定を行う２つのフレーム間隔を長くする。
【００７５】
また、各実施形態においては、サッカーの試合を例に採ってオプティカルフローによる画像処理を説明したが、本発明は、他のスポーツの試合やスポーツ以外の画像に対する画像処理にも応用できることは明らかである。
また、各実施形態においては、画像の形に基づいて特定の画像を抽出するようにしたが、画像の色情報に基づいて特定の画像を抽出してもよい。
第１実施形態においては、図１４に示したビデオカメラの撮像位置を特定するために、背景画像とマッチングを行ってカメラワークの分析を行うようにしたが、直接手作業でカメラワークの分析を行うようにしてもよい。
【００７６】
なお、上記第１実施形態および第２実施形態においては、画像処理のプログラムがあらかじめ記憶されているＲＯＭ２を備えた画像処理装置の発明について説明したが、フレキシブルディスク（ＦＤ）、ＣＤ、ＤＶＤなどの外部の記憶媒体から読み出した画像処理のプログラムを、パソコン、ミニコン、オフィスコンピュータ、ワークステーションなどの汎用の情報処理装置におけるフレッシュＲＯＭやハードディスクなどの書込み可能な不揮発性メモリにインストールして実行する構成も可能である。又は、インターネットなどのネットワークを介してダウンロードした画像処理のプログラムを、このような不揮発性メモリにインストールして実行する構成も可能である。
すなわち、汎用の情報処理装置にプログラムをインストールして画像処理を実行することにより、いわゆる物の発明としての画像処理装置の発明だけでなく、画像処理のプログラムの発明を実現できる。また、このような画像処理のプログラムを記憶したフレキシブルディスク、ＣＤ、ＤＶＤ自体も独立して販売できるので、記憶媒体の発明をも実現できることは言うまでもない。
【００７７】
画像処理のプログラムは、上記各実施形態におけるＣＰＵのフローチャートに示される構成になっている。すなわち、
時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する第１のステップと、フレーム画像を所定数の部分画像に分割する第２のステップと、前記第２のステップによって分割された部分画像の各々に対して前記第１のステップによって推定されたオプティカルフローに基づくベクトル分布を算出する第３のステップと、所定の表示手段の表示画面上において前記第３のステップによって算出されたベクトル分布に応じて画像の表示位置を移動して表示する第４のステップと、を実行する。
【００７８】
前記第３のステップは、前記第２のステップによって算出されたベクトル分布に応じた移動量で画像を表示する。
【００７９】
前記第３のステップは、前記第２のステップによって算出されたベクトル分布に応じた振動数で画像を表示する。
【００８０】
時系列に連続する動画の画面に対応する各フレーム画像を所定数の部分画像に分割する第４のステップをさらに有し、前記第２のステップは、前記第４のステップによって分割された部分画像の各々に対して前記第１のステップによって推定されたオプティカルフローに基づくベクトル分布を算出する。
【００８１】
前記第１のステップによって推定されたオプティカルフローが所定の撮像手段によって撮像された動画の連続する撮像画面に対応する複数のフレーム画像のベクトル分布である場合に、前記撮像手段の移動に起因するベクトル分布を判定する第５のステップをさらに有し、前記第３のステップは、前記第５のステップによって判定された前記撮像手段の移動に起因するベクトル分布とフレーム画像内の画像のベクトル分布との関係に基づいて部分画像の表示位置を移動して表示する。
【００８２】
前記第３のステップは、前記撮像手段によって撮像されたフレーム画像のベクトル分布から前記第５のステップによって判定された前記撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に基づいて部分画像の表示位置を移動して表示する。
【００８３】
前記撮像手段の移動に起因するベクトル分布が相殺されたベクトル分布に対応する特定の画像を前記画像分割手段によって分割された部分画像に基づいて抽出する第６のステップをさらに有し、前記第３のステップは、前記相殺されたベクトル分布に基づいて前記特定の画像の表示位置を移動して表示する。
【００８４】
前記第３のステップは、前記第５のステップによって判定された前記撮像手段の移動に起因するベクトル分布に基づいて前記撮像手段によって撮像された動きのない背景画像の表示位置を移動して表示する。
【００８５】
前記第５のステップは、撮像画像における所定の画素数からなる複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値内である場合には、前記撮像手段の移動に起因するベクトル分布を平行移動又は静止状態と判定し、前記複数の単位領域におけるオプティカルフローのベクトル分布の分散が所定の閾値を超える場合には、最小のベクトル量を有する単位領域を検出して、当該最小のベクトル量の単位領域と他の任意の単位領域との間の方向に対して、当該任意の単位領域のベクトル方向が略同一方向又は略逆方向である場合には前記撮像手段の移動に起因するベクトル分布を拡大又は縮小と判定し、当該任意の単位領域のベクトル方向が略直角方向である場合には前記撮像手段の移動に起因するベクトル分布を回転と判定する。
【００８６】
前記第３のステップは、前記第５のステップによって前記撮像手段の移動に起因するベクトル分布が平行移動と判定された場合の撮像画面のみを表示する。
【００８７】
前記第３のステップは、前記第１のステップによるオプティカルフローの推定の対象であるフレーム画像の任意の位置における速度パラメータを算出し、当該算出した速度パラメータに従った速度で部分画像の表示位置を移動する。
【００８８】
前記第３のステップは、一連の動画を前記第２のステップによって算出されたベクトル分布の分類に応じた区間に分割し、各分割区間ごとに一枚の画像をその区間のベクトル分布に応じて移動する。
【符号の説明】
【００８９】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  画像入力インターフェース
５  スイッチ部
６  演算部
７  フレームメモリ
８  画像出力インターフェース
９  ディスプレイ
【図１】
2010198634.tif 000004
【図２】
2010198634.tif 000005
【図３】
2010198634.tif 000006
【図４】
2010198634.tif 000007
【図５】
2010198634.tif 000008
【図６】
2010198634.tif 000009
【図７】
2010198634.tif 000010
【図８】
2010198634.tif 000011
【図９】
2010198634.tif 000012
【図１０】
2010198634.tif 000013
【図１１】
2010198634.tif 000014
【図１２】
2010198634.tif 000015
【図１３】
2010198634.tif 000016
【図１４】
2010198634.tif 000017
【図１５】
2010198634.tif 000018
【図１６】
2010198634.tif 000019
【図１７】
2010198634.tif 000020
【図１８】
2010198634.tif 000021
【図１９】
2010198634.tif 000022
【図２０】
2010198634.tif 000023
【図２１】
2010198634.tif 000024
【図２２】
2010198634.tif 000025
【図２３】
2010198634.tif 000026
【図２４】
2010198634.tif 000027
【図２５】
2010198634.tif 000028
【手続補正書】
【提出日】平成22年6月11日(2010.6.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
請求項１に記載の画像処理装置は、時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する動き推定手段と、前記動き推定手段によって推定されたオプティカルフローに基づくベクトル分布を算出するベクトル演算手段と、一連の動画を前記ベクトル演算手段によって算出されたベクトル分布の分類に応じた区間に分割する分割手段と、前記分割手段によって分割された区間ごとに一枚の代表画像を一覧表示する表示手段と、一覧表示された前記代表画像をその区間のベクトル分布に応じて移動して表示する表示制御手段と、を備えた構成になっている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
請求項２に記載の画像処理のプログラムは、時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する第１のステップと、前記第１のステップによって推定されたオプティカルフローに基づくベクトル分布を算出する第２のステップと、一連の動画を前記第２のステップによって算出されたベクトル分布の分類に応じた区間に分割する第３のステップと、前記第３のステップによって分割された区間ごとに一枚の代表画像を一覧表示する第４のステップと、前記第４のステップによって一覧表示された代表画像をその区間のベクトル分布に応じて移動して表示する第５のステップと、を実行する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】削除
【補正の内容】
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】削除
【補正の内容】
【手続補正２１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する動き推定手段と、
前記動き推定手段によって推定されたオプティカルフローに基づくベクトル分布を算出するベクトル演算手段と、
一連の動画を前記ベクトル演算手段によって算出されたベクトル分布の分類に応じた区間に分割する分割手段と、
前記分割手段によって分割された区間ごとに一枚の代表画像を一覧表示する表示手段と、
一覧表示された前記代表画像をその区間のベクトル分布に応じて移動して表示する表示制御手段と、
を備えた画像処理装置。
【請求項２】
時系列に連続する動画の画面に対応する複数のフレーム画像の動きベクトルであるオプティカルフローを推定する第１のステップと、
前記第１のステップによって推定されたオプティカルフローに基づくベクトル分布を算出する第２のステップと、
一連の動画を前記第２のステップによって算出されたベクトル分布の分類に応じた区間に分割する第３のステップと、
前記第３のステップによって分割された区間ごとに一枚の代表画像を一覧表示する第４のステップと、
前記第４のステップによって一覧表示された代表画像をその区間のベクトル分布に応じて移動して表示する第５のステップと、
を実行する画像処理のプログラム。