以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔画像処理装置〕
図1は、本発明の実施形態による画像処理装置1のハードウェア構成を示す図である。この画像処理装置1のハード構成としては、通常のコンピュータを使用することができる。画像処理装置1は、CPU101と、各種のプログラム及びデータを記憶するROM及びRAMからなる記憶部102と、各種のプログラム及びデータ等を記憶する記憶装置(ハードディスク装置)103と、インターネット等のネットワークを介してデータ等の送受信を行うネットワークインターフェース104と、マウス、キーボード等の操作器108に対するユーザによる操作に伴い、データを入力制御する操作・入力インターフェース105、ユーザにキー操作を促すための表示データ、映像データ、フォーメーションデータ等を表示器109へ出力制御する表示インターフェース106とを備えて構成され、これらの構成要素はシステムバス107を介して相互に接続される。
記憶装置103には、画像処理装置1の基本的な機能を提供するためのOS(オペレーティングシステム)及び各種アプリケーションのプログラム、並びに、映像データ126、選手配置データ127及びフォーメーションデータ128等が記憶されている。尚、これらのプログラム及びデータは、画像処理装置1が処理を行うときに、CPU101により記憶装置103から記憶部102のRAMに読み出される。図1には、オペレーティングシステム及び各種アプリケーションのプログラムが記憶装置103から記憶部102に読み出された状態が示されており、記憶部102には、オペレーティングシステム120、フォーメーションデータ生成プログラム121、グラフィカル提示プログラム122及び類似度計算プログラム123が記憶されている。尚、フォーメーションデータ生成プログラム121等のアプリケーションプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することができ、ネットワークに接続された外部のサーバからネットワークインターフェース104を介して記憶装置103にダウンロードすることができる
ここで、オペレーティングシステム120は、CPU101が記憶装置103から読み出して実行することにより、画像処理装置1の基本的な機能として、記憶部102、記憶装置103、ネットワークインターフェース104、操作・入力インターフェース105及び表示インターフェース106を管理する。そして、このオペレーティングシステム120がCPU101によって実行された状態で、前述のフォーメーションデータ生成プログラム121、グラフィカル提示プログラム122及び類似度計算プログラム123等が実行される。
制御部110は、CPU101及び記憶部102により構成され、CPU101が記憶部102及び記憶装置103に記憶された各種プログラムを読み出して実行することにより、画像処理装置1全体を統括制御する。このように、画像処理装置1は、図1に示したハードウェア構成により、制御部110がフォーメーションデータ生成プログラム121、グラフィカル提示プログラム122及び類似度計算プログラム123等に従って各種処理を行う。
以下、映像データ126を、サッカーの試合が撮影された映像データとして説明する。また、選手配置データ127は、例えば前述した非特許文献4の手法により、映像データ126を画像処理して生成されているものとする。選手配置データ127及びフォーメーションデータ128の詳細については後述する。
図2は、画像処理装置1に備えた制御部110の機能構成を示すブロック図であり、図1に示した制御部110がフォーメーションデータ生成プログラム121、グラフィカル提示プログラム122及び類似度計算プログラム123により各種処理を実行する際の機能構成を示している。この制御部110は、フォーメーションデータ生成部10、グラフィカル提示部20及び類似度計算部30を備えており、記憶部102には、映像データ126、選手配置データ127及びフォーメーションデータ128が記憶されている。尚、映像データ126、選手配置データ127及びフォーメーションデータ128は、図1に示した記憶装置103に記憶された各データにそれぞれ対応し、図1は、制御部110により、その一部または全部のデータが記憶部102に読み出された状態を示している。また、フォーメーションデータ128は、フォーメーションデータ生成部10により、記憶部102を介して記憶装置103に格納される。
フォーメーションデータ生成部10は、記憶部102から選手配置データ127を読み出し、ユーザにより設定された映像区間において、予め設定された分割領域毎に、選手配置データに基づいてチーム毎の平均選手数及び平均動きベクトルを算出し、平均選手数及び平均動きベクトルを含むフォーメーションデータを生成し、フォーメーションデータ128として記憶部102に格納する。フォーメーションデータ生成部10の詳細については後述する。
グラフィカル提示部20は、記憶部102から映像データ126及びフォーメーションデータ128を読み出し、映像データ126を画面表示すると共に、映像データ126に同期した時刻に従って、ユーザにより設定された映像区間において、予め設定された分割領域毎に、平均選手数及び平均動きベクトルを含むフォーメーションデータを、チーム毎に画面表示する。また、グラフィカル提示部20は、類似度計算部30から類似度計算結果を入力し、記憶部102から、類似度の高い映像データ126及びフォーメーションデータ128を読み出し、画面表示する。グラフィカル提示部20の詳細については後述する。
類似度計算部30は、記憶部102から、参照(検索クエリー)となるフォーメーションデータ128及び類似度計算の検索対象となるフォーメーションデータ128を読み出し、選手数類似度及び動きベクトル類似度を算出し、2つのフォーメーションデータ間の類似度を算出する。また、類似度計算部30は、類似度計算結果として、参照(検索クエリー)となるフォーメーションデータを特定するための情報、類似度計算の検索対象となるフォーメーションデータを特定するための情報及び類似度をグラフィカル提示部20に出力する。類似度計算部30の詳細については後述する。
〔フォーメーションデータ生成部〕
まず、図2に示したフォーメーションデータ生成部10について詳細に説明する。図3は、フォーメーションデータ生成部10の構成を示すブロック図である。このフォーメーションデータ生成部10は、選手数算出手段11、動きベクトル算出手段12及びフォーメーションデータ生成手段13を備えている。前述のとおり、フォーメーションデータ生成部10は、ユーザにより設定された映像区間において、予め設定された分割領域毎に、選手配置データに基づいて平均選手数及び平均動きベクトルを算出し、平均選手数及び平均動きベクトルを含むフォーメーションデータを生成する。
選手数算出手段11は、記憶部102から選手配置データ127を読み出し、ユーザにより設定された映像区間において、予め設定された分割領域毎に、チーム毎の平均選手数(その映像区間の分割領域において、1つの選手配置データに対応する時間に存在していた選手の平均数)を算出し、フォーメーションデータ生成手段13に出力する。
動きベクトル算出手段12は、記憶部102から選手配置データ127を読み出し、ユーザにより設定された映像区間において、予め設定された分割領域毎に、チーム毎の平均動きベクトル(その映像区間の分割領域における代表的な選手の動きベクトル)を算出し、フォーメーションデータ生成手段13に出力する。
フォーメーションデータ生成手段13は、選手数算出手段11から、所定の映像区間の分割領域におけるチーム毎の平均選手数を入力し、動きベクトル算出手段12から、所定の映像区間の分割領域におけるチーム毎の平均動きベクトルを入力し、平均選手数及び平均動きベクトルを含むフォーメーションデータを生成し、フォーメーションデータ128として記憶部102に格納する。
(フォーメーションデータ生成部/処理)
次に、図3に示したフォーメーションデータ生成部10の処理について詳細に説明する。図6は、フォーメーションデータ生成部10の処理を示すフローチャートである。フォーメーションデータ生成部10は、ユーザにより設定(選択)された映像データ(ユーザが視聴する映像データ)の選手配置データ127を読み出し(ステップS601)、ユーザのキー操作に従って、フォーメーションデータの生成単位となる単位分Tuの時間データを入力する(ステップS602)。これにより、単位時間Tu毎にフォーメーションデータが生成される。
図12は、選手配置データ127を説明する図である。選手配置データ127は、1試合のデータにより構成され、映像データであるサッカーの試合を特定するための識別子を示すゲームID(gameID)、チーム名(t1,t2)、及び、複数レコードの選手配置データにより構成される。1レコードの選手配置データは、所定フレーム数の画像に対するデータであり、開始フレームNo、終了フレームNo、チームt1の選手数、チームt1における選手毎の位置座標及び動きベクトル、チームt2の選手数、チームt2における選手毎の位置座標及び動きベクトルから構成される。図12の例では、第1レコードの選手配置データは、開始フレームNo=6488、終了フレームNo=6545の画像に対し、チームt1の選手数=0、チームt2の選手数=2、チームt2における第1の選手の位置座標(51,2)及び動きベクトル(−8.097778,−9.498276)、チームt2における第2の選手の位置座標(39,85)及び動きベクトル(−11.470154,−8.231049)から構成される。位置座標は、フィールドを平面で表した場合のx,y座標の位置を示し、動きベクトルは、フィールドをx,yの平面で表した場合の動きの方向及び大きさを示す。
図6に戻って、フォーメーションデータ生成部10は、サッカーのフィールドを、予め設定されたDx×Dy個の領域に分割し、フィールド内の分割領域(i,j)=(1,1)〜(Dx,Dy)を設定する(ステップS603)。
図10は、フィールドの分割例を説明する図であり、Dx=Dy=5の分割例を示している。図10に示すように、フォーメーションデータ生成部10は、サッカーのフィールドを25個の領域に分割し、フィールド内の分割領域(1,1)(1,2)〜(5,5)を設定する。
図6に戻って、フォーメーションデータ生成部10は、映像区間の初期開始時刻としてTs=0を設定する(ステップS604)。そして、フォーメーションデータ生成部10は、後述のように、映像の開始から終了までの間、ステップS605からステップS611までの処理を行い、単位時間Tu(開始時刻Ts及び終了時刻Ts+Tuにより定められる映像区間)における分割領域(i,j)毎に、平均選手数及び平均動きベクトルを算出する。
フォーメーションデータ生成部10は、初期分割領域として(i,j)=(1,1)を設定する(ステップS605)。そして、フォーメーションデータ生成部10は、後述のように、全ての分割領域(i,j)について、ステップS606からステップS609までの処理を行い、平均選手数及び平均動きベクトルを算出する。
フォーメーションデータ生成部10の選手数算出手段11は、選手配置データ127から、映像区間Ts〜Ts+Tuに含まれる選手配置データを抽出し、以下の式により、平均選手数Np(i,j)をチーム毎に算出する(ステップS606)。
ここで、平均選手数Np(i,j)は、映像区間Ts〜Ts+Tuにおいて、分割領域(i,j)に存在していた、1つの選手配置データあたりの平均選手数を示す。Nsuは、映像区間Ts〜Ts+Tuに含まれる選手配置データの数を示す。n
p (k)(i,j)は、映像区間Ts〜Ts+Tuに含まれるNsu個の選手配置データのうちのk番目の選手配置データにおける、領域(i,j)内の選手数を示す。
図9は、映像区間Ts〜Ts+Tuに含まれるNsu個の選手配置データを説明する図である。映像区間Ts〜Ts+Tu(開始時刻Tsから終了時刻Tuまでの間の映像区間)には、Nsu個の選手配置データが含まれており、この映像区間に含まれるNsu個の選手配置データが、選手数算出手段11及び動きベクトル算出手段12により選手配置データ127から抽出される。
図6に戻って、動きベクトル算出手段12は、選手配置データ127から、映像区間Ts〜Ts+Tuに含まれる選手配置データを抽出し、以下の式により、平均動きベクトルVp(i,j)をチーム毎に算出する(ステップS607)。
ここで、平均動きベクトルVp(i,j)は、映像区間Ts〜Ts+Tuの分割領域(i,j)に存在していた選手のうち、M方向動きヒストグラムにより度数(選手数)が最大となる方向の動きベクトルを有する選手について、その選手の平均動きベクトル(分割領域(i,j)における代表的な選手の動きベクトル)を示す。n
PMVは、映像区間Ts〜Ts+Tuに含まれるNsu個の選手配置データにおける分割領域(i,j)の動きベクトルから求めた、M方向ヒストグラムの最大度数(最大選手数)を示す。V
PMVは、n
PMV(最大度数)の方向に属する選手の動きベクトルについて、要素毎に合計した動きベクトルを示す。
具体的には、動きベクトル算出手段12は、映像区間Ts〜Ts+Tuに含まれるNsu個の選手配置データを用いて、分割領域(i,j)の動きベクトルから、M方向ヒストグラム(例えば、M=6方向として、方向と度数との関係を示したグラフ)を生成し、各方向に対応した度数(選手数)のうち最大の度数をnPMVとして求める。また、動きベクトル算出手段12は、最大度数nPMVの方向に属する選手の動きベクトルを抽出し、各動きベクトルの要素を合計し、合計動きベクトルVPMVを求める。そして、動きベクトル算出手段12は、前記式により、合計動きベクトルVPMVを最大度数nPMVで除算し、平均動きベクトルVp(i,j)を求める。
このようにして、映像区間Ts〜Ts+Tuにおける分割領域(i,j)について、選手数算出手段11により平均選手数Np(i,j)がチーム毎に算出され、動きベクトル算出手段12により平均動きベクトルVp(i,j)が算出される。映像区間Ts〜Ts+Tu毎の平均選手数Np(i,j)及び平均動きベクトルVp(i,j)は、記憶部102に格納される(図示せず)。
フォーメーションデータ生成部10は、全ての分割領域(i,j)について平均選手数Np(i,j)及び平均動きベクトルVp(i,j)を算出したか否かを判定する(ステップS608)。
フォーメーションデータ生成部10は、ステップS608において、全ての分割領域(i,j)について平均選手数Np(i,j)及び平均動きベクトルVp(i,j)を算出していないと判定した場合(ステップS608:N)、i=i+1またはj=j+1の演算を行い、新たな分割領域(i,j)を設定し(ステップS609)、ステップS606へ移行し、新たな分割領域(i,j)について処理を行う。
一方、フォーメーションデータ生成部10は、ステップS608において、全ての分割領域(i,j)について平均選手数Np(i,j)及び平均動きベクトルVp(i,j)を算出したと判定した場合(ステップS608:Y)、Ts=Ts+Tuの演算を行い、映像の開始時刻TsをTuだけ進め、新たな映像区間を定めるために、新たな開始時刻Tsを設定する(ステップS610)。そして、フォーメーションデータ生成部10は、新たな開始時刻Tsが映像の終了時刻を超えているか否かを判定する(ステップS611)。
フォーメーションデータ生成部10は、ステップS611において、新たな開始時刻Tsが映像の終了時刻を超えていないと判定した場合(ステップS611:N)、ステップS605へ移行し、選手数算出手段11及び動きベクトル算出手段12が、新たな映像区間Ts〜Ts+Tuにおける分割領域(i,j)毎に、平均選手数Np(i,j)及び平均動きベクトルVp(i,j)を算出する。
一方、フォーメーションデータ生成部10は、ステップS611において、新たな開始時刻Tsが映像の終了時刻を超えていると判定した場合(ステップS611:Y)、フォーメーションデータ生成手段13は、選手数算出手段11から、映像区間Ts〜Ts+Tuにおける分割領域(i,j)毎の平均選手数Np(i,j)を入力し、動きベクトル算出手段12から、映像区間Ts〜Ts+Tuにおける分割領域(i,j)毎の平均動きベクトルVp(i,j)を入力し、フォーメーションデータを生成し、フォーメーションデータ128として記憶部102を介して記憶装置103に格納する(ステップS612)。これにより処理は終了する。この場合、映像区間Ts〜Ts+Tu毎の平均選手数Np(i,j)及び平均動きベクトルVp(i,j)は、記憶部102から読み出される。
図11は、選手配置データからフォーメーションデータを生成する処理を説明する図である。図11(a)に示すように、映像区間の単位分Tuが5分の場合、5分間に含まれるNsu個の選手配置データから、チーム毎(チームA,チームB)のフォーメーションデータが生成される。また、図11(b)に示すように、映像区間の単位分Tuが15分の場合、15分間に含まれるNsu個の選手配置データから、チーム毎(チームA,チームB)のフォーメーションデータが生成される。すなわち、フォーメーションデータは、単位分Tu毎かつチーム毎に生成される。
図13は、フォーメーションデータ128を説明する図である。フォーメーションデータ128は、1試合のデータにより構成され、映像データであるサッカーの試合映像を特定するための識別子を示すゲームID(gameID)、映像区間の開始時刻Ts及び終了時刻Ts+Tu(time(min))、チーム名、及び、分割領域(i,j)毎の平均選手数Np(i,j)及び平均動きベクトルVp(i,j)を1レコードとして、複数の映像区間及び各チームに対応した複数レコードにより構成される。図13の例では、第1レコードのaは、試合映像ID=62、映像区間0〜5、チーム=日本における分割領域(i,j)毎の平均選手数Np(i,j)及び平均動きベクトルVp(i,j)から構成され、第2レコードのbは、aと同じ試合映像ID=62、同じ映像区間0〜5、チーム=ブラジルにおける分割領域(i,j)毎の平均選手数Np(i,j)及び平均動きベクトルVp(i,j)により構成され、第3レコードのcは、a,bと同じ試合映像ID=62、映像区間5〜10、チーム=日本における分割領域(i,j)毎の平均選手数Np(i,j)及び平均動きベクトルVp(i,j)により構成される。このようなレコード単位のデータが、チーム毎に、かつ映像の終了時刻までの映像区間毎に存在する。
以上のように、本発明の実施形態による画像処理装置1によれば、フォーメーションデータ生成部10が、選手配置データ127に基づいて、所定の映像区間Ts〜Ts+Tuにおける分割領域(i,j)毎に、その映像区間Ts〜Ts+Tuの分割領域(i,j)に存在していた選手の平均選手数Np(i,j)を算出し、その映像区間Ts〜Ts+Tuの分割領域(i,j)における代表的な選手の平均動きベクトルVp(i,j)を算出し、フォーメーションデータを生成するようにした。このフォーメーションデータが表示器109に表示されることにより、ユーザは、フィールド全体を大域的に捉えた選手のフォーメーションを把握することができる。また、スポーツの生中継映像またはアーカイブス映像をWEBにより配信可能なプラットフォームを用いたサービスにおいて、スポーツに強い興味を持つユーザに対し、スポーツ映像を提示するだけでなく、チームの戦術等を分析するための有用な情報を提示することが可能となる。
〔グラフィカル提示部〕
次に、図2に示したグラフィカル提示部20について詳細に説明する。図4は、グラフィカル提示部20の構成を示すブロック図である。このグラフィカル提示部20は、選手数表示算出手段21、動きベクトル表示算出手段22及びグラフィカル提示手段(表示手段)23を備えている。前述のとおり、グラフィカル提示部20は、映像データを画面表示すると共に、映像データに同期した時刻に従って、所定の映像区間における分割領域毎に、チーム毎のフォーメーションデータを画面表示する。また、類似度計算部30から類似度算出結果を入力し、類似度の高い映像データ及びフォーメーションデータを画面表示する。
選手数表示算出手段21は、記憶部102からフォーメーションデータ128を読み出し、映像区間Ts〜Ts+Tuにおける分割領域(i,j)について、平均選手数Np(i,j)から、その数に応じた表示形態を数値化するために、選手数表示データをチーム毎に算出し、グラフィカル提示手段23に出力する。
動きベクトル表示算出手段22は、記憶部102からフォーメーションデータ128を読み出し、映像区間Ts〜Ts+Tuにおける分割領域(i,j)について、平均動きベクトルVp(i,j)から、その動きベクトルに応じた表示形態を数値化するために、方向及び大きさからなる動きベクトル表示データをチーム毎に算出し、グラフィカル提示手段23に出力する。
グラフィカル提示手段23は、記憶部102から映像データ126を読み出して表示器109に表示すると共に、選手数表示算出手段21から、映像区間Ts〜Ts+Tuにおける分割領域(i,j)の選手数表示データを入力し、動きベクトル表示算出手段22から、映像区間Ts〜Ts+Tuにおける分割領域(i,j)の動きベクトル表示データを入力し、映像データ126に同期した時刻の選手数表示データ及び動きベクトル表示データを、表示器109にグラフィカルに表示する。また、グラフィカル提示手段23は、類似度計算部30から類似度算出結果を入力し、類似度の高い映像データ126、選手数表示算出手段21及び動きベクトル表示算出手段22により算出された、その映像データ126の選手数表示データ及び動きベクトル表示データを表示器109にグラフィカルに表示する。
(グラフィカル提示部/処理)
次に、図4に示したグラフィカル提示部20の処理について詳細に説明する。図7は、グラフィカル提示部20の処理を示すフローチャートである。グラフィカル提示部20は、記憶部102から、ユーザが視聴する映像データ126を読み出して画面表示すると共に、記憶部102から、その映像データ126のフォーメーションデータ128を読み出す(ステップS701)。
グラフィカル提示部20は、映像データ126に同期した初期開始時刻Ts=0を設定し(ステップS702)、フォーメーションデータ128から映像区間Ts〜Ts+Tu(0〜5)の平均選手数Np(i,j)及び平均動きベクトルVp(i,j)を抽出する(ステップS703)。図13に示したフォーメーションデータ128の例では、映像データ126の開始時点に対応する映像区間は映像区間0〜5であり、チーム=日本の場合は、第1レコードaから平均選手数Np(i,j)及び平均動きベクトルVp(i,j)が抽出され、チーム=ブラジルの場合は、第2レコードbから平均選手数Np(i,j)及び平均動きベクトルVp(i,j)が抽出される。そして、グラフィカル提示部20は、後述のように、映像の開始から終了までの間、ステップS703からステップS711までの処理を行い、映像時刻の間隔Tu(開始時刻Ts及び終了時刻Ts+Tuにより定められる映像区間)における分割領域(i,j)毎に、平均選手数Np(i,j)及び平均動きベクトルVp(i,j)をグラフィカルに画面表示する。
グラフィカル提示部20は、初期分割領域として(i,j)=(1,1)を設定する(ステップS704)。そして、グラフィカル提示部20は、後述のように、全ての分割領域(i,j)について、ステップS705からステップS708までの処理を行い、平均選手数Np(i,j)から画面表示用の選手数表示データを算出し、平均動きベクトルVp(i,j)から画面表示用の動きベクトル表示データを算出する。
グラフィカル提示部20の選手数表示算出手段21は、平均選手数Np(i,j)を青色濃度の色で画面表示する場合、その色を示すRGB値(255,255,C(i,j))について、以下の式により、選手数表示データC(i,j)をチーム毎に算出する(ステップS705)。
C(i,j)=255−255×(Np(i,j)/Nmax)
ここで、C(i,j)は、0より小さくなった場合、0に置き換えられる。また、Nmaxは、予め設定された定数を示す。
動きベクトル表示算出手段22は、平均動きベクトルVp(i,j)を矢印にて画面表示する場合、平均動きベクトルVp(i,j)の単位ベクトルを矢印の方向とし、かつ、以下の式により矢印の長さを算出し、矢印の方向及び矢印の長さからなる動きベクトル表示データを、チーム毎に求める(ステップS706)。
矢印の長さ=|Vp(i,j)|×Rfld
ここで、Rfldは、グラフィカル表示するフィールド想定画像と、元のフォーメーションデータ128の座標空間フィールドとの間のスケール比を示す。このスケール比は、グラフィカル表示するフィールド想定画像のスケールを分子とし、フォーメーションデータ128の座標空間フィールドのスケールを分母として求められる。
このようにして、映像区間Ts〜Ts+Tuにおける分割領域(i,j)について、選手数表示算出手段21により、平均選手数Np(i,j)の選手数表示データがチーム毎に算出され、動きベクトル表示算出手段22により、平均動きベクトルVp(i,j)の動きベクトル表示データがチーム毎に算出される。映像区間Ts〜Ts+Tuにおける分割領域(i,j)の選手数表示データ及び動きベクトル表示データは、記憶部102に格納される(図示せず)。
グラフィカル提示部20は、全ての分割領域(i,j)について選手数表示データ及び動きベクトル表示データを算出したか否かを判定する(ステップS707)。
グラフィカル提示部20は、ステップS707において、全ての分割領域(i,j)について選手数表示データ及び動きベクトル表示データを算出していないと判定した場合(ステップS707:N)、i=i+1またはj=j+1の演算を行い、新たな分割領域(i,j)を設定し(ステップS708)、ステップS705へ移行し、新たな分割領域(i,j)について処理を行う。
一方、グラフィカル提示部20は、ステップS707において、全ての分割領域(i,j)について選手数表示データ及び動きベクトル表示データを算出したと判定した場合(ステップS707:Y)、グラフィカル提示手段23は、映像区間Ts〜Ts+Tuにおける分割領域(i,j)の色を、その分割領域(i,j)の選手数表示データに基づいた青色濃度の色で表示する(ステップS709)。これにより、ユーザは、表示器109に画面表示されたフィールドにおける分割領域(i,j)の色から、濃い青色で表示された領域は選手数が多く、薄い青色で表示された領域は選手数が少ないことを把握できる。また、グラフィカル提示手段23は、映像区間Ts〜Ts+Tuにおける分割領域(i,j)内の矢印を、その分割領域(i,j)の動きベクトル表示データに基づいた方向及び長さで表示する(ステップS709)。これにより、ユーザは、表示器109に画面表示されたフィールドにおける分割領域(i,j)内の矢印の方向及び長さから、代表的な選手の動きを把握することができる。この場合、映像区間Ts〜Ts+Tuにおける分割領域(i,j)の選手数表示データ及び動きベクトル表示データは、記憶部102から読み出される(図示せず)。
図14は、フォーメーションデータのグラフィカル提示画面例を示す図である。図14に示すように、グラフィカル提示手段23は、表示器109に表示するグラフィカル提示用のフィールド想定画像を生成し、分割領域(i,j)=(1,1)〜(Dx,Dy)に対応した領域を設定する。そして、グラフィカル提示手段23は、その映像区間Ts〜Ts+Tuの分割領域(i,j)に存在していた選手の平均選手数Np(i,j)を、その数に応じた色でチーム毎に着色する。また、グラフィカル提示手段23は、その映像区間Ts〜Ts+Tuの分割領域(i,j)における代表的な選手の平均動きベクトルVp(i,j)を、矢印の方向及び長さでチーム毎に描画する。
図7に戻って、グラフィカル提示部20は、映像データ126に同期した開始時刻Ts=Ts+Tuを更新し、新たな開始時刻Tsを設定する(ステップS710)。そして、グラフィカル提示部20は、新たな映像区間を定める新たな開始時刻Tsが映像の終了時刻を超えているか否かを判定する(ステップS711)。
グラフィカル提示部20は、ステップS711において、新たな開始時刻Tsが映像の終了時刻を超えていないと判定した場合(ステップS711:N)、ステップS703へ移行し、新たな映像区間Ts〜Ts+Tuについて、分割領域(i,j)毎に、選手数表示データ及び動きベクトル表示データを算出し、画面表示する。
一方、グラフィカル提示部20は、ステップS711において、新たな開始時刻Tsが映像の終了時刻を超えていると判定した場合(ステップS711:Y)、処理を終了する。
尚、グラフィカル提示手段23は、類似度計算部30から類似度算出結果を入力し、類似度の高い映像データ及びフォーメーションデータを画面表示する。この処理については後述する。
以上のように、本発明の実施形態による画像処理装置1によれば、グラフィカル提示部20が、映像データ126を画面表示すると共に、映像データ126に同期した時刻の映像区間Ts〜Ts+Tuについて、分割領域(i,j)毎に、フォーメーションデータ128に含まれる平均選手数Np(i,j)の選手数表示データ及び平均動きベクトルVp(i,j)の動きベクトル表示データを算出し、グラフィカルに画面表示するようにした。これにより、ユーザは、フィールド全体を大域的に捉えた選手のフォーメーションを把握することができる。また、スポーツの生中継映像またはアーカイブス映像をWEBにより配信可能なプラットフォームを用いたサービスにおいて、スポーツに強い興味を持つユーザに対し、スポーツ映像を提示するだけでなく、チームの戦術等を分析するための有用な情報を提示することが可能となる。
〔類似度計算部〕
次に、図2に示した類似度計算部30について詳細に説明する。図5は、類似度計算部30の構成を示すブロック図である。この類似度計算部30は、選手数類似度算出手段31、動きベクトル類似度算出手段32及び類似度算出手段33を備えている。前述のとおり、類似度計算部30は、参照(検索クエリー)となるフォーメーションデータと類似度計算の検索対象となるフォーメーションデータとの間の選手数類似度及び動きベクトル類似度を算出し、2つのフォーメーションデータ間の類似度を算出する。
選手数類似度算出手段31は、記憶部102から、参照(検索クエリー)となるフォーメーションデータ128(FDQ)及び類似度計算の検索対象となるフォーメーションデータ128(FDT)を読み出し、フォーメーションデータFDQにおける所定の映像区間の平均選手数Np(i,j)と、フォーメーションデータFDTにおける所定の映像区間の平均選手数Np(i,j)とに基づいて、選手数類似度Spn(Q,T)を算出する。ここで、所定の映像区間は、フォーメーションデータFDQ,FDTに含まれる映像区間のうちのいずれかの映像区間を示し、ユーザにより予め設定される区間であってもよい。また、フォーメーションデータFDQにおける所定の映像区間の時間長と、フォーメーションデータFDTにおける所定の映像区間の時間長とが異なっていてもよい。そして、選手数類似度算出手段31は、選手数類似度Spn(Q,T)を類似度算出手段33に出力する。
動きベクトル類似度算出手段32は、選手数類似度算出手段31と同様に、記憶部102からフォーメーションデータFDQ及びフォーメーションデータFDTを読み出し、フォーメーションデータFDQにおける所定の映像区間の平均動きベクトルVp(i,j)と、フォーメーションデータFDTにおける所定の映像区間の平均動きベクトルVp(i,j)とに基づいて、動きベクトル類似度Smv(Q,T)を算出する。そして、動きベクトル類似度算出手段32は、動きベクトル類似度Smv(Q,T)を類似度算出手段33に出力する。
類似度算出手段33は、選手数類似度算出手段31から選手数類似度Spn(Q,T)を入力し、動きベクトル類似度算出手段32から動きベクトル類似度Smv(Q,T)を入力し、選手数類似度Spn(Q,T)及び動きベクトル類似度Smv(Q,T)に基づいて、所定の映像区間のフォーメーションデータFDQと、所定の映像区間のフォーメーションデータFDTとの間の類似度S(Q,T)を算出し、類似度S(Q,T)を表示器109に画面表示し、フォーメーションデータFDQ及びその映像区間を特定するための情報、フォーメーションデータFDT及びその映像区間を特定するための情報、並びに類似度S(Q,T)をグラフィカル提示部20に出力する。
尚、類似度計算部30は、グラフィカル提示部20からフォーメーションデータFDQ及びその映像区間を特定するための情報を入力するようにしてもよい。この場合、選手数類似度算出手段31及び動きベクトル類似度算出手段32は、これらの情報に基づいて、記憶部102からフォーメーションデータFDQを読み出して選手数類似度Spn(Q,T)及び動きベクトル類似度Smv(Q,T)を算出する。また、類似度算出手段33は、フォーメーションデータFDQ及びその映像区間を特定するための情報をグラフィカル提示部20に出力しないで、フォーメーションデータFDT及びその映像区間を特定するための情報、並びに類似度S(Q,T)のみをグラフィカル提示部20に出力する。
(類似度計算部/処理)
次に、図5に示した類似度計算部30の処理について詳細に説明する。図8は、類似度計算部30の処理を示すフローチャートである。類似度計算部30は、記憶部102から、参照(検索クエリー)となるフォーメーションデータ128(FDQ)及び類似度計算の検索対象となるフォーメーションデータ128(FDT)を読み出す(ステップS801)。
選手数類似度算出手段31は、フォーメーションデータFDQから、所定の映像区間の平均選手数Np
(Q)(i,j)を抽出し、フォーメーションデータFDTから、所定の映像区間の平均選手数Np
(T)(i,j)を抽出する。そして、選手数類似度算出手段31は、分割領域(i,j)毎に平均選手数Np(i,j)の差を算出し(ステップS802)、以下の式により、フォーメーションデータFDQとフォーメーションデータFDTとの間の、選手分布に関する類似度を示す選手数類似度Spn(Q,T)を算出する(ステップS803)。
ここで、Cpnは、選手数類似度Spn(Q,T)を0〜1の範囲の値にするために、予め設定された定数である。Dx,Dyは、分割領域(i,j)におけるi,jの最大値を示す。
動きベクトル類似度算出手段32は、選手数類似度算出手段31と同様に、フォーメーションデータFDQから、所定の映像区間の平均動きベクトルVp
(Q)(i,j)を抽出し、フォーメーションデータFDTから、所定の映像区間の平均動きベクトルVp
(T)(i,j)を抽出する。そして、動きベクトル類似度算出手段32は、分割領域(i,j)毎に平均動きベクトルVp(i,j)の差を算出し(ステップS804)、以下の式により、フォーメーションデータFDQとフォーメーションデータFDTとの間の、選手の動きに関する類似度を示す動きベクトル類似度Smv(Q,T)を算出する(ステップS805)。
ここで、w
ijは、フォーメーションデータFDQにおける選手の動きが大きい分割領域(i,j)の動きベクトルを、動きベクトル類似度Smv(Q,T)に強く反映させるための重みを示し、以下の式により算出される。
また、d
E(Vp
(Q)(i,j),Vp
(T)(i,j))は、平均動きベクトルVp
(Q)(i,j)と平均動きベクトルVp
(T)(i,j)との間のユークリッド距離を示し、Cmvは、動きベクトル類似度Smv(Q,T)を0〜1の範囲の値にするために、予め設定された定数を示す。
所定の映像区間のフォーメーションデータFDQと、所定の映像区間のフォーメーションデータFDTとの間の選手数類似度Spn(Q,T)及び動きベクトル類似度Smv(Q,T)は、記憶部102に格納される(図示せず)。
類似度算出手段33は、選手数類似度Spn(Q,T)、動きベクトル類似度Smv(Q,T)、及び予め設定された重みλに基づいて、以下の式により、類似度S’(Q,T)を算出する。
S’(Q,T)=λSpn(Q,T)+(1−λ)Smv(Q,T)
ここで、λは、選手数類似度Spn(Q,T)及び動きベクトル類似度Smv(Q,T)の類似度S(Q,T)に対する反映度合いを定める重み(0〜1の範囲の値)を示す。
そして、類似度算出手段33は、所定の映像区間のフォーメーションデータFDQと、所定の映像区間のフォーメーションデータFDTとの間の類似度S(Q,T)を算出し(ステップS806)、処理を終了する。
S(Q,T)=MAX(S’(Q,T),S’(Q,Tt))
ここで、MAX(A,B)はAとBのうちの大きい方の値を示す。Ttは、フォーメーションデータFDTの分割領域(i,j)の配置、平均選手数Np(i,j)及び平均動きベクトルVp(i,j)を、フィールドの中心にて点対称にしたフォーメーションデータを示す。類似度S(Q,T)を算出する際に、フォーメーションデータFDQと、フォーメーションデータFDTに対しフィールドの中心にて点対称にしたフォーメーションデータとの間の類似度S’(Q,Tt)も算出するのは、反対方向の攻撃(「左サイド」「右サイド」の概念も、上下左右が逆になるから「点対称」になる)を考慮するためである。
さらに、類似度計算部30は、フォーメーションデータFDTにおける映像区間を変更し、所定の映像区間のフォーメーションデータFDQと、変更後の新たな映像区間のフォーメーションデータFDTとの間の類似度S(Q,T)を算出する。例えば、Tu=5の場合は、類似度計算部30は、まず、フォーメーションデータFDTの映像区間0〜5において、所定の映像区間のフォーメーションデータFDQと、映像区間0〜5のフォーメーションデータFDTとの間の類似度S(Q,T)を算出し、次に、所定の映像区間のフォーメーションデータFDQと、映像区間5〜10のフォーメーションデータFDTとの間の類似度S(Q,T)を算出し、全ての映像区間Ts〜Ts+Tu(5)のフォーメーションデータFDTとの間の類似度S(Q,T)を算出する。また、他の映像データ126のフォーメーションデータFDTについても同様に、所定の映像区間のフォーメーションデータFDQと、全ての映像区間のフォーメーションデータFDTとの間の類似度S(Q,T)を算出する。
このように、類似度計算部30の処理によって、ユーザは、ある映像データ126における所定の映像区間及び所定のチームのフォーメーションに類似する他のチームのフォーメーションに関する情報を取得することができる。具体的には、ユーザは、ある映像データ126に対して設定した映像区間及びチームのフォーメーションデータFDQについて、類似する他の複数のフォーメーションデータFDTを、類似度S(Q,T)と共に取得することができる。
以上のように、本発明の実施形態による画像処理装置1によれば、類似度計算部30が、参照(検索クエリー)となるフォーメーションデータFDQと、類似度計算の検索対象となるフォーメーションデータFDTとの間の選手数類似度Spn(Q,T)及び動きベクトル類似度Smv(Q,T)を算出し、2つのフォーメーションデータ間の類似度S(Q,T)を算出するようにした。これにより、フィールド全体を大域的に捉えた選手のフォーメーションデータの類似性に基づいて、ユーザが指定する映像に類似するシーンを検索することができる。また、スポーツの生中継映像またはアーカイブス映像をWEBにより配信可能なプラットフォームを用いたサービスにおいて、スポーツに強い興味を持つユーザに対し、スポーツ映像を提示するだけでなく、チームの戦術等を分析するための有用な情報を提示することが可能となる。
〔画面表示例〕
次に、図1に示した画像処理装置1の表示器109に表示される画面例について説明する。図15は、表示器109に表示される画面例を示す図である。画面上部は、ユーザにより設定(選択)された映像データ等(参照映像)が表示される領域であり、画面下部は、画面上部に表示された映像データのフォーメーションに対し、それに類似するフォーメーションの映像データ等(検索映像)が表示される領域である。
グラフィカル提示部20は、ユーザのキー操作により、映像データ126が設定され、bの領域にてチーム(スイス)が設定され、cの領域にて時間単位(5分単位)が設定され、dの領域にて時刻(前半25分−30分)が設定され、これらの設定データを入力すると、グラフィカル提示手段23は、映像データ126から映像区間25〜30に相当するフレームを抽出し、aの領域に表示する。そして、選手数表示算出手段21は、その映像データ126のフォーメーションデータ128から、映像区間25〜30におけるスイスのチームの平均選手数Np(i,j)を抽出し、選手数表示データを算出する。また、動きベクトル表示算出手段22は、その映像データ126のフォーメーションデータ128から、映像区間25〜30におけるスイスのチームの平均動きベクトルVp(i,j)を抽出し、動きベクトル表示データを算出する。そして、グラフィカル提示手段23は、選手数表示データを分割領域(i,j)毎に色で表し、動きベクトル表示データを分割領域(i,j)毎に矢印で表し、映像区間25〜30におけるスイスのチームのフォーメーションデータとして領域eに表示する。
尚、フォーメーションデータ生成部10は、ユーザにより設定された映像データ126の選手配置データ127を読み出し、図6に示した処理により、選手配置データ127に基づいてフォーメーションデータ128を生成し、グラフィカル提示部20は、フォーメーションデータ生成部10により生成されたフォーメーションデータ128を用いて、選手数表示データ及び動きベクトル表示データを算出し、画面表示するようにしてもよい。
これにより、ユーザは、キー操作により設定した前半25分〜30分の映像データ126を視聴しながら、フィールド全体を大域的に捉えて、その時間帯におけるスイスの選手のフォーメーションを把握することができる。また、ユーザは、スポーツ映像を視聴するだけでなく、チームの戦術等を分析することができる。
また、グラフィカル提示部20は、ユーザのキー操作により、類似度計算の検索対象となる映像データ126が設定され、検索処理の開始を入力すると、グラフィカル提示手段23は、類似度計算の検索対象となる映像データ126を特定するための情報、画面上部に表示されている参照となる映像データ126を特定するための情報、並びにチーム(スイス)及び映像区間(25〜30)を特定するための情報を類似度計算部30に出力する。類似度計算部30は、グラフィカル提示部20から、これらの情報を入力する。
選手数類似度算出手段31は、参照となる映像データ126のフォーメーションデータ128(FDQ)のうちの、映像区間25〜30におけるスイスのチームの平均選手数Np(i,j)を読み出し、類似度計算の検索対象となる映像データ126のフォーメーションデータ128(FDT)のうちの、映像区間0〜5における所定のチームの平均選手数Np(i,j)を読み出す。そして、選手数類似度算出手段31は、選手数類似度を算出する。また、動きベクトル類似度算出手段32は、フォーメーションデータFDQのうちの、映像区間25〜30におけるスイスのチームの平均動きベクトルVp(i,j)を読み出し、フォーメーションデータFDTのうちの、映像区間0〜5における所定のチームの平均動きベクトルVp(i,j)を読み出す。そして、動きベクトル類似度算出手段32は、動きベクトル類似度を算出する。
そして、類似度算出手段33は、選手数類似度及び動きベクトル類似度に基づいて、フォーメーションデータFDQとフォーメーションデータFDTとの間の類似度S(Q,T)を算出する。また、類似度計算部30は、参照となる映像データ126における他の映像区間、及び、参照となる他の映像データ126についても類似度S(Q,T)を算出する。すなわち、参照となる複数の映像データ126における全ての映像区間の類似度S(Q,T)を算出する。類似度算出手段33は、類似度S(Q,T)と共に、類似度計算の検索対象となる映像データ126を特定するための情報、チーム及び映像区間を特定するための情報を組として、類似度検索結果をグラフィカル提示部20のグラフィカル提示手段23に出力する。
グラフィカル提示部20のグラフィカル提示手段23は、類似度計算部30の類似度算出手段33から類似度検索結果を入力すると、検索結果として、類似度S(Q,T)の高い順に、類似度計算の検索対象となる映像データ126、チーム、映像区間等の情報をhの領域に表示する。
グラフィカル提示手段23は、ユーザの操作により、hの領域に表示された複数の映像データ126から1つの映像データ126が選択されると、選択された映像データ126をfの領域に表示する。また、グラフィカル提示手段23は、選手数表示算出手段21及び動きベクトル表示算出手段22に、選択された映像データ126のチーム及び映像区間について、選手数表示データ及び動きベクトル表示データを算出させ、選手数表示データを分割領域(i,j)毎に色で表し、動きベクトル表示データを分割領域(i,j)毎に矢印で表し、領域gに表示する。
これにより、ユーザは、キー操作により設定した前半25分〜30分の映像データ126を視聴しながら、そのフォーメーションを把握することができると共に、さらに、そのフォーメーションに類似する他のフォーメーションの映像データ126を視聴することができ、類似する他のフォーメーションも把握することができる。したがって、ユーザは、フィールド全体を大域的に捉えて、類似するフォーメーションを比較することができる。つまり、ユーザは、スポーツ映像を視聴するだけでなく、チームの戦術等を、他のチームの戦術等と比較しながら分析することができる。
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、グラフィカル提示部20は、図14に示したように、フォーメーションデータをグラフィカル表示する際に、平均選手数Np(i,j)に応じた色で着色し、平均動きベクトルVp(i,j)に応じて矢印の方向及び長さで描画するようにしたが、本発明は、フォーメーションデータの表示をこのような表示形態に限定するものではなく、他の形態にて表示するようにしてもよい。例えば、分割領域(i,j)毎に、平均選手数Np(i,j)に応じて棒グラフで表示したり、平均動きベクトルVp(i,j)の方向及び大きさに応じてグラデーションで表示するようにしてもよい。
また、前記実施形態は、映像データ126としてサッカー映像データを例にして説明したが、本発明は、サッカー映像データに限定するものではなく、映像データ126は、他のスポーツの映像データであってもよい。