情報処理方法およびシステム
【課題】 作業者複合現実空間を作業者視点カメラで撮影した映像を利用して遠隔指示者が作業支援するシステムで、指示者の視点が作業者視点に拘束される。
【解決手段】 作業者が装着している第1撮像部の映像と、前記第1撮像部の位置姿勢に基づく仮想物体画像とに基づく複合現実空間画像を取得する複合現実空間画像取得工程と、前記作業者によって行われた前記仮想物体に対するイベント情報を取得するイベント情報取得工程と、前記指示者の視点位置姿勢情報を取得する第2ユーザ指定位置姿勢情報取得工程と、前記指示者の視点位置姿勢情報に基づき、前記イベント情報に応じた仮想物体画像を生成する生成工程とを有し、前記第1画像を前記指示者に提示する第1モードと、前記仮想物体画像を前記指示者に提示する第2モードとを有する。
【解決手段】 作業者が装着している第1撮像部の映像と、前記第1撮像部の位置姿勢に基づく仮想物体画像とに基づく複合現実空間画像を取得する複合現実空間画像取得工程と、前記作業者によって行われた前記仮想物体に対するイベント情報を取得するイベント情報取得工程と、前記指示者の視点位置姿勢情報を取得する第2ユーザ指定位置姿勢情報取得工程と、前記指示者の視点位置姿勢情報に基づき、前記イベント情報に応じた仮想物体画像を生成する生成工程とを有し、前記第1画像を前記指示者に提示する第1モードと、前記仮想物体画像を前記指示者に提示する第2モードとを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異なる場所に居る複数のユーザが複合現実空間を共有して協調作業を行うためのものに関する。
【背景技術】
【0002】
近年、現実世界と仮想世界の継ぎ目のない融合を目指した複合現実感(Mixed Reality:MR)に関する技術開発が盛んになっている。MRは従来現実空間と切り離された状況でのみ体験可能であったバーチャルリアリティ(VR)の世界と現実の世界との共存を目的とし、VRを増強する技術として注目されている。
【0003】
複合現実感を実現する装置として代表的な物は頭部装着型表示装置(HMD=Head Mounted Display)である。すなわち、現実空間と仮想空間とをHMDに合成して表示することにより複合現実感を実現するものである。
【0004】
VRを用いて遠隔の参加者間で会議や様々な協調作業を支援するシステムでは、上述したようにコンピュータ内に現実世界と切り離された世界を構築して共有するのに対し、MRでの遠隔作業支援システムは現実世界をもとに仮想世界を重ね合わせた作業空間での作業を支援することが可能である。
【0005】
頭部装着型表示装置(HMD)を用いて参加者間で共有されている仮想物体と共にステレオカメラで撮影された参加者の立体映像を観察/操作できる技術の例が提案されている。例えば、参加者を2台のカメラで撮影し人物部分のみを切り出したステレオ映像をネットワークで伝送し、その立体映像を他の複数人の参加者が観察することができる。作業者の位置と仮想物体操作のための手の位置が計測されているため仮想物体の操作は可能であるが、参加者が観察しているステレオ映像は、背景が除去された参加者の映像と仮想物体によるVR空間の映像であり、参加者の実空間の情報を有するものではない。
【0006】
また作業者のHMD映像をもとに遠隔作業支援する技術の例が提案されている(特許文献1)。この例では作業者がカメラ付のHMDを装着しこのカメラからの映像を作業者および遠隔にいる指示者にて共有し、指示者の指示をこのカメラ映像に重畳して作業指示を行なう技術が開示されている。作業者のカメラをステレオにして、作業者/指示者ともに同じ立体映像を観察可能であり、この映像中の作業対象物を指し示す指示者の手をクロマキー合成で切り出してカメラからの映像に合成する技術が述べられている。このシステムでは作業者の空間に座標が設定されていないので、作業対象物以外の仮想物体を作業者空間の任意の位置に配置してポインティングしたりインタラクションしたりすることができない。また作業者の視点位置が移動すると指示者が手を動かしていなくとも手の画像が移動してしまう問題があった。
【特許文献1】特開2002−132487号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
このように、従来技術は、指示者視点が作業者の視点に拘束されるため円滑に作業指示が行なえなかった。
【0008】
本発明は、指示者視点が作業者の視点に拘束されないモードを備えることにより、上記課題を解決し、円滑に作業指示が行なえるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上述した目的を達成するために、本発明は以下の構成を有する。
【0010】
本願請求項1記載の情報処理方法は、第1のユーザが存在する空間に仮想物体を重畳表示する複合現実空間画像を、第2のユーザが共有する情報処理方法であって、前記第1のユーザが装着している第1撮像部の映像と、前記第1撮像部の位置姿勢に基づく仮想物体画像とに基づく複合現実空間画像を取得する複合現実空間画像取得工程と、前記第1のユーザによって行われた前記仮想物体に対するイベント情報を取得するイベント情報取得工程と、前記第2のユーザの視点位置姿勢情報を取得する第2ユーザ指定位置姿勢情報取得工程と、前記第2のユーザの視点位置姿勢情報に基づき、前記イベント情報に応じた仮想物体画像を生成する生成工程とを有し、前記第1画像を前記第2のユーザに提示する第1モードと、前記仮想物体画像を前記第2のユーザに提示する第2モードとを有することを特徴とする。
【0011】
本願請求項4記載の発明は、作業者が存在する空間に仮想物体を重畳表示する作業者複合現実空間を遠隔から共有する情報処理システムであって、作業者の視点からの前記作業者複合現実空間のステレオ映像を指示者に伝送するステレオ映像伝送手段、前記仮想物体を前記作業者と前記指示者で共有する仮想物体共有手段、作業者と指示者がステレオ映像を立体視できる立体視手段とを備え、前記指示者が、前記作業者視点からのステレオ映像を共有するモードと、前記作業者視点と独立した視点で前記仮想物体を操作するモードを有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、円滑な作業支援が可能となり、遠隔地間での協調作業の利便性を向上させることができる。
【発明を実施するための最良の形態】
【0013】
(第一の実施形態)
以下添付図面を参照して、実施形態に従って詳細に説明する。
【0014】
図1に本実施形態における遠隔複合現実感共有システムの機能構成を示す。構成は図1上部に示す作業者用複合現実感装置10aと図1下部に示す指示者用複合現実感装置10bとからなり、それぞれは管理サーバ60を介してネットワークで接続されているものとする。それぞれの装置は頭部装着型装置(HMD=Head Mounted Display)20a,20bを持ち作業者、指示者ともにHMDを通して作業者のいる空間の複合現実感映像を見ることができる。また両者間で会話を行なうためのマイクロフォン28a,28b、スピーカ27a,27bを具備する。
【0015】
作業者用HMD20aは、磁気を利用してHMDの位置姿勢を計測する3次元位置姿勢センサ21a、現実空間を撮像し画像を得ることのできるステレオカメラ22(左眼用をL、右眼用をRで示してある。)、画像を表示することのできるステレオ表示器23a(左眼用をL、右眼用をRで示してある。)からなり、3次元位置姿勢センサ21aとカメラ22の位置関係はあらかじめ計測され固定しているとする。3次元位置姿勢センサ21aからは計測結果である位置姿勢信号が後述の位置姿勢計測部11aへ出力され、カメラ22からは撮像結果が後述する画像入力部12へ出力される。表示器23aは、画像合成部15から入力として左眼用と右眼用の画像信号を受け画像をそれぞれ左眼用23aLと右眼用の表示装置23aRに表示する。
【0016】
作業者用複合現実感装置10a内にある位置姿勢計測部11aはHMD20aの3次元位置姿勢センサ21aから出力される3次元位置姿勢信号、および複合現実空間の3次元ポインティングデバイスであるスタイラスの3次元位置姿勢信号の信号を受けて、これらのデータを仮想物体管理部16aへ出力する。仮想物体管理部16aでは、作業者スタイラスおよびHMDの位置姿勢のデータを位置姿勢制御部11aから受け取り、作業に用いられる全ての仮想物体のデータと共に蓄積する。仮想物体送受信部31aでは、指示者用複合現実感装置10bとの間で共有する全ての仮想物体情報を管理サーバ60との間で送受信する。管理サーバ60から受信した仮想物体へのイベント情報は仮想物体管理部16aへ送られここに蓄積されている仮想物体のシーングラフの変更が行なわれる。また画像生成部13では、仮想物体管理部10aに蓄積されているすべての仮想物体のシーングラフを作業者視点情報(HMD位置姿勢情報)から見た左眼用と右眼用の仮想空間CGを描画し画像を生成する。
【0017】
15は画像合成部であり、左眼用カメラ22Lと右眼用カメラ22Rからの撮像画像を画像入力部12を通して入力し、この入力画像上に画像生成部13aにより生成された左眼用と右眼用の仮想空間CG画像と合成する。その結果、表示器23aの左眼用と右眼用の表示装置各々には、カメラから撮像された画像の上に作業者視点からの仮想空間のデータが重畳表示される。またこの重畳画像は映像符号化部32aで圧縮符号化されて映像送信部33aを通して管理サーバ60へ伝送される。
【0018】
指示者用複合現実感装置10bの構成は、作業者用複合現実感装置10aとほぼ同じであるが、HMD20bにはカメラが装着されておらずカメラからの画像入力がない点が異なる。作業者空間の複合現実感映像は作業者HMDのカメラからのステレオ映像が、管理サーバ60を介して映像受信部33bで受信され映像復号化部32bで復号化され表示器23bの左眼用23bLと右眼用23bRの表示装置に表示される。指示者のHMDの位置姿勢は3次元位置姿勢センサ21bから取得され、スタイラス41bの3次元位置姿勢とともに位置姿勢計測部11bに入力され、仮想物体管理部16bへ送られる。仮想物体16bは、作業者用複合現実感装置10bの仮想物体管理部16aと同様に、作業者指示者間で共有される全ての仮想物体データが蓄積されている。指示者側からの仮想物体に対するイベントは仮想物体送受信部31bを通して管理サーバ60へ送られ、管理サーバ60から送られてくる仮想物体へのイベントはここを通して仮想物体管理部16bへ送られシーングラフの変更が行なわれる。画像生成部13bの機能は13aと同じなので説明は省略する。画像出力部17は、映像符号化部32bから送られてくる作業者複合現実感映像と、画像生成部13bから送られてくる仮想物体CG画像を選択的に切替えて表示機23bへ出力する。
【0019】
また作業者用複合現実感装置と指示者用複合現実感装置のコネクションが確立した後には、映像通信モジュールと音声通信モジュールが起動され、作業者複合現実空間映像は映像送信部33aから映像受信部33bへ一方向通信で伝送され、音声情報は双方向の音声データがやり取りされる。この結果作業者は27aのスピーカと27bマイクロフォンを用いて、指示者は28aのスピーカと28bマイクロフォンを用いて会話を行なうことができる。
【0020】
60は管理サーバであり、仮想物体情報の管理を行なう。仮想物体通信管理部61では、作業者用複合現実感装置と指示者用複合現実感装置との間でやりとりされる情報通信管理を行なう。仮想物体管理部62では、作業者と指示者スタイラスやHMDを含む共有仮想物体のシーングラフの情報と、共有仮想物体の操作権の管理を行なう。作業者または指示者からの仮想物体情報の変更は全てイベントとして仮想物体管理部62へ送信されここで共有のシーングラフの変更を行なった後、指示者複合現実感装置10a、指示者用複合現実感装置10bへ同じイベントが配信され、それぞれの装置に蓄積されている仮想物体シーングラフが変更される。
【0021】
以上述べた構成での動作例を図2を用いて説明する。図2(1)はHMDを装着した作業者40が複合現実空間で作業を行なう様子が示されている。42は実物の作業対象物であり、43は作業対象物の3DモデルであるCGが立体視表示されている。43の仮想物体は指示者と共有されており指示者からの作業指示や作業の例示がこの仮想物体43を通して行なわれる。作業者のいる現実空間に対して図示するような世界座標系(x,y,z)が設定されており、この座標系に置かれた例示モデルとしての仮想物体43はHMDを通して観察すると実物の作業対象物42の隣に置かれたような位置関係で表示される。磁気センサが装着されたスタイラスを用いることによってこれらの仮想物体の一部を選択して移動させたりするインタラクションが可能である。41aは作業者用のスタイラスにCGを重畳したポインタを示し41bは指示者のスタイラスをCGで表現したものである。
【0022】
図2(2)は、遠隔にいる指示者の空間を示している。指示者50はHMD20bを装着しており、HMD20bの表示器には23bのように作業対象物42とその3DモデルのCG43の映像が立体視で映し出されている。これは作業者40が見ている映像と全く同じ物である。41aは作業者のスタイラスの位置を示すポインタ、41bは指示者のスタイラスの位置を示すポインタである。指示者が存在する空間にも作業者複合現実空間の世界座標系に対応する指示者世界座標系(x,y,z)を図2(2)に示すように設定する。これら2つのの世界座標系において仮想物体の位置姿勢は作業者/指示者共通の座標値で表される。指示者のHMD20bとスタイラス41bには磁気センサが装着されているので、視点位置と手に持っているスタイラスの相対的な位置関係が測定できる。この位置関係を作業者視点からの位置関係に変換して、作業者視点からの指示者のスタイラスの位置を決めることができるので、指示者はあたかも作業者の視点からポインタを操作するような感覚を与えることができる。このように作業者視点複合現実感映像を作業者/指示者間で共有し、指示者のポインタを作業者視点位置を基準に表示する状態を作業空間モードと呼ぶことにする。
【0023】
指示者50は作業者と同じ映像23bを見ながら仮想物体43をポインタ41bで指したり,または仮想物体の部品を移動させたりすることにより作業者への作業指示を行なう。
【0024】
仮想物体の移動はスタイラス41bを仮想物体に触れる位置まで移動し、図3に示すスタイラスの第一ボタン47を押下する。これにより仮想物体の把持モードとなり、把持された仮想物体はスタイラスと共に移動する。上記把持モードの時にスタイラスのボタンを押下すると把持モードが終了し仮想物体がリリースされる。作業者も同様な操作で仮想物体を操作することができる。但し作業者のスタイラスはボタンが1つだけ装着されている(図示せず)。作業者と指示者の操作が同時に発生しないようにどちらか一方のみが把持モードに入り仮想物体を移動することができる。
【0025】
この作業者空間モードにおいて、指示者のポインタを作業者の複合現実空間に表示する位置として、指示者の頭部位置と手に持ったスタイラスの相対位置関係を、作業者の頭の位置姿勢からの相対位置関係に変換して表示することにより、あたかも自分の視点から手を延ばしてポインティングしているような感覚が得られるが、作業者が頭部の位置姿勢を変化させるとそれに合わせてポインタの位置も移動してしまう。そのため指示者の意図しない部分にポインタが移動する欠点が生じる可能性がある。そこで指示者が図3のスタイラス第二ボタン48を押下することで指示者視点からの仮想物体だけから構成される仮想空間(図4(2))が表示器23bに表示される。この例では仮想物体43と作業者ポインタ41a、指示者ポインタ41bからなる仮想空間が指示者視点から表示されている。この空間を見ながら仮想物体へのポインティングや移動などの操作を行なってその結果を作業者用複合現実感装置へ反映させ、作業者との仮想物体の共有が可能になる。すなわち指示者は作業者の頭の動きに関係なく自分の視点から仮想物体を見て操作することができる。この状態を共有仮想モードと呼ぶことにする。この時作業者は指示者により変更された仮想物体が重畳された複合現実空間を見ていることになる。
【0026】
さらにこの共有仮想モードで指示者がスタイラス第二ボタン48を押下すると、図4(3)に示す単独仮想モードの映像が表示される。この状態では仮想物体43は作業者と共有されておらずポインタも指示者ポインタ41bが表示されているのみである。この状態では、指示者のポインティングや仮想物体への変更は指示者用複合現実感装置のみで行なわれ作業者用複合現実感装置には反映されない。指示者は単独で仮想物体の操作を試行錯誤することができる。このモードで指示者がスタイラス第二ボタンを押下すると、単独仮想モードで編集された仮想物体が管理サーバへアップロードされ、さらに作業者複合現実感装置へダウンロードされて、その結果が反映された図4(1)のような映像が指示者HMD表示装置に表示され、最初に説明した作業空間モードへ復帰する。このように指示者は指示内容によって適宜モードを切替えることにより効率的な作業指示が行なえるようになる。
【0027】
図5は、複合現実感作業空間で作業を行なうための作業者用複合現実感装置10aの動作を説明するフローチャートである。図2では図示されていないが本装置10aは、作業者のHMD20aやスタイラス41aと接続できる位置にあり、管理サーバ60を介して指示者用複合現実感装置10bとネットワーク接続されているとする。
【0028】
ステップS100では、作業者用複合現実感装置10aの初期化を行なう。このステップでは、複合現実感作業空間の世界座標系が設定される。後述するセンサからの出力はこの座標系における6パラメータの組としてのデータ(x,y,z,α,β,γ)として表現される。ここでαはx軸中心の回転角、βはy軸中心の回転角、γはz軸中心の回転角を表す。また実物体42のリファレンスとなる仮想物体43の初期データがこの世界座標系に配置され、シーングラフデータとして仮想物体管理部16aに蓄積される。
【0029】
次のステップS110では、管理サーバ60との間でネットワーク接続を確立し両装置でデータの送受信が可能な状態にして、ステップS100で設定された仮想物体の情報を仮想物体送受信部31aを介して管理サーバへアップロードする。
【0030】
ステップS120では、作業者用複合現実感装置10aと指示者用複合現実感装置10bとの間で音声通信のコネクションを開始する。音声通信コネクションが設定後、音声出力はそれぞれスピーカ27a,27bから、音声入力はそれぞれマイクロフォン28a,28bから行なわれる。これにより作業者と指示者の間で音声による会話が可能となる。また映像通信のためのコネクションも設定され映像送信部33aから映像受信部33bへの映像送信が可能な状態になる。
【0031】
ステップS130では、作業者HMDに装着されているカメラ22からの映像を画像入力部12を経て画像合成部15へ取り込む処理を行なう。カメラ22は作業者の両目に対応する左眼用(L)と右眼用(R)2台のカメラから構成されており、それぞれの映像が画像合成部15の別のバッファへ格納される。
【0032】
次のステップS140では作業者の頭部の位置姿勢がHMD3次元位置センサ21aからの値として位置姿勢計測部11aに入力され、世界座標系における6パラメータの組としてのデータが生成される。
【0033】
次のステップS150では作業者のスタイラス41aの3次元位置姿勢情報が上記のHMD3次元位置センサからのデータと同じ形式で位置姿勢計測部11aに入力され仮想物体管理部16aに保持される。
【0034】
ステップS160ではステップS150で求められた作業者HMDとスタイラスの位置姿勢情報をイベントとして仮想物体送受信部31bを通して管理サーバ60へ送信する。
【0035】
ステップS170では作業者スタイラスのボタンが押下されたかをチェックしボタンが押下されたならばステップS180へそうでなければステップS190へ進む。
【0036】
ステップS180では、押下されたボタンイベントを仮想物体送受信部31aを通して管理サーバ60へ送信する。
【0037】
ステップS190では、作業者ポインタ、指示者ポインタ、仮想物体の変更に関する情報が管理サーバ60からのイベントとして仮想物体送受信部31aを通して受信される。
【0038】
ステップS210では、ステップS190で得られた変更情報を基に仮想物体管理部16aに格納されているシーングラフを変更する。
【0039】
ステップS220では、画像生成部13aにおいて操作結果を反映した仮想物体、作業者ポインタ41a、および指示者ポインタ41bのシーングラフから、作業者HMD位置姿勢のビューからの左眼用CG画像と右眼用CG画像をそれぞれ作成する。
【0040】
次のステップS240では、ステップ220で生成された左眼用CG画像と右眼用CG画像を画像合成部15のカメラからの左眼用撮像画像と右眼用撮像画像にそれぞれ上書きすることにより仮想物と現実の合成画像が得られる。3次元位置姿勢センサ21aと左眼用カメラ22Lと右眼用カメラ22Rの位置関係は固定されておりあらかじめキャリブレーションを行なって変換式を求めておくことができるので、この式を用いてカメラ視点の位置姿勢が決まる。この左眼用合成画像と右眼用合成画像が作業者HMDの左眼用表示器23aLと右眼用表示器23aRにそれぞれ表示される。
【0041】
ステップS250では作業者HMD表示器23aに表示されたのと同じ両眼画像が、画像符号化部32aで符号化され、映像送信部33aを通して指示者用複合現実感装置の映像受信部33bへ送信される。
【0042】
次のステップS260では、作業者用複合現実感装置の終了コマンドが入力されていればステップS270の音声通信終了処理に進みそうでなければステップS130へ戻る。
【0043】
ステップS270では音声通信処理を終了し音声コネクションを切断し、映像通信コネクションも切断する。
【0044】
ステップS280では管理サーバ60との通信を切断して処理を終了する。
【0045】
図6は、複合現実感作業空間での作業を指示/支援する指示者用複合現実感装置10bの動作を説明するフローチャートである。最初に作業空間モードの処理がステップ300から実行される。
【0046】
ステップS300では、指示者用複合現実感装置10bの初期化を行なう。このステップでは、指示者が存在する空間の世界座標系が位置姿勢計測部11bにおいて設定され、後述する3次元センサからの出力は前述した作業者用複合現実感装置10aと同じように6パラメータの組のデータとして表現される。また後述する指示者操作物IDのテーブルがクリアされる。
【0047】
次のステップS302では、管理サーバ60とのネットワーク接続を確立し両装置でデータの送受信が可能な状態にし、仮想物体情報などのデータが仮想物体送受信部31bを通してダウンロードされ、仮想物体管理部16bに蓄積される。
【0048】
ステップS304では、作業者用複合現実感装置10aとの間で音声通信コネクションと映像通信コネクションを設定し、音声通信を開始する。指示者の音声出力はスピーカ27bから音声入力はマイクロフォン28bから行なわれる。これにより作業中音声による会話が可能となる。作業者用複合現実感装置からの映像は映像受信部33bを介して可能になる。
【0049】
ステップS306では、指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が読み出され位置姿勢計測部11bに入力され仮想物体管理部16bに保持される。
【0050】
ステップS308では、HMD3次元位置センサ21bから指示者の視点の位置姿勢(xh,yh,zh,αh,βh,γh)が読み出され位置姿勢計測部11bに入力され仮想物体管理部16bに保持される。
【0051】
ステップS310では、ステップ306、308で得られたスタイラスとHMDの3次元位置姿勢データを管理サーバ60へ送信する。
【0052】
ステップS312では、作業者複合現実感装置の映像送信部33aから左右両眼の映像を映像受信部33bで受信して左眼用と右眼用画像をそれぞれ映像復号化部32bで復号する。
【0053】
ステップS314では、復号された左眼用と右眼用画像を画像出力部17へ書き込んで、指示者HMD20bの左眼用23bLと右眼用表示器23bRにそれぞれ表示する。
【0054】
次のステップS316では、指示者用複合現実感装置の終了コマンドが入力されていればステップS318の音声通信終了処理に進みそうでなければステップS306へ戻り処理を繰り返す。
【0055】
ステップS318では、音声通信コネクション、映像通信コネクションを切断し、音声処理を終了する。ステップS320では管理サーバ60との通信を切断して処理を終了する。
【0056】
この作業空間モードで指示者のスタイラスのボタンが押下されたときのボタンイベント処理を図7(1)に示す。スタイラスの第一ボタン47が押下によりステップS400が起動される。ステップS400では、指示者のスタイラス、HMDの位置姿勢を仮想物体管理部10bより読み出して管理サーバ60へ送信して、図6作業空間モードのフローに戻る。またスタイラスの第二ボタン48が押下されたときは、後述する共有仮想モードの処理に進む。共有仮想モードの処理を図6(2)のフローチャートで説明する。
【0057】
ステップS330では、指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が読み出され位置姿勢計測部11bに入力され仮想物体管理部10bに保持される。
【0058】
ステップS334では、ステップ330、332で得られたスタイラスの3次元位置姿勢データを管理サーバ60へ送信する。
【0059】
ステップS336では、作業者ポインタ、指示者ポインタ、仮想物体の変更に関する情報が管理サーバ60からのイベントとして仮想物体送受信部31bを通して受信される。
【0060】
ステップS338では、ステップS336で得られた変更情報を基に仮想物体管理部16bに格納されているシーングラフを変更する。
【0061】
ステップS340では、ステップS338で変更されたシーングラフを指示者視点(指示者HMD位置姿勢)からの左眼用CG画像と右眼用CG画像を画像生成部13bで生成して画像出力部17へ出力することにより表示器23に表示される。次にステップS330に戻る。
【0062】
以上の処理によって指示者視点による仮想物体だけからなる仮想空間映像が指示者HMDに表示される。この共有仮想モードで指示者のスタイラスボタンが押下された際の処理を図7(2)に示す。
【0063】
スタイラスの第一ボタン47が押下によりステップS410が起動される。ステップS410では、指示者のスタイラスの位置姿勢を仮想物体管理部10bより読み出して管理サーバ60へ送信して、図6(2)共有仮想モードのフローに戻る。またスタイラスの第二ボタン48が押下されたときは、ステップS420で、管理サーバの仮想物体管理部62に格納されている指示者操作物IDテーブルの該当欄をクリアするリクエストを管理サーバへ送信して、後述する単独仮想モードの処理に進む。
【0064】
単独仮想モードの処理を図6(3)のフローチャートで説明する。
【0065】
ステップS350では、指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が読み出され位置姿勢計測部11bに入力され仮想物体管理部10bに保持される。
【0066】
ステップS352では、HMD3次元位置センサ21bから指示者の視点の位置姿勢(xh,yh,zh,αh,βh,γh)が読み出され位置姿勢計測部11bに入力され仮想物体管理部10bに保持される。
【0067】
ステップS354では、現在指示者が仮想物体を操作中か否かを、図13に示す指示者操作物IDテーブルをチェックして判定する。この表は作業者複合現実感装置の仮想物体管理部16bに保持されており、指示者がどの仮想物体を操作中かを示す値が格納されている。図13の例では仮想物体Aを作業者が操作中であることを示している。操作中の仮想物体がない場合にはnullが格納されている。このテーブルをチェックして仮想物体を操作中の場合にはステップS356へそうでなければステップS358へ進む。
【0068】
ステップS356では、指示者のスタイラス位置へ仮想物体を移動するイベントを発行する。
【0069】
ステップS358では、指示者のスタイラス位置や仮想物体の変更がある場合にはそれをシーングラフへ反映させ、HMDの位置姿勢データを視点位置とする。
【0070】
ステップS360では、シーングラフのデータを画像生成部13bにて左眼用CGと右眼用CGを生成し画像出力部17へ書き込んでこれらのCGを表示器23bへ表示させる。
【0071】
また指示者用複合現実感装置10bでは、上記のフローの他にバックグラウンドで管理サーバからのイベントを受信して適宜シーングラフの変更などが行なわれるものとする。
【0072】
この単独仮想モードで指示者のスタイラスボタンが押下された際の処理を図7(3)に示す。スタイラスの第一ボタン47の押下によりステップS430が起動される。ステップ430では、指示者が仮想物体を操作中か否かを図13の指示者操作物IDテーブルをチェックして判定する。仮想物体を操作中の場合にはステップS432へ進み、そうでなければステップS434へ進む。
【0073】
ステップS432では、図13の指示者操作物IDテーブルをクリアしnullを格納して、図6(3)の単独仮想モードのフローに戻る。
【0074】
ステップS434では指示者のスタイラス位置と仮想空間に存在する全ての仮想物体との距離を比較して次のステップS436へ進む。
【0075】
ステップS436では、距離がある閾値以下の仮想物体が存在すれば(複数の場合距離の短い方を選ぶ)その仮想物体を操作対象物としてステップS438に進み、存在しなければ図6(3)の単独仮想モードのフローに戻る。
【0076】
ステップS438では、ステップS436で求められた操作対象物IDを図13の指示者操作物IDテーブルへ書き込み第一ボタンイベント処理を終了する。
【0077】
スタイラスの第二ボタン48の押下によりステップS440が起動される。ステップS440では。図13の指示者操作物IDテーブルをクリアしてnullを格納する。
【0078】
ステップS442では、仮想物体管理部16bに格納されている仮想物体のシーングラフ全体を管理サーバの仮想物体管理部62へアップロードするリクエストを管理サーバへ送り、データをアップロードして、作業空間モードのフローのステップS306からの処理を行なっていく。
【0079】
次に管理サーバ60での処理を図8のフローチャートを用いて説明する。管理サーバでは作業者複合現実感装置10aと指示者複合現実感装置10bからのリクエストやイベントを受付けてその処理を行なう。
【0080】
作業者スタイラス処理は、作業者複合現実感装置からスタイラス/HMD位置イベントを受信した際に起動される。ステップS500では、作業者スタイラス/HMDの位置姿勢を仮想物体管理部62に格納されているシーングラフに反映させる。
【0081】
ステップS502では作業者が仮想物体を操作中か否かを図12の作業者/指示者操作物IDテーブルをチェックして判定する。作業者/指示者操作物IDテーブルは仮想物体管理部62にあり、作業者の操作している仮想物体と指示者が操作している仮想物体のIDが格納されている。図12の例では、作業者はどの仮想物体も操作していないのでnullが格納されており、指示者は仮想物体Cを操作している。作業者操作物IDに仮想物体IDがあればステップS504へそうでなければステップS506へ進む。
【0082】
ステップS504では、ステップ500で更新されたスタイラス位置へ操作中の仮想物体を移動させ、仮想物体管理部62に格納されているシーングラフを変更して、ステップS506へ進む。
【0083】
ステップS506では、更新された作業者スタイラス、HMDと仮想物体の情報を作業者ホストへ送信して、作業者スタイラス処理を終了する。
【0084】
作業者ボタン処理は、作業者がスタイラスのボタンを押下したときに起動される処理で、ステップS510では、現在作業者が仮想物体を操作中か否かを図12の作業者操作物IDを調べて、nullであれば操作中でないと判定しステップS514に進み、作業者操作物IDが格納されていれば操作中と判定してステップS512に進む。
【0085】
ステップS512では、図12の作業者操作物IDの内容をnullに置き換え作業者ボタンイベントの処理を終了する。
【0086】
ステップS514では送信されてきた現在の作業者のスタイラス位置と作業者複合現実空間全ての仮想物体の位置を比較して次のステップに進む。
【0087】
ステップS516では、距離がある閾値以下の仮想物体が存在すれば(複数の場合距離の短い方を選ぶ)その仮想物体を操作対象物としてステップS518に進み、存在しなければ作業者ボタンイベントの処理を終了する。
【0088】
ステップS518では、前ステップで求められた操作対象物IDと図12の指示者操作物IDを調べ、同じであれば操作対象物は指示者が操作中と判定し作業者ボタンイベント処理を終了し、同じでなければステップS520に進む。
【0089】
ステップS520では、ステップS516で求められた操作対象物IDを図12の作業者操作物IDへ書き込み作業者ボタンイベント処理を終了する。
【0090】
指示者スタイラス処理Iは、図6(1)作業空間モードのステップ310にて送信されたイベント処理フローである。ステップS530では、指示者の視点位置であるHMD3次元位置センサ21bからの位置姿勢(xh,yh,zh,αh,βh,γh)と指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が受信される。これらは指示者の存在する空間の世界座標系での値であるので、スタイラスの位置姿勢を視点位置姿勢からの相対位置に変換して指示者スタイラス相対位置(xd,yd,zd,αd,βd,γd)=(xs−xh,ys−yh,zs−zh,αs−αh,βs−βh,γs−γh)を計算する。
【0091】
ステップS532では、前ステップで計算された指示者スタイラス相対位置を新たなスタイラスイベントとして仮想物体管理部62のシーングラフを変更する。
【0092】
ステップS534では指示者が仮想物体を操作中か否かを図12の作業者/指示者操作物IDテーブルの指示者操作物IDをチェックして判定する。指示者操作物IDがnullの場合には仮想物体を操作中でないと判定し、ステップS538へ、そうでなければ稼動物体を操作中と判定しステップS536へ進む。
【0093】
ステップS536では、ステップ532で更新されたスタイラス位置へ操作中の仮想物体を移動させ、仮想物体管理部62に格納されているシーングラフを変更して、ステップS538へ進む。
【0094】
ステップS538では、更新された指示者スタイラス、HMDと仮想物体の情報を作業者用複合現実感装置10a送信して、指示者スタイラス処理Iを終了する。
【0095】
指示者スタイラス処理IIは、図6(2)共有仮想モードのステップ334にて送信されたイベント処理フローである。ステップS540では、指示者の視点位置であるHMD3次元位置センサ21bからの位置姿勢と指示者のスタイラス41bの3次元位置姿勢情報イベントが受信され、この情報をもとに仮想物体管理部62のシーングラフを変更する。
【0096】
ステップS542では指示者が仮想物体を操作中か否かを図12の作業者/指示者操作物IDテーブルの指示者操作物IDをチェックして判定する。指示者操作物IDがnullの場合には仮想物体を操作中でないと判定し、ステップS546へ、そうでなければ稼動物体を操作中と判定しステップS544へ進む。
【0097】
ステップS544では、ステップ540で更新されたスタイラス位置へ操作中の仮想物体を移動させ、仮想物体管理部62に格納されているシーングラフを変更して、ステップS546へ進む。
【0098】
ステップS546では、更新された指示者スタイラスと仮想物体の情報を作業者用複合現実感装置10aと指示者用複合現実感装置10bへ送信して、指示者スタイラス処理IIを終了する。
【0099】
指示者第一ボタンI処理は、指示者が作業空間モードでスタイラス第一ボタンを押下した時に起動される図7(1)のステップS400処理によってサーバに送信されるイベント処理である。ステップS550では、指示者の視点位置であるHMD3次元位置センサ21bからの位置姿勢(xh,yh,zh,αh,βh,γh)と指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が受信される。これらは指示者の存在する空間の世界座標系での値であるので、スタイラスの位置姿勢を視点位置姿勢からの相対位置に変換して指示者スタイラス相対位置(xd,yd,zd,αd,βd,γd)=(xs−xh,ys−yh,zs−zh,αs−αh,βs−βh,γs−γh)を計算する。
【0100】
ステップS552では、現在指示者が仮想物体を操作中か否かを図12の指示者操作物IDを調べて、nullであれば操作中でないと判定しステップS556に進み、指示者操作物IDが格納されていれば操作中と判定してステップS554に進む。
【0101】
ステップS554では、図12の指示者操作物IDの内容をnullに置き換え作業者ボタンイベントの処理を終了する。
【0102】
ステップS556では仮想物体管理部62に格納されている指示者の現在のスタイラス位置と作業者複合現実空間全ての仮想物体の位置を比較して次のステップに進む。
【0103】
ステップS558では、距離がある閾値以下の仮想物体が存在すれば(複数の場合距離の短い方を選ぶ)その仮想物体を操作対象物としてステップS560に進み、存在しなければ作業者ボタンイベントの処理を終了する。
【0104】
ステップS560では、前ステップで求められた操作対象物IDと図12の作業者操作物IDを調べ、同じであれば操作対象物は作業者が操作中と判定し指示者ボタンイベント処理Iを終了し、同じでなければステップS562に進む。
【0105】
ステップS562では、ステップS558で求められた操作対象物IDを図12の指示者操作物IDへ書き込み指示者ボタンイベント処理Iを終了する。
【0106】
指示者第一ボタンII処理は、指示者が共有仮想モードでスタイラス第一ボタンを押下した時に起動される図7(2)のステップS410処理によってサーバに送信されるイベント処理である。ステップS570では、現在指示者が仮想物体を操作中か否かを図12の指示者操作物IDを調べて、nullであれば操作中でないと判定しステップS574に進み、指示者操作物IDが格納されていれば操作中と判定してステップS572に進む。
【0107】
ステップS572では、図12の指示者操作物IDの内容をnullに置き換え作業者ボタンイベントの処理を終了する。
【0108】
ステップS574では送信されてきた現在の指示者のスタイラス位置と作業者複合現実空間全ての仮想物体の位置を比較して次のステップに進む。
【0109】
ステップS576では、距離がある閾値以下の仮想物体が存在すれば(複数の場合距離の短い方を選ぶ)その仮想物体を操作対象物としてステップS578に進み、存在しなければ作業者ボタンイベントの処理を終了する。
【0110】
ステップS578では、前ステップで求められた操作対象物IDと図12の作業者操作物IDを調べ、同じであれば操作対象物は作業者が操作中と判定し指示者ボタンイベント処理IIを終了し、同じでなければステップS580に進む。
【0111】
ステップS580では、ステップS576で求められた操作対象物IDを図12の指示者操作物IDへ書き込み指示者ボタンイベント処理IIを終了する。
【0112】
指示者操作物IDクリア処理は、指示者が共有仮想モードでスタイラス第二ボタンを押下した時に起動される図7(2)のステップS420処理によってサーバに送信されるイベント処理である。ステップS584では、仮想物体管理部62に格納されている指示者/作業者操作物IDテーブルの指示者操作物IDの内容をnullに置き換えて指示者操作物IDクリア処理を終了する。
【0113】
指示者シーングラフアップロード処理は、指示者が単独仮想モードでスタイラス第二ボタンを押下した時に起動される図7(3)のステップS442処理によってサーバに送信されるイベント処理である。ステップS588では、指示者複合現実感装置からアップロードされてきた仮想物体のシーングラフで仮想物体管理部62に蓄積されているシーングラフを置き換える。ステップS590では、置き換えられたシーングラフの情報を作業者複合現実感装置へダウンロードして、処理を終了する。
【0114】
本実施形態では、作業者のモード切替えボタンを図3の48に示すスタイラスの第二ボタンとしたがこれに限るものではなく、これを次モードに移る、前モードに戻るの二つのボタンに割り当ててもよいし、モードの数だけボタンを準備してそれぞれのモードに進む機能を割り当てても良い。
【0115】
また指示者が共有仮想モードの時に作業者に提示される表示器には、図4(2)に示すような仮想物体を仮想空間の背景に配置した映像が映されるが、指示者が共有仮想モードに入る瞬間の作業者複合現実空間の映像(例えば図4(1)に示すような映像)をフリーズした背景を用いても良い。この場合作業者が視点を変えても背景映像は変化しないが、共有仮想物体の視点は自由に変更できるので発明の趣旨は損なわれない。
【0116】
(第二の実施形態)
第一の実施形態において、指示者は任意の時点で作業空間モード、共有仮想モード、単独仮想モードへ移行できる。しかしながら作業者表示装置23aの映像は、指示者のモード変化を反映しない。このため作業者にとっては、指示者がどのモードにいるのかが判断できないので、コミュニケーションが円滑に行なわれない可能性がある。そこで第二の実施形態では、作業者が作業者複合現実感映像を見ながら、指示者のモードを示す識別できるようにする。具体的には、指示者のポインタ41bの色をモードによって変えるようにする。例えば図2(1)で、指示者が作業視点モードの場合には、指示者ポインタ41bを緑色にし、共有仮想モードの場合には指示者ポインタ41bを青色にし、単独仮想モードの場合には指示者ポインタ41bを茶色にする。このようにする事で、作業者は作業者複合現実空間の中で指示者のポインタの色により指示者がどのモードであるかを判断することができる。この動作の具体的処理を以下に記述する。
【0117】
図6に示す指示者処理フローのステップS300初期化処理の時点で作業空間モードでのポインタの色が設定されているとする。上述の例では青色が設定されている。図7に示す各モードで作業者がスタイラスの第二ボタンを押した際に起動される第二ボタン処理が第一の実施例と異なるので、図9で説明する。作業空間モードでの第二ボタン処理を図9(1)に示す。作業者ポインタの色変更イベント(上述の例の場合緑色への変更イベント)を管理サーバへ送信するステップS402が第一の実施例に加わっている。同様に共有仮想モードの第二ボタン処理ではステップS422(上述の例の場合茶色への変更イベント送信)処理が、単独仮想モードではステップS444(上述の例の場合青色への変更イベント送信)の処理が加わっている。また管理サーバで色変更処理を受信した場合の処理を図9(4)に示す。ステップS592では仮想物体管理部62に蓄積されているシーングラフ中のポインタを指定された色へ変更し、次のステップS594でこの色変更イベントを作業者複合現実感装置と指示者複合現実感装置へ送信する。作業者複合現実感装置と指示者複合現実感装置ではこの色変更イベントによりそれぞれに蓄積されているシーングラフ中の指示者ポインタ41bの色を変更する。これらの処理によって作業者のモードごとに異なる色の作業者ポインタを表示することができる。
【0118】
本実施形態では指示者ポインタの色で、作業者が指示者のモードを識別できるようにしたが色に限定されず、ポインタの形状など視覚的に識別できるものであれば構わない。
【0119】
(第三の実施形態)
第一の実施形態において、指示者が作業者空間モードの時には作業者の視点を両者が共有しているが、指示者が共有仮想モードの時には作業者、指示者がそれぞれ独立した視点で動作することになる。この時お互いのポインタは各々が見ている表示器の映像に写っているが、お互いの視点位置を知ることができない。このような状況では、共有仮想物体をまったく異なった視点で眺めながら作業指示することもあるため、お互いのコミュニケーションに誤解を生じる可能性もある。そこで第三の実施形態では、指示者が共有仮想モードの時に作業者の表示器23aに指示者の視点を、指示者の表示器23bに作業者の視点を表示することにより、お互いの視点を確認できるようにする。図10は、指示者が共有仮想モード時の表示器の画面例である。(1)は作業者表示装置23aの画面で仮想物体43と作業者ポインタ41a、指示者ポインタ41bに加えて指示者の視点が55bとして示されている。また図9(2)には同様に作業者の視点55aが示されている。このようにして両者がお互いの視点を確認することができる。この動作の具体的処理を第一の実施形態と異なる処理を以下に記述する。
【0120】
指示者用仮想現実感装置における指示者処理フローのうち図6(2)に示す共有仮想モードの処理が図11(1)のようになる。異なる部分はステップS332でHMDの3次元位置姿勢を位置姿勢計測部11bより取得する。またステップS335では、ステップS332で得られたスタイラスの位置姿勢とステップ335で得られたHMDの位置姿勢のイベントを管理サーバ60へ送信する。またステップS336では、ポインタの情報に加えて、HMDの情報も受信することにより図10に示すような視点を示すCGを表示することができる。また図5に示す作業者用複合現実感装置における作業者処理フローのステップS190でポインタ、仮想物体の情報に加えてHMDの情報も受信することにより視点を表示するCGを表示することができる。管理サーバ60での処理は図8(4)に示す指示者スタイラス処理II処理が図11(2)のように変更される。ステップS541は図8(4)のステップ540の処理に加えて指示者のHMDの3次元位置姿勢を取得する処理が必要になる。またステップS547では、図8(4)のステップS546に加えて指示者のHMDの情報も送信することになる。また図8(7)の指示者操作物IDクリア処理は図11(3)のように変更になる。ステップS596では、仮想物体管理部62に格納されている指示者/作業者操作物IDテーブルの指示者操作物IDの内容をnullに置き換え、指示者/作業者の視点を表すCGをシーングラフから削除する。ステップS598では、この指示者/作業者視点CGクリアイベントを作業者用複合現実感装置と指示者用複合現実感装置へ送信して処理を終了する。
【0121】
本実施形態では視点を示す画像として顔をあらわすCGを用いたが、視線を示す矢印を用いたり、作業者・指示者の実写映像を用いたりすることも可能で、視点位置が視覚的に認識されれば本発明の趣旨は達成できる。
【図面の簡単な説明】
【0122】
【図1】第一の実施形態における複合現実感遠隔協調作業支援システムの機能構成を示すブロック図である。
【図2】作業者複合現実感空間の様子と遠隔の指示者用複合現実感装置の画面表示例を示す図である。
【図3】指示者用複合現実感装置で用いられる指示者用スタイラスのボタン配置例を示す図である。
【図4】指示者用複合現実感装置におけるモード変更時の画面表示例を示す図である。
【図5】第一の実施形態における作業者用複合現実感装置での作業者処理のフローチャートである。
【図6】第一の実施形態における指示者用複合現実感装置での指示者処理のフローチャートである。
【図7】第一の実施形態における指示者用複合現実感装置でのボタンイベント処理のフローチャートである。
【図8】第一の実施形態における管理サーバでの受信イベント処理のフローチャートである。
【図9】第二の実施形態における指示者用複合現実感装置での指示者処理と管理サーバでの受信イベント処理の一部のフローチャートである。
【図10】第三の実施形態における作業者用複合現実感装置と指示者用複合現実感装置の画面表示例を説明する図である。
【図11】本第二の実施形態における指示者用複合現実感装置での指示者処理と管理サーバでの受信イベント処理の一部のフローチャートである。
【図12】作業者/指示者操作物IDテーブルの一例を示す図である。
【図13】指示者操作物IDテーブルの一例を示す図である。
【技術分野】
【0001】
本発明は、異なる場所に居る複数のユーザが複合現実空間を共有して協調作業を行うためのものに関する。
【背景技術】
【0002】
近年、現実世界と仮想世界の継ぎ目のない融合を目指した複合現実感(Mixed Reality:MR)に関する技術開発が盛んになっている。MRは従来現実空間と切り離された状況でのみ体験可能であったバーチャルリアリティ(VR)の世界と現実の世界との共存を目的とし、VRを増強する技術として注目されている。
【0003】
複合現実感を実現する装置として代表的な物は頭部装着型表示装置(HMD=Head Mounted Display)である。すなわち、現実空間と仮想空間とをHMDに合成して表示することにより複合現実感を実現するものである。
【0004】
VRを用いて遠隔の参加者間で会議や様々な協調作業を支援するシステムでは、上述したようにコンピュータ内に現実世界と切り離された世界を構築して共有するのに対し、MRでの遠隔作業支援システムは現実世界をもとに仮想世界を重ね合わせた作業空間での作業を支援することが可能である。
【0005】
頭部装着型表示装置(HMD)を用いて参加者間で共有されている仮想物体と共にステレオカメラで撮影された参加者の立体映像を観察/操作できる技術の例が提案されている。例えば、参加者を2台のカメラで撮影し人物部分のみを切り出したステレオ映像をネットワークで伝送し、その立体映像を他の複数人の参加者が観察することができる。作業者の位置と仮想物体操作のための手の位置が計測されているため仮想物体の操作は可能であるが、参加者が観察しているステレオ映像は、背景が除去された参加者の映像と仮想物体によるVR空間の映像であり、参加者の実空間の情報を有するものではない。
【0006】
また作業者のHMD映像をもとに遠隔作業支援する技術の例が提案されている(特許文献1)。この例では作業者がカメラ付のHMDを装着しこのカメラからの映像を作業者および遠隔にいる指示者にて共有し、指示者の指示をこのカメラ映像に重畳して作業指示を行なう技術が開示されている。作業者のカメラをステレオにして、作業者/指示者ともに同じ立体映像を観察可能であり、この映像中の作業対象物を指し示す指示者の手をクロマキー合成で切り出してカメラからの映像に合成する技術が述べられている。このシステムでは作業者の空間に座標が設定されていないので、作業対象物以外の仮想物体を作業者空間の任意の位置に配置してポインティングしたりインタラクションしたりすることができない。また作業者の視点位置が移動すると指示者が手を動かしていなくとも手の画像が移動してしまう問題があった。
【特許文献1】特開2002−132487号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
このように、従来技術は、指示者視点が作業者の視点に拘束されるため円滑に作業指示が行なえなかった。
【0008】
本発明は、指示者視点が作業者の視点に拘束されないモードを備えることにより、上記課題を解決し、円滑に作業指示が行なえるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上述した目的を達成するために、本発明は以下の構成を有する。
【0010】
本願請求項1記載の情報処理方法は、第1のユーザが存在する空間に仮想物体を重畳表示する複合現実空間画像を、第2のユーザが共有する情報処理方法であって、前記第1のユーザが装着している第1撮像部の映像と、前記第1撮像部の位置姿勢に基づく仮想物体画像とに基づく複合現実空間画像を取得する複合現実空間画像取得工程と、前記第1のユーザによって行われた前記仮想物体に対するイベント情報を取得するイベント情報取得工程と、前記第2のユーザの視点位置姿勢情報を取得する第2ユーザ指定位置姿勢情報取得工程と、前記第2のユーザの視点位置姿勢情報に基づき、前記イベント情報に応じた仮想物体画像を生成する生成工程とを有し、前記第1画像を前記第2のユーザに提示する第1モードと、前記仮想物体画像を前記第2のユーザに提示する第2モードとを有することを特徴とする。
【0011】
本願請求項4記載の発明は、作業者が存在する空間に仮想物体を重畳表示する作業者複合現実空間を遠隔から共有する情報処理システムであって、作業者の視点からの前記作業者複合現実空間のステレオ映像を指示者に伝送するステレオ映像伝送手段、前記仮想物体を前記作業者と前記指示者で共有する仮想物体共有手段、作業者と指示者がステレオ映像を立体視できる立体視手段とを備え、前記指示者が、前記作業者視点からのステレオ映像を共有するモードと、前記作業者視点と独立した視点で前記仮想物体を操作するモードを有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、円滑な作業支援が可能となり、遠隔地間での協調作業の利便性を向上させることができる。
【発明を実施するための最良の形態】
【0013】
(第一の実施形態)
以下添付図面を参照して、実施形態に従って詳細に説明する。
【0014】
図1に本実施形態における遠隔複合現実感共有システムの機能構成を示す。構成は図1上部に示す作業者用複合現実感装置10aと図1下部に示す指示者用複合現実感装置10bとからなり、それぞれは管理サーバ60を介してネットワークで接続されているものとする。それぞれの装置は頭部装着型装置(HMD=Head Mounted Display)20a,20bを持ち作業者、指示者ともにHMDを通して作業者のいる空間の複合現実感映像を見ることができる。また両者間で会話を行なうためのマイクロフォン28a,28b、スピーカ27a,27bを具備する。
【0015】
作業者用HMD20aは、磁気を利用してHMDの位置姿勢を計測する3次元位置姿勢センサ21a、現実空間を撮像し画像を得ることのできるステレオカメラ22(左眼用をL、右眼用をRで示してある。)、画像を表示することのできるステレオ表示器23a(左眼用をL、右眼用をRで示してある。)からなり、3次元位置姿勢センサ21aとカメラ22の位置関係はあらかじめ計測され固定しているとする。3次元位置姿勢センサ21aからは計測結果である位置姿勢信号が後述の位置姿勢計測部11aへ出力され、カメラ22からは撮像結果が後述する画像入力部12へ出力される。表示器23aは、画像合成部15から入力として左眼用と右眼用の画像信号を受け画像をそれぞれ左眼用23aLと右眼用の表示装置23aRに表示する。
【0016】
作業者用複合現実感装置10a内にある位置姿勢計測部11aはHMD20aの3次元位置姿勢センサ21aから出力される3次元位置姿勢信号、および複合現実空間の3次元ポインティングデバイスであるスタイラスの3次元位置姿勢信号の信号を受けて、これらのデータを仮想物体管理部16aへ出力する。仮想物体管理部16aでは、作業者スタイラスおよびHMDの位置姿勢のデータを位置姿勢制御部11aから受け取り、作業に用いられる全ての仮想物体のデータと共に蓄積する。仮想物体送受信部31aでは、指示者用複合現実感装置10bとの間で共有する全ての仮想物体情報を管理サーバ60との間で送受信する。管理サーバ60から受信した仮想物体へのイベント情報は仮想物体管理部16aへ送られここに蓄積されている仮想物体のシーングラフの変更が行なわれる。また画像生成部13では、仮想物体管理部10aに蓄積されているすべての仮想物体のシーングラフを作業者視点情報(HMD位置姿勢情報)から見た左眼用と右眼用の仮想空間CGを描画し画像を生成する。
【0017】
15は画像合成部であり、左眼用カメラ22Lと右眼用カメラ22Rからの撮像画像を画像入力部12を通して入力し、この入力画像上に画像生成部13aにより生成された左眼用と右眼用の仮想空間CG画像と合成する。その結果、表示器23aの左眼用と右眼用の表示装置各々には、カメラから撮像された画像の上に作業者視点からの仮想空間のデータが重畳表示される。またこの重畳画像は映像符号化部32aで圧縮符号化されて映像送信部33aを通して管理サーバ60へ伝送される。
【0018】
指示者用複合現実感装置10bの構成は、作業者用複合現実感装置10aとほぼ同じであるが、HMD20bにはカメラが装着されておらずカメラからの画像入力がない点が異なる。作業者空間の複合現実感映像は作業者HMDのカメラからのステレオ映像が、管理サーバ60を介して映像受信部33bで受信され映像復号化部32bで復号化され表示器23bの左眼用23bLと右眼用23bRの表示装置に表示される。指示者のHMDの位置姿勢は3次元位置姿勢センサ21bから取得され、スタイラス41bの3次元位置姿勢とともに位置姿勢計測部11bに入力され、仮想物体管理部16bへ送られる。仮想物体16bは、作業者用複合現実感装置10bの仮想物体管理部16aと同様に、作業者指示者間で共有される全ての仮想物体データが蓄積されている。指示者側からの仮想物体に対するイベントは仮想物体送受信部31bを通して管理サーバ60へ送られ、管理サーバ60から送られてくる仮想物体へのイベントはここを通して仮想物体管理部16bへ送られシーングラフの変更が行なわれる。画像生成部13bの機能は13aと同じなので説明は省略する。画像出力部17は、映像符号化部32bから送られてくる作業者複合現実感映像と、画像生成部13bから送られてくる仮想物体CG画像を選択的に切替えて表示機23bへ出力する。
【0019】
また作業者用複合現実感装置と指示者用複合現実感装置のコネクションが確立した後には、映像通信モジュールと音声通信モジュールが起動され、作業者複合現実空間映像は映像送信部33aから映像受信部33bへ一方向通信で伝送され、音声情報は双方向の音声データがやり取りされる。この結果作業者は27aのスピーカと27bマイクロフォンを用いて、指示者は28aのスピーカと28bマイクロフォンを用いて会話を行なうことができる。
【0020】
60は管理サーバであり、仮想物体情報の管理を行なう。仮想物体通信管理部61では、作業者用複合現実感装置と指示者用複合現実感装置との間でやりとりされる情報通信管理を行なう。仮想物体管理部62では、作業者と指示者スタイラスやHMDを含む共有仮想物体のシーングラフの情報と、共有仮想物体の操作権の管理を行なう。作業者または指示者からの仮想物体情報の変更は全てイベントとして仮想物体管理部62へ送信されここで共有のシーングラフの変更を行なった後、指示者複合現実感装置10a、指示者用複合現実感装置10bへ同じイベントが配信され、それぞれの装置に蓄積されている仮想物体シーングラフが変更される。
【0021】
以上述べた構成での動作例を図2を用いて説明する。図2(1)はHMDを装着した作業者40が複合現実空間で作業を行なう様子が示されている。42は実物の作業対象物であり、43は作業対象物の3DモデルであるCGが立体視表示されている。43の仮想物体は指示者と共有されており指示者からの作業指示や作業の例示がこの仮想物体43を通して行なわれる。作業者のいる現実空間に対して図示するような世界座標系(x,y,z)が設定されており、この座標系に置かれた例示モデルとしての仮想物体43はHMDを通して観察すると実物の作業対象物42の隣に置かれたような位置関係で表示される。磁気センサが装着されたスタイラスを用いることによってこれらの仮想物体の一部を選択して移動させたりするインタラクションが可能である。41aは作業者用のスタイラスにCGを重畳したポインタを示し41bは指示者のスタイラスをCGで表現したものである。
【0022】
図2(2)は、遠隔にいる指示者の空間を示している。指示者50はHMD20bを装着しており、HMD20bの表示器には23bのように作業対象物42とその3DモデルのCG43の映像が立体視で映し出されている。これは作業者40が見ている映像と全く同じ物である。41aは作業者のスタイラスの位置を示すポインタ、41bは指示者のスタイラスの位置を示すポインタである。指示者が存在する空間にも作業者複合現実空間の世界座標系に対応する指示者世界座標系(x,y,z)を図2(2)に示すように設定する。これら2つのの世界座標系において仮想物体の位置姿勢は作業者/指示者共通の座標値で表される。指示者のHMD20bとスタイラス41bには磁気センサが装着されているので、視点位置と手に持っているスタイラスの相対的な位置関係が測定できる。この位置関係を作業者視点からの位置関係に変換して、作業者視点からの指示者のスタイラスの位置を決めることができるので、指示者はあたかも作業者の視点からポインタを操作するような感覚を与えることができる。このように作業者視点複合現実感映像を作業者/指示者間で共有し、指示者のポインタを作業者視点位置を基準に表示する状態を作業空間モードと呼ぶことにする。
【0023】
指示者50は作業者と同じ映像23bを見ながら仮想物体43をポインタ41bで指したり,または仮想物体の部品を移動させたりすることにより作業者への作業指示を行なう。
【0024】
仮想物体の移動はスタイラス41bを仮想物体に触れる位置まで移動し、図3に示すスタイラスの第一ボタン47を押下する。これにより仮想物体の把持モードとなり、把持された仮想物体はスタイラスと共に移動する。上記把持モードの時にスタイラスのボタンを押下すると把持モードが終了し仮想物体がリリースされる。作業者も同様な操作で仮想物体を操作することができる。但し作業者のスタイラスはボタンが1つだけ装着されている(図示せず)。作業者と指示者の操作が同時に発生しないようにどちらか一方のみが把持モードに入り仮想物体を移動することができる。
【0025】
この作業者空間モードにおいて、指示者のポインタを作業者の複合現実空間に表示する位置として、指示者の頭部位置と手に持ったスタイラスの相対位置関係を、作業者の頭の位置姿勢からの相対位置関係に変換して表示することにより、あたかも自分の視点から手を延ばしてポインティングしているような感覚が得られるが、作業者が頭部の位置姿勢を変化させるとそれに合わせてポインタの位置も移動してしまう。そのため指示者の意図しない部分にポインタが移動する欠点が生じる可能性がある。そこで指示者が図3のスタイラス第二ボタン48を押下することで指示者視点からの仮想物体だけから構成される仮想空間(図4(2))が表示器23bに表示される。この例では仮想物体43と作業者ポインタ41a、指示者ポインタ41bからなる仮想空間が指示者視点から表示されている。この空間を見ながら仮想物体へのポインティングや移動などの操作を行なってその結果を作業者用複合現実感装置へ反映させ、作業者との仮想物体の共有が可能になる。すなわち指示者は作業者の頭の動きに関係なく自分の視点から仮想物体を見て操作することができる。この状態を共有仮想モードと呼ぶことにする。この時作業者は指示者により変更された仮想物体が重畳された複合現実空間を見ていることになる。
【0026】
さらにこの共有仮想モードで指示者がスタイラス第二ボタン48を押下すると、図4(3)に示す単独仮想モードの映像が表示される。この状態では仮想物体43は作業者と共有されておらずポインタも指示者ポインタ41bが表示されているのみである。この状態では、指示者のポインティングや仮想物体への変更は指示者用複合現実感装置のみで行なわれ作業者用複合現実感装置には反映されない。指示者は単独で仮想物体の操作を試行錯誤することができる。このモードで指示者がスタイラス第二ボタンを押下すると、単独仮想モードで編集された仮想物体が管理サーバへアップロードされ、さらに作業者複合現実感装置へダウンロードされて、その結果が反映された図4(1)のような映像が指示者HMD表示装置に表示され、最初に説明した作業空間モードへ復帰する。このように指示者は指示内容によって適宜モードを切替えることにより効率的な作業指示が行なえるようになる。
【0027】
図5は、複合現実感作業空間で作業を行なうための作業者用複合現実感装置10aの動作を説明するフローチャートである。図2では図示されていないが本装置10aは、作業者のHMD20aやスタイラス41aと接続できる位置にあり、管理サーバ60を介して指示者用複合現実感装置10bとネットワーク接続されているとする。
【0028】
ステップS100では、作業者用複合現実感装置10aの初期化を行なう。このステップでは、複合現実感作業空間の世界座標系が設定される。後述するセンサからの出力はこの座標系における6パラメータの組としてのデータ(x,y,z,α,β,γ)として表現される。ここでαはx軸中心の回転角、βはy軸中心の回転角、γはz軸中心の回転角を表す。また実物体42のリファレンスとなる仮想物体43の初期データがこの世界座標系に配置され、シーングラフデータとして仮想物体管理部16aに蓄積される。
【0029】
次のステップS110では、管理サーバ60との間でネットワーク接続を確立し両装置でデータの送受信が可能な状態にして、ステップS100で設定された仮想物体の情報を仮想物体送受信部31aを介して管理サーバへアップロードする。
【0030】
ステップS120では、作業者用複合現実感装置10aと指示者用複合現実感装置10bとの間で音声通信のコネクションを開始する。音声通信コネクションが設定後、音声出力はそれぞれスピーカ27a,27bから、音声入力はそれぞれマイクロフォン28a,28bから行なわれる。これにより作業者と指示者の間で音声による会話が可能となる。また映像通信のためのコネクションも設定され映像送信部33aから映像受信部33bへの映像送信が可能な状態になる。
【0031】
ステップS130では、作業者HMDに装着されているカメラ22からの映像を画像入力部12を経て画像合成部15へ取り込む処理を行なう。カメラ22は作業者の両目に対応する左眼用(L)と右眼用(R)2台のカメラから構成されており、それぞれの映像が画像合成部15の別のバッファへ格納される。
【0032】
次のステップS140では作業者の頭部の位置姿勢がHMD3次元位置センサ21aからの値として位置姿勢計測部11aに入力され、世界座標系における6パラメータの組としてのデータが生成される。
【0033】
次のステップS150では作業者のスタイラス41aの3次元位置姿勢情報が上記のHMD3次元位置センサからのデータと同じ形式で位置姿勢計測部11aに入力され仮想物体管理部16aに保持される。
【0034】
ステップS160ではステップS150で求められた作業者HMDとスタイラスの位置姿勢情報をイベントとして仮想物体送受信部31bを通して管理サーバ60へ送信する。
【0035】
ステップS170では作業者スタイラスのボタンが押下されたかをチェックしボタンが押下されたならばステップS180へそうでなければステップS190へ進む。
【0036】
ステップS180では、押下されたボタンイベントを仮想物体送受信部31aを通して管理サーバ60へ送信する。
【0037】
ステップS190では、作業者ポインタ、指示者ポインタ、仮想物体の変更に関する情報が管理サーバ60からのイベントとして仮想物体送受信部31aを通して受信される。
【0038】
ステップS210では、ステップS190で得られた変更情報を基に仮想物体管理部16aに格納されているシーングラフを変更する。
【0039】
ステップS220では、画像生成部13aにおいて操作結果を反映した仮想物体、作業者ポインタ41a、および指示者ポインタ41bのシーングラフから、作業者HMD位置姿勢のビューからの左眼用CG画像と右眼用CG画像をそれぞれ作成する。
【0040】
次のステップS240では、ステップ220で生成された左眼用CG画像と右眼用CG画像を画像合成部15のカメラからの左眼用撮像画像と右眼用撮像画像にそれぞれ上書きすることにより仮想物と現実の合成画像が得られる。3次元位置姿勢センサ21aと左眼用カメラ22Lと右眼用カメラ22Rの位置関係は固定されておりあらかじめキャリブレーションを行なって変換式を求めておくことができるので、この式を用いてカメラ視点の位置姿勢が決まる。この左眼用合成画像と右眼用合成画像が作業者HMDの左眼用表示器23aLと右眼用表示器23aRにそれぞれ表示される。
【0041】
ステップS250では作業者HMD表示器23aに表示されたのと同じ両眼画像が、画像符号化部32aで符号化され、映像送信部33aを通して指示者用複合現実感装置の映像受信部33bへ送信される。
【0042】
次のステップS260では、作業者用複合現実感装置の終了コマンドが入力されていればステップS270の音声通信終了処理に進みそうでなければステップS130へ戻る。
【0043】
ステップS270では音声通信処理を終了し音声コネクションを切断し、映像通信コネクションも切断する。
【0044】
ステップS280では管理サーバ60との通信を切断して処理を終了する。
【0045】
図6は、複合現実感作業空間での作業を指示/支援する指示者用複合現実感装置10bの動作を説明するフローチャートである。最初に作業空間モードの処理がステップ300から実行される。
【0046】
ステップS300では、指示者用複合現実感装置10bの初期化を行なう。このステップでは、指示者が存在する空間の世界座標系が位置姿勢計測部11bにおいて設定され、後述する3次元センサからの出力は前述した作業者用複合現実感装置10aと同じように6パラメータの組のデータとして表現される。また後述する指示者操作物IDのテーブルがクリアされる。
【0047】
次のステップS302では、管理サーバ60とのネットワーク接続を確立し両装置でデータの送受信が可能な状態にし、仮想物体情報などのデータが仮想物体送受信部31bを通してダウンロードされ、仮想物体管理部16bに蓄積される。
【0048】
ステップS304では、作業者用複合現実感装置10aとの間で音声通信コネクションと映像通信コネクションを設定し、音声通信を開始する。指示者の音声出力はスピーカ27bから音声入力はマイクロフォン28bから行なわれる。これにより作業中音声による会話が可能となる。作業者用複合現実感装置からの映像は映像受信部33bを介して可能になる。
【0049】
ステップS306では、指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が読み出され位置姿勢計測部11bに入力され仮想物体管理部16bに保持される。
【0050】
ステップS308では、HMD3次元位置センサ21bから指示者の視点の位置姿勢(xh,yh,zh,αh,βh,γh)が読み出され位置姿勢計測部11bに入力され仮想物体管理部16bに保持される。
【0051】
ステップS310では、ステップ306、308で得られたスタイラスとHMDの3次元位置姿勢データを管理サーバ60へ送信する。
【0052】
ステップS312では、作業者複合現実感装置の映像送信部33aから左右両眼の映像を映像受信部33bで受信して左眼用と右眼用画像をそれぞれ映像復号化部32bで復号する。
【0053】
ステップS314では、復号された左眼用と右眼用画像を画像出力部17へ書き込んで、指示者HMD20bの左眼用23bLと右眼用表示器23bRにそれぞれ表示する。
【0054】
次のステップS316では、指示者用複合現実感装置の終了コマンドが入力されていればステップS318の音声通信終了処理に進みそうでなければステップS306へ戻り処理を繰り返す。
【0055】
ステップS318では、音声通信コネクション、映像通信コネクションを切断し、音声処理を終了する。ステップS320では管理サーバ60との通信を切断して処理を終了する。
【0056】
この作業空間モードで指示者のスタイラスのボタンが押下されたときのボタンイベント処理を図7(1)に示す。スタイラスの第一ボタン47が押下によりステップS400が起動される。ステップS400では、指示者のスタイラス、HMDの位置姿勢を仮想物体管理部10bより読み出して管理サーバ60へ送信して、図6作業空間モードのフローに戻る。またスタイラスの第二ボタン48が押下されたときは、後述する共有仮想モードの処理に進む。共有仮想モードの処理を図6(2)のフローチャートで説明する。
【0057】
ステップS330では、指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が読み出され位置姿勢計測部11bに入力され仮想物体管理部10bに保持される。
【0058】
ステップS334では、ステップ330、332で得られたスタイラスの3次元位置姿勢データを管理サーバ60へ送信する。
【0059】
ステップS336では、作業者ポインタ、指示者ポインタ、仮想物体の変更に関する情報が管理サーバ60からのイベントとして仮想物体送受信部31bを通して受信される。
【0060】
ステップS338では、ステップS336で得られた変更情報を基に仮想物体管理部16bに格納されているシーングラフを変更する。
【0061】
ステップS340では、ステップS338で変更されたシーングラフを指示者視点(指示者HMD位置姿勢)からの左眼用CG画像と右眼用CG画像を画像生成部13bで生成して画像出力部17へ出力することにより表示器23に表示される。次にステップS330に戻る。
【0062】
以上の処理によって指示者視点による仮想物体だけからなる仮想空間映像が指示者HMDに表示される。この共有仮想モードで指示者のスタイラスボタンが押下された際の処理を図7(2)に示す。
【0063】
スタイラスの第一ボタン47が押下によりステップS410が起動される。ステップS410では、指示者のスタイラスの位置姿勢を仮想物体管理部10bより読み出して管理サーバ60へ送信して、図6(2)共有仮想モードのフローに戻る。またスタイラスの第二ボタン48が押下されたときは、ステップS420で、管理サーバの仮想物体管理部62に格納されている指示者操作物IDテーブルの該当欄をクリアするリクエストを管理サーバへ送信して、後述する単独仮想モードの処理に進む。
【0064】
単独仮想モードの処理を図6(3)のフローチャートで説明する。
【0065】
ステップS350では、指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が読み出され位置姿勢計測部11bに入力され仮想物体管理部10bに保持される。
【0066】
ステップS352では、HMD3次元位置センサ21bから指示者の視点の位置姿勢(xh,yh,zh,αh,βh,γh)が読み出され位置姿勢計測部11bに入力され仮想物体管理部10bに保持される。
【0067】
ステップS354では、現在指示者が仮想物体を操作中か否かを、図13に示す指示者操作物IDテーブルをチェックして判定する。この表は作業者複合現実感装置の仮想物体管理部16bに保持されており、指示者がどの仮想物体を操作中かを示す値が格納されている。図13の例では仮想物体Aを作業者が操作中であることを示している。操作中の仮想物体がない場合にはnullが格納されている。このテーブルをチェックして仮想物体を操作中の場合にはステップS356へそうでなければステップS358へ進む。
【0068】
ステップS356では、指示者のスタイラス位置へ仮想物体を移動するイベントを発行する。
【0069】
ステップS358では、指示者のスタイラス位置や仮想物体の変更がある場合にはそれをシーングラフへ反映させ、HMDの位置姿勢データを視点位置とする。
【0070】
ステップS360では、シーングラフのデータを画像生成部13bにて左眼用CGと右眼用CGを生成し画像出力部17へ書き込んでこれらのCGを表示器23bへ表示させる。
【0071】
また指示者用複合現実感装置10bでは、上記のフローの他にバックグラウンドで管理サーバからのイベントを受信して適宜シーングラフの変更などが行なわれるものとする。
【0072】
この単独仮想モードで指示者のスタイラスボタンが押下された際の処理を図7(3)に示す。スタイラスの第一ボタン47の押下によりステップS430が起動される。ステップ430では、指示者が仮想物体を操作中か否かを図13の指示者操作物IDテーブルをチェックして判定する。仮想物体を操作中の場合にはステップS432へ進み、そうでなければステップS434へ進む。
【0073】
ステップS432では、図13の指示者操作物IDテーブルをクリアしnullを格納して、図6(3)の単独仮想モードのフローに戻る。
【0074】
ステップS434では指示者のスタイラス位置と仮想空間に存在する全ての仮想物体との距離を比較して次のステップS436へ進む。
【0075】
ステップS436では、距離がある閾値以下の仮想物体が存在すれば(複数の場合距離の短い方を選ぶ)その仮想物体を操作対象物としてステップS438に進み、存在しなければ図6(3)の単独仮想モードのフローに戻る。
【0076】
ステップS438では、ステップS436で求められた操作対象物IDを図13の指示者操作物IDテーブルへ書き込み第一ボタンイベント処理を終了する。
【0077】
スタイラスの第二ボタン48の押下によりステップS440が起動される。ステップS440では。図13の指示者操作物IDテーブルをクリアしてnullを格納する。
【0078】
ステップS442では、仮想物体管理部16bに格納されている仮想物体のシーングラフ全体を管理サーバの仮想物体管理部62へアップロードするリクエストを管理サーバへ送り、データをアップロードして、作業空間モードのフローのステップS306からの処理を行なっていく。
【0079】
次に管理サーバ60での処理を図8のフローチャートを用いて説明する。管理サーバでは作業者複合現実感装置10aと指示者複合現実感装置10bからのリクエストやイベントを受付けてその処理を行なう。
【0080】
作業者スタイラス処理は、作業者複合現実感装置からスタイラス/HMD位置イベントを受信した際に起動される。ステップS500では、作業者スタイラス/HMDの位置姿勢を仮想物体管理部62に格納されているシーングラフに反映させる。
【0081】
ステップS502では作業者が仮想物体を操作中か否かを図12の作業者/指示者操作物IDテーブルをチェックして判定する。作業者/指示者操作物IDテーブルは仮想物体管理部62にあり、作業者の操作している仮想物体と指示者が操作している仮想物体のIDが格納されている。図12の例では、作業者はどの仮想物体も操作していないのでnullが格納されており、指示者は仮想物体Cを操作している。作業者操作物IDに仮想物体IDがあればステップS504へそうでなければステップS506へ進む。
【0082】
ステップS504では、ステップ500で更新されたスタイラス位置へ操作中の仮想物体を移動させ、仮想物体管理部62に格納されているシーングラフを変更して、ステップS506へ進む。
【0083】
ステップS506では、更新された作業者スタイラス、HMDと仮想物体の情報を作業者ホストへ送信して、作業者スタイラス処理を終了する。
【0084】
作業者ボタン処理は、作業者がスタイラスのボタンを押下したときに起動される処理で、ステップS510では、現在作業者が仮想物体を操作中か否かを図12の作業者操作物IDを調べて、nullであれば操作中でないと判定しステップS514に進み、作業者操作物IDが格納されていれば操作中と判定してステップS512に進む。
【0085】
ステップS512では、図12の作業者操作物IDの内容をnullに置き換え作業者ボタンイベントの処理を終了する。
【0086】
ステップS514では送信されてきた現在の作業者のスタイラス位置と作業者複合現実空間全ての仮想物体の位置を比較して次のステップに進む。
【0087】
ステップS516では、距離がある閾値以下の仮想物体が存在すれば(複数の場合距離の短い方を選ぶ)その仮想物体を操作対象物としてステップS518に進み、存在しなければ作業者ボタンイベントの処理を終了する。
【0088】
ステップS518では、前ステップで求められた操作対象物IDと図12の指示者操作物IDを調べ、同じであれば操作対象物は指示者が操作中と判定し作業者ボタンイベント処理を終了し、同じでなければステップS520に進む。
【0089】
ステップS520では、ステップS516で求められた操作対象物IDを図12の作業者操作物IDへ書き込み作業者ボタンイベント処理を終了する。
【0090】
指示者スタイラス処理Iは、図6(1)作業空間モードのステップ310にて送信されたイベント処理フローである。ステップS530では、指示者の視点位置であるHMD3次元位置センサ21bからの位置姿勢(xh,yh,zh,αh,βh,γh)と指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が受信される。これらは指示者の存在する空間の世界座標系での値であるので、スタイラスの位置姿勢を視点位置姿勢からの相対位置に変換して指示者スタイラス相対位置(xd,yd,zd,αd,βd,γd)=(xs−xh,ys−yh,zs−zh,αs−αh,βs−βh,γs−γh)を計算する。
【0091】
ステップS532では、前ステップで計算された指示者スタイラス相対位置を新たなスタイラスイベントとして仮想物体管理部62のシーングラフを変更する。
【0092】
ステップS534では指示者が仮想物体を操作中か否かを図12の作業者/指示者操作物IDテーブルの指示者操作物IDをチェックして判定する。指示者操作物IDがnullの場合には仮想物体を操作中でないと判定し、ステップS538へ、そうでなければ稼動物体を操作中と判定しステップS536へ進む。
【0093】
ステップS536では、ステップ532で更新されたスタイラス位置へ操作中の仮想物体を移動させ、仮想物体管理部62に格納されているシーングラフを変更して、ステップS538へ進む。
【0094】
ステップS538では、更新された指示者スタイラス、HMDと仮想物体の情報を作業者用複合現実感装置10a送信して、指示者スタイラス処理Iを終了する。
【0095】
指示者スタイラス処理IIは、図6(2)共有仮想モードのステップ334にて送信されたイベント処理フローである。ステップS540では、指示者の視点位置であるHMD3次元位置センサ21bからの位置姿勢と指示者のスタイラス41bの3次元位置姿勢情報イベントが受信され、この情報をもとに仮想物体管理部62のシーングラフを変更する。
【0096】
ステップS542では指示者が仮想物体を操作中か否かを図12の作業者/指示者操作物IDテーブルの指示者操作物IDをチェックして判定する。指示者操作物IDがnullの場合には仮想物体を操作中でないと判定し、ステップS546へ、そうでなければ稼動物体を操作中と判定しステップS544へ進む。
【0097】
ステップS544では、ステップ540で更新されたスタイラス位置へ操作中の仮想物体を移動させ、仮想物体管理部62に格納されているシーングラフを変更して、ステップS546へ進む。
【0098】
ステップS546では、更新された指示者スタイラスと仮想物体の情報を作業者用複合現実感装置10aと指示者用複合現実感装置10bへ送信して、指示者スタイラス処理IIを終了する。
【0099】
指示者第一ボタンI処理は、指示者が作業空間モードでスタイラス第一ボタンを押下した時に起動される図7(1)のステップS400処理によってサーバに送信されるイベント処理である。ステップS550では、指示者の視点位置であるHMD3次元位置センサ21bからの位置姿勢(xh,yh,zh,αh,βh,γh)と指示者のスタイラス41bの3次元位置姿勢情報(xs,ys,zs,αs,βs,γs)が受信される。これらは指示者の存在する空間の世界座標系での値であるので、スタイラスの位置姿勢を視点位置姿勢からの相対位置に変換して指示者スタイラス相対位置(xd,yd,zd,αd,βd,γd)=(xs−xh,ys−yh,zs−zh,αs−αh,βs−βh,γs−γh)を計算する。
【0100】
ステップS552では、現在指示者が仮想物体を操作中か否かを図12の指示者操作物IDを調べて、nullであれば操作中でないと判定しステップS556に進み、指示者操作物IDが格納されていれば操作中と判定してステップS554に進む。
【0101】
ステップS554では、図12の指示者操作物IDの内容をnullに置き換え作業者ボタンイベントの処理を終了する。
【0102】
ステップS556では仮想物体管理部62に格納されている指示者の現在のスタイラス位置と作業者複合現実空間全ての仮想物体の位置を比較して次のステップに進む。
【0103】
ステップS558では、距離がある閾値以下の仮想物体が存在すれば(複数の場合距離の短い方を選ぶ)その仮想物体を操作対象物としてステップS560に進み、存在しなければ作業者ボタンイベントの処理を終了する。
【0104】
ステップS560では、前ステップで求められた操作対象物IDと図12の作業者操作物IDを調べ、同じであれば操作対象物は作業者が操作中と判定し指示者ボタンイベント処理Iを終了し、同じでなければステップS562に進む。
【0105】
ステップS562では、ステップS558で求められた操作対象物IDを図12の指示者操作物IDへ書き込み指示者ボタンイベント処理Iを終了する。
【0106】
指示者第一ボタンII処理は、指示者が共有仮想モードでスタイラス第一ボタンを押下した時に起動される図7(2)のステップS410処理によってサーバに送信されるイベント処理である。ステップS570では、現在指示者が仮想物体を操作中か否かを図12の指示者操作物IDを調べて、nullであれば操作中でないと判定しステップS574に進み、指示者操作物IDが格納されていれば操作中と判定してステップS572に進む。
【0107】
ステップS572では、図12の指示者操作物IDの内容をnullに置き換え作業者ボタンイベントの処理を終了する。
【0108】
ステップS574では送信されてきた現在の指示者のスタイラス位置と作業者複合現実空間全ての仮想物体の位置を比較して次のステップに進む。
【0109】
ステップS576では、距離がある閾値以下の仮想物体が存在すれば(複数の場合距離の短い方を選ぶ)その仮想物体を操作対象物としてステップS578に進み、存在しなければ作業者ボタンイベントの処理を終了する。
【0110】
ステップS578では、前ステップで求められた操作対象物IDと図12の作業者操作物IDを調べ、同じであれば操作対象物は作業者が操作中と判定し指示者ボタンイベント処理IIを終了し、同じでなければステップS580に進む。
【0111】
ステップS580では、ステップS576で求められた操作対象物IDを図12の指示者操作物IDへ書き込み指示者ボタンイベント処理IIを終了する。
【0112】
指示者操作物IDクリア処理は、指示者が共有仮想モードでスタイラス第二ボタンを押下した時に起動される図7(2)のステップS420処理によってサーバに送信されるイベント処理である。ステップS584では、仮想物体管理部62に格納されている指示者/作業者操作物IDテーブルの指示者操作物IDの内容をnullに置き換えて指示者操作物IDクリア処理を終了する。
【0113】
指示者シーングラフアップロード処理は、指示者が単独仮想モードでスタイラス第二ボタンを押下した時に起動される図7(3)のステップS442処理によってサーバに送信されるイベント処理である。ステップS588では、指示者複合現実感装置からアップロードされてきた仮想物体のシーングラフで仮想物体管理部62に蓄積されているシーングラフを置き換える。ステップS590では、置き換えられたシーングラフの情報を作業者複合現実感装置へダウンロードして、処理を終了する。
【0114】
本実施形態では、作業者のモード切替えボタンを図3の48に示すスタイラスの第二ボタンとしたがこれに限るものではなく、これを次モードに移る、前モードに戻るの二つのボタンに割り当ててもよいし、モードの数だけボタンを準備してそれぞれのモードに進む機能を割り当てても良い。
【0115】
また指示者が共有仮想モードの時に作業者に提示される表示器には、図4(2)に示すような仮想物体を仮想空間の背景に配置した映像が映されるが、指示者が共有仮想モードに入る瞬間の作業者複合現実空間の映像(例えば図4(1)に示すような映像)をフリーズした背景を用いても良い。この場合作業者が視点を変えても背景映像は変化しないが、共有仮想物体の視点は自由に変更できるので発明の趣旨は損なわれない。
【0116】
(第二の実施形態)
第一の実施形態において、指示者は任意の時点で作業空間モード、共有仮想モード、単独仮想モードへ移行できる。しかしながら作業者表示装置23aの映像は、指示者のモード変化を反映しない。このため作業者にとっては、指示者がどのモードにいるのかが判断できないので、コミュニケーションが円滑に行なわれない可能性がある。そこで第二の実施形態では、作業者が作業者複合現実感映像を見ながら、指示者のモードを示す識別できるようにする。具体的には、指示者のポインタ41bの色をモードによって変えるようにする。例えば図2(1)で、指示者が作業視点モードの場合には、指示者ポインタ41bを緑色にし、共有仮想モードの場合には指示者ポインタ41bを青色にし、単独仮想モードの場合には指示者ポインタ41bを茶色にする。このようにする事で、作業者は作業者複合現実空間の中で指示者のポインタの色により指示者がどのモードであるかを判断することができる。この動作の具体的処理を以下に記述する。
【0117】
図6に示す指示者処理フローのステップS300初期化処理の時点で作業空間モードでのポインタの色が設定されているとする。上述の例では青色が設定されている。図7に示す各モードで作業者がスタイラスの第二ボタンを押した際に起動される第二ボタン処理が第一の実施例と異なるので、図9で説明する。作業空間モードでの第二ボタン処理を図9(1)に示す。作業者ポインタの色変更イベント(上述の例の場合緑色への変更イベント)を管理サーバへ送信するステップS402が第一の実施例に加わっている。同様に共有仮想モードの第二ボタン処理ではステップS422(上述の例の場合茶色への変更イベント送信)処理が、単独仮想モードではステップS444(上述の例の場合青色への変更イベント送信)の処理が加わっている。また管理サーバで色変更処理を受信した場合の処理を図9(4)に示す。ステップS592では仮想物体管理部62に蓄積されているシーングラフ中のポインタを指定された色へ変更し、次のステップS594でこの色変更イベントを作業者複合現実感装置と指示者複合現実感装置へ送信する。作業者複合現実感装置と指示者複合現実感装置ではこの色変更イベントによりそれぞれに蓄積されているシーングラフ中の指示者ポインタ41bの色を変更する。これらの処理によって作業者のモードごとに異なる色の作業者ポインタを表示することができる。
【0118】
本実施形態では指示者ポインタの色で、作業者が指示者のモードを識別できるようにしたが色に限定されず、ポインタの形状など視覚的に識別できるものであれば構わない。
【0119】
(第三の実施形態)
第一の実施形態において、指示者が作業者空間モードの時には作業者の視点を両者が共有しているが、指示者が共有仮想モードの時には作業者、指示者がそれぞれ独立した視点で動作することになる。この時お互いのポインタは各々が見ている表示器の映像に写っているが、お互いの視点位置を知ることができない。このような状況では、共有仮想物体をまったく異なった視点で眺めながら作業指示することもあるため、お互いのコミュニケーションに誤解を生じる可能性もある。そこで第三の実施形態では、指示者が共有仮想モードの時に作業者の表示器23aに指示者の視点を、指示者の表示器23bに作業者の視点を表示することにより、お互いの視点を確認できるようにする。図10は、指示者が共有仮想モード時の表示器の画面例である。(1)は作業者表示装置23aの画面で仮想物体43と作業者ポインタ41a、指示者ポインタ41bに加えて指示者の視点が55bとして示されている。また図9(2)には同様に作業者の視点55aが示されている。このようにして両者がお互いの視点を確認することができる。この動作の具体的処理を第一の実施形態と異なる処理を以下に記述する。
【0120】
指示者用仮想現実感装置における指示者処理フローのうち図6(2)に示す共有仮想モードの処理が図11(1)のようになる。異なる部分はステップS332でHMDの3次元位置姿勢を位置姿勢計測部11bより取得する。またステップS335では、ステップS332で得られたスタイラスの位置姿勢とステップ335で得られたHMDの位置姿勢のイベントを管理サーバ60へ送信する。またステップS336では、ポインタの情報に加えて、HMDの情報も受信することにより図10に示すような視点を示すCGを表示することができる。また図5に示す作業者用複合現実感装置における作業者処理フローのステップS190でポインタ、仮想物体の情報に加えてHMDの情報も受信することにより視点を表示するCGを表示することができる。管理サーバ60での処理は図8(4)に示す指示者スタイラス処理II処理が図11(2)のように変更される。ステップS541は図8(4)のステップ540の処理に加えて指示者のHMDの3次元位置姿勢を取得する処理が必要になる。またステップS547では、図8(4)のステップS546に加えて指示者のHMDの情報も送信することになる。また図8(7)の指示者操作物IDクリア処理は図11(3)のように変更になる。ステップS596では、仮想物体管理部62に格納されている指示者/作業者操作物IDテーブルの指示者操作物IDの内容をnullに置き換え、指示者/作業者の視点を表すCGをシーングラフから削除する。ステップS598では、この指示者/作業者視点CGクリアイベントを作業者用複合現実感装置と指示者用複合現実感装置へ送信して処理を終了する。
【0121】
本実施形態では視点を示す画像として顔をあらわすCGを用いたが、視線を示す矢印を用いたり、作業者・指示者の実写映像を用いたりすることも可能で、視点位置が視覚的に認識されれば本発明の趣旨は達成できる。
【図面の簡単な説明】
【0122】
【図1】第一の実施形態における複合現実感遠隔協調作業支援システムの機能構成を示すブロック図である。
【図2】作業者複合現実感空間の様子と遠隔の指示者用複合現実感装置の画面表示例を示す図である。
【図3】指示者用複合現実感装置で用いられる指示者用スタイラスのボタン配置例を示す図である。
【図4】指示者用複合現実感装置におけるモード変更時の画面表示例を示す図である。
【図5】第一の実施形態における作業者用複合現実感装置での作業者処理のフローチャートである。
【図6】第一の実施形態における指示者用複合現実感装置での指示者処理のフローチャートである。
【図7】第一の実施形態における指示者用複合現実感装置でのボタンイベント処理のフローチャートである。
【図8】第一の実施形態における管理サーバでの受信イベント処理のフローチャートである。
【図9】第二の実施形態における指示者用複合現実感装置での指示者処理と管理サーバでの受信イベント処理の一部のフローチャートである。
【図10】第三の実施形態における作業者用複合現実感装置と指示者用複合現実感装置の画面表示例を説明する図である。
【図11】本第二の実施形態における指示者用複合現実感装置での指示者処理と管理サーバでの受信イベント処理の一部のフローチャートである。
【図12】作業者/指示者操作物IDテーブルの一例を示す図である。
【図13】指示者操作物IDテーブルの一例を示す図である。
【特許請求の範囲】
【請求項1】
第1のユーザが存在する空間に仮想物体を重畳表示する複合現実空間画像を、第2のユーザが共有する情報処理方法であって、
前記第1のユーザが装着している第1撮像部の映像と、前記第1撮像部の位置姿勢に基づく仮想物体画像とに基づく複合現実空間画像を取得する複合現実空間画像取得工程と、
前記第1のユーザによって行われた前記仮想物体に対するイベント情報を取得するイベント情報取得工程と、
前記第2のユーザの視点位置姿勢情報を取得する第2ユーザ指定位置姿勢情報取得工程と、
前記第2のユーザの視点位置姿勢情報に基づき、前記イベント情報に応じた仮想物体画像を生成する生成工程とを有し、
前記第1画像を前記第2のユーザに提示する第1モードと、前記仮想物体画像を前記第2のユーザに提示する第2モードとを有することを特徴とする情報処理方法。
【請求項2】
さらに、前記イベント情報に基づかずに、前記第2の視点位置姿勢情報に応じた仮想物体画像を前記第2のユーザに提示する第3のモードを有することを特徴とする請求項1記載の情報処理方法。
【請求項3】
請求項1または2記載の情報処理方法をコンピュータにて実現するためのプログラム。
【請求項4】
作業者が存在する空間に仮想物体を重畳表示する作業者複合現実空間を遠隔から共有する情報処理システムであって、
作業者の視点からの前記作業者複合現実空間のステレオ映像を指示者に伝送するステレオ映像伝送手段、
前記仮想物体を前記作業者と前記指示者で共有する仮想物体共有手段、
作業者と指示者がステレオ映像を立体視できる立体視手段とを備え、
前記指示者が、前記作業者視点からのステレオ映像を共有するモードと、前記作業者視点と独立した視点で前記仮想物体を操作するモードを有することを特徴とする情報処理システム。
【請求項5】
前記作業者と独立した視点で前記仮想物体を操作するモードは、仮想物体を共有するモードと共有しないモードとからなる請求項4に記載の情報処理システム。
【請求項6】
前記作業者が、前記作業者視点からのステレオ映像を共有するモードと、前記作業者と独立した視点で前記仮想物体を操作するモードを切替える切替え手段を有する請求項4に記載の情報処理システム。
【請求項7】
前記作業者の立体視手段を用いて前記指示者のモードを識別する識別手段を有する請求項4に記載の情報処理システム。
【請求項8】
前記作業者の立体視手段を用いて前記指示者の視点位置を表示し、前記指示者の立体視手段を用いて前記作業者の視点位置を表示する表示手段を有する請求項4に記載の情報処理システム。
【請求項1】
第1のユーザが存在する空間に仮想物体を重畳表示する複合現実空間画像を、第2のユーザが共有する情報処理方法であって、
前記第1のユーザが装着している第1撮像部の映像と、前記第1撮像部の位置姿勢に基づく仮想物体画像とに基づく複合現実空間画像を取得する複合現実空間画像取得工程と、
前記第1のユーザによって行われた前記仮想物体に対するイベント情報を取得するイベント情報取得工程と、
前記第2のユーザの視点位置姿勢情報を取得する第2ユーザ指定位置姿勢情報取得工程と、
前記第2のユーザの視点位置姿勢情報に基づき、前記イベント情報に応じた仮想物体画像を生成する生成工程とを有し、
前記第1画像を前記第2のユーザに提示する第1モードと、前記仮想物体画像を前記第2のユーザに提示する第2モードとを有することを特徴とする情報処理方法。
【請求項2】
さらに、前記イベント情報に基づかずに、前記第2の視点位置姿勢情報に応じた仮想物体画像を前記第2のユーザに提示する第3のモードを有することを特徴とする請求項1記載の情報処理方法。
【請求項3】
請求項1または2記載の情報処理方法をコンピュータにて実現するためのプログラム。
【請求項4】
作業者が存在する空間に仮想物体を重畳表示する作業者複合現実空間を遠隔から共有する情報処理システムであって、
作業者の視点からの前記作業者複合現実空間のステレオ映像を指示者に伝送するステレオ映像伝送手段、
前記仮想物体を前記作業者と前記指示者で共有する仮想物体共有手段、
作業者と指示者がステレオ映像を立体視できる立体視手段とを備え、
前記指示者が、前記作業者視点からのステレオ映像を共有するモードと、前記作業者視点と独立した視点で前記仮想物体を操作するモードを有することを特徴とする情報処理システム。
【請求項5】
前記作業者と独立した視点で前記仮想物体を操作するモードは、仮想物体を共有するモードと共有しないモードとからなる請求項4に記載の情報処理システム。
【請求項6】
前記作業者が、前記作業者視点からのステレオ映像を共有するモードと、前記作業者と独立した視点で前記仮想物体を操作するモードを切替える切替え手段を有する請求項4に記載の情報処理システム。
【請求項7】
前記作業者の立体視手段を用いて前記指示者のモードを識別する識別手段を有する請求項4に記載の情報処理システム。
【請求項8】
前記作業者の立体視手段を用いて前記指示者の視点位置を表示し、前記指示者の立体視手段を用いて前記作業者の視点位置を表示する表示手段を有する請求項4に記載の情報処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−293605(P2006−293605A)
【公開日】平成18年10月26日(2006.10.26)
【国際特許分類】
【出願番号】特願2005−112109(P2005−112109)
【出願日】平成17年4月8日(2005.4.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年10月26日(2006.10.26)
【国際特許分類】
【出願日】平成17年4月8日(2005.4.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]