(57)【要約】【課題】ユーザの位置に応じて、仮想物体の表示配置を高精度に修正できる映像表示システムを提供する。【解決手段】映像表示システム１００は、実空間において基準マーカに対応する第１サブマーカを検出し、座標軸に予め対応付けられた複数の第１仮想位置のうち第１サブマーカと最も近い第１仮想位置と第１サブマーカの位置関係を演算する第１位置関係演算部１５３と、実空間において基準マーカに対して予め決められた位置に配置された第２サブマーカを検出し、複数の第１仮想位置の間隔よりも狭い間隔で座標軸に予め対応付けられた複数の第２仮想位置と第２サブマーカとの位置関係を演算する第２位置関係演算部１５４と、座標軸と撮像装置の位置及び姿勢との関係を修正する修正部１５５と、を備える。【選択図】図１
2019066292.tif 000002
【特許請求の範囲】
【請求項１】
実空間に対応付けられた仮想物体を表示する映像表示システムであって、
前記実空間を撮像する撮像装置と、
前記撮像装置の移動を検出する移動検出部と、
前記移動検出部によって検出された前記移動から前記撮像装置の位置及び姿勢を演算する位置姿勢演算部と、
仮想空間における座標軸上の仮想物体の配置情報を予め格納している格納部と、
前記撮像装置によって撮像された画像から前記実空間に配置された基準マーカを検出し、該基準マーカの検出結果から、前記仮想空間における前記座標軸を前記実空間に対応付ける基準配置設定部と、
前記撮像装置によって撮像された画像から、前記実空間において前記基準マーカに対して予め決められた位置に配置された第１サブマーカを検出し、前記第１サブマーカの検出結果と、前記位置姿勢演算部で演算された、前記撮像装置が該第１サブマーカを撮像した際の前記撮像装置の位置及び姿勢とから、前記座標軸に予め対応付けられた複数の第１仮想位置のうち前記第１サブマーカと最も近い第１仮想位置と前記第１サブマーカとの位置関係を演算する第１位置関係演算部と、
前記撮像装置によって撮像された画像から、前記実空間において前記基準マーカに対して予め決められた位置に配置された第２サブマーカを検出し、前記第２サブマーカの検出結果と、前記位置姿勢演算部で演算された、前記撮像装置が該第２サブマーカを撮像した際の前記撮像装置の位置及び姿勢とから、前記複数の第１仮想位置の間隔よりも狭い間隔で前記座標軸に予め対応付けられた複数の第２仮想位置と前記第２サブマーカとの位置関係を演算する第２位置関係演算部と、
前記第１位置関係演算部によって演算された位置関係と、前記第２位置関係演算部によって演算された位置関係とから、前記座標軸と、前記位置姿勢演算部で演算された前記撮像装置の位置及び姿勢との関係を修正する修正部と、
前記格納部に格納されている前記配置情報と、前記修正部によって修正された、前記座標軸と前記位置姿勢演算部で演算された前記撮像装置の位置及び姿勢との関係とに基づいて、前記仮想物体を表示する表示部と、を備える、映像表示システム。
【請求項２】
前記修正部は、前記第１位置関係演算部によって演算された位置関係から、前記座標軸と前記位置姿勢演算部で演算された前記撮像装置の位置及び姿勢との関係を修正した後に、前記第２位置関係演算部によって演算された位置関係から、前記座標軸と前記位置姿勢演算部で演算された前記撮像装置の位置及び姿勢との関係を修正する、請求項１に記載の映像表示システム。
【請求項３】
前記第１位置関係演算部によって演算される位置関係は、前記仮想空間における前記第１サブマーカと前記第１仮想位置とのズレ方向を含み、
前記第２仮想位置は、前記ズレ方向において前記第２サブマーカに最も近い第２仮想位置である、請求項１又は２に記載の映像表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの作業を支援する映像を表示する映像表示システムに関する。
【背景技術】
【０００２】
実空間における実物体に対応して仮想空間における仮想物体をコンピュータグラフィック等によって表示する、複合現実感（Mixed  Reality；以下、「ＭＲ」という）に関する技術が知られている（例えば、特許文献１参照）。特許文献１は、実物体である建築模型を撮像した実映像と仮想映像を合成して表示する際に、実映像と仮想映像との間の位置ズレを修正する技術について記載している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１８４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＭＲ技術の利用方法として、ＨＭＤ（Head  Mount  Display）等（以下、「ＭＲデバイス」という）を介して、ユーザの作業を支援する仮想映像を実物体に対応させてユーザに提供することが考えられる。例えば、鋼材の溶接作業では、図面の読み解き、鋼材への罫書き、罫書きの確認といった作業が必要である。複雑な図面では熟練技師でも理解に時間を要し、溶接部分が多ければ単純ミスによる手戻りが発生する。このため、従来の鋼材の溶接作業には、熟練の技術を要していた。ＭＲデバイスを利用して、取り付け部材を示す仮想物体を実物の鋼材に重畳表示すれば、鋼材の溶接作業が簡易になる。
【０００５】
しかしながら、ＭＲデバイスを用いた場合、内部処理における位置認識誤差によって、ユーザの移動距離が増加するほど仮想物体の実空間に対するズレが増加するおそれがある。このため、上述した鋼材の溶接作業のようにユーザが移動して移動先で細かな作業を行う場合には、移動先、すなわち作業場所で仮想物体が実空間に対して大きくずれて表示されるおそれがある。仮想物体を表示する配置（以下、「表示配置」という）が大きくずれている場合、移動先での細かな作業は困難である。例えば、１０ｍ以上の鋼材に対する溶接作業でもｍｍ単位の精度が要求されるが、現状のＭＲデバイスでは数ｍ歩くごとに数ｃｍの誤差が発生する。
【０００６】
特許文献１に記載されている位置ズレの修正技術は、ユーザが静止していることを前提としている。このため、当該技術は、仮想物体の表示配置を決定した後にユーザが移動することによって、仮想物体の表示配置にズレが生じることを考慮していない。したがって、移動先において、仮想物体の表示配置がずれるおそれがある。
【０００７】
本発明は、上記の問題に鑑みてなされたものであり、例えば、ユーザの位置に応じて、仮想物体の表示配置を高精度に修正できる映像表示システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明に係る映像表示システムは、実空間に対応付けられた仮想物体を表示する映像表示システムであって、実空間を撮像する撮像装置と、撮像装置の移動を検出する移動検出部と、移動検出部によって検出された移動から撮像装置の位置及び姿勢を演算する位置姿勢演算部と、仮想空間における座標軸上の仮想物体の配置情報を予め格納している格納部と、撮像装置によって撮像された画像から実空間に配置された基準マーカを検出し、該基準マーカの検出結果から、仮想空間における座標軸を実空間に対応付ける基準配置設定部と、撮像装置によって撮像された画像から、実空間において基準マーカに対して予め決められた位置に配置された第１サブマーカを検出し、第１サブマーカの検出結果と、位置姿勢演算部で演算された、撮像装置が該第１サブマーカを撮像した際の撮像装置の位置及び姿勢とから、座標軸に予め対応付けられた複数の第１仮想位置のうち第１サブマーカと最も近い第１仮想位置と第１サブマーカとの位置関係を演算する第１位置関係演算部と、撮像装置によって撮像された画像から、実空間において基準マーカに対して予め決められた位置に配置された第２サブマーカを検出し、第２サブマーカの検出結果と、位置姿勢演算部で演算された、撮像装置が該第２サブマーカを撮像した際の撮像装置の位置及び姿勢とから、複数の第１仮想位置の間隔よりも狭い間隔で座標軸に予め対応付けられた複数の第２仮想位置と第２サブマーカとの位置関係を演算する第２位置関係演算部と、第１位置関係演算部によって演算された位置関係と、第２位置関係演算部によって演算された位置関係とから、座標軸と、位置姿勢演算部で演算された撮像装置の位置及び姿勢との関係を修正する修正部と、格納部に格納されている配置情報と、修正部によって修正された、座標軸と位置姿勢演算部で演算された撮像装置の位置及び姿勢との関係とに基づいて、仮想物体を表示する表示部と、を備える。
【０００９】
本発明に係る映像表示システムでは、第１位置関係演算部が、基準マーカに対して予め決められた位置に配置された第１サブマーカと、複数の第１仮想位置のうちと第１サブマーカと最も近い第１仮想位置との位置関係を演算している。このため、移動検出部で検出結果から演算された撮像装置の位置及び姿勢が誤差を含んでいる場合に、基準マーカから離れた位置でも、複数の第１仮想位置の配置に応じて、座標軸と撮像装置の位置及び姿勢との関係が修正され、仮想物体の表示配置が修正され得る。さらに、第２位置関係演算部は、第２サブマーカと、第２仮想位置との位置関係を演算している。第１サブマーカと第１仮想位置との位置関係が利用されながら、第２サブマーカと第２仮想位置との位置関係が用いられることで、撮像装置の位置で、仮想物体の実空間に対するズレが更に高精度に修正され得る。すなわち、撮像装置が装着されたユーザの位置で、仮想物体の表示配置が高精度に修正され得る。
【発明の効果】
【００１０】
本発明は、上記の問題に鑑みてなされたものであり、ユーザの位置に合わせて、仮想物体の表示配置を高精度に修正できる映像表示システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】一の実施形態に係る映像表示システムの機能を説明するための図である。
【図２】映像表示システムを使った作業で用いられる各種部材を説明するための図である。
【図３】ユーザが作業位置に移動する前の映像表示システムの表示と周辺環境とを示す図である。
【図４】ユーザが移動した後、かつ、仮想物体の表示配置を修正する前の映像表示システムの表示と周辺環境とを示す図である。
【図５】ユーザが作動位置に移動して第２サブマーカを配置した後、かつ、仮想物体の表示配置を修正する前の映像表示システムの表示を示す図である。
【図６】仮想物体の表示配置を修正する工程を示すフローチャートである。
【図７】表示制御部によって行われる制御処理を示すフローチャートである。
【図８】表示制御部によって行われるズレ修正処理を示すフローチャートである。
【図９】一の実施形態に係る映像表示システムのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面と共に本発明に係る映像表示システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１３】
まず、図１から図５を参照して、本実施形態に係る映像表示システム１００について説明する。図１は、映像表示システム１００のブロック図を示す。映像表示システム１００は、例えばユーザに装着されるＨＭＤ等によって実現され、実空間（ワールド座標系）に対応付けられたＣＧ（コンピュータグラフィックス）による仮想物体を表示する。映像表示システム１００は、ハーフミラーを用いて実空間の実物体と仮想物体とをユーザに視認させる光学シースルー方式を採用している。映像表示システム１００は、実空間の映像に仮想物体を融合してユーザに視認させるビデオシースルー方式を採用してもよい。以下では、映像表示システム１００がＭＲ技術に用いられるＨＭＤであることを例に説明する。
【００１４】
図２は、映像表示システム１００を使った作業で用いられる各種部材を示している。映像表示システム１００は、実空間に配置された実物体である作業対象物１２１の配置に対応してディスプレイ１４０に仮想物体を表示することでユーザの作業を支援する。「配置」は、所定の３次元座標軸上の座標及び３次元座標軸の各軸周りの回転（３次元座標上の向き）によって規定される６自由度の状態を意味する。具体的には、映像表示システム１００は、ユーザの目線と同様の撮像方向等で撮像を行う。映像表示システム１００は、撮像を行った画像に仮想物体を重畳して表示する。ユーザは、この表示を見ることで、実空間に配置された作業対象物１２１に応じた、現実にはない仮想物体を見ることができる。仮想物体としては、実空間の作業対象物１２１を示すものが含まれていてもよい。
【００１５】
映像表示システム１００は、３次元座標である仮想空間（スクリーン座標系）を用いて仮想物体の表示を行う。映像表示システム１００は、仮想空間上の予め設定された位置に仮想物体を配置しておき、仮想空間と実空間との対応関係を算出する。仮想物体の仮想空間上の配置を表示配置という。以下の説明では、仮想空間において仮想物体の位置を示す座標軸を仮想座標軸αという。映像表示システム１００は、実空間での撮像位置及び撮像方向に対応する仮想空間上での位置及び方向から見た画像を仮想物体の表示とする。即ち、仮想的なユーザの視線から、仮想空間上の仮想物体を見た画像を表示する。上記の仮想物体の表示は、従来のＭＲ技術を用いて実施することができる。
【００１６】
本実施形態では、作業対象物１２１は、１０ｍ以上の長尺形状の鋼材である。映像表示システム１００は、実空間に配置された鋼材（作業対象物１２１）に対して、当該鋼材を示す仮想物体２０１と当該鋼材に溶接する予定の鉄板を示す仮想物体２０２とを表示する。具体的には、映像表示システム１００は、ユーザに対して、仮想物体２０１が実空間に配置された作業対象物１２１に重なって視認されるように表示し、仮想物体２０２が溶接されるべき位置に配置されていると視認されるように表示する。これによって、映像表示システム１００は、ユーザが鋼材に鉄板を溶接する作業を支援できる。図３は、ユーザが移動して作業をする場所（以下、「作業位置」という）に移動する前の映像表示システム１００の表示と周辺環境とを示している。図４は、ユーザが移動した後、かつ、仮想物体の表示配置を修正する前の映像表示システム１００の表示と周辺環境とを示している。
【００１７】
映像表示システム１００は、ユーザの移動を検出して、ユーザの移動に応じた視線の変化にあわせるように当該移動に応じて表示を変化させる。映像表示システム１００では、ユーザの移動量に応じて移動検出の誤差が蓄積し、作業対象物１２１に対応して仮想物体２０１，２０２の表示配置がずれる（即ち、実空間と仮想空間との対応付けがずれる）。映像表示システム１００は、作業対象物１２１に対して実空間に配置された、基準マーカ１２２と、指標部材１２３と、第２サブマーカ１２７とによって、作業対象物１２１に対する仮想物体２０１，２０２の表示配置を修正する。図５は、ユーザが作動位置に移動して第２サブマーカ１２７を配置した後、かつ、仮想物体の表示配置を修正する前の映像表示システム１００の表示を示している。
【００１８】
基準マーカ１２２は、作業対象物１２１に対して取り付け可能であり、作業を行う前に作業対象物１２１に対して決められた位置に配置される。本実施形態では、基準マーカ１２２は、作業対象物１２１の面１２１ａ上に設けられている。基準マーカ１２２は、後述する撮像装置１０１によって撮像されることで、映像表示システム１００が、画像認識によって実空間における基準マーカ１２２の３次元配置を識別可能な特徴を有する図形等（例えば、２次元コード）を有している。基準マーカ１２２は、映像表示システム１００が実空間における基準マーカ１２２の３次元配置を識別可能であれば、この形態に限定されない。
【００１９】
指標部材１２３は、作業対象物１２１及び基準マーカ１２２に対して予め決められた位置に配置されている。本実施形態では、指標部材１２３は、長尺形状を有しており、作業対象物１２１の面１２１ａ上で、作業対象物１２１の長手方向に沿って配置されている。指標部材１２３は、実空間において基準マーカ１２２に対して予め決められた位置に配置された複数の指標１２４を含んでいる。複数の指標１２４は、複数の第１サブマーカ１２５と複数のサブ指標１２６を含んでいる。
【００２０】
本実施形態では、指標部材１２３は巻き尺である。複数の指標１２４は、矩形形状を有しており、基準マーカ１２２が示す基準点Ｍから延在する直線上に１０ｃｍごとに付されている。複数の第１サブマーカ１２５は、基準マーカ１２２が示す基準点Ｍから延在する直線上に１ｍごとに付されている。このように第１サブマーカ１２５は、所定の間隔（例えば、等間隔）で指標部材１２３に設けられる。サブ指標１２６は、第１サブマーカ１２５以外の指標１２４である。したがって、複数のサブ指標１２６は、隣り合う第１サブマーカ１２５の間に、１０ｃｍごとに付されている。このようにサブ指標１２６は、第１サブマーカ１２５の間隔より狭い所定の間隔（例えば、等間隔）で指標部材１２３に設けられる。
【００２１】
第１サブマーカ１２５は、画像認識によって実空間における第１サブマーカ１２５の３次元配置を識別可能な特徴を有する図形等を有している。また、全ての第１サブマーカ１２５は、同一の図形等であってもよい。本実施形態では、第１サブマーカ１２５は、赤色で示され、サブ指標１２６は黒色で示されている。指標部材１２３は、同一間隔で第１サブマーカ１２５及びサブ指標１２６が付された紐であってもよい。第１サブマーカ１２５及びサブ指標１２６としては、通常の巻き尺に設けられているメモリ表示を用いることができる。即ち、指標部材１２３として、通常の巻き尺を用いることができる。作業対象物１２１に、レーザー、チョーク等で第１サブマーカ１２５及びサブ指標１２６が記されていてもよい。プロジェクションマッピングによって、作業対象物１２１上に第１サブマーカ１２５及びサブ指標１２６が表示されてもよい。
【００２２】
第２サブマーカ１２７は、画像認識によって実空間における第２サブマーカ１２７の３次元配置を識別可能な特徴を有する図形等（例えば、２次元コード）を有している。また、第２サブマーカ１２７は、第１サブマーカ１２５よりも画像認識されやすい特徴を有しており（第２サブマーカ１２７よりも特徴点が多い）、作業対象物１２１及び基準マーカ１２２に対して移動可能である。第２サブマーカ１２７は、映像表示システム１００が実空間における第２サブマーカ１２７の３次元配置を識別可能であれば、この形態に限定されない。映像表示システム１００は、第２サブマーカ１２７の３次元配置を識別すると、予め記憶している情報から第２サブマーカ１２７の３次元配置に応じた特定の位置（以下、「指示点Ａ」という）に、後述する第２仮想位置を対応付けている。
【００２３】
本実施形態では、作業者であるユーザが、第２サブマーカ１２７を作業位置まで運び、作業位置に最も近い指標１２４の位置に配置する。この際、第２サブマーカ１２７の指示点Ａが、ユーザ（撮像装置１０１）に最も近い指標１２４の位置に配置される。第２サブマーカ１２７は、サブ指標１２６に対する位置決めを容易に行えるように、サブ指標１２６に合わせるための表示記載（例えば、矢印の表示記載）が行われていてもよい。第２サブマーカ１２７がサブ指標１２６に配置される場合、第２サブマーカ１２７はいずれの第１サブマーカ１２５よりも撮像装置１０１に近い。
【００２４】
映像表示システム１００は、図１に示されているように、撮像装置１０１、撮像装置１０１の移動を検出する移動検出部１０２、データ格納部１０３、表示部１０４、操作部１０５、及び表示制御部１５０を備えている。映像表示システム１００のうち、少なくとも撮像装置１０１、移動検出部１０２、及び表示部１０４は、ユーザに装着可能である。
【００２５】
撮像装置１０１は、実空間を撮像し、撮像した画像を逐次、表示制御部１５０へ送信する。本実施形態では、ユーザの頭に固定され、ユーザの頭の動きに合わせて撮像装置１０１の位置及び姿勢が変動する。撮像装置１０１の位置は、撮像装置１０１の座標位置である。撮像装置１０１の姿勢は、３次元座標の各軸周りの回転（３次元座標上の向き）である。撮像装置１０１は、深度カメラ、及びＲＧＢカメラ等の複数のカメラから構成されている。
【００２６】
データ格納部１０３は、仮想物体２０１，２０２の表示に必要な各種情報（ＣＧデータ）を予め格納している。例えば、データ格納部１０３は、仮想空間における仮想座標軸αに予め対応付けられた、仮想物体２０１，２０２の表示配置と、複数の第１仮想位置１３１と、複数の第２仮想位置１３２との情報を含む配置情報を予め格納している。具体的には、データ格納部１０３は、仮想物体２０１，２０２の表示配置、複数の第１仮想位置１３１、及び複数の第２仮想位置１３２の仮想座標軸α上の座標を格納している。仮想座標軸αを実空間に対応付けることで、実空間での撮像装置１０１の位置及び姿勢に対応する仮想物体２０１，２０２の表示配置、複数の第１仮想位置１３１、及び複数の第２仮想位置１３２が決定される。複数の第１仮想位置１３１及び複数の第２仮想位置１３２は、仮想物体２０１，２０２の表示配置の修正（即ち、実空間と仮想空間との対応付けの修正）に用いられる。
【００２７】
データ格納部１０３は、予め定められた、実空間に配置された基準マーカ１２２と、仮想座標軸αとの配置関係も予め格納している。本実施形態では、基準マーカ１２２の実空間上の基準点Ｍの位置と、仮想座標軸αの原点Ｎとが対応付けられている。すなわち、実空間における基準マーカ１２２の配置と、仮想座標軸αの原点Ｎとが対応付けられている。
【００２８】
仮想座標軸αの原点Ｎと複数の第１仮想位置１３１との相対位置関係は、基準マーカ１２２の基準点Ｍと複数の第１サブマーカ１２５との相対位置関係に対応している。例えば、それらの相対位置関係は、同じものとなる。本実施形態では、複数の第１仮想位置１３１は、仮想座標軸αの原点Ｎから直線上に実空間の１ｍに相当する距離ごとに位置する。仮想座標軸αの原点Ｎと複数の第２仮想位置１３２との相対位置関係は、基準マーカ１２２の基準点Ｍと複数のサブ指標１２６との相対位置関係に対応している。例えば、それらの相対位置関係は、同じものとなる。
【００２９】
複数の第２仮想位置１３２は、複数の第１仮想位置１３１の間隔よりも狭い間隔で仮想座標軸αに対応付けられている。本実施形態では、複数の第２仮想位置１３２は、隣り合う第１仮想位置１３１の間に、実空間の１０ｃｍに相当する距離ごとに位置する。第２仮想位置１３２の数は、第１仮想位置１３１の数よりも多い。なお、上記の仮想空間に係る情報の形式は、従来のＭＲ技術で用いられるものを用いることができる。
【００３０】
表示部１０４は、図３から図５に示されているように、撮像装置１０１の位置及び姿勢に応じて、仮想物体２０１，２０２を含む仮想映像をディスプレイ１４０に表示する。表示部１０４は、データ格納部１０３に格納されている仮想物体２０１，２０２の表示配置等の配置情報と、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係とから、従前の方法で、仮想物体２０１，２０２を上記ディスプレイ１４０に表示する位置を演算する。表示部１０４は、仮想物体２０１，２０２の表示に必要な各種情報をデータ格納部１０３から取得する。表示部１０４による表示は、実空間での撮像位置及び撮像方向に対応する仮想空間上での位置及び方向から見た画像を、仮想物体の表示とするものである。
【００３１】
本実施形態では、表示部１０４は、仮想映像として、当該鋼材を示す仮想物体２０１と、当該鋼材に溶接する予定の鉄板を示す仮想物体２０２と、第１仮想位置１３１と、第２仮想位置１３２を表示する。実空間に対する仮想座標軸αの配置、及び撮像装置１０１の位置及び姿勢は、表示制御部１５０で決定される。表示部１０４は、ユーザが仮想物体２０１，２０２を適切に視認できる状態でユーザの頭に固定される。
【００３２】
操作部１０５は、ユーザによって操作された際に、当該操作に応じた信号を表示制御部１５０へ逐次送信する。例えば、操作部１０５は、ユーザの操作に応じて表示制御部１５０に、仮想物体２０１，２０２の表示配置の修正を指示する信号を送信する。
【００３３】
移動検出部１０２は、撮像装置１０１の移動を検出し、検出結果を逐次、表示制御部１５０へ送信する。映像表示システム１００は、当該検出結果に基づいて、ユーザの移動に追従した映像を表示する。例えば、移動検出部１０２は、撮像装置１０１の移動の方向及び移動の量を示す移動ベクトルを検出する。本実施形態では、移動検出部１０２は、ユーザの頭に固定された、加速度センサ、ジャイロセンサ、及び方位センサ等を有する慣性計測ユニットによって構成されている。本実施形態では、移動検出部１０２は、それ自体が移動を検出する。移動検出部１０２が慣性計測ユニット等の出力信号を表示制御部１５０へ送信し、表示制御部１５０が移動を演算してもよい。移動の検出は、従来のＭＲ技術に用いられている方法を用いて実施することができる。
【００３４】
表示制御部１５０は、撮像装置１０１で撮像された画像（以下、「撮像画像」という）に基づいて、仮想物体２０１，２０２の表示配置を規定する仮想座標軸αと、位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との関係を決定する。これによって、表示部１０４における仮想物体２０１，２０２の表示配置が決定される。表示制御部１５０は、基準配置設定部１５１、位置姿勢演算部１５２、第１位置関係演算部１５３、第２位置関係演算部１５４、及び修正部１５５を有している。
【００３５】
基準配置設定部１５１は、撮像装置１０１の撮像画像に基づいて、仮想物体２０１，２０２の表示配置を規定する仮想座標軸αを実空間に対応付ける。具体的には、基準配置設定部１５１は、撮像装置１０１の撮像画像から基準マーカ１２２を検出する。基準配置設定部１５１は、該基準マーカ１２２の検出結果と、データ格納部１０３に格納されている情報とから、実空間における基準マーカ１２２の配置に仮想座標軸αを対応付ける。本実施形態では、データ格納部１０３に格納されている情報にしたがって、検出された基準マーカ１２２の予め設定された端部（基準点Ｍ）の位置が、仮想座標軸αの原点Ｎに対応付けられる。また、検出された基準マーカ１２２の形状等から実空間上の方向が、仮想座標軸αの方向に対応付けられる。これによって、実空間における基準マーカ１２２の配置に、仮想物体２０１，２０２の表示配置、第１仮想位置１３１、第２仮想位置１３２が対応付けられる。
【００３６】
位置姿勢演算部１５２は、撮像装置１０１の位置及び姿勢を演算する。位置姿勢演算部１５２は、映像表示システム１００の電源がＯＮに切り替わると、撮像装置１０１の位置及び姿勢の初期状態を設定する。例えば、位置姿勢演算部１５２は、当該撮像装置１０１の撮像画像から特徴点を検出し、当該特徴点を実空間上の原点に設定する。位置姿勢演算部１５２は、当該原点と撮像装置１０１との相互配置、並びに、加速度センサ及びジャイロセンサ等の出力から、撮像装置１０１の位置及び姿勢の初期状態を演算する。本実施形態では、基準マーカ１２２が示す基準点Ｍを、撮像装置１０１の位置及び姿勢の初期状態を演算する実空間上の原点として説明する。また、位置姿勢演算部１５２は、当該画像から、設定した原点に対する撮像装置１０１の位置及び姿勢を演算する。
【００３７】
位置姿勢演算部１５２は、移動検出部１０２で検出された移動と撮像装置１０１の撮像画像から検出される特徴点の遷移ベクトルとから、撮像装置１０１の位置及び姿勢を逐次演算する。具体的には、位置姿勢演算部１５２は、移動後の撮像装置１０１の位置及び姿勢（即ち、撮像装置１０１の現時点での位置及び姿勢）を演算する。表示制御部１５０は、基準マーカ１２２が撮像画像から検出されない場合、初期状態における仮想座標軸αと撮像装置１０１の位置及び姿勢との関係、及び位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢から、実空間における仮想座標軸αの配置を逐次判断する。
【００３８】
本実施形態では、位置姿勢演算部１５２は、基準配置設定部１５１によって検出された基準マーカ１２２の端部である基準点Ｍに対する撮像装置１０１の位置及び姿勢を逐次演算する。位置姿勢演算部１５２は、移動検出部１０２の検出結果のみから、撮像装置１０１の位置及び姿勢を演算してもよい。位置姿勢演算部１５２は、演算した撮像装置１０１の位置及び姿勢のデータを、データ格納部１０３に格納する。位置姿勢演算部１５２は、演算した当該データを、直接、表示部１０４へ送信してもよい。位置姿勢演算部１５２における演算結果の誤差は、ユーザの移動量が増加に応じて蓄積される。位置姿勢演算部１５２における演算結果の誤差が蓄積されるにしたがって、位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢の実空間に対するズレ、及び仮想座標軸αの実空間に対する配置のズレが増加する。その結果、映像表示システム１００では、仮想物体２０１，２０２の表示配置がずれる。撮像装置１０１の位置及び姿勢の演算は、従来のＭＲ技術に用いられている方法を用いて実施することができる。
【００３９】
表示制御部１５０は、第１位置関係演算部１５３、第２位置関係演算部１５４、及び修正部１５５によって、後述するズレ修正処理を行う。表示制御部１５０は、当該ズレ修正処理によって、ユーザの移動量に応じて蓄積した移動検出の誤差による仮想物体２０１，２０２の表示配置のズレを修正する。本実施形態において、表示制御部１５０は、操作部１０５の操作に応じて当該修正を行う。例えば、表示制御部１５０は、ボタンの押下等の操作部１０５が操作されたタイミングで当該修正を行う。図４及び図５には、作業対象物１２１に対して仮想物体２０１，２０２がずれて表示されている状態が示されている。
【００４０】
第１位置関係演算部１５３は、実空間における第１サブマーカ１２５と仮想座標軸αとの関係を導出する。まず、第１位置関係演算部１５３は、撮像装置１０１の撮像画像から、実空間に配置された第１サブマーカ１２５を検出する。本実施形態では、第１位置関係演算部１５３は、位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢と撮像画像とから、仮想座標軸α上における第１サブマーカ１２５の座標位置を求める。
【００４１】
第１サブマーカ１２５が検出される撮像画像は、基準マーカ１２２が検出される撮像画像と異なる。例えば、当該撮像画像は、ユーザが作業を行うために基準マーカ１２２が設置された位置から移動した位置において撮像された画像である。例えば、第１位置関係演算部１５３は、撮像装置１０１の撮像画像から、従前の方法によって閾値以上の赤色成分を有しているピクセルを探索する。第１位置関係演算部１５３は、当該撮像画像から、周囲のピクセルに対して相対的に赤色成分が高いピクセルを探索してもよい。第１位置関係演算部１５３は、検出された第１サブマーカ１２５の数が閾値よりも多い場合、ディスプレイ１４０等によってユーザにエラーを知らせることとしてもよい。
【００４２】
第１位置関係演算部１５３は、第１サブマーカ１２５の検出結果と、撮像装置１０１が該第１サブマーカ１２５を撮像した際の撮像装置１０１の位置及び姿勢とから、第１仮想位置１３１と、第１サブマーカ１２５との位置関係を演算する。第１サブマーカ１２５を撮像した際の撮像装置１０１の位置及び姿勢は、位置姿勢演算部１５２で演算される。まず、第１位置関係演算部１５３は、撮像装置１０１の位置及び姿勢から、撮像画像から探索された第１サブマーカ１２５の実空間上の座標位置を求めて、更に当該実空間上の座標から、仮想座標軸α上の座標位置を求める。探索された第１サブマーカ１２５から、第１サブマーカ１２５の実空間及び仮想座標軸α上の座標位置の算出は、従来のＭＲ技術に用いられている方法を用いて実施することができる。
【００４３】
続いて、第１位置関係演算部１５３は、仮想座標軸α上の第１サブマーカ１２５の座標位置と、該第１サブマーカ１２５に最も近い第１仮想位置１３１との位置関係を演算する。第１位置関係演算部１５３は、第１仮想位置１３１と第１サブマーカ１２５との位置関係として、第１サブマーカ１２５に対する第１仮想位置１３１の仮想座標軸αにおけるズレ量及びズレ方向を演算する。ここで、演算されるズレ量は、作業対象物１２１の長手方向におけるズレ量である。即ち、第１サブマーカ１２５を用いた修正は、作業対象物１２１の長手方向に対して行われる（それ以外の方向については、修正しない）。但し、第１サブマーカ１２５を用いた修正を、全ての方向に対して行うこととしてもよい。ズレ量及びズレ方向は、作業対象物１２１の長手方向における、仮想座標軸α上の第１サブマーカ１２５の座標位置から、該第１サブマーカ１２５に最も近い第１仮想位置１３１への量及び方向である。当該ズレ方向（修正方向）は、仮想座標軸α上の原点（基準マーカ１２２の座標位置）（Ｐ０）と第１サブマーカ１２５の座標位置（Ｐ１ｎ）を結ぶ線と、該第１サブマーカ１２５の座標位置（Ｐ１ｎ）と該第１サブマーカ１２５に最も近い第１仮想位置１３１（Ｐ２ｎ）とを結ぶ線のなす角θのｃｏｓ値によって示されるものとしてもよい。例えば、なす角θが９０°＜θ＜１８０°を満たす場合には、ｃｏｓθの値の符号はマイナスとなる。この場合、第１仮想位置１３１が第１サブマーカ１２５よりもマイナス方向にずれていると判断する。上述したｃｏｓθの値の符号に基づくズレ方向の判断は、撮像画像から検出された第１サブマーカ１２５の各々について行われる。撮像画像から検出された第１サブマーカ１２５に関して、ズレ方向の判断結果が分かれた場合、判断された数が多い結果を採用する。
【００４４】
第１位置関係演算部１５３は、画像から探索された複数の第１サブマーカ１２５をフィルタリングしてもよい。画像から探索された複数の第１サブマーカ１２５のうち、実際の第１サブマーカ１２５に対応するものではないと考えられる、第１サブマーカ１２５を除外することとしてもよい。上述したように仮想座標軸αは、基準マーカ１２２等が用いられて実空間と対応が取られている。また、ユーザの移動方向は、第１サブマーカ１２５が並んだ方向に移動する。従って、第１サブマーカ１２５の仮想座標軸α上の位置座標が並ぶ方向と、第１仮想位置１３１が並ぶ方向とは、仮に撮像装置１０１の位置及び姿勢等に誤差が生じたとしても、大きくは異ならないものと考えられる。そこで、例えば、第１位置関係演算部１５３は、画像から探索された第１サブマーカ１２５と当該第１サブマーカ１２５に最も近い第１サブマーカ１２５とを結ぶ線と、それらの第１サブマーカ１２５それぞれに最も近い第１仮想位置１３１それぞれを結ぶ線とのなす角をθとした場合に、ｃｏｓθの値を計算する。第１位置関係演算部１５３は、当該ｃｏｓθの値が１．０〜０．８又は−１．０〜−０．８を満たす第１サブマーカ１２５のみを抽出する。これにより、誤検出されたデータを除外することができる。
【００４５】
第２位置関係演算部１５４は、実空間における第２サブマーカ１２７と仮想座標軸αとの関係を導出する。まず、第２位置関係演算部１５４は、撮像装置１０１の撮像画像から、従前の方法で実空間に配置された第２サブマーカ１２７を検出する。第２サブマーカ１２７が検出される撮像画像は、第１サブマーカ１２５が検出された撮像画像及び基準マーカ１２２が検出された撮像画像とは異なる。例えば、当該撮像画像は、ユーザが作業を行うために移動して第２サブマーカ１２７を設置した位置において撮像された画像である。本実施形態では、第２位置関係演算部１５４は、位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢と撮像画像から、撮像画像から検出された第２サブマーカ１２７の実空間上の座標位置を求めて、更に当該実空間上の座標から、仮想座標軸α上の座標位置を求める。検出された第２サブマーカ１２７から、第２サブマーカ１２７の実空間及び仮想座標軸α上の座標位置の算出は、従来のＭＲ技術に用いられている方法を用いて実施することができる。
【００４６】
第２位置関係演算部１５４は、第２サブマーカ１２７の検出結果と、撮像装置１０１が該第２サブマーカ１２７を撮像した際の撮像装置１０１の位置及び姿勢とから、複数の第２仮想位置１３２のうちの１つと、第２サブマーカ１２７との位置関係を演算する。第２サブマーカ１２７を撮像した際の撮像装置１０１の位置及び姿勢は、位置姿勢演算部１５２で演算される。第２位置関係演算部１５４は、第２サブマーカ１２７が第１サブマーカ１２５の位置に配置されていると判断した場合には、第２仮想位置１３２と第２サブマーカ１２７との位置関係を演算しない。
【００４７】
具体的には、第２位置関係演算部１５４は、第２サブマーカ１２７と、第１位置関係演算部１５３で演算されたズレ量及びズレ方向において、該第２サブマーカ１２７に最も近い第２仮想位置１３２との位置関係を演算する。なお、第１位置関係演算部１５３で複数のズレ量が演算された場合には、それらの平均値又は中央値等の値が用いられてもよい。具体的には、まず、第２位置関係演算部１５４は、仮想座標軸α上において、上記のズレ量及びズレ方向を打ち消すように第２サブマーカ１２７の座標位置を移動する。第２位置関係演算部１５４は、第２仮想位置１３２と移動後の第２サブマーカ１２７との位置関係として、第２サブマーカ１２７に対する移動後の第２サブマーカ１２７に最も近い第２仮想位置１３２の実空間におけるズレ量及びズレ方向を演算する。このときの移動後の第２サブマーカ１２７に最も近い第２仮想位置１３２は、第１位置関係演算部１５３で演算されたズレ方向において、最も近い第２仮想位置１３２にすることとしてもよい。第２位置関係演算部１５４は、第２仮想位置１３２の実空間におけるズレ量及びズレ方向に、撮像装置１０１の撮像画像から演算された移動後の第２サブマーカ１２７の座標位置と第２仮想位置１３２の座標位置との差分を用いる。
【００４８】
修正部１５５は、仮想座標軸αと位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との関係を修正する。本実施形態では、修正部１５５は、第１位置関係演算部１５３によって演算された位置関係と、第２位置関係演算部１５４によって演算された位置関係とから、実空間に対する仮想座標軸αの配置を修正する。具体的には修正部１５５は、第１位置関係演算部１５３で演算されたズレ方向及びズレ量、並びに第２位置関係演算部１５４によって演算されたズレ方向及びズレ量で、撮像装置１０１の位置及び姿勢を移動させずに、第１仮想位置１３１、第２仮想位置１３２、及び仮想物体２０１，２０２の表示配置を移動させる。これによって、仮想座標軸α上の撮像装置１０１の位置及び姿勢に対する仮想座標軸α上の撮像装置１０１の位置及び姿勢が修正される。
【００４９】
修正部１５５は、第２位置関係演算部１５４によって第２サブマーカ１２７が第１サブマーカ１２５の位置に配置されていると判断された場合には、第２位置関係演算部１５４によって演算された位置関係を用いずに、実空間に対する仮想座標軸αの配置を修正する。
【００５０】
修正部１５５によって上記修正が行われると、表示部１０４は、データ格納部１０３に格納されている配置情報と、修正部１５５によって修正された、仮想座標軸αと位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との関係とに基づいて、従前の方法で、仮想物体２０１，２０２をディスプレイ１４０に表示する。したがって、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係が修正されると、ディスプレイ１４０で表示される仮想物体２０１，２０２等の配置も修正される。
【００５１】
修正部１５５は、実空間に対する仮想座標軸αの配置でなく、位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢を修正してもよい。具体的には、修正部１５５は、第１位置関係演算部１５３で演算されたズレ方向及びズレ量、並びに第２位置関係演算部１５４によって演算されたズレ方向及びズレ量を打ち消すように、仮想空間における撮像装置１０１の位置及び姿勢を移動させることとしてもよい。修正部１５５は、実空間に対する仮想座標軸αと位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との両方を修正してもよい。
【００５２】
本実施形態では、修正部１５５は、第１位置関係演算部１５３によって演算された位置関係から、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正した後に、第２位置関係演算部１５４によって演算された位置関係から、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正する。具体的には、修正部１５５は、第１位置関係演算部１５３によって演算された位置関係から上記関係を修正する場合、第１位置関係演算部１５３で判断されたズレ方向に、実空間に対する仮想座標軸αの配置を修正する。第１位置関係演算部１５３は、撮像画像から検出された第１サブマーカ１２５の各々と、当該第１サブマーカ１２５に対応する各第１仮想位置１３１との間の距離の合計が最小となるように、実空間に対する仮想座標軸αの配置を修正する。この場合に、第１位置関係演算部１５３で判断されたズレ方向に、実空間に対する仮想座標軸αの配置を、ズレ量に相当する所定距離ずつずらすことで、上記合計を最小にする。
【００５３】
第１サブマーカ１２５の各々と、当該第１サブマーカ１２５に対応する各第１仮想位置１３１との間のズレが、第１サブマーカ１２５の間隔の半分未満であれば、第２位置関係演算部１５４によって演算された位置関係から、仮想座標軸αと位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との関係が適切に修正され得る。即ち、撮像装置１０１の位置及び姿勢のズレが、第１サブマーカ１２５の間隔（第２サブマーカの候補の周期）の半分未満（本実施形態では５０ｃｍ未満）であれば、撮像装置１０１の位置及び姿勢との関係が適切に修正され得る。撮像装置１０１の位置及び姿勢のズレが、第１サブマーカ１２５の間隔（第２サブマーカの候補の周期）の半分以上である場合、映像表示システム１００は、ディスプレイ１４０等を通してユーザにエラーを伝え、第１サブマーカ１２５の周辺を撮像装置１０１によって詳細に撮像するように促す。
【００５４】
修正部１５５は、第２サブマーカ１２７が有している３次元配置情報から、作業対象物１２１の長手方向、高さ方向、及び幅方向における仮想物体２０１，２０２の表示配置のズレを修正することができる。修正部１５５は、第２サブマーカ１２７に基づいて、各方向を軸とする回転を修正してもよい。
【００５５】
修正部１５５は、第２サブマーカ１２７に最も近い第２仮想位置１３２が第２サブマーカ１２７に対応するサブ指標１２６の位置となるように、仮想座標軸αと位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との関係を修正する。第２サブマーカ１２７が配置されるサブ指標１２６の位置は、作業位置に最も近いサブ指標１２６の位置である。修正部１５５は、第２位置関係演算部１５４によって演算された位置関係から上記関係を修正する場合も、第１位置関係演算部１５３で判断されたズレ方向に、実空間に対する仮想座標軸αの配置を修正する。
【００５６】
本実施形態では、指標１２４は、作業対象物１２１の長手方向において、基準マーカ１２２が示す原点から１０ｃｍごとに設けられている。したがって、第２サブマーカ１２７は、原点から１０ｃｍの倍数に対応する位置に配置される。このため、例えば、第２位置関係演算部１５４によって第２サブマーカ１２７が、原点から１２４２ｃｍの位置に配置されていると判断された場合には、第２位置関係演算部１５４は、第２サブマーカ１２７が第２仮想位置１３２から２ｃｍずれていると判断する。この場合、修正部１５５は、第２位置関係演算部１５４において第２サブマーカ１２７が基準マーカ１２２から１２４０ｃｍの位置に配置されていると判断されるように、実空間に対する仮想座標軸αの配置を２ｃｍ修正する。この結果、第２サブマーカ１２７に最も近い第２仮想位置１３２が第２サブマーカ１２７に対応するサブ指標１２６の位置となるように修正され、仮想物体２０１，２０２も適切な配置でディスプレイ１４０に表示される。
【００５７】
次に、図６を参照して、映像表示システム１００における仮想物体２０１，２０２の表示配置を修正する工程について説明する。図６は、仮想物体２０１，２０２の表示配置を修正する工程を示すフローチャートである。なお、以下の処理中、撮像装置１０１、移動検出部１０２による上述した処理は、順次行われている。
【００５８】
ステップＳ１０１において、ユーザが、作業対象物１２１に、基準マーカ１２２、指標部材１２３（第１サブマーカ１２５及びサブ指標１２６を含む指標１２４）を配置する。続いて、工程はステップＳ１０２へ進む。
【００５９】
ステップＳ１０２において、表示制御部１５０が、基準マーカ１２２に応じて、仮想座標軸αを実空間に対応付ける。続いて、工程はステップＳ１０３へ進む。
【００６０】
ステップＳ１０３において、ユーザが、作業位置へ移動し、第２サブマーカ１２７を作業位置から最も近い指標１２４の位置に配置する。続いて、工程はステップＳ１０４へ進む。
【００６１】
ステップＳ１０４において、ユーザが、操作部１０５を操作し、仮想物体２０１，２０２の表示配置の修正を指示する。続いて、ステップＳ１０５へ工程が進む。
【００６２】
ステップＳ１０５において、表示制御部１５０が、第１位置関係演算部１５３、第２位置関係演算部１５４、及び修正部１５５によって、第１サブマーカ１２５及び第２サブマーカ１２７の配置に基づいて仮想物体２０１，２０２の表示配置の修正処理を行う。
【００６３】
次に、図７を参照して、表示制御部１５０による仮想物体２０１，２０２の表示配置の制御処理について説明する。図７は、表示制御部１５０によって行われる制御処理を示すフローチャートである。
【００６４】
ステップＳ１１１において、表示制御部１５０は、基準配置設定部１５１によって、撮像装置１０１の撮像画像から基準マーカ１２２を検出する。続いて、表示制御部１５０は、ステップＳ１１２へ処理を進める。
【００６５】
ステップＳ１１２において、表示制御部１５０は、基準配置設定部１５１によって、該基準マーカ１２２の検出結果と、データ格納部１０３に格納されている情報とから、実空間における基準マーカ１２２の配置に仮想座標軸αを対応付ける。続いて、表示制御部１５０は、ステップＳ１１３へ処理を進める。
【００６６】
ステップＳ１１３において、表示制御部１５０は、位置姿勢演算部１５２によって、撮像装置１０１の位置及び姿勢を演算する。演算結果は、データ格納部１０３に格納される。続いて、表示制御部１５０は、ステップＳ１１４へ処理を進める。
【００６７】
ステップＳ１１４において、表示制御部１５０は、表示部１０４によって、仮想映像をディスプレイ１４０に表示する。この際、表示部１０４は、データ格納部１０３を参照して、仮想物体２０１，２０２を上記ディスプレイ１４０に表示する位置を演算する。続いて、表示制御部１５０は、ステップＳ１１５へ処理を進める。
【００６８】
ステップＳ１１５において、表示制御部１５０は、操作部１０５から仮想物体２０１，２０２の表示配置の修正指示を受けたか否か判断する。修正指示を受けた場合、表示制御部１５０は、ステップＳ１１６へ処理を進める。修正指示を受けていない場合、表示制御部１５０は、ステップＳ１１７へ処理を進める。
【００６９】
ステップＳ１１６において、表示制御部１５０は、第１位置関係演算部１５３、第２位置関係演算部１５４、及び修正部１５５によって、ズレ修正処理を行う。ズレ修正処理によって、ユーザの移動量に応じて蓄積した移動検出の誤差による仮想物体２０１，２０２の表示配置のズレが修正される。表示制御部１５０は、ズレ修正処理が終了すると、ステップＳ１１３へ処理を進める。
【００７０】
ステップＳ１１７において、表示制御部１５０は、制御処理を終了するか判断する。制御処理を終了しない場合は、ステップＳ１１３へ処理を進める。制御処理を終了する場合は、処理を終了する。
【００７１】
次に、図８を参照して、表示制御部１５０によるズレ修正処理について詳細に説明する。図８は、表示制御部１５０によって行われるズレ修正処理を示すフローチャートである。
【００７２】
ステップＳ１２１において、表示制御部１５０は、第１位置関係演算部１５３によって、撮像装置１０１の撮像画像から第１サブマーカ１２５を検出する。続いて、表示制御部１５０は、ステップＳ１２２へ処理を進める。
【００７３】
ステップＳ１２２において、表示制御部１５０は、第１位置関係演算部１５３によって、第１仮想位置１３１と第１サブマーカ１２５との位置関係を演算する。第１位置関係演算部１５３は、第１サブマーカ１２５の検出結果と、撮像装置１０１が該第１サブマーカ１２５を撮像した際の撮像装置１０１の位置及び姿勢とから、複数の第１仮想位置１３１のうち１つと第１サブマーカ１２５との位置関係を演算する。続いて、表示制御部１５０は、ステップＳ１２３へ処理を進める。
【００７４】
ステップＳ１２３において、表示制御部１５０は、修正部１５５によって、仮想座標軸αと位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との関係を修正する。ステップＳ１２３では、修正部１５５は、第１位置関係演算部１５３で演算された位置関係、すなわち、第１仮想位置１３１と第１サブマーカ１２５との位置関係から、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正する。続いて、表示制御部１５０は、ステップＳ１２４へ処理を進める。
【００７５】
ステップＳ１２４において、表示制御部１５０は、第２位置関係演算部１５４によって、撮像装置１０１の撮像画像から第２サブマーカ１２７を検出する。続いて、表示制御部１５０は、ステップＳ１２５へ処理を進める。
【００７６】
ステップＳ１２５において、表示制御部１５０は、第２位置関係演算部１５４によって、第２サブマーカ１２７が第１サブマーカ１２５の位置に配置されているか否かを判断する。第２サブマーカ１２７が第１サブマーカ１２５の位置に配置されていると判断された場合には、表示制御部１５０はズレ修正処理を終了する。第２サブマーカ１２７が第１サブマーカ１２５の位置に配置されていないと判断された場合には、表示制御部１５０はステップＳ１２６へ処理を進める。
【００７７】
ステップＳ１２６において、表示制御部１５０は、第２位置関係演算部１５４によって、第２仮想位置１３２と第２サブマーカ１２７との位置関係を演算する。第２位置関係演算部１５４は、第２サブマーカ１２７の検出結果と、撮像装置１０１が該第２サブマーカ１２７を撮像した際の撮像装置１０１の位置及び姿勢とから、複数の第２仮想位置１３２のうち１つと第２サブマーカ１２７との位置関係を演算する。続いて、表示制御部１５０は、ステップＳ１２７へ処理を進める。
【００７８】
ステップＳ１２７において、表示制御部１５０は、修正部１５５によって、仮想座標軸αと位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との関係を修正する。ステップＳ１２６では、修正部１５５は、第２位置関係演算部１５４で演算された位置関係、すなわち、第２仮想位置１３２と第２サブマーカ１２７との位置関係から、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正する。表示制御部１５０は、ステップＳ１２７の処理が終了すると、ズレ修正処理を終了する。
【００７９】
本実施形態では、表示制御部１５０は、図７で示したように、操作部１０５の操作に応じた修正指示を受けてズレ修正処理を開始する。しかし、表示制御部１５０は、ズレ修正処理を行うトリガーは操作部１０５による修正指示でなくともよい。例えば、表示制御部１５０は、所定時間毎にズレ修正処理を行うように設定されてもよい。
【００８０】
表示制御部１５０は、修正指示を受けて開始される処理を、ズレ修正処理におけるステップＳ１２１からステップＳ１２６のうち、いずれの処理に設定してもよい。例えば、表示制御部１５０は、第１仮想位置１３１と第１サブマーカ１２５との位置関係から仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正した後に、操作部１０５からの修正指示を受けて、第２仮想位置１３２と第２サブマーカ１２７との位置関係から仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正してもよい。
【００８１】
次に、本実施形態に係る映像表示システム１００の主な作用及び効果について説明する。
【００８２】
映像表示システム１００では、第１位置関係演算部１５３が、基準マーカ１２２に対して予め決められた位置に配置された第１サブマーカ１２５と、仮想座標軸αに予め対応付けられた複数の第１仮想位置１３１のうちと第１サブマーカ１２５と最も近い第１仮想位置１３１との位置関係を演算している。このため、移動検出部１０２で検出結果から演算された撮像装置１０１の位置及び姿勢が誤差を含んでいる場合に、基準マーカ１２２から離れた位置でも、複数の第１仮想位置１３１の配置に応じて、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係が修正され、仮想物体２０１，２０２の表示配置が修正され得る。具体的には、上述したように第１仮想位置１３１の間隔の半分程度であれば、撮像装置１０１の位置及び姿勢に誤差が生じていても、仮想物体２０１，２０２の表示配置が修正され得る。第１サブマーカ１２５は、大まかな位置合わせをするだけであるので、必ずしも厳密な位置を検出する必要はない。例えば、第１サブマーカ１２５は、基準マーカ１２２及び第２サブマーカ１２７と比べて画像認識がしにくい、例えば、特徴点がそれらと比べて少ないものを用いてもよい。従って、本実施形態のような巻き尺のメモリを第１サブマーカ１２５として用いることができ、簡易かつ適切に位置合わせを行うことができる。
【００８３】
第２位置関係演算部１５４は、第１サブマーカ１２５よりも撮像装置１０１に近い位置に配置された第２サブマーカ１２７と、仮想座標軸αに予め対応付けられた、第１仮想位置１３１よりも多い複数の第２仮想位置１３２との位置関係を演算している。第１サブマーカ１２５と第１仮想位置１３１との位置関係が利用されながら、第１サブマーカ１２５よりも撮像装置１０１に近い第２サブマーカ１２７と第２仮想位置１３２との位置関係が用いられることで、撮像装置１０１の位置で、仮想物体２０１，２０２の実空間に対するズレが更に高精度に修正され得る。すなわち、ユーザの位置で、仮想物体２０１，２０２の表示配置が高精度に修正され得る。
【００８４】
修正部１５５は、第１位置関係演算部１５３によって演算された位置関係から、仮想座標軸αと位置姿勢演算部１５２で演算された撮像装置１０１の位置及び姿勢との関係を修正した後に、第２位置関係演算部１５４によって演算された位置関係から、上記関係を修正する。このように、第２位置関係演算部１５４によって演算された位置関係を用いた詳細な修正を行う前に、第１位置関係演算部１５３によって演算された位置関係で概括的な修正を行う。これにより、処理負荷が低減されながら、修正精度が向上されている。また、ユーザの移動中に概括的な修正を行うことで、ユーザの視覚的な違和感を低減することができる。
【００８５】
第１位置関係演算部１５３によって演算される位置関係は、仮想空間における第１サブマーカ１２５と第１仮想位置１３１とのズレ方向を含む。複数の第２仮想位置１３２のうちの１つは、第１位置関係演算部１５３によって演算されるズレ方向において第２サブマーカ１２７に最も近い第２仮想位置１３２である。このため、適切に修正を行うことができるズレ量の範囲を向上することができる。
【００８６】
ユーザが操作する操作部１０５を更に備え、第１位置関係演算部１５３、第２位置関係演算部１５４、及び修正部１５５の少なくとも１つは、操作部１０５の操作に応じて処理を行う。状況に応じて、必要な処理のみが行うことができるため、処理負荷が低減され得る。
【００８７】
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に(例えば、有線及び／又は無線)で接続し、これら複数の装置により実現されてもよい。
【００８８】
例えば、本発明の一実施の形態における映像表示システムは、本実施形態における処理を行うコンピュータとして機能してもよい。図９は、本発明の一実施の形態に係る映像表示システムのハードウェア構成の一例を示す図である。上述した映像表示システム１００は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含むコンピュータ装置として構成されてもよい。また、映像表示システム１００は、上記以外にも、撮像装置１０１、移動検出に用いられるセンサ等のハードウェアも備える。
【００８９】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。映像表示システム１００のハードウェア構成は、図に示した各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００９０】
映像表示システム１００における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信や、メモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００９１】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）で構成されてもよい。例えば、表示部１０４、基準配置設定部１５１、位置姿勢演算部１５２、第１位置関係演算部１５３、第２位置関係演算部１５４、及び修正部１５５などは、プロセッサ１００１で実現されてもよい。
【００９２】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュールやデータを、ストレージ１００３及び／又は通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、表示部１０４、基準配置設定部１５１、位置姿勢演算部１５２、第１位置関係演算部１５３、第２位置関係演算部１５４、及び修正部１５５は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、１つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【００９３】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本発明の一実施の形態に係る方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００９４】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及び／又はストレージ１００３を含むデータベース、サーバその他の適切な媒体であってもよい。
【００９５】
通信装置１００４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。映像表示システム１００は、通信装置１００４による外部との通信によってデータ格納部１０３の内部のデータを書き換えてもよい。
【００９６】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、LEDランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００９７】
また、プロセッサ１００１やメモリ１００２などの各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００９８】
また、映像表示システム１００は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００９９】
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【０１００】
例えば、上述した実施形態では、修正部１５５は、第２位置関係演算部１５４によって演算された位置関係から上記関係を修正する場合にも、第１位置関係演算部１５３で判断されたズレ方向に、実空間に対する仮想座標軸αの配置を修正する。しかし、第２位置関係演算部１５４でもズレ方向を判断し、修正部１５５が、第２位置関係演算部１５４によって演算された位置関係から上記関係を修正する場合に第２位置関係演算部１５４で判断されたズレ方向に、実空間に対する仮想座標軸αの配置を修正してもよい。
【０１０１】
修正部１５５は、第１位置関係演算部１５３によって第１仮想位置１３１と第１サブマーカ１２５との位置関係を演算し、第２位置関係演算部１５４によって第２仮想位置１３２と第２サブマーカ１２７との位置関係を演算した後に、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正してもよい。すなわち、修正部１５５は、図８におけるステップＳ１２３の処理を行わずに、図８におけるステップＳ１２６の処理の後に、第１仮想位置１３１と第１サブマーカ１２５との位置関係と第２仮想位置１３２と第２サブマーカ１２７との位置関係とから、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正してもよい。
【０１０２】
この場合、第１位置関係演算部１５３が、第１仮想位置１３１と第１サブマーカ１２５との位置関係として、第１サブマーカ１２５に対する第１仮想位置１３１のズレ方向のみを演算するようにしてもよい。また、この場合、表示制御部１５０は、図６のステップＳ１０４における処理がなくとも、ステップＳ１０３における第２サブマーカ１２７の配置をトリガーとして、図７のステップＳ１１７におけるズレ修正処理を行ってもよい。
【０１０３】
第２サブマーカ１２７は、第２サブマーカ１２７の３次元配置を示す情報を有さずに、複数の指標１２４のうち、いずれの指標１２４を選択するか示すものであってもよい。この場合、第２位置関係演算部１５４は、選択された指標１２４を検出し、当該指標１２４と第２仮想位置１３２との位置関係を演算する。
【０１０４】
第１位置関係演算部１５３は、第１サブマーカ１２５の座標位置を演算しなくてもよい。この場合、修正部１５５が、撮像装置１０１の撮像画像において、第１サブマーカ１２５と第１仮想位置１３１とが一致するように、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正してもよい。
【０１０５】
第２位置関係演算部１５４は、第２サブマーカ１２７の座標位置を演算しなくてもよい。この場合、修正部１５５が、撮像装置１０１の撮像画像において、第２サブマーカ１２７と第２仮想位置１３２とが一致するように、仮想座標軸αと撮像装置１０１の位置及び姿勢との関係を修正してもよい。
【０１０６】
本明細書で説明した各態様／実施形態は、ＬＴＥ（Long  Term  Evolution）、ＬＴＥ−Ａ（LTE-Advanced）、ＳＵＰＥＲ  ３Ｇ、ＩＭＴ−Ａｄｖａｎｃｅｄ、４Ｇ、５Ｇ、ＦＲＡ（Future  Radio  Access）、Ｗ−ＣＤＭＡ（登録商標）、ＧＳＭ（登録商標）、ＣＤＭＡ２０００、ＵＭＢ（Ultra  Mobile  Broadband）、ＩＥＥＥ  ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ  ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ  ８０２．２０、ＵＷＢ（Ultra-WideBand）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、その他の適切なシステムを利用するシステム及び／又はこれらに基づいて拡張された次世代システムに適用されてもよい。
【０１０７】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【０１０８】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【０１０９】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：trueまたはfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【０１１０】
本明細書で説明したデータは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【０１１１】
また、本明細書で説明したデータ、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。上述したパラメータに使用する名称はいかなる点においても限定的なものではない。
【０１１２】
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定（judging）、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)（例えば、テーブル、データベースまたは別のデータ構造での探索）、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)（例えば、情報を受信すること）、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【０１１３】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【０１１４】
「含む(include)」、「含んでいる（including）」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または（or）」は、排他的論理和ではないことが意図される。
【０１１５】
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【符号の説明】
【０１１６】
１００…映像表示システム、１０１…撮像装置、１０２…移動検出部、１０３…データ格納部、１０４…表示部、１０５…操作部、１２２…基準マーカ、１２５…第１サブマーカ、１２７…第２サブマーカ、１３１…第１仮想位置、１３２…第２仮想位置、１５１…基準配置設定部、１５２…位置姿勢演算部、１５３…第１位置関係演算部、１５４…第２位置関係演算部、１５５…修正部、２０１，２０２…仮想物体、α…仮想座標軸。
【図１】
2019066292.tif 000003
【図２】
2019066292.tif 000004
【図３】
2019066292.tif 000005
【図４】
2019066292.tif 000006
【図５】
2019066292.tif 000007
【図６】
2019066292.tif 000008
【図７】
2019066292.tif 000009
【図８】
2019066292.tif 000010
【図９】
2019066292.tif 000011