(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-22
(45)【発行日】2024-04-01
(54)【発明の名称】画像表示装置、制御方法、およびプログラム
(51)【国際特許分類】
G06F 3/04845 20220101AFI20240325BHJP
G06F 3/04815 20220101ALI20240325BHJP
G06F 3/0488 20220101ALI20240325BHJP
G06T 19/00 20110101ALI20240325BHJP
【FI】
G06F3/04845
G06F3/04815
G06F3/0488
G06T19/00 A
(21)【出願番号】P 2020082818
(22)【出願日】2020-05-08
【審査請求日】2023-04-17
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】小笠原 拓
【審査官】岩橋 龍太郎
(56)【参考文献】
【文献】特開2018-092491(JP,A)
【文献】特開2014-215828(JP,A)
【文献】特開2011-043991(JP,A)
【文献】特開2011-211338(JP,A)
【文献】特開2009-295147(JP,A)
【文献】特開2020-067716(JP,A)
【文献】特開2019-114847(JP,A)
【文献】特開2018-093312(JP,A)
【文献】特開2020-024619(JP,A)
【文献】特開2014-119095(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/00
G06F 3/048-3/04895
G06T 1/00
G06T 11/00-19/20
G09G 5/00-5/42
H04N 13/00-17/06
H04N 23/00
H04N 23/40-23/76
H04N 23/90-23/959
(57)【特許請求の範囲】
【請求項1】
多視点画像から生成された仮想視点画像であって、仮想視点画像における姿勢および注目点の位置の少なくともいずれかを設定可能な仮想視点画像を表示する画像表示装置であって、
ユーザ操作を介して、仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する第一パラメータを受け付ける受付手段と、
仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する、あらかじめ設定された第二パラメータを取得する取得手段と、
前記第一パラメータおよび前記第二パラメータの少なくともいずれかに基づいて前記仮想視点画像を生成して表示部に表示する表示手段と、
を有
し、
前記表示手段は、仮想視点の姿勢および注目点の位置の少なくともいずれかの要素が、前記第二パラメータによって変化する場合に、前記要素については前記第一パラメータに基づかずに前記仮想視点画像を生成して表示することを特徴とする画像表示装置。
【請求項2】
前記第一パラメータおよび前記第二パラメータは、所定の時間における仮想視点画像における姿勢および注目点の組み合わせに対応することを特徴とする請求項1に記載の画像表示装置。
【請求項3】
前記第一パラメータおよび前記第二パラメータは、前記仮想視点画像における注目点の平行移動、注目点を中心とした仮想視点の回転、ズームインおよびズームアウトの少なくともいずれかに対応することを特徴とする請求項1または2に記載の画像表示装置。
【請求項4】
前記受付手段は、前記表示部に表示されたグラフィカルユーザインタフェース(GUI)およびタッチパネルの少なくともいずれかを介してユーザ操作を受け付けることを特徴とする請求項1から3のいずれか1項に記載の画像表示装置。
【請求項5】
前記受付手段は、前記表示部に表示された仮想視点画像に対するタップ操作またはクリック操作を受け付けた場合に、前記タップ操作または前記クリック操作に対応する位置を移動先とする注目点の平行移動に対応する前記第一パラメータを取得することを特徴とする請求項4に記載の画像表示装置。
【請求項6】
前記受付手段は、前記仮想視点画像の端部の領域におけるドラッグ操作またはスワイプ操作を受け付けた場合に、前記ドラッグ操作または前記スワイプ操作の方向に対応するズームインまたはズームアウトに対応する前記第一パラメータを取得することを特徴とする請求項4または5に記載の画像表示装置。
【請求項7】
前記表示手段は、仮想視点の姿勢および注目点の位置の少なくともいずれかの要素が、前記第二パラメータによって変化せず、前記第一パラメータによって変化する場合に、前記要素については前記第一パラメータに基づいて前記仮想視点画像を生成して表示することを特徴とする
請求項1に記載の画像表示装置。
【請求項8】
仮想視点の姿勢および注目点の位置の少なくともいずれかの要素が、前記第二パラメータおよび前記第一パラメータによって変化する場合に、前記要素については前記第一パラメータに基づかずに前記仮想視点画像を生成するか否かを設定する設定手段をさらに備えることを特徴とする
請求項1に記載の画像表示装置。
【請求項9】
前記表示手段は、前記仮想視点画像の表示中であって、一時停止の指示を受け付けた場合に、前記第一パラメータに基づくとともに前記第二パラメータに基づかずに前記仮想視点画像を生成して表示することを特徴とする
請求項1から8のいずれか1項に記載の画像表示装置。
【請求項10】
前記表示手段は、前記仮想視点画像の表示中であって、一時停止の指示を受け付けた後に一時停止の解除の指示を受け付けた場合に、前記第二パラメータに基づいて前記仮想視点画像を生成することを特徴とする
請求項9に記載の画像表示装置。
【請求項11】
前記表示手段は、前記仮想視点画像の表示中であって、一時停止の指示を受け付けた後に一時停止の解除の指示を受け付けた場合に、一時停止の指示を受け付けた時点の仮想視点画像における姿勢および注目点の位置で前記仮想視点画像を表示することを特徴とする
請求項9に記載の画像表示装置。
【請求項12】
前記第一パラメータおよび前記第二パラメータは、前記仮想視点画像の再生速度の指定を含むことを特徴とする
請求項1から11のいずれか1項に記載の画像表示装置。
【請求項13】
仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する第三パラメータを、前記仮想視点画像における時間と対応付けて記録する記録手段をさらに有し、
前記表示手段は、前記第三パラメータに対応する時間において、前記第三パラメータを優先して前記仮想視点画像を生成して表示することを特徴とする
請求項1から12のいずれか1項に記載の画像表示装置。
【請求項14】
前記表示手段は、前記第三パラメータに対応する時間を含む所定の期間における前記仮想視点画像をリピート再生することを特徴とする
請求項13に記載の画像表示装置。
【請求項15】
前記表示手段は、前記リピート再生の間に、ユーザ操作を介して前記第一パラメータを受け付けた場合に、受け付けた前記第一パラメータを前記第三パラメータとして記録することを特徴とする
請求項14に記載の画像表示装置。
【請求項16】
前記表示手段は、前記記録手段が記録した前記第三パラメータに対応する時間を区別可能に表示することを特徴とする
請求項13から15のいずれか1項に記載の画像表示装置。
【請求項17】
前記表示手段は、前記第三パラメータに基づいて前記仮想視点画像を再生するモードと、前記第三パラメータを記録するモードと、前記第三パラメータに基づかない通常再生モードとを切り替えて生成した前記仮想視点画像を表示することを特徴とする
請求項13から16のいずれか1項に記載の画像表示装置。
【請求項18】
前記表示手段は、前記仮想視点画像のタイムコードを指定可能な第1スライダーと、前記タイムコードの一部を拡大することで細かい粒度でタイムコードを指定可能な第2スライダーとを含むグラフィカルユーザインタフェースをさらに表示することを特徴とする
請求項1から17のいずれか1項に記載の画像表示装置。
【請求項19】
前記表示手段は、前記表示部の更新レートに応じて前記仮想視点画像を生成して表示することを特徴する
請求項1から18のいずれか1項に記載の画像表示装置。
【請求項20】
前記多視点画像と前記仮想視点画像を生成するためのデータとの少なくともいずれかを外部装置から受信する受信手段をさらに有することを特徴とする
請求項1から19のいずれか1項に記載の画像表示装置。
【請求項21】
多視点画像から生成された仮想視点画像であって、仮想視点画像における姿勢および注目点の位置の少なくともいずれかを設定可能な仮想視点画像を表示する画像表示装置の制御方法であって、
ユーザ操作を介して、仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する第一パラメータを受け付ける受付工程と、
仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する、あらかじめ設定された第二パラメータを取得する取得工程と、
前記第一パラメータおよび前記第二パラメータの少なくともいずれかに基づいて前記仮想視点画像を生成して表示部に表示する表示工程と、
を含
み、
前記表示工程において、仮想視点の姿勢および注目点の位置の少なくともいずれかの要素が、前記第二パラメータによって変化する場合に、前記要素については前記第一パラメータに基づかずに前記仮想視点画像が生成され表示されることを特徴とする制御方法。
【請求項22】
表示部を有するコンピュータに、
多視点画像から生成された仮想視点画像であって、仮想視点画像における姿勢および注目点の位置の少なくともいずれかを設定可能な仮想視点画像を表示する画像表示装置の制御方法であって、
ユーザ操作を介して、仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する第一パラメータを受け付ける受付工程と、
仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する、あらかじめ設定された第二パラメータを取得する取得工程と、
前記第一パラメータおよび前記第二パラメータの少なくともいずれかに基づいて前記仮想視点画像を生成して表示部に表示する表示工程と、
を含
み、
前記表示工程において、仮想視点の姿勢および注目点の位置の少なくともいずれかの要素が、前記第二パラメータによって変化する場合に、前記要素については前記第一パラメータに基づかずに前記仮想視点画像が生成され表示される、制御方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想視点画像に係る画像表示装置、制御方法、およびプログラムに関する。
【背景技術】
【0002】
近年では、複数カメラで撮影した複数の撮影画像から、任意の視点の画像を生成する仮想視点画像の生成技術が注目される。仮想視点画像を生成するために指定される仮想視点を便宜的に説明するための概念として仮想カメラが用いられる。仮想カメラは物理カメラとは異なり、物理的な制約を受けずに三次元空間において移動・回転・拡縮などの様々な動きが可能である。仮想カメラを適切に制御するために、各々の動きに対応する複数の操作方法が考えられている。
【0003】
特許文献1では、タッチパネルを備えた画像表示装置に仮想視点画像を表示する構成において、タッチパネルに対して行うタッチ操作の指の本数に応じて、仮想カメラの動作を制御する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された方法では、仮想視点を大きく動かしたい場合や複雑に変化させたい場合など、意図する仮想視点の動きによっては操作が難しくなる。上記の課題を鑑み、本発明は、仮想視点画像を閲覧する際の利便性を向上することを目的とする。
【課題を解決するための手段】
【0006】
上述のような課題を解決するため、本発明に係る画像表示装置の一態様は、多視点画像から生成された仮想視点画像であって、仮想視点画像における姿勢および注目点の位置の少なくともいずれかを設定可能な仮想視点画像を表示する画像表示装置であって、
ユーザ操作を介して、仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する第一パラメータを受け付ける受付手段と、
仮想視点画像における姿勢および注目点の位置の少なくともいずれかを指定する、あらかじめ設定された第二パラメータを取得する取得手段と、
前記第一パラメータおよび前記第二パラメータの少なくともいずれかに基づいて前記仮想視点画像を生成して表示部に表示する表示手段と、
を有することを特徴とする。
【発明の効果】
【0007】
本発明により、仮想視点画像を閲覧する際の利便性を向上することができる。
【図面の簡単な説明】
【0008】
【
図4】自動操作による仮想カメラの操作例を示す図。
【
図6】仮想カメラの操作のための処理例を示すフローチャート。
【
図8】第2実施形態に係るタグ生成およびタグ再生方法を示す図。
【
図9】第2実施形態に係る仮想カメラの操作のための処理例を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
<第1実施形態>
本実施形態では、複数の撮像装置による撮像に基づく複数の画像と、指定された仮想視点とに基づいて、指定された仮想視点からの見えを表す仮想視点画像を生成するシステムに関して説明を行う。本実施形態における仮想視点画像は、ユーザが自由に(任意に)指定した視点に対応する画像に限定されず、例えば複数の候補からユーザが選択した視点に対応する画像なども仮想視点画像に含まれる。また、本実施形態では仮想視点の指定がユーザ操作により行われる場合を中心に説明するが、仮想視点の指定が画像解析の結果等に基づいて自動で行われてもよい。
【0011】
本実施形態では、仮想カメラという用語を用いて説明を行う。仮想カメラとは、撮像領域の周囲に実際に設置された複数の撮像装置とは異なる仮想的なカメラであって、仮想視点画像の生成に係る仮想視点を便宜的に説明するための概念である。すなわち、仮想視点画像は、撮像領域に関連付けられる仮想空間内に設定された仮想視点から撮像した画像であるとみなすことができる。そして、仮想的な当該撮像における視点の位置及び向きは仮想カメラの位置及び向きとして表すことができる。言い換えれば、仮想視点画像は、空間内に設定された仮想視点の位置にカメラが存在するものと仮定した場合に、そのカメラにより得られる撮像画像を模擬した画像であると言える。
【0012】
説明順は、
図1に仮想視点画像生成システムの全体について説明し、
図2にその中の画像表示装置104について説明する。この画像表示装置104が自動操作と手動操作を有意に組み合わせた仮想カメラ制御処理を行う。
図6を用いて、その仮想カメラの制御処理について説明し、その制御例、及び、その仮想カメラを使用した仮想視点画像の表示例について
図7に説明する。
【0013】
図3~
図5では、それらの説明に必要となる仮想カメラの構成や、自動処理と手動処理のそれぞれについて説明する。
【0014】
(仮想視点画像生成システムの構成)
まず、
図1を参照して本実施形態に係る仮想視点画像生成システム100の構成を説明する。
【0015】
仮想視点画像生成システム100は、センサシステム101aからセンサシステム101nのn個のセンサシステムを有し、各センサシステムは少なくとも1台の撮影装置であるカメラを有する。以降では特に説明がない限り、n台のセンサシステムを区別せず、複数のセンサシステム101と表記する。
【0016】
図1(B)は、複数のセンサシステム101の設置例を示す図である。複数のセンサシステム101は、撮影の対象領域である領域120を囲むように設置され、それぞれ異なる方向から領域120を撮影する。本実施形態の例では、撮影対象の領域120をサッカーの試合が行わるスタジアムのフィールドとし、フィールドを囲むようにn台(例えば100台)のセンサシステム101が設置されるものとして説明を行う。しかしながら、設置されるセンサシステム101の数は限定されず、撮影対象の領域120はスタジアムのフィールドに限らない。たとえば、領域120にスタジアムの客席が含まれてもよいし、領域120が屋内のスタジオや舞台等であってもよい。
【0017】
また、複数のセンサシステム101は領域120の全周にわたって設置されていなくてもよく、設置場所の制限等によっては領域120の周囲の一部にのみ設置されてもよい。また、複数センサシステム101が有する複数のカメラには、望遠カメラと広角カメラなど機能が異なる撮影装置が含まれていてもよい。
【0018】
複数のセンサシステム101が有する複数のカメラは同期して撮影を行う。これらのカメラの撮影により得られる複数の画像を多視点画像と呼ぶ。なお、本実施形態における多視点画像のそれぞれは、撮影画像であってもよいし、撮影画像に対して例えば所定の領域を抽出する処理などの画像処理を行うことで得られた画像であってもよい。
【0019】
なお、複数のセンサシステム101は、カメラに加えてマイク(不図示)を有してもよい。複数のセンサシステム101それぞれのマイクは同期して音声を収音する。この収音された音声に基づいて、画像表示装置104における画像の表示と共に再生される音響信号を生成することができる。以降では説明の簡略化のため、音声についての記載を省略するが、基本的に画像と音声は共に処理されるものとする。
【0020】
画像記録装置102は、複数のセンサシステム101から多視点画像を取得し、撮影に使用したタイムコードと合わせてデータベース103へ記憶する。タイムコードとは撮影装置が撮影した時刻を一意に識別するための情報であって、例えば、『日:時:分:秒.フレーム番号』のような形式で指定可能である。
【0021】
画像表示装置104は、データベース103からタイムコードに応じた多視点画像と、仮想カメラに対するユーザの手動操作とに基づいて、画像を提供する。
【0022】
仮想カメラ110は、領域120に関連付けられた仮想空間内に設定され、複数のセンサシステム101のどのカメラとも異なる視点から領域120を閲覧できる。仮想カメラ110や、その動作の詳細については
図3を参照して後述する。
【0023】
本実施形態では仮想カメラ110に対する自動操作と手動操作の両方を使用するが、仮想カメラを自動操作するための自動操作情報について
図4に後述する。また、仮想カメラ110を手動操作するための手動操作方法について
図5に後述する。
【0024】
画像表示装置104は、自動操作と手動操作を有意に組み合わせた仮想カメラ制御処理を実行し、制御された仮想カメラとタイムコードに基づき、多視点画像から仮想視点画像を生成する。この仮想カメラ制御処理については
図6に、この制御例と、その仮想カメラを用いて生成される仮想視点画像例については
図7に詳細に説明する。
【0025】
画像表示装置104が生成する仮想視点画像は仮想カメラ110からの見えを表す画像である。本実施形態における仮想視点画像は自由視点映像とも呼ばれるものであり、画像表示装置104のタッチパネルや液晶ディスプレイ等に表示される。
【0026】
なお、仮想視点画像生成システム100の構成は
図1(A)に示すものに限定されない。画像表示装置104と操作デバイスや表示デバイスが分かれる構成であってもよい。また、複数の表示デバイスを画像表示装置104へ接続し、それぞれへ仮想視点画像を出力する構成であってもよい。
【0027】
なお、
図1(A)の例では、データベース103と画像表示装置104とは別個の装置であるものとして説明したが、データベース103と画像表示装置104が一体型となる構成であってもよい。また、データベース103から重要なシーンのみを画像表示装置104へ予めコピーする構成であってもよい。さらに、データベース103と画像表示装置104がアクセス可能なタイムコードの設定に応じて、試合の全タイムコードへアクセス可能とするか、一部のみへアクセス可能とするかを切り替えてもよい。一部のデータをコピーする構成ではコピー区間のタイムコードのみへアクセス許可する構成としてもよい。
【0028】
なお、本実施形態では、仮想視点画像が動画である場合を中心に説明するが、仮想視点画像は静止画であってもよい。
【0029】
(画像表示装置の機能構成)
続いて、
図2を参照して画像表示装置104の構成を説明する。
【0030】
図2(A)は、画像表示装置104の機能構成例を示す図である。画像表示装置104は、同図に示す機能を使用し、自動操作と手動操作を有意に組み合わせた仮想カメラ制御処理を実行する。画像表示装置104は、手動操作部201、自動操作部202、操作制御部203、タグ管理部204、モデル生成部205、および画像生成部206を備える。
【0031】
手動操作部201は、仮想カメラ110またはタイムコードに対し、ユーザが手動操作した入力情報を受け付けるための受付部である。仮想カメラの手動操作にはタッチパネル、ジョイスティック、およびキーボードの少なくともいずれかの操作が含まれるが、手動操作部201は他の入力デバイスの操作を介して入力情報を取得してもよい。手動操作画面の詳細について
図5に後述する。
【0032】
自動操作部202は、仮想カメラ110、及び、タイムコードを自動操作する。本実施形態における自動操作の一例は、
図4を参照して詳細を説明するが、ユーザの手動操作とは別に、画像表示装置104が仮想カメラまたはタイムコードを操作または設定するものである。ユーザにとっては自身が行う操作とは別に、仮想視点画像を自動で操作されたように体感することになる。自動操作部202が自動操作に用いる情報を自動操作情報と呼び、例えば、後述する選手やボールに関する、三次元モデルの座標や、GPS等で測位される位置情報などを用いる。なお、自動操作情報はこれらに限定されず、ユーザ操作に依らずに仮想カメラやタイムコードに関する情報を指定できるものであればよい。
【0033】
操作制御部203は、手動操作部201が手動操作画面から取得したユーザ入力情報と、自動操作部202が使用する自動操作情報を有意に組み合わせ、仮想カメラまたはタイムコードを制御する。
【0034】
操作制御部203の処理の詳細は
図6を参照して後述し、制御された仮想カメラで生成される仮想視点画像例について
図7を参照して後述する。
【0035】
また、操作制御部203では、自動操作と手動操作の各々の操作対象となる仮想カメラ動作を設定し、それを動作設定処理と呼び、
図4(A)および
図4(B)を参照して詳細を後述する。
【0036】
モデル生成部205は、データベース103からタイムコードを指定し取得した多視点画像に基づいて領域120内のオブジェクトの三次元形状を表す三次元モデルを生成する。具体的には、多視点画像から、ボールや人物などのオブジェクトに対応する前景領域を抽出した前景画像と、前景領域以外の背景領域を抽出した背景画像が取得される。そして、モデル生成部205は、複数の前景画像に基づいて前景の三次元モデルを生成する。
【0037】
三次元モデルは、例えば視体積交差法(Visual Hull)等の形状推定方法により生成され、点群で構成される。ただし、オブジェクトの形状を表す三次元形状データの形式はこれに限定されない。なお、背景の三次元モデルは、予め外部の装置により取得されてもよい。なお、モデル生成部205は画像表示装置104でなく画像記録装置102に含まれる構成であってもよい。その場合は、三次元モデルがデータベース103へ記録され、画像表示装置104は三次元モデルをデータベース103から読み出す。なお、前景の三次元モデルに関して、ボールや人物やオブジェクト毎にその座標を計算し、データベース103へ蓄積してもよい。そのオブジェクト毎の座標を、
図4(C)を参照して後述する自動操作情報として指定し、自動操作に使用してもよい。
【0038】
画像生成部206は、制御処理された仮想カメラに基づき、三次元モデルから仮想視点画像を生成する。具体的には、三次元モデルを構成する点毎に、多視点画像から適切な画素値を取得して色付け処理を行う。そして色付けされた三次元モデルを三次元の仮想空間に配置し、仮想視点へ投影してレンダリングすることで、仮想視点画像が生成される。ただし、仮想視点画像の生成方法はこれに限定されず、三次元モデルを用いずに撮像画像の射影変換により仮想視点画像を生成する方法など、種々の方法を使用できる。
【0039】
タグ管理部204は、自動操作部202が用いる自動操作情報をタグとして管理する。タグに関しては第2実施形態において後述し、本実施形態はタグを用いない構成について説明を行う。
【0040】
(画像表示装置のハードウェア構成)
次に、
図2(B)を参照して画像表示装置104のハードウェア構成について説明する。画像表示装置104は、CPU(Central Processing Unit)211、RAM(Random Access Memory)212、およびROM(Read Only Memory)213を含む。また、画像表示装置104は、操作入力部214、表示部215、および外部インタフェース216を含む。
【0041】
CPU211は、RAM212やROM213に格納されるプログラムやデータを用いて処理する。CPU211は、画像表示装置104の全体の動作制御を行い、
図2(A)に示す各機能を実現するための処理を実行する。なお、画像表示装置104がCPU211とは異なる1又は複数の専用のハードウェアを有し、CPU211による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。
【0042】
ROM213は、プログラムやデータを保持する。RAM212は、ROM213から読み出されるプログラムやデータを一時的に記憶するワークエリアを有する。また、RAM212は、CPU211が各処理を実行する際に用いるワークエリアを提供する。
【0043】
操作入力部214は、例えばタッチパネルであってユーザが操作する情報を取得する。例えば、仮想カメラやタイムコードに対する操作を受け付ける。なお、操作入力部214は、外部コントローラと接続し、操作に関するユーザからの入力情報を受け付けてもよい。外部コントローラは、例えば、ジョイスティック等の三軸コントローラやマウス等である。なお、外部コントローラは、これらに限定されない。
【0044】
表示部215は、タッチパネルやスクリーンであって生成した仮想視点画像を表示する。タッチパネルの場合は操作入力部214と表示部215が一体となった構成となる。
【0045】
外部インタフェース216は、例えば、LAN等を介し、データベース103と情報の送受信を行う。また、HDMI(登録商標)やSDI等の画像出力ポートを介し、外部スクリーンへ情報を送信してもよい。また、イーサネット等を介して画像データを送信してもよい。
【0046】
(仮想カメラ動作)
次に、
図3を参照して仮想カメラ110(または仮想視点)の動作を説明する。その動作の説明のため、先に仮想カメラの位置・姿勢・視錐台・注目点等について説明する。
【0047】
仮想カメラ110や、その動作は一つの座標系を用いて指定される。座標系は
図3(A)に示す、X軸・Y軸・Z軸から構成される一般的な三次元空間の直交座標系を用いる。
【0048】
この座標系は、被写体へ設定し使用される。被写体とは、スタジアムのフィールドや、スタジオ等である。被写体は、
図3(B)に示すように、スタジアムのフィールド全体391と、その上にあるボール392や選手393等も含む。なお、被写体はフィールド周辺の客席等を含んでもよい。
【0049】
座標系の被写体への設定は、フィールド391の中心を、原点(0、0、0)とする。また、X軸をフィールド391の長辺方向、Y軸をフィールド391の短辺方向、Z軸をフィールドに対する鉛直方向とする。なお、座標系の設定方法は、これらに限定されない。
【0050】
次に、
図3(C)および
図3(D)を用いて、仮想カメラについて説明する。仮想カメラは仮想視点画像を描画するための視点となるものである。
図3(C)に示す四角錐において、頂点が仮想カメラの位置301を、頂点から伸びるベクトルが仮想カメラの姿勢302を表す。仮想カメラの位置は、三次元空間の座標(x,y,z)で表現され、姿勢は各軸の成分をスカラーとする単位ベクトルで表現される。
【0051】
仮想カメラの姿勢302は、前方クリップ面303と後方クリップ面304の中心点を通るものとする。また、前方クリップ面303と後方クリップ面に挟まれた空間305を仮想カメラの視錐台と呼び、画像生成部203が仮想視点画像を生成する範囲(あるいは仮想視点画像を投影し表示する範囲、以降、仮想視点画像の表示領域とする)となる。仮想カメラの姿勢302はベクトルで表現され、仮想カメラの光軸ベクトルとも呼ばれる。
【0052】
図3(D)を用いて、仮想カメラの移動と回転について説明する。仮想カメラは、三次元座標で表現された空間内を移動及び回転する。仮想カメラの移動306は、仮想カメラの位置301の移動であり、各軸の成分(x、y、z)で表現される。仮想カメラの回転307は、
図3(A)に示すように、Z軸回りの回転であるヨー(Yaw)、X軸回りの回転であるピッチ(Pitch)、Y軸回りの回転であるロール(Roll)で表現される。
【0053】
これらにより、仮想カメラは被写体(フィールド)の三次元空間を自由に移動及び回転でき、被写体の任意の領域を仮想視点画像として生成できる。すなわち、仮想カメラのX、Y、Z座標(x、y、z)およびX軸・Y軸・Z軸の回転角度(pitch、roll、yaw)を指定することで仮想カメラの撮影位置および撮影方向を操作することができる。
【0054】
次に、
図3(E)を参照して、仮想カメラの注目点の位置を説明する。
図3(E)は仮想カメラの姿勢302が注目面308へ向いている状態を示す。
【0055】
注目面308とは、例えば、
図3(B)に説明したXY平面(フィールド面、Z=0)である。注目面308は、これに限定されず、XY平面に平行で、人が自然と視点を向けるプレーヤーの高さにある平面(例えばZ=1.7m)等でもよい。なお、注目面308はXY平面に平行でなくともよい。
【0056】
仮想カメラの注目点の位置(座標)は、仮想カメラの姿勢302(ベクトル)と、注目面308との、交点309を指す。仮想カメラの注目点の座標309は、仮想カメラの位置301と姿勢302と注目面308が決まれば、一意の座標として計算できる。なお、その際に使用されるベクトルと平面の交点(仮想カメラの注目点309)の算出は既知の方法により実現できるため省略する。なお、仮想カメラの注目点の座標309が、描画した仮想視点画像の中心になるように、仮想視点画像を生成してもよい。
【0057】
さて、仮想カメラの移動及び回転の組み合わせによって実現できる仮想カメラの動きを本実施形態では仮想カメラ動作と呼ぶ。前述の移動及び回転の組み合わせによって実現できる仮想カメラの動きは無限にあり、その中でユーザにとって見やすい、または、操作しやすい組み合わせを仮想カメラ動作としてあらかじめ定義しておいてもよい。本実施形態に係る代表的な仮想カメラ動作は複数あり、拡大(ズームイン)、縮小(ズームアウト)や、注目点の平行移動や、前記回転とは異なる、注目点を中心にした横回転や縦回転等がある。これらの動作について次に説明する。
【0058】
拡大・縮小とは、仮想カメラの表示領域にある被写体を拡大または縮小表示する動作である。被写体の拡大・縮小は、仮想カメラの位置301を、仮想カメラの姿勢方向302(光軸方向)に沿って前後移動することで実現される。仮想カメラが姿勢方向(光軸方向)302に沿って前進すると、表示領域にある被写体へ方向を変更せずに近づくため、結果的に被写体は拡大表示されることになる。逆に、仮想カメラが姿勢方向(光軸方向)に沿って後退すると、被写体が縮小表示されることになる。なお、拡大・縮小はこれらの方法に限定されず、仮想カメラの焦点距離等の変更を用いてもよい。
【0059】
注目点の平行移動とは、仮想カメラの姿勢302を変更せずに、仮想カメラの注目点309を移動する動作である。この動作について
図3(F)を参照して説明すると、仮想カメラの注目点309の平行移動は軌跡320であり、仮想カメラの注目点309から注目点319までの移動を指す。注目点の平行移動320では、仮想カメラの位置は変化するが姿勢ベクトル302は変化しないため、注目点だけを移動して同方向から被写体を見続ける仮想カメラ動作となる。なお、姿勢ベクトル302は変化しないため、仮想カメラの注目点309の平行移動320と、仮想カメラの位置301の平行移動321は、同じ移動軌跡(移動距離)となる。
【0060】
続いて、
図3(G)を参照して注目点を中心とした仮想カメラの横回転について説明する。注目点を中心とした横回転とは、
図3(G)に示すように、注目点309を中心として、仮想カメラが注目面308の平行面に沿って回転322する動作である。注目点309を中心とした横回転において、姿勢ベクトル302は注目点309を向き続けたまま変化し、注目点309の座標は変化しない。ユーザは注目点を中心とした横回転によって、注目点309は動かないため、その周辺にある被写体を、注目面からの高さを変化させずに様々な角度から見ることができる。この動作は、注目点をずらさず、かつ、被写体(注目面)からの高さを距離が変化しないため、ユーザにとって簡単に注目すべき対象を様々な角度から見ることができるものとなる。
【0061】
なお、仮想カメラの位置301の回転時の軌跡322は、注目面308と平行面に在り、回転の中心は323となる。すなわち、注目点のXY座標を(X1、Y1)とし、仮想カメラのXY座標を(X2、Y2)として、R^2=(X1-X2)^2+(Y1-Y2)^2となる半径Rの円上を移動するよう仮想カメラの位置を決定する。また、仮想カメラの位置から注目点のXY座標方向に姿勢ベクトルとなるように姿勢を決定することで、注目点をずらさず様々な角度から被写体を見ることができる。
【0062】
続いて、
図3(H)を参照して注目点を中心とした仮想カメラの縦回転について説明する。注目点を中心とした縦回転とは、
図3(H)に示すように、注目点309を中心として、仮想カメラが注目面308と垂直面に沿って回転324する動作である。注目点を中心とした縦回転において、姿勢ベクトル302は注目点309を向き続けたまま変化し、注目点309の座標は変化しない。前述の横回転322と異なり、仮想カメラの注目面からの高さが変わる動作となる。この場合、仮想カメラの位置と、注目点とを含み、XY平面に対して垂直な平面上で、仮想カメラの位置と注目点との間の距離が変わらないように仮想カメラの位置を決定することができる。また、仮想カメラの位置から注目点の位置に姿勢ベクトルとなるように姿勢を決定することで、注目点をずらさず様々な角度から被写体を見ることができる。
【0063】
以上説明した注目点を中心とした横回転322と縦回転324を組み合わせることによって、仮想カメラは注目点309を変化させずに360度の様々な角度から被写体を見ることができる動作を実現できる。この動作を用いる仮想カメラの操作制御例を、
図7を参照して後述する。
【0064】
なお、仮想カメラ動作はこれらに限定されず、仮想カメラの移動と回転の組み合わせによって実現できる動作であればよい。以上に説明した仮想カメラ動作は、自動操作であっても手動操作であっても同様に操作できてもよい。
【0065】
(動作設定処理)
本実施形態では、
図3に説明した仮想カメラ動作を、自動操作と手動操作のそれぞれに自由に割り当てることができる。この割り当てを動作設定処理と呼ぶ。
【0066】
次に、
図4(A)および
図4(B)を参照して動作設定処理について説明する。なお、動作設定処理は画像表示装置104の操作制御部203において実行される。
【0067】
図4(A)は、仮想カメラ動作に識別子を割り当てたリストであり、動作設定処理に使用される。
図4(A)では、動作識別子(ID)毎に
図3に説明した仮想カメラ動作が設定されている。例えば、識別子=2には
図3(F)を参照して説明した注目点の平行移動が、識別子=3には
図3(G)を参照して説明した注目点を中心とした横回転が、識別子=4には
図3(H)を参照して説明した注目点を中心とした縦回転が設定されている。その他の識別子についても同様に設定することができる。操作制御部203は、この識別子を用いることによって、自動操作や手動操作に割り当てる仮想カメラ動作を指定する。なお、一例では、同一の動作に複数の動作識別子が割り当てられてもよい。例えば、識別子=5には、
図3(F)を参照して説明した注目点の平行移動であって、移動距離が10mの平行移動が設定され、識別子=6には、
図3(F)を参照して説明した注目点の平行移動であって、移動距離が20mの平行移動が設定されてもよい。
【0068】
図4(B)は、動作設定された一例である。
図4(B)では、自動操作の対象として、仮想カメラの注目点の平行移動(識別子=2)が設定されている。また、手動操作の対象として、拡大・縮小(識別子=1)と、注目点の平行移動(識別子=2)と、注目点を中心とした横回転(識別子=3)・縦回転(識別子=4)が設定されている。
【0069】
画像表示装置104の操作制御部203は、この動作設定に応じて、自動操作と手動操作による仮想カメラ動作を制御することになる。
図4(B)の例では、自動操作によってタイムコードに応じて仮想カメラの注目点が平行移動し、自動操作により指定された注目点の位置を変更せず、ユーザの手動操作によって被写体を様々な角度や拡大率で見ることができる。この動作設定例による仮想カメラ動作や、仮想視点画像の表示例に関する詳細な説明は
図4(C)および
図4(D)と
図7を参照して後述する。なお、動作設定できる組み合わせは
図4(B)の例に限定されず、また、動作設定された内容を途中で変更することも可能である。また、自動操作または手動操作に設定できる動作は一つでなく、それぞれに複数の仮想カメラ動作を設定してもよい。
【0070】
また、動作設定された組み合わせは基本的に自動操作と手動操作とで排他制御としてもよい。例えば、
図4(B)の例では、自動操作の対象が仮想カメラの注目点の平行移動であり、自動操作中は、手動操作による注目点の平行移動が操作された場合であってもキャンセル(無視)するような処理を行ってもよい。また、排他制御を一時的に解除するような処理を行ってもよい。
【0071】
また、動作設定される組み合わせは、あらかじめ設定候補を画像表示装置104が保持してもよいし、ユーザが自動操作と手動操作に割り当てる仮想カメラ動作の選択操作をユーザから受け付けて設定してもよい。
【0072】
(自動操作情報)
図4(A)および
図4(B)を参照して説明した動作設定処理において自動操作に指定された仮想カメラ動作に関して、タイムコード毎に具体的内容を示した情報を自動操作情報と呼ぶ。ここで、
図4(C)および
図4(D)を参照して、自動操作情報について説明する。自動操作情報で指定される仮想カメラ動作の識別子(種類)は、
図4(A)および
図4(B)を参照して説明したように動作設定処理により決定される。
図4(C)は
図4(B)の動作設定例に対する自動操作情報例である。
【0073】
図4(C)における自動操作情報401は、仮想カメラ動作として、タイムコード毎に仮想カメラの注目点の位置と姿勢が指定されている。
図4(C)の一行目から最終行までのタイムコードのように、連続するタイムコード(2020-02-02 13:51:11.020 ~ 2020-02-02 13:51:51.059)をタイムコード区間と呼ぶ。また、その開始時刻(13.51.11.020)を開始タイムコード、その終了時刻(13:51:51.059)を終了タイムコードと呼ぶ。
【0074】
注目点の座標は(x,y,z)で指定されており、zは一定値(z=z01)であって、(x,y)のみが変化している。この座標の連続値を、
図4(D)に示す三次元空間411に図示すると、フィールド面から一定の高さで平行移動(
図4(B)の識別子=2)する軌跡412のようになる。一方で、仮想カメラの姿勢に関しては、該当タイムコード区間において初期値のみ指定されている。よって、自動操作情報401を用いた自動操作は、指定されたタイムコード区間にて、姿勢については初期値(-Y方向)から変化せず、注目点が軌跡412を辿るように仮想カメラを動作させるものになる(421~423)。
【0075】
例えば、軌跡412が、ラグビー等のフィールドスポーツにおけるボールの位置を追従(注目点の位置=ボールの位置)するように設定されていれば、この自動操作によって仮想カメラは姿勢を変えずに、常にボールとその周辺の被写体を追うものとなる。
【0076】
図4(D)に示す自動操作情報を用いた場合の、仮想カメラが421~423にある時の仮想視点画像例をそれぞれ
図4(E)~
図4(G)に示す。これらの一連の図に示すように、タイムコード及び位置が変化することによって、仮想カメラの画角に入る被写体は変化するものの、いずれの仮想視点画像も同一の姿勢ベクトル、すなわち-Y方向となる。本実施形態では、このような自動操作情報401を用いた自動操作を自動再生とも呼ぶ。
【0077】
なお、軌跡412のような連続値の座標は、
図2に説明したように三次元モデル生成時に計算した前景オブジェクトであるボールや選手の座標を用いることができる。
【0078】
また、画像表示装置104以外のデバイスから取得したデータを自動操作情報に使用してもよい。例えば、被写体に含まれるボールや選手の衣類などに位置測位タグを装着し、その位置情報を注目点として用いてもよい。また、三次元モデル生成時に計算した前景オブジェクトの座標や、位置測位タグで取得した位置情報をそのまま自動操作情報に使用してもよいし、それらの情報から別途算出される情報を使用してもよい。例えば、三次元モデルの前景オブジェクトの座標値や測位値に関して、選手の姿勢やボールの位置によってz値は変動するが、zは固定値とし、x,yの値のみ使用してもよい。zの値はフィールドの高さ(z=0)や、視聴者が自然と目を向けやすい高さ(z=1.7mなど)を設定してもよい。なお、自動操作情報を取得するデバイスは位置測位タグに限定されず、例えば、表示中の画像表示装置104とは異なる別の画像表示装置から受信した情報を用いてもよい。例えば、自動操作情報の操作を行う作業者が、画像表示装置104とは異なる別の画像表示装置を操作して自動操作情報を入力してもよい。
【0079】
なお、自動操作情報に指定できるタイムコード区間は、フィールドスポーツにおける試合全体であってもよいし、その一部であってもよい。
【0080】
なお、自動操作情報例は、以上に説明した例に限定されない。自動操作情報の項目は、仮想カメラ動作に関する情報であれば限定されない。その他の自動操作情報例に関しては後述する。
【0081】
(手動操作画面)
図5を用いて、本実施形態に係る仮想カメラの手動操作について説明する。手動操作で指定される仮想カメラ動作は、
図4(A)および
図4(B)に示した動作設定処理によって決定されるものであった。ここでは、動作設定処理で割り当てられた仮想カメラ動作に対する手動操作方法や、タイムコードの手動操作方法について説明する。
【0082】
図5(A)は、画像表示装置104の操作入力部214の手動操作画面501の構成を説明するための図である。
【0083】
図5(A)において、手動操作画面501は、仮想カメラ操作領域502と、タイムコード操作領域503の大きく2つから構成される。仮想カメラ操作領域502は仮想カメラに対するユーザの手動操作を受け付け、タイムコード操作領域503はタイムコードに対するユーザの手動操作を受け付けるためのグラフィカルユーザインタフェース(GUI)である。
【0084】
まず、仮想カメラ操作領域502について説明する。仮想カメラ操作領域502は、受け付けた操作の種類に応じて、
図4(A)、
図4(B)の動作設定処理で設定された仮想カメラ動作を実行する。
【0085】
図5の例では、タッチパネルを用いるため、操作の種類はタップやスワイプ等のタッチ操作の種類となる。一方、ユーザ操作の入力のためにマウスを使用する場合には、タップ操作の代わりにクリック操作が、スワイプ操作の代わりにドラッグ操作が行われてもよい。それらの各々のタッチ操作には、
図4に示した仮想カメラ動作である、注目点の平行移動や、注目点を中心とした横・縦回転などの動作を割り当てられる。このような割り当てを決定するテーブルを手動操作設定と呼び、
図5(B)に示す。
【0086】
図5(B)を用いて、手動操作設定について説明する。同図では、項目に、タッチ操作、タッチ数、タッチ領域、そして、仮想カメラ動作の識別子(ID)などがある。
【0087】
タッチ操作の項目には、仮想カメラ操作領域502で可能なタッチ操作が列挙される。例えば、タップやスワイプ等が含まれる。タッチ数の項目には、タッチ操作で必要となる指の本数が定義される。タッチ領域の項目には、該タッチ操作の処理対象となる領域が指定される。例えば、仮想カメラ操作領域(全体)や仮想カメラ操作領域(右縁)等が指定される。タッチ操作の項目、タッチ数の項目、およびタッチ領域の項目の三項目の内容に応じて、ユーザから受け付ける手動操作の内容を区別することになる。そして、各々の手動操作に対して、仮想カメラ動作の識別子(ID)を割り当てることによって、各手動操作を受け付けた時に、仮想カメラ動作の一つを実行することになる。仮想カメラ動作の識別子(ID)は
図4(A)を参照して説明したように、
図3に説明した仮想カメラ動作の種類を識別するものである。
【0088】
図5(B)の割り当て例では、例えば二行目(No.2)の指定によって、仮想カメラの操作領域502に対する一本指の横方向のスワイプ操作を受け付けた時に、注目点を中心とした横回転(動作識別子=3)が実行されることになる。また、三行目(No.3)の指定によって、仮想カメラの操作領域502に対する一本指の縦方向のスワイプ操作を受け付けた時に、注目点を中心とした縦回転(動作識別子=4)が実行されることになる。
【0089】
なお、仮想カメラの手動操作に用いるタッチ操作の種類については、指の本数に応じたジェスチャ操作を用いてもよいし、後述する第3実施形態に示す比較的簡単なジェスチャ操作を用いてもよい。いずれも
図5(B)の手動操作設定で指定可能である。なお、手動操作設定に指定できる操作はタッチ操作に限定されず、タッチパネル以外のデバイスを用いた場合の操作を指定することもできる。
【0090】
次に、タイムコード操作領域503について説明する。タイムコード操作領域503はタイムコードを操作するための構成要素512~515から構成される。メインスライダー512は、撮影データの全タイムコードに対して操作できる。摘み522の位置をドラッグ操作等で選択し、メインスライダー512内の任意のタイムコードを指定することができる。
【0091】
サブスライダー513は、全タイムコードの一部を拡大して表示し、メインスライダー512より細かい粒度でタイムコードを操作できる。摘み523の位置をドラッグ操作等で選択し、タイムコードを指定することができる。メインスライダー512とサブスライダー513とは画面上は同じ長さであるが、選択できるタイムコードの幅が異なる。例えば、メインスライダー512は一試合の長さである3時間分から選択可能であるのに対し、サブスライダー513はその一部である30秒から選択可能とする。つまり、各スライダーのスケールが異なり、サブスライダー513は、フレーム単位といったような、より細かい粒度のタイムコード指定が可能となる。一例では、サブスライダー513は、摘み522の位置する時間の15秒前から15秒後までなどである。
【0092】
なお、メインスライダー521の摘み522を用いて指定したタイムコードや、サブスライダー513の摘み523を用いて指定したタイムコードを、『日:時:分:秒.フレーム番号』の形式で数値として表示してもよい。なお、サブスライダー513は常に表示しなくともよい。例えば、表示指示を受け付け後に表示してもよいし、一時停止などの特定の操作が指示された時に表示してもよい。また、サブスライダー513で選択可能となるタイムコード区間は可変でよい。一時停止などの特定操作を受け付けた時には、一時停止の指示を受け付けた時点での摘み523の時刻の前後15秒程度の区間を表示してもよい。
【0093】
再生速度を指定するスライダー514は、等倍再生やスロー再生等の再生速度を指定可能である。摘み524で選択された再生速度に応じて、タイムコードのカウントアップ間隔を制御する。タイムコードのカウントアップ間隔を制御する例については
図6のフローチャートを参照して説明する。
【0094】
キャンセルボタン515は、タイムコードに関する各操作をキャンセルするために使用してもよいし、一時停止をクリアし、通常再生に戻るために使用してもよい。なお、タイムコードに関する手動操作を行うボタンであればキャンセルに限定されない。
【0095】
なお、手動操作画面は、仮想カメラ操作領域502とタイムコード操作領域503以外の領域を設けてもよい。例えば、画面上部の領域511に、試合情報を表示してもよい。試合情報としては、開催場所・日時、対戦カード、得点状況が挙げられる。なお、試合情報はこれらに限定されない。
【0096】
また、画面上部の領域511においては、例外的な操作を割り当ててもよい。例えば、画面上部の領域511がダブルタップを受け付けた場合には、仮想カメラの位置と姿勢について、被写体全体を俯瞰できる位置へ移動させる操作としてもよい。仮想カメラの手動操作は慣れないユーザには難しい場合があり、どの位置にいるのか不明になる場合がある。そのような場合において、ユーザにとって位置と姿勢が分かりやすい俯瞰地点に戻るような操作を割り当ててもよい。俯瞰画像とは、
図3(B)に示すような被写体をZ軸から見下ろすような仮想視点画像である。
【0097】
なお、仮想カメラ、または、タイムコードを操作できれば構成はこれらに限定されず、仮想カメラ操作領域502とタイムコード操作領域503は分離されていなくともよい。例えば、仮想カメラ操作領域502に対するダブルタップなどで、タイムコードに対する操作として一時停止などが処理されてもよい。なお、操作部入力部214がタブレット500の場合を説明したが、操作及び表示デバイスはこれに限定されない。例えば、表示領域502の右半分をダブルタップした場合には10秒早送りし、左半分をダブルタップした場合には10秒巻き戻すよう設定されてもよい。
【0098】
(操作制御処理)
次に、
図6のフローチャートを用いて、本実施形態に係る自動操作と手動操作を有意に組み合わせる仮想カメラの制御処理について説明する。
【0099】
自動操作と手動操作の各々に設定される仮想カメラ動作は先述の動作設定処理によって決定され、更に自動操作は
図4に説明した自動操作情報に従い、手動操作は
図5に説明した手動設定内容に従って実行される。そして、その両方の操作を有意に組み合わせた仮想カメラ制御処理について本フローチャートで説明する。なお、
図6に示すフローチャートは、CPU211が、RAM212をワークスペースとして使用し、ROM213に格納されたプログラムを実行することで実現される。
【0100】
操作制御部203は、S602でタイムコード及び再生速度に関する処理を実行し、その後に、S604~S608において自動操作と手動操作を有意に組み合わせる処理を実行する。また、操作制御部203は、S602~S611のループ処理をフレーム単位に実行する。例えば、出力される仮想視点画像のフレームレートが60FPSの場合であれば、約16.6[ms]の間隔でS602~S611の1ループ(1フレーム)を処理する。なお、1ループの間隔に関して、画像表示装置においてタッチパネルなどの画像表示における更新レート(リフレッシュレート)を60FPSに設定し、それと同期処理することで実現してもよい。
【0101】
S602では、操作制御部203は、タイムコードをカウントアップする。本実施形態に係るタイムコードは、
図1に説明したように『日:時:分:秒:フレーム番号』によって指定でき、カウントアップはフレーム単位で実行される。言い換えると、S602~S610のループ処理は先述の通りフレーム単位に実行されるため、ループ処理一回につき、タイムコードにおけるフレーム数が一つカウントアップされることになる。
【0102】
なお、タイムコードのカウントアップは、
図5に説明した再生速度のスライダーの選択値514に応じて、カウントアップ間隔を変更してもよい。例えば、1/2の再生速度が指定されていた場合、カウントアップはステップS601~S610のループ処理2回につきフレームが1回カウントアップされればよい。
【0103】
続いて、操作制御部203は処理をS603に進め、モデル生成部205を介して、カウントアップまたは指定されたタイムコードの三次元モデルを取得する。モデル生成部205は
図2に説明したように、多視点画像から被写体の三次元モデルを生成する。
【0104】
続いて、S604では、操作制御部203は、カウントアップされたまたは指定されたタイムコードにおける自動操作部202の自動操作情報が有るか否かを判定する。タイムコードにおける自動操作情報が有る場合(S604でYes)は、操作制御部203は処理をS605へ進め、自動操作情報が無い場合(S604でNo)は処理をS606へ進める。
【0105】
S605において、操作制御部203は、対応するタイムコードにおける自動操作情報を用いて仮想カメラを自動操作する。仮想カメラの自動操作については
図4を参照して説明したため説明を省略する。
【0106】
S606において、操作制御部203は、ユーザから手動操作を受け付け、受け付けた操作内容に応じて処理を切り替える。タイムコードに対する手動操作を受け付けた場合(S606で「タイムコード操作」)、操作制御部203は処理をS609へ進める。仮想カメラに関する手動操作を受け付けた場合(S606で「仮想カメラ操作」)、操作制御部203は処理をS607へ進める。手動操作を受け付けなかった場合(S606で「なし」)、操作制御部203は処理をS609へ進める。
【0107】
S607において、操作制御部203は手動操作(S606)で指定された仮想カメラ動作が、自動操作(S605)で指定された仮想カメラ動作と干渉するか否かを判定する。動作の比較には、
図4(A)に示した仮想カメラ動作の識別子を用い、自動操作と手動操作とが同一識別子である場合に自動操作と手動操作とが干渉すると判定してもよい。なお、識別子の比較に限定されず、仮想カメラの位置や姿勢の変化量等で比較して干渉するか否かを判定してもよい。
【0108】
手動操作で指定された仮想カメラの動作が自動操作で指定された動作と干渉すると判定された場合(S607でYes)、操作制御部203は処理をS609へ進め、受け付けた手動操作はキャンセルされる。すなわち、自動操作と手動操作とが干渉する場合には、自動操作が優先される。なお、自動操作によって変化しないパラメータについては手動操作に基づいて操作される。例えば、自動操作によって注目点の平行移動が行われる場合、注目点の位置は変化するが仮想カメラの姿勢は変化しない。このため、注目点の位置は変化しないが仮想カメラの姿勢が変化する、仮想カメラの横回転、縦回転などは注目点の平行移動と干渉しないため、手動操作によって実行することができる。指定された仮想カメラの動作が自動操作で指定された動作と干渉しないと判定された場合(S607でNo)、操作制御部203は処理をS608へ進め、自動操作と手動操作を組み合わせた仮想カメラ制御処理を実行する。
【0109】
例えば、S605において指定された自動操作の動作が注目点の平行移動(識別子=2)で、S606で指定された手動操作の動作が注目点の平行移動(識別子=2)で、鑑賞すると判定された場合は、手動操作の注目点の平行移動はキャンセルされる。一方、例えば、S605において指定された自動操作の動作が注目点の平行移動(識別子=2)で、S606で指定された手動操作の動作が注目点を中心とした縦・横回転(識別子=3、4)で、異なる動作であると判定される。この場合は、
図7を参照して後述するように、S608で各々が組み合わされた動作が実行される。
【0110】
続いて、S608では、操作制御部203は、操作制御部203は仮想カメラの手動操作を実行する。仮想カメラの手動操作については
図5で説明したため説明を省略する。続いて、操作制御部203は処理をS609に進め、自動操作および手動操作の少なくともいずれかによって操作された仮想カメラの位置、姿勢で撮像した場合の仮想視点画像を生成して描画する。仮想視点画像の描画については
図2に説明したため説明を省略する。
【0111】
S610では、操作制御部203は、表示すべきタイムコードを、ユーザによる手動操作で指定されたタイムコードへ更新する。タイムコードを指定するための手動操作は
図5に説明したため説明を省略する。
【0112】
S611では、操作制御部203はすべてのフレームの表示が完了したか否か、すなわち終了タイムコードに到達したか否かを判定する。終了タイムコードに到達した場合(S611でYes)、操作制御部203は
図6に示す処理を終了し、終了タイムコードに到達していない場合(S611でNo)は処理をS602に戻す。以上のフローチャートを用いた仮想カメラ制御例、及び、仮想視点画像の生成例について、続く
図7を用いて説明する。
【0113】
(仮想カメラ制御例、及び、仮想視点画像の表示例)
図7を用いて、本実施形態に係る自動操作と手動操作とを組み合わせた仮想カメラの制御例、及び、仮想視点画像の表示例について説明する。
【0114】
ここでは仮想カメラの制御例として、自動操作に
図4(C)および
図4(D)に説明した自動操作情報を用い、手動操作に
図5(B)に説明した手動設定内容を用いた場合を説明する。
【0115】
図4(C)および
図4(D)の自動操作において、仮想カメラは、姿勢を変更せずにタイムコードの経過に合わせて仮想カメラの注目点の座標が軌跡412を辿るように平行移動(識別子=2)するよう操作される。
図5(B)の手動操作において、仮想カメラは、スワイプおよびドラッグの少なくともいずれかの操作によって注目点を中心とする横・縦回転(
図3(G)および
図3(H)、識別子=3、4)等を行うようにユーザによって操作される。
【0116】
例えば、
図4(D)の軌跡412がフィールドスポーツにおけるボールを追従するものであれば、S605の自動操作は仮想カメラの注目点に常にボールを捉えるように平行移動する動作となる。この動作に加えて、注目点を中心とする横・縦回転を手動操作することによって、ユーザは意識せずに常にボールを追従しながら、その周辺のプレーを様々な角度から見ることができるようになる。
【0117】
この一連の動作例を
図7(A)~
図7(D)を用い説明する。
図7の例において、スポーツはラグビーで、プレーヤーがオフロードパス(倒れきる前に行うパス)を行うシーンを撮影しているものとする。この場合、被写体はラグビーボールおよびフィールド上のプレーヤーの少なくともいずれかである。
【0118】
図7(A)はフィールドの三次元空間を俯瞰したもので、自動操作(軌跡412)により、仮想カメラの注目点が座標701~703へ平行移動(識別子=2)する場合である。
【0119】
まず、仮想カメラの注目点が座標701にある場合を説明する。この時の仮想カメラの位置は座標711にあり、姿勢はほぼ-X方向である。その時の仮想視点画像は
図7(B)に示すように、プレーをフィールド長辺方向に沿って-X方向に見たものとなる。
【0120】
続いて、仮想カメラの注目点が座標702へ自動操作で平行移動した場合を説明する。ここで、注目点が座標701から702へ自動操作で平行移動(識別子=2)する間に、ユーザによって注目点を中心とする縦回転(識別子=4)の手動操作が行われたものとする。この場合、仮想カメラの位置は座標712へ平行移動し、姿勢はほぼ-Z方向へ縦回転したものになる。この時の仮想視点画像は
図7(C)に示すように、被写体をフィールドの上方から見下ろしたものとなる。
【0121】
更に、仮想カメラの注目点が座標703へ平行移動した場合を説明する。ここで、注目点が座標702から703へ平行移動(識別子=2)する間に、ユーザによって注目点を中心とする横回転(識別子=3)の手動操作が行われ他ものとする。この場合、仮想カメラの位置は座標713へ平行移動し、姿勢はほぼ-Y方向へ回転する。この時の仮想視点画像は
図7(D)に示すように、被写体をフィールド外から-Y方向に見たものとなる。
【0122】
以上のように、自動操作と手動操作を有意に組み合わせることで、ラグビーのオフロードパスのような早い展開のシーンにおいて、ボール付近を自動で仮想カメラの画角内に捉え続け、かつ、手動操作に応じて様々な角度から見ることが可能になる。具体的には、自動操作によって、ユーザに操作負担を掛けることなく、三次元モデルや位置測位タグから取得したボールの座標を用い、仮想カメラの画角内に常にボール付近を捉え続けることができる。更に、手動操作として、ユーザは単純なドラッグ操作(指一本のドラッグ操作による注目点を注視点とした横・縦回転)を加えるだけで、様々な角度から注目すべきプレーを見ることができるようになる。
【0123】
なお、自動操作が行われる区間(軌跡412)において、手動操作が行われない場合、仮想カメラの姿勢は最後に手動操作された姿勢で維持される。例えば、自動操作により注目点の位置が座標703から704へ平行移動(識別子=2)する間に手動操作が行われない場合、仮想カメラの姿勢は座標713と座標714とで同じまま(同じ姿勢ベクトル)である。したがって、
図7(E)に示すように、仮想カメラの姿勢は-Y方向であり、
図7(D)以降、手動操作がないまま時間が経過している間は、画像表示装置104はプレーヤーがオフロードパスを成功させ、トライへ向け疾走するシーンを同じ姿勢で表示する。
【0124】
なお、
図6および
図7の操作制御において、手動操作および自動操作の少なくともいずれかによって設定された内容を一時的に無効または有効にする処理を追加してもよい。例えば、仮想支店画像の再生に対する一時停止指示を受け付けた場合は、手動操作および自動操作によって設定された動作設定処理をリセットしてデフォルトの仮想カメラの位置および座標に設定してもよい。デフォルトの仮想カメラの位置は、例えばフィールド全体が画角に収まるようにフィールド上方から姿勢は-Z方向で仮想カメラの位置および座標を変更してもよい。
【0125】
別の例では、仮想視点画像の再生に対する一時停止指示を受け付けた場合に、手動操作によって設定された内容を無効にし、一時停止が解除され再生が再開された場合に、手動操作によって設定された内容を再度反映してもよい。
【0126】
また、自動操作時は自動操作に注目点の平行移動(識別子=2)が設定され、同動作(識別子=2)が手動操作された結果、S607で手動操作がキャンセルされた場合、一時停止時には自動操作情報に関わらずに注目点の平行移動の手動操作が可能でもよい。
【0127】
例えば、自動再生において仮想カメラの注目点が座標701にある時に、一時停止を受け付けた場合を考える。この時の仮想視点画像は
図7(B)であったが、オフロードパスのきっかけとなった相手チームのタックルした選手の様子を確認したいが、外選手は画角からは外れている。このような場合にユーザは一時停止を行い、画面下方向への平行移動を手動操作した場合は、座標705等へ注目点を平行移動することができる。
【0128】
そして、一時停止が解除され通常再生に戻った場合は、動作設定内容が有効になり、自動操作による注目点の平行移動(識別子=2)が実行され、手動操作による注目点の平行移動(識別子=2)がキャンセルされるよう設定されてもよい。なお、その際に、手動操作により平行移動した移動量(座標701から座標705への移動距離)もキャンセルされ、自動操作で指定される座標701へ注目点を戻す処理を行ってもよい。
【0129】
以上説明したように、自動操作と手動操作を有意に組み合わせて仮想カメラを制御することによって、被写体が速く複雑に移動するシーンであっても、仮想カメラの画角内に被写体の所望の場所を捉え続け、かつ、様々な角度からの閲覧が可能になる。
【0130】
例えば、ラグビーのようなフィールドスポーツにおいて、フィールドの広い範囲で一気にプレーが展開し得点につながるシーンに対しても、自動操作により仮想カメラの画角内にボール付近を捉え続け、手動操作を加えれば様々な角度から見ることができる。
【0131】
<第2実施形態>
本実施形態では、画像表示装置104におけるタグ生成処理、及び、タグ再生処理について説明する。
図1の仮想視点画像生成システムと、
図2画像表示装置104を含む、第1実施形態と同様の構成、処理、機能は同一の参照符号を使用し、説明を省略する。
【0132】
本実施形態のタグとは、スポーツの得点等の注目シーンをユーザが選択でき、選択されたシーンにおける自動操作を設定できるようにするものである。ユーザは、タグによる自動再生中に、手動操作を追加で行うこともでき、タグを使用して自動操作と手動操作とを組み合わせた仮想カメラ制御処理を実行することができる。
【0133】
このようなタグは、仮想視点画像の代表的なユースケースであるスポーツ番組の解説等に使用される。そのようなユースケースでは得点等の複数の重要シーンを、様々な位置や角度から閲覧し解説できることが要求される。実施形態1に例に示したボールや選手の位置を仮想カメラの注目点として自動操作する他にも、本実施形態では、解説等の意図に応じて、ボールや選手などのオブジェクトとは別の任意位置を注目点とするタグも生成可能である。
【0134】
本実施形態では、タグは、仮想カメラの位置および姿勢を設定する自動操作と、タイムコードとが対応付けられたものとして説明を行う。しかしながら、一例では、開始および終了タイムコードを有するタイムコード区間(期間)と、タイムコード区間内の複数の自動操作とが対応付けられたものであってもよい。
【0135】
なお、
図1の仮想視点画像生成システムにおいて、データベース103より得点などの注目すべき期間のデータを画像表示装置104へコピーして使用する構成において、コピーしたタイムコード区間へタグを付与するようにしてもよい。これによって、コピーしたデータのみへアクセスを容易にでき、スポーツ番組等において、重要シーンの仮想視点画像を使用して画像表示装置104を解説に使用することができる。
【0136】
本実施形態におけるタグは、画像表示装置104(
図2)におけるタグ管理部204において管理され、タグ生成およびタグ再生処理は、操作制御部203において実行される。各々の処理は、第1実施形態で説明した
図4の自動操作と
図5の手動操作、そして、
図6の自動操作と手動操作を組み合わせた仮想カメラ制御処理等を基にして実現される。
【0137】
(タグ生成処理)
次に、
図8(A)を参照して画像表示装置104においてタグを生成する方法について説明する。
【0138】
図8(A)は、
図5(A)に説明した画像表示装置104の手動操作画面と同じ構成であり、タッチパネル501を仮想カメラ操作領域502と、タイムコード操作領域503に大きく分けられる。
【0139】
タグ生成におけるユーザ操作では、まずユーザはタイムコード操作領域503でタイムコードを選択し、次に仮想カメラ操作領域502でタイムコードにおける仮想カメラ動作を指定する。この2ステップを繰り返すことで、任意のタイムコード区間における自動操作を作成することができる。
【0140】
タグ生成に際しても、タイムコード操作領域503におけるタイムコードの指定操作は
図5(A)に説明した内容と同様である。すなわち、メインスライダーにおける摘みをドラッグ操作することによって、またはサブスライダーにおける摘みをドラッグ操作811することによって、タグ生成したいタイムコードを指定することができる。
【0141】
なお、タイムコードの指定に関しては、メインスライダー512において、大まかなタイムコードを指定してから一時停止指示を行い、その前後数十秒の幅が表示されるサブスライダー513を用いて詳細にタイムコードを指定してもよい。なお、サブスライダー513はタグ生成が指示された時に表示してもよい。
【0142】
ユーザがタイムコードを選択すると、そのタイムコードにおける仮想視点画像(俯瞰画像)が表示される。
図8(A)における仮想カメラ操作領域502には、被写体を俯瞰する仮想視点画像が表示されている。これは、被写体の広範囲を表示する俯瞰画像を見ながらであれば、プレー状況の把握が容易であり、注目点の指定を簡単に行うことができるためである。
【0143】
続いて、表示中の該タイムコードにおける俯瞰画像(仮想視点画像)を目視しながら、該タイムコードにおける仮想カメラの注目点をタップ操作812で指定する。画像表示装置104は、タップされた位置を三次元空間における仮想カメラの注目面上の座標に変換し、その座標を該タイムコードにおける注目点の座標として記録する。なお、本実施形態では、XY座標はタップされた位置であり、Z座標はZ=1.7mであるものとして説明を行う。しかしながら、Z座標もXY座標と同様に、同様にタップされた位置に基づいて取得してもよい。このタップ位置からの座標変換方法は、公知であり説明を省略する。
【0144】
以上の2ステップを繰り返す(
図8における821、822)ことで、任意のタイムコード区間における仮想カメラの注目点を時系列で指定することができる。
【0145】
なお、上記のような操作で指定されるタイムコードは連続せず間隔が開く場合があるが、その間の座標に関しては手動で指定された座標を用いて補完生成してもよい。複数点間の補完は各種曲線関数(スプライン曲線等)を用いて行う方法が公知であり省略する。
【0146】
以上の手順で生成されるタグは、
図4(A)に説明した自動操作情報と同じ形式になる。よって、本実施形態により生成されるタグは、実施形態1に説明した自動操作と手動操作を有意に組み合わせる仮想カメラ制御処理に用いることができる。
【0147】
なお、タグで指定できる仮想カメラ動作は、注目点の座標に限定されず、実施形態1に示した仮想カメラ動作のいずれでも構わない。
【0148】
以上の方法を用いて、一試合における複数の得点シーンに対して、各々に異なる複数のタグを生成することも可能である。また、同区間のタイムコードに対して、異なる自動操作情報を持つ、複数のタグも生成可能である。
【0149】
なお、実施形態1に説明した通常の仮想カメラの操作画面と、本実施形態におけるタグ生成の操作画面の切り替えボタンを用意してもよい。なお、不図示であるが、タグ生成の操作画面に切り替わった時に、被写体を俯瞰する位置と姿勢に仮想カメラを移動させる処理を行ってもよい。
【0150】
以上に説明したタグ生成処理を用いて、スポーツの試合において得点等の注目シーンが発生した任意のタイムコード区間における自動操作を簡単にタグとして生成することができる。続いて、このように生成したタグをユーザが選択し、簡単に自動再生するタグ再生処理に関して説明する。
【0151】
(タグ再生処理)
次に、
図9のフローチャートと
図8(B)および
図8(C)の操作画面を用いて、画像表示装置104におけるタグ再生について説明する。
【0152】
図9は、タグ再生時の画像表示装置104が実行する仮想カメラの制御処理例を示すフローチャートである。
図9は、
図6と同様に、操作制御部203がS902~S930の処理をフレーム単位で繰り返し実行する。処理一回につき、タイムコードにおけるフレーム数が一つカウントアップされることにより、連続フレームを処理することになる。なお、
図6の仮想カメラ制御処理のフローチャートと同処理になるステップはここでは説明を省略する。
【0153】
S902では、操作制御部203は、S603と同処理を行い、現タイムコードの三次元モデルを取得する。
【0154】
ステップS903では、操作制御部203は、表示モードを判別する。表示モードとは、
図5(A)の操作画面における表示モードであり、ここでは通常再生モードか、タグ再生モードかを判別する。表示モードの判別結果が、通常再生の時はS906へ進み、タグ再生の時はS0904へ進む。
【0155】
なお、判別する表示モードはこれらに限定されない。例えば、
図8(A)に説明したタグ生成に関してもモード判別の対象へ追加してもよい。
【0156】
続いて、画像表示装置104は処理をS904に進め、操作制御部203は、表示モードがタグ再生のため、選択されたタグにおいて、タイムコードで指定された自動操作情報を読み込む。自動操作情報は先に説明した通り、
図4(C)などに示したものである。続いて、画像表示装置104は処理をS905に進め、操作制御部203はS605と同処理を行い、仮想カメラを自動操作する。
【0157】
続いて、画像表示装置104は処理をS906に進め、操作制御部203はユーザから手動操作を受け付け、受け付けた操作内容に応じて処理を切り替える。ユーザからタイムコードに対する手動操作を受け付けた場合(S906で「タイムコード操作」)、画像表示装置104は処理をS912へ進める。ユーザから仮想カメラに関する手動操作を受け付けた場合(S906で「仮想カメラ操作))、画像表示装置104は処理をS922へ進める。ユーザから手動操作を受け付けなかった場合(S906で「なし」)、画像表示装置104は処理をS907へ進める。ユーザからタグの選択操作を受け付けた場合(S906で「タグ選択操作」)、画像表示装置104は処理をS922へ進める。この時の手動操作画面について
図8(B)および
図8(C)を用いて説明する。
【0158】
なお、S906における判別する手動操作の内容はこれらに限定されず、
図8(A)に説明したタグ生成操作も対象としてもよい。
【0159】
図8(B)は、手動操作画面801におけるタイムコード操作領域503を抽出したものである。
図8(B)のタイムコードを操作するメインスライダー512上に複数のタグ(831~833)が区別可能に表示されている。タグ(831~833)の表示位置は、タグの開始タイムコードがメインスライダー上で相当する位置に表示される。なお、表示されるタグは
図8(A)に示した画像生成装置104において生成したタグを用いてもよいし、別のデバイスで生成したタグを読み込んでもよい。
【0160】
ここで、ユーザはメインスライダー512上に表示される複数タグ(831~833)のいずれかのタグをタップ操作834にて選択する。タグ選択時には、タグに設定された自動操作情報が吹き出し835に示すようにリストアップされうる。吹き出し835ではタイムコードに2つの自動操作が設定されており、それに対応するタグ名2つ(Auto1、Auto2)が表示されている。なお、同タイムコードに設定できるタグ数は2に限定されない。ユーザがタグ831~833のいずれかのタグをタップ操作834により選択すると、画像表示装置104は処理をS922に進める。
【0161】
S922において、操作制御部203は、表示モードにタグ再生を設定し、処理をS923に進める。
【0162】
S923において、操作制御部203は、S906において選択されたタグで指定される開始タイムコードを読み込み、処理をS912に進める。そして、S912において、操作制御部203はタイムコードを指定されたタイムコードに更新し、処理をS902に戻す。そして、その後のS904、S905において、画像表示装置104は選択したタグで指定される自動操作情報を用いて仮想カメラの自動操作を行う。
【0163】
ここで、タグ再生(タグを選択後の自動再生)時の画面を
図8(C)に示す。
図8(C)では、タイムコード操作領域503にサブスライダー843が表示されている。なお、サブスライダー843の尺度は、タグに指定されたタイムコード区間の長さであってもよい。また、タグ再生が指示された時など、サブスライダー843が動的に表示されてもよい。また、タグ再生時には、再生中のタグは他のタグと区別できる表示832にしてもよい。
【0164】
図8(C)の仮想カメラ操作領域502では、選択されたタグに含まれる自動操作情報で指定された仮想カメラを用いて生成された仮想視点画像が表示されている。タグ再生時に、手動操作を追加で受け付けることも可能であり、S907、S908において、画像表示装置104は第1実施形態で説明したものと同様に自動操作と手動操作とを組み合わせた仮想カメラ制御処理を実行する。
【0165】
S907では、操作制御部203は、仮想カメラに関する手動操作を受け付けた場合、現状の表示モードを確認する。表示モードが通常再生モードの場合(S907で「通常再生」)、操作制御部203は処理をS909へ進め、表示モードがタグ再生モードの場合(S907で「タグ再生」)、処理をS908へ進める。
【0166】
S908において、操作制御部203は選択されたタグにおける自動操作と、S906で受け付けた仮想カメラの手動操作とを比較し、干渉するか否かを判定する。自動操作と手動操作との比較方法はS607と同様であるため説明を省略する。
【0167】
S909において、操作制御部203はS608と同様に仮想カメラを手動操作する。S910において、操作制御部203はS609と同様に仮想視点画像を描画する。S911において、操作制御部203はタイムコードをカウントアップする。タイムコードのカウントアップはS602と同様であるため説明を省略する。
【0168】
S921では、操作制御部203は、タグ再生時にS911でカウントアップされたタイムコードがタグ指定された終了タイムコードであるか否かを判定する。カウントアップされたタイムコードがタグ指定された終了タイムコードではない場合(S921でNo)、操作制御部203は処理をS930へ進め、S611と同様の判定を行う。カウントアップされたタイムコードがタグ指定された終了タイムコードである場合(S921でYes)、操作制御部は処理をS923へ戻し、選択されたタグの開始タイムコードを読み込み、タグ再生を繰り返すリピート再生を行う。なお、その場合、前回の再生において設定された手動操作が自動操作として反映されてもよい。
【0169】
なお、ユーザはタグ再生中のリピート再生を解除するために、
図8(C)に示すキャンセルボタン844を押下してもよい。
【0170】
なお、タグ再生をリピートする時には、最後に手動操作された姿勢をリピート時に維持してもよい。
図4(C)および
図4(D)の自動操作情報をタグとして操作を行う場合、タイムコード区間(軌跡412、始点700、終点710)において、リピート再生が行われる場合は、終点710における姿勢が、始点700へ戻っても維持されるようにしてもよい。または、始点700へ戻る際に自動操作情報において指定されていた姿勢の初期値へ戻してもよい。
【0171】
以上に述べたように、本実施形態に係るタグ生成方法によって、画像表示装置104において、所定の範囲のタイムコードに対する自動操作情報を短時間で簡単に生成できる。
【0172】
また、タグ再生方法によって、ユーザが複数のタグから所望のものを選択するだけの簡単な操作によってシーン毎の自動再生を行うことができる。また、シーン毎に被写体の動きが異なり複雑なものであっても、自動操作によってシーン毎に注目すべき位置を仮想カメラの画角内に捉え続けることができる。また、自動操作にユーザが手動操作を加えることで、ユーザの所望の角度から被写体を表示させることができる。また、タグとしてユーザが自動操作を追加することができることから、ユーザの好みに合わせて複数の仮想カメラの操作を組み合わせることができる。
【0173】
例えば、スポーツ中継における複数の得点シーンに対して、タイムコード操作によってタイムコードを指定し、仮想カメラの注目点座標の指定操作をタグとして追加することで、簡単に複数シーンのタグを生成することができる。その後のスポーツ解説番組等において解説者はそれらのタグを用いれば、複数の得点シーンを簡単に様々な角度から表示しつつ、解説に利用することができる。例えば、第1実施形態の
図7(B)~
図7(D)に示すように、注目シーンを様々な角度から表示することで、注目すべきポイントなどを詳細に解説することができる。
【0174】
また、タグはスポーツ解説に限定されず、例えば、被写体となったスポーツに詳しい専門家や有名選手が注目すべきシーンに対してタグを生成し、そのタグを別のユーザがタグ再生として使用することもできる。ユーザは簡単な操作を行うだけで、専門性の高い人が設定したタグを使用して注目シーンを様々な角度から楽しむこともできる。
【0175】
また、生成したタグを別の画像表示装置へ送信し、別の画像表示装置において該タグを用いて自動再生することもできる。
【0176】
<第3実施形態>
本実施形態では、画像表示装置104における仮想カメラの手動操作の一例について説明する。指の本数によるタッチ操作の切り替えに応じて仮想カメラ動作を切り替える方法と比較して、1本の指で仮想カメラの動作を切り替えることができるため、ユーザがより簡単に手動操作を行うことができる。
【0177】
第1および第2実施形態と同様の構成、処理、機能については説明を省略する。
図1の仮想視点画像生成システムと、
図2の画像表示装置104の機能ブロックは第1実施形態において説明したため説明を省略し、手動操作のみを追加して説明する。
【0178】
図10を参照して、本実施形態の仮想カメラに対する手動操作を説明する。
図10の画面構成は、第1実施形態で説明した
図5と同様に、タッチパネル1001に表示された仮想カメラ操作領域502と、タイムコード操作領域503とを有する。タイムコード操作領域503の構成要素については、
図5を参照して説明したものと同様であるため説明を省略する。
【0179】
本実施形態では画像表示装置104の操作入力部214にタッチパネルを用いた場合の2つの仮想カメラ動作に対する、仮想カメラ操作領域1002のタッチ操作を説明する。一つの動作は、
図3(F)に示す仮想カメラの注目点の平行移動であり、もう一つの動作は、仮想カメラの拡大・縮小(不図示)である。
【0180】
本実施形態において、仮想カメラの注目点の平行移動を行うためのタッチ操作は、操作領域の任意位置に対するタップ操作1021(または、ダブルタップ操作)である。画像表示装置104は、タップされた位置を三次元空間における仮想カメラの注目面上の座標に変換し、その座標が仮想カメラの注目点となるように、仮想カメラを平行移動する。ユーザにとっては、タップした位置が画面中央になるように移動する操作となり、タップ操作を繰り返すだけで、被写体上の注目したい位置を表示し続けることができる。なお、一例では、現在の仮想カメラの注目点の座標1020から、タップ操作1021によって指定された点まで、所定の速度で仮想カメラを平行移動させてもよい。なお、座標1020からタップ操作1021によって指定された点までの移動速度は、等速移動であってもよい。この場合、移動速度は、1秒などの所定の時間で移動を完了するよう決定されてもよい。あるいは、移動速度はタップ1021によって指定された点までの距離に比例し、タップ操作1021によって指定された点に近づくほど遅くなるよう移動してもよい。
【0181】
なお、平行移動を、2本指を用いたドラッグ操作(スワイプ操作)で行うこととすると、被写体が素早く移動した場合に対するドラッグ操作の移動量の調整が困難であった。それに対し、本実施形態では移動したい先を直感的にタップ操作するだけでよい。
【0182】
仮想カメラの拡大・縮小を行うためのタッチ操作は、仮想カメラ操作領域1002の右端の所定の領域のドラッグ操作1022となる。例えば、仮想カメラ操作領域1002の端部(縁)の所定の領域を上方向にドラッグ(スワイプ)することでピンチアウトし、下方向にドラッグ(スワイプ)することでピンチインする。なお、
図10の例では仮想カメラ操作領域1002の画面の右端であるが、別方向の画面縁であってもよいし、ドラッグの方向も上下に限定されない。
【0183】
拡大・縮小を、二本指のピンチイン・ピンチアウトで行うこととする場合に比べて、画面縁に対する一本指によるドラッグ操作で行うだけでよい。例えば、画面縁における上方向のドラッグで拡大し、画面縁における下方向のドラッグで縮小を行う。
【0184】
なお、以上に説明した操作は
図5に説明した手動設定内容に設定可能であり、第1実施形態で説明した自動操作と手動操作とを組み合わせた仮想カメラ制御処理に使用することができる。
【0185】
以上説明したように、本実施形態に係る手動操作を用いることによって、ユーザは、仮想カメラを操作するために指の本数を小刻みに切り替える必要がなく、一本指で画像表示装置104を直感的に操作することができる。また、平行移動操作において、移動先の目標地点をタップで指定することで所定の位置に平行移動することができるため、ドラッグやスワイプ等の操作量を調整する必要がある操作と比べてより直感的に平行移動を指示することができる。
【0186】
<第4実施形態>
本実施形態では、画像表示装置104における仮想カメラの自動操作の一例について説明する。
【0187】
自動操作情報の一例として、
図4(C)と同項目を用いて、ある区間のタイムコードにおいて、仮想カメラの注目点の座標と姿勢の両方に一定値を用いるもの等がある。例えばスポーツではプレーヤーの怪我や反則によって試合が中断される時があり、そのような時間帯は視聴者にとっては退屈でありうる。このような中断を検知した場合には、仮想カメラをフィールド全体が見える位置と姿勢へ自動操作し、タイムコードを倍速で進める自動操作を実行してもよい。または、中断した時間全てをスキップするように指定することも可能である。この場合、試合の中断は、作業者によって入力されてもよいし、ユーザによってタグで指定されてもよい。このような自動操作を行うことによって、ユーザはプレーが中断する退屈な時間帯を早送りまたはスキップして見ることができる。
【0188】
別例としては、プレーが非常に速く展開するシーンにおいては、所定区間のタイムコードに対する再生速度を変更するよう設定されてもよい。例えば、再生速度を半速等の遅い値を設定することで、ユーザは等倍速度では困難であった仮想カメラの手動操作を容易に行うことができる。
【0189】
なお、スポーツであれば審判のジェスチャやボールや選手の移動が停止したことを画像解析によってスポーツのプレーが中断していることを検出してもよい。一方、選手やボールの移動速度によってプレーが早く進行していることを画像解析によって検出してもよい。また、音声解析を用いてプレーが中断されている状態や、速く進行している状態を検出してもよい。
【0190】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0191】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0192】
104:画像生成装置、110:仮想カメラ、201:手動操作部、202:自動操作部、203:操作制御部、204:タグ管理部、206:画像生成部