JP6828801B2 - 情報処理装置、情報処理システム、制御方法、及びプログラム - Google Patents

情報処理装置、情報処理システム、制御方法、及びプログラム Download PDF

Info

Publication number
JP6828801B2
JP6828801B2 JP2019505560A JP2019505560A JP6828801B2 JP 6828801 B2 JP6828801 B2 JP 6828801B2 JP 2019505560 A JP2019505560 A JP 2019505560A JP 2019505560 A JP2019505560 A JP 2019505560A JP 6828801 B2 JP6828801 B2 JP 6828801B2
Authority
JP
Japan
Prior art keywords
marker
content
information processing
display screen
image
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.)
Active
Application number
JP2019505560A
Other languages
English (en)
Other versions
JPWO2018167843A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2018167843A1 publication Critical patent/JPWO2018167843A1/ja
Application granted granted Critical
Publication of JP6828801B2 publication Critical patent/JP6828801B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/38Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory with means for controlling the display position
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • 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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • 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/04Changes in size, position or resolution of an image
    • G09G2340/0464Positioning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明はユーザインタフェースに関する。
様々なユーザインタフェースが開発されている。例えば、ヘッドマウントディスプレイなどを用いて、コンピュータによって表示される画像があたかも実空間上に存在するようにユーザへ見せるインタフェースが開発されている。
例えば特許文献1は、ヘッドマウントディスプレイに仮想キーボードを表示する技術を開示している。特許文献2は、ヘッドマウントディスプレイと連携するタブレット端末を用いて、ヘッドマウントディスプレイを通して見える実空間上の物体に対し、仮想的にアノテーションを付す技術を開示している。特許文献3は、ユーザの手のひらのジェスチャ(例えば手のひらを開くジェスチャ)に応じて、その手のひらにメニュー画面を表示したり、そのメニュー画面を切り替えたりする技術を開示している。
特表2015−504616号公報 国際公開第2014/162825号 米国特許出願公開第2015/0016777号明細書
本発明者は、より利便性の高いユーザインタフェースを開発することを検討した。本発明は、ユーザインタフェースの利便性を高める技術を提供することをその目的の一つする。
本発明の情報処理装置は、1)第1マーカを撮像画像から検出し、前記検出された第1マーカに対応するコンテンツを特定する第1特定手段と、2)前記第1マーカとは異なる第2マーカを撮像画像から検出し、前記検出された第2マーカに基づいて、第1表示画面における表示位置を特定する第2特定手段と、3)前記第1表示画面の前記特定された表示位置に、前記特定されたコンテンツに関するコンテンツ画像を表示させる表示制御手段と、を有し、前記第1特定手段は、ユーザの身体に取り付けられる装着物が備える第2表示画面に表示される画像である前記第1マーカを検出する。
本発明の情報処理システムは、前述した情報処理装置、第1マーカ、第2マーカ、及び第1表示画面を有する。
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)第1マーカを撮像画像から検出し、前記検出された第1マーカに対応するコンテンツを特定する第1特定ステップと、2)前記第1マーカとは異なる第2マーカを撮像画像から検出し、前記検出された第2マーカに基づいて、第1表示画面における表示位置を特定する第2特定ステップと、3)前記第1表示画面の前記特定された表示位置に、前記特定されたコンテンツに関するコンテンツ画像を表示させる表示制御ステップと、を有し、前記第1特定ステップでは、ユーザの身体に取り付けられる装着物が備える第2表示画面に表示される画像である前記第1マーカを検出する。
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
本発明によれば、ユーザインタフェースの利便性を高める技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1に係る情報処理装置の動作を概念的に例示する図である。 ヘッドマウントディスプレイを例示する図である。 情報処理装置のユーザの視界を例示する図である。 情報処理装置の機能構成を例示する図である。 情報処理装置を実現する計算機の構成を例示する図である。 実施形態1の第1特定部によって実行される処理の流れを例示するフローチャートである。 実施形態1の第2特定部及び表示制御部によって実行される処理の流れを例示するフローチャートである。 コンテンツの識別子と第1マーカの特徴量を対応づける情報をテーブル形式で例示する図である。 第1マーカが表示されるデバイスを例示する図である。 時計の文字盤部分に取り付けられる第1マーカを例示する図である。 図10に対応する断面図である。 第1マーカが予め印字されている時計型の装着物を例示する図である。 第1マーカが印字された冊子を例示する図である。 コンテンツの利用場所に設けられた第1マーカを例示する図である。 デバイスに描画又は印字されている第2マーカを例示する図である。 デバイスに第1マーカと第2マーカの双方が設けられるケースを例示する図である。 同一の装着物に設けられる第1マーカと第2マーカの他の例を示す図である。 装着物を平面視した場合における奥行き方向の位置が異なる第1マーカと第2マーカを例示する図である。 第1マーカを撮像する方向によって撮像画像に含まれる第1マーカが異なる様子を例示する図である。 第1マーカの検出と第2マーカの検出のタイミングを例示するフローチャートである。 情報処理装置の状態が第1状態と第2状態の間を遷移する様子を例示する図である。 第1マーカを変更する作業を例示する図である。 第2マーカに基づいて決定される座標系を例示する図である。 座標系におけるコンテンツ画像の位置を例示する図である。 座標系とコンテンツ画像の姿勢との対応関係を例示する図である。 第2マーカが撮像画像に含まれる場合と含まれない場合とで、表示画面に表示されるコンテンツ画像の態様が変更される様子を例示する図である。 ユーザによる入力操作によって第1マーカが変更される様子を例示する図である。 第1マーカや第2マーカを変化させずに入力操作のタイミングを特定する方法の第1の例を示す図である。 第1マーカや第2マーカを変化させずに入力操作のタイミングを特定する方法の第2の例を示す図である。 収集すべき物品の場所が強調表示される様子を例示する図である。 情報処理装置を利用して3点照合が行われる様子を例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また各ブロック図において、特に説明がない限り、各ブロックは、ハードウエア単位の構成ではなく機能単位の構成を表している。
[実施形態1]
<概要>
図1は、実施形態1に係る情報処理装置2000の動作を概念的に例示する図である。情報処理装置2000は、撮像画像30から第1マーカ10と第2マーカ20を検出する。なお、第1マーカ10と第2マーカ20は、互いに異なるマーカである。第1マーカ10と第2マーカ20は、同一の撮像画像30に含まれていてもよいし、それぞれ異なる撮像画像30に含まれていてもよい。図1では、第1マーカ10と第2マーカ20が互いに異なる撮像画像30に含まれている。
情報処理装置2000は、撮像画像30から検出される第1マーカ10によって、コンテンツを特定する。例えば図1では、コンテンツとして、「設備の点検支援」というアプリケーションが特定される。なお、後述するように、コンテンツはアプリケーションに限定されない。
さらに情報処理装置2000は、第2マーカ20によって、コンテンツに対応する画像(以下、コンテンツ画像40)の表示位置を特定する。ここで、表示位置は、ディスプレイ装置の表示画面50における位置である。
そして情報処理装置2000は、第1マーカ10によって特定されたコンテンツに対応するコンテンツ画像40を、第2マーカ20によって特定された表示画面50の表示位置に表示させる。
このように本実施形態の情報処理装置2000によれば、コンテンツに関する画像の表示位置だけでなく、そのコンテンツの特定にもマーカが利用される。そのためユーザは、所望のコンテンツに対応するマーカを情報処理装置2000に検出させることにより、所望のコンテンツを利用できる。よって、ユーザは所望のコンテンツを容易に利用することができ、コンテンツの切り替えも容易に行える。よって、情報処理装置2000によれば、利便性の高いユーザインタフェースがユーザに提供される。
また、情報処理装置2000によれば、ユーザが利用するコンテンツの特定と、コンテンツ画像40の表示位置の特定という互いに異なる2つの処理が、互いに異なるマーカを用いて実現される。ここで、コンテンツの特定に用いる第1マーカ10は、コンテンツごとに異なるものである必要がある。一方、コンテンツ画像40の表示位置の特定に用いる第2マーカ20は、複数のコンテンツに共通する1つのマーカで実現することも可能である。しかし、コンテンツ画像40の表示位置の特定とコンテンツの特定に同一のマーカを用いると、コンテンツ画像40として複数のコンテンツに共通のものを利用できない。
この点、本実施形態の情報処理装置2000によれば、コンテンツ画像40の表示位置の特定と、コンテンツの特定とが、互いに異なるマーカを用いて実現するため、コンテンツ画像40の表示位置の特定に利用する第2マーカ20を、複数のコンテンツに共通する1つのマーカとすることができる。このように複数のコンテンツに共通する1つのマーカとして第2マーカ20を実現すれば、コンテンツごとに異なる第2マーカ20を利用しなければならない場合と比較し、コンテンツ画像40の表示位置を特定するために第2マーカ20を検出する処理をよりシンプルにすることができる。その結果、第2マーカ20を検出する処理に要する時間が短くなるという利点や、この処理の計算コストが小さくなるという利点がある。
またこのように、コンテンツの特定と、コンテンツ画像40の表示位置の特定とに異なるマーカを利用することで、これらを1つのマーカで実現する場合と比較し、マーカの設置場所や実現方法などの自由度が高くなる。例えば後述するように、第2マーカ20はユーザの身体に取り付け、コンテンツの特定に用いる第1マーカ10はユーザの身体から離れた場所に設けるといったことが可能となる。さらに後述するように、第2マーカ20は予め描画又は印字されるものとして構成し、第1マーカ10については画像として表示画面に表示されるものとすることができる。
情報処理装置2000は、例えばヘッドマウントディスプレイを利用して実現される。図2は、ヘッドマウントディスプレイを例示する図である。ヘッドマウントディスプレイ100は、グラス型のヘッドマウントディスプレイである。ヘッドマウントディスプレイ100は表示画面50を有する。表示画面50は、ヘッドマウントディスプレイ100のレンズ部分に設けられている透過型の表示画面(光を透過させる表示画面)である。前述したように、表示画面50にはコンテンツ画像40が表示される。
カメラ130は、撮像画像30を生成するカメラである。図2において、カメラ130はヘッドマウントディスプレイ100のレンズ付近に取り付けられている。なお、後述するように、表示画面50は透過型の表示画面に限定されない。また、カメラ130の設置位置は、ヘッドマウントディスプレイ100上に限定されない。
図3は、情報処理装置2000のユーザの視界を例示する図である。コンテンツ画像40−1とコンテンツ画像40−2は、情報処理装置2000によって表示画面50に表示される画像である。一方、それ以外の物(機器やユーザの腕など)は実物体である。
このように情報処理装置2000を用いることで、ユーザは、情報処理装置2000によって提示される情報を使って種々の作業などを行うことができる。図3の例では、ユーザは、情報処理装置2000によって提示される情報を見ながら設備の点検を行っている。
ここで、図1から図3を用いて説明した情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は上述の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては、以降の記載で説明する。
以下、本実施形態の情報処理装置2000について、さらに詳細に説明する。
<機能構成の例>
図4は、情報処理装置2000を含む情報処理システム3000の機能構成を例示する図である。情報処理システム3000は、第1マーカ10、第2マーカ20、表示画面50、及び情報処理装置2000を有する。情報処理装置2000は、第1特定部2020、第2特定部2040、及び表示制御部2060を有する。第1特定部2020は、第1マーカ10を撮像画像30から検出し、検出された第1マーカ10に対応するコンテンツを特定する。第2特定部2040は、第2マーカ20を撮像画像30から検出し、検出された第2マーカ20に基づいて、表示画面50におけるコンテンツ画像40の表示位置を特定する。表示制御部2060は、表示画面50の特定された表示位置にコンテンツ画像40を表示させる。
なお、第1マーカ10や第2マーカ20の実現に後述するデバイス60を利用する場合、情報処理システム3000はデバイス60を含んでもよい。
<情報処理装置2000のハードウエア構成の例>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
計算機1000は種々の計算機である。例えば計算機1000は、ヘッドマウントディスプレイ、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンなどである。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
図5は、情報処理装置2000を実現する計算機1000の構成を例示する図である。計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、及び入出力インタフェース1100を有する。バス1020は、プロセッサ1040、メモリ1060、及びストレージデバイス1080が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ1060は、RAM (Random Access Memory) などで実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD (Solid State Drive)、メモリカード、又は ROM (Read Only Memory) などで実現される補助記憶装置である。ただしストレージデバイス1080は、RAM など、主記憶装置の実現に用いられるハードウエアと同様のハードウエアで実現されてもよい。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。図5において、入出力インタフェース1100には、例えば撮像画像30を生成するカメラ130や表示画面50が接続されている。
ストレージデバイス1080は情報処理装置2000の各機能を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールを実行することで、そのプログラムモジュールに対応する各機能を実現する。
計算機1000のハードウエア構成は図5に示した構成に限定されない。例えば、各プログラムモジュールはメモリ1060に格納されてもよい。この場合、計算機1000は、ストレージデバイス1080を備えていなくてもよい。また、カメラ130を計算機1000に接続する方法は、入出力インタフェース1100を介して接続する方法に限定されない。例えばカメラは、ネットワークを介して計算機1000に接続されてもよい。この場合、計算機1000は、ネットワークに接続するためのネットワークインタフェースを有する。
<<ヘッドマウントディスプレイ100について>>
ヘッドマウントディスプレイ100は、ユーザの視界に入る表示画面50を有する任意のヘッドマウントディスプレイである。例えば表示画面50は、前述したように、透過型の表示画面である。この場合、ユーザは、表示画面50の先にある実物体及び表示画面50に表示される画像の両方を見ることができる。
その他にも例えば、表示画面50は、非透過型の表示画面であってもよい。この場合、ヘッドマウントディスプレイ100は、ユーザの周囲(例えばユーザの顔方向)を撮像するカメラによって撮像された画像と、その他の物を表す画像(例えばコンテンツ画像40)とを重畳させて表示画面50に表示させる。ユーザは、この表示画面50を見ることで、周囲の景色にその他の物が重畳された様子を見ることができる。なお、「ユーザの周囲を撮像するカメラ」は、マーカに撮像に利用されるカメラ130であってもよいし、これとは別途設けられるカメラであってもよい。
<<カメラ130について>>
カメラ130は、繰り返し撮像を行って複数の撮像画像30を生成する任意のカメラである。例えば各撮像画像30は、動画を構成する動画フレームである。なお、カメラ130は、2次元(2D:two-dimensional)カメラであってもよいし、3次元(3D:three-dimensional)カメラであってもよい。
カメラ130によって生成される撮像画像を用いてコンテンツ画像40の表示位置の決定などを行うためには、カメラ130の撮像方向とユーザの顔の正面方向との関係が予め把握できていることが好適である。そのため、例えばカメラ130は、カメラ130の撮像方向とユーザの顔の正面方向とが略一致する場所に設けられる。表示画面50が透過型のヘッドマウントディスプレイの場合、例えばこの場所は、図2で説明したヘッドマウントディスプレイ100のレンズ付近などである。また、表示画面50が非透過型のヘッドマウントディスプレイであり、表示画面50に表示する周囲の景色を撮像するカメラがカメラ130である場合、カメラの撮像方向とユーザの顔の正面方向は略一致する。
ただし、カメラ130の設置位置は、カメラ130の撮像方向とユーザの顔の正面方向とが略一致するとは限らない場所に設置されてもよい。例えばこの場合、カメラ130は、ユーザの頭部の任意の箇所に設けられる(頭部に限定はされない)。この場合、カメラ130の撮像方向とユーザの顔の正面方向との関係(角度のずれなど)を予めパラメタとして定義しておく。情報処理装置2000は、このパラメタを利用することでカメラ130の撮像方向とユーザの顔の正面方向との関係を把握する。このパラメタは、情報処理装置2000に予め設定されていてもよいし、情報処理装置2000からアクセス可能な記憶装置に記憶されていてもよい。
その他にも例えば、カメラ130は、ユーザが身につけている物(例えばユーザの衣服や、ユーザが首から提げている社員証など)に取り付けられてもよい。その他にも例えば、カメラ130は、ユーザが情報処理装置2000を利用する部屋の壁等に設けられていてもよい。この場合、カメラ130の撮影範囲(撮影方向やズーム率など)は、リモコンなどによる遠隔操作によって変更できることが好ましい。
<<表示画面50について>>
表示制御部2060によって制御される表示画面50の実現態様は様々である。例えば表示画面50は、前述したように、ヘッドマウントディスプレイ100に設けられる表示画面である。その他にも例えば、表示画面50は、プロジェクタによって画像が投影される投影面(壁など)である。この場合、表示制御部2060は、プロジェクタを制御して、投影面の特定の位置にコンテンツ画像40を投影させる。その他にも例えば、表示画面50は、液晶ディスプレイなどのディスプレイ装置の表示画面である。
<処理の流れ>
図6は、実施形態1の第1特定部2020によって実行される処理の流れを例示するフローチャートである。第1特定部2020は、撮像画像30を取得する(S102)。第1特定部2020は、取得した撮像画像30から第1マーカ10を検出する(S104)。第1特定部2020は、検出した第1マーカ10に対応するコンテンツを特定する(S106)。
図7は、実施形態1の第2特定部2040及び表示制御部2060によって実行される処理の流れを例示するフローチャートである。S202からS212は、所定の終了条件が満たされるまで繰り返し実行されるループ処理Aである。S202において、第2特定部2040は、終了条件が満たされているか否かを判定する。終了条件が満たされている場合、図7の処理は終了する。一方、終了条件が満たされていない場合、図7の処理はS204に進む。
第2特定部2040は、撮像画像30を取得する(S204)。第2特定部2040は、撮像画像30から第2マーカ20を検出する(S206)。第2特定部2040は、検出した第2マーカ20から、表示画面50におけるコンテンツ画像40の表示位置を特定する(S208)。表示制御部2060は、第1マーカ10で特定されたコンテンツに対応するコンテンツ画像40を、S208で特定された表示画面50の表示位置に表示させる(S210)。S212はループ処理Aの終端であるため、図7の処理はS202に戻る。
ここで、繰り返し実行されるS204で取得される各撮像画像30は、それぞれ異なる撮像画像30である。例えば第2特定部2040は、S204を実行する時点における最新の撮像画像30を取得する。その他にも例えば、第2特定部2040は、カメラ130によって生成された複数の撮像画像30をまとめて取得し、その複数の撮像画像30を生成された順に処理してもよい。
図7に示した処理の流れによれば、時間と共に第2マーカ20の位置が変化する場合に、その位置の変化に追従するように、コンテンツ画像40の表示位置が変更される。例えば後述するようにユーザの身体に第2マーカ20が取り付けられている場合、ユーザの身体の動きに追従するように、コンテンツ画像40の表示位置が変更される。よって、ユーザによる情報処理装置2000の利便性が向上する。
ループ処理Aの終了条件は任意である。例えば終了条件は、ユーザから所定の入力操作を受け付けることである。その他にも例えば、終了条件は、情報処理装置2000の状態(例えば情報処理装置2000を実現する計算機1000で実行されているオペレーティングシステムやアプリケーションの状態など)が所定の状態になることである。
<撮像画像30を取得する方法:S102、S204>
情報処理装置2000は、撮像画像30を取得する(S102、S204)。情報処理装置2000が撮像画像30を取得する方法は任意である。例えば情報処理装置2000は、カメラ130から撮像画像を取得する。この場合、情報処理装置2000とカメラ130とは通信可能に接続されている。
また、カメラ130が外部の記憶装置に撮像画像30を記憶させる場合、情報処理装置2000は、この記憶装置から撮像画像30を取得してもよい。この場合、情報処理装置2000は、この記憶装置と通信可能に接続されている。
なお、情報処理装置2000は、カメラ130によって生成される撮像画像30の全てを取得してもよいし、一部のみを取得してもよい。後者の場合、例えば情報処理装置2000は、カメラ130によって生成される動画を構成する動画フレームの一部(例えば所定数の動画フレームごとに1枚の動画フレーム)を取得する。また、カメラ130によって生成される撮像画像30の全てを情報処理装置2000が取得した上で、第1特定部2020や第2特定部2040が取得された撮像画像30の一部のみを利用するようにしてもよい。
<コンテンツについて>
第1マーカ10によって特定されるコンテンツとしては、様々なものを採用できる。例えばコンテンツは、図1で例示したように、アプリケーションである。この場合、第1マーカ10は、ユーザが実行したいアプリケーションを選択するために利用される。第1マーカ10によって特定されるアプリケーションには、任意のものを採用できる。例えばアプリケーションは、動画を再生するアプリケーション、写真を撮影するアプリケーション、又は Web ブラウザなどである。
その他にも例えば、コンテンツは、入力インタフェースである。この場合、第1マーカ10は、ユーザが利用したい入力インタフェースを選択するために利用される。第2マーカ20によって特定される入力インタフェースには、任意のものを採用できる。例えば入力インタフェースは、キーボード、テンキー、又は選択ボタンなどである。
<コンテンツ画像40について>
表示制御部2060は、第1マーカ10によって特定されるコンテンツに対応するコンテンツ画像40を表示画面50に表示させる。例えばコンテンツ画像40は、コンテンツに応じて静的に特定される(一意に特定される)。例えばコンテンツが入力インタフェースである場合、コンテンツ画像40は、その入力インタフェースを表す特定の画像として実現できる。例えば入力インタフェースがキーボードである場合、コンテンツ画像40はキーボードの画像である。
このようにコンテンツに対応するコンテンツ画像40が静的に定まる場合、例えばコンテンツ画像40のパス名とコンテンツの識別子とを予め対応づけておく。表示制御部2060は、第1特定部2020によって特定されたコンテンツの識別子と対応づけられているパス名を持つコンテンツ画像40を表示画面50に表示させる。その他にも例えば、コンテンツの識別子としてコンテンツ画像40のパス名を用いてもよい。この場合、第1特定部2020によってコンテンツの識別子が特定されることにより、コンテンツ画像40が特定される。
コンテンツに対応するコンテンツ画像40は動的に定まるものであってもよい。例えばコンテンツがアプリケーションである場合、コンテンツ画像40は、アプリケーションによって生成される画像である。例えば、コンテンツが動画再生用のアプリケーションである場合、コンテンツ画像40には動画フレームが含まれる。このコンテンツ画像40は、動画の再生が進むにつれて変化していく。そこで表示制御部2060は、コンテンツであるアプリケーションによって生成されるコンテンツ画像40を取得し、そのコンテンツ画像40を表示画面50に表示させる。
なお、1つのコンテンツに対応するコンテンツ画像40の数は、1つであってもよいし、複数であってもよい。例えばコンテンツが Web ブラウザである場合、Web ブラウザのウインドウを表すコンテンツ画像40と、Web ブラウザに対して入力操作を行うための入力インタフェースを表すコンテンツ画像40が、表示画面50に表示されうる。
<第1マーカ10について>
第1マーカ10は、コンテンツの特定に利用できる任意のマーカである。例えば第1マーカ10は、コンテンツの識別子と対応づけられている特徴量を持つマークである。第1マーカの10の特徴量とは、その第1マーカ10の外観(形状、模様、又は色など)の特徴を表す値である。なお、ここでいうマークとは、任意の文字、図形、又は記号などを意味する。例えば第1マーカ10には、ロゴや写真なども採用することができる。
図8は、コンテンツの識別子と第1マーカ10の特徴量を対応づける情報をテーブル形式で例示する図である。このテーブルを、テーブル200と表記する。テーブル200は、コンテンツ識別子202と特徴量204という2つの列を有する。コンテンツ識別子202は、コンテンツの識別子を表す。特徴量204は、コンテンツの識別子に対応する第1マーカ10の特徴量を表す。図8では、説明を分かりやすくするため、特徴量204を図形として示している。
第1特定部2020は、撮像画像30から、特徴量204と同一又は類似する特徴量(例えば類似度が所定値以上の特徴量)を持つマークを検出し、検出した特徴量204に対応づけられている識別子でコンテンツを特定する。例えば、図8のテーブル200で第1マーカ10が定められている場合に、ドット柄の模様を持つ円形のマークが撮像画像30から検出されたとき、第1特定部2020は c001 という識別子を持つコンテンツを特定する。
その他にも例えば第1マーカ10は、コンテンツの識別子を符号化した種々のコードでもよい。コードは、例えばバーコードや QR コード(登録商標)などである。この場合、第1特定部2020は、撮像画像30に含まれるコードを復号することで、コンテンツの識別子を算出する。この算出された識別子により、コンテンツが特定される。なお、画像に含まれるコードを検出し、そのコードを復号する技術には、既存の技術を利用できる。
その他にも例えば、第1マーカ10は、コンテンツの識別子を表す文字列であってもよい。なお、ここで言う文字列は、数値列であってもよい。この場合、第1特定部2020は、第1マーカ10に含まれる文字列を認識することで、コンテンツの識別子を算出する。この算出された識別子により、コンテンツが特定される。なお、画像に含まれる文字列を検出し、その文字列を認識する技術には、既存の技術を利用することができる。
例えば第1マーカ10は、表示画面に表示される画像である。この表示画面は、例えば、ユーザに取り付けられるデバイスに設けられる。このデバイスは、表示画面に画像を表示させる機能を有する任意の電子機器である。なおこのデバイスは、ユーザの身体に直接取り付けられてもよいし、服などの上からユーザの身体に取り付けられてもよい。
図9は、第1マーカ10が表示されるデバイス60を例示する図である。デバイス60は、ユーザの手首に身につけられる時計型のデバイスであり、時計の文字盤に相当する部分に表示画面62を有する。デバイス60は、表示画面62に任意の画像を表示させることができる。
例えばユーザは、デバイス60を操作することで、利用したいコンテンツに対応する第1マーカ10が表示画面62に表示されるようにする。例えば表示画面62がタッチパネルである場合、ユーザは、表示画面62を操作することによってデバイス60を操作することができる。その後ユーザは、カメラ130に第1マーカ10を撮像させる。こうすることで、利用したいコンテンツに対応する第1マーカ10が含まれる撮像画像30が生成される。そして、第1特定部2020がこの撮像画像30から第1マーカ10を検出することで、ユーザが利用したいコンテンツが第1特定部2020によって特定される。
なお、表示画面62に表示される第1マーカ10を変更する方法は、デバイス60のタッチパネルを操作する方法に限定されない。例えば前述したヘッドマウントディスプレイ100を利用して情報処理装置2000を実現する場合、ユーザは、ヘッドマウントディスプレイ100に対して入力操作を加えることで、表示画面62に表示される第1マーカ10を変更してもよい。この場合、例えばヘッドマウントディスプレイ100がデバイス60と通信を行うことで、ヘッドマウントディスプレイ100に対して行われた入力操作に応じて表示画面62に表示される第1マーカ10が変更されるようにする。
なお、第1マーカ10は、予めデバイス60に記憶されている画像であってもよいし、デバイス60の外部にある記憶装置に記憶されている画像であってもよい。また、ヘッドマウントディスプレイ100を使って第1マーカ10を選択する場合、デバイス60は、ヘッドマウントディスプレイ100から送信される第1マーカ10を受信することで、第1マーカ10を取得してもよい。
第1マーカ10は、前述した画像に限定されない。例えば第1マーカ10は、ユーザの身体に取り付けられる装着物に予め設けられるマークである。この装着物としては、任意のものを採用できる。例えば装着物は、時計型の装着物である。その他にも例えば、装着物は、指輪、リストバンド、ユーザが着ている服、又はシールなどである。なお、装着物には前述したデバイスも含まれる。
また、装着物には、ユーザの身体に直接取り付けられるものだけでなく、ユーザの身体に取り付けられる物に対してさらに取り付けられる物も含まれる。例えば、ユーザに身につけられている時計型の装着物の文字盤部分やバンド部分に取り付けられるアタッチメントなども、装着物と呼ぶ。よって、「第1マーカ10を装着物に設ける」ことには、ユーザの身体に直接取り付けられる装着物(例えば時計)に第1マーカ10を設けることのみでなく、装着物に対して取り付けられる装着物(例えば時計に対して取り付けられるアタッチメント)に第1マーカ10を設けることも含む。
ここで、時計の文字盤部分など、凹凸がある部分に取り付けられる第1マーカ10は、可撓性のある物で形成されることが好適である。例えば第1マーカ10は、樹脂、ボール紙で形成された板状物、木材、木くずなどを圧縮成型することで形成された板状物に描画又は印字される。また、第1マーカ10は、その板状物に貼り付けられるシールとして設けられていてもよい。このほかに、第1マーカ10は、装着物を被覆するように形成された可撓性のある物の表面に描画又は印字されたものでもよい。
図10は、時計の文字盤部分に取り付けられる第1マーカ10を例示する図である。第1マーカ10は、可撓性のある板状物190に設けられている。時計180は、文字盤182を有する。そして、この文字盤182に対して、板状物190がはめこまれている。
図11は、図10に対応する断面図である。図11(a)は、板状物190のC−D断面図である。図11(a)に示すように、通常の状態において、板状物190の断面は長方形である。つまり、通常の状態において板状物190の形状は直方体である。
図11(b)は、板状物190がはめこまれた文字盤182のE−F断面図である。この図が示すように、板状物190は、その一部が文字盤182の形状に合わせて縮むことによって、文字盤182にはめこまれている。
ユーザによって装着されている時計などの装着物に凹凸がある場合、例えばその装着物に直接第1マーカ10を設けたり、第1マーカ10が設けられたシールをその装着物に直接貼り付けたりすると、装着物の凹凸の影響が第1マーカ10に及び、第1マーカ10にも凹凸が生じる。このように凹凸が生じた第1マーカ10は、通常の状態の第1マーカ10と比較し、撮像画像30から検出しにくくなる。
そこで、図11に示すように、板状物190のように可撓性のある物に第1マーカ10を設け、その物を装着物に取り付けることが好適である。こうすることで、第1マーカ10に凹凸が生じることを防ぐことができるため、凹凸がある場所に直接第1マーカ10を設けるよりも、撮像画像30から第1マーカ10を検出する処理の精度が高くなる。
また一般に、このような可撓性のある物は安価に製造できることが多い。そのため、情報処理装置2000の利用に必要な第1マーカ10を安価に提供することができる。そこで、例えば或る製品のおまけの品(例えばお菓子に同梱されるおもちゃ)として第1マーカ10を提供することで、その製品に関連するコンテンツを情報処理装置2000で利用できるようにするといった運用が考えられる。このような製造コストの面からも、時計などの装着物に取り付けることができる物に第1マーカ10を設けることは好適である。
第1マーカ10は、装着物に人手で描画されてもよいし、印字されてもよい。例えば時計型の装着物において、時計の文字盤に相当する部分に第1マーカ10を予め描画又は印字しておく。図12は、第1マーカ10が予め印字されている時計型の装着物110を例示する図である。装着物110は、時計の文字盤に相当する部分である板状物112を有する。板状物112は、例えば樹脂で形成される。板状物112には、第1マーカが予め印字されている。
なお、或る物にマークを描画又は印字する方法には、その物の表面にインクなどの塗料を付ける方法だけでなく、様々な方法を利用できる。例えば、その物を刻んでマークを形成する方法(いわゆる刻印)、その物をプレス加工によってマークを形成する方法、金型にその物の原料(例えば樹脂)を流し込むことによってマークが設けられたその物を形成する方法などが利用できる。例えば図12において、第1マーカ10は、板状物112を形成する樹脂板に対して第1マーカ10を表す模様を刻み込むなどの方法で形成しうる。
第1マーカ10が装着物に予め設けられている場合、例えば、ユーザに提供するコンテンツごとに装着物を用意しておく。ユーザは、利用したいコンテンツに対応する装着物を身につけて、そのコンテンツを利用する。例えば、ユーザの作業を支援するアプリケーションをコンテンツとする場合、ユーザは、行おうとしている作業に応じて身につける装着物を選ぶようにする。その他にも例えば、装着物をシールとして実現する場合、ユーザは、利用したいコンテンツに対応するシールを選び、そのシールを任意の場所(例えば時計型の装着物の文字盤部分や服の袖など)に貼り付けて情報処理装置2000を利用する。
第1マーカ10は、装着物以外の物体(紙、布、机、又は壁など)に予め描画又は印字されているマークであってもよい。例えば、第1マーカ10が印字された冊子やメニュー表を用意しておく。図13は、第1マーカ10が印字された冊子70を例示する図である。ユーザは、冊子70に印字されている第1マーカ10をカメラ130に撮像させることで、所望のコンテンツを利用する。例えば冊子70は、情報処理装置2000で利用できるコンテンツや入力インタフェースの一覧が示されている本である。
その他にも例えば、アプリケーションのマニュアルにそのアプリケーションに対応する第1マーカ10を設けておいたり、ユーザの作業のマニュアルにその作業を支援するアプリケーションやその作業で利用する入力インタフェースに対応する第1マーカ10を設けておいたりしてもよい。
その他にも例えば、コンテンツの利用場所に設置されている壁や机などに、そのコンテンツに対応する第1マーカ10を設けておく。コンテンツを利用するユーザは、その利用場所に設けられている第1マーカ10をカメラ130に撮像させる。こうすることで、例えばユーザは、その場所で行うべき作業を支援するアプリケーションを容易に利用することができる。
図14は、コンテンツの利用場所に設けられた第1マーカ10を例示する図である。この例では、点検対象の設備が設定されている壁に、その設備の点検を支援するアプリケーションを特定するための第1マーカ10が設けられている。ユーザは、この第1マーカ10をカメラ130に撮像されることにより、この設備を点検するためのアプリケーションを利用することができる。
ここで、前述したように、第1マーカ10は画像として実現されてもよいし、それ以外のもので実現されてもよい。第1マーカ10を画像として実現する形態によれば、利用するコンテンツごとに第1マーカ10を変更することが容易となる。また、第1マーカ10を予め描画又は印字しておく必要がない。なお、第1マーカ10を画像として実現する場合、画像を表示する表示画面は、表示画面自体が発光することで画像を見せる形態または表示画面のバックライトが発光しそれを遮ることで画像を見せる形態のものよりも、電子ペーパーなどのように太陽光や照明光の反射光を利用して画像を見せる形態のものが好適である。表示画面自体が発光する形態では、表示画面から発せられる光と環境光との差が大きい場合(例えば第1マーカ10の周囲が暗い場合)にハレーションが発生し、撮像画像30に第1マーカ10が不鮮明に撮像される可能性があるためである。反射光を利用して画像を見せる形態の表示画面の場合、前述したハレーションが起こらないため、第1マーカ10の検出精度が高くなる。また、第1マーカ10を検出できる距離(カメラ130と第1マーカ10の間の距離)が長くなるという利点がある。これらの利点は、第1マーカ10を画像以外のもので実現する形態も同様に有する利点である。
<第2マーカ20について>
第2マーカ20は、撮像画像30において少なくともその位置を特定できる任意のマーカである。例えば第2マーカ20は、3次元の座標系の決定に利用できるマーカである。3次元の座標系の決定に利用できるマーカは、例えば AR(Augmented Reality)マーカである。ただし、3次元の座標系の決定に利用できるマーカは、或る基準点(例えばマーカの中心)からの相互に直交する3つの方向を特定できるものであればよく、AR マーカには限定されない。また、第2マーカ20は、撮像画像30においてその位置が特定できる物であればよく、必ずしも3次元の座標系の決定に利用できる必要はない。
例えば第2マーカ20は、ユーザの身体に取り付けられる装着物に設けられる。第1マーカ10が取り付けられる装着物と同様に、第2マーカ20が取り付けられる装着物には、例えば時計型の装着物、指輪、リストバンド、ユーザが着ている服、又はシールなどを採用できる。また、第1マーカ10が取り付けられる装着物と同様に、第2マーカ20が取り付けられる装着物には、ユーザの身体に取り付けられた物にさらに取り付けられる物(板状物190や被覆される物など)も採用できる。なお、第1マーカ10が取り付けられる装着物と、第2マーカ20が取り付けられる装着物は、同じ物であってもよいし、異なる物であってもよい。
第2マーカ20は、例えば装着物に描画又は印字されている所定のマーク(所定の特徴量を持つ文字、図形、又は記号など)である。図15は、デバイス60に描画又は印字されている第2マーカ20を例示する図である。図15(a)において、第2マーカ20は、デバイス60のバンド部分に印字されている所定の模様として実現されている。図15(b)において、第2マーカ20は、表示画面62の周囲(時計の文字盤におけるベゼルに相当する部分)に印字されている所定の模様として実現されている。
その他にも例えば、装着物に設けられる第2マーカ20は、装着物の全体又は一部の形状として実現されてもよい。
その他にも例えば、第2マーカ20は、ユーザの身体に取り付けられる装着物によって表示される画像として実現されてもよい。なお、ユーザの身体の取り付けられる装着物は、前述したデバイス60であってもよいし、それ以外のものであってもよい。デバイス60以外の装着物の例は、前述した通りである。第2マーカ20は、これらの装着物に人手で描画されてもよいし、印字されてもよい。
その他にも例えば、装着物は、光を発する発光デバイス(LED(Light Emitting Diode)など)であってもよい。なお、第2マーカ20が発光デバイスであり、なおかつ第2マーカ20に基づいて3次元の座標系が定められる場合、第2マーカ20は3つ以上の発光デバイスを用いて構成される。第2特定部2040は、撮像画像30に含まれるこれら3つ以上の発光デバイスそれぞれによって発せられた光の位置を算出する。そして、第2特定部2040は、各発光デバイスの位置に基づいて、3次元の座標系を決定することができる。なお、3点以上の物を用いて3次元の座標系を決定する方法には既知の方法を利用できるため、その具体的な方法の説明は省略する。
第2マーカ20は、装着物に設けられるマークに限定されない。例えば第2マーカ20は、ユーザの身体に直接描画される所定のマークでもよい。その他にも例えば、第2マーカ20は、ユーザの身体の所定の部分(手の甲など)でもよい。
第2マーカ20は、ユーザの身体の任意の箇所に設けることができる。例えば第2マーカ20は、ユーザの腕部に設けられる。ここで、腕部とは、ユーザの手の先から肩にかけての部分を意味する。
撮像画像30から第2マーカ20を検出するために、第2特定部2040は、第2マーカ20を特定する情報(以下、マーカ情報)を利用する。例えばマーカ情報は、第2マーカ20の特徴量を示す。第2特定部2040は、マーカ情報によって示される特徴量を持つ物体や画像を撮像画像30から検出することで、第2マーカ20を検出する。マーカ情報は、予め第2特定部2040に設定されていてもよいし、第2特定部2040からアクセス可能な記憶装置に記憶されていてもよい。
ここで、第2マーカ20は、コンテンツに依存しない一つのマーカで実現することが好適である。このようにすることで、前述したとおり、第2マーカ20を検出する処理をよりシンプルにすることができる。その結果、第2マーカ20を検出する処理に要する時間が短くなるという利点や、この処理の計算コストが小さくなるという利点がある。
前述したように、第2マーカ20は画像として実現されてもよいし、それ以外のもので実現されてもよい。第2マーカ20を画像として実現する形態には、第2マーカ20を予め描画又は印字しておく必要がないという利点がある。
なお、第2マーカ20を画像として実現する場合、第1マーカ10を画像として実現する場合と同様に、画像を表示する表示画面は、表示画面自体が発光することで画像を見せる形態または表示画面のバックライトが発光しそれを遮ることで画像を見せる形態のものよりも、電子ペーパーなどのように太陽光や照明光の反射光を利用して画像を見せる形態のものが好適である。その利点は、第1マーカ10の場合と同様である。また、その利点は、第2マーカ20を画像以外のものとして実現する場合についても同様である。
<第1マーカ10と第2マーカ20を設ける位置の関係について>
前述したように、第1マーカ10と第2マーカ20はそれぞれ様々な場所に設けることができる。例えば第1マーカ10と第2マーカ20の双方がデバイス60に設けられる。図16は、デバイス60に第1マーカ10と第2マーカ20の双方が設けられるケースを例示する図である。図16において、第1マーカ10は、表示画面62に表示される画像である。一方、第2マーカ20は、表示画面62の周囲に印字されているマークである。
カメラ130に撮像させるべき第1マーカ10は、ユーザが利用したいコンテンツによって異なる。そのため、第1マーカ10をデバイス60に設ける場合、第1マーカ10を表示画面62に表示される画像として実現することで、ユーザの操作に応じて第1マーカ10を変更できるようにすることが好適である。一方、第2マーカ20はコンテンツ画像40の表示位置を決定するためのマーカであるため、ユーザ操作に応じて変更できなくてもよい。そのため、図16に示すように、第2マーカ20は、デバイス60に予め設けられているマークであってもよい。そこで図16の例では、第1マーカ10を表示画面62に表示される画像として実現し、第2マーカ20をデバイス60に予め設けられているマークとして実現している。
また、図16のように第1マーカ10の周囲に第2マーカ20を設けることで、第2マーカ20を第1マーカ10よりも大きくすることができる。ここで、コンテンツの特定に利用される第マーカ10と比較し、コンテンツ画像40の表示位置の特定に利用される第2マーカ20は、情報処理装置2000によって検出されるべき頻度が高いといえる。そして、検出されるべき頻度が高い第2マーカ20の検出のしやすさは、第1マーカ10の検出のしやすさ以上であることが好適である。そこで、第2マーカ20を第1マーカ10よりも大きくする(例えば図16のように、第2マーカ20を第1マーカ10の周囲に設ける)ことが好適である。ただし、必ずしも第1マーカ10よりも第2マーカ20を大きくする必要はなく、これらの大きさは同じであってもよいし、第1マーカ10を第2マーカ20より大きくしてもよい。
なお、図16の例では第1マーカ10を画像として実現し、第2マーカ20を予め設けられているマークとして実現しているが、必ずしもこのような実現方法に限定されない。例えば、第1マーカ10と第2マーカ20の双方を、表示画面62に表示される画像として実現してもよい。このケースではまず、ユーザは、デバイス60を操作して、利用したいコンテンツに対応する第1マーカ10を表示画面62に表示させ、カメラ130にその第1マーカ10を撮像させる。その結果、利用したいコンテンツが特定される。その後ユーザは、さらにデバイス60を操作して第2マーカ20を表示画面62に表示させ、カメラ130にその第2マーカ20を撮像させる。その結果、コンテンツ画像40の表示位置が特定され、特定された位置にコンテンツ画像40が表示される。
また、第1マーカ10と第2マーカ20の双方を、ユーザが身につける装着物に予め設けられるマークとして実現してもよい。例えば、時計型の装着物において、文字盤に相当する部分の中央付近に第1マーカ10を予め印字しておき、この部分の周囲に第2マーカ20を予め印字しておく。
なお、上述の各例では、第1マーカ10が装着物の中心付近に位置し、第2マーカ20がその周囲に位置している。しかし、第1マーカ10と第2マーカ20の位置関係は、互いに重ならない任意の位置関係とすることができる。また、第1マーカ10と第2マーカ20は、これらの検出に影響のない範囲であればそれらの一部が重なり合ってもよい。
図17は、同一の装着物に設けられる第1マーカ10と第2マーカ20の他の例を示す図である。図17(a)において、第1マーカ10と第2マーカ20は、平面視において縦に並べて設けられている。図17(a)において、第1マーカ10と第2マーカ20は、1)それぞれ表示画面に表示される画像であってもよいし、2)いずれか一方が表示画面に表示される画像で、もう一方が予め描画又は印字されているマークであってもよいし、3)双方が予め描画又は印字されているマークであってもよい。
図17(b)において、第1マーカ10はデバイス60の表示画面62に表示される画像である。第2マーカ20は、表示画面62の一部を覆うように貼り付けられているシールに印字されている。点線は、このシールによって覆われている表示画面62の枠を表す。このように、図17(b)では、第1マーカ10の一部が見えなくなっている。
第1マーカ10の検出を第1マーカ10の特徴量によって検出する方法(テーブル200を利用する方法)によれば、撮像画像30において第1マーカ10の一部が欠けていたとしても、撮像画像30に含まれる第1マーカ10と予め用意されている第1マーカ10の特徴量との類似度が所定の閾値以上になる程度に第1マーカ10が見えていれば(撮像画像30に含まれていれば)、第1マーカ10の検出が可能である。よって、図17(b)のように第1マーカ10の一部が第2マーカ20によって隠されていても、第1特定部2020は第1マーカ10を検出することができる。
なお、図17(b)では第2マーカ20によって第1マーカ10の一部が見えなくなっているが、逆に第1マーカ10によって第2マーカ20の一部が見えなくなっていてもよい。
第1マーカ10と第2マーカ20の位置は、装着物を平面視した場合における奥行き方向の位置が異なっていてもよい。言い換えれば、第1マーカ10が表す平面と第2マーカ20が表す平面は、同一平面上に存在しなくてもよい。さらに言い換えれば、第1マーカ10が表す平面と、第2マーカ20が表す平面は、それらの平面に垂直な方向についての位置が互いに異なっていてもよい。
図18は、装着物を平面視した場合における奥行き方向の位置が異なる第1マーカ10と第2マーカ20を例示する図である。図18(a)は、時計型の装着物110の平面図であり、図18(b)は、装着物110のAB断面図である。図18(b)に示すように、装着物110において、第1マーカ10が設けられている位置と第2マーカ20が設けられている位置は、z 方向(平面視における奥行き方向、装着物110の厚み方向)において互いに異なっている。装着物110がデバイス60である場合、例えば、第1マーカ10が表示画面62に設けられ、第2マーカ20が表示画面62の周囲(時計の文字盤のベゼルに相当する部分)に設けられ、表示画面62がその周囲よりも平面視において奥に設けられる。言い換えれば、第1マーカ10が設けられる位置と第2マーカ20が設けられる位置が、表示画面62の平面に対して垂直な方向において互いに異なる。
装着物110を撮像するカメラ130の視野において、第1マーカ10は、第2マーカ20よりも奥に位置することとなる。そのため、カメラ130が第1マーカ10を撮像する方向によって(ユーザが装着物110を見る方向によって)、撮像画像30に含まれる第1マーカ10が異なる。図19は、第1マーカ10を撮像する方向によって撮像画像30に含まれる第1マーカ10が異なる様子を例示する図である。撮像画像30−1では、装着物110が、平面視における左斜め下方向から撮像されている。そのため、撮像画像30−1には、第1マーカ10の左下の一部が含まれていない。一方、撮像画像30−2では、平面視における右斜め下方向から装着物110が撮像されている。その結果、撮像画像30−2には、第1マーカ10の右下の一部が含まれていない。
このように、同一の第1マーカ10であってもカメラ130によって撮像される方向によって撮像画像30に含まれる形状や模様などが異なる場合(例えば第1マーカ10の一部が欠ける場合)、1つの第1マーカ10が複数のコンテンツに共通するものとして利用されてもよい。この場合、第1特定部2020には、撮像画像30に含まれる第1マーカ10(第1マーカ10の一部)からコンテンツを特定する。例えば図19の例において、撮像画像30−1のケースではコンテンツとしてキーボードが特定され、撮像画像30−2のケースではコンテンツとしてテンキーが特定されるようにする。こうすることで、ユーザは、利用したいコンテンツに応じてカメラ130が第1マーカ10を撮像する方向(例えばユーザが第1マーカ10を見る方向)を変えることによって、所望のコンテンツを利用できるようになる。よって、情報処理装置2000の利便性が向上する。また、コンテンツの数に対する第1マーカ10の数を減らすことができるため、第1マーカ10を用意する手間が軽減する。また、第1マーカ10を画像として実現する場合には、第1マーカ10を記憶させておく記憶領域を削減することができ、第1マーカ10を予め描画又は印字しておく場合には、第1マーカ10を設けるために要するスペースを減らすことができる。
<第1マーカ10と第2マーカ20の検出を行うタイミング>
第1マーカ10の検出と第2マーカ20の検出のタイミングや頻度は任意である。以下では、これらの好適なタイミングや頻度を例示する。
<<第1の例>>
この例では、第1マーカ10の検出と第2マーカ20の検出が、それぞれ異なるタイミングで行われる。図20は、第1マーカ10の検出と第2マーカ20の検出のタイミングを例示するフローチャートである。まず、第1特定部2020によって、第1マーカ10を検出する処理が行われる(図5のS102からS106)。この間、第2マーカ20の検出は行わない。こうすることで、情報処理装置2000の処理負荷を軽減することができる。
第1特定部2020によって第1マーカ10が検出されると、次に第2特定部2040による第2マーカ20の検出、及び表示制御部2060によるコンテンツ画像40の表示が行われる(図6のS202からS212)。
ループ処理Aの終了条件は、例えば前述したようにユーザによって所定の入力操作や、情報処理装置2000の状態が所定の状態になることである。第1マーカ10によって特定されたコンテンツがアプリケーションである場合、例えば情報処理装置2000が所定の状態になるとは、そのアプリケーションが終了することである。その他にも例えば、第1マーカ10によって特定されたコンテンツが入力インタフェースである場合、情報処理装置2000が所定の状態になるとは、その入力インタフェースを用いた入力操作が完了することである。これらの終了条件を採用することで、アプリケーションの終了や入力操作の終了を契機として、情報処理装置2000によって行われる処理を、コンテンツ画像40の表示位置の決定からコンテンツの特定へ自動的に移行させることができる。
その他にも例えば、所定の終了条件は、所定時間以上(所定回数以上のループ処理Aにおいて)、第2マーカ20が検出されないことである。例えばヘッドマウントディスプレイ100を利用する場合、所定時間以上第2マーカ20が検出されないことは、第2マーカ20が所定時間以上ユーザの視界から外れていることを意味する。よって、この終了条件を採用することで、ユーザは、別のコンテンツを利用したいと考えた場合に、第2マーカ20を視界から外すという容易な動作で、情報処理装置2000によって行われる処理をコンテンツの特定へ移行させることができる。
ここで、ループ処理Aが実行されている間、第1マーカ10の検出は行わない。こうすることで、情報処理装置2000の処理負荷を軽減することができる。
前述した所定の終了条件が満たされると、図20の処理は終了する。この場合、例えば情報処理装置2000は、再度図20の処理を実行する。こうすることで、1)第1マーカ10を検出する、2)所定の終了条件が満たされるまで第2マーカ20の検出及びコンテンツ画像40の表示を繰り返す、という流れで処理が繰り返される。
<<第2の例>>
この例では、第1マーカ10を検出する処理と第2マーカ20の検出処理が並行しておこなわれる。ただし、情報処理装置2000は、1)第1マーカ10の検出処理を行う頻度が第2マーカ20の検出処理を行う頻度よりも高い第1状態と、2)第2マーカ20の検出処理を行う頻度が第1マーカ10の検出処理を行う頻度よりも高い第2状態という、2つの状態の間を遷移する。図21は、情報処理装置2000の状態が第1状態と第2状態の間を遷移する様子を例示する図である。
まず、コンテンツが特定されていない時(例えば情報処理装置2000の起動時)には、情報処理装置2000は第1状態となる。その後、第1マーカ10が検出されてコンテンツが特定されると、情報処理装置2000は第2状態に遷移する。
第2状態から第1状態へ遷移する条件には、様々なものを採用できる。例えば、第2状態に遷移してから所定の時間が経過したら、情報処理装置2000の状態を第1状態に遷移させる。この所定の時間は、全てのコンテンツに共通で定められていてもよいし、コンテンツ毎に定められていてもよい。その他にも例えば、コンテンツの終了(アプリケーションの終了や入力インタフェースを用いた入力操作に終了)を契機として、情報処理装置2000の状態を第1状態に遷移させる。その他にも例えば、第2状態において所定時間以上第2マーカ20が検出されない場合に、情報処理装置2000の状態を第1状態に遷移させる。
その他にも例えば、第2状態において撮像画像30から検出された第2マーカ20の一部が欠けていたら、情報処理装置2000の状態を第1状態に遷移させる。このケースでは、前提として、第2マーカ20が第1マーカ10の周囲に位置するとする。第2マーカ20が第1マーカ10の周囲に位置すると、第1マーカ10を変更するためにデバイス60を操作する(例えばタッチパネルを操作する)場合に、第2マーカ20の一部がユーザの手などによって隠れて見えなくなる。
図22は、第1マーカ10を変更する作業を例示する図である。図22において、第1マーカ10は表示画面62に表示される画像である。また、第2マーカ20は、デバイス60のベゼル部分に印字されているマークである。デバイス60のタッチパネルを操作して第1マーカ10を変更する作業が行われているため、ユーザの指によって第2マーカ20の一部が隠れている。つまり、撮像画像30から検出される第2マーカ20の一部が欠けている。
このように、撮像画像30から検出された第2マーカ20の一部が欠けていることは、第1マーカ10を変更する作業が行われた蓋然性が高いことを意味する。そして、第1マーカ10を変更する作業が行われた場合、ユーザがコンテンツを切り替えようとしていることを意味する。そこで、このような状況下で情報処理装置2000の状態を第1状態に遷移させることにより、ユーザがコンテンツを切り替えようとしている時に、第1マーカ10が検出される蓋然性を高くすることができる。
なお前述したように、第2マーカ20は、撮像画像30においてその一部が欠けていたとしても、予め用意されている第2マーカ20の特徴量との類似度が所定の閾値以上となる程度に第2マーカ20が撮像画像30に含まれていれば、その検出が可能である。
その他にも例えば、第2状態において撮像画像30から第2マーカ20が検出されなくなったら、情報処理装置2000の状態を第1状態に遷移させる。この方法によれば、ユーザは、コンテンツを切り替えたい時に、第2マーカ20が撮像されないようにする(第2マーカ20を視界から外す)という簡易な動作によって、コンテンツを特定するために適した第1状態に情報処理装置2000を遷移させることができる。
<コンテンツ画像40の表示位置の特定>
第2特定部2040は、第2マーカ20に基づいてコンテンツ画像40の表示位置を決定する。例えば第2マーカ20に基づいて3次元の座標系が決定される場合、コンテンツ画像40の位置を、この座標系における位置として予め定義しておく。
図23は、第2マーカ20に基づいて決定される座標系80を例示する図である。座標系80は、x 方向、y 方向、及び z 方向で定まる3次元の座標系である。ここで、画像に含まれるマーカの形状等に基づいて3次元の座標系を決定する技術には、既知の技術を利用することができる。
図24は、座標系80におけるコンテンツ画像40の位置を例示する図である。図24の例において、座標系80におけるコンテンツ画像40の位置は予め、(-3Mx-Ix, -Iy/2, 0) と定められている。ここで、Mx は第2マーカ20の x 方向の大きさ、Ix はコンテンツ画像40の x 方向の大きさ、Iy はコンテンツ画像40の y 方向の大きさを表す。また、コンテンツ画像40の位置は、コンテンツ画像40の左上の座標を表す。表示制御部2060は、座標系80における位置が (-3Mx-Ix, -Iy/2, 0) となるように、コンテンツ画像40を表示画面50に表示させる。
第2マーカ20に基づいて定まる座標系における位置は、全てのコンテンツに共通で定められていてもよいし、コンテンツごとに定められていてもよいし、コンテンツ画像40ごとに定められていてもよい。
<コンテンツ画像40の姿勢や大きさについて>
第2特定部2040は、コンテンツ画像40の位置に加え、コンテンツ画像40の姿勢や大きさを第2マーカ20に基づいて決定してもよい。以下、姿勢と大きさの決定方法についてそれぞれ説明する。
<<コンテンツ画像40の姿勢を決定する方法>>
第2特定部2040は、第2マーカ20の姿勢に応じて、コンテンツ画像40の姿勢を決定する。具体的にはまず、第2特定部2040は、撮像画像30に写っている第2マーカ20を用いて座標系80を決定する。さらに第2特定部2040は、上記決定した座標系80に基づいて、コンテンツ画像40の姿勢を決定する。例えばこの決定には、予め定めておいた上記座標系80とコンテンツ画像40の姿勢との対応関係を利用する。
図25は、座標系80とコンテンツ画像40の姿勢90との対応関係を例示する図である。図25において、コンテンツ画像40の姿勢90は、コンテンツ画像40を平面視した場合の右方向が座標系80における x 方向となっており、コンテンツ画像40を平面視した場合における下方向が座標系80における y 方向となっており、コンテンツ画像40を平面視した場合における視線方向と逆の方向が座標系80における z 方向となっている。この対応関係は、第2特定部2040に予め設定されていてもよいし、第2特定部2040からアクセス可能な記憶装置に記憶されていてもよい。また、この対応関係は、全てのコンテンツ画像40に共通であってもよいし、コンテンツごとに定められていてもよいし、コンテンツ画像40ごとに定められていてもよい。
第2特定部2040は、第2マーカ20を用いてコンテンツ画像40の姿勢を決定しなくてもよい。この場合、例えば第2特定部2040は、第2マーカ20によらない固定の姿勢でコンテンツ画像40を表示する。
<<操作画像の大きさの決定>>
第2特定部2040は、撮像画像30に含まれる第2マーカ20の大きさに応じて、表示画面50に表示させるコンテンツ画像40の大きさを決定する。例えば予め、第2マーカ20の大きさとコンテンツ画像40の大きさとの比率を定めておく。そして、第2特定部2040は、この比率及び撮像画像30に写っている第2マーカ20の大きさとに基づいて、表示画面50に表示させるコンテンツ画像40の大きさを決定する。上記比率は、第2特定部2040に予め設定されていてもよいし、第2特定部2040からアクセス可能な記憶装置に記憶されていてもよい。また、この比率は、全てのコンテンツ画像40に共通で定められていてもよいし、コンテンツごとに定められていてもよいし、コンテンツ画像40ごとに定められていてもよい。
第2特定部2040は、第2マーカ20を用いてコンテンツ画像40の大きさを決定しなくてもよい。この場合、例えば第2特定部2040は、第2マーカ20の大きさによらない固定の大きさでコンテンツ画像40を表示させる。
<コンテンツ画像40の表示>
表示制御部2060は、コンテンツ画像40を表示画面50に表示させる。ここで、表示画面50に画像を表示させる技術には、既存の技術を利用することができる。
なお、第2マーカ20が撮像画像30に含まれない場合、表示制御部2060は、表示画面50にコンテンツ画像40を表示させなくてもよいし、表示画面50に所定の態様(所定の位置、所定の姿勢、及び所定の大きさ)でコンテンツ画像40を表示させてもよい。後者の場合、例えば表示制御部2060は、コンテンツ画像40の中心位置を表示画面50の中心位置とし、表示画面50を平面視する方向がコンテンツ画像40を平面視する方向になるようにし、なおかつ表示画面50に表示可能な最大の大きさでコンテンツ画像40を表示させる。
図26は、第2マーカ20が撮像画像30に含まれる場合と含まれない場合とで、表示画面50に表示されるコンテンツ画像40の態様が変更される様子を例示する図である。この例において、情報処理装置2000は透過型のヘッドマウントディスプレイ100を用いて実現されている。点線の枠(範囲120)は、ユーザが透過型の表示画面50を介して見る範囲を表している。さらに範囲120は、カメラ130の撮像範囲も表している。つまり、範囲120に含まれるコンテンツ画像40以外のものは、撮像画像30にも含まれる。
図26(a)では、第2マーカ20がカメラ130の撮像範囲に含まれるため、撮像画像30から第2マーカ20が検出される。そこで、Web ブラウザのウインドウを表すコンテンツ画像40−1と、この Web ブラウザに対して入力を行うためのキーボードを表すコンテンツ画像40−2が、第2マーカ20によって定まる位置、大きさ、及び姿勢で表示されている。
一方、図26(b)では、第2マーカ20がカメラ130の撮像範囲に含まれないため、撮像画像30から第2マーカ20が検出されない。そこで、コンテンツ画像40−1が大きく表示され、なおかつコンテンツ画像40−2が表示されていない。
このように、第2マーカ20が撮像画像30に含まれる場合と含まれない場合とで表示を切り替える方法によれば、ユーザは、例えば入力操作を行いたい時と情報の閲覧に注力したい時とで、それぞれに適した表示に容易に切り替えを行うことができる。例えば図26の例では、情報の閲覧に注力したい時には、第2マーカ20をユーザの視界から外すことにより、Web ブラウザのウインドウを容易に大きくすることができる。一方、文字入力を行いたい時には、第2マーカ20をユーザの視界に入れることにより、容易に入力インタフェースを表示させることができる。このように、情報処理装置2000の利便性が向上する。
<マーカを利用した入力操作の検出>
情報処理装置2000は、第1マーカ10又は第2マーカ20を利用して、ユーザによる入力操作を検出してもよい。以下では、第1マーカ10を利用してユーザによる入力操作を検出する方法について説明する。以下で説明する方法では、第1マーカ10の代わりに第2マーカ20を利用することも可能である。
ここでは、第1マーカ10は、コンテンツの特定に加え、ユーザによって入力操作が行われたタイミングを特定するためにも利用される。この場合、第1マーカ10は、デバイス60の表示画面62に表示される画像として実現される。また、ユーザの身体にセンサ64が取り付けられる。センサ64には、ユーザの入力操作に応じてセンシングの結果が変化しうる任意のセンサを採用できる。例えばセンサ64は、振動センサ、加速度センサ、振動スイッチ、圧力センサ、又は静電容量センサなどである、
デバイス60は、センサ64によるセンシングの結果を取得する。そのために、センサ64はデバイス60に接続される。例えばセンサ64は、デバイス60の内部に設けられる。ただし、センサ64は、そのセンシング結果をデバイス60へ通知できる任意の態様でデバイス60と接続されていればよく、必ずしもデバイス60の内部に設けられる必要はない。例えばセンサ64は、ユーザの身体に直接取り付けられたり、ユーザの衣服に取り付けられたりしてもよい。
ユーザは、センサ64によるセンシングの結果に影響を与える態様で入力操作を行う。例えばセンサ64が振動センサである場合、ユーザは、入力操作の開始や終了などのタイミングでセンサ64に対して振動が加わるように入力操作を行う。例えばセンサ64がデバイス60に内蔵されている振動センサである場合、ユーザは、入力操作の開始や終了などのタイミングでその腕をタップすることで、センサ64に対して振動が加わるようにする。
デバイス60は、センサ64によるセンシングの結果に応じて、表示画面62に表示させる第1マーカ10を変更する。例えばセンサ64が振動センサである場合、デバイス60は、センサ64によって所定の大きさ以上の振動が検出されたことに応じて、第1マーカ10を変更する。
情報処理装置2000は、繰り返し生成される複数の撮像画像30を解析することで、表示画面62に表示される第1マーカ10が変更されたことを検出する。これにより、情報処理装置2000は、ユーザによって入力操作が行われたタイミングを特定する。図27は、ユーザによる入力操作によって第1マーカ10が変更される様子を例示する図である。
ここで、本実施形態の第2特定部2040は、変更前の第1マーカ10と変更後の第1マーカ10のいずれを用いても、同じコンテンツを特定できる必要がある。これを実現する方法は様々である。例えば、デバイス60は、同一のコンテンツに対して複数の異なる第1マーカ10を対応づけておく。そして、デバイス60は、センサ64によるセンシングの結果に応じて第1マーカ10を変更する際、表示画面62に、変更前の第1マーカ10によって特定されるコンテンツと同じコンテンツに対応づけられている別の第1マーカ10を表示させる。
その他にも例えば、デバイス60は、第2特定部2040による第1マーカ10の特定に影響を与えない限度で、第1マーカ10を変更する。例えば第2特定部2040が、第1マーカ10の模様や形状で第1マーカ10を特定するとする。具体的には、模様や形状に対してコンテンツを対応づけておく。この場合、デバイス60は、例えば表示画面62に表示される模様や形状を変更せず、表示画面62の色のみを変更する。例えば図27の例において、変更前の第1マーカ10と変更後の第1マーカ10は、バーコード部分が同じである一方で、背景の色が異なっている。この場合、背景の色にかかわらずにバーコード部分の形状によってコンテンツを特定するようにしておけば、第1特定部2020によるコンテンツの特定に影響を与えない範囲で第1マーカ10を変更することができる。
前述したように、センサ64としては、振動センサだけでなく、種々のセンサを採用できる。例えばセンサ64が加速度センサである場合、デバイス60は、センサ64が所定の大きさ以上の加速度を検出したときに、表示画面62に表示させる第1マーカ10を変更する。例えばセンサ64が圧力センサである場合、デバイス60は、センサ64が所定の大きさ以上の圧力を検出したときに、表示画面62に表示させる第1マーカ10を変更する。また例えば、センサ64が静電容量センサである場合、デバイス60は、センサ64が所定の大きさ以上の静電容量の変位を検出したときに、表示画面62に表示させる第1マーカ10を変更する。センサ64が振動スイッチである場合については、センサ64が振動センサである場合と同様である。
上述のように第1マーカ10を利用して認識できる入力操作には、様々なものがある。例えば、ユーザによる入力操作が、コンテンツ画像40として表示されている入力インタフェース(キーボードやボタンなど)に対する操作であるとする。この場合、情報処理装置2000は、第1マーカ10が変更されたタイミング又はそれに近いタイミング(第1マーカ10が変更されたタイミングより所定時間前又は後のタイミング)に生成された撮像画像30から、入力操作に利用される物体(以下、操作体)を検出する。操作体は、例えばユーザの指や、ユーザの手に保持されるペンなどの所定の物体である。情報処理装置2000は、検出された操作体の撮像画像30内の位置と、表示画面50に表示されているコンテンツ画像40の位置とに基づいて、ユーザによる入力操作を認識する。例えば入力インタフェースがキーボードであれば、情報処理装置2000は、検出された操作体の位置と表示画面50におけるキーボードの位置とに基づいて、ユーザがどのキーを操作したのかを特定する。
ユーザの入力操作は、コンテンツ画像40として表示されている入力インタフェースに対する操作に限定されない。例えばユーザは、操作体で文字や図形などを描く操作を行ってもよい。つまり、操作体の動きが入力操作の内容として認識される。この場合、例えばユーザは、入力操作の開始と終了それぞれのタイミングで第1マーカ10が変更されるように入力操作を行う。例えば、ユーザは、デバイス60が取り付けられている腕をタップしてから図形を描き、最後に再度その腕をタップする。これにより、入力操作の開始と終了のタイミングそれぞれで、第1マーカ10が変更される。情報処理装置2000は、第1マーカ10の変化を検出することで入力操作の開始と終了のタイミングを特定する。さらに、情報処理装置2000は、入力操作の開始のタイミングと終了のタイミングの間において生成された複数の撮像画像30を解析することでその間における操作体の動きを検出し、その動きを入力操作として認識する。
上述の例では、操作体の動きによって入力操作を行う場合において、ユーザは、第1マーカ10が2回変更されるように入力操作を行っている。しかし、第1マーカ10を変更させる回数は1回でもよい。この場合、例えばユーザが、入力操作の開始のタイミングで、センサ64のセンシング結果に影響を与える動作(例えば腕のタップ)を行うようにする。そして情報処理装置2000は、例えば第1マーカ10が変更されたタイミングを入力操作の開始時点とし、この時点よりも所定時間後を入力操作の終了時点として、入力操作を認識する。同様に、ユーザが、入力操作の終了のタイミングで、センサ64のセンシング結果に影響を与える動作を行うようにしてもよい。この場合、情報処理装置2000は、例えば第1マーカ10が変更されたタイミングを入力操作の終了時点とし、この時点よりも所定時間前を入力操作の開始時点として、入力操作を認識する。
ここで、センサ64を使って入力操作のタイミングを特定する方法においては、必ずしも前述したように第1マーカ10や第2マーカ20を変化させる必要はなく、第1マーカ10や第2マーカ20以外のものを変化させてもよい。図28は、第1マーカ10や第2マーカ20を変化させずに入力操作のタイミングを特定する方法の第1の例を示す図である。図28において、第1マーカ10は、情報処理装置2000を利用する場所に予め設けられている。また、第2マーカ20は、デバイス60のベゼル部分に設けられている。
デバイス60は、センサ64によるセンシングの結果に応じて(例えば所定の大きさ以上の振動が検出されたことに応じて)表示画面62を変化させる。具体的には、デバイス60は、表示画面62のバックライトの色を変更したり、バックライトを点滅させたりする。情報処理装置2000は、撮像画像30を用いて、この表示画面62の変化を検出することにより、ユーザによる入力操作のタイミングを特定する。
図29は、第1マーカ10や第2マーカ20を変化させずに入力操作のタイミングを特定する方法の第2の例を示す図である。図29の第1マーカ10は、図28の第1マーカ10と同様である。一方、図29の第2マーカ20は、装着物110の板状物112に設けられている。また、板状物112は、半透明の樹脂で形成されており、板状物112の下に LED ライト114が設けられている。そして、この LED ライト114は、センサ64によるセンシングの結果に応じて点滅するように構成されている。前述したように板状物112が半透明であるため、LED ライト114が点滅している様子は、撮像画像30から検出できる。そこで情報処理装置2000は、撮像画像30を用いて、この LED ライト114が点滅したことを検出することにより、入力操作のタイミングを特定する。
<情報処理装置2000のユースケース>
ここでは、情報処理装置2000のユースケースを例示する。なお、以下で示すユースケースはあくまで例示であり、情報処理装置2000の活用方法は以下で説明するユースケースに限定されない。以下の例において、情報処理装置2000は、ヘッドマウントディスプレイ100を用いて実現されているとする。すなわち、コンテンツ画像40が表示される表示画面50は、ヘッドマウントディスプレイ100のレンズ部分に設けられる。また、撮像画像30を生成するカメラ130は、ヘッドマウントディスプレイ100のレンズ付近に設けられる。
<<第1のユースケース:設備の点検作業の支援>>
情報処理装置2000は、工場などにおける設備(例えば機器)などの点検作業を支援するために利用することができる。この場合、まずユーザは、この点検作業の支援を実現するアプリケーション(以下、点検支援アプリケーション)に対応する第1マーカ10をカメラ130に撮像させることで、このアプリケーションを実行させる。
点検支援アプリケーションが実行されている様子は、例えば図3で表される。例えば点検支援アプリケーションは、データベースに登録されている点検リストを取得する。点検リストには、複数の点検項目それぞれに関する情報(点検場所や点検の内容)を示している。表示制御部2060は、点検リストに含まれる各点検項目について、その点検項目を表すコンテンツ画像40−1を順に表示画面50に表示させる。さらに表示制御部2060は、点検項目に対応づけられている入力インタフェースを表すコンテンツ画像40−2を、表示画面50に表示させる。ユーザは、この入力インタフェースを操作することで点検結果を入力する。
<<第2のユースケース:ピッキング作業の支援>>
情報処理装置2000は、倉庫などにおけるピッキング作業を支援するために利用することができる。ここで、ピッキング作業とは、棚などに置かれている物の中から、所望の物を探し集める作業のことを意味する。ユーザは、このピッキング作業の支援を実現するアプリケーション(以下、ピッキング支援アプリケーション)に対応する第1マーカ10をカメラ130に撮像させることで、ピッキング支援アプリケーションを実行させる。
ピッキング支援アプリケーションは、例えば、収集すべき物品のリストをデータベースから取得する。さらに、ピッキング支援アプリケーションは、このリストに示される各商品について順に、その商品が倉庫内のどこに保管されているかを示すガイドをコンテンツ画像40として生成する。表示制御部2060は、このコンテンツ画像40を表示画面50に表示させる。こうすることで、ユーザは、収集すべき物品が保管されている場所へ容易に移動できる。
さらにピッキング支援アプリケーションは、収集すべき物品が置かれている場所がカメラ130の撮像範囲に入ったら、その場所を強調表示するためのコンテンツ画像40を生成する。表示制御部2060は、このコンテンツ画像40を表示画面50に表示させる。図30は、収集すべき物品の場所が強調表示される様子を例示する図である。
さらにピッキング支援アプリケーションは、ピッキング作業に関する記録を入力するための入力インタフェースを表すコンテンツ画像40を表示画面50に表示させる。ユーザはこの入力インタフェースを利用して、作業記録を入力する。
<<第3のユースケース:医療現場における作業の支援>>
情報処理装置2000は、医療現場における種々の作業を支援するために利用することができる。例えば、看護師が点滴注射を行う際などに、3点照合などと呼ばれる作業が行われている。この作業は、点滴を注射する際に、1)作業者を行う看護師、2)点滴注射を受ける患者、及び3)投与する薬剤の3つの組み合わせを照合することで、正しい作業であるか否かを判定するものである。
そこで情報処理装置2000は、この3点照合の支援を実現する。図31は、情報処理装置2000を利用して3点照合が行われる様子を例示する図である。ユーザは、この3点照合の支援を実現するアプリケーションに対応する第1マーカ10をカメラ130に撮像させることで、このアプリケーションを実行させる。このアプリケーションは、上記1)から3)それぞれの識別子を読み取るための機能を提供する。まず表示制御部2060により、看護師を識別するための看護師コード170が読み取られる範囲を表すコンテンツ画像40(枠線140)が表示される。また、看護師コード170を読み取るべきことを伝えるメッセージを表すコンテンツ画像40(メッセージ150)が表示される。さらに、アプリケーションに対して看護師コードの読み取りを指示するための入力インタフェース(ボタン160)が表示される。
各コンテンツ画像40の表示位置は、第2マーカ20の位置に基づいて決定される。そこでユーザは、腕を動かして第2マーカ20の位置を変更することで、看護師コード170が枠線140に収まるようにする。そしてユーザは、ボタン160を押す(例えばボタン160に重なる位置に指を配置する)ことで、看護師コード170をアプリケーションに読み取らせる。ユーザは、同様の操作を患者の識別子の読み取りと薬剤の識別子の読み取りについても行う。以上の動作により、3点照合が実現される。
なお、医療現場における情報処理装置2000の活用方法は、3点照合の支援以外にも様々なものがある。例えば、看護師は医師から伝えられた作業(血液採取や点滴注射など)を行うため、医師から看護師への伝達事項が情報処理装置2000を使って表示されるようにする。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 第1マーカを撮像画像から検出し、前記検出された第1マーカに対応するコンテンツを特定する第1特定手段と、
前記第1マーカとは異なる第2マーカを撮像画像から検出し、前記検出された第2マーカに基づいて、第1表示画面における表示位置を特定する第2特定手段と、
前記第1表示画面の前記特定された表示位置に、前記特定されたコンテンツに関するコンテンツ画像を表示させる表示制御手段と、を有する情報処理装置。
2. 前記第1特定手段は、ユーザの身体に取り付けられる装着物が備える第2表示画面に表示される画像である前記第1マーカを検出する、1.に記載の情報処理装置。
3. 前記第2表示画面に表示される前記第1マーカは、前記装着物に対する操作に応じて変更される、2.に記載の情報処理装置。
4. 前記第2マーカは、前記第1マーカの周囲に設けられるものである、1.乃至3.いずれか一つに記載の情報処理装置。
5. 前記第1マーカと前記第2マーカは、ユーザの身体に取り付けられる装着物に設けられ、
前記第1マーカの平面に対して垂直な方向において、前記第1マーカの位置と前記第2マーカの位置が互いに異なる、1.乃至4.いずれか一つに記載の情報処理装置。
6. 前記第2特定手段は、ユーザの身体に取り付けられる装着物に印字若しくは描画された第2マーカ、又は前記装着物の形状として形成される第2マーカを検出する、1.乃至5.いずれか一つに記載の情報処理装置。
7. 前記第2特定手段は、撮像画像から検出される前記第1マーカの位置の変化に応じ、前記コンテンツ画像の前記表示位置を変更する、1.乃至6.いずれか一つに記載の情報処理装置。
8. 前記第1表示画面はヘッドマウントディスプレイに設けられる、1.乃至7.いずれか一つに記載の情報処理装置。
9. 第1マーカ、前記第1マーカとは異なる第2マーカ、第1表示画面、及び情報処理装置を有し、
前記情報処理装置は、
前記第1マーカを撮像画像から検出し、前記検出された第1マーカに対応するコンテンツを特定する第1特定手段と、
前記第2マーカを撮像画像から検出し、前記検出された第2マーカに基づいて、前記第1表示画面における表示位置を特定する第2特定手段と、
前記第1表示画面の前記特定された表示位置に、前記特定されたコンテンツに関するコンテンツ画像を表示させる表示制御手段と、を有する情報処理システム。
10. 前記第1マーカは、ユーザの身体に取り付けられる装着物が備える第2表示画面に表示される画像である、9.に記載の情報処理システム。
11. 前記第2表示画面に表示される前記第1マーカは、前記装着物に対する操作に応じて変更される、10.に記載の情報処理システム。
12. 前記第2マーカは、前記第1マーカの周囲に設けられるものである、9.乃至11.いずれか一つに記載の情報処理システム。
13. 前記第1マーカと前記第2マーカは、ユーザの身体に取り付けられる装着物に設けられ、
前記第1マーカの平面に対して垂直な方向において、前記第1マーカの位置と前記第2マーカの位置が互いに異なる、9.乃至12.いずれか一つに記載の情報処理システム。
14. 前記第2マーカは、ユーザの身体に取り付けられる装着物に印字若しくは描画されるか、又は前記装着物の形状として形成される、9.乃至13.いずれか一つに記載の情報処理システム。
15. 前記第2特定手段は、撮像画像から検出される前記第1マーカの位置の変化に応じ、前記コンテンツ画像の前記表示位置を変更する、9.乃至14.いずれか一つに記載の情報処理システム。
16. 前記第1表示画面はヘッドマウントディスプレイに設けられる、9.乃至15.いずれか一つに記載の情報処理システム。
17. コンピュータによって実行される制御方法であって、
第1マーカを撮像画像から検出し、前記検出された第1マーカに対応するコンテンツを特定する第1特定ステップと、
前記第1マーカとは異なる第2マーカを撮像画像から検出し、前記検出された第2マーカに基づいて、第1表示画面における表示位置を特定する第2特定ステップと、
前記第1表示画面の前記特定された表示位置に、前記特定されたコンテンツに関するコンテンツ画像を表示させる表示制御ステップと、を有する制御方法。
18. 前記第1特定ステップは、ユーザの身体に取り付けられる装着物が備える第2表示画面に表示される画像である前記第1マーカを検出する、17.に記載の制御方法。
19. 前記第2表示画面に表示される前記第1マーカは、前記装着物に対する操作に応じて変更される、18.に記載の制御方法。
20. 前記第2マーカは、前記第1マーカの周囲に設けられるものである、17.乃至19.いずれか一つに記載の制御方法。
21. 前記第1マーカと前記第2マーカは、ユーザの身体に取り付けられる装着物に設けられ、
前記第1マーカの平面に対して垂直な方向において、前記第1マーカの位置と前記第2マーカの位置が互いに異なる、17.乃至20.いずれか一つに記載の制御方法。
22. 前記第2特定ステップは、ユーザの身体に取り付けられる装着物に印字若しくは描画された第2マーカ、又は前記装着物の形状として形成される第2マーカを検出する、17.乃至21.いずれか一つに記載の制御方法。
23. 前記第2特定ステップは、撮像画像から検出される前記第1マーカの位置の変化に応じ、前記コンテンツ画像の前記表示位置を変更する、17.乃至22.いずれか一つに記載の制御方法。
24. 前記第1表示画面はヘッドマウントディスプレイに設けられる、17.乃至23.いずれか一つに記載の制御方法。
25. 17.乃至24.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。

