JP2021140085A - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP2021140085A
JP2021140085A JP2020039187A JP2020039187A JP2021140085A JP 2021140085 A JP2021140085 A JP 2021140085A JP 2020039187 A JP2020039187 A JP 2020039187A JP 2020039187 A JP2020039187 A JP 2020039187A JP 2021140085 A JP2021140085 A JP 2021140085A
Authority
JP
Japan
Prior art keywords
reference object
processor
information processing
image
notebook
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.)
Pending
Application number
JP2020039187A
Other languages
English (en)
Inventor
慶人 末澤
Yoshihito Suezawa
慶人 末澤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fujifilm Business Innovation 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 Fujifilm Business Innovation Corp filed Critical Fujifilm Business Innovation Corp
Priority to JP2020039187A priority Critical patent/JP2021140085A/ja
Priority to US17/060,410 priority patent/US11093804B1/en
Priority to US17/375,507 priority patent/US20210342657A1/en
Publication of JP2021140085A publication Critical patent/JP2021140085A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

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

Abstract

【課題】基準となる物体である基準物体と共に認識された物体を、基準物体と同一又は類似の物体に対して仮想的に再現する。【解決手段】プロセッサは、基準となる物体である第1基準物体と同一又は類似の物体である第2基準物体が認識された場合、第2基準物体に対して、第1基準物体と共に予め認識された第3物体を仮想的に表示する。【選択図】図1

Description

