(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-13
(45)【発行日】2023-11-21
(54)【発明の名称】映像生成プログラム、映像生成方法及び映像生成システム
(51)【国際特許分類】
H04N 5/268 20060101AFI20231114BHJP
H04N 5/262 20060101ALI20231114BHJP
H04N 21/258 20110101ALI20231114BHJP
H04N 23/60 20230101ALI20231114BHJP
【FI】
H04N5/268
H04N5/262
H04N21/258
H04N23/60 300
H04N23/60 500
(21)【出願番号】P 2019217050
(22)【出願日】2019-11-29
【審査請求日】2022-08-09
【新規性喪失の例外の表示】特許法第30条第2項適用 InterBEE2019 公開日 令和1年11月13日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】秋山 深一
(72)【発明者】
【氏名】川野 清志
(72)【発明者】
【氏名】宮島 眞一郎
(72)【発明者】
【氏名】宮崎 晋
(72)【発明者】
【氏名】矢吹 光昭
【審査官】鈴木 肇
(56)【参考文献】
【文献】特開2002-236913(JP,A)
【文献】国際公開第2014/024475(WO,A1)
【文献】特開2005-223487(JP,A)
【文献】特開2017-175507(JP,A)
【文献】特開2001-036898(JP,A)
【文献】特表2017-531979(JP,A)
【文献】特開2000-333080(JP,A)
【文献】特開2009-272970(JP,A)
【文献】特開2018-182566(JP,A)
【文献】米国特許出願公開第2003/0179294(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 - 1/40
G06T 3/00 - 7/90
G06V 10/00 -20/90
G06V 30/418
G06V 40/16
G06V 40/20
H04N 5/222- 5/28
H04N 7/10
H04N 7/14 - 7/56
H04N 21/00 -21/858
H04N 23/00
H04N 23/40 -23/76
H04N 23/90 -23/959
(57)【特許請求の範囲】
【請求項1】
複数の選手が競技を行うフィールドに設置された複数の第1カメラが撮影した第1映像情報を基にして、特定された前記複数の選手おのおのの第1位置情報を受信し、
前記競技を撮影する第2カメラから、第2映像情報を取得し、
前記複数の選手のうち、特定の選手の識別情報を受け付けた場合、前記識別情報を受け付けた以降の前記特定の選手の第1位置情報を、前記第2映像情報における第2位置情報に、変換し、
所定時間内において変換された複数の第2位置情報の平均値に基づいて、前記第2映像情報の一部の領域を切り出した第3映像情報を生成し、
前記第3映像情報を出力する
処理をコンピュータに実行させることを特徴とする映像生成プログラム。
【請求項2】
前記第3映像情報は、前記特定の選手のアップ映像であることを特徴とする請求項1に記載の映像生成プログラム。
【請求項3】
前記第2カメラは、前記第1カメラよりも高解像度のカメラであって、
前記第2カメラの前記第2映像情報から切り出された前記第3映像情報は、前記競技の視聴者の端末に配信される情報である
ことを特徴とする請求項1に記載の映像生成プログラム。
【請求項4】
前記第2映像情報を取得する処理は、前記フィールドの各領域をそれぞれ撮影する複数の第2カメラから複数の部分映像情報を取得し、前記複数の部分映像情報を基にして、前記第2映像情報を生成する処理を更に実行させることを特徴とする請求項1、2または3に記載の映像生成プログラム。
【請求項5】
前記第2映像情報を取得する処理は、前記複数の部分映像情報の歪みを補正し、歪みを補正した複数の部分映像情報を基にして、前記第2映像情報を生成する処理を実行させることを特徴とする請求項4に記載の映像生成プログラム。
【請求項6】
前記競技において発生するイベントに関連する選手を、前記特定の選手として取得する処理を更に実行させることを特徴とする請求項1~5いずれか一つに記載の映像生成プログラム。
【請求項7】
前記生成する処理は、前記平均
値に基づいて、前記第2映像情報の一部の領域を切り出した他の映像情報を生成する処理を実行させることを特徴とする請求項1~6のいずれか一つに記載の映像生成プログラム。
【請求項8】
前記第1位置情報は、前記フィールドにおける前記複数の選手それぞれの3次元位置を示す情報であって、
前記第2位置情報は、前記第2映像情報における前記複数の選手それぞれの2次元位置を示す情報である
ことを特徴とする請求項1~6のいずれか一つに記載の映像生成プログラム。
【請求項9】
複数の選手が競技を行うフィールドに設置された複数の第1カメラが撮影した第1映像情報を基にして、特定された前記複数の選手おのおのの第1位置情報を受信し、
前記競技を撮影する第2カメラから、第2映像情報を取得し、
前記複数の選手のうち、特定の選手の識別情報を受け付けた場合、前記識別情報を受け付けた以降の前記特定の選手の第1位置情報を、前記第2映像情報における第2位置情報に、変換し、
所定時間内において変換された複数の第2位置情報の平均値に基づいて、前記第2映像情報の一部の領域を切り出した第3映像情報を生成し、
前記第3映像情報を出力する
処理をコンピュータが実行することを特徴とする映像生成方法。
【請求項10】
第1サーバと第2サーバとを有する映像生成システムであって、
前記第1サーバは、
複数の選手が競技を行うフィールドに設置された複数の第1カメラから、第1映像情報を取得する第1取得部と、
前記第1映像情報を基にして、前記複数の選手おのおのの第1位置情報を、特定する特定部と、
前記複数の選手おのおのの第1位置情報を前記第2サーバに送信する送信部を有し、
前記第2サーバは、
前記第1サーバから前記複数の選手おのおのの第1位置情報を受信する受信部と、
前記競技を撮影する第2カメラから、第2映像情報を取得する第2取得部と、
前記複数の選手のうち、特定の選手の識別情報を受け付けた場合、前記識別情報を受け付けた以降の前記特定の選手の第1位置情報を、前記第2映像情報における第2位置情報に、変換する変換部と、
前記変換部によって、
所定時間内において変換された複数の第2位置情報の平均値に基づいて、前記第2映像情報の一部の領域を切り出した第3映像情報を生成する生成部と、
前記第3映像情報を出力する出力制御部と
を有することを特徴とする映像生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像生成プログラム等に関する。
【背景技術】
【0002】
図23は、従来の放送システムの一例を説明するための図である。従来の放送システムでは、カメラC1,C2,C3を用いて複数の映像情報をそれぞれ撮影する。ここでは一例として、バスケットの試合をインターネット放送する場合について説明する。従来の放送システムにおいて、カメラC1~C3はそれぞれ、各カメラマンの操作により撮影される。
【0003】
カメラC1は、コート1の俯瞰映像を撮影するカメラである。カメラC2は、選手等に寄った映像情報を撮影するカメラである。カメラC3は、ゴール下の映像情報を撮影するカメラである。カメラC1~C3の映像情報はそれぞれ、スイッチャー2に出力される。スイッチャー2は、サーバ3に接続される。サーバ3は、視聴者の端末装置(図示略)に映像情報を送信する。
【0004】
図24は、各カメラによって撮影される映像情報を示す図である。映像情報M1-1,M1-2,M1-3は、カメラC1によって撮影される映像情報である。カメラマンは、カメラC1を操作して、カメラの撮影方向を変更したり、ズームしたりする。たとえば、カメラマンがカメラC1を横に振ることで、映像情報は、映像情報M1-1から、映像情報M1-2となる。また、カメラマンがズーム操作を行うことで、映像情報M1-2は、映像情報M1-3となる。
【0005】
映像情報M2は、カメラC2によって撮影される映像情報である。カメラマンは、特定の選手が映るように、カメラC2を操作する。たとえば、カメラマンは、特定の選手がゴールを決めたことを確認すると、特定の選手のアップ映像を撮影する。
【0006】
映像情報M3は、カメラC3によって撮影される映像情報である。カメラマンは、カメラC3を操作して、ゴール下の映像情報を撮影する。
【0007】
スイッチャー2は、カメラC1~C3から出力される各映像情報から、サーバ3に出力する映像情報を選択する装置であり、管理者により操作される。たとえば、管理者は、スイッチャー2を操作して、まず、カメラC1の映像情報を選択することで、攻守全体の動きを捉えた映像情報M1-1,M1-2,M1-3をサーバ3に出力する。続いて、管理者は、特定の選手がゴールを決めたことを確認すると、カメラC2の映像情報を選択して、ゴールを決めた選手の映像情報M2をサーバ3に出力する。これによって、視聴者は、映像情報M1-1,M1-2,M1-3,M2を順に、映像情報を視聴することができる。
【0008】
なお、映像情報を基にして、映像に含まれる群衆を検出し、映像情報に群衆が含まれるように、撮影装置を自動で制御する従来技術もある。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2006-312088号公報
【文献】特開2010-183301号公報
【文献】特開2015-070503号公報
【文献】特開2001-230993号公報
【文献】特開2009-153144号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上述した従来技術では、複数の選手が競技を行うフィールド全体の映像情報から、特定の選手に関する映像情報を自動生成することができないという問題がある。
【0011】
たとえば、従来の放送システムでは、特定の選手に関する映像情報はカメラを操作するカメラマンが自律的に撮影することで、生成される。たとえば、カメラC2を操作するカメラマンが、ゴールを決めた選手をアップにするなどの判断により、特定の選手のアップ映像が生成される。つまり、複数の選手が競技を行うフィールド全体の映像情報から、特定の選手に関する映像情報を自動生成するものではない。また、群衆を検出する従来技術を用いても、特定の選手を捉えた映像情報を自動撮影することはできない。
【0012】
1つの側面では、本発明は、複数の選手が競技を行うフィールド全体の映像情報から、特定の選手に関する映像情報を自動生成することができる映像生成プログラム、映像生成方法及び映像生成システムを提供することを目的とする。
【課題を解決するための手段】
【0013】
第1の案では、コンピュータは、次の処理を実行する。コンピュータは、複数の選手が競技を行うフィールドに設置された複数の第1カメラが撮影した第1映像情報を基にして、特定された複数の選手おのおのの第1位置情報を受信する。コンピュータは、競技を撮影する第2カメラから、第2映像情報を取得する。コンピュータは、複数の選手のうち、特定の選手の識別情報を受け付けた場合、識別情報を受け付けた以降の特定の選手の第1位置情報を、第2映像情報における第2位置情報に、変換する。コンピュータは、変換された第2位置情報に基づいて、第2映像情報の一部の領域を切り出した第3映像情報を生成し、第3映像情報を出力する。
【発明の効果】
【0014】
複数の選手が競技を行うフィールド全体の映像情報から、特定の選手に関する映像情報を自動生成することができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、本実施例1に係る映像生成システムの一例を示す図である。
【
図2】
図2は、本実施例1に係る第2サーバの処理を説明するための図である。
【
図3】
図3は、本実施例1に係る第1サーバの構成を示す機能ブロック図である。
【
図4】
図4は、第1映像バッファのデータ構造の一例を示す図である。
【
図5】
図5は、トラッキングテーブルのデータ構造の一例を示す図である。
【
図6】
図6は、本実施例1に係る第2サーバの構成を示す機能ブロック図である。
【
図7】
図7は、トラッキング情報バッファのデータ構造の一例を示す図である。
【
図8A】
図8Aは、第2映像バッファのデータ構造の一例を示す図である。
【
図8B】
図8Bは、俯瞰映像情報バッファのデータ構造の一例を示す図である。
【
図8C】
図8Cは、変換テーブルのデータ構造の一例を示す図である。
【
図8D】
図8Dは、第3映像情報バッファのデータ構造の一例を示す図である。
【
図9】
図9は、俯瞰映像情報を生成する処理を説明するための図である。
【
図10】
図10は、生成部が第3映像情報を生成する処理を説明するための図(1)である。
【
図11】
図11は、生成部が第3映像情報を生成する処理を説明するための図(2)である。
【
図12】
図12は、本実施例1に係る映像配信サーバの構成を示す機能ブロック図である。
【
図13】
図13は、本実施例1に係る第1サーバの処理手順を示すフローチャートである。
【
図14A】
図14Aは、本実施例1に係る第2サーバの処理手順を示すフローチャートである。
【
図14B】
図14Bは、本実施例1に係る映像配信サーバの処理手順を示すフローチャートである。
【
図16】
図16は、本実施例2に係る映像生成システムの一例を示す図である。
【
図17】
図17は、本実施例2に係る第2サーバの構成を示す機能ブロック図である。
【
図18】
図18は、本実施例2に係る映像配信サーバの構成を示す機能ブロック図である。
【
図19】
図19は、本実施例2に係る第2サーバの処理手順を示すフローチャートである。
【
図20】
図20は、第1サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図21】
図21は、第2サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図22】
図22は、映像配信サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図23】
図23は、従来の放送システムの一例を説明するための図である。
【
図24】
図24は、各カメラによって撮影される映像情報を示す図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示する映像生成プログラム、映像生成方法及び映像生成システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0017】
図1は、本実施例1に係る映像生成システムの一例を示す図である。
図1に示すように、この映像生成システムは、第1カメラ4a~4i、第2カメラ5a,5b,5c、第3カメラ6a,6b、第4カメラ7、第5カメラ8を有する。また、この映像生成システムは、第1サーバ100と、第2サーバ200と、映像配信サーバ300とを有する。
【0018】
第1カメラ4a~4iは、第1サーバ100に接続される。第1カメラ4a~4iをまとめて、「第1カメラ4」と表記する。第2カメラ5a~5cは、第2サーバ200に接続される。第2カメラ5a~5cをまとめて、「第2カメラ5」と表記する。第3カメラ6a,6bは、第2サーバ200に接続される。第3カメラ6a,6bをまとめて、「第3カメラ6」と表記する。第4カメラ7は、第2サーバ200に接続される。第1サーバ100および第2サーバ200は、相互に接続される。第2サーバ200と、映像配信サーバ300とは、ネットワーク(閉域網)50を介して相互に接続される。
【0019】
コート1において、複数の選手(図示略)が競技を行う。本実施例1では、選手がコート1でバスケットボールの試合を行う場合について説明するが、これに限定されるものではない。たとえば、本発明は、バスケットボールの他にも、サッカー、バレーボール、野球、陸上等の競技や、ダンス等にも適用することができる。
【0020】
第1カメラ4は、所定のフレームレート(FPS:Frames Per Second)によって撮影した、撮影範囲の映像情報を、第1サーバ100に出力するカメラ(たとえば、2Kカメラ)である。以下の説明では、第1カメラ4が撮影した映像情報を「第1映像情報」と表記する。第1映像情報は、選手おのおのの位置情報を特定する場合に用いられる。なお、選手おのおのの位置情報は、基準空間における3次元位置を示すものとする。第1映像情報には、第1映像情報を撮影したカメラ4を一意に識別するカメラIDおよび各フレームの時刻情報が付与される。
【0021】
第2カメラ5は、所定のフレームレート(FPS)によって撮影した、撮影範囲の映像情報を、第2サーバ200に出力するカメラ(たとえば、4Kカメラまたは8Kカメラ)である。以下の説明では、第2カメラ5が撮影した映像情報を「部分映像情報」と表記する。第2カメラ5aの撮影範囲と、第2カメラ5bの撮影範囲と、第2カメラ5cの撮影範囲とを組み合わせた撮影範囲は、コート1の全領域を含むものとする。部分映像情報には、部分映像情報を撮影したカメラ5を一意に識別するカメラIDおよび各フレームの時刻情報が付与される。各部分映像情報を接続することで、俯瞰映像情報が生成される。俯瞰映像情報は「第2映像情報」に対応する。
【0022】
第3カメラ6は、コート1のゴール下に設置され、所定のフレームレート(FPS)によって撮影した、撮影範囲の映像情報を、第2サーバ200に出力するカメラ(2Kカメラ)である。以下の説明では、第3カメラ6が撮影した映像情報を「コート下映像情報」と表記する。
【0023】
第4カメラ7は、タイマー7aおよびスコアボード7bを撮影範囲に含むカメラである。タイマー7aは、現在時刻と、試合の経過時間を表示する装置である。スコアボード7bは、試合の得点を表示する装置である。以下の説明では、第4カメラ7が撮影した映像情報を、「スコア映像情報」と表記する。タイマー7aと、スコアボード7bとは一体の装置であってもよい。
【0024】
第1サーバ100は、第1カメラ4から、第1映像情報を取得し、第1映像情報を基にして、複数の選手おのおのの位置情報を順次特定する装置である。第1サーバ100が特定する、複数の選手おのおのの位置情報を「第1位置情報」と表記する。なお、第1位置情報は、基準空間における3次元位置を示す。第1サーバ100は、フレームレートなどの時間を識別する情報と、第1位置情報と、選手を一意に識別する識別情報とを対応付けた「トラッキング情報」を、第2サーバ200に送信する。
【0025】
第2サーバ200は、第1サーバ100からトラッキング情報を取得するとともに、第2カメラ5から、複数の部分映像情報を取得する。第2サーバ200は、複数の部分映像情報を基にして、俯瞰映像情報を生成する。第2サーバ200は、複数の選手のうち、特定の選手の識別情報を受け付けた場合、トラッキング情報を基にして、識別情報を受け付けた以降の特定の選手の位置情報を、俯瞰映像情報における位置情報(以下、第2位置情報)に順次、変換する処理を行う。第2サーバ200は、第2位置情報に基づいて、俯瞰映像情報の一部の領域を切り出した第3映像情報を生成する。第2サーバ200は、生成した第3映像情報を、映像配信サーバ300に送信する。なお、第2位置情報は、基準平面における2次元位置である。
【0026】
図2は、本実施例1に係る第2サーバの処理を説明するための図である。
図2に示す俯瞰映像情報10Aは、第2カメラ5が撮影した各部分映像情報を接続した映像情報である。たとえば、第2サーバ200は、選手P1の識別情報を受け付けた場合について説明する。第2サーバ200は、選手P1の識別情報と、トラッキング情報とを比較して、選手P1に対応する第1位置情報を特定する。第2サーバ200は、選手P1に対応する第1位置情報を、俯瞰映像情報10Aにおける第2位置情報(x
P1,y
P1)に変換する。
【0027】
第2サーバ200は、第2位置情報(xP1,yP1)に基づいて、俯瞰映像情報10Aの一部の領域A1を切り出す。第2サーバ200は、切り出した領域A1の映像情報を、第3映像情報10Bとして生成する。たとえば、俯瞰映像情報10Aの解像度は、4Kであり、第3映像情報10Bの解像度は、2Kあるいは、HD(High Definition)である。第2サーバ200は、特定の選手の識別情報が指定された後、所定期間、トラッキング情報を基にして、特定の選手の第2位置情報を順次特定し、第2位置情報を基にして、俯瞰映像情報10Aの一部の領域を切り出して、第3映像情報を生成する処理を実行する。
【0028】
映像配信サーバ300は、第2サーバ200から、第3映像情報を受信し、受信した第3映像情報を、視聴者の端末装置(図示略)に配信する装置である。
【0029】
このように、本実施例1に係る映像生成システムによれば、第1サーバ100は、第1映像情報に基づいてトラッキング情報を生成する。第2サーバ200は、特定の選手の識別情報を受け付けた場合に、トラッキング情報に基づき特定可能な特定の選手の第1位置情報を、俯瞰映像情報の第2位置情報に変換する。そして、第2サーバ200は、俯瞰映像情報から、特定の選手の第2位置情報を基準とする一部の領域を切り出した第3映像情報を生成する。これによって、複数の選手が競技を行うコート1全体の第2映像情報から、特定の選手に関する第3映像情報を自動生成することができる。つまり、従来、カメラC2を操作するカメラマンなどが、特定の選手のアップ映像などを撮影することで生成されていた特定の選手の映像情報を、本実施例の映像生成システムは自動で生成することができる。
【0030】
次に、
図1に示した第1サーバ100の構成の一例について説明する。
図3は、本実施例1に係る第1サーバの構成を示す機能ブロック図である。
図3に示すように、この第1サーバ100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0031】
通信部110は、第1カメラ4および第2サーバ200との間で情報通信を実行する処理部である。通信部110は、NIC(Network Interface Card)等の通信装置に対応する。たとえば、通信部110は、第1カメラ4から第1映像情報を受信する。後述する制御部150は、通信部110を介して、第1カメラ4、第2サーバ200と情報をやり取りする。
【0032】
入力部120は、各種の情報を、第1サーバ100に入力する入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。
【0033】
表示部130は、制御部150から出力される情報を表示する表示装置である。表示部130は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、タッチパネル等に対応する。
【0034】
記憶部140は、第1映像バッファ141と、トラッキングテーブル142とを有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0035】
第1映像バッファ141は、第1カメラ4が撮影した第1映像情報を保持するバッファである。
図4は、第1映像バッファのデータ構造の一例を示す図である。
図4に示すように、第1映像バッファ141は、カメラIDと、第1映像情報とを対応付ける。カメラIDは、第1カメラ4を一意に識別する情報である。たとえば、第1カメラ4a~4iに対応するカメラIDをそれぞれ、カメラID「C4a~C4i」とする。第1映像情報は、該当する第1カメラ4により撮影された映像情報である。
【0036】
第1映像情報は、時系列に並んだ複数の画像フレームを含む。画像フレームは、1コマの静止画像のデータである。第1映像情報に含まれる画像フレームを、「第1画像フレーム」と表記する。各第1画像フレームには、時刻情報が付与される。
【0037】
トラッキングテーブル142は、選手に関する各時刻の位置座標(移動軌跡)の情報を保持するテーブルである。
図5は、トラッキングテーブルのデータ構造の一例を示す図である。
図5に示すように、このトラッキングテーブル142は、識別情報と、チーム識別情報と、時刻と、座標とを対応付ける。
【0038】
識別情報は、選手を一意に識別する情報である。チーム識別情報は、選手の属するチームを一意に識別する情報である。時刻は、選手を検出した第1画像フレームの時刻を示す情報である。座標は、選手の座標を示し、第1位置情報に対応する。たとえば、チーム識別情報「A」のチームに属する選手識別情報「H101」の選手は、時刻「T1」において、座標「xa11,ya11」に位置する。
【0039】
図3の説明に戻る。制御部150は、取得部151と、特定部152と、送信部153とを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
【0040】
取得部151は、第1カメラ4から第1映像情報を取得する処理部である。取得部151は、取得した第1映像情報を、第1映像バッファ141に格納する。取得部151は、第1映像情報を第1映像バッファ141に格納する場合、第1映像情報と、第1カメラ4のカメラIDとを対応付けて格納する。取得部151は、「第1取得部」に対応する。
【0041】
特定部152は、第1映像バッファ141に格納された第1映像情報を基にして、複数の選手おのおのの第1位置情報を、順次、特定する処理部である。特定部152は、特定した結果を基にして、選手の識別情報、チーム識別情報、時刻、座標を対応付けて、トラッキングテーブル142に登録する。以下において、特定部152が、第1映像情報(第1画像フレーム)に含まれる、ある選手の第1位置情報を特定する処理の一例について説明する。また、第1映像情報は、第1カメラ4aに撮影された第1映像情報とする。なお、選手の第1位置情報を特定する処理は、下記の処理に限定されるものではない。
【0042】
特定部152は、第1映像バッファ141から、時刻T1の第1画像フレームと、時刻T2の第1画像フレームとの差分画像を生成する。特定部152は、差分画像に残った領域の面積と、選手の面積を定義したテンプレートとの比較を行い、テンプレートの面積との差が閾値未満となる差分画像上の領域を、選手として検出する。
【0043】
特定部152は、差分画像から算出した選手の座標(第1画像フレーム上の座標)を、変換テーブル(図示略)を基にして、全体座標に変換する。この変換テーブルは、一つの第1カメラ4(たとえば、第1カメラ4a)に撮影された第1画像フレーム上の座標と、全第1カメラ4a~4iで共通する全体座標との対応関係を定義したテーブルであり、事前に設定されているものとする。かかる全体座標に示される位置が、選手の第1位置情報となる。
【0044】
特定部152は、第1画像フレームから検出した選手の識別情報を割り当てる。たとえば、特定部152は、事前に設定される各選手のユニフォーム(背番号等)の特徴を基にして、選手の識別情報を割り当てる。また、特定部152は、事前に設定される各チームのユニフォームの特徴を基にして、第1画像フレームから検出した選手のチーム識別情報を特定する。
【0045】
特定部152は、上記処理を実行し、選手の識別情報と、チーム識別情報と、時刻と、座標(全体座標)とを対応づけて、トラッキングテーブル142に登録する。特定部152は、他の第1カメラ4b~4iを用いて、各選手について、上記処理を実行することで、各選手の識別情報と、チーム識別情報と、時刻と、座標とを対応付けて、トラッキングテーブル142に登録する。特定部152は、時刻毎に、上記処理を繰り返し実行する。
【0046】
送信部153は、各選手の第1位置情報が含まれるトラッキング情報を、第2サーバ200に送信する処理部である。トラッキング情報には、各選手の識別情報、チーム識別情報、時間を識別するための情報(たとえば、時刻、フレームレート等)、座標(第1位置情報)が含まれる。
【0047】
トラッキングテーブル142には、特定部152によって、選手毎に、時刻、当該時刻における当該選手の存在位置を示す座標(第1位置情報)が登録される。送信部153は、時刻毎に、新たに登録された各選手の識別情報、チーム識別情報、時刻、座標(第1位置情報)を含むトラッキング情報を生成し、順次、第2サーバ200に送信する。
【0048】
次に、
図1に示した第2サーバ200の構成の一例について説明する。
図6は、本実施例1に係る第2サーバの構成を示す機能ブロック図である。
図6に示すように、この第2サーバ200は、通信部210と、入力部220と、表示部230と、記憶部240と、制御部250とを有する。
【0049】
通信部210は、第2カメラ5、第3カメラ6、第4カメラ7、第1サーバ100、映像配信サーバ300との間でデータ通信を実行する処理部である。通信部210は、NIC等の通信装置に対応する。たとえば、通信部210は、第2カメラ5から部分映像情報を受信する。通信部210は、第3カメラ6から、ゴール下映像情報を受信する。通信部210は、第4カメラ7から、スコア映像情報を受信する。通信部210は、第1サーバ100から、トラッキング情報を受信する。後述する制御部250は、通信部210を介して、第2カメラ5、第3カメラ6、第4カメラ7、第1サーバ100、映像配信サーバ300と情報をやり取りする。
【0050】
入力部220は、各種の情報を、第2サーバ200に入力する入力装置である。入力部220は、キーボードやマウス、タッチパネル等に対応する。後述するように、管理者は、入力部220を操作して、特定の選手の識別情報を入力してもよい。なお、管理者は、映像配信サーバ300のスイッチ部345を操作して、特定の選手を指定することもできる。この場合、映像配信サーバ300の通信部310から、第2サーバ200の通信部210が、管理者が選択した特定の選手の識別情報を受信する。
【0051】
表示部230は、制御部250から出力される情報を表示する表示装置である。表示部230は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
【0052】
記憶部240は、トラッキング情報バッファ241、第2映像バッファ242、俯瞰映像情報バッファ243、変換テーブル244、第3映像情報バッファ245を有する。記憶部240は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0053】
トラッキング情報バッファ241は、第1サーバ100から送信されるトラッキング情報を保持するバッファである。
図7は、トラッキング情報バッファのデータ構造の一例を示す図である。
図7に示すように、トラッキング情報バッファ241は、時刻と、識別情報と、チーム識別情報と、座標とを対応付ける。時刻は、選手が検出された第1画像フレームの時刻を示す情報である。識別情報は、選手を一意に識別する情報である。チーム識別情報は、チームを識別する情報である。座標は、選手の座標を示し、第1位置情報に対応する。
【0054】
第2映像バッファ242は、第2カメラ5が撮影した部分映像情報、第3カメラ6が撮影したコート下映像情報、第4カメラ7が撮影したスコア映像情報をそれぞれ保持するバッファである。
図8Aは、第2映像バッファのデータ構造の一例を示す図である。
図8Aに示すように、この第2映像バッファ242は、カメラIDと、映像情報とを有する。
【0055】
カメラIDは、第2カメラ5、第3カメラ6、第4カメラ7を一意に識別する情報である。たとえば、第2カメラ5a~5cに対応するカメラIDをそれぞれ、カメラID「C5a~C5c」とする。第3カメラ6a,6bに対応するカメラIDをそれぞれ、カメラID「C6a,C6b」とする。第4カメラ7に対応するカメラIDを、カメラID「C7」とする。
【0056】
第2カメラ5に撮影される映像情報は、部分映像情報となる。部分映像情報は、時系列に並んだ画像フレームを含む。部分映像情報に含まれる画像フレームを「部分画像フレーム」と表記する。各部分映像フレームには、時刻情報が付与される。
【0057】
第3カメラ6に撮影される映像情報は、コート下映像情報となる。コート下映像情報には、時系列に並んだ画像フレームを含み、各画像フレームには、時刻情報が付与される。第4カメラ7に撮影される映像情報は、スコア映像情報となる。スコア映像情報には、時系列に並んだ画像フレームを含み、各画像フレームには、時刻情報が付与される。
【0058】
なお、第1映像情報の画像フレーム(第1画像フレーム)の時刻情報、部分映像情報の画像フレーム(部分画像フレーム)の時刻情報、コート下映像情報の画像フレームの時刻情報、スコア映像情報の画像フレームの時刻情報は、それぞれ同期しているものとする。
【0059】
図6の説明に戻る。俯瞰映像情報バッファ243は、俯瞰映像情報を格納するバッファである。俯瞰映像情報は、時系列に並んだ画像フレームを含む。俯瞰映像情報に含まれる画像フレームを「俯瞰画像フレーム」と表記する。
図8Bは、俯瞰映像情報バッファのデータ構造の一例を示す図である。
図8Bに示すように、俯瞰映像情報バッファ243では、時刻と、俯瞰画像フレームとが対応付けられる。たとえば、時刻Tnの俯瞰画像フレームは、時刻Tnにおいて、第2カメラ5に撮影された各部分画像フレームを連結した画像フレームとなる。なお、nは、自然数を示す。
【0060】
変換テーブル244は、第1位置情報と、第2位置情報との関係を定義するテーブルである。
図8Cは、変換テーブルのデータ構造の一例を示す図である。
図8Cに示すように、この変換テーブル244は、第1位置情報と、第2位置情報とが対応付けられる。第1位置情報は、第1サーバ100から送信されるトラッキング情報に含まれる選手の座標に対応する。第2位置情報は、俯瞰画像フレーム(俯瞰映像情報)上の座標に対応する。たとえば、第1位置情報「xa11、ya11」は、第2位置情報「xb11、yb11」に対応付けられる。
【0061】
第3映像情報バッファ245は、第3映像情報を格納するバッファである。第3映像情報は、時系列に並んだ画像フレームを含む。第3映像情報に含まれる画像フレームを「第3画像フレーム」と表記する。
図8Dは、第3映像情報バッファのデータ構造の一例を示す図である。
図8Dに示すように、この第3映像情報バッファ245では、時刻と、第3画像フレームとが対応付けられる。
【0062】
制御部250は、受信部251と、取得部252と、変換部253と、生成部254と、出力制御部255とを有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0063】
受信部251は、第1サーバ100から、トラッキング情報を、順次、受信する処理部である。受信部251は、受信したトラッキング情報を、順次、トラッキング情報バッファ241に格納する。上記のように、トラッキング情報には、各選手の識別情報、チーム識別情報、時刻、座標(第1位置情報)が含まれる。
【0064】
取得部252は、第2カメラ5から、部分映像情報を取得する処理部である。取得部252は、取得した部分映像情報を、第2映像バッファ242に格納する。取得部252は、部分映像情報を第2映像バッファ242に格納する場合、部分映像情報と、第2カメラ5のカメラIDとを対応付けて格納する。取得部252は、「第2取得部」に対応する。
【0065】
取得部252は、第3カメラ6から、ゴール下映像情報を取得する。取得部252は、取得したゴール下映像情報を第2映像バッファ242に格納する場合、ゴール下映像情報と、第3カメラ6のカメラIDとを対応付けて格納する。
【0066】
取得部252は、第4カメラ7から、スコア映像情報を取得する。取得部252は、取得したスコア映像情報を第2映像バッファ242に格納する場合、スコア映像情報と、第4カメラ7のカメラIDとを対応付けて格納する。
【0067】
また、取得部252は、第2映像バッファ242に格納された複数の部分映像情報を基にして、俯瞰映像情報を生成する処理を更に実行する。
図9は、俯瞰映像情報を生成する処理を説明するための図である。
図9では、一例として、部分画像フレームFT1-1,FT1-2,FT1-3を用いて説明する。部分画像フレームFT1-1は、第2カメラ5aが撮影した部分映像情報に含まれる、時刻T1の部分画像フレームである。部分画像フレームFT1-2は、第2カメラ5bが撮影した部分映像情報に含まれる、時刻T1の部分画像フレームである。部分画像フレームFT1-3は、第2カメラ5cが撮影した部分映像情報に含まれる、時刻T1の部分画像フレームである。
【0068】
取得部252は、各部分画像フレームFT1-1,FT1-2,FT1-3を連結することで、時刻T1における俯瞰画像フレームFT1を生成する。取得部252は、各時刻において、上記処理を繰り返し実行することで、時系列の俯瞰画像フレームを生成し、俯瞰映像情報を生成する。取得部252は、俯瞰映像情報を、俯瞰映像情報バッファ243に格納する。
【0069】
ところで、取得部252は、各部分画像フレームの歪み補正を行った後に、各部分画像フレームを連結して、俯瞰画像フレームを生成してもよい。たとえば、第2カメラ5bが、コート1の中心部分を撮影範囲に含み、第2カメラ5a、5cが、コート1の中心を基準とした左右を撮影範囲に含むものとする。この場合、第2カメラ5a,5cが撮影する部分画像フレームの端に歪みが発生する場合がある。取得部252は、歪み補正テーブル(図示略)を基にして、第2カメラ5a,5cが撮影する部分画像フレームの端の歪みを補正する。歪み補正テーブルは、歪み補正前の画素の位置と、歪み補正後の画素の位置との関係を定義するテーブルである。歪み補正テーブルの情報は、事前に設定されているものとする。
【0070】
変換部253は、複数の選出のうち、特定の選手の識別情報を受け付けた場合、かかる識別情報を受け付けた以降の特定の選手の第1位置情報を、第2位置情報に順次変換する処理部である。変換部253は、変換した第2位置情報を、生成部254に出力する。以下の説明では、特定の選手の識別情報を、「特定識別情報」と表記する。変換部253は、特定識別情報を、ネットワークを介して、後述する映像配信サーバ300から受け付けつける。また、管理者が入力部220を操作して、特定識別情報を入力し、変換部253が、かかる特定識別情報を受け付けてもよい。さらに、第1サーバ100が自動でゴールを認識する機能を有する場合には、第1サーバ100にてゴールを認識した際に、当該ゴールした選手の識別情報を、第1サーバ100が第2サーバ200へ送信することで、変換部253は、特定の選手の識別情報を受け付けるとしてもよい。ゴールを認識する処理は、例えば、以下の手法による。第1サーバ100は、第1映像情報に基づき、ボールの位置を追跡するとともに、各選手の位置を追跡する。さらに、第1サーバ100は、ボールが、ゴール領域(事前に設定された領域)を通過したことをもって、第1サーバ100は、ゴールを検出する。そして、第1サーバ100は、ゴールしたことを検出したのちに、ボールの軌跡をさかのぼって追跡することで、いずれの選手の存在位置からボールが放たれたかを判別する。そして、第1サーバ100は、ボールを放った選手が、ゴールしたことを認識する。第1サーバ100は、当該選手の識別情報を、第2サーバ200へ送信する。
【0071】
たとえば、変換部253が、時刻T1において、特定識別情報「H101」を受け付けた場合について説明する。変換部253は、トラッキング情報バッファ241を参照して、時刻T1における特定識別情報「H101」の座標(第1位置情報)を取得する。変換部253は、取得した第1位置情報と、変換テーブル244とを比較して、第1位置情報に対応する第2位置情報を特定する。変換部253は、特定識別情報を受け付けてから、所定期間(時刻T1~Tm)、第1位置情報を、第2位置情報に変換する処理を順次実行し、時系列で、生成部254に出力する。mは、予め設定される数値である。
【0072】
また、変換部253は、選手が密集する位置情報を特定する。選手が密集する位置情報を「密集位置情報」と表記する。
【0073】
以下において、密集位置情報を特定する処理の一例について説明する。変換部253は、時刻Tnにおいて、特定識別情報を受け付けていない場合、時刻Tnの全選手の第1位置情報を、トラッキング情報バッファ241から取得する。変換部253は、全選手の第1位置情報を基にして、距離の近い選手同士を同一のクラスタリングすることで、選手を複数のクラスタに分類する。
【0074】
変換部253は、複数のクラスタのうち、最も多くの選手を含むクラスタを選択し、選択したクラスタに含まれる各選手の第1位置情報の中心を、密集位置情報として算出する。変換部253は、密集位置情報と、変換テーブル244とを比較して、密集位置情報に対応する第2位置情報を特定する。以下の説明では、密集位置情報に対応する第2位置情報を、「密集第2位置情報」と表記する。変換部253は、密集第2位置情報を順次算出し、時系列で、生成部254に出力する。
【0075】
生成部254は、変換部253によって順次変換された第2位置情報を基にして、俯瞰映像情報の一部の領域を切り出した第3映像情報を生成する処理部である。なお、密集領域に係る第3映像情報は、他の映像情報の一例である。生成部254は、生成した第3映像情報を、第3映像情報バッファ245に格納する。以下の説明では、第2位置情報に基づく、俯瞰映像情報(俯瞰画像フレーム)の一部の領域を「注目領域」と表記する。
【0076】
図10は、生成部が第3映像情報を生成する処理を説明するための図(1)である。ここでは、俯瞰映像情報に含まれる時刻T1の俯瞰画像フレームFT1を用いて説明する。また、特定識別情報に対応する選手を選手P2とし、時刻T1における選手P2の第2位置情報を、(x
P2,y
P2)とする。
【0077】
生成部254は、第2位置情報(xP2,yP2)に基づいて、俯瞰画像フレームFT1の注目領域A2を切り出す。生成部254は、切り出した注目領域A2の情報を、第3画像フレームF3T1として生成する。注目領域の大きさは、予め設定された大きさである。生成部254は、注目領域の中心を、第2位置座標に合わせることで、注目領域の場所を特定する。生成部254は、特定識別情報に対応する選手がなるべく大きく映るように、予め設定された倍率の範囲内で、倍率制御を実行してもよい。生成部254は、変換部253から、第2位置情報を受け付けている所定期間、上記処理を繰り返し実行することで、第3画像フレームを生成し、順次、第3映像情報バッファ245に第3画像フレームを格納する。
【0078】
また、生成部254は、変換部253から密集第2位置情報を受け付ける。生成部254は、密集第2位置情報を基にして、切り出し対象となる一部の領域を、俯瞰画像フレーム上に設定する。以下の説明では、密集第2位置情報を基にして設定される、切り出し対象となる一部の領域を、「密集領域」と表記する。生成部254は、俯瞰画像フレームから、密集領域の情報を切り出すことで、第3画像フレームを生成する。
【0079】
図11は、生成部が第3映像情報を生成する処理を説明するための図(2)である。ここでは、俯瞰映像情報に含まれる時刻Tnの俯瞰画像フレームFTnを用いて説明する。密集第2位置情報を、(X1,Y1)とする。
【0080】
生成部254は、密集第2位置情報(X1,Y1)に基づいて、俯瞰画像フレームFTnの密集領域A3を切り出す。生成部254は、切り出した密集領域A3の情報を、第3画像フレームF3Tnとして生成する。密集領域A3の大きさは、予め設定された大きさである。生成部254は、密集領域A3に、できるだけ大勢の選手が入るように、予め設定された倍率の範囲内で、倍率制御を実行してもよい。
【0081】
生成部254は、密集領域の中心を、密集第2位置座標に合わせることで、密集領域の場所を特定する。生成部254は、特定識別情報を受け付けてから所定時間経過した場合、または、特定識別情報を受け付けていない場合には、第3画像フレームを生成し、順次、第3映像情報バッファ245に第3画像フレームを格納する。
【0082】
出力制御部255は、第3映像情報バッファ245に格納された第3映像情報を、映像配信サーバ300に出力する処理部である。また、出力制御部255は、第2映像バッファ242に格納される、コート下映像情報、スコア映像情報を、映像配信サーバ300に出力してもよい。
【0083】
なお、出力制御部255は、トラッキング情報バッファ241を基にして、各選手の第1位置情報と、選手の識別情報とを対応付けた映像情報を生成し、表示部230に出力して表示してもよい。出力制御部255が、かかる映像情報を出力することで、管理者が、特定識別情報を入力する作業をサポートすることができる。
【0084】
次に、
図1に示した映像配信サーバ300の構成の一例について説明する。
図12は、本実施例1に係る映像配信サーバの構成を示す機能ブロック図である。
図12に示すように、この映像配信サーバ300は、通信部310と、入力部320と、表示部330と、記憶部340と、制御部350とを有する。
【0085】
通信部310は、第2サーバ200との間で情報通信を実行する処理部である。通信部310は、NIC等の通信装置に対応する。たとえば、通信部310は、第2サーバ200から、第3映像情報、コート下映像情報、スコア映像情報を受信する。後述する制御部350は、通信部310を介して、第2サーバ200と情報をやり取りする。
【0086】
入力部320は、各種の情報を、映像配信サーバ300に入力する入力装置である。入力部320は、キーボードやマウス、タッチパネル等に対応する。管理者は、表示部330に表示される第3映像情報、コート下映像情報等を参照し、入力部320を操作して、視聴者に配信する映像情報の切換を行う。また、管理者は、密集領域に係る第3映像情報を参照し、入力部320を操作して、第3映像情報に含まれる特定の選手を選択してもよい。
【0087】
表示部330は、制御部350から出力される情報を表示する表示装置である。表示部330は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。たとえば、表示部330は、第3映像情報、コート下映像情報、スコア映像情報等を表示する。
【0088】
記憶部340は、映像バッファ341、CG情報342を有する。記憶部340は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0089】
映像バッファ341は、第3映像情報、コート下映像情報、スコア映像情報を保持するバッファである。
【0090】
CG情報342は、タイマーおよびスコアのCG(Computer Graphics)の情報である。CG情報342は、後述する作成部352により作成される。
【0091】
制御部350は、受信部351と、作成部352と、表示制御部353と、スイッチング部354と、配信制御部355とを有する。制御部350は、CPUやMPUなどによって実現できる。また、制御部350は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0092】
受信部351は、第2サーバ200から、第3映像情報、コート下映像情報、スコア映像情報を受信する処理部である。受信部351は、受信した第3映像情報、コート下映像情報、スコア映像情報を、映像バッファ341に格納する。また、受信部351は、第2サーバ200から、第3映像情報における各選手の位置情報を受信し、映像バッファ341に格納する。
【0093】
作成部352は、映像バッファ341に格納されたスコア映像情報を基にして、タイマー7aに表示された数値、スコアボード7bに表示された数値を読み取る。作成部352は、読み取った数値を基にして、タイマーおよびスコアのCG(Computer Graphics)を作成する。作成部352は、作成したタイマーおよびスコアのCGの情報(CG情報342)を、記憶部340に格納する。作成部352は、時刻毎に上記処理を繰り返し実行する。
【0094】
表示制御部353は、映像バッファ341に格納された第3映像情報、コート下映像情報、スコア映像情報を、表示部330に出力して表示する処理部である。表示制御部353は、さらに、密集領域に係る第3映像情報を、表示部330に出力して表示させる場合は、密集領域に係る第3映像情報における各選手の位置情報に基づき、第3映像情報に含まれる選手を指定するためのカーソルを、いずれかの選手に対応して重畳して表示させる。
【0095】
スイッチング部354は、入力部320を操作する管理者によって選択される映像情報を、映像バッファ341から取得し、取得した映像情報を、配信制御部355に出力する処理部である。たとえば、スイッチング部354は、管理者によって、第3映像情報が選択されている場合、第3映像情報を、配信制御部355に出力する。スイッチング部354は、管理者によって、コート下映像情報が選択されている場合、コート下映像情報を、配信制御部355に出力する。
【0096】
また、スイッチング部354は、例えばカーソル操作などで入力部320を操作する管理者により第3映像情報に含まれるいずれか選手が選択された場合、選手の識別情報を特定する。スイッチング部354は、特定した選手の識別情報を、特定識別情報として、第2サーバ200に送信する。
【0097】
配信制御部355は、スイッチング部354から出力される映像情報を、視聴者の端末装置に配信する処理部である。配信制御部355は、映像情報を配信する場合、映像情報に、CG情報342を重畳して、映像情報を配信してもよい。ここでは、説明を省略するが、配信制御部355は、更に、所定のBGM(Back Ground Music)、解説者による音声情報、字幕情報等を、映像情報に重畳して、配信してもよい。
【0098】
次に、本実施例1に係る第1サーバ100の処理手順の一例について説明する。
図13は、本実施例1に係る第1サーバの処理手順を示すフローチャートである。
図13に示すように、第1サーバ100の取得部151は、第1カメラ4からの第1映像情報の取得を開始し、第1映像バッファ141に格納する(ステップS101)。
【0099】
第1サーバ100の特定部152は、第1映像情報を基にして、各選手の第1位置情報を特定する(ステップS102)。特定部152は、各選手の識別情報、チーム識別情報、時刻、座標(第1位置情報)を、トラッキングテーブル142に格納する(ステップS103)。
【0100】
第1サーバ100の送信部153は、トラッキング情報を、第2サーバ200に送信する(ステップS104)。第1サーバ100は、処理を継続する場合には(ステップS105,Yes)、ステップS102に移行する。一方、第1サーバ100は、処理を継続しない場合には(ステップS105,No)、処理を終了する。
【0101】
次に、本実施例1に係る第2サーバ200の処理手順の一例について説明する。
図14Aは、本実施例1に係る第2サーバの処理手順を示すフローチャートである。
図14Aに示すように、第2サーバ200の受信部251は、第1サーバ100からのトラッキング情報の受信を開始し、トラッキング情報バッファ241に格納する(ステップS201)。
【0102】
第2サーバ200の取得部252は、第2カメラ5からの部分映像情報の取得を開始し、第2映像バッファ242に格納する(ステップS202)。取得部252は、第3カメラ6からのゴール下映像情報の取得を開始し、第2映像バッファ242に格納する(ステップS203)。取得部252は、第4カメラ7からのスコア映像情報の取得を開始し、第2映像バッファ242に格納する(ステップS204)。取得部252は、複数の部分映像情報を連結して、俯瞰映像情報を生成し、俯瞰映像情報バッファ243に格納する(ステップS205)。
【0103】
第2サーバ200の変換部253は、特定の選手の識別情報(特定識別情報)を受け付けたか否かを判定する(ステップS206)。変換部253は、特定識別情報を受け付けていない場合には(ステップS206,No)、密集位置情報を、密集第2位置情報に変換する(ステップS210)。生成部254は、密集第2位置情報を基にして、俯瞰映像情報上に密集領域設定する(ステップS211)。生成部254は、密集領域の情報を切り出して、第3映像情報(第3画像フレーム)を生成し、第3映像情報バッファ245に格納し(ステップS212)、ステップS213に移行する。たとえば、映像配信サーバ300から特定の選手が指定されるまでは、密集領域に関する第3映像情報が生成される。また、映像配信サーバ300から特定の選手が指定されたあと、一定時間経過後は、密集領域に関する第3映像情報が生成される。
【0104】
一方、変換部253は、特定識別情報を受け付けた場合には(ステップS206,Yes)、特定識別情報に対応する第1位置情報を、第2位置情報に変換する(ステップS207)。
【0105】
第2サーバ200の生成部254は、第2位置情報を基にして、俯瞰映像情報(俯瞰画像フレーム)上に注目領域を設定する(ステップS208)。生成部254は、注目領域の情報を切り出して、第3映像情報(第3画像フレーム)を生成し、第3映像情報バッファ245に格納し(ステップS209)、ステップS213に移行する。なお、特定識別情報を受け付けてから所定時間経過するまで、ステップS206をYesと判定することで、所定時間経過の間は、特定の選手のアップ映像(特定選手の注目領域を含む第3映像情報)が生成される。
【0106】
第2サーバ200の出力制御部255は、第3映像情報、コート下映像情報、スコア映像情報を、映像配信サーバ300に送信する(ステップS213)。第2サーバ200の出力制御部255は、さらに、密集領域に係る第3映像情報における各選手の位置情報も、併せて、映像配信サーバ300に送信する。第2サーバ200は、処理を継続する場合には(ステップS214,Yes)、ステップS206に移行する。第2サーバ200は、処理を継続しない場合には(ステップS214,No)、処理を終了する。
【0107】
次に、映像配信サーバ300側で、特定識別情報を指定する場合における、映像配信サーバ300の処理手順の一例について説明する。
図14Bは、本実施例1に係る映像配信サーバの処理手順を示すフローチャートである。
図14Bに示すように、映像配信サーバ300の受信部351は、第2サーバ200から、密集領域に係る第3映像情報と、密集領域に係る第3映像情報における各選手の位置情報の受信を開始し、映像バッファ341に格納する(ステップS250)。なお、ここでは、俯瞰映像から抽出された第3映像情報を、映像配信サーバ300が受け付ける例を示すが、俯瞰映像または俯瞰映像を低解像度化した映像を、受け付けるとしてもよい。
【0108】
映像配信サーバ300の表示制御部353は、密集領域に係る第3映像情報の表示を開始する(ステップS251)。表示制御部353は、密集領域に係る第3映像情報における各選手の位置情報に基づき、第3映像情報に含まれる選手のいずれかに対してカーソルを表示する(ステップS252)。初期状態においては、各チームの背番号「4」の選手などに、カーソルを合わせて表示するなどする。
【0109】
映像配信サーバ300のスイッチング部354は、カーソルの移動および決定(選手の選択)を受け付けた場合、選択を受け付けた選手の特定識別情報を特定する(ステップS253)。スイッチング部354は、通信部310を用いて、特定した特定識別情報を第2サーバ200に送信する(ステップS254)。映像配信サーバ300は、処理を継続する場合には(ステップS255,Yes)、ステップ252に移行する。一方、映像配信サーバ300は、処理を継続しない場合には(ステップS255,No)、処理を終了する。その後、映像配信サーバ300は、第2サーバにおけるS213を受けて、一定時間は、特定の選手に関する注目領域に係る第3映像情報を受信する。また、映像配信サーバ300は、管理者により選択された、映像情報を配信する。
【0110】
次に、本実施例1に係る映像生成システムの効果について説明する。本実施例1に係る映像生成システムでは、第1サーバ100が、第1カメラ4によって撮影された第1映像情報を基にして、複数の選手おのおのの第1位置情報を順次特定し、各選手の第1位置情報を含むトラッキング情報を、第2サーバ200に送信する。第2サーバ200は、特定識別情報を受け付けた場合、特定識別情報に対応する選手の第1位置情報を、第2位置情報に順次変換する。そして、第2サーバ200は、順次変換された第2位置情報に基づいて、俯瞰映像情報の一部を切り出した第3映像情報を生成し、映像配信サーバ300に出力する。これによって、複数の選手が競技を行うフィールド全体の映像情報から、特定の選手に関する映像情報を自動生成することができる。
【0111】
第2サーバ200は、第2カメラ5によって撮影された複数の部分映像情報を基にして、俯瞰映像情報を生成する。これによって、第2カメラ5の撮影範囲を固定しても、コート1の全域を含む俯瞰映像情報を生成することができる。
【0112】
第2サーバ200は、複数の部分映像情報の歪みを補正する処理を更に実行し、歪みを補正した複数の部分映像情報を基にして、俯瞰映像情報を生成する。これによって、歪みの影響を抑止した俯瞰映像情報を生成することができる。
【0113】
ところで、本実施例1では、複数の第2カメラ5を用いて、部分映像情報を撮影し、部分撮影情報を連結することで、俯瞰映像情報を生成していたがこれに限定されるものではない。たとえば、コート1の全域が一つの第2カメラの撮影範囲に含まれる場合、第2サーバ200の取得部252は、一つの第2カメラ(たとえば、第2カメラ5b)の撮影した部分映像情報を、俯瞰映像情報として、俯瞰映像情報バッファ243に格納してもよい。この場合、一つの第2カメラに撮影された部分映像情報は、第2映像情報に対応すると言える。
【0114】
また、第2サーバ200の変換部253は、各時刻の第2位置情報を算出し、各時刻の第2位置情報をそのまま生成部254に出力していたがこれに限定されるものではない。たとえば、変換部253は、所定期間に含まれる各第2位置情報の平均値(移動平均値)を算出し、算出した平均値を、第2位置情報として、生成部254に出力してもよい。
【0115】
または、変換部253は、時刻Tnの第2位置情報(xtn,ytn)と、時刻Tn+1の第2位置情報(xtn+1,ytn+1)とにおいて、縦方向のytnと、ytn+1との差分を算出する。変換部253は、差分が閾値未満である場合、時刻Tn+1の第2位置情報として、(xtn+1,ytn)を、生成部254に出力してもよい。これによって、注目領域が各時刻で上下に振動することを抑止することができ、縦ブレを抑えた第3映像情報を生成することができる。
【0116】
更に、本実施例1では、第2サーバ200は、特定識別情報を外部装置、入力部220から受け付ける場合について説明したが、これに限定されるものではない。たとえば、第2サーバ200は、所定のイベントを検出する検出部(図示略)を有し、イベントの発生した選手の識別情報を、特定識別情報として自動的に検出してもよい。
【0117】
図15は、検出部の処理を説明するための図である。図示を省略するが、検出部は、第5カメラに接続されているものとする。第5カメラは、バスケットゴール20bを含む周辺を、撮像範囲に含むカメラ(ステレオカメラ)であるものとする。
【0118】
第5カメラが撮影する画像フレームにおいて、選手によってシュートされたボールのみが通過する部分領域20aを事前に設定しておく。例えば、部分領域20aは、バスケットゴール20b周辺に設定される。
【0119】
検出部は、部分領域20a内に、ボールが存在するか否かを判定する。例えば、検出部は、ボールの形状やサイズを定義したテンプレートを用いて、部分領域20aにボールが存在するか否かを判定する。
図15に示す例では、検出部は、部分領域20aから、ボール25を検出する。検出部は、部分領域20aからボール25を検出すると、ステレオ画像の原理に基づいて、ボール25の3次元座標を算出する。
【0120】
検出部は、部分領域20aからボール25を検出すると、画像フレーム20よりも1、2枚前の画像フレーム21を取得し、画像フレーム21から、ボール25を検出する。検出部は、画像フレーム21から検出したボール25の3次元座標を、ステレオ画像の原理に基づいて算出する。
【0121】
検出部は、画像フレーム20で検出したボール25の位置を手がかりとして、画像フレーム21からボール25を検出してもよい。検出部は、画像フレーム20,21から検出した各ボール25の3次元座標を基にして、ボール25の軌跡25aを推定する。検出部は、軌跡25aに基づいて、軌跡25aの開始位置26と、ボール25が、開始位置26に存在していた時刻を推定する。以下の説明では、適宜、ボール25が開始位置26に存在していた時刻を、「開始時刻」と表記する。
【0122】
検出部は、開始時刻に対応する画像フレーム22を取得し、開始位置26から、ボール25を検出する。検出部は、画像フレーム22で検出したボール25の3次元座標を、ステレオ画像の原理に基づいて算出する。検出部は、ボール25の3次元座標に存在する選手27を特定する。検出部は、係る選手27の識別情報を、特定識別情報として検出し、変換部253に出力する。
【0123】
図15では一例として、イベント「シュート」を検出し、シュートを行った選手の識別情報を、特定識別情報として検出する場合について説明したが、イベントはシュートに限定されるものではなく、ドリブル、パス、リバウンド、アシスト等であってもよい。検出部は、どのような従来技術を用いて、ドリブル、パス、リバウンド、アシスト等を検出してもよい。
【0124】
また、本実施例1では一例として、第1サーバ100と、第2サーバ200とが別々の装置である場合について説明を行ったがこれに限定されるものではなく、第1サーバ100と、第2サーバ200とが同一の装置であってもよい。
【実施例2】
【0125】
次に、本実施例2に係る映像生成システムの一例について説明する。
図16は、本実施例2に係る映像生成システムの一例を示す図である。
図16に示すように、この映像生成システムは、第1カメラ4、第2カメラ5、第3カメラ6、第4カメラ7、第5カメラを有する。また、この映像生成システムは、第1サーバ100と、第2サーバ400と、映像配信サーバ500とを有する。
【0126】
第1カメラ4、第2カメラ5、第3カメラ6、第4カメラ7に関する説明は、実施例1で説明した第1カメラ4、第2カメラ5、第3カメラ6、第4カメラ7に関する説明と同様である。
【0127】
第1サーバ100は、第1カメラ4から、第1映像情報を取得し、第1映像情報を基にして、複数の選手おのおのの第1位置情報を順次特定する装置である。第1サーバ100は、第1位置情報と、選手を一意に識別する識別情報とを対応付けたトラッキング情報を、第2サーバ400に送信する。第1サーバ100に関する説明は、実施例1で説明した第1サーバ100に関する説明と同様である。
【0128】
第2サーバ400は、第1サーバ100からトラッキング情報を取得し、第2カメラ5から、複数の部分映像情報を取得する。第2サーバ400は、複数の部分映像情報を基にして、俯瞰映像情報を生成する。第2サーバ400は、特定識別情報を受け付けた場合、トラッキング情報を基にして、特定識別情報の選手の第1位置情報を、俯瞰映像情報における第2位置情報に順次、変換する処理を行う。第2サーバ400は、第2位置情報に基づいて、俯瞰映像情報の一部の領域を切り出した第3映像情報を生成する。第2サーバ400は、生成した第3映像情報を、映像配信サーバ500に送信する。
【0129】
また、第2サーバ400は、各選手の第1位置情報を基にして、密集位置情報を算出し、密集位置情報を、第2密集位置情報に順次、変換する処理を行う。第2サーバ400は、第2密集位置情報に基づいて、俯瞰映像情報の一部の領域を切り出した第4映像情報を生成する。たとえば、第4映像情報は、複数の選手を捉えた映像となる。第2サーバ400は、生成した第4映像情報を、映像配信サーバ500に送信する。第4映像情報は、他の映像情報の一例である。
【0130】
なお、第2サーバ400は、第4映像情報の代わりに、俯瞰映像情報を、映像配信サーバ500に送信してもよい。
【0131】
映像配信サーバ500は、第2サーバ400から、第3映像情報、第4映像情報(または俯瞰映像情報)を受信し、受信した第3映像情報または第4映像情報のいずれかを選択し、選択した映像情報を視聴者の端末装置(図示略)に配信する装置である。
【0132】
このように、本実施例2に係る映像生成システムによれば、俯瞰映像情報から、第2位置情報を基にした領域を切り出すと共に、第2密集位置情報を基にした領域を切り出す。これによって、複数の選手が競技を行うコート1全体の俯瞰映像情報から、特定の選手に関する第3映像情報と、複数の選手を捉えた第4映像情報とを自動生成することができる。
【0133】
次に、
図16に示した第2サーバ400の構成の一例について説明する。
図17は、本実施例2に係る第2サーバの構成を示す機能ブロック図である。
図17に示すように、この第2サーバ400は、通信部410と、入力部420と、表示部430と、記憶部440と、制御部450とを有する。
【0134】
通信部410は、第2カメラ5、第3カメラ6、第4カメラ7、第1サーバ100、映像配信サーバ500との間でデータ通信を実行する処理部である。通信部410は、NIC等の通信装置に対応する。たとえば、通信部410は、第2カメラ5から部分映像情報を受信する。通信部410は、第3カメラ6から、ゴール下映像情報を受信する。通信部410は、第4カメラ7から、スコア映像情報を受信する。通信部410は、第1サーバ100から、トラッキング情報を受信する。後述する制御部450は、通信部410を介して、第2カメラ5、第3カメラ6、第4カメラ7、第1サーバ100、映像配信サーバ500と情報をやり取りする。
【0135】
入力部420は、各種の情報を、第2サーバ400に入力する入力装置である。入力部220は、キーボードやマウス、タッチパネル等に対応する。後述するように、管理者は、入力部220を操作して、特定の選出の識別情報を入力してもよい。
【0136】
表示部430は、制御部450から出力される情報を表示する表示装置である。表示部430は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
【0137】
記憶部440は、トラッキング情報バッファ441、第2映像バッファ442、俯瞰映像情報バッファ443、変換テーブル444、第3映像情報バッファ445、第4映像情報バッファ446を有する。記憶部440は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0138】
トラッキング情報バッファ441は、第1サーバ100から送信されるトラッキング情報を保持するバッファである。トラッキング情報バッファ441のデータ構造は、
図7に示したトラッキング情報バッファ241のデータ構造と同様である。
【0139】
第2映像バッファ442は、第2カメラ5が撮影した部分映像情報、第3カメラ6が撮影したコート下映像情報、第4カメラ7が撮影したスコア映像情報をそれぞれ保持するバッファである。第2映像バッファ442のデータ構造は、
図8Aに示した第2映像バッファ242のデータ構造と同様である。
【0140】
俯瞰映像情報バッファ443は、俯瞰映像情報を格納するバッファである。俯瞰映像情報バッファ443に関するその他の説明は、実施例1の俯瞰映像情報バッファ243と同様である。
【0141】
変換テーブル444は、第1位置情報と、第2位置情報との関係を定義するテーブルである。第1位置情報は、第1サーバ100から送信されるトラッキング情報に含まれる選手の座標に対応する。第2位置情報は、俯瞰画像フレーム(俯瞰映像情報)上の座標に対応する。
【0142】
第3映像情報バッファ445は、第3映像情報を格納するバッファである。第3映像情報は、時系列に並んだ第3画像フレームを含む。
【0143】
第4映像情報バッファ446は、第4映像情報を格納するバッファである。第4映像情報は、時系列に並んだ画像フレームを含む。第4映像情報に含まれる画像フレームを「第4画像フレーム」と表記する。各第4画像フレームには、時刻情報が付与される。
【0144】
制御部450は、受信部451と、取得部452と、変換部453と、生成部454と、出力制御部455とを有する。制御部450は、CPUやMPUなどによって実現できる。また、制御部450は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0145】
受信部451は、第1サーバ100から、トラッキング情報を、順次、受信する処理部である。受信部451は、受信したトラッキング情報を、順次、トラッキング情報バッファ441に格納する。上記のように、トラッキング情報には、各選手の識別情報、チーム識別情報、時刻、座標(第1位置情報)が含まれる。
【0146】
取得部452は、第2カメラ5から、部分映像情報を取得する処理部である。取得部452は、取得した部分映像情報を、第2映像バッファ442に格納する。取得部452は、部分映像情報を第2映像バッファ442に格納する場合、部分映像情報と、第2カメラ5のカメラIDとを対応付けて格納する。
【0147】
取得部452は、第3カメラ6から、ゴール下映像情報を取得する。取得部452は、取得したゴール下映像情報を第2映像バッファ442に格納する場合、ゴール下映像情報と、第3カメラ6のカメラIDとを対応付けて格納する。
【0148】
取得部452は、第4カメラ7から、スコア映像情報を取得する。取得部452は、取得したスコア映像情報を第2映像バッファ442に格納する場合、スコア映像情報と、第4カメラ7のカメラIDとを対応付けて格納する。
【0149】
また、取得部452は、第2映像バッファ442に格納された複数の部分映像情報を基にして、俯瞰映像情報を生成する処理を更に実行する。取得部452が俯瞰映像情報を生成する処理は、実施例1の取得部252の処理と同様である。取得部452は、俯瞰映像情報を、俯瞰映像情報バッファ443に格納する。
【0150】
変換部453は、複数の選出のうち、特定の選手の識別情報(特定識別情報)を受け付けた場合、かかる識別情報を受け付けた以降の特定の選手の第1位置情報を、第2位置情報に順次変換する処理部である。変換部453が、第1位置情報を、第2位置情報に変換する処理は、実施例1の変換部253の処理と同様である。変換部453は、特定識別情報を受け付けてから、所定期間(時刻T1~Tm)、第1位置情報を、第2位置情報に変換する処理を順次実行し、時系列で、生成部254に出力する。
【0151】
また、変換部453は、第2密集位置情報を特定する。変換部453が、第2密集位置情報を特定する処理は、実施例1の変換部253が、第2密集位置情報を特定する処理と同様である。変換部453は、密集第2位置情報を順次算出し、時系列で、生成部254に出力する。
【0152】
生成部454は、変換部453によって順次変換された第2位置情報を基にして、俯瞰映像情報の一部の領域を切り出した第3映像情報を生成する処理部である。生成部454が、第3映像情報を生成する処理は、実施例1の生成部254の処理と同様である。生成部454は、第3映像情報を、第3映像情報バッファ445に格納する。
【0153】
また、生成部454は、変換部453から密集第2位置情報を受け付ける。生成部454は、密集第2位置情報を基にして、切り出し対象となる一部の領域(密集領域)を、俯瞰画像フレーム上に設定する。生成部454は、俯瞰画像フレームから、密集領域の情報を切り出すことで、第4画像フレームを生成する。
【0154】
生成部454は、変換部453から、密集第2位置情報を受け付けている所定期間、上記処理を繰り返し実行することで、第4画像フレームを生成し、順次、第4映像情報バッファ446に第4画像フレームを格納する。
【0155】
出力制御部455は、第3映像情報バッファ445に格納された第3映像情報、第4映像情報バッファ446に格納された第4映像情報を、映像配信サーバ500に出力する処理部である。また、出力制御部455は、第2映像バッファ442に格納される、コート下映像情報、スコア映像情報を、映像配信サーバ500に出力してもよい。
【0156】
次に、
図16に示した映像配信サーバ500の構成の一例について説明する。
図18は、本実施例2に係る映像配信サーバの構成を示す機能ブロック図である。
図18に示すように、この映像配信サーバ500は、通信部510と、入力部520と、表示部530と、記憶部540と、制御部550とを有する。
【0157】
通信部510は、第2サーバ400との間で情報通信を実行する処理部である。通信部510は、NIC等の通信装置に対応する。たとえば、通信部510は、第2サーバ400から、第3映像情報、第4映像情報、コート下映像情報、スコア映像情報を受信する。後述する制御部550は、通信部510を介して、第2サーバ400と情報をやり取りする。
【0158】
入力部520は、各種の情報を、映像配信サーバ500に入力する入力装置である。入力部520は、キーボードやマウス、タッチパネル等に対応する。管理者は、表示部530に表示される第3映像情報、第4映像情報、コート下映像情報等を参照し、入力部520を操作して、視聴者に配信する映像情報の切換を行う。
【0159】
表示部530は、制御部550から出力される情報を表示する表示装置である。表示部530は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。たとえば、表示部530は、第3映像情報、第4映像情報、コート下映像情報、スコア映像情報等を表示する。
【0160】
記憶部540は、映像バッファ541、CG情報542を有する。記憶部540は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0161】
映像バッファ541は、第3映像情報、第4映像情報、コート下映像情報、スコア映像情報を保持するバッファである。
【0162】
CG情報542は、タイマーおよびスコアのCGの情報である。CG情報542は、後述する作成部552により作成される。
【0163】
制御部550は、受信部551と、作成部552と、表示制御部553と、スイッチング部554と、配信制御部555とを有する。制御部550は、CPUやMPUなどによって実現できる。また、制御部550は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0164】
受信部551は、第2サーバ400から、第3映像情報、第4映像情報、コート下映像情報、スコア映像情報を受信する処理部である。受信部551は、受信した第3映像情報、第4映像情報、コート下映像情報、スコア映像情報を、映像バッファ541に格納する。また、受信部551は、第2サーバ200から、密集領域に係る第4映像情報における各選手の位置情報を受信し、映像バッファ541に格納する。
【0165】
作成部552は、映像バッファ541に格納されたスコア映像情報を基にして、タイマー7aに表示された数値、スコアボード7bに表示された数値を読み取る。作成部552は、読み取った数値を基にして、タイマーおよびスコアのCGを作成する。作成部552は、作成したタイマーおよびスコアのCGの情報(CG情報542)を、記憶部540に格納する。作成部552は、時刻毎に上記処理を繰り返し実行する。
【0166】
表示制御部553は、映像バッファ541に格納された第3映像情報、第4映像情報、コート下映像情報、スコア映像情報を、表示部530に出力して表示する処理部である。表示制御部553は、さらに、密集領域に係る第4映像情報を、表示部530に出力して表示させる場合は、密集領域に係る第4映像情報における各選手の位置情報に基づき、第4映像情報に含まれる選手を指定するためのカーソルを、いずれかの選手に対応して重畳して表示させる。
【0167】
スイッチング部554は、入力部520を操作する管理者によって選択される映像情報を、映像バッファ541から取得し、取得した映像情報を、配信制御部555に出力する処理部である。たとえば、スイッチング部554は、管理者によって、第3映像情報が選択されている場合、第3映像情報を、配信制御部555に出力する。スイッチング部554は、管理者によって、第4映像情報が選択されている場合、第4映像情報を、配信制御部555に出力する。スイッチング部554は、管理者によって、コート下映像情報が選択されている場合、コート下映像情報を、配信制御部555に出力する。
【0168】
また、スイッチング部554は、例えばカーソル操作などで入力部520を操作する管理者により第4映像情報に含まれるいずれか選手が選択された場合、選手の識別情報を特定する。スイッチング部554は、特定した選手の識別情報を、特定識別情報として、第2サーバ400に送信する。
【0169】
配信制御部555は、スイッチング部554から出力される映像情報を、視聴者の端末装置に配信する処理部である。配信制御部555は、映像情報を配信する場合、映像情報に、CG情報542を重畳して、映像情報を配信してもよい。ここでは、説明を省略するが、配信制御部555は、更に、所定のBGM(Back Ground Music)、解説者による音声情報、字幕情報等を、映像情報に重畳して、配信してもよい。
【0170】
次に、本実施例2に係る第2サーバ400の処理手順の一例について説明する。
図19は、本実施例2に係る第2サーバの処理手順を示すフローチャートである。
図19に示すように、第2サーバ200の受信部251は、第1サーバ100からのトラッキング情報の受信を開始し、トラッキング情報バッファ441に格納する(ステップS301)。
【0171】
第2サーバ400の取得部452は、第2カメラ5からの部分映像情報の取得を開始し、第2映像バッファ442に格納する(ステップS302)。取得部452は、第3カメラ6からのゴール下映像情報の取得を開始し、第2映像バッファ442に格納する(ステップS303)。取得部452は、第4カメラ7からのスコア映像情報の取得を開始し、第2映像バッファ442に格納する(ステップS304)。取得部452は、複数の部分映像情報を連結して、俯瞰映像情報を生成し、俯瞰映像情報バッファ443に格納する(ステップS305)。
【0172】
第2サーバ400は、特定識別情報を受け付けたか否かを判定する(ステップS306)。特定識別情報を受け付けた場合(ステップS306,Yes)、生成部454は、第3映像情報を生成し、第3映像情報バッファ445に格納する(ステップS307)。生成部454は、第4映像情報を生成し、第4映像情報バッファ446に格納する(ステップS308)。第2サーバ400の出力制御部455は、第3映像情報、第4映像情報、コート下映像情報、スコア映像情報を、映像配信サーバ500に送信し(ステップS309)、ステップS312に移行する。
【0173】
一方、特定識別情報を受け付けていない場合(ステップS306,No)、生成部454は、第4映像情報を生成し、第4映像情報バッファ446に格納する(ステップS310)。出力制御部455は、第4映像情報、コート下映像情報、スコア映像情報を、映像配信サーバ500に送信し(ステップS311)、ステップS312に移行する。第2サーバ400は、処理を継続する場合には(ステップS312,Yes)、ステップS306に移行する。第2サーバ400は、処理を継続しない場合には(ステップ312,No)、処理を終了する。
【0174】
次に、本実施例2に係る映像生成システムの効果について説明する。本実施例2に係る映像生成システムでは、俯瞰映像情報から、第2位置情報を基にした領域を切り出すと共に、第2密集位置情報を基にした領域を切り出す。これによって、複数の選手が競技を行うコート1全体の俯瞰映像情報から、特定の選手に関する第3映像情報と、複数の選手を捉えた第4映像情報とを自動生成することができる。
【0175】
次に、上記実施例に示した第1サーバ100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図20は、第1サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0176】
図20に示すように、コンピュータ600は、各種演算処理を実行するCPU601と、ユーザからのデータの入力を受け付ける入力装置602と、ディスプレイ603とを有する。また、コンピュータ600は、記憶媒体からプログラム等を読み取る読み取り装置604と、有線または無線ネットワークを介して、第1カメラ4、第2サーバ200と等との間でデータの授受を行う通信装置605とを有する。また、コンピュータ600は、各種情報を一時記憶するRAM606と、ハードディスク装置607とを有する。そして、各装置601~607は、バス608に接続される。
【0177】
ハードディスク装置607は、取得プログラム607a、特定プログラム607b、送信プログラム607cを有する。また、CPU601は、各プログラム607a~607cを読み出してRAM606に展開する。
【0178】
取得プログラム607aは、取得プロセス606aとして機能する。特定プログラム607bは、特定プロセス606bとして機能する。送信プログラム607cは、送信プロセス606cとして機能する。
【0179】
取得プロセス606aの処理は、取得部151の処理に対応する。特定プロセス606bの処理は、特定部152の処理に対応する。送信プロセス206cの処理は、送信部153の処理に対応する。
【0180】
なお、各プログラム607a~607cについては、必ずしも最初からハードディスク装置607に記憶させておかなくても良い。例えば、コンピュータ600に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ600が各プログラム607a~607cを読み出して実行するようにしてもよい。
【0181】
続いて、上記実施例に示した第2サーバ200(400)と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図21は、第2サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0182】
図21に示すように、コンピュータ700は、各種演算処理を実行するCPU701と、ユーザからのデータの入力を受け付ける入力装置702と、ディスプレイ703とを有する。また、コンピュータ700は、記憶媒体からプログラム等を読み取る読み取り装置704と、有線または無線ネットワークを介して、第2カメラ5、第3カメラ6、第4カメラ7、第1サーバ100、映像配信サーバ300等との間でデータの授受を行う通信装置705とを有する。また、コンピュータ700は、各種情報を一時記憶するRAM706と、ハードディスク装置707とを有する。そして、各装置701~707は、バス708に接続される。
【0183】
ハードディスク装置707は、受信プログラム707a、取得プログラム707b、変換プログラム707c、生成プログラム707d、出力制御プログラム707eを有する。また、CPU701は、各プログラム707a~707eを読み出してRAM706に展開する。
【0184】
受信プログラム707aは、受信プロセス706aとして機能する。取得プログラム707bは、取得プロセス706bとして機能する。変換プログラム707cは、変換プロセス706cとして機能する。生成プログラム707dは、生成プロセス706dとして機能する。出力制御プログラム707eは、出力制御プロセス707eとして機能する。
【0185】
受信プロセス706aの処理は、受信部251の処理に対応する。取得プロセス706bの処理は、取得部252の処理に対応する。変換プロセス706cの処理は、変換部253の処理に対応する。生成プロセス706dの処理は、生成部254の処理に対応する。出力制御プロセス706eの処理は、出力制御部255の処理に対応する。
【0186】
なお、各プログラム707a~707eについては、必ずしも最初からハードディスク装置707に記憶させておかなくても良い。例えば、コンピュータ700に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ700が各プログラム707a~707eを読み出して実行するようにしてもよい。
【0187】
続いて、上記実施例に示した映像配信サーバ300(500)と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図22は、映像配信サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0188】
図22に示すように、コンピュータ800は、各種演算処理を実行するCPU801と、ユーザからのデータの入力を受け付ける入力装置802と、ディスプレイ803とを有する。また、コンピュータ800は、記憶媒体からプログラム等を読み取る読み取り装置804と、有線または無線ネットワークを介して、第2サーバ200等との間でデータの授受を行う通信装置805とを有する。また、コンピュータ800は、各種情報を一時記憶するRAM806と、ハードディスク装置807とを有する。そして、各装置801~807は、バス808に接続される。
【0189】
ハードディスク装置807は、受信プログラム807a、作成プログラム807b、表示制御プログラム807c、スイッチングプログラム807d、配信制御プログラム807eを有する。また、CPU801は、各プログラム807a~807eを読み出してRAM806に展開する。
【0190】
受信プログラム807aは、受信プロセス806aとして機能する。作成プログラム807bは、作成プロセス806bとして機能する。表示制御プログラム807cは、表示制御プロセス806cとして機能する。スイッチングプログラム807dは、スイッチングプロセス806dとして機能する。配信制御プログラム807eは、配信制御プロセス807eとして機能する。
【0191】
受信プロセス806aの処理は、受信部351の処理に対応する。作成プロセス806bの処理は、作成部352の処理に対応する。表示制御プロセス806cの処理は、表示制御部353の処理に対応する。スイッチングプロセス806dの処理は、スイッチング部354の処理に対応する。配信制御プロセス806eの処理は、配信制御部355の処理に対応する。
【0192】
なお、各プログラム807a~807eについては、必ずしも最初からハードディスク装置807に記憶させておかなくても良い。例えば、コンピュータ800に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ800が各プログラム807a~807eを読み出して実行するようにしてもよい。
【0193】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0194】
(付記1)複数の選手が競技を行うフィールドに設置された複数の第1カメラが撮影した第1映像情報を基にして、特定された前記複数の選手おのおのの第1位置情報を受信し、
前記競技を撮影する第2カメラから、第2映像情報を取得し、
前記複数の選手のうち、特定の選手の識別情報を受け付けた場合、前記識別情報を受け付けた以降の前記特定の選手の第1位置情報を、前記第2映像情報における第2位置情報に、変換し、
変換された第2位置情報に基づいて、前記第2映像情報の一部の領域を切り出した第3映像情報を生成し、
前記第3映像情報を出力する
処理をコンピュータに実行させることを特徴とする映像生成プログラム。
【0195】
(付記2)前記第3映像情報は、前記特定の選手のアップ映像であることを特徴とする付記1に記載の映像生成プログラム。
【0196】
(付記3)前記第2カメラは、前記第1カメラよりも高解像度のカメラであって、
前記第2カメラの前記第2映像情報から切り出された前記第3映像情報は、前記競技の視聴者の端末に配信される情報である
ことを特徴とする付記1に記載の映像生成プログラム。
【0197】
(付記4)前記第2映像情報を取得する処理は、前記フィールドの各領域をそれぞれ撮影する複数の第2カメラから複数の部分映像情報を取得し、前記複数の部分映像情報を基にして、前記第2映像情報を生成する処理を更に実行させることを特徴とする付記1、2または3に記載の映像生成プログラム。
【0198】
(付記5)前記第2映像情報を取得する処理は、前記複数の部分映像情報の歪みを補正し、歪みを補正した複数の部分映像情報を基にして、前記第2映像情報を生成する処理を実行させることを特徴とする付記4に記載の映像生成プログラム。
【0199】
(付記6)前記競技において発生するイベントに関連する選手を、前記特定の選手として取得する処理を更に実行させることを特徴とする付記1~5いずれか一つに記載の映像生成プログラム。
【0200】
(付記7)前記変換する処理は、所定時間毎に、所定時間に含まれる複数の第2位置情報を平均した平均位置情報を算出し、前記生成する処理は、前記平均位置情報に基づいて、前記第2映像情報の一部の領域を切り出した他の映像情報を生成する処理を実行させることを特徴とする付記1~6のいずれか一つに記載の映像生成プログラム。
【0201】
(付記8)前記第1位置情報は、前記フィールドにおける前記複数の選手それぞれの3次元位置を示す情報であって、
前記第2位置情報は、前記第2映像情報における前記複数の選手それぞれの2次元位置を示す情報である
ことを特徴とする付記1~6のいずれか一つに記載の映像生成プログラム。
【0202】
(付記9)複数の選手が競技を行うフィールドに設置された複数の第1カメラが撮影した第1映像情報を基にして、特定された前記複数の選手おのおのの第1位置情報を受信し、
前記競技を撮影する第2カメラから、第2映像情報を取得し、
前記複数の選手のうち、特定の選手の識別情報を受け付けた場合、前記識別情報を受け付けた以降の前記特定の選手の第1位置情報を、前記第2映像情報における第2位置情報に、変換し、
変換された第2位置情報に基づいて、前記第2映像情報の一部の領域を切り出した第3映像情報を生成し、
前記第3映像情報を出力する
処理をコンピュータが実行することを特徴とする映像生成方法。
【0203】
(付記10)前記第3映像情報は、前記特定の選手のアップ映像であることを特徴とする付記9に記載の映像生成方法。
【0204】
(付記11)前記第2カメラは、前記第1カメラよりも高解像度のカメラであって、
前記第2カメラの前記第2映像情報から切り出された前記第3映像情報は、前記競技の視聴者の端末に配信される情報である
ことを特徴とする付記9に記載の映像生成方法。
【0205】
(付記12)前記第2映像情報を取得する処理は、前記フィールドの各領域をそれぞれ撮影する複数の第2カメラから複数の部分映像情報を取得し、前記複数の部分映像情報を基にして、前記第2映像情報を生成する処理を更に実行することを特徴とする付記9、10または11に記載の映像生成方法。
【0206】
(付記13)前記第2映像情報を取得する処理は、前記複数の部分映像情報の歪みを補正し、歪みを補正した複数の部分映像情報を基にして、前記第2映像情報を生成する処理を実行することを特徴とする付記12に記載の映像生成方法。
【0207】
(付記14)前記競技において発生するイベントに関連する選手を、前記特定の選手として取得する処理を更に実行させることを特徴とする付記9~13いずれか一つに記載の映像生成方法。
【0208】
(付記15)前記変換する処理は、所定時間毎に、所定時間に含まれる複数の第2位置情報を平均した平均位置情報を算出し、前記生成する処理は、前記平均位置情報に基づいて、前記第2映像情報の一部の領域を切り出した他の映像情報を生成する処理を実行することを特徴とする付記9~14のいずれか一つに記載の映像生成方法。
【0209】
(付記16)前記第1位置情報は、前記フィールドにおける前記複数の選手それぞれの3次元位置を示す情報であって、
前記第2位置情報は、前記第2映像情報における前記複数の選手それぞれの2次元位置を示す情報である
ことを特徴とする付記9~14のいずれか一つに記載の映像生成方法。
【0210】
(付記17)第1サーバと第2サーバとを有する映像生成システムであって、
前記第1サーバは、
複数の選手が競技を行うフィールドに設置された複数の第1カメラから、第1映像情報を取得する第1取得部と、
前記第1映像情報を基にして、前記複数の選手おのおのの第1位置情報を、特定する特定部と、
前記複数の選手おのおのの第1位置情報を前記第2サーバに送信する送信部を有し、
前記第2サーバは、
前記第1サーバから前記複数の選手おのおのの第1位置情報を受信する受信部と、
前記競技を撮影する第2カメラから、第2映像情報を取得する第2取得部と、
前記複数の選手のうち、特定の選手の識別情報を受け付けた場合、前記識別情報を受け付けた以降の前記特定の選手の第1位置情報を、前記第2映像情報における第2位置情報に、変換する変換部と、
前記変換部によって、変換された第2位置情報に基づいて、前記第2映像情報の一部の領域を切り出した第3映像情報を生成する生成部と、
前記第3映像情報を出力する出力制御部と
を有することを特徴とする映像生成システム。
【0211】
(付記18)前記第3映像情報は、前記特定の選手のアップ映像であることを特徴とする付記17に記載の映像生成システム。
【0212】
(付記19)前記第2カメラは、前記第1カメラよりも高解像度のカメラであって、
前記第2カメラの前記第2映像情報から切り出された前記第3映像情報は、前記競技の視聴者の端末に配信される情報である
ことを特徴とする付記17に記載の映像生成システム。
【0213】
(付記20)前記第2取得部は、前記フィールドの各領域をそれぞれ撮影する複数の第2カメラから複数の部分映像情報を取得し、前記複数の部分映像情報を基にして、前記第2映像情報を生成する処理を更に実行することを特徴とする付記17、18または19に記載の映像生成システム。
【0214】
(付記21)前記第2取得部は、前記複数の部分映像情報の歪みを補正し、歪みを補正した複数の部分映像情報を基にして、前記第2映像情報を生成する処理を実行することを特徴とする付記20に記載の映像生成システム。
【0215】
(付記22)前記第2取得部は、前記競技において発生するイベントに関連する選手を、前記特定の選手として取得する処理を更に実行することを特徴とする付記17~21いずれか一つに記載の映像生成システム。
【0216】
(付記23)前記変換部は、所定時間毎に、所定時間に含まれる複数の第2位置情報を平均した平均位置情報を算出し、前記生成する処理は、前記平均位置情報に基づいて、前記第2映像情報の一部の領域を切り出した他の映像情報を生成する処理を実行することを特徴とする付記17~22のいずれか一つに記載の映像生成システム。
【0217】
(付記24)前記第1位置情報は、前記フィールドにおける前記複数の選手それぞれの3次元位置を示す情報であって、
前記第2位置情報は、前記第2映像情報における前記複数の選手それぞれの2次元位置を示す情報である
ことを特徴とする付記17~22のいずれか一つに記載の映像生成システム。
【符号の説明】
【0218】
50 ネットワーク
100 第1サーバ
110,210,310,410,510 通信部
120,220,320,420,520 入力部
130,230,330,430,530 表示部
140,240,340,440,540 記憶部
141 第1映像バッファ
142 トラッキングテーブル
150,250,350,450,550 制御部
151,252,452 取得部
152 特定部
153 送信部
200,400 第2サーバ
241,441 トラッキング情報バッファ
242,442 第2映像バッファ
243,443 俯瞰映像情報バッファ
244,444 変換テーブル
245,445 第3映像情報バッファ
251,351,451,551 受信部
253,453 変換部
254,454 生成部
255,455 出力制御部
300,500 映像配信サーバ
341,541 映像バッファ
342,542 CG情報
352,552 作成部
353,553 表示制御部
354,554 スイッチング部
355,555 配信制御部
446 第4映像情報バッファ