Claims (10)

  1. 第1マーカを撮像画像から検出し、前記検出された第1マーカに対応するコンテンツを特定する第1特定手段と、
    前記第1マーカとは異なる第2マーカを撮像画像から検出し、前記検出された第2マーカに基づいて、第1表示画面における表示位置を特定する第2特定手段と、
    前記第1表示画面の前記特定された表示位置に、前記特定されたコンテンツに関するコンテンツ画像を表示させる表示制御手段と、を有し、
    前記第1特定手段は、ユーザの身体に取り付けられる装着物が備える第2表示画面に表示される画像である前記第1マーカを検出する情報処理装置。
  2. 前記第2表示画面に表示される前記第1マーカは、前記装着物に対する操作に応じて変更される、請求項に記載の情報処理装置。
  3. 前記第2マーカは、前記第1マーカの周囲に設けられるものである、請求項1又は2に記載の情報処理装置。
  4. 前記第1マーカと前記第2マーカは、ユーザの身体に取り付けられる装着物に設けられ、
    前記第1マーカの平面に対して垂直な方向において、前記第1マーカの位置と前記第2マーカの位置が互いに異なる、請求項1乃至いずれか一項に記載の情報処理装置。
  5. 前記第2特定手段は、ユーザの身体に取り付けられる装着物に印字若しくは描画された第2マーカ、又は前記装着物の形状として形成される第2マーカを検出する、請求項1乃至いずれか一項に記載の情報処理装置。
  6. 前記第2特定手段は、撮像画像から検出される前記第マーカの位置の変化に応じ、前記コンテンツ画像の前記表示位置を変更する、請求項1乃至いずれか一項に記載の情報処理装置。
  7. 前記第1表示画面はヘッドマウントディスプレイに設けられる、請求項1乃至いずれか一項に記載の情報処理装置。
  8. 第1マーカ、前記第1マーカとは異なる第2マーカ、第1表示画面、及び情報処理装置を有し、
    前記情報処理装置は、
    前記第1マーカを撮像画像から検出し、前記検出された第1マーカに対応するコンテンツを特定する第1特定手段と、
    前記第2マーカを撮像画像から検出し、前記検出された第2マーカに基づいて、前記第1表示画面における表示位置を特定する第2特定手段と、
    前記第1表示画面の前記特定された表示位置に、前記特定されたコンテンツに関するコンテンツ画像を表示させる表示制御手段と、を有し、
    前記第1特定手段は、ユーザの身体に取り付けられる装着物が備える第2表示画面に表示される画像である前記第1マーカを検出する情報処理システム。
  9. コンピュータによって実行される制御方法であって、
    第1マーカを撮像画像から検出し、前記検出された第1マーカに対応するコンテンツを特定する第1特定ステップと、
    前記第1マーカとは異なる第2マーカを撮像画像から検出し、前記検出された第2マーカに基づいて、第1表示画面における表示位置を特定する第2特定ステップと、
    前記第1表示画面の前記特定された表示位置に、前記特定されたコンテンツに関するコンテンツ画像を表示させる表示制御ステップと、を有し、
    前記第1特定ステップでは、ユーザの身体に取り付けられる装着物が備える第2表示画面に表示される画像である前記第1マーカを検出する制御方法。
  10. 請求項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
