(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】制御装置、制御方法、及びプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20240930BHJP
G06T 15/20 20110101ALI20240930BHJP
【FI】
G06T19/00 A
G06T15/20 500
(21)【出願番号】P 2023069415
(22)【出願日】2023-04-20
(62)【分割の表示】P 2019007940の分割
【原出願日】2019-01-21
【審査請求日】2023-05-22
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】加藤 祐二
【審査官】益戸 宏
(56)【参考文献】
【文献】特開2017-191492(JP,A)
【文献】特開2014-126907(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06T 15/20
H04N 7/18
G06F 3/048
(57)【特許請求の範囲】
【請求項1】
仮想視点画像の生成に係る仮想視点の位置及び向きの少なくとも何れかをユーザ操作に応じて制御する制御手
段を有
し、
前記制御手段は、前記仮想視点画像の再生モードがオブジェクトの位置に応じた仮想視点になるよう制御される再生モードである場合に、スライド操作に対して、前記仮想視点画像が再生中では仮想視点の位置及び向きを変更せず、前記仮想視点画像が一時停止中では仮想視点の位置及び向きの少なくとも何れかを変更する
ことを特徴とする制御装置。
【請求項2】
前記仮想視点画像の再生モードには複数の所定の再生モードがあり、
前記複数の所定の再生モードには、ユーザによる操作が行われない間は仮想視点の位置及び向きが変化しない第1再生モードと、ユーザによる操作が行われない間も仮想視点の位置及び向きの少なくとも何れかが変化
し得る第2再生モードとが含まれることを特徴とする請求項1に記載の制御装置。
【請求項3】
仮想視点画像を再生するための複数の所定の再生モードのうち1つの再生モードを特定する特定手段と、
予め定められた視点の位置及び向きの変化を表す視点情報を取得する取得手段
とをさらに有し、
前記制御手段は、前記特定手段により特定される再生モードが前記第2再生モードである場合に、前記取得手段により取得された視点情報に基づいて前記仮想視点の位置及び向きの少なくとも何れかを制御することを特徴とする請求項2に記載の制御装置。
【請求項4】
前記取得手段により取得される視点情報が表す視点を基準とした視点の位置及び向きの少なくとも何れかの調整量をユーザ操作に応じて設定する設定手段を有し、
前記制御手段は、前記取得手段により取得された視点情報と前記設定手段により設定された調整量とに基づいて前記仮想視点の位置及び向きの少なくとも何れかを制御することを特徴とする請求項3に記載の制御装置。
【請求項5】
前記仮想視点画像は、所定の撮影領域を複数の方向から撮影することで得られる複数の画像に基づいて生成される画像であり、
前記取得手段は、前記所定の撮影領域内の特定のオブジェクトの位置及び向きを表す情報を、前記視点情報として取得することを特徴とする請求項3又は4に記載の制御装置。
【請求項6】
前記特定のオブジェクトは、複数の人物の中からユーザ操作に基づいて選択された人物であることを特徴とする請求項5に記載の制御装置。
【請求項7】
前記制御手段は、前記特定手段により特定される再生モードが前記第1再生モードである場合には所定のユーザ操作に応じて前記仮想視点の位置及び向きを変更し、前記特定手段により特定される再生モードが前記第2再生モードである場合には前記所定のユーザ操作に応じて前記仮想視点の位置を変更せず前記仮想視点の向きを変更することを特徴とする請求項
3乃至6の何れか1項に記載の制御装置。
【請求項8】
前記制御手段は、前記特定手段により特定される再生モードが前記第1再生モードである場合に、前記所定のユーザ操作に応じて、仮想視点が特定の基準位置を向いたまま旋回するように前記仮想視点画像の位置及び向きを制御することを特徴とする請求項7に記載の制御装置。
【請求項9】
前記所定のユーザ操作は、ユーザが指示する座標をスライドさせる操作であることを特徴とする請求項7又は8に記載の制御装置。
【請求項10】
前記制御手段は、前記特定手段により特定される再生モードが前記第1再生モードである場合には所定のユーザ操作に応じて前記仮想視点の位置を変更し、前記特定手段により特定される再生モードが前記第2再生モードである場合には前記所定のユーザ操作に応じて前記仮想視点に対応する画角を変更することを特徴とする請求項3乃至6の何れか1項に記載の制御装置。
【請求項11】
前記所定のユーザ操作は、ピンチイン操作又はピンチアウト操作であることを特徴とする請求項10に記載の制御装置。
【請求項12】
前記制御手段により制御された仮想視点の位置及び向きに応じた仮想視点画像を表示部に表示させる表示制御手段を有することを特徴とする請求項1乃至11の何れか1項に記載の制御装置。
【請求項13】
仮想視点画像の生成に係る仮想視点の位置及び向きの少なくとも何れかをユーザ操作に応じて制御する制御工
程を有
し、
前記制御工程では、前記仮想視点画像の再生モードがオブジェクトの位置に応じた仮想視点になるよう制御される再生モードである場合に、スライド操作に対して、前記仮想視点画像が再生中では仮想視点の位置及び向きを変更せず、前記仮想視点画像が一時停止中では仮想視点の位置及び向きの少なくとも何れかを変更する
ことを特徴とする制御方法。
【請求項14】
前記仮想視点画像の再生モードには複数の所定の再生モードがあり、
前記複数の所定の再生モードには、ユーザによる操作が行われない間は仮想視点の位置及び向きが変化しない第1再生モードと、ユーザによる操作が行われない間も仮想視点の位置及び向きの少なくとも何れかが変化し得る第2再生モードとが含まれることを特徴とする請求項
13に記載の制御方法。
【請求項15】
仮想視点画像を再生するための複数の所定の再生モードのうち1つの再生モードを特定
する特定工程と、
予め定められた視点の位置及び向きの変化を表す視点情報を取得する視点取得工程
とをさらに有し、
前記制御工程は、前記特定工程において特定される再生モードが前記第2再生モードである場合に、前記視点取得工程において取得された視点情報に基づいて前記仮想視点の位置及び向きの少なくとも何れかを制御することを特徴とする請求項
14に記載の制御方法。
【請求項16】
コンピュータを、請求項1乃至
12の何れか1項に記載の制御装置の各手段として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は仮想視点画像に係る仮想視点を制御する技術に関する。
【背景技術】
【0002】
視点の異なる複数のカメラで撮影して得られる複数の撮影画像から任意の視点の画像を生成する仮想視点画像生成技術が知られている。仮想視点画像の生成方法として、予め定められた仮想視点の移動経路(カメラパス)に基づいて仮想視点画像を生成しておく方法や、視聴者等により指定された仮想視点の位置及び姿勢等に従って仮想視点画像を生成する方法が知られている。
【0003】
仮想視点画像の生成技術によれば、インタラクティブ性の高い画像の視聴を実現できる。一方で、仮想視点の操作は自由度が高く、不慣れなユーザが望み通りに視点を操作することが困難である。特許文献1には、複数の視点座標データと、複数の回転起点データのうちから、それぞれ1つずつをユーザに選択させ、その後、視点の回転角度と移動量を入力して視点を設定することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の方法は、仮想視点の設定のための操作手順が多い。本発明は、仮想視点の設定をより簡易に行えるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、制御装置は、仮想視点画像の生成に係る仮想視点の位置及び向きの少なくとも何れかをユーザ操作に応じて制御する制御手段を有し、前記制御手段は、前記仮想視点画像の再生モードがオブジェクトの位置に応じた仮想視点になるよう制御される再生モードである場合に、スライド操作に対して、前記仮想視点画像が再生中では仮想視点の位置及び向きを変更せず、前記仮想視点画像が一時停止中では仮想視点の位置及び向きの少なくとも何れかを変更する。
【発明の効果】
【0007】
本発明によれば、仮想視点画像に係る仮想視点の設定をより簡易に行うことができるようになる。
【図面の簡単な説明】
【0008】
【
図1】表示制御装置100のハードウェア構成を示すブロック図である。
【
図2】表示制御装置100の機能構成を示すブロック図である。
【
図3】表示制御装置100により表示される操作画面の例を示す図である。
【
図4】カメラパスのオフセットについて説明するための図である。
【
図5】自由操作モードにおける仮想視点の操作の例を示す図である。
【
図6】選手視点モードにおける仮想視点の操作の例を示す図である。
【
図7】表示制御装置100の動作の例を示すフローチャートである。
【
図8】自由操作モードにおける仮想視点制御に係る処理の例を示すフローチャートである。
【
図9】選手視点モードにおける仮想視点制御に係る処理の例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【0010】
<システム構成>
本実施形態において、表示制御装置100(以降、制御装置100と表記)は、仮想視点画像を生成して表示部へ表示させる。仮想視点画像とは、フィールド(撮影対象領域)を異なる方向から撮影する複数の撮影装置(カメラ)により得られた複数の撮影画像(複数視点画像)に基づいて生成される画像であり、指定された仮想視点の位置及び向き等に従って生成される画像である。本実施形態では仮想視点画像が動画である場合を中心に説明するが、制御装置100により処理される仮想視点画像は静止画であってもよい。動画の仮想視点画像は、各画像フレームが所定の動画圧縮の方式により圧縮された画像データであっても良いし、各画像フレームが所定の静止画圧縮の方式により圧縮された画像データであっても良いし、非圧縮の画像データであっても良い。
【0011】
なお、本実施形態では、「仮想視点の位置を変更する」ことを「仮想カメラの位置を変更する」とも表現し、「仮想視点の向きを変更する」ことを「仮想カメラの姿勢を変更する」とも表現する。本実施形態における仮想カメラは、撮影対象領域の周囲に実際に設置された複数の撮影装置とは異なる仮想的なカメラであって、仮想視点画像の生成に係る仮想視点を便宜的に説明するための概念である。すなわち、制御装置100により生成される仮想視点画像は、撮影対象領域に関連付けられる仮想空間内に設定された仮想視点から撮影した画像であるとみなすことができる。そして、仮想的な当該撮影における視点の位置及び向きは仮想カメラの位置及び姿勢として表すことができる。言い換えれば、制御装置100により生成される仮想視点画像は、空間内に設定された仮想視点の位置にカメラが存在するものと仮定した場合に、そのカメラにより得られる撮影画像を模擬した画像であると言える。ただし、本実施形態の構成を実現するために仮想カメラの概念を用いることは必須ではない。すなわち、少なくとも空間内における位置を表す情報と方向を表す情報とが設定され、設定された情報に応じて仮想視点画像が生成されればよい。また、本実施形態における仮想視点画像は、自由視点映像とも呼ばれるものであるが、ユーザが自由に(任意に)指定した視点に対応する画像に限定されず、例えば複数の候補からユーザが選択した視点に対応する画像なども仮想視点画像に含まれる。
【0012】
本実施形態における制御装置100のシステム構成例について、
図1を用いて説明する。同図において、CPU101は、RAM102をワークメモリとして、ROM103及び/又はハードディスクドライブ(HDD)105に格納されたプログラムを実行し、システムバス112を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。HDDインタフェイス(I/F)104は、制御装置100と、HDD105や光ディスクドライブなどの二次記憶装置とを接続する、例えばシリアルATA(SATA)等のインタフェイスである。CPU101は、HDDインタフェイス(I/F)104を介した、HDD105からのデータ読み出し、およびHDD105へのデータ書き込みが可能である。さらにCPU101は、HDD105に格納されたデータをRAM102に展開する。
【0013】
また、CPU101は、プログラムの実行により得られたRAM102上の各種データをHDD105に保存することが可能である。入力インタフェイス(I/F)106は、1又は複数の座標を入力するためのタッチパネル、キーボード、マウス、デジタルカメラ、スキャナなどの入力デバイス107と制御装置100とを接続する。入力インタフェイス(I/F)106は、例えばUSBやIEEE1394等のシリアルバスインタフェイスである。CPU101は、入力I/F106を介して入力デバイス107からデータを読み込むことが可能である。出力インタフェイス(I/F)108は、ディスプレイなどの出力デバイス109と制御装置100とを接続する、例えばDVIやHDMI(登録商標)等の画像出力インタフェイスである。CPU101は、出力I/F108を介して出力デバイス109に仮想視点画像に係るデータを送ることで、仮想視点画像の表示を実行させることができる。ネットワークインタフェイス(I/F)110は、制御装置100と外部サーバ111とを接続する、例えばLANカードなどのネットワークカードである。CPU101は、ネットワークI/F110を介して外部サーバ111から仮想視点画像の生成に関わる各種のデータを読み込むことが可能である。
【0014】
なお、本実施形態では、入力デバイス107が制御装置100のタッチパネルである場合の例を中心に説明する。つまり、制御装置100はスマートフォンやタブレット端末などであっても良く、この場合は、入力デバイス107(タッチパネル)や出力デバイス109(表示スクリーン)は、制御装置100と一体である。また、
図1にて示した構成のすべてが必須の構成とは限らない。例えば、制御装置100がHDD105に記憶された仮想視点画像を再生する場合、外部サーバ111は不要である。逆に、外部サーバ111から取得した仮想視点画像を生成する場合、HDD105は不要である。また、制御装置100が複数のCPU101を有してもよい。また、CPU101とは異なる専用の1又は複数のハードウェアやGPU(Graphics Processing Unit)を有し、CPU101による処理の少なくとも一部をGPUや専用のハードウェアが行うようにしてもよい。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。
【0015】
本実施形態では、仮想視点画像を再生して表示するための複数の所定の再生モード(表示モード)のうち何れの再生モードが設定されているかによって視点制御方法を変更することで、ユーザの意図に沿った仮想カメラの制御を行う方法について述べる。本実施形態におけるユーザ操作には、タップ操作、1本又は2本の指によるスライド操作、ピンチイン操作、及びピンチアウト操作が含まれるものとする。タップ操作とは、タッチパネルに指やペンなどの指示具でタッチしてから所定時間以内に、タッチしていた指や指示具をタッチパネルから離す操作である。スライド操作とは、指や指示具をタッチパネルにタッチしたまま所定値以上の距離移動させる操作である。タッチパネル内の複数個所(例えば2点)を同時にタッチして、互いのタッチ位置を近づける操作をピンチイン操作と称し、互いのタッチ位置を遠ざける操作をピンチアウト操作と呼ぶ。ただし、ユーザ操作の内容はこれらに限定されない。
【0016】
また、本実施形態では、サッカーの試合を撮影した画像に基づいて仮想視点画像が生成されるものとする。また、仮想視点の位置及び向きを時系列に表す視点情報(カメラパス)として、複数視点画像の撮影領域内に存在する選手の顔の位置及び向きに応じた仮想視点のカメラパスが用いられるものとして説明する。なお、カメラパスが示す仮想視点の位置は、選手の位置に一致していてもよいし、選手から所定距離離れた位置(例えば選手の後方の位置)であってもよい。また、カメラパスが示す仮想視点の向きは、選手の顔の向きと一致していてもよいし、選手の胴体の向きや足の向き、又は視線の向きなどに対応していてもよい。カメラパスは選手の動作を解析して自動で生成されたものでも良いし、手動で作成したものでも良い。また、選手の顔の位置及び向きに応じたカメラパスに限らず、例えば審判などその他の人物やボールの位置に応じたカメラパスなど、任意のオブジェクトに応じたカメラパスが用いられてもよい。また、撮影対象はサッカーの試合に限らず、ラグビーなどその他の競技であってもよいし、舞台でのコンサートなどスポーツ以外であってもよい。
【0017】
図4から
図6を用いて具体的な再生モードとユーザ操作と仮想カメラの動作の関係について説明する。本実施形態では、仮想視点画像の再生モードとして自由操作モードと選手視点モードの2種類があり、制御装置100はユーザ操作に応じてこれらのモードを切り替えて仮想視点画像の再生を行う。自由操作モードは、仮想視点の位置及び向きをユーザ操作によって直接指定するモードである。選手視点モードは、選手の顔の位置及び向きに応じたカメラパスを基準として、その基準となるカメラパスからの仮想視点の位置及び向きの調整量(オフセット)をユーザ操作によって指定するモードである。
図4を用いて、基準となるカメラパスに対してオフセットを加える例について説明する。
【0018】
図4(a)は基準となるカメラパスの例を示す。視点401の黒丸は仮想視点の位置(選手の顔に対応する位置)を表しており、三角形は仮想視点の向き(選手の顔に対応する向き)を表している。黒丸と重なる三角形の頂点から対向する辺の中点への方向が視点401の視線方向を示している。
図4(a)はカメラパス402の矢印にそって時系列に仮想カメラの位置姿勢が変化することを表している。
図4(b)は、
図4(a)の表す基準となるカメラパスに対して、仮想視点の位置を後方に移動し、仮想視点の向きを右回りに回転させた場合の例を示している。
【0019】
図4(b)に点線で示したカメラパス403はカメラパス402と同じ基準となるカメラパスを表している。一方、カメラパス404はカメラパス402にオフセットを加えた後のカメラパスを表している。オフセット後のカメラパス404における各仮想視点の位置は元の視線方向に対して後方に移動しており、各仮想視点の向きは右方向に15°程度回転している。このように、入力されたカメラパスにおける各時刻の仮想視点の位置及び向きを基準にして、仮想視点のローカル座標系で位置及び向きにオフセットを加える。これにより、元のカメラパスにおける仮想視点の変化の仕方などの特徴を残しつつ、任意に仮想視点の位置及び向きの調整をすることができる。本実施形態の選手視点モードにおいては、選手の位置や姿勢に応じてあらかじめ定められたカメラパスに対するオフセットがユーザ操作により指定される。これにより、ユーザはあらかじめ定められた視点の位置及び向きの変化を表すカメラパスの意図を反映しながら、仮想視点の操作を簡易に行うことができる。
【0020】
図5及び
図6を用いて、自由視点モードと選手視点モードにおける、ユーザ操作に応じた仮想視点の変更方法を説明する。
図5は、自由視点モードにおける回転操作によって、仮想カメラの位置及び姿勢が変化する様子を示している。ユーザ操作を受け付ける前の画像501が表示されている画面(タッチパネル)に対して、1本の指で指示する座標を左方向にスライドさせるスライド操作が行われると、仮想カメラの位置及び姿勢が変更され、画像502が表示される。このとき、仮想カメラの位置及び姿勢は、俯瞰画像503の中心に描画された3次元空間上の選択点504を中心として、仮想視点505から右側に回り込んだ仮想視点506へ変化する。すなわち、ユーザ操作により同時に指定される表示スクリーン上(表示面上)の座標の数が1つである場合、その座標の移動に応じて、仮想カメラは所定の注目座標(選択点504)を中心に旋回する。別の言い方をすると、ユーザ操作により同時に指定される表示面上の座標の数が1つである場合、その座標の移動に応じて、仮想カメラが所定の基準位置を向いたまま旋回する。すなわち、1本の指によるスライド操作が検出された場合は、仮想カメラは選択点504を中心とする球507上の範囲で移動する。これにより、簡易にバレットタイムのような仮想視点画像を生成することができる。
【0021】
なお、本実施形態において選択点504は、仮想カメラの位置姿勢と撮影領域内のオブジェクトの位置とに基づいて決まる。具体的には、仮想カメラの光軸と選手や地面などのオブジェクトとが交差する点(画像501の中心の奥行方向に仮想的に飛ばした光線と物体との交点)が選択点504として用いられる。ただし仮想カメラの旋回の中心となる選択点504はこれに限定されず、例えばユーザにより選択点504の3次元座標が指定されてもよい。
【0022】
図6は、選手視点モードにおける回転操作によって、仮想カメラの姿勢が変化する様子を示している。仮想視点604の位置及び向きはある選手の顔の位置及び向きに対応しており、画像601はその選手の視界を再現した仮想視点画像である。ユーザ操作を受け付ける前の画像601が表示されている画面に対して1本の指で左方向にスライド操作が行われると、仮想カメラの姿勢が変更され、画像602が表示される。このとき、仮想カメラの位置は変更されず、仮想カメラの姿勢は、仮想カメラの位置を中心として仮想視点604から右に回転した仮想視点605へ変化する。すなわち、ユーザのスライド操作による指示座標の移動に応じて、仮想カメラがその場で回転する。これにより、仮想視点の基準となる選手が周囲を見回しているような仮想視点画像を生成することができる。また、ユーザは基準となる選手の視点位置から見た周囲の状況を確認することができる。
【0023】
また、選手視点モードにおいては、ピンチイン操作及びピンチアウト操作により、仮想カメラのズーム値に関するパラメータが変更される。指を広げた分だけズーム値が大きく(画角が小さく)なり、仮想カメラの視界内の被写体(例えば選手等のオブジェクト)が大きく表示される。また、指を狭めた分だけズーム値が小さく(画角が大きく)なり、仮想カメラの視界内の被写体が小さく表示される。このように、直感的な操作が可能となる。また、ユーザは基準となる選手の視野の広さによってほかの選手やオブジェクトがどの程度視界に入るかを確認することができる。なお、選手視点モードにおいて、仮想カメラの姿勢及びズーム値の変更に限らず、別のユーザ操作により仮想カメラの位置の変更が行われてもよい。例えば、スライド操作を何本の指を用いて行うかによって、仮想カメラの姿勢を変化させるか位置を変化させるかが決定されてもよい。
【0024】
<制御装置の処理フロー>
本実施形態の制御装置100が行う処理の流れについて、
図2と
図7とを参照して説明する。
図2は、本実施形態における制御装置100の機能構成を示すブロック図である。
図1におけるCPU101は、ROM103及び/又はHDD105に格納されたプログラムを読み出してRAM102をワークエリアとして実行することで、
図2に示す制御装置100内部の各機能ブロックの役割を果たす。なお、
図2の操作部201及び表示部207は、
図1の入力デバイス107及び出力デバイス109にそれぞれ対応する。また、CPU101が制御装置100内部の全ての機能ブロックの役割を果たす必要はなく、各機能ブロックに対応する専用の処理回路を設けるようにしてもよい。また、
図2では操作部201と表示部207が制御装置100の外部にある場合の例を示しているが、操作部201と表示部207の少なくとも何れかが制御装置100の内部に構成されていてもよい。
【0025】
図7は本実施形態の制御装置100で行われる処理の流れを示すフローチャートである。
図7を用いて説明する各処理は、制御装置100が備えるCPU101が、ROM103及び/又はHDD105に格納されたプログラムを読み出してRAM102をワークエリアとして実行することで実現される。
図7の処理は、表示部207における仮想視点画像の再生中に操作部201を介してユーザ操作が行われたタイミングで開始される。表示部207における仮想視点画像の再生は、例えば、制御装置100に実装された画像再生用のアプリケーションが起動され、そのアプリケーションにおいて再生対象の動画が指定され、再生開始が指示されたことに応じて実行される。再生開始後、後述する再生モードの設定や仮想視点の制御に関するユーザ操作がおこなわれるまでは、予め定められた仮想視点又は自動で決定された仮想視点に対応する仮想視点画像が表示される。なお、
図7の処理の開始タイミングは上記に限定されない。
【0026】
S701では、取得データ制御部202、再生モード制御部208及び視点制御部205が、操作部201において検出されるユーザ操作に応じた操作情報の取得を開始する。ここでは、操作部がタッチパネルであり、操作部201に対するユーザ操作はタップ操作、ダブルタップ操作、スライド操作、ピンチイン操作、又はピンチアウト操作であるものとする。操作に応じて取得される操作情報は、画面に触れている指の本数とそれぞれの指の座標、画面に触れている指が指示する代表点の座標x’、代表点の座標の変化を表す2次元ベクトルd=(dx,dy)及び、3次元点の位置を表す3次元ベクトルTを示す。ただし、上記のすべての情報が操作情報に含まれていなくてもよい。また、画面に触れている2本の指の距離の変化量を示す情報が操作情報に含まれてもよい。
【0027】
指のタッチ位置などを表す2次元スクリーンの座標系は、左上を原点とし、右を+x方向、下を+y方向とする。代表点は、画面上において指が触れている範囲に含まれる複数の点の2次元スクリーン座標xiの重心の座標とする。しかしながら、代表点は重心に限らず、2次元スクリーン座標xiの平均の座標であっても良いし、複数の2次元スクリーン座標xiのうちのランダムに選択された1点であってもよいし、最も長い時間タッチされた点であってもよい。また、タッチされた点が1つである場合に、その点を代表点として扱ってもよい。
【0028】
また、3次元点は、仮想カメラの位置姿勢に基づいて特定される3次元空間内の点あり、例えば仮想カメラの位置に応じた3次元座標を始点として仮想カメラの撮影方向へ仮想的に光線を飛ばし(レイキャスト)、その光線が被写体と衝突する点とする。この3次元点は、仮想カメラの操作において回転の基点や移動の基準点として利用される注目座標である。なお、本実施形態では3次元点は3次元ベクトルTにより表される例を説明するが、必ずしもベクトルの形式で示されなくても良い。
【0029】
S701において操作情報の取得が開始されると、取得データ制御部202、再生モード制御部208及び視点制御部205は所定時間ごと(例えば表示される仮想視点画像のフレーム時間ごと)に、新たな操作情報を取得する。なお、操作部201に対する操作が行われていない間は、操作情報が取得されなくてもよいし、操作が行われていないことを示す操作情報が取得されてもよい。取得された操作情報は、その内容に応じて、後述するS702における再生モードの設定や、S703における再生状態の設定や、S705及びS707における仮想カメラの制御に用いられる。
【0030】
S702では、再生モード制御部208が、取得した操作情報に基づいて複数の所定の再生モードのうち1つの再生モードを特定し、カメラパス取得部204及び視点制御部205に特定された再生モードを示す情報を出力する。再生モードが選手視点モードの場合は、再生モード制御部208は、仮想視点の基準となる選手の選手識別情報も出力する。
図3を参照して再生モードの決定方法について説明する。
図3は表示部207に表示される画像の一例であり、制御装置100は、この画像が表示されたタッチパネル(操作部201)に対するユーザ操作に応じて処理を行う。ボタン302がタップされた場合、再生モード制御部208は、自由操作モードがユーザに選択されたことを特定し、再生モードを自由操作モードに設定する。また、選手名の表示されたボタン303からボタン305の何れかがタップされた場合、再生モード制御部208は、選手視点モードがユーザに選択されたことを特定し、再生モードを選手視点モードに設定する。そして、タップされたボタンに対応付けられた選手識別情報を出力する。ここで選手識別情報とは、例えば、個々の選手を識別するためのIDである。ここでは、表示される選手名が予め定められているものとして説明するが、仮想カメラに写っている選手の名前をボタンとして表示するなど、表示されるボタンの個数や表示される選手名は仮想視点画像の再生中に変化してもよい。
【0031】
また、再生モード制御部208は、ダブルタップ操作に応じて再生モードを変更してもよい。再生モード制御部208は、ダブルタップされた座標に選手が表示されている場合は、選手視点モードに設定し、その選手の選手識別情報を出力する。ダブルタップした座標に選手が存在しなければ、再生モード制御部208は、再生モードを自由操作モードに設定する。ダブルタップした座標に選手が存在するかの判定は、タップした点の座標とHDD105又は外部サーバ111から取得した選手位置の座標との距離が所定の距離より近いか否かに基づいて行われる。ダブルタップ操作以外のユーザ操作が行われた場合は、再生モード制御部208は、再生モードと選手識別情報の変更を行わず、前フレームと同じ再生モードと選手識別情報を出力する。
【0032】
なお、選択される候補となる再生モードは、本実施形態で説明する自由操作モードと選手視点モードに限定されない。例えば再生モード制御部208は、3つ以上のモードの中からユーザ操作により選択された1つの再生モードを特定してもよい。また、再生モードがユーザの再生環境やコンテンツの内容等に基づいて自動で選択されてもよい。また、再生モード制御部208は、何れの再生モードが設定されているかを示す情報を制御装置100とは別の装置から取得することで、設定された再生モードを特定してもよい。
【0033】
S703では、取得データ制御部202が、取得した操作情報に応じて再生状態の設定を行う。表示画面におけるボタンなどがない領域でタップ操作が検出された場合、取得データ制御部202は、表示部207における現在の仮想視点画像の再生状態が一時停止中であれば再生中に変更する。一方、タップ操作が検出されたときに仮想視点画像の再生状態が再生中であれば、取得データ制御部202は、仮想視点画像の再生状態を一時停止中に変更する。このように、取得データ制御部202は、表示スクリーンに対するタップ操作に応じて、仮想視点画像の再生状態を変更するので、ユーザは直観的な操作で再生状態を切り替えることができる。
【0034】
S704では、視点制御部205が、再生モード制御部208により設定された再生モードに応じて、自由視点操作モードにおける視点操作を行うか選手視点モードにおける視点操作を行うかを決定する。自由操作モードの場合、S705において、視点制御部205が、操作部201に対するユーザ操作に応じた操作情報に基づいて、仮想カメラの位置及び姿勢に関する視点情報であるカメラパラメータを描画部206へ出力する。S705の処理の詳細は
図8を用いて後述する。
【0035】
選手視点モードの場合、S706において、カメラパス取得部204が、再生モード制御部208から取得した選手識別情報に対応するカメラパスをHDD105又は外部サーバ111から取得し、1フレーム分のカメラパラメータを視点制御部205に出力する。すなわち、
図3のボタン303からボタン305に表示された複数の選手の中からユーザ操作に基づいて選択された選手に応じたカメラパラメータが視点制御部205へ出力される。カメラパス取得部204は、仮想視点画像を動画として再生している状態であれば、次のフレームのカメラパラメータを出力する。一方、仮想視点画像の再生が一時停止状態であれば、一時停止したフレームのカメラパラメータを出力する。なお、一時停止状態ですでにカメラパラメータを出力済みの場合は、改めてカメラパラメータを出力しなくても良い。ここで、カメラパス取得部204が出力するカメラパラメータは選手の位置及び姿勢に応じた仮想カメラの位置及び姿勢を表す視点情報であり、選手の顔の位置Tc及びその向きRcを含む。
【0036】
S707では、視点制御部205が、操作部201に対するユーザ操作に応じた操作情報に基づいてオフセット情報を決定する。そして、カメラパス取得部204から取得したカメラパラメータをオフセット情報に基づいて調整した調整済みパラメータを描画部206へ出力する。S707の処理の詳細は
図9を用いて後述する。
【0037】
S708では、データ取得部203が、HDD105又は外部サーバ111から仮想視点画像のレンダリングに必要な素材データ(撮影画像に基づいて生成されたオブジェクトのポリゴンデータやテクスチャデータ)を取得し、描画部206に出力する。データ取得部203は、仮想視点画像を動画として再生している状態であれば、次の画像フレームのレンダリングに必要な素材データを出力する。一方、仮想視点画像の再生が一時停止状態であれば、一時停止した画像フレームのレンダリングに必要な素材データを出力する。なお、一時停止状態ですでに素材データを出力済みの場合は、改めて素材データを出力しなくても良い。
【0038】
S709では、描画部206が、データ取得部203から取得した素材データと視点制御部205から取得したカメラパラメータを基にレンダリングを行うことで、再生モードに応じて制御された仮想視点の位置及び向きに応じた仮想視点画像を生成する。レンダリング方法としては、例えばイメージベースドレンダリングやモデルベースレンダリングなどの既存の技術を使用できる。
【0039】
レンダリングに用いられるカメラパラメータは、仮想カメラの外部パラメータと内部パラメータに分類できる。仮想カメラの外部パラメータとは、仮想カメラの位置及び姿勢を表すパラメータである。また、仮想カメラの内部パラメータとは、仮想カメラの光学的な特性を表すパラメータである。外部パラメータと内部パラメータについてより具体的に説明する。仮想カメラの位置を表すベクトルをt,姿勢を表す回転行列をRとすると、仮想カメラの外部パラメータは以下のように表すことができる。
【0040】
【0041】
また、仮想カメラの主点位置を(cx,cy)、仮想カメラの焦点距離をfとすると、仮想カメラの内部パラメータKは以下のように表すことができる。
【0042】
【0043】
なお、カメラパラメータの表現方法は行列以外の表現であってもかまわない。例えば、仮想カメラの位置を3次元座標で表し、仮想カメラの姿勢をyaw、roll、及びpitchの値の羅列によって表すようにしてもよい。また、外部パラメータと内部パラメータは上述のものに限るわけではない。例えば、仮想カメラのズーム値を表す情報が仮想カメラの内部パラメータに含まれてもよい。このように、仮想視点画像の生成のために用いられる仮想カメラのパラメータには種々のバリエーションが存在する。
【0044】
S710において、描画部206は、生成された仮想視点画像を表示部207に出力して、仮想視点画像を表示部207に表示させる表示制御を行う。表示部207は描画部206から取得した仮想視点画像を表示する。以上が本実施形態の制御装置100で行われる処理の流れである。
【0045】
<自由操作モードにおける仮想カメラの制御>
図7のS705の処理の詳細を、
図8を参照して説明する。S705においては、視点制御部205は、操作部201に対するユーザ操作に応じた操作情報を取得し、仮想視点画像の描画に用いられる仮想カメラのカメラパラメータを描画部206に出力する。
【0046】
S801では、視点制御部205は、操作部201に対するユーザ操作に応じて視点リセットを行うか否かを判定する。本実施形態では、表示スクリーン上の特定の領域(例えば
図3における視点リセットボタン301が表示されている領域)がタップされた場合に、視点リセットを行うと判定される。
【0047】
視点リセットを行うと判定された場合、S802において、視点制御部205が、仮想カメラの位置及び姿勢等をリセットする。すなわち視点制御部205は、表示スクリーン上の所定位置に対するユーザ操作が検出されたことに応じて、仮想視点の位置及び向きを予め定められた位置及び向きに変更する。そして、視点制御部205は、リセット後の仮想カメラのカメラパラメータを描画部206に出力する。本実施形態においてリセット後の仮想カメラの位置は[0 0 0]という座標で表される位置であり、仮想カメラの姿勢は単位行列で表される姿勢であるものとする。しかしながら、リセット後の仮想カメラの位置及び姿勢を示す視点情報は上述のものに限るわけではない。例えば、視点制御部205は、リセット後の視点情報として、予めユーザが設定した値を利用してもよいし、画像データに埋め込まれた推奨の視点情報を読出して利用しても良い。
【0048】
S803では、操作部201により検出されたジェスチャーそれぞれに対応する操作情報を視点制御部205が取得する。視点制御部205は、検出されたすべてのジェスチャーについて、S804からS811の処理を繰り返す。S804では、視点制御部205が、取得した操作情報が示すジェスチャーの種類に基づいて、仮想カメラの制御内容を決定する。ジェスチャーの種類に応じて仮想カメラの制御内容を異ならせることで、より多彩な制御が実現できるようになる。
【0049】
ジェスチャーが1本の指によるスライド操作の場合、S805からS807の処理により、視点制御部205は上述の3次元点を中心として仮想カメラを旋回させる。3次元点は、仮想カメラの位置に応じた3次元座標(例えば仮想カメラの中心座標)を始点として仮想カメラの撮影方向へ仮想的に光線を飛ばし(レイキャスト)、その光線が被写体と衝突した点とする。別の言い方をすると、3次元点とは、タッチ時に表示されている仮想視点画像の中心位置に対応する3次元空間上の座標である。ただし、3次元点はこの例に限るものではない。
【0050】
ジェスチャーがピンチイン操作及び/又はピンチアウト操作の場合、S808からS809の処理により、視点制御部205は仮想カメラの位置を前後方向に移動させる制御を行う。ジェスチャーが2本の指によるスライド操作の場合、S810からS811の処理により、視点制御部205は仮想カメラをスライド操作に応じて並行移動させる制御を行う。ジェスチャーが上記の3種類以外の場合、視点制御部205は、現在の仮想カメラの位置及び姿勢を変更せずにカメラパラメータを描画部206へ出力する。以下、各ジェスチャーに応じた制御の詳細について説明する。
【0051】
S805では、1本の指によるスライド操作に応じて、視点制御部205が仮想カメラを旋回させる際の中心となる3次元点の座標を決定する。3次元点は3次元ベクトルTとして表される。なお、1度3次元点を決定した後は、スライド状態が継続している間は3次元点を変更しなくて良い。
【0052】
S806では、視点制御部205が、画面に触れている指の代表点の移動量dを取得し、仮想カメラの回転量を決定する。本実施形態の視点制御部205は、代表点の移動量dx、dyにスケール係数sを乗算することで仮想カメラの移動量(水平方向の回転量θ及び垂直方向の回転量φ)を決定する。表示スクリーンの解像度を幅wとし、表示スクリーンの端から端までスライド操作した時の回転量を360度とすると、移動量dx、dyから回転量θ、φ[degree]を決定するためのスケールsは以下の式で表せる。
【0053】
【0054】
このスケール係数を用いて仮想カメラの回転量は以下の式で表せる。
θ=s×dx
φ=s×dy
【0055】
S807では、視点制御部205が、上記の回転量に応じて変化した仮想カメラの位置及び姿勢の決定を行い、決定された位置及び姿勢を表すカメラパラメータを描画部206に出力する。変化前の仮想カメラの位置tn-1及び姿勢Rn-1を、3次元点Tを中心に水平方向にθだけ回転し、垂直方向にφだけ回転した場合の変化後の仮想カメラの位置tn、姿勢Rnは以下の式で表すことができる。
Rn=R(θ,φ)Rn-1
tn=R(θ,φ)(tn-1-T)+T
【0056】
R(θ、φ)は水平方向にθ、垂直方向にφだけ回転することを表す回転行列である。ただし、3次元点Tを中心に回転させた場合の仮想カメラの位置及び姿勢を求める式はこれに限らない。例えば、所定の係数等を用いることで、指の移動量に対する仮想カメラの移動量を大きくすることも可能であるし、逆に、指の移動量に対する仮想カメラの移動量を小さくすることも可能である。
【0057】
S808では、ユーザのピンチイン操作又はピンチアウト操作に応じて、視点制御部205が仮想カメラの前後方向の移動量の決定を行う。現在の画像フレームが表示される画面に触れている2本の指の距離をdnとし、直前の画像フレームが表示されているときの画面に触れている2本の指の距離をdn-1とすると、その変化量ΔdはΔd=dn-dn-1である。視点制御部205は、その変化量に比例した移動量で仮想カメラをその撮影方向に対して前後に移動させる。移動量に関する係数(敏感度)をmとすると、仮想カメラの移動量ΔzはΔz=m×Δdで表すことができる。つまり、ピンチイン操作及びピンチアウト操作による単位時間当たりの指の移動量に応じて、仮想カメラの移動量が決定される。なお、仮想カメラの移動量を決定する方法は上述の方法に限らない。例えば、仮想カメラから3次元点Tまでの距離に基づいて、表示スクリーン上での指の移動量に応じた3次元空間上での仮想カメラの移動量が決定されるようにしても良い。
【0058】
S809では、視点制御部205が、上記の移動量に応じて変化した仮想カメラの位置及び姿勢の決定を行い、決定された位置及び姿勢を表すカメラパラメータを描画部206に出力する。前後方向にΔzだけ移動した変化後の仮想カメラの位置は以下の式で表される。
【0059】
【0060】
なお、視点制御部205は、ピンチイン操作及びピンチアウト操作が行われた場合に、仮想カメラの位置を前後に移動させる代わりに、仮想カメラのズーム値又は画角を変化させてもよい。
【0061】
S810では、2本の指によるスライド操作に応じて、視点制御部205が仮想カメラの上下左右方向に移動させる制御を行う。本実施形態では、表示スクリーン上における指の移動量と等しい距離だけ3次元点が表示スクリーン上で移動するように移動量が決定される。つまり、あるオブジェクト(例えばサッカー選手)の表示位置に2本の指でタッチして、その2本の指を表示スクリーン上でスライド移動させた場合、そのオブジェクトの表示位置と2本の指との位置関係が変化しないように、仮想カメラの位置が変化する。仮想カメラの姿勢に対して左右方向の移動量Δx,及び上下方向の移動量Δyは、仮想カメラからタッチした際の3次元点までの距離をrとすると以下の式で表すことができる。
【0062】
【0063】
S811では、視点制御部205が、上記の移動量に応じて変化した仮想カメラの位置及び姿勢の決定を行い、決定された位置及び姿勢を表すカメラパラメータを描画部206に出力する。左右方向にΔx、上下方向にΔyだけ移動した場合の仮想カメラの位置及び姿勢は以下の式で表される。
【0064】
【0065】
なお、ジェスチャーの種類と処理の内容の対応関係は、上述に示した例に限らない。また、制御装置100は、事前に行われたユーザによる設定に応じて、各ジェスチャーに応じた処理を有効にするか無効にするかを切り替えてもよい。
【0066】
<選手視点モードにおける仮想カメラの制御>
図7のS707の処理の詳細を、
図9を参照して説明する。S707においては、視点制御部205は、操作部201に対するユーザ操作に応じた操作情報を取得し、カメラパス取得部204から選手の視点に応じた仮想カメラの位置Tcn及び姿勢Rcnを示すカメラパラメータを取得する。そして視点制御部205は、取得したカメラパラメータに対するオフセットを操作情報に基づいて算出し、算出したオフセットを加えたカメラパラメータを、仮想視点画像の描画に用いられる仮想カメラのカメラパラメータとして描画部206に出力する。ここで、仮想カメラの姿勢に関するオフセットは、水平方向の回転量θn、及び垂直方向の回転量φnで表されるものとする。
【0067】
S901では、視点制御部205は、操作部201に対するユーザ操作に応じて視点リセットを行うか否かを判定する。本実施形態では、表示スクリーン上の特定の領域(例えば
図3における視点リセットボタン301が表示されている領域)がタップされた場合に、視点リセットを行うと判定される。リセット後の仮想カメラの位置及び姿勢は、選択された選手の顔の位置及び向きに合致する。また、仮想視点画像の動画の再生状態が一時停止中から再生中に変更された際にも、視点リセットが行われてもよい。再生時に仮想視点のオフセット情報をリセットすることで、一時停止中に行われた仮想視点の姿勢の変更がリセットされ、簡易に選手の視点に応じた画像の再生を再開することができる。
【0068】
視点リセットを行うと判定された場合、S902において、視点制御部205が、仮想カメラの姿勢のオフセットと画角の変更をリセットする。すなわち視点制御部205は、表示スクリーン上の所定位置に対するユーザ操作が検出されたことに応じて、仮想視点の位置及び向きを基準となるオブジェクト(例えば選手)の位置及び向きに合致するように変更する。具体的には、カメラパスに対する姿勢のオフセットを表す回転量θn及びφnを0とする。一方、画角fはあらかじめ定められた値に変更される。なお、カメラパスに画角情報が埋め込まれている場合は、仮想視点の画角fをその値に設定してもよい。
【0069】
S903では、操作部201により検出されたジェスチャーそれぞれに対応する操作情報を視点制御部205が取得する。視点制御部205は、検出されたすべてのジェスチャーについて、S904からS908の処理を繰り返す。
【0070】
S904では、視点制御部205が、取得した操作情報が示すジェスチャーの種類に基づいて、仮想カメラの制御内容を決定する。ジェスチャーの種類に応じて仮想カメラの制御内容を異ならせることで、より多彩な制御が実現できるようになる。
【0071】
ジェスチャーがスライド操作の場合、S905からS907の処理により、視点制御部205はカメラ位置を変更せず仮想カメラの向きを変更する。ジェスチャーがピンチイン操作及び/又はピンチアウト操作の場合、S908の処理により、視点制御部205は仮想カメラの画角制御を行う。
【0072】
ジェスチャーが上記の2種類以外の場合、視点制御部205は、以前の操作に応じて決定された仮想カメラの姿勢のオフセットを表す情報(回転角θn及びφn)を描画部206へ出力する。以下、各ジェスチャーに応じた制御の詳細について説明する。
【0073】
S905では、視点制御部205が、再生モード制御部208により設定された仮想視点画像の再生状態に基づいて、仮想カメラの姿勢のオフセットを変更するか否かを判定する。再生状態が一時停止中であればS906へ進み、再生状態が一時停止中でなければオフセットを変更せずにS903へ戻る。
【0074】
S906では、視点制御部205が画面に触れている指の代表点の移動量dを取得し、仮想カメラの姿勢のオフセットに関する回転量を決定する。本実施形態の視点制御部205は、S806の処理と同様にして、代表点の移動量dx及びdyにスケール係数soを乗算することで仮想カメラの回転量(水平方向の回転量Δθ及び垂直方向の回転量Δφ)を決定する。なお、表示スクリーン上における指の移動量と等しい距離だけ3次元点が表示スクリーン上で移動するように回転量が決定されてもよい。つまり、あるオブジェクトの表示位置をタッチして、その位置から指を表示スクリーン上でスライド移動させた場合、そのオブジェクトの表示位置と指の位置関係が変化しないように、仮想カメラが回転してもよい。また、選択したオブジェクトと仮想カメラの位置の距離と仮想カメラの画角とに基づいて回転量が算出されてもよい。例えば、選択したオブジェクトと仮想カメラの位置の距離が遠いほど回転量は小さくし、画角が狭いほど回転量は小さくする。なお、オブジェクトの選択はタッチ操作により行われてもよいし、あらかじめ設定されたボールなどの注目オブジェクトが選択されてもよい。
【0075】
S907では、視点制御部205が、上記の回転量と前フレームで設定されていたオフセットとに基づいて、新たなオフセットを算出する。前フレームにおけるオフセットに対してさらに水平方向にΔθだけ回転させ、垂直方向にΔφだけ回転させる場合の変化後のオフセットは、水平方向の回転角θn及び垂直方向の回転角φnを用いて以下の式で表すことができる。
θn=θn-1+Δθ
φn=φn-1+Δφ
【0076】
S908では、視点制御部205が、ユーザのピンチイン操作又はピンチアウト操作に応じた、視点制御部205が仮想カメラの画角の決定を行い、決定した画角を描画部206に出力する。現在の画像フレームが表示される画面に触れている2本の指の距離をdnとし、直前の画像フレームが表示されているときの画面に触れている2本の指の距離をdn-1とすると、その変化量ΔdはΔd=dn-dn-1である。視点制御部205は、その変化量に比例した変化量で仮想カメラの画角を変化させる。画角の変化量に関する係数(敏感度)をpとすると、仮想カメラの画角の変化量ΔfはΔf=p×Δdで表すことができる。つまり、ピンチイン操作及びピンチアウト操作による単位時間当たりの指の移動量に応じて、仮想カメラの画角の変化量が決定される。そして視点制御部205は、算出した変化量Δfを現在の画角fに加算し、新たな画角として出力する。なお、画角の変化量を決定する方法は上述の方法に限らない。例えば、仮想カメラから3次元点Tまでの距離に基づいて、表示スクリーン上での指の移動量に応じた画角の変化量が決定されるようにしても良い。なお、視点制御部205は、ピンチイン操作及びピンチアウト操作が行われた場合に、仮想カメラの画角を変更する代わりに、仮想カメラの前後方向における位置のオフセットを変更してもよい。
【0077】
S909では、視点制御部205が、ユーザの操作に応じて決定されたオフセットをカメラパス取得部204から取得した基準となるカメラパス(特定の選手の位置姿勢に応じたカメラパス)に加算して、オフセットが適用された仮想カメラの位置姿勢を算出する。そして、その結果を表すオフセット適用後のカメラパラメータを描画部206に出力する。オフセットの加算は、基準となるカメラパスに応じた仮想カメラの姿勢Rcnが表す向きベクトルを水平方向にθn、垂直方向にφnだけ回転し、その結果を回転行列に変換することで行う。このとき、オフセットの適用の基準となるカメラパスは、仮想カメラの位置姿勢が時間軸方向にスムージング処理されたカメラパスであってもよい。スムージング処理することにより、基準となる選手が走っているときの上下の振動などによる画像のブレが少なくなり、視聴者が仮想視点画像を快適に視聴できるようになる。ただし、動画が一時停止しているときには、ブレが発生しないため、スムージング処理が行われていないカメラパスに対してオフセットを適用してもよい。これにより、動画再生中には快適に視聴できる画像が表示でき、一時停止中には選手の視界をより正確に再現した画像を表示することができる。
【0078】
なお、ジェスチャーの種類と処理の内容の対応関係は、上述に示した例に限らない。また、制御装置100は、事前に行われたユーザによる設定に応じて、各ジェスチャーに応じた処理を有効にするか無効にするかを切り替えてもよい。また、上記の例では、仮想視点画像の動画の再生状態が一時停止中である場合にはユーザ操作に応じて仮想カメラのオフセットが変更され、再生中である場合にはオフセットが変更されないものとした。ただしこれに限らず、再生中であっても一時停止中と同様にオフセットを変更してもよい。また、再生中である場合に、ユーザの指が表示スクリーンに触れている間はスライド操作に応じたオフセットを適用し、ユーザの指が表示スクリーンから離れたことに応じてオフセットをリセットしてもよい。
【0079】
以上説明した通り、本実施形態の制御装置100は、ユーザ操作に応じて、仮想視点画像の生成に係る仮想視点の位置及び向きのうち少なくとも何れか一方を制御する。ここで制御装置100は、ユーザ操作に応じた仮想視点の制御内容を、仮想視点画像の再生モードに応じて切り替える。このような構成によれば、ユーザは、従来よりも簡易かつ多様な仮想視点に関する制御を行うことができるようになる。例えば、ユーザによる操作が行われない間は仮想視点が変化しない再生モード(例えば自由操作モード)と、ユーザによる操作が行われない間も仮想視点が変化する再生モード(例えば選手視点モード)とでは、ユーザが求める仮想視点の制御内容が異なる。このような場合に、同一の種類のユーザ操作によって各モードに適した内容の仮想視点制御が行われることにより、ユーザが多種類の複雑な操作を使いこなす必要がなくなり、仮想視点の設定がより簡易に行えるようになる。
【0080】
また、制御装置100は、選手視点モードにおいて、仮想視点の位置及び向きの経時的な変化を表す情報である所定のカメラパスを取得し、当該所定のカメラパスを基準とした仮想視点の位置及び向きの調整量(オフセット)をユーザ操作に応じて設定する。そして制御装置100は、上記所定のカメラパスと設定されたオフセットとに基づいて決まる仮想視点の位置及び向きに応じた仮想視点画像を表示面に表示させる。このような構成によれば、所定のカメラパスが表す仮想視点の特徴を一部維持しつつ、ユーザ操作に応じて仮想視点の位置及び向きの調整をすることができる。例えば所定のカメラパスとして特定の選手の視点を表すカメラパスを用いることにより、その選手の視界を再現した仮想視点画像を表示させることができる。また、この選手に応じたカメラパスにユーザ操作に応じたオフセットを適用することにより、仮想視点画像を視聴するユーザは、選手が見えていなかったもの(選手が仮に別の方向を向いていた場合に見えていたはずのもの)を容易に確認することができる。
【0081】
なお、本実施形態では、タッチパネルを介してユーザ操作が行われる場合を中心に説明したが、ユーザ操作の方法はこれに限定されず、制御装置100はマウスのジェスチャーをユーザ操作として取得しても構わない。例えば、上記の実施形態におけるタップ操作を左クリック、ダブルタップ操作を左ボタンのダブルクリック、1本の指によるスライド操作を左ボタンによるスライド操作に割り当ててもよい。また、2本の指によるスライド操作を右ボタンによるスライド操作、ピンチイン操作及びピンチアウト操作をマウスのホイール操作に割り当ててもよい。また、制御装置100は、ジョイスティックなどその他のコントローラを介したユーザ操作に基づいて仮想視点を制御してもよい。
【0082】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0083】
100 表示制御装置
201 操作部
202 取得データ制御部
203 データ取得部
204 カメラパス取得部
205 視点制御部
206 描画部
207 表示部