JP6255706B2 - 表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム - Google Patents

表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム Download PDF

Info

Publication number
JP6255706B2
JP6255706B2 JP2013089856A JP2013089856A JP6255706B2 JP 6255706 B2 JP6255706 B2 JP 6255706B2 JP 2013089856 A JP2013089856 A JP 2013089856A JP 2013089856 A JP2013089856 A JP 2013089856A JP 6255706 B2 JP6255706 B2 JP 6255706B2
Authority
JP
Japan
Prior art keywords
display
content
marker
reference object
display data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013089856A
Other languages
English (en)
Other versions
JP2014215646A (ja
Inventor
奨 古賀
奨 古賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013089856A priority Critical patent/JP6255706B2/ja
Priority to US14/244,244 priority patent/US10147398B2/en
Priority to EP14163837.9A priority patent/EP2796963A1/en
Priority to CN201410162979.2A priority patent/CN104111812B/zh
Publication of JP2014215646A publication Critical patent/JP2014215646A/ja
Application granted granted Critical
Publication of JP6255706B2 publication Critical patent/JP6255706B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、表示による情報提供を行なう技術に関する。
現実空間に対応する3次元の仮想空間上に配置された3次元物体のモデルデータを、撮像画像に重ねて表示することが行なわれる。この技術は、人間の知覚(視覚など)により収集される情報を拡張させるため、拡張現実(Augmented Reality:AR)などと呼ばれる。ARに用いられる3次元物体のモデルデータはARコンテンツなどと呼ばれる。
ARコンテンツには、現実空間に存在する基準物(例えばARマーカーなど)を基準とする仮想空間上の位置座標が設定される。また、撮像装置と基準物との位置関係は、撮像画像に写り込んだ基準物の像に基づいて判断される。ARコンテンツの基準物を基準として設定された位置座標と、撮像装置−基準物間の位置関係とに応じて、撮像装置を基準としたARコンテンツの位置が求められる。撮像装置に対するARコンテンツの位置に基づいてARコンテンツの投影画像が生成され、生成された投影画像が撮像画像に重ねて表示される。投影画像が撮像画像に写り込む現実空間の像と整合することにより、ARコンテンツに示される3次元物体が現実空間内に存在するように表示される。
また、ある技術によれば、1つの基準物に対応付けられたARコンテンツの各々に提供可能期間や提供可能区域などの条件が設定されており、基準物を認識した際の時間や位置により満たされる条件が設定されたARコンテンツが表示される(例えば、特許文献1など参照)。
特開2012−215989号公報
ARコンテンツを表示させる技術は、業務プロセスの遂行支援などに利用される。業務プロセスとは、企業などの組織において行なわれる一連の作業である。業務プロセスに含まれる作業のガイドや申し送り事項などを示すARコンテンツが表示されることにより、ユーザに作業の補助が提供され、ユーザによる業務プロセスの遂行が支援される。
組織による活動においては、複数の業務プロセスが遂行される。例えば、組織において、組織の主業務である基幹系の業務プロセス(例えば製造業の企業における製造プロセスなど)が行なわれるとともに、基幹系の業務プロセスを支援する支援系の業務プロセス(例えば製造装置の点検プロセスなど)も行なわれる。また、業務プロセスの遂行支援を行なうITシステムにおいては、同じ業務プロセスであっても、業務プロセスを実行するユーザによって異なる業務プロセスとして定義される。これは、例えば、熟練作業者が遂行する点検プロセスと、作業初心者が遂行する点検プロセスとで、遂行支援の内容が異なるためである。
ARコンテンツの表示による複数の業務プロセスの遂行支援が行なわれると、複数の業務プロセス全体に関するARコンテンツが提供され、ユーザが遂行中の業務プロセス以外の業務プロセスの作業に関する補助までも表示されてしまう。また、上述の技術により、位置や時間を条件として表示するARコンテンツを定めても、互いに異なる業務プロセスを並行して遂行する複数のユーザに対して同じARコンテンツが提供されてしまい、個別の業務プロセスに応じたARコンテンツが提供されなくなってしまう。
本発明の一側面において、遂行される業務プロセスに応じてARコンテンツを個別に提供することを目的とする。
一態様によれば、表示制御装置は、複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの順序性を有する複数の工程を含む第1の作業内容に関連付けられた複数の表示データを取得する取得部と、取得した前記複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部と、を含む。前記複数の表示データは、少なくとも、前記複数の工程のうちの第1の工程と関連付けられた第1の基準物に対応する第1の表示データと、第2の基準物に対応する第2の表示データとを含み、前記制御部は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第1の表示データを前記第1の基準物に基づく表示態様で表示させ、前記第2の基準物を認識した場合に、前記第2の表示データを前記第2の基準物に基づく表示態様で表示させる。
一態様によれば、情報提供システムは、第1のコンピュータ及び第2のコンピュータを含み、前記第1のコンピュータは、複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの順序性を有する複数の工程を含む第1の作業内容に関連付けられた複数の表示データを前記第2のコンピュータに送信する送信部を含み、前記第2のコンピュータは、前記複数の表示データを受信する受信部と、受信した前記複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部を含む。前記複数の表示データは、少なくとも、前記複数の工程のうちの第1の工程と関連付けられた第1の基準物に対応する第1の表示データと、第2の基準物に対応する第2の表示データとを含み、前記制御部は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第1の表示データを前記第1の基準物に基づく表示態様で表示させ、前記第2の基準物を認識した場合に、前記第2の表示データを前記第2の基準物に基づく表示態様で表示させる。
一側面によれば、遂行される業務プロセスに応じてARコンテンツを個別に提供することができる。
図1は、カメラ座標系とマーカー座標系との関係を示す。 図2は、カメラ座標系とマーカー座標系とにおけるARコンテンツの例を示す。 図3は、マーカー座標系からカメラ座標系への変換行列Eと、変換行列E内の回転行列Rを示す。 図4は、回転行列R1、R2およびR3を示す。 図5は、ARコンテンツの表示例を示す。 図6は、ARコンテンツ提供のシーケンス例を示す。 図7は、ARコンテンツ提供のシーケンス例を示す。 図8は、ARコンテンツの表示例を示す。 図9は、ARコンテンツのグループを示す。 図10は、AR定義データのデータ構造例を示す。 図11は、ARコンテンツの表示例を示す。 図12は、ARコンテンツのグループを示す。 図13は、AR定義データのデータ構造例を示す。 図14は、ARコンテンツの表示例を示す。 図15は、ARコンテンツ提供のシーケンス例を示す。 図16は、コンピュータ1の機能ブロック構成例を示す。 図17は、AR機能の処理手順例を示す。 図18は、AR機能の処理手順例を示す。 図19は、モード選択画面およびシナリオ選択画面の例を示す。 図20は、ルート定義のデータ構造例を示す。 図21は、ダウンロード機能の処理手順例を示す。 図22は、シナリオ定義のデータ構造例を示す。 図23は、ステップ定義のデータ構造例を示す。 図24は、マーカー定義のデータ構造例を示す。 図25は、コンテンツ定義のデータ構造例を示す。 図26は、受信状態テーブルの例を示す。 図27は、ARテンプレートのデータ構造例を示す。 図28は、認識マーカー情報およびマーカー移動情報の例を示す。 図29は、シナリオの状態情報の例を示す。 図30は、イベント検知の処理手順例を示す。 図31は、画面に表示されるマーカーの例を示す。 図32は、投影画像の生成処理の処理手順例を示す。 図33は、画面に表示されるマーカーの例を示す。 図34は、ステップ定義のデータ構造例を示す。 図35は、イベント検知の処理手順例を示す。 図36は、画面に表示されるマーカーの例を示す。 図37は、イベント検知の処理手順例を示す。 図38は、シナリオ定義のデータ構造例を示す。 図39は、編集モードの処理手順を示す。 図40は、編集モードの処理手順を示す。 図41は、編集モードでの表示画面例を示す。 図42は、編集パレットの例を示す。 図43は、ステップ選択の例を示す。 図44は、ステップ選択の例を示す。 図45は、ステップ選択の例を示す。 図46は、ステップ選択の例を示す。 図47は、AR定義データの例を示す。 図48は、コンピュータ1のハードウェア構成例を示す。 図49は、コンピュータ1で動作するプログラムの構成例を示す。 図50は、コンピュータ1を含むシステムの例を示す。 図51は、コンピュータ2の機能構成例を示す。 図52は、ARコンテンツ提供の処理手順例を示す。 図53は、コンピュータ2のハードウェア構成例を示す。
[ARコンテンツの表示]
まず、3次元物体のモデルデータであるARコンテンツを、撮像装置の一例であるカメラにより撮像された撮像画像に重ねて表示させるAR技術について説明する。
ARコンテンツは、例えば、複数の点座標を用いて構成されるモデルデータである。複数の点を直線や曲線で補間して得られる複数の面ごとに模様(テクスチャ)や画像が設定され、複数の面が合成されることで3次元のモデルが形成される。ARコンテンツの配置は、ARコンテンツを構成する各点の座標を現実空間内に存在する基準物を基準として定められる。
一方で、カメラが撮像した撮像画像内に写り込んだ基準物の見え方(像)に基づいて、カメラと基準物との現実空間における位置関係が求められる。基準物は形状や模様などが既知の物体であり、例えば撮像画像内の基準物の像と基準物の既知の形状や模様との照合により、基準物がカメラに対してどのような位置にあるかが判別される。
基準物を基準とする座標と、カメラと基準物との位置関係により、カメラとARコンテンツの各点の座標との位置関係が求められる。(カメラとARコンテンツとの位置関係としているが、ARコンテンツは仮想的に配置されたものであり、ARコンテンツという物体が現実空間に存在するわけではない。単にカメラを基準とする位置の情報が生成される。)これらの位置関係に基づいて、カメラが仮想空間上に存在するARコンテンツを仮に撮像した場合に得られるARコンテンツの像(投影画像)が生成される。ARコンテンツの投影画像を生成するための演算について、図1〜図4に基づいてさらに説明する。
図1は、カメラ座標系とマーカー座標系との関係を示す。図1に示されるARマーカーMは、ARコンテンツ表示に用いられる基準物の一例である。図1に例示されるARマーカーMは、正方形形状をしており、予めサイズが定められている(例えば1辺の長さが10cmなど)。図1に示されるARマーカーMは正方形形状であるが、どの視点から撮像して得られる像に基づいても、カメラからの相対的な位置および向きが判別可能な形状の他の基準物が用いられてもよい。他の例として、撮像画像から生成される特徴点などが基準物に用いられる。
カメラ座標系は、(Xc,Yc,Zc)の3次元で構成され、例えばカメラの焦点を原点(原点Oc)とする。例えば、カメラ座標系のXc−Yc平面はカメラの撮像素子面と平行な面であり、Zc軸は撮像素子面に垂直な軸である。
マーカー座標系は、(Xm,Ym,Zm)の3次元で構成され、例えばARマーカーMの中心を原点(原点Om)とする。例えば、マーカー座標系のXm−Ym平面はARマーカーMの模様の印刷面と平行な面であり、Zm軸はARマーカーMの印刷面と垂直である。原点Omは、カメラ座標系において位置座標V1c(X1c,Y1c,Z1c)で示される。また、カメラ座標系に対するマーカー座標系の回転角は、回転座標G1c(P1c,Q1c,R1c)で示される。P1cはXc軸回りの回転角であり、Q1cはYc軸回りの回転角であり、R1cはZc軸回りの回転角である。図1に例示されるARマーカーMはYc軸回りにのみ回転しているため、P1cおよびR1cは0である。
図2は、カメラ座標系とマーカー座標系とにおけるARコンテンツCの例を示す。図2に例示するARコンテンツCは、吹き出し形状のモデルデータであり、吹き出し内に「ヒビあり!」というテキストデータを含む。ARコンテンツCの吹き出しの先端の黒丸は、ARコンテンツCの基準点とする。ARコンテンツCの基準点のマーカー座標系における座標は、V2m(X2m,Y2m,Z2m)とする。さらにARコンテンツCの向きは回転座標G2m(P2m,Q2m,R2m)で定められ、ARコンテンツCのサイズは倍率D(Jx,Jy,Jz)で定められる。
ARコンテンツCを構成する各点の座標は、ARコンテンツCの雛型(ARテンプレート)に定義された各点の座標が、基準点の座標V2m、回転座標G2mおよび倍率Dに基づいて調整された座標である。ARテンプレートに定義される基準点の座標は、例えば、(0,0,0)である。ARテンプレートに含まれる各座標は、設定された回転座標G2mに基づいて回転され、倍率Dで拡縮され、さらに基準点の座標V2mに基づいて平行移動されて調整される。図2のARコンテンツCは、ARテンプレートに定義された各点が、ARマーカーMのマーカー座標系において、基準点の座標V2m、回転座標G2mおよび倍率Dに基づいて調整された点に基づいて構成された状態である。
ARコンテンツCの各点のマーカー座標系での座標が、カメラ座標系に変換され、さらにカメラ座標系の座標に基づいて表示画面内の位置(スクリーン座標系の座標)に変換される。変換された座標に基づいて、ARコンテンツCの投影画像が生成される。カメラ座標系における座標は、マーカー座標系における座標に対して、座標V1cおよび回転座標G1cに基づく座標変換(モデル−ビュー変換)を行なうことにより算出される。例えば、モデル−ビュー変換が座標V2mに対して行なわれると、基準点のカメラ座標系における座標V2c(X2c,Y2c,Z2c)が求められる。
図3は、マーカー座標系からカメラ座標系への変換行列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)に座標変換(モデル−ビュー変換)対象のマーカー座標系の点座標を代入して、行列演算を行なうことにより、カメラ座標系の点座標を含む列ベクトル(Xc,Yc,Zc,1)が得られる。変換行列Eの1〜3行目且つ1〜3列の部分行列(回転行列R)がマーカー座標系の座標に作用することにより、マーカー座標系の向きとカメラ座標系との向きを合わせるための回転操作が行なわれる。変換行列Eの1〜3行目且つ4列目の部分行列が作用することにより、マーカー座標系の向きとカメラ座標系との位置を合わせるための並進操作が行なわれる。
図4は、回転行列R1、R2およびR3を示す。図3に示す回転行列Rは、回転行列R1、R2およびR3の積(R1・R2・R3)により算出される。
ARコンテンツCを構成する各点のマーカー座標系の座標(Xm,Ym,Zm)は、変換行列Eに基づくモデル−ビュー変換により、カメラ座標系の座標(Xc,Yc,Zc)に変換される。図2に例示される位置座標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コンテンツCの投影画像が生成される。ARコンテンツCの投影画像が撮像画像に合成されると、あたかも3次元物体が存在するかのように画面に表示されるため、ユーザに提供される視覚的な情報が拡張される。
また、ARコンテンツ表示の他の例として、透過型ディスプレイにARコンテンツCの投影画像が表示されてもよい。この態様においても、ユーザがディスプレイを透過して得られる現実空間の像と、ARコンテンツの投影画像とが整合するので、ユーザに提供される視覚的な情報が拡張される。本実施形態におけるARコンテンツの投影画像と撮像画像とを合成して表示する処理などは、透過ディスプレイを用いる場合には、ARコンテンツを表示する処理としてもよい。
図5は、ARコンテンツの表示例を示す。図5に例示される表示画面S(1)は、ARマーカーMの像、物体H(工場に設置されたパイプを図示している)の像、およびARコンテンツCの投影画像が表示される。ARコンテンツCはARマーカーMを基準としたマーカー座標系で定義されており、定義された座標の各々がモデル−ビュー変換および透視変換されることによりARコンテンツCの投影画像が生成される。ARマーカーMおよび物体Hは現実空間に存在する。ARコンテンツCの座標が現実空間の特定の位置に合わせて設定されると、ARコンテンツCにより特定の位置に関する情報が提供される。表示画面S(1)では、ARコンテンツCの吹き出しの先が物体Hのヒビの位置を指し示すように設定されているので、このARコンテンツCの提供により、ユーザは物体Hのヒビの位置を容易に特定できる。
[ARコンテンツのダウンロード]
複数種類のARコンテンツの提供を行なうシステムにおいて、ARコンテンツの表示を行なうクライアント装置(コンピュータ1)が、全種類のARコンテンツを保持すると、コンピュータ1の記憶容量への負担が大きくなってしまう。例えばコンピュータ1が移動端末である場合には、コンピュータ1の物理的なサイズの制限により、コンピュータ1がARコンテンツを保持するための充分な記憶容量を備えられないことがある。
そのため、提供されるARコンテンツを集約して記憶する管理サーバ(コンピュータ2)が用いられ、コンピュータ1がコンピュータ2からARコンテンツをダウンロードするシステム構成が用いられる。この場合、例えば、コンピュータ1は、全種類のARコンテンツのうち、表示の対象となるARコンテンツをダウンロードする。クライアント装置が複数存在する場合には、コンピュータ2にARコンテンツが集約されて記憶されるので、システム全体としてはARコンテンツを定常的に保持するための記憶容量が抑制される。
また、基準物の撮像により、基準物の位置および向きだけでなく、基準物の識別情報も得られる。例えば、ARマーカーでは、ARマーカーにプリントされた模様に基づいてARマーカーの識別情報(マーカーID)が判別される。画像の特徴点を基準物に用いる方式においては、特徴点の座標と識別情報とを関連付けたデータベースに基づいて、識別情報が判別される。
複数のARマーカーの各々に、表示させるARコンテンツが個別に設定されることがある。従って、認識されるARマーカーに応じて、表示されるARコンテンツが切り替えられる。この場合、全種類のARコンテンツのうち、どのARコンテンツが表示対象となるかは、ARマーカーの認識後に決定される。例えば、表示の対象となるARコンテンツをコンピュータ2からダウンロードするシステム構成においては、コンピュータ1は、ARマーカーの認識後に表示対象のARコンテンツをダウンロードする。
図6は、ARコンテンツ提供のシーケンス例を示す。図6に示すシーケンス例では、コンピュータ1およびコンピュータ2の処理の順序が示される。コンピュータ1で、ARコンテンツ表示のプログラムが起動されたのちに、ARマーカーM1が認識されてから、ARマーカーM1に対応するARコンテンツの取得要求が行なわれる。この取得要求においては、例えばARマーカーM1のマーカーIDが通知される。コンピュータ2は、取得要求を受けるとARマーカーM1に対応するARコンテンツを検索し、マーカーM1に対応するARコンテンツをコンピュータ1に送信する。コンピュータ1は、コンピュータ2からARコンテンツを受信してから、ARマーカーM1に対応するARコンテンツの表示を行なう。
図6に示すシーケンスによれば、ARマーカーが認識されてからARコンテンツの表示処理が開始されるまでに、ARマーカーに対応するARコンテンツの要求・ダウンロードが行なわれる。そのため、ARマーカーが撮像されることにより認識されてからARコンテンツが表示されるまでにタイムラグが大幅に生じてしまう。
撮像画像にARマーカーが写り込んでからARコンテンツが表示されるまでにタイムラグが大幅に生じてしまうと、ARマーカーを視認するユーザ自身の知覚とARコンテンツを視認することにより拡張された知覚とのずれが大きくなる。そのため、ユーザの知覚を拡張するというARの特性が損なわれてしまう。
図7は、ARコンテンツ提供のシーケンス例を示す。図7に示すシーケンス例は、図6と同様に、コンピュータ1およびコンピュータ2の処理の順序が示される。コンピュータ1は、ARコンテンツ表示のプログラムが起動されると、ARマーカーM1の認識よりも先にまずARコンテンツの取得要求を行なう。図7のシーケンス例では、コンピュータ1は、コンピュータ2からARコンテンツを受信してから、ARマーカー認識に応じたARコンテンツの表示を行なう。
図7のシーケンスにおいては、ARマーカーの認識からARコンテンツの表示までの間に、ARコンテンツの要求・ダウンロードが行なわれないので、ARマーカーの認識からARコンテンツ表示までのタイムラグが小さくなる。そのため、ARマーカーを視認するユーザの知覚とARコンテンツを視認するユーザの知覚とのずれが小さくなる。
その一方で、図7のシーケンス例では、どのARマーカーが認識されてもARマーカーに対応するARコンテンツの表示を行なうために、全種類のARコンテンツをコンピュータ1にダウンロードすることになってしまう。結果的に、全種類のARコンテンツをコンピュータ1に保持しているため、コンピュータ1の記憶容量の負荷が大きくなってしまう。
図6および図7に示すシーケンスでARコンテンツがコンピュータ2からコンピュータ1にダウンロードされても、それぞれタイムラグの増長や記憶容量への負荷増大などの事態が生じてしまう。
[シナリオに応じた選択的提供]
ARコンテンツを表示させる技術は、業務プロセスの遂行支援などに利用される。上述の通り、企業などの組織においては、複数の業務プロセスが遂行される。各々の業務プロセスは、複数の作業を組み合わせであることが多い。本実施形態においては、この作業の組み合わせを一単位とし、それをシナリオと称する。なお、業務プロセスが1つの作業により構成される場合についても、その作業を同様にシナリオと称する。また、同一の業務プロセスであっても、異なるユーザを対象として異なるシナリオが設定されてもよい。例えば、業務プロセスを遂行するユーザが熟練作業者であるか作業初心者であるかに応じて異なるシナリオが提供される。業務プロセスに対応するARコンテンツの内容はシナリオに含まれる作業内容に応じて異なる。すなわち、シナリオが異なる複数の業務プロセスに対してARコンテンツ群が設定されると、そのARコンテンツ群には、単一のシナリオのみに適用される個別のARコンテンツが含まれる。
図8は、ARコンテンツの表示例を示す。図8に示される表示例には、複数の業務プロセスに関して、ARマーカーM1に関連付けられたARコンテンツが表示された画面S(2)が示される。画面S(2)には、ARマーカーM1の像が含まれ、さらに、マーカーM1の像に基づいて生成されたARコンテンツCA11〜CA14、ARコンテンツCB11〜CB13、C11およびC12の投影画像が示される。
ARコンテンツCA11〜CA14は、点検作業のシナリオに独自のARコンテンツである。ARコンテンツCA11、CA12およびCA13は、点検作業の作業内容を示す。ARコンテンツCA11は、「バルブを左に回す」という作業内容の指示を示す。ARコンテンツCA12は、「流量計チェック」という作業内容の指示を示す。ARコンテンツCA13は、「バルブを右に回し、オイル量がXX〜YYの範囲であることを確認」という作業内容の指示を示す。ARコンテンツCA14は、ARコンテンツCA13に示される作業内容の作業内容を図示する。
一方、ARコンテンツCB11〜CB13は、製造作業のシナリオに独自のARコンテンツ群である。ARコンテンツCB11、CB12およびCB13は、製造作業の作業内容を示す。ARコンテンツCB11は、「基板をセット」という作業内容の指示を示す。ARコンテンツCB12は、「溶剤残量を確認」という作業内容の指示を示す。ARコンテンツCA13は、「「実行」ボタンを押下」という作業内容の指示を示す。
ARコンテンツC11およびARコンテンツC12は、特定のシナリオに関する情報ではなく、ARマーカーM1付近で作業するユーザに向けた情報である。ARコンテンツC11は、「水漏れ注意」という注意喚起のメッセージであり、さらに水漏れの位置を示す。また、ARコンテンツC12は、「AA月BB日に、パイプAから水漏れ確認」というメッセージを示す。
認識されたARマーカーに応じたARコンテンツを表示させる制御の結果、画面S(2)では、点検作業の業務プロセスに独自のARコンテンツと製造作業のシナリオに独自のARコンテンツとの双方が表示されている。ユーザが点検作業の業務プロセスを遂行する場合にも、製造作業のシナリオに独自のARコンテンツがユーザに対して表示される。逆に、ユーザが製造作業の業務プロセスを遂行する場合にも、点検作業のシナリオに独自のARコンテンツがユーザに対して表示される。つまり、認識したARマーカーに応じてARコンテンツを表示させるのみでは、ユーザが遂行する業務プロセスと関係のないARコンテンツまでも表示されてしまう。
画面S(2)では、表示するARコンテンツが多く、例えば、ARコンテンツCA11、ARコンテンツCB13およびARコンテンツCA13が重なって表示される。一般的なWebページなどにおいては、コンテンツの量が多くても、Webページの領域を大きくすればスクロール操作などにより各々のコンテンツが閲覧可能である。しかしながら、ARコンテンツ表示領域は撮像画像内に限られている。そのため、ARコンテンツが多いと互いに重なりあって表示されやすい。
さらに、ユーザが点検作業の業務プロセスを遂行する場合にも、製造作業の業務プロセスに独自のARコンテンツがコンピュータ2からコンピュータ1にダウンロードされる。すなわち、ユーザの作業の補助とならないARコンテンツまでもコンピュータ1にダウンロードされている。ユーザの作業の補助とならないARコンテンツがダウンロードされることにより、ARマーカー認識からARコンテンツの表示までのタイムラグが増長されたりコンピュータ1の記憶容量への負荷が増大したりしてしまう。
図9は、ARコンテンツのグループを示す。ARマーカーM1が認識された場合に表示させるARコンテンツの集合がARコンテンツ群G1である。ARコンテンツ群G1は、手順表示のARコンテンツCA11〜CA13、操作補助のARコンテンツCA14、メッセージを示すARコンテンツC11およびC12、ならびに手順表示のARコンテンツCB11〜CB13を含む。また、ARマーカーM2が認識された場合に表示させるARコンテンツの集合がARコンテンツ群G2である。ARコンテンツ群G2は、手順表示のARコンテンツCA21〜CA23、および手順表示のARコンテンツCB21を含む。
単純に、認識されたARマーカーに応じたARコンテンツを表示させる制御のみでは、ARマーカーM1が認識されるとARコンテンツ群G1が表示され、ARマーカーM2が認識されるとARコンテンツ群G2が表示される。この制御では、図8に示されるように、ARマーカーM1の認識に応じて、複数の業務プロセスに関するARコンテンツ群G1全体が表示され、ユーザが遂行する業務プロセスの支援とならないARコンテンツまでも表示されてしまう。また、図6に示すシーケンスでは、ARコンテンツ群G1とARコンテンツ群G2とのいずれをダウンロードすべきかがARマーカーの認識により決定される。そのため、ARマーカーの認識からARコンテンツの表示までにARコンテンツのダウンロードが行なわれ、その結果、ARマーカーの認識からARコンテンツの表示までにタイムタグが発生する。さらに、図7に示すシーケンスでARコンテンツのダウンロードが行なわれると、図9に示すARコンテンツ全体がコンピュータ1にダウンロードされるため、コンピュータ1の記憶容量への負荷が大きい。
そこで、例えば、シナリオに応じた単位でのARコンテンツの管理および提供が行なわれる。すなわち、点検作業のシナリオに独自のARコンテンツCA11〜CA14およびARコンテンツCA21〜CA23ならびに各シナリオに共通のARコンテンツC11およびC12によりグループ(ARコンテンツ群G3)を形成させる。また、製造作業のシナリオに独自のARコンテンツCB11〜CB13およびARコンテンツCB21ならびに各シナリオに共通のARコンテンツC11およびC12によりグループ(ARコンテンツ群G4)を形成させる。シナリオに応じた単位でARコンテンツが提供されることにより、ユーザが遂行する業務プロセスと関係のないシナリオに独自のARコンテンツが表示されることが抑制される。例えば、点検作業の業務プロセスを遂行するユーザに対し、ARコンテンツ群G3が選択的に提供される一方で、ユーザにはARコンテンツCB11〜CB13などは提供されない。
ARコンテンツ群G3およびARコンテンツ群G4というグループでARコンテンツを管理することにより、シナリオに応じて個別にARコンテンツがユーザに提供される。位置や時間などの条件に応じて一部のARコンテンツの提供自体を行なわないように一律に制限してしまうわけではないので、表示の基準となるARマーカーが共通するARコンテンツ群G3とARコンテンツ群G4とが、それぞれ対応する業務プロセスを遂行する異なるユーザに対して、並行して提供され得る。すなわち、あるユーザに対してARコンテンツ群G3が提供されつつ、他のユーザに対してARコンテンツ群G4の提供が可能である。
ユーザは一連の作業(業務プロセス)を開始する前にどのシナリオを行なうか決められる。つまり、シナリオは、ARマーカーが認識されるよりも前に選択される。また、シナリオに応じた単位で提供されるARコンテンツ群(G3やG4)は、全種類のARコンテンツのうちの一部である。図7に示すシーケンス例と比較すると、シナリオに応じたARコンテンツ群が選択的にダウンロードされるため、コンピュータ1に保持されるARコンテンツのデータ量が抑制される。そこで、コンピュータ1がARマーカーの認識前からシナリオに応じたARコンテンツ群を保持することとすれば、コンピュータ1は、ARマーカーの認識に応じたARコンテンツの表示を、コンピュータ1に保持されたARコンテンツを用いて行なうことができる。ARマーカーの認識からARコンテンツの表示までにARコンテンツのダウンロードを行なうことが回避されるので、ARマーカーの認識からARコンテンツの表示までのタイムラグの発生が抑制される。
図10は、AR定義データのデータ構造例を示す。図10に示すデータ構造により、シナリオに応じた単位でARコンテンツの管理および提供が行なわれる。図10に示すデータ構造例は、ツリー構造を有している。
ツリー構造のルート定義Nは、ARコンテンツの提供対象である複数のシナリオを示す。図10の例において、点検作業のシナリオの識別情報(シナリオID)が001であり、製造作業のシナリオのシナリオIDが002である。ルート定義Nには、シナリオID:001と、シナリオID:001のシナリオに関する情報の格納先を示すポインタとを関連付けた情報が含まれる。また、ルート定義Nには、シナリオID:002と、シナリオID:002のシナリオに関する情報(シナリオ定義)の格納先を示すポインタとを関連付けた情報が含まれる。これにより、シナリオIDが選択されると、選択されたシナリオIDに応じて、シナリオに関する情報が参照可能である。
シナリオ定義N11は、シナリオID:001のシナリオに関する情報である。シナリオ定義N11は、シナリオID:001のシナリオにおいてARコンテンツの表示に用いられる複数のARマーカーを示す。例えば、ARマーカーM1の識別情報(マーカーID)が001であり、ARマーカーM2のマーカーIDが002である。シナリオ定義N11には、シナリオID:001のシナリオで用いられる各マーカーのマーカーIDと、各マーカーに関する情報(マーカー定義)の格納先を示すポインタとを関連付けた情報が含まれる。これにより、マーカーIDが選択されると、選択されたマーカーIDに応じて、ARマーカーに関する情報が参照可能である。シナリオ定義N12も、シナリオ定義N11と同様に、シナリオID:002に用いられるARマーカーのマーカー定義を、マーカーIDの選択に応じて参照可能にさせる。
マーカー定義N301は、マーカーID:001のARマーカーM1に関する情報である。マーカー定義N301は、ARマーカーM1の認識に応じて表示させるARコンテンツを示す。例えば、ARコンテンツCA11〜CA14のそれぞれの識別情報(コンテンツID)が001〜004であり、ARコンテンツC11およびC12のそれぞれのコンテンツIDが005および006である。また、例えば、ARコンテンツCB11〜CB13のそれぞれのコンテンツIDが007〜009である。マーカー定義N301には、シナリオID:001のシナリオにおいて、マーカーID:001のARマーカーを認識した場合に表示される各ARコンテンツのコンテンツIDと、各ARコンテンツに関する情報(コンテンツ定義)の格納先を示すポインタとを関連付けた情報が含まれる。これにより、コンテンツIDが選択されると、選択されたコンテンツIDに応じて、ARコンテンツに関する情報が参照可能である。マーカー定義N302も、マーカー定義N301と同様に、シナリオID:001のシナリオにおいてマーカーID:002のARマーカーを認識した場合に表示させるARコンテンツの定義を、コンテンツIDの選択に応じて参照可能にさせる。マーカー定義N303およびN304も、マーカー定義N301やN302と同様に、シナリオID:002のシナリオにおいて各マーカーを認識した場合に表示させるARコンテンツの定義を、コンテンツIDの選択に応じて参照可能にさせる。
コンテンツ定義N401は、コンテンツID:001のARコンテンツに関する情報である。コンテンツ定義N401には、マーカーID:001を基準とするコンテンツID:001のARコンテンツの位置、向きおよびサイズの定義が含まれる。コンテンツ定義N401には、さらに、コンテンツID:001のARコンテンツの形状や模様が定義されたARテンプレートの識別情報(テンプレートID)が含まれる。コンテンツ定義N402〜N406のそれぞれにも、コンテンツ定義N401と同様に、マーカーID:001を基準とするコンテンツID:002〜006のARコンテンツの位置、向きおよびサイズの定義ならびにARテンプレートのテンプレートIDが含まれる。コンテンツ定義N407〜N409のそれぞれには、マーカーID:002を基準とするコンテンツID:007〜009のARコンテンツの位置、向きおよびサイズの定義ならびにARテンプレートのテンプレートIDが含まれる。コンテンツ定義N410〜N412のそれぞれにも、コンテンツ定義N401と同様に、マーカーID:001を基準とするコンテンツID:010〜012のARコンテンツの位置、向きおよびサイズの定義ならびにARテンプレートのテンプレートIDが含まれる。コンテンツ定義N413およびN414のそれぞれにも、コンテンツ定義N401と同様に、マーカーID:001を基準とするコンテンツID:005および006のARコンテンツの位置、向きおよびサイズの定義ならびにARテンプレートのテンプレートIDが含まれる。コンテンツ定義N415にも、マーカーID:002を基準とするコンテンツID:013のARコンテンツの位置、向きおよびサイズの定義ならびにARテンプレートのテンプレートIDが含まれる。
コンテンツ定義N405とコンテンツ定義N413は、同じARコンテンツに関するコンテンツ定義である。コンテンツ定義N405とコンテンツ定義N413は、別々のデータでもよいし、単一のデータでもよい。重複するコンテンツ定義を単一のデータとする場合には、コンテンツ定義を参照するポインタとして同じ値が格納される。例えば、マーカー定義N301に含まれるコンテンツ定義N405を参照させるポインタと、マーカー定義N303に含まれるコンテンツ定義N413を参照させるポインタとが同じ値となる。
特定のシナリオに関するARコンテンツ群が選択的に提供されるには、ルート定義Nにおいて特定のシナリオが選択されればよい。特定のシナリオに関するARコンテンツ群は、選択されたシナリオIDのシナリオ定義の配下に存在する。図10に示すデータ構造により、ARコンテンツがシナリオに応じた単位で管理・提供される。
図11は、ARコンテンツの表示例を示す。図11に示される表示例には、点検作業のシナリオ(シナリオID:001のシナリオ)に関して、認識されたARマーカーM1に関連付けられたARコンテンツが表示された画面S(3)が示される。画面S(3)には、ARマーカーM1の像が含まれ、マーカーM1の像に基づいて生成されたARコンテンツCA11〜CA14、C11およびC12の投影画像が表示される。ARコンテンツCA11〜CA14、C11およびC12は、シナリオID:001のシナリオ定義の配下に定義されるため、表示対象となる。図8に示される画面S(2)には、ARコンテンツCB11〜CB13が表示されるのに対し、画面S(3)には、ARコンテンツCB11〜CB13が表示されない。これは、ARコンテンツCB11〜13が、シナリオID:002のシナリオ定義の配下に定義されるためである。図10のようにシナリオの配下にARコンテンツが定義されることにより、画面S(3)のように、シナリオに応じたARコンテンツがシナリオごとに個別に提供される。
[ステップに応じた選択的提供]
上述の通りシナリオは複数の作業により構成されるが、複数の作業が、一連の工程(ステップ)として順序だてて構成されることがある。シナリオにおいて複数のステップが順序だてて行なわれるとすると、ユーザが実行中でないステップに関するARコンテンツがユーザに提供されても、ユーザが実行中のステップに取り組む際の補助にはならない。例えば、図11の画面S(3)において、ユーザがオイル量の確認を行なうステップである場合には、手順表示のARコンテンツCA13が表示されればよく、手順表示のARコンテンツCA11やCA12が表示されても作業の補助とならない。さらに、現在のステップと異なるステップを対象としたARコンテンツ(CA11やCA12)が、現在のステップで表示されるべきARコンテンツに重なって表示されてしまう事態も生じうる。例えば、画面S(3)においては、オイル量の確認のためのバルブを右に回すというARコンテンツCA13による操作指示がARコンテンツCA11により見えにくくなっている。また、ARコンテンツCA11やCA12の表示により、ユーザが撮像画像を見ることによって確保される視界が遮られてしまう。
そこで、例えば、ステップに応じた単位でのARコンテンツの管理が行なわれる。特定のシナリオに関するARコンテンツのグループ内で、さらに、シナリオに含まれる各ステップについてのグループを形成させる。
図12は、ARコンテンツのグループを示す。図12に示されるARコンテンツ群G31〜G35は、シナリオID:001のシナリオに含まれる各ステップに対応するARコンテンツのグループの例である。
図12に示される例においては、シナリオID:001のシナリオは、ステップ1〜5の5つのステップで構成される。ステップ1の作業においては、ユーザは、手順表示のARコンテンツCA11に基づいて作業を行なう。ステップ2の作業においては、ユーザは、手順表示のARコンテンツCA12に基づいて作業を行なう。ARコンテンツCA11およびCA12は、ARマーカーM1を基準として表示される。ステップ3の作業においては、ユーザは、手順表示のARコンテンツCA21に基づいて作業を行なう。ARコンテンツCA21は、ARマーカーM2を基準として表示される。ステップ4の作業においては、ユーザは、手順表示のARコンテンツCA13および操作補助のARコンテンツCA14に基づいて作業を行なう。ARコンテンツCA13およびCA14は、ARマーカーM1を基準として表示される。ステップ5の作業においては、ユーザは、手順表示のARコンテンツCA22および操作補助のARコンテンツCA23に基づいて作業を行なう。ARコンテンツCA22およびCA23は、ARマーカーM2を基準として表示される。
図12に示すステップごとのグループでの表示制御では、現在のステップのステータスが管理され、例えば、現在のステップのARコンテンツを表示させる制御が行なわれる。その際、他のステップに関するARコンテンツは非表示となる。
図13は、AR定義データのデータ構造例を示す。図13に示すデータ構造により、ステップに応じた単位でARコンテンツが管理・提供される。図13に示すデータ構造は、図10に示すデータ構造例と同様に、ツリー構造を有する。ステップは、シナリオに含まれる構成要素であるので、ツリー構造においてシナリオよりも下位且つARコンテンツより上位のデータ要素で定義される。
図13のツリー構造のルート定義Nは、図10に示すルート定義Nと同様であり、ルート定義Nの参照により、選択されたシナリオIDに応じて、シナリオに関する情報が参照可能である。
図13に示す各シナリオ定義は、各シナリオに含まれる各ステップに関する情報(ステップ定義)の参照先を含む。シナリオ定義N13は、シナリオID:001のシナリオに関する情報であり、シナリオに含まれるステップ1〜5のそれぞれについてのステップ定義へのポインタを含む。シナリオ定義N13を参照すると、ステップの番号に応じて、対応するステップ定義が参照可能となる。
図13に示すステップ定義は、ステップにおけるARコンテンツ表示の基準となるARマーカーのマーカー定義の参照先を含む。例えば、ステップ定義N21は、マーカーID:001のARマーカーのマーカー定義N311へのポインタを含む。ステップ定義N311を参照すると、マーカーIDに応じて、対応するマーカー定義が参照可能となる。
図13に示すマーカー定義は、マーカー定義の上位のステップ定義に定義されるステップにおいて、ARマーカーの認識に応じて表示されるARコンテンツのコンテンツ定義へのポインタを含む。例えば、マーカー定義N311は、ステップ1においてマーカーID:001のARマーカーM1を認識した場合に表示するARコンテンツのコンテンツ定義へのポインタを含む。
図13に示すデータ構造により、ステップ単位でのARコンテンツ表示が行なわれるには、シナリオ定義N13において、ステップが順次選択されればよい。各ステップにおいて表示の対象となるARコンテンツ群は、順次選択されるステップ定義の配下に定義される。
図14は、ARコンテンツの表示例を示す。図14に示される画面S(4)は、図13に示すデータ構造において、選択されたステップ定義の配下のARコンテンツ群の表示が行なわれた場合の画面例である。画面S(4)においては、ステップ定義N24(図12のステップ4に対応)の配下のコンテンツ定義N403およびN404に定義されたARコンテンツが表示される。ARコンテンツCA13およびCA14(コンテンツ定義N403およびN404に対応)と同じくARマーカーM1を表示の基準とするARコンテンツCA11およびCA12(コンテンツ定義N401およびN402に対応)については表示されない。図14ではARコンテンツCA11およびCA12が表示されないことを、ARコンテンツの点線表示で示している。これは、コンテンツ定義N401及びN402が、ステップ定義N24の配下に存在しないためである。すなわち、ARコンテンツがステップに応じた単位で管理するデータ構造が用いられることにより、現在の工程と異なる工程に関するARコンテンツの表示が抑制される。
また、他の表示制御例として、現在の工程と異なる工程に関するARコンテンツは、例えば完全に非表示にされずに、テクスチャをマッピングせずにワイヤフレームだけを表示させてもよい。例えば、現在のステップのステップ定義N24配下のARコンテンツ群の表示とともに、その他のステップのステップ定義N21〜N23およびN25配下のARコンテンツ群についてテクスチャマッピングしないでワイヤフレームのみの表示が行なわれるようにしてもよい。これにより、現在の工程と異なる工程に関するARコンテンツが表示されることが原因となって現在の工程のARコンテンツが見にくくなることが抑制される。また、現在の工程と異なる工程に関するワイヤフレームのみのARコンテンツを背面に表示し、テクスチャマッピングされた現在の工程のARコンテンツを前面に表示させる制御が行なわれてもよい。
図15は、ARコンテンツ提供のシーケンス例を示す。ARコンテンツがステップに応じた単位で管理されることにより、ARコンテンツのダウンロードの段階的な実施が可能となる。プログラム起動後に、コンピュータ1でシナリオが選択される(t1)と、選択されたシナリオ定義、シナリオ定義配下のAR定義データ(シナリオ定義、ステップ定義、マーカー定義およびコンテンツ定義)がダウンロードされる。ARコンテンツの表示は、コンテンツ定義に示されるARテンプレートのデータを用いて行なわれるので、AR定義データのダウンロード完了(t2)後、ARテンプレートのダウンロードが順次行なわれる。この際、選択されたシナリオにおいて、最初のステップで用いられるARテンプレートを優先的にダウンロードすることにより、ARコンテンツ表示の開始タイミングをシナリオに含まれる全ARコンテンツのダウンロード完了時点よりも早めることができる。少なくとも、ステップ1に関するARテンプレートまでダウンロードされた時点(t3)でステップ1に関するARコンテンツ表示が開始可能となる。
[本実施形態の機能構成]
図16は、コンピュータ1の機能ブロック構成例を示す。コンピュータ1は、制御部10、取得部11、認識部12、演算部13、生成部14、記憶部15、撮像部16、表示部17、通信部18および入力部19を含む。制御部10は、選択制御部101、イベント検知部102、表示制御部103および設定管理部104を含む。
制御部10は、他の機能ブロックを制御することにより、ARコンテンツの提供およびARコンテンツの編集を実行させる。取得部11は、コンピュータ2からARコンテンツをダウンロードする。認識部12は、撮像部16により撮像された撮像画像に基づいて、ARマーカーの認識を行なう。認識部12は、ARマーカーの認識において、ARマーカーを識別するマーカーIDの読み取りと、カメラ座標系におけるARマーカーの座標を算出する。演算部13は、ARコンテンツの位置情報(マーカー座標系)を位置情報(スクリーン座標系)に変換する。また、演算部13は、画面上の位置に対応するマーカー座標系の位置を、認識部12により算出されたARマーカーの座標に基づいて算出する。生成部14は、演算部13により算出された位置情報に基づいて、ARコンテンツの投影画像を生成する。
記憶部15は、他の機能ブロックにおいて用いられる情報を記憶する。例えば、取得部11によりダウンロードされたARコンテンツや、ARコンテンツの表示・編集に用いられる管理情報などを記憶する。撮像部16は、撮像処理を行なう。撮像部16の撮像処理により得られる撮像画像も記憶部15に記憶される。表示部17は、画像の表示を行なう。通信部18は、他の装置(例えばコンピュータ2)とネットワーク3を介したデータ通信を行なう。入力部19は、コンピュータ1の操作者の操作を検知し、検知に応じた信号を制御部10に伝達する。
選択制御部101、イベント検知部102、表示制御部103及び設定管理部104は、制御部10により実行されるARコンテンツの表示・編集処理の処理手順の一部を実行する機能ブロックである。選択制御部101は、シナリオリストの表示イベントを生成し、シナリオリスト内の選択に応じてARコンテンツの取得イベントを生成する。シナリオリストについては後述する。イベント検知部102は、認識部12の認識結果に基づいて、切替イベントを生成する。表示制御部103は、状態遷移定義に沿って表示部17に表示させる画面を遷移させる。表示制御部103による画面遷移は、表示イベントの生成に応じて行なわれる。制御部10は、生成部13により投影画像が生成されると、投影画像の表示イベントを生成する。投影画像の表示イベントが生成されると、表示制御部103は、撮像部16が撮像した撮像画像内に投影画像を重ねて表示部17に表示させる制御を行なう。設定管理部104は、演算部13により生成された算出情報の設定を管理する。
[ARコンテンツ表示の処理手順]
図17および図18は、AR機能の処理手順を示す。図17および図18に処理手順を示すAR機能は、AR表示モードおよびAR編集モードの2つのモードを提供する。AR機能は、例えばユーザの入力によりプログラムの起動指示が与えられるなどにより呼び出される。AR機能が呼び出されると、制御部10がモード選択画面S(5)の表示イベントを生成し、表示部17が表示イベントの生成に応じてモード選択画面S(5)を表示する(S101)。
図19は、モード選択画面およびシナリオ選択画面の例を示す。モード選択画面S(5)は、ボタンB1とボタンB2とを含む。ボタンB1およびボタンB2は、それぞれ画面内の領域が割り当てられている。ボタンB1に割り当てられた領域内にAR表示モードを示す表示が行なわれ、ボタンB1に割り当てられた領域への入力によりAR表示モードが選択される。ボタンB2もボタンB1と同様に、ボタンB2に割り当てられた領域内にAR編集モードを示す表示が行なわれ、ボタンB2に割り当てられた領域への入力によりAR編集モードが選択される。
シナリオ選択画面S(6)は、ボタンB3、ボタンB4およびボタン群B5を含む画面であり、モード選択画面S(5)でAR表示モードが選択されると表示される。ボタンB3には画面内の領域が割り当てられ、割り当てられた領域内にはモード選択画面S(5)に戻る旨の表示が行なわれる。また、ボタンB3に割り当てられた領域内への入力によりモード選択画面S(5)が表示される。ボタンB4には画面内の領域が割り当てられ、割り当てられた領域内にはAR機能を終了させる旨の表示が行なわれる。また、ボタンB4に割り当てられた領域内への入力によりAR機能の終了処理が実行される。ボタン群B5の各々には画面内の領域が割り当てられ、割り当てられたそれぞれの領域にシナリオにラベル付けされたシナリオ名が表示される。シナリオ名が表示された領域への入力に応じてシナリオが選択される。
シナリオ選択画面S(7)もボタンB3およびボタンB4を含み、さらにボタン群B6を含む。ボタン群B6は、ボタン群B5と同様のボタンと、新規シナリオに対応するボタンを含む。新規シナリオのボタンが選択されると、シナリオが新規に作成される。
図17のS101でモード選択画面が表示された状態で入力部19が入力操作を検知すると、入力部19はモード選択画面におけるユーザの入力を制御部10に伝達し、制御部10はユーザの入力によりAR表示モードが選択されたか否かを判定する(S102)。モード選択画面においてAR表示モードが選択されると、シナリオに応じたARコンテンツの表示処理が実行され、他方、AR編集モードが選択されると、ARコンテンツの編集処理が実行される。
モード選択画面においてAR表示モードが選択されると、選択制御部101はシナリオリストの取得イベントを生成し、取得部11は取得イベントの生成に応じてコンピュータ2から通信部18を介してシナリオリストを取得する。シナリオリストは、図10や図13に示すAR定義データに含まれるルート定義Nなどに基づいて生成される。
また、シナリオリストが複数種類用意され、作業の実行主体であるユーザに関する情報(例えばアカウント)に応じて提供されるシナリオリストが切り替えられてもよい。例えば、S101の前に、ユーザのアカウント情報やパスワードなどの入力に基づくログイン操作が行なわれ、ログイン時に入力されたユーザのアカウント情報に応じたシナリオリストが提供される。これにより、複数の業務プロセスを扱う組織において割り当てられるユーザの権限に応じたシナリオ提供が可能となる。
図20は、ルート定義のデータ構造例を示す。AR定義データに含まれる各データは、例えば、所定のデータ長(例えば4バイト)を単位とする情報(情報単位)の羅列(情報単位1および情報単位群2)で構成される。ルート定義Nの1番目の情報単位(情報単位1)には、ルートの配下に存在するシナリオの数Nsが示される。ルート定義Nには、シナリオ数Nsを示す情報単位に後続して、Ns個の情報単位が含まれる。2番目以降の情報単位(情報単位群2)には、ルートの配下のシナリオを識別するシナリオIDと、シナリオ定義の格納先を示すポインタとが含まれる。
取得部11が取得するシナリオリストは、ルート定義そのものでもよいし、ルート配下のシナリオ定義へのポインタが除かれたものであってもよい。また、ルート配下の各シナリオIDに、対応するシナリオ名を対応づけた情報をシナリオリストとしてもよい。また、例えば、複数種類のシナリオリストをユーザのアカウントに応じて切り替える構成においては、AR定義データ全体が複数通り用意される。
図17のS103でシナリオリストが取得されると、選択制御部101はシナリオ選択画面S(6)の表示イベントを生成し、表示制御部103は表示イベントの生成に応じて表示部17にシナリオ選択画面S(6)を表示させる(S104)。シナリオ選択画面が表示された状態で入力部19が入力操作を検知すると、入力部19はシナリオ選択画面におけるユーザの入力を制御部10に伝達し、制御部10はユーザの入力による選択内容を判定する(S105)。
S105において、モード選択画面S(5)に戻る旨(「戻る」)が表示されるボタンB3が選択される(S105:「戻る」)と、S101の処理が再度行なわれる。また、S105においてAR機能を終了させる旨(「終了」)が表示されるボタンB4が選択される(S105:「終了」)と、AR機能が終了される。また、S105において、ボタン群B5に示されるいずれかのシナリオが選択される(S105:「シナリオ」)と、制御部10は取得部11に、S105で選択されたシナリオで提供されるARコンテンツ群のダウンロード処理を開始させる(S106)。
図21は、ダウンロード機能の処理手順例を示す。取得部11は、選択されたシナリオのシナリオIDを、通信部18を介してコンピュータ2に送信する(S201)。コンピュータ2は、取得部11により送信されたシナリオIDに対応するAR定義データをコンピュータ1に送信する。コンピュータ2の処理手順は、図52において説明される。取得部11は、コンピュータ2から送信されるAR定義データを、通信部18を介して受信する(S202)。
AR定義データのデータ構造例は、図10または図13に示される。AR定義データの一部であるルート定義Nは図20により示される。図13に示されるデータ構造例におけるシナリオ定義、ステップ定義、マーカー定義およびコンテンツ定義のそれぞれについて、図22〜図25にデータ構造例を示す。
図22は、シナリオ定義のデータ構造例を示す。図22に示されるシナリオ定義N13は、ルート定義Nに含まれるポインタにより格納位置が示される。シナリオ定義は、所定データ長の情報単位(情報単位1、情報単位群2、情報単位3、情報単位群4)により構成される。シナリオ定義N13の1番目の情報単位(情報単位1)には、シナリオ定義N13の配下のステップ定義の数(シナリオ定義N13では5)と、ルート定義Nの格納位置を示すポインタとが含まれる。1番目の情報単位に示されるステップ定義の数の情報単位(情報単位群2)が、1番目の情報単位に後続してシナリオ定義N13に含まれる。これらの情報単位には、シナリオ定義N13の配下のステップ定義のステップ番号およびステップ定義の格納位置を示すポインタが含まれる。さらに、シナリオ定義N13配下のステップ定義に関する情報に後続する情報単位(情報単位3)には、シナリオ定義N13配下のマーカー定義の数(シナリオ定義N13では1)が示される。さらに、シナリオ定義N13配下のマーカー定義の数の情報単位(情報単位群4)が後続してシナリオ定義N13に含まれる。これらの情報単位には、シナリオ定義N13配下のマーカー定義のマーカーIDおよびマーカー定義の格納位置を示すポインタが含まれる。
図23は、ステップ定義のデータ構造例を示す。図23に示されるステップ定義N21は、シナリオ定義N13に含まれるポインタにより格納位置が示される。ステップ定義は、所定データ長の情報単位(情報単位1および情報単位群2)により構成される。ステップ定義N21の1番目の情報単位(情報単位1)には、ステップ定義N21の配下のマーカー定義の数(ステップ定義N21では1)と、シナリオ定義N13の格納位置を示すポインタとが含まれる。情報単位1に示されるマーカー定義の数の情報単位(情報単位群2)が、1番目の情報単位に後続してステップ定義N21に含まれる。これらの情報単位には、ステップ定義N21の配下のマーカー定義のマーカーIDおよびマーカー定義の格納位置を示すポインタが含まれる。
図24は、マーカー定義のデータ構造例を示す。図24に示されるマーカー定義N311は、ステップ定義N21に含まれるポインタにより格納位置が示される。マーカー定義は、所定データ長の情報単位(情報単位1および情報単位群2)により構成される。マーカー定義N311の1番目の情報単位(情報単位1)には、マーカー定義N311の配下のコンテンツ定義の数(マーカー定義N311では1)と、ステップ定義N21の格納位置を示すポインタとが含まれる。1番目の情報単位に示されるコンテンツ定義の数の情報単位(情報単位群2)が、1番目の情報単位に後続してマーカー定義N311に含まれる。これらの情報単位には、マーカー定義N311の配下のコンテンツ定義のコンテンツIDおよびコンテンツ定義の格納位置を示すポインタが含まれる。
図25は、コンテンツ定義のデータ構造例を示す。図25に示されるコンテンツ定義N401は、マーカー定義N311に含まれるポインタにより格納位置が示される。コンテンツ定義は、所定データ長の情報単位(情報単位1〜5)により構成される。コンテンツ定義N401の1番目の情報単位(情報単位1)には、コンテンツ定義である旨を示す情報と、マーカー定義N311へのポインタとが含まれる。また、コンテンツ定義N401の2番目の情報単位(情報単位2)には、コンテンツ定義N401のコンテンツIDと、コンテンツ定義N401で定義されるARコンテンツに用いられるARテンプレートのテンプレートIDが示される。コンテンツ定義N401の3番目の情報単位(情報単位3)には、マーカー座標系における位置座標(Xm,Ym,Zm)が示される。この位置座標にARコンテンツの基準点がセットされる。コンテンツ定義N401の4番目の情報単位(情報単位4)には、マーカー座標系における回転座標(Pm,Qm,Rm)が示される。さらに、コンテンツ定義N401の5番目の情報単位(情報単位5)には、ARコンテンツの倍率(Jx,Jy,Jz)が示される。
選択されたシナリオの配下のAR定義データが取得されると、取得部11は、受信状態テーブルT1を記憶部15のワークエリアに生成する(S203)。
図26は、受信状態テーブルの例を示す。受信状態テーブルT1は、選択されたシナリオに含まれる各ARコンテンツについて、ARコンテンツが表示されるステップのステップ番号、コンテンツIDおよび受信されたか否かの受信状態を示す情報を対応付けるテーブルである。受信状態は、値「0」がコンテンツデータの受信未了を示し、値「1」がコンテンツデータの受信完了を示す。図26に示す受信状態テーブルの例は、シナリオID:001が選択された場合の例である。ARコンテンツのコンテンツデータ(ARテンプレートおよび画像ファイル)の受信が終了した場合に、受信状態が「0」から「1」に変更される。
受信状態テーブルT1を生成すると、取得部11は、受信状態テーブルT1を参照し、未受信のコンテンツデータが存在するか否かを判定する(S204)。未受信のコンテンツデータが存在する場合(S204:YES)には、取得部11は、コンテンツデータの受信を行なう(S205)。図52を用いて後述するが、コンピュータ2は、選択されたシナリオに含まれるARコンテンツのコンテンツデータをステップごとに順次送信する。
コンテンツデータとは、コンテンツ定義により位置、向き及びサイズが定義されるARコンテンツの形状や模様を示す情報である。コンテンツデータは、ARテンプレートとARテンプレートにおいて示される画像ファイルとを含む。
図27は、ARテンプレートのデータ構造例を示す。ARテンプレートT2は、ARテンプレートのテンプレートID、ARテンプレートを構成する各頂点の座標データT21、およびARテンプレートを構成する各面の面構成データT22を含む。面構成データに含まれる各面の情報は、面を構成する頂点の順序である頂点順序と、テクスチャIDの指定を含む。テクスチャIDは、面にマッピングされるテクスチャの識別情報(画像ファイルの識別情報)を示す。ARテンプレートの基準点は例えば0番目の頂点である。
S205が実行されてから所定時間経過すると、取得部11は、受信状態テーブルT1の更新を行なう(S206)。取得部11は、コンテンツデータの受信が終了したARコンテンツについて、受信状態テーブルT1の受信状態を「0」から「1」に変更する。ARコンテンツに対応するARテンプレートT2と、ARテンプレートT2で指定される画像ファイルが全てダウンロードされると、ARコンテンツの受信が終了したと判断される。S206の処理が行なわれると、取得部11は再度S204の判定を行なう。
受信状態テーブルT1の参照により、未受信のコンテンツデータが無いと判定された場合(S204:NO)には、取得部11はダウンロード機能を終了する。
制御部10は、取得部11にダウンロード処理を開始させると、ARマーカーが検知されたか否かを認識部12に判定させる(S107)。認識部12は、撮像部16により撮像された撮像画像内にARマーカーの像が含まれる場合に、ARマーカーが検知されたと判定する。ARマーカーの像が含まれるか否かは、例えば、撮像画像内に平行四辺形形状の像が含まれるか否かにより判断される。認識部12によりARマーカーが検知されない旨の判定結果を受ける場合(S107:NO)には、所定時間経過後に再度S107の処理が実行される。撮像部16は定期的に撮像処理を行なっており、認識部12が再度S107の処理を行なう際には、別の撮像画像に基づいて判断が行なわれる。
ARマーカーが検知された旨の判定結果を認識部12から受ける場合(S107:YES)には、制御部10は、認識部12にマーカー認識処理を実行させる(S108)。マーカー認識処理においては、S107で検知されたARマーカーについて、カメラ座標系におけるARマーカーの座標(位置座標および回転座標)の算出と、ARマーカーのマーカーIDの読み取りとが行なわれる。算出されたARマーカーの座標と、読み取られたマーカーIDに基づいて、認識マーカー情報D1およびマーカー移動情報D2が更新される。認識マーカー情報D1およびマーカー移動情報D2の更新は、S109のイベント検知処理において行なわれる。
図28は、認識マーカー情報およびマーカー移動情報の例を示す。図28に示される認識マーカー情報D1は、S108のマーカー認識処理により認識されたARマーカーの数と、認識されたARマーカー各々についてのマーカーIDおよび移動情報へのポインタとを示す。認識マーカー情報D1に含まれるポインタにより示されるマーカー移動情報D2は、直近の所定回数のマーカー認識により算出されたARマーカーの像の位置座標(Xs,Ys)および回転座標(R1c)が示される。マーカー移動情報D2は、例えば、8回前のマーカー認識処理までのARマーカーの像の位置座標(Xs,Ys)および回転座標(R1c)が示される。位置座標の単位は例えばピクセルであり、回転座標の単位は例えば度である。認識マーカー情報D1およびマーカー移動情報D2は、例えばレジスタなどに格納される。
マーカー認識処理が行なわれると、制御部10はイベント検知処理を実行する(S109)。イベント検知処理によるイベントの検知に応じて、選択されたシナリオにおけるステップが進行または後退する。
図29は、シナリオの状態情報の例を示す。図29に示される状態情報D0は、シナリオの進行状況を示す。状態情報D0は、例えばレジスタなどに格納される。状態情報D0は、S105で選択されたシナリオのシナリオID、選択されたシナリオに含まれるステップの数および現在のステップを示す。イベントの検知によりステップが進行または後退すると、状態情報D0の現在のステップの情報が更新される。
図30は、イベント検知の処理手順例を示す。図30に示すイベント検知処理においては、ARマーカーの像が横方向に移動してフレームアウトした場合にステップ番号のインクリメントまたはデクリメントが行なわれる。スクリーン座標系で正の方向にフレームアウトした場合に、ステップ番号がインクリメントされ、負の方向にフレームアウトした場合に、ステップ番号がデクリメントされる。
イベント検知部102は、イベント検知処理が開始されると、認識マーカー情報D1を参照し、前回までに認識されたARマーカーで今回のマーカー認識処理で認識されなかったARマーカーが存在するか否かを判定する(S301)。S301で参照される認識マーカー情報D1には、図30のイベント検知処理の直前に行なわれたマーカー認識処理(今回のマーカー認識処理)の結果は反映されていない。すなわち、S301で参照される認識マーカー情報D1には、直前のマーカー認識処理(今回のマーカー認識処理)のさらに1つ前までのマーカー認識処理の結果が含まれている。S301で未認識のARマーカーが存在した場合(S301:YES)に、イベント検知部102は、S301で検知された未認識のARマーカーのマーカー移動情報を、認識マーカー情報に基づいて取得する(S302)。
イベント検知部102は、さらに、S302で取得したマーカー移動情報に含まれる位置座標に基づいて、Xs方向の座標の絶対の最大値と、Ys方向の変化量(Ysの最大値とYsの最小値との差)とを算出する(S303)。続いてイベント検知部102は、S303で算出したYs方向の変化量が所定値以下であるか否かを判定する(S304)。S303で算出したYsの変化量が所定値以下であれば、コンピュータ1のカメラが上下方向に大きく動いていないことが判明する。S303で算出したYsの変化量が所定値以下である場合(S303:YES)には、イベント検知部102は、S303で算出したXs方向の絶対値の最大値が所定値以上であるか否かを判定する(S305)。S303で算出したXs方向の絶対値の最大値が所定値以上であれば、ARマーカーの像が画面の右端の領域か左端の領域に存在したことが判明する。スクリーン座標系は、前述の通り(Xs,Ys)の2次元で構成され、例えばカメラの撮像処理により得られる撮像画像の中心を原点(原点Os)とする。所定値として、Xsの最大値(画面の右端に相当する)よりも小さく0よりも大きい値が用いられ、例えばXsの最大値の3/4などの値が用いられる。S303で算出したXs方向の絶対値の最大値が所定値以上の場合(S305:YES)には、イベント検知部102は、Xs方向の絶対値が最大となるXsが正の値であるか否かを判定する(S306)。
Xs方向の絶対値が最大となるXsが正の値である場合(S306:YES)には、イベント検知部102は、状態情報D0の現在のステップ番号をインクリメントする(S307)。逆に、Xs方向の絶対値が最大となるXsが負の値である場合(S306:NO)には、イベント検知部102は、状態情報D0の現在のステップ番号をデクリメントする(S308)。
前回のマーカー認識処理で認識されたARマーカーで今回未認識のマーカーが無い場合(S301:NO)、Ysの変化量が所定値よりも大きい場合(S304:NO)、S303で算出したXs方向の絶対値の最大値が所定値よりも小さい場合(S305:NO)、S307またはS308の処理が行なわれた場合のいずれかに該当する場合は、イベント検知部102は、今回のマーカー認識処理S108の認識結果を認識マーカー情報D1およびマーカー移動情報D2に反映させる(S309)。S309の処理が行なわれると、イベント検知処理は終了する。
図31は、画面に表示されるマーカーの例を示す。図31に示される画面S(8)は、シナリオID:001のステップ1における表示画面の例である。ステップ1の状態なので、ARコンテンツCA11が表示され、ARコンテンツCA12およびCA13の表示は抑制される(または一部のみが表示される)。画面S(8)に表示されるARマーカーM1の像が矢印の方向に移動してフレームアウトすると、Xsの最大値は正の値であるため、ステップ番号がインクリメントされる。
図31に示される画面S(9)は、画面S(8)に示すようにフレームアウトした後、再度ARマーカーM1がフレームインした際の画面の例である。ARマーカーがフレームインされると、マーカー認識処理によりマーカーが認識され、認識されたマーカーに応じたARコンテンツの表示が行なわれる。その場合には、画面S(8)よりもステップが1つ進行しているので、シナリオID:001のステップ2に対応するARコンテンツCA12が表示される。また、画面(8)において表示されたARコンテンツCA11の表示は抑制される(または一部のみが表示される)。
図30および図31に示されるイベント検知処理に応じたステップの切り替えによれば、ユーザはコンピュータ1を保持した状態のまま(ARコンテンツの表示を閲覧する姿勢のまま)カメラの向きを変えるのみでステップを切り替えることができる。また、図30の手順によれば、フレームアウトの方向判断は、ARマーカーを認識しなくなったタイミングにのみ実施される。
例えば、ステップの切り替えは、ボタンのタップ、ディスプレイのタップ/フリック等の遷移アクションに応じて行なわれてもよい。しかしながら、コンピュータ1がタブレット端末などである場合、タップやフリックなどの操作を行なうためには、ユーザはタブレット端末を片手持ちすることになる。端末のサイズが大きくなると、片手で安定的に保持することが難しくなる。
また、例えばステップの切り替えが、コンピュータ1本体のジェスチャに応じて行なわれてもよい。ジェスチャによる判断は、加速度センサによる計測値や撮像画像の解析などに応じて行なわれる。しかし、ジェスチャが開始されたタイミングを判断するために、常時数値的な演算処理が行なわれる。
図31を用いた上述の説明では、ARマーカーM1の像が画面右側にフレームアウトした場合にステップ番号がインクリメントされるが、逆にデクリメントされるようにしてもよい。その場合、例えば、ARマーカーM1の像が画面左側にフレームアウトした場合にステップ番号がインクリメントされる。
また、判定の契機がフレームアウトでなく、フレームインであってもよい。例えば、図30のS301において、前回までに認識されなかったARマーカーが認識された際に、フラグを立てておき、フラグが立った状態におけるARマーカーの像の移動方向に応じて、ステップ番号がインクリメントまたはデクリメントされる。
イベント検知部102によりイベント検知処理(S109)が行なわれると、制御部10は、演算部13および生成部14を制御して、投影画像の生成処理を実行する(S110)。
図32は、投影画像の生成処理の処理手順例を示す。制御部10は、シナリオの状態情報に示される現在のステップ番号のステップ定義に定義された認識対象のARマーカーが、認識マーカー情報に存在するか否かを判断する(S401)。現在のステップの認識対象のARマーカーが認識マーカー情報に示されないということは、現在のステップにおいて表示すべきARコンテンツが存在しないということである。そのため、認識対象のARマーカーが認識マーカー情報に示されない場合(S401:NO)、S107のマーカー検知の手順が行なわれる。この際に、表示制御部103は、認識すべきARマーカーが異なる旨のガイド情報を表示部17に表示させてもよい。
現在のステップの認識対象のARマーカーが存在する場合(S401:YES)には、制御部10は、現在のステップの認識対象のARマーカーの情報(マーカー定義、マーカー定義の配下のコンテンツ定義)を読み出す(S402)。制御部10は、S402で読みだしたコンテンツ定義に対応するARコンテンツのうち、コンテンツデータの受信が終わっていないARコンテンツが存在するか否かを判定する(S403)。制御部10は、シナリオの状態情報に示される現在のステップ番号についてのコンテンツの受信状況を、受信状態テーブルT1の参照により確認してS403の判定を行なう。ARコンテンツが受信されていない場合(S403:NO)には、制御部10は、受信するまで待機して再度S403の判定を行なう。もしくは、表示制御部103が受信待機中である旨を表示部17に表示させ、その後、S107のマーカー検知の手順が行なわれてもよい。
表示対象のARコンテンツが受信されている場合(S403:YES)には、制御部10は、表示対象の各ARコンテンツについてS405〜S407の処理を行なう(S404およびS408による繰り返し)。表示対象のARコンテンツとは、現在のステップのステップ定義の配下のコンテンツ定義に定義されるARコンテンツである。
S404でARコンテンツが選択されると、制御部10は、演算部13に、選択されたARコンテンツのコンテンツ定義に示されるARテンプレートに定義される各頂点座標をコンテンツ定義に基づいて座標変換させる(S405)。演算部13は、各頂点座標をコンテンツ定義の回転座標(Pm,Qm,Rm)に基づいて回転させ、回転させた頂点座標を倍率(Jx,Jy,Jz)に応じて拡縮し、さらに位置座標(Xm,Ym,Zm)に応じて並進させる。制御部10は、さらに、演算部13に、S405で座標変換された各頂点座標に対してモデル−ビュー変換および透視変換を実行させる(S406)。S405およびS406により、S404で選択されたARコンテンツの各頂点座標がスクリーン座標系で表現される。
制御部10は、生成部14に、ARテンプレートに定義される面定義ごとに、S405およびS406で座標変換された各頂点座標に基づいてテクスチャマッピングを実行させる(S407)。生成部14は、面定義に定義される各頂点のスクリーン座標系での座標を線で補間した領域に、面定義に定義された画像ファイル(テクスチャIDで指定される画像)を、マッピングする。
生成部14により各面定義についての形状および位置が指定された面画像が生成されると、表示制御部103は、透明画像レイヤに各面画像を配置する(S408)。透明画像レイヤは表示画面サイズの画像であり初期設定では透明である。そのため、透明画像レイヤの背面に存在するレイヤの画像がそのまま表示される。S408で配置された面画像は、背面のレイヤの画像よりも前面に表示される。
S405〜S408の処理が表示対象の各ARコンテンツに行なわれると、制御部10は投影画像の生成処理を終了し、表示制御部103は、投影画像の更新を行なう(S111)。表示制御部103は、S110の処理で各ARコンテンツの各面画像が配置された透明画像レイヤを撮像画像の前面に表示させる制御を表示部17に対して行なう。
その後、制御部10はシナリオを終了させるか否かを判断する(S112)。制御部10は、シナリオの状態情報を参照し、現在のステップ番号がステップ数よりも大きい場合に、シナリオ終了する判断を行なう。制御部10は、現在のステップ番号がステップ数以下であれば、シナリオを終了しない。S112でシナリオを終了しない場合(S112:NO)には、制御部10は、S107のマーカー検知処理が行なわれる。
S112でシナリオを終了する場合には、表示制御部103は、表示部17に選択画面を表示させる(S113)。S113で表示される選択画面には、「終了」、「他のシナリオ」および「他のモード」の選択肢が示される。制御部10は、S113で選択画面が表示された状態で入力部19が受けた選択入力が、「終了」、「他のシナリオ」および「他のモード」のいずれであるかを判定する(S114)。
S114で選択入力が「終了」である場合(S114:「終了」)には、制御部10は、AR機能を終了させる。S114で選択入力が「他のシナリオ」である場合(S114:「他のシナリオ」)には、表示制御部103は、表示部17にS104のシナリオ選択画面を表示させる。また、S114で選択入力が「他のモード」である場合(S114:「他のモード」)には、表示制御部103は、表示部17にS101のモード選択画面を表示させる。
[切り替えイベント検知の他の方式]
図30のイベント検知の手順では、マーカーのフレームアウトの方向によりステップ切り替えのイベントが検知される。認識されたマーカーの態様に応じたステップ切り替え判定の他の手順について説明する。
例えば、ステップ切り替え用のインジケータ(指標画像)を画面上に表示しておき、撮像画像中のマーカーの像をインジケータに合わせられたことに応じてステップが切り替えられる。インジケータは、例えば、四角い枠形状の図形である。
図33は、画面に表示されるマーカーの例を示す。図33に示される画面S(10)は、あるシナリオのステップ1における画面の例である。画面S(10)には、インジケータI1が表示される。インジケータI1は、四角い枠形状の図形であり、番号「2」を示す。また、画面S(10)には、ARマーカーM1の像が写り込んでいる。表示される撮像画像は順次更新され、更新された撮像画像に対してマーカー認識処理(S108)が行なわれる。
画面S(11)は、マーカー認識処理により得られるARマーカーM1の画面内の位置がインジケータI1の表示位置と重なった場合の画面を示す。画面S(11)の状態になった場合に、ステップ1からステップ2への切り替えが行なわれる。ステップ2に切り替えられると、ARマーカーM1の認識に応じて、ステップ2に対応する表示が行なわれる。
画面S(12)は、ステップ2に対応する表示が行なわれた画面の例である。画面S(12)には、ARマーカーM1の像と、ステップ2の表示対象のARコンテンツC31およびC32と、インジケータI2およびI3とが表示される。インジケータI2およびI3も、インジケータI1と同様に四角い枠形状の図形であり、それぞれ番号「3」、「1」を示す。ARマーカーM1の像がインジケータI2の画面内位置で認識されると、ステップの進行(ステップ2からステップ3への切り替え)が行なわれ、ARマーカーの像がインジケータI3の画面内位置で認識されると、ステップの後退(ステップ2からステップ1への切り替え)が行なわれる。
インジケータI2の画面内位置にARマーカーの像が認識されると、画面S(13)が表示される。画面S(13)はステップ3に対応する表示が行なわれた画面の例である。ステップ3の表示対象のARコンテンツC33およびC34と、インジケータI4およびI1が表示される。インジケータI4も、インジケータI1と同様に四角い枠形状の図形であり、番号「4」を示す。ARマーカーM1の像がインジケータI4の画面内位置で認識されると、ステップの進行(ステップ3からステップ4への切り替え)が行なわれ、ARマーカーの像がインジケータI1の画面内位置で認識されると、ステップの後退(ステップ3からステップ2への切り替え)が行なわれる。
図34は、ステップ定義のデータ構造例を示す。図33に示すステップ切り替えでは、各ステップにおいてインジケータの表示位置が指定される。インジケータの表示位置は、各ステップ定義において定義される。図33に示されるステップ2に対応するステップ定義N22aは、ステップ定義N21と同様に、所定のデータ長(例えば4バイト)を単位とする情報の羅列(情報単位1〜4)で構成される。
情報単位1には、ステップ2においてARコンテンツ表示の基準に用いられるARマーカーの数と、シナリオ定義へのポインタとが示される。情報単位2には、ステップ2においてARコンテンツ表示の基準に用いられるARマーカーのマーカーIDとマーカー定義へのポインタとが示される。情報単位3には、ステップ2からステップを後退させる判断に用いられるインジケータの表示位置(Xs,Ys)が示される。また、情報単位4には、ステップ2からステップを進行させる判断に用いられるインジケータの表示位置(Xs,Ys)が示される。ステップが切り替えられると、情報単位3および4に応じてインジケータが表示される。
図35は、イベント検知の処理手順例を示す。インジケータとARマーカーとの表示位置に応じてステップ切り替えを判定する方式においては、イベント検知処理が開始されると、制御部10は、マーカー認識処理により認識されたARマーカーの画面内位置(Xs,Ys)を取得する(S501)。
制御部10は、現在のステップのステップ定義を参照し、S501で取得したARマーカーの位置がステップ後退用の位置であるか否か判定する(S502)。S502の判定でARマーカーの位置が後退の位置であると判定された場合(S502:YES)には、制御部10は、シナリオの状態情報D0の現在のステップ番号をデクリメントする(S503)。
S502の判定でARマーカーの位置が後退の位置でないと判定された場合(S502:NO)には、制御部10は、現在のステップのステップ定義を参照し、S501で取得したARマーカーの位置がステップ前進用の位置であるか否か判定する(S504)。S504の判定でARマーカーの位置が前進用の位置であると判定された場合(S504:YES)には、制御部10は、シナリオの状態情報D0の現在のステップ番号をインクリメントする(S505)。
S503またはS505が行なわれると、制御部10は、状態情報D0に示される現在のステップ番号のステップ定義に基づいて、後退用の位置を示すインジケータと、前進用の位置を示すインジケータとを生成する(S506)。さらに、表示制御部103は、表示部17に表示させるインジケータを、S506で生成されたインジケータに更新する(S507)。S507が行なわれるか、ARマーカーの位置が前進用の位置でないと判定された場合(S504:NO)には、制御部10は、イベント検知処理を終了する。
他のイベント検知の方式の例では、画面に表示されるARマーカーの像の回転角度に応じて、ステップの切り替えが行なわれる。
図36は、画面に表示されるマーカーの例を示す。M1(1)に示す四角形の位置に表示されていたARマーカーM1が、別のタイミングでM1(2)に示す四角形の位置に表示されると、ARマーカーM1は角度Rsだけ回転した状態で認識されたこととなる。回転角度が所定値よりも大きい場合に、回転の方向に応じたステップ切り替えの判断が可能である。ちなみに、ARマーカーの回転は、固定されたARマーカーに対してユーザがカメラを回転させる動作によっても行なわれる。
図37は、イベント検知の処理手順例を示す。イベント検知処理が開始されると、制御部10は、認識されたARマーカーのマーカー移動情報D1から回転座標の情報を取得する(S601)。次に、制御部10は、認識されたARマーカーに回転が生じたか否かを判定する(S602)。S602の判定は、回転角度Rsが所定値以上であるか否かに応じて行なわれる。マーカー認識処理により回転角度R1cが算出されるので、回転角度Rsの代わりに、例えば、マーカー移動情報に含まれる回転角度(R1c)の最大値と最小値との差が用いられてもよい。
S602で回転が生じたと判定された場合(S602:YES)には、制御部10は、回転の方向が正の方向であるか否かを判定する(S603)。回転の方向は、マーカー移動情報に含まれる回転角度(R1c)の最大値と最小値とのどちらが先のマーカー認識処理の結果であるかに基づいて判断可能である。最小値が先に認識された処理結果であれば、回転角度を増やす方向に回転しているので、正の方向への回転であると判定される。
S603で正の方向への回転であると判定された場合(S603:YES)には、制御部10は、状態情報D0の現在のステップ番号をインクリメントする(S604)。一方、S603で正の方向への回転でないと判定された場合(S603:NO)には、制御部10は、状態情報D0の現在のステップ番号をデクリメントする(S605)。
S604またはS605の処理が行なわれるか、S602で回転が生じていないと判定された場合(S602:NO)には、制御部10は、S108のマーカー認識処理の結果に基づいて、マーカー移動情報を更新する(S606)。S606が行なわれると、イベント検知処理は終了となる。
ステップ切り替えイベントの検知について3種類の方法が説明されたが、他の方法により検知されてもよい。また、上述の3つの検知方法いずれについても適宜変形して実施されてよい。例えば、マーカーのフレームアウトにより切り替えイベントを検知する方法では、マーカーのフレームインに基づいてイベント検知を行なってもよい。さらに、上述の例において、マーカーアウトが画面右端で行なわれる場合にステップ進行イベントが検知され、画面左端で行なわれる場合にステップ後退イベントが検知されたが、方向は逆でもよい。さらには、画面上端でのフレームアウト/インに基づいて判断してもよく、画面下端でのフレームアウト/インに基づいて判断してもよい。
また、マーカーの回転に応じたイベント検知の例においては、正方向の回転でステップ進行イベントが検知されたが、逆に正方向の回転でステップ後退イベントが検知されても良い。その場合には、例えば、負方向の回転でステップ進行イベントが検知される。
[例外シナリオの発生]
本実施例においては、複数のシナリオから選択的に1つのシナリオが提供されるが、シナリオが進行する途中で他のシナリオへ遷移するように構成されてもよい。一例においては、遷移先シナリオと遷移条件とを対応付けておき、シナリオの進行中に遷移条件が満たされると、遷移先シナリオが開始されるように構成される。
図38は、シナリオ定義のデータ構造例を示す。図38に示すシナリオ定義N13aでは、第1の情報単位、第2の情報単位群、第3の情報単位、第4の情報単位(群)、第5の情報単位および第6の情報単位群が含まれる。
第1の情報単位は、シナリオに含まれるステップの数(第2の情報単位の数)と、ルート定義へのポインタを示す。第2の情報単位群は第1の情報単位に後続するデータであり、第2の情報単位の各々は、各ステップについてのステップ番号と、ステップ定義へのポインタとを示す。第3の情報単位は、第2の情報単位群に後続するデータであり、シナリオ直下のマーカー定義の数(第4の情報単位の数)を示す。第4の情報単位は、第3の情報単位に後続するデータであり、シナリオ直下のマーカー定義のマーカーIDと、マーカー定義へのポインタとを示す。第5の情報単位は、第4の情報単位に後続するデータであり、シナリオ遷移定義の数(第6の情報単位の数)を示す。第6の情報単位は、第5の情報単位に後続するデータであり、遷移先シナリオのシナリオIDと、遷移条件とを示す。
遷移条件が満たされることの検知は、図17のS107からS112のいずれかの段階で行なわれる。例えばS112でシナリオが終了されるか否かを判定する際に、ユーザから遷移条件を満たす特定の入力が行なわれていたかにより判断されてもよいし、コンピュータ1内部のパラメータ(電池残量など)が遷移条件を満たすかにより判断されてもよい。
遷移条件が満たされた場合には、制御部10が状態情報D0のシナリオIDを遷移先シナリオのシナリオIDに変更し、図17のS106の手順を実行する。S106の処理により、遷移先シナリオのARコンテンツが取得される。
[ARコンテンツ編集の処理手順]
図17のS102でAR表示モードが選択されなかった場合(S102:NO)には、AR編集モードが呼び出される。本実施形態においては、シナリオごとにARコンテンツの編集が行なわれる。
図39および図40は、編集モードの処理手順例を示す。AR編集モードが呼び出されると、制御部10は、取得部11に、シナリオリストを取得させる(S701)。取得部11は、コンピュータ2で、ルート定義Nに応じて生成されたシナリオリストを、通信部18を介して取得する。表示制御部103は、取得したシナリオリストに基づいて図19に示すシナリオ選択画面S(7)を生成し、生成したシナリオ選択画面S(7)を表示部17に表示させる(S702)。
シナリオ選択画面が表示された状態で入力部19が入力操作を検知すると、入力部19はシナリオ選択画面におけるユーザの入力を制御部10に伝達し、制御部10はユーザの入力による選択内容を判定する(S703)。
S703で、モード選択画面S(5)に戻る旨(「戻る」)が表示されるボタンB3が選択される(S703:「戻る」)と、図17のS101の処理が再度行なわれる。また、S703で、AR機能を終了させる旨(「終了」)が表示されるボタンB4が選択される(S703:「終了」)と、AR機能が終了される。また、S703で、ボタン群B6に示されるいずれかのシナリオが選択される(S703:「シナリオ」)と、制御部10は取得部11に、S703で選択されたシナリオで提供されるARコンテンツ群のダウンロード処理を開始させる(S704)。S704で、取得部11は、図21の処理を行ない、選択されたシナリオのARコンテンツ群をダウンロードする。S703:「シナリオ」で新規のシナリオを作成する旨が選択された場合には、新規のシナリオIDがダウンロードされる。
制御部10は、取得部11にS704でダウンロード処理を開始させると、ARマーカーが検知されたか否かを認識部12に判定させる(S705)。認識部12によりARマーカーが検知されない場合(S705:NO)には、所定時間経過後に再度S705の処理が実行される。ARマーカーが検知された場合(S705:YES)には、制御部10は、入力部19から静止画モードへの切り替えのユーザ入力が伝達されたか否かを判定する(S706)。静止画モードへの切り替え入力が行なわれていない場合(S706:NO)には、所定時間経過後に再度S705の処理が実行される。
静止画モードへの入力が検知される(S706:YES)と、表示制御部103は、表示部17の画面表示を静止画モードに切り替え、制御部10は、認識部12に、表示部17に表示される静止画についてマーカー認識処理を実行させる(S707)。S707のマーカー認識処理は、S108と同様の処理である。認識部12によるマーカー認識処理が行なわれると、制御部10は、認識されたARマーカーを基準としたARコンテンツの編集を行なう(S708)。
ARコンテンツの編集は、ARテンプレートの選択およびARテンプレートの配置により行なわれる。ARテンプレートの選択は、表示部17に表示される編集パレットからARテンプレートが選択されることで行なわれる。ARテンプレートの配置は、選択されたARテンプレートの表示位置・サイズ・向きの指定や、テキストの入力により行なわれる。ARテンプレートの選択およびARテンプレートの編集は、編集モードの表示画面への入力に応じて行なわれる。
図41は、編集モードでの表示画面例を示す。表示画面S(14)には、撮像部16により撮像された撮像画像と、さらに、メニュー群B11〜B14およびB17〜B19が表示される。メニュー群B11〜B14は、編集終了ボタンB11、編集パレットボタンB12、取消ボタンB13および再実行ボタンB14を含む。画面S(14)の撮像画像には、マーカーMおよび物体Hの像が含まれる。また、画面S(14)には、さらに、ARオブジェクトCの投影画像が表示される。メニュー群B17〜B19は、拡縮移動モードボタンB17、回転モードボタンB18および数値指定モードボタンB19を含む。
編集終了ボタンB11は、ARオブジェクトCの編集を確定させる操作指示の入力位置を示す表示要素である。パレット編集ボタンB12は、ARテンプレートを選択可能な編集パレットを呼び出す操作指示の入力位置を示す表示要素である。取消ボタンB13は、直前の操作の前の状態に戻す操作指示の入力位置を示す表示要素である。再実行ボタンB14は、取消ボタンB13への操作が行なわれた場合に表示され、取り戻された操作を再度実行させる操作指示の入力位置を示す表示要素である。
拡縮移動モードボタンB17は、操作モードを指定する操作指示の入力位置を示す表示要素であり、拡縮移動モードボタンB17の表示位置への入力が行なわれると、拡縮移動モードに操作モードが切り換えられる。回転モードボタンB18は、操作モードを指定する操作指示の入力位置を示す表示要素であり、回転モードボタンB18の表示位置への入力が行なわれると、回転モードに操作モードが切り換えられる。数値指定モードボタンB19は、操作モードを指定する操作指示の入力位置を示す表示要素であり、数値指定モードボタンB19の表示位置への入力が行なわれると、数値指定モードに操作モードが切り換えられる。
拡縮移動モードでは、入力操作に応じてARコンテンツCの位置座標および倍率が調整される。例えば、ARコンテンツCの配置開始時の操作モードに、拡縮移動モードが自動設定される。例えば、タップやダブルタップの操作が行なわれた画面内に位置に応じて位置座標が指定され、ドラッグ操作によりARコンテンツCの位置が調整される。また、ピンチアウトやピンチインの操作に応じてARコンテンツCの倍率が調整される。回転モードでは、入力操作に応じてARコンテンツCの回転座標が調整される。例えば、フリック操作などに応じて回転座標が調整される。数値指定モードでは、数値入力画面が表示される。例えば、数値入力画面に対して入力された数値で、ARコンテンツCの基準点の位置、回転座標および倍率が設定される。
例えば、S708のARコンテンツの編集においては、位置指定が行なわれるたびに、指定された位置に配置されたARコンテンツの投影画像の表示が行なわれる。
画面S(14)に対するユーザの入力により位置指定が行なわれると、指定された画面内の位置座標に対して、上述の透視変換の逆変換が行なわれる。透視変換の逆変換が行なわれたカメラ座標系の位置座標に対して、さらに、認識されたARマーカーに基づくモデル−ビュー変換の逆変換が行なわれることにより、マーカー座標系での位置座標が得られる。
マーカー座標系での位置座標が得られると、図18のS110およびS111の処理により、指定された位置に配置されたARコンテンツが表示される。例えば、編集終了ボタンB11への入力が行なわれる前に、位置の指定が行なわれたら、再度位置座標の逆変換と、投影画像の生成および表示の処理が行なわれる。
図42は、編集パレットの例を示す。図39に示すS708のARテンプレートの選択において、編集パレットが表示される。図42に例示される表示画面S(15)は、編集パレットが呼び出された状態の表示画面である。図42に例示される編集パレットには、ARテンプレートのタイプを選択可能なボタン群(ボタン1〜ボタン9)が表示される。ARテンプレートメニューの説明において、ボタン領域内に示される番号に基づいてボタンを識別して説明する。例えば、「1」という番号が示される四角いボタンが「ボタン1」である。また、編集パレットは、例えば、図42に示されるボタン群以外にも選択可能なボタン群を含み、それらのボタン群を表示させるためのスクロール操作をさせるためのスクロールボタンB21を含む。また、編集パレットは、ARテンプレートの選択を終了させるクローズボタンB22を含む。
ボタン1〜ボタン9は、それぞれ個別のテンプレートIDに対応する。いずれかのボタンに対して入力が行なわれると、そのボタンに対応するテンプレートIDが選択され、選択されたテンプレートIDのARテンプレートが呼び出される。
ボタン1には、吹き出しタイプのARテンプレートが対応付けられている。吹き出しタイプのARテンプレートでは、吹き出し形状の図形内にテキスト情報が追加される。ボタン2は、引き出しボックスタイプのARテンプレートが対応付けられている。引き出しボックスタイプのARテンプレートでは、引き出し線と、引き出し線の先に接合する四角形の図形とを含み、四角形の図形内にテキスト情報が追加される。ボタン3は、テキストボックスタイプのARテンプレートが対応付けられている。テキストボックスタイプのARテンプレートでは、四角形の枠状の図形に対してテキスト情報が追加される。ボタン4は、写真タイプのARテンプレートが対応付けられている。写真タイプのARテンプレートでは、四角形の枠状の図形内に画像データがマッピングされる。この画像データは、記憶部15に記憶された画像ファイルが用いられる。ボタン5は、撮像タイプのARテンプレートが対応付けられている。撮像タイプのARテンプレートも写真タイプのARテンプレートと同様のARテンプレートであるが、画像データの取得先が異なる。撮像タイプのARテンプレートが使用されると、撮像モードが呼び出され、撮像部16による撮像処理が行なわれる。撮像タイプのARテンプレートを使用すると、四角形の枠状の図形内に、撮像処理により撮像された画像データがマッピングされる。写真タイプや撮像タイプでマッピングされる画像データは、静止画でも動画でもよい。ボタン6は、手書きタイプのARテンプレートである。手書きタイプのARテンプレートは、四角形で透明な図形オブジェクトであり、図形の模様が手書き操作により編集される。ボタン7は、リンクタイプのARテンプレートであり、テキストボックスタイプのARテンプレートと同様のテンプレートである。リンクタイプのARテンプレートが選択されると、Webページのリストが表示され、リスト内から選択されたWebページへのアクセス情報がARテンプレートに付加される。Webページのリストは、例えば、Webブラウザのブックマークやアクセス履歴から取得される。ボタン8は、図形タイプのARテンプレートと対応付けられている。図形タイプのARテンプレートは、3次元の立体モデル図形が定義されている。例えば、ボタン8への入力に応じて、立体モデル図形の形状を選択させる画面表示を行なうこととしてもよい。立体モデル図形の形状は、例えば、立方体、直方体、円柱、球、円錐および三角柱などである。また、ボタン8への入力に応じて、CADデータの呼び出しを行なうこととしてもよい。CADデータは、例えば、記憶部15に格納されたCADデータのファイルが選択される。ボタン9は、ファイルタイプのARテンプレートと対応づけられている。ファイルタイプのARテンプレートは、ファイルを示すアイコン画像がマッピングされた四角形の図形である。ファイルタイプのARテンプレートが選択されると、記憶部15内のファイルを選択させ、選択されたファイルへのリンクをARテンプレートに付加させる。
S708により編集パレットから順次ARテンプレートが選択され、順次画面内の位置が指定されることにより、複数のARコンテンツの編集が行なわれる。画面内の位置が指定されると、演算部13は、画面内の指定位置(スクリーン座標系)に対して、透視変換の逆変換およびモデル−ビュー変換の逆変換を行ない、マーカー座標系の位置座標を算出する。算出された位置座標が、ARコンテンツの基準点として設定される。S708のARコンテンツ編集の処理により、ARコンテンツが追加される。編集終了ボタンB11への入力が行なわれると、S708の処理が終了する。
S708が終了すると、表示制御部103は静止画モードを解除し、制御部10はARコンテンツの配置を終了するか否か判断する(S709)。S709は、例えば、編集終了ボタンB11への入力が再度行なわれたか否かに応じて判断される。配置終了でない場合(S709:NO)には、再度S705のマーカー検知処理が実行される。これにより、複数のマーカーについてのARコンテンツ編集が可能となる。
S709で配置終了である場合(S709:YES)には、制御部10は、シナリオに含まれるステップの設定処理を行なう。例えば、図12のように、シナリオに含まれる各ステップの情報を表示し、ユーザの入力に応じてステップの挿入・追加・削除などが行なわれる。新規シナリオ作成の場合には、始めにステップの情報が表示されないので、ユーザによるステップ追加の入力に応じてステップの情報の表示が行なわれる。
ステップの設定が行なわれると、表示制御部103は、ステップ選択画面を表示部17に表示させる(S710)。ステップ選択画面には、S709で設定されたステップ群と、モード選択画面S(5)への遷移を示すボタンと、シナリオ選択画面S(7)への遷移を示すボタンとが示される。ステップ選択画面が表示された状態で、制御部10は、入力部19から伝達されるユーザの入力が、ステップの選択、モード選択画面S(5)への遷移を示すボタン、シナリオ選択画面S(7)への遷移を示すボタンのいずれであるかを判定する(S711)。
モード選択画面S(5)への遷移を示すボタンへの入力が行なわれる(S711:「他のモード」)と、表示制御部103は、モード選択画面S(5)を表示するS101の処理を行なう。シナリオ選択画面S(7)への遷移を示すボタンへの入力が行なわれる(S711:「他のモード」)と、表示制御部103は、シナリオ選択画面S(7)を表示するS702の処理を行なう。
ステップ選択画面でステップが指定される(S711:「ステップ」)と、マーカー検知処理が行なわれる(S712)。S712のマーカー検知処理は、S705の処理と同様の処理である。S712で認識部12によりARマーカーが検知されない場合(S712:NO)には、所定時間経過後に再度S712の処理が実行される。S712で認識部12によりARマーカーが検知された場合(S712:YES)には、制御部10は、認識部12にマーカー認識処理を実行させる(S713)。S713のマーカー認識処理は、S707の処理と同様の処理である。
制御部10は、S713のマーカー認識処理の結果に基づいて、投影画像の生成処理を実行する(S714)。S714の投影画像の生成処理は、S110の処理と同様の処理である。表示制御部103は、S714で生成された投影画像を表示部17に表示させる(S715)。
さらに、S714の処理により投影画像が画面に表示された状態で、制御部10は、画面に対する入力により投影画像が選択されたか否かを判定する(S716)。投影画像が選択される(S716:YES)と、設定管理部104は、S716で選択された投影画像に対応するARコンテンツを、S711で選択されたステップと関連付けて登録する(S717)。
S717が実行されるか、S716で投影画像が選択されない場合(S716:NO)には、S710の処理が再度行なわれる。
さらに、S711におけるステップの選択およびS715における投影画像の選択の方式について説明する。
図43は、ステップ選択の例を示す。例えば、S711において、表示制御部103は、画面S(16)を表示させ、ステップを選択させる。画面S(16)には、各ステップに関する情報が列挙される。ステップ2が選択されると、表示制御部103は、例えば、S715において画面S(17)を表示させる。画面S(17)には、認識されたARマーカーM1の像と、S708で配置されたARコンテンツの投影画像C41およびC42と、画面S(16)で選択されたステップ番号I5と、が表示される。画面S(17)内の投影画像が選択されると、選択された投影画像に対応するARコンテンツがステップ番号2と関連付けられる。
図44は、ステップ選択の例を示す。例えば、S710およびS711において、ステップ番号が自動選択される。すなわち、選択されるステップ番号は、1からステップ選択のたびに順次インクリメントされる。S716の投影画像の選択における画面S(18)は、自動選択されたステップ番号の表示I7が含まれる。また、画面S(18)には、認識されたARマーカーM1の像と、S708で配置されたARコンテンツの投影画像C41およびC42とが示される。例えば投影画像C42が選択されると、選択された投影画像C42に対応するARコンテンツがステップ番号3と関連付けられる。
再度ステップ番号が自動選択された後のS716の投影画像の選択における画面S(19)は、自動選択されたステップ番号の表示I9が含まれる。表示I9に示されるステップ番号は、表示I7に示されるステップ番号がインクリメントされた番号である。また、画面S(19)には、認識されたARマーカーM1の像と、S708で配置されたARコンテンツの投影画像C41とが示される。ARコンテンツの投影画像C42は、先にステップ番号3を関連付けられているので、画面S(19)に表示されなくてもよい。
図45は、ステップ選択の例を示す。例えば、投影画像の表示と、タイムラインの表示との双方が含まれる画面S(20)が用いられてもよい。画面S(20)には、認識されたARマーカーM1の像と、S708で配置されたARコンテンツの投影画像C41、C42およびC43と、各ステップに対応するタイムゾーンI10〜I13と表示される。タイムゾーンI10〜I13は、ステップ番号1に対応するタイムゾーンI10、ステップ番号2に対応するタイムゾーンI11、ステップ番号3に対応するタイムゾーンI12およびステップ番号4に対応するタイムゾーンI13である。
例えば、投影画像をタイムゾーンにドラッグ・アンド・ドロップした場合に、投影画像に対応するARコンテンツを、タイムゾーンに対応するステップ番号と関連付けるなどの制御が行なわれる。画面S(20)の例では、投影画像C41がタイムゾーンI11にドラッグ・アンド・ドロップされ、投影画像C42がタイムゾーンI13にドラッグ・アンド・ドロップされ、投影画像C43がタイムゾーンI10にドラッグ・アンド・ドロップされている。
例えば、ドラッグ・アンド・ドロップされると、タイムゾーンに投影画像が表示されることとしてもよい。タイムゾーンに表示される投影画像は、表示態様が変更されてもよい。例えば、投影画像C41は、タイムゾーンI11において画像C41aと表示態様を変えられて表示されている。投影画像C42は、タイムゾーンI13において画像C42aと表示態様を変えられて表示されている。投影画像C43は、タイムゾーンI10において画像C43aと表示態様を変えられて表示されている。
図46は、ステップ選択の例を示す。例えば、投影画像の表示と、タイムラインの表示との双方が含まれる画面S(21)が用いられてもよい。画面S(21)には、認識されたARマーカーM1の像と、S708で配置されたARコンテンツの投影画像C41、C42およびC43と、各ステップに対応するタイムゾーンI10〜I13と表示される。タイムゾーンI10〜I13は、ステップ番号1に対応するタイムゾーンI10、ステップ番号2に対応するタイムゾーンI11、ステップ番号3に対応するタイムゾーンI12およびステップ番号4に対応するタイムゾーンI13である。
さらに、S708で配置された順序に応じたタイムゾーンにARコンテンツの投影画像が表示される。画面S(21)の例は、S708において、ARコンテンツの投影画像C43、C41、C42の順序で配置された場合を例示している。この場合に、S708の配置順序において1番始めに配置された投影画像C43に対応する投影画像C43bがタイムゾーンI10に表示される。また、次に配置された投影画像C41に対応する投影画像C41aがタイムゾーンI11に配置される。さらに、その次に配置された投影画像C42に対応する投影画像C42aがタイムゾーンI12に配置される。画面S(12)に初期配置された投影画像C41a、42a、43aは、例えば、ユーザの入力によるドラッグ・アンド・ドロップ操作により、他のタイムゾーンに移動される。画面S(21)に示す例は、タイムゾーンI10に初期配置された投影画像C43bが、タイムゾーンI13に移動された様を示している。
[AR定義データのデータ構造]
図10および図13にツリー形式のデータ構造が例示される。図10および図13に示す通り、特定のシナリオに関するARコンテンツは、特定のシナリオのシナリオ定義配下のデータを参照することにより抽出可能である。図13に示す通り、特定のステップに関するARコンテンツは、特定のステップのステップ定義配下のデータを参照することにより抽出可能である。
図10や図13に示すツリー構造でなくても、特定のシナリオや特定のステップに関するARコンテンツを抽出可能な他のデータ構造が用いられてもよい。
図47は、AR定義データの例を示す。図47に例示されるAR定義データN0のデータ構造では、各ARコンテンツのコンテンツIDに対して、作業状況を示す属性情報(シナリオID、ステップ番号およびマーカーID)と、コンテンツ定義とが対応付けられている。コンテンツ定義は各ARコンテンツのコンテンツ定義であり、図25に示すデータ構造と同様の構造のデータである。コンテンツID:004や005のARコンテンツには複数の属性情報が対応付けられている。
図47に例示されるAR定義データN0に含まれる各ARコンテンツは、ユーザの状態情報D0および認識マーカー情報D1と合致する属性情報が付与されている場合に、抽出され、表示される。複数の属性情報が対応付けられているARコンテンツは、複数の属性情報のうち、いずれかが満たされた場合に抽出される。また、シナリオIDおよびマーカーIDが合致して、ステップ番号が合致しないARコンテンツについては、非表示または表示態様が変更された表示が行なわれる。
[本実施形態の実現手段]
図48は、コンピュータ1のハードウェア構成例を示す。図16に示す各機能ブロックは、例えば、図48に示すハードウェア構成により実現される。コンピュータ1は、例えば、プロセッサ301、RAM(Random Access Memory)302、ROM(Read Only Memory)303、ドライブ装置304、記憶媒体305、入力インターフェース(入力I/F)306、入力デバイス307、出力インターフェース(出力I/F)308、出力デバイス309、通信インターフェース(通信I/F)310、カメラモジュール311、加速度センサ312、角速度センサ313、表示インターフェース314、表示デバイス315およびバス316などを含む。それぞれのハードウェアはバス316を介して接続されている。
通信インターフェース310はネットワーク3を介した通信の制御を行なう。通信インターフェース310が制御する通信は、無線通信を利用して、無線基地局4(図50参照)を介してネットワーク3にアクセスする態様でもよいし、有線でネットワーク3にアクセスする態様でもよい。入力インターフェース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 Random Access Memory)やDRAM(Dynamic Random Access Memory)などの半導体メモリ、またはRAM以外にもフラッシュメモリなどが用いられてもよい。ROM303は、PROM(Programmable Read Only Memory)なども含む。ドライブ装置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に記憶されたプログラム(例えば図49などに例示するプログラム)をRAM302に読み出し、読み出されたプログラムの手順に従って処理を行なう。
例えば、制御部10の機能は、プロセッサ301が、図49に示されるプログラムの一部であるAR制御プログラム(表示制御プログラムおよび情報生成プログラム)に基づいて、他のハードウェアの制御を行なうことにより実現される。取得部11の機能は、プロセッサ301が、通信インターフェース310を制御してデータ通信を実行させ、受信したデータを記憶媒体305に格納させることにより実現される。認識部12の機能は、カメラモジュール311の入力画像用の画像バッファに格納された画像データに基づいて、プロセッサ301が演算処理を行なうことにより実現される。演算部13の機能は、RAM302に格納された座標などのデータと変換行列などのデータに基づいて、プロセッサ301が演算を行なうことにより実現される。生成部14の機能は、プロセッサ301が記憶媒体305に格納されたデータ(画像データを含む)を用いて生成した画像データを表示用バッファに書き込むことにより実現される。
記憶部15の機能は、ROM303および記憶媒体305がプログラムファイルやデータファイルを記憶すること、また、RAM302がプロセッサ301のワークエリアとして用いられることによって実現される。例えば、AR定義データなどがRAM302に格納される。撮像部16の機能は、カメラモジュール311が入力画像用の画像バッファに画像データを書込み、入力画像用の画像バッファ内の画像データをプロセッサ301が読み出すことにより実現される。画像データは、モニタリングモードにおいては、例えば、入力画像用の画像バッファに書き込まれるとともに、表示デバイス315の表示用バッファに並行して書き込まれる。また、表示部17の機能は、プロセッサ301により生成された画像データが表示インターフェース314に備えられた表示用バッファに書き込まれ、表示デバイス315が表示用バッファ内の画像データの表示を行なうことにより実現される。通信部18の機能は、プロセッサ301が、通信インターフェース310の制御を行なうことにより実現される。入力部19の機能は、入力インターフェース306が入力デバイス307からの入力信号をプロセッサ301に伝達することにより実現される。
選択制御部101、イベント検知部102、表示制御部103および設定管理部104の機能は、AR制御プログラムに基づき、プロセッサ301がRAM302などのハードウェアを制御することにより実現される。この機能は、プロセッサ301がRAM302などのハードウェアを制御することにより実現される。
図49は、コンピュータ1で動作するプログラムの構成例を示す。コンピュータ1において、ハードウェア群501(図48に示されるハードウェア)の制御を行なうOS(オペレーティング・システム)502が動作する。OS502に従った手順でプロセッサ301が動作して、ハードウェア501の制御・管理が行なわれることで、アプリケーションプログラム504やミドルウェア503による処理がハードウェア501上で実行される。コンピュータ1において、OS502、ミドルウェア503及びアプリケーションプログラム504などのプログラムは、例えば、RAM302に読み出されてプロセッサ301により実行される。また、AR制御プログラムは、例えば、ミドルウェア503としてアプリケーションプログラム504から呼び出されるプログラムである。または、例えば、AR制御プログラムは、アプリケーションプログラム504としてAR機能を実現させるプログラムである。AR制御プログラムは、記憶媒体305に記憶される。記憶媒体305は、AR制御プログラムを記憶した状態でコンピュータ1本体と切り離して流通され得る。
図50は、コンピュータ1を含むシステムの例を示す。図50に示すシステムは、コンピュータ1、コンピュータ2、ネットワーク3及び無線基地局4を含む。コンピュータ1とコンピュータ2とは、有線または無線のいずれか少なくとも一方の通信方法により通信可能である。
図51は、コンピュータ2の機能構成例を示す。コンピュータ2は、制御部21、記憶部22および通信部23を含む。制御部21は、記憶部22および通信部23の制御を行なう。通信部23は、コンピュータ1の通信部18との通信を行なう。記憶部22は、AR定義データと、コンテンツデータとを記憶する。制御部21は、提供制御部211を含む。提供制御部211は、コンピュータ1から通信部23を介してシナリオリストを要求されると、AR定義データに基づいてシナリオリストを生成し、通信部23にシナリオリストを返送させる。提供制御部211は、コンピュータ1からシナリオIDを受信した場合には、通信部23に、受信したシナリオIDのシナリオ定義配下のAR定義データおよびシナリオで用いられるコンテンツデータをコンピュータ1に送信させる。
図52は、ARコンテンツ提供の処理手順例を示す。コンピュータ2でARコンテンツの提供が開始されると、提供制御部211は、コンピュータ1から取得要求を受信したか否かを判定する(S801)。取得要求を受信していない場合(S801:NO)には、提供制御部211は、所定時間経過してから再度S801の処理を行なう。取得要求をコンピュータ1から受信した場合(S801:YES)には、提供制御部211は、コンピュータ1からの取得要求がシナリオリストの要求であるか否か判定する(S802)。コンピュータ1からシナリオリストが要求されている場合(S802:YES)には、提供制御部211は、記憶部22に記憶されたAR定義データのルート定義Nに基づいてシナリオリストを生成し、通信部23にシナリオリストを送信させる(S803)。シナリオリストが送信されると、提供制御部211は、再度S801の処理を行なう。
シナリオリストの要求でない場合(S802:NO)には、提供制御部211は、特定のシナリオに関するARコンテンツの要求であると判断し、取得要求において指定されたシナリオIDに応じてAR定義データを記憶部22から読みだす(S804)。S804で読み出されるAR定義データは、指定されたシナリオIDのシナリオ定義の配下のAR定義データ(ステップ定義、マーカー定義およびコンテンツ定義など)である。また、S804において特定のシナリオが選択されない場合には、提供制御部211は、新規のシナリオ生成であると判断し、シナリオリストに示されるいずれのシナリオIDとも競合しないシナリオIDを生成し、要求元に送信する。提供制御部211は、S804で読みだしたAR定義データを、取得要求の要求元に送信する(S805)。
次に、提供制御部211は、通信部23に、各ステップにおいて表示されるARコンテンツの送信を実行させる(S807)。例えば、提供制御部211は、S807において、各コンテンツデータを送信するたびに、通信部23に、コンテンツIDとコンテンツデータの送信が終了した旨を示す情報とを併せて送信させる。提供制御部211は、指定されたシナリオに含まれるステップごとに繰り返し処理を行なう(S806およびS808)。
各ステップにおけるコンテンツデータが送信されると、制御部21は、ARコンテンツ提供の終了指示が行なわれたか否かを判定する(S809)。終了指示が行なわれていなければ(S809:NO)、提供制御部211は再度S801の処理を行なう。また、終了指示が行なわれていれば(S809:YES)、制御部21は、ARコンテンツの提供を終了する。
図53は、コンピュータ2のハードウェア構成例を示す。図29に示す各機能ブロックは、例えば、図30に示すハードウェア構成により実現される。管理サーバ2は、例えば、プロセッサ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)は、管理サーバ2をSANに接続するためのインターフェースであり、HBA(Host Bus Adapter)を含む。
プロセッサ401は、ROM403や記憶媒体405に記憶された管理プログラムをRAM402に読み出し、読み出された管理プログラムの手順に従って処理部21の処理を行なう。その際にRAM402はプロセッサ401のワークエリアとして用いられる。記憶部22の機能は、ROM403および記憶媒体405がプログラムファイルやデータファイル(管理テーブルT3など)を記憶すること、もしくは、RAM402がプロセッサ401のワークエリアとして用いられることによって実現される。また、プロセッサ401が通信インターフェース410を制御して通信処理を行なうことにより、通信部23の機能が実現される。
[エンターテイメントコンテンツへの利用]
上記の実施形態では、一連のARコンテンツ(シナリオ)を提供するシチュエーションとして、業務プロセスが例示された。一連のARコンテンツが提供される他のシチュエーションにおいても、上述の実施形態に示すシナリオに応じたARコンテンツ提供が行なわれてよい。
例えば、ユーザアクションによりゲームイベントが進行するゲームコンテンツも、1種のシナリオを含んでいる。例えば、共通のARマーカーを介して異なるゲームコンテンツを並行で進行させる複数のユーザに対して、それぞれ個別にゲームコンテンツに含まれるARコンテンツを提供することが求められる。この仕組みは、例えば、このアトラクション施設において、複数のユーザが個別にプレイする体験型のゲームコンテンツなどに利用される。そのためには、各ゲームコンテンツにシナリオIDを割り当てて、上述の実施形態の仕組みが用いられれば、各ユーザに個別にARコンテンツが提供される。
上述の実施形態は本発明の一態様であり、本発明の本旨を逸脱しない範囲の設計変更が適宜行われうる。以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの第1の作業内容に関連付けられた1または複数の表示データを取得する取得部と、
取得した前記1または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部と、
を含むことを特徴とする表示制御装置。
(付記2)
前記複数の作業内容のうちの第2の作業内容に前記1または複数の表示データのいずれとも異なる他の表示データが関連付けられる、
ことを特徴とする付記1に記載の表示制御装置。
(付記3)
前記第1の作業内容は、入力に応じて前記複数の作業内容から選択され、
前記入力は、前記第1の作業内容を指定する情報または前記第1の作業内容に示される作業の実行主体を指定する情報である、
ことを特徴とする付記1または付記2に記載の表示制御装置。
(付記4)
前記制御部は、前記取得部が前記1または複数の表示データの取得を開始した後に前記基準物を認識した場合に、前記制御を行なう、
ことを特徴とする付記1〜3のいずれか1つに記載の表示制御装置。
(付記5)
前記1または複数の表示データは、前記表示データ群のうち、前記第1の作業内容および前記第1の作業内容に示される作業の実行主体の組み合わせに関連付けられた表示データである、
ことを特徴とする付記1〜4のいずれか1つに記載の表示制御装置。
(付記6)
前記1または複数の表示データは、第1の基準物に対応する第1の表示データと、第2の基準物に対応する第2の表示データとを含み、
前記制御部は、前記第1の基準物を認識した場合に、前記第1の表示データを前記第1の基準物に基づく表示態様で表示させ、前記第2の基準物を認識した場合に、前記第2の表示データを前記第2の基準物に基づく表示態様で表示させる制御を行なう、
ことを特徴とする付記1〜5のいずれか1つに記載の表示制御装置。
(付記7)
前記第1の作業内容は、順序性を有する複数の工程を含み、
前記第1の表示データに、前記複数の工程のうちの第1の工程が関連付けられており、
前記制御部は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第1の表示データを、前記第1の基準物に基づく表示態様で表示させる、
ことを特徴とする付記6に記載の表示制御装置。
(付記8)
前記1または複数の表示データは、第1の基準物に対応する第3の表示データをさらに含み、
前記第3の表示データに、前記複数の工程のうちの第2の工程が関連付けられており、
前記制御部は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第3の表示データの少なくとも一部の表示を抑止する、
ことを特徴とする付記7に記載の表示制御装置。
(付記9)
前記制御部は、前記1または複数の表示データに、前記第1の基準物を認識した工程と関連付けられた表示データが含まれない場合に、表示対象の表示データが存在しない旨を示す表示を行なう、
ことを特徴とする付記7または付記8に記載の表示制御装置。
(付記10)
前記制御部は、前記第1の作業内容における工程の進行または後退を、前記画像認識により認識された前記基準物に基づいて判断する、
ことを特徴とする付記7〜9のいずれか1つに記載の表示制御装置。
(付記11)
前記制御部は、前記基準物の認識または非認識の状態が切り替わる際の前記基準物の移動方向に応じて、前記工程の進行または後退を行なう、
ことを特徴とする付記10に記載の表示制御装置。
(付記12)
前記認識または非認識の状態は、前記基準物が前記画像認識の対象画像に対してフレームインまたはフレームアウトすることにより切り替えられる、
ことを特徴とする付記11に記載の表示制御装置。
(付記13)
前記制御部は、指標画像を表示させ、
前記制御部は、前記基準物が前記指標画像の表示位置に表示されると、前記工程の進行または後退を行なう、
ことを特徴とする付記10に記載の表示制御装置。
(付記14)
前記制御部は、前記基準物が所定の角度以上回転した状態で認識されると、前記工程の進行または後進を行なう、
ことを特徴とする付記10に記載の表示制御装置。
(付記15)
コンピュータに、
複数の作業内容のうちの第1の作業内容に関連付けられた1または複数の表示データを取得し、
取得した前記1または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
ことを実行させることを特徴とする表示制御方法。
(付記16)
コンピュータに、
複数の作業内容のうちの第1の作業内容に関連付けられた1または複数の表示データを取得し、
取得した前記1または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
処理を実行させることを特徴とする表示制御プログラム。
(付記17)
第1のコンピュータ及び第2のコンピュータを含む情報提供システムであって、
前記第1のコンピュータは、
複数の作業内容のうちの第1の作業内容に関連付けられた1または複数の表示データを前記第2のコンピュータに送信する送信部を含み、
前記第2のコンピュータは、
前記1または複数の表示データを受信する受信部と、
受信した前記1または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
ことを特徴とする情報提供システム。
(付記18)
前記第2のコンピュータは、
前記第1の作業内容を示す識別情報を選択させる選択部と、
画像認識により認識された基準物に対応付けて、第1の表示データの前記基準物を基準とする位置を示す位置情報を設定する設定部と、
前記基準物に対応付けて前記位置情報が設定された前記第1の表示データを、選択された前記識別情報に示される前記第1の作業内容と関連付けて送信する送信部と、をさらに含み、
前記1または複数の表示データは、前記第1の表示データを含む、
ことを特徴とする請求項17に記載の情報提供システム。
(付記19)
作業内容を示す識別情報を選択させる選択部と、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定する設定部と、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける管理部と、
を含むことを特徴とする情報設定装置。
(付記20)
コンピュータに、
作業内容を示す識別情報を選択させ、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定し、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける、
ことを実行させることを特徴とする情報設定方法。
(付記21)
コンピュータに、
作業内容を示す識別情報を選択させ、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定し、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける、
処理を実行させることを特徴とする情報設定プログラム。
(付記22)
プロセッサを含む表示制御装置であって、
前記プロセッサは、
複数の作業内容のうちの第1の作業内容に関連付けられた1または複数の表示データを取得し、
取得した前記1または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
ことを特徴とする表示制御装置。
1 コンピュータ
2 コンピュータ
3 ネットワーク
4 無線基地局
10 制御部
11 取得部
12 認識部
13 演算部
14 生成部
15 記憶部
16 撮像部
17 表示部
18 通信部
19 入力部
21 制御部
22 記憶部
23 通信部

