以下、本発明の実施の形態について図面を参照して説明する。
[付加映像生成装置の構成]
図1は本発明における付加映像生成装置の構成を示したブロック図である。付加映像生成装置1は、被写体について撮影した映像から被写体の位置を検出し、被写体について撮影した他の映像に、被写体の距離に関する情報を付加した映像を生成するものである。
ここでは、付加映像生成装置1は、入力手段10と、被写体検出手段20と、距離情報付加手段40と、出力手段60とを備えている。また、付加映像生成装置1は、被写体について撮影した映像を生成するセンサーカメラ2と、被写体について撮影した他の映像を生成し、同時にカメラパラメータを出力する放送カメラ装置3とを外部に接続している。
ここで、センサーカメラ2は予め所定位置に設置され、その位置とカメラの視線方向は固定されているものとする。また、放送カメラ装置3は、撮影者によって実空間上を移動させることができ、カメラの視線方向も自由に変化させることができるものである。この放送カメラ装置3は、映像を生成する放送カメラ3a及び放送カメラ雲台3bと、この放送カメラ3aの視線方向とカメラレンズの位置等を、放送カメラ雲台3bと放送カメラ3aとから検出してカメラパラメータを生成するエンコーダ3cとを備える。そして、付加映像生成装置1には、この放送カメラ装置3の位置、放送カメラ3aを横方向に動かすパン、上下方向に動かすチルト、放送カメラの視線方向を軸として回転させるロール、映像内の被写体を拡大・縮小するようにカメラレンズを動かすズーム等のカメラパラメータが、エンコーダ3cから入力される。
入力手段10は、被写体について撮影した映像をセンサーカメラ2から入力するものである。このセンサーカメラ2から入力される映像は、複数のフレーム画像から構成され、時系列に入力される。入力されたセンサーカメラ2のフレーム画像は被写体検出手段20へ出力される。
被写体検出手段(被写体検出装置)20は、入力手段10から入力されるフレーム画像の中から、被写体の位置を検出するものである。この被写体検出手段20は、被写体候補画像生成部21、検出データ記憶手段22、被写体位置検出部23及び探索領域推定部24とを備えている。
被写体候補画像生成部21は、入力手段10から入力された、センサーカメラ2によって撮影された映像から、その映像を構成するフレーム画像毎に、検出対象となる被写体の候補を抽出した被写体候補画像を生成するものである。ここでは、被写体候補画像生成部21は、輝度画像生成部211と、輪郭画像生成部212と、差分画像生成部213と、被写体候補抽出部214とを備えている。
輝度画像生成部211は、入力された映像(カラー映像)のフレーム画像から、フレーム画像をモノクロ(グレースケール)化した輝度画像を生成するものである。この輝度画像生成部211は、例えば、フレーム画像の各画素値を構成する色のRGB成分の平均値を算出し、新しい画素値とすることで輝度画像を生成する。ここで生成された輝度画像は、被写体候補抽出部214に出力される。
輪郭画像生成部212は、入力された映像のフレーム画像から、フレーム画像の輝度に基づいて、輪郭(エッジ)を抽出した輪郭画像を生成するものである。この輪郭画像生成部212は、例えば、フレーム画像の隣接する画素の輝度の変化を検出することで輪郭を検出する。なお、輪郭画像生成部212は、輝度画像生成部211で生成された輝度画像から、輪郭を抽出することとしてもよい。ここで生成された輪郭画像は、被写体候補抽出部214に出力される。
差分画像生成部213は、時系列に入力されるフレーム画像から、異なる時間に入力されたフレーム画像(例えば、現在のフレーム画像と、その前に入力されたフレーム画像)間の輝度の差を画素値とした差分画像を生成するものである。なお、差分画像生成部213は、輝度画像生成部211で異なる時間に生成された輝度画像から、差分画像を生成することとしてもよい。ここで生成された差分画像は、被写体候補抽出部214に出力される。
被写体候補抽出部214は、輝度画像生成部211、輪郭画像生成部212及び差分画像生成部213で生成された輝度画像、輪郭画像及び差分画像に基づいて、被写体の候補を抽出した被写体候補画像を生成するものである。ここでは、被写体候補抽出部214は、画像積算部214aと、2値化部214bと、ノイズ除去部214cとを備えて構成されている。
画像積算部214aは、輝度画像、輪郭画像及び差分画像にそれぞれ重みを持たせて加算することで、被写体を抽出するための画像(抽出用画像)を生成するものである。ここで、生成された抽出用画像は、2値化部214bに出力される。
この画像積算部214aは、例えば、ある時刻tにおける輝度画像yの座標(x,y)の画素値をy(x,y,t)、輪郭画像eの座標(x,y)の画素値をe(x,y,t)、差分画像dの座標(x,y)の画素値をd(x,y,t)とし、輝度画像、輪郭画像及び差分画像のそれぞれの重み係数をwy、we及びwdとしたとき、抽出用画像gの座標(x,y)の画素値g(x,y,t)を、以下の(1)式により算出する。
ここで重み係数(wy、we及びwd)は、抽出する被写体の特性によって予め定めておくものとする。例えば、被写体が、背景画像に比べて輝度差が大きい場合は、輝度画像又は輪郭画像の重み係数を大きくしておく。また、被写体の動きが大きい場合は、差分画像の重み係数を大きくしておく。このように、輝度画像、輪郭画像及び差分画像にそれぞれ重みを持たせることで、生成される抽出用画像は、抽出しようとする被写体の特性を表している画素の値が大きく表現されることになる。
2値化部214bは、画像積算部214aで生成された抽出用画像を2値化することで、複数の被写体の候補を抽出するものである。例えば、抽出用画像の画素値が予め定めた閾値以上の場合に、画素値を“1(白)”、それ以外の場合に“0(黒)”とすることで2値化画像を生成する。これによって、例えば、画素値が“1(白)”となる領域を被写体の候補として抽出することができる。ここで生成された2値化画像は、ノイズ除去部214cに出力される。
ノイズ除去部214cは、2値化部214bで生成された2値化画像から、被写体の候補のうち微細なものをノイズとして除去するものである。このノイズ除去部214cは、例えば、2値化画像に収縮処理と膨張処理とを施すことでノイズを除去する。ここでノイズを除去された2値化画像は、被写体の候補を抽出した被写体候補画像として、被写体位置検出部23に出力される。
ここで、収縮処理とは、近傍に1画素でも“0(黒)”の画素値を持つ画素の画素値を“0(黒)”とする処理である。また、膨張処理とは、近傍に1画素でも“1(白)”の画素値を持つ画素の画素値を“1(白)”とする処理である。この収縮処理によって、微小な“1(白)”の画素値を有する領域を消去することができる。そして、この画素値を有する領域を消去する段階では、被写体の候補の領域である“1(白)”の画素値を持つ領域は収縮された状態となるので、膨張処理によって、被写体の候補の領域を膨張させる。これによって、ノイズを除去した2値化画像が生成される。
以上説明した被写体候補抽出部214では、画像積算部214aで生成された抽出用画像に対して、2値化部214bによって2値化処理を行い、ノイズ除去部214cによって収縮処理及び膨張処理を行うことで、ノイズを除去した2値化画像を生成したが、抽出用画像を平滑化した後に2値化を行うことで、ノイズを除去することとしてもよい。
検出データ記憶手段22は、検出対象となる被写体を選択するための条件を記憶するもので、一般的なハードディスク等の記憶媒体である。この検出データ記憶手段22には、種々の抽出条件を示す抽出条件データ22aと、被写体の位置を示す被写体位置データ22bとを記憶している。
抽出条件データ22aは、抽出すべき被写体の抽出条件を記述した情報であって、例えば、面積、輝度、色、アスペクト比及び円形度の少なくとも1つ以上の抽出条件を記述したものである。この抽出条件データ22aは、後記する被写体位置検出部23が、被写体候補画像生成部21で生成された被写体候補画像から、抽出すべき被写体を選択するためのフィルタ(面積フィルタ、輝度フィルタ、色フィルタ、アスペクト比フィルタ及び円形度フィルタ)の条件となるものである。
なお、抽出条件データ22aには、面積フィルタ、輝度フィルタ、色フィルタ、アスペクト比フィルタ及び円形度フィルタの条件として、予め定めた初期値と、その許容範囲を示す閾値とを記憶しておく。これによって、閾値外の特徴を持つ被写体の候補を、抽出すべき被写体の候補から外すことができる。
ここで、面積は、例えば、被写体の候補の画素数を示す。また、輝度は、被写体の候補における各画素の輝度の平均値を示す。また、色は、被写体の候補における各画素の色(例えばRGB値)の平均値を示す。なお、この色については、予め背景となる画像の背景色を初期値として、その背景色からの変化量を閾値としてもよい。
また、アスペクト比は、被写体の候補の縦方向の最大長と、横方向の最大長との比を示す。また、円形度は、形状の複雑さを示す指標であって、円形に近いほど大きな値を有するものである。この円形度eは、被写体の候補の面積をS、周囲長をlとしたとき、以下の(2)式で表される。
例えば、抽出対象の被写体がボールのような円形の形状を有するものの場合は、抽出条件の円形度は、1に近い値に設定しておけばよい。
被写体位置データ22bは、フレーム画像内での被写体の位置を示す情報である。この被写体位置データ22bは、例えば、被写体の重心位置とする。この重心座標は後記する被写体解析部23cによって算出される。なお、この被写体位置データ22bは、抽出条件データ22aに合致する被写体の候補が複数存在する場合に、被写体位置データ22bで示した座標に最も近い画像を、抽出すべき被写体として決定するための抽出条件として機能する。
被写体位置検出部23は、被写体候補画像生成部21で生成された被写体候補画像の中から、検出データ記憶手段22に記憶されている抽出条件(抽出条件データ22a)に基づいて、検出対象となる被写体を選択し、フレーム画像内での被写体の位置を検出するものである。ここでは、被写体位置検出部23は、ラベリング部23aと、被写体選択部23bと、被写体解析部23cを備えて構成されている。
ラベリング部23aは、被写体候補画像生成部21で生成された被写体候補画像(2値化画像)の中で、被写体の候補となる領域に対して番号(ラベル)を付すものである。すなわち、ラベリング部23aは、被写体の候補の領域である“1(白)”の画素値を持つ連結した領域(連結領域)に対して1つの番号を付す。これによって、被写体候補画像内の被写体の候補が番号付けされたことになる。
被写体選択部23bは、ラベリング部23aで番号付けされた被写体の候補毎に、検出データ記憶手段22に記憶されている抽出条件(抽出条件データ22a)に合致する被写体かどうかを判定することで、検出対象となる被写体を選択するものである。ここで選択された被写体の番号(ラベル)は、被写体解析部23cに出力される。
すなわち、被写体選択部23bは、被写体の候補毎に、検出データ記憶手段22に記憶されている抽出条件データ22aで示される抽出条件(例えば、面積、輝度、色、アスペクト比及び円形度)に基づいて、フィルタリングを行うことで、抽出条件を満たす被写体の候補を、抽出すべき被写体として選択する。
なお、被写体選択部23bは、色に基づいてフィルタリングを行う場合、センサーカメラ2から入力された映像のフレーム画像から、被写体に対応する領域の色の平均値を算出し、抽出条件データ22aで示される抽出条件に基づいてフィルタリングを行う。
被写体解析部23cは、被写体選択部23bで選択されたラベルに対応する被写体を解析し、フレーム画像内での被写体の位置を解析するものである。ここで解析した被写体の位置は、距離情報付加手段40の実空間距離解析手段41に出力される。また、ここで抽出した被写体の位置は、現在の被写体の位置情報として、検出データ記憶手段22の被写体位置データ22bに書き込まれる。
ここでフレーム画像内での被写体の位置としては、被写体の重心位置、多角形近似の頂点座標、スプライン曲線の制御点座標等を用いることができる。なお、被写体選択部23bで複数の被写体の候補が選択された場合は、例えば、1フレーム前のフレーム画像で抽出した被写体の位置に最も近い被写体を、検出する被写体として特定する。
なお、ここで被写体解析部23cが被写体の面積、輝度、色等についても解析し、この面積、輝度、色等を抽出条件データ22aに記憶するようにし、これに基づいて、被写体選択部23bが次フレーム画像の被写体候補画像から被写体を選択するようにしても良い。さらに、被写体解析部23cが被写体の存在領域を解析し、探索領域推定部24が、この被写体の存在領域に基づいて、次フレーム画像の探索領域の大きさを推定するようにしても良い。
探索領域推定部24は、被写体位置検出部23で検出されたフレーム画像内での被写体の位置(重心座標等)に基づいて、次に入力されるフレーム画像における、被写体の探索領域を推定するものである。ここで、探索領域推定部24は、例えば、重心座標にカルマンフィルタ(Kalman filter)等を適用することで、次フレーム画像における被写体の位置を予測し、探索領域を推定することができる。ここで推定された探索領域は、被写体候補画像生成部21に出力される。
距離情報付加手段(距離情報付加装置)40は、放送カメラ3aから入力されるフレーム画像に合成する実空間距離と距離画像を生成し、放送カメラ3aのフレーム画像に合成するものである。この距離情報付加手段40は、実空間距離解析手段41、放送カメラパラメータ取得手段42、距離画像生成手段43、入力手段44、映像遅延部45、画像合成手段46及び解析データ記憶手段47を備えている。
実空間距離解析手段41は、被写体検出手段20の被写体解析部23cによって解析された、センサーカメラ2のフレーム画像内における被写体の位置と、後記する解析データ記憶手段47に記憶された、センサーカメラ2のカメラパラメータであるセンサーカメラパラメータ47bとに基づいて、実空間における被写体の位置から基準点までの距離である実空間距離を解析するものである。この実空間距離解析手段41は、被写体位置変換部41aと、実空間距離解析部41bとを備えている。
被写体位置変換部41aは、被写体解析部23cによって解析された、センサーカメラ2のフレーム画像内における被写体の位置を、実空間に対応させて変換し、実空間における被写体の位置を算出するものである。この被写体位置変換部41aは、透視変換と同次変換とによって、センサーカメラ2のフレーム画像内における被写体の位置を、実空間に対応させて変換することで、実空間における被写体の位置を算出することができる。
つまり、被写体位置変換部41aは、実空間に対応するグローバル座標を設定し、グローバル座標上におけるセンサーカメラ2の位置を原点とするセンサーカメラ座標軸を設定する。そして、被写体位置変換部41aは、被写体解析部23cから入力された、センサーカメラ2のフレーム画像内における被写体の位置に基づいて、このセンサーカメラ座標上に被写体の位置を設定する。さらに、被写体位置変換部41aは、この被写体の位置座標をセンサーカメラ座標からグローバル座標に変換することで、実空間における被写体の位置を算出することができる。
ここで、図2を参照(適宜図1参照)して、ゴルフボールとカップとを撮影したセンサーカメラ2のフレーム画像内におけるゴルフボール(被写体)の位置を、透視変換と同次変換とによって、実空間に対応するグローバル座標に変換する例について説明する。図2は、センサーカメラ座標上の被写体(ゴルフボール)の位置を、実空間に対応するグローバル座標に変換する例を説明するための説明図である。
例えば、図2に示すように、カップの位置を原点Oとする、地表面F上のX軸とこのX軸に直交するY軸、鉛直方向にZ軸を設定して、この3次元座標(グローバル座標)によって実空間上の基準点とセンサーカメラ2の位置を表す場合に、解析データ記憶手段47にはセンサーカメラパラメータ47bとして、センサーカメラの位置OC1、センサーカメラ2の視線方向の基準となる向きからの横方向の回転角であるパンα、上下方向の回転角であるチルトδ、視線方向を回転軸とした回転角であるロールφ(図示せず)と、映像内の被写体を拡大・縮小するようにカメラレンズを動かすズーム等が予め記憶され、また、地点位置データ47aとして、カップの位置Oが予め記憶されているとする。
すると、被写体位置変換部41aは、解析データ記憶手段47に記憶された地点位置データ47aのカップの位置に基づいてグローバル座標を設定し、解析データ記憶手段47に記憶されたセンサーカメラパラメータ47bに基づいて、グローバル座標上にセンサーカメラの位置を設定し、センサーカメラ座標軸を設定する。つまり、被写体位置変換部41aは、図2に示すように、カップの位置Oを原点としてグローバル座標軸(X軸、Y軸、Z軸)を設定し、このグローバル座標上にセンサーカメラの位置OC1を設定する。そして、被写体位置変換部41aは、センサーカメラの位置OC1を原点として、センサーカメラ座標軸であるx軸、y軸、z軸を設定する。図2では、Y軸に平行なz軸を設定し、このz軸をセンサーカメラ2の視線方向の基準となる方向とし、また、X軸と平行なx軸、Z軸と平行で逆向きのy軸を設定している。
ここで、被写体解析部23cから、センサーカメラ2のフレーム画像内における被写体の位置(例えば、フレーム画像平面上の被写体の重心座標)として(xp1,yp1)が入力されたとすると、被写体位置変換部41aは、センサーカメラ座標上の被写体(ゴルフボール)の位置p1を(axp1,ayp1,af1)と仮定する。なお、f1はセンサーカメラ2の焦点距離、aは未知の係数である。また、このセンサーカメラの焦点距離f1は、解析データ記憶手段47に記憶されているセンサーカメラパラメータ47bのズームから算出することができるものである。
このとき、センサーカメラ座標からグローバル座標への変換行列RC1は、以下に示す(3)式で表される。なお、Sはz軸方向がカメラの視線方向であるときの、センサーカメラ座標からグローバル座標への変換行列である。また、α、δ、φは、センサーカメラ2の視線方向の基準となる向きであるz軸方向に対する、カメラの視線方向の傾きを表すパンα、チルトδ、ロールφである。
そして、被写体位置変換部41aは、(3)式の変換行列RC1によって被写体の位置p1をセンサーカメラ座標からグローバル座標に変換する。ここで、グローバル座標上のセンサーカメラの位置OC1の位置ベクトルをTGとすると、グローバル座標に変換された被写体の位置p1の位置ベクトルをPGは、以下に示す(4)式によって算出される。
ここで、被写体であるゴルフボールが地表面F上にあると仮定し、グローバル座標上の被写体の位置p1を(Xp1 G,Yp1 G,Zp1 G)とした場合に、グローバル座標上の被写体の位置ベクトルPGのZ成分であるZp1 Gは、Zp1 G=0となる。そのため、被写体位置変換部41aは、(4)式がZp1 G=0を満たすようにaの値を設定して、グローバル座標上の被写体の位置p1を算出する。
なお、ここでは、カップの位置を原点としてグローバル座標軸を設定し、このグローバル座標によって表された、実空間上の基準点等の位置やセンサーカメラ2の位置が、解析データ記憶手段47に記憶されていることとし、これに基づいて被写体位置変換部41aはグローバル座標とセンサーカメラ座標とを設定して、センサーカメラ2のフレーム画像内における被写体の位置をグローバル座標に変換しているが、このグローバル座標の原点や座標軸は任意の位置と方向に設定することができる。そしてこのとき、このグローバル座標に基づいた、実空間上の基準点やセンサーカメラ2の位置が解析データ記憶手段47に記憶され、被写体位置変換部41aが、この設定に基づいてグローバル座標を設定して被写体の位置の変換を行うことで、後記する実空間距離解析部41bによって実空間距離を算出することができる。
図1に戻って説明を続ける。実空間距離解析部41bは、被写体位置変換部41aによって解析された、実空間における被写体の位置から、実空間上の基準点までの距離である実空間距離を算出するものである。ここで、実空間距離解析部41bは、被写体位置変換部41aによって解析された実空間上の被写体の位置と、解析データ記憶手段47に記憶された基準点の位置(地点位置データ47a)とに基づいて、実空間における被写体の位置から基準点までの距離である実空間距離を算出することができる。ここで算出された実空間距離は、画像合成手段46に出力される。
放送カメラパラメータ取得手段42は、放送カメラ装置3のエンコーダ3cから放送カメラ3aのカメラパラメータを取得するものである。このカメラパラメータは、後記する入力手段44から入力される放送カメラ3aの映像を構成するフレーム画像毎に、放送カメラパラメータ取得手段42によって取得される。取得された放送カメラ3aのカメラパラメータは距離画像生成手段43へ出力される。
距離画像生成手段43は、放送カメラパラメータ取得手段42から入力された放送カメラ3aのカメラパラメータに基づいて、実空間上の所定の地点からの所定距離を示す画像である距離画像を生成するものである。ここで生成された距離画像は、画像合成手段46に出力される。
ここで、距離画像生成手段43は、実空間上の所定の地点からの所定距離を示す図形(例えば、所定の地点を中心とした同心円など)を、放送カメラ3aから入力される映像のフレーム画像に対応させて変換する(変形させる)ことで、距離画像を生成する。この実空間上の所定の地点からの所定距離を示す図形の変換は、透視変換と同次変換とによって行うことができる。
つまり、距離画像生成手段43は、実空間に対応するグローバル座標を設定し、このグローバル座標上における放送カメラ3aの位置を原点とする放送カメラ座標軸を設定する。そして、距離画像生成手段43は、解析データ記憶手段47に記憶された実空間上の所定の地点の位置(地点位置データ47a)に基づいて、このグローバル座標上にこの地点から所定距離を示す図形を生成する。さらに、被写体位置変換部41aは、この図形を、放送カメラパラメータ取得手段42から入力された放送カメラ3aのカメラパラメータに基づいて、グローバル座標から放送カメラ3aのフレーム画像平面上の座標に変換することで、この図形を放送カメラ3aのフレーム画像に対応させて変換することができる。
ここで、図3を参照(適宜図1参照)して、放送カメラ3aによって、ゴルフボールとカップとを撮影したフレーム画像内に、カップから1m、3m、5mの距離を示す距離線を合成する場合に、距離画像生成手段43がグローバル座標上に、カップの位置から1m、3m、5mの距離を示す図形を生成し、この図形上の一点を、透視変換と同次変換によって放送カメラ3aのフレーム画像平面上の座標に変換する例について説明する。図3は、グローバル座標上の所定の地点からの所定距離を示す図形を、グローバル座標から放送カメラ座標に変換する例を説明するための説明図である。
例えば、解析データ記憶手段47には、地点位置データ47aとしてカップの位置Oが予め記憶されているとする。そこで、距離画像生成手段43は、被写体位置変換部41aと同様にして、図3に示すような、カップの位置を原点Oとするグローバル座標軸を設定し、グローバル座標上にカップの位置Oを中心とする円で表される、カップから1mの距離を示す距離線d1と、3mの距離を示す距離線d2と、5mの距離を示す距離線d3とを生成する。
ここで、放送カメラパラメータ取得手段42から、放送カメラ3aの位置OC2と、Y軸に平行なz軸を放送カメラ3aの視線方向の基準となる方向としたときのパンα、チルトδ及びロールφ(図示せず)と、ズームとが放送カメラ3aのカメラパラメータとして入力されたとする。すると、距離画像生成手段43は、放送カメラ3aのカメラパラメータに基づいて、グローバル座標上に放送カメラの位置OC2を設定する。そして、距離画像生成手段43は、図3に示すように、放送カメラの位置OC2を原点として、放送カメラ座標軸であるx軸、y軸、z軸を設定する。
このとき、放送カメラ座標からグローバル座標への変換行列RC2は、以下に示す(5)式で表される。なお、Sはz軸方向がカメラの視線方向であるときの、放送カメラ座標からグローバル座標への変換行列である。また、α、δ、φは、放送カメラ3aの視線方向の基準となる向きであるz軸方向に対する、放送カメラ3aの視線方向の傾きを表すパンα、チルトδ、ロールφである。
そして、グローバル座標から放送カメラ座標への変換行列RGは、以下に示す(6)式のようになる。また、Tは行列の転置を表している。
ここで、例えば、距離線d2上の点p2を、放送カメラ3aのフレーム画像平面上の座標に変換する場合について説明すると、グローバル座標上の点p2は、(6)式の変換行列RGによって、をグローバル座標から放送カメラ座標に変換される。つまり、図3に示すように、グローバル座標上の点p2の位置ベクトルをPGとし、グローバル座標上のセンサーカメラの位置OC2の位置ベクトルをTG、放送カメラ座標上の点p2の位置を(Xp2 C2,Yp2 C2,Zp2 C2)とし、点p2の放送カメラ座標の位置ベクトルをLC2とすると、放送カメラ座標上の点p2の位置ベクトルをLC2は、以下に示す(7)式によって算出される。
そして、点p2のフレーム画像平面上の座標は(f2Xp2 C2/Zp2 C2,f2Yp2 C2/Zp2 C2)となる。なお、f2は放送カメラ3aの焦点距離で、放送カメラパラメータ取得手段42から入力される放送カメラ3aのズームから、算出することができるものである。このようにして、グローバル座標上の距離線d1,d2,d3のすべての点について、(7)式に基づいてグローバル座標からフレーム画像平面上の座標に変換することで、距離画像生成手段43は、距離線d1,d2,d3をフレーム画像平面上の座標に変換し、距離画像を生成することができる。
また、ここでは、カップの位置を原点としてグローバル座標軸を設定し、このグローバル座標によって表された実空間上の地点の位置が、解析データ記憶手段47に記憶され、また、このグローバル座標によって表された放送カメラ3aの位置が放送カメラ装置3から入力されることとし、これに基づいて距離画像生成手段43は、放送カメラ座標を設定して、グローバル座標上の図形を放送カメラ3aのフレーム画像平面上の座標に変換しているが、このグローバル座標の原点や座標軸は任意の位置と方向に設定することができる。そしてこのとき、このグローバル座標に基づいて実空間に対応した地点が解析データ記憶手段47に記憶され、また、このグローバル座標に基づいた放送カメラ3aの位置が放送カメラ装置3から入力されるようにすることで、距離画像生成手段43が、この設定に基づいてグローバル座標を設定して図形の変換を行うことができる。
図1に戻って説明を続ける。入力手段44は、被写体について撮影した映像を放送カメラ3aから入力するものである。この放送カメラ3aから入力される映像は、複数のフレーム画像から構成され、時系列に入力される。入力された放送カメラ3aのフレーム画像は映像遅延部45へ出力される。
映像遅延部45は、入力手段44から入力された放送カメラ3aのフレーム画像を、実空間距離解析手段41によって解析された実空間距離と、距離画像生成手段43によって生成された距離画像とに同期させるために、例えば、数フレーム遅延させるものである。これによって、後記する画像合成手段46によって、実空間距離と距離画像と放送カメラ3aのフレーム画像とを同期させて合成でき、放送カメラ3aのフレーム画像に対応した距離情報を付加することができる。ここで、遅延された放送カメラ3aのフレーム画像は画像合成手段46へ出力される。
画像合成手段46は、実空間距離解析部41bから入力された実空間距離と、距離画像生成手段43から入力された距離画像とを、映像遅延部45から入力された放送カメラ3aのフレーム画像に合成して、付加画像を生成するものである。この付加画像は、放送カメラ3aによって撮影された映像に距離情報を付加した付加映像を構成するフレーム画像となるものであり、出力手段60に出力される。
ここで、図4を参照(適宜図1参照)して、画像合成手段46が、付加画像を生成する例について説明する。図4(a)は、映像遅延部から入力された、放送カメラのフレーム画像の例を示した説明図、図4(b)は、距離画像生成手段によって生成された距離画像の例を示した説明図、図4(c)は、画像合成手段によって生成された付加画像の例を示した説明図である。
図4(a)に示すように、放送カメラ3aによってカップAとゴルフボールBとが撮影されたフレーム画像が、映像遅延部45から入力されたとする。また、実空間距離解析部41bによって、ゴルフボールとカップとの実空間距離が算出されて、実空間距離として「4.5m」が画像合成手段46に入力されたとする。さらに、図4(b)に示すように、距離画像生成手段43によって、カップから1mの距離を示す距離線d1、3mの距離を示す距離線d2及び5mの距離を示す距離線d3に、カップから各距離線までの距離を表す文字j1,j2,j3とが付加された距離画像が生成され、この距離画像が画像合成手段46に入力されたとする。すると、画像合成手段46は、図4(a)の放送カメラ3aのフレーム画像に、「カップまで4.5m」という文字(図4(c)の文字J)を付加(合成)し、さらに、図4(b)に示す距離画像を合成して、図4(c)の画像(付加画像)を生成する。
図1に戻って説明を続ける。解析データ記憶手段47は、距離情報付加手段40において、実空間距離の解析と距離画像の生成に必要となる種々のデータを記憶するもので、半導体メモリ、ハードディスク等の一般的な記録媒体である。ここでは、解析データ記憶手段47に、地点位置データ47a及びセンサーカメラパラメータ47bを記憶することとした。
地点位置データ47aは、実空間距離解析手段41が実空間距離を解析する際に必要となる基準点の位置や、距離画像生成手段43が、距離画像を生成する際に必要となる実空間上の地点の位置等のデータを記憶するものである。そしてこの地点位置データ47aは、実空間距離解析手段41によって、実空間における被写体の位置から、実空間上の基準点までの距離である実空間距離を算出する際に参照されて用いられる。また、距離画像生成手段43によって、実空間上の所定の地点からの所定距離を示す距離画像を生成する際に参照されて用いられる。
センサーカメラパラメータ47bは、実空間距離解析手段41が実空間距離を解析する際に必要となる、センサーカメラ2のカメラパラメータを記憶するものである。このセンサーカメラ2のカメラパラメータには、実空間におけるセンサーカメラの位置、センサーカメラ2の横方向の回転角であるパンα、上下方向の回転角であるチルトδ、視線方向を回転軸とした回転角であるロールφと、映像内の被写体を拡大・縮小するようにカメラレンズを動かすズーム等がある。このセンサーカメラパラメータ47bは、実空間距離解析手段41によって、センサーカメラ2のフレーム画像内における被写体の位置を実空間に対応させて変換し、実空間距離を解析する際に参照されて用いられる。
出力手段60は、画像合成手段46から入力された付加画像を外部へ出力するものである。
以上、本発明に係る付加映像生成装置1の構成について説明したが、本発明はこれに限定されるものではない。例えば、センサーカメラ2のフレーム画像から被写体を検出する方法には、被写体の候補となる画像を抽出し、この画像から被写体を検出する方法を適用したが、これらの被写体検出方法に付加して、あるいは置き換えて、他の被写体検出方法を適用しても良い。また、ここでは、被写体の候補となる画像(被写体候補画像)を生成する方法として、輝度画像、輪郭画像及び他のフレーム画像との差分画像をそれぞれ生成し、これらの画像を積算して被写体候補画像を生成するようにしているが、例えば、輝度画像、輪郭画像及びの差分画像のうち1つの画像を生成して被写体候補画像としても良く、この場合には、画像積算部214aによる画像の積算を行う必要はない。
また、付加映像生成装置1は、外部に複数のセンサーカメラ(図示せず)を接続し、各センサーカメラ2に1つずつ入力手段10と被写体検出手段20とを備える構成としても良い。この場合、被写体検出手段20は、各々に入力されるセンサーカメラ2のフレーム画像から被写体の位置の検出を行い、被写体の位置を実空間距離解析手段41に出力する。そして、解析データ記憶手段47は、センサーカメラパラメータ47bとして複数のセンサーカメラのカメラパラメータを予め記憶し、実空間距離解析手段41は、入力された被写体の位置に対応するセンサーカメラのカメラパラメータに基づいて、被写体検出手段20から入力された被写体の位置から実空間距離を解析する。
これによって、例えば、被写体の移動範囲が大きく、1台の固定されたセンサーカメラでは撮影できない範囲にまで被写体が移動する場合でも、複数のセンサーカメラを設置することで、いずれかのセンサーカメラによって常に被写体を撮影でき、この映像に基づいて付加画像を生成することが可能になる。
さらに、本実施の形態の付加映像生成装置1では、外部に接続しているセンサーカメラ2は予め固定されて設置されていることとしたが、センサーカメラ2は、例えば撮影者によってカメラの向き、位置、ズーム等が変えられるようにしても良い。この場合、センサーカメラ2は、センサーカメラの雲台(図示せず)と、センサーカメラ2及び雲台からセンサーカメラ2の位置、視線方向及びカメラレンズの位置等を検出してセンサーカメラ2のカメラパラメータを生成するエンコーダ(図示せず)とを備えるものとする。
また、距離情報付加手段40は、センサーカメラ2のフレーム画像毎に、エンコーダからカメラパラメータを取得するセンサーカメラパラメータ取得手段(図示せず)を備えるようにする、そして、実空間距離解析手段41は、このセンサーカメラパラメータ取得手段から入力されるセンサーカメラ2のカメラパラメータに基づいて、実空間距離を解析する。これによって、付加映像生成装置1は、センサーカメラ2の位置や向きが変化した場合でも、センサーカメラ2のカメラパラメータに基づいて実空間距離を解析して、付加映像を生成することができるようになり、1台のセンサーカメラによって広範囲を撮影し、この映像に基づいて付加画像を生成することが可能になる。
また、本実施の形態の付加映像生成装置1では、放送カメラ3aによって撮影されたフレーム画像に距離情報を付加する構成としたが、外部にセンサーカメラ2のみを接続し、このセンサーカメラ2のフレーム画像から被写体の位置を検出し、さらにこのセンサーカメラ2のフレーム画像に実空間距離と距離画像を合成するようにしても良い。
この場合、距離画像生成手段43は、解析データ記憶手段47のセンサーカメラパラメータ47bのカメラパラメータに基づいて、距離画像を生成し、映像遅延部45は、入力手段10からセンサーカメラ2のフレーム画像を入力する。そして、画像合成手段46は、映像遅延部45から入力されたセンサーカメラ2のフレーム画像に実空間距離と距離画像とを合成する。
また、センサーカメラ2の位置や視線方向等を撮影者によって変えられるようにする場合には、センサーカメラ2は雲台とエンコーダ(図示せず)とを備えるものとする。そして、距離情報付加手段40は、センサーカメラのエンコーダからセンサーカメラのカメラパラメータを取得するセンサーカメラパラメータ取得手段(図示せず)を備えるようにする。さらに、センサーカメラパラメータ取得手段から入力されたセンサーカメラのカメラパラメータに基づいて、実空間距離解析手段41は、実空間距離を解析し、距離画像生成手段43は距離画像を生成するようにする。そして、画像合成手段46は、映像遅延部45から入力されたセンサーカメラ2のフレーム画像に実空間距離と距離画像とを合成することで付加画像を生成できる。これによって、センサーカメラ2で撮影した映像のフレーム画像から被写体の位置を検出し、センサーカメラの映像に実空間距離と距離情報とを付加することができるため、放送カメラを外部に接続する必要がなくなる。
さらに、付加映像生成装置1は、実空間距離として、フレーム画像内の被写体が地表面上にあると仮定して算出された、被写体と基準点との距離の近似値を算出するものであるが、センサーカメラ2の設置位置を地表面から鉛直上方向に十分に離れた位置にすれば、被写体が地表面に近い位置にない場合でも、地表面上にあると仮定したことで生じる実空間距離の誤差を小さくすることができる。そのため、地表面上にある被写体だけでなく様々な動体(被写体)に対して適用することができ、このような被写体について撮影した映像に、実空間距離等の距離情報を付加する付加映像生成装置1とすることができる。
さらに、本発明に係る付加映像生成装置1は、コンピュータ1台に全ての構成を持たせても良く、あるいは、1つ又は複数の被写体検出手段と距離情報付加手段とをコンピュータ数台に分けて持たせ、ネットワークを介してデータを移動させて、全体で付加映像生成装置1として機能させる構成としても良い。また、被写体検出手段20の検出データ記憶手段22と、距離情報付加手段40の解析データ記憶手段47とに記憶したデータは、1つの記憶手段に記憶しても良く、あるいは、複数の記憶手段に記憶することとしても良い。
なお、付加映像生成装置1の被写体検出手段20は、一般的なコンピュータにプログラム(被写体検出プログラム)を実行させ、コンピュータ内の演算装置や記憶装置を動作させることで実現することができる。また、付加映像生成装置1の距離情報付加手段40は、一般的なコンピュータにプログラム(距離情報付加プログラム)を実行させ、コンピュータ内の演算装置や記憶装置を動作させることで実現することができる。この被写体検出プログラムと距離情報付加プログラムは、通信回線を介して配布することもできるし、また、CD−ROM等の記録媒体に記録して配布することも可能である。
[付加映像生成装置の動作]
次に、図5乃至図8を参照(適宜図1参照)して、本発明における付加映像生成装置1の動作について説明する。図5は、本発明における付加映像生成装置が、センサーカメラによって被写体について撮影した映像から被写体の位置を検出し、放送カメラによって被写体について撮影した映像に、実空間距離と距離画像とからなる距離情報を付加した付加映像を生成する動作を示したフローチャートである。図6は、付加映像生成装置の被写体検出手段が、センサーカメラによって被写体について撮影した映像を構成するフレーム画像から被写体の位置を検出する動作(被写体検出動作)を示したフローチャートである。図7は、付加映像生成装置の実空間距離解析手段が、センサーカメラのフレーム画像内における被写体の位置に基づいて、実空間上の基準点から被写体までの距離を解析する動作(実空間距離解析動作)を示したフローチャートである。図8は、付加映像生成装置の距離画像生成手段が、放送カメラのフレーム画像に対応する、実空間上の所定の地点からの所定距離を示す距離画像を生成する動作(距離画像生成動作)を示したフローチャートである。
図5を参照(適宜図1参照)して、付加映像生成装置1が、センサーカメラ2によって被写体について撮影した映像から被写体の位置を検出し、放送カメラ3aによって被写体について撮影した映像を構成するフレーム画像に実空間距離と距離画像とを付加した付加画像を生成して、この付加画像から構成される付加映像を生成する動作について説明する。
付加映像生成装置1は、解析データ記憶手段47に、センサーカメラのカメラパラメータであるセンサーカメラパラメータ47bを登録(記憶)する(ステップS11)。そして、付加映像生成装置1は、センサーカメラ2と放送カメラ3aから各々のフレーム画像を入力し、エンコーダ3cから放送カメラ3aのカメラパラメータを入力する(ステップS12)。さらに、距離情報付加手段40の映像遅延部45は、ステップS12において入力された放送カメラ3aのフレーム画像を遅延させる(ステップS13)。
そして、被写体検出手段20は、後記する被写体検出動作によって、ステップS12において入力されたセンサーカメラ2のフレーム画像から被写体の位置を検出する(ステップS14、被写体検出ステップ)。
さらに、実空間距離解析手段41は、後記する実空間解析動作によって、ステップS14において解析された、センサーカメラ2のフレーム画像内における被写体の位置に基づいて、実空間上の基準点から被写体までの距離である実空間距離を解析する(ステップS15、実空間距離解析ステップ)。
また、距離画像生成手段43は、後記する距離画像生成動作によって、ステップS12において入力された放送カメラ3aのフレーム画像に対応する、実空間上の所定の地点からの所定距離を示す距離画像を生成する(ステップS16)。
そして、画像合成手段46は、放送カメラ3aで撮影したフレーム画像に、ステップS15において解析された実空間距離と、ステップS16において生成された距離画像とを合成した付加画像を生成する(ステップS17、画像合成ステップ)。
さらに、出力手段60によって、ステップS17において生成された付加画像を出力する(ステップS18)。
そして、新たなフレーム画像がセンサーカメラ2と放送カメラ3aから入力される場合(ステップS19でYes)には、ステップS12に戻って、センサーカメラ2と放送カメラ3aから各々のフレーム画像を入力し、また、放送カメラ3aのカメラパラメータを入力する動作以降の動作を行う。一方、新たなフレーム画像がセンサーカメラ2と放送カメラ3aから入力されない場合(ステップS19でNo)には、動作を終了する。
以上の動作によって、付加映像生成装置1は、被写体について撮影した映像を出力するセンサーカメラ2及び放送カメラ3aから時系列に入力されるフレーム画像毎に、センサーカメラ2のフレーム画像から被写体の位置を検出する。そして、付加映像生成装置1は、放送カメラ3aのフレーム画像毎に実空間距離を示す画像と距離画像とを合成した付加画像を生成することで、距離情報を付加した付加映像を生成することができる。
また、入力されたセンサーカメラ2のフレーム画像毎に実空間距離を算出し、センサーカメラ2のフレーム画像と同時刻に撮影された放送カメラ3aのフレーム画像に、実空間距離を示す画像を合成するので、フレーム画像内の被写体に対応した実空間距離を距離情報として付加することができる。そのため、実空間上を被写体が移動することで実空間距離が時間とともに変化する場合でも、フレーム画像毎にそのフレーム画像の撮影時点に対応した実空間距離が合成された付加画像から構成された付加映像を生成することができる。
また、ここでは、センサーカメラ2のフレーム画像から、このフレーム画像内の被写体の位置を検出し、このセンサーカメラ2のフレーム画像内の被写体の位置に基づいて、実空間距離を解析する動作(ステップS14、S15)を行った後に、放送カメラ3aに対応した距離画像を生成する動作(ステップS16)を行うようにしたが、距離画像を生成(ステップS16)した後に、センサーカメラ2のフレーム画像から被写体の位置を検出し、実空間距離を解析する(ステップS14、S15)ようにしても良いし、またセンサーカメラ2のフレーム画像から被写体の位置を検出し、実空間距離を解析する動作(ステップS14、S15)と、距離画像を生成する動作(ステップS16)とを同時に行うようにしても良い。
[被写体検出動作(被写体検出ステップ)]
次に図6を参照(適宜図1参照)して、付加映像生成装置1の被写体検出手段20(被写体検出装置)が、センサーカメラ2によって被写体について撮影した映像を構成するフレーム画像から被写体の位置を検出する、被写体検出動作(図5のステップS14)について説明する。
まず、被写体検出手段20は、図5のステップS12において入力されたセンサーカメラ2のフレーム画像が、被写体検出手段20によって既に被写体の位置を検出した他のフレーム画像の次に入力されたフレーム画像であるか、あるいは、時系列に入力されるフレーム画像の先頭のフレーム画像であるかを判断する(ステップS31)。そして、図5のステップS12において入力されたセンサーカメラ2のフレーム画像が、時系列に入力されるフレーム画像の先頭の画像である場合(ステップS31でYes)には、被写体検出手段20は、被写体の探索領域をセンサーカメラ2のフレーム画像の全範囲に設定し、ステップS33に進む。また、図5のステップS12において入力されたセンサーカメラ2のフレーム画像が、被写体検出手段20によって既に被写体の位置を検出した他のフレーム画像の次に入力されたフレーム画像である場合(ステップS31でNo)には、そのままステップS33に進む。
そして、輝度画像生成部211は、図5のステップS12において、センサーカメラ2から入力されたフレーム画像の探索領域内をモノクロ(グレースケール)化した輝度画像を生成する。また、輪郭画像生成部212は、センサーカメラ2から入力されたフレーム画像の探索領域から、輝度に基づいて輪郭(エッジ)を抽出した輪郭画像を生成する。さらに、差分画像生成部213は、センサーカメラ2から時系列に入力されるフレーム画像の探索領域から、異なる時間に入力されたフレーム画像の探索領域間の輝度の差を画素値とした差分画像を生成する(ステップS33)。
そして、被写体候補抽出部214の画像積算部214aは、ステップS33において生成された輝度画像、輪郭画像及び差分画像にそれぞれ重みを持たせて乗算し、被写体を抽出するための画像である抽出用画像を生成する(ステップS34)。
さらに、被写体候補抽出部214の2値化部214bは、ステップS34において生成された抽出用画像を2値化することで、複数の被写体の候補を抽出する。また、ノイズ除去部214cは、この2値化画像から、被写体の候補のうち微細なものをノイズとして除去し、被写体の候補を抽出した被写体候補画像を生成する(ステップS35)。そして、被写体位置検出部23のラベリング部23aは、ステップS35において生成された被写体候補画像の中で、被写体の候補となる領域に対して番号(ラベル)を付す(ステップS36)。
さらに、被写体選択部23bは、ステップS36において番号付けされた被写体の候補毎に、検出データ記憶手段22に記憶されている抽出条件(抽出条件データ22a)に合致する被写体かどうかを判定することで、検出対象となる被写体を選択する(ステップS37)。ここで、被写体選択部23bは、被写体の候補毎に、検出データ記憶手段22に記憶されている抽出条件データ22aで示される抽出条件(例えば、面積、輝度、色、アスペクト比及び円形度)に基づいて、フィルタリングを行い、抽出条件を満たす被写体の候補を、抽出すべき被写体として選択する。また、抽出条件データ22aに合致する被写体の候補が複数存在する場合には、被写体位置データ22bで示される、前フレーム画像における被写体の座標に最も近い画像を、抽出すべき被写体として選択する。
そして、被写体解析部23cは、ステップS37において選択された被写体を解析し、フレーム画像内での被写体の位置を解析する(ステップS38)。
さらに、探索領域推定部24は、ステップS38において解析されたフレーム画像内での被写体の位置に基づいて、次にセンサーカメラ2から入力されるフレーム画像における、被写体の探索領域を推定する(ステップS39)。ここで、探索領域推定部24は、例えば、重心座標にカルマンフィルタ(Kalman filter)等を適用することで、次フレーム画像における被写体の位置を予測し、探索領域を推定することができる。
以上の動作によって、付加映像生成装置1の被写体検出手段20は、センサーカメラ2のフレーム画像から被写体の位置を検出することができる。
[実空間距離解析動作(実空間距離解析ステップ)]
次に図7を参照(適宜図1、図5、図6参照)して、付加映像生成装置1の実空間距離解析手段41が、センサーカメラ2のフレーム画像内における被写体の位置に基づいて、実空間上の基準点から被写体までの距離である実空間距離を解析する、実空間距離解析動作(図5のステップS15)について説明する。
付加映像生成装置1は、実空間距離解析手段41の被写体位置変換部41aによって、実空間に対応するグローバル座標を設定する(ステップS71)。そして、被写体位置変換部41aは、ステップS71において設定されたグローバル座標上に、解析データ記憶手段47に記憶されたセンサーカメラパラメータ47bに基づいて、センサーカメラ2の位置を設定する(ステップS72)。さらに、被写体位置変換部41aは、ステップS72において設定されたセンサーカメラ2の位置を原点とするセンサーカメラ座標軸を設定する(ステップS73)。
そして、被写体位置変換部41aは、図5のステップS14(図6のステップS38)において解析されたセンサーカメラ2のフレーム画像平面上の被写体の位置(座標)を、センサーカメラ座標に変換する(ステップS74)。さらに、被写体位置変換部41aは、ステップS74において変換されたセンサーカメラ座標上の被写体の位置(座標)を、グローバル座標に変換する(ステップS75)。この、ステップS74とS75における被写体の位置(座標)の変換は、透視変換と同次変換によって行うことができる。
そして、実空間距離解析部41bは、ステップS75において変換された、実空間に対応したグローバル座標上の被写体の位置と、解析データ記憶手段47に記憶されたグローバル座標上の基準点の位置とに基づいて、基準点から被写体までの実空間での距離を算出する(ステップS76)
以上の動作によって、付加映像生成装置1の実空間距離解析手段41は、被写体検出手段20によって解析されたセンサーカメラ2のフレーム画像内における被写体の位置に基づいて、実空間上の基準点から被写体までの距離である実空間距離を算出することができる。
[距離画像生成動作]
次に図8を参照(適宜図1参照)して、付加映像生成装置1の距離画像生成手段43が、放送カメラ3aのフレーム画像に対応する、実空間上の所定の地点からの所定距離を示す距離画像を生成する、距離画像生成動作(図5のステップS16)について説明する。
付加映像生成装置1は、距離画像生成手段43によって、実空間に対応するグローバル座標を設定する(ステップS91)。そして、距離画像生成手段43は、図5のステップS12において入力された放送カメラ3aのカメラパラメータに基づいて、このグローバル座標上に放送カメラ3aの位置を設定する(ステップS92)。さらに、距離画像生成手段43は、ステップS92において設定された、グローバル座標上の放送カメラ3aの位置を原点とする放送カメラ座標軸を設定する(ステップS93)。
そして、距離画像生成手段43は、ステップS91において設定されたグローバル座標上に、解析データ記憶手段47の地点位置データ47aに基づいて、距離画像を生成する対象となる所定地点の位置を設定する(ステップS94)。さらに、距離画像生成手段43は、グローバル座標上設定された所定地点からの所定距離を示す図形を生成する(ステップS95)。
そして、距離画像生成手段43は、ステップS95において生成された所定地点からの所定距離を示す図形を、放送カメラ座標に変換する(ステップS96)。さらに、距離画像生成手段43は、ステップS96において変換された放送カメラ座標上の図形を、放送カメラ3aのフレーム画像平面上の座標に変換し、距離画像を生成する(ステップS97)。この、ステップS96とS97における図形の変換は、透視変換と同次変換によって行うことができる。
以上の動作によって、付加映像生成装置1の距離画像生成手段43は、放送カメラ3aのカメラパラメータに基づいて、実空間上の所定地点からの所定距離を示す距離画像を生成することができる。