(57)【要約】【課題】一側面として、遂行される業務プロセスに応じてＡＲコンテンツを個別に提供することを目的とする。【解決手段】一態様によれば、表示制御装置は、複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得する取得部と、取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部と、を含む。【選択図】  図９
2014215646.tif 000002
【特許請求の範囲】
【請求項１】
複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得する取得部と、
取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部と、
を含むことを特徴とする表示制御装置。
【請求項２】
前記第１の作業内容は、入力に応じて前記複数の作業内容から選択され、
前記入力は、前記第１の作業内容を指定する情報または前記第１の作業内容に示される作業の実行主体を指定する情報である、
ことを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記制御部は、前記取得部が前記１または複数の表示データの取得を開始した後に前記基準物を認識した場合に、前記制御を行なう、
ことを特徴とする請求項１または請求項２に記載の表示制御装置。
【請求項４】
前記１または複数の表示データは、前記表示データ群のうち、前記第１の作業内容および前記第１の作業内容に示される作業の実行主体の組み合わせに関連付けられた表示データである、
ことを特徴とする請求項１〜３のいずれか１項に記載の表示制御装置。
【請求項５】
前記１または複数の表示データは、第１の基準物に対応する第１の表示データと、第２の基準物に対応する第２の表示データとを含み、
前記制御部は、前記第１の基準物を認識した場合に、前記第１の表示データを前記第１の基準物に基づく表示態様で表示させ、前記第２の基準物を認識した場合に、前記第２の表示データを前記第２の基準物に基づく表示態様で表示させる制御を行なう、
ことを特徴とする請求項１〜４のいずれか１項に記載の表示制御装置。
【請求項６】
前記第１の作業内容は、順序性を有する複数の工程を含み、
前記第１の表示データに、前記複数の工程のうちの第１の工程が関連付けられており、
前記制御部は、前記第１の基準物を認識した工程が前記第１の工程である場合に、前記第１の表示データを、前記第１の基準物に基づく表示態様で表示させる、
ことを特徴とする請求項５に記載の表示制御装置。
【請求項７】
前記１または複数の表示データは、第１の基準物に対応する第３の表示データをさらに含み、
前記第３の表示データに、前記複数の工程のうちの第２の工程が関連付けられており、
前記制御部は、前記第１の基準物を認識した工程が前記第１の工程である場合に、前記第３の表示データの少なくとも一部の表示を抑止する、
ことを特徴とする請求項６に記載の表示制御装置。
【請求項８】
前記制御部は、前記１または複数の表示データに、前記第１の基準物を認識した工程と関連付けられた表示データが含まれない場合に、表示対象の表示データが存在しない旨を示す表示を行なう、
ことを特徴とする請求項６または請求項７に記載の表示制御装置。
【請求項９】
前記制御部は、前記第１の作業内容における工程の進行または後退を、前記画像認識により認識された前記基準物に基づいて判断する、
ことを特徴とする請求項６〜８のいずれか１項に記載の表示制御装置。
【請求項１０】
前記制御部は、前記基準物の認識または非認識の状態が切り替わる際の前記基準物の移動方向に応じて、前記工程の進行または後退を行なう、
ことを特徴とする請求項９に記載の表示制御装置。
【請求項１１】
前記認識または非認識の状態は、前記基準物が前記画像認識の対象画像に対してフレームインまたはフレームアウトすることにより切り替えられる、
ことを特徴とする請求項１０に記載の表示制御装置。
【請求項１２】
前記制御部は、指標画像を表示させ、
前記制御部は、前記基準物が前記指標画像の表示位置に表示されると、前記工程の進行または後退を行なう、
ことを特徴とする請求項９に記載の表示制御装置。
【請求項１３】
前記制御部は、前記基準物が所定の角度以上回転した状態で認識されると、前記工程の進行または後進を行なう、
ことを特徴とする請求項９に記載の表示制御装置。
【請求項１４】
コンピュータに、
複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得し、
取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
ことを実行させることを特徴とする表示制御方法。
【請求項１５】
コンピュータに、
複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得し、
取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
処理を実行させることを特徴とする表示制御プログラム。
【請求項１６】
第１のコンピュータ及び第２のコンピュータを含む情報提供システムであって、
前記第１のコンピュータは、
複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを前記第２のコンピュータに送信する送信部を含み、
前記第２のコンピュータは、
前記１または複数の表示データを受信する受信部と、
受信した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
ことを特徴とする情報提供システム。
【請求項１７】
前記第２のコンピュータは、
前記第１の作業内容を示す識別情報を選択させる選択部と、
画像認識により認識された基準物に対応付けて、第１の表示データの前記基準物を基準とする位置を示す位置情報を設定する設定部と、
前記基準物に対応付けて前記位置情報が設定された前記第１の表示データを、選択された前記識別情報に示される前記第１の作業内容と関連付けて送信する送信部と、をさらに含み、
前記１または複数の表示データは、前記第１の表示データを含む、
ことを特徴とする請求項１６に記載の情報提供システム。
【請求項１８】
作業内容を示す識別情報を選択させる選択部と、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定する設定部と、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける管理部と、
を含むことを特徴とする情報設定装置。
【請求項１９】
コンピュータに、
作業内容を示す識別情報を選択させ、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定し、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける、
ことを実行させることを特徴とする情報設定方法。
【請求項２０】
コンピュータに、
作業内容を示す識別情報を選択させ、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定し、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける、
処理を実行させることを特徴とする情報設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示による情報提供を行なう技術に関する。
【背景技術】
【０００２】
現実空間に対応する３次元の仮想空間上に配置された３次元物体のモデルデータを、撮像画像に重ねて表示することが行なわれる。この技術は、人間の知覚（視覚など）により収集される情報を拡張させるため、拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ：ＡＲ）などと呼ばれる。ＡＲに用いられる３次元物体のモデルデータはＡＲコンテンツなどと呼ばれる。
【０００３】
ＡＲコンテンツには、現実空間に存在する基準物（例えばＡＲマーカーなど）を基準とする仮想空間上の位置座標が設定される。また、撮像装置と基準物との位置関係は、撮像画像に写り込んだ基準物の像に基づいて判断される。ＡＲコンテンツの基準物を基準として設定された位置座標と、撮像装置−基準物間の位置関係とに応じて、撮像装置を基準としたＡＲコンテンツの位置が求められる。撮像装置に対するＡＲコンテンツの位置に基づいてＡＲコンテンツの投影画像が生成され、生成された投影画像が撮像画像に重ねて表示される。投影画像が撮像画像に写り込む現実空間の像と整合することにより、ＡＲコンテンツに示される３次元物体が現実空間内に存在するように表示される。
【０００４】
また、ある技術によれば、１つの基準物に対応付けられたＡＲコンテンツの各々に提供可能期間や提供可能区域などの条件が設定されており、基準物を認識した際の時間や位置により満たされる条件が設定されたＡＲコンテンツが表示される（例えば、特許文献１など参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２１５９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＡＲコンテンツを表示させる技術は、業務プロセスの遂行支援などに利用される。業務プロセスとは、企業などの組織において行なわれる一連の作業である。業務プロセスに含まれる作業のガイドや申し送り事項などを示すＡＲコンテンツが表示されることにより、ユーザに作業の補助が提供され、ユーザによる業務プロセスの遂行が支援される。
【０００７】
組織による活動においては、複数の業務プロセスが遂行される。例えば、組織において、組織の主業務である基幹系の業務プロセス（例えば製造業の企業における製造プロセスなど）が行なわれるとともに、基幹系の業務プロセスを支援する支援系の業務プロセス（例えば製造装置の点検プロセスなど）も行なわれる。また、業務プロセスの遂行支援を行なうＩＴシステムにおいては、同じ業務プロセスであっても、業務プロセスを実行するユーザによって異なる業務プロセスとして定義される。これは、例えば、熟練作業者が遂行する点検プロセスと、作業初心者が遂行する点検プロセスとで、遂行支援の内容が異なるためである。
【０００８】
ＡＲコンテンツの表示による複数の業務プロセスの遂行支援が行なわれると、複数の業務プロセス全体に関するＡＲコンテンツが提供され、ユーザが遂行中の業務プロセス以外の業務プロセスの作業に関する補助までも表示されてしまう。また、上述の技術により、位置や時間を条件として表示するＡＲコンテンツを定めても、互いに異なる業務プロセスを並行して遂行する複数のユーザに対して同じＡＲコンテンツが提供されてしまい、個別の業務プロセスに応じたＡＲコンテンツが提供されなくなってしまう。
【０００９】
本発明の一側面において、遂行される業務プロセスに応じてＡＲコンテンツを個別に提供することを目的とする。
【課題を解決するための手段】
【００１０】
一態様によれば、表示制御装置は、複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得する取得部と、取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部と、を含む。
【００１１】
一態様によれば、情報提供システムは、第１のコンピュータ及び第２のコンピュータを含み、前記第１のコンピュータは、複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを前記第２のコンピュータに送信する送信部を含み、前記第２のコンピュータは、前記１または複数の表示データを受信する受信部と、受信した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう。
【００１２】
一態様によれば、情報管理装置は、作業内容を示す識別情報を選択させる選択部と、画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定する設定部と、前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける管理部と、を含む。
【発明の効果】
【００１３】
一側面によれば、遂行される業務プロセスに応じてＡＲコンテンツを個別に提供することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、カメラ座標系とマーカー座標系との関係を示す。
【図２】図２は、カメラ座標系とマーカー座標系とにおけるＡＲコンテンツの例を示す。
【図３】図３は、マーカー座標系からカメラ座標系への変換行列Ｅと、変換行列Ｅ内の回転行列Ｒを示す。
【図４】図４は、回転行列Ｒ１、Ｒ２およびＲ３を示す。
【図５】図５は、ＡＲコンテンツの表示例を示す。
【図６】図６は、ＡＲコンテンツ提供のシーケンス例を示す。
【図７】図７は、ＡＲコンテンツ提供のシーケンス例を示す。
【図８】図８は、ＡＲコンテンツの表示例を示す。
【図９】図９は、ＡＲコンテンツのグループを示す。
【図１０】図１０は、ＡＲ定義データのデータ構造例を示す。
【図１１】図１１は、ＡＲコンテンツの表示例を示す。
【図１２】図１２は、ＡＲコンテンツのグループを示す。
【図１３】図１３は、ＡＲ定義データのデータ構造例を示す。
【図１４】図１４は、ＡＲコンテンツの表示例を示す。
【図１５】図１５は、ＡＲコンテンツ提供のシーケンス例を示す。
【図１６】図１６は、コンピュータ１の機能ブロック構成例を示す。
【図１７】図１７は、ＡＲ機能の処理手順例を示す。
【図１８】図１８は、ＡＲ機能の処理手順例を示す。
【図１９】図１９は、モード選択画面およびシナリオ選択画面の例を示す。
【図２０】図２０は、ルート定義のデータ構造例を示す。
【図２１】図２１は、ダウンロード機能の処理手順例を示す。
【図２２】図２２は、シナリオ定義のデータ構造例を示す。
【図２３】図２３は、ステップ定義のデータ構造例を示す。
【図２４】図２４は、マーカー定義のデータ構造例を示す。
【図２５】図２５は、コンテンツ定義のデータ構造例を示す。
【図２６】図２６は、受信状態テーブルの例を示す。
【図２７】図２７は、ＡＲテンプレートのデータ構造例を示す。
【図２８】図２８は、認識マーカー情報およびマーカー移動情報の例を示す。
【図２９】図２９は、シナリオの状態情報の例を示す。
【図３０】図３０は、イベント検知の処理手順例を示す。
【図３１】図３１は、画面に表示されるマーカーの例を示す。
【図３２】図３２は、投影画像の生成処理の処理手順例を示す。
【図３３】図３３は、画面に表示されるマーカーの例を示す。
【図３４】図３４は、ステップ定義のデータ構造例を示す。
【図３５】図３５は、イベント検知の処理手順例を示す。
【図３６】図３６は、画面に表示されるマーカーの例を示す。
【図３７】図３７は、イベント検知の処理手順例を示す。
【図３８】図３８は、シナリオ定義のデータ構造例を示す。
【図３９】図３９は、編集モードの処理手順を示す。
【図４０】図４０は、編集モードの処理手順を示す。
【図４１】図４１は、編集モードでの表示画面例を示す。
【図４２】図４２は、編集パレットの例を示す。
【図４３】図４３は、ステップ選択の例を示す。
【図４４】図４４は、ステップ選択の例を示す。
【図４５】図４５は、ステップ選択の例を示す。
【図４６】図４６は、ステップ選択の例を示す。
【図４７】図４７は、ＡＲ定義データの例を示す。
【図４８】図４８は、コンピュータ１のハードウェア構成例を示す。
【図４９】図４９は、コンピュータ１で動作するプログラムの構成例を示す。
【図５０】図５０は、コンピュータ１を含むシステムの例を示す。
【図５１】図５１は、コンピュータ２の機能構成例を示す。
【図５２】図５２は、ＡＲコンテンツ提供の処理手順例を示す。
【図５３】図５３は、コンピュータ２のハードウェア構成例を示す。
【発明を実施するための形態】
【００１５】
［ＡＲコンテンツの表示］
まず、３次元物体のモデルデータであるＡＲコンテンツを、撮像装置の一例であるカメラにより撮像された撮像画像に重ねて表示させるＡＲ技術について説明する。
【００１６】
ＡＲコンテンツは、例えば、複数の点座標を用いて構成されるモデルデータである。複数の点を直線や曲線で補間して得られる複数の面ごとに模様（テクスチャ）や画像が設定され、複数の面が合成されることで３次元のモデルが形成される。ＡＲコンテンツの配置は、ＡＲコンテンツを構成する各点の座標を現実空間内に存在する基準物を基準として定められる。
【００１７】
一方で、カメラが撮像した撮像画像内に写り込んだ基準物の見え方（像）に基づいて、カメラと基準物との現実空間における位置関係が求められる。基準物は形状や模様などが既知の物体であり、例えば撮像画像内の基準物の像と基準物の既知の形状や模様との照合により、基準物がカメラに対してどのような位置にあるかが判別される。
【００１８】
基準物を基準とする座標と、カメラと基準物との位置関係により、カメラとＡＲコンテンツの各点の座標との位置関係が求められる。（カメラとＡＲコンテンツとの位置関係としているが、ＡＲコンテンツは仮想的に配置されたものであり、ＡＲコンテンツという物体が現実空間に存在するわけではない。単にカメラを基準とする位置の情報が生成される。）これらの位置関係に基づいて、カメラが仮想空間上に存在するＡＲコンテンツを仮に撮像した場合に得られるＡＲコンテンツの像（投影画像）が生成される。ＡＲコンテンツの投影画像を生成するための演算について、図１〜図４に基づいてさらに説明する。
【００１９】
図１は、カメラ座標系とマーカー座標系との関係を示す。図１に示されるＡＲマーカーＭは、ＡＲコンテンツ表示に用いられる基準物の一例である。図１に例示されるＡＲマーカーＭは、正方形形状をしており、予めサイズが定められている（例えば１辺の長さが１０ｃｍなど）。図１に示されるＡＲマーカーＭは正方形形状であるが、どの視点から撮像して得られる像に基づいても、カメラからの相対的な位置および向きが判別可能な形状の他の基準物が用いられてもよい。他の例として、撮像画像から生成される特徴点などが基準物に用いられる。
【００２０】
カメラ座標系は、（Ｘｃ，Ｙｃ，Ｚｃ）の３次元で構成され、例えばカメラの焦点を原点（原点Ｏｃ）とする。例えば、カメラ座標系のＸｃ−Ｙｃ平面はカメラの撮像素子面と平行な面であり、Ｚｃ軸は撮像素子面に垂直な軸である。
【００２１】
マーカー座標系は、（Ｘｍ，Ｙｍ，Ｚｍ）の３次元で構成され、例えばＡＲマーカーＭの中心を原点（原点Ｏｍ）とする。例えば、マーカー座標系のＸｍ−Ｙｍ平面はＡＲマーカーＭの模様の印刷面と平行な面であり、Ｚｍ軸はＡＲマーカーＭの印刷面と垂直である。原点Ｏｍは、カメラ座標系において位置座標Ｖ１ｃ（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）で示される。また、カメラ座標系に対するマーカー座標系の回転角は、回転座標Ｇ１ｃ（Ｐ１ｃ，Ｑ１ｃ，Ｒ１ｃ）で示される。Ｐ１ｃはＸｃ軸回りの回転角であり、Ｑ１ｃはＹｃ軸回りの回転角であり、Ｒ１ｃはＺｃ軸回りの回転角である。図１に例示されるＡＲマーカーＭはＹｃ軸回りにのみ回転しているため、Ｐ１ｃおよびＲ１ｃは０である。
【００２２】
図２は、カメラ座標系とマーカー座標系とにおけるＡＲコンテンツＣの例を示す。図２に例示するＡＲコンテンツＣは、吹き出し形状のモデルデータであり、吹き出し内に「ヒビあり！」というテキストデータを含む。ＡＲコンテンツＣの吹き出しの先端の黒丸は、ＡＲコンテンツＣの基準点とする。ＡＲコンテンツＣの基準点のマーカー座標系における座標は、Ｖ２ｍ（Ｘ２ｍ，Ｙ２ｍ，Ｚ２ｍ）とする。さらにＡＲコンテンツＣの向きは回転座標Ｇ２ｍ（Ｐ２ｍ，Ｑ２ｍ，Ｒ２ｍ）で定められ、ＡＲコンテンツＣのサイズは倍率Ｄ（Ｊｘ，Ｊｙ，Ｊｚ）で定められる。
【００２３】
ＡＲコンテンツＣを構成する各点の座標は、ＡＲコンテンツＣの雛型（ＡＲテンプレート）に定義された各点の座標が、基準点の座標Ｖ２ｍ、回転座標Ｇ２ｍおよび倍率Ｄに基づいて調整された座標である。ＡＲテンプレートに定義される基準点の座標は、例えば、（０，０，０）である。ＡＲテンプレートに含まれる各座標は、設定された回転座標Ｇ２ｍに基づいて回転され、倍率Ｄで拡縮され、さらに基準点の座標Ｖ２ｍに基づいて平行移動されて調整される。図２のＡＲコンテンツＣは、ＡＲテンプレートに定義された各点が、ＡＲマーカーＭのマーカー座標系において、基準点の座標Ｖ２ｍ、回転座標Ｇ２ｍおよび倍率Ｄに基づいて調整された点に基づいて構成された状態である。
【００２４】
ＡＲコンテンツＣの各点のマーカー座標系での座標が、カメラ座標系に変換され、さらにカメラ座標系の座標に基づいて表示画面内の位置（スクリーン座標系の座標）に変換される。変換された座標に基づいて、ＡＲコンテンツＣの投影画像が生成される。カメラ座標系における座標は、マーカー座標系における座標に対して、座標Ｖ１ｃおよび回転座標Ｇ１ｃに基づく座標変換（モデル−ビュー変換）を行なうことにより算出される。例えば、モデル−ビュー変換が座標Ｖ２ｍに対して行なわれると、基準点のカメラ座標系における座標Ｖ２ｃ（Ｘ２ｃ，Ｙ２ｃ，Ｚ２ｃ）が求められる。
【００２５】
図３は、マーカー座標系からカメラ座標系への変換行列Ｅと、変換行列Ｅ内の回転行列Ｒを示す。変換行列Ｅは、４×４の行列である。変換行列Ｅと列ベクトル（Ｘｍ，Ｙｍ，Ｚｍ，１）との積により、列ベクトル（Ｘｃ，Ｙｃ，Ｚｃ，１）が得られる。変換行列Ｅは、カメラ座標系におけるＡＲマーカーの位置座標Ｖ１ｃ（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）および回転座標Ｇ１ｃ（Ｐ１ｃ，Ｑ１ｃ，Ｒ１ｃ）に基づいて算出される。
【００２６】
列ベクトル（Ｘｍ，Ｙｍ，Ｚｍ，１）に座標変換（モデル−ビュー変換）対象のマーカー座標系の点座標を代入して、行列演算を行なうことにより、カメラ座標系の点座標を含む列ベクトル（Ｘｃ，Ｙｃ，Ｚｃ，１）が得られる。変換行列Ｅの１〜３行目且つ１〜３列の部分行列（回転行列Ｒ）がマーカー座標系の座標に作用することにより、マーカー座標系の向きとカメラ座標系との向きを合わせるための回転操作が行なわれる。変換行列Ｅの１〜３行目且つ４列目の部分行列が作用することにより、マーカー座標系の向きとカメラ座標系との位置を合わせるための並進操作が行なわれる。
【００２７】
図４は、回転行列Ｒ１、Ｒ２およびＲ３を示す。図３に示す回転行列Ｒは、回転行列Ｒ１、Ｒ２およびＲ３の積（Ｒ１・Ｒ２・Ｒ３）により算出される。
【００２８】
ＡＲコンテンツＣを構成する各点のマーカー座標系の座標（Ｘｍ，Ｙｍ，Ｚｍ）は、変換行列Ｅに基づくモデル−ビュー変換により、カメラ座標系の座標（Ｘｃ，Ｙｃ，Ｚｃ）に変換される。図２に例示される位置座標Ｖ２ｍはモデル−ビュー変換により位置座標Ｖ２ｃに変換される。
【００２９】
スクリーン座標系は、（Ｘｓ，Ｙｓ）の２次元で構成され、例えばカメラの撮像処理により得られる撮像画像の中心を原点（原点Ｏｓ）とする。ＡＲコンテンツＣの各点のカメラ座標系の座標は、透視変換によりスクリーン座標系に変換される。透視変換により得られる各点のスクリーン座標系の座標に基づいて、ＡＲコンテンツＣの投影画像が生成される。
【００３０】
カメラ座標系からスクリーン座標系への座標変換（透視変換）は、例えば、カメラの焦点距離ｆに基づいて行なわれる。カメラ座標系における座標（Ｘｃ，Ｙｃ，Ｚｃ）に対応するスクリーン座標系の座標のＸｓ座標は、Ｘｓ＝ｆ・Ｘｃ／Ｚｃで求められる。また、カメラ座標系における座標（Ｘｃ，Ｙｃ，Ｚｃ）に対応するスクリーン座標系の座標のＹｓ座標は、Ｙｓ＝ｆ・Ｙｃ／Ｚｃで求められる。
【００３１】
ＡＲコンテンツＣを構成する各点の位置座標（カメラ座標系）が透視変換されて得られる位置座標（スクリーン座標系）に基づいて、ＡＲコンテンツＣの投影画像が生成される。ＡＲコンテンツＣの元になるＡＲテンプレートには、どの点を補間して面を形成するか、どの面にどのテクスチャ（または画像）をマッピングするかが定義されている。ＡＲコンテンツＣの投影画像は、ＡＲテンプレートの定義に従って各位置座標（スクリーン座標系）を補間して得られる面にテクスチャや画像がマッピングされることにより生成される。
【００３２】
上述のモデル−ビュー変換および透視変換により、マーカー座標系の座標に対応する撮像画像上の座標が算出され、その座標を利用することで、カメラの視点に応じたＡＲコンテンツＣの投影画像が生成される。ＡＲコンテンツＣの投影画像が撮像画像に合成されると、あたかも３次元物体が存在するかのように画面に表示されるため、ユーザに提供される視覚的な情報が拡張される。
【００３３】
また、ＡＲコンテンツ表示の他の例として、透過型ディスプレイにＡＲコンテンツＣの投影画像が表示されてもよい。この態様においても、ユーザがディスプレイを透過して得られる現実空間の像と、ＡＲコンテンツの投影画像とが整合するので、ユーザに提供される視覚的な情報が拡張される。本実施形態におけるＡＲコンテンツの投影画像と撮像画像とを合成して表示する処理などは、透過ディスプレイを用いる場合には、ＡＲコンテンツを表示する処理としてもよい。
【００３４】
図５は、ＡＲコンテンツの表示例を示す。図５に例示される表示画面Ｓ（１）は、ＡＲマーカーＭの像、物体Ｈ（工場に設置されたパイプを図示している）の像、およびＡＲコンテンツＣの投影画像が表示される。ＡＲコンテンツＣはＡＲマーカーＭを基準としたマーカー座標系で定義されており、定義された座標の各々がモデル−ビュー変換および透視変換されることによりＡＲコンテンツＣの投影画像が生成される。ＡＲマーカーＭおよび物体Ｈは現実空間に存在する。ＡＲコンテンツＣの座標が現実空間の特定の位置に合わせて設定されると、ＡＲコンテンツＣにより特定の位置に関する情報が提供される。表示画面Ｓ（１）では、ＡＲコンテンツＣの吹き出しの先が物体Ｈのヒビの位置を指し示すように設定されているので、このＡＲコンテンツＣの提供により、ユーザは物体Ｈのヒビの位置を容易に特定できる。
【００３５】
［ＡＲコンテンツのダウンロード］
複数種類のＡＲコンテンツの提供を行なうシステムにおいて、ＡＲコンテンツの表示を行なうクライアント装置（コンピュータ１）が、全種類のＡＲコンテンツを保持すると、コンピュータ１の記憶容量への負担が大きくなってしまう。例えばコンピュータ１が移動端末である場合には、コンピュータ１の物理的なサイズの制限により、コンピュータ１がＡＲコンテンツを保持するための充分な記憶容量を備えられないことがある。
【００３６】
そのため、提供されるＡＲコンテンツを集約して記憶する管理サーバ（コンピュータ２）が用いられ、コンピュータ１がコンピュータ２からＡＲコンテンツをダウンロードするシステム構成が用いられる。この場合、例えば、コンピュータ１は、全種類のＡＲコンテンツのうち、表示の対象となるＡＲコンテンツをダウンロードする。クライアント装置が複数存在する場合には、コンピュータ２にＡＲコンテンツが集約されて記憶されるので、システム全体としてはＡＲコンテンツを定常的に保持するための記憶容量が抑制される。
【００３７】
また、基準物の撮像により、基準物の位置および向きだけでなく、基準物の識別情報も得られる。例えば、ＡＲマーカーでは、ＡＲマーカーにプリントされた模様に基づいてＡＲマーカーの識別情報（マーカーＩＤ）が判別される。画像の特徴点を基準物に用いる方式においては、特徴点の座標と識別情報とを関連付けたデータベースに基づいて、識別情報が判別される。
【００３８】
複数のＡＲマーカーの各々に、表示させるＡＲコンテンツが個別に設定されることがある。従って、認識されるＡＲマーカーに応じて、表示されるＡＲコンテンツが切り替えられる。この場合、全種類のＡＲコンテンツのうち、どのＡＲコンテンツが表示対象となるかは、ＡＲマーカーの認識後に決定される。例えば、表示の対象となるＡＲコンテンツをコンピュータ２からダウンロードするシステム構成においては、コンピュータ１は、ＡＲマーカーの認識後に表示対象のＡＲコンテンツをダウンロードする。
【００３９】
図６は、ＡＲコンテンツ提供のシーケンス例を示す。図６に示すシーケンス例では、コンピュータ１およびコンピュータ２の処理の順序が示される。コンピュータ１で、ＡＲコンテンツ表示のプログラムが起動されたのちに、ＡＲマーカーＭ１が認識されてから、ＡＲマーカーＭ１に対応するＡＲコンテンツの取得要求が行なわれる。この取得要求においては、例えばＡＲマーカーＭ１のマーカーＩＤが通知される。コンピュータ２は、取得要求を受けるとＡＲマーカーＭ１に対応するＡＲコンテンツを検索し、マーカーＭ１に対応するＡＲコンテンツをコンピュータ１に送信する。コンピュータ１は、コンピュータ２からＡＲコンテンツを受信してから、ＡＲマーカーＭ１に対応するＡＲコンテンツの表示を行なう。
【００４０】
図６に示すシーケンスによれば、ＡＲマーカーが認識されてからＡＲコンテンツの表示処理が開始されるまでに、ＡＲマーカーに対応するＡＲコンテンツの要求・ダウンロードが行なわれる。そのため、ＡＲマーカーが撮像されることにより認識されてからＡＲコンテンツが表示されるまでにタイムラグが大幅に生じてしまう。
【００４１】
撮像画像にＡＲマーカーが写り込んでからＡＲコンテンツが表示されるまでにタイムラグが大幅に生じてしまうと、ＡＲマーカーを視認するユーザ自身の知覚とＡＲコンテンツを視認することにより拡張された知覚とのずれが大きくなる。そのため、ユーザの知覚を拡張するというＡＲの特性が損なわれてしまう。
【００４２】
図７は、ＡＲコンテンツ提供のシーケンス例を示す。図７に示すシーケンス例は、図６と同様に、コンピュータ１およびコンピュータ２の処理の順序が示される。コンピュータ１は、ＡＲコンテンツ表示のプログラムが起動されると、ＡＲマーカーＭ１の認識よりも先にまずＡＲコンテンツの取得要求を行なう。図７のシーケンス例では、コンピュータ１は、コンピュータ２からＡＲコンテンツを受信してから、ＡＲマーカー認識に応じたＡＲコンテンツの表示を行なう。
【００４３】
図７のシーケンスにおいては、ＡＲマーカーの認識からＡＲコンテンツの表示までの間に、ＡＲコンテンツの要求・ダウンロードが行なわれないので、ＡＲマーカーの認識からＡＲコンテンツ表示までのタイムラグが小さくなる。そのため、ＡＲマーカーを視認するユーザの知覚とＡＲコンテンツを視認するユーザの知覚とのずれが小さくなる。
【００４４】
その一方で、図７のシーケンス例では、どのＡＲマーカーが認識されてもＡＲマーカーに対応するＡＲコンテンツの表示を行なうために、全種類のＡＲコンテンツをコンピュータ１にダウンロードすることになってしまう。結果的に、全種類のＡＲコンテンツをコンピュータ１に保持しているため、コンピュータ１の記憶容量の負荷が大きくなってしまう。
【００４５】
図６および図７に示すシーケンスでＡＲコンテンツがコンピュータ２からコンピュータ１にダウンロードされても、それぞれタイムラグの増長や記憶容量への負荷増大などの事態が生じてしまう。
【００４６】
［シナリオに応じた選択的提供］
ＡＲコンテンツを表示させる技術は、業務プロセスの遂行支援などに利用される。上述の通り、企業などの組織においては、複数の業務プロセスが遂行される。各々の業務プロセスは、複数の作業を組み合わせであることが多い。本実施形態においては、この作業の組み合わせを一単位とし、それをシナリオと称する。なお、業務プロセスが１つの作業により構成される場合についても、その作業を同様にシナリオと称する。また、同一の業務プロセスであっても、異なるユーザを対象として異なるシナリオが設定されてもよい。例えば、業務プロセスを遂行するユーザが熟練作業者であるか作業初心者であるかに応じて異なるシナリオが提供される。業務プロセスに対応するＡＲコンテンツの内容はシナリオに含まれる作業内容に応じて異なる。すなわち、シナリオが異なる複数の業務プロセスに対してＡＲコンテンツ群が設定されると、そのＡＲコンテンツ群には、単一のシナリオのみに適用される個別のＡＲコンテンツが含まれる。
【００４７】
図８は、ＡＲコンテンツの表示例を示す。図８に示される表示例には、複数の業務プロセスに関して、ＡＲマーカーＭ１に関連付けられたＡＲコンテンツが表示された画面Ｓ（２）が示される。画面Ｓ（２）には、ＡＲマーカーＭ１の像が含まれ、さらに、マーカーＭ１の像に基づいて生成されたＡＲコンテンツＣＡ１１〜ＣＡ１４、ＡＲコンテンツＣＢ１１〜ＣＢ１３、Ｃ１１およびＣ１２の投影画像が示される。
【００４８】
ＡＲコンテンツＣＡ１１〜ＣＡ１４は、点検作業のシナリオに独自のＡＲコンテンツである。ＡＲコンテンツＣＡ１１、ＣＡ１２およびＣＡ１３は、点検作業の作業内容を示す。ＡＲコンテンツＣＡ１１は、「バルブを左に回す」という作業内容の指示を示す。ＡＲコンテンツＣＡ１２は、「流量計チェック」という作業内容の指示を示す。ＡＲコンテンツＣＡ１３は、「バルブを右に回し、オイル量がＸＸ〜ＹＹの範囲であることを確認」という作業内容の指示を示す。ＡＲコンテンツＣＡ１４は、ＡＲコンテンツＣＡ１３に示される作業内容の作業内容を図示する。
【００４９】
一方、ＡＲコンテンツＣＢ１１〜ＣＢ１３は、製造作業のシナリオに独自のＡＲコンテンツ群である。ＡＲコンテンツＣＢ１１、ＣＢ１２およびＣＢ１３は、製造作業の作業内容を示す。ＡＲコンテンツＣＢ１１は、「基板をセット」という作業内容の指示を示す。ＡＲコンテンツＣＢ１２は、「溶剤残量を確認」という作業内容の指示を示す。ＡＲコンテンツＣＡ１３は、「「実行」ボタンを押下」という作業内容の指示を示す。
【００５０】
ＡＲコンテンツＣ１１およびＡＲコンテンツＣ１２は、特定のシナリオに関する情報ではなく、ＡＲマーカーＭ１付近で作業するユーザに向けた情報である。ＡＲコンテンツＣ１１は、「水漏れ注意」という注意喚起のメッセージであり、さらに水漏れの位置を示す。また、ＡＲコンテンツＣ１２は、「ＡＡ月ＢＢ日に、パイプＡから水漏れ確認」というメッセージを示す。
【００５１】
認識されたＡＲマーカーに応じたＡＲコンテンツを表示させる制御の結果、画面Ｓ（２）では、点検作業の業務プロセスに独自のＡＲコンテンツと製造作業のシナリオに独自のＡＲコンテンツとの双方が表示されている。ユーザが点検作業の業務プロセスを遂行する場合にも、製造作業のシナリオに独自のＡＲコンテンツがユーザに対して表示される。逆に、ユーザが製造作業の業務プロセスを遂行する場合にも、点検作業のシナリオに独自のＡＲコンテンツがユーザに対して表示される。つまり、認識したＡＲマーカーに応じてＡＲコンテンツを表示させるのみでは、ユーザが遂行する業務プロセスと関係のないＡＲコンテンツまでも表示されてしまう。
【００５２】
画面Ｓ（２）では、表示するＡＲコンテンツが多く、例えば、ＡＲコンテンツＣＡ１１、ＡＲコンテンツＣＢ１３およびＡＲコンテンツＣＡ１３が重なって表示される。一般的なＷｅｂページなどにおいては、コンテンツの量が多くても、Ｗｅｂページの領域を大きくすればスクロール操作などにより各々のコンテンツが閲覧可能である。しかしながら、ＡＲコンテンツ表示領域は撮像画像内に限られている。そのため、ＡＲコンテンツが多いと互いに重なりあって表示されやすい。
【００５３】
さらに、ユーザが点検作業の業務プロセスを遂行する場合にも、製造作業の業務プロセスに独自のＡＲコンテンツがコンピュータ２からコンピュータ１にダウンロードされる。すなわち、ユーザの作業の補助とならないＡＲコンテンツまでもコンピュータ１にダウンロードされている。ユーザの作業の補助とならないＡＲコンテンツがダウンロードされることにより、ＡＲマーカー認識からＡＲコンテンツの表示までのタイムラグが増長されたりコンピュータ１の記憶容量への負荷が増大したりしてしまう。
【００５４】
図９は、ＡＲコンテンツのグループを示す。ＡＲマーカーＭ１が認識された場合に表示させるＡＲコンテンツの集合がＡＲコンテンツ群Ｇ１である。ＡＲコンテンツ群Ｇ１は、手順表示のＡＲコンテンツＣＡ１１〜ＣＡ１３、操作補助のＡＲコンテンツＣＡ１４、メッセージを示すＡＲコンテンツＣ１１およびＣ１２、ならびに手順表示のＡＲコンテンツＣＢ１１〜ＣＢ１３を含む。また、ＡＲマーカーＭ２が認識された場合に表示させるＡＲコンテンツの集合がＡＲコンテンツ群Ｇ２である。ＡＲコンテンツ群Ｇ２は、手順表示のＡＲコンテンツＣＡ２１〜ＣＡ２３、および手順表示のＡＲコンテンツＣＢ２１を含む。
【００５５】
単純に、認識されたＡＲマーカーに応じたＡＲコンテンツを表示させる制御のみでは、ＡＲマーカーＭ１が認識されるとＡＲコンテンツ群Ｇ１が表示され、ＡＲマーカーＭ２が認識されるとＡＲコンテンツ群Ｇ２が表示される。この制御では、図８に示されるように、ＡＲマーカーＭ１の認識に応じて、複数の業務プロセスに関するＡＲコンテンツ群Ｇ１全体が表示され、ユーザが遂行する業務プロセスの支援とならないＡＲコンテンツまでも表示されてしまう。また、図６に示すシーケンスでは、ＡＲコンテンツ群Ｇ１とＡＲコンテンツ群Ｇ２とのいずれをダウンロードすべきかがＡＲマーカーの認識により決定される。そのため、ＡＲマーカーの認識からＡＲコンテンツの表示までにＡＲコンテンツのダウンロードが行なわれ、その結果、ＡＲマーカーの認識からＡＲコンテンツの表示までにタイムタグが発生する。さらに、図７に示すシーケンスでＡＲコンテンツのダウンロードが行なわれると、図９に示すＡＲコンテンツ全体がコンピュータ１にダウンロードされるため、コンピュータ１の記憶容量への負荷が大きい。
【００５６】
そこで、例えば、シナリオに応じた単位でのＡＲコンテンツの管理および提供が行なわれる。すなわち、点検作業のシナリオに独自のＡＲコンテンツＣＡ１１〜ＣＡ１４およびＡＲコンテンツＣＡ２１〜ＣＡ２３ならびに各シナリオに共通のＡＲコンテンツＣ１１およびＣ１２によりグループ（ＡＲコンテンツ群Ｇ３）を形成させる。また、製造作業のシナリオに独自のＡＲコンテンツＣＢ１１〜ＣＢ１３およびＡＲコンテンツＣＢ２１ならびに各シナリオに共通のＡＲコンテンツＣ１１およびＣ１２によりグループ（ＡＲコンテンツ群Ｇ４）を形成させる。シナリオに応じた単位でＡＲコンテンツが提供されることにより、ユーザが遂行する業務プロセスと関係のないシナリオに独自のＡＲコンテンツが表示されることが抑制される。例えば、点検作業の業務プロセスを遂行するユーザに対し、ＡＲコンテンツ群Ｇ３が選択的に提供される一方で、ユーザにはＡＲコンテンツＣＢ１１〜ＣＢ１３などは提供されない。
【００５７】
ＡＲコンテンツ群Ｇ３およびＡＲコンテンツ群Ｇ４というグループでＡＲコンテンツを管理することにより、シナリオに応じて個別にＡＲコンテンツがユーザに提供される。位置や時間などの条件に応じて一部のＡＲコンテンツの提供自体を行なわないように一律に制限してしまうわけではないので、表示の基準となるＡＲマーカーが共通するＡＲコンテンツ群Ｇ３とＡＲコンテンツ群Ｇ４とが、それぞれ対応する業務プロセスを遂行する異なるユーザに対して、並行して提供され得る。すなわち、あるユーザに対してＡＲコンテンツ群Ｇ３が提供されつつ、他のユーザに対してＡＲコンテンツ群Ｇ４の提供が可能である。
【００５８】
ユーザは一連の作業（業務プロセス）を開始する前にどのシナリオを行なうか決められる。つまり、シナリオは、ＡＲマーカーが認識されるよりも前に選択される。また、シナリオに応じた単位で提供されるＡＲコンテンツ群（Ｇ３やＧ４）は、全種類のＡＲコンテンツのうちの一部である。図７に示すシーケンス例と比較すると、シナリオに応じたＡＲコンテンツ群が選択的にダウンロードされるため、コンピュータ１に保持されるＡＲコンテンツのデータ量が抑制される。そこで、コンピュータ１がＡＲマーカーの認識前からシナリオに応じたＡＲコンテンツ群を保持することとすれば、コンピュータ１は、ＡＲマーカーの認識に応じたＡＲコンテンツの表示を、コンピュータ１に保持されたＡＲコンテンツを用いて行なうことができる。ＡＲマーカーの認識からＡＲコンテンツの表示までにＡＲコンテンツのダウンロードを行なうことが回避されるので、ＡＲマーカーの認識からＡＲコンテンツの表示までのタイムラグの発生が抑制される。
【００５９】
図１０は、ＡＲ定義データのデータ構造例を示す。図１０に示すデータ構造により、シナリオに応じた単位でＡＲコンテンツの管理および提供が行なわれる。図１０に示すデータ構造例は、ツリー構造を有している。
【００６０】
ツリー構造のルート定義Ｎは、ＡＲコンテンツの提供対象である複数のシナリオを示す。図１０の例において、点検作業のシナリオの識別情報（シナリオＩＤ）が００１であり、製造作業のシナリオのシナリオＩＤが００２である。ルート定義Ｎには、シナリオＩＤ：００１と、シナリオＩＤ：００１のシナリオに関する情報の格納先を示すポインタとを関連付けた情報が含まれる。また、ルート定義Ｎには、シナリオＩＤ：００２と、シナリオＩＤ：００２のシナリオに関する情報（シナリオ定義）の格納先を示すポインタとを関連付けた情報が含まれる。これにより、シナリオＩＤが選択されると、選択されたシナリオＩＤに応じて、シナリオに関する情報が参照可能である。
【００６１】
シナリオ定義Ｎ１１は、シナリオＩＤ：００１のシナリオに関する情報である。シナリオ定義Ｎ１１は、シナリオＩＤ：００１のシナリオにおいてＡＲコンテンツの表示に用いられる複数のＡＲマーカーを示す。例えば、ＡＲマーカーＭ１の識別情報（マーカーＩＤ）が００１であり、ＡＲマーカーＭ２のマーカーＩＤが００２である。シナリオ定義Ｎ１１には、シナリオＩＤ：００１のシナリオで用いられる各マーカーのマーカーＩＤと、各マーカーに関する情報（マーカー定義）の格納先を示すポインタとを関連付けた情報が含まれる。これにより、マーカーＩＤが選択されると、選択されたマーカーＩＤに応じて、ＡＲマーカーに関する情報が参照可能である。シナリオ定義Ｎ１２も、シナリオ定義Ｎ１１と同様に、シナリオＩＤ:００２に用いられるＡＲマーカーのマーカー定義を、マーカーＩＤの選択に応じて参照可能にさせる。
【００６２】
マーカー定義Ｎ３０１は、マーカーＩＤ：００１のＡＲマーカーＭ１に関する情報である。マーカー定義Ｎ３０１は、ＡＲマーカーＭ１の認識に応じて表示させるＡＲコンテンツを示す。例えば、ＡＲコンテンツＣＡ１１〜ＣＡ１４のそれぞれの識別情報（コンテンツＩＤ）が００１〜００４であり、ＡＲコンテンツＣ１１およびＣ１２のそれぞれのコンテンツＩＤが００５および００６である。また、例えば、ＡＲコンテンツＣＢ１１〜ＣＢ１３のそれぞれのコンテンツＩＤが００７〜００９である。マーカー定義Ｎ３０１には、シナリオＩＤ：００１のシナリオにおいて、マーカーＩＤ：００１のＡＲマーカーを認識した場合に表示される各ＡＲコンテンツのコンテンツＩＤと、各ＡＲコンテンツに関する情報（コンテンツ定義）の格納先を示すポインタとを関連付けた情報が含まれる。これにより、コンテンツＩＤが選択されると、選択されたコンテンツＩＤに応じて、ＡＲコンテンツに関する情報が参照可能である。マーカー定義Ｎ３０２も、マーカー定義Ｎ３０１と同様に、シナリオＩＤ:００１のシナリオにおいてマーカーＩＤ：００２のＡＲマーカーを認識した場合に表示させるＡＲコンテンツの定義を、コンテンツＩＤの選択に応じて参照可能にさせる。マーカー定義Ｎ３０３およびＮ３０４も、マーカー定義Ｎ３０１やＮ３０２と同様に、シナリオＩＤ：００２のシナリオにおいて各マーカーを認識した場合に表示させるＡＲコンテンツの定義を、コンテンツＩＤの選択に応じて参照可能にさせる。
【００６３】
コンテンツ定義Ｎ４０１は、コンテンツＩＤ：００１のＡＲコンテンツに関する情報である。コンテンツ定義Ｎ４０１には、マーカーＩＤ：００１を基準とするコンテンツＩＤ：００１のＡＲコンテンツの位置、向きおよびサイズの定義が含まれる。コンテンツ定義Ｎ４０１には、さらに、コンテンツＩＤ：００１のＡＲコンテンツの形状や模様が定義されたＡＲテンプレートの識別情報（テンプレートＩＤ）が含まれる。コンテンツ定義Ｎ４０２〜Ｎ４０６のそれぞれにも、コンテンツ定義Ｎ４０１と同様に、マーカーＩＤ：００１を基準とするコンテンツＩＤ：００２〜００６のＡＲコンテンツの位置、向きおよびサイズの定義ならびにＡＲテンプレートのテンプレートＩＤが含まれる。コンテンツ定義Ｎ４０７〜Ｎ４０９のそれぞれには、マーカーＩＤ：００２を基準とするコンテンツＩＤ：００７〜００９のＡＲコンテンツの位置、向きおよびサイズの定義ならびにＡＲテンプレートのテンプレートＩＤが含まれる。コンテンツ定義Ｎ４１０〜Ｎ４１２のそれぞれにも、コンテンツ定義Ｎ４０１と同様に、マーカーＩＤ：００１を基準とするコンテンツＩＤ：０１０〜０１２のＡＲコンテンツの位置、向きおよびサイズの定義ならびにＡＲテンプレートのテンプレートＩＤが含まれる。コンテンツ定義Ｎ４１３およびＮ４１４のそれぞれにも、コンテンツ定義Ｎ４０１と同様に、マーカーＩＤ：００１を基準とするコンテンツＩＤ：００５および００６のＡＲコンテンツの位置、向きおよびサイズの定義ならびにＡＲテンプレートのテンプレートＩＤが含まれる。コンテンツ定義Ｎ４１５にも、マーカーＩＤ：００２を基準とするコンテンツＩＤ：０１３のＡＲコンテンツの位置、向きおよびサイズの定義ならびにＡＲテンプレートのテンプレートＩＤが含まれる。
【００６４】
コンテンツ定義Ｎ４０５とコンテンツ定義Ｎ４１３は、同じＡＲコンテンツに関するコンテンツ定義である。コンテンツ定義Ｎ４０５とコンテンツ定義Ｎ４１３は、別々のデータでもよいし、単一のデータでもよい。重複するコンテンツ定義を単一のデータとする場合には、コンテンツ定義を参照するポインタとして同じ値が格納される。例えば、マーカー定義Ｎ３０１に含まれるコンテンツ定義Ｎ４０５を参照させるポインタと、マーカー定義Ｎ３０３に含まれるコンテンツ定義Ｎ４１３を参照させるポインタとが同じ値となる。
【００６５】
特定のシナリオに関するＡＲコンテンツ群が選択的に提供されるには、ルート定義Ｎにおいて特定のシナリオが選択されればよい。特定のシナリオに関するＡＲコンテンツ群は、選択されたシナリオＩＤのシナリオ定義の配下に存在する。図１０に示すデータ構造により、ＡＲコンテンツがシナリオに応じた単位で管理・提供される。
【００６６】
図１１は、ＡＲコンテンツの表示例を示す。図１１に示される表示例には、点検作業のシナリオ（シナリオＩＤ：００１のシナリオ）に関して、認識されたＡＲマーカーＭ１に関連付けられたＡＲコンテンツが表示された画面Ｓ（３）が示される。画面Ｓ（３）には、ＡＲマーカーＭ１の像が含まれ、マーカーＭ１の像に基づいて生成されたＡＲコンテンツＣＡ１１〜ＣＡ１４、Ｃ１１およびＣ１２の投影画像が表示される。ＡＲコンテンツＣＡ１１〜ＣＡ１４、Ｃ１１およびＣ１２は、シナリオＩＤ：００１のシナリオ定義の配下に定義されるため、表示対象となる。図８に示される画面Ｓ（２）には、ＡＲコンテンツＣＢ１１〜ＣＢ１３が表示されるのに対し、画面Ｓ（３）には、ＡＲコンテンツＣＢ１１〜ＣＢ１３が表示されない。これは、ＡＲコンテンツＣＢ１１〜１３が、シナリオＩＤ：００２のシナリオ定義の配下に定義されるためである。図１０のようにシナリオの配下にＡＲコンテンツが定義されることにより、画面Ｓ（３）のように、シナリオに応じたＡＲコンテンツがシナリオごとに個別に提供される。
【００６７】
［ステップに応じた選択的提供］
上述の通りシナリオは複数の作業により構成されるが、複数の作業が、一連の工程（ステップ）として順序だてて構成されることがある。シナリオにおいて複数のステップが順序だてて行なわれるとすると、ユーザが実行中でないステップに関するＡＲコンテンツがユーザに提供されても、ユーザが実行中のステップに取り組む際の補助にはならない。例えば、図１１の画面Ｓ（３）において、ユーザがオイル量の確認を行なうステップである場合には、手順表示のＡＲコンテンツＣＡ１３が表示されればよく、手順表示のＡＲコンテンツＣＡ１１やＣＡ１２が表示されても作業の補助とならない。さらに、現在のステップと異なるステップを対象としたＡＲコンテンツ（ＣＡ１１やＣＡ１２）が、現在のステップで表示されるべきＡＲコンテンツに重なって表示されてしまう事態も生じうる。例えば、画面Ｓ（３）においては、オイル量の確認のためのバルブを右に回すというＡＲコンテンツＣＡ１３による操作指示がＡＲコンテンツＣＡ１１により見えにくくなっている。また、ＡＲコンテンツＣＡ１１やＣＡ１２の表示により、ユーザが撮像画像を見ることによって確保される視界が遮られてしまう。
【００６８】
そこで、例えば、ステップに応じた単位でのＡＲコンテンツの管理が行なわれる。特定のシナリオに関するＡＲコンテンツのグループ内で、さらに、シナリオに含まれる各ステップについてのグループを形成させる。
【００６９】
図１２は、ＡＲコンテンツのグループを示す。図１２に示されるＡＲコンテンツ群Ｇ３１〜Ｇ３５は、シナリオＩＤ：００１のシナリオに含まれる各ステップに対応するＡＲコンテンツのグループの例である。
【００７０】
図１２に示される例においては、シナリオＩＤ：００１のシナリオは、ステップ１〜５の５つのステップで構成される。ステップ１の作業においては、ユーザは、手順表示のＡＲコンテンツＣＡ１１に基づいて作業を行なう。ステップ２の作業においては、ユーザは、手順表示のＡＲコンテンツＣＡ１２に基づいて作業を行なう。ＡＲコンテンツＣＡ１１およびＣＡ１２は、ＡＲマーカーＭ１を基準として表示される。ステップ３の作業においては、ユーザは、手順表示のＡＲコンテンツＣＡ２１に基づいて作業を行なう。ＡＲコンテンツＣＡ２1は、ＡＲマーカーＭ２を基準として表示される。ステップ４の作業においては、ユーザは、手順表示のＡＲコンテンツＣＡ１３および操作補助のＡＲコンテンツＣＡ１４に基づいて作業を行なう。ＡＲコンテンツＣＡ１３およびＣＡ１４は、ＡＲマーカーＭ１を基準として表示される。ステップ５の作業においては、ユーザは、手順表示のＡＲコンテンツＣＡ２２および操作補助のＡＲコンテンツＣＡ２３に基づいて作業を行なう。ＡＲコンテンツＣＡ２２およびＣＡ２３は、ＡＲマーカーＭ２を基準として表示される。
【００７１】
図１２に示すステップごとのグループでの表示制御では、現在のステップのステータスが管理され、例えば、現在のステップのＡＲコンテンツを表示させる制御が行なわれる。その際、他のステップに関するＡＲコンテンツは非表示となる。
【００７２】
図１３は、ＡＲ定義データのデータ構造例を示す。図１３に示すデータ構造により、ステップに応じた単位でＡＲコンテンツが管理・提供される。図１３に示すデータ構造は、図１０に示すデータ構造例と同様に、ツリー構造を有する。ステップは、シナリオに含まれる構成要素であるので、ツリー構造においてシナリオよりも下位且つＡＲコンテンツより上位のデータ要素で定義される。
【００７３】
図１３のツリー構造のルート定義Ｎは、図１０に示すルート定義Ｎと同様であり、ルート定義Ｎの参照により、選択されたシナリオＩＤに応じて、シナリオに関する情報が参照可能である。
【００７４】
図１３に示す各シナリオ定義は、各シナリオに含まれる各ステップに関する情報（ステップ定義）の参照先を含む。シナリオ定義Ｎ１３は、シナリオＩＤ：００１のシナリオに関する情報であり、シナリオに含まれるステップ１〜５のそれぞれについてのステップ定義へのポインタを含む。シナリオ定義Ｎ１３を参照すると、ステップの番号に応じて、対応するステップ定義が参照可能となる。
【００７５】
図１３に示すステップ定義は、ステップにおけるＡＲコンテンツ表示の基準となるＡＲマーカーのマーカー定義の参照先を含む。例えば、ステップ定義Ｎ２１は、マーカーＩＤ：００１のＡＲマーカーのマーカー定義Ｎ３１１へのポインタを含む。ステップ定義Ｎ３１１を参照すると、マーカーＩＤに応じて、対応するマーカー定義が参照可能となる。
【００７６】
図１３に示すマーカー定義は、マーカー定義の上位のステップ定義に定義されるステップにおいて、ＡＲマーカーの認識に応じて表示されるＡＲコンテンツのコンテンツ定義へのポインタを含む。例えば、マーカー定義Ｎ３１１は、ステップ１においてマーカーＩＤ：００１のＡＲマーカーＭ１を認識した場合に表示するＡＲコンテンツのコンテンツ定義へのポインタを含む。
【００７７】
図１３に示すデータ構造により、ステップ単位でのＡＲコンテンツ表示が行なわれるには、シナリオ定義Ｎ１３において、ステップが順次選択されればよい。各ステップにおいて表示の対象となるＡＲコンテンツ群は、順次選択されるステップ定義の配下に定義される。
【００７８】
図１４は、ＡＲコンテンツの表示例を示す。図１４に示される画面Ｓ（４）は、図１３に示すデータ構造において、選択されたステップ定義の配下のＡＲコンテンツ群の表示が行なわれた場合の画面例である。画面Ｓ（４）においては、ステップ定義Ｎ２４（図１２のステップ４に対応）の配下のコンテンツ定義Ｎ４０３およびＮ４０４に定義されたＡＲコンテンツが表示される。ＡＲコンテンツＣＡ１３およびＣＡ１４（コンテンツ定義Ｎ４０３およびＮ４０４に対応）と同じくＡＲマーカーＭ１を表示の基準とするＡＲコンテンツＣＡ１１およびＣＡ１２（コンテンツ定義Ｎ４０１およびＮ４０２に対応）については表示されない。図１４ではＡＲコンテンツＣＡ１１およびＣＡ１２が表示されないことを、ＡＲコンテンツの点線表示で示している。これは、コンテンツ定義Ｎ４０１及びＮ４０２が、ステップ定義Ｎ２４の配下に存在しないためである。すなわち、ＡＲコンテンツがステップに応じた単位で管理するデータ構造が用いられることにより、現在の工程と異なる工程に関するＡＲコンテンツの表示が抑制される。
【００７９】
また、他の表示制御例として、現在の工程と異なる工程に関するＡＲコンテンツは、例えば完全に非表示にされずに、テクスチャをマッピングせずにワイヤフレームだけを表示させてもよい。例えば、現在のステップのステップ定義Ｎ２４配下のＡＲコンテンツ群の表示とともに、その他のステップのステップ定義Ｎ２１〜Ｎ２３およびＮ２５配下のＡＲコンテンツ群についてテクスチャマッピングしないでワイヤフレームのみの表示が行なわれるようにしてもよい。これにより、現在の工程と異なる工程に関するＡＲコンテンツが表示されることが原因となって現在の工程のＡＲコンテンツが見にくくなることが抑制される。また、現在の工程と異なる工程に関するワイヤフレームのみのＡＲコンテンツを背面に表示し、テクスチャマッピングされた現在の工程のＡＲコンテンツを前面に表示させる制御が行なわれてもよい。
【００８０】
図１５は、ＡＲコンテンツ提供のシーケンス例を示す。ＡＲコンテンツがステップに応じた単位で管理されることにより、ＡＲコンテンツのダウンロードの段階的な実施が可能となる。プログラム起動後に、コンピュータ１でシナリオが選択される（ｔ１）と、選択されたシナリオ定義、シナリオ定義配下のＡＲ定義データ（シナリオ定義、ステップ定義、マーカー定義およびコンテンツ定義）がダウンロードされる。ＡＲコンテンツの表示は、コンテンツ定義に示されるＡＲテンプレートのデータを用いて行なわれるので、ＡＲ定義データのダウンロード完了（ｔ２）後、ＡＲテンプレートのダウンロードが順次行なわれる。この際、選択されたシナリオにおいて、最初のステップで用いられるＡＲテンプレートを優先的にダウンロードすることにより、ＡＲコンテンツ表示の開始タイミングをシナリオに含まれる全ＡＲコンテンツのダウンロード完了時点よりも早めることができる。少なくとも、ステップ１に関するＡＲテンプレートまでダウンロードされた時点（ｔ３）でステップ１に関するＡＲコンテンツ表示が開始可能となる。
【００８１】
［本実施形態の機能構成］
図１６は、コンピュータ１の機能ブロック構成例を示す。コンピュータ１は、制御部１０、取得部１１、認識部１２、演算部１３、生成部１４、記憶部１５、撮像部１６、表示部１７、通信部１８および入力部１９を含む。制御部１０は、選択制御部１０１、イベント検知部１０２、表示制御部１０３および設定管理部１０４を含む。
【００８２】
制御部１０は、他の機能ブロックを制御することにより、ＡＲコンテンツの提供およびＡＲコンテンツの編集を実行させる。取得部１１は、コンピュータ２からＡＲコンテンツをダウンロードする。認識部１２は、撮像部１６により撮像された撮像画像に基づいて、ＡＲマーカーの認識を行なう。認識部１２は、ＡＲマーカーの認識において、ＡＲマーカーを識別するマーカーＩＤの読み取りと、カメラ座標系におけるＡＲマーカーの座標を算出する。演算部１３は、ＡＲコンテンツの位置情報（マーカー座標系）を位置情報（スクリーン座標系）に変換する。また、演算部１３は、画面上の位置に対応するマーカー座標系の位置を、認識部１２により算出されたＡＲマーカーの座標に基づいて算出する。生成部１４は、演算部１３により算出された位置情報に基づいて、ＡＲコンテンツの投影画像を生成する。
【００８３】
記憶部１５は、他の機能ブロックにおいて用いられる情報を記憶する。例えば、取得部１１によりダウンロードされたＡＲコンテンツや、ＡＲコンテンツの表示・編集に用いられる管理情報などを記憶する。撮像部１６は、撮像処理を行なう。撮像部１６の撮像処理により得られる撮像画像も記憶部１５に記憶される。表示部１７は、画像の表示を行なう。通信部１８は、他の装置（例えばコンピュータ２）とネットワーク３を介したデータ通信を行なう。入力部１９は、コンピュータ１の操作者の操作を検知し、検知に応じた信号を制御部１０に伝達する。
【００８４】
選択制御部１０１、イベント検知部１０２、表示制御部１０３及び設定管理部１０４は、制御部１０により実行されるＡＲコンテンツの表示・編集処理の処理手順の一部を実行する機能ブロックである。選択制御部１０１は、シナリオリストの表示イベントを生成し、シナリオリスト内の選択に応じてＡＲコンテンツの取得イベントを生成する。シナリオリストについては後述する。イベント検知部１０２は、認識部１２の認識結果に基づいて、切替イベントを生成する。表示制御部１０３は、状態遷移定義に沿って表示部１７に表示させる画面を遷移させる。表示制御部１０３による画面遷移は、表示イベントの生成に応じて行なわれる。制御部１０は、生成部１３により投影画像が生成されると、投影画像の表示イベントを生成する。投影画像の表示イベントが生成されると、表示制御部１０３は、撮像部１６が撮像した撮像画像内に投影画像を重ねて表示部１７に表示させる制御を行なう。設定管理部１０４は、演算部１３により生成された算出情報の設定を管理する。
【００８５】
［ＡＲコンテンツ表示の処理手順］
図１７および図１８は、ＡＲ機能の処理手順を示す。図１７および図１８に処理手順を示すＡＲ機能は、ＡＲ表示モードおよびＡＲ編集モードの２つのモードを提供する。ＡＲ機能は、例えばユーザの入力によりプログラムの起動指示が与えられるなどにより呼び出される。ＡＲ機能が呼び出されると、制御部１０がモード選択画面Ｓ（５）の表示イベントを生成し、表示部１７が表示イベントの生成に応じてモード選択画面Ｓ（５）を表示する（Ｓ１０１）。
【００８６】
図１９は、モード選択画面およびシナリオ選択画面の例を示す。モード選択画面Ｓ（５）は、ボタンＢ１とボタンＢ２とを含む。ボタンＢ１およびボタンＢ２は、それぞれ画面内の領域が割り当てられている。ボタンＢ１に割り当てられた領域内にＡＲ表示モードを示す表示が行なわれ、ボタンＢ１に割り当てられた領域への入力によりＡＲ表示モードが選択される。ボタンＢ２もボタンＢ１と同様に、ボタンＢ２に割り当てられた領域内にＡＲ編集モードを示す表示が行なわれ、ボタンＢ２に割り当てられた領域への入力によりＡＲ編集モードが選択される。
【００８７】
シナリオ選択画面Ｓ（６）は、ボタンＢ３、ボタンＢ４およびボタン群Ｂ５を含む画面であり、モード選択画面Ｓ（５）でＡＲ表示モードが選択されると表示される。ボタンＢ３には画面内の領域が割り当てられ、割り当てられた領域内にはモード選択画面Ｓ（５）に戻る旨の表示が行なわれる。また、ボタンＢ３に割り当てられた領域内への入力によりモード選択画面Ｓ（５）が表示される。ボタンＢ４には画面内の領域が割り当てられ、割り当てられた領域内にはＡＲ機能を終了させる旨の表示が行なわれる。また、ボタンＢ４に割り当てられた領域内への入力によりＡＲ機能の終了処理が実行される。ボタン群Ｂ５の各々には画面内の領域が割り当てられ、割り当てられたそれぞれの領域にシナリオにラベル付けされたシナリオ名が表示される。シナリオ名が表示された領域への入力に応じてシナリオが選択される。
【００８８】
シナリオ選択画面Ｓ（７）もボタンＢ３およびボタンＢ４を含み、さらにボタン群Ｂ６を含む。ボタン群Ｂ６は、ボタン群Ｂ５と同様のボタンと、新規シナリオに対応するボタンを含む。新規シナリオのボタンが選択されると、シナリオが新規に作成される。
【００８９】
図１７のＳ１０１でモード選択画面が表示された状態で入力部１９が入力操作を検知すると、入力部１９はモード選択画面におけるユーザの入力を制御部１０に伝達し、制御部１０はユーザの入力によりＡＲ表示モードが選択されたか否かを判定する（Ｓ１０２）。モード選択画面においてＡＲ表示モードが選択されると、シナリオに応じたＡＲコンテンツの表示処理が実行され、他方、ＡＲ編集モードが選択されると、ＡＲコンテンツの編集処理が実行される。
【００９０】
モード選択画面においてＡＲ表示モードが選択されると、選択制御部１０１はシナリオリストの取得イベントを生成し、取得部１１は取得イベントの生成に応じてコンピュータ２から通信部１８を介してシナリオリストを取得する。シナリオリストは、図１０や図１３に示すＡＲ定義データに含まれるルート定義Ｎなどに基づいて生成される。
【００９１】
また、シナリオリストが複数種類用意され、作業の実行主体であるユーザに関する情報（例えばアカウント）に応じて提供されるシナリオリストが切り替えられてもよい。例えば、Ｓ１０１の前に、ユーザのアカウント情報やパスワードなどの入力に基づくログイン操作が行なわれ、ログイン時に入力されたユーザのアカウント情報に応じたシナリオリストが提供される。これにより、複数の業務プロセスを扱う組織において割り当てられるユーザの権限に応じたシナリオ提供が可能となる。
【００９２】
図２０は、ルート定義のデータ構造例を示す。ＡＲ定義データに含まれる各データは、例えば、所定のデータ長（例えば４バイト）を単位とする情報（情報単位）の羅列（情報単位１および情報単位群２）で構成される。ルート定義Ｎの１番目の情報単位（情報単位１）には、ルートの配下に存在するシナリオの数Ｎｓが示される。ルート定義Ｎには、シナリオ数Ｎｓを示す情報単位に後続して、Ｎｓ個の情報単位が含まれる。２番目以降の情報単位（情報単位群２）には、ルートの配下のシナリオを識別するシナリオＩＤと、シナリオ定義の格納先を示すポインタとが含まれる。
【００９３】
取得部１１が取得するシナリオリストは、ルート定義そのものでもよいし、ルート配下のシナリオ定義へのポインタが除かれたものであってもよい。また、ルート配下の各シナリオＩＤに、対応するシナリオ名を対応づけた情報をシナリオリストとしてもよい。また、例えば、複数種類のシナリオリストをユーザのアカウントに応じて切り替える構成においては、ＡＲ定義データ全体が複数通り用意される。
【００９４】
図１７のＳ１０３でシナリオリストが取得されると、選択制御部１０１はシナリオ選択画面Ｓ（６）の表示イベントを生成し、表示制御部１０３は表示イベントの生成に応じて表示部１７にシナリオ選択画面Ｓ（６）を表示させる（Ｓ１０４）。シナリオ選択画面が表示された状態で入力部１９が入力操作を検知すると、入力部１９はシナリオ選択画面におけるユーザの入力を制御部１０に伝達し、制御部１０はユーザの入力による選択内容を判定する（Ｓ１０５）。
【００９５】
Ｓ１０５において、モード選択画面Ｓ（５）に戻る旨（「戻る」）が表示されるボタンＢ３が選択される（Ｓ１０５：「戻る」）と、Ｓ１０１の処理が再度行なわれる。また、Ｓ１０５においてＡＲ機能を終了させる旨（「終了」）が表示されるボタンＢ４が選択される（Ｓ１０５：「終了」）と、ＡＲ機能が終了される。また、Ｓ１０５において、ボタン群Ｂ５に示されるいずれかのシナリオが選択される（Ｓ１０５：「シナリオ」）と、制御部１０は取得部１１に、Ｓ１０５で選択されたシナリオで提供されるＡＲコンテンツ群のダウンロード処理を開始させる（Ｓ１０６）。
【００９６】
図２１は、ダウンロード機能の処理手順例を示す。取得部１１は、選択されたシナリオのシナリオＩＤを、通信部１８を介してコンピュータ２に送信する（Ｓ２０１）。コンピュータ２は、取得部１１により送信されたシナリオＩＤに対応するＡＲ定義データをコンピュータ１に送信する。コンピュータ２の処理手順は、図５２において説明される。取得部１１は、コンピュータ２から送信されるＡＲ定義データを、通信部１８を介して受信する（Ｓ２０２）。
【００９７】
ＡＲ定義データのデータ構造例は、図１０または図１３に示される。ＡＲ定義データの一部であるルート定義Ｎは図２０により示される。図１３に示されるデータ構造例におけるシナリオ定義、ステップ定義、マーカー定義およびコンテンツ定義のそれぞれについて、図２２〜図２５にデータ構造例を示す。
【００９８】
図２２は、シナリオ定義のデータ構造例を示す。図２２に示されるシナリオ定義Ｎ１３は、ルート定義Ｎに含まれるポインタにより格納位置が示される。シナリオ定義は、所定データ長の情報単位（情報単位１、情報単位群２、情報単位３、情報単位群４）により構成される。シナリオ定義Ｎ１３の１番目の情報単位（情報単位１）には、シナリオ定義Ｎ１３の配下のステップ定義の数（シナリオ定義Ｎ１３では５）と、ルート定義Ｎの格納位置を示すポインタとが含まれる。１番目の情報単位に示されるステップ定義の数の情報単位（情報単位群２）が、１番目の情報単位に後続してシナリオ定義Ｎ１３に含まれる。これらの情報単位には、シナリオ定義Ｎ１３の配下のステップ定義のステップ番号およびステップ定義の格納位置を示すポインタが含まれる。さらに、シナリオ定義Ｎ１３配下のステップ定義に関する情報に後続する情報単位（情報単位３）には、シナリオ定義Ｎ１３配下のマーカー定義の数（シナリオ定義Ｎ１３では１）が示される。さらに、シナリオ定義Ｎ１３配下のマーカー定義の数の情報単位（情報単位群４）が後続してシナリオ定義Ｎ１３に含まれる。これらの情報単位には、シナリオ定義Ｎ１３配下のマーカー定義のマーカーＩＤおよびマーカー定義の格納位置を示すポインタが含まれる。
【００９９】
図２３は、ステップ定義のデータ構造例を示す。図２３に示されるステップ定義Ｎ２１は、シナリオ定義Ｎ１３に含まれるポインタにより格納位置が示される。ステップ定義は、所定データ長の情報単位（情報単位１および情報単位群２）により構成される。ステップ定義Ｎ２１の１番目の情報単位（情報単位１）には、ステップ定義Ｎ２１の配下のマーカー定義の数（ステップ定義Ｎ２１では１）と、シナリオ定義Ｎ１３の格納位置を示すポインタとが含まれる。情報単位１に示されるマーカー定義の数の情報単位（情報単位群２）が、１番目の情報単位に後続してステップ定義Ｎ２１に含まれる。これらの情報単位には、ステップ定義Ｎ２１の配下のマーカー定義のマーカーＩＤおよびマーカー定義の格納位置を示すポインタが含まれる。
【０１００】
図２４は、マーカー定義のデータ構造例を示す。図２４に示されるマーカー定義Ｎ３１１は、ステップ定義Ｎ２１に含まれるポインタにより格納位置が示される。マーカー定義は、所定データ長の情報単位（情報単位１および情報単位群２）により構成される。マーカー定義Ｎ３１１の１番目の情報単位（情報単位１）には、マーカー定義Ｎ３１１の配下のコンテンツ定義の数（マーカー定義Ｎ３１１では１）と、ステップ定義Ｎ２１の格納位置を示すポインタとが含まれる。１番目の情報単位に示されるコンテンツ定義の数の情報単位（情報単位群２）が、１番目の情報単位に後続してマーカー定義Ｎ３１１に含まれる。これらの情報単位には、マーカー定義Ｎ３１１の配下のコンテンツ定義のコンテンツＩＤおよびコンテンツ定義の格納位置を示すポインタが含まれる。
【０１０１】
図２５は、コンテンツ定義のデータ構造例を示す。図２５に示されるコンテンツ定義Ｎ４０１は、マーカー定義Ｎ３１１に含まれるポインタにより格納位置が示される。コンテンツ定義は、所定データ長の情報単位（情報単位１〜５）により構成される。コンテンツ定義Ｎ４０１の１番目の情報単位（情報単位１）には、コンテンツ定義である旨を示す情報と、マーカー定義Ｎ４０１へのポインタとが含まれる。また、コンテンツ定義Ｎ４０１の２番目の情報単位（情報単位２）には、コンテンツ定義Ｎ４０１のコンテンツＩＤと、コンテンツ定義Ｎ４０１で定義されるＡＲコンテンツに用いられるＡＲテンプレートのテンプレートＩＤが示される。コンテンツ定義Ｎ４０１の３番目の情報単位（情報単位３）には、マーカー座標系における位置座標（Ｘｍ，Ｙｍ，Ｚｍ）が示される。この位置座標にＡＲコンテンツの基準点がセットされる。コンテンツ定義Ｎ４０１の４番目の情報単位（情報単位４）には、マーカー座標系における回転座標（Ｐｍ，Ｑｍ，Ｒｍ）が示される。さらに、コンテンツ定義Ｎ４０１の５番目の情報単位（情報単位５）には、ＡＲコンテンツの倍率（Ｊｘ，Ｊｙ，Ｊｚ）が示される。
【０１０２】
選択されたシナリオの配下のＡＲ定義データが取得されると、取得部１１は、受信状態テーブルＴ１を記憶部１５のワークエリアに生成する（Ｓ２０３）。
【０１０３】
図２６は、受信状態テーブルの例を示す。受信状態テーブルＴ１は、選択されたシナリオに含まれる各ＡＲコンテンツについて、ＡＲコンテンツが表示されるステップのステップ番号、コンテンツＩＤおよび受信されたか否かの受信状態を示す情報を対応付けるテーブルである。受信状態は、値「０」がコンテンツデータの受信未了を示し、値「１」がコンテンツデータの受信完了を示す。図２６に示す受信状態テーブルの例は、シナリオＩＤ：００１が選択された場合の例である。ＡＲコンテンツのコンテンツデータ（ＡＲテンプレートおよび画像ファイル）の受信が終了した場合に、受信状態が「０」から「１」に変更される。
【０１０４】
受信状態テーブルＴ１を生成すると、取得部１１は、受信状態テーブルＴ１を参照し、未受信のコンテンツデータが存在するか否かを判定する（Ｓ２０４）。未受信のコンテンツデータが存在する場合（Ｓ２０４：ＹＥＳ）には、取得部１１は、コンテンツデータの受信を行なう（Ｓ２０５）。図５２を用いて後述するが、コンピュータ２は、選択されたシナリオに含まれるＡＲコンテンツのコンテンツデータをステップごとに順次送信する。
【０１０５】
コンテンツデータとは、コンテンツ定義により位置、向き及びサイズが定義されるＡＲコンテンツの形状や模様を示す情報である。コンテンツデータは、ＡＲテンプレートとＡＲテンプレートにおいて示される画像ファイルとを含む。
【０１０６】
図２７は、ＡＲテンプレートのデータ構造例を示す。ＡＲテンプレートＴ２は、ＡＲテンプレートのテンプレートＩＤ、ＡＲテンプレートを構成する各頂点の座標データＴ２１、およびＡＲテンプレートを構成する各面の面構成データＴ２２を含む。面構成データに含まれる各面の情報は、面を構成する頂点の順序である頂点順序と、テクスチャＩＤの指定トを含む。テクスチャＩＤは、面にマッピングされるテクスチャの識別情報（画像ファイルの識別情報）を示す。ＡＲテンプレートの基準点は例えば０番目の頂点である。
【０１０７】
Ｓ２０５が実行されてから所定時間経過すると、取得部１１は、受信状態テーブルＴ１の更新を行なう（Ｓ２０６）。取得部１１は、コンテンツデータの受信が終了したＡＲコンテンツについて、受信状態テーブルＴ１の受信状態を「０」から「１」に変更する。ＡＲコンテンツに対応するＡＲテンプレートＴ２と、ＡＲテンプレートＴ２で指定される画像ファイルが全てダウンロードされると、ＡＲコンテンツの受信が終了したと判断される。Ｓ２０６の処理が行なわれると、取得部１１は再度Ｓ２０４の判定を行なう。
【０１０８】
受信状態テーブルＴ１の参照により、未受信のコンテンツデータが無いと判定された場合（Ｓ２０４：ＮＯ）には、取得部１１はダウンロード機能を終了する。
【０１０９】
制御部１０は、取得部１１にダウンロード処理を開始させると、ＡＲマーカーが検知されたか否かを認識部１２に判定させる（Ｓ１０７）。認識部１２は、撮像部１６により撮像された撮像画像内にＡＲマーカーの像が含まれる場合に、ＡＲマーカーが検知されたと判定する。ＡＲマーカーの像が含まれるか否かは、例えば、撮像画像内に平行四辺形形状の像が含まれるか否かにより判断される。認識部１２によりＡＲマーカーが検知されない旨の判定結果を受ける場合（Ｓ１０７：ＮＯ）には、所定時間経過後に再度Ｓ１０７の処理が実行される。撮像部１６は定期的に撮像処理を行なっており、認識部１２が再度Ｓ１０７の処理を行なう際には、別の撮像画像に基づいて判断が行なわれる。
【０１１０】
ＡＲマーカーが検知された旨の判定結果を認識部１２から受ける場合（Ｓ１０７：ＹＥＳ）には、制御部１０は、認識部１２にマーカー認識処理を実行させる（Ｓ１０８）。マーカー認識処理においては、Ｓ１０７で検知されたＡＲマーカーについて、カメラ座標系におけるＡＲマーカーの座標（位置座標および回転座標）の算出と、ＡＲマーカーのマーカーＩＤの読み取りとが行なわれる。算出されたＡＲマーカーの座標と、読み取られたマーカーＩＤに基づいて、認識マーカー情報Ｄ１およびマーカー移動情報Ｄ２が更新される。認識マーカー情報Ｄ１およびマーカー移動情報Ｄ２の更新は、Ｓ１０９のイベント検知処理において行なわれる。
【０１１１】
図２８は、認識マーカー情報およびマーカー移動情報の例を示す。図２８に示される認識マーカー情報Ｄ１は、Ｓ１０８のマーカー認識処理により認識されたＡＲマーカーの数と、認識されたＡＲマーカー各々についてのマーカーＩＤおよび移動情報へのポインタとを示す。認識マーカー情報Ｄ１に含まれるポインタにより示されるマーカー移動情報Ｄ２は、直近の所定回数のマーカー認識により算出されたＡＲマーカーの像の位置座標（Ｘｓ，Ｙｓ）および回転座標（Ｒ１ｃ）が示される。マーカー移動情報Ｄ２は、例えば、８回前のマーカー認識処理までのＡＲマーカーの像の位置座標（Ｘｓ，Ｙｓ）および回転座標（Ｒ１ｃ）が示される。位置座標の単位は例えばピクセルであり、回転座標の単位は例えば度である。認識マーカー情報Ｄ１およびマーカー移動情報Ｄ２は、例えばレジスタなどに格納される。
【０１１２】
マーカー認識処理が行なわれると、制御部１０はイベント検知処理を実行する（Ｓ１０９）。イベント検知処理によるイベントの検知に応じて、選択されたシナリオにおけるステップが進行または後退する。
【０１１３】
図２９は、シナリオの状態情報の例を示す。図２９に示される状態情報Ｄ０は、シナリオの進行状況を示す。状態情報Ｄ０は、例えばレジスタなどに格納される。状態情報Ｄ０は、Ｓ１０５で選択されたシナリオのシナリオＩＤ、選択されたシナリオに含まれるステップの数および現在のステップを示す。イベントの検知によりステップが進行または後退すると、状態情報Ｄ０の現在のステップの情報が更新される。
【０１１４】
図３０は、イベント検知の処理手順例を示す。図３０に示すイベント検知処理においては、ＡＲマーカーの像が横方向に移動してフレームアウトした場合にステップ番号のインクリメントまたはデクリメントが行なわれる。スクリーン座標系で正の方向にフレームアウトした場合に、ステップ番号がインクリメントされ、負の方向にフレームアウトした場合に、ステップ番号がデクリメントされる。
【０１１５】
イベント検知部１０２は、イベント検知処理が開始されると、認識マーカー情報Ｄ１を参照し、前回までに認識されたＡＲマーカーで今回のマーカー認識処理で認識されなかったＡＲマーカーが存在するか否かを判定する（Ｓ３０１）。Ｓ３０１で参照される認識マーカー情報Ｄ１には、図３０のイベント検知処理の直前に行なわれたマーカー認識処理（今回のマーカー認識処理）の結果は反映されていない。すなわち、Ｓ３０１で参照される認識マーカー情報Ｄ１には、直前のマーカー認識処理（今回のマーカー認識処理）のさらに１つ前までのマーカー認識処理の結果が含まれている。Ｓ３０１で未認識のＡＲマーカーが存在した場合（Ｓ３０１：ＹＥＳ）に、イベント検知部１０２は、Ｓ３０１で検知された未認識のＡＲマーカーのマーカー移動情報を、認識マーカー情報に基づいて取得する（Ｓ３０２）。
【０１１６】
イベント検知部１０２は、さらに、Ｓ３０２で取得したマーカー移動情報に含まれる位置座標に基づいて、Ｘｓ方向の座標の絶対の最大値と、Ｙｓ方向の変化量（Ｙｓの最大値とＹｓの最小値との差）とを算出する（Ｓ３０３）。続いてイベント検知部１０２は、Ｓ３０３で算出したＹｓ方向の変化量が所定値以下であるか否かを判定する（Ｓ３０４）。Ｓ３０３で算出したＹｓの変化量が所定値以下であれば、コンピュータ１のカメラが上下方向に大きく動いていないことが判明する。Ｓ３０３で算出したＹｓの変化量が所定値以下である場合（Ｓ３０３：ＹＥＳ）には、イベント検知部１０２は、Ｓ３０３で算出したＸｓ方向の絶対値の最大値が所定値以上であるか否かを判定する（Ｓ３０５）。Ｓ３０３で算出したＸｓ方向の絶対値の最大値が所定値以上であれば、ＡＲマーカーの像が画面の右端の領域か左端の領域に存在したことが判明する。スクリーン座標系は、前述の通り（Ｘｓ，Ｙｓ）の２次元で構成され、例えばカメラの撮像処理により得られる撮像画像の中心を原点（原点Ｏｓ）とする。所定値として、Ｘｓの最大値（画面の右端に相当する）よりも小さく０よりも大きい値が用いられ、例えばＸｓの最大値の３／４などの値が用いられる。Ｓ３０３で算出したＸｓ方向の絶対値の最大値が所定値以上の場合（Ｓ３０５：ＹＥＳ）には、イベント検知部１０２は、Ｘｓ方向の絶対値が最大となるＸｓが正の値であるか否かを判定する（Ｓ３０６）。
【０１１７】
Ｘｓ方向の絶対値が最大となるＸｓが正の値である場合（Ｓ３０６：ＹＥＳ）には、イベント検知部１０２は、状態情報Ｄ０の現在のステップ番号をインクリメントする（Ｓ３０７）。逆に、Ｘｓ方向の絶対値が最大となるＸｓが負の値である場合（Ｓ３０６：ＮＯ）には、イベント検知部１０２は、状態情報Ｄ０の現在のステップ番号をデクリメントする（Ｓ３０８）。
【０１１８】
前回のマーカー認識処理で認識されたＡＲマーカーで今回未認識のマーカーが無い場合（Ｓ３０１：ＮＯ）、Ｙｓの変化量が所定値よりも大きい場合（Ｓ３０４：ＮＯ）、Ｓ３０３で算出したＸｓ方向の絶対値の最大値が所定値よりも小さい場合（Ｓ３０５：ＮＯ）、Ｓ３０７またはＳ３０８の処理が行なわれた場合のいずれかに該当する場合は、イベント検知部１０２は、今回のマーカー認識処理Ｓ１０８の認識結果を認識マーカー情報Ｄ１およびマーカー移動情報Ｄ２に反映させる（Ｓ３０９）。Ｓ３０９の処理が行なわれると、イベント検知処理は終了する。
【０１１９】
図３１は、画面に表示されるマーカーの例を示す。図３１に示される画面Ｓ（８）は、シナリオＩＤ：００１のステップ１における表示画面の例である。ステップ１の状態なので、ＡＲコンテンツＣＡ１１が表示され、ＡＲコンテンツＣＡ１２およびＣＡ１３の表示は抑制される（または一部のみが表示される）。画面Ｓ（８）に表示されるＡＲマーカーＭ１の像が矢印の方向に移動してフレームアウトすると、Ｘｓの最大値は正の値であるため、ステップ番号がインクリメントされる。
【０１２０】
図３１に示される画面Ｓ（９）は、画面Ｓ（８）に示すようにフレームアウトした後、再度ＡＲマーカーＭ１がフレームインした際の画面の例である。ＡＲマーカーがフレームインされると、マーカー認識処理によりマーカーが認識され、認識されたマーカーに応じたＡＲコンテンツの表示が行なわれる。その場合には、画面Ｓ（８）よりもステップが１つ進行しているので、シナリオＩＤ：００１のステップ２に対応するＡＲコンテンツＣＡ１２が表示される。また、画面（８）において表示されたＡＲコンテンツＣＡ１１の表示は抑制される（または一部のみが表示される）。
【０１２１】
図３０および図３１に示されるイベント検知処理に応じたステップの切り替えによれば、ユーザはコンピュータ１を保持した状態のまま（ＡＲコンテンツの表示を閲覧する姿勢のまま）カメラの向きを変えるのみでステップを切り替えることができる。また、図３０の手順によれば、フレームアウトの方向判断は、ＡＲマーカーを認識しなくなったタイミングにのみ実施される。
【０１２２】
例えば、ステップの切り替えは、ボタンのタップ、ディスプレイのタップ/フリック等の遷移アクションに応じて行なわれてもよい。しかしながら、コンピュータ１がタブレット端末などである場合、タップやフリックなどの操作を行なうためには、ユーザはタブレット端末を片手持ちすることになる。端末のサイズが大きくなると、片手で安定的に保持することが難しくなる。
【０１２３】
また、例えばステップの切り替えが、コンピュータ１本体のジェスチャに応じて行なわれてもよい。ジェスチャによる判断は、加速度センサによる計測値や撮像画像の解析などに応じて行なわれる。しかし、ジェスチャが開始されたタイミングを判断するために、常時数値的な演算処理が行なわれる。
【０１２４】
図３１を用いた上述の説明では、ＡＲマーカーＭ１の像が画面右側にフレームアウトした場合にステップ番号がインクリメントされるが、逆にデクリメントされるようにしてもよい。その場合、例えば、ＡＲマーカーＭ１の像が画面左側にフレームアウトした場合にステップ番号がインクリメントされる。
【０１２５】
また、判定の契機がフレームアウトでなく、フレームインであってもよい。例えば、図３０のＳ３０１において、前回までに認識されなかったＡＲマーカーが認識された際に、フラグを立てておき、フラグが立った状態におけるＡＲマーカーの像の移動方向に応じて、ステップ番号がインクリメントまたはデクリメントされる。
【０１２６】
イベント検知部１０２によりイベント検知処理（Ｓ１０９）が行なわれると、制御部１０は、演算部１３および生成部１４を制御して、投影画像の生成処理を実行する（Ｓ１１０）。
【０１２７】
図３２は、投影画像の生成処理の処理手順例を示す。制御部１０は、シナリオの状態情報に示される現在のステップ番号のステップ定義に定義された認識対象のＡＲマーカーが、認識マーカー情報に存在するか否かを判断する（Ｓ４０１）。現在のステップの認識対象のＡＲマーカーが認識マーカー情報に示されないということは、現在のステップにおいて表示すべきＡＲコンテンツが存在しないということである。そのため、認識対象のＡＲマーカーが認識マーカー情報に示されない場合（Ｓ４０１：ＮＯ）、Ｓ１０７のマーカー検知の手順が行なわれる。この際に、表示制御部１０３は、認識すべきＡＲマーカーが異なる旨のガイド情報を表示部１７に表示させてもよい。
【０１２８】
現在のステップの認識対象のＡＲマーカーが存在する場合（Ｓ４０１：ＹＥＳ）には、制御部１０は、現在のステップの認識対象のＡＲマーカーの情報（マーカー定義、マーカー定義の配下のコンテンツ定義）を読み出す（Ｓ４０２）。制御部１０は、Ｓ４０２で読みだしたコンテンツ定義に対応するＡＲコンテンツのうち、コンテンツデータの受信が終わっていないＡＲコンテンツが存在するか否かを判定する（Ｓ４０３）。制御部１０は、シナリオの状態情報に示される現在のステップ番号についてのコンテンツの受信状況を、受信状態テーブルＴ１の参照により確認してＳ４０３の判定を行なう。ＡＲコンテンツが受信されていない場合（Ｓ４０３：ＮＯ）には、制御部１０は、受信するまで待機して再度Ｓ４０３の判定を行なう。もしくは、表示制御部１０３が受信待機中である旨を表示部１７に表示させ、その後、Ｓ１０７のマーカー検知の手順が行なわれてもよい。
【０１２９】
表示対象のＡＲコンテンツが受信されている場合（Ｓ４０３：ＹＥＳ）には、制御部１０は、表示対象の各ＡＲコンテンツについてＳ４０５〜Ｓ４０７の処理を行なう（Ｓ４０４およびＳ４０８による繰り返し）。表示対象のＡＲコンテンツとは、現在のステップのステップ定義の配下のコンテンツ定義に定義されるＡＲコンテンツである。
【０１３０】
Ｓ４０４でＡＲコンテンツが選択されると、制御部１０は、演算部１３に、選択されたＡＲコンテンツのコンテンツ定義に示されるＡＲテンプレートに定義される各頂点座標をコンテンツ定義に基づいて座標変換させる（Ｓ４０５）。演算部１３は、各頂点座標をコンテンツ定義の回転座標（Ｐｍ，Ｑｍ，Ｒｍ）に基づいて回転させ、回転させた頂点座標を倍率（Ｊｘ，Ｊｙ，Ｊｚ）に応じて拡縮し、さらに位置座標（Ｘｍ，Ｙｍ，Ｚｍ）に応じて並進させる。制御部１０は、さらに、演算部１３に、Ｓ４０５で座標変換された各頂点座標に対してモデル−ビュー変換および透視変換を実行させる（Ｓ４０６）。Ｓ４０５およびＳ４０６により、Ｓ４０４で選択されたＡＲコンテンツの各頂点座標がスクリーン座標系で表現される。
【０１３１】
制御部１０は、生成部１４に、ＡＲテンプレートに定義される面定義ごとに、Ｓ４０５およびＳ４０６で座標変換された各頂点座標に基づいてテクスチャマッピングを実行させる（Ｓ４０７）。生成部１４は、面定義に定義される各頂点のスクリーン座標系での座標を線で補間した領域に、面定義に定義された画像ファイル（テクスチャＩＤで指定される画像）を、マッピングする。
【０１３２】
生成部１４により各面定義についての形状および位置が指定された面画像が生成されると、表示制御部１０３は、透明画像レイヤに各面画像を配置する（Ｓ４０８）。透明画像レイヤは表示画面サイズの画像であり初期設定では透明である。そのため、透明画像レイヤの背面に存在するレイヤの画像がそのまま表示される。Ｓ４０８で配置された面画像は、背面のレイヤの画像よりも前面に表示される。
【０１３３】
Ｓ４０５〜Ｓ４０８の処理が表示対象の各ＡＲコンテンツに行なわれると、制御部１０は投影画像の生成処理を終了し、表示制御部１０３は、投影画像の更新を行なう（Ｓ１１１）。表示制御部１０３は、Ｓ１１０の処理で各ＡＲコンテンツの各面画像が配置された透明画像レイヤを撮像画像の前面に表示させる制御を表示部１７に対して行なう。
【０１３４】
その後、制御部１０はシナリオを終了させるか否かを判断する（Ｓ１１２）。制御部１０は、シナリオの状態情報を参照し、現在のステップ番号がステップ数よりも大きい場合に、シナリオ終了する判断を行なう。制御部１０は、現在のステップ番号がステップ数以下であれば、シナリオを終了しない。Ｓ１１２でシナリオを終了しない場合（Ｓ１１２：ＮＯ）には、制御部１０は、Ｓ１０７のマーカー検知処理が行なわれる。
【０１３５】
Ｓ１１２でシナリオを終了する場合には、表示制御部１０３は、表示部１７に選択画面を表示させる（Ｓ１１３）。Ｓ１１３で表示される選択画面には、「終了」、「他のシナリオ」および「他のモード」の選択肢が示される。制御部１０は、Ｓ１１３で選択画面が表示された状態で入力部１９が受けた選択入力が、「終了」、「他のシナリオ」および「他のモード」のいずれであるかを判定する（Ｓ１１４）。
【０１３６】
Ｓ１１４で選択入力が「終了」である場合（Ｓ１１４：「終了」）には、制御部１０は、ＡＲ機能を終了させる。Ｓ１１４で選択入力が「他のシナリオ」である場合（Ｓ１１４：「他のシナリオ」）には、表示制御部１０３は、表示部１７にＳ１０４のシナリオ選択画面を表示させる。また、Ｓ１１４で選択入力が「他のモード」である場合（Ｓ１１４：「他のモード」）には、表示制御部１０３は、表示部１７にＳ１０１のモード選択画面を表示させる。
【０１３７】
［切り替えイベント検知の他の方式］
図３０のイベント検知の手順では、マーカーのフレームアウトの方向によりステップ切り替えのイベントが検知される。認識されたマーカーの態様に応じたステップ切り替え判定の他の手順について説明する。
【０１３８】
例えば、ステップ切り替え用のインジケータ（指標画像）を画面上に表示しておき、撮像画像中のマーカーの像をインジケータに合わせられたことに応じてステップが切り替えられる。インジケータは、例えば、四角い枠形状の図形である。
【０１３９】
図３３は、画面に表示されるマーカーの例を示す。図３３に示される画面Ｓ（１０）は、あるシナリオのステップ１における画面の例である。画面Ｓ（１０）には、インジケータＩ１が表示される。インジケータＩ１は、四角い枠形状の図形であり、番号「２」を示す。また、画面Ｓ（１０）には、ＡＲマーカーＭ１の像が写り込んでいる。表示される撮像画像は順次更新され、更新された撮像画像に対してマーカー認識処理（Ｓ１０８）が行なわれる。
【０１４０】
画面Ｓ（１１）は、マーカー認識処理により得られるＡＲマーカーＭ１の画面内の位置がインジケータＩ１の表示位置と重なった場合の画面を示す。画面Ｓ（１１）の状態になった場合に、ステップ１からステップ２への切り替えが行なわれる。ステップ２に切り替えられると、ＡＲマーカーＭ１の認識に応じて、ステップ２に対応する表示が行なわれる。
【０１４１】
画面Ｓ（１２）は、ステップ２に対応する表示が行なわれた画面の例である。画面Ｓ（１２）には、ＡＲマーカーＭ１の像と、ステップ２の表示対象のＡＲコンテンツＣ３１およびＣ３２と、インジケータＩ２およびＩ３とが表示される。インジケータＩ２およびＩ３も、インジケータＩ１と同様に四角い枠形状の図形であり、それぞれ番号「３」、「１」を示す。ＡＲマーカーＭ１の像がインジケータＩ２の画面内位置で認識されると、ステップの進行（ステップ２からステップ３への切り替え）が行なわれ、ＡＲマーカーの像がインジケータＩ３の画面内位置で認識されると、ステップの後退（ステップ２からステップ１への切り替え）が行なわれる。
【０１４２】
インジケータＩ２の画面内位置にＡＲマーカーの像が認識されると、画面Ｓ（１３）が表示される。画面Ｓ（１３）はステップ３に対応する表示が行なわれた画面の例である。ステップ３の表示対象のＡＲコンテンツＣ３３およびＣ３４と、インジケータＩ４およびＩ１が表示される。インジケータＩ４も、インジケータＩ１と同様に四角い枠形状の図形であり、番号「４」を示す。ＡＲマーカーＭ１の像がインジケータＩ４の画面内位置で認識されると、ステップの進行（ステップ３からステップ４への切り替え）が行なわれ、ＡＲマーカーの像がインジケータＩ１の画面内位置で認識されると、ステップの後退（ステップ３からステップ２への切り替え）が行なわれる。
【０１４３】
図３４は、ステップ定義のデータ構造例を示す。図３３に示すステップ切り替えでは、各ステップにおいてインジケータの表示位置が指定される。インジケータの表示位置は、各ステップ定義において定義される。図３３に示されるステップ２に対応するステップ定義Ｎ２２ａは、ステップ定義Ｎ２１と同様に、所定のデータ長（例えば４バイト）を単位とする情報の羅列（情報単位１〜４）で構成される。
【０１４４】
情報単位１には、ステップ２においてＡＲコンテンツ表示の基準に用いられるＡＲマーカーの数と、シナリオ定義へのポインタとが示される。情報単位２には、ステップ２においてＡＲコンテンツ表示の基準に用いられるＡＲマーカーのマーカーＩＤとマーカー定義へのポインタとが示される。情報単位３には、ステップ２からステップを後退させる判断に用いられるインジケータの表示位置（Ｘｓ，Ｙｓ）が示される。また、情報単位４には、ステップ２からステップを進行させる判断に用いられるインジケータの表示位置（Ｘｓ，Ｙｓ）が示される。ステップが切り替えられると、情報単位３および４に応じてインジケータが表示される。
【０１４５】
図３５は、イベント検知の処理手順例を示す。インジケータとＡＲマーカーとの表示位置に応じてステップ切り替えを判定する方式においては、イベント検知処理が開始されると、制御部１０は、マーカー認識処理により認識されたＡＲマーカーの画面内位置（Ｘｓ，Ｙｓ）を取得する（Ｓ５０１）。
【０１４６】
制御部１０は、現在のステップのステップ定義を参照し、Ｓ５０１で取得したＡＲマーカーの位置がステップ後退用の位置であるか否か判定する（Ｓ５０２）。Ｓ５０２の判定でＡＲマーカーの位置が後退の位置であると判定された場合（Ｓ５０２：ＹＥＳ）には、制御部１０は、シナリオの状態情報Ｄ０の現在のステップ番号をデクリメントする（Ｓ５０３）。
【０１４７】
Ｓ５０２の判定でＡＲマーカーの位置が後退の位置でないと判定された場合（Ｓ５０２：ＮＯ）には、制御部１０は、現在のステップのステップ定義を参照し、Ｓ５０１で取得したＡＲマーカーの位置がステップ前進用の位置であるか否か判定する（Ｓ５０４）。Ｓ５０４の判定でＡＲマーカーの位置が前進用の位置であると判定された場合（Ｓ５０４：ＹＥＳ）には、制御部１０は、シナリオの状態情報Ｄ０の現在のステップ番号をインクリメントする（Ｓ５０５）。
【０１４８】
Ｓ５０３またはＳ５０５が行なわれると、制御部１０は、状態情報Ｄ０に示される現在のステップ番号のステップ定義に基づいて、後退用の位置を示すインジケータと、前進用の位置を示すインジケータとを生成する（Ｓ５０６）。さらに、表示制御部１０３は、表示部１７に表示させるインジケータを、Ｓ５０６で生成されたインジケータに更新する（Ｓ５０７）。Ｓ５０７が行なわれるか、ＡＲマーカーの位置が前進用の位置でないと判定された場合（Ｓ５０４：ＮＯ）には、制御部１０は、イベント検知処理を終了する。
【０１４９】
他のイベント検知の方式の例では、画面に表示されるＡＲマーカーの像の回転角度に応じて、ステップの切り替えが行なわれる。
【０１５０】
図３６は、画面に表示されるマーカーの例を示す。Ｍ１（１）に示す四角形の位置に表示されていたＡＲマーカーＭ１が、別のタイミングでＭ１（２）に示す四角形の位置に表示されると、ＡＲマーカーＭ１は角度Ｒｓだけ回転した状態で認識されたこととなる。回転角度が所定値よりも大きい場合に、回転の方向に応じたステップ切り替えの判断が可能である。ちなみに、ＡＲマーカーの回転は、固定されたＡＲマーカーに対してユーザがカメラを回転させる動作によっても行なわれる。
【０１５１】
図３７は、イベント検知の処理手順例を示す。イベント検知処理が開始されると、制御部１０は、認識されたＡＲマーカーのマーカー移動情報Ｄ１から回転座標の情報を取得する（Ｓ６０１）。次に、制御部１０は、認識されたＡＲマーカーに回転が生じたか否かを判定する（Ｓ６０２）。Ｓ６０２の判定は、回転角度Ｒｓが所定値以上であるか否かに応じて行なわれる。マーカー認識処理により回転角度Ｒ１ｃが算出されるので、回転角度Ｒｓの代わりに、例えば、マーカー移動情報に含まれる回転角度（Ｒ１ｃ）の最大値と最小値との差が用いられてもよい。
【０１５２】
Ｓ６０２で回転が生じたと判定された場合（Ｓ６０２：ＹＥＳ）には、制御部１０は、回転の方向が正の方向であるか否かを判定する（Ｓ６０３）。回転の方向は、マーカー移動情報に含まれる回転角度（Ｒ１ｃ）の最大値と最小値とのどちらが先のマーカー認識処理の結果であるかに基づいて判断可能である。最小値が先に認識された処理結果であれば、回転角度を増やす方向に回転しているので、正の方向への回転であると判定される。
【０１５３】
Ｓ６０３で正の方向への回転であると判定された場合（Ｓ６０３：ＹＥＳ）には、制御部１０は、状態情報Ｄ０の現在のステップ番号をインクリメントする（Ｓ６０４）。一方、Ｓ６０３で正の方向への回転でないと判定された場合（Ｓ６０３：ＮＯ）には、制御部１０は、状態情報Ｄ０の現在のステップ番号をデクリメントする（Ｓ６０５）。
【０１５４】
Ｓ６０４またはＳ６０５の処理が行なわれるか、Ｓ６０２で回転が生じていないと判定された場合（Ｓ６０２：ＮＯ）には、制御部１０は、Ｓ１０８のマーカー認識処理の結果に基づいて、マーカー移動情報を更新する（Ｓ６０６）。Ｓ６０６が行なわれると、イベント検知処理は終了となる。
【０１５５】
ステップ切り替えイベントの検知について３種類の方法が説明されたが、他の方法により検知されてもよい。また、上述の３つの検知方法いずれについても適宜変形して実施されてよい。例えば、マーカーのフレームアウトにより切り替えイベントを検知する方法では、マーカーのフレームインに基づいてイベント検知を行なってもよい。さらに、上述の例において、マーカーアウトが画面右端で行なわれる場合にステップ進行イベントが検知され、画面左端で行なわれる場合にステップ後退イベントが検知されたが、方向は逆でもよい。さらには、画面上端でのフレームアウト／インに基づいて判断してもよく、画面下端でのフレームアウト／インに基づいて判断してもよい。
【０１５６】
また、マーカーの回転に応じたイベント検知の例においては、正方向の回転でステップ進行イベントが検知されたが、逆に正方向の回転でステップ後退イベントが検知されても良い。その場合には、例えば、負方向の回転でステップ進行イベントが検知される。
【０１５７】
［例外シナリオの発生］
本実施例においては、複数のシナリオから選択的に１つのシナリオが提供されるが、シナリオが進行する途中で他のシナリオへ遷移するように構成されてもよい。一例においては、遷移先シナリオと遷移条件とを対応付けておき、シナリオの進行中に遷移条件が満たされると、遷移先シナリオが開始されるように構成される。
【０１５８】
図３８は、シナリオ定義のデータ構造例を示す。図３８に示すシナリオ定義Ｎ１３ａでは、第１の情報単位、第２の情報単位群、第３の情報単位、第４の情報単位（群）、第５の情報単位および第６の情報単位群が含まれる。
【０１５９】
第１の情報単位は、シナリオに含まれるステップの数（第２の情報単位の数）と、ルート定義へのポインタを示す。第２の情報単位群は第１の情報単位に後続するデータであり、第２の情報単位の各々は、各ステップについてのステップ番号と、ステップ定義へのポインタとを示す。第３の情報単位は、第２の情報単位群に後続するデータであり、シナリオ直下のマーカー定義の数（第４の情報単位の数）を示す。第４の情報単位は、第３の情報単位に後続するデータであり、シナリオ直下のマーカー定義のマーカーＩＤと、マーカー定義へのポインタとを示す。第５の情報単位は、第４の情報単位に後続するデータであり、シナリオ遷移定義の数（第６の情報単位の数）を示す。第６の情報単位は、第５の情報単位に後続するデータであり、遷移先シナリオのシナリオＩＤと、遷移条件とを示す。
【０１６０】
遷移条件が満たされることの検知は、図１７のＳ１０７からＳ１１２のいずれかの段階で行なわれる。例えばＳ１１２でシナリオが終了されるか否かを判定する際に、ユーザから遷移条件を満たす特定の入力が行なわれていたかにより判断されてもよいし、コンピュータ１内部のパラメータ（電池残量など）が遷移条件を満たすかにより判断されてもよい。
【０１６１】
遷移条件が満たされた場合には、制御部１０が状態情報Ｄ０のシナリオＩＤを遷移先シナリオのシナリオＩＤに変更し、図１７のＳ１０６の手順を実行する。Ｓ１０６の処理により、遷移先シナリオのＡＲコンテンツが取得される。
【０１６２】
［ＡＲコンテンツ編集の処理手順］
図１７のＳ１０２でＡＲ表示モードが選択されなかった場合（Ｓ１０２：ＮＯ）には、ＡＲ編集モードが呼び出される。本実施形態においては、シナリオごとにＡＲコンテンツの編集が行なわれる。
【０１６３】
図３９および図４０は、編集モードの処理手順例を示す。ＡＲ編集モードが呼び出されると、制御部１０は、取得部１１に、シナリオリストを取得させる（Ｓ７０１）。取得部１１は、コンピュータ２で、ルート定義Ｎに応じて生成されたシナリオリストを、通信部１８を介して取得する。表示制御部１０３は、取得したシナリオリストに基づいて図１９に示すシナリオ選択画面Ｓ（７）を生成し、生成したシナリオ選択画面Ｓ（７）を表示部１７に表示させる（Ｓ７０２）。
【０１６４】
シナリオ選択画面が表示された状態で入力部１９が入力操作を検知すると、入力部１９はシナリオ選択画面におけるユーザの入力を制御部１０に伝達し、制御部１０はユーザの入力による選択内容を判定する（Ｓ７０３）。
【０１６５】
Ｓ７０３で、モード選択画面Ｓ（５）に戻る旨（「戻る」）が表示されるボタンＢ３が選択される（Ｓ７０３：「戻る」）と、図１７のＳ１０１の処理が再度行なわれる。また、Ｓ７０３で、ＡＲ機能を終了させる旨（「終了」）が表示されるボタンＢ４が選択される（Ｓ７０３：「終了」）と、ＡＲ機能が終了される。また、Ｓ７０３で、ボタン群Ｂ６に示されるいずれかのシナリオが選択される（Ｓ７０３：「シナリオ」）と、制御部１０は取得部１１に、Ｓ７０３で選択されたシナリオで提供されるＡＲコンテンツ群のダウンロード処理を開始させる（Ｓ７０４）。Ｓ７０４で、取得部１１は、図２１の処理を行ない、選択されたシナリオのＡＲコンテンツ群をダウンロードする。Ｓ７０３：「シナリオ」で新規のシナリオを作成する旨が選択された場合には、新規のシナリオＩＤがダウンロードされる。
【０１６６】
制御部１０は、取得部１１にＳ７０４でダウンロード処理を開始させると、ＡＲマーカーが検知されたか否かを認識部１２に判定させる（Ｓ７０５）。認識部１２によりＡＲマーカーが検知されない場合（Ｓ７０５：ＮＯ）には、所定時間経過後に再度Ｓ７０５の処理が実行される。ＡＲマーカーが検知された場合（Ｓ７０５：ＹＥＳ）には、制御部１０は、入力部１９から静止画モードへの切り替えのユーザ入力が伝達されたか否かを判定する（Ｓ７０６）。静止画モードへの切り替え入力が行なわれていない場合（Ｓ７０６：ＮＯ）には、所定時間経過後に再度Ｓ７０５の処理が実行される。
【０１６７】
静止画モードへの入力が検知される（Ｓ７０６：ＹＥＳ）と、表示制御部１０３は、表示部１７の画面表示を静止画モードに切り替え、制御部１０は、認識部１２に、表示部１７に表示される静止画についてマーカー認識処理を実行させる（Ｓ７０７）。Ｓ７０７のマーカー認識処理は、Ｓ１０８と同様の処理である。認識部１２によるマーカー認識処理が行なわれると、制御部１０は、認識されたＡＲマーカーを基準としたＡＲコンテンツの編集を行なう（Ｓ７０８）。
【０１６８】
ＡＲコンテンツの編集は、ＡＲテンプレートの選択およびＡＲテンプレートの配置により行なわれる。ＡＲテンプレートの選択は、表示部１７に表示される編集パレットからＡＲテンプレートが選択されることで行なわれる。ＡＲテンプレートの配置は、選択されたＡＲテンプレートの表示位置・サイズ・向きの指定や、テキストの入力により行なわれる。ＡＲテンプレートの選択およびＡＲテンプレートの編集は、編集モードの表示画面への入力に応じて行なわれる。
【０１６９】
図４１は、編集モードでの表示画面例を示す。表示画面Ｓ（１４）には、撮像部１６により撮像された撮像画像と、さらに、メニュー群Ｂ１１〜Ｂ１４およびＢ１７〜Ｂ１９が表示される。メニュー群Ｂ１１〜Ｂ１４は、編集終了ボタンＢ１１、編集パレットボタンＢ１２、取消ボタンＢ１３および再実行ボタンＢ１４を含む。画面Ｓ（１４）の撮像画像には、マーカーＭおよび物体Ｈの像が含まれる。また、画面Ｓ（１４）には、さらに、ＡＲオブジェクトＣの投影画像が表示される。メニュー群Ｂ１７〜Ｂ１９は、拡縮移動モードボタンＢ１７、回転モードボタンＢ１８および数値指定モードボタンＢ１９を含む。
【０１７０】
編集終了ボタンＢ１１は、ＡＲオブジェクトＣの編集を確定させる操作指示の入力位置を示す表示要素である。パレット編集ボタンＢ１２は、ＡＲテンプレートを選択可能な編集パレットを呼び出す操作指示の入力位置を示す表示要素である。取消ボタンＢ１３は、直前の操作の前の状態に戻す操作指示の入力位置を示す表示要素である。再実行ボタンＢ１４は、取消ボタンＢ１３への操作が行なわれた場合に表示され、取り戻された操作を再度実行させる操作指示の入力位置を示す表示要素である。
【０１７１】
拡縮移動モードボタンＢ１７は、操作モードを指定する操作指示の入力位置を示す表示要素であり、拡縮移動モードボタンＢ１７の表示位置への入力が行なわれると、拡縮移動モードに操作モードが切り換えられる。回転モードボタンＢ１８は、操作モードを指定する操作指示の入力位置を示す表示要素であり、回転モードボタンＢ１８の表示位置への入力が行なわれると、回転モードに操作モードが切り換えられる。数値指定モードボタンＢ１９は、操作モードを指定する操作指示の入力位置を示す表示要素であり、数値指定モードボタンＢ１９の表示位置への入力が行なわれると、数値指定モードに操作モードが切り換えられる。
【０１７２】
拡縮移動モードでは、入力操作に応じてＡＲコンテンツＣの位置座標および倍率が調整される。例えば、ＡＲコンテンツＣの配置開始時の操作モードに、拡縮移動モードが自動設定される。例えば、タップやダブルタップの操作が行なわれた画面内に位置に応じて位置座標が指定され、ドラッグ操作によりＡＲコンテンツＣの位置が調整される。また、ピンチアウトやピンチインの操作に応じてＡＲコンテンツＣの倍率が調整される。回転モードでは、入力操作に応じてＡＲコンテンツＣの回転座標が調整される。例えば、フリック操作などに応じて回転座標が調整される。数値指定モードでは、数値入力画面が表示される。例えば、数値入力画面に対して入力された数値で、ＡＲコンテンツＣの基準点の位置、回転座標および倍率が設定される。
【０１７３】
例えば、Ｓ７０８のＡＲコンテンツの編集においては、位置指定が行なわれるたびに、指定された位置に配置されたＡＲコンテンツの投影画像の表示が行なわれる。
【０１７４】
画面Ｓ（１４）に対するユーザの入力により位置指定が行なわれると、指定された画面内の位置座標に対して、上述の透視変換の逆変換が行なわれる。透視変換の逆変換が行なわれたカメラ座標系の位置座標に対して、さらに、認識されたＡＲマーカーに基づくモデル−ビュー変換の逆変換が行なわれることにより、マーカー座標系での位置座標が得られる。
【０１７５】
マーカー座標系での位置座標が得られると、図１８のＳ１１０およびＳ１１１の処理により、指定された位置に配置されたＡＲコンテンツが表示される。例えば、編集終了ボタンＢ１１への入力が行なわれる前に、位置の指定が行なわれたら、再度位置座標の逆変換と、投影画像の生成および表示の処理が行なわれる。
【０１７６】
図４２は、編集パレットの例を示す。図３９に示すＳ７０８のＡＲテンプレートの選択において、編集パレットが表示される。図４２に例示される表示画面Ｓ（１５）は、編集パレットが呼び出された状態の表示画面である。図４２に例示される編集パレットには、ＡＲテンプレートのタイプを選択可能なボタン群（ボタン１〜ボタン９）が表示される。ＡＲテンプレートメニューの説明において、ボタン領域内に示される番号に基づいてボタンを識別して説明する。例えば、「１」という番号が示される四角いボタンが「ボタン１」である。また、編集パレットは、例えば、図４２に示されるボタン群以外にも選択可能なボタン群を含み、それらのボタン群を表示させるためのスクロール操作をさせるためのスクロールボタンＢ２１を含む。また、編集パレットは、ＡＲテンプレートの選択を終了させるクローズボタンＢ２２を含む。
【０１７７】
ボタン１〜ボタン９は、それぞれ個別のテンプレートＩＤに対応する。いずれかのボタンに対して入力が行なわれると、そのボタンに対応するテンプレートＩＤが選択され、選択されたテンプレートＩＤのＡＲテンプレートが呼び出される。
【０１７８】
ボタン１には、吹き出しタイプのＡＲテンプレートが対応付けられている。吹き出しタイプのＡＲテンプレートでは、吹き出し形状の図形内にテキスト情報が追加される。ボタン２は、引き出しボックスタイプのＡＲテンプレートが対応付けられている。引き出しボックスタイプのＡＲテンプレートでは、引き出し線と、引き出し線の先に接合する四角形の図形とを含み、四角形の図形内にテキスト情報が追加される。ボタン３は、テキストボックスタイプのＡＲテンプレートが対応付けられている。テキストボックスタイプのＡＲテンプレートでは、四角形の枠状の図形に対してテキスト情報が追加される。ボタン４は、写真タイプのＡＲテンプレートが対応付けられている。写真タイプのＡＲテンプレートでは、四角形の枠状の図形内に画像データがマッピングされる。この画像データは、記憶部１５に記憶された画像ファイルが用いられる。ボタン５は、撮像タイプのＡＲテンプレートが対応付けられている。撮像タイプのＡＲテンプレートも写真タイプのＡＲテンプレートと同様のＡＲテンプレートであるが、画像データの取得先が異なる。撮像タイプのＡＲテンプレートが使用されると、撮像モードが呼び出され、撮像部１６による撮像処理が行なわれる。撮像タイプのＡＲテンプレートを使用すると、四角形の枠状の図形内に、撮像処理により撮像された画像データがマッピングされる。写真タイプや撮像タイプでマッピングされる画像データは、静止画でも動画でもよい。ボタン６は、手書きタイプのＡＲテンプレートである。手書きタイプのＡＲテンプレートは、四角形で透明な図形オブジェクトであり、図形の模様が手書き操作により編集される。ボタン７は、リンクタイプのＡＲテンプレートであり、テキストボックスタイプのＡＲテンプレートと同様のテンプレートである。リンクタイプのＡＲテンプレートが選択されると、Ｗｅｂページのリストが表示され、リスト内から選択されたＷｅｂページへのアクセス情報がＡＲテンプレートに付加される。Ｗｅｂページのリストは、例えば、Ｗｅｂブラウザのブックマークやアクセス履歴から取得される。ボタン８は、図形タイプのＡＲテンプレートと対応付けられている。図形タイプのＡＲテンプレートは、３次元の立体モデル図形が定義されている。例えば、ボタン８への入力に応じて、立体モデル図形の形状を選択させる画面表示を行なうこととしてもよい。立体モデル図形の形状は、例えば、立方体、直方体、円柱、球、円錐および三角柱などである。また、ボタン８への入力に応じて、ＣＡＤデータの呼び出しを行なうこととしてもよい。ＣＡＤデータは、例えば、記憶部１５に格納されたＣＡＤデータのファイルが選択される。ボタン９は、ファイルタイプのＡＲテンプレートと対応づけられている。ファイルタイプのＡＲテンプレートは、ファイルを示すアイコン画像がマッピングされた四角形の図形である。ファイルタイプのＡＲテンプレートが選択されると、記憶部１５内のファイルを選択させ、選択されたファイルへのリンクをＡＲテンプレートに付加させる。
【０１７９】
Ｓ７０８により編集パレットから順次ＡＲテンプレートが選択され、順次画面内の位置が指定されることにより、複数のＡＲコンテンツの編集が行なわれる。画面内の位置が指定されると、演算部１３は、画面内の指定位置（スクリーン座標系）に対して、透視変換の逆変換およびモデル−ビュー変換の逆変換を行ない、マーカー座標系の位置座標を算出する。算出された位置座標が、ＡＲコンテンツの基準点として設定される。Ｓ７０８のＡＲコンテンツ編集の処理により、ＡＲコンテンツが追加される。編集終了ボタンＢ１１への入力が行なわれると、Ｓ７０８の処理が終了する。
【０１８０】
Ｓ７０８が終了すると、表示制御部１０３は静止画モードを解除し、制御部１０はＡＲコンテンツの配置を終了するか否か判断する（Ｓ７０９）。Ｓ７０９は、例えば、編集終了ボタンＢ１１への入力が再度行なわれたか否かに応じて判断される。配置終了でない場合（Ｓ７０９：ＮＯ）には、再度Ｓ７０５のマーカー検知処理が実行される。これにより、複数のマーカーについてのＡＲコンテンツ編集が可能となる。
【０１８１】
Ｓ７０９で配置終了である場合（Ｓ７０９：ＹＥＳ）には、制御部１０は、シナリオに含まれるステップの設定処理を行なう。例えば、図１２のように、シナリオに含まれる各ステップの情報を表示し、ユーザの入力に応じてステップの挿入・追加・削除などが行なわれる。新規シナリオ作成の場合には、始めにステップの情報が表示されないので、ユーザによるステップ追加の入力に応じてステップの情報の表示が行なわれる。
【０１８２】
ステップの設定が行なわれると、表示制御部１０３は、ステップ選択画面を表示部１７に表示させる（Ｓ７１０）。ステップ選択画面には、Ｓ７０９で設定されたステップ群と、モード選択画面Ｓ（５）への遷移を示すボタンと、シナリオ選択画面Ｓ（７）への遷移を示すボタンとが示される。ステップ選択画面が表示された状態で、制御部１０は、入力部１９から伝達されるユーザの入力が、ステップの選択、モード選択画面Ｓ（５）への遷移を示すボタン、シナリオ選択画面Ｓ（７）への遷移を示すボタンのいずれであるかを判定する（Ｓ７１１）。
【０１８３】
モード選択画面Ｓ（５）への遷移を示すボタンへの入力が行なわれる（Ｓ７１１：「他のモード」）と、表示制御部１０３は、モード選択画面Ｓ（５）を表示するＳ１０１の処理を行なう。シナリオ選択画面Ｓ（７）への遷移を示すボタンへの入力が行なわれる（Ｓ７１１：「他のモード」）と、表示制御部１０３は、シナリオ選択画面Ｓ（７）を表示するＳ７０２の処理を行なう。
【０１８４】
ステップ選択画面でステップが指定される（Ｓ７１１：「ステップ」）と、マーカー検知処理が行なわれる（Ｓ７１２）。Ｓ７１２のマーカー検知処理は、Ｓ７０５の処理と同様の処理である。Ｓ７１２で認識部１２によりＡＲマーカーが検知されない場合（Ｓ７１２：ＮＯ）には、所定時間経過後に再度Ｓ７１２の処理が実行される。Ｓ７１２で認識部１２によりＡＲマーカーが検知された場合（Ｓ７１２：ＹＥＳ）には、制御部１０は、認識部１２にマーカー認識処理を実行させる（Ｓ７１３）。Ｓ７１３のマーカー認識処理は、Ｓ７０７の処理と同様の処理である。
【０１８５】
制御部１０は、Ｓ７１３のマーカー認識処理の結果に基づいて、投影画像の生成処理を実行する（Ｓ７１４）。Ｓ７１４の投影画像の生成処理は、Ｓ１１０の処理と同様の処理である。表示制御部１０３は、Ｓ７１４で生成された投影画像を表示部１７に表示させる（Ｓ７１５）。
【０１８６】
さらに、Ｓ７１４の処理により投影画像が画面に表示された状態で、制御部１０は、画面に対する入力により投影画像が選択されたか否かを判定する（Ｓ７１６）。投影画像が選択される（Ｓ７１６：ＹＥＳ）と、設定管理部１０４は、Ｓ７１６で選択された投影画像に対応するＡＲコンテンツを、Ｓ７１１で選択されたステップと関連付けて登録する（Ｓ７１７）。
【０１８７】
Ｓ７１７が実行されるか、Ｓ７１６で投影画像が選択されない場合（Ｓ７１６：ＮＯ）には、Ｓ７１０の処理が再度行なわれる。
【０１８８】
さらに、Ｓ７１１におけるステップの選択およびＳ７１５における投影画像の選択の方式について説明する。
【０１８９】
図４３は、ステップ選択の例を示す。例えば、Ｓ７１１において、表示制御部１０３は、画面Ｓ（１６）を表示させ、ステップを選択させる。画面Ｓ（１６）には、各ステップに関する情報が列挙される。ステップ２が選択されると、表示制御部１０３は、例えば、Ｓ７１５において画面Ｓ（１７）を表示させる。画面Ｓ（１７）には、認識されたＡＲマーカーＭ１の像と、Ｓ７０８で配置されたＡＲコンテンツの投影画像Ｃ４１およびＣ４２と、画面Ｓ（１６）で選択されたステップ番号Ｉ５と、が表示される。画面Ｓ（１７）内の投影画像が選択されると、選択された投影画像に対応するＡＲコンテンツがステップ番号２と関連付けられる。
【０１９０】
図４４は、ステップ選択の例を示す。例えば、Ｓ７１０およびＳ７１１において、ステップ番号が自動選択される。すなわち、選択されるステップ番号は、１からステップ選択のたびに順次インクリメントされる。Ｓ７１６の投影画像の選択における画面Ｓ（１８）は、自動選択されたステップ番号の表示Ｉ７が含まれる。また、画面Ｓ（１８）には、認識されたＡＲマーカーＭ１の像と、Ｓ７０８で配置されたＡＲコンテンツの投影画像Ｃ４１およびＣ４２とが示される。例えば投影画像Ｃ４２が選択されると、選択された投影画像Ｃ４２に対応するＡＲコンテンツがステップ番号３と関連付けられる。
【０１９１】
再度ステップ番号が自動選択された後のＳ７１６の投影画像の選択における画面Ｓ（１９）は、自動選択されたステップ番号の表示Ｉ９が含まれる。表示Ｉ９に示されるステップ番号は、表示Ｉ７に示されるステップ番号がインクリメントされた番号である。また、画面Ｓ（１９）には、認識されたＡＲマーカーＭ１の像と、Ｓ７０８で配置されたＡＲコンテンツの投影画像Ｃ４１とが示される。ＡＲコンテンツの投影画像Ｃ４２は、先にステップ番号３を関連付けられているので、画面Ｓ（１９）に表示されなくてもよい。
【０１９２】
図４５は、ステップ選択の例を示す。例えば、投影画像の表示と、タイムラインの表示との双方が含まれる画面Ｓ（２０）が用いられてもよい。画面Ｓ（２０）には、認識されたＡＲマーカーＭ１の像と、Ｓ７０８で配置されたＡＲコンテンツの投影画像Ｃ４１、Ｃ４２およびＣ４３と、各ステップに対応するタイムゾーンＩ１０〜Ｉ１３と表示される。タイムゾーンＩ１０〜Ｉ１３は、ステップ番号１に対応するタイムゾーンＩ１０、ステップ番号２に対応するタイムゾーンＩ１１、ステップ番号３に対応するタイムゾーンＩ１２およびステップ番号４に対応するタイムゾーンＩ１３である。
【０１９３】
例えば、投影画像をタイムゾーンにドラッグ・アンド・ドロップした場合に、投影画像に対応するＡＲコンテンツを、タイムゾーンに対応するステップ番号と関連付けるなどの制御が行なわれる。画面Ｓ（２０）の例では、投影画像Ｃ４１がタイムゾーンＩ１１にドラッグ・アンド・ドロップされ、投影画像Ｃ４２がタイムゾーンＩ１３にドラッグ・アンド・ドロップされ、投影画像Ｃ４３がタイムゾーンＩ１０にドラッグ・アンド・ドロップされている。
【０１９４】
例えば、ドラッグ・アンド・ドロップされると、タイムゾーンに投影画像が表示されることとしてもよい。タイムゾーンに表示される投影画像は、表示態様が変更されてもよい。例えば、投影画像Ｃ４１は、タイムゾーンＩ１１において画像Ｃ４１ａと表示態様を変えられて表示されている。投影画像Ｃ４２は、タイムゾーンＩ１３において画像Ｃ４２ａと表示態様を変えられて表示されている。投影画像Ｃ４３は、タイムゾーンＩ１０において画像Ｃ４３ａと表示態様を変えられて表示されている。
【０１９５】
図４６は、ステップ選択の例を示す。例えば、投影画像の表示と、タイムラインの表示との双方が含まれる画面Ｓ（２１）が用いられてもよい。画面Ｓ（２１）には、認識されたＡＲマーカーＭ１の像と、Ｓ７０８で配置されたＡＲコンテンツの投影画像Ｃ４１、Ｃ４２およびＣ４３と、各ステップに対応するタイムゾーンＩ１０〜Ｉ１３と表示される。タイムゾーンＩ１０〜Ｉ１３は、ステップ番号１に対応するタイムゾーンＩ１０、ステップ番号２に対応するタイムゾーンＩ１１、ステップ番号３に対応するタイムゾーンＩ１２およびステップ番号４に対応するタイムゾーンＩ１３である。
【０１９６】
さらに、Ｓ７０８で配置された順序に応じたタイムゾーンにＡＲコンテンツの投影画像が表示される。画面Ｓ（２１）の例は、Ｓ７０８において、ＡＲコンテンツの投影画像Ｃ４３、Ｃ４１、Ｃ４２の順序で配置された場合を例示している。この場合に、Ｓ７０８の配置順序において１番始めに配置された投影画像Ｃ４３に対応する投影画像Ｃ４３ｂがタイムゾーンＩ１０に表示される。また、次に配置された投影画像Ｃ４１に対応する投影画像Ｃ４１ａがタイムゾーンＩ１１に配置される。さらに、その次に配置された投影画像Ｃ４２に対応する投影画像Ｃ４２ａがタイムゾーンＩ１２に配置される。画面Ｓ（１２）に初期配置された投影画像Ｃ４１ａ、４２ａ、４３ａは、例えば、ユーザの入力によるドラッグ・アンド・ドロップ操作により、他のタイムゾーンに移動される。画面Ｓ（２１）に示す例は、タイムゾーンＩ１０に初期配置された投影画像Ｃ４３ｂが、タイムゾーンＩ１３に移動された様を示している。
【０１９７】
［ＡＲ定義データのデータ構造］
図１０および図１３にツリー形式のデータ構造が例示される。図１０および図１３に示す通り、特定のシナリオに関するＡＲコンテンツは、特定のシナリオのシナリオ定義配下のデータを参照することにより抽出可能である。図１３に示す通り、特定のステップに関するＡＲコンテンツは、特定のステップのステップ定義配下のデータを参照することにより抽出可能である。
【０１９８】
図１０や図１３に示すツリー構造でなくても、特定のシナリオや特定のステップに関するＡＲコンテンツを抽出可能な他のデータ構造が用いられてもよい。
【０１９９】
図４７は、ＡＲ定義データの例を示す。図４７に例示されるＡＲ定義データＮ０のデータ構造では、各ＡＲコンテンツのコンテンツＩＤに対して、作業状況を示す属性情報（シナリオＩＤ、ステップ番号およびマーカーＩＤ）と、コンテンツ定義とが対応付けられている。コンテンツ定義は各ＡＲコンテンツのコンテンツ定義であり、図２５に示すデータ構造と同様の構造のデータである。コンテンツＩＤ：００４や００５のＡＲコンテンツには複数の属性情報が対応付けられている。
【０２００】
図４７に例示されるＡＲ定義データＮ０に含まれる各ＡＲコンテンツは、ユーザの状態情報Ｄ０および認識マーカー情報Ｄ１と合致する属性情報が付与されている場合に、抽出され、表示される。複数の属性情報が対応付けられているＡＲコンテンツは、複数の属性情報のうち、いずれかが満たされた場合に抽出される。また、シナリオＩＤおよびマーカーＩＤが合致して、ステップ番号が合致しないＡＲコンテンツについては、非表示または表示態様が変更された表示が行なわれる。
【０２０１】
［本実施形態の実現手段］
図４８は、コンピュータ１のハードウェア構成例を示す。図１６に示す各機能ブロックは、例えば、図４８に示すハードウェア構成により実現される。コンピュータ１は、例えば、プロセッサ３０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０３、ドライブ装置３０４、記憶媒体３０５、入力インターフェース（入力Ｉ／Ｆ）３０６、入力デバイス３０７、出力インターフェース（出力Ｉ／Ｆ）３０８、出力デバイス３０９、通信インターフェース（通信Ｉ／Ｆ）３１０、カメラモジュール３１１、加速度センサ３１２、角速度センサ３１３、表示インターフェース３１４、表示デバイス３１５およびバス３１６などを含む。それぞれのハードウェアはバス３１６を介して接続されている。
【０２０２】
通信インターフェース３１０はネットワーク３を介した通信の制御を行なう。通信インターフェース３１０が制御する通信は、無線通信を利用して、無線基地局４（図５０参照）を介してネットワーク３にアクセスする態様でもよいし、有線でネットワーク３にアクセスする態様でもよい。入力インターフェース３０６は、入力デバイス３０７と接続されており、入力デバイス３０７から受信した入力信号をプロセッサ３０１に伝達する。出力インターフェース３０８は、出力デバイス３０９と接続されており、出力デバイス３０９に、プロセッサ３０１の指示に応じた出力を実行させる。入力デバイス３０７は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ１の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス３０９は、プロセッサ３０１の制御に応じて情報を出力する装置である。出力デバイス３０９は、例えば、スピーカーなどの音声出力装置などである。表示インターフェース３１４は、表示デバイス３１５と接続されている。表示インターフェース３１４は、表示インターフェース３１４に設けられた表示用バッファにプロセッサ３０１により書き込まれた画像情報を、表示デバイス３１５に表示させる。表示デバイス３１５は、プロセッサ３０１の制御に応じて情報を出力する装置である。表示デバイス３１５は、ディスプレイなどの画像出力装置や、透過型ディスプレイなどが用いられる。透過型ディスプレイが用いられる場合には、ＡＲコンテンツの投影画像は、撮像画像と合成されるのではなく、例えば透過型ディスプレイ内の適切な位置に表示されるように制御されてもよい。これにより、ユーザは、現実空間とＡＲコンテンツが整合した状態の視覚が得られる。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス３０７及び表示デバイス３１５として用いられる。また、入力デバイス３０７及び表示デバイス３１５がコンピュータ１内部に組み込まれる代わりに、例えば、入力デバイス３０７及び表示デバイス３１５がコンピュータ１に外部から接続されてもよい。
【０２０３】
ＲＡＭ３０２は読み書き可能なメモリ装置であって、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの半導体メモリ、またはＲＡＭ以外にもフラッシュメモリなどが用いられてもよい。ＲＯＭ３０３は、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）なども含む。ドライブ装置３０４は、記憶媒体３０５に記憶された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記憶媒体３０５は、ドライブ装置３０４によって書き込まれた情報を記憶する。記憶媒体３０５は、例えば、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ブルーレイディスクなどの種類の記憶媒体のうちの少なくとも１つである。また、例えば、コンピュータ１は、コンピュータ１内の記憶媒体３０５の種類に対応したドライブ装置３０４を含む。
【０２０４】
カメラモジュール３１１は、撮像素子（イメージセンサ）を含み、例えば、撮像素子が測定した値を読み出し、カメラモジュール３１１に含まれる入力画像用の画像バッファに書き込む。加速度センサ３１２は、加速度センサ３１２に対して作用する加速度を計測する。角速度センサ３１３は、角速度センサ３１３による動作の角速度を計測する。
【０２０５】
プロセッサ３０１は、ＲＯＭ３０３や記憶媒体３０５に記憶されたプログラム（例えば図４９などに例示するプログラム）をＲＡＭ３０２に読み出し、読み出されたプログラムの手順に従って処理を行なう。
【０２０６】
例えば、制御部１０の機能は、プロセッサ３０１が、図４９に示されるプログラムの一部であるＡＲ制御プログラム（表示制御プログラムおよび情報生成プログラム）に基づいて、他のハードウェアの制御を行なうことにより実現される。取得部１１の機能は、プロセッサ３０１が、通信インターフェース３１０を制御してデータ通信を実行させ、受信したデータを記憶媒体３０５に格納させることにより実現される。認識部１２の機能は、カメラモジュール３１１の入力画像用の画像バッファに格納された画像データに基づいて、プロセッサ３０１が演算処理を行なうことにより実現される。演算部１３の機能は、ＲＡＭ３０２に格納された座標などのデータと変換行列などのデータに基づいて、プロセッサ３０１が演算を行なうことにより実現される。生成部１４の機能は、プロセッサ３０１が記憶媒体３０５に格納されたデータ（画像データを含む）を用いて生成した画像データを表示用バッファに書き込むことにより実現される。
【０２０７】
記憶部１５の機能は、ＲＯＭ３０３および記憶媒体３０５がプログラムファイルやデータファイルを記憶すること、また、ＲＡＭ３０２がプロセッサ３０１のワークエリアとして用いられることによって実現される。例えば、ＡＲ定義データなどがＲＡＭ３０２に格納される。撮像部１６の機能は、カメラモジュール３１１が入力画像用の画像バッファに画像データを書込み、入力画像用の画像バッファ内の画像データをプロセッサ３０１が読み出すことにより実現される。画像データは、モニタリングモードにおいては、例えば、入力画像用の画像バッファに書き込まれるとともに、表示デバイス３１５の表示用バッファに並行して書き込まれる。また、表示部１７の機能は、プロセッサ３０１により生成された画像データが表示インターフェース３１４に備えられた表示用バッファに書き込まれ、表示デバイス３１５が表示用バッファ内の画像データの表示を行なうことにより実現される。通信部１８の機能は、プロセッサ３０１が、通信インターフェース３１０の制御を行なうことにより実現される。入力部１９の機能は、入力インターフェース３０６が入力デバイス３０７からの入力信号をプロセッサ３０１に伝達することにより実現される。
【０２０８】
選択制御部１０１、イベント検知部１０２、表示制御部１０３および設定管理部１０４の機能は、ＡＲ制御プログラムに基づき、プロセッサ３０１がＲＡＭ３０２などのハードウェアを制御することにより実現される。この機能は、プロセッサ３０１がＲＡＭ３０２などのハードウェアを制御することにより実現される。
【０２０９】
図４９は、コンピュータ１で動作するプログラムの構成例を示す。コンピュータ１において、ハードウェア群５０１（図４８に示されるハードウェア）の制御を行なうＯＳ（オペレーティング・システム）５０２が動作する。ＯＳ５０２に従った手順でプロセッサ３０１が動作して、ハードウェア５０１の制御・管理が行なわれることで、アプリケーションプログラム５０４やミドルウェア５０３による処理がハードウェア５０１上で実行される。コンピュータ１において、ＯＳ５０２、ミドルウェア５０３及びアプリケーションプログラム５０４などのプログラムは、例えば、ＲＡＭ３０２に読み出されてプロセッサ３０１により実行される。また、ＡＲ制御プログラムは、例えば、ミドルウェア５０３としてアプリケーションプログラム５０４から呼び出されるプログラムである。または、例えば、ＡＲ制御プログラムは、アプリケーションプログラム５０４としてＡＲ機能を実現させるプログラムである。ＡＲ制御プログラムは、記憶媒体３０５に記憶される。記憶媒体３０５は、ＡＲ制御プログラムを記憶した状態でコンピュータ１本体と切り離して流通され得る。
【０２１０】
図５０は、コンピュータ１を含むシステムの例を示す。図５０に示すシステムは、コンピュータ１、コンピュータ２、ネットワーク３及び無線基地局４を含む。コンピュータ１とコンピュータ２とは、有線または無線のいずれか少なくとも一方の通信方法により通信可能である。
【０２１１】
図５１は、コンピュータ２の機能構成例を示す。コンピュータ２は、制御部２１、記憶部２２および通信部２３を含む。制御部２１は、記憶部２２および通信部２３の制御を行なう。通信部２３は、コンピュータ１の通信部１８との通信を行なう。記憶部２２は、ＡＲ定義データと、コンテンツデータとを記憶する。制御部２１は、提供制御部２１１を含む。提供制御部２１１は、コンピュータ１から通信部２３を介してシナリオリストを要求されると、ＡＲ定義データに基づいてシナリオリストを生成し、通信部２３にシナリオリストを返送させる。提供制御部２１１は、コンピュータ１からシナリオＩＤを受信した場合には、通信部２３に、受信したシナリオＩＤのシナリオ定義配下のＡＲ定義データおよびシナリオで用いられるコンテンツデータをコンピュータ１に送信させる。
【０２１２】
図５２は、ＡＲコンテンツ提供の処理手順例を示す。コンピュータ２でＡＲコンテンツの提供が開始されると、提供制御部２１１は、コンピュータ１から取得要求を受信したか否かを判定する（Ｓ８０１）。取得要求を受信していない場合（Ｓ８０１：ＮＯ）には、提供制御部２１１は、所定時間経過してから再度Ｓ８０１の処理を行なう。取得要求をコンピュータ１から受信した場合（Ｓ８０１：ＹＥＳ）には、提供制御部２１１は、コンピュータ１からの取得要求がシナリオリストの要求であるか否か判定する（Ｓ８０２）。コンピュータ１からシナリオリストが要求されている場合（Ｓ８０２：ＹＥＳ）には、提供制御部２１１は、記憶部２２に記憶されたＡＲ定義データのルート定義Ｎに基づいてシナリオリストを生成し、通信部２３にシナリオリストを送信させる（Ｓ８０３）。シナリオリストが送信されると、提供制御部２１１は、再度Ｓ８０１の処理を行なう。
【０２１３】
シナリオリストの要求でない場合（Ｓ８０２：ＮＯ）には、提供制御部２１１は、特定のシナリオに関するＡＲコンテンツの要求であると判断し、取得要求において指定されたシナリオＩＤに応じてＡＲ定義データを記憶部２２から読みだす（Ｓ８０４）。Ｓ８０４で読み出されるＡＲ定義データは、指定されたシナリオＩＤのシナリオ定義の配下のＡＲ定義データ（ステップ定義、マーカー定義およびコンテンツ定義など）である。また、Ｓ８０４において特定のシナリオが選択されない場合には、提供制御部２１１は、新規のシナリオ生成であると判断し、シナリオリストに示されるいずれのシナリオＩＤとも競合しないシナリオＩＤを生成し、要求元に送信する。提供制御部２１１は、Ｓ８０４で読みだしたＡＲ定義データを、取得要求の要求元に送信する（Ｓ８０５）。
【０２１４】
次に、提供制御部２１１は、通信部２３に、各ステップにおいて表示されるＡＲコンテンツの送信を実行させる（Ｓ８０７）。例えば、提供制御部２１１は、Ｓ８０７において、各コンテンツデータを送信するたびに、通信部２３に、コンテンツＩＤとコンテンツデータの送信が終了した旨を示す情報とを併せて送信させる。提供制御部２１１は、指定されたシナリオに含まれるステップごとに繰り返し処理を行なう（Ｓ８０６およびＳ８０８）。
【０２１５】
各ステップにおけるコンテンツデータが送信されると、制御部２１は、ＡＲコンテンツ提供の終了指示が行なわれたか否かを判定する（Ｓ８０９）。終了指示が行なわれていなければ（Ｓ８０９：ＮＯ）、提供制御部２１１は再度Ｓ８０１の処理を行なう。また、終了指示が行なわれていれば（Ｓ８０９：ＹＥＳ）、制御部２１は、ＡＲコンテンツの提供を終了する。
【０２１６】
図５３は、コンピュータ２のハードウェア構成例を示す。図２９に示す各機能ブロックは、例えば、図３０に示すハードウェア構成により実現される。管理サーバ２は、例えば、プロセッサ４０１、ＲＡＭ４０２、ＲＯＭ４０３、ドライブ装置４０４、記憶媒体４０５、入力インターフェース（入力Ｉ／Ｆ）４０６、入力デバイス４０７、出力インターフェース（出力Ｉ／Ｆ）４０８、出力デバイス４０９、通信インターフェース（通信Ｉ／Ｆ）４１０、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェース（ＳＡＮ  Ｉ／Ｆ）及びバス４１２などを含む。それぞれのハードウェアはバス４１２を介して接続されている。
【０２１７】
例えば、プロセッサ４０１はプロセッサ３０１と同様なハードウェアである。ＲＡＭ４０２は、例えばＲＡＭ３０２と同様なハードウェアである。ＲＯＭ４０３は、例えばＲＯＭ３０３と同様なハードウェアである。ドライブ装置４０４は、例えばドライブ装置３０４と同様なハードウェアである。記憶媒体４０５は、例えば記憶媒体３０５と同様なハードウェアである。入力インターフェース（入力Ｉ／Ｆ）４０６は、例えば入力インターフェース３０６と同様なハードウェアである。入力デバイス４０７は、例えば入力デバイス３０７と同様なハードウェアである。出力インターフェース（出力Ｉ／Ｆ）４０８は、例えば出力インターフェース３０８と同様なハードウェアである。出力デバイス４０９は、例えば出力デバイス３０９と同様なハードウェアである。通信インターフェース（通信Ｉ／Ｆ）４１０は、例えば通信インターフェース３１０と同様なハードウェアである。ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェース（ＳＡＮ  Ｉ／Ｆ）は、管理サーバ２をＳＡＮに接続するためのインターフェースであり、ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）を含む。
【０２１８】
プロセッサ４０１は、ＲＯＭ４０３や記憶媒体４０５に記憶された管理プログラムをＲＡＭ４０２に読み出し、読み出された管理プログラムの手順に従って処理部２１の処理を行なう。その際にＲＡＭ４０２はプロセッサ４０１のワークエリアとして用いられる。記憶部２２の機能は、ＲＯＭ４０３および記憶媒体４０５がプログラムファイルやデータファイル（管理テーブルＴ３など）を記憶すること、もしくは、ＲＡＭ４０２がプロセッサ４０１のワークエリアとして用いられることによって実現される。また、プロセッサ４０１が通信インターフェース４１０を制御して通信処理を行なうことにより、通信部２３の機能が実現される。
【０２１９】
［エンターテイメントコンテンツへの利用］
上記の実施形態では、一連のＡＲコンテンツ（シナリオ）を提供するシチュエーションとして、業務プロセスが例示された。一連のＡＲコンテンツが提供される他のシチュエーションにおいても、上述の実施形態に示すシナリオに応じたＡＲコンテンツ提供が行なわれてよい。
【０２２０】
例えば、ユーザアクションによりゲームイベントが進行するゲームコンテンツも、１種のシナリオを含んでいる。例えば、共通のＡＲマーカーを介して異なるゲームコンテンツを並行で進行させる複数のユーザに対して、それぞれ個別にゲームコンテンツに含まれるＡＲコンテンツを提供することが求められる。この仕組みは、例えば、このアトラクション施設において、複数のユーザが個別にプレイする体験型のゲームコンテンツなどに利用される。そのためには、各ゲームコンテンツにシナリオＩＤを割り当てて、上述の実施形態の仕組みが用いられれば、各ユーザに個別にＡＲコンテンツが提供される。
【０２２１】
上述の実施形態は本発明の一態様であり、本発明の本旨を逸脱しない範囲の設計変更が適宜行われうる。以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の作業内容に関連付けられた表示データ群から、前記複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得する取得部と、
取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう制御部と、
を含むことを特徴とする表示制御装置。
（付記２）
前記複数の作業内容のうちの第２の作業内容に前記１または複数の表示データのいずれとも異なる他の表示データが関連付けられる、
ことを特徴とする付記１に記載の表示制御装置。
（付記３）
前記第１の作業内容は、入力に応じて前記複数の作業内容から選択され、
前記入力は、前記第１の作業内容を指定する情報または前記第１の作業内容に示される作業の実行主体を指定する情報である、
ことを特徴とする付記１または付記２に記載の表示制御装置。
（付記４）
前記制御部は、前記取得部が前記１または複数の表示データの取得を開始した後に前記基準物を認識した場合に、前記制御を行なう、
ことを特徴とする付記１〜３のいずれか１つに記載の表示制御装置。
（付記５）
前記１または複数の表示データは、前記表示データ群のうち、前記第１の作業内容および前記第１の作業内容に示される作業の実行主体の組み合わせに関連付けられた表示データである、
ことを特徴とする付記１〜４のいずれか１つに記載の表示制御装置。
（付記６）
前記１または複数の表示データは、第１の基準物に対応する第１の表示データと、第２の基準物に対応する第２の表示データとを含み、
前記制御部は、前記第１の基準物を認識した場合に、前記第１の表示データを前記第１の基準物に基づく表示態様で表示させ、前記第２の基準物を認識した場合に、前記第２の表示データを前記第２の基準物に基づく表示態様で表示させる制御を行なう、
ことを特徴とする付記１〜５のいずれか１つに記載の表示制御装置。
（付記７）
前記第１の作業内容は、順序性を有する複数の工程を含み、
前記第１の表示データに、前記複数の工程のうちの第１の工程が関連付けられており、
前記制御部は、前記第１の基準物を認識した工程が前記第１の工程である場合に、前記第１の表示データを、前記第１の基準物に基づく表示態様で表示させる、
ことを特徴とする付記６に記載の表示制御装置。
（付記８）
前記１または複数の表示データは、第１の基準物に対応する第３の表示データをさらに含み、
前記第３の表示データに、前記複数の工程のうちの第２の工程が関連付けられており、
前記制御部は、前記第１の基準物を認識した工程が前記第１の工程である場合に、前記第３の表示データの少なくとも一部の表示を抑止する、
ことを特徴とする付記７に記載の表示制御装置。
（付記９）
前記制御部は、前記１または複数の表示データに、前記第１の基準物を認識した工程と関連付けられた表示データが含まれない場合に、表示対象の表示データが存在しない旨を示す表示を行なう、
ことを特徴とする付記７または付記８に記載の表示制御装置。
（付記１０）
前記制御部は、前記第１の作業内容における工程の進行または後退を、前記画像認識により認識された前記基準物に基づいて判断する、
ことを特徴とする付記７〜９のいずれか１つに記載の表示制御装置。
（付記１１）
前記制御部は、前記基準物の認識または非認識の状態が切り替わる際の前記基準物の移動方向に応じて、前記工程の進行または後退を行なう、
ことを特徴とする付記１０に記載の表示制御装置。
（付記１２）
前記認識または非認識の状態は、前記基準物が前記画像認識の対象画像に対してフレームインまたはフレームアウトすることにより切り替えられる、
ことを特徴とする付記１１に記載の表示制御装置。
（付記１３）
前記制御部は、指標画像を表示させ、
前記制御部は、前記基準物が前記指標画像の表示位置に表示されると、前記工程の進行または後退を行なう、
ことを特徴とする付記１０に記載の表示制御装置。
（付記１４）
前記制御部は、前記基準物が所定の角度以上回転した状態で認識されると、前記工程の進行または後進を行なう、
ことを特徴とする付記１０に記載の表示制御装置。
（付記１５）
コンピュータに、
複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得し、
取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
ことを実行させることを特徴とする表示制御方法。
（付記１６）
コンピュータに、
複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得し、
取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
処理を実行させることを特徴とする表示制御プログラム。
（付記１７）
第１のコンピュータ及び第２のコンピュータを含む情報提供システムであって、
前記第１のコンピュータは、
複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを前記第２のコンピュータに送信する送信部を含み、
前記第２のコンピュータは、
前記１または複数の表示データを受信する受信部と、
受信した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
ことを特徴とする情報提供システム。
（付記１８）
前記第２のコンピュータは、
前記第１の作業内容を示す識別情報を選択させる選択部と、
画像認識により認識された基準物に対応付けて、第１の表示データの前記基準物を基準とする位置を示す位置情報を設定する設定部と、
前記基準物に対応付けて前記位置情報が設定された前記第１の表示データを、選択された前記識別情報に示される前記第１の作業内容と関連付けて送信する送信部と、をさらに含み、
前記１または複数の表示データは、前記第１の表示データを含む、
ことを特徴とする請求項１７に記載の情報提供システム。
（付記１９）
作業内容を示す識別情報を選択させる選択部と、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定する設定部と、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける管理部と、
を含むことを特徴とする情報設定装置。
（付記２０）
コンピュータに、
作業内容を示す識別情報を選択させ、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定し、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける、
ことを実行させることを特徴とする情報設定方法。
（付記２１）
コンピュータに、
作業内容を示す識別情報を選択させ、
画像認識により認識された基準物に対応付けて、表示データの前記基準物を基準とする位置を示す位置情報を設定し、
前記基準物に対応付けて前記位置情報が設定された前記表示データを、選択された前記識別情報と関連付ける、
処理を実行させることを特徴とする情報設定プログラム。
（付記２２）
プロセッサを含む表示制御装置であって、
前記プロセッサは、
複数の作業内容のうちの第１の作業内容に関連付けられた１または複数の表示データを取得し、
取得した前記１または複数の表示データを、画像認識により認識された基準物に基づく表示態様で表示させる制御を行なう、
ことを特徴とする表示制御装置。
【符号の説明】
【０２２２】
１      コンピュータ
２      コンピュータ
３      ネットワーク
４      無線基地局
１０    制御部
１１    取得部
１２    認識部
１３    演算部
１４    生成部
１５    記憶部
１６    撮像部
１７    表示部
１８    通信部
１９    入力部
２１    制御部
２２    記憶部
２３    通信部
【図１】
2014215646.tif 000003
【図２】
2014215646.tif 000004
【図３】
2014215646.tif 000005
【図４】
2014215646.tif 000006
【図５】
2014215646.tif 000007
【図６】
2014215646.tif 000008
【図７】
2014215646.tif 000009
【図８】
2014215646.tif 000010
【図９】
2014215646.tif 000011
【図１０】
2014215646.tif 000012
【図１１】
2014215646.tif 000013
【図１２】
2014215646.tif 000014
【図１３】
2014215646.tif 000015
【図１４】
2014215646.tif 000016
【図１５】
2014215646.tif 000017
【図１６】
2014215646.tif 000018
【図１７】
2014215646.tif 000019
【図１８】
2014215646.tif 000020
【図１９】
2014215646.tif 000021
【図２０】
2014215646.tif 000022
【図２１】
2014215646.tif 000023
【図２２】
2014215646.tif 000024
【図２３】
2014215646.tif 000025
【図２４】
2014215646.tif 000026
【図２５】
2014215646.tif 000027
【図２６】
2014215646.tif 000028
【図２７】
2014215646.tif 000029
【図２８】
2014215646.tif 000030
【図２９】
2014215646.tif 000031
【図３０】
2014215646.tif 000032
【図３１】
2014215646.tif 000033
【図３２】
2014215646.tif 000034
【図３３】
2014215646.tif 000035
【図３４】
2014215646.tif 000036
【図３５】
2014215646.tif 000037
【図３６】
2014215646.tif 000038
【図３７】
2014215646.tif 000039
【図３８】
2014215646.tif 000040
【図３９】
2014215646.tif 000041
【図４０】
2014215646.tif 000042
【図４１】
2014215646.tif 000043
【図４２】
2014215646.tif 000044
【図４３】
2014215646.tif 000045
【図４４】
2014215646.tif 000046
【図４５】
2014215646.tif 000047
【図４６】
2014215646.tif 000048
【図４７】
2014215646.tif 000049
【図４８】
2014215646.tif 000050
【図４９】
2014215646.tif 000051
【図５０】
2014215646.tif 000052
【図５１】
2014215646.tif 000053
【図５２】
2014215646.tif 000054
【図５３】
2014215646.tif 000055