Claims (14)

  1. 複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの順序性を有する複数の工程を含む第1の作業内容に関連付けられた複数の表示データを取得する取得部と、
    取得した前記複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部と、
    を含み、
    記複数の表示データは、少なくとも、前記複数の工程のうちの第1の工程と関連付けられた第1の基準物に対応する第1の表示データと、第2の基準物に対応する第2の表示データとを含み、
    前記制御部は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第1の表示データを前記第1の基準物に基づく表示態様で表示させ、前記第2の基準物を認識した場合に、前記第2の表示データを前記第2の基準物に基づく表示態様で表示させる、
    ことを特徴とする表示制御装置。
  2. 前記第1の作業内容は、入力に応じて前記複数の作業内容から選択され、
    前記入力は、前記第1の作業内容を指定する情報または前記第1の作業内容に示される作業の実行主体を指定する情報である、
    ことを特徴とする請求項1に記載の表示制御装置。
  3. 前記制御部は、前記取得部が前記複数の表示データの取得を開始した後に前記基準物を認識した場合に、前記制御を行なう、
    ことを特徴とする請求項1または請求項2に記載の表示制御装置。
  4. 記複数の表示データは、前記表示データ群のうち、前記第1の作業内容および前記第1の作業内容に示される作業の実行主体の組み合わせに関連付けられた表示データである、
    ことを特徴とする請求項1〜3のいずれか1項に記載の表示制御装置。
  5. 記複数の表示データは、前記第1の基準物に対応する第3の表示データをさらに含み、
    前記第3の表示データに、前記複数の工程のうちの第2の工程が関連付けられており、
    前記制御部は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第3の表示データの少なくとも一部の表示を抑止する、
    ことを特徴とする請求項1〜4のいずれか1項に記載の表示制御装置。
  6. 前記制御部は、前記複数の表示データに、前記第1の基準物を認識した工程と関連付けられた表示データが含まれない場合に、表示対象の表示データが存在しない旨を示す表示を行なう、
    ことを特徴とする請求項1〜5のいずれか1項に記載の表示制御装置。
  7. 前記制御部は、前記第1の作業内容における工程の進行または後退を、前記画像認識により認識された前記基準物に基づいて判断する、
    ことを特徴とする請求項1〜6のいずれか1項に記載の表示制御装置。
  8. 前記制御部は、前記基準物の認識または非認識の状態が切り替わる際の前記基準物の移動方向に応じて、前記工程の進行または後退を行なう、
    ことを特徴とする請求項7に記載の表示制御装置。
  9. 前記認識または非認識の状態は、前記基準物が前記画像認識の対象画像に対してフレームインまたはフレームアウトすることにより切り替えられる、
    ことを特徴とする請求項8に記載の表示制御装置。
  10. 前記制御部は、指標画像を表示させ、
    前記制御部は、前記基準物が前記指標画像の表示位置に表示されると、前記工程の進行または後退を行なう、
    ことを特徴とする請求項7に記載の表示制御装置。
  11. 前記制御部は、前記基準物が所定の角度以上回転した状態で認識されると、前記工程の進行または後進を行なう、
    ことを特徴とする請求項7に記載の表示制御装置。
  12. コンピュータが、
    複数の作業内容のうちの順序性を有する複数の工程を含む第1の作業内容に関連付けられた複数の表示データを取得し、
    取得した前記複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
    処理を実行し、
    記複数の表示データは、少なくとも、前記複数の工程のうちの第1の工程と関連付けられた第1の基準物に対応する第1の表示データと、第2の基準物に対応する第2の表示データとを含み、
    前記制御は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第1の表示データを前記第1の基準物に基づく表示態様で表示させ、前記第2の基準物を認識した場合に、前記第2の表示データを前記第2の基準物に基づく表示態様で表示させる、
    ことを特徴とする表示制御方法。
  13. コンピュータに、
    複数の作業内容のうちの順序性を有する複数の工程を含む第1の作業内容に関連付けられた複数の表示データを取得し、
    取得した前記複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
    処理を実行させ、
    記複数の表示データは、少なくとも、前記複数の工程のうちの第1の工程と関連付けられた第1の基準物に対応する第1の表示データと、第2の基準物に対応する第2の表示データとを含み、
    前記制御は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第1の表示データを前記第1の基準物に基づく表示態様で表示させ、前記第2の基準物を認識した場合に、前記第2の表示データを前記第2の基準物に基づく表示態様で表示させる、
    ことを特徴とする表示制御プログラム。
  14. 第1のコンピュータ及び第2のコンピュータを含む情報提供システムであって、
    前記第1のコンピュータは、複数の作業内容のうちの順序性を有する複数の工程を含む第1の作業内容に関連付けられた複数の表示データを前記第2のコンピュータに送信する送信部を含み、
    前記第2のコンピュータは、前記複数の表示データを受信する受信部と、受信した前記複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部とを含み、
    記複数の表示データは、少なくとも、前記複数の工程のうちの第1の工程と関連付けられた第1の基準物に対応する第1の表示データと、第2の基準物に対応する第2の表示データとを含み、
    前記制御部は、前記第1の基準物を認識した工程が前記第1の工程である場合に、前記第1の表示データを前記第1の基準物に基づく表示態様で表示させ、前記第2の基準物を認識した場合に、前記第2の表示データを前記第2の基準物に基づく表示態様で表示させる、
    ことを特徴とする情報提供システム。