本発明は、情報処理装置及びプログラムに関する。
現実空間に存在する物体に対して、仮想空間上にて物体の画像を表示する技術が知られている。
特許文献1及び特許文献2には、PC等の表示部の外側領域にはみ出したカーソル又はオブジェクトを仮想オブジェクトとして表示する装置が記載されている。
特許文献3及び特許文献4には、PCの表示部に表示されないデータを仮想オブジェクトとして設定し、ユーザの手の指等に張り付ける装置が記載されている。
特開2011−28309号公報 特開2013−168167号公報 特開2013−93031号公報 特開2010−257359号公報
本発明の目的は、基準となる物体である基準物体と共に認識された物体を、基準物体と同一又は類似の物体に対して仮想的に再現することにある。
請求項1に係る発明は、プロセッサを有し、前記プロセッサは、基準となる物体である第1基準物体と同一又は類似の物体である第2基準物体が認識された場合、前記第2基準物体に対して、前記第1基準物体と共に予め認識された第3物体を仮想的に表示する、情報処理装置である。
請求項2に係る発明は、前記プロセッサは、前記第1基準物体と前記第3物体との間の相対的な位置関係を、前記第2基準物体と仮想的に表示されている前記第3物体との間の相対的な位置関係に反映させる、ことを特徴とする請求項1に記載の情報処理装置である。
請求項3に係る発明は、前記プロセッサは、前記第1基準物体と前記第3物体との間の相対的な大きさの関係を、前記第2基準物体と仮想的に表示されている前記第3物体との間の相対的な大きさの関係に反映させる、ことを特徴とする請求項1又は請求項2に記載の情報処理装置である。
請求項4に係る発明は、前記プロセッサは、前記第3物体の大きさが閾値未満である場合、前記第1基準物体と前記第3物体との間の相対的な大きさの関係を、前記第2基準物体と仮想的に表示されている前記第3物体との間の相対的な大きさの関係に反映させない、ことを特徴とする請求項3に記載の情報処理装置である。
請求項5に係る発明は、前記第3物体は、前記第1基準物体に接している物体である、ことを特徴とする請求項1から請求項4のいずれか一項に記載の情報処理装置である。
請求項6に係る発明は、前記プロセッサは、前記第2基準物体と共に前記第3物体が認識されない場合、前記第2基準物体に対して仮想的に前記第3物体を表示する、ことを特徴とする請求項1から請求項5のいずれか一項に記載の情報処理装置である。
請求項7に係る発明は、前記プロセッサは、前記第2基準物体と共に前記第3物体が認識された場合、前記第2基準物体に対して仮想的に前記第3物体を表示しない、ことを特徴とする請求項1から請求項5のいずれか一項に記載の情報処理装置である。
請求項8に係る発明は、前記プロセッサは、前記第2基準物体と共に認識された前記第3物体の内容が、前記第1基準物体と共に認識された前記第3物体の内容と異なっている場合、その旨をユーザに通知する、ことを特徴とする請求項1から請求項7のいずれか一項に記載の情報処理装置である。
請求項9に係る発明は、前記プロセッサは、前記第3物体を仮想的に表示する前に、前記第2基準物体と共に認識された前記第3物体の内容が、前記第1基準物体と共に認識された前記第3物体の内容と異なっている旨を通知し、仮想的に前記第3物体を表示することがユーザから指示された場合、前記第2基準物体に対して仮想的に前記第3物体を表示する、ことを特徴とする請求項8に記載の情報処理装置である。
請求項10に係る発明は、前記第1基準物体と類似する第2基準物体は、前記第1基準物体と同一の種類の物体である、ことを特徴とする請求項1から請求項9のいずれか一項に記載の情報処理装置である。
請求項11に係る発明は、前記第3物体は、複数の第1基準物体と共に予め認識され、前記プロセッサは、前記複数の第1基準物体の中の少なくとも1つの第1基準物体と同一又は類似の第2基準物体が認識された場合、前記第2基準物体に対して仮想的に前記第3物体を表示する、ことを特徴とする請求項1から請求項10のいずれか一項に記載の情報処理装置である。
請求項12に係る発明は、前記プロセッサは、前記第1基準物体と共に複数の第3物体が認識された場合において、前記第1基準物体と同一又は類似の前記第2基準物体が認識された場合、仮想的に表示される第3物体を選択するための前記複数の第3物体の一覧を表示する、ことを特徴とする請求項1から請求項11のいずれか一項に記載の情報処理装置である。
請求項13に係る発明は、コンピュータに、基準となる物体である第1基準物体と同一又は類似の物体である第2基準物体が認識された場合、前記第2基準物体に対して、前記第1基準物体と共に予め認識された第3物体を仮想的に表示させる、プログラムである。
請求項1,13に係る発明によれば、基準となる物体である基準物体と共に認識された物体を、基準物体と同一又は類似の物体に対して仮想的に再現することができる。
請求項2に係る発明によれば、第1基準物体と第3物体との間の相対的な位置関係を、第2基準物体に対して仮想的に第3物体を表示する際に再現することができる。
請求項3に係る発明によれば、第1基準物体と第3物体との間の相対的な大きさの関係を、第2基準物体に対して仮想的に第3物体を表示する際に再現することができる。
請求項4に係る発明によれば、第3物体を仮想的に表示する際に第3物体の大きさが閾値未満になる場合は、第1基準物体と第3物体との間の相対的な大きさを反映させずに、第2基準物体に対して仮想的に第3物体を再現することができる。
請求項5に係る発明によれば、第1基準物体に接している物体に限って第3物体を仮想的に再現することができる。
請求項6に係る発明によれば、第2基準物体と共に第3物体が認識されない場合に、第2基準物体に対して仮想的に第3物体を再現することができる。
請求項7に係る発明によれば、仮想的に再現する必要のない第3物体を仮想的に再現せずに済む。
請求項8に係る発明によれば、第3物体の内容の差異をユーザに知らせることができる。
請求項9に係る発明によれば、ユーザは、第3物体の内容の差異を確認した上で、第3物体を仮想的に再現することができる。
請求項10に係る発明によれば、第1基準物体と同一の種類の第2基準物体に対して第3物体を仮想的に再現することができる。
請求項11に係る発明によれば、複数の第1基準物体と共に認識された物体を、第2基準物体に対して仮想的に再現することができる。
請求項12に係る発明によれば、複数の第3物体が認識された場合、当該複数の第3物体の中から選択された第3物体を第2基準物体に対して仮想的に再現することができる。
第1実施形態に係る情報処理システムの構成を示すブロック図である。 画像を取得する処理を示すフローチャートである。 表示画面を示す図である。 仮想オブジェクトを表示する処理を示すフローチャートである。 表示画面を示す図である。 画像を取得する処理を示すフローチャートである。 仮想オブジェクトを表示する処理を示すフローチャートである。 画像を取得する処理を示すフローチャートである。 表示画面を示す図である。 仮想オブジェクトを表示する処理を示すフローチャートである。 現実空間に存在する実物体を模式的に示す図である。 表示画面を示す図である。 現実空間に存在する実物体を模式的に示す図である。 実物体と仮想オブジェクトを模式的に示す図である。 第2実施形態に係る情報処理システムの構成を示すブロック図である。 画像を取得する処理を示すフローチャートである。 仮想オブジェクトを表示する処理を示すフローチャートである。 現実空間に存在する実物体を模式的に示す図である。 表示画面を示す図である。
<第1実施形態>
図1を参照して、第1実施形態に係る情報処理システムについて説明する。図1には、第1実施形態に係る情報処理システムのハードウェアの構成の一例が示されている。
第1実施形態に係る情報処理システムは、AR(Augmented Reality:拡張現実)やMR(Mixed Reality:複合現実)等の技術を利用して現実空間上に仮想オブジェクトを表示するシステムである。ここでは一例として、AR技術が採用された、メガネ型の情報処理装置であるARグラス10が用いられる。ARグラス10は、撮影機能と通信機能とを有する装置である。また、ARグラス10は、ARグラス10の位置を示す情報である位置情報を取得するセンサ(例えばGPS(Global Positioning System)センサ)、及び、方位及び姿勢を検出するジャイロセンサ等の各種のセンサを有する。
以下では、現実空間に存在する物体を「実物体」と称することがある。仮想オブジェクトは、実物体と対比される概念であり、例えば、画像や文字列や図形やその他の情報等である。画像は、静止画像、動画像、又は、これらの組み合わせである。
ARグラス10は、メガネ型の表示装置12と、ARグラス10を装着したユーザの視線方向の現実空間を撮影するカメラ14とを含む。以下では、カメラ14による撮影によって生成された画像を「撮影画像」と称する。メガネ型の表示装置12は、シースルー型の表示装置であってもよいし、非シースルー型の表示装置であってもよい。AR技術によって、表示装置12には、実物体に対して物体が仮想的に表示される。実物体に対して物体を仮想的に表示するとは、当該物体を表す画像の一例である仮想オブジェクトを、表示装置12の画面上で現実空間に重畳して表示することである。例えば、ユーザの両目の視差を考慮して、左目用の画面と右目用の画面とが生成され、左右それぞれの表示装置に表示される。ユーザが表示装置12を通して現実空間を眺めると、仮想オブジェクトが表す物体が現実空間上に実際に存在するかのように重畳して表示される。
ARグラス10の代わりに、AR技術が採用されたHMD(Head Mounted Display)や、MR技術が採用されたMRグラスやHMDが用いられてもよい。また、ARグラス10の代わりに、カメラを有する、スマートフォンや携帯電話やゲーム端末等の携帯端末が用いられてもよい。この場合、カメラによって現実空間が撮影され、携帯端末の画面上に仮想オブジェクトが現実空間の画像に重畳して表示されてもよい。
また、第1実施形態に係る情報処理システムは情報処理装置16を含む。情報処理装置16は、例えば、デスクトップ型又はノート型のパーソナルコンピュータ(以下、「PC」と称する)、タブレット端末、スマートフォン、ワークステーション、又は、サーバ等である。情報処理装置16は通信機能を有し、ARグラス10との間で情報を送受信する。なお、ARグラス10に情報処理装置16が組み込まれてもよい。
情報処理装置16は、例えば、通信装置18と、UI20と、メモリ22と、プロセッサ24とを含む。
通信装置18は、通信チップ等を有する通信インターフェース(例えばネットワークインターフェース等)であり、他の装置にデータを送信する機能、及び、他の装置から送信されてきたデータを受信する機能を有する。
UI20はユーザインターフェースであり、表示装置及び操作装置の中の少なくとも1つを含む。表示装置は、液晶ディスプレイやELディスプレイ等である。操作装置は、キーボードや入力キーや操作パネル等である。UI20は、表示装置と操作装置とを兼ね備えたタッチパネル等のUIであってもよい。
メモリ22は、データを記憶する1又は複数の記憶領域を構成する装置である。メモリ22は、例えば、ハードディスクドライブ、各種のメモリ(例えばRAMやDRAMやROM等)、その他の記憶装置(例えば光ディスク等)、又は、それらの組み合わせである。例えば、撮影画像や物体の画像や仮想オブジェクトがメモリ22に記憶される。
プロセッサ24は、情報処理装置16の各部の動作を制御するように構成されている。プロセッサ24は、メモリを含んでもよい。
例えば、プロセッサ24は、基準となる物体である第1基準物体と同一又は類似の物体である第2基準物体が認識された場合、第2基準物体に対して、第1基準物体と共に予め認識された第3物体を仮想的にARグラス10の表示装置12に表示させる。第1基準物体、第2基準物体及び第3物体は、実物体である。第3物体を仮想的に表示することは、第3物体を表す仮想オブジェクトを表示装置12の画面上で現実空間に重畳して表示することである。
例えば、プロセッサ24は、カメラ14による撮影によって生成された撮影画像に対して画像処理を実行することで、第1基準物体、第2基準物体及び第3物体を認識してもよいし、カメラ14以外の各種のセンサによって検出された結果に基づいて、第1基準物体、第2基準物体及び第3物体を認識してもよい。
第1基準物体と類似する第2基準物体は、例えば、第1基準物体の形状と類似する形状を有する物体であってもよいし、第1基準物体が有する機能と類似する機能を有する物体であってもよい。例えば、第1基準物体であるノート型PCと同等の機能を有するタブレット端末が、第1基準物体が有する機能と類似する機能を有する物体に該当する。また、第1基準物体と類似する第2基準物体は、第1基準物体と同一の種類の物体であってもよい。例えば、第1基準物体がノート型PCである場合、第1基準物体であるノート型PCとは異なる形状を有するノート型PCは、第1基準物体と同一の種類の物体に該当する。例えば、プロセッサ24は、カメラ14による撮影によって生成された撮影画像に対して画像処理を施すことで、その撮影画像に表されている物体の種類を認識する。ユーザが、撮影画像を参照して物体の種類を設定してもよい。
以下、本実施形態に係る情報処理システムによる処理の実施例について詳しく説明する。
(実施例1)
以下、実施例1について説明する。
図2を参照して、第1基準物体と第3物体のそれぞれの画像を取得する処理について説明する。図2には、その処理を示すフローチャートが示されている。
まず、ARグラス10のカメラ14によって撮影が行われ、プロセッサ24は、カメラ14によって撮影された第1基準物体の画像を取得する(S01)。プロセッサ24は、第1基準物体の画像をメモリ22に記憶させる。
ユーザが第1基準物体を選択してもよいし、プロセッサ24が、ユーザが注視している時間が最も長い物体を第1基準物体として認識してもよい。
以下、ユーザが第1基準物体を選択する例について説明する。
ユーザが、ジェスチャや音声やUI20の操作等によって基準物体選択モードの実行を指示すると、情報処理システムのモードが基準物体選択モードに移行する。カメラ14によって実物体が撮影され、プロセッサ24は、その撮影によって生成された撮影画像に基づいて、撮影された実物体を認識する。例えば、Vison api/framework等を利用した画像認識技術等によって、実物体が認識される。プロセッサ24は、その認識の結果を表示装置12に表示させる。図3には、その表示例が示されている。
図3に示されている表示画面32は、ユーザがARグラス10の表示装置12を通して見える画面である。ノート型PC26、付箋28及びマウス30は実物体であり、プロセッサ24は、ノート型PC26とマウス30を第1基準物体の候補として認識している。プロセッサ24は、第1基準物体の候補を指し示すマーク34,36を表示画面32上で現実空間に重畳して表示する。マーク34は、ノート型PC26を指し示す画像であり、マーク36は、マウス30を指し示す画像である。
ユーザは、ジェスチャや音声やUI20の操作等によって、認識された実物体の中から第1基準物体を選択する。プロセッサ24は、ユーザによって選択された実物体を第1基準物体として設定する。例えば、ノート型PC26がユーザによって選択されると、プロセッサ24は、ノート型PC26を第1基準物体として設定し、ノート型PC26の画像を第1基準物体の画像としてメモリ22に記憶させる。なお、プロセッサ24は、ここで設定された第1基準物体を、デフォルトの第1基準物体として設定してもよい。
なお、カメラ14によって撮影された実物体(例えば、ノート型PC26、付箋28及びマウス30)の画像が表示装置12に表示され、ユーザは、表示された画像の中から第1基準物体の画像を選択してもよい。プロセッサ24は、その選択された画像が表す実物体を第1基準物体として設定する。
別の例として、第1基準物体の画像が予めサーバ等に記憶されて、プロセッサ24は、その画像に基づいて第1基準物体を認識してもよい。例えば、第1基準物体の画像がサーバ等に予め記憶される。第1基準物体の画像には、当該第1基準物体を識別するための情報である識別情報が紐付けられる。プロセッサ24は、その識別情報に基づいて、第1基準物体を認識する。
また、プロセッサ24は、カメラ14によって撮影された第3物体の画像を取得する(S02)。プロセッサ24は、第1基準物体に接する物体を第3物体として認識してもよいし、第1基準物体に近接する物体(例えば、第1基準物体の位置から予め定められた距離の範囲内に存在する物体)を第3物体として認識してもよいし、ユーザによって選択された物体を第3物体として認識してもよいし、カメラ14の視界に存在し、第1基準物体以外の物体を第3物体として認識してもよい。プロセッサ24は、第3物体の画像をメモリ22に記憶させる。
次に、プロセッサ24は、カメラ14による撮影によって生成された撮影画像に基づいて、第1基準物体と第3物体との間の相対的な位置関係を特定する(S03)。例えば、第1基準物体と第3物体とが撮影画像に表されており、プロセッサ24は、当該撮影画像を解析することで、当該撮影画像上における第1基準物体と第3物体との間の相対的な位置関係を特定する。例えば、プロセッサ24は、撮影画像上において第1基準物体の位置を基準とした第3物体の相対的な位置を特定する。プロセッサ24は、その相対的な位置関係を示す情報(例えば、第1基準物体の位置を基準とした第3物体の相対的な位置を示す情報)をメモリ22に記憶させる。
次に、プロセッサ24は、第3物体の画像に基づいて、第3物体の仮想オブジェクトを生成する(S04)。第3物体に文字や記号等が記載されている場合、プロセッサ24は、第3物体の画像に対してOCR(Optical Character Recognition)等の文字認識処理を実行することで、文字や記号等を認識してもよい。第3物体の仮想オブジェクトは、第3物体の画像そのものであってもよいし、第3物体を模式的に表す画像であってもよい。プロセッサ24は、仮想オブジェクトをメモリ22に記憶させる。文字や記号等が認識された場合、プロセッサ24は、その認識の結果を含む仮想オブジェクトをメモリ22に記憶させる。
例えば、図3に示されている付箋28が第3物体として選択されると、プロセッサ24は、付箋28の仮想オブジェクトを生成する。また、プロセッサ24は、文字認識処理によって、付箋28に記載されている文字や記号等を認識し、その認識の結果を含む仮想オブジェクトを生成してもよい。
以下、図4を参照して、仮想オブジェクトを表示する処理について説明する。図4には、その処理を示すフローチャートが示されている。
まず、ARグラス10のカメラ14によって撮影が行われ、プロセッサ24は、カメラ14による撮影によって生成された撮影画像を解析することで、第1基準物体と同一の物体である第2基準物体がARグラス10の視界に存在するか否かを判断する。例えば、プロセッサ24は、撮影画像に対してパターンマッチング等の画像処理(例えばOpenCV等)を実行することで、当該撮影画像に第1基準物体と同一の第2基準物体が表されているか否かを判断する(つまり、第1基準物体と同一の第2基準物体がARグラス10の視界に存在するか否かを判断する)。第1基準物体の画像はメモリ22に記憶されており、プロセッサ24は、第1基準物体の画像を用いてパターンマッチング等の画像処理を撮影画像に対して実行することで、撮影画像に第1基準物体と同一の第2基準物体が表されているか否かを判断する。
第1基準物体と同一の第2基準物体がARグラス10の視界に存在しない場合(S10,No)、処理は終了する。
第1基準物体と同一の第2基準物体がARグラス10の視界に存在する場合(S10,Yes)、プロセッサ24は、第3物体がARグラス10の視界に存在するか否かを判断する。第3物体の画像はメモリ22に記憶されており、プロセッサ24は、第3物体の画像を用いてパターンマッチング等の画像処理を撮影画像に対して実行することで、撮影画像に第3物体が表されているか否かを判断する(つまり、第3物体がARグラス10の視界に存在するか否かを判断する)。
第3物体がARグラス10の視界に存在しない場合(S11,No)、プロセッサ24は、第1基準物体と第3物体との間の相対的な位置関係を、第2基準物体と仮想的に表示される第3物体との間の位置関係に反映させて、第3物体の仮想オブジェクトを表示装置12の画面上で現実空間に重畳して表示する(S12)。つまり、第3物体がARグラス10の視界に存在しない場合、第1基準物体と同一の第2基準物体と共に第3物体は認識されない。この場合、プロセッサ24は、第2基準物体に対して第3物体の仮想オブジェクトを表示する。より詳しく説明すると、プロセッサ24は、上述したステップS03にて特定された、第1基準物体と第3物体との間の相対的な位置関係に基づいて、現実空間においてARグラス10の視界に存在する第2基準物体(つまり第1基準物体と同一の物体)の位置を基準として、表示装置12の画面上で、第3物体の仮想オブジェクトが表示される相対的な位置を決定する。そして、プロセッサ24は、表示装置12の画面上にて、その相対的な位置に第3物体の仮想オブジェクトを表示する。なお、プロセッサ24は、ユーザの指示(例えばジェスチャや音声等)に従って、仮想オブジェクトを非表示にしたり、画面から削除したりしてもよい。
第3物体がARグラス10の視界に存在する場合(S11,Yes)、プロセッサ24は、仮想オブジェクトを表示せず、当該第3物体の内容と、第3物体の仮想オブジェクトの内容との間に差異があるか否かを判断する。つまり、第3物体がARグラス10の視界に存在して第2基準物体と共に認識された場合、プロセッサ24は、仮想オブジェクトを表示しない。プロセッサ24は、第2基準物体と共に撮影されて認識された第3物体の内容と、上述したステップS02にて第1基準物体と共に撮影されて認識された第3物体の仮想オブジェクトの内容との間に差異があるか否かを判断する。
その差異がない場合(S13,No)、処理は終了する。
その差異がある場合(S13,Yes)、プロセッサ24は、その旨をユーザに通知する(S14)。例えば、プロセッサ24は、その旨を示す情報を表示装置12に表示させてもよいし、UI20の表示装置に表示させてもよい。その差異が予め定められた閾値以上の場合に、プロセッサ24は、差異がある旨をユーザに通知してもよい。例えば、第3物体が付箋であり、第1基準物体と共に付箋が撮影された時点から第2基準物体と共に付箋が撮影されるまでの間に、付箋に追記等があった場合、プロセッサ24は、差異があると判断し、その旨をユーザに通知する。また、形状に差異がある場合に、プロセッサ24は、差異がある旨をユーザに通知してもよい。
通知を受けたユーザは、第3物体の仮想オブジェクトを表示するか否かを選択してもよい。ユーザが、ジェスチャや音声やUI20の操作等によって、仮想オブジェクトを表示することを指示した場合、プロセッサ24は、ステップS12の処理と同様に、第3物体の仮想オブジェクトを表示する。
なお、プロセッサ24は、第3物体の仮想オブジェクトを表示する前に、差異がある旨をユーザに通知してもよいし、第3物体の仮想オブジェクトを表示した後に、差異がある旨をユーザに通知してもよいし、第3物体の仮想オブジェクトの表示と同時に、差異がある旨をユーザに通知してもよい。第3物体の仮想オブジェクトを表示する前に、差異がある旨をユーザに通知することで、ユーザは、その差異の内容を確認してから、仮想オブジェクトを表示するか否かを決定することができる。仮想オブジェクトを表示した後に、又は、仮想オブジェクトと同時に、差異がある旨をユーザに通知することで、第3物体の内容に変化があったことをユーザは気付き易くなる。
以下、差異がある場合の処理について詳しく説明する。
第3物体の仮想オブジェクトが単数の場合、つまり、第3物体の数が1つであり、その第3物体の仮想オブジェクトが生成されている場合、プロセッサ24は、当該第3物体の名称等を表示装置12に表示させ、当該第3物体の仮想オブジェクトを表示するか否かをユーザに問い合わせるメッセージを表示装置12に表示させる。ユーザが表示を指示した場合(例えば「OK」を選択した場合)、プロセッサ24は、仮想オブジェクトを表示装置12に表示させる。ユーザがキャンセルを指示した場合、プロセッサ24は、仮想オブジェクトを表示装置12に表示させない。OKやキャンセルは、例えば、ジェスチャや音声やUI20の操作等によって指示されてもよい。
複数の第3物体が存在する場合、プロセッサ24は、複数の第3物体の一覧を表示装置12に表示させる。例えば図5に示すように、その一覧38が表示画面32に表示される。ユーザが一覧38から第3物体を選択して表示を指示した場合(例えば「OK」を選択した場合)、プロセッサ24は、選択された第3物体の仮想オブジェクトを表示装置12に表示させる。仮想オブジェクトの選択やOKの指示は、例えば、ジェスチャや音声やUI20の操作等によって行われてもよい。
なお、第1基準物体と共に複数の第3物体が撮影されて認識され、第2基準物体が撮影されて認識されたときに当該複数の第3物体がARグラス10の視界に存在しない場合(S11,No)、プロセッサ24は、仮想的に表示される第3物体を選択するための一覧(例えば一覧38)を表示画面32に表示してもよい。プロセッサ24は、選択された第3物体の仮想オブジェクトを表示装置12に表示させる。
(実施例2)
以下、実施例2について説明する。
図6を参照して、第1基準物体と第3物体のそれぞれの画像を取得する処理について説明する。図6には、その処理を示すフローチャートが示されている。
まず、上述したステップS01と同様に、ARグラス10のカメラ14によって撮影が行われ、プロセッサ24は、カメラ14によって撮影された第1基準物体の画像を取得する(S20)。実施例1と同様に、ユーザが第1基準物体を選択してもよいし、プロセッサ24が、ユーザが注視ている時間が最も長い物体を第1基準物体として認識してもよい。第1基準物体の画像は、メモリ22に記憶される。
次に、プロセッサ24は、第1基準物体の画像に基づいて、第1基準物体の種類を特定する(S21)。例えば、Vison api/framework等を利用した画像認識技術等によって第1基準物体が認識されて、第1基準物体の種類が特定される。具体的には、ノート型PC、デスクトップ型PC、タブレットPC、又は、机等が、第1基準物体の種類として特定される。第1基準物体の種類を示す情報は、第1基準物体の画像に紐付けられてメモリ22に記憶される。
次に、プロセッサ24は、ARグラス10のユーザを識別するためのユーザIDと第1基準物体とを紐付ける(S22)。ARグラス10のユーザは、例えば、ARグラス10や情報処理装置16やクラウドサービス等にログインしているユーザである。例えば、ユーザIDは、第1基準物体の画像に紐付けられてメモリ22に記憶される。なお、ユーザIDは、サーバ等によって管理されてもよい。
また、上述したステップS02と同様に、プロセッサ24は、カメラ14によって撮影された第3物体の画像を取得する(S23)。プロセッサ24は、第3物体の画像をメモリ22に記憶させる。
次に、上述したステップS03と同様に、プロセッサ24は、カメラ14による撮影によって生成された撮影画像に基づいて、第1基準物体と第3物体との間の相対的な位置関係を特定する(S24)。その相対的な位置関係を示す情報は、メモリ22に記憶される。
次に、上述したステップS04と同様に、プロセッサ24は、第3物体の画像に基づいて、第3物体の仮想オブジェクトを生成する(S25)。仮想オブジェクトはメモリ22に記憶される。
以下、図7を参照して、仮想オブジェクトを表示する処理について説明する。図7には、その処理を示すフローチャートが示されている。
ユーザがログインしており、ARグラス10を装着している場合、以下の処理が実行される。ここでのログインは、例えば、ARグラス10、情報処理装置16又はクラウドサービス等へのログインである。
ARグラス10のカメラ14によって撮影が行われ、プロセッサ24は、カメラ14による撮影によって生成された撮影画像を解析することで、第1基準物体と同じ種類の物体である第2基準物体がARグラス10の視界に存在するか否かを判断する。第1基準物体と同じ種類の物体である第2基準物体は、第1基準物体に類似する物体の一例である。例えば、プロセッサ24は、撮影画像に対してパターンマッチング等の画像処理(例えばOpenCV等)を実行することで、当該撮影画像に第1基準物体と同じ種類の物体である第2基準物体が表されているか否かを判断する(つまり、第1基準物体と同じ種類の第2基準物体がARグラス10の視界に存在するか否かを判断する)。第1基準物体の画像、及び、第1基準物体の種類を示す情報は、メモリ22に記憶されており、プロセッサ24は、第1基準物体の画像を用いてパターンマッチング等の画像処理を撮影画像に対して実行することで、撮影画像に第1基準物体と同じ種類の第2基準物体が表されているか否かを判断する。
第1基準物体と同一の種類の第2基準物体が、ARグラス10の視界に存在しない場合(S30,No)、処理は終了する。
第1基準物体と同一の種類の第2基準物体が、ARグラス10の視界に存在する場合(S30,Yes)、上述したステップS11と同様に、プロセッサ24は、第3物体がARグラス10の視界に存在するか否かを判断する。第3物体の画像はメモリ22に記憶されており、プロセッサ24は、第3物体の画像を用いてパターンマッチング等の画像処理を撮影画像に対して実行することで、撮影画像に第3物体が表されているか否かを判断する(つまり、第3物体がARグラス10の視界に存在するか否かを判断する)。
第3物体がARグラス10の視界に存在しない場合(S31,No)、プロセッサ24は、第1基準物体と同一の種類の第2基準物体を第1基準物体とみなして、位置関係の補正処理を実行し(S32)、第1基準物体と第3物体との間の相対的な位置関係を、第2基準物体と仮想的に表示される第3物体との間の相対的な位置関係に反映させて、第3物体の仮想オブジェクトを表示装置12の画面上で現実空間に重畳して表示する(S33)。つまり、第3物体がARグラス10の視界に存在しない場合、第1基準物体と同じ種類の第2基準物体と共に第3物体は認識されない。この場合、プロセッサ24は、第2基準物体に対して第3物体の仮想オブジェクトを表示する。補正処理は、第1基準物体の大きさと第2基準物体の大きさとの比率に応じて、第3物体の仮想オブジェクトの大きさを変えて、かつ、第2基準物体に対する第3物体の仮想オブジェクトの表示位置を変える処理である。この仮想処理の具体例については後で詳しく説明する。
第3物体がARグラス10の視界に存在する場合(S31,Yes)、プロセッサ24は、当該第3物体の内容と、第3物体の仮想オブジェクトの内容との間に差異があるか否かを判断する。
その差異がない場合(S34,No)、処理は終了する。
その差異がある場合(S34,Yes)、プロセッサ24は、上述したステップS14と同様に、その旨をユーザに通知する(S35)。実施例1と同様に、通知を受けたユーザは、第3物体の仮想オブジェクトの表示を指示してもよい。仮想オブジェクトの表示がユーザによって指示された場合、プロセッサ24は、第3物体の仮想オブジェクトを表示する。
例えば、第1基準物体がPC(A)であり、第2基準物体がノート型PC(B)である場合、第2基準物体は第1基準物体と同一の物体ではないが、第1基準物体と同一の種類の物体である。したがって、第2基準物体であるノート型PC(B)がARグラス10の視界に存在し、第3物体がARグラス10の視界に存在しない場合、第3物体の仮想オブジェクトが現実空間に重畳して表示される。
(実施例3)
以下、実施例3について説明する。
図8を参照して、第1基準物体と第3物体のそれぞれの画像を取得する処理について説明する。図8には、その処理を示すフローチャートが示されている。
まず、上述したステップS01と同様に、ARグラス10のカメラ14によって撮影が行われ、プロセッサ24は、カメラ14によって撮影された第1基準物体の画像を取得する(S40)。実施例3では、プロセッサ24は、複数の第1基準物体の画像を取得する。各第1基準物体の画像は、メモリ22に記憶される。
以下、複数の第1基準物体の画像を取得する処理について詳しく説明する。ユーザが複数の第1基準物体を選択してもよいし、プロセッサ24が、ユーザが注視している時間が長い順に各物体を第1基準物体として認識してもよい。
以下、ユーザが複数の基準物体を選択する例について説明する。
ユーザが、ジェスチャや音声やUI20の操作等によって基準物体選択モードの実行を指示すると、情報処理システムのモードが基準物体選択モードに移行する。そして、カメラ14によって実物体が撮影され、プロセッサ24は、その撮影によって生成された撮影画像に基づいて、撮影された実物体を認識する。例えば、画像認識技術等によって、実物体が認識される。プロセッサ24は、その認識の結果を表示装置12に表示させる。図9には、その表示例が示されている。
図9に示されている表示画面32は、ユーザがARグラス10の表示装置12を通して見える画面である。ノート型PC26、付箋28及びマウス30は実物体であり、プロセッサ24は、ノート型PC26、マウス30、及び、ノート型PC26の一部の構成であるキーボードを、第1基準物体の候補として認識している。プロセッサ24は、第1基準物体の候補を指し示すマーク34,36,40を表示画面32上で現実空間に重畳して表示する。マーク34は、ノート型PC26を指し示す画像であり、マーク36は、マウス30を指し示す画像であり、マーク40は、ノート型PC26のキーボードを指し示す画像である。
ユーザは、ジェスチャや音声やUI20の操作等によって、認識された実物体の中から第1基準物体を選択する。プロセッサ24は、ユーザによって選択された実物体を第1基準物体として設定する。例えば、ノート型PC26がユーザによって選択されると、プロセッサ24は、ノート型PC26を第1基準物体として設定し、ノート型PC26の画像を第1基準物体の画像としてメモリ22に記憶させる。ユーザは、更に別の実物体を第1基準物体として選択することができる。例えば、ノート型PC26のキーボードとマウス30がそれぞれユーザによって選択されると、プロセッサ24は、ノート型PC26のキーボードとマウス30をそれぞれ第1基準物体として設定し、ノート型PC26のキーボードの画像とマウス30の画像をそれぞれ第1基準物体の画像としてメモリ22に記憶させる。プロセッサ24は、この選択の順番を、第1基準物体の優先順位として設定してもよい。
ユーザが、ジェスチャや音声やUI20の操作等によって基準物体選択モードの終了を指示すると、基準物体選択モードは終了する。そして、上記のようにして選択された複数の実物体がそれぞれ第1基準物体として設定される。
次に、プロセッサ24は、複数の第1基準物体のそれぞれの優先順位を決定する(S41)。ユーザが各第1基準物体の優先順位を指定してもよいし、プロセッサ24が、ユーザが注視している時間が長い順に各第1基準物体の優先順位を決定してもよい。
また、上述したステップS02と同様に、プロセッサ24は、カメラ14によって撮影された第3物体の画像を取得する(S42)。プロセッサ24は、第3物体の画像をメモリ22に記憶させる。
次に、上述したステップS03と同様に、プロセッサ24は、カメラ14による撮影によって生成された撮影画像に基づいて、第1基準物体と第3物体との間の相対的な位置関係を特定する(S43)。その相対的な位置関係を示す情報は、メモリ22に記憶される。実施例3では複数の第1基準物体が設定されているため、プロセッサ24は、第1基準物体毎に、第1基準物体と第3物体との間の相対的な位置関係を特定する。
次に、上述したステップS04と同様に、プロセッサ24は、第3物体の画像に基づいて、第3物体の仮想オブジェクトを生成する(S44)。仮想オブジェクトはメモリ22に記憶される。
以下、図10を参照して、仮想オブジェクトを表示する処理について説明する。図10には、その処理を示すフローチャートが示されている。
ARグラス10のカメラ14によって撮影が行われ、プロセッサ24は、カメラ14による撮影によって生成された撮影画像を解析することで、複数の第1基準物体の中の少なくとも1つの第1基準物体と同一の物体である第2基準物体が、ARグラス10の視界に存在するか否かを判断する。
第1基準物体と同一の第2基準物体が1つもARグラス10の視界に存在しない場合(S50,No)、処理は終了する。
少なくとも1つの第1基準物体と同一の第2基準物体がARグラス10の視界に存在する場合(S50,Yes)、プロセッサ24は、ステップS41にて決定された優先順位に従って、以降の処理で利用する第2基準物体を決定する(S51)。例えば、プロセッサ24は、優先順位の高い第1基準物体と同一の物体を、以降の処理で利用する第2基準物体として決定する。
次に、上述したステップS11と同様に、プロセッサ24は、第3物体がARグラス10の視界に存在するか否かを判断する。
第3物体がARグラス10の視界に存在しない場合(S52,No)、上述したステップS12と同様に、プロセッサ24は、ステップS51にて決定された第2基準物体に対して、第3物体の仮想オブジェクトを表示する。
第3物体がARグラス10の視界に存在する場合(S52,Yes)、上述したステップS13と同様に、プロセッサ24は、当該第3物体の内容と、第3物体の仮想オブジェクトの内容との間に差異があるか否かを判断する。
その差異がない場合(S54,No)、処理は終了する。
その差異がある場合(S54,Yes)、上述したステップS14と同様に、プロセッサ24は、その旨をユーザに通知する(S55)。実施例1と同様に、通知を受けたユーザは、第3物体の仮想オブジェクトの表示を指示してもよい。仮想オブジェクトの表示がユーザによって指示された場合、プロセッサ24は、第3物体の仮想オブジェクトを表示する。
なお、プロセッサ24は、複数の第1基準物体の中の少なくとも1つの第1基準物体と類似の物体である第2基準物体が、ARグラス10の視界に存在するか否かを判断してもよい。第1基準物体に類似する第2基準物体が、ARグラス10の視界に存在する場合、位置関係の補正処理を実行し、第2基準物体に対して第3物体の仮想オブジェクトを表示する。
以下、図11及び図12を参照して、第1実施形態の具体例について説明する。図11には、現実空間に存在する物体である実物体が模式的に示されている。ここでは一例として、ARグラス10、ノート型PC26及び付箋28が、実物体として示されている。図12には、ARグラス10の表示画面32が示されている。
図11に示すように、例えば、ARグラス10のカメラ14によって、ノート型PC26と付箋28とが撮影される。ノート型PC26には付箋28が接して設けられている。ノート型PC26が第1基準物体として認識され、ノート型PC26の画像がメモリ22に記憶される。また、付箋28が第3物体として認識され、付箋28の画像がメモリ22に記憶され、付箋28の仮想オブジェクトが生成され、その仮想オブジェクトがメモリ22に記憶される。例えば、ユーザによってノート型PC26が第1基準物体として指定され、付箋28が第3物体として指定される。
図12に示すように、例えば、ユーザが移動する等して、ARグラス10の視界にノート型PC42が存在し、ノート型PC42がカメラ14によって撮影されたものとする。ノート型PC42は実物体である。ノート型PC42は、第1基準物体であるノート型PC26とは異なる物体であるが、ノート型PC26と同じ種類の物体、つまり、ノート型PC26に類似する物体である。ノート型PC42には付箋28が接して設けられていない。ノート型PC42は、ノート型PC26と同じ種類の物体であるため、プロセッサ24は、ノート型PC42を第2基準物体として認識する。ノート型PC42に付箋28が接して設けられていないため、つまり、第3物体である付箋28がARグラス10の視界に存在しないため、プロセッサ24は、付箋28の仮想オブジェクト44を表示画面32に表示する。このとき、プロセッサ24は、上述したステップS32の補正処理を実行することで、ノート型PC26と付箋28との間の相対的な位置関係を、ノート型PC42と仮想オブジェクト44との間の相対的な位置関係に反映させる。
以下、図13及び図14を参照して、補正処理について詳しく説明する。図13には、現実空間に存在する物体である実物体が模式的に示されている。ここでは一例として、第1基準物体であるノート型PC26と、第3物体である付箋28が、実物体として示されている。図14には、実物体と仮想オブジェクトが模式的に示されている。ここでは、一例として、第2基準物体であるノート型PC42と、付箋28の仮想オブジェクト44が示されている。ARグラス10のカメラ14によって、第2基準物体であるノート型PC42が撮影されて、付箋28の仮想オブジェクト44がノート型PC42に対して表示される。付箋28は、ノート型PC26のディスプレイに接して設けられている。
まず、カメラ14によってノート型PC26と付箋28が撮影され、プロセッサ24は、その撮影によって生成された撮影画像から、付箋28が接して設けられている箇所(例えば、ノート型PC26のディスプレイ)の形状(例えば矩形)を抽出し、付箋28の形状(例えば矩形)を抽出する。
次に、プロセッサ24は、ノート型PC26と付箋28とを表す撮影画像上において、ノート型PC26のディスプレイと付箋28のそれぞれに対して基準点を設定する。例えば、ディスプレイの右側に付箋28が設けられている場合、プロセッサ24は、ディスプレイの右上頂点を基準点A1として設定し、付箋28の左上頂点を基準点B1(x1,y1)として設定する。基準点B1の座標x1は、基準点A1を原点とした場合のx軸上の座標であり、基準点B1の座標y1は、基準点A1を原点とした場合のy軸上の座標である。なお、x軸及びy軸は互いに直交し、撮影画像上に定義される座標である。
また、プロセッサ24は、ノート型PC26と付箋28とを表す撮影画像に基づいて、ノート型PC26のディスプレイのY軸の長さL1と、ディスプレイのX軸の長さL2とを算出する。
次に、カメラ14によってノート型PC42が撮影され、プロセッサ24は、その撮影によって生成された撮影画像上において、ノート型PC42の基準点を設定する。例えば、プロセッサ24は、ノート型PC42のディスプレイの右上頂点を基準点A2として設定する。
また、プロセッサ24は、ノート型PC42を表す撮影画像に基づいて、ノート型PC42のディスプレイのY軸の長さL3と、ディスプレイのX軸の長さL4とを算出する。
次に、プロセッサ24は、以下の式に従って、基準点A2を原点とした場合の仮想オブジェクトの基準点B2(x2,y2)を算出する。基準点B2は、付箋28の基準点B1に対応する基準点である。
x2=L3/L1×x1
y2=L4/L2×y1
ここで、基準点B2の座標x2は、基準点A2を原点とした場合のx軸上の座標であり、基準点B2の座標y2は、基準点A2を原点とした場合のy軸上の座標である。
また、プロセッサ24は、位置関係と同様に、第1基準物体と第3物体との間の相対的な大きさの関係を、第2基準物体と仮想的に表示されている第3物体(つまり仮想オブジェクト)との間の相対的な大きさの関係に反映させてもよい。上記の具体例を用いて説明すると、プロセッサ24は、基準点B2を左上端として、付箋28の大きさのα倍の大きさを有する仮想オブジェクト44を表示画面32に表示する。
αは、(L4/L2)及び(L3/L1)のうちの小さい方の値である。
αをこのように定義することで、第1基準物体と第3物体との間の相対的な大きさの関係が維持されつつ、第2基準物体に対して仮想オブジェクトが表示される。
また、第3物体の大きさが閾値未満である場合、プロセッサ24は、第1基準物体と第3物体との間の相対的な大きさの関係を、第2基準物体と第3物体の仮想オブジェクトとの間の相対的な大きさの関係に反映させなくてもよい。この場合、プロセッサ24は、予め定められた最小限の大きさを有する仮想オブジェクトを表示してもよいし、撮影された第3物体の大きさの絶対値を有する仮想オブジェクトを表示してもよい。
<第2実施形態>
以下、図15を参照して、第2実施形態に係る情報処理システムについて説明する。図15には、第2実施形態に係る情報処理システムのハードウェアの構成の一例が示されている。
第2実施形態に係る情報処理システムは、ARグラス10と情報処理装置16に加えて、更に、カメラ46とサーバ48とを含む。なお、情報処理装置16はARグラス10に組み込まれてもよいし、サーバ48に組み込まれてもよい。カメラ46は、例えば、予め定められた場所に設置された定点観測用のカメラである。
以下、図16を参照して、第1基準物体と第3物体のそれぞれの画像を取得する処理について説明する。図16には、その処理を示すフローチャートが示されている。
まず、カメラ46とユーザIDとが紐付けられて、サーバ48にて管理される(S60)。この紐付けは予め行われる。なお、その紐付けは情報処理装置16にて管理されてもよい。
次に、カメラ46によって第1基準物体が撮影され、第1基準物体の画像が取得される(S61)。例えば、第1基準物体の画像は、サーバ48に記憶される。なお、第1基準物体の画像は、情報処理装置16のメモリ22に記憶されてもよい。
次に、プロセッサ24は、第1基準物体の画像に基づいて、第1基準物体の種類を特定する(S62)。第1基準物体の画像がサーバ48に記憶されている場合、プロセッサ24は、サーバ48から第1基準物体の画像を取得して、第1基準物体の種類を特定する。プロセッサ24は、その種類を示す情報をユーザIDに紐付ける。その種類を示す情報は、サーバ48に記憶されてもよいし、情報処理装置16のメモリ22に記憶されてもよい。
次に、カメラ46によって第3物体が撮影され、第3物体の画像が取得される(S63)。第3物体の画像は、サーバ48に記憶されてもよいし、情報処理装置16のメモリ22に記憶されてもよい。また、第3物体の画像に基づいて、第3物体の仮想オブジェクトが生成される。その生成処理は、プロセッサ24によって実行されてもよいし、サーバ48によって実行されてもよい。仮想オブジェクトはサーバ48に記憶される。
次に、プロセッサ24は、カメラ46による撮影によって生成された撮影画像を取得し、その撮影画像に基づいて、第1基準物体と第3物体との間の相対的な位置関係を特定する(S64)。
各情報(例えば撮影画像、第1基準物体の画像、第3物体の画像、仮想オブジェクト、及び、相対的な位置関係を示す情報)は、例えば定期的にサーバ48に送信されて記憶される(S65)。
以下、図17を参照して、仮想オブジェクトを表示する処理について説明する。図17には、その処理を示すフローチャートが示されている。
ユーザがログインしており、ARグラス10を装着している場合、以下の処理が実行される。ここでのログインは、例えば、ARグラス10、情報処理装置16又はサーバ48等へのログインである。
ARグラス10のカメラ14によって撮影が行われ、プロセッサ24は、カメラ14による撮影によって生成された撮影画像を解析することで、第1基準物体と同じ種類の物体である第2基準物体がARグラス10の視界に存在するか否かを判断する。
第1基準物体と同一の種類の第2基準物体が、ARグラス10の視界に存在しない場合(S70,No)、処理は終了する。
第1基準物体と同一の種類の第2基準物体が、ARグラス10の視界に存在する場合(S70,Yes)、プロセッサ24は、サーバ48から仮想オブジェクトを取得する(S71)。
第3物体がARグラス10の視界に存在しない場合(S72,No)、プロセッサ24は、第1基準物体と同一の種類の第2基準物体を第1基準物体とみなして、上述したステップS32と同様に、位置関係の補正処理を実行する(S73)。そして、プロセッサ24は、第1基準物体と第3物体との間の相対的な位置関係を、第2基準物体と仮想オブジェクトとの間の相対的な位置関係に反映させて、仮想オブジェクトを表示装置12の画面上で現実空間に重畳して表示する(S74)。
第3物体がARグラス10の視界に存在する場合(S72,Yes)、プロセッサ24は、当該第3物体の内容と、第3物体の仮想オブジェクトの内容との間に差異があるか否かを判断する。
その差異がない場合(S75,No)、処理は終了する。
その差異がある場合(S75,Yes)、プロセッサ24は、上述したステップS14と同様に、その旨をユーザに通知する(S76)。実施例1と同様に、通知を受けたユーザは、第3物体の仮想オブジェクトの表示を指示してもよい。仮想オブジェクトの表示がユーザによって指示された場合、プロセッサ24は、第3物体の仮想オブジェクトを表示する。
以下、図18及び図19を参照して、第2実施形態の具体例について説明する。図18には、現実空間に存在する物体である実物体が模式的に示されている。ここでは一例として、カメラ46、ノート型PC26、付箋28、机50及び用紙52が、実物体として示されている。図19には、ARグラス10の表示画面32が示されている。
図18に示すように、例えば、カメラ46によって、ノート型PC26、付箋28、机50及び用紙52が撮影される。この撮影場所は、例えばオフィスのデスクである。ノート型PC26には付箋28が接して設けられている。用紙52は、ノート型PC26に接触していないが、ノート型PC26の周囲に設けられている。例えば、ノート型PC26が第1基準物体として認識され、ノート型PC26の画像がサーバ48に記憶される。また、付箋28及び用紙52がそれぞれ第3物体として認識され、付箋28及び用紙52のそれぞれの画像がサーバ48に記憶される。また、付箋28及び用紙52のそれぞれの仮想オブジェクトが生成され、各仮想オブジェクトがサーバ48に記憶される。例えば、ユーザによってノート型PC26が第1基準物体として指定され、付箋28及び用紙52のそれぞれが第3物体として指定される。
図19に示すように、例えば、ユーザが自宅やカフェ等にてARグラス10を装着し、ARグラス10の視界にノート型PC42が存在し、ノート型PC42がARグラス10のカメラ14によって撮影されたものとする。ノート型PC42は実物体である。ノート型PC42は、第1基準物体であるノート型PC26とは異なる物体であるが、ノート型PC26と同じ種類の物体である。ノート型PC42には付箋28が接して設けられておらず、ノート型PC42の周囲に用紙52が設けられていない。ノート型PC42は、ノート型PC26と同じ種類の物体であるため、プロセッサ24は、ノート型PC42を第2基準物体として認識する。ノート型PC42に付箋28が接して設けられていないため、つまり、第3物体である付箋28がARグラス10の視界に存在しないため、プロセッサ24は、付箋28の仮想オブジェクト44を表示画面32に表示する。このとき、プロセッサ24は、上述した補正処理を実行することで、ノート型PC26と付箋28との間の相対的な位置関係を、ノート型PC42と仮想オブジェクト44との間の相対的な位置関係に反映させる。同様に、第3物体である用紙52がARグラス10の視界に存在しないため、プロセッサ24は、用紙52の仮想オブジェクト54を表示画面32に表示する。このとき、プロセッサ24は、上述した補正処理を実行することで、ノート型PC26と用紙52との間の相対的な位置関係を、ノート型PC42と仮想オブジェクト54との間の相対的な位置関係に反映させる。
上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU: Central Processing Unit、等)や、専用のプロセッサ(例えばGPU: Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA: Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。また上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
10 ARグラス、12 表示装置、14 カメラ、16 情報処理装置。

Claims (13)

  1. プロセッサを有し、
    前記プロセッサは、
    基準となる物体である第1基準物体と同一又は類似の物体である第2基準物体が認識された場合、前記第2基準物体に対して、前記第1基準物体と共に予め認識された第3物体を仮想的に表示する、
    情報処理装置。
  2. 前記プロセッサは、
    前記第1基準物体と前記第3物体との間の相対的な位置関係を、前記第2基準物体と仮想的に表示されている前記第3物体との間の相対的な位置関係に反映させる、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記プロセッサは、
    前記第1基準物体と前記第3物体との間の相対的な大きさの関係を、前記第2基準物体と仮想的に表示されている前記第3物体との間の相対的な大きさの関係に反映させる、
    ことを特徴とする請求項1又は請求項2に記載の情報処理装置。
  4. 前記プロセッサは、
    前記第3物体の大きさが閾値未満である場合、前記第1基準物体と前記第3物体との間の相対的な大きさの関係を、前記第2基準物体と仮想的に表示されている前記第3物体との間の相対的な大きさの関係に反映させない、
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記第3物体は、前記第1基準物体に接している物体である、
    ことを特徴とする請求項1から請求項4のいずれか一項に記載の情報処理装置。
  6. 前記プロセッサは、
    前記第2基準物体と共に前記第3物体が認識されない場合、前記第2基準物体に対して仮想的に前記第3物体を表示する、
    ことを特徴とする請求項1から請求項5のいずれか一項に記載の情報処理装置。
  7. 前記プロセッサは、
    前記第2基準物体と共に前記第3物体が認識された場合、前記第2基準物体に対して仮想的に前記第3物体を表示しない、
    ことを特徴とする請求項1から請求項5のいずれか一項に記載の情報処理装置。
  8. 前記プロセッサは、
    前記第2基準物体と共に認識された前記第3物体の内容が、前記第1基準物体と共に認識された前記第3物体の内容と異なっている場合、その旨をユーザに通知する、
    ことを特徴とする請求項1から請求項7のいずれか一項に記載の情報処理装置。
  9. 前記プロセッサは、
    前記第3物体を仮想的に表示する前に、前記第2基準物体と共に認識された前記第3物体の内容が、前記第1基準物体と共に認識された前記第3物体の内容と異なっている旨を通知し、
    仮想的に前記第3物体を表示することがユーザから指示された場合、前記第2基準物体に対して仮想的に前記第3物体を表示する、
    ことを特徴とする請求項8に記載の情報処理装置。
  10. 前記第1基準物体と類似する第2基準物体は、前記第1基準物体と同一の種類の物体である、
    ことを特徴とする請求項1から請求項9のいずれか一項に記載の情報処理装置。
  11. 前記第3物体は、複数の第1基準物体と共に予め認識され、
    前記プロセッサは、
    前記複数の第1基準物体の中の少なくとも1つの第1基準物体と同一又は類似の第2基準物体が認識された場合、前記第2基準物体に対して仮想的に前記第3物体を表示する、
    ことを特徴とする請求項1から請求項10のいずれか一項に記載の情報処理装置。
  12. 前記プロセッサは、
    前記第1基準物体と共に複数の第3物体が認識された場合において、前記第1基準物体と同一又は類似の前記第2基準物体が認識された場合、仮想的に表示される第3物体を選択するための前記複数の第3物体の一覧を表示する、
    ことを特徴とする請求項1から請求項11のいずれか一項に記載の情報処理装置。
  13. コンピュータに、
    基準となる物体である第1基準物体と同一又は類似の物体である第2基準物体が認識された場合、前記第2基準物体に対して、前記第1基準物体と共に予め認識された第3物体を仮想的に表示させる、
    プログラム。
JP2020039187A 2020-03-06 2020-03-06 情報処理装置及びプログラム Pending JP2021140085A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020039187A JP2021140085A (ja) 2020-03-06 2020-03-06 情報処理装置及びプログラム
US17/060,410 US11093804B1 (en) 2020-03-06 2020-10-01 Information processing apparatus and non-transitory computer readable medium storing program
US17/375,507 US20210342657A1 (en) 2020-03-06 2021-07-14 Information processing apparatus and non-transitory computer readble medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020039187A JP2021140085A (ja) 2020-03-06 2020-03-06 情報処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2021140085A true JP2021140085A (ja) 2021-09-16

Family

ID=77273943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020039187A Pending JP2021140085A (ja) 2020-03-06 2020-03-06 情報処理装置及びプログラム

Country Status (2)

Country Link
US (2) US11093804B1 (ja)
JP (1) JP2021140085A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220045799A (ko) 2020-10-06 2022-04-13 삼성전자주식회사 전자 장치 및 그 동작 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5158007B2 (ja) 2009-04-28 2013-03-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
JP5263049B2 (ja) 2009-07-21 2013-08-14 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
KR101347518B1 (ko) * 2010-08-12 2014-01-07 주식회사 팬택 필터의 선택이 가능한 증강 현실 사용자 장치 및 방법, 그리고, 증강 현실 서버
US20120113223A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
US9595115B1 (en) * 2011-09-19 2017-03-14 Amazon Technologies, Inc. Visualizing change in augmented reality environments
JP5510529B2 (ja) 2012-11-16 2014-06-04 ソニー株式会社 情報処理装置、記憶媒体、情報処理システム、および情報処理方法、並びにプログラム
US10359841B2 (en) * 2013-01-13 2019-07-23 Qualcomm Incorporated Apparatus and method for controlling an augmented reality device
JP5472509B2 (ja) 2013-04-11 2014-04-16 ソニー株式会社 情報処理装置、および情報処理方法、並びに情報記録媒体
US9824437B2 (en) * 2015-12-11 2017-11-21 Daqri, Llc System and method for tool mapping
US10120437B2 (en) * 2016-01-29 2018-11-06 Rovi Guides, Inc. Methods and systems for associating input schemes with physical world objects
US20180255285A1 (en) * 2017-03-06 2018-09-06 Universal City Studios Llc Systems and methods for layered virtual features in an amusement park environment
WO2019133849A1 (en) * 2017-12-29 2019-07-04 Ebay Inc. Computer vision and image characteristic search
US10872459B2 (en) * 2019-02-05 2020-12-22 X Development Llc Scene recognition using volumetric substitution of real world objects
US11042747B2 (en) * 2019-10-02 2021-06-22 Disney Enterprises, Inc. Masking method for augmented reality effects
US11574392B2 (en) * 2020-02-27 2023-02-07 Adobe Inc. Automatically merging people and objects from multiple digital images to generate a composite digital image

Also Published As

Publication number Publication date
US20210342657A1 (en) 2021-11-04
US11093804B1 (en) 2021-08-17
US20210279531A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
US10832448B2 (en) Display control device, display control method, and program
US11630519B2 (en) Augmented reality head gesture recognition systems
US9940720B2 (en) Camera and sensor augmented reality techniques
US9024842B1 (en) Hand gestures to signify what is important
US10642348B2 (en) Display device and image display method
JP2017199379A (ja) 追従表示システム、追従表示プログラム、および追従表示方法、ならびにそれらを用いたウェアラブル機器、ウェアラブル機器用の追従表示プログラム、およびウェアラブル機器の操作方法
US10372229B2 (en) Information processing system, information processing apparatus, control method, and program
US20160012612A1 (en) Display control method and system
JP2013235373A (ja) 画像処理装置、投影制御方法及びプログラム
KR102182162B1 (ko) Hmd 및 그 제어 방법
JP7005161B2 (ja) 電子機器及びその制御方法
TW201331824A (zh) 顯示控制設備,顯示控制方法,及程式
CN111448542A (zh) 在模拟现实环境中显示应用程序
US10990240B1 (en) Artificial reality system having movable application content items in containers
JP2018005477A (ja) 表示制御プログラム、表示制御方法および表示制御装置
JP2013235374A (ja) 画像処理装置、投影制御方法及びプログラム
CN116235129A (zh) 用于扩展现实的混淆控制界面
US9406136B2 (en) Information processing device, information processing method and storage medium for identifying communication counterpart based on image including person
JP2021140085A (ja) 情報処理装置及びプログラム
JP2016021096A (ja) 画像処理装置、画像処理方法、およびプログラム
WO2018139073A1 (ja) 表示制御装置、第2の表示装置、表示制御装置の制御方法、および制御プログラム
US20200241633A1 (en) Display device and display device control method
JP6374203B2 (ja) 表示システム及びプログラム
JP6308842B2 (ja) 表示システム及びプログラム
JP2011081557A (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240514