(第1の実施形態)
以下、本発明の実施形態について図面を参照して説明する。図1は、第1の実施形態の映像表示システム1の構成を示すブロック図である。第1の実施形態では、利用される状況として、例えば、競技場においてサッカーの試合を見ている映像表示システム1の利用者20が、複数の選手がある場所に集中しているために、手前に存在する選手の後ろに存在する選手が保持しているサッカーボールが見えない状況を想定している。この状況において、利用者20が、映像表示システム1を利用することにより、手前の選手を移動させて、当該選手の後ろに存在する選手が保持するサッカーボールが見えるようになる。
映像表示システム1は、例えば、ビデオシースルー型のARのシステムであり、映像操作装置10と、眼球センサ21と、顔センサユニット22と、位置姿勢センサ23と、利用者表示装置30と、配信サーバ装置40と、カメラ50−1,50−2,50−3と、通信ネットワーク60とを備える。
映像表示システム1において、通信ネットワーク60は、例えば、インターネット網や専用回線により構築される通信網であり、通信ネットワーク60への接続は、有線接続であっても、無線接続であってもよい。
カメラ50−1,50−2,50−3は、動画像を撮影する撮影装置であり、予め定められる位置や姿勢で固定的に配置され、例えば、サッカーの競技場等の実空間を撮影する。
なお、図1では、一例として、3台のカメラ50−1,50−2,50−3を示しているが、台数は、3台に限られず、少なくとも2台以上あればよい。第1の実施形態では、映像操作装置10の映像情報レンダリング部17による処理において、複数の方向から撮影された映像情報が必要となるため、撮影する実空間の広さ等に応じて、適切な台数のカメラ50−1,50−2,…が配置されるものとする。
また、カメラ50−1,50−2,50−3の各々は、内部に、例えば、時計等の計時手段を備えており、全ての計時手段の時刻は、現在時刻になるように同期している。また、カメラ50−1,50−2,50−3の各々は、計時手段から得られる時刻の情報を撮影により得られた動画像のフレームごとに付与して映像情報を生成する。また、カメラ50−1,50−2,50−3の各々には、それぞれ異なるカメラ識別情報が予め割り当てられており、カメラ50−1,50−2,50−3の各々は、生成した映像情報に、各々に割り当てられているカメラ識別情報を付与して配信サーバ装置40に出力する。
眼球センサ21は、利用者20の左右の眼球の視線方向、及び左右の視線方向がなす輻輳角θを一定の周期で繰り返し検出するセンサであり、例えば、利用者表示装置30の内部に装着される。また、眼球センサ21は、内部に無線通信手段を備えており、検出した左右の眼球の視線方向と、輻輳角θとを含む時系列データを無線通信により映像操作装置10に送信する。
顔センサユニット22は、図2に示すように、例えば、4個の顔センサ220−A,220−B,220−C,220−Dを含んでいる。4個の顔センサ220−A,220−B,220−C,220−Dは、人が筋肉を動かすときに生じる電圧を計測するEMG(Electromyography:筋電位、筋電図)センサである。
また、4個の顔センサ220−A,220−B,220−C,220−Dは、図2に示すように、利用者20の顔の頬や上唇に装着される。また、4個の顔センサ220−A,220−B,220−C,220−Dは、利用者20が、口腔内において舌を頬に押し付けた状態で、舌を動かした際の隆起位置の変化を電圧値として一定の周期で繰り返し検出する。
また、4個の顔センサ220−A,220−B,220−C,220−Dの各々には、それぞれ異なるセンサ識別情報が予め割り当てられている。また、4個の顔センサ220−A,220−B,220−C,220−Dの各々は、内部に無線通信手段を備えており、検出した電圧値に、各々に割り当てられているセンサ識別情報を付与して時系列データとして無線通信により映像操作装置10に送信する。
位置姿勢センサ23は、既存のキャリブレーション処理を行う機能を備えており、利用者20の位置と、姿勢を示す角度を一定の周期で繰り返し検出するセンサであり、例えば、利用者表示装置30の内部に装着される。また、位置姿勢センサ23は、内部に無線通信手段を備えており、検出した利用者20の位置の情報と、姿勢を示す角度の情報とを含む時系列データを無線通信により映像操作装置10に送信する。
(映像操作装置の構成)
映像操作装置10は、計時部11、記憶部12、選択位置検出部13、操作情報検出部14、モード切替部15、映像情報取得部16、映像情報レンダリング部17、映像情報出力部18、位置姿勢情報更新部19、及び無線通信部20を備える。映像操作装置10において、無線通信部20は、眼球センサ21、顔センサユニット22、位置姿勢センサ23、及び利用者表示装置30との間で無線通信を行う。
計時部11は、例えば、要求を受けて時刻情報を出力する時計である。計時部11の時計の時刻は、カメラ50−1〜50−3の各々が内部に備える計時手段の時刻に同期するように予め設定される。
記憶部12は、図3に示す顔センサリストテーブル121を予め記憶する。顔センサリストテーブル121は、「センサ識別情報」、及び「センサ位置情報」の項目を有する。「センサ識別情報」の項目には、顔センサ220−A,220−B,220−C,220−Dの各々のセンサ識別情報が書き込まれる。図3は、顔センサ220−A,220−B,220−C,220−Dのセンサ識別情報が、それぞれ「A」,「B」,「C」,「D」である例を示している。
「センサ位置情報」の項目には、顔センサ220−A,220−B,220−C,220−Dの各々の利用者20の顔における位置を示す情報が書き込まれる。顔における位置を示す情報は、例えば、図2に示すように、利用者20の顔において、口角を結ぶ直線を水平軸、すなわちx軸とし、口角の中間を原点座標としたxy座標によって示される。
顔センサ220−A,220−B,220−C,220−Dの各々の位置を、当該xy座標における座標値(xs,ys)として表すことができ、各々の座標値(xs,ys)が、「センサ位置情報」の項目の各々に対応する行に予め書き込まれる。図3は、顔センサ220−A,220−B,220−C,220−Dのセンサ位置情報が、それぞれ(−100,0),(−50,0),(50,0),(100,0)である例を示している。
また、記憶部12は、図4に示す利用者情報テーブル122を予め記憶する。利用者情報テーブル122は、「利用者識別情報」、「モード種別」、「移動スケール」、「位置・姿勢」、「位置情報」の項目を有する。「利用者識別情報」の項目には、利用者表示装置30に予め割り当てられている利用者識別情報が予め書き込まれる。
ここで、利用者識別情報とは、配信サーバ装置40に接続する利用者表示装置30に対して予め割り当てられる識別情報であり、複数の利用者表示装置30が接続する場合、それぞれに異なる利用者識別情報が割り当てられる。図4は、利用者識別情報として「1」が書き込まれている例を示している。なお、1台の映像操作装置10に接続する利用者表示装置30は1台であるため、利用者情報テーブル122の「利用者識別情報」の項目は、接続する1台の利用者表示装置30の利用者識別情報のみを記憶する。
「モード種別」の項目には、モード切替部15によってモード種別を示す情報が書き込まれる。図4は、モード種別を示す情報として、移動操作モード種別を示す「移動操作」が書き込まれている例を示している。
「移動スケール」の項目には、移動スケールの値が予め書き込まれる。ここで、移動スケールとは、顔センサリストテーブル121の「センサ位置情報」の項目が記憶する座標値の座標、すなわち、図2を参照して説明した利用者20の顔において定義した座標と、カメラ50−1〜50−3が撮影する動画像の座標のスケールを補正する値である。図4は、移動スケールとして、「1」が書き込まれている例を示している。移動スケールの値が、「1」の場合、両座標のスケールは一致する。なお、以下の説明において、移動スケールを、移動スケールαともいう。
「位置・姿勢」の項目には、位置姿勢情報更新部19が、位置姿勢センサ23から受信する利用者20の位置及び姿勢を示す角度の情報に基づいて算出する利用者座標Muにおける利用者20の回転行列Ruと並進ベクトルtuの情報が書き込まれる。「位置情報」の項目には、位置姿勢情報更新部19が、位置姿勢センサ23から受信する利用者20の位置を示す情報に基づいて算出する世界座標Mwにおける利用者座標Muの原点の位置を示す情報が書き込まれる。
ここで、利用者座標、世界座標等の用語について、図5を参照しつつ説明する。図5は、利用者20と、カメラ50−1,50−2,50−3の位置関係を示す一例であり、世界座標Mwとは、空間全体を表す座標系である。利用者座標Muは、利用者20の位置を原点とする座標系である。カメラ座標Mc1,Mc2,Mc3は、それぞれカメラ50−1,50−2,50−3の位置を原点とする座標系である。
世界座標Mwと、利用者座標Muと、カメラ座標Mc1,Mc2,Mc3の各々は、原点が異なるが、X軸、Y軸、Z軸の方向は同一の座標である。なお、Y軸は、紙面に垂直な軸であって、手前から奥に向かう方向が正の方向である軸である。
利用者20の位置の情報、及び姿勢を示す角度の情報は、位置姿勢センサ23が一定の周期で繰り返し検出するため、利用者20の動きに応じて変化する情報である。これに対して、カメラ50−1,50−2,50−3の位置や姿勢は、上述したように、固定されているため、既存のキャリブレーション技術によって、各々の座標系ごとに原点の位置情報や位置や姿勢を示す回転行列や並進ベクトルが予め求められている。
図1に戻り、選択位置検出部13は、無線通信部20を介して眼球センサ21から左右の眼球の視線方向と、輻輳角θとを含む時系列データを受信する。また、選択位置検出部13は、時系列データに含まれる左右の眼球の視線方向と、輻輳角θとに基づいて利用者20が、注視している注視点の実空間における3次元位置を算出する。また、選択位置検出部13は、算出した3次元位置を示す座標情報(以下、3次元位置座標情報という)を選択位置情報として、映像情報レンダリング部17に出力する。
操作情報検出部14は、無線通信部20を介して顔センサユニット22に含まれる顔センサ220−A,220−B,220−C,220−Dの各々から、センサ識別情報が付与された電圧値の時系列データを受信する。また、操作情報検出部14は、受信したセンサ識別情報が付与された電圧値の時系列データと、記憶部12の顔センサリストテーブル121が記憶する顔センサ220−A,220−B,220−C,220−Dの位置情報に基づいて、利用者20の舌の動きを示す情報である移動ベクトルを算出する。
顔や口腔内の形状、舌を押し当てる位置等は、利用者20ごとに異なるため、電圧値の変化パターンや大きさも利用者20ごとに異なることになる。そのため、操作情報検出部14は、学習手段を有しており、ある1人の利用者20が頬に舌を押し当てて移動させた際の電圧値の変化を事前に学習手段を用いて学習する。操作情報検出部14は、移動方向の分類精度や、移動量の検出精度が高められた状態で、実際の運用に適用される。
また、操作情報検出部14は、算出した移動ベクトルを操作情報として映像情報レンダリング部17に出力する。なお、以下の説明において、移動ベクトルを、移動ベクトルvともいう。
位置姿勢情報更新部19は、無線通信部20を介して位置姿勢センサ23から利用者20の位置及び姿勢を示す角度の情報を含む時系列データを受信する。また、位置姿勢情報更新部19は、受信した時系列データに含まれる利用者20の位置及び姿勢を示す角度の情報に基づいて、利用者座標Muにおける利用者20の回転行列Ruと並進ベクトルtuと、世界座標Mwにおける利用者座標Muの原点の位置を示す情報とを算出する。
また、位置姿勢情報更新部19は、算出した利用者座標Muにおける利用者20の回転行列Ruと並進ベクトルtuを、利用者情報テーブル122の「位置・姿勢」の項目に書き込んで更新する。また、位置姿勢情報更新部19は、算出した世界座標Mwにおける利用者座標Muの原点の位置を示す情報を、利用者情報テーブル122の「位置情報」の項目に書き込んで更新する。
また、位置姿勢情報更新部19は、利用者情報テーブル122の「利用者識別情報」の項目から利用者識別情報を読み出す。また、位置姿勢情報更新部19は、通信ネットワーク60に接続しており、算出した利用者座標Muにおける利用者20の回転行列Ruと並進ベクトルtu、及び世界座標Mwにおける利用者座標Muの原点の位置を示す情報に対して、読み出した利用者識別情報を付与して配信サーバ装置40に送信する。
モード切替部15は、利用者表示装置30が利用者20の操作を受けて送信する移動操作モード通知を無線通信部20を介して受信し、受信した際に移動操作モード種別を示す情報を利用者情報テーブル122の「モード種別」の項目に書き込んで記憶させる。また、モード切替部15は、利用者表示装置30が利用者20の操作を受けて送信する終了モード通知を無線通信部20を介して受信し、受信した際に終了モード種別を示す情報を利用者情報テーブル122の「モード種別」の項目に書き込んで記憶させる。
また、モード切替部15は、移動操作モード通知を受信した場合、移動操作モード種別を示す情報と、利用者情報テーブル122が記憶する利用者識別情報と、計時部11に要求して取得する時刻情報とを含む情報を映像情報取得部16に出力する。また、モード切替部15は、終了モード通知を受信した場合、終了モード種別を示す情報と、利用者情報テーブル122が記憶する利用者識別情報とを含む情報を映像情報取得部16に出力する。
映像情報取得部16は、通信ネットワーク60を介して配信サーバ装置40に接続する。また、映像情報取得部16は、モード切替部15から移動操作モード種別を示す情報と、利用者識別情報と、時刻情報とを含む情報を受けた場合、利用者識別情報と、時刻情報とを含む配信要求情報を生成して配信サーバ装置40に送信する。なお、配信要求情報が含む時刻情報は、配信映像の開始時刻を示しており、以下、配信サーバ装置40に対して配信を要求する映像の開始時刻を、配信映像の開始時刻情報s_Timeuともいう。
また、映像情報取得部16は、配信要求情報を受信した配信サーバ装置40が送信する映像情報と、利用者識別情報と、カメラリスト情報とを受信する。ここで、カメラリスト情報とは、配信サーバ装置40の映像情報記憶部42が記憶するカメラリストテーブル421の「カメラ識別情報」、「位置・姿勢」、「位置情報」の項目の全ての内容を含む情報である。なお、カメラリスト情報において、カメラリスト情報と共に受信する映像情報に対応するカメラ識別情報のレコードには、当該映像情報とカメラ識別情報の関係が特定できるようにフラグが立てられているものとする。
また、映像情報取得部16は、受信した利用者識別情報が、利用者情報テーブル122の「利用者識別情報」の項目の情報に一致する場合、受信した利用者識別情報と、映像情報と、カメラリスト情報とを取り込む。また、映像情報取得部16は、取り込んだ利用者識別情報と、映像情報と、カメラリスト情報とに対して、利用者情報テーブル122が記憶するモード種別を示す情報を付与して映像情報レンダリング部17に出力する。
なお、映像情報取得部16が配信サーバ装置40から受信する映像情報は、配信映像の開始時刻情報s_Timeu以降の連続した映像情報である。第1の実施形態では、配信映像の開始時刻情報s_Timeuとして指定する時刻は、計時部11から取得した時刻である。そのため、第1の実施形態において配信映像の開始時刻情報s_Timeuとして指定される時刻は、映像操作装置10や配信サーバ装置40の内部処理による遅延があるため厳密には、実時間、すなわち「リアルタイム」ではないが、以下、説明の便宜上、配信映像の開始時刻情報s_Timeu以降の連続した映像情報をリアルタイム映像情報という。
また、映像情報取得部16は、モード切替部15から終了モード種別を示す情報と、利用者識別情報を含む情報を受けた場合、当該情報に含まれる利用者識別情報を含む終了命令情報を生成して配信サーバ装置40に送信する。
映像情報レンダリング部17は、選択位置検出部13が出力する選択位置情報を用いて、選択領域を設定し、設定した選択領域に含まれるリアルタイム映像情報の位置を、操作情報検出部14が出力する操作情報に基づいて変更する操作を行う。
映像情報レンダリング部17は、選択位置検出部13が出力する選択位置情報である3次元位置座標情報と、操作情報検出部14が出力する操作情報である移動ベクトルvを取り込む。また、映像情報レンダリング部17は、映像情報取得部16が出力する利用者識別情報と、リアルタイム映像情報と、カメラリスト情報と、モード種別を示す情報とを取り込む。また、映像情報レンダリング部17は、記憶部12が記憶する利用者情報テーブル122の「移動スケール」の項目から移動スケールαの値を読み出し、「位置・姿勢」の項目から利用者座標Muにおける利用者20の回転行列Ru、並進ベクトルtuを読み出し、「位置情報」から利用者座標Muの原点の位置情報を読み出す。
また、映像情報レンダリング部17は、取り込んだモード種別を示す情報が移動操作モード種別を示す場合、取り込んだリアルタイム映像情報から、カメラリスト情報と、3次元位置座標情報とに基づいて定める選択領域の映像情報を切り出す。また、映像情報レンダリング部17は、切り出した映像情報を移動ベクトルv及び移動スケールαにしたがって移動させて第1の重畳映像情報を生成する。
また、映像情報レンダリング部17は、選択領域において切り出した映像情報に人物等の物が写っているために、当該物によって隠されている背景を写した映像の映像情報を生成する。そのために、映像情報レンダリング部17は、利用者座標Muにおける利用者20の回転行列Ru、並進ベクトルtu、及び利用者座標Muの原点の位置情報と、受信したカメラリスト情報とに基づいて、当該背景を写した映像の映像情報を撮影したカメラ50−1〜50−3のカメラ識別情報を検出する。
また、映像情報レンダリング部17は、通信ネットワーク60に接続しており、通信ネットワーク60を介して配信サーバ装置40に対して、検出したカメラ識別情報と、映像情報取得部16から受けた利用者識別情報とを含む追加配信要求情報を送信する。また、映像情報レンダリング部17は、当該追加配信要求情報を受けて配信サーバ装置40が送信する映像情報を受信し、受信した映像情報と、カメラリスト情報と、利用者座標Muにおける利用者20の回転行列Ru及び並進ベクトルtuと、利用者座標Muの原点の位置情報とに基づいて、選択領域内の背景を写した映像の映像情報である第2の重畳映像情報を生成する。
また、映像情報レンダリング部17は、生成した第1の重畳映像情報と、第2の重畳映像情報とに対して、各々の中心位置を示す情報を付与して映像情報出力部18に出力する。映像情報出力部18は、映像情報レンダリング部17が出力する第1及び第2の重畳映像情報と、第1及び第2の重畳映像情報の各々の中心位置を示す情報とを取り込み、取り込んだ情報を無線通信部20を介して利用者表示装置30に送信する。
(利用者表示装置の構成)
利用者表示装置30は、例えば、ARの視聴デバイスであり、図6に示すように、映像情報表示処理部31、表示部32、記憶部33、計時部34、情報送信部35、及び操作部36を備える。利用者表示装置30において、記憶部33は、利用者表示装置30に予め割り当てられている利用者識別情報を予め記憶する。計時部34は、例えば、時計であり、要求を受けて時刻情報を出力する。計時部34の時計の時刻は、カメラ50−1〜50−3の各々が内部に備える計時手段の時刻、及び計時部11の時刻に同期するように予め設定されている。
映像情報表示処理部31は、通信ネットワーク60を介して配信サーバ装置40に接続する際、記憶部33が記憶する利用者識別情報と、計時部34から取得した時刻情報とを含むリアルタイム映像配信要求情報を配信サーバ装置40に送信する。また、映像情報表示処理部31は、当該リアルタイム映像配信要求情報を受けて配信サーバ装置40が送信するリアルタイム映像情報を通信ネットワーク60を介して受信して表示部32に出力する。
また、映像情報表示処理部31は、無線通信手段を備えており、映像操作装置10の映像情報出力部18が無線通信部20を介して送信する第1及び第2の重畳映像情報と、第1及び第2の重畳映像情報の各々の中心位置を示す情報とを受信する。また、映像情報表示処理部31は、受信した第1及び第2の重畳映像情報と、第1及び第2の重畳映像情報の各々の中心位置を示す情報とを表示部32に出力する。
表示部32は、例えば、LCD(Liquid Crystal Display)等の画面を備えており、映像情報表示処理部31が出力するリアルタイム映像情報を取り込んで画面に表示する。また、表示部32は、映像情報表示処理部31が出力する第1及び第2の重畳映像情報と、第1及び第2の重畳映像情報の各々の中心位置を示す情報とを取り込み、第1及び第2の重畳映像情報の各々の中心位置を示す情報に応じた画面の位置に、リアルタイム映像情報に重ねて第1及び第2の重畳映像情報を表示する。ここで、リアルタイム映像情報に重ねて表示するとは、第1及び第2の重畳映像情報を重ねた領域においてリアルタイム映像情報が利用者20から見えなくなるように第1及び第2の重畳映像情報を表示することである。
操作部36は、移動操作モードボタン部36−1と、終了モードボタン部36−2とを備える。移動操作モードボタン部36−1及び終了モードボタン部36−2の各々は、利用者20によって操作を受けるボタンを備えており、当該ボタンが押下された場合、当該ボタンが押下されたことを示す情報を情報送信部35に出力する。
情報送信部35は、移動操作モードボタン部36−1からボタンが押下されたことを示す情報を受けた場合、移動操作モード通知を映像操作装置10のモード切替部15に送信する。また、情報送信部35は、終了モードボタン部36−2からボタンが押下されたことを示す情報を受けた場合、終了モード通知を映像操作装置10のモード切替部15に送信する。
(配信サーバ装置の構成)
配信サーバ装置40は、図7に示す内部構成を有しており、映像情報取込部41、映像情報記憶部42、映像情報配信処理部43、記憶部44、及び情報更新部45を備える。配信サーバ装置40において、映像情報記憶部42は、図8に示すカメラリストテーブル421を記憶する。
カメラリストテーブル421は、「カメラ識別情報」、「位置・姿勢」、「位置情報」、「映像情報」の項目を有している。「カメラ識別情報」の項目には、カメラ50−1〜50−3に割り当てられているカメラ識別情報が書き込まれる。図8は、カメラ50−1,50−2,50−3に割り当てられているカメラ識別情報が、それぞれ「1」,「2」,「3」である例を示している。
「位置・姿勢」の項目には、カメラ50−1〜50−3の各々に対応するカメラ座標Mc1,Mc2,Mc3におけるカメラ50−1〜50−3の位置及び姿勢を示す情報である回転行列と並進ベクトルが書き込まれる。図8は、「カメラ識別情報」が「1」のレコードの「位置・姿勢」の項目に、カメラ座標Mc1におけるカメラ50−1の回転行列Rc1と、並進ベクトルtc1が書き込まれている例を示している。同様に、「カメラ識別情報」が「2」,「3」のレコードの「位置・姿勢」の項目に、カメラ座標Mc2,Mc3におけるカメラ50−2,50−3の回転行列Rc2,Rc3と、並進ベクトルtc2,tc3が書き込まれている。
「位置情報」の項目には、カメラ50−1〜50−3に対応するカメラ座標Mc1,Mc2,Mc3の原点の世界座標Mwにおける座標情報が書き込まれる。図8は、カメラ座標Mc1,Mc2,Mc3の原点の世界座標Mwにおける位置がそれぞれ(−100,100,−100),(0,100,−100),(100,100,−100)である例を示している。
「映像情報」の項目には、カメラ50−1〜50−3の各々が撮影した映像情報が書き込まれる。図8に示す例は、「カメラ識別情報」が「1」に対応する「映像情報」の項目に、カメラ50−1が撮影した「映像情報1」というファイル名称の映像情報が書き込まれている例を示している。同様に、「カメラ識別情報」が「2」,「3」に対応する「映像情報」の項目に、カメラ50−2,50−3が撮影した「映像情報2」,「映像情報3」というファイル名称の映像情報が書き込まれている。
映像情報取込部41は、カメラ50−1,50−2,50−3の各々が出力するカメラ識別情報が付与された映像情報のフレームを取り込む。また、映像情報取込部41は、取り込んだ映像情報のフレームに付与されているカメラ識別情報に対応するカメラリストテーブル421のレコードの「映像情報」の項目が記憶する映像情報に対して、取り込んだ映像情報のフレームを追加して映像情報を更新する。
記憶部44は、図9に示す利用者リストテーブル441を記憶する。利用者リストテーブル441は、「利用者識別情報」、「位置・姿勢」、「位置情報」の項目を有している。「利用者識別情報」の項目には、配信サーバ装置40に接続している利用者表示装置30に割り当てられている利用者識別情報が書き込まれる。複数の利用者表示装置30が接続している場合、利用者リストテーブル441は、複数の利用者表示装置30ごとの複数のレコードを有することになる。
「位置・姿勢」の項目には、利用者表示装置30を利用する利用者20の利用者座標Muにおける利用者20の位置及び姿勢を示す情報である回転行列Ruと並進ベクトルtuが書き込まれる。「位置情報」の項目には、利用者座標Muの原点の世界座標Mwにおける座標情報が書き込まれる。図9に示す例は、利用者座標Muの原点の世界座標Mwにおける位置が(0,0,0)である例、すなわち世界座標Mwと、利用者座標Muとが一致している例を示している。
情報更新部45は、通信ネットワーク60に接続しており、通信ネットワーク60を介して映像操作装置10の位置姿勢情報更新部19から利用者識別情報と、利用者座標Muにおける利用者20の回転行列Ru及び並進ベクトルtuと、世界座標Mwにおける利用者座標Muの原点の位置情報とを受信する。また、情報更新部45は、受信した利用者識別情報に対応する利用者リストテーブル441のレコードを検出する。また、情報更新部45は、検出したレコードの「位置・姿勢」の項目に、受信した利用者座標Muにおける利用者20の回転行列Ru及び並進ベクトルtuを書き込み、当該レコードの「位置情報」の項目に、受信した世界座標Mwにおける利用者座標Muの原点の位置情報を書き込んで更新する。
映像情報配信処理部43は、通信ネットワーク60に接続されており、通信ネットワーク60を介して接続する利用者表示装置30から利用者識別情報と、時刻情報と含むリアルタイム映像配信要求情報を受信する。また、映像情報配信処理部43は、リアルタイム映像配信要求情報に含まれる利用者識別情報に対応する利用者リストテーブル441の「位置情報」の項目が記憶する利用者座標Muの原点の位置情報を読み出す。また、映像情報配信処理部43は、読み出した利用者座標Muの原点の位置情報と、カメラリストテーブル421の「位置情報」の項目が記憶する各カメラ50−1〜50−3のカメラ座標の原点の位置情報とを対比し、利用者表示装置30の位置に最も近いいずれか1つのカメラ50−1〜50−3のレコードを検出する。また、映像情報配信処理部43は、検出したレコードの「映像情報」の項目からリアルタイム映像配信要求情報に含まれる時刻情報以降の映像情報を読み出してリアルタイム映像情報とし、利用者表示装置30に対するリアルタイム映像情報の送信を開始する。
また、映像情報配信処理部43は、通信ネットワーク60を介して接続する映像操作装置10の映像情報取得部16から配信要求情報を受信する。また、映像情報配信処理部43は、配信要求情報に含まれる利用者識別情報と、利用者リストテーブル441と、カメラリストテーブル421とに基づいて、利用者表示装置30の位置に最も近いいずれか1つのカメラ50−1〜50−3のレコードをカメラリストテーブル421から検出する。また、映像情報配信処理部43は、検出したレコードの「映像情報」の項目から配信要求情報に含まれる配信映像情報の開始時刻情報s_Timeu以降の映像情報を読み出してリアルタイム映像情報とする。
また、映像情報配信処理部43は、映像情報記憶部42が記憶するカメラリストテーブル421の「カメラ識別情報」、「位置・姿勢」、「位置情報」の項目が記憶する全ての情報を読み出し、読み出した情報に基づいてカメラリスト情報を生成する。なお、映像情報配信処理部43は、カメラリスト情報を生成する際、当該カメラリスト情報と共に送信する映像情報に対応するカメラ識別情報のレコードに、当該映像情報とカメラ識別情報の関係が特定できるようにフラグを立てて生成する。また、映像情報配信処理部43は、読み出した映像情報と、カメラリスト情報と、配信要求情報に含まれる利用者識別情報とを映像情報取得部16に送信する。
また、映像情報配信処理部43は、通信ネットワーク60を介して接続する映像操作装置10の映像情報レンダリング部17から追加配信要求情報を受信する。また、映像情報配信処理部43は、追加配信要求情報に含まれるカメラ識別情報に対応する最新の映像情報をカメラリストテーブル421から読み出す。また、映像情報配信処理部43は、読み出した映像情報を映像情報レンダリング部17に送信する。
また、映像情報配信処理部43は、利用者識別情報、及び送信先の装置に関連付けて送信している映像情報を管理しており、映像操作装置10から終了命令情報を受信した場合、終了命令情報に含まれる利用者識別情報に対応する送信中の映像情報を検出する。また、映像情報配信処理部43は、検出した利用者識別情報に対応する送信中の映像情報のうち、終了命令情報の送信元の映像操作装置10の映像情報取得部16及び映像情報レンダリング部17に対する映像情報の送信を停止する。
(第1の実施形態の映像操作装置の処理)
図10は、第1の実施形態の映像操作装置10による処理の流れを示すフローチャートである。以下の処理の前提として、利用者表示装置30の記憶部33が記憶する利用者識別情報は、「1」であるとし、映像操作装置10の記憶部12が記憶する利用者情報テーブル122の「利用者識別情報」の項目にも「1」が記憶され、「位置・姿勢」及び「位置情報」の項目は、位置姿勢情報更新部19によって順次更新されている。
また、配信サーバ装置40の記憶部44が記憶する利用者リストテーブル441の「利用者識別情報」の項目にも「1」が記憶され、「位置・姿勢」及び「位置情報」の項目は、情報更新部45によって順次更新されている。また、カメラリストテーブル421は、図8に示す例の情報を記憶しており、図9に示した利用者リストテーブル441の例の通り、世界座標Mwと、利用者座標Muとが一致しているものとして説明する。
図10に示す処理が開始される前に、利用者表示装置30と配信サーバ装置40とが通信ネットワーク60を介して接続し、利用者表示装置30が配信サーバ装置40からリアルタイム映像情報の受信を開始しているものとする。すなわち、利用者表示装置30は、配信サーバ装置40に対してリアルタイム映像配信要求情報を送信し、配信サーバ装置40は、利用者20の位置に最も近いカメラ50−1〜50−3が撮影したリアルタイム映像情報を通信ネットワーク60を介して利用者表示装置30に送信する。
ここでは、図4の利用者情報テーブル122及び図9の利用者リストテーブル441に示す例の通り、利用者20の位置は「(0,0,0)」であり、図8のカメラリストテーブル421に示す例の通りであるため、カメラ50−2が利用者20の最も近くに存在することになる。
利用者表示装置30の映像情報表示処理部31は、配信サーバ装置40が送信するカメラ50−2が撮影したリアルタイム映像情報を受信して表示部32に出力し、表示部32が画面にリアルタイム映像情報の映像を表示する。利用者20は、利用者表示装置30の画面に表示される映像を視聴している。なお、表示部32の画面の座標は、左上が原点であり、右方向の水平軸が、x軸の正方向、下方向の垂直軸が、y軸の正方向となる。
利用者20は、画面に表示される映像を視聴しながら移動させたい物、例えば、選手等の対象物を見つけると、当該対象物を注視して、利用者表示装置30の操作部36の移動操作モードボタン部36−1のボタンを押下する。移動操作モードボタン部36−1は、ボタンが押下されたことを示す情報を情報送信部35に出力する。情報送信部35は、移動操作モードボタン部36−1が出力するボタンが押下されたことを示す情報を受けて、無線通信により、移動操作モード通知を映像操作装置10のモード切替部15に対して送信する。モード切替部15は、無線通信部20を介して移動操作モード通知を受信する(ステップS101)。
モード切替部15は、移動操作モード通知を受信すると、記憶部12が記憶する利用者情報テーブル122の「モード種別」の項目に、移動操作モード種別を示す情報、例えば、「移動操作」を書き込む。モード切替部15は、計時部11から時刻情報を取得する。ここでは、例えば、モード切替部15が、「11時30分10秒」の時刻情報を取得したとする。
モード切替部15は、取得した時刻情報「11時30分10秒」と、移動操作モード種別を示す情報と、利用者情報テーブル122の「利用者識別情報」の項目が記憶する利用者識別情報「1」とを映像情報取得部16に送信する。
映像情報取得部16は、モード切替部15から時刻情報と、移動操作モード種別を示す情報と、利用者識別情報とを含む情報を受けると、時刻情報と、利用者識別情報とを含む配信要求情報を生成する。映像情報取得部16は、生成した配信要求情報を通信ネットワーク60を介して配信サーバ装置40に送信する(ステップS102)。
配信サーバ装置40の映像情報配信処理部43は、映像情報取得部16が送信した配信要求情報を受信し、受信した配信要求情報に含まれる利用者識別情報を読み出す。映像情報配信処理部43は、記憶部44の利用者リストテーブル441を参照し、読み出した利用者識別情報に対応するレコードの「位置情報」の項目を読み出す。ここでは、利用者識別情報は「1」であるため、映像情報配信処理部43は、利用者リストテーブル441を参照し、図9に示す例の通り「位置情報」として「(0,0,0)」を読み出す。
映像情報配信処理部43は、映像情報記憶部42が記憶するカメラリストテーブル421の「位置情報」の項目を参照し、読み出した位置情報「(0,0,0)」に最も近い「(0,100,−100)」を検出する。位置情報が「(0,100,−100)」のレコードは、カメラ識別情報が「2」であり、「映像情報」の項目の「映像情報2」というファイル名称の映像情報は、カメラ50−2が撮影した映像情報である。
映像情報配信処理部43は、配信要求情報に含まれる配信映像情報の開始時刻情報s_Timeuが示す時刻、すなわち「11時30分10秒」以降のカメラ50−2が撮影したリアルタイム映像情報を読み出す。映像情報配信処理部43は、カメラリストテーブル421から「カメラ識別情報」、「位置・姿勢」、「位置情報」の全ての情報を読み出し、読み出した情報に基づいてカメラリスト情報を生成する。映像情報配信処理部43は、カメラリスト情報を生成する際、送信するリアルタイム映像情報を撮影したカメラ50−2に対応するカメラ識別情報「2」に対してフラグを立ててカメラリスト情報を生成する。
映像情報配信処理部43は、読み出したリアルタイム映像情報と、カメラリスト情報と、配信要求情報に含まれる利用者識別情報とを通信ネットワーク60を介して映像情報取得部16に送信する。映像情報取得部16は、通信ネットワーク60を介してリアルタイム映像情報と、カメラリスト情報と、利用者識別情報とを含む情報を受信する。
映像情報取得部16は、受信した情報に含まれる利用者識別情報が、利用者情報テーブル122の「利用者識別情報」の項目の情報に一致する場合、受信したリアルタイム映像情報と、カメラリスト情報と、利用者識別情報とを取り込む。ここでは、映像情報取得部16が受信した利用者識別情報が「1」であり、利用者情報テーブル122の「利用者識別情報」の項目が記憶する「1」と一致するため、映像情報取得部16は、リアルタイム映像情報と、カメラリスト情報と、利用者識別情報とを取り込む(ステップS103)。
映像情報取得部16は、取り込んだリアルタイム映像情報と、カメラリスト情報と、利用者識別情報とに対して、利用者情報テーブル122が記憶するモード種別を示す情報、すなわち「移動操作」を付与して映像情報レンダリング部17に出力する。
映像情報レンダリング部17は、映像情報取得部16が出力するリアルタイム映像情報と、カメラリスト情報と、利用者識別情報と、モード種別を示す情報とを取り込む。映像情報レンダリング部17は、取り込んだモード種別を示す情報が移動操作モード種別を示す場合、以下の処理により、当該リアルタイム映像情報において選択領域を設定する。
ステップS101において、利用者20は、移動させたい対象物を注視して、移動操作モードボタン部36−1のボタンを押下している。選択位置検出部13は、眼球センサ21が出力する利用者20の左右の眼球の視線方向と、輻輳角θとを含む時系列データを取り込む。
選択位置検出部13は、取り込んだ時系列データに含まれる利用者20の左右の眼球の視線方向と、輻輳角θとに基づいて、例えば、下記の参考文献に示される手法により、利用者20が、表示部32の画面において注視している注視点の実空間における3次元位置座標情報P=(X1,Y1,Z1)を算出する。
「参考文献:満上,浮田,木戸出,“視線情報を用いた注視点の3次元位置推定,”電子情報通信学会技術研究報告PRMU,102(554),1-6,2003」
例えば、利用者20が、正面にある奥行き5mの位置にある対象物を見ている場合、3次元位置座標情報Pが示す位置は、(0,0,5)となる。選択位置検出部13は、算出した3次元位置座標情報Pを選択位置情報として映像情報レンダリング部17に出力する。
映像情報レンダリング部17は、選択位置検出部13が出力する選択位置情報である3次元位置座標情報Pの位置に対応する、二次元の画面上の位置の座標mc=(xc,yc)を次式(1)に基づいて算出する。
smc=Ac(RwcP+twc)・・・(1)
式(1)において、sは、スカラー係数であり、Acは、内部パラメータである。また、Rwcとtwcは、世界座標Mwにおけるリアルタイム映像情報を撮影したカメラ50−1〜50−3の回転行列と並進ベクトルである。
映像情報レンダリング部17は、取り込んだカメラリスト情報においてフラグが立てられているカメラ50−2のカメラ座標Mc2における回転行列Rc2と、並進ベクトルtc2とを読み出す。映像情報レンダリング部17は、読み出した回転行列Rc2と、並進ベクトルtc2を世界座標Mwに変換し、世界座標Mwにおけるカメラ50−2の回転行列Rwc2と、並進ベクトルtwc2を算出して、式(1)のRwcと、twcに代入して演算を行う。
ここでは、映像情報レンダリング部17が、式(1)に基づいて3次元位置座標情報P=(0,0,5)に対応する、画面上の位置として、mc=(1920,1000)を算出したとする。上述したように、利用者表示装置30の画面は、左上が原点であり、右方向の水平軸が、x軸の正方向、下方向の垂直軸が、y軸の正方向となる。
例えば、利用者20が注視している対象物(以下、注視対象物という)が存在する領域を矩形形状の領域とし、当該矩形形状の領域の幅w=100とし、高さh=100とする。矩形形状の選択領域を、(xc,yc,w,h)で表すと、(1920,1000,100,100)となる。映像情報レンダリング部17は、選択領域として(1920,1000,100,100)を設定する(ステップS104)。なお、選択領域の各要素の単位は、映像情報において指定するため、pixelである。
操作情報検出部14は、顔センサユニット22に含まれる顔センサ220−A,220−B,220−C,220−Dが出力する電圧値と、記憶部12が記憶する顔センサリストテーブル121とに基づいて移動ベクトルvを算出する。操作情報検出部14は、例えば、以下の手順により、移動ベクトルvを算出する。
例えば、利用者20が、頬の舌を押し付けた状態で、口角横から右方向に舌を移動させると、顔センサ220−A,220−B,220−C,220−Dが検出する電圧値が変化する。図11は、(a),(b),(c),(d)の順に顔センサ220−A,220−B,220−C,220−Dが検出した電圧値の変化の一例を示すグラフである。当該グラフにおいて、横軸が時間であり、縦軸が電圧値である。また、図11に示す(a),(b),(c),(d)のグラフの横方向の破線は、閾値を示している。閾値は、図11(a),(b),(c),(d)において同一値であり、操作情報検出部14が予め記憶する。
図11(b)のグラフが示すように、時刻t1において、顔センサ220−Bが検出した電圧値が閾値を超えたことを、操作情報検出部14が検出し、顔センサ220−Bの位置(−50,0)が始点となる。利用者20が、舌を右方向に動かすにしたがって、顔センサ220−Aが検出する電圧値において、図11(a)のグラフが示すような変化が発生する。時刻t2において、顔センサ220−Aが検出した電圧値が閾値を超えたことを、操作情報検出部14が検出し、顔センサ220−Aの位置(−100,0)が終点となる。
操作情報検出部14は、始点の座標値(−50,0)と、終点の座標値(−100,0)とに基づいて、移動ベクトルvとして(−50,0)を算出する。操作情報検出部14は、算出した移動ベクトルvの(−50,0)を映像情報レンダリング部17に出力する。映像情報レンダリング部17は、移動ベクトルvを操作情報として取り込む(ステップS105)。
映像情報レンダリング部17は、記憶部12の利用者情報テーブル122の「移動スケール」の項目から移動スケールαとして「1」を読み出す。映像情報レンダリング部17は、操作情報検出部14が出力する移動ベクトルvの(−50,0)と、読み出した移動スケールαの「1」とにしたがって、切り出した注視対象物映像情報の中心位置を移動させ、移動後の注視対象物映像情報を第1の重畳映像情報とする。
上記の例では、注視対象物映像情報の中心位置の座標が、mc=(1920,1000)であり、移動スケールαは「1」であるため、移動ベクトルvの値をそのまま適用して、x軸方向に「−50」pixel移動させることにより、移動後の注視対象物映像情報の中心位置の座標は、(1870,1000)となる。
図12(a)は、映像情報取得部16が配信サーバ装置40から受信したリアルタイム映像情報によって表示される映像の例を示した図である。例えば、図12(a)に示すように、映像情報レンダリング部17が、選択領域170を設定し、選択領域170に含まれるリアルタイム映像情報から注視対象物映像情報171として切り出す。
図12(b)は、利用者表示装置30の表示部32の画面に表示される映像の例を示した図である。図12(b)に示すように、映像情報レンダリング部17は、移動ベクトルvと、移動スケールαにしたがって、切り出した注視対象物映像情報171の中心位置を移動させて、第1の重畳映像情報172とする(ステップS106)。
映像情報レンダリング部17は、選択領域170において、注視対象物映像情報171に含まれる対象物を移動させた後の背景を写した映像を撮影したカメラ50−1〜50−3をカメラリスト情報に基づいて検出する。映像情報レンダリング部17は、利用者情報テーブル122から利用者座標Muにおける利用者20の回転行列Ru及び並進ベクトルtuと、利用者座標Muの原点の位置情報とを読み出す。
例えば、上記の例では、リアルタイム映像情報を撮像したカメラは、カメラ50−2である。そのため、映像情報レンダリング部17は、残りのカメラ50−1、カメラ50−3の各々のカメラ座標Mc1,Mc3における回転行列Rc1,Rc3と、並進ベクトルtc1,tc3と、カメラ座標Mc1,Mc3の各々の原点の位置情報(−100,100,−100)、(100,100,−100)と、読み出した利用者座標Muにおける利用者20の回転行列Ru及び並進ベクトルtuと、利用者座標Muの原点の位置情報とに基づいて、背景を写した映像を撮影しているいずれか一方のカメラ50−1、カメラ50−3を検出する。
なお、映像情報レンダリング部17による背景を写した映像を撮影したカメラを選択する手法は、残りのカメラ50−1,50−2と、利用者20との位置関係に基づいて選択したり、カメラ50−1,50−2の光軸の方向と、利用者20の視線の方向に基づいて選択したりするといった様々な手法がある。これらの手法として、例えば、特願2017−020583、特願2017−020584の出願において開示されている手法等がある。
ここでは、映像情報レンダリング部17は、背景を写した映像を撮影したカメラとしてカメラ50−1を検出したとする。映像情報レンダリング部17は、検出したカメラ50−1に対応するカメラ識別情報「1」と、映像情報取得部16から受けた利用者識別情報とを含む追加配信要求情報を通信ネットワーク60を介して配信サーバ装置40の映像情報配信処理部43に送信する。
映像情報配信処理部43は、追加配信要求情報を受信すると、追加配信要求情報に含まれているカメラ識別情報を読み出し、読み出したカメラ識別情報に対応する最新の映像情報をカメラリストテーブル421から読み出す。映像情報配信処理部43は、読み出した映像情報を通信ネットワーク60を介して映像情報レンダリング部17に送信する。
映像情報レンダリング部17は、当該追加配信要求情報を受けて映像情報配信処理部43が送信するカメラ50−1が撮影した最新の映像情報を受信する。最新の映像情報の時刻は、リアルタイム映像情報の時刻に一致している場合もあるが、一致していない場合もあるため、映像情報レンダリング部17は、受信した最新の映像情報の時刻を、第1の重畳映像情報の時刻、すなわちリアルタイム映像情報の時刻に一致させる。
映像情報レンダリング部17は、カメラリスト情報から、カメラ座標Mc1におけるカメラ50−1の回転行列Rc1及び並進ベクトルtc1と、カメラ座標Mc1の原点の位置情報とを読み出す。
映像情報レンダリング部17は、時刻を一致させた後のカメラ50−1が撮影した映像情報と、読み出した回転行列Rc1及び並進ベクトルtc1と、カメラ座標Mc1の原点の位置情報と、利用者座標Muにおける利用者20の回転行列Ru及び並進ベクトルtuと、利用者座標Muの原点の位置情報とに基づいて、選択領域170内の背景を写した映像の映像情報として第2の重畳映像情報を生成する(ステップS107)。
例えば、映像情報レンダリング部17は、第2の重畳映像情報として、図12(b)に示すように、注視対象物映像情報171に含まれる注視対象物の選手が移動した後に見えるサッカーボールの映像を含んだ第2の重畳映像情報173を生成する。
映像情報レンダリング部17は、第1の重畳映像情報172に当該第1の重畳映像情報172の中心位置を示す情報、すなわち(1870,1000)を付与し、第2の重畳映像情報173に、当該第2の重畳映像情報172の中心位置を示す情報、すなわち(1920,1000)を付与する。映像情報レンダリング部17は、中心位置の情報を付与した第1の重畳映像情報172と、第2の重畳映像情報173とを映像情報出力部18に出力する。
映像情報出力部18は、映像情報レンダリング部17が出力する第1及び第2の重畳映像情報と、第1及び第2の重畳映像情報の各々の中心位置を示す情報とを取り込み、取り込んだ情報を無線通信部20を介して利用者表示装置30に送信する。
利用者表示装置30の映像情報表示処理部31は、第1及び第2の重畳映像情報と、第1及び第2の重畳映像情報の各々の中心位置を示す情報とを受信する。映像情報表示処理部31は、受信した第1及び第2の重畳映像情報と、第1及び第2の重畳映像情報の各々の中心位置を示す情報とを表示部32に出力する。
表示部32は、第1及び第2の重畳映像情報の各々の中心位置を示す情報に応じた画面の位置に、リアルタイム映像情報に重ねて第1及び第2の重畳映像情報を表示する(ステップS108)。これにより、例えば、表示部32の画面には、図12(b)に示すような映像が表示されることになる。
モード切替部15が、利用者表示装置30から終了モード通知を受信しない間(ステップS109、No)、ステップS108の処理が継続する。利用者20が、利用者表示装置30の操作部36の終了モードボタン部36−2のボタンを押下すると、終了モードボタン部36−2は、ボタンが押下されたことを示す情報を情報送信部35に出力する。
情報送信部35は、終了モードボタン部36−2が出力するボタンが押下されたことを示す情報を受けて、無線通信により終了モード通知をモード切替部15に送信する。モード切替部15は、終了モード通知を受信すると、記憶部12の利用者情報テーブル122の「モード種別」の項目に終了モード種別を示す情報、例えば、「終了」を書き込む。モード切替部15は、終了モード種別を示す情報と、利用者情報テーブル122が記憶する利用者識別情報とを含む情報を映像情報取得部16に出力する。映像情報取得部16は、モード切替部15から終了モード種別を示す情報と、利用者識別情報を含む情報を受けた場合、当該情報に含まれる利用者識別情報を含む終了命令情報を生成して通信ネットワーク60を介して配信サーバ装置40に送信する。
配信サーバ装置40の映像情報配信処理部43は、映像操作装置10から終了命令情報を受信した場合、送信先が映像操作装置10であって終了命令情報に含まれる利用者識別情報に対応する映像情報、すなわち映像操作装置10の映像情報取得部16及び映像情報レンダリング部17への映像情報の送信を停止する(ステップS109、Yes)。これにより、第1及び第2の重畳映像情報が画面から消えるため、利用者表示装置30の表示部32の画面には、配信サーバ装置40から直接受信しているリアルタイム映像情報のみが表示されることになる。
(第2の実施形態)
図13は、第2の実施形態の映像表示システム1aの構成を示すブロック図である。第2の実施形態では、利用される状況として、例えば、競技場においてサッカーの試合を見ている映像表示システム1aの利用者20が、試合の途中で、当該試合の序盤において、ある選手が決めたゴールのシーンをもう一度見たくなった状況を想定している。この状況において、利用者20が、映像表示システム1aを利用することにより、過去に起きた当該シーンをもう一度視聴することができるようになる。
第2の実施形態において、第1の実施形態と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。映像表示システム1aは、例えば、ビデオシースルー型のARのシステムであり、映像操作装置10aと、眼球センサ21と、顔センサユニット22と、位置姿勢センサ23と、利用者表示装置30aと、配信サーバ装置40aと、カメラ50−1,50−2,50−3と、通信ネットワーク60とを備える。第2の実施形態において、カメラ50−1,50−2,50−3の台数は、3台に限られず、1台以上であればよい。
(映像操作装置の構成)
映像操作装置10aは、記憶部12a、選択位置検出部13、操作情報検出部14、モード切替部15a、映像情報取得部16a、映像情報レンダリング部17a、映像情報出力部18、位置姿勢情報更新部19、及び無線通信部20を備える。
映像操作装置10aにおいて、記憶部12aは、図14に示す利用者情報テーブル122aを記憶する。利用者情報テーブル122aは、「利用者識別情報」、「モード種別」、「時間変化スケール」、「操作可能映像範囲時間長」、「位置・姿勢」、「位置情報」の項目を有する。「利用者識別情報」の項目には、利用者表示装置30aに予め割り当てられている利用者識別情報が予め書き込まれる。
「モード種別」の項目には、モード切替部15aによってモード種別を示す情報が書き込まれる。図14は、モード種別を示す情報として、時間操作モード種別を示す「時間操作」が書き込まれている例を示している。
「時間変化スケール」の項目には、操作情報検出部14が出力する移動ベクトルvに基づいて示される映像情報の時間の長さを補正する時間変化スケールが秒単位で予め書き込まれる。時間変化スケールの値が、「1」の場合、1秒を表す。図14は、時間変化スケールとして「0.1」が書き込まれている例を示している。なお、以下の説明において、時間変化スケールを、時間変化スケールγともいう。
「操作可能映像範囲時間長」の項目には、配信サーバ装置40aに対して要求する過去の映像情報の時間長を示す情報が秒単位で予め書き込まれる。図14は、操作可能映像範囲時間長を示す情報として、予め定められる30秒を示す「30」が書き込まれている例を示している。なお、30秒という値は一例であり、操作可能映像範囲時間長は、1秒以上であればどのような値であってもよい。なお、以下の説明において、任意の秒数の操作可能映像範囲時間長を、変数「N」を用いて、操作可能映像範囲N、または、単にN秒ともいう。
「位置・姿勢」の項目には、位置姿勢情報更新部19が、位置姿勢センサ23から受信する利用者20の位置及び姿勢を示す角度の情報に基づいて算出する利用者座標Muにおける利用者20の回転行列Ruと並進ベクトルtuの情報が書き込まれる。「位置情報」の項目には、位置姿勢情報更新部19が、位置姿勢センサ23から受信する利用者20の位置を示す情報に基づいて算出する世界座標Mwにおける利用者座標Muの原点の位置を示す情報が書き込まれる。
モード切替部15aは、利用者表示装置30aが利用者20の操作を受けて送信する時間操作モード通知を無線通信部20を介して受信し、受信した際に時間操作モード種別を示す情報を利用者情報テーブル122aの「モード種別」の項目に書き込んで記憶させる。また、モード切替部15aは、利用者表示装置30aが利用者20の操作を受けて送信する終了モード通知を無線通信部20を介して受信し、受信した際に終了モード種別を示す情報を利用者情報テーブル122aの「モード種別」の項目に書き込んで記憶させる。
また、モード切替部15aは、時間操作モード通知を受信した場合、時間操作モード通知に含まれている時刻情報を読み出す。また、モード切替部15aは、時間操作モード種別を示す情報と、読み出した時刻情報と、利用者情報テーブル122aが記憶する利用者識別情報とを含む情報を映像情報取得部16aに出力する。
また、モード切替部15aは、終了モード通知を受信した場合、終了モード種別を示す情報と、利用者情報テーブル122aが記憶する利用者識別情報とを含む情報を映像情報取得部16aに出力する。
映像情報取得部16aは、通信ネットワーク60を介して配信サーバ装置40aに接続する。また、映像情報取得部16aは、モード切替部15aから時間操作モード種別を示す情報と、時刻情報と、利用者識別情報とを受けた場合、時間操作モードにおいて必要となる、操作可能映像範囲Nを利用者情報テーブル122aの「操作可能映像範囲時間長」の項目から読み出す。
また、映像情報取得部16aは、モード切替部15aから受けた時刻情報及び利用者識別情報と、読み出した操作可能映像範囲Nとを含む配信要求情報を生成して配信サーバ装置40aに送信する。なお、配信要求情報が含む時刻情報は、配信映像の終了時刻を示しており、配信要求情報により配信サーバ装置40aが送信する映像情報は、配信映像の終了時刻からN秒前を開始時刻とし、当該終了時刻までのN秒間の映像情報である。以下、配信サーバ装置40aに対して配信を要求する映像の終了時刻を、配信映像の終了時刻情報e_Timeuともいう。
また、映像情報取得部16aは、配信要求情報を受信した配信サーバ装置40aが送信する映像情報と、当該映像情報に対応するカメラ情報と、利用者識別情報とを受信する。ここで、カメラ情報とは、映像情報取得部16aが受信する映像情報を撮影したカメラ50−1〜50−3に対応する、カメラリストテーブル421の「カメラ識別情報」、「位置・姿勢」、「位置情報」の項目の内容を含んだ情報である。
また、映像情報取得部16aは、受信した利用者識別情報が、利用者情報テーブル122aの「利用者識別情報」の項目の情報に一致する場合、受信した映像情報と、カメラ情報とを取り込む。また、映像情報取得部16aは、取り込んだ映像情報と、カメラ情報とに対して利用者情報テーブル122aが記憶するモード種別を示す情報を付与して映像情報レンダリング部17aに出力する。
なお、映像情報取得部16aが配信サーバ装置40aから受信する映像情報は、上述したように、配信映像の終了時刻情報e_TimeuよりN秒前から配信映像の終了時刻情報e_TimeuまでのN秒の長さの映像情報である。第2の実施形態では、配信映像の終了時刻情報e_Timeuとして、利用者20が、利用者表示装置30aにおいて指定する時刻は、過去の時刻である。そのため、以下、説明の便宜のため、第2の実施形態において、映像情報取得部16aが配信サーバ装置40aから受信するN秒の長さの映像情報を、以下、過去映像情報という。
また、映像情報取得部16aは、モード切替部15aから終了モード種別を示す情報と、利用者識別情報を含む情報を受けた場合、当該情報に含まれる利用者識別情報を含む終了命令情報を配信サーバ装置40aに送信する。
映像情報レンダリング部17aは、選択位置検出部13が出力する選択位置情報を用いて、選択領域を設定し、設定した選択領域に対して表示する過去映像情報の開始時刻を、操作情報検出部14が出力する操作位置情報に基づいて変更する操作を行う。
映像情報レンダリング部17aは、選択位置検出部13が出力する選択位置情報である3次元位置座標情報と、操作情報検出部14が出力する操作情報である移動ベクトルvを取り込む。また、映像情報レンダリング部17aは、映像情報取得部16aが出力する過去映像情報と、カメラ情報と、モード種別を示す情報とを取り込む。また、映像情報レンダリング部17aは、記憶部12aが記憶する利用者情報テーブル122aの「時間変化スケール」の項目から時間変化スケールγの値を読み出す。
また、映像情報レンダリング部17aは、取り込んだモード種別を示す情報が時間操作モード種別を示す場合、取り込んだ過去映像情報から、カメラ情報と、3次元位置座標情報とに基づいて定める選択領域の映像情報を切り出す。また、映像情報レンダリング部17aは、移動ベクトルv及び時間変化スケールγにしたがって、切り出した過去映像情報の再生開始時刻を算出する。
また、映像情報レンダリング部17aは、算出した再生開始時刻から最後まで、すなわち配信映像の終了時刻情報e_Timeuまでを再生範囲とし、切り出した過去映像情報から当該再生範囲を選択して第3の重畳映像情報とする。また、映像情報レンダリング部17aは、第3の重畳映像情報に対して、第3の重畳映像情報の中心位置を示す情報を付与して映像情報出力部18に出力する。
(利用者表示装置の構成)
利用者表示装置30aは、例えば、ARの視聴デバイスであり、図15に示すように、映像情報表示処理部31、表示部32、記憶部33、計時部34、情報送信部35a、及び操作部36aを備える。利用者表示装置30aにおいて、操作部36aは、時間操作モードボタン部36−3と、時刻指定部36−4と、終了モードボタン部36−2とを備える。時間操作モードボタン部36−3は、利用者20によって操作を受けるボタンを備えており、当該ボタンが押下された場合、当該ボタンが押下されたことを示す情報を情報送信部35aに出力する。時刻指定部36−4は、利用者20の時刻情報の指定操作を受けて、配信映像の終了時刻情報e_Timeuとなる時刻情報を情報送信部35aに出力する。
情報送信部35aは、時間操作モードボタン部36−3からボタンが押下されたことを示す情報を受けた場合、時刻指定部36−4が時刻情報を出力するまで待機する。また、情報送信部35aは、時刻指定部36−4が時刻情報を出力した場合、出力した時刻情報を取り込み、取り込んだ時刻情報を含む時間操作モード通知を生成する。また、情報送信部35aは、生成した時間操作モード通知を映像操作装置10aのモード切替部15aに送信する。また、情報送信部35aは、終了モードボタン部36−2からボタンが押下されたことを示す情報を受けた場合、終了モード通知を映像操作装置10aのモード切替部15aに送信する。
(配信サーバ装置の構成)
配信サーバ装置40aは、図16に示す内部構成を有しており、映像情報取込部41、映像情報記憶部42、映像情報配信処理部43a、記憶部44、及び情報更新部45を備える。
配信サーバ装置40aにおいて、映像情報配信処理部43aは、通信ネットワーク60に接続されており、通信ネットワーク60を介して接続する利用者表示装置30aから利用者識別情報と、時刻情報と含むリアルタイム映像配信要求情報を受信する。また、映像情報配信処理部43aは、第1の実施形態の映像情報配信処理部43aと同一の手順により、利用者20の位置に最も近いいずれか1つのカメラ50−1〜50−3が撮影したリアルタイム映像情報を利用者表示装置30aに送信する。
また、映像情報配信処理部43aは、通信ネットワーク60を介して接続する映像操作装置10aの映像情報取得部16aから配信要求情報を受信する。また、映像情報配信処理部43aは、配信要求情報に含まれる利用者識別情報と、利用者リストテーブル441と、カメラリストテーブル421とに基づいて、利用者表示装置30の位置に最も近いいずれか1つのカメラ50−1〜50−3のレコードをカメラリストテーブル421から検出する。また、映像情報配信処理部43aは、検出したカメラ50−1〜50−3に対応するカメラリストテーブル421の「カメラ識別情報」、「位置・姿勢」、「位置情報」の項目が記憶する情報を含むカメラ情報を生成する。
また、映像情報配信処理部43aは、配信要求情報に含まれる配信映像情報の終了時刻情報e_Timeuと、操作可能映像範囲Nとを読み出し、検出したレコードの「映像情報」の項目から配信映像情報の終了時刻情報e_TimeuのN秒前から、配信映像情報の終了時刻情報e_Timeuまでの映像情報を読み出す。また、映像情報配信処理部43aは、読み出した映像情報と、生成したカメラ情報と、配信要求情報に含まれる利用者識別情報とを映像情報取得部16aに送信する。
また、映像情報配信処理部43aは、利用者識別情報、及び送信先の装置に関連付けて送信している映像情報を管理しており、映像操作装置10aから終了命令情報を受信した場合、終了命令情報に含まれる利用者識別情報に対応する送信中の映像情報を検出する。また、映像情報配信処理部43aは、検出した利用者識別情報に対応する送信中の映像情報のうち、終了命令情報の送信元の映像操作装置10aの映像情報取得部16に対する映像情報の送信を停止する。
(第2の実施形態の映像操作装置の処理)
図17は、第2の実施形態の映像操作装置10aによる処理の流れを示すフローチャートである。以下の処理の前提として、利用者表示装置30aの記憶部33が記憶する利用者識別情報は、「1」であるとし、映像操作装置10aの記憶部12aが記憶する利用者情報テーブル122aの「利用者識別情報」の項目にも「1」が記憶され、「位置・姿勢」及び「位置情報」の項目は、位置姿勢情報更新部19によって順次更新されている。
また、配信サーバ装置40aの記憶部44が記憶する利用者リストテーブル441の「利用者識別情報」の項目にも「1」が記憶され、「位置・姿勢」及び「位置情報」の項目は、情報更新部45によって順次更新されている。また、カメラリストテーブル421は、図8に示す例の情報を記憶しており、図9に示した利用者リストテーブル441の例の通り、世界座標Mwと、利用者座標Muとが一致しているものとして説明する。
図17に示す処理が開始される前に、利用者表示装置30aと配信サーバ装置40aとが通信ネットワーク60を介して接続し、利用者表示装置30aが配信サーバ装置40aからリアルタイム映像情報の受信を開始しているものとする。すなわち、利用者表示装置30aは、配信サーバ装置40aに対してリアルタイム映像配信要求情報を送信し、配信サーバ装置40aは、利用者20の位置に最も近いカメラ50−1〜50−3が撮影したリアルタイム映像情報を通信ネットワーク60を介して利用者表示装置30aに送信する。
ここでは、図14の利用者情報テーブル122a及び図9の利用者リストテーブル441に示す例の通り、利用者20の位置は「(0,0,0)」であり、図8のカメラリストテーブル421に示す例の通りであり、カメラ50−2が利用者20の最も近くに存在することになる。
利用者表示装置30aの映像情報表示処理部31は、配信サーバ装置40aが送信するカメラ50−2が撮影したリアルタイム映像情報を受信して表示部32に出力し、表示部32が画面にリアルタイム映像情報に基づく映像を表示する。利用者20は、利用者表示装置30aの画面に表示される映像を視聴している。なお、表示部32の画面の座標は、左上が原点であり、右方向の水平軸が、x軸の正方向、下方向の垂直軸が、y軸の正方向となる。
利用者20は、画面に表示される映像、例えば、試合の映像を視聴しながら、当該試合において既に発生した出来事をもう一度みたくなり、当該出来事が発生した場所を注視して、利用者表示装置30aの操作部36aの時間操作モードボタン部36−3のボタンを押下する。時間操作モードボタン部36−3は、ボタンが押下されたことを示す情報を情報送信部35aに出力する。
情報送信部35aは、操作部36aの時刻指定部36−4が時刻情報を出力するのを待機する。利用者20は、操作部36aの時刻指定部36−4を操作して時刻の指定を行う。例えば、指定を行う際の計時部34の時刻が「11時30分10秒」である場合、当該時刻より前の時刻の指定が可能であり、ここでは、利用者は、「11時30分00秒」を指定する操作をしたとする。時刻指定部36−4は、利用者20の指定操作を受けて「11時30分00秒」の時刻情報を情報送信部35aに出力する。
情報送信部35aは、時刻指定部36−4が時刻情報を出力すると、時刻指定部36−4が出力する時刻情報を取り込み、取り込んだ時刻情報を含む時間操作モード通知を生成する。情報送信部35aは、生成した時間操作モード通知を映像操作装置10aのモード切替部15aに対して送信する。モード切替部15aは、無線通信部20を介して時間操作モード通知を受信する(ステップS201)。
モード切替部15aは、時間操作モード通知を受信すると、記憶部12aが記憶する利用者情報テーブル122aの「モード種別」の項目に、時間操作モード種別を示す情報、例えば、「時間操作」を書き込む。
モード切替部15aは、受信した時間操作モード通知に含まれている時刻情報を読み出し、読み出した時刻情報と、時間操作モード種別を示す情報と、利用者情報テーブル122の「利用者識別情報」の項目が記憶する利用者識別情報「1」とを映像情報取得部16aに送信する。
映像情報取得部16aは、モード切替部15aから時刻情報と、時間操作モード種別を示す情報と、利用者識別情報とを含む情報を受信する。映像情報取得部16aは、受信した情報に時間操作モード種別を示す情報が含まれていることを検出すると、時間操作モードにおいて必要となる記憶部12aの利用者情報テーブル122aの「操作可能映像範囲時間長」の項目に記憶されている操作可能映像範囲Nの情報を読み出す(ステップS202)。ここでは、映像情報取得部16aは、図14に示した利用者情報テーブル122aの例の通り、30秒を示す「30」を読み出す。
映像情報取得部16aは、読み出した操作可能映像範囲Nと、時刻情報と、利用者識別情報とを含む配信要求情報を生成する。映像情報取得部16aは、生成した配信要求情報を通信ネットワーク60を介して配信サーバ装置40aに送信する(ステップS203)。
配信サーバ装置40aの映像情報配信処理部43aは、映像情報取得部16aが送信した配信要求情報を受信し、受信した配信要求情報に含まれる利用者識別情報を読み出す。映像情報配信処理部43aは、記憶部44の利用者リストテーブル441を参照し、読み出した利用者識別情報に対応するレコードの「位置情報」の項目を読み出す。ここでは、利用者識別情報は「1」であるため、映像情報配信処理部43aは、利用者リストテーブル441を参照し、図9に示す例の通り「位置情報」として「(0,0,0)」を読み出す。
映像情報配信処理部43aは、映像情報記憶部42が記憶するカメラリストテーブル421の「位置情報」の項目を参照し、読み出した位置情報「(0,0,0)」に最も近い「(0,100,−100)」を検出する。位置情報が「(0,100,−100)」のレコードは、カメラ識別情報が「2」であり、「映像情報」の項目の「映像情報2」というファイル名称の映像情報は、カメラ50−2が撮影した映像情報である。
映像情報配信処理部43aは、検出したカメラ50−2に対応するカメラリストテーブル421の「カメラ識別情報」、「位置・姿勢」、「位置情報」の項目が記憶する情報を含むカメラ情報を生成する。
映像情報配信処理部43aは、配信要求情報に含まれる配信映像情報の終了時刻情報e_Timeuが示す時刻、すなわち「11時30分00秒」と、操作可能映像範囲N、すなわち「30」とを読み出す。映像情報配信処理部43aは、読み出した配信映像情報の終了時刻情報e_Timeuの時刻と、操作可能映像範囲Nとに基づいて、終了時刻情報e_Timeuの時刻のN秒前から終了時刻情報e_Timeuまでのカメラ50−2が撮影した過去映像情報を読み出す。すなわち、過去映像情報は、「11時29分30秒」から「11時30分00秒」までの30秒の映像情報となる。
映像情報配信処理部43aは、読み出した過去映像情報と、生成したカメラ情報と、配信要求情報に含まれる利用者識別情報とを通信ネットワーク60を介して映像情報取得部16aに送信する。映像情報取得部16aは、通信ネットワーク60を介して過去映像情報と、カメラ情報と、利用者識別情報とを含む情報を受信する。
映像情報取得部16aは、受信した情報に含まれる利用者識別情報が、利用者情報テーブル122aの「利用者識別情報」の項目の情報に一致する場合、受信した過去映像情報と、カメラ情報と、利用者識別情報とを取り込む。ここでは、映像情報取得部16aが受信した利用者識別情報が「1」であり、利用者情報テーブル122aの「利用者識別情報」の項目が記憶する「1」と一致するため、映像情報取得部16aは、過去映像情報と、カメラ情報と、利用者識別情報とを取り込む(ステップS204)。
映像情報取得部16aは、取り込んだ過去映像情報と、カメラ情報とに対して、利用者情報テーブル122aが記憶するモード種別を示す情報、すなわち「時間操作」を付与して映像情報レンダリング部17aに出力する。映像情報レンダリング部17aは、映像情報取得部16aが出力する過去映像情報と、カメラ情報と、モード種別を示す情報とを取り込む。
映像情報レンダリング部17aは、選択位置検出部13が出力する、利用者20が注視している場所の位置を示す3次元位置座標情報P=(X1,Y1,Z1)を取り込む。映像情報レンダリング部17aは、取り込んだ過去映像情報と、カメラ情報と、モード種別を示す情報と、3次元位置座標情報Pとに基づいて、第1の実施形態の映像情報レンダリング部17のステップS104の処理と、同一の処理を行うことにより、当該過去映像情報を対象とした選択領域を設定する(ステップS205)。
なお、上記式(1)において必要となるRwcとtwcは、映像情報レンダリング部17aが、取り込んだカメラ情報に基づいて算出する。映像情報レンダリング部17aが取り込んだカメラ情報には、カメラ50−2に対応する情報が含まれている。そのため、映像情報レンダリング部17aは、カメラ情報に含まれるカメラ座標Mc2におけるカメラ50−2の回転行列Rc2と、並進ベクトルtc2とを世界座標Mwに変換して世界座標Mwにおける回転行列Rwc2と、並進ベクトルtwc2を算出して式(1)に適用する。
ステップS205の処理結果として、第1の実施形態と同様に、第2の実施形態においても、映像情報レンダリング部17aは、選択領域として(1920,1000,100,100)を設定したとする。
映像情報レンダリング部17aは、第1の実施形態のステップS105と、同一の処理を経て、第1の実施形態の映像情報レンダリング部17と同様に、操作情報検出部14が出力する移動ベクトルvを操作情報として取り込む(ステップS206)。
映像情報レンダリング部17aは、設定した選択領域に基づいて、過去映像情報から座標mc=(1920,1000)を中心として、幅w=100、高さh=100の部分過去映像情報を切り出す。映像情報レンダリング部17aは、記憶部12aの利用者情報テーブル122aの「時間変化スケール」の項目に記憶されている時間変化スケールγの「0.1」を読み出す。
映像情報レンダリング部17aは、移動ベクトルv(−50,0)の量である「50」に対して、時間変化スケールγの「0.1」を乗算して、「5」の値を算出する。映像情報レンダリング部17aは、部分過去映像情報の終了時刻である「11時30分00秒」の5秒前である「11時29分55秒」から「11時30分00秒」までを再生範囲とし、部分過去映像情報から当該再生範囲を選択し、選択した部分過去映像情報の一部を第3の重畳映像情報として生成する(ステップS207)。
映像情報レンダリング部17aは、第3の重畳映像情報に当該第3の重畳映像情報の中心位置を示す情報、すなわち(1920,1000)を付与して映像情報出力部18に出力する。映像情報出力部18は、映像情報レンダリング部17aが出力する第3の重畳映像情報と、第3の重畳映像情報の中心位置を示す情報とを取り込み、取り込んだ情報を無線通信部20を介して利用者表示装置30aに送信する。
利用者表示装置30aの映像情報表示処理部31は、第3の重畳映像情報と、第3の重畳映像情報の中心位置を示す情報とを受信する。映像情報表示処理部31は、受信した第3の重畳映像情報と、第3の重畳映像情報の中心位置を示す情報とを表示部32に出力する。表示部32は、第3の重畳映像情報の各々の中心位置を示す情報に応じた画面の位置に、リアルタイム映像情報に重ねて第3の重畳映像情報を表示する(ステップS208)。
モード切替部15aが、利用者表示装置30から終了モード通知を受信しない間(ステップS209、No)であって、第3の重畳映像情報が終了していない間(ステップS210、No)、ステップS208の処理が継続する。第3の重畳映像情報の表示が終了すると(ステップS210、Yes)、利用者表示装置30の表示部32の画面には、配信サーバ装置40から直接受信しているリアルタイム映像情報のみが表示されることになる。
また、利用者20が、利用者表示装置30aの操作部36の終了モードボタン部36−2のボタンを押下すると、終了モードボタン部36−2は、ボタンが押下されたことを示す情報を情報送信部35aに出力する。
情報送信部35aは、終了モードボタン部36−2が出力するボタンが押下されたことを示す情報を受けて、無線通信により終了モード通知をモード切替部15aに送信し、配信サーバ装置40aは、第1の実施形態と同様に、終了命令情報を受信して、映像操作装置10aの映像情報取得部16aへの映像情報の送信を停止する(ステップS209、Yes)。これにより、第3の重畳映像情報が画面から消えるため、利用者表示装置30aの表示部32の画面には、配信サーバ装置40aから直接受信しているリアルタイム映像情報のみが表示されることになる。
なお、上記の第2の実施形態において、映像操作装置10aの記憶部12aの利用者情報テーブル122aの「位置・姿勢」の項目、及び配信サーバ装置40aの記憶部44の利用者リストテーブル441の「位置・姿勢」の項目が、利用者座標系Muにおける利用者20の回転行列Ruと並進ベクトルtuとを記憶するようにしている。また、映像操作装置10aの記憶部12aの利用者情報テーブル122aの「位置情報」の項目が、利用者座標Muの世界座標Mwにおける原点の位置を記憶するようにしている。しかしながら、第2の実施形態では、これらの項目が記憶する情報を参照しないため、これらの項目を有さない構成であってもよい。
上記の第1及び第2の実施形態の構成により、映像操作装置10,10aにおいて、映像情報取得部16,16aは、実空間をカメラ50−1〜50−3によって撮影することにより得られる映像情報を取得する。選択位置検出部13は、利用者表示装置30,30aの表示部32の画面において利用者20が選択する位置を示す選択位置情報を利用者20の視線に基づいて検出する。操作情報検出部14は、視線を動かす以外の利用者20が行う動作に基づいて、映像情報に対して行う操作を示す操作情報を検出する。映像情報レンダリング部17,17aは、選択位置情報に基づいて操作の対象である選択領域を設定し、映像情報取得部16,16aが取得する映像情報から選択領域に含まれる映像情報を切り出し、切り出した映像情報に対して操作情報に基づく操作を行うことにより重畳映像情報を生成する。映像情報出力部18は、重畳映像情報を出力して利用者表示装置30,30aの表示部32の画面に表示させる。これにより、利用者20が、画面における操作対象の映像を含む領域を選択する選択工程と、選択した領域に対して操作を行う操作工程とを分けることが可能となる。
選択工程では、3次元空間内で利用者20が見ているどの対象物やどの場所を操作対象にするかを特定する必要がある。選択位置検出部13は、上記の参考文献に示されている技術に基づいて、利用者20の左右の眼球の視線方向と、輻輳角θとに基づいて3次元空間内のどの位置を注視しているのかを検出し、検出した位置を選択位置情報として出力する。映像情報レンダリング部17,17aは、選択位置情報に基づいて、対象物や場所を含むと推定される選択領域を設定する。
操作工程では、選択領域の映像に対して行う位置や時間を変化させる操作における変化の方向と、変化の量を与える。このとき、利用者20が、視線を変える等して、視聴体験を妨げないように変化の方向と、変化の量を得る必要がある。そのため、操作情報検出部14は、視線を動かすことなく、利用者20が自由に動かすことができる体の一部を用いた動作に基づいて、変化の方向と、変化の量を検出する。上記の第1及び第2の実施形態では、操作情報検出部14は、周囲の人が見ても目立たない、利用者20の口腔内における舌の動きに基づいて、変化の方向と、変化の量を検出する。なお、視線を動かす以外の利用者20の動作であればどのような動作であってもよく、例えば、利用者20の手指や足の動きによって変化の方向と、変化の量を検出するようにしてもよい。
したがって、上記の第1及び第2の実施形態の構成により、サッカー場等の広い空間で行われるスポーツをARを用いて観戦する際、視線と舌という頭部における自然な操作で、注視している選手等の対象物を見失ったり、操作によって視聴体験を妨げたりすることなく、対象物や場所を選択して操作することが可能となる。すなわち、実空間、または実空間を撮影した映像を見ている利用者20が、容易に操作対象を選択することができ、かつ、抵抗感なく操作対象を写した映像を操作することが可能となる。
なお、上記の第1及び第2の実施形態において、映像情報レンダリング部17,17aが出力する第1、第2、及び第3の重畳映像情報の解像度と、利用者表示装置30,30aの表示部32の画面解像度とが一致している場合、映像情報出力部18は、第1、第2、及び第3の重畳映像情報を表示部32の正しい位置に表示させることができる。
これに対して、第1、第2、及び第3の重畳映像情報の解像度と、利用者表示装置30,30aの表示部32の画面解像度とが、一致していない場合、予め定められる解像度補正係数βを用いて、第1、第2、及び第3の重畳映像情報の補正を行う。第1、第2、及び第3の重畳映像情報の横方向の解像度が「3840」であり、縦方向の解像度が「2160」であるとする。一方、利用者表示装置30,30aの表示部32の横方向の解像度が「1920」であり、縦方向の解像度が「1080」であるとする。この場合、解像度補正係数β=1920/3840=0.5となる。
第1の重畳映像情報の大きさは、幅が「100」であり、高さが「100」であり、中心位置は、(1870,1000)である。また、第2及び第3の重畳映像情報の大きさは、幅が「100」であり、高さが「100」であり、中心位置は、(1920,1000)である。映像情報出力部18が、第1、第2、及び第3の重畳映像情報に対して、解像度補正係数β=0.5を適用することにより、第1、第2、及び第3の重畳映像情報の幅は「50」となり、高さも「50」となる。また、第1の重畳映像情報の中心位置は、(935,500)となり、第2及び第3の重畳映像情報(960,500)となる。
映像情報出力部18は、サイズが縮小された第1、第2、及び第3の重畳映像情報と、変更された中心位置を示す(935,500),(960,500)とを無線通信部20を介して利用者表示装置30,30aに送信する。
利用者表示装置30,30aの映像情報表示処理部31は、第1、第2、及び第3の重畳映像情報と、第1、第2、及び第3の重畳映像情報の各々の中心位置を示す情報とを受信する。利用者表示装置30,30aの表示部32の画面には、既に、映像情報表示処理部31が配信サーバ装置40,40aから受信して、画面の解像度に一致させたリアルタイム映像情報の映像が表示されている。
映像情報表示処理部31は、映像情報出力部18から受信した第1、第2、及び第3の重畳映像情報を、第1、第2、及び第3の重畳映像情報の各々の中心位置を示す情報に基づいて表示部32に出力し、表示部32が表示するリアルタイム映像情報に重ねて表示させる。これにより、表示部32の画面解像度と一致するため、第1、第2、及び第3の重畳映像情報は、画面の正しい位置に正しい大きさで表示されることになる。
また、上記の第1の実施形態は、移動操作モード、または終了モードを選択する構成であり、第2の実施形態は、時間操作モード、または終了モードを選択する構成であるが、第1及び第2の実施形態を組み合わせて、移動操作モード、時間操作モード、または終了モードを選択する構成にしてもよい。この場合、映像操作装置10,10aを組み合わせるため、モード切替部15,15aが組み合わされた構成、映像情報取得部16,16aが組み合わされた構成、映像情報レンダリング部17,17aが組み合わされた構成には、移動操作モード、時間操作モード、または終了モードを判定する構成が追加されることになる。
また、上記の第1及び第2の実施形態において、映像情報レンダリング部17,17aが設定する選択領域の形状を矩形形状であるとし、矩形形状の幅w=100、高さh=100としているが、本発明の構成は、当該実施の形態に限られない。幅や高さの大きさは任意に変更することができ、また、選択領域の形状として、映像に含まれる対象物を検出する物体検出手法等を適用して、矩形形状以外の任意の形状を適用するようにしてもよい。
また、上記の第1及び第2の実施形態では、利用者表示装置30,30aは、配信サーバ装置40,40aからリアルタイム映像情報を受信して表示部32の画面に表示する、いわゆるビデオシースルー型の視聴デバイスになっているが、本発明の構成は、当該実施の形態に限られない。表示部32の画面が透過する画面であり、利用者20が画面を通して実空間を見るようなシースルーグラス型の視聴デバイスあってもよい。この場合、利用者表示装置30,30aの映像情報表示処理部31は、配信サーバ装置40,40aからリアルタイム映像情報を受信しない構成となる。なお、上記の第1及び第2の実施形態では、利用者20は、映像情報の映像を視聴、すなわち見たり聞いたりするとしているが、音を含まない映像を見ているだけであってもよい。
また、上記の第1及び第2の実施形態において、図8に示したカメラリストテーブル421の「位置・姿勢」の項目には、カメラ座標Mc1,Mc2,Mc3における各カメラ50−1〜50−3の回転行列Rc1,Rc2,Rc3と、並進ベクトルtc1,tc2,tc3が書き込まれるとしているが、本発明の構成は、当該実施の形態に限られない、世界座標Mwにおける各カメラ50−1,50−2,50−3の回転行列Rwc1,Rwc2,Rwc3と、並進ベクトルtwc1,twc2,twc3が書き込まれてもよく、その場合、「位置情報」の項目を含めなくてもよい。この場合、式(1)に対して適用する際、映像情報レンダリング部17,17aは、カメラ座標Mc1,Mc2,Mc3から世界座標Mwへの変換を行う必要がない。
同様に、図4及び図14に示した利用者情報テーブル122,122a、並びに図9に示した利用者リストテーブル441の「位置・姿勢」の項目には、利用者座標Muにおける利用者座標Muにおける利用者20の回転行列Ruと、並進ベクトルtuが書き込まれるとしているが、本発明の構成は、当該実施の形態に限られない、世界座標Mwにおける利用者20の回転行列Rwuと、並進ベクトルtuが書き込まれてもよく、その場合、「位置情報」の項目を含めなくてもよい。
また、上記の第1及び第2の実施形態では、世界座標Mwと、利用者座標Muの原点が一致している例について説明しているが、世界座標Mwの原点と、利用者座標Muの原点が一致していない場合、映像情報レンダリング部17,17aは、世界座標Mwの原点と、利用者座標Muの原点との距離を考慮して演算を行うことになる。
また、上記の第1及び第2の実施形態において、映像操作装置10,10aは、通信ネットワーク60を介して配信サーバ装置40,40aに接続する構成になっているが、本発明の構成は、当該実施の形態に限られない。配信サーバ装置40,40aが、映像操作装置10,10aを内部に備えて一体となっている構成であってもよい。
また、上記の第1及び第2の実施形態において、カメラ50−1〜50−3が、内部に計時手段を備えて、映像情報のフレームごとに時刻情報を付与する構成としているが、本発明の構成は、当該実施の形態に限られない。例えば、配信サーバ装置40,40aの内部に計時手段を備え、映像情報取込部41が、計時手段から取得した時刻情報を映像情報のフレームごとに付与するようにしてもよい。
また、上記の第1及び第2の実施形態において、眼球センサ21、及び位置姿勢センサ23は、利用者表示装置30の内部に備えられる構成としているが、利用者表示装置30の外部に備えられていてもよい。
また、上記の第1及び第2の実施形態において、眼球センサ21、顔センサユニット22、及び位置姿勢センサ23は、無線通信により映像操作装置10,10aに接続する構成としているが、本発明の構成は、当該実施の形態に限られない。例えば、眼球センサ21、顔センサユニット22、または位置姿勢センサ23のいずれか、または、全てが、有線接続により映像操作装置10,10aに接続され、映像操作装置10,10aの一部の構成になっていてもよい。
また、上記の第1及び第2の実施形態において、利用者表示装置30,30aは、無線通信により、映像操作装置10,10aに接続する構成としているが、有線接続により映像操作装置10,10aに接続されていてもよい。
また、上記の第1及び第2の実施形態において、利用者表示装置30,30a、眼球センサ21、顔センサユニット22、及び位置姿勢センサ23の全てが、有線接続により映像操作装置10,10aに接続され、映像操作装置10,10aの一部の構成になっていてもよい。
また、上記の第1及び第2の実施形態において、顔センサ220−A,220−B,220−C,220−Dの各々の位置を示す座標として、利用者20の顔において、口角を結ぶ直線を水平軸、すなわちx軸とし、口角の中間を原点座標としたxy座標を適用する例を示したが、当該xy座標は一例であり、原点の位置や、x軸の方向を任意に定めるようにしてもよい。
また、上記の第1及び第2の実施形態において、顔センサユニット22は、4個の顔センサ220−A,220−B,220−C,220−Dを備えるとしているが、4個以上備えるようにしてもよい。
また、上記の第1及び第2の実施形態において、操作部36,36aの移動操作モードボタン部36−1、終了モードボタン部36−2、時間操作モードボタン部36−3、及び時刻指定部36−4は、利用者表示装置30,30aの内部に備えられるとしているが、本発明の構成は、当該実施の形態に限られない。移動操作モードボタン部36−1、終了モードボタン部36−2、時間操作モードボタン部36−3、及び時刻指定部36−4が、利用者表示装置30,30aの外部に備えられ、有線接続、または、無線接続により利用者表示装置30,30aに接続するようにしてもよい。
なお、上記の第1の実施形態の図10に示した映像操作装置10による処理において、ステップS104と、ステップS105の順番は入れ替わってもよく、また、ステップS106と、ステップS107の順番は入れ替わってもよい。また、第2の実施形態の図17に示した映像操作装置10aによる処理において、ステップS205と、ステップS206の順番は入れ替わってもよい。
上述した第1及び第2の実施形態における映像操作装置10,10aをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。