【文献】
北原格, 外2名,“気の利いた視点位置からの観戦が可能な自由視点サッカー映像生成手法”,画像ラボ,日本,日本工業出版株式会社,2008年 2月 1日,第19巻, 第2号,p.20-26
【文献】
加藤博一, 外3名,“マーカー追跡に基づく拡張現実感システムとそのキャリブレーション”,日本バーチャルリアリティ学会論文誌,日本,日本バーチャルリアリティ学会,1999年12月31日,第4巻, 第4号,p.607-616
【文献】
仲谷善雄,“拡張現実感の産業分野への応用事例”,第37回人工知能セミナー講演テキスト,日本,社団法人人工知能学会,1998年12月18日,p.8-19
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0019】
放送設備の保守は、電波の安定確保に対する重要な業務の一つである。操作を誤ると放送事故につながるおそれがある。そのため、保守の実施にあたり操作時のダブルチェック等により誤認識等のミスを低減させている。しかし、誤認識等は、人間の性質でもあるため、その防止が難しい。
【0020】
一方、現実空間に位置及び姿勢を整合させながら情報を画面に重畳するAR技術は、その直感的な情報提示方法により、誤認等によるミスを防ぐツールに活用できると考えられる。
【0021】
本発明に係る電子機器1は、ARを活用し、誤認識等のミスを低減させる構成を有する。以下に、電子機器1の具体的な構成と動作について説明する。
【0022】
電子機器1は、
図1に示すように、撮像部11と、撮像画像取得部12と、表示部13と、検出部14と、位置算出部15と、仮想撮像部配置部16と、レンダリング部17と、重畳部18と、記憶部19と、選択部20と、読出部21と、を備える。電子機器1は、スマートフォン又はタブレットのような機器が該当するが、これに限られず、使用者の身体に装着して利用することができる端末(ウェアラブルデバイス)であってもよい。また、電子機器1がヘッドマウントディスプレイとPCの構成で実現される場合には、ヘッドマウントディスプレイは、使用者に装着され、PCは、リュック等に入れて使用者に携行される形態が考えられる。
【0023】
撮像画像取得部12は、撮像部11(カメラ)により現実空間を撮像して得られた撮像画像を取得する。なお、本実施例に係る現実空間には、
図1に示すように、所定の機器2と、所定の機器2の前面に所定のマーカーM(以下、マーカーMという)が固定されていることを想定している。よって、撮像画像には、所定の機器2とマーカーMが含まれている。なお、以下では、所定の機器2を放送機2とも呼ぶが、放送機に限定されない。
また、マーカーMは、例えば、後述する非特許文献1に示されているような中抜きの黒縁正方形により形成されている。内部の四隅は、各マーカーを識別するためのパターンとして利用される。
【0024】
表示部13は、撮像画像取得部12で取得された撮像画像を表示する。表示部13は、表示画面の前面にタッチパネルが配置されている。ユーザは、タッチパネルを操作することにより、様々な指示を電子機器1に送ることができる。
【0025】
検出部14は、撮像画像取得部12で取得された撮像画像に含まれているマーカーMを検出し、識別する。マーカーMは、複数種類存在する。検出部14は、その種類を識別する。
【0026】
位置算出部15は、現実空間において、撮像部11とマーカーMとの相対的な位置及び姿勢を算出する。なお、以下では、位置とは、平行移動成分を意味し、姿勢とは、回転成分を意味する。
【0027】
仮想撮像部配置部16は、位置算出部15による算出結果に基づいて、撮像部11の内部パラメータ(例えば、焦点距離、画像サイズ、歪係数等)により設定される仮想撮像部(仮想カメラ)を仮想空間内の所定の場所に配置する。
なお、内部パラメータは、検出部14及び位置算出部15においても、後述する非特許文献1に記載の手法により利用される。
【0028】
記憶部19は、現実空間に配置されている所定の機器を操作するための各手順と、手順ごとに表示すべき仮想オブジェクトと、前記仮想オブジェクトの配置情報とが対応付けられているテーブルを有する。仮想オブジェクトの配置情報とは、仮想オブジェクトを仮想空間において配置する位置及び姿勢、スケール等の情報である。なお、記憶部19に記憶されているテーブルの一例として、後述する
図16に手順−仮想オブジェクト関連付けマトリックスを示す。
選択部20は、手順を選択する。
読出部21は、選択部20により選択されている手順に基づいて、記憶部19を参照し、対応する仮想オブジェクト及びその位置情報を読み出す。
レンダリング部17は、読出部21により読み出された仮想オブジェクトをその位置情報にしたがって仮想空間内に配置し、仮想撮像部により仮想空間内を撮像する。
重畳部18は、表示部13に表示されている撮像画像にレンダリング部17で撮像した結果を重畳する。
【0029】
ここで、現実空間において、撮像部11とマーカーMとの相対的な位置及び姿勢を求め、仮想空間内に仮想撮像部を配置し、マーカーMに基づく仮想オブジェクトが仮想空間内で配置される位置及び姿勢を算出する手順について
図2を参照しながら説明する。
【0030】
撮像部11の座標系Cは、撮像部11とマーカーMとの相対的な位置及び姿勢をT
cmとし、これにマーカーMの座標系を乗算することにより算出することができる。なお、T
cmは、マーカー座標系をカメラ座標系に変換するための変換行列である。
【数1】
また、T
cmは、例えば、下記非特許文献1に記載の手法により算出する。
(非特許文献1)
マーカー追跡に基づく拡張現実感システムとそのキャリブレーション、加藤博一,Mark Billinghurst,浅野浩一,橘啓八郎、日本バーチャルリアリティ学会論文誌 巻:4号:607−616(発行年:1999年12月31日)
【0031】
表示部13のスクリーン座標系は、射影行列Pを用いて、T
cmとマーカーMの座標系を乗算することにより算出することができる。なお、射影行列Pは、事前にカメラキャリブレーションにより求まっている行列である。
【数2】
【0032】
電子機器1は、撮像部11により撮像された現実空間のマーカーMを基準にして、所定の位置及び姿勢に仮想オブジェクトを表示部13に重畳して表示することができる。
【0033】
ここで、選択部20と読出部21の動作について説明する。
ユーザは、
図3に示すように、表示部13に表示されている「手順」(
図3中のA1)をタップ操作し、手順表示機能を起動して「手順リスト」(
図3中のA2)を表示させ、「手順リスト」の中から所望の手順をタップ操作する。選択部20は、タップ操作された手順が選択されたものとして認識する。なお、手順リストに表示される各手順は、それぞれ具体的な機器の操作方法を表示してもよい。
【0034】
読出部21は、選択された手順(
図3に示す例の場合「手順(4)」が選択された)に基づいて、操作禁止の仮想オブジェクト(
図3中のAR1)と手順(4)の仮想オブジェクト(
図3中のAR2)を読み出す。
【0035】
なお、「手順リスト」の各手順は、手順の番号と、位置及び姿勢の計算を行うときに用いるマーカーを示す情報と、重畳する仮想オブジェクトの情報と、完了フラグ(チェックの有無)と、選択フラグ(選択の有無)等の値を持っている。
よって、電子機器1は、「手順リスト」の中の一の手順が選択された場合、選択された手順が有している各種値に基づいて、処理を実行する。
【0036】
また、表示部13に表示されている「系統」(
図3中のA3)をタップ操作すると、系統表示機能が起動し、表示部13に系統図(
図3中のA4)が表示されてもよい。また、系統図には、現在、表示部13に表示されている仮想オブジェクトに対応する表示も重畳して行われ、操作の意味と本線系統を操作者に意識させることができる。なお、
図3中に示す系統図は、一例であって、これに限られない。
【0037】
かかる構成によれば、電子機器1は、手順ごとに異なる仮想オブジェクトを表示部13に表示される撮像画像に重畳して表示できるので、放送機2の操作について、各手順において仮想オブジェクトにより補助することができ、操作の誤り等の低減に役立てることができる。
【0038】
上述では、一台の撮像部11によって、放送機2とマーカーMを撮影できた場合の一例について説明したが、これに限られず、撮像部11は、
図4に示すように、第1撮像部11aと第2撮像部11bとによって構成されていてもよい。なお、撮像部11(第1撮像部11a及び第2撮像部11b)は、電子機器1に固定されている構成でもよく、また、
図4に示すように、電子機器1に固定されず自由に角度を調整できる構成でもよい。
【0039】
第1撮像部11aは、マーカーMを撮像する。
第2撮像部11bは、放送機2を撮像する。
表示部13は、第2撮像部11bによって撮像された撮像画像を表示する。
検出部14は、第1撮像部11aによって撮像された撮像画像に含まれているマーカーMを検出する。
【0040】
位置算出部15は、現実空間において、第1撮像部11aとマーカーMとの相対的な位置及び姿勢を算出し、当該算出結果と、第1撮像部11a及び第2撮像部11bの相対的な位置及び姿勢とに基づいて、第2撮像部11bとマーカーMとの相対的な位置及び姿勢を算出する。
【0041】
仮想撮像部配置部16は、位置算出部15による算出結果に基づいて、第2撮像部11bの内部パラメータ(例えば、焦点距離、画像サイズ、歪係数等)により設定される仮想撮像部を仮想空間内の所定の場所に配置する。
【0042】
ここで、現実空間において、第1撮像部11aとマーカーMとの相対的な位置及び姿勢を求め、第1撮像部11aと第2撮像部11bとの相対的な位置及び姿勢と、マーカーMの座標から第2撮像部11bの位置及び姿勢を算出する手順について
図4を参照しながら説明する。
【0043】
第2撮像部11bの位置及び姿勢C
2は、第1撮像部11aとマーカーMとの相対的な位置及び姿勢をT
cmとし、これに第1撮像部11aと第2撮像部11bとの相対的な位置及び姿勢T
ccと、マーカーMの位置及び姿勢とを乗算することにより算出することができる。
C
2=T
ccT
cmM ・・・(3)
なお、C
2は、カメラ座標系を示し、Mは、マーカー座標系を示し、T
ccとT
cmは、マーカー座標系をカメラ座標系に変換するための変換行列である。
また、T
ccは、既知であるものとするが、以下のように算出することができる。なお、以下では、第1撮像部11aで撮像するマーカーをマーカーM
1とし、第2撮像部11bで撮像するマーカーをマーカーM
2として説明する。
【0044】
第1撮像部11aの位置及び姿勢C
1は、第1撮像部11aとマーカーM
1との相対的な位置及び姿勢T
cm1と、マーカーM
1を乗算することにより算出することができる。
C
1=T
cm1M
1 ・・・(4)
なお、C
1は、カメラ座標系を示し、M
1は、マーカー座標系を示し、T
cm1は、マーカー座標系をカメラ座標系に変換するための変換行列である。
【0045】
また、第2撮像部11bの位置及び姿勢C
2は、第2撮像部11bとマーカーM
2との相対的な位置及び姿勢T
cm2と、マーカーM
2を乗算することにより算出することができる。
C
2=T
cm2M
2 ・・・(5)
なお、M
2は、マーカー座標系を示し、T
cm2は、マーカー座標系をカメラ座標系に変換するための変換行列である。
また、マーカーM
2は、マーカーM
1とマーカーM
2との相対的な位置及び姿勢T
mmと、マーカーM
1を乗算することにより算出することができる。なお、T
mmは、マーカーM
1とマーカーM
2の配置により事前に既知となっている。
M
2=T
mmM
1 ・・・(6)
なお、T
mmは、変換行列である。
また、第2撮像部11bの位置及び姿勢C
2は、第1撮像部11aと第2撮像部11bとの相対的な位置及び姿勢T
ccと第1撮像部11aを乗算することにより算出することができる。
C
2=T
ccC
1 ・・・(7)
(3)式〜(7)式に基づいて、T
ccは、(8)式により算出することができる。
T
cc=T
cm2T
mmT
cm1−1 ・・・(8)
【0046】
なお、上述では、第1撮像部11aと第2撮像部11bとを固定し、位置及び姿勢が変わらないことを前提にしたが、第1撮像部11aと第2撮像部11bをサーボ等で駆動し、駆動したときの制御情報に基づいて位置及び姿勢(T
cc)を算出することもでき、第1撮像部11aと第2撮像部11bとを固定にしなくてもよい。例えば、サーボ等で動かしうる第1撮像部11aと第2撮像部11bの位置及び姿勢について、事前にそれぞれの位置及び姿勢でT
ccを取得してサーボの制御情報を対応付けしておくことにより、位置及び姿勢を算出する。
【0047】
かかる構成によれば、電子機器1は、互いの位置及び姿勢を既知とした撮像部(カメラ)を複数台用意し、情報重畳先を撮影する第2撮像部11bにマーカーMが映ってない場合でも、第1撮像部11aで撮影しているマーカーMから、第2撮像部11bの位置及び姿勢が計算できるので、放送機2の操作について、各手順において仮想オブジェクトにより補助することができ、操作の誤り等の低減に役立てることができる。
【0048】
上述では、一の電子機器1によって、マーカーの設置位置に制限されずに情報提示を行う実施例について説明したが、これに限られず、複数の電子機器(例えば、第1電子機器1aと第2電子機器1b)がネットワークを介して接続される通信システム100において、マーカーの設置位置に制限されずに情報提示を行う構成でもよい。
【0049】
具体的には、通信システム100は、監督者側の第1電子機器1aと操作者側の第2電子機器1bとを同期させ、監督者側の環境に固定されているマーカーと第1電子機器1aとの相対的な位置及び姿勢を第1電子機器1aから第2電子機器1bに送信することにより、操作者側の環境にマーカーが固定されていなくても、情報提示を行うことができる。
【0050】
このように構成される通信システム100は、
図5に示すように、監督者と操作者の役割分担を明確化でき、監督者が進行管理を行うことにより、操作者は、放送機2の操作の作業に集中できるメリットがある。例えば、第1電子機器1aと第2電子機器1bを同期させておき、第1電子機器1aを利用して監督者が手順(1)と手順(2)に操作が完了したことを示すチェックを行い、手順(3)に操作中であることを示すチェックを行うと、第2電子機器1bの表示部には、手順(1)と手順(2)には操作が完了したことを示すチェックが表示され、手順(3)には操作中を示すチェックが表示される。
【0051】
以下に、通信システム100の具体的な構成と動作について説明する。なお、第1電子機器1aと第2電子機器1bは、基本的に同じ構成である。
【0052】
第1電子機器1aは、
図6に示すように、第3撮像部11cと、第1撮像画像取得部12aと、第1表示部13aと、第1検出部14aと、第1位置算出部15aと、第1仮想撮像部配置部16aと、第1レンダリング部17aと、第1重畳部18aと、第1記憶部19aと、第1選択部20aと、第1読出部21aと、第1送受信部22aと、を備える。
【0053】
第1撮像画像取得部12aは、第3撮像部11cにより現実空間を撮像して得られた撮像画像を取得する。なお、本実施例に係る現実空間には、
図6に示すように、監督者側の環境にマーカーM1が配置されており、操作者側の環境には放送機2が配置されていることを想定している。
【0054】
第1表示部13aは、第1撮像画像取得部12aで取得された撮像画像を表示する。
第1検出部14aは、第1撮像画像取得部12aで取得された撮像画像に含まれている第1マーカーM1を検出し、識別する。
第1記憶部19aは、第2電子機器1bに備えられている第4撮像部11dと、当該第4撮像部11dに固定されている第2マーカーM2との相対的な位置及び姿勢(例えば、後述するT
cc2)が記憶されている。また、第1記憶部19aには、他に、現実空間に配置されている放送機(
図6に示す例では、監督者側の環境には放送機は配置されていない)を操作するための各手順と、手順ごとに表示すべき仮想オブジェクトと、前記仮想オブジェクトの配置情報とが対応付けられているテーブルを有する。仮想オブジェクトの配置情報とは、仮想オブジェクトを仮想空間において配置する位置及び姿勢、スケール等の情報である。
【0055】
第1読出部21aは、第1記憶部19aから第4撮像部11dと第2マーカーM2との相対的な位置及び姿勢を読み出す。読み出された第4撮像部11dと第2マーカーM2との相対的な位置及び姿勢は、第1位置算出部15aを介して、第1送受信部22aに供給される。また、第1読出部21aは、第3撮像部11cの内部パラメータ(射影行列P)を第1記憶部19aから読み出して、第1仮想撮像部配置部16aに供給する。
第1位置算出部15aは、第3撮像部11cと、第4撮像部11dに固定されている第2マーカーM2との相対的な位置及び姿勢(例えば、後述するT
cm2)の逆行列(例えば、後述するT
cm2−1)を算出する。また、第1位置算出部15aは、第3撮像部11cと第1マーカーM1との相対的な位置及び姿勢(例えば、後述するT
ccT
cm)を算出する。
【0056】
第1送受信部22aは、第1位置算出部15aによる算出結果と、第1読出部21aで読み出した第4撮像部11dと第2マーカーM2との相対的な位置及び姿勢を位置関係情報(例えば、後述するT
cc2T
cm2−1T
ccT
cm)とし、第1検出部14aで検出した第1マーカーM1の識別結果(例えば、マーカー番号)とともに第2電子機器1bに送信する。
【0057】
第2電子機器1bは、
図6に示すように、第4撮像部11dと、第2撮像画像取得部12bと、第2表示部13bと、第2検出部14bと、第2位置算出部15bと、第2仮想撮像部配置部16bと、第2レンダリング部17bと、第2重畳部18bと、第2記憶部19bと、第2選択部20bと、第2読出部21bと、第2送受信部22bと、を備える。
【0058】
第2送受信部22bは、第1送受信部22aから送信されてきた位置関係情報と第1マーカーの識別結果を受信する。
第4撮像部11dは、第2マーカーM2が固定されている。
第2撮像画像取得部12bは、第4撮像部11dにより現実空間を撮像して得られた撮像画像を取得する。
第2表示部13bは、第4撮像部11dで取得された撮像画像を表示する。
第2仮想撮像部配置部16bは、位置関係情報に基づいて、第4撮像部11dの内部パラメータ(例えば、焦点距離、画像サイズ、歪係数等)により設定される仮想撮像部を仮想空間内の所定の場所に配置する。
【0059】
第2記憶部19bは、現実空間に配置されている放送機2を操作するための各手順と、手順ごとに表示すべき仮想オブジェクトと、仮想オブジェクトの配置情報とが対応付けられているテーブルを有する。仮想オブジェクトの配置情報とは、仮想オブジェクトを仮想空間において配置する位置及び姿勢、スケール等の情報である。なお、記憶部19に記憶されているテーブルの一例として、後述する
図16に手順−仮想オブジェクト関連付けマトリックスを示す。
第2選択部20bは、手順を選択する。
第2読出部21bは、第2送受信部22bで受信した第1マーカーM1の識別結果と第2選択部20bにより選択されている手順に基づいて、第2記憶部19bを参照し、対応する仮想オブジェクト及びその位置及び姿勢を読み出す。また、第2読出部21bは、第4撮像部11dの内部パラメータ(射影行列P)を第2記憶部19bから読み出して、第2仮想撮像部配置部16bに供給する。
【0060】
第2レンダリング部17bは、第2読出部21bにより読み出された仮想オブジェクトをその位置及び姿勢にしたがって仮想空間内に配置し、仮想撮像部により仮想空間内を撮像する。
第2重畳部18bは、第2表示部13bに表示されている撮像画像に第2レンダリング部17bで撮像した結果を重畳する。
【0061】
かかる構成によれば、通信システム100は、ネットワークを介して第1電子機器1aと第2電子機器1bとの間において、マーカー型の利点を有しながら、マーカーレス型の利点であるマーカー設置位置に制限されないで情報提示を行うことができる。さらに、通信システム100は、環境の問題で操作者側にマーカーを固定できない場合でも、監督者側に固定されているマーカーに基づいて、手順ごとに異なる仮想オブジェクトを操作者側の第2電子機器1bの撮像画像に重畳して表示できる。よって、通信システム100は、放送機2の操作について、各手順において仮想オブジェクトにより補助することにより、操作者による操作の誤り等を低減することができる。
【0062】
ここで、第4撮像部11dとマーカーM1との相対的な位置及び姿勢を算出する手順について
図7を参照しながら以下に説明する。なお、以下では、第3撮像部11cは、放送機2を撮像する撮像部11c
1と、マーカーM1を撮像する撮像部11c
2とにより構成されるものとして説明するが、これに限られない。
【0063】
撮像部11c
2の位置及び姿勢C
s2は、撮像部11c
1と撮像部11c
2の相対的な位置及び姿勢T
ccと、撮像部11c
1とマーカーM1の相対的な位置及び姿勢T
cmと、マーカーM1の位置及び姿勢M
sとを乗算することにより算出することができる。
C
s2=T
ccT
cmM
s ・・・(9)
なお、C
s2は、カメラ座標系を示し、M
sは、マーカー座標系を示し、T
ccとT
cmは、変換行列である。
【0064】
また、撮像部11c
2の位置及び姿勢C
s2は、撮像部11c
2とマーカーM2の位置及び姿勢M
oとの相対的な位置及び姿勢T
cm2と、マーカーM2の位置及び姿勢M
oとを乗算することにより算出することができる。
Cs
2=T
cm2M
o ・・・(10)
なお、M
oは、マーカー座標系を示し、T
cm2は、マーカー座標系をカメラ座標系に変換するための変換行列である。
【0065】
(9)式と(10)式に基づいて、M
oは、(11)式により算出することができる。
M
o=T
cm2−1T
ccT
cmM
s ・・・(11)
また、第4撮像部11dの位置及び姿勢C
o2は、第4撮像部11dとマーカーM2の相対的な位置及び姿勢T
cc2と、マーカーM2の位置及び姿勢M
oとを乗算することにより算出することができる。
C
o2=T
cc2M
o ・・・(12)
なお、C
o2は、カメラ座標系を示し、T
cc2は、マーカー座標系をカメラ座標系に変換するための変換行列である。
【0066】
よって、(11)式と(12)式に基づいて、C
o2は、(13)式により算出することができる。
C
o2=T
cc2T
cm2−1T
ccT
cmM
s ・・・(13)
このようにして、第2電子機器1bは、第1電子機器1aから位置関係情報(T
cc2T
cm2−1T
ccT
cm)を受信することにより、第4撮像部11dのマーカーM1に対する相対的な位置及び姿勢を算出することができる。
【0067】
つぎに、T
cc2の導出(キャリブレーション)の手順について
図8を参照しながら説明する。なお、以下では、T
cc2を導出するために必要な撮像部11eと、マーカーM3を追加して説明する。また、マーカーM3の位置及び姿勢は、M
cとする。
【0068】
第4撮像部11dの位置及び姿勢C
o2は、第4撮像部11dとマーカーM3の相対的な位置及び姿勢T
3と、マーカーM3の位置及び姿勢M
cとを乗算することにより算出することができる。
C
o2=T
3M
c ・・・(14)
【0069】
また、第4撮像部11dの位置及び姿勢C
o2は、第4撮像部11dとマーカーM2の相対的な位置及び姿勢T
cc2と、マーカーM2の位置及び姿勢M
oとを乗算することにより算出することができる。
C
o2=T
cc2M
o ・・・(15)
【0070】
(14)式と(15)式に基づいて、T
cc2は、(16)式により算出することができる。
T
cc2=T
3M
cM
o−1 ・・・(16)
【0071】
撮像部11eの位置及び姿勢C
cは、撮像部11eとマーカーM2の相対的な位置及び姿勢T
2と、マーカーM2の位置及び姿勢M
oとを乗算することにより算出することができる。
C
c=T
2M
o ・・・(17)
【0072】
また、撮像部11eの位置及び姿勢C
cは、撮像部11eとマーカーM3の相対的な位置及び姿勢T
1と、マーカーM3の位置及び姿勢M
cとを乗算することにより算出することができる。
C
c=T
1M
c ・・・(18)
【0073】
(17)式と(18)式に基づいて、M
cは、(19)式により算出することができる。
M
c=T
1−1T
2M
o ・・・(19)
【0074】
また、(16)式と(19)式に基づいて、T
cc2を導出することができる。
T
cc2=T
3T
1−1T
2 ・・・(20)
【0075】
つぎに、通信システム100による処理の流れについて、
図9に示すフローチャートを参照しながら説明する。なお、以下では、操作者側の第2電子機器1bの動作を主体に説明する。
ステップS1において、第2電子機器1bは、手順リストを表示部43に表示するかどうかを判断する。例えば、第2電子機器1bは、ユーザにより表示部43に表示されている「手順」(
図3中のA1)がタップ操作されたかどうかによって判断する。
【0076】
手順リストを表示部43に表示すると判断した場合(Yes)には、ステップS2に進み、手順リストを表示部43に表示しないと判断した場合(No)には、ステップS5に進む。
【0077】
ステップS2において、第2電子機器1bは、手順の選択と、表示処理を行う。なお、ステップS2の工程の詳細については、後述する。
ステップS3において、第2電子機器1bは、マーカーの検出処理を行う。なお、ステップS3の工程の詳細については、後述する。
ステップS4において、第2電子機器1bは、仮想オブジェクト(ARオブジェクト)の表示処理を行う。なお、ステップS4の工程の詳細については、後述する。
【0078】
ステップS5において、第2電子機器1bは、系統図を表示部43に表示するかどうかを判断する。例えば、第2電子機器1bは、ユーザにより表示部43に表示されている「系統」(
図3中のA3)がタップ操作されたかどうかによって判断する。
【0079】
系統を表示部43に表示すると判断した場合(Yes)には、ステップS6に進み、系統を表示部43に表示しないと判断した場合(No)には、処理を終了する。
【0080】
<ステップS2の工程について>
ステップS2の工程の詳細について、
図10を参照しながら説明する。
ステップS21において、第2電子機器1bは、割り込み処理によって、表示されている手順リストの中から手順や完了フラグの操作が行われたとき、当該操作を行った者が操作者であるかどうかを判断する。操作者によって操作されたと判断された場合(Yes)には、ステップS22に進み、操作者によって操作されなかったと判断、すなわち、監督者(第1電子機器1a)によって操作されたと判断された場合(Yes)には、ステップS23に進む。
【0081】
ステップS22において、第2電子機器1bは、ロックの解除を行うかどうかを判断する。本実施例では、第1電子機器1aと第2電子機器1bとは、同期していることが前提であるが、ロックの解除によりこの同期が解除される。ロックの解除を行ったと判断した場合(Yes)には、ステップS23に進み、ロックの解除を行っていないと判断した場合(No)には、ステップS25に進む。
【0082】
ステップS23において、第2電子機器1bは、割り込み処理によって、管理者(第1電子機器1a)から送信されてきた手順の番号や完了フラグを受信し、送信されてきた手順の番号や完了フラグの選択状況を取得する。
【0083】
ステップS24において、第2電子機器1bは、手順の番号や完了フラグをグローバル変数へ代入する。グローバル変数は、選択手順番号と、完了フラグ(配列)によって構成されている。選択手順番号は、例えば、手順が何も選択されていない場合には「0」が代入され、手順(1)が選択されている場合には「1」が代入され、手順(2)が選択されている場合には「2」が代入される。完了フラグは、手順番号ごとに代入していき、
図10に示す例では、手順(1)及び手順(2)は、完了しているため「1:完了」が代入され、手順(3)以降は完了していないため「0:未」が代入される。
【0084】
ステップS25において、第2電子機器1bは、グローバル変数に応じた手順表示画面を描画する。例えば、第2電子機器1bは、
図3に示すような画面を表示部43に描画する。
【0085】
<ステップS3の工程について>
ステップS3の工程の詳細について、
図11を参照しながら説明する。
ステップS31において、第2電子機器1bは、グローバル変数より手順番号を読み込む。例えば、グローバル変数が「1」の場合には、手順(1)が選択されていることになる。
【0086】
ステップS32において、第2電子機器1bは、手順−仮想オブジェクト関連付けマトリックスを参照し、ステップS31の工程で読み込んだ手順番号に対応するマーカー番号とその優先度を取得する。なお、手順−仮想オブジェクト関連付けマトリックスについては、後述する。また、第2電子機器1bは、選択されている手順番号に対応する完了フラグの状態に応じて、参照するテーブルを変えてもよい。
【0087】
ステップS33において、第2電子機器1bは、該当するマーカーの検出処理を実行する。未検出であった場合には、戻り値を「−1」にする。マーカーを一つ検出した場合には、検出したマーカーの番号を戻り値にする。また、複数のマーカーを検出した場合には、ステップS34に進む。
【0088】
ステップS34において、第2電子機器1bは、複数のマーカーの中から優先度の高いマーカーの番号を選択し、選択したマーカーの番号を戻り値にする。
【0089】
ここで、ステップS33の工程におけるマーカーの検出手順について、
図12を用いて詳述する。なお、以下では、
図13に示すように、監督者側に設置される第3撮像部11cは、主にマーカーを撮像する撮像部11c
1と、主に放送機を撮像する撮像部11c
2とにより構成されており、一方、操作者側に設置される第4撮像部11dは、主にマーカーを撮像する撮像部11d
1と、主に放送機を撮像する撮像部11d
2とにより構成されているものとする。また、
図13に示す例では、監督者側(第1電子機器1a)によって該当マーカーが検出されたケースを示している。
【0090】
ステップS301において、第2電子機器1bは、撮像部11d
2によって該当マーカーを検出したかどうかを判断する。検出した場合には、ステップS304に進み、未検出の場合には、ステップS302に進む。
【0091】
ステップS302において、第2電子機器1bは、撮像部11d
1によって該当マーカーを検出したかどうかを判断する。検出した場合には、ステップS304に進み、未検出の場合には、ステップS303に進む。
【0092】
ステップS303において、第2電子機器1bは、監督者側(第1電子機器1a側の撮像部11c
1又は撮像部11c
2)によって該当マーカーを検出できたかどうかを判断する。検出した場合には、ステップS304に進み、未検出の場合には、戻り値を「−1」にする。
【0093】
ステップS304において、第2電子機器1bは、マーカー情報を出力する。例えば、第2電子機器1bは、撮像部で撮像された画像からマーカーを検出し、登録されている全マーカーと比較し、一致した場合には、「1:検出」とし、一致しなかった場合には、「0:無」として、
図14に示すテーブルに代入する。第2電子機器1bは、テーブルを参照して、該当マーカーの有無を判断する。
【0094】
<ステップS4の工程について>
ステップS4の工程の詳細について、
図15を参照しながら説明する。
ステップS41において、第2電子機器1bは、該当マーカーを検出できたかどうかを判断する。検出できたと判断した場合(Yes)には、ステップS42に進み、検出できなかったと判断した場合(No)には、処理を終了する。
【0095】
ステップS42において、第2電子機器1bは、検出したマーカー情報に基づいて、座標変換処理を行う。
ステップS43において、第2電子機器1bは、検出したマーカー番号と選択されている手順番号に基づいて、手順−仮想オブジェクト関連付けマトリックスを参照し、表示部43に表示する仮想(AR)オブジェクトと表示する座標を取得する。
ステップS44において、第2電子機器1bは、ステップS43の工程で取得した座標に基づいて、仮想オブジェクトを表示部43に表示する処理を行う。
【0096】
ここで、ステップS32及びステップS43の工程で用いる手順−仮想オブジェクト関連付けマトリックスについて、
図16を参照しながら説明する。
手順−仮想オブジェクト関連付けマトリックスは、手順ごとにテーブル化されている。各テーブルには、各マーカー番号に対して、マーカー優先度と、表示すべき仮想(AR)オブジェクトの番号と、仮想オブジェクトの表示座標が対応付けられている。なお、一度に、複数のマーカーを使用する場合もあるので、マーカー優先度は同じでもよい。また、同じ仮想オブジェクトを複数箇所に使用する場合もあるので、表示座標は、ひとつのマスに対して、複数個設定することもできる。
なお、上述した手順−仮想オブジェクト関連付けマトリックスは、一例であって、これに限られない。例えば、手順−仮想オブジェクト関連付けマトリックスには、他に、スケール(大きさ)、姿勢等が含まれてもよい。
【0097】
また、本実施例では、主に、マーカー型の利点を有しながら、マーカーレス型の利点であるマーカー設置位置に制限されないで情報提示を行う電子機器と通信システムの構成と動作について説明したが、これに限られず、各構成要素を備え、マーカー型の利点を有しながら、マーカーレス型の利点であるマーカー設置位置に制限されないで情報提示を行うための方法、及びプログラムとして構成されてもよい。
【0098】
さらに、電子機器及び通信システムの機能を実現するためのプログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【0099】
ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0100】
さらに「コンピュータで読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。