JP2013089856A 2013-04-22 2013-04-22 表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム Expired - Fee Related JP6255706B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013089856A JP6255706B2 (ja) 2013-04-22 2013-04-22 表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム
US14/244,244 US10147398B2 (en) 2013-04-22 2014-04-03 Display control method and device
EP14163837.9A EP2796963A1 (en) 2013-04-22 2014-04-08 Display control method and device
CN201410162979.2A CN104111812B (zh) 2013-04-22 2014-04-22 显示控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013089856A JP6255706B2 (ja) 2013-04-22 2013-04-22 表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016243523A Division JP6350640B2 (ja) 2016-12-15 2016-12-15 表示制御装置、表示制御方法、表示制御プログラム

Publications (2)

Publication Number Publication Date
JP2014215646A JP2014215646A (ja) 2014-11-17
JP6255706B2 true JP6255706B2 (ja) 2018-01-10

Family

ID=50486776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013089856A Expired - Fee Related JP6255706B2 (ja) 2013-04-22 2013-04-22 表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム

Country Status (4)

Country Link
US (1) US10147398B2 (ja)
EP (1) EP2796963A1 (ja)
JP (1) JP6255706B2 (ja)
CN (1) CN104111812B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12434342B2 (en) 2020-07-28 2025-10-07 Shibaura Machine Co., Ltd. Processing machine, processing system, and method for manufacturing processed object

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6138566B2 (ja) * 2013-04-24 2017-05-31 川崎重工業株式会社 部品取付作業支援システムおよび部品取付方法
JP6155893B2 (ja) * 2013-06-20 2017-07-05 カシオ計算機株式会社 画像処理装置、及びプログラム
JP6318519B2 (ja) * 2013-09-26 2018-05-09 カシオ計算機株式会社 画像処理装置、プログラム及び制御方法
US20150286349A1 (en) * 2014-04-02 2015-10-08 Microsoft Corporation Transient user interface elements
JP6432182B2 (ja) * 2014-07-02 2018-12-05 富士通株式会社 サービス提供装置、方法、及びプログラム
US9811954B2 (en) * 2014-12-02 2017-11-07 Honeywell International, Inc. Near-to-eye display systems and methods for verifying aircraft components
JP6481354B2 (ja) * 2014-12-10 2019-03-13 セイコーエプソン株式会社 情報処理装置、装置を制御する方法、コンピュータープログラム
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
JP6572600B2 (ja) * 2015-04-09 2019-09-11 セイコーエプソン株式会社 情報処理装置、情報処理装置の制御方法、および、コンピュータープログラム
JP2017054185A (ja) 2015-09-07 2017-03-16 株式会社東芝 情報処理装置、情報処理方法及び情報処理プログラム
JP2017117115A (ja) * 2015-12-22 2017-06-29 富士通株式会社 コンテンツ制御プログラム、コンテンツ制御方法、コンテンツ制御装置、及びコンテンツ表示装置
JP6736898B2 (ja) * 2016-02-02 2020-08-05 富士通株式会社 設備点検支援プログラム、設備点検支援方法および情報処理装置
JP2018005091A (ja) * 2016-07-06 2018-01-11 富士通株式会社 表示制御プログラム、表示制御方法および表示制御装置
US20180268614A1 (en) * 2017-03-16 2018-09-20 General Electric Company Systems and methods for aligning pmi object on a model
US10489651B2 (en) * 2017-04-14 2019-11-26 Microsoft Technology Licensing, Llc Identifying a position of a marker in an environment
DE102017108622A1 (de) * 2017-04-23 2018-10-25 Goodly Innovations GmbH System zur unterstützung von teamarbeit mittels augmented reality
JP2018195254A (ja) * 2017-05-22 2018-12-06 富士通株式会社 表示制御プログラム、表示制御装置及び表示制御方法
JP2019016044A (ja) 2017-07-04 2019-01-31 富士通株式会社 表示制御プログラム、表示制御方法及び表示制御装置
JP6670918B2 (ja) * 2018-03-12 2020-03-25 東芝インフォメーションシステムズ株式会社 生成装置、生成方法及び生成プログラム
JP6387471B1 (ja) * 2018-03-12 2018-09-05 Scsk株式会社 表示プログラム、格納プログラム、表示システム、及び格納システム
KR102821604B1 (ko) 2018-10-30 2025-06-19 무진 아이엔씨 로봇 시스템을 동작하기 위한 방법, 로봇 시스템 및 컴퓨터로 실행 가능한 명령어를 저장한 비일시적 저장 매체
JP2020149138A (ja) * 2019-03-11 2020-09-17 株式会社Nttファシリティーズ 作業支援システム、作業支援方法、及びプログラム
US11295135B2 (en) * 2020-05-29 2022-04-05 Corning Research & Development Corporation Asset tracking of communication equipment via mixed reality based labeling
US11374808B2 (en) 2020-05-29 2022-06-28 Corning Research & Development Corporation Automated logging of patching operations via mixed reality based labeling
JP7491831B2 (ja) * 2020-12-23 2024-05-28 株式会社クボタ 挿入量判定用装置および方法
US12290944B2 (en) 2021-08-09 2025-05-06 Mujin, Inc. Robotic system with image-based sizing mechanism and methods for operating the same
JP7599447B2 (ja) * 2022-03-08 2024-12-13 株式会社日本総合研究所 情報制御装置、情報制御プログラム及び情報制御方法

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697761B2 (en) * 2000-09-19 2004-02-24 Olympus Optical Co., Ltd. Three-dimensional position/orientation sensing apparatus, information presenting system, and model error detecting system
US6765569B2 (en) * 2001-03-07 2004-07-20 University Of Southern California Augmented-reality tool employing scene-feature autocalibration during camera motion
JP2003281297A (ja) * 2002-03-22 2003-10-03 National Institute Of Advanced Industrial & Technology 情報提示装置および情報提示方法
US8064650B2 (en) * 2002-07-10 2011-11-22 Hewlett-Packard Development Company, L.P. File management of digital images using the names of people identified in the images
US7427996B2 (en) * 2002-10-16 2008-09-23 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US7876359B2 (en) * 2003-01-17 2011-01-25 Insitu, Inc. Cooperative nesting of mechanical and electronic stabilization for an airborne camera system
US9002497B2 (en) * 2003-07-03 2015-04-07 Kla-Tencor Technologies Corp. Methods and systems for inspection of wafers and reticles using designer intent data
US7277572B2 (en) 2003-10-10 2007-10-02 Macpearl Design Llc Three-dimensional interior design system
EP1762964A4 (en) 2004-06-04 2010-10-13 Mitsubishi Electric Corp CERTIFICATE OUTPUT SERVER AND CERTIFICATION SYSTEM FOR CERTIFICATION OF AN OPERATIONAL ENVIRONMENT
SE525826C2 (sv) * 2004-06-18 2005-05-10 Totalfoersvarets Forskningsins Interaktivt förfarande för att presentera information i en bild
US8004574B2 (en) * 2004-07-21 2011-08-23 Nokia Corporation Portable electronic devices with picture in picture capability
ATE428154T1 (de) 2005-05-03 2009-04-15 Seac02 S R L Augmented-reality-system mit identifizierung der realen markierung des objekts
JP4743522B2 (ja) 2006-03-15 2011-08-10 株式会社日立プラントテクノロジー 画像データ記録方法、画像データによる作業実績記録方法、画像データ記録装置、並びに画像データによる作業実績記録システム
KR100914515B1 (ko) 2006-06-23 2009-09-02 주식회사 칼라짚미디어 색상 기반 이미지 코드의 색상 판별 방법
US20080071559A1 (en) * 2006-09-19 2008-03-20 Juha Arrasvuori Augmented reality assisted shopping
FR2911707B1 (fr) 2007-01-22 2009-07-10 Total Immersion Sa Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video.
US20080266323A1 (en) 2007-04-25 2008-10-30 Board Of Trustees Of Michigan State University Augmented reality user interaction system
US8384769B1 (en) * 2007-05-23 2013-02-26 Kwangwoon University Research Institute For Industry Cooperation 3D image display method and system thereof
US20080310686A1 (en) 2007-06-15 2008-12-18 Martin Kretz Digital camera system and method of storing image data
JP4788732B2 (ja) * 2008-04-18 2011-10-05 コニカミノルタビジネステクノロジーズ株式会社 表示操作部を備えた装置
US8542906B1 (en) * 2008-05-21 2013-09-24 Sprint Communications Company L.P. Augmented reality image offset and overlay
EP2457627B1 (en) 2008-06-30 2014-06-25 Sony Computer Entertainment Inc. Portable type game device and method for controlling portable type game device
US20100048290A1 (en) 2008-08-19 2010-02-25 Sony Computer Entertainment Europe Ltd. Image combining method, system and apparatus
US8970690B2 (en) * 2009-02-13 2015-03-03 Metaio Gmbh Methods and systems for determining the pose of a camera with respect to at least one object of a real environment
JP5298984B2 (ja) * 2009-03-17 2013-09-25 株式会社リコー ヘルプ情報提供システム、サーバ装置、対象機器、携帯通信端末、ヘルプ情報提供方法、プログラム及び記録媒体
WO2011004534A1 (ja) * 2009-07-09 2011-01-13 株式会社 日立ハイテクノロジーズ 半導体欠陥分類方法,半導体欠陥分類装置,半導体欠陥分類プログラム
US8502835B1 (en) * 2009-09-02 2013-08-06 Groundspeak, Inc. System and method for simulating placement of a virtual object relative to real world objects
US8451266B2 (en) * 2009-12-07 2013-05-28 International Business Machines Corporation Interactive three-dimensional augmented realities from item markers for on-demand item visualization
US9164577B2 (en) 2009-12-22 2015-10-20 Ebay Inc. Augmented reality system, method, and apparatus for displaying an item image in a contextual environment
JP2013141049A (ja) 2010-03-24 2013-07-18 Hitachi Ltd 世界座標系データベースを利用したサーバ及び端末
US20110234631A1 (en) 2010-03-25 2011-09-29 Bizmodeline Co., Ltd. Augmented reality systems
US8982156B2 (en) 2010-06-10 2015-03-17 Sartorius Stedim Biotech Gmbh Assembling method, operating method, augmented reality system and computer program product
JP4914528B1 (ja) 2010-08-31 2012-04-11 新日鉄ソリューションズ株式会社 拡張現実提供システム、情報処理端末、情報処理装置、拡張現実提供方法、情報処理方法、及びプログラム
US9483677B2 (en) 2010-09-20 2016-11-01 Hid Global Corporation Machine-readable symbols
US8860760B2 (en) 2010-09-25 2014-10-14 Teledyne Scientific & Imaging, Llc Augmented reality (AR) system and method for tracking parts and visually cueing a user to identify and locate parts in a scene
US8854356B2 (en) * 2010-09-28 2014-10-07 Nintendo Co., Ltd. Storage medium having stored therein image processing program, image processing apparatus, image processing system, and image processing method
US10909564B2 (en) * 2010-11-17 2021-02-02 PicScore, Inc. Fast and versatile graphical scoring device and method
JP5859843B2 (ja) 2010-12-24 2016-02-16 新日鉄住金ソリューションズ株式会社 情報処理装置、情報処理方法、及びプログラム
KR20120073726A (ko) * 2010-12-27 2012-07-05 주식회사 팬택 증강 현실 정보 제공을 위한 인증 장치 및 방법
JP5799521B2 (ja) 2011-02-15 2015-10-28 ソニー株式会社 情報処理装置、オーサリング方法及びプログラム
US10133950B2 (en) * 2011-03-04 2018-11-20 Qualcomm Incorporated Dynamic template tracking
JP5752959B2 (ja) 2011-03-10 2015-07-22 株式会社三共 遊技機関連情報配信システム、遊技機関連情報配信装置および携帯端末用アプリケーションプログラム
US20120249588A1 (en) 2011-03-22 2012-10-04 Panduit Corp. Augmented Reality Data Center Visualization
JP2012215989A (ja) 2011-03-31 2012-11-08 Toppan Printing Co Ltd 拡張現実表示方法
US10242456B2 (en) 2011-06-23 2019-03-26 Limitless Computing, Inc. Digitally encoded marker-based augmented reality (AR)
US8872852B2 (en) 2011-06-30 2014-10-28 International Business Machines Corporation Positional context determination with multi marker confidence ranking
KR101832959B1 (ko) * 2011-08-10 2018-02-28 엘지전자 주식회사 휴대 전자기기 및 이의 제어방법
US9153195B2 (en) * 2011-08-17 2015-10-06 Microsoft Technology Licensing, Llc Providing contextual personal information by a mixed reality device
US8749396B2 (en) 2011-08-25 2014-06-10 Satorius Stedim Biotech Gmbh Assembling method, monitoring method, communication method, augmented reality system and computer program product
JP5821526B2 (ja) 2011-10-27 2015-11-24 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP5783885B2 (ja) 2011-11-11 2015-09-24 株式会社東芝 情報提示装置、その方法及びそのプログラム
JP6226510B2 (ja) * 2012-01-27 2017-11-08 キヤノン株式会社 画像処理システム、処理方法及びプログラム
JP2013165366A (ja) * 2012-02-10 2013-08-22 Sony Corp 画像処理装置、画像処理方法及びプログラム
JP6045796B2 (ja) * 2012-02-27 2016-12-14 京セラ株式会社 映像処理装置、映像処理方法、および映像表示システム
US9087178B2 (en) * 2012-04-25 2015-07-21 Convivial Corporation System and method for posting content to network sites
US20140002443A1 (en) 2012-06-29 2014-01-02 Blackboard Inc. Augmented reality interface
US9448758B2 (en) 2012-07-18 2016-09-20 The Boeing Company Projecting airplane location specific maintenance history using optical reference points
TWI475474B (zh) * 2012-07-30 2015-03-01 Mitac Int Corp Gesture combined with the implementation of the icon control method
US20140123507A1 (en) 2012-11-02 2014-05-08 Qualcomm Incorporated Reference coordinate system determination
US8887991B2 (en) 2012-12-27 2014-11-18 Ciena Corporation Method and apparatus for configuring and validating telecom and datacom systems
US9336629B2 (en) 2013-01-30 2016-05-10 F3 & Associates, Inc. Coordinate geometry augmented reality process
US9269011B1 (en) * 2013-02-11 2016-02-23 Amazon Technologies, Inc. Graphical refinement for points of interest
US9946963B2 (en) * 2013-03-01 2018-04-17 Layar B.V. Barcode visualization in augmented reality
US9418378B2 (en) * 2013-03-15 2016-08-16 Gilt Groupe, Inc. Method and system for trying out a product in relation to a real world environment
US9898844B2 (en) 2013-12-31 2018-02-20 Daqri, Llc Augmented reality content adapted to changes in real world space geometry
JP6217437B2 (ja) * 2014-02-14 2017-10-25 富士通株式会社 端末装置、情報処理装置、表示制御方法、及び表示制御プログラム
WO2015148733A2 (en) * 2014-03-25 2015-10-01 ScStan, LLC Systems and methods for the real-time modification of videos and images within a social network format

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12434342B2 (en) 2020-07-28 2025-10-07 Shibaura Machine Co., Ltd. Processing machine, processing system, and method for manufacturing processed object

