JP6299234B2 - 表示制御方法、情報処理装置、および表示制御プログラム - Google Patents

表示制御方法、情報処理装置、および表示制御プログラム Download PDF

Info

Publication number
JP6299234B2
JP6299234B2 JP2014010426A JP2014010426A JP6299234B2 JP 6299234 B2 JP6299234 B2 JP 6299234B2 JP 2014010426 A JP2014010426 A JP 2014010426A JP 2014010426 A JP2014010426 A JP 2014010426A JP 6299234 B2 JP6299234 B2 JP 6299234B2
Authority
JP
Japan
Prior art keywords
image data
displayed
display
content
marker
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
JP2014010426A
Other languages
English (en)
Other versions
JP2015138445A (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 JP2014010426A priority Critical patent/JP6299234B2/ja
Priority to US14/575,272 priority patent/US9792731B2/en
Priority to AU2014277858A priority patent/AU2014277858B2/en
Priority to EP14200058.7A priority patent/EP2899629A1/en
Priority to CN201510013200.5A priority patent/CN104808956B/zh
Publication of JP2015138445A publication Critical patent/JP2015138445A/ja
Application granted granted Critical
Publication of JP6299234B2 publication Critical patent/JP6299234B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2356/00Detection of the display position w.r.t. other display screens

Description

本発明は、画像データに、他の画像データを重畳して表示する技術に関する。
現実世界を撮像した画像をディスプレイに表示する際に、現実世界には存在しないコンテンツをディスプレイに表示された画像に重畳表示する事で、そのコンテンツが現実世界に存在するかのような合成画像を提供する拡張現実(Augmented Reality:AR)技術が知られている。以後、このコンテンツをARコンテンツと称する。合成画像を閲覧するユーザは、ARコンテンツとして表示された情報を取得することができ、直接的に現実世界を視認した場合と比べて、より多くの情報を把握することができる。なお、ARコンテンツは、形状や色などによってそれ自体で特徴的な意味を想起させる画像データであったり、テキストデータを含む画像データであったりする。
ARには、ロケーションベースARと呼ばれる技術や、ビジョンベースARと呼ばれる技術がある。前者は、カメラ付き端末の位置情報や、方位に関する情報を、GPSセンサ等から取得し、位置情報や方位に関する情報に応じて、重畳表示するARコンテンツの内容や、ARコンテンツの重畳表示位置を決定する。
後者は、カメラから取得した画像データに対して物体認識や空間認識を行う。そして、ビジョンベースARは、画像データが特定の物体を撮像した画像のデータであることを認識した場合には、当該特定の物体に対応するARコンテンツを、空間認識結果に応じて重畳表示する(例えば、特許文献1や特許文献2)。なお、マーカーを認識対象とする場合には、マーカー型ビジョンベースARと称され、マーカー以外の物体が認識対象である場合には、マーカーレス型ビジョンベースARと称されることもある。
また、ビジョンベースAR機能が搭載されたゲーム機において、当該ゲーム機が備える撮像装置がマーカーを撮像した場合に、メニュー選択用の選択オブジェクトがゲーム機のディスプレイに表示される技術も知られている(例えば、特許文献3)。さらに、ユーザがゲーム機を傾けることによって、撮像装置の撮像方向が選択オブジェクトのコリジョン領域と交差した場合に、ゲーム機は、当該選択オブジェクトが選択されたことを判定する。
特開2002−092647号公報 特開2004−048674号公報 特開2012−068984号公報
ビジョンベースAR技術が搭載されたコンピュータは、画像データに対して物体認識処理を実行する。そして、特定の物体が認識された場合には、コンピュータは、ARコンテンツを画像データに重畳表示するための表示制御処理を実行する。表示制御処理においては、コンピュータは、カメラから取得した画像データに対する物体認識および空間認識により、認識対象とカメラとの位置関係を推定する。ARコンテンツは、事前に認識対象を基準とした位置関係(配置位置や配置姿勢)が決定されているため、先に推定された認識対象とカメラとの位置関係を用いて、カメラとARコンテンツとの位置関係が決定される。
ここで、従来の技術では、特定の物体が映った画像を処理対象として表示制御処理を実行した場合に、当該特定の物体に対応して本来重畳表示されるべきARコンテンツが、ディスプレイに表示されない場合があった。例えば、作業内容を示すARコンテンツをAR表示することで、作業支援を行うシステムがある。このシステムを利用する作業者は、ディスプレイに表示された合成画像中に、作業内容を指示するARコンテンツを認識し、指示された作業内容を実施する。しかし、ディスプレイに表示された合成画像中にARコンテンツが表示されていなければ、当然、作業者はARコンテンツの情報を取得できない。つまり、作業者は、ARコンテンツにより指示される作業を実施しなければならないことに気が付くことができない。
そこで、本発明は、AR技術において、ARコンテンツが、実際にディスプレイに表示される画像に表示されるか否かを判定し、ディスプレイに表示されないARコンテンツの存在を報知することを目的とする。
上記課題を解決する為に、ひとつの実施態様において、表示装置に表示すべき画像データに特定の画像データが含まれている場合、特定の画像データに対応する他の画像データを重畳して表示する表示制御方法であって、コンピュータが、複数の前記他の画像データの各々について、前記表示装置上に表示される前記特定の画像データの表示位置に基づいて、前記特定の画像データに対して予め決められた位置に、前記他の画像データを重畳して表示可能かを判定し、複数の前記他の画像データの中の少なくとも一つが表示不能であると判定した場合に、表示不能な前記他の画像データの個数の情報を含む警告を出力することを特徴とする。
本発明の一観点によれば、AR技術において、ARコンテンツの画像データが、ディスプレイに表示される合成画像に重畳表示されるかを判定して、ディスプレイに表示されないARコンテンツの存在をユーザに報知することを目的とする。
図1は、カメラ座標系とマーカー座標系との関係を示す。 図2は、ARコンテンツの例を示す。 図3は、マーカー座標系からカメラ座標系への変換行列Tと、変換行列T内の回転行列Rを示す。 図4は、回転行列R1、R2およびR3を示す。 図5は、ある視点から見た現実世界のイメージ図である。 図6は、他の視点から見た現実世界のイメージ図である。 図7は、ユーザ110が撮影した画像に基づくAR表示のイメージ図である。 図8は、ユーザ120が撮影した画像に基づくAR表示のイメージ図である。 図9は、各実施例にかかるシステム構成図である。 図10は、情報処理装置1の機能ブロック図である。 図11は、ARコンテンツ情報を記憶するデータテーブルの構成例である。 図12は、テンプレート情報を記憶するデータテーブルの構成例である。 図13は、第一の実施例にかかる表示制御処理のフローチャート(その1)である。 図14は、第一の実施例にかかる表示制御処理のフローチャート(その2)である。 図15は、重畳表示不能なARコンテンツを報知するための画面のイメージ図である。 図16は、重畳表示不能なARコンテンツを報知するための他の画面のイメージ図である。 図17は、ユーザ110が撮像した画像がディスプレイに表示される際の画面イメージ図である。 図18は、ユーザ120が撮像した画像がディスプレイに表示される際の画面イメージ図である。 図19は、第二の実施例にかかる情報処理装置20の機能ブロック図である。 図20は、式3にて用いられる行列式を示す。 図21は、第二の実施例にかかる表示制御処理のフローチャート(その1)である。 図22は、第二の実施例にかかる表示制御処理のフローチャート(その2)である。 図23は、各実施例の情報処理装置のハードウェア構成例である。 図24は、コンピュータで動作するプログラムの構成例を示す。 図25は、管理装置のハードウェア構成例である。
以下詳細な本発明の実施例に関して説明する。なお、以下の各実施例は、処理の内容を矛盾させない範囲で適宜組み合わせることが可能である。
まず、ビジョンベース型AR技術について説明する。なお、以下では特にマーカーを利用するマーカー型ビジョンベースARを例に説明する。ただし、各実施例に開示の技術は、マーカーレス型ビジョンベースARにも適用可能である。この場合には、物体認識処理において、認識対象の物体の形状を定義した辞書を予め準備し、当該辞書を用いて、画像データに対して物体認識処理が実行される。
初めに、カメラを中心とするカメラ座標系と、マーカーを中心とするマーカー座標系との関係を説明する。図1は、カメラ座標系およびマーカー座標系との関係を示す図である。なお、マーカーは、例えば、建物内の壁や天井、設備などに添付された紙に印刷された特有の形状を有する模様である。マーカー型ビジョンベースARにおいては、認識対象はマーカーであるため、画像データに、マーカー特有の形状を示す特定の画像データが含まれる場合に、マーカーを認識する。
図1では、カメラ座標系の原点を、Oc(0,0,0)とする。カメラ座標系は、(Xc,Yc,Zc)の3次元で構成される。Xc−Yc平面は、カメラの撮像素子面と平行な面である。また、Zc軸は、撮像素子面に垂直な軸である。なお、原点Ocは、実際のカメラの焦点であってもよいし、カメラの焦点からZc方向に所定距離にある位置を原点Ocに設定してもよい。
次に、図1に示すように、マーカー座標系の原点は、Om(0,0,0)である。なお、原点Omは、マーカーMの中心である。マーカー座標系は、(Xm,Ym,Zm)の3次元で構成される。例えば、マーカー座標系のXm−Ym平面はマーカーMと平行な面であり、Zm軸はマーカーMの面と垂直な軸である。なお、マーカー座標系では、画像データにおけるマーカー一つ分の大きさを、単位座標とする。
一方、マーカー座標系の原点Omは、カメラ座標系では、(X1c,Y1c,Z1c)であらわされるものとする。カメラ座標系におけるOmの座標(X1c,Y1c,Z1c)は、カメラから取得した画像データに対して、物体認識および空間認識を行うことで、算出される。
ここで、物体認識および空間認識を行うために、マーカーの形状には、マーカーとカメラと位置関係が判別可能な形状が採用される。また、マーカーの大きさも予め決定される。これにより、画像データに対して物体認識を行うことでマーカーを認識できるとともに、画像データにおけるマーカーの像の形状や大きさから、カメラに対するマーカーの位置関係が判別できる。例えば、マーカーMは、1辺の長さが5cmである正方形形状を有する。
また、カメラ座標系(Xc,Yc,Zc)に対するマーカー座標系(Xm,Ym,Zm)の回転角は、回転座標G1c(P1c,Q1c,R1c)で示される。P1cはXc軸回りの回転角であり、Q1cはYc軸回りの回転角であり、R1cはZc軸回りの回転角である。図1に例示されるマーカー座標系は、Ym軸回りにのみ回転しているため、P1cおよびR1cは0である。なお、各々の回転角は、既知のマーカー形状と、撮像画像におけるマーカーの像の形状との比較に基づき、算出される。
図2は、ARコンテンツの例を示す。図2に示すARコンテンツCは、吹き出し形状を有する画像データであって、かつ吹き出し内に「作業Xを実施」というテキスト情報を含む。さらに、ARコンテンツCには、事前にマーカー相対での位置情報と回転情報が設定されている。つまり、マーカー座標系におけるARコンテンツの位置情報および回転情報が設定される。
ここで、位置情報および回転情報について詳しく説明する。図2におけるARコンテンツCの先の黒丸は、ARコンテンツCの基準点V2m(X2m,Y2m,Z2m)である。また、さらにARコンテンツCの姿勢は回転座標G2m(P2m,Q2m,R2m)で定められ、ARコンテンツCのサイズは倍率D(Jx,Jy,Jz)で定められる。なお、ARコンテンツCの回転座標G2mは、マーカー座標系に対してARコンテンツがどの程度回転した状態で配置されるのかを示す。例えば、図2の例とは異なるが、G2mが(0,0,0)である場合には、マーカーと平行にARコンテンツがAR表示されることとなる。
次に、基準点以外のARコンテンツCを構成する各点の座標も、個別に設定されることで、ARコンテンツCの形状が設定される。本実施例においては、ARコンテンツCの形状は、事前に作成されたテンプレートを流用するものとして説明する。つまり、ARコンテンツCの形状の雛型であるテンプレートに、ARコンテンツCを形成する各点の座標が定義されている。ただし、テンプレートにおいては、基準点を座標(0,0,0)とし、基準点以外の各点は基準点の座標に対する相対値として定義される。よって、ARコンテンツCの基準点V2mが設定されると、テンプレートを構成する各点の座標は、座標V2mに基づいて平行移動される。
さらに、テンプレートに含まれる各点の座標は、設定された回転座標G2mに基づいて回転され、倍率Dで隣接する点同士の距離が拡縮される。つまり、図2のARコンテンツCは、テンプレートに定義された各点が、基準点の座標V2m、回転座標G2mおよび倍率Dに基づいて調整された点に基づいて構成された状態を示している。
以上のように、ARコンテンツの位置情報および回転情報に基づき、マーカーに対するARコンテンツの配置が決定される。よって、ユーザがカメラを使ってマーカーを撮影すると、コンピュータは、マーカー相対で配置が決定されているARコンテンツをカメラが撮影したと仮定したときのARコンテンツの像を表す画像データを生成する。ARコンテンツの像を表す画像データを生成する過程では、マーカー座標系で定義された各点の座標をカメラ座標系に変換する処理と、カメラ座標系に変換された各点をディスプレイに描画するためにディスプレイ平面に投影する処理とが実行される。さらに、ARコンテンツの像を表す画像データを、カメラから取得した画像データに重ねて描画することで、ARコンテンツが重畳表示される。以下、各処理を説明する。
まず、図3は、マーカー座標系からカメラ座標系への変換行列Tと回転行列Rを示す。変換行列Tは、マーカー座標系の原点となるOmのカメラ座標系における座標値(X1c,Y1c,Z1c)と、カメラ座標系に対するマーカー座標系の回転座標G1c(P1c,Q1c,R1c)とに基づき、マーカー座標系で定義されたARコンテンツの各点を、マーカー座標系からカメラ座標系に変換するための行列式である。
変換行列Tは、4×4の行列である。変換行列Tと、マーカー座標系の座標Vmに関する列ベクトル(Xm,Ym,Zm,1)との積により、カメラ座標系の対応する座標Vcに関する列ベクトル(Xc,Yc,Zc,1)が得られる。
変換行列Tの1〜3行目且つ1〜3列の部分行列(回転行列R)がマーカー座標系の座標に作用することにより、マーカー座標系の向きとカメラ座標系との向きを合わせるための回転操作が行なわれる。変換行列Tの1〜3行目且つ4列目の部分行列が作用することにより、マーカー座標系の向きとカメラ座標系との位置を合わせるための並進操作が行なわれる。
図4は、回転行列R1、R2およびR3を示す。なお、図3に示す回転行列Rは、回転行列R1、R2およびR3の積(R1・R2・R3)により算出される。また、回転行列R1は、Xc軸に対するXm軸の回転を示す。回転行列R2は、Yc軸に対するYm軸の回転を示す。回転行列R3は、Zc軸に対するZm軸の回転を示す。
回転行列R1、R2およびR3は、撮像画像内のマーカーの像に基づき、生成される。つまり、回転角P1c、Q1c、R1cは、先に述べたとおり、既知の形状を有するマーカーが、処理対象となる撮像画像において、どのような像として撮像されているかに基づき、算出される。算出された、回転角P1c、Q1c、R1cに基づき、各回転行列R1、R2およびR3は生成される。
以上のように、列ベクトル(Xm,Ym,Zm,1)に座標変換対象のマーカー座標系の点座標を代入して、行列演算を行なうことにより、カメラ座標系の点座標を含む列ベクトル(Xc,Yc,Zc,1)が得られる。つまり、マーカー座標系の点(Xm,Ym,Zm)を、カメラ座標系(Xc,Yc,Zc)に変換することができる。なお、座標変換は、モデル−ビュー変換とも称される。
例えば、図2のように、モデル−ビュー変換が、ARコンテンツCの基準点V2mに対して行なわれることにより、マーカー座標系で規定された基準点V2mが、カメラ座標系におけるどの点V2c(X2c,Y2c,Z2c)に対応するのかが求められる。ここまでの処理で、カメラに対するARコンテンツの位置(カメラとARコンテンツの位置関係)が、マーカーを利用する事で算出される。
つぎに、ARコンテンツCの各点のカメラ座標系の座標は、スクリーン座標系に変換される。スクリーン座標系は、(Xs,Ys)の2次元で構成される。そして、カメラ座標系に変換されたARコンテンツCの各点の座標を、仮想のスクリーンとなる2次元平面(Xs,Ys)に投影することで、AR表示されるARコンテンツCの像が生成される。つまり、スクリーン座標系の一部分がディスプレイの表示画面と対応する。なお、カメラ座標系の座場をスクリーン座標系に変換することを、透視変換と称する。
ここで、投影面となる仮想のスクリーンは、例えば、カメラ座標系のXc−Yc平面と平行に、かつZc方向に所定の距離に設定される。この時、カメラ座標系における原点Oc(0,0,0)が、カメラの焦点からZc方向に一定距離に設定される場合には、スクリーン座標系における原点(0,0)も、カメラの光軸上の一点に対応する。
透視変換は、例えば、カメラの焦点距離fに基づいて行なわれる。カメラ座標系における座標(Xc,Yc,Zc)に対応するスクリーン座標系の座標のXs座標は、以下の式1で求められる。また、カメラ座標系における座標(Xc,Yc,Zc)に対応するスクリーン座標系の座標のYs座標は、以下の式2で求められる。
Xs=f・Xc/Zc (式1)
Ys=f・Yc/Zc (式2)
透視変換により得られるスクリーン座標系の座標値に基づいて、ARコンテンツCの像が生成される。ARコンテンツCは、ARコンテンツCを構成する複数の点を補間して得られる面にテクスチャをマッピングすることにより生成される。ARコンテンツCの元になるテンプレートには、どの点を補間して面を形成するか、どの面にどのテクスチャをマッピングするかが定義される。
以上のように、ARコンテンツCを構成する各点の座標は、マーカー座標系からカメラ座標系、さらには、スクリーン座標系へと変換される。この後、ARコンテンツCの各点の座標(スクリーン座標系)を用いて、ディスプレイへの描画処理が実行されるが、ディスプレイの表示可能範囲を超えた位置に存在するARコンテンツCの像は、当然、ディスプレイに表示される画像には含まれない。発明者は、カメラから取得した画像データからマーカーが認識できたとしても、カメラとマーカーの位置関係によっては、マーカー相対で配置が指定されたARコンテンツCの像は、ディスプレイに表示される合成画像に重畳表示されない場合があることに気が付いた。
図5、図6、図7および図8を用いて、ARコンテンツCの像が、ディスプレイに表示される画像に重畳して表示されない場合について、説明する。図5は、ある視点から見た現実世界のイメージ図である。図5では、パイプ100にバルブ102が取り付けられ、さらにパイプ100にはヒビ103が存在する。また、パイプ100の背面の壁には、マーカー101が張り付けられている。さらに、ユーザ110は、位置Aから、マーカー101を含むように、この現実世界をカメラで撮影する。また、ユーザ120は、位置Bから、マーカー101を含むように、この現実世界をカメラで撮影する。なお、ユーザ110の位置Aは、ユーザ120の位置Bよりも、マーカー101から遠い位置である。
図6は、他の視点から見た現実世界のイメージ図である。図6におけるパイプ100は、図5におけるパイプ100と同一の物体であって、マーカー101も図5のマーカー101と同一の物体である。なお、図6においては、バルブ102およびヒビ103の図示が省略されている。図6に示すように、ユーザ120は、ユーザ110よりも、マーカー101を近くから撮影する。
図7は、ユーザ110が撮影した画像に基づくAR表示のイメージ図である。図8は、ユーザ120が撮影した画像に基づくAR表示のイメージ図である。図7に示すように、位置Aから撮影された画像に対してAR表示がされた合成画像210には、ARコンテンツ204とARコンテンツ205が重畳表示されている。よって、ユーザ110は、ARコンテンツ204にかかる作業(ヒビの確認)と、ARコンテンツ205にかかる作業とを実施することができる。
一方、図8に示すように、位置Bから撮影された画像に対してAR表示された合成画像220には、ARコンテンツ205は重畳表示されるものの、ARコンテンツ204は重畳表示されない。よって、ユーザ120は、ARコンテンツ204にかかる作業(ヒビの確認)を実施できなくなってしまう。なお、図8は、従来技術での処理結果(比較例)であるが、以下説明する各実施例においても図8のような表示は行われ得る。以下の実施例においては、図8のような合成画像220が生成される場合に、ユーザにコンテンツ204の存在を報知する。
ここで、図8のような状態を回避ために、予めユーザがパイプに対してARコンテンツが重畳表示されることを把握している場合、ユーザは、パイプ全体をとらえる位置(例えば位置A)で、画像を撮影するようにすることが考えられる。しかし、実際の現実空間には、パイプ以外にも、各種設備等の他の物体も存在しており、他の物体にもARコンテンツが重畳表示される可能性もある。よって、ユーザは、ARコンテンツが重畳表示される全ての物体を把握していない限り、撮影位置を適切に調整することは難しい。
また、ユーザがマーカー101を撮影しているにも関わらず、ディスプレイに表示された合成画像に一つのARコンテンツも含まれていない場合には、ユーザが自発的に撮影位置の調整を行うことも考えられる。しかし、図6に示したように、一つのマーカーには、複数のARコンテンツが対応付けられる場合があるため、ユーザは、ARコンテンツがいくつ重畳表示されていれば、漏れなくARコンテンツが重畳表示された状態であるのかが判断できない。
さらに、同じマーカーが撮像された画像であっても、ユーザの属性によって、表示するARコンテンツの内容や、ARコンテンツの重畳表示の有無を切り替えるような場合がある。この場合には、例えば、あるユーザXは、マーカーを撮影したとしても、合成画像にはARコンテンツが重畳表示されない場合もある。よって、ユーザXは、そもそも重畳表示されるARコンテンツが存在しないのか、撮影位置によりARコンテンツが重畳表示できないのかを、把握することもできない。
そこで、表示装置(ディスプレイ)に表示すべき画像データに特定の画像データ(マーカーの画像データ)が含まれている場合、特定の画像データに対応する他の画像データ(ARコンテンツの像)を重畳して表示するAR表示方法において、コンピュータが、表示装置上に表示される特定の画像データの表示位置に基づいて、特定の画像データに対して予め決められた位置に、他の画像データを重畳して表示可能かを判定し、他の画像データを表示不能と判定した場合に、報知を行う。
以下具体的に説明するが、第一の実施例においては、コンピュータは、ARコンテンツCのスクリーン座標系の座標値を用いて、ARコンテンツCの像の投影位置は、ディスプレイの表示可能範囲内であるか否かを判定する。また、第二の実施例においては、コンピュータは、カメラから取得した画像データにおけるマーカーの像から、ディスプレイの表示可能範囲を、マーカー座標系の範囲に変換することで、ARコンテンツCに予め設定されているマーカー座標系の位置情報を用いて、ディスプレイの表示可能範囲内であるかを判定する。
初めに、第一の実施例および第二の実施例に共通する部分から、説明する。図9は、各実施例にかかるシステム構成図である。図9の例では、AR表示を行う情報処理装置の例として、通信端末1−1および通信端末1−2を示す。以下、これらを総称して、情報処理装置1とする。さらに、情報処理装置1は、ネットワークNを介して、管理装置3と通信する。
情報処理装置1は、例えば、カメラ等の撮像装置を有する、タブレットPCやスマートフォンなどのコンピュータである。管理装置3は、例えば、サーバコンピュータであって、情報処理装置1を管理する。ネットワークNは、例えば、インターネットである。なお、本実施例に係るシステムは、情報処理装置1および管理装置3を含む。
情報処理装置1は、カメラから取得した画像データに対して他の画像データ(ARコンテンツ)を重畳した合成画像データを生成する。このとき、情報処理装置1は、カメラから取得した画像データに特定の画像データ(マーカー)が含まれている場合に、マーカーに対して予め決められた位置に従い、他の画像データ(ARコンテンツ)を重畳表示する。このとき、情報処理装置1は、ARコンテンツを重畳表示可能であるかを判定し、重畳表示不能であれば、ユーザに対して何らかの報知を実施する。例えば、情報処理装置1は、重畳表示不能なARコンテンツがあると判断した場合、ディスプレイ上に警告メッセージを表示したり、警告音を出力する。
一方、管理装置3は、ARコンテンツ情報やテンプレート情報を記憶するとともに、必要に応じて、情報処理装置1へ提供する。ARコンテンツ情報は、AR表示される対象のARコンテンツにかかわる情報である。テンプレート情報は、ARコンテンツがテンプレートを用いて生成される場合に、テンプレートの形状や模様等が定義された情報である。詳細は、後述する。
情報処理装置1は、AR表示を行う前に、管理装置3からARコンテンツ情報やテンプレート情報を取得することとする。なお、管理装置3は、複数のARコンテンツにかかるARコンテンツ情報、複数のテンプレートにかかるテンプレート情報を記憶するが、一部のARコンテンツまたはテンプレートにかかるARコンテンツ情報およびテンプレート情報のみを情報処理装置1に提供してもよい。例えば、管理装置3は、情報処理装置1を操作するユーザの属性に応じて、ユーザに対して提供する可能性のあるARコンテンツおよび、そのARコンテンツにかかわるテンプレートのみを情報処理装置1に提供する。
また、管理装置3に、情報処理装置1が処理対象の画像データを送信し、管理装置3にてAR表示にかかる合成画像データを生成し、管理装置3から情報処理装置1に合成画像データを送信する事としてもよい。
[第一の実施例]
次に、第一の実施例にかかる情報処理装置1の機能的構成について説明する。図10は、第一の実施例にかかる情報処理装置10の機能ブロック図である。情報処理装置10は、通信部11、撮像部12、表示部13、記憶部14、制御部15を含む。なお、上述の情報処理装置1の一例が、第一の実施例における情報処理装置10である。
通信部11は、他のコンピュータと通信を行う。例えば、通信部11は、合成画像データを生成する為に、ARコンテンツ情報、テンプレート情報を、管理装置3から受信する。撮像部12は、一定のフレーム間隔で撮影を行い、画像データを生成する。そして、撮像部12は、画像データを、制御部15へ入力する。
表示部13は、制御部15から取得した各種画像データを、表示する。各種画像データには、撮像部12が取得した画像データや、制御部15が生成する合成画像データも含まれる。記憶部14は、制御部15の制御の下、各種情報を記憶する。記憶部14は、ARコンテンツ情報、テンプレート情報を記憶する。なお、記憶部14は、撮像部12から取得した画像データを一時的に記憶してもよい。
制御部15は、情報処理装置1全体の各種処理を制御する。また、後述するように、制御部15は、認識部16、生成部17、判定部18を含む。認識部16は、入力された画像データを対象に、物体認識を行う。具体的には、認識部16は、マーカーの形状を定義した物体認識用のテンプレートを用いて、入力された画像データにマーカーの画像データが含まれるかを判断する。
さらに、認識部16は、画像データにマーカーの画像データが含まれることを認識すると、マーカーを識別する識別情報を取得する。例えば、マーカーIDが取得される。例えば、二次元バーコードと同様に、白部分と黒部分の配置から、一意のマーカーIDが取得される。マーカーIDを取得する方法として、他の既知の取得方法が適用されてもよい。
また、認識部16は、画像データにマーカーの画像データが含まれることを認識した場合、マーカーの画像データに基づいて、マーカーの位置座標および回転座標を算出する。なお、マーカーの位置座標および回転座標は、カメラ座標系での値である。認識部16は、算出した位置座標および回転座標を生成部17へ出力する。なお、画像データに、マーカーの画像データが含まれないと判断した場合には、認識部16は、その結果を、生成部17へ出力する。
生成部17は、ARコンテンツ情報、テンプレート情報に基づき、AR表示を行うための合成画像データを生成する。なお、合成画像データの生成においては、認識部により算出された位置座標および回転座標が利用される。また、生成部17は、合成画像データの表示のため、表示部13を制御する。
ここで、生成部17による処理を説明するために、ARコンテンツ情報およびテンプレート情報について、説明する。なお、ARコンテンツ情報およびテンプレート情報は、記憶部14に記憶される。
図11は、ARコンテンツ情報を記憶するデータテーブルの構成例である。ARコンテンツ情報は、少なくとも、ARコンテンツID、位置情報、回転情報を含む。さらに、ARコンテンツ情報は、倍率情報、テンプレートID、マーカーID、追加情報を含んでもよい。
データテーブルには、ARコンテンツID、マーカー座標系におけるARコンテンツの位置情報、回転情報が互いに対応付けられて格納される。ARコンテンツIDは、ARコンテンツを一意に識別する識別情報である。位置情報は、マーカーに対するARコンテンツの位置を指定するための情報であって、例えば、マーカー座標系における、ARコンテンツを形成する基準点の位置座標(Xm,Ym,Zm)である。回転情報は、マーカーに対するARコンテンツの回転を指定するための情報であって、例えば、マーカー座標系に対する、ARコンテンツの回転座標(Pm,Qm,Rm)である。
また、ARコンテンツのモデル形状が、テンプレートを用いて作成される場合には、データテーブルには、テンプレートIDおよび倍率情報が格納される。テンプレートIDは、ARコンテンツに適用されるテンプレートを識別する識別情報である。倍率情報は、テンプレートをARコンテンツとして適用する際の倍率Dの情報であって、例えば、各軸方向に、各々拡大または縮小するための倍率(Jx,Jy,Jz)である。
さらに、認識したマーカーの識別情報に応じて、AR表示するARコンテンツを切り替える場合には、各ARコンテンツを対応付けるマーカーのマーカーIDが、データテーブルに格納される。なお、同一のマーカーでも、ユーザの属性情報によって、AR表示するARコンテンツを切り替える場合には、マーカーIDと合わせて、各ARコンテンツについて、ユーザの属性を識別する情報がさらに格納される。
データテーブルには、さらに、追加情報が格納されてもよい。追加情報として、例えば、ARコンテンツ内に描画されるテキストの情報が記憶される。図11のARコンテンツID「C1」の例では、ARコンテンツ内に「バルブが閉まっていることを確認」というテキストが描画されることになる。
図12は、テンプレート情報を記憶するデータテーブルの構成例である。テンプレート情報は、テンプレートの識別情報(テンプレートID)、テンプレートを構成する各頂点の座標情報、およびテンプレートを構成する各面の構成情報(頂点順序およびテクスチャIDの指定)を含む。
頂点順序は、面を構成する頂点の順序を示す。テクスチャIDは、面にマッピングされるテクスチャの識別情報を示す。テンプレートの基準点は例えば0番目の頂点である。テンプレート情報テーブルに示される情報により、3次元モデルの形状および模様が定められる。
生成部17が、合成画像データを生成する際には、認識部16から取得したマーカーIDに応じて、AR表示すべきARコンテンツのARコンテンツIDを特定する。そして、対応するARコンテンツ情報、テンプレート情報、認識部16が算出した位置座標および回転座標を利用して、ARコンテンツを重畳するための画像データを生成する。なお、重畳用の画像データは、仮想的な空間にマーカーに対して予め指定した位置にARコンテンツを配置し、そのARコンテンツを仮想スクリーンに投影した場合の像に対応するデータである。そして、生成部17は、カメラから取得した画像データと、重畳用の画像データとを重ね合わせることで、合成画像データを生成する。
例えば、図11に示されたARコンテンツIDが「C1」のARコンテンツは、図12のテンプレート「T1」に定義される各頂点座標が、Xm、Ym、Zm方向のそれぞれに拡縮され、回転座標(Pm1,Qm1,Rm1)で回転され、位置座標(Xm1、Ym1、Zm1)に応じて並進されて得られる各頂点により構成される。
生成部17は、先に説明したとおり、ARコンテンツ情報、テンプレート情報、変換行列Tを用いて、ARコンテンツの各点の座標をマーカー座標系からカメラ座標系へ座標変換する。さらに、生成部17は、上述の式1や式2を用いて、カメラ座標系をスクリーン座標系へ変換する。さらに、生成部17は、ARコンテンツを構成する面に、テンプレート情報に定義されたテクスチャと、ARコンテンツ情報に定義された追加情報のマッピングを行なうことで、重畳表示用のARコンテンツの像(画像データ)を生成する。
図10に戻り、判定部18は、マーカーに対して予め決められた位置に基づき、カメラから取得した画像データに、ARコンテンツを重畳表示可能であるか判定する。具体的には、判定部18は、生成部17が生成した画像データと、表示部13(ディスプレイ)の表示可能範囲とを比較する。ディスプレイの解像度は、H×Lであるとする。なお、解像度Hは、図7等のディスプレイの縦方向に対応して配列した画素数であって、ディスプレイの縦方向は、スクリーン座標系のYs方向に対応する。また、解像度Lは、ディスプレイの横方向に対応して配列した画素数であって、ディスプレイの縦方向は、スクリーン座標系のXs方向に対応する。
スクリーン座標系の原点がカメラの光軸上に設定されるとともに、ディスプレイの中心をスクリーン座標系の原点に合わせて表示する場合、判定部18は、ARコンテンツを形成する各点についてスクリーン座標系に変換されたXs座標値が−L/2から+L/2の範囲であるか、さらに、Ys座標値が−H/2から+H/2の範囲であるか判定する。
さらに、判定部18は、仮想のスクリーンの設定位置(Zc方向の位置)に基づき、ARコンテンツを構成する各点について、カメラ座標系に変換されたARコンテンツのZc座標値が、仮想のスクリーンの設定位置よりも後方に存在するかを判定する。これは、ARコンテンツが、仮想スクリーンよりも前方となるような位置関係である場合、仮想スクリーン上にARコンテンツが投影されないためである。例えば、仮想スクリーンを設定する位置を、Zc軸上のマーカーN個分の位置としている場合には、Zc座標値がNよりも大きいか否かを判定する。
Xs座標値,Ys座標値,Zc座標値各々の判定結果が、すべて肯定である場合、ARコンテンツにおける対象の点は、合成画像データがディスプレイに表示される際、ディスプレイに表示されることとなる。つまり、重畳表示可能であると判断される。なお、ARコンテンツを形成するすべての点について、ディスプレイに表示可能と判断された場合には、そのARコンテンツ全体が、ディスプレイに表示されることとなる。
ARコンテンツを形成するすべての点のうち一部の点だけについてディスプレイに表示可能と判断された場合、すなわち、一部の点についての判定結果が肯定で、他の点についての判定結果が否定である場合には、ARコンテンツの一部分についてはディスプレイに表示されるが、一部分は表示されないこととなる。さらに、すべての点についてディスプレイに表示不能と判断された場合、すなわち、すべての点について、判定結果が否定である場合には、ディスプレイ上には表示されないこととなる。本実施例においては、すべての点の判定結果が肯定であることをもって、判定部18は重畳表示可能と判断することとするが、一部の点についての判定結果が肯定で、他の点についての判定結果が否定であれば、重畳表示可能と判断してもよい。
次に、情報処理装置10による処理の流れを説明する。図13および図14は、表示制御方法の処理フローである。なお、コンピュータが、表示制御プログラムを実行することで、表示制御方法が実行される。
制御部15は、表示制御プログラムが起動されると、前処理を行なう(Op.101)。Op.101の処理においては、テンプレート情報やARコンテンツ情報が管理装置3から取得される。さらに、制御部15は、AR表示モードの起動指示を行ない、例えば撮像部12に所定時間間隔での撮像を開始させる。また、制御部15は、認識部16にマーカー認識処理を開始させる。撮像部12は、制御部15から撮像を指示されると、撮像素子により生成される画像データを所定の時間間隔で取得し、画像データを記憶部14に記憶する。
記憶部14には、複数の画像データを格納するバッファが設けられ、画像データは、そのバッファに格納される。例えば、記憶部14に設けられるバッファは、表示部13に表示させる画像データが格納される表示用バッファである。表示用バッファに格納される画像データは、順次、表示部13に転送され表示される。また、制御部15は、表示部13に、画像データの表示を開始させる。ここでは、表示部13は、リアルタイムで撮像部12が撮像した画像の画像データを表示するとともに、後述の通り、マーカーを認識した場合には合成画像データを表示する。
認識部16は、記憶部14に設けられたバッファに格納された画像データを取得する(Op.103)。そして、認識部16は、取得した画像データに対して、マーカー認識を行う(Op.105)。マーカーが認識されなかった場合には(Op.105No)、制御部15は、表示制御処理を終了するか否かを判定する(Op.135)。表示制御処理を終了する場合には(Op.135Yes)、制御部15は、一連の表示制御処理を終了する。例えば、ユーザから、AR表示にかかわる表示制御処理を終了する旨の入力があった場合には、制御部15は、表示制御処理を終了する。一方、表示制御処理を終了しない場合には(Op.135No)、制御部15は新たな画像データに対して、Op.103以降の処理を繰りかえす。
一方、マーカーを認識した場合には(Op.105Yes)、認識部16は、マーカーのマーカーIDを読みとる(Op.107)。マーカーIDの読みとりは、例えば、マーカーに該当する画像領域内の輝度の情報に基づいて行なわれる。例えば、認識部16は、マーカーが四角形状である場合、マーカーとして認識された四角形の画像領域を分割した各領域について、輝度が所定値以上の領域を「1」とし、輝度が所定値未満の領域を「0」として、各領域を所定の順序で、「1」または「0」のいずれであるかを判定し、判定して得られた情報の列をマーカーIDとする。
また、例えば、輝度が所定値以上の領域と所定値未満の領域の四角形枠内での配置をパターン化しておき、パターンに対応するマーカーIDを用いることとしてもよい。さらに、マーカーIDとして採用される数値範囲が予め定められており、読みとったマーカーIDがその数値範囲内でない場合には、認識部16は、マーカーIDが読みとれなかったと判定することとしてもよい。
次に、認識部16は、画像データにおけるマーカーの像の形状や大きさに基づき、カメラ座標系におけるマーカーの位置座標および回転座標を算出する(Op.109)。例えば、認識部16は、マーカーの角に対応する特徴点を抽出し、画像データにおける4つの特徴点の位置に基づき、位置座標および回転座標を算出する。なお、認識部16は、算出した位置座標および回転座標、さらには、マーカーIDを、生成部17へ出力する。
生成部17は、認識部16から取得したマーカーIDをキーに、ARコンテンツ情報を記憶するデータテーブルを検索する。そして、認識部16から取得したマーカーIDを含むARコンテンツ情報を取得する(Op.111)。さらに、ARコンテンツ情報に含まれるテンプレートIDをキーに、対応するテンプレート情報も、テンプレート情報を記憶するデータテーブルより取得される。
生成部17は、認識部16から取得した位置座標および回転座標を用いて、変換行列Tを生成するとともに、変換行列Tを用いて、ARコンテンツ情報およびテンプレート情報に定義された各点について、モデル−ビュー変換を行う(Op.113)。つまり、生成部17は、マーカー座標系で定義された各点の座標を、カメラ座標系に変換する。さらに、生成部17は、カメラ座標系であらわされた各点の座標を、スクリーン座標系へ変換する(Op.115)。つまり、透視変換が行われる。
続いて、判定部18は、ARコンテンツの像を構成する複数の点(スクリーン座標系)のうち、処理対象の点を設定する(Op.117)。そして、判定部18は、処理対象の点が、表示部13(ディスプレイ)の表示可能範囲内であるかを判定する(Op.119)。つまり、ARコンテンツにおける処理対象の点の部分が重畳表示可能であるかが判断される。判定においては、先に説明したとおり、スクリーン座標系のXs,Ysとともに、透視変換前に算出されたカメラ座標系のZcも利用される。
ARコンテンツにおける処理対象の点の部分が重畳表示可能である場合には(Op.119Yes)、判定部18は、未処理の点があるか判定する(Op.121)。未処理の点がある場合には(Op.121Yes)、判定部18は、新たに処理対象の点を設定する(Op.117)。一方、重畳表示可能でない場合には(Op.119No)、判定部18は、処理対象の点を含むARコンテンツについて、重畳表示不能と判断する(Op.125)。
一方、未処理の点がない場合(Op.121No)、つまり、すべての点について重畳表示可能と判断された場合には、判定部18は、当該ARコンテンツについて、重畳表示可能と判断する(Op.123)。本実施例においては、少なくとも一つの点が重畳表示可能でないと判断された場合に、ARコンテンツは重畳表示不能であると判断される。しかし、すべての点について、Op.119を行い過半数以上の点が重畳表示不能であれば、判定部18は、当該ARコンテンツは重畳表示不能であると判断してもよい。また、すべての点が重畳表示可能であるARコンテンツと、一部の点が重畳表示可能であるARコンテンツと、すべての点が重畳表示不能であるARコンテンツとを、3つの種類で識別してもよい。
次に、判定部18は、マーカーIDに関連するすべてのARコンテンツ情報について、重畳表示可能か否かの判定を行ったか判断する(Op.127)。マーカーIDに対応する未処理のARコンテンツ情報が存在する場合には(Op.127No)、判定部18による判定結果の出力を受けて、制御部15内の各種処理部は、Op.111以降の処理を行う。例えば、一つのマーカーに対して複数のARコンテンツが設定されているような場合には、各ARコンテンツに対応するARコンテンツ情報を用いて、Op.111以降の処理を繰りかえす。
なお、認識部16は、Op.107において複数のマーカーIDが取得された場合、Op.109において各マーカーの位置座標・回転座標を算出する。このような場合においても、各マーカーIDをキーとして取得したARコンテンツ情報各々について、各マーカーの位置座標および回転座標に基づき、Op.111以降の処理が繰り返される。
一方、すべてのARコンテンツ情報を処理した場合には(Op.127Yes)、判定部18は、重畳表示不能なARコンテンツの有無を判定する(Op.129)。重畳表示不能なARコンテンツがある場合には(Op.129Yes)、判定部18は、報知処理を実行する(Op.131)。例えば、表示部13を制御して、警告メッセージを表示したり、あるいは図示しない音声出力部を制御して、警告メッセージの音声を出力する。さらには、カメラ(撮像部12)がズームレンズを有する場合には、判定部18による判定結果を受けて、制御部15は、カメラのズームレンズを制御する。そして、カメラは、より広角な画像を撮影するとしてもよい。
報知処理実行後、または重畳表示不能なARコンテンツがない場合(Op.129No)、表示部13は、合成画像データを表示する(Op.133)。なお、表示部13は、生成部17による制御の下、合成画像データを表示する。具体的には、生成部17は、透視変換後のARコンテンツの座標値と、テンプレート情報(テクスチャ情報等)に基づき、ARコンテンツの像の画像データを生成する。そして、生成されたARコンテンツの像の画像データと、撮像部12から取得した画像データとを合わせて、合成画像データとして、表示部13に出力する。
そして、生成部17による制御の下、表示部13が合成画像データを表示した後、制御部15は、処理を終了するか否かを判定し(Op.135)、処理を終了する旨の入力があった場合には(Op.135Yes)、一連の表示制御処理を終了する。
図15は、重畳表示不能なARコンテンツを報知するための画面のイメージ図である。図16は、重畳表示不能なARコンテンツを報知するための他の画面のイメージ図である。重畳表示不能なARコンテンツを報知するための画面230には、図8に示した合成画像220とともに、重畳表示不能なARコンテンツ(図7におけるARコンテンツ204)を報知するための警告メッセージ206が表示される。警告メッセージ206は、「AR表示されていないARコンテンツがあります。下がって撮影しなおしてください」という、重畳表示不能なARコンテンツを報知するための情報である。つまり、警告メッセージ206は、図7の合成画像210に示す通り、本来、複数のARコンテンツ204およびARコンテンツ205が重畳表示されるべきであるのに対して、図8の合成画像220のように、ARコンテンツ205のみが重畳表示され、ARコンテンツ204が重畳表示されていないことを警告する。
一方、図16に示す他の画面240には、図8に示した合成画像220とともに、重畳表示不能なARコンテンツを報知するための警告メッセージ207が表示される。警告メッセージ207は、「表示中のARコンテンツ×1、一部表示中のARコンテンツ×0、表示されていないARコンテンツ×1」という、畳表示不能なARコンテンツを報知するための情報である。図16の例では、完全に重畳表示可能なARコンテンツと、一部重畳表示可能なARコンテンツと、完全に重畳表示不能なARコンテンツの個数を、ユーザが把握可能な警告メッセージが表示される。
なお、図15および図16の例は、図14におけるOp.133の報知処理を、合成画像データの表示処理(Op.135)とともに行った場合の画面の例であるが、報知処理と合成画像データの表示処理とが独立に行われてもよい。
以上のように。本実施例に開示の情報処理装置10は、重畳表示不能なARコンテンツが存在した場合、その旨をユーザに報知することができる。したがって、ユーザは、ディスプレイ(表示部13)上で視認している合成画像には含まれないARコンテンツが存在することを把握できる。例えば、報知を受けたユーザは、報知が行われなくなるまで、マーカーをより遠くから撮影する等の対処を行うことで、重畳表示不能であったARコンテンツを合成画像中に視認できるようになる。
[第二の実施例]
第一の実施例は、予め設定されたARコンテンツ位置情報(マーカー座標系)をカメラ座標系およびスクリーン座標系の座標値に変換した上で、ディスプレイに表示される画像データに重畳表示可能であるかを判定した。第二の実施例は、ARコンテンツに予め設定された位置座標(マーカー座標系)のまま、ディスプレイに表示される画像データに重畳表示可能であるかを判定する。
図17および図18は、第二の実施例の概要を説明するための図である。図17は、ユーザ110が撮像した画像がディスプレイに表示される際の画面イメージ図である。図18は、ユーザ120が撮像した画像がディスプレイに表示される際の画面イメージ図である。なお、ユーザ110およびユーザ120は、図5および図6におけるユーザ110およびユーザ120に対応する。また、ディスプレイの解像度は、第一の実施例と同様に、L×Hであるとする。
画像250には、マーカー201が、位置M1(Mx1,My1)を中心に、横Lx1,縦Ly1の大きさで写っている。よって、画像250の状態は、中心(Mx1,My1)からX座標の正の方向に、単位マーカー換算で、(L−Mx1)/Lx1の表示が可能である。また、画像250の状態は、中心M1(Mx1,My1)からX座標の負の方向に、単位マーカー換算で、Mx1/Lx1の表示が可能である。中心M1(Mx1,My1)からY座標の正の方向に、単位マーカー換算で、(H−My1)/Ly1の表示が可能であって、負の方向に、単位マーカー換算で、My1/Ly1の表示が可能である。
ここで、先に説明したとおり、マーカー座標系における単位座標は、画像から認識されたマーカー一つ分の大きさに相当する。つまり、ARコンテンツに予め設定された位置座標(マーカー座標系)において、Xm座標値が、Mx1/Lx1から(L−Mx1)/Lx1であって、Ym座標値が、My1/Ly1から(H−My1)/Ly1であれば、当該ARコンテンツはディスプレイ上に重畳表示される。
図17の例であれば、位置座標が、Xm座標値が−1から5.5までで、Ym座標値が−6.3から1までの値に設定されたARコンテンツであれば、重畳表示可能である。なお、図17の1メモリは、マーカー一つ分に相当する。
また、図18の例であれば、ARコンテンツに予め設定された位置座標(マーカー座標系)において、Xm座標値が、Mx2/Lx2から(L−Mx2)/Lx2であって、Ym座標値が、My2/Ly2から(H−My2)/Ly2であれば、ディスプレイに表示された画像250に、当該ARコンテンツは重畳表示される。位置座標が、Xm座標値が−1から3.3まで、Ym座標値が−4.25から1.25までの値に設定されたARコンテンツであれば、重畳表示可能である。
図17における画像250は、図7の合成画像210の元となる画像であるが、マーカー座標系で、Xm座標値が−1から5.5までで、Ym座標値が−6.3から1までの値に設定されたARコンテンツであれば、重畳表示される。一方、図18における画像260は、図8の合成画像220の元となる画像であるが、Xm座標値が−1から3.3まで、Ym座標値が−4.25から1.25までの値に設定されたARコンテンツであれば、重畳表示される。よって、図7における合成画像210には、ARコンテンツ204が重畳表示されるが、図8における合成画像220には、ARコンテンツ204は重畳表示されない。
図19は、第二の実施例にかかる情報処理装置20の機能ブロック図である。情報処理装置20は、通信部11、撮像部12、表示部13、記憶部14、制御部25を含む。なお、情報処理装置1の一例が、第二の実施例における情報処理装置20である。なお、第一の実施例に係る情報処理装置10における処理部と同様の処理を行う処理部については、同様の符号を付すとともに、説明を省略する。
制御部25は、情報処理装置20全体の処理を制御する。制御部25は、認識部26、生成部27、判定部28を有する。認識部26は、第一の実施例にかかる認識部16と同様に、マーカーを認識するとともに、マーカーの識別情報(マーカーID)を取得する。さらに、認識部26は、第一の実施例にかかる認識部16と同様に、撮像部12から取得した画像データにおけるマーカーの像に基づき、カメラ座標系におけるマーカーの位置座標および回転座標を算出する。さらに、認識部26は、マーカーの各辺の長さLx,Ly(ピクセル)および、マーカーの画像における中心点の座標(Mx,My)を取得するとともに、判定部28へ出力する。
生成部27は、判定部28により重畳表示可能であると判断されたARコンテンツについて、重畳表示するための像(画像データ)を生成する。具体的には、第一の実施例と同様に、生成部27は、認識部26によるマーカーの位置座標および回転座標を取得する。そして、生成部27は、位置座標および回転座標に基づく変換行列Tに基づき、重畳表示可能なARコンテンツについて、モデル−ビュー変換を行う。さらに、生成部27は、透視変換を行うことで、ARコンテンツの像の画像データを生成するとともに、合成画像データを生成する。
判定部28は、ARコンテンツの位置座標(マーカー座標系)と、画像データにおけるマーカーの像から算出される表示可能範囲との比較に応じて、ARコンテンツを画像データに重畳表示可能であるかを判定する。具体的には、図17および図18を用いて説明した手法が適用される。
さらに、図17および図18を用いて説明した手法を改良した、以下の手法が適用される。図17および図18においては、カメラとマーカーが正対した状態で撮影された場合の画像を例に説明したが、カメラとマーカーが正対した状態以外で、マーカーが撮影された場合には、画像におけるマーカーの各辺を、回転行列に応じて、回転させたうえで、先の方法と同様に、表示可能範囲とARコンテンツの位置座標との比較が行われる。
まず、判定部28は、認識部26からの出力を利用して、Xc軸周り、Yc軸周り、Zc軸周りの回転を0とした場合(マーカーと正対した状態)の画像が撮影されたと仮定した場合、当該画像におけるマーカーの1辺あたりの長さを求める。具体的には、判定部28は、画像データにおけるマーカーの長さ(Lx、Ly)と、Xc軸周りの回転角P1c、Yc軸周りの回転角Q1cを、式3に代入することで、正対して撮影した場合の画像におけるマーカーの各辺の長さLを算出する。
Figure 0006299234
本実施例においては、マーカーは正方形であるため、Xc軸周りおよびYc軸周りの回転を0とすることで、マーカーの1辺あたりの長さはXs軸およびYs軸方向ともにLで表される。また、マーカーは紙等に印刷された印刷物が採用され得るので、Zc方向の値(厚み)は0となる場合がある。しかし、これ以降では、式3により求められたLは、画像の奥行き方向のマーカーの1辺の長さとしても利用されるものとする。
続いて、判定部28は、正対した状態でマーカーを撮影した場合の画像データにおけるARコンテンツの配置位置を決定する。まず、判定部28は、実際に撮影された画像データを正対状態でマーカーを撮影した画像データに変換することによる、マーカー座標系における各軸の移動量を算出する。具体的には、式3で求められた長さLおよび式4を用いて、各軸方向の移動量(Lx’、Ly’、Lz’)を求める。、Rx,Ry,RzおよびTは、図20に示す、行列式に対応するが、P1cはXc軸回りの回転角であり、Q1cはYc軸回りの回転角であり、R1cはZc軸回りの回転角である。
Figure 0006299234
次に、判定部28は、式5を用いて、ARコンテンツ情報として保存された位置情報(Xm、Ym、Zm)を(Xm’、Ym’、Zm’)へ変換する。つまり、式4で求めた、各軸方向の移動量を、各々のARコンテンツの位置情報(Xm、Ym、Zm)に反映させることで、マーカーを仮想的に正対した状態で撮影した場合の画像データにおけるARコンテンツの配置位置を決定する。
Figure 0006299234
そして、判定部28は、Xm’座標値が、Mx/Lx’から(L−Mx)/Lx’であって、Ym’座標値が、My1/Ly’から(H−My)/Ly’であるか否かを判定する。さらに、判定部28は、仮想ディスプレイを設定する距離よりも手前に、ARコンテンツが設定されているかを判定する。例えば、仮想ディスプレイの設定位置をマーカーN個分としている場合には、Zm’座標が、(N×Lz’−Mz)/Lz’よりも大きいかを判定する。
判定部28は、ARコンテンツ情報およびテンプレート情報を参照しながら、ARコンテンツを構成する各点について、上記の判定を行う。そして、ARコンテンツが、重畳表示可能であるか否かの判定の結果を、生成部27へ出力する。なお、第一の実施例と同様、判定部28は、すべての点が表示可能範囲内であるARコンテンツと、一部の点が重畳表示可能範囲内となるARコンテンツと、いずれの点も重畳表示可能範囲内とならないARコンテンツとを識別してもよい。
次に、情報処理装置20による処理の流れを説明する。図21および図22は、第二の実施例にかかる表示制御方法の処理フローである。なお、コンピュータが、表示制御プログラムを実行することで、表示制御方法が実行される。
制御部25は、表示制御プログラムが起動されると、前処理を行なう(Op.201)。第二の実施例にかかる前処理は、第一の実施例にかかる前処理(Op.101)と同様である。そして、認識部26は、記憶部14に設けられたバッファに格納された画像データを取得する(Op.203)。そして、認識部26は、第一の実施例と同様に、取得した画像データに対して、マーカー認識を行う(Op.205)。
マーカーが認識されなかった場合には(Op.205No)、制御部25は、第一の実施例におけるOp.135と同様に、表示制御処理を終了するか否かを判定する(Op.247)。表示制御処理を終了する場合には(Op.247Yes)、制御部15は、一連の表示制御処理を終了する。一方、表示制御処理を終了しない場合には(Op.247No)、制御部25はOp.203に戻り、新たな画像データに対して、Op.203以降の処理を繰りかえる。
一方、マーカーを認識した場合には(Op.205Yes)、認識部26は、第一の実施例と同様に、マーカーのマーカーIDの読みとりを行なう(Op.207)。次に、認識部26は、第一の実施例と同様に、画像データにおけるマーカーの像の形状や大きさに基づき、カメラ座標系におけるマーカーの位置座標および回転座標を算出する(Op.209)。認識部26は、算出した位置座標および回転座標、さらには、マーカーIDを、判定部28へ出力する。
また、認識部26は、画像データにおけるマーカーの像から、画像におけるマーカーの中心座標(Mx,My)を算出する(Op.211)。さらに、認識部26は、式3を用いて、画像データにおけるマーカーの各辺の長さ(Lx,Ly,Lz)を、正対した状態でマーカーを撮影した場合の画像データにおけるマーカーの各辺の長さLを求める(Op.213)。そして、マーカーの中心座標(Mx,My)および各辺の長さLは、判定部28へ出力される。
次に、判定部28は、上記式4を利用して、各軸の移動量(Lx’、Ly’、Lz’)を算出する(Op.215)。次に、判定部28は、認識部26から取得したマーカーIDをキーに、当該マーカーIDを含むARコンテンツ情報を取得する(Op.217)。さらに、ARコンテンツ情報に含まれるテンプレートIDをキーに、対応するテンプレート情報も、テンプレート情報を記憶するデータテーブルより取得される。
そして、判定部28は、処理対象の点を設定する(Op.219)。なお、ここでは、ARコンテンツの各点を、ARコンテンツ情報にて規定された基準点の位置座標(マーカー座標系)とテンプレート情報とに基づき、判定部28は、ARコンテンツの各点の位置座標(Xm,Ym,Zm)を求める。そして、そのうちのいずれかの点を処理対象に設定する。
そして、処理対象の点につき、判定部28は、位置座標(Xm,Ym,Zm)を、式5を利用して、位置座標(Xm’、Ym’、Zm’)へ変換する(Op.221)。判定部28は、当該位置情報(Xm’、Ym’、Zm’)を用いて、ARコンテンツをディスプレイの表示可能範囲内に重畳表示可能であるかを判定する(Op.223)。
ここでは、先に説明したとおり、Xm’座標値が、Mx/Lx’から(L−Mx)/Lx’であって、Ym’座標値が、My1/Ly’から(H−My)/Ly’であって、かつZm’座標が、(N×Lz’−Mz)/Lz’よりも大きい場合に、処理対象の点は、ディスプレイ上に表示可能と判断される。
ARコンテンツにおける処理対象の点の部分が重畳表示可能でない場合には(Op.223No)、対象の点を含むARコンテンツについて、重畳表示不能と判断する(Op.227)。一方、ARコンテンツにおける処理対象の点の部分が重畳表示可能である場合には(Op.223Yes)、判定部28は、未処理の点があるか判定する(Op.225)。未処理の点がある場合には(Op.225Yes)、新たに処理対象の点を設定する(Op.219)。
未処理の点がない場合(Op.225No)、つまり、すべての点について重畳表示可能と判断された場合には、判定部28は、当該ARコンテンツについて、重畳表示可能と判断する(Op.229)。第一の実施例と同様に、すべての点が重畳表示可能であるARコンテンツと、一部の点が重畳表示可能であるARコンテンツと、すべての点が重畳表示不能であるARコンテンツとを、3つの種類で識別してもよい。
次に、判定部28は、Op.207で取得したマーカーIDに関連するすべてのARコンテンツ情報について、重畳表示可能かの判定を行ったか判断する(Op.231)。すべてのARコンテンツ情報を処理していない場合には(Op.231No)、制御部25は、Op.217以降の処理を行う。
一方、すべてのARコンテンツ情報を処理した場合には(Op.231Yes)、判定部28は、重畳表示不能なARコンテンツの有無を判定する(Op.233)。重畳表示不能はARコンテンツがある場合には(Op.233Yes)、判定部28は、報知処理を実行する(Op.235)。例えば、第一の実施例と同様に、判定部28は、表示部13を制御して、警告メッセージを表示したり、図示しない音声出力部を制御して、警告メッセージの音声を出力する。例えば、図15や図16に示す表示が行われる。
報知処理実行後、または重畳表示不能なARコンテンツがない場合(Op.233No)、生成部27は、判定部28から取得した、判定結果に基づき、重畳表示可能なARコンテンツがあるかを判定する(Op.237)。重畳表示可能なARコンテンツがある場合(Op.237Yes)、判定部28を経由して認識部26から取得した位置座標および回転座標を用いて、変換行列Tを生成するとともに、変換行列Tを用いて、テンプレート情報に定義された各点について、モデル−ビュー変換を行う(Op.239)。さらに、生成部27は、カメラ座標系であらわされた各点の座標を、スクリーン座標系へ変換する(Op.241)。ここで、生成部27は、透視変換後のARコンテンツの座標値と、テンプレート情報(テクスチャ情報等)に基づき、ARコンテンツの像の画像データを生成する。
そして、生成部27は、他に重畳表示可能なARコンテンツがあるかを判定する(Op.243)。ほかに重畳表示可能なARコンテンツがある場合には(Op.243No)、生成部27は、他のARコンテンツ情報に基づきOp.239以降の処理を実施する。一方、他に重畳表示可能なARコンテンツがない場合には(Op.243Yes)、表示部13は、合成画像データを表示する(Op.245)。そして、合成画像データを表示後、または、Op.237にて重畳表示可能なARコンテンツがないと判断された場合(Op.237No)、制御部25は、処理を終了するか否かを判定し(Op.247)、処理を終了する旨の入力があった場合には(Op.247Yes)、一連の表示制御処理を終了する。
以上のように。本実施例に開示の情報処理装置20は、重畳表示不能なARコンテンツが存在した場合、その旨をユーザに報知することができる。したがって、ユーザは、自身がディスプレイ(表示部13)上で視認している合成画像には含まれないARコンテンツが存在することを把握できる。
さらに、第二の実施例にかかる情報処理装置20は、重畳表示可能なARコンテンツを予め特定した上で、当該重畳表示可能なARコンテンツにつき、合成画像データとして表示すべき像の画像データを生成する。よって、重畳表示可能と判断されたARコンテンツに対してのみ、モデル−ビュー変換や透視変換の処理を実行する。つまり、第一の実施例と比較して、処理量を軽減できる場合がある。
[ハードウェア構成例]
各実施例に示した情報処理装置1および管理装置3のハードウェア構成について説明する。図23は、各実施例の情報処理装置のハードウェア構成例である。各実施例における情報処理装置1(情報処理装置10および情報処理装置20)は、コンピュータ300によって、実現される。図10及び図19に示す機能ブロックは、例えば、図23に示すハードウェア構成により実現される。コンピュータ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にアクセスする態様でもよい。通信インターフェース310の一例は、ネットワーク・インタフェース・カード(NIC)である。入力インターフェース306は、入力デバイス307と接続されており、入力デバイス307から受信した入力信号をプロセッサ301に伝達する。出力インターフェース308は、出力デバイス309と接続されており、出力デバイス309に、プロセッサ301の指示に応じた出力を実行させる。入力インターフェース306および出力インターフェース308の一例は、I/Oコントローラである。
入力デバイス307は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ300の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス309は、プロセッサ301の制御に応じて情報を出力する装置である。出力デバイス309は、例えば、スピーカーなどの音声出力装置などである。
表示インターフェース314は、表示デバイス315と接続されている。表示インターフェース314は、表示インターフェース314に設けられた表示用バッファにプロセッサ301により書き込まれた画像情報を、表示デバイス315に表示させる。表示インターフェース314の一例は、グラフィックカードやグラフィックチップである。表示デバイス315は、プロセッサ301の制御に応じて情報を出力する装置である。表示デバイス315は、ディスプレイなどの画像出力装置や、透過型ディスプレイなどが用いられる。
透過型ディスプレイが用いられる場合には、ARコンテンツの投影画像は、撮像画像と合成されるのではなく、例えば透過型ディスプレイ内の適切な位置に表示されるように制御されてもよい。これにより、ユーザは、現実空間とARコンテンツが整合した状態の視覚が得られる。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス307及び表示デバイス315として用いられる。また、入力デバイス307及び表示デバイス315が、コンピュータ300内部に組み込まれる代わりに、例えば、入力デバイス307及び表示デバイス315が、コンピュータ300に外部から接続されてもよい。
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つである。また、例えば、コンピュータ300は、コンピュータ300内の記憶媒体305の種類に対応したドライブ装置304を含む。
カメラモジュール311は、撮像素子(イメージセンサ)を含み、撮像素子が光電変換して得られたデータを、カメラモジュール311に含まれる入力画像用の画像バッファに書き込む。加速度センサ312は、加速度センサ312に対して作用する加速度を計測する。角速度センサ313は、角速度センサ313による動作の角速度を計測する。
プロセッサ301は、ROM303や記憶媒体305に記憶されたプログラムをRAM302に読み出し、読み出されたプログラムの手順に従って処理を行なう。例えば、制御部15の機能は、プロセッサ301が、図13および図14に示される処理が規定された表示制御プログラムに基づいて、他のハードウェアの制御を行なうことにより実現される。また、例えば、制御部25の機能は、プロセッサ301が、図21および図22に示される処理が規定された表示制御プログラムに基づいて、他のハードウェアの制御を行なうことにより実現される。
通信部11の機能は、プロセッサ301が、通信インターフェース310を制御してデータ通信を実行させ、受信したデータを記憶媒体305に格納させることにより実現される。撮像部12の機能は、カメラモジュール311が入力画像用の画像バッファに画像データを書込み、入力画像用の画像バッファ内の画像データをプロセッサ301が読み出すことにより実現される。画像データは、モニタリングモードにおいては、例えば、入力画像用の画像バッファに書き込まれるとともに、表示デバイス315の表示用バッファに並行して書き込まれる。
また、表示部13の機能は、プロセッサ301により生成された画像データが表示インターフェース314に備えられた表示用バッファに書き込まれ、表示デバイス315が表示用バッファ内の画像データの表示を行なうことにより実現される。記憶部14の機能は、ROM303および記憶媒体305がプログラムファイルやデータファイルを記憶すること、また、RAM302がプロセッサ301のワークエリアとして用いられることによって実現される。例えば、ARコンテンツ情報、テンプレート情報などがRAM302に格納される。
次に、図24は、コンピュータ300で動作するプログラムの構成例を示す。コンピュータ300において、ハードウェア群の制御を行なうOS(オペレーティング・システム)502が動作する。OS502に従った手順でプロセッサ301が動作して、ハードウェア501の制御・管理が行なわれることで、AP(アプリケーションプログラム)504やMW(ミドルウェア)503による処理がHW(ハードウェア)501上で実行される。
コンピュータ300において、OS502、MW503及びAP504などのプログラムは、例えば、RAM302に読み出されてプロセッサ301により実行される。また、各実施例に示した表示制御プログラムは、例えば、MW503としてAP504から呼び出されるプログラムである。
または、例えば、表示制御プログラムは、AP504としてAR機能を実現させるプログラムである。表示制御プログラムは、記憶媒体305に記憶される。記憶媒体305は、本実施例に係る表示制御プログラム単体または、他のプログラムを含むAR制御プログラムを記憶した状態で、コンピュータ300本体と切り離して流通され得る。
次に、各実施例における管理装置3のハードウェア構成について説明する。図25は、管理装置3のハードウェア構成例である。管理装置3は、コンピュータ400によって、実現される。管理装置3は、例えば、図25に示すハードウェア構成により実現される。
コンピュータ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に読み出し、読み出された管理プログラムの手順に従って処理を行なう。その際にRAM402はプロセッサ401のワークエリアとして用いられる。なお、管理プログラムは、管理装置3の管理機能にかかるプログラムであって、管理装置3側で表示制御を行う場合には各実施例にかかる表示制御プログラムも含まれる。
ROM403および記憶媒体405が、プログラムファイルやデータファイルを記憶すること、もしくは、RAM402がプロセッサ401のワークエリアとして用いられることによって、管理装置3は、各種情報を記憶する。また、プロセッサ401が、通信インターフェース410を制御して通信処理を行なう。
[変型例]
開示した実施例における他の態様では、透過型ディスプレイにARコンテンツCの投影画像が表示されてもよい。この態様においても、ユーザがディスプレイを透過して得られる現実空間の像と、ARコンテンツの投影画像とが整合するので、ユーザに提供される視覚的な情報が拡張される。
1、10、20 情報処理装置
11 通信部
12 撮像部
13 表示部
14 記憶部
15、25 制御部
16、26 認識部
17、27 生成部
18、28 判定部
3 管理装置

Claims (9)

  1. 表示装置に表示すべき画像データに特定の画像データが含まれている場合、特定の画像データに対応する他の画像データを重畳して表示する表示制御方法であって、
    コンピュータが、
    複数の前記他の画像データの各々について、前記表示装置上に表示される前記特定の画像データの表示位置に基づいて、前記特定の画像データに対して予め決められた位置に、前記他の画像データを重畳して表示可能かを判定し、
    複数の前記他の画像データの中の少なくとも一つが表示不能であると判定した場合に、表示不能な前記他の画像データの個数の情報を含む警告を出力することを特徴とする表示制御方法。
  2. 前記特定の画像データに基づき、前記特定の画像データにかかる物体と、前記画像データを撮影する撮影装置との位置関係とを算出し、
    前記位置関係と、前記他の画像データに対して予め決定されている前記位置とに基づき、前記表示装置に前記他の画像データを表示する際の表示位置を算出し、
    前記表示位置と、前記表示装置の表示可能範囲とに基づき、前記他の画像データを重畳して表示可能かを判定することを特徴とする請求項1記載の表示制御方法。
  3. 前記他の画像データに対して予め決定された前記位置は、前記特定の画像データにかかる像の大きさを単位量とした場合の位置であって、
    前記像の大きさに基づき、前記表示装置の表示可能範囲を、前記像の大きさを単位量とした場合他の表示可能範囲に変換し、
    前記他の表示可能範囲と前記位置とに基づき、前記他の画像データを重畳して表示可能かを判定することを特徴とする請求項1記載の表示制御方法。
  4. 前記他の画像データを重畳して表示可能であると判断した場合に、前記物体と、前記画像データを撮影する撮影装置との位置関係とを算出し、
    前記位置関係と前記位置とに基づき、前記表示装置に前記他の画像データを表示する際の表示位置を算出し、
    前記画像データを表示する前記表示装置の前記表示位置に、前記他の画像データを表示させることを特徴とする請求項3記載の表示制御方法。
  5. 前記他の画像データを重畳して表示可能かを判定する際に、前記他の画像データの全体を重畳表示可能である第一の状態、前記他の画像データの一部分を重畳表示可能である第二の状態、前記他の画像データの全体を重畳表示不能である第三の状態のいずれであるかを判定することを特徴とする請求項1乃至請求項4のいずれか一項に記載の表示制御方法。
  6. 前記他の画像データとして、第一の画像データおよび第二の画像データを、前記特定の画像データに対応付けて記憶し、
    前記第一の画像データおよび前記第二の画像データ各々について、重畳表示可能であるかを判定し、
    前記第一の画像データおよび前記第二の画像データのいずれか一方が、重畳表示不能であると判定された場合には、報知することを特徴とする請求項1乃至請求項5のいずれか一項に記載の表示制御方法。
  7. 前記他の画像データは、ユーザに実施させる作業内容を示すデータであることを特徴とする請求項1乃至請求項6のいずれか一項に記載の表示制御方法。
  8. 表示装置に表示すべき画像データに特定の画像データが含まれている場合、特定の画像データに対応する他の画像データを重畳して表示する情報処理装置であって、
    複数の前記他の画像データの各々について、前記表示装置上に表示される前記特定の画像データの表示位置に基づいて、前記特定の画像データに対して予め決められた位置に、前記他の画像データを重畳して表示可能かを判定し、
    複数の前記他の画像データの中の少なくとも一つが表示不能であると判定した場合に、表示不能な前記他の画像データの個数の情報を含む警告を出力する制御部を有することを特徴とする情報処理装置。
  9. 表示装置に表示すべき画像データに特定の画像データが含まれている場合、特定の画像データに対応する他の画像データを重畳して表示させる表示制御プログラムであって、
    コンピュータに、
    複数の前記他の画像データの各々について、前記表示装置上に表示される前記特定の画像データの表示位置に基づいて、前記特定の画像データに対して予め決められた位置に、前記他の画像データを重畳して表示可能かを判定し、
    複数の前記他の画像データの中の少なくとも一つが表示不能であると判定した場合に、表示不能な前記他の画像データの個数の情報を含む警告を出力する処理を実行させることを特徴とする表示制御プログラム。
JP2014010426A 2014-01-23 2014-01-23 表示制御方法、情報処理装置、および表示制御プログラム Expired - Fee Related JP6299234B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014010426A JP6299234B2 (ja) 2014-01-23 2014-01-23 表示制御方法、情報処理装置、および表示制御プログラム
US14/575,272 US9792731B2 (en) 2014-01-23 2014-12-18 System and method for controlling a display
AU2014277858A AU2014277858B2 (en) 2014-01-23 2014-12-22 System and method for controlling a display
EP14200058.7A EP2899629A1 (en) 2014-01-23 2014-12-23 System and method for controlling a display
CN201510013200.5A CN104808956B (zh) 2014-01-23 2015-01-12 用于控制显示的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014010426A JP6299234B2 (ja) 2014-01-23 2014-01-23 表示制御方法、情報処理装置、および表示制御プログラム

Publications (2)

Publication Number Publication Date
JP2015138445A JP2015138445A (ja) 2015-07-30
JP6299234B2 true JP6299234B2 (ja) 2018-03-28

Family

ID=52434483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014010426A Expired - Fee Related JP6299234B2 (ja) 2014-01-23 2014-01-23 表示制御方法、情報処理装置、および表示制御プログラム

Country Status (5)

Country Link
US (1) US9792731B2 (ja)
EP (1) EP2899629A1 (ja)
JP (1) JP6299234B2 (ja)
CN (1) CN104808956B (ja)
AU (1) AU2014277858B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160086372A1 (en) * 2014-09-22 2016-03-24 Huntington Ingalls Incorporated Three Dimensional Targeting Structure for Augmented Reality Applications
US20160203645A1 (en) * 2015-01-09 2016-07-14 Marjorie Knepp System and method for delivering augmented reality to printed books
JP2017181374A (ja) * 2016-03-31 2017-10-05 三井住友建設株式会社 表面高さ表示方法
JP2018005091A (ja) * 2016-07-06 2018-01-11 富士通株式会社 表示制御プログラム、表示制御方法および表示制御装置
JP7098870B2 (ja) * 2016-07-25 2022-07-12 富士フイルムビジネスイノベーション株式会社 測色システム、画像生成装置、および、プログラム
US20180268614A1 (en) * 2017-03-16 2018-09-20 General Electric Company Systems and methods for aligning pmi object on a model
JP6395012B1 (ja) * 2017-03-17 2018-09-26 ラスパンダス株式会社 コンピュータプログラム
JP2018195254A (ja) * 2017-05-22 2018-12-06 富士通株式会社 表示制御プログラム、表示制御装置及び表示制御方法
JP7097197B2 (ja) * 2018-03-07 2022-07-07 三菱重工業株式会社 検査システムおよび検査方法
JP6387471B1 (ja) * 2018-03-12 2018-09-05 Scsk株式会社 表示プログラム、格納プログラム、表示システム、及び格納システム
CN109348209B (zh) * 2018-10-11 2021-03-16 北京灵犀微光科技有限公司 增强现实显示装置和视觉标定方法
US11308700B2 (en) * 2020-04-06 2022-04-19 Saudi Arabian Oil Company Augmented reality visualization of underground pipelines using geospatial databases and KM markers
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

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182541A3 (de) * 2000-08-22 2005-11-30 Siemens Aktiengesellschaft System und Verfahren zum kombinierten Einsatz verschiedener Display-/Gerätetypen mit systemgesteuerter kontextabhängiger Informationsdarstellung
JP4537557B2 (ja) 2000-09-19 2010-09-01 オリンパス株式会社 情報呈示システム
JP2004048674A (ja) 2002-05-24 2004-02-12 Olympus Corp 視野一致型情報呈示システム、並びに、それに用いられる携帯情報端末及びサーバ
JP4500632B2 (ja) 2004-09-07 2010-07-14 キヤノン株式会社 仮想現実感提示装置および情報処理方法
JP5176311B2 (ja) * 2006-12-07 2013-04-03 ソニー株式会社 画像表示システム、表示装置、表示方法
US8239132B2 (en) 2008-01-22 2012-08-07 Maran Ma Systems, apparatus and methods for delivery of location-oriented information
JP5315111B2 (ja) * 2009-03-31 2013-10-16 株式会社エヌ・ティ・ティ・ドコモ 端末装置、情報提示システム及び端末画面表示方法
JP5419654B2 (ja) 2009-12-01 2014-02-19 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
KR100989663B1 (ko) * 2010-01-29 2010-10-26 (주)올라웍스 단말 장치의 시야에 포함되지 않는 객체에 대한 정보를 제공하기 위한 방법, 단말 장치 및 컴퓨터 판독 가능한 기록 매체
JP5544250B2 (ja) * 2010-09-02 2014-07-09 エヌ・ティ・ティ・コムウェア株式会社 表示画像検索方法
JP2012065263A (ja) * 2010-09-17 2012-03-29 Olympus Imaging Corp 撮影機器
JP5814532B2 (ja) 2010-09-24 2015-11-17 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法
WO2012056727A1 (ja) * 2010-10-29 2012-05-03 パナソニック株式会社 コミュニケーションサービスシステム
JP5661808B2 (ja) * 2011-01-18 2015-01-28 京セラ株式会社 携帯端末及び携帯端末の制御方法
JP5812628B2 (ja) * 2011-02-25 2015-11-17 任天堂株式会社 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
JP5755915B2 (ja) * 2011-03-18 2015-07-29 新日鉄住金ソリューションズ株式会社 情報処理装置、拡張現実感提供方法、及びプログラム
JP5724543B2 (ja) 2011-03-31 2015-05-27 ソニー株式会社 端末装置、オブジェクト制御方法及びプログラム
JP5821526B2 (ja) * 2011-10-27 2015-11-24 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
BR112014010230A8 (pt) * 2011-10-28 2017-06-20 Magic Leap Inc sistema e método para realidade virtual e aumentada
JP6121647B2 (ja) * 2011-11-11 2017-04-26 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP5189673B1 (ja) * 2011-11-16 2013-04-24 株式会社コナミデジタルエンタテインメント 表示装置、表示方法、ならびに、プログラム
JP6065370B2 (ja) * 2012-02-03 2017-01-25 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP5602779B2 (ja) 2012-03-08 2014-10-08 株式会社 日立産業制御ソリューションズ 現場見取図作成システムおよびレーザ計測装置
JP5983053B2 (ja) * 2012-06-01 2016-08-31 コニカミノルタ株式会社 ガイダンス表示システム、ガイダンス表示装置、ガイダンス表示方法、およびガイダンス表示プログラム
JP5971335B2 (ja) * 2012-06-12 2016-08-17 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9613461B2 (en) * 2012-12-10 2017-04-04 Sony Corporation Display control apparatus, display control method, and program
JP6028555B2 (ja) 2012-12-12 2016-11-16 ソニー株式会社 情報処理装置、プログラム及び情報処理方法
US9129430B2 (en) 2013-06-25 2015-09-08 Microsoft Technology Licensing, Llc Indicating out-of-view augmented reality images
US9256072B2 (en) 2013-10-02 2016-02-09 Philip Scott Lyren Wearable electronic glasses that detect movement of a real object copies movement of a virtual object
JP6393986B2 (ja) * 2013-12-26 2018-09-26 セイコーエプソン株式会社 頭部装着型表示装置、画像表示システム、および、頭部装着型表示装置の制御方法

Also Published As

Publication number Publication date
CN104808956B (zh) 2019-02-22
EP2899629A1 (en) 2015-07-29
AU2014277858A1 (en) 2015-08-06
AU2014277858B2 (en) 2016-01-28
US9792731B2 (en) 2017-10-17
US20150206352A1 (en) 2015-07-23
CN104808956A (zh) 2015-07-29
JP2015138445A (ja) 2015-07-30

Similar Documents

Publication Publication Date Title
JP6299234B2 (ja) 表示制御方法、情報処理装置、および表示制御プログラム
JP6264972B2 (ja) 表示装置、表示制御プログラム、および表示制御方法
JP6265027B2 (ja) 表示装置、位置特定プログラム、および位置特定方法
JP6264834B2 (ja) ガイド方法、情報処理装置およびガイドプログラム
US9710971B2 (en) Information processing device, position designation method and storage medium
JP5991423B2 (ja) 表示装置、表示方法、表示プログラムおよび位置設定システム
JP6314394B2 (ja) 情報処理装置、設定方法、設定プログラム、システムおよび管理装置
JP6500355B2 (ja) 表示装置、表示プログラム、および表示方法
US9792730B2 (en) Display control method, system and medium
JP6160290B2 (ja) 情報処理装置、判定方法および判定プログラム
JP2010287174A (ja) 家具シミュレーション方法、装置、プログラム、記録媒体
JP6394107B2 (ja) キャリブレーション装置、キャリブレーション方法、表示制御装置および表示制御方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170908

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: 20180130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180212

R150 Certificate of patent or registration of utility model

Ref document number: 6299234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees