(57)【要約】【課題】映像を構成するフレーム画像のカメラアングルを、簡易にかつ高速に特定する。【解決手段】前処理として、フィールドのラインを含むラインブロック画像を切り出し、ラインブロック画像特徴ベクトルを生成する。また、前処理として、フィールド上にセットした台形の四頂点座標、各ブロックの四頂点座標、及び、ラインを含むか否かを示すフラグを求め、参照カメラアングルデータを生成する。ラインブロック特定部３は、フレーム画像を分割したブロック画像の画像特徴ベクトルを計算し、前処理により生成されたラインブロック画像特徴ベクトルとの間の類似度を計算し、ラインブロック配置データを生成する。カメラアングル特定部４は、ラインブロック配置データと、前処理により生成された参照カメラアングルデータとの間の類似スコアを計算し、類似スコアが最大となる参照カメラアングルデータをカメラアングルデータとして出力する。【選択図】図１
2011053816.tif 000002
【特許請求の範囲】
【請求項１】
所定のフィールドが撮影された映像のフレーム画像に対し、前記フィールド内の撮影領域であるカメラアングルを特定する画像処理装置において、
前記フィールドにカメラの撮影領域が設定され、前記撮影領域が所定数のブロックに分割された場合に、前記フィールド上に配置されたラインを含むブロック群の配置が、前記撮影領域毎の参照カメラアングルデータとして格納された記憶部と、
前記フレーム画像を前記所定数と同じ数でブロック画像に分割し、前記ブロック画像毎の画像特徴ベクトルを計算し、前記画像特徴ベクトルに基づいて、前記ブロック画像が、前記フィールド上に配置されたラインを含むラインブロック画像であるか否かを判定し、前記フレーム画像内のラインブロック画像群の配置を示すラインブロック配置データを生成するラインブロック特定部と、
前記記憶部に格納された参照カメラアングルデータが示す、前記撮影領域におけるラインブロックの配置、及び、前記ラインブロック特定部により生成されたラインブロック配置データが示す、前記フレーム画像におけるラインブロック画像の配置に基づいて、前記フレーム画像のカメラアングルを特定するカメラアングル特定部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
さらに、参照カメラアングルデータ生成部を備え、
前記参照カメラアングルデータ生成部は、前記フィールドにカメラの撮影領域を設定し、前記撮影領域を所定数のブロックに分割し、前記ブロックが、前記フィールド上に配置されたラインを含むラインブロックであるか否かを判定し、前記撮影領域内のラインブロック群の配置を示すラインブロック配置データを参照カメラアングルデータとして、前記撮影領域毎にそれぞれ生成し、前記記憶部に格納する、ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記参照カメラアングルデータ生成部は、前記フィールドに、カメラにより撮影される台形形状の撮影領域を設定し、前記撮影領域の四頂点座標、及び前記撮影領域を所定数に分割した各ブロックの四頂点座標を計算し、前記各ブロックがラインブロックであるか否かを示すフラグを設定し、前記撮影領域の四頂点座標、前記各ブロックの四頂点座標及び前記各ブロックのフラグを参照カメラアングルデータとして、前記撮影領域毎にそれぞれ生成する、ことを特徴とする画像処理装置。
【請求項４】
請求項２または３に記載の画像処理装置において、
前記参照カメラアングルデータ生成部は、前記カメラの位置座標、前記台形形状を決める上底、下底及び高さのサイズ、前記撮影領域の配置を制限する位置座標、並びに、前記カメラの位置座標を中心として前記撮影領域を回転させる角度データに基づいて、前記カメラにより撮影される台形形状の撮影領域を前記フィールドに設定する、ことを特徴とする画像処理装置。
【請求項５】
請求項１から４までのいずれか一項に記載の画像処理装置において、
前記カメラアングル特定部は、前記記憶部に格納された撮影領域毎の参照カメラアングルデータと、前記ラインブロック特定部により生成されたラインブロック配置データとの間の類似度を計算し、前記類似度が最大となる参照カメラアングルデータの撮影領域を、前記フレーム画像のカメラアングルとして特定する、ことを特徴とする画像処理装置。
【請求項６】
コンピュータを、請求項１から５までのいずれか一項に記載の画像処理装置として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関し、特に、カメラ撮影により得られた映像のカメラアングル（カメラにより撮影される領域（カメラ撮影範囲））を特定する技術に関する。
【背景技術】
【０００２】
従来、カメラ撮影により得られた映像を画像処理することにより、例えば、表示画面上の２次元画像を別の視点から見た画像に変換する手法が知られている（例えば、特許文献１を参照）。この画像変換手法は、２次元画像を所定面に貼り付けて３次元グラフィックスを生成する際に、設定した消失点に基づいて図形を描き、遠近感を表現して３次元形状を２次元平面状に描く、いわゆるテクスチャマッピング法による透視図の画像合成手法を基本とするものである。
【０００３】
このような画像変換手法を用いた画像処理装置の他、スポーツ競技が行われるフィールドをカメラ撮影し、その映像の画像処理を行い、フィールド内のライン類を基準にして、カメラがフィールド内のどの領域を撮影しているかを示すカメラアングルを特定する装置が提案されている（例えば、非特許文献１を参照）。このカメラアングル特定手法は、放送されたスポーツ映像のフレーム画像を、カメラアングルに相当する画像に変換する際に、例えば、フレーム画像にウィンドウを設定し、ラインを抽出するためのハフ変換を行いながらウィンドウを細かく移動させ、予め設定された画像との間のマッチングをとり、カメラアングルを特定するものである。ここで、ハフ変換は、エッジ検出法の一つであり、点の集合で表された画像の中から線分を抽出する処理、すなわち、画像上で多くの点で構成されている直線を検出し、元の画像を直線だけの画像に変換する処理をいう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−４９７０４号公報
【非特許文献】
【０００５】
【非特許文献１】中川靖士、“サッカー映像の自動ゲーム分析方法の提案と評価”、［online］、ＵＮＩＳＹＳ  ＴＥＣＨＮＯＬＯＧＹ  ＲＥＶＩＥＷ  第７６号、ＦＥＢ．２００３、［平成２１年８月２８日検索］、インターネット＜ＵＲＬ：http://www.unisys.co.jp/tec_info/tr76/7603.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述のカメラアングル特定手法では、フレーム画像からラインを抽出するためにハフ変換を行っていることから、画素単位の処理が必要になり処理時間がかかるという問題があった。また、ハフ変換によるライン抽出処理、ウィンドウ移動処理及びマッチング処理による一連の処理は、ライン位置に基づいてカメラアングルを特定する厳密な処理であるから、計算量が膨大になり、計算コストの面で問題があった。
【０００７】
このような手法により特定されたカメラアングルデータは、例えば、インターネット等の通信回線を介して伝送され、ＷＥＢを通したスポーツ戦術の立案等のために解析される。カメラアングルデータが通信回線を介して伝送され、所定の目的を実現するために用いられる場合には、カメラアングルを高精度に特定することよりも、リアルタイム性を重視して処理時間及び計算コストを削減することが望ましい。
【０００８】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、映像を構成するフレーム画像のカメラアングルを、高速に特定することが可能な画像処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、本発明は、所定のフィールドが撮影された映像のフレーム画像に対し、前記フィールド内の撮影領域であるカメラアングルを特定する画像処理装置において、前記フィールドにカメラの撮影領域が設定され、前記撮影領域が所定数のブロックに分割された場合に、前記フィールド上に配置されたラインを含むブロック群の配置が、前記撮影領域毎の参照カメラアングルデータとして格納された記憶部と、前記フレーム画像を前記所定数と同じ数でブロック画像に分割し、前記ブロック画像毎の画像特徴ベクトルを計算し、前記画像特徴ベクトルに基づいて、前記ブロック画像が、前記フィールド上に配置されたラインを含むラインブロック画像であるか否かを判定し、前記フレーム画像内のラインブロック画像群の配置を示すラインブロック配置データを生成するラインブロック特定部と、前記記憶部に格納された参照カメラアングルデータが示す、前記撮影領域におけるラインブロックの配置、及び、前記ラインブロック特定部により生成されたラインブロック配置データが示す、前記フレーム画像におけるラインブロック画像の配置に基づいて、前記フレーム画像のカメラアングルを特定するカメラアングル特定部と、を備えたことを特徴とする。
【００１０】
また、本発明は、さらに、参照カメラアングルデータ生成部を備え、前記参照カメラアングルデータ生成部が、前記フィールドにカメラの撮影領域を設定し、前記撮影領域を所定数のブロックに分割し、前記ブロックが、前記フィールド上に配置されたラインを含むラインブロックであるか否かを判定し、前記撮影領域内のラインブロック群の配置を示すラインブロック配置データを参照カメラアングルデータとして、前記撮影領域毎にそれぞれ生成し、前記記憶部に格納することを特徴とする。
【００１１】
また、本発明は、前記参照カメラアングルデータ生成部が、前記フィールドに、カメラにより撮影される台形形状の撮影領域を設定し、前記撮影領域の四頂点座標、及び前記撮影領域を所定数に分割した各ブロックの四頂点座標を計算し、前記各ブロックがラインブロックであるか否かを示すフラグを設定し、前記撮影領域の四頂点座標、前記各ブロックの四頂点座標及び前記各ブロックのフラグを参照カメラアングルデータとして、前記撮影領域毎にそれぞれ生成することを特徴とする。
【００１２】
また、本発明は、前記参照カメラアングルデータ生成部が、前記カメラの位置座標、前記台形形状を決める上底、下底及び高さのサイズ、前記撮影領域の配置を制限する位置座標、並びに、前記カメラの位置座標を中心として前記撮影領域を回転させる角度データに基づいて、前記カメラにより撮影される台形形状の撮影領域を前記フィールドに設定することを特徴とする。
【００１３】
また、本発明は、前記カメラアングル特定部が、前記記憶部に格納された撮影領域毎の参照カメラアングルデータと、前記ラインブロック特定部により生成されたラインブロック配置データとの間の類似度を計算し、前記類似度が最大となる参照カメラアングルデータの撮影領域を、前記フレーム画像のカメラアングルとして特定することを特徴とする。
【００１４】
さらに、本発明は、コンピュータを前記画像処理装置として機能させるための画像処理プログラムであることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明によれば、フレーム画像におけるラインブロック画像の配置データ、及び予め設定された配置データに基づいてカメラアングルを特定するようにした。これにより、映像を構成するフレーム画像のカメラアングルを特定する際に、従来のハフ変換処理、ウィンドウの細かい移動によるマッチング処理等の厳密な処理が不要になるから、従来に比べて高速に処理することができる。したがって、特定したカメラアングルデータを利用した、例えばスポーツの戦術データを迅速に配信する等の有用なサービスを実現することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による画像処理装置の構成を示すブロック図である。
【図２】ラインブロック特定部の処理を説明するフローチャートである。
【図３】カメラアングル特定部の処理を説明するフローチャートである。
【図４】ラインブロック画像特徴ベクトル生成部の処理を説明するフローチャートである。
【図５】参照カメラアングルデータ生成部の処理を説明するフローチャートである。
【図６】参照カメラアングルデータ生成部の処理のうち、台形を構成するブロックの四頂点座標を計算する処理（ステップＳ５１７）の詳細を説明するフローチャートである。
【図７】フレーム画像におけるラインブロック画像を説明する図である。
【図８】カメラアングルデータを説明する図である。
【図９】カメラ撮影範囲を示す台形のパラメータを説明する図である。
【図１０】ワールド座標空間のｙ軸上に台形をセットする処理を説明する図である。
【図１１】ワールド座標空間のｙ軸上にセットされた台形の上底が上限値Ｔを超える場合を説明する図である。
【図１２】台形を回転させてセットする処理を説明する図である。
【図１３】フィールド領域を含まない台形を除去する処理を説明する図である。
【図１４】変換係数Ｈ＿ｉｊを計算する処理を説明する概念図である。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための形態について、図面を参照して説明する。
〔画像処理装置の構成〕
まず、本発明の実施形態による画像処理装置の構成について説明する。図１は、画像処理装置の構成を示すブロック図である。この画像処理装置１は、スポーツ映像が格納された記憶部２、ラインブロック特定部３、カメラアングル特定部４、ラインブロック画像特徴ベクトルのＤＢ（データベース）が格納される記憶部５、参照カメラアングルデータのＤＢが格納される記憶部６、ラインブロック画像特徴ベクトル生成部７、参照カメラアングルデータ生成部８、及び、複数のスポーツ映像が格納された記憶部９を備えている。
【００１８】
画像処理装置１は、フィールドを含むスポーツ映像のフレーム画像について、フレーム画像のカメラアングル（フィールド内の撮影領域）を特定し、カメラアングルデータ（フレーム画像がフィールド内のどこの領域の画像であるかの撮影領域を示すデータ）を出力する装置である。
【００１９】
まず、画像処理装置１は、前処理として、ラインブロック画像特徴ベクトル及び参照カメラアングルデータのＤＢを生成しておく。ここで、ラインブロック画像とは、フィールド画像が分割されたブロック画像のうち、フィールドのラインを含むブロック画像をいう。また、ラインブロック画像特徴ベクトルとは、ラインブロック画像において、ＲＧＢ平均値、エッジ占有率、エッジ方向ヒストグラム等の特徴量からなるベクトルである。参照カメラアングルデータとは、フレーム画像がフィールド内のどの領域の画像であるかを特定するために、すなわち、カメラアングルを特定するために参照されるデータであり、具体的には、フィールド上にセットした台形の領域（カメラ撮影領域、すなわち、カメラにより撮影されるフィールド上の領域）を複数のブロックに分割し、ラインを含むブロックをラインブロックとした場合に、台形についてラインブロック群の配置を示すデータである。
【００２０】
次に、画像処理装置１は、スポーツ映像を構成するフレーム画像をブロック画像に分割し、前処理において生成したラインブロック画像特徴ベクトルのＤＢを用いて、ブロック画像がラインブロック画像であるか否かを判定し、フレーム画像のラインブロック配置データを生成する。そして、画像処理装置１は、フレーム画像のラインブロック配置データを用いて、前処理において生成した参照カメラアングルデータのＤＢを参照することによりカメラアングルを特定し、最も適合する参照カメラアングルデータをカメラアングルデータとして出力する。
【００２１】
図１を参照して、記憶部２には、カメラ撮影により取得した、フィールドを含むスポーツ映像が格納されている。ここで、フィールドとは、スポーツを行う競技の場をいう。以下、サッカーのスポーツ映像を例にして説明する。
【００２２】
ラインブロック特定部３は、記憶部２からスポーツ映像を構成するフレーム画像を読み出し、記憶部５から前処理において生成したラインブロック画像毎のラインブロック画像特徴ベクトルを読み出し、フレーム画像を所定数（Ｍ×Ｎ個）のブロック画像に分割する。そして、ラインブロック特定部３は、ブロック画像の画像特徴ベクトルを計算し、ブロック画像の画像特徴ベクトルと、前処理において生成したラインブロック画像毎のラインブロック画像特徴ベクトルとの間の類似度を計算し、類似度に基づいて、ブロック画像がラインブロック画像であるか否かを判定する（ラインブロック画像を特定する）。この判定処理を、フレーム画像を構成する全てのブロック画像について行う。ラインブロック特定部３は、フレーム画像についてラインブロック画像群の配置を示すラインブロック配置データを生成し、カメラアングル特定部４に出力する。
【００２３】
カメラアングル特定部４は、ラインブロック特定部３からフレーム画像のラインブロック配置データを入力し、記憶部６から前処理として生成した参照カメラアングルデータを読み出す。そして、カメラアングル特定部４は、フレーム画像のラインブロック配置データが示すラインブロック画像群の配置と、参照カメラアングルデータが示すラインブロック群の配置との間の類似スコアを計算する。カメラアングル特定部４は、その類似スコアが最大となる参照カメラアングルデータを、フレーム画像のカメラアングルデータとして出力する。これにより、カメラアングルが特定される。
【００２４】
記憶部９には、カメラ撮影により取得された、フィールドを含む複数のスポーツ映像が格納されている。これらのスポーツ映像は、ラインブロック画像特徴ベクトルを生成するための元映像である。
【００２５】
ラインブロック画像特徴ベクトル生成部７は、前処理としてラインブロック画像特徴ベクトルを生成する。具体的には、ラインブロック画像特徴ベクトル生成部７は、記憶部９からスポーツ映像を構成するフレーム画像を読み出し、フレーム画像を所定数（Ｍ×Ｎ個）のブロック画像に分割する。そして、ラインブロック特定部３は、ブロック画像のうちの、フィールドのラインを含むラインブロック画像を切り出し、ラインブロック画像毎にラインブロック画像特徴ベクトルを生成する。ラインブロック特定部３は、スポーツ映像のフレーム画像を分割したラインブロック画像毎に、ラインブロック画像特徴ベクトルを記憶部５に格納する。
【００２６】
記憶部５には、ラインブロック画像特徴ベクトル生成部７により生成された、ラインブロック画像毎のラインブロック画像特徴ベクトルがラインブロック画像特徴ＤＢとして格納される。記憶部５に格納されたラインブロック画像特徴ベクトルは、ラインブロック特定部３に読み出され、フレーム画像を構成するブロック画像がラインブロック画像であるか否かを判定するために用いられる。
【００２７】
参照カメラアングルデータ生成部８は、前処理として参照用カメラアングルデータを生成する。具体的には、参照カメラアングルデータ生成部８は、フィールド上にセットした台形の領域（カメラ撮影領域、すなわちカメラにより撮影されるフィールド上の領域）を所定数（Ｍ×Ｎ個）のブロックに分割する。そして、参照カメラアングルデータ生成部８は、ブロックがフィールドのラインを含むラインブロックであるか否かを判定し（ラインブロックを特定し）、台形についてラインブロック群の配置を示す参照カメラアングルデータを生成する。参照カメラアングルデータ生成部８は、台形毎に生成した参照カメラアングルデータを記憶部６に格納する。
【００２８】
記憶部６には、参照カメラアングルデータ生成部８により生成された、台形毎の参照カメラアングルデータが参照カメラアングルＤＢとして格納される。記憶部６に格納された参照カメラアングルデータは、カメラアングル特定部４に読み出され、フレーム画像のカメラアングルを特定するために用いられる。
【００２９】
〔ラインブロック特定部の処理〕
次に、図１の画像処理装置１におけるラインブロック特定部３の処理について説明する。図２は、ラインブロック特定部３の処理を説明するフローチャートである。ラインブロック特定部３は、記憶部２から読み出したフレーム画像をブロック画像に分割し、画像特徴ベクトルを生成し、記憶部５から読み出したラインブロック画像特徴ベクトルとの間の類似度を計算し、類似度に基づいてラインブロック画像を特定してフラグを設定し、フレーム画像についての各ブロック画像のフラグを、ラインブロック画像群の配置を示すラインブロック配置データとしてカメラアングル特定部４に出力する。
【００３０】
図２を参照して、ラインブロック特定部３は、記憶部２からスポーツ映像を構成するフレーム画像を読み出し、フレーム画像のサイズをＬ＿ｗ×Ｌ＿ｈに正規化し（ステップＳ２０１）、フレーム画像を所定数（Ｍ×Ｎ個）のブロック画像に分割する（ステップＳ２０２）。分割数を定めるＭ，Ｎは、予め設定されているものとする。以下のステップＳ２０３〜ステップＳ２１０の処理は、分割されたブロック画像（ｉ，ｊ）毎に行われる。ここで、ｉ＝１，・・・，Ｍであり、ｊ＝１，・・・，Ｎである。
【００３１】
ラインブロック特定部３は、ブロック画像（ｉ，ｊ）から、ＲＧＢ平均値、エッジ占有率及びエッジ方向のヒストグラム等の特徴量を計算し（ステップＳ２０３）、これらの特徴量からなる画像特徴ベクトルを生成する（ステップＳ２０４）。エッジ占有率は、ブロック画像（ｉ，ｊ）に含まれるライン等の輪郭を構成する画素数と、それ以外の画素数との間の比率である。
【００３２】
ラインブロック特定部３は、記憶部５からラインブロック画像毎のラインブロック画像特徴ベクトルを読み出し（ステップＳ２０５）、フレーム画像におけるブロック画像（ｉ，ｊ）の画像特徴ベクトルと、記憶部５から読み出したラインブロック画像特徴ベクトルとの間の類似度を計算する（ステップＳ２０６）。
【００３３】
ラインブロック特定部３は、ステップＳ２０６において計算したラインブロック画像毎の類似度の最大値が、予め設定された閾値以上であるか否かを判定する（ステップＳ２０７）。類似度の最大値が閾値以上であると判定した場合（ステップＳ２０７：Ｙ）、ブロック画像（ｉ，ｊ）はラインブロック画像であるとして、フラグｆＬ＿ｆ（ｉ，ｊ）＝１を設定する（ステップＳ２０８）。一方、類似度の最大値が閾値以上でないと判定した場合（ステップＳ２０７：Ｎ）、ブロック画像（ｉ，ｊ）はラインブロック画像でないとして、フラグｆＬ＿ｆ（ｉ，ｊ）＝０を設定する（ステップＳ２０９）。
【００３４】
ラインブロック特定部３は、ステップＳ２０８またはステップＳ２０９の処理の後、ステップＳ２０３〜ステップＳ２０９の処理が全てのブロック画像について完了したか否かを判定する（ステップＳ２１０）。処理が全てのブロック画像について完了していないと判定した場合（ステップＳ２１０：Ｎ）、すなわち、ｉ＝Ｍかつｊ＝Ｎでない場合、ｉまたはｊをインクリメントしてステップＳ２０３へ移行し、次のブロック画像について処理を行う。そして、処理が全てのブロック画像について完了したと判定した場合（ステップＳ２１０：Ｙ）、すなわち、ｉ＝Ｍかつｊ＝Ｎの場合、フレーム画像についての各ブロック画像のフラグｆＬ＿ｆ（ｉ，ｊ）を、ラインブロック画像群の配置を示すラインブロック配置データとしてカメラアングル特定部４に出力し（ステップＳ２１１）、処理を終了する。
【００３５】
図７は、フレーム画像におけるラインブロック画像を説明する図である。図中、全体の画像がフレーム画像であり、縦横の線により囲まれた正方形領域がブロック画像である。フレーム画像は、Ｍ×Ｎ個のブロック画像に分割されている。分割されたＭ×Ｎ個のブロック画像のうち、斜め線で示した正方形領域の画像がラインブロック画像である。ラインブロック画像には、フィールド上のラインが含まれていることがわかる。ラインブロック画像のフラグｆＬ＿ｆ（ｉ，ｊ）＝には１が設定され、それ以外のブロック画像のフラグｆＬ＿ｆ（ｉ，ｊ）＝には０が設定される。
【００３６】
このように、ラインブロック特定部３は、フレーム画像をブロック画像（ｉ，ｊ）に分割し、画像特徴ベクトルを計算し、前処理により生成されたラインブロック画像特徴ベクトルとの間の類似度を計算し、類似度に基づいてラインブロック画像を特定しフラグｆＬ＿ｆ（ｉ，ｊ）を設定し、フレーム画像についての各ブロック画像（ｉ，ｊ）のフラグｆＬ＿ｆ（ｉ，ｊ）を、ラインブロック画像群の配置を示すラインブロック配置データとしてカメラアングル特定部４に出力するようにした。類似度は、画像特徴ベクトルを比較処理することにより計算されるから、ラインブロック特定部３の処理負荷は低くなり、簡易な手法にて高速に、ラインブロック配置データを生成することができる。
【００３７】
〔カメラアングル特定部の処理〕
次に、図１の画像処理装置１におけるカメラアングル特定部４の処理について説明する。図３は、カメラアングル特定部４の処理を説明するフローチャートである。カメラアングル特定部４は、ラインブロック特定部３から入力したフレーム画像のラインブロック配置データが示すラインブロック画像群の配置と、記憶部６から読み出した参照カメラアングルデータが示すラインブロック群の配置との間の類似スコアを計算し、その類似スコアが最大となる参照カメラアングルデータを選定し、フィールド内の位置を示す、フレーム画像のカメラアングルデータとして出力する。
【００３８】
図３を参照して、カメラアングル特定部４は、ラインブロック特定部３からフレーム画像のラインブロック配置データを入力し（ステップＳ３０１）、記憶部６から台形毎の参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］を読み出す（ステップＳ３０２）。ここで、参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］は、参照カメラアングルデータ生成部８においてセットした台形毎のデータである。各参照カメラアングルデータＣＡ［ｎ］が示すフラグｆＬ＿ｒ（ｉ，ｊ）により、台形を構成するブロックがラインブロックであるか否かが区別される（ｆＬ＿ｒ（ｉ，ｊ）＝１の場合はラインブロックであり、ｆＬ＿ｒ（ｉ，ｊ）＝０の場合はラインブロックでない）。参照カメラアングルデータ生成部８において、Ｎ＿ｃａ個の台形がセットされ、それぞれの台形を構成するブロックについてフラグｆＬ＿ｒ（ｉ，ｊ）が設定される。詳細については後述する。
【００３９】
カメラアングル特定部４は、ｎに１を設定し（ステップＳ３０３）、フレーム画像のラインブロック配置データと、参照カメラアングルデータＣＡ［ｎ］との間の類似スコアＳ［ｎ］を計算する（ステップＳ３０４）。具体的には、カメラアングル特定部４は、フレーム画像のラインブロック配置データが示すフラグｆＬ＿ｆ（ｉ，ｊ）＝１であるブロック画像（ｉ，ｊ）の配置と、参照カメラアングルデータＣＡ［ｎ］が示すフラグｆＬ＿ｒ（ｉ，ｊ）＝１であるブロック（ｉ，ｊ）の配置との間の類似スコアＳ［ｎ］を、以下の式により計算する。
Ｓ［ｎ］＝｛２．０×（ｎ＿ｒｆ／Ｎ＿ｆ）×（ｎ＿ｒｆ／Ｎ＿ｒ）｝／｛（ｎ＿ｒｆ／Ｎ＿ｆ）＋（ｎ＿ｒｆ／Ｎ＿ｒ）｝
ここで、Ｎ＿ｆは、フレーム画像のラインブロック配置データにおいて、フラグｆＬ＿ｆ（ｉ，ｊ）＝１であるブロック画像（ｉ，ｊ）の個数である。Ｎ＿ｒは、参照カメラアングルデータＣＡ［ｎ］において、フラグｆＬ＿ｒ（ｉ，ｊ）＝１であるブロック（ｉ，ｊ）の個数である。また、ｎ＿ｒｆは、フラグｆＬ＿ｆ（ｉ，ｊ）＝１かつフラグｆＬ＿ｒ（ｉ，ｊ）＝１となるブロック画像（ｉ，ｊ）またはブロック（ｉ，ｊ）の個数である。
【００４０】
カメラアングル特定部４は、ｎに１を加えることによりｎをインクリメントし（ステップＳ３０５）、ｎがＮ＿ｃａよりも大きいか否かを判定する（ステップＳ３０６）。ｎがＮ＿ｃａよりも大きいと判定した場合（ステップＳ３０６：Ｙ）、ステップＳ３０７へ移行し、ｎがＮ＿ｃａよりも大きくないと判定した場合（ステップＳ３０６：Ｎ）、ステップＳ３０４へ移行し、ステップＳ３０４〜ステップＳ３０６の処理を行う。これにより、フレーム画像のラインブロック配置データについて、全ての参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］との間の類似スコアＳ［ｎ］が計算される。
【００４１】
カメラアングル特定部４は、ステップＳ３０６から移行して、類似スコアＳ［１］〜Ｓ［Ｎ＿ｃａ］のうちの最大の類似スコアＳ［Ａ］を選定し（ステップＳ３０７）、選定した類似スコアＳ［Ａ］に対応する参照カメラアングルデータＣＡ［Ａ］を、フレーム画像に対応したカメラアングルデータとして出力し（ステップＳ３０８）、処理を終了する。
【００４２】
図８は、カメラアングルデータを説明する図である。図中、全体の画像がフレーム画像であり、台形領域がフレーム画像に対応したカメラアングルデータである。台形領域は、Ｍ×Ｎ個のブロックに分割されている。分割されたＭ×Ｎ個のブロックのうち、斜め線で示したブロックがラインブロックである。ラインブロックには、フィールド上のラインが含まれていることがわかる。後述する参照カメラアングルデータ生成部８において、ラインブロックのフラグには１が設定され、それ以外のブロックのフラグには０が設定される。
【００４３】
このように、カメラアングル特定部４は、ラインブロック特定部３から入力したフレーム画像のラインブロック配置データが示すラインブロック画像群の配置と、記憶部６から読み出した台形毎の参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］が示すラインブロック群の配置との間の類似スコアＳ［１］〜Ｓ［Ｎ＿ｃａ］を計算し、その類似スコアが最大となる参照カメラアングルデータＣＡ［Ａ］を選定し、このデータをフィールド内の位置を示す、フレーム画像のカメラアングルデータとして出力するようにした。類似スコアは、配置データを比較処理することにより計算されるから、カメラアングル特定部４の処理負荷は低くなり、簡易な手法にて高速に、フレーム画像のカメラアングルデータを特定することができる。
【００４４】
〔ラインブロック画像特徴ベクトル生成部の処理〕
次に、図１の画像処理装置１におけるラインブロック画像特徴ベクトル生成部７の処理について説明する。図４は、ラインブロック画像特徴ベクトル生成部７の処理を説明するフローチャートである。ラインブロック画像特徴ベクトル生成部７は、前処理として、記憶部９から読み出したフレーム画像をブロック画像に分割し、ブロック画像からフィールドのラインを含むラインブロック画像を切り出し、ラインブロック画像特徴ベクトルを生成し、ラインブロック画像毎のラインブロック画像特徴ベクトルを記憶部５に格納する。
【００４５】
図４を参照して、ラインブロック画像特徴ベクトル生成部７は、記憶部９からスポーツ映像を構成するフレーム画像を読み出し、フレーム画像のサイズをＬ＿ｗ×Ｌ＿ｈに正規化し（ステップＳ４０１）、フレーム画像を所定数（Ｍ×Ｎ個）のブロック画像に分割する（ステップＳ４０２）。分割数を定めるＭ，Ｎは、図２に示したラインブロック特定部３の処理で用いるＭ，Ｎと同じ値であり、予め設定されているものとする。
【００４６】
ラインブロック画像特徴ベクトル生成部７は、分割したブロック画像の中から、フィールドのラインを含む画像をラインブロック画像として切り出す（ステップＳ４０３）。ラインブロック画像の切り出しは、オペレータの操作により手動にて行われる。また、ステップＳ４０１〜ステップＳ４０３の処理は、スポーツ映像を構成する全てのフレーム画像について行われる。
【００４７】
ラインブロック画像特徴ベクトル生成部７は、全てのスポーツ映像についての処理が完了したか否かを判定し（ステップＳ４０４）、全てのスポーツ映像についての処理が完了したと判定した場合（ステップＳ４０４：Ｙ）、すなわち、記憶部９から全てのスポーツ映像を読み出して、ステップＳ４０１〜ステップＳ４０３の処理が完了した場合、ステップＳ４０５へ移行する。一方、全てのスポーツ映像についての処理が完了していないと判定した場合（ステップＳ４０４：Ｎ）、すなわち、記憶部９から全てのスポーツ映像を読み出していないと判定した場合、ステップＳ４０１へ移行し、次のスポーツ映像の読み出しの処理を行う。
【００４８】
ラインブロック画像特徴ベクトル生成部７は、ステップＳ４０４から移行して、全てのラインブロック画像について、ラインブロック画像から、ＲＧＢ平均値、エッジ占有率及びエッジ方向のヒストグラム等の特徴量を計算し（ステップＳ４０５）、これらの特徴量からなるラインブロック画像特徴ベクトルを生成し、記憶部５に格納し（ステップＳ４０６）、処理を終了する。これにより、記憶部５には、記憶部９に格納された全てのスポーツ映像について、ラインブロック画像毎に生成されたラインブロック画像特徴ベクトルがラインブロック画像特徴ＤＢとして格納される。
【００４９】
このように、ラインブロック画像特徴ベクトル生成部７は、前処理として、記憶部９に格納された全てのスポーツ映像のフレーム画像をブロック画像に分割し、ラインブロック画像を切り出し、ラインブロック画像特徴ベクトルを生成し、ラインブロック画像毎のラインブロック画像特徴ベクトルを記憶部５に格納するようにした。これにより、ラインブロック特定部３は、記憶部５に格納されたラインブロック画像特徴ベクトルを用いて、カメラアングルデータを特定したいフレーム画像に対し、ラインブロック画像群の配置を示すラインブロック配置データを生成することができる。
【００５０】
〔参照カメラアングルデータ生成部の処理〕
次に、図１の画像処理装置１における参照カメラアングルデータ生成部８の処理について説明する。図５は、参照カメラアングルデータ生成部８の処理を説明するフローチャートである。参照カメラアングルデータ生成部８は、前処理として、フィールド上にセットした台形の領域（カメラ撮影領域、すなわちカメラにより撮影されるフィールド上の領域）を所定数のブロックに分割し、ブロックがフィールドのラインを含むラインブロックであるか否かを判定し、台形についてラインブロック群の配置を示す参照カメラアングルデータを生成し、台形毎の参照カメラアングルデータを記憶部６に格納する。
【００５１】
図５を参照して、参照カメラアングルデータ生成部８は、オペレータの操作により、フィールドの中心を原点とするワールド座標空間において、以下のパラメータを入力する（ステップＳ５０１）。
（１）仮想カメラ位置（０，ｙ＿ｃ）
（２）カメラ撮影範囲である台形の形状を決めるパラメータ：上底のサイズＬ１、下底のサイズＬ２、高さｈ
（３）カメラ撮影範囲の位置を制限するｙ軸上のパラメータ：下限値Ｂ、上限値Ｔ
（４）カメラ撮影範囲のシフト幅を決めるパラメータ：シフト幅ｗ
（５）カメラ撮影範囲の回転角のステップを決めるパラメータ：ステップａ
【００５２】
図９は、カメラ撮影範囲を示す台形のパラメータ（上底、下底、高さ）を説明する図である。図９に示すように、台形の形状は、パラメータである上底のサイズＬ１、下底のサイズＬ２及び高さｈにより決められる。この台形の形状は、カメラにより撮影されるフィールド上の範囲（撮影領域）を示しており、カメラに近い箇所よりも遠い箇所の方が撮影範囲は広くなっている。したがって、台形の形状は、カメラに近い箇所の下底のサイズＬ２よりも、遠い箇所の上底のサイズＬ１の方が長い（Ｌ２＜Ｌ１）。
【００５３】
図５に戻って、参照カメラアングルデータ生成部８は、ｎに０をセットし（ステップＳ５０２）、ワールド座標空間のｙ軸上に、カメラ撮影範囲である台形の下底の位置をＢ＋ｎ×ｗの位置に合わせ、台形をセットする（ステップＳ５０３）。この場合、参照カメラアングルデータ生成部８は、上底の中央及び下底の中央がｙ軸に交差するように、台形をセットする。
【００５４】
図１０は、ワールド座標空間のｙ軸上に台形をセットする処理を説明する図である。図中、仮想カメラ位置がｙ軸上の（０，ｙ＿ｃ）にあり、台形の下底の位置は、ｙ軸上の位置を制限する下限値Ｂに対して、ｎ×ｗ分上の位置（Ｂ＋ｎ×ｗの位置）にあることがわかる。例えばｎ＝０の場合、参照カメラアングルデータ生成部８により、ｙ軸上に、台形の下底の位置が下限値Ｂの位置に合わせられ、台形がセットされる。
【００５５】
ここで、図１０に示すように、ｘ軸及びｙ軸により表されるワールド座標空間のフィールドには、サッカーの競技が行われる各種ラインが引かれている。各種ラインは、フィールドを区分する直線または曲線であり、例えば、ｙ軸のラインがセンターライン、センターラインの中央の円がセンターサークル、フィールドの四頂点のうちの２頂点を結ぶ、ｘ軸に平行なラインがサイドラインである。
【００５６】
図５に戻って、参照カメラアングルデータ生成部８は、ステップＳ５０３においてセットした台形におけるｙ軸上の上底の位置が上限値Ｔを超えているか否かを判定する（ステップＳ５０４）。上底の位置が上限値Ｔを超えていると判定した場合（ステップＳ５０４：Ｙ）、ステップＳ５１４へ移行する。一方、上底の位置が上限値Ｔを超えていないと判定した場合（ステップＳ５０４：Ｎ）、ステップＳ５０５へ移行する。
【００５７】
図１１は、ワールド座標空間のｙ軸上にセットされた台形の上底が上限値Ｔを超える場合を説明する図である。図中、台形の下底の位置は、ｙ軸上の位置を制限する下限値Ｂに対して、ｎ×ｗ分上の位置（Ｂ＋ｎ×ｗの位置）にあり、そのときの上底の位置は、上限値Ｔよりも上にあることがわかる。この場合、処理がステップＳ５１４へ移行する。
【００５８】
図５に戻って、参照カメラアングルデータ生成部８は、ステップＳ５０４から移行して、ｉに１をセットし（ステップＳ５０５）、ステップＳ５０３においてセットした台形を、仮想カメラ位置（０，ｙ＿ｃ）を中心として、角度ａ×ｉだけ回転させ、新たな位置に台形をセットする（ステップＳ５０６）。台形は、後述するステップＳ５０７によりｉがインクリメントするに伴い、ワールド座標空間において、ｘ軸の負方向へ左回転する。ここで、ａは、カメラ撮影範囲の回転角を変化させるときのステップである。
【００５９】
図１２は、台形を回転させてセットする処理を説明する図である。図中、ｙ軸上にセットされた台形が、仮想カメラ位置（０，ｙ＿ｃ）を中心として角度ａ×ｉだけ回転し、回転後の新たな位置にセットされているのがわかる。
【００６０】
図５に戻って、参照カメラアングルデータ生成部８は、ｉに１を加えることによりｉをインクリメントし（ステップＳ５０７）、角度ａ×ｉが９０°よりも大きいか否かを判定する（ステップＳ５０８）。角度ａ×ｉが９０°よりも大きいと判定した場合（ステップＳ５０８：Ｙ）、ステップＳ５０９へ移行し、角度ａ×ｉが９０°よりも大きくないと判定した場合（ステップＳ５０８：Ｎ）、ステップＳ５０６へ移行し、ステップＳ５０６〜ステップＳ５０８の処理を行う。これにより、角度ａ×ｉ（ｉ＝１，２，・・・）毎に台形がセットされる。
【００６１】
参照カメラアングルデータ生成部８は、ステップＳ５０８から移行して、ｉに−１をセットし（ステップＳ５０９）、ステップＳ５０３においてセットした台形を、仮想カメラ位置（０，ｙ＿ｃ）を中心として、角度ａ×ｉだけ回転させ、新たな位置に台形をセットする（ステップＳ５１０）。台形は、後述するステップＳ５１１によりｉがデクリメントするに伴い、ワールド座標空間において、ｘ軸の正方向へ右回転する。
【００６２】
参照カメラアングルデータ生成部８は、ｉに１を減ずることによりｉをデクリメントし（ステップＳ５１１）、角度ａ×ｉが−９０°よりも小さいか否かを判定する（ステップＳ５１２）。角度ａ×ｉが−９０°よりも小さいと判定した場合（ステップＳ５１２：Ｙ）、ステップＳ５１３へ移行し、角度ａ×ｉが−９０°よりも小さくないと判定した場合（ステップＳ５１２：Ｎ）、ステップＳ５１０へ移行し、ステップＳ５１０〜ステップＳ５１２の処理を行う。これにより、角度ａ×ｉ（ｉ＝−１，−２，・・・）毎に台形がセットされる。
【００６３】
参照カメラアングルデータ生成部８は、ステップＳ５１２から移行して、ｎに１を加えることによりｎをインクリメントし（ステップＳ５１３）、ステップＳ５０３へ移行してステップＳ５０３〜ステップＳ５１３の処理を行う。これにより、下底の位置がＢ＋ｎ×ｗの位置になるように、ワールド座標空間のｙ軸上に台形がセットされ、所定のステップａにて回転した新たな位置に台形がセットされる。このような台形をセットする処理が、ステップＳ５０４の条件を満たすまで繰り返される。
【００６４】
参照カメラアングルデータ生成部８は、ステップＳ５０４において、セットした台形の上底の位置が上限値Ｔを超えていると判定した場合（ステップＳ５０４：Ｙ）、ステップＳ５１４へ移行し、ステップＳ５０４の条件を満たしたときに（上底の位置が上限値Ｔを超えていると判定したときに）その直前のステップＳ５０３においてセットした台形を除去する（ステップＳ５１４）。そして、参照カメラアングルデータ生成部８は、ステップＳ５０３、ステップＳ５０６及びステップＳ５１０においてセットした台形の集合のうち、フィールド領域を含まない台形を特定し、特定した台形をその集合から除去する（ステップＳ５１５）。
【００６５】
図１３は、フィールド領域を含まない台形を除去する処理を説明する図である。図中、点線で示した台形はフィールド領域を含んでいないから、参照カメラアングルデータ生成部８により、セットされた台形の集合から除去される。
【００６６】
図５に戻って、参照カメラアングルデータ生成部８は、ステップＳ５０３、ステップＳ５０６及びステップＳ５１０における台形のセット処理、及び、ステップＳ５１４及びステップＳ５１５における台形の除去処理により残された台形のそれぞれに対し、以下に示すステップＳ５１６〜ステップＳ５２０の処理を行い、カメラアングルを特定してカメラアングルデータを出力する。
【００６７】
参照カメラアングルデータ生成部８は、ワールド座標空間において、台形の四頂点座標（Ｘ１，Ｙ１）（Ｘ２，Ｙ２）（Ｘ３，Ｙ３）（Ｘ４，Ｙ４）を、ステップＳ５０１において入力した各種パラメータ、ｎ及びｉを用いて計算する（ステップＳ５１６）。
【００６８】
参照カメラアングルデータ生成部８は、台形を所定数（Ｍ×Ｎ個）のブロックに分割したときの、各ブロック（ｉ，ｊ）の四頂点座標（ｑ＿ｘｋ（ｉ，ｊ），ｑ＿ｙｋ（ｉ，ｊ））を計算する（ステップＳ５１７）。ここで、ｉ＝１，・・・，Ｍ、ｊ＝１，・・・Ｎ、ｋ＝１，２，３，４である。
【００６９】
図６は、図５のステップＳ５１７の処理、すなわち、台形を構成するブロックの四頂点座標を計算する処理の詳細を説明するフローチャートである。参照カメラアングルデータ生成部８は、ステップＳ５１６において計算した台形の四頂点座標（Ｘ１，Ｙ１）（Ｘ２，Ｙ２）（Ｘ３，Ｙ３）（Ｘ４，Ｙ４）及びフレーム画像の四頂点座標（０，０）（Ｌ＿ｗ，０）（０，Ｌ＿ｈ）（Ｌ＿ｗ，Ｌ＿ｈ）から、透視４点問題（Ｐ４Ｐ問題：Ｐｅｒｓｐｅｃｔｉｖｅ  ４−Ｐｏｉｎｔ  Ｐｒｏｂｌｅｍ）の解法により、変換係数Ｈ＿ｉｊ（ｉ＝１，２，３、ｊ＝１，２，３）を計算する（ステップＳ６０１）。ここで、フレーム画像のサイズは、図２のステップＳ２０１及び図４のステップＳ４０１の処理に示したようにＬ＿ｗ×Ｌ＿ｈであり、フレーム画像の下辺がｘ軸上にあり、左辺がｙ軸上にあるとすると、フレーム画像の四頂点座標は、（０，０）（Ｌ＿ｗ，０）（０，Ｌ＿ｈ）（Ｌ＿ｗ，Ｌ＿ｈ）となる。また、透視４点問題の解法は、２つの座標空間における四頂点座標の対応を求める既存の手法であるから、ここでは詳細な説明を省略する。例えば、特許文献１を参照されたい。
【００７０】
図１４は、変換係数Ｈ＿ｉｊを計算する処理を説明する概念図である。図１４において、右側に示したワールド座標空間上の台形と、左側に示したフレーム画像との間で頂点座標の変換規則を示す変換係数Ｈ＿ｉｊは、台形の四頂点座標のうちの第１の頂点座標（Ｘ１，Ｙ１）とフレーム画像の四頂点座標のうちの第１の頂点座標（０，０）との間の変換、台形の四頂点座標のうちの第２の頂点座標（Ｘ２，Ｙ２）とフレーム画像の四頂点座標のうちの第２の頂点座標（Ｌ＿ｗ，０）との間の変換、台形の四頂点座標のうちの第３の頂点座標（Ｘ３，Ｙ３）とフレーム画像の四頂点座標のうちの第３の頂点座標（０，Ｌ＿ｈ）との間の変換、及び、台形の四頂点座標のうちの第４の頂点座標（Ｘ４，Ｙ４）とフレーム画像の四頂点座標のうちの第４の頂点座標（Ｌ＿ｗ，Ｌ＿ｈ）との間の変換規則として統一的に定められるものである。前述のとおり、変換係数Ｈ＿ｉｊは、既存の透視４点問題の解法を用いることにより計算される。
【００７１】
図６に戻って、参照カメラアングルデータ生成部８は、フレーム画像を構成するブロック画像（ｉ，ｊ）の四頂点座標（ｐ＿ｘｋ（ｉ，ｊ），ｐ＿ｙｋ（ｉ，ｊ））、及びステップＳ６０１において計算した変換係数Ｈ＿ｉｊから、台形を構成するブロックの四頂点座標（ｑ＿ｘｋ（ｉ，ｊ），ｑ＿ｙｋ（ｉ，ｊ））を、以下の式により計算する（ステップＳ６０２）。以下の式では、（ｉ，ｊ）を省略してある。
ｑ＿ｘｋ＝（Ｈ＿１１×ｐ＿ｘｋ＋Ｈ＿１２×ｐ＿ｙｋ＋Ｈ＿１３）／（Ｈ＿３１×ｐ＿ｘｋ＋Ｈ＿３２×ｐ＿ｙｋ＋Ｈ＿３３）
ｑ＿ｙｋ＝（Ｈ＿２１×ｐ＿ｘｋ＋Ｈ＿２２×ｐ＿ｙｋ＋Ｈ＿２３）／（Ｈ＿３１×ｐ＿ｘｋ＋Ｈ＿３２×ｐ＿ｙｋ＋Ｈ＿３３）
尚、フレーム画像を構成するブロック画像（ｉ，ｊ）の四頂点座標（ｐ＿ｘｋ（ｉ，ｊ），ｐ＿ｙｋ（ｉ，ｊ））は、フレーム画像をＭ×Ｎ個のブロック画像に均等に分割したときの座標であるから、フレーム画像の四頂点座標（０，０）（Ｌ＿ｗ，０）（０，Ｌ＿ｈ）（Ｌ＿ｗ，Ｌ＿ｈ）、Ｍ及びＮにより計算することができる。
【００７２】
参照カメラアングルデータ生成部８は、全てのブロック（Ｍ×Ｎ個のブロック）について処理が完了したか否かを判定し（ステップＳ６０３）、全てのブロックの処理が完了したと判定した場合（ステップＳ６０３：Ｙ）、図５に示すステップＳ５１８へ移行する。一方、全てのブロックの処理が完了していないと判定した場合（ステップＳ６０３：Ｎ）、ステップＳ６０２へ移行し、台形を構成する次のブロックの四頂点座標（ｑ＿ｘｋ（ｉ，ｊ），ｑ＿ｙｋ（ｉ，ｊ））を計算する。これにより、台形を構成する全てのブロックの四頂点座標が計算される。
【００７３】
図５に戻って、参照カメラアングルデータ生成部８は、ステップＳ５１７の処理の後、台形を構成する各ブロック（ｉ，ｊ）がラインを含むラインブロックであるか否かを判定し、ラインブロックである場合、フラグｆＬ＿ｒ（ｉ，ｊ）＝１を設定し、ラインブロックでない場合、フラグｆＬ＿ｒ（ｉ，ｊ）＝０を設定する（ステップＳ５１８）。具体的には、参照カメラアングルデータ生成部８は、ワールド座標空間において、フィールドのラインの長さ及び配置（スポーツのルールまたは企画により自動的に定まる）と、ブロック（ｉ，ｊ）の四頂点座標（ｑ＿ｘｋ（ｉ，ｊ），ｑ＿ｙｋ（ｉ，ｊ））（ｋ＝１，２，３，４）との間の位置関係に基づいて、ブロック（ｉ，ｊ）の四頂点座標で囲まれる領域にラインが含まれるか否か（ラインが通過しているか否か）を判定し、その領域にラインが含まれると判定した場合、ブロック（ｉ，ｊ）がラインブロックであるとしてフラグｆＬ＿ｒ（ｉ，ｊ）＝１を設定し、その領域にラインが含まれないと判定した場合、ブロックがラインブロックでないとしてフラグｆＬ＿ｒ（ｉ，ｊ）＝０を設定する。
【００７４】
図８に示したように、台形を構成するＭ×Ｎ個のブロックのうち、斜め線で示したラインブロックに対し、フラグｆＬ＿ｒ（ｉ，ｊ）＝１が設定され、それ以外のブロックに対し、フラグｆＬ＿ｒ（ｉ，ｊ）＝０が設定される。
【００７５】
図５に戻って、参照カメラアングルデータ生成部８は、ステップＳ５１６における台形の四頂点座標（Ｘ１，Ｙ１）（Ｘ２，Ｙ２）（Ｘ３，Ｙ３）（Ｘ４，Ｙ４）、ステップＳ５１７における台形を構成する各ブロック（ｉ，ｊ）の四頂点座標（ｑ＿ｘｋ（ｉ，ｊ），ｑ＿ｙｋ（ｉ，ｊ））、及び、ステップＳ５１８における各ブロック（ｉ，ｊ）に設定したフラグｆＬ＿ｒ（ｉ，ｊ）＝０，１を、台形の参照カメラアングルデータＣＡ［ｎ］として記憶部６に格納する（ステップＳ５１９）。ここで、ｎは、セットした台形の番号（参照カメラアングルデータの番号）であり、１〜Ｎ＿ｃａである（Ｎ＿ｃａは台形の数（参照カメラアングルデータの数）である）。
【００７６】
参照カメラアングルデータ生成部８は、セットした全ての台形の処理が完了したか否かを判定し（ステップＳ５２０）、全ての台形の処理が完了したと判定した場合（ステップＳ５２０：Ｙ）、処理を終了する。一方、全ての台形の処理が完了していないと判定した場合（ステップＳ５２０：Ｎ）、ステップＳ５１６へ移行し、次の台形についてステップＳ５１６〜ステップＳ５２０の処理を行う。このように、セットした台形毎に参照カメラアングルデータが求められ、台形毎（カメラアングルデータ毎）に付けた番号１〜Ｎ＿ｃａにより、参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］として記憶部６に格納される。
【００７７】
尚、ステップＳ５１７及びステップＳ６０１において計算される変換係数Ｈ＿ｉｊ（ｉ＝１，２，３、ｊ＝１，２，３）は、台形毎（カメラアングルデータ毎）に定まる値である。
【００７８】
このように、参照カメラアングルデータ生成部８は、前処理として、フィールド上に台形をセットし、台形毎に、台形の四頂点座標（Ｘ１，Ｙ１）（Ｘ２，Ｙ２）（Ｘ３，Ｙ３）（Ｘ４，Ｙ４）、台形を構成する各ブロック（ｉ，ｊ）の四頂点座標（ｑ＿ｘｋ（ｉ，ｊ），ｑ＿ｙｋ（ｉ，ｊ））、及び、各ブロック（ｉ，ｊ）に対するフラグｆＬ＿ｒ（ｉ，ｊ）＝０，１を求め、これらのデータを参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］として記憶部６に格納するようにした。これにより、カメラアングル特定部４は、記憶部６に格納された参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］を用いて、フレーム画像のカメラアングルを特定することができる。
【００７９】
以上のように、本発明の実施形態による画像処理装置１によれば、ラインブロック画像特徴ベクトル生成部７が、前処理として、予め記憶部９に格納されたスポーツ映像のフレーム画像をブロック画像に分割し、ラインブロック画像を切り出し、ラインブロック画像特徴ベクトルを生成し、参照カメラアングルデータ生成部８が、前処理として、フィールド上に台形をセットし、台形毎に、台形の四頂点座標（Ｘ１，Ｙ１）（Ｘ２，Ｙ２）（Ｘ３，Ｙ３）（Ｘ４，Ｙ４）、台形を構成する各ブロック（ｉ，ｊ）の四頂点座標（ｑ＿ｘｋ（ｉ，ｊ），ｑ＿ｙｋ（ｉ，ｊ））、及び、各ブロック（ｉ，ｊ）に対するフラグｆＬ＿ｒ（ｉ，ｊ）＝０，１を求め、これらのデータを参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］として生成するようにした。そして、ラインブロック特定部３が、カメラアングルを特定する対象であるスポーツ映像のフレーム画像をブロック画像（ｉ，ｊ）に分割し、画像特徴ベクトルを計算し、前処理により生成されたラインブロック画像特徴ベクトルとの間の類似度を計算し、類似度に基づいて、ラインブロック画像群の配置を示すラインブロック配置データを生成し、カメラアングル特定部４が、フレーム画像のラインブロック配置データが示すラインブロック画像群の配置と、前処理により生成された台形毎の参照カメラアングルデータＣＡ［１］〜ＣＡ［Ｎ＿ｃａ］が示すラインブロック群の配置との間の類似スコアＳ［１］〜Ｓ［Ｎ＿ｃａ］を計算し、その類似スコアが最大となる参照カメラアングルデータＣＡ［Ａ］を特定し、このデータをフレーム画像のカメラアングルデータとして出力するようにした。
【００８０】
これにより、スポーツ映像を構成するフレーム画像のカメラアングルを特定する際に、画像特徴ベクトル間の類似度を計算し、配置データを比較することで、カメラアングルを特定することができるから、従来のハフ変換処理、ウィンドウの細かい移動によるマッチング処理等の厳密な処理が不要になる。したがって、従来に比べて処理負荷は低くなり、簡易な手法にて高速化を実現することができる。さらに、特定したカメラアングルデータを利用して、そのシーンにおける人の分布及び動きを解析したり、戦術を立案したりすることができ、例えばスポーツの戦術データを迅速に配信する等の有用なサービスを実現することが可能になる。
【００８１】
尚、本発明の実施形態による画像処理装置１のハード構成としては、通常のコンピュータを使用することができる。画像処理装置１は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。画像処理装置１に備えたラインブロック特定部３、カメラアングル特定部４、ラインブロック画像特徴ベクトル生成部７及び参照カメラアングルデータ生成部８の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【００８２】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、図１に示した画像処理装置１は、スポーツ映像を対象として、そのフレーム画像のカメラアングルを特定するようにしたが、本発明はスポーツ映像に限定されるものではなく、ラインを含むフィールドが撮影された映像であればよい。
【００８３】
また、図１に示した画像処理装置１は、記憶部２，５，６，９、ラインブロック特定部３、カメラアングル特定部４、ラインブロック画像特徴ベクトル生成部７及び参照カメラアングルデータ生成部８を備えるようにしたが、画像処理装置１が、記憶部２，５，６、ラインブロック特定部３及びカメラアングル特定部４を備え、他の画像処理装置が、ラインブロック画像特徴ベクトル生成部７、参照カメラアングルデータ生成部８及び記憶部９を備えるようにしてもよい。この場合、画像処理装置１は、他の画像処理装置により生成されたラインブロック画像特徴ベクトル及び参照カメラアングルデータを、通信ネットワークを介して受信し、記憶部５，６にそれぞれ格納する。また、第１の他の画像処理装置が、ラインブロック画像特徴ベクトル生成部７及び記憶部９を備え、第２の他の画像処理装置が、参照カメラアングルデータ生成部８を備え、画像処理装置１との間が通信ネットワークによりそれぞれ接続されるようにしてもよい。
【符号の説明】
【００８４】
１  画像処理装置
２，５，６，９  記憶部
３  ラインブロック特定部
４  カメラアングル特定部
７  ラインブロック画像特徴ベクトル生成部
８  参照カメラアングルデータ生成部
【図１】
2011053816.tif 000003
【図２】
2011053816.tif 000004
【図３】
2011053816.tif 000005
【図４】
2011053816.tif 000006
【図５】
2011053816.tif 000007
【図６】
2011053816.tif 000008
【図７】
2011053816.tif 000009
【図８】
2011053816.tif 000010
【図９】
2011053816.tif 000011
【図１０】
2011053816.tif 000012
【図１１】
2011053816.tif 000013
【図１２】
2011053816.tif 000014
【図１３】
2011053816.tif 000015
【図１４】
2011053816.tif 000016