Also Published As

Publication number Publication date
US20140313223A1 (en) 2014-10-23
CN104111812A (zh) 2014-10-22
US10147398B2 (en) 2018-12-04
JP2014215646A (ja) 2014-11-17
CN104111812B (zh) 2017-11-24
EP2796963A1 (en) 2014-10-29

Similar Documents

Publication Publication Date Title
JP6255706B2 (ja) 表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム
JP5991423B2 (ja) 表示装置、表示方法、表示プログラムおよび位置設定システム
CN104463975B (zh) 设置方法以及信息处理装置
CN104346834B (zh) 信息处理设备和位置指定方法
JP6265027B2 (ja) 表示装置、位置特定プログラム、および位置特定方法
CN102695032A (zh) 信息处理装置、信息共享方法、程序以及终端设备
JP5214933B2 (ja) 地図表示システム
CN108604256A (zh) 零件信息检索装置、零件信息检索方法以及程序
JP6350640B2 (ja) 表示制御装置、表示制御方法、表示制御プログラム
US20230419628A1 (en) Reset modeling based on reset and object properties
TWI503800B (zh) 建築模型影像顯示系統及其方法
JP6152888B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
JP7192953B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN117632951A (zh) 算法流程编排方法、装置、计算机设备及存储介质
CN117631821A (zh) 用于扩展现实应用程序的物理环境的数字孪生
KR102805512B1 (ko) 특정 위치와 연관된 2차원 이미지가 3차원 디지털 트윈 콘텐츠의 대응하는 위치에 배치되는 3차원 디지털 트윈 콘텐츠를 제공하는 방법 및 장치
JP2013134673A (ja) 棚割シミュレーションシステム、棚割シミュレーション方法及び棚割シミュレーションプログラム
US10380806B2 (en) Systems and methods for receiving and detecting dimensional aspects of a malleable target object
KR102804166B1 (ko) 계층적으로 구조화된 단위 공간들과 연관하여 정보 콘텐츠 항목을 제공하는 3차원 디지털 트윈 콘텐츠를 제공하는 방법 및 장치
KR102816246B1 (ko) 실사 지도를 이용한 부동산 정보 표시 방법 및 장치
WO2023224033A1 (ja) 情報処理方法、情報処理装置、及び情報処理プログラム
JP2019008516A (ja) 情報処理装置、情報処理方法およびプログラム
JP2018195212A (ja) Cadシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160113

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170718

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171120

R150 Certificate of patent or registration of utility model

Ref document number: 6255706

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees