[第一の実施例]
本実施例は、施設における点検作業を例に説明する。まず、図1は、AR技術を用いた点検作業を説明するためのイメージ図である。
作業者は、時刻T=t0に、点検作業を開始するとする。そして、施設内の部屋101において、まず、部屋101に設置された設備に関する作業を行う。このとき、ユーザは、部屋101内に設置されたARマーカーMAを、情報処理装置を用いて撮影する。情報処理装置は、カメラを備える通信端末装置であって、例えば、スマートフォンや、タブレットPC、携帯電話などである。なお、情報処理装置における各種処理の詳細については、後述する。
また、ARマーカーMAは、部屋101内で実施される点検作業における作業対象の付近に設置されることが望ましい。つまり、作業場所、またはその周辺にARマーカーMAは設置される。例えば、ARマーカーMAは、作業対象の設備に添付される。なお、図1に示される、ARマーカーMA、ARマーカーMB、ARマーカーMC、ARマーカーMD、ARマーカーME、ARマーカーMFを区別する必要がない場合は、ARマーカーMと称する。
ARマーカーMは、情報処理装置とARコンテンツとの位置関係を判断するための基準物である。そして、事前に、各ARマーカーMには、撮影画像に重ねて表示されるARコンテンツが対応付けられている。よって、情報処理装置が読み取ったARマーカーMに対応するARコンテンツが、撮影画像に投影されて表示される。ここで、図示されたARマーカーMAからARマーカーMFは、互いに異なる形状を示すため、情報処理装置は、ARマーカーMAからARマーカーMFを、互いに識別可能である。
ここで、図2は、重畳画像のイメージ図である。重畳画像は、ARマーカーMを含む撮影画像に、当該ARマーカーに対応するARコンテンツの投影画像が、重畳表示された画像である。
例えば、図1において、作業者が、部屋101において、ARマーカーMAが設置された場所を、情報処理装置を用いて撮影したとする。このとき、情報処理装置は、後述の処理を行い、認識したARマーカーMAに対応するARコンテンツの投影画像を撮影画像に重畳させた重畳画像200を生成する。そして、情報処理装置は、重畳画像200を、表示装置(例えば、ディスプレイ)に表示する。
図2の例では、ARマーカーMAは、パイプ201に添付されている。現実空間には、パイプ201、バルブ202、センサ203、ARマーカーMAが存在する。重畳画像200では、この現実空間を撮像した撮影画像に対して、ARコンテンツの投影画像204、ARコンテンツの投影画像205、ARコンテンツの投影画像206が重畳表示される。
つまり、図2の例では、ARマーカーMAには、3つのARコンテンツが対応付けられている。なお、各ARコンテンツには、予めARマーカーMAを中心とするARマーカー座標系における位置が設定されている。よって、情報処理装置とARマーカーMAとの位置関係に応じて、ARコンテンツの三次元モデルに対して予め設定されたマーカー座標系における位置が変換された後、三次元モデルが撮影画像上に投影される。なお、座標の変換等を含む重畳画像の生成については、後述する。
よって、重畳画像200を閲覧した作業者は、部屋101において、どのような作業をすべきかを把握することが可能となる。例えば、作業者は、ARコンテンツの投影画像204「(1)バルブが閉まっていることを確認」を閲覧することで、初めに、バルブ202が閉まっていることを確認しなければならないことがわかる。さらに、ARコンテンツの投影画像205「(2)センサの値を記録」を閲覧する事で、作業者は、センサ203の値を記録しなければならないことがわかる。このとき、作業者は、例えば、情報処理装置や、点検用紙に、センサ203の値を記録する。
最後に、ARコンテンツの投影画像206「(3)隣の部屋へ」を閲覧することで、作業者は部屋101における作業を終了し、向かって右側の部屋へ移動しなければならないことがわかる。このように、作業者は、各ARマーカーMを、撮影することで、重畳画像を閲覧することが可能となり、重畳画像に表示されたARコンテンツの投影画像から、作業内容を把握することが可能となる。
以上のように、AR技術を、点検作業などの各種作業へ応用することで、作業者は、現実空間に存在する作業対象を認識したうえで、各作業対象に対する作業内容を把握できるため、作業内容を的確かつ容易に把握することが可能となる。
図1に戻り、作業者は、複数の作業を完了させる必要がある場合には、各作業対象が存在する場所(部屋101、部屋102、部屋103、部屋104、部屋105)へ赴き、各場所に設置されたARマーカーMを、撮影する。そして、作業者は、各ARマーカーMに対応付けられたARコンテンツに従って、各場所において、作業対象に関わる作業を実施する。図1の例では、時刻t0、t1、t2、t3、t4、t5、t6の順に、作業者が作業を実施した例を示している。
このように、情報処理装置が、ARマーカーを認識することで、ARコンテンツの投影画像が表示されるため、次のような不正が行われる可能性がある。
図3は、作業の実施を不正に偽装する例を説明するための図である。作業者は、作業場所の付近設置されているARマーカーを、不正に複製し、複製ARマーカーを生成する。なお、作業場所とは、作業対象が存在する場所およびその周辺である。図2の例であれば、作業対象であるバルブ202やセンサ203が存在する付近である。
作業者は、ARマーカーMA、ARマーカーMB、ARマーカーMC、ARマーカーMD、ARマーカーME、ARマーカーMFを複製することで、複製ARマーカーMA’、複製ARマーカーMB’、複製ARマーカーMC’、複製ARマーカーMD’、複製ARマーカーME’、複製ARマーカーMF’を得る。なお、ARマーカーMAと複製ARマーカーMA’とは、形状が同一であって、情報処理装置による認識結果は同様である。
作業者は、正規の場所まで赴くことなく、他の場所において、各複製ARマーカーを情報処理装置により撮影する。ARマーカーの認識に応じて表示されるARコンテンツの投影画像から、作業内容を把握し、作業の実施を装うことができる。例えば、「(1)バルブが閉まっていることを確認」という作業内容については、実際にバルブの開閉状態を確認することなく、作業者が、点検表や情報処理装置に「バルブ:閉」と入力する。また、「(2)センサの値を記録」という作業内容については、実際の値を確認することなく、作業者は、適当な値を記入する。
このように、ARマーカーは、撮影画像から認識されるため、背景技術に示した入退場管理システムにおける固定ゲートとは異なり、複製が比較的容易である。例えば、ARマーカーとして、バーコードを利用する場合には、バーコードの画像をさらにコピーすることで、作業場所以外の場所であっても、撮像装置がバーコードを撮影することが可能である。また、ARマーカーが特定の物体である場合でも、当該特定の物体の画像を、別途用意することで、作業者は容易にARマーカーのコピーを入手することができる。
したがって、本実施例においては、AR技術を利用した作業支援において、入力画像の撮影位置に関する条件に応じて、基準物の認識に応じた処理の実行制御を行う。つまり、入力画像の撮影位置に関する条件に応じて、作業の実施が推測される。なお、作業の実施を偽造する例としては、図3の例以外にも、作業場所において、必要以上にARマーカーを連続して撮影する事などが考えられる。
図4は、システム構成図である。図4の例では、情報処理装置の例として、通信端末1−1および通信端末1−2を示す。以下、これらを総称して、情報処理装置1とする。さらに、情報処理装置1は、ネットワークNを介して、管理装置2と通信する。管理装置2は、例えば、サーバコンピュータであって、情報処理装置1を管理する。ネットワークNは、例えば、インターネットである。なお、本実施例に係る支援システムは、情報処理装置1および管理装置2を含む。
ここで、簡単に、管理装置2の機能的構成について、説明する。管理装置2は、ARコンテンツに関するARコンテンツ情報を管理するとともに、必要に応じて、ARコンテンツ情報を情報処理装置1へ送信する。ARコンテンツ情報の詳細については、後述するが、ARコンテンツの表示位置に関する位置情報や、ARコンテンツとARマーカーMとの対応情報などが含まれる。
さらに、管理装置2は、後述する条件情報を管理するとともに、条件情報を、情報処理装置1へ送信する。条件情報の詳細については、後述するが、ARマーカーに対応する作業の作業場所に関する条件を示す情報である。また、管理装置2は、情報処理装置1を操作する作業者が、作業を実施しているかに関する監視を行うことも可能である。監視した結果、作業の不実施を確認した場合、管理者へ通知を行ってもよい。
次に、情報処理装置1の機能的構成について、説明する。図5は、第一の実施例にかかる情報処理装置1の機能ブロック図である。情報処理装置1は、通信部11、撮像処理部12、表示部13、制御部14、記憶部18を含む。通信部11は、制御部14による制御の下、他の装置との通信を行う処理部である。例えば、通信部11は、管理装置2から、ARコンテンツ情報や条件情報を受信する。
撮像処理部12は、現実空間の撮影画像を取得する処理部である。撮像処理部12は、一定のフレーム間隔または、制御部14により指定されたタイミングで撮影を行う。そして、撮影画像に相当する画像データを、制御部14へ送信する。画像データには、各画素の輝度情報や、色情報などが含まれる。また、撮像処理部12の機能を担うカメラなどの撮像装置は、情報処理装置1と通信可能であればよく、情報処理装置1に内蔵されていなくとも良い。
表示部13は、制御部14の制御の下、撮影画像や、重畳画像を表示する。例えば、表示部13は、ディスプレイである。
制御部14は、情報処理装置1における各種処理を制御する制御部である。制御部14は、例えば、プロセッサである。具体的には、制御部14は、入力画像に含まれる基準物の認識に関する認識情報を受け付け、前記入力画像の撮影位置に関する条件に応じて、前記基準物の認識に応じた処理の実行制御を行う。また、制御部14は、認識部15、判定部16、画像生成部17を有する。
認識部15は、撮影画像からARマーカーを認識する。具体的には、認識部15は物体認識処理により、画像から、既知の形状であるARマーカーに相当する部分画像を抽出する。そして、認識部15は、部分画像を解析することで、ARマーカーの識別情報を読み取る。ARマーカーの識別情報は、各ARマーカーを互いに識別するための情報であって、以下、マーカーIDを称する。そして、認識部15は、認識結果に関する認識情報を判定部16へ出力する。なお、認識情報には、ARマーカーの識別情報が含まれる。
判定部16は、入力画像に含まれる基準物の認識に関する認識情報を受け付け、入力画像の撮影位置に関する条件に応じて、基準物の認識に応じた処理の実行制御を行う。例えば、判定部16は、認識部15がARマーカーのような基準物を認識した際に、入力画像の撮影位置に関する移動情報を生成し、移動情報と入力画像の撮影位置に関する条件とに基づき、ARコンテンツの生成処理および表示処理の実行を制御する。
本実施例においては、移動情報は、第一のARマーカーの認識時間と、第二のARマーカーの認識時間の差分により、第二のARマーカーを含む入力画像の撮影位置を推測する。第一のARマーカーの撮影位置から、第二のARマーカーの撮影位置までの移動があったか否かは、認識時間の差分に基づき推測可能であるためである。また、ARマーカーの認識時間以外にも、ARマーカーを含む画像が撮影された撮影時間が利用されてもよい。
条件は、第一のARマーカーの認識に応じて実施される作業の作業場所から、第二のARマーカーの認識に応じて実施される作業の作業場所までの移動に要する時間と、さらに、第一のARマーカーを撮影することで、第一のARマーカーの作業場所にて実施される作業の作業時間との少なくとも一方に依存する。例えば、移動時間と作業時間を加算した時間を超えることを、条件とする。
また、移動情報は、作業開始時間と各ARマーカーの認識時間の差分であってもよい。移動情報として、作業開始時間と各ARマーカーの認識の差分が利用される場合には、条件情報は、作業開始位置から各ARマーカーの認識に応じて実施される作業の作業場所までの移動時間と、作業時間とに依存した情報となる。
判定部16は、移動情報が条件情報を満たすか否かを判定するとともに、条件を満たすか否かに応じて、ARマーカーの認識に応じた処理の実行制御を行う。移動情報と条件情報とを比較することで、ARマーカーの認識に応じて実施される作業が実施されたか否かが推測可能である。例えば、第一のARマーカーの認識時間と、第二のARマーカーの認識時間との差分が、条件で設定された時間を超えている場合に、作業が実施されたことが判定される。
一方、情報処理装置1が、加速度センサやジャイロセンサを有する場合には、移動情報は、第一のARマーカーの撮影位置から、第二のARマーカーの撮影位置までの移動の軌跡であってもよい。つまり、判定部16は、センサからの出力に応じて、情報処理装置1の移動の軌跡を、移動情報として生成する。
この場合、条件情報は、第一のARマーカーから第二のARマーカーまでの移動の軌跡に関する情報が、予め設定される。よって、移動情報における軌跡と、条件情報における軌跡との比較結果に応じて、判定部16は、移動情報が条件情報を満たすか否かを判定してもよい。2つの軌跡が類似する場合に、移動情報が条件情報を満たすことを判定する。なお、判定部16は、移動情報の軌跡と条件情報の軌跡との相関値を算出し、相関値が閾値以上である場合に、類似すると判断する。なお、以下、本実施例においては、時間を用いて、作業の実施を判定する例を用いて、説明を続ける。
判定部16は、判定結果に応じて、例えば、重畳画像の生成を制御する。なお、重畳画像は、画像生成部17により生成され、その後、表示部13に表示されるが、画像生成部17に対して、判定部16が、重畳画像の生成を命令することで、重畳画像が生成される。言い換えると、判定部16が、画像生成部17に重畳画像の生成の命令を抑止することで、重畳画像は生成されない。
例えば、あるARマーカーMに対応するARコンテンツの投影画像を含む重畳画像が表示されなければ、作業者は、作業内容を把握することができない。よって、例えば、作業者は、点検表に適切な記載を残すことができない。点検表を確認する管理者は、点検表が適切に記載されているか否かに応じて、作業の実施を偽装した作業者に対して、何らかの処置を行うことができる。
一方、作業者が、作業内容を把握していて、ARコンテンツの表示内容に頼らずとも、点検表等に記入可能な場合も考えられる。これに対応する為に、判定部16は、判定結果に応じて、ARマーカーが設置された作業場所で作業が実施されたか否かに関する履歴情報を生成する。
そして、通信部11を介して、履歴情報は、管理装置2へ通知される。例えば、移動情報が条件情報を満たさないと判定された場合には、作業が実施されなかった旨の履歴情報が生成される。なお、履歴情報と併せて、各ARマーカーを含む画像を撮影した撮影時間などを含むログ情報を、管理装置2へ通知してもよい。ログ情報に関しては、後述する。
画像生成部17は、撮影画像にARコンテンツの投影画像を配置した重畳画像を生成する。つまり、画像生成部17は、3次元物体のモデルデータであるARコンテンツを、カメラにより撮像された撮影画像に重ねて表示させる。ここで、重畳画像の生成について、説明する。
ARコンテンツは、例えば、複数の点を含むモデルデータである。複数の点を直線や曲線で補間して得られる複数の面ごとに模様(テクスチャ)や画像が設定され、複数の面が合成されることで3次元のモデルが形成される。ARコンテンツの配置において、ARコンテンツを構成する各点の座標が、現実空間内に存在する基準物を基準として定められる。
一方で、カメラが撮像した撮影画像内に写り込んだ基準物の見え方(像)に基づいて、カメラと基準物との現実空間における位置関係が求められる。基準物は形状や模様などが既知の物体であり、例えば基準物の像と既知の形状や模様との照合により、基準物がカメラに対してどのような位置にあるかが判別される。
基準物を基準とする座標と、カメラと基準物との位置関係により、カメラとARコンテンツの各点の座標との位置関係が求められる。(カメラとARコンテンツとの位置関係としているが、ARコンテンツは仮想的に配置されたものであり、ARコンテンツという物体が現実空間に存在するわけではない。単にカメラを基準とする位置の情報が生成される。)これらの位置関係に基づいて、カメラが仮想空間上に存在するARコンテンツを仮に撮像した場合に得られるARコンテンツの像(投影画像)が生成される。ARコンテンツの投影画像を生成するための演算について、図6、図7、図8、図9に基づいてさらに説明する。
図6は、カメラ座標系とARマーカー座標系との関係を示す。図6に示されるARマーカーMは、ARコンテンツ表示に用いられる基準物の一例である。図6に例示されるARマーカーMは、正方形形状であり、予めサイズが定められている(例えば1辺の長さが10cmなど)。図6に示されるARマーカーMは正方形形状であるが、複数の視点ののうちのどの視点から撮像して得られる像に基づいても、カメラからの相対的な位置および向きが判別可能な形状の他の基準物が用いられてもよい。他の例として、撮影画像から生成される特徴点などが基準物に用いられる。
カメラ座標系は、(Xc,Yc,Zc)の3次元で構成され、例えばカメラの焦点を原点(原点Oc)とする。なお、カメラは、本実施例においては、情報処理装置1が備える撮像装置の一例である。例えば、カメラ座標系のXc−Yc平面はカメラの撮像素子面と平行な面であり、Zc軸は撮像素子面に垂直な軸である。
ARマーカー座標系は、(Xm,Ym,Zm)の3次元で構成され、例えばARマーカーMの中心を原点(原点Om)とする。例えば、ARマーカー座標系のXm−Ym平面はARマーカーMの模様の印刷面と平行な面であり、Zm軸はARマーカーMの印刷面と垂直である。原点Omは、カメラ座標系において位置座標V1c(X1c,Y1c,Z1c)で示される。また、カメラ座標系に対するARマーカー座標系の回転角は、回転座標G1c(P1c,Q1c,R1c)で示される。P1cはXc軸回りの回転角であり、Q1cはYc軸回りの回転角であり、R1cはZc軸回りの回転角である。図6に例示されるARマーカーMはYm軸回りにのみ回転しているため、P1cおよびR1cは0である。
図7は、カメラ座標系とARマーカー座標系とにおけるARコンテンツCの例を示す。図7に例示するARコンテンツCは、吹き出し形状のモデルデータであり、吹き出し内に「(1)バルブが閉まっていることを確認」というテキストデータを含む。ARコンテンツCの吹き出しの先端の黒丸は、ARコンテンツCの基準点とする。ARコンテンツCの基準点のARマーカー座標系における座標は、V1m(X1m,Y1m,Z1m)とする。さらにARコンテンツCの向きは回転座標G1m(P1m,Q1m,R1m)で定められ、ARコンテンツCのサイズは倍率D1m(J1x,J1y,J1z)で定められる。
ARコンテンツCを構成する各点の座標は、ARコンテンツCの雛型(ARテンプレート)に定義された各点の座標が、基準点の座標V2m、回転座標G2mおよび倍率D1mに基づいて調整された座標である。ARテンプレートに定義される基準点の座標は、例えば、(0,0,0)である。ARテンプレートに含まれる各座標は、設定された回転座標G1mに基づいて回転され、倍率D1mで拡縮され、さらに基準点の座標V1mに基づいて平行移動されて調整される。図7のARコンテンツCは、ARテンプレートに定義された各点が、ARマーカーMのARマーカー座標系において、基準点の座標V1m、回転座標G1mおよび倍率D1mに基づいて調整された点に基づいて構成された状態である。
ARコンテンツCの各点のARマーカー座標系での座標が、カメラ座標系に変換され、さらにカメラ座標系の座標に基づいて表示画面内の位置(スクリーン座標系の座標)に変換される。変換された座標に基づいて、ARコンテンツCの投影画像が生成される。カメラ座標系における座標は、ARマーカー座標系における座標に対して、座標V1cおよび回転座標G1cに基づく座標変換(モデル−ビュー変換)を行なうことにより算出される。例えば、モデル−ビュー変換が座標V2mに対して行なわれると、基準点のカメラ座標系における座標V2c(X2c,Y2c,Z2c)が求められる。
図8は、ARマーカー座標系からカメラ座標系への変換行列Eと、変換行列E内の回転行列Rを示す。変換行列Eは、4×4の行列である。変換行列Eと列ベクトル(Xm,Ym,Zm,1)との積により、列ベクトル(Xc,Yc,Zc,1)が得られる。変換行列Eは、カメラ座標系におけるARマーカーの位置座標V1c(X1c,Y1c,Z1c)および回転座標G1c(P1c,Q1c,R1c)に基づいて算出される。
列ベクトル(Xm,Ym,Zm,1)に座標変換(モデル−ビュー変換)対象のARマーカー座標系の点座標を代入して、行列演算を行なうことにより、カメラ座標系の点座標を含む列ベクトル(Xc,Yc,Zc,1)が得られる。変換行列Eの1〜3行目且つ1〜3列の部分行列(回転行列R)がARマーカー座標系の座標に作用することにより、ARマーカー座標系の向きとカメラ座標系との向きを合わせるための回転操作が行なわれる。変換行列Eの1〜3行目且つ4列目の部分行列が作用することにより、ARマーカー座標系の向きとカメラ座標系との位置を合わせるための並進操作が行なわれる。
図9は、回転行列R1、R2およびR3を示す。図8に示す回転行列Rは、回転行列R1、R2およびR3の積(R1・R2・R3)により算出される。
ARコンテンツCを構成する各点のARマーカー座標系の座標(Xm,Ym,Zm)は、変換行列Eに基づくモデル−ビュー変換により、カメラ座標系の座標(Xc,Yc,Zc)に変換される。図7に例示される位置座標V2mはモデル−ビュー変換により位置座標V2cに変換される。
スクリーン座標系は、(Xs,Ys)の2次元で構成され、例えばカメラの撮像処理により得られる撮影画像の中心を原点(原点Os)とする。ARコンテンツCの各点のカメラ座標系の座標は、透視変換によりスクリーン座標系に変換される。透視変換により得られる各点のスクリーン座標系の座標に基づいて、ARコンテンツCの投影画像が生成される。
カメラ座標系からスクリーン座標系への座標変換(透視変換)は、例えば、カメラの焦点距離fに基づいて行なわれる。カメラ座標系における座標(Xc,Yc,Zc)に対応するスクリーン座標系の座標のXs座標は、Xs=f・Xc/Zcで求められる。また、カメラ座標系における座標(Xc,Yc,Zc)に対応するスクリーン座標系の座標のYs座標は、Ys=f・Yc/Zcで求められる。
ARコンテンツCを構成する各点の位置座標(カメラ座標系)が透視変換されて得られる位置座標(スクリーン座標系)に基づいて、ARコンテンツCの投影画像が生成される。ARコンテンツCの元になるARテンプレートには、どの点を補間して面を形成するか、どの面にどのテクスチャ(または画像)をマッピングするかが定義されている。ARコンテンツCの投影画像は、ARテンプレートの定義に従って各位置座標(スクリーン座標系)を補間して得られる面にテクスチャや画像がマッピングされることにより生成される。
上述のモデル−ビュー変換および透視変換により、ARマーカー座標系の座標に対応する撮影画像上の座標が算出され、その座標を利用することで、カメラの視点に応じたARコンテンツCの投影画像が生成される。ARコンテンツCの投影画像が撮影画像に合成されると、あたかも3次元物体が存在するかのように画面に表示されるため、ユーザに提供される視覚的な情報が拡張される。
また、ARコンテンツ表示の他の例として、透過型ディスプレイにARコンテンツCの投影画像が表示されてもよい。この態様においても、ユーザがディスプレイを透過して得られる現実空間の像と、ARコンテンツの投影画像とが整合するので、ユーザに提供される視覚的な情報が拡張される。本実施形態におけるARコンテンツの投影画像と撮影画像とを合成して表示する処理などは、透過ディスプレイを用いる場合には、ARコンテンツを表示する処理としてもよい。
以上の処理を、ARマーカーMに対応付けられた各ARコンテンツに対して実施することで、現実空間の撮影画像にARコンテンツの投影画像を重畳させた重畳画像が生成される。例えば、ARマーカーMAを、認識部15が認識した場合に、画像生成部17は、図2に示した重畳画像を生成する。
なお、判定部16が、判定の結果に応じて、画像生成部17による重畳画像の生成を制御する場合には、画像生成部17は、判定部16からの命令に応じて、重畳画像を生成する。一方、判定の結果に応じて履歴情報を生成するような実施形態の場合には、画像生成部17による重畳画像の生成は、判定部16による制御を受けず、例えば、認識部15による認識が終了した場合に、画像生成部17は、自動的に重畳画像の生成を行うとしてもよい。
図5の説明に戻る。記憶部18は、情報処理装置1における各種処理に必要な情報を記憶する。例えば、記憶部18は、ARコンテンツ情報、テンプレート情報、条件情報、ログ情報を記憶する。なお、制御部14が、管理装置2からのARコンテンツ情報や条件情報等の取得を制御するとともに、記憶部18への格納を行う。
例えば、通信部11は、制御部14の制御の下、作業者が作業を開始する時点(図1におけるT=t0)で、管理装置2から、ARコンテンツ情報、テンプレート情報、条件情報を取得する。そして、制御部14は、記憶部18に、ARコンテンツ情報、テンプレート情報、条件情報を記憶する。
なお、管理装置2は、情報処理装置1から作業開始の入力を受信した場合、当該作業に関連するARコンテンツを特定し、特定したARコンテンツのARコンテンツ情報を、情報処理装置1へ提供する。テンプレート情報、条件情報についても、管理装置2は、作業に関連する情報を選択して、情報処理装置1へ提供する。
図10は、ARコンテンツ情報テーブルのデータ構成例を示す図である。ARコンテンツ情報テーブルは、ARコンテンツ情報を記憶する。ARコンテンツ情報は、各ARコンテンツについて、コンテンツID、マーカーID、テンプレートID、位置情報、倍率情報、付属情報等を有する。
コンテンツIDは、各ARコンテンツを識別する情報である。マーカーIDは、各ARマーカーを識別する情報である。テンプレートIDは、テンプレートを識別する情報である。なお、テンプレートは、重畳画像に表示されるARコンテンツの3次元モデルの形状や模様が定義された情報である。
位置情報は、ARマーカー等の基準物に対するARコンテンツの配置位置や、回転に関わる情報である。具体的には、位置情報は、ARマーカー座標系における位置座標と、回転座標とを含む。倍率情報は、テンプレートに従う三次元モデルを拡大または縮小を定義するための情報である。付属情報は、各ARコンテンツに付属する情報である。例えば、付属情報は、テンプレートに従う三次元モデルに表示するテキスト情報である。
図10では、例えば、コンテンツID「C1」のARコンテンツは、マーカーID「MA」のARマーカーに対応付けられており、テンプレートID「T1」で規定された三次元モデルで表現される。そして、コンテンツID「C1」のARコンテンツは、位置座標(X1m,Y1m,Z1m)および回転座標(P1m,Q1m,R1m)、倍率(J1x,J1y,J1z)に基づき、カメラとARマーカーの位置関係に応じて、撮影画像上に配置される。さらに、コンテンツID「C1」のARコンテンツは、テンプレートID「T1」に従った三次元モデルに、付属情報「(1)バルブが閉まっていることを確認」というテキスト情報を配置する。
図11は、テンプレート情報テーブルのデータ構成例を示す。テンプレート情報テーブルは、テンプレート情報を格納する。テンプレート情報は、ARテンプレートのテンプレートID、ARテンプレートを構成する各頂点の座標データT11、およびARテンプレートを構成する各面の面構成データT12を含む。面構成データに含まれる各面の情報は、面を構成する頂点の順序である頂点順序と、テクスチャIDの指定とを含む。テクスチャIDは、面にマッピングされるテクスチャの識別情報(画像ファイルの識別情報)を示す。ARテンプレートの基準点は例えば0番目の頂点である。
ここで、認識部15が、撮像処理部12から取得した撮影画像において、マーカーID「MA」に対応するARマーカーを認識すると、画像生成部17は、図10のARコンテンツ情報および図11のテンプレート情報を用いて、図2のような重畳画像200を生成する。
つまり、画像生成部17が、モデル−ビュー変換および透視変換を行うことで、コンテンツID「C1」に相当するARコンテンツが、投影画像204として、撮影画像に配置される。同様に、テンプレートID「C2」に対応するARコンテンツは、投影画像205として、テンプレートID「C3」に対応するARコンテンツは、投影画像206として、撮影画像に配置示される。そして、重畳画像200が生成される。
図12および図13は、条件情報テーブルのデータ構成例を示す。条件情報は、作業場所に関する情報である。例えば、条件情報として、第一のARマーカーの認識に応じて実施される作業の作業場所から、第二のARマーカーの認識に応じて実施される作業の作業場所までの移動に関する時間条件が規定される。
図12に示す第一の例は、各ARマーカーを読み取ることで実施される複数の作業に関して、作業順序が規定されている場合の条件情報を格納する条件情報テーブルである。一方、図13に示す第二の例は、各ARマーカーを読み取ることで実施される複数の作業に関して、作業順序が規定されていない場合の条件情報を格納する条件情報テーブルである。
まず、第一の例において、条件情報テーブルは、認識マーカーIDと、直前認識マーカーID、時間条件とを対応付けて記憶する。認識マーカーIDは、撮影画像から認識されたARマーカーの識別情報である。直前認識マーカーIDは、認識マーカーIDを認識する一つ前に認識されたARマーカーの識別情報である。
時間条件は、認識マーカーIDのARマーカーが認識された認識時間と、直前マーカーIDのARマーカーが認識された認識時間との差分が満たすべき条件に関する情報である。なお、ARマーカーの認識時間とは、例えば、撮影画像の撮影時間等であってもよい。
例えば、図12の例では、認識マーカーIDが「MA」である場合には、直前認識マーカーが「Null」となっている。これは、マーカーID「MA」のARマーカーは、一番初めに認識される必要があることを示している。図1において、作業者は、初めに、部屋101を訪れ、ARマーカー「MA」の読み取りに応じた作業を実施することが、決められている。
また、図12の例では、認識マーカーID「MB」に対応付けて、直前認識マーカーID「MA」が対応付けられている。つまり、マーカーID「MB」のARマーカーを認識する前に、マーカーID「MA」のARマーカーを認識する必要があることが規定されている。さらに、認識マーカーID「MB」と直前認識マーカーID「MA」のARマーカーを認識する時間間隔は、7分と規定されている。これは、例えば、直前認識マーカーID「MA」のARマーカーMAを読み取ることで、表示される重畳画像(図2)に従って作業者が各種作業を実施する時間と、ARマーカーMAの作業場所からARマーカーMBの作業場所まで移動時間として、「7分」要することに基づき、設定された値である。なお、図12の例では、条件として満たすべき時間間隔の下限値のみが規定されている。つまり、認識時間の差分が、当該下限値以上の範囲に含まれる場合に、条件を満たすことが判定される。
なお、時間条件は、下限値と上限値とで示される範囲により、規定されてもよい。この場合には、時間条件で指定された時間間隔以上で、画像が撮像された場合についても、ARマーカーの認識に応じた処理の実施制御を行うことができる。
次に、第二の例において、条件情報テーブルは、作業順序が規定されていない作業に関連する複数のARマーカーに関して、認識マーカーIDと直前認識マーカーIDとの組み合わせ毎に、時間条件が設定されている。例えば、認識マーカーID「MD」のARマーカーは、作業順序が規定されていない作業に関連するARマーカーであることが、図13の条件情報テーブルに、認識マーカーID「MD」が設定されていることにより、わかる。
さらに、認識マーカーID「MD」のARマーカーを認識した場合、直前認識マーカーIDが「MC」であれば、時間条件は、「10分」である。また、直前認識マーカーIDが「ME」であれば、時間条件は、「3分」である。さらに、直前認識マーカーIDが「MF」であれば、時間条件は、「10分」である。
図12および図13は、併用することが可能である。つまり、図12および図13に示すように、各ARマーカーMのマーカーIDを、いずれかの条件情報テーブルにおける認識マーカーIDに設定する。これによって、各ARマーカーを読み取る事で実施される各種作業間に、順序性を持たせる場合と、順序性を持たせない場合とを区別する。
例えば、マーカーID「MA」「MB」「MC」が、順序性を持たせる必要がある作業に関連する場合、これらのマーカーIDは、図12に示す条件情報テーブルに、設定される。一方、マーカーID「MD」「ME」「MF」が、順序性を持たせる必要のない作業に関連する場合、これらのマーカーIDは、図13に示す条件情報テーブルに、設定される。
また、図12および図13に示す条件情報は、作業者ごとに異なる条件が設定されてもよい。例えば、作業者の経験年数や、特性に応じて、時間条件が、基準に対して増減される。経験年数が多い作業者については、図12や図13に示される基準の時間条件から、所定割合の時間を減じた時間が、時間条件として利用される。
また、AR技術においては、あるARマーカーに対して対応付けるARコンテンツを、業務内容や作業者によって、切り替えることも可能である。例えば、同一の施設において、点検業務Aと、点検業務Bとが存在する場合、予め、点検業務A用のARコンテンツ情報と、点検業務B用のARコンテンツ情報や、条件情報を生成する。そして、管理装置2は、作業者により指定された業務内容に応じたARコンテンツ情報と条件情報を、情報処理装置1へ提供する。これによって、各種業務に応じて、情報処理装置1は、適切な判定を行うことができる。
図14は、ログ情報テーブルのデータ構成例を示す図である。ログ情報テーブルは、ログ情報を記憶する。ログ情報は、マーカーIDと認識時間とを対応付けて記憶する。なお、ログ情報として、他の操作に関するログも、併せて記憶してもよい。
図14の状態は、マーカーID「MA」のARマーカーを、認識時間「2013/5/1 13:00:00」に認識済みであることを示している。他のARマーカーが認識されるたびに、マーカーIDに対応付けて、認識時間が格納される。
例えば、まず、ARコンテンツ情報を管理装置2から取得した時点で、制御部14は、ARコンテンツ情報に含まれるマーカーIDを、管理情報テーブルのマーカーIDの項目にセットする。なお、認識部15が、ARマーカーを認識するたびに、認識したARマーカーのマーカーIDを、ログ情報テーブルに格納してもよい。
次に、情報処理装置1による、判定方法に関して、詳細な処理の流れを説明する。図15は、判定方法の処理フローチャートである。なお、本実施例においては、図15に示す処理に先駆けて、通信部11は、図10乃至図13に示す各種情報を、管理装置2から取得し、記憶部18に格納する。
まず、認識部15は、撮影画像を取得する(Op.1)。なお、撮像処理部12により撮影された撮像画像を、認識部15は取得する。そして、認識部15は、撮影画像に対して、ARマーカー認識処理を実行し、ARマーカーが認識したか否かを判定する(Op.3)。例えば、認識部15は、撮影画像に所定の形状が含まれる場合に、ARマーカーを含む画像であると判定し、さらに、ARマーカー部分の画像を解析することで、ARマーカーを認識する。
ARマーカーが認識できなければ(Op.3No)、Op.1へ戻る。一方、ARマーカーを認識できた場合には(Op.3Yes)、判定部16は、認識情報として、認識部15による認識結果である認識マーカーIDを取得する(Op.5)。なお、ここで、判定部16は、ログ情報テーブルに、認識マーカーIDと同一のマーカーIDに対応付けて、認識時間を格納する。
ここで、認識部15は、ARマーカーの誤認識を防ぐために、複数の撮影画像を取得し、複数の撮影画像に対してARマーカー認識を実施してもよい。例えば、10枚の撮影画像に対して、各々ARマーカー認識を実施し、各々の認識結果を参照して、最終的な認識結果を生成する。例えば、認識部15は、各撮影画像から認識されたマーカーIDのうち、もっとも認識回数が多かったマーカーIDを、最終的な認識結果とする。
次に、判定部16は、ログ情報テーブルを参照し、認識マーカーIDの認識時間にもっとも近い認識時間を持つ、直前認識マーカーIDを取得する(Op.7)。さらに、判定部は、直前認識マーカーIDの認識時間も取得する。
判定部16は、認識マーカーIDの認識時間と、直前認識マーカーIDの認識時間との差分を算出する(Op.9)。つまり、判定部16は、基準物(ARマーカー)を含む撮像画像の撮影位置に関する移動情報を生成する。
そして、判定部16は、条件情報テーブルを参照し、認識マーカーIDと直前認識マーカーIDに関する条件情報を取得する(Op.11)。例えば、図12および図13の2つの条件情報テーブルのいずれかから、認識マーカーIDと直前認識マーカーIDに関する時間条件が取得される。
次に、判定部16は、認識時間の差分が、時間条件を満たすか否かを判定する(Op.13)。つまり、判定部16は、移動情報が条件情報を満たすか否かに基づき、認識された基準物に応じた作業が実施されたかを判定することができる。
例えば、認識時間の差分が、時間条件以上であるか否かが判定される。また、認識時間の差分が、時間条件に規定された時間の上下数%以内の値であれば、判定部16は、時間条件を満たすと判定してもよい。
認識時間の差分が、時間条件を満たす場合(Op.13Yes)、画像生成部17は、判定部16による判定結果を受けて、重畳画像を生成する(Op.15)。なお、重畳画像の生成は、先に説明した通りである。そして、表示部13は、画像生成部17の制御の下、重畳画像を表示する(Op.17)。そして、情報処理装置1は、判定方法を終了する。一方、認識時間の差分が、時間条件を満たさない場合(Op.13No)、情報処理装置1は、判定方法を終了する。
また、Op.13以降の処理については、次のような処理を行ってもよい。例えば、判定部16は、Op.13の判定の結果に応じて、該作業の実施に関わる履歴情報を生成する。具体的には、認識時間の差分が、時間条件を満たす場合(Op.13Yes)、判定部16は、作業が実施されたことを示す履歴情報を生成する。一方、認識時間の差分が、時間条件を満たさない場合(Op.13No)、判定部16は、作業が実施されていないことを示す履歴情報を生成する。
なお、認識時間の差分が、時間条件を満たす場合(Op.13Yes)にのみ、履歴情報を生成するとしてもよい。なお、履歴情報を生成する実施例においては、Op.13の判定結果に関わらず、画像生成部17は、重畳画像を生成してもよいし、Op.17等と同様、履歴情報の生成と併せて、重畳画像の生成が制御されてもよい。
ここで、情報処理装置1と管理装置2とが通信可能であれば、通信部11を制御して、管理装置2へ履歴情報を送信してもよい。情報処理装置1と管理装置2とが通信不能であれば、制御部14、管理装置2へ送信する履歴情報を生成し、通信可能となった時点で、通信部11を制御して、履歴情報を管理装置2へ送信してもよい。なお、履歴情報と併せて、ログ情報も送信されてもよい。
以上のように、本実施例に開示の情報処理装置1は、移動情報と条件情報とに基づき、所定の作業場所において、基準物の読み取りに応じて実施される作業が実施されたか否かを判別することができる。さらに、事前にARコンテンツ情報や、条件情報、テンプレート情報を、管理装置2から取得することで、情報処理装置1において、作業の実施に関する判定を行うことができる。例えば、作業場所が、管理装置2との通信不能な状態であっても、作業の実施に関して適切な判定を行うことができる。
また、判定の結果に応じて、重畳画像の生成および表示を制御する態様においては、作業者は、次の作業内容を把握することができない。よって、例えば、点検表等に適切な点検結果を記入することができない。よって、不正が、管理者によって把握される。
さらに、判定の結果に応じて、履歴情報を生成する態様においては、作業内容を把握しているような作業者であっても、作業の実施または不実施が特定される。そして、管理装置2へ履歴情報が送信されることで、管理者は不正を把握することができる。
また、作業に順序性が存在する場合には、順序性を加味して、作業の実施に関わる判定を行うことができるため、より正確な判定が行われる。
[第二の実施例]
第一の実施例においては、情報処理装置1が、事前にARコンテンツ情報、条件情報、テンプレート情報を、管理装置2から取得する実施態様を説明した。第二の実施例においては、情報処理装置3と管理装置4とが連携して、作業の実施に関する判定を行う態様を説明する。
まず、本実施例における情報処理装置の機能的構成について説明する。図16は、第二の実施例における情報処理装置の機能ブロック図である。情報処理装置3は、通信部31、撮像処理部32、表示部33、制御部34、記憶部37を有する。なお、通信部31、撮像処理部32、表示部33は、第一の実施例における通信部11、撮像処理部12、表示部13と同様の処理を行う。
制御部34は、情報処理装置3の全体の処理を制御する。制御部34は、例えば、プロセッサにより実現される。そして、制御部34は、認識部35および画像生成部36を有する。
認識部35は、第一の実施例と同様に、ARマーカーの認識を行う。そして、認識部35は、ARコンテンツ情報の要求を、通信部31を介して、管理装置4へ送信する。ARコンテンツ情報の要求は、認識したマーカーIDおよび認識時間を含む。通信部31は、ARコンテンツ情報の要求に対する応答を、管理装置4から受信する。
応答には、ARコンテンツ情報や、当該ARコンテンツの描画に必要なテンプレート情報が含まれる。なお、管理装置4は、後述の通り、移動情報を生成し、移動情報と条件情報とに基づき、ARコンテンツ情報の提供可否を判定する。
通信部31が、応答を受信すると、画像生成部36は、第一の実施例と同様の方法で、重畳画像を生成する。なお、応答には、認識したマーカーIDに対応するARコンテンツ情報およびテンプレート情報が含まれる。そして、画像生成部36は、生成した重畳画像を、表示部33に表示させる。
記憶部37は、第一の実施例とは異なり、予め、複数のARコンテンツ情報、テンプレート情報を保持する必要はない。つまり、記憶部37は、管理装置4からの応答に含まれるARコンテンツ情報およびテンプレート情報を、一時的に記憶する。さらに、記憶部37は、条件情報を保持する必要はない。なぜなら、管理装置4において、条件情報を用いた判定が実行されるためである。なお、記憶部37は、ログ情報を、第一の実施例と同様に保持してもよいし、保持しなくともよい。
次に、管理装置4の機能的構成について、説明する。図17は、第二の実施例における管理装置の機能ブロック図である。管理装置4は、通信部41、制御部42、記憶部44を有する。
通信部41は、情報処理装置3と通信を行う処理部である。例えば、ARコンテンツ情報の要求を受信したり、制御部42の制御のもと、要求に対する応答を送信する。制御部42は、管理装置4全体の処理を制御する。さらに、制御部42は、判定部43を有する。
判定部43は、ARコンテンツ情報の要求に含まれる認識時間に基づき、移動情報を生成する。そして、判定部43は、生成した移動情報が条件情報を満たすか否かを判定することで、情報処理装置4を所持する作業者により、作業が実施されたか否かを判定する。
そして、判定部43は、判定結果に応じて、処理の実行を制御する。例えば、条件を満たすことを判定した場合には、ARコンテンツ情報およびテンプレート情報を含む応答を、通信部41を介して、情報処理装置3へ送信する。一方、条件を満たさないことを判定した場合には、作業を実施していないことを示す警告情報を、管理者へ送信する。
記憶部44は、ARコンテンツ情報、テンプレート情報、条件情報、各情報処理装置に係るログ情報を記憶する。なお、各情報は、第一の実施例と同様である。
以上のように、本実施例によれば、情報処理装置3と管理装置4とが協同して、作業の実施を判定することができる。第一の実施例と比較して、情報処理装置3は、予め、ARコンテンツ情報等の情報を、記憶部37に保持する必要がないため、記憶領域を削減できる。
[第三の実施例]
第一の実施例および第二の実施例においては、本発明が、AR技術を用いた作業支援に、適用される例を示した。だが、本発明はこれに限られない。例えば、ICタグが、各作業場所に設置され、ICタグのリーダー装置が、各作業場所のICタグを読み取ることで、リーダー装置を保有する作業者の作業の実施を管理するような管理システムにおいても、本発明は適用可能である。
リーダー装置が各ICタグを読み取った読取時刻等を、情報処理装置が取得する。なお、情報処理装置は、リーダー装置であってもよいし、リーダー装置と通信可能なコンピュータであってもよい。そして、コンピュータは、読取時刻から生成される移動情報と、条件情報とに基づき、先の実施例同様に、作業の実施を判定する。本実施例によれば、ICタグが偽装されたことによる、不正を検出することができる。
[第四の実施例]
情報処理装置と管理装置とが連携して、作業の実施に関する判定を行う態様において、情報処理装置が判定部の機能を有し、管理装置が認識部および画像生成部の機能を有してもよい。
具体的には、情報処理装置は、撮像した画像を、管理装置へ送信する。管理装置における認識部および画像生成部は、基準物を認識するとともに、重畳画像を生成する。そして、管理装置は、重畳画像を情報処理装置へ送信する。情報処理装置は、重畳画像を受信したのち、情報処理装置の判定部は、表示部に重畳画像を表示するか否かを、移動情報および条件情報に基づき、判定する。条件を満たす場合には、情報処理装置の表示部は、重畳画像を表示する。一方、条件を満たさない場合には、表示部は、重畳画像を表示しない。
[ハードウェア構成例]
第一の実施例に示した情報処理装置1、第二の実施例に示した情報処理装置3のハードウェア構成について説明する。図18は、各実施例の情報処理装置のハードウェア構成例である。各実施例における情報処理装置は、コンピュータ300によって、実現される。なお、第三の実施例および第四の実施例に示した情報処理装置も、図18に示すコンピュータ300で実現することが可能である。
図5および図16に示す各機能ブロックは、例えば、図18に示すハードウェア構成により実現される。コンピュータ300は、例えば、プロセッサ301、Random Access Memory(RAM)302、Read Only Memory(ROM)303、ドライブ装置304、記憶媒体305、入力インターフェース(入力I/F)306、入力デバイス307、出力インターフェース(出力I/F)308、出力デバイス309、通信インターフェース(通信I/F)310、カメラモジュール311、加速度センサ312、角速度センサ313、表示インターフェース314、表示デバイス315およびバス316などを含む。それぞれのハードウェアはバス316を介して接続されている。
通信インターフェース310はネットワークNを介した通信の制御を行なう。通信インターフェース310が制御する通信は、無線通信を利用して、無線基地局を介してネットワークNにアクセスする態様でもよい。入力インターフェース306は、入力デバイス307と接続されており、入力デバイス307から受信した入力信号をプロセッサ301に伝達する。出力インターフェース308は、出力デバイス309と接続されており、出力デバイス309に、プロセッサ301の指示に応じた出力を実行させる。
入力デバイス307は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ1の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス309は、プロセッサ301の制御に応じて情報を出力する装置である。出力デバイス309は、例えば、スピーカーなどの音声出力装置などである。
表示インターフェース314は、表示デバイス315と接続されている。表示インターフェース314は、表示インターフェース314に設けられた表示用バッファにプロセッサ301により書き込まれた画像情報を、表示デバイス315に表示させる。表示デバイス315は、プロセッサ301の制御に応じて情報を出力する装置である。表示デバイス315は、ディスプレイなどの画像出力装置や、透過型ディスプレイなどが用いられる。
透過型ディスプレイが用いられる場合には、ARコンテンツの投影画像は、撮影画像と合成されるのではなく、例えば透過型ディスプレイ内の適切な位置に表示されるように制御されてもよい。これにより、ユーザは、現実空間とARコンテンツが整合した状態の視覚が得られる。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス307及び表示デバイス315として用いられる。また、入力デバイス307及び表示デバイス315がコンピュータ1内部に組み込まれる代わりに、例えば、入力デバイス307及び表示デバイス315がコンピュータ1に外部から接続されてもよい。
RAM302は読み書き可能なメモリ装置であって、例えば、SRAM(Static RAM)やDRAM(Dynamic RAM)などの半導体メモリ、またはRAM以外にもフラッシュメモリなどが用いられてもよい。ROM303は、PROM(Programmable ROM)なども含む。
ドライブ装置304は、記憶媒体305に記憶された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記憶媒体305は、ドライブ装置304によって書き込まれた情報を記憶する。記憶媒体305は、例えば、ハードディスク、SSD(Solid State Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスクなどの種類の記憶媒体のうちの少なくとも1つである。また、例えば、コンピュータ1は、コンピュータ1内の記憶媒体305の種類に対応したドライブ装置304を含む。
カメラモジュール311は、撮像素子(イメージセンサ)を含み、例えば、撮像素子が測定した値を読み出し、カメラモジュール311に含まれる入力画像用の画像バッファに書き込む。加速度センサ312は、加速度センサ312に対して作用する加速度を計測する。角速度センサ313は、角速度センサ313による動作の角速度を計測する。
プロセッサ301は、ROM303や記憶媒体305に記憶された判定プログラムをRAM302に読み出し、読み出されたプログラムの手順に従って処理を行なう。
例えば、制御部14および制御部34の機能は、プロセッサ301が、図19に示されるプログラムの一部であるAR制御プログラム(判定プログラムを含む)に基づいて、他のハードウェアの制御を行なうことにより実現される。通信部11および通信部31の機能は、プロセッサ301が、通信インターフェース310を制御してデータ通信を実行させ、受信したデータを記憶媒体305に格納させることにより実現される。
記憶部18および記憶部37の機能は、ROM303および記憶媒体305がプログラムファイルやデータファイルを記憶すること、また、RAM302がプロセッサ301のワークエリアとして用いられることによって実現される。例えば、ARコンテンツ情報などがRAM302に格納される。
撮像処理部12および撮像処理部32の機能は、カメラモジュール311が入力画像用の画像バッファに画像データを書込み、入力画像用の画像バッファ内の画像データをプロセッサ301が読み出すことにより実現される。画像データは、モニタリングモードにおいては、例えば、入力画像用の画像バッファに書き込まれるとともに、表示デバイス315の表示用バッファに並行して書き込まれる。
また、表示部13および表示部33の機能は、プロセッサ301により生成された画像データが表示インターフェース314に備えられた表示用バッファに書き込まれ、表示デバイス315が表示用バッファ内の画像データの表示を行なうことにより実現される。
図19は、コンピュータ100で動作するプログラムの構成例を示す。コンピュータ300において、図18に示されるハードウェア群の制御を行なうOS(オペレーティング・システム)502が動作する。OS502に従った手順でプロセッサ301が動作して、ハードウェア501の制御・管理が行なわれることで、アプリケーションプログラム504やミドルウェア503による処理がハードウェア501上で実行される。
コンピュータ300において、OS502、ミドルウェア503及びアプリケーションプログラム504などのプログラムは、例えば、RAM302に読み出されてプロセッサ301により実行される。また、AR制御プログラムは、例えば、ミドルウェア503としてアプリケーションプログラム504から呼び出されるプログラムである。または、例えば、判定プログラムを含むAR制御プログラムは、アプリケーションプログラム504としてAR機能を実現させるプログラムである。AR制御プログラムは、記憶媒体305に記憶される。記憶媒体305は、本実施例に係る判定プログラム単体または、判定プログラムを含むAR制御プログラムを記憶した状態で、コンピュータ300本体と切り離して流通され得る。
第二の実施例に示した管理装置4のハードウェア構成について説明する。図20は、管理装置のハードウェア構成例である。管理装置4は、コンピュータ400によって、実現される。なお、第一の実施例に開示された管理装置も、図20に示すコンピュータ400で実現することが可能である。
図17に示す各機能ブロックは、例えば、図20に示すハードウェア構成により実現される。コンピュータ400は、例えば、プロセッサ401、RAM402、ROM403、ドライブ装置404、記憶媒体405、入力インターフェース(入力I/F)406、入力デバイス407、出力インターフェース(出力I/F)408、出力デバイス409、通信インターフェース(通信I/F)410、SAN(Storage Area Network)インターフェース(SAN I/F)及びバス412などを含む。それぞれのハードウェアはバス412を介して接続されている。
例えば、プロセッサ401はプロセッサ301と同様なハードウェアである。RAM402は、例えばRAM302と同様なハードウェアである。ROM403は、例えばROM303と同様なハードウェアである。ドライブ装置404は、例えばドライブ装置304と同様なハードウェアである。記憶媒体405は、例えば記憶媒体305と同様なハードウェアである。入力インターフェース(入力I/F)406は、例えば入力インターフェース306と同様なハードウェアである。入力デバイス407は、例えば入力デバイス307と同様なハードウェアである。出力インターフェース(出力I/F)408は、例えば出力インターフェース308と同様なハードウェアである。出力デバイス409は、例えば出力デバイス309と同様なハードウェアである。通信インターフェース(通信I/F)410は、例えば通信インターフェース310と同様なハードウェアである。SAN(Storage Area Network)インターフェース(SAN I/F)は、コンピュータ400をSANに接続するためのインターフェースであり、HBA(Host Bus Adapter)を含む。
プロセッサ401は、ROM403や記憶媒体405に記憶された管理プログラムをRAM402に読み出し、読み出された管理プログラムの手順に従って制御部42の処理を行なう。その際にRAM402はプロセッサ401のワークエリアとして用いられる。なお、管理プログラムは、管理装置4における判定処理に係る判定プログラムを含む。
記憶部44の機能は、ROM403および記憶媒体405がプログラムファイルやデータファイルを記憶すること、もしくは、RAM402がプロセッサ401のワークエリアとして用いられることによって実現される。また、プロセッサ401が通信インターフェース410を制御して通信処理を行なうことにより、通信部41の機能が実現される。