JP2019505560A 2017-03-14 2017-03-14 情報処理装置、情報処理システム、制御方法、及びプログラム Active JP6828801B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/010204 WO2018167843A1 (ja) 2017-03-14 2017-03-14 情報処理装置、情報処理システム、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018167843A1 JPWO2018167843A1 (ja) 2020-01-16
JP6828801B2 true JP6828801B2 (ja) 2021-02-10

Family

ID=63522250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019505560A Active JP6828801B2 (ja) 2017-03-14 2017-03-14 情報処理装置、情報処理システム、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US11030980B2 (ja)
JP (1) JP6828801B2 (ja)
WO (1) WO2018167843A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11276326B2 (en) * 2016-12-07 2022-03-15 Ns Solutions Corporation System, information processing device, information processing method, program, and recording medium
KR20180083144A (ko) * 2017-01-12 2018-07-20 삼성전자주식회사 마커를 검출하기 위한 방법 및 그 전자 장치
US10948980B2 (en) * 2019-05-10 2021-03-16 Apple Inc. Electronic device system with controllers
WO2021033575A1 (ja) * 2019-08-22 2021-02-25 ソニー株式会社 情報処理装置および方法、並びに、プログラム
WO2021236170A1 (en) 2020-05-18 2021-11-25 Google Llc Low-power semi-passive relative six-degree-of-freedom tracking
WO2023181151A1 (ja) * 2022-03-23 2023-09-28 株式会社ソニー・インタラクティブエンタテインメント マーカー装置、コンピュータシステム、方法およびプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5480777B2 (ja) * 2010-11-08 2014-04-23 株式会社Nttドコモ オブジェクト表示装置及びオブジェクト表示方法
KR20140066258A (ko) 2011-09-26 2014-05-30 마이크로소프트 코포레이션 투시 근안 디스플레이에 대한 센서 입력에 기초한 비디오 디스플레이 수정
JP2013190941A (ja) * 2012-03-13 2013-09-26 Nikon Corp 情報入出力装置、及び頭部装着表示装置
GB2507810A (en) 2012-03-15 2014-05-14 Crown Packaging Technology Inc Marking Applications for Metal Packages and Packages Having Metal Components
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
JP6304241B2 (ja) 2013-04-04 2018-04-04 ソニー株式会社 表示制御装置、表示制御方法およびプログラム
JP2015011360A (ja) 2013-06-26 2015-01-19 株式会社デジタル・スタンダード 情報処理装置およびプログラム
JP6264972B2 (ja) * 2014-03-18 2018-01-24 富士通株式会社 表示装置、表示制御プログラム、および表示制御方法
US20150302639A1 (en) * 2014-03-26 2015-10-22 Augmentecture, Inc. Method and system for creating enhanced images including augmented reality features to be viewed on mobile devices with corresponding designs
JP6424601B2 (ja) 2014-12-10 2018-11-21 富士通株式会社 表示制御方法、情報処理プログラム、及び情報処理装置
KR20180083144A (ko) * 2017-01-12 2018-07-20 삼성전자주식회사 마커를 검출하기 위한 방법 및 그 전자 장치

Also Published As

Publication number Publication date
US11030980B2 (en) 2021-06-08
WO2018167843A1 (ja) 2018-09-20
JPWO2018167843A1 (ja) 2020-01-16
US20200074962A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
JP6828801B2 (ja) 情報処理装置、情報処理システム、制御方法、及びプログラム
JP6895390B2 (ja) 仮想現実においてハンドヘルド電子装置を追跡するためのシステム
CN108027654B (zh) 输入设备、输入方法和程序
CN105900041B (zh) 利用视线跟踪进行的目标定位
JP5604739B2 (ja) 画像認識装置および操作判定方法並びにプログラム
CN107615214B (zh) 界面控制系统、界面控制装置、界面控制方法及程序
US20170255838A1 (en) Information processing apparatus, control method, and storage medium
EP3037924A1 (en) Augmented display and glove with markers as us user input device
CN108027656B (zh) 输入设备、输入方法和程序
WO2013035758A1 (ja) 情報表示システム、情報表示方法、及び記憶媒体
US20160004320A1 (en) Tracking display system, tracking display program, tracking display method, wearable device using these, tracking display program for wearable device, and manipulation method for wearable device
US20130063345A1 (en) Gesture input device and gesture input method
CN102792255A (zh) 图像处理设备、图像处理方法和程序
JPH07110735A (ja) 装着型ペン入力装置
CN111344663B (zh) 渲染装置及渲染方法
KR20220032059A (ko) 증강 현실 시스템용 터치프리 인터페이스
KR101343748B1 (ko) 포인터를 표시하지 않는 투명 디스플레이 가상 터치 장치
US20150109336A1 (en) Computer-readable recording medium recording information processing program, information processing apparatus, information processing system, and information processing method
CN109871117A (zh) 信息处理装置、显示装置及信息处理系统
TW201820083A (zh) 虛擬實境或擴增實境的方法、裝置以及非暫態電腦可讀取媒體
EP3088991B1 (en) Wearable device and method for enabling user interaction
CN115735182A (zh) 用于动态形状速写的系统和方法
JP6601480B2 (ja) 情報処理システム、情報処理装置、制御方法、及びプログラム
CN110291495B (zh) 信息处理系统、信息处理方法及程序
CN115720652A (zh) 用于具有放大内容的动态速写的系统与方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190910

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210104

R150 Certificate of patent or registration of utility model

Ref document number: 6828801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150