JP2023017615A - 情報処理システム及びプログラム - Google Patents

情報処理システム及びプログラム Download PDF

Info

Publication number
JP2023017615A
JP2023017615A JP2021121977A JP2021121977A JP2023017615A JP 2023017615 A JP2023017615 A JP 2023017615A JP 2021121977 A JP2021121977 A JP 2021121977A JP 2021121977 A JP2021121977 A JP 2021121977A JP 2023017615 A JP2023017615 A JP 2023017615A
Authority
JP
Japan
Prior art keywords
user
virtual screen
processor
virtual
information processing
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
JP2021121977A
Other languages
English (en)
Inventor
桃子 藤原
Momoko Fujiwara
孝浩 岡安
Takahiro Okayasu
賢吾 得地
Kengo Tokuchi
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 JP2021121977A priority Critical patent/JP2023017615A/ja
Priority to US17/644,380 priority patent/US20230021861A1/en
Publication of JP2023017615A publication Critical patent/JP2023017615A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • 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/013Eye tracking input arrangements
    • 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/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • G02B2027/0178Eyeglass type
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Neurosurgery (AREA)
  • Neurology (AREA)
  • General Health & Medical Sciences (AREA)
  • Dermatology (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】仮想のオブジェクトの表示を停止することなく、周囲の物体との衝突の回避を実現する。【解決手段】情報処理システムは、仮想のオブジェクトを、現実の空間の情報に重ねた視覚情報をユーザに視認させるデバイスと、現実の空間に存在する物体の位置を取得する取得部と、デバイスから予め定められた範囲内に物体が位置する場合、仮想のオブジェクトを、物体から離れる方向に移動させるプロセッサと、を有する。【選択図】図14

Description

本発明は、情報処理システム及びプログラムに関する。
仮想のオブジェクトを、現実の空間の情報に重ねた視覚情報をユーザに視認させるデバイスには、AR(=Augmented Reality)グラス、MR(=Mixed Reality)グラス等と呼ばれるデバイスがある。以下では、これらを総称して「xRデバイス」と呼ぶ。
今日では、仮想のオブジェクトを高輝度かつ高解像度で表示可能なxRデバイスも存在する。仮想のオブジェクトの表示の高輝度化や高解像度化に伴い、xRデバイスを装着したユーザの没入感も高まっている。
特開2019-046366号公報
没入感が高くなると、周囲の物体との衝突が懸念されるようになる。例えば仮想のオブジェクトに触れる、タップする場合に、見えていないが存在していた飲み物に衝突し、倒してしまう可能性がある。また、周囲の人には、仮想のオブジェクトが表示されている位置が分からないので、仮想のオブジェクトの裏側を通り過ぎる人と衝突する可能性がある。
なお、周囲の物体との衝突の可能性が生じた時点で仮想のオブジェクトの表示を停止することで、周囲の物体との衝突を回避するための時間を設けることも可能であるが、操作の中断が発生する。
本発明は、仮想のオブジェクトの表示を停止することなく、周囲の物体との衝突の回避を実現することを目的とする。
請求項1に記載の発明は、仮想のオブジェクトを、現実の空間の情報に重ねた視覚情報をユーザに視認させるデバイスと、現実の空間に存在する物体の位置を取得する取得部と、プロセッサと、を有し、前記プロセッサは、前記デバイスから予め定められた範囲内に前記物体が位置する場合、前記仮想のオブジェクトを、当該物体から離れる方向に移動させる、情報処理システムである。
請求項2に記載の発明は、前記範囲は、前記ユーザが前記仮想のオブジェクトに対するジェスチャ操作に使用する領域を規定する、請求項1に記載の情報処理システムである。
請求項3に記載の発明は、前記範囲は、前記デバイスを使用するユーザの登録情報に基づいて設定される、請求項2に記載の情報処理システムである。
請求項4に記載の発明は、前記登録情報は、ジェスチャ操作に使用する体の部位を指定する、請求項3に記載の情報処理システムである。
請求項5に記載の発明は、前記プロセッサは、可動域の登録に関するジェスチャ操作の測定を通じ、前記範囲を設定する、請求項2に記載の情報処理システムである。
請求項6に記載の発明は、前記プロセッサは、前記取得部による測定の結果に応じ、前記範囲を修正する、請求項5に記載の情報処理システムである。
請求項7に記載の発明は、前記プロセッサは、ジェスチャ操作に使用する頻度が高い体の部位に応じて前記範囲を修正する、請求項5又は6に記載の情報処理システムである。
請求項8に記載の発明は、前記プロセッサは、ユーザの視線方向に対応する前記範囲を広げる、請求項5又は6に記載の情報処理システムである。
請求項9に記載の発明は、前記プロセッサは、前記仮想のオブジェクトとしてアイコンが配置されている場合、当該アイコンの方向についての前記範囲を広げる、請求項5又は6に記載の情報処理システムである。
請求項10に記載の発明は、前記プロセッサは、ユーザによるジェスチャ操作が可能な位置に、前記仮想のオブジェクトを移動させる、請求項1に記載の情報処理システムである。
請求項11に記載の発明は、ユーザから見て前記仮想のオブジェクトが前記物体の手前に表示されている場合、前記プロセッサは、前記仮想のオブジェクトを前記デバイスに更に近づける方向に移動させる、請求項10に記載の情報処理システムである。
請求項12に記載の発明は、前記プロセッサは、移動後の前記仮想のオブジェクトを前記物体に対して予め定めた第1の距離だけ離す、請求項11に記載の情報処理システムである。
請求項13に記載の発明は、移動後の前記仮想のオブジェクトと前記デバイスとの距離が予め定めた第2の距離より短い場合、前記プロセッサは、前記第2の距離を超える前記仮想のオブジェクトの接近を禁止する、請求項12に記載の情報処理システムである。
請求項14に記載の発明は、前記予め定められた範囲内に複数の物体が存在する場合、前記プロセッサは、移動後の前記仮想のオブジェクトを、前記複数の物体のいずれに対しても予め定めた第1の距離だけ離す、請求項1に記載の情報処理システムである。
請求項15に記載の発明は、前記物体が予め定めた時間以上、前記予め定められた範囲内に存在する場合、前記プロセッサは、前記仮想のオブジェクトを、前記物体から離れる方向に移動させる、請求項10~14のいずれか1項に記載の情報処理システムである。
請求項16に記載の発明は、前記仮想のオブジェクトが予め定めた条件を満たす場合、前記プロセッサは、前記仮想のオブジェクトを、前記物体から離れる方向に移動させない、請求項10~14のいずれか1項に記載の情報処理システムである。
請求項17に記載の発明は、ユーザの生体データを検出するセンサを更に有し、前記センサの検出信号を通じ、前記仮想のオブジェクトに対する操作が予測されない場合、前記プロセッサは、前記物体が前記範囲内に位置していても、前記仮想のオブジェクトを移動させない、請求項16に記載の情報処理システムである。
請求項18に記載の発明は、前記プロセッサは、前記仮想のオブジェクトが操作の対象であるアイコンを含まない場合、当該仮想のオブジェクトを前記物体から離れる方向に移動させない、請求項16に記載の情報処理システムである。
請求項19に記載の発明は、ユーザから見て前記物体の手前側に表示される複数の前記仮想のオブジェクトが前記範囲内に位置する場合、前記プロセッサは、複数の前記仮想のオブジェクトを一体的に移動させる、請求項10に記載の情報処理システムである。
請求項20に記載の発明は、複数の前記仮想のオブジェクトが前記範囲内に位置する場合、前記プロセッサは、ユーザから見て前記物体の最も手前側に表示される前記仮想のオブジェクトだけを移動させる、請求項10に記載の情報処理システムである。
請求項21に記載の発明は、複数の前記仮想のオブジェクトのうちの一部が、ユーザから見て前記物体の手前側に表示され、残りが当該物体の奥側に別々に表示される場合に、前記物体の奥側に位置する前記仮想のオブジェクトに対する操作が検知されたとき、前記プロセッサは、操作の対象に指定された前記仮想のオブジェクトの表示位置を、ユーザから見て前記物体の手前側に移動させる、請求項10に記載の情報処理システムである。
請求項22に記載の発明は、表示中の前記仮想のオブジェクトとは別の仮想のオブジェクトの表示が指示された場合、前記プロセッサは、前記別の仮想のオブジェクトを、ユーザから見て前記物体よりも手前の最前列に表示する請求項10に記載の情報処理システムである。
請求項23に記載の発明は、前記物体が可動物である場合、前記プロセッサは、前記可動物の動きの予測に基づいて前記仮想のオブジェクトの移動を制御する、請求項1に記載の情報処理システムである。
請求項24に記載の発明は、前記可動物は、周囲にいる人であり、前記プロセッサは、人の動きの検出を通じて人の移動先を予測する、請求項23に記載の情報処理システムである。
請求項25に記載の発明は、現実の空間内の同じ位置に紐付けられている前記仮想のオブジェクトを複数人のユーザで視認している場合、前記プロセッサは、前記仮想のオブジェクトの視認を共有する他のユーザの存在を前記範囲内に検出しても、当該仮想のオブジェクトを移動させない、請求項23に記載の情報処理システムである。
請求項26に記載の発明は、前記プロセッサは、前記可動物の移動に関する情報が取得された場合、当該可動物の移動先を予測する、請求項23に記載の情報処理システムである。
請求項27に記載の発明は、前記プロセッサは、前記範囲内に衝突の可能性がある前記物体を検知した場合、事前に通知する、請求項1に記載の情報処理システムである。
請求項28に記載の発明は、前記プロセッサは、前記仮想のオブジェクトとして、前記物体を表示する、請求項27に記載の情報処理システムである。
請求項29に記載の発明は、前記プロセッサは、前記仮想のオブジェクトの形状の変形により前記物体の存在を通知する、請求項27に記載の情報処理システムである。
請求項30に記載の発明は、前記プロセッサは、前記仮想のオブジェクトのうち操作の対象である部分を分離して移動させる、請求項1に記載の情報処理システムである。
請求項31に記載の発明は、前記プロセッサは、前記仮想のオブジェクトをユーザによる視認が可能な範囲内で移動させる、請求項1に記載の情報処理システムである。
請求項32に記載の発明は、前記仮想のオブジェクトが立体形状である場合、前記プロセッサは、ユーザのジェスチャ操作に応じて向きを変更する、請求項1に記載の情報処理システムである。
請求項33に記載の発明は、前記仮想のオブジェクトの寸法が予め定めた基準を超える場合、前記プロセッサは、前記仮想のオブジェクトの表示上の寸法を前記基準以内に縮小する、請求項1に記載の情報処理システムである。
請求項34に記載の発明は、前記仮想のオブジェクトの寸法が予め定めた基準より小さい場合、前記プロセッサは、前記仮想のオブジェクトの表示上の寸法を前記基準以上に拡大する、請求項1に記載の情報処理システムである。
請求項35に記載の発明は、前記デバイスと連携する表示デバイスが前記範囲内に位置する場合、前記プロセッサは、前記仮想のオブジェクトを前記表示デバイスの並び位置に移動させる、請求項1に記載の情報処理システムである。
請求項36に記載の発明は、ユーザの視野内に前記表示デバイスが検出された場合、前記プロセッサは、前記仮想のオブジェクトと前記表示デバイスとを連携させる、請求項35に記載の情報処理システムである。
請求項37に記載の発明は、仮想のオブジェクトを、現実の空間の情報に重ねた視覚情報をユーザに視認させるデバイスと、現実の空間に存在する物体の位置を取得する取得部とを有する情報処理装置のコンピュータに、前記デバイスから予め定められた範囲内に前記物体が位置する場合、前記仮想のオブジェクトを、当該物体から離れる方向に移動させる機能、を実現させるためのプログラムである。
請求項38に記載の発明は、仮想のオブジェクトを、現実の空間の情報に重ねた視覚情報をユーザに視認させるデバイスと、現実の空間に存在する物体の位置を取得する取得部とを有する情報処理装置と連携するコンピュータに、前記デバイスから予め定められた範囲内に前記物体が位置する場合、前記仮想のオブジェクトを、当該物体から離れる方向に移動させる機能、を実現させるためのプログラムである。
請求項1記載の発明によれば、仮想のオブジェクトの表示を停止することなく、周囲の物体との衝突の回避を実現できる。
請求項2記載の発明によれば、ジェスチャ操作時に衝突する懸念性が高い範囲内に物体が位置する場合に限り、仮想のオブジェクトの移動を実行できる。
請求項3記載の発明によれば、仮想のオブジェクトの移動が必要になる範囲を、ユーザ毎に設定できる。
請求項4記載の発明によれば、ユーザが操作に使用する体の部位に応じた範囲を設定できる。
請求項5記載の発明によれば、登録情報を入力しなくても、ユーザ専用の範囲を設定できる。
請求項6記載の発明によれば、操作上の特徴に応じ、登録された範囲を修正できる。
請求項7記載の発明によれば、使用する頻度の傾向に応じ、登録された範囲を修正できる。
請求項8記載の発明によれば、物体との接触の可能性がある方向について範囲を拡大できる。
請求項9記載の発明によれば、物体との接触の可能性がある方向について範囲を拡大できる。
請求項10記載の発明によれば、ジェスチャ操作と衝突の可能性の低減とを両立できる。
請求項11記載の発明によれば、衝突の可能性を一段と低減できる。
請求項12記載の発明によれば、仮想のオブジェクトの操作時における物体との衝突の可能性を低減できる。
請求項13記載の発明によれば、仮想のオブジェクトの操作性を確保できる。
請求項14記載の発明によれば、仮想のオブジェクトと物体との距離を広げることができ、衝突の可能性を低減できる。
請求項15記載の発明によれば、仮想のオブジェクトと物体とが衝突の可能性がある場合にだけ、仮想のオブジェクトの移動を実行できる。
請求項16記載の発明によれば、仮想のオブジェクトと物体とが衝突の可能性がない場合には、仮想のオブジェクトを移動させない制御を実現できる。
請求項17記載の発明によれば、周囲の物体との衝突のおそれがない場合には、視認性を優先できる。
請求項18記載の発明によれば、仮想のオブジェクトと物体とが衝突の可能性がない場合には、仮想のオブジェクトを移動させない制御を実現できる。
請求項19記載の発明によれば、複数の仮想のオブジェクトの全てを物体から離すことができる。
請求項20記載の発明によれば、複数の仮想のオブジェクトのうち衝突の可能性がある仮想のオブジェクトだけを物体から離すことができる。
請求項21記載の発明によれば、操作の対象である仮想のオブジェクトの操作に際して物体と衝突する可能性を低減できる。
請求項22記載の発明によれば、操作の可能性が高い仮想のオブジェクトの操作性と周囲の物体との衝突の回避を両立できる。
請求項23記載の発明によれば、周囲を移動する物体との衝突を回避できる。
請求項24記載の発明によれば、周囲にいる人との衝突を回避できる。
請求項25記載の発明によれば、現実の空間の同じ位置に配置された仮想のオブジェクトを複数人で共用する場合には、衝突の可能性があっても仮想のオブジェクトを移動させない運用を可能にできる。
請求項26記載の発明によれば、周囲を移動する可動物と衝突する可能性を低減できる。
請求項27記載の発明によれば、ユーザの注意を喚起できる。
請求項28記載の発明によれば、周囲の物体との衝突の可能性を低減できる。
請求項29記載の発明によれば、周囲の物体との衝突の可能性を低減できる。
請求項30記載の発明によれば、周囲の物体との衝突の可能性を低減できる。
請求項31記載の発明によれば、操作と周囲の物体との衝突の回避とを両立できる。
請求項32記載の発明によれば、周囲の物体との衝突の回避を実現できる。
請求項33記載の発明によれば、周囲の物体との衝突の回避を実現できる。
請求項34記載の発明によれば、周囲の物体との衝突の回避を実現できる。
請求項35記載の発明によれば、周囲の物体との衝突の回避と作業性とを両立できる。
請求項36記載の発明によれば、周囲の物体との衝突の回避と作業性とを両立できる。
請求項37記載の発明によれば、仮想のオブジェクトの表示を停止することなく、周囲の物体との衝突の回避を実現できる。
請求項38記載の発明によれば、仮想のオブジェクトの表示を停止することなく、周囲の物体との衝突の回避を実現できる。
実施の形態1で想定する情報処理システムの使用例を説明する図である。 xRデバイスをフロント側から観察する場合の外観例を説明する図である。 xRデバイスのハードウェア構成の一例を説明する図である。 仮想画面がユーザに視認される原理を説明する図である。 情報端末のハードウェア構成の一例を説明する図である。 ジェスチャ操作に用いる第1の範囲の設定例と、第1の範囲内に位置する物体と仮想画面との間に確保する第1の距離の設定例を説明する図である。(A)はユーザを上空から見た図であり、(B)はユーザを側方から見た図である。 ジェスチャ操作に用いる第1の範囲の他の設定例を説明する図である。(A)はユーザが仰向けで寝ている状態における第1の範囲の設定例を示し、(B)はユーザが横向きに寝ている状態における第1の範囲の設定例を示している。 ジェスチャ操作に使用しない第2の範囲の設定例を説明する図である。(A)はユーザを上空から見た図であり、(B)はユーザを側方から見た図である。 基本パラメータの設定画面の一例を説明する図である。 各閾値の設定に使用する設定画面の一例を説明する図である。 ジェスチャによる第1の範囲の設定を説明する図である。(A)は第1の範囲を設定する様子をユーザの背方から見た図である。(B)は第1の範囲を設定する様子をユーザUの側方から見た図である。 第1の範囲の設定例を説明する図である。(A)は第1の範囲の基本例であり、(B)は利き手側の範囲を他方に比べて広く設定する例であり、(C)はマージン分だけ第1の範囲を拡大する例であり、(D)は利き手とは反対側の範囲を狭める例である。 基本パラメータの設定動作例を説明するフローチャートである。 実施の形態1における仮想画面の退避動作例を説明するフローチャートである。 仮想画面の表示位置を物体からユーザに近づける方向に退避させる例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 仮想画面の背後に、事後的に物体が置かれる場合の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は物体としての飲み物がテーブルに置かれた状態を示し、(C1)及び(C2)は退避後の仮想画面とユーザとの位置関係を示す。 退避位置の候補が第2の距離よりもユーザに近い場合の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 複数の仮想画面が奥行方向に配列されている場合の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 仮想画面を上向きに退避する例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 仮想画面を横方向に退避する例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 ユーザの前方のテーブルに複数の飲み物が置かれている場合における仮想画面の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザと飲み物との位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザと飲み物との位置関係を示す。 仮想画面の表示位置をユーザから見て物体の奥方向に退避させる例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 仮想画面が周囲の物体と空間上で重なる場合の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)はユーザの顔の向きが変化した直後の仮想画面とユーザとの位置関係を示し、(C1)及び(C2)は退避後の仮想画面とユーザとの位置関係を示す。 実施の形態2における仮想画面の退避動作例を説明するフローチャートである。 仮想画面が操作用のアイコンを含まない場合の処理動作を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は仮想画面に操作用のアイコンが含まれない場合における仮想画面とユーザとの位置関係を示す。 実施の形態3における仮想画面の退避動作例を説明するフローチャートである。 ユーザに向かって接近する人がいる場合の退避例を説明する図である。(A)は人が第1の範囲の外側をユーザに向かって移動している状態を示し、(B)は人が第1の範囲に入った状態を示す。 2人のユーザのそれぞれが仮想画面を見ている場合の退避例を説明する図である。(A)はユーザの第1の範囲とユーザの第1の範囲の一部が互いに重なっているが互いのジェスチャ操作が可動物と認識されない状態を示し、(B)はユーザのジェスチャ操作がユーザ側の第1の範囲内の可動物として認識された場合を示す。 移動型のロボットの移動スケジュールの取得が可能な場合における退避例を説明する図である。(A)はロボットが第1の範囲の外に存在している状態を示し、(B)はロボットが第1の範囲に近づいた状態を示す。 退避の例外を説明する図である。(A)は窓際のカーテンが下方に垂れ下がっている場合の仮想画面の表示位置を示し、(B)は窓際のカーテンが風に吹かれて仮想画面の付近まで広がった場合の仮想画面の表示位置を示す。 実施の形態4における仮想画面の退避動作例を説明するフローチャートである。 2つの仮想画面がユーザから見て奥方向に配列されている場合の退避動作を説明する図である。(A1)及び(A2)は初期位置における2つの仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は手前側の仮想画面だけが退避された様子を示す。 実施の形態5における仮想画面の退避動作例を説明するフローチャートである。 仮想画面の操作に使用するカーソルの一例を説明する。(A)は右手の指先が仮想画面から遠い場合のカーソルを示し、(B)は右手の指先が仮想画面に近づいた場合のカーソルを示し、(C)は右手の指先が仮想画面に接触した場合のカーソルを示す。 2つの仮想画面のうち奥側に位置する仮想画面を、物体からユーザに近づける方向に退避させる例を説明する図である。(A1)及び(A2)は初期位置における2つの仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避処理が実行された後の2つの仮想画面とユーザとの位置関係を示す。 実施の形態6における仮想画面の退避動作例を説明するフローチャートである。 2つの仮想画面の表示中に3つ目の仮想画面の追加が指示された場合の退避例を説明する図である。(A1)及び(A2)は初期位置における2つの仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避処理が実行された後の3つの仮想画面とユーザとの位置関係を示す。 実施の形態7における仮想画面の退避動作例を説明するフローチャートである。 1つの仮想画面が複数人で共用されている場合を説明する図である。(A)は2人のユーザがジェスチャ操作する前の状態を示し、(B)は2人のユーザがジェスチャ操作を開始した後の状態を示す。 仮想画面を視認するユーザに対して物体の存在を通知する手法の一例を説明する図である。(A)は音声による通知例を示し、(B)は合成画像による通知例を示す。 仮想画面を視認するユーザに対して物体の存在を通知する他の手法の一例を説明する図である。(A1)及び(A2)は仮想画面の変形による方法を示し、(B1)及び(B2)は仮想画面に対する注意を喚起する画像を合成する方法を示す。 仮想画面のジェスチャ操作時における右手の可動域を測定した履歴による第1の範囲を規定する閾値の調整を説明する図である。(A)は初期設定時の第1の範囲を示し、(B)はユーザのジェスチャ操作の可動域に応じて調整された第1の範囲を示す。 実施の形態10における仮想画面の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 実施の形態10における仮想画面の別の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 実施の形態10における仮想画面の他の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 実施の形態10における仮想画面の他の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面とユーザとの位置関係を示す。 実施の形態10における仮想画面の他の退避例を説明する図である。(A1)及び(A2)は縮小変換前の仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は縮小変換後の仮想画面とユーザとの位置関係を示す。 実施の形態10における仮想画面の他の退避例を説明する図である。(A1)及び(A2)は拡大変換前の仮想画面とユーザとの位置関係を示し、(B1)及び(B2)は拡大変換後の仮想画面とユーザとの位置関係を示す。 ユーザが視認している仮想画面が実在するモニタの表示画面と連携する場合を説明する図である。(A)は連携前の仮想画面とモニタの表示画面を示し、(B)は連携直後の仮想画面とモニタの表示画面を示し、(C)は仮想画面の退避により仮想画面とモニタが並列に配置された状態を示す。 第1の範囲の形状を仮想画面に含まれるアイコンが位置する方向に拡張する機能を説明する図である。(A1)及び(A2)は仮想画面にアイコンが含まれない場合の第1の範囲を示し、(B1)及び(B2)は仮想画面にアイコンが含まれる場合の第1の範囲を示す。 ユーザの視線の方向について第1の範囲を拡大する機能を説明する図である。(A1)及び(A2)はユーザの視線の方向が右斜め前方である場合の第1の範囲の形状を示し、(B1)及び(B2)はユーザの視線の方向が左斜め前方である場合の第1の範囲の形状を示す。 実施の形態13で使用するxRデバイスの外観例を説明する図である。(A)はxRデバイスをフロント側から観察する場合の外観例を示し、(B)はxRデバイスをユーザ側から観察する場合の外観例を示す。 実施の形態13で使用するxRデバイスのハードウェア構成の一例を説明する図である。 視線検知に関する機能部の構成を説明する図である。 実施の形態14で使用するxRデバイスの外観例を説明する図である。(A)はxRデバイスをフロント側から観察する場合の外観例を示し、(B1)及び(B2)はテンプルに取り付けられるイヤホンチップの構成例を示し、(C1)及び(C2)はテンプルに取り付けられるイヤホンチップの構成例を示す。 実施の形態14で使用するxRデバイスのハードウェア構成の一例を説明する図である。 脳波を用いてジェスチャ操作の予兆を検知する機能部の構成を説明する図である。 実施の形態14における仮想画面の退避動作例を説明するフローチャートである。 ジェスチャ操作が予想される場合と予想されない場合の退避処理の違いを説明する図である。(A1)及び(A2)はジェスチャ操作が予想されない場合の仮想画面とユーザとの位置関係を示し、(B1)及び(B2)はジェスチャ操作が予想される場合の仮想画面とユーザとの位置関係を示す。 実施の形態15で想定する情報処理システムの使用例を説明する図である。(A)は情報システムの外観例を示し、(B)は装着状態を説明する図である。 実施の形態16で想定する情報処理システムの使用例を説明する図である。(A)はヘッドセットの装着例であり、(B)はヘッドセットの内側に配置する脳波に対応する電気信号の測定用の電極の配置例を示す。
以下、図面を参照して、本発明の実施の形態を説明する。
<実施の形態1>
<システムの全体構成>
図1は、実施の形態1で想定する情報処理システム1の使用例を説明する図である。
図1に示す情報処理システム1は、相互に接続されたxRデバイス10と情報端末20とで構成されている。ここで「接続された」とは、通信が可能な状態をいう。
図1に示すxRデバイス10は、ユーザUが頭部に装着する眼鏡型のデバイスである。
xRデバイス10には、仮想のオブジェクトを表示するモードと仮想のオブジェクトを表示しないモードが用意されている。仮想のオブジェクトを表示しないモードが有効である場合、xRデバイス10は、いわゆる眼鏡と同じである。
図1の場合、仮想のオブジェクトを表示するモードが有効である。このため、ユーザUには、テーブル3の手前に仮想のオブジェクトとしての仮想の画面(以下「仮想画面」という)VDが視認されている。図1では、吹き出しにより、xRデバイス10を装着しているユーザUが認識している空間の状態を表現している。
なお、ユーザUには、仮想画面VDの背後に隠れて見えないが、現実のテーブル3には飲み物5が置かれている。
図1では、ユーザUが、右手7で、仮想画面VDをタップする様子を表現している。前述したように、昨今のxRデバイス10は、高輝度かつ高解像で仮想画面VDの表示が可能である。このため、テーブル3上の飲み物5に気づかないまま、仮想画面VDをタップする可能性があり、その際に、飲み物5を倒してしまう可能性がある。
図1は、現実の空間における右手7と飲み物5の位置関係と、ユーザUが視認している空間内の右手7と仮想画面VDの位置関係を表している。
図1の場合、仮想画面VDは2次元画像であるが、3次元画像でもよい。また、図1の場合、仮想画面VDは1つであるが、複数でもよい。また、仮想画面VDは、静止画でも動画像でもよい。仮想画面VDは、仮想のオブジェクトの一例である。
本実施の形態で使用する情報端末20は、xRデバイス10との連携により、仮想画面VDのジェスチャ操作中における周辺の物体との衝突を回避する機能(以下「衝突回避機能」という)を提供する。
図1では、情報端末20の一例としてスマートフォンを描いている。もっとも、情報端末20は、スマートフォンに限らず、ノート型のコンピュータでも、デスクトップ型のコンピュータでも、タブレット型のコンピュータでも、ネットワーク上のサーバでもよい。また、情報端末20は、スマートウォッチに代表されるウェアラブル端末でもよい。
図1の場合、情報端末20には、1台のxRデバイス10が接続されているが、複数台のxRデバイス10が接続されていてもよい。また、複数台の情報端末20に1台のxRデバイス10が接続されてもよい。
本実施の形態におけるxRデバイス10と情報端末20は、情報処理システムの一例である。
本実施の形態では、ユーザUによる仮想画面VDの操作を「ジェスチャ操作」と表現する。仮想画面VDを操作するユーザUの現実の空間における動きは、身振り手振り等のジェスチャと認識されるためである。本実施の形態では、操作に用いるジェスチャの意味で「ジェスチャ操作」という。
<各端末の装置構成>
<xRデバイスの構成>
図2は、xRデバイス10をフロント側から観察する場合の外観例を説明する図である。
眼鏡フレームは、レンズが嵌め込まれる左右のリム11L、11Rと、ブリッジ12で構成される。眼鏡フレームの左右には、テンプル13L、13Rが丁番を介して取り付けられている。
図2の場合、左側のリム11Lの丁番付近には、マイク101とスピーカ102が取り付けられている。一方、右側のリム11Rの丁番付近には、慣性センサ103と測位センサ104が取り付けられている。
また、ブリッジ12には、カメラ105が取り付けられている。
この他、左側のテンプル13Lには、xRモジュール106が取り付けられ、右側のテンプル13Rには、プロセッサ107とRAM(=Random Access Memory)108とフラッシュメモリ109で構成される制御ユニットと、通信モジュール110が取り付けられている。
図3は、xRデバイス10のハードウェア構成の一例を説明する図である。
図3に示すxRデバイス10は、制御ユニットを構成するプロセッサ107に、マイク101と、スピーカ102と、慣性センサ103と、測位センサ104と、カメラ105と、xRモジュール106と、RAM108と、フラッシュメモリ109と、通信モジュール110が接続されている。
マイク101は、ユーザUの音声や周囲の音を電気信号に変換するデバイスである。
スピーカ102は、電気信号を音に変換して出力するデバイスである。なお、スピーカ102は、骨伝導スピーカや軟骨伝導スピーカでもよい。
なお、スピーカ102は、ワイヤレスイヤホンのように、xRデバイス10とは独立したデバイスでもよい。
慣性センサ103は、例えば6軸センサで構成される。6軸センサは、3軸の加速度センサと3軸の角速度センサで構成される。慣性センサ103の出力により、xRデバイス10を装着しているユーザUの頭部の動きが推定される。
測位センサ104は、例えばLiDAR(=Light Detection And Ranging)モジュールである。LiDARモジュールは、レーザ光をパルス状に発光し、対象物からの反射光が検出されるまでの時間により、対象物までの距離を算出するモジュールである。
本実施の形態における測位センサ104は、xRデバイス10の前方を含むユーザUの周辺を測位の対象とする。測位センサ104の測位データにより、ユーザUの周囲の3次元マップが作成される。
本実施の形態におけるxRデバイス10は、少なくともユーザUがジェスチャ操作に使用する体の部位の他、筆記具や指し棒等の文房具、杖、義手、義足等の補助具が動く範囲(すなわち「可動域」)を測位可能な性能を有している。
もっとも、測位センサ104を複数配置し、ユーザUの前方だけでなく、例えばユーザUの後方や側方に存在する物体までの距離を測定してもよい。
本実施の形態の場合、測位センサ104は、xRデバイス10に取り付けられているが、ネックレス、ペンダント、ブローチ、帽子、髪飾り、衣服等に取り付けられていてもよい。
ここでの測位センサ104は、現実の空間に存在する物体の位置を取得する取得部の一例である。
カメラ105は、例えばCMOS(=Complementary Metal Oxide Semiconductor)イメージセンサやCCD(=Charge Coupled Device)イメージセンサを使用する。カメラ105で撮像された画像データを処理することにより、ユーザUの周辺に位置する物体の内容の特定が可能になる。
図2の場合、眼鏡フレームには1個のカメラ105を取り付けているが、2つ以上のカメラ105を取り付けてもよい。
2つのカメラ105を用いてユーザUの周囲をステレオ撮像すれば、被写体までの距離や被写体間の前後関係の推定が可能になる。ここでの2つのカメラ105は、取得部の一例である。また、2つのカメラ105を用いて測距する場合、測位センサ104を設けない構成も可能である。
なお、xRデバイス10には、カメラ105を取り付けない構成も可能である。この構成のxRデバイス10は、スマートグラスとも呼ばれる。
xRモジュール106は、現実の空間には存在しないxR画像をユーザUに視認させる機能を集約したモジュールであり、光学部品と電子部品で構成される。
xRモジュール106の代表例には、ユーザUの眼の前方にハーフミラーを配置する方式、ユーザUの眼の前方に体積ホログラムを配置する方式、ユーザUの眼の前方にブレーズド回折格子を配置する方式がある。
ここでのxRモジュール106は、狭義には、仮想のオブジェクトを現実の空間の情報に重ねた視覚情報をユーザに視認させるためのデバイス部分をいう。なお、xRモジュール106は、広義には、仮想のオブジェクトを現実の空間の情報に重ねた視覚情報をユーザに視認させるための仕組みをいう。
プロセッサ107は、例えばCPU(=Central Processing Unit)やMPU(=Micro Processing Unit)で構成される。プロセッサ107は、プログラムの実行を通じて各種の機能を実現する。
RAM(=Random Access Memory)108とフラッシュメモリ109は、いずれも半導体メモリである。RAM108は、プログラムの実行に使用される主記憶装置である。フラッシュメモリ109は、BIOS(=Basic Input Output System)やファームウェア等の記録に用いられる不揮発性の補助記憶装置である。
本実施の形態の場合、制御ユニットを、プロセッサ107と、RAM108と、フラッシュメモリ109で構成するが、ASIC(=Application Specific Integrated Circuit)やFPGA(=Field Programmable Gate Array)等により構成してもよい。
通信モジュール110は、情報端末20との通信を実現するデバイスである。本実施の形態の場合、通信モジュール110には、例えばWifi(登録商標)やBluetooth(登録商標)を使用する。本実施の形態の場合、計算負荷が大きい処理は、プロセッサ107ではなく、情報端末20で実行する。
なお、図2や図3で説明したデバイス以外にも、例えばバイブレータや照度センサを備えてもよい。連続した振動又は断続した振動を発生するバイブレータは、ユーザUに対するアラーム等の通知に使用が可能である。照度センサは、眼鏡フレームやテンプル13L、13Rの内側に配置することにより、xRデバイス10の装着や取り外しの検知に使用が可能である。
図4は、仮想画面VDがユーザUに視認される原理を説明する図である。図4に示すxRデバイス10は、ユーザUの眼の前方にブレーズド回折格子を配置する方式に対応する。
図4に示すxRデバイス10は、眼鏡のレンズに相当する導光板111と、マイクロディスプレイ112と、映像光L12が入力される回折格子113Aと、映像光L12が出力される回折格子113Bとを有している。
導光板111は、例えば85%以上の透過率を有している。このため、ユーザUは、導光板111を透過して前方の景色を直接視認することが可能である。外光L11は、導光板111及び回折格子113Bを透過するように直進し、ユーザUの眼Eに入射する。
マイクロディスプレイ112は、ユーザUに視認される仮想画面VDが表示される小型のディスプレイである。マイクロディスプレイ112に表示された画像の光は、映像光L12として導光板111に投影される。映像光L12は、回折格子113Aにより屈折され、導光板111の内部を反射しながら回折格子113Bに達する。回折格子113Bは、映像光L12をユーザUの眼Eの方向に屈折する。
これにより、ユーザUの眼Eには、外光L11と映像光L12が同時に入射される。その結果、ユーザUは、図4に吹き出しで示すように、テーブル3の手前に仮想画面VDが存在するように視認する。
<情報端末の構成>
図5は、情報端末20のハードウェア構成の一例を説明する図である。
図5に示す情報端末20は、制御デバイスを構成するプロセッサ201、RAM202、フラッシュメモリ203と、ディスプレイ204と、静電容量式タッチセンサ205と、カメラ206と、マイク207と、スピーカ208と、通信モジュール209と、これらを接続する信号線210とを有している。
プロセッサ201は、例えばCPUやMPUで構成される。プロセッサ201は、プログラムの実行を通じて各種の機能を実現する。
RAM202とフラッシュメモリ203は、いずれも半導体メモリである。RAM202は、プログラムの実行に使用される主記憶装置として用いられる。フラッシュメモリ203は、BIOSやファームウェア等の記録に用いられる不揮発性の補助記憶装置である。本実施の形態におけるプロセッサ201は、プログラムの実行を通じ、仮想画面VDのジェスチャ操作中における周辺の物体ROとユーザUとの衝突を回避する機能を提供する。
ディスプレイ204には、例えば有機EL(=Electro Luminescent)ディスプレイや液晶ディスプレイが用いられる。
静電容量式タッチセンサ205は、ディスプレイ204の表面に取り付けられるフィルム状のセンサである。静電容量式タッチセンサ205は、ディスプレイ204の視認を妨げない透光性を有しており、ユーザUの指先等が触れた位置を静電容量の変化として検知する。ディスプレイ204と静電容量式タッチセンサ205が一体化されたデバイスは、タッチパネルと呼ばれる。
カメラ206は、情報端末20の装置本体に取り付けられている。情報端末20がスマートフォンの場合、カメラ206は、ディスプレイ204と同じ面と反対側の面とに複数設けられている。カメラ206には、例えばCMOSイメージセンサやCCDイメージセンサが使用される。
マイク207は、音を電気信号に変換するデバイスである。
スピーカ208は、電子信号を音に変換するデバイスである。
通信モジュール209は、例えばWifi(登録商標)やBluetooth(登録商標)等であり、xRデバイス10との通信に使用される。
<基本パラメータ>
以下では、図6~図12を使用して、仮想画面VD(図1参照)のジェスチャ操作中におけるユーザUと周辺の物体との衝突を回避する又は衝突の可能性を低減する機能を実現する上で事前設定が求められる基本パラメータについて説明する。
図6は、ジェスチャ操作に用いる第1の範囲RAの設定例と、第1の範囲RA内に位置する物体ROと仮想画面VD(図1参照)との間に確保する第1の距離LT1の設定例を説明する図である。(A)はユーザUを上空から見た図であり、(B)はユーザUを側方から見た図である。
ジェスチャ操作に用いる第1の範囲RAは、ユーザUが仮想画面VDに対するジェスチャ操作に使用する範囲を与える。具体的には、第1の範囲RAは、ユーザUがジェスチャ操作に使用する体の部位の他、筆記具や指し棒等の文房具、杖、義手、義足等の補助具が動く範囲を測位の範囲の最大範囲を与える。
もっとも、本実施の形態における第1の範囲RAは、仮想画面VDを物体ROから退避させる機能による仮想画面VDの退避を実行するか否かの判定に使用する便宜上の範囲である。このため、設定された第1の範囲RAが、ユーザUがジェスチャ操作に使用する体の部位等が可動する範囲の最大範囲と一致するとは限らない。
ただし、ユーザUがジェスチャ操作に手を使用する場合、第1の範囲RAは、ユーザUの手が届く範囲内に設定すればよい。ユーザUの手が届かない範囲に物体ROが存在しても、ユーザUの手が物体ROと衝突する可能性は、例外的な場合を除き、存在しないためである。
もっとも、ジェスチャ操作時に、体が前方等に移動するユーザUも存在する。この場合には、静止状態で規定した第1の範囲RAを拡張する意味がある。
図6(A)の場合、第1の範囲RAは、xRデバイス10を装着するユーザUの正面方向であるY軸を挟んで左右対称の扇型として定義されている。
因みに、図6(A)におけるユーザUは、現実の空間で立っている場合を想定している。このため、図中のZ軸の矢印の方向は、鉛直上向きを表している。また、Y軸の矢印の方向は、ユーザUの正面方向を表し、X軸の矢印の方向はユーザUの右方向を表している。
実際の範囲RAは、立体形状で定められる。図6(B)では、手の可動域を想定して、範囲RAの上限を目の高さ付近とし、下限を腰の高さ付近としている。
ここでの第1の範囲RAは、xRデバイス10から予め定められた範囲の一例である。
図6(A)及び図6(B)では、第1の距離LT1も規定している。ここでの第1の距離LT1は、物体ROと仮想画面VDとの間に確保する最小距離を与える。この第1の距離LT1は、物体ROを中心とした概略球形状で与えられる。
もっとも、測位センサ104(図3参照)が物体ROの表面形状を把握可能なのは、測位センサ104と対面する側の面だけであり、物体ROの全体形状は不明である。
従って、図6(A)及び図6(B)に例示した物体ROの背後側の位置は、測位センサ104から測定が可能な物体ROの表面側を基準に与えられる。簡易型のシステムでは、ユーザUから見て物体ROの背後側の第1の距離LT1は管理しない設定も可能である。
因みに、第1の距離LT1は、ジェスチャ操作中のユーザUが物体ROと衝突しないための距離の目安である。
従って、第1の距離LT1は、ジェスチャ操作中のユーザUの体の部位等と物体ROとの衝突回避を保証しない。
この第1の距離LT1は、例えば初期値として与えてもよいし、ユーザUが個別に設定したり調整したりしてもよい。
図7は、ジェスチャ操作に用いる第1の範囲RAの他の設定例を説明する図である。(A)はユーザUが仰向けで寝ている状態における第1の範囲RAの設定例を示し、(B)はユーザが横向きに寝ている状態における第1の範囲RAの設定例を示している。
図7(A)及び(B)では、省略しているが、ユーザUの頭頂側から見た第1の範囲RAは、図6(A)と同じく扇型となる。
なお、図7(A)及び(B)では、ユーザUが寝る面をX軸とY軸で規定している。
いずれの場合も、ユーザUに装着されたxRデバイス10を基準として、第1の範囲RAの形状や方向が規定される。
例えば図7(A)では、Z軸の矢印の方向が、ユーザUから見て奥側となる。また、図7(B)では、Y軸の矢印の方向が、ユーザUから見て奥側となる。
図7(B)の場合、ユーザUが横向きに寝ているので、第1の範囲RAは、xRデバイス10に向かって非対称の形状に設定される。
なお、図6及び図7においては、第1の範囲RAの最大範囲を、ユーザUの体の部位等の可動域で規定しているが、xRデバイス10の最大視野角で規定してもよい。
そもそも、xRデバイス10の最大視野角を超えては、仮想画面VDを表示し得ない。このため、最大視野角の外側に存在する物体ROについては、仮想画面VDの背後に隠れることもない。すなわち、仮想画面VDを退避しなくても、ユーザUは、物体ROに事前に気づくことが可能である。
図8は、ジェスチャ操作に使用しない第2の範囲RBの設定例を説明する図である。(A)はユーザUを上空から見た図であり、(B)はユーザUを側方から見た図である。図8には、図6との対応部分に対応する符号を付して示している。
図8に示す第2の範囲RBは、ユーザUが操作に使用しない範囲を与える。換言すると、仮想画面VDを表示させない範囲を与える。仮想画面VDがユーザUに近すぎると、仮想画面VDの視認性が低下する上に、ジェスチャ操作が困難になるためである。
図8では、第2の範囲RBを第2の距離LT2で規定する。第2の距離LT2は、xRデバイス10からの距離として与えられる。第2の距離LT2は、xRデバイス10と仮想画面VD(図1参照)との間に確保する最小距離を規定する。以下では、第2の距離LT2を「最接近位置」ともいう。
以下では、第1の範囲RAを規定する情報と、退避距離を規定する第1の距離LT1と、第2の範囲RBを規定する第2の距離LT2等を総称して基本パラメータという。
<基本パラメータ等の設定>
図9は、基本パラメータの設定画面300の一例を説明する図である。
図9に示す設定画面300は、ユーザに関する情報と、第1の範囲RAを規定する情報等の具体的な設定方法の選択に用いられる。
設定された情報は、登録情報の一例として、xRデバイス10(図1参照)や情報端末20に記憶される。
設定画面300の場合、「設定(1/2)」とのタイトルの下段に、案内文301が配置されている。図9では、案内文301として、「周辺の物体との衝突回避に使用します。」、「以下の項目に入力をお願いします。」と記載され、各項目の設定を促している。なお、各項目の設定は必須でも任意でもよい。
設定画面300の場合、入力を求める項目として、年齢302、性別303、身長304、操作に使用する部位等305、利き手等306、マージン設定307が配置され、その下段に、第2の案内文308と、選択用のボタン309~313が配置されている。
図9の場合、年齢302、性別303、身長304、操作に使用する部位等305、利き手等306には、プルダウンメニューが用意されている。これら項目のうち年齢や身長は数値による入力欄を用意してもよい。
操作に使用する部位等305のプルダウンメニューには、例えば指、手、肘、足、膝、足首等の体の部位の他、筆記具や杖等の補助具が選択可能に列記される。
利き手等306の設定では、仮想画面VDの操作に右手側を主に使用するのか、左手側を主に使用するのか、両手を使用するのかの選択が可能である。
マージン設定307は、第1の距離LT1により設定された第1の範囲RAの拡張の「あり」と「なし」の設定が可能である。
マージン設定307が「あり」の場合、第1の範囲RAは、第1の距離LT1から更に遠方に拡張される。なお、拡張される距離は、予め定められていてもよく、サブ設定によりユーザが具体的に設定又は調整してもよい。また、拡張される方向は、利き手等306の設定を参照する。例えば利き手等306の設定が右手の場合、第1の範囲RAを右手側に広くする。
マージン設定307が「なし」の場合、第1の範囲RAは、第1の距離LT1で与えられる。
第2の案内文308には、「判定用の閾値を設定します。」、「以下のいずれかのボタンを選択してください。」と記載されている。
ボタン309には、「画面で設定」とのラベルが付されている。ボタン309が操作された場合、各閾値の設定画面に切り替わる。ここでの閾値は、例えばユーザの手が届く距離、第1の距離LT1、第2の距離LT2である。
ボタン310には、「ジェスチャで設定」とのラベルが付されている。ボタン310が操作された場合、操作に使用する手足等の可動域等の測定値により、各閾値が設定される。
ボタン311には、「音声で設定」とのラベルが付されている。ボタン311が操作された場合、問い合わせに従って、ユーザが音声により各閾値を設定する。
ボタン312には、「推定値で設定」とのラベルが付されている。ボタン312が操作された場合、プルダウンメニューで選択された年齢、性別、身長等に基づいて各閾値が推定され、推定された値で各閾値が設定される。推定時には、例えば年齢、性別、身長等に対応する標準体型について用意されたテーブルから各閾値が読み出される。
なお、ボタン313が操作されると、設定画面300は、ホーム画面等に切り替わる。
図10は、各閾値の設定に使用する設定画面320の一例を説明する図である。
図10に示す設定画面320の場合、「設定(2/2)」とのタイトルの下段に、案内文320Aが配置されている。図10では、案内文320Aとして、「周辺の物体との衝突回避の機能を設定します。」、「以下の項目に入力をお願いします。」と記載されている。
図10には、設定対象の項目として、「手が届く距離」321、「周辺の物体から退避する距離」322、「仮想画面を表示する最接近位置」323が示されている。
「手が届く距離」321は、第1の範囲RAの設定に必要な距離である。図10には、ユーザから奥行方向への水平距離であることが挿絵により示されている。ユーザUが地面や床に立っている場合、水平距離は地面等に平行な距離である。
なお、第1の範囲RAの規定には、奥行方向だけでなく、水平方向の角度や上下方向の角度を与える必要があるので、それらの数値の設定欄を設けてもよい。図10の場合、距離の単位はセンチメートルであるが、インチでもよい。
「周辺の物体から退避する距離」322は、第1の距離LT1を与える距離である。図10では、物体ROと仮想画面VDとの間に確保する距離であることが挿絵により示されている。図10の場合、距離の単位はセンチメートルであるが、インチでもよい。
「仮想画面を表示する最接近位置」323は、第2の距離LT2を与える距離である。図10では、ユーザと仮想画面VDとの間に確保する距離であることが挿絵により示されている。図10の場合、距離の単位はセンチメートルであるが、インチでもよい。
このうち、「手が届く距離」321は、仮想画面VDの退避が必要か否かの判定に使用され、「周辺の物体から退避する距離」322と「仮想画面を表示する最接近位置」323は、は、仮想画面VDを物体ROから退避させる場合に使用される。仮想画面VDと物体ROとの距離が第1の距離LT1以内の場合、仮想画面VDの退避が実行される。ただし、退避後の位置(以下「退避位置」という)とユーザとの距離は、第2の距離LT2以上に設定される。
この他、設定画面320には、「戻る」のラベルが付されたボタン324と、「設定」のラベルが付されたボタン325が配置されている。
ボタン324が操作されると、設定画面320は、設定画面300(図9参照)に切り替わる。この場合、設定画面320で入力された数値は設定には至らない。
ボタン325が操作されると、設定画面320で入力された数値が設定される。
図11は、ジェスチャによる第1の範囲RAの設定を説明する図である。(A)は第1の範囲を設定する様子をユーザUの背方から見た図である。(B)は第1の範囲を設定する様子をユーザUの側方から見た図である。
ジェスチャによる第1の範囲RAの設定はボタン310(図9参照)が操作された場合に実行される。
ジェスチャによる設定は、仮想画面VDに表示される案内文やスピーカ102(図2参照)から再生される音声ガイドに従って実行される。
図11(A)の場合、xRデバイス10からは「可動囲を登録します。」、「正面を向いたまま、操作に使用する手や足を大きく動かしてください。」、「操作時に器具を使用する場合は、器具を用いてください。」との音声ガイドが再生されている。
図11(A)のユーザUは、空中に大きな円を描いている。円で囲まれた範囲が第1の範囲RAとして設定される。
図11(B)では、第1の範囲RAがxRデバイス10からの距離L(t)で規定される様子を表している。括弧内のtnは、時点tnに測定された距離L(t)を表している。
ジェスチャを用いる場合、ユーザUが実際に操作に使用する可能性がある第1の範囲RAを正確に設定することが可能である。
なお、第1の距離LT1や第2の距離LT2も、ジェスチャによる設定が可能である。例えば左手と右手の間の距離として設定することが可能である。もっとも、第1の距離LT1や第2の距離LT2は、音声により設定することも可能である。例えば「5cmに設定してください」との発話により設定が可能である。
<第1の範囲の設定例>
図12は、第1の範囲RAの設定例を説明する図である。(A)は第1の範囲RAの基本例であり、(B)は利き手側の範囲を他方に比べて広く設定する例であり、(C)はマージン分だけ第1の範囲RAを拡大する例であり、(D)は利き手とは反対側の範囲を狭める例である。
図12は、図6(A)との対応部分に対応する符号を付して示している。すなわち、図12(A)、(B)、(C)、(D)は、いずれもユーザUを上空から見た図を表している。
図12(A)は、第1の範囲RAの基本形状であり、ユーザUの正面方向に対して左右対称となる。
図12(B)~(D)は、利き手として右手が設定された場合における第1の範囲RAの設定例である。
図12(B)の場合、第1の範囲RAの形状は、図12(A)に示す基本形状のまま、ユーザUの上空から見て時計回りに回転されている。
図12(C)に示す第1の範囲RAは、利き手として右手が設定され、かつ、マージン設定が「あり」の場合である。図12(C)に示す第1の範囲RAは、図12(B)に示す第1の範囲RAよりもマージン分だけ広くなっている。
図12(D)に示す第1の範囲RAは、図12(A)に示す基本形状のうち右手が届きにくいユーザUの左前方が削除されている。
図12に示すように、第1の範囲RAは、利き手の設定の有無やマージンの設定の有無に応じて様々な形状をとる。すなわち、利き手側に範囲を広げるだけでなく、利き手との反対側の範囲だけを狭めることもある。
<処理動作>
以下では、仮想画面VDの退避機能が実行される情報端末20(図1参照)で実行される処理動作について説明する。以下に示す処理動作や機能は、プロセッサ201(図5参照)によるプログラムの実行を通じて実現される。
<基本パラメータの設定動作>
図13は、基本パラメータの設定動作例を説明するフローチャートである。図中に示す記号のSは、ステップを意味する。
まず、プロセッサ201は、衝突回避機能の設定か否かを判定する(ステップ1)。
ステップ1で否定結果が得られた場合、プロセッサ201は、処理を終了する。
ステップ1で肯定結果が得られた場合、プロセッサ201は、ユーザに関する情報を受け付ける(ステップ2)。この処理は、設定画面300(図9参照)による情報の入力に対応する。
次に、プロセッサ201は、各閾値の個別設定か否かを判定する(ステップ3)。
ステップ3で肯定結果が得られた場合、プロセッサ201は、ユーザUの選択した手法に基づいて閾値を設定する(ステップ4)。ステップ4は、「画面で設定」、「ジェスチャで設定」、「音声で設定」のいずれかによる設定が選択された場合に実行される。
ステップ3で否定結果が得られた場合、プロセッサ201は、ユーザUに関する情報を用いて閾値を推定し、推定された閾値を設定する(ステップ5)。
ステップ4又はステップ5の実行により、閾値の初期設定は終了する。
<仮想画面の退避動作>
図14は、実施の形態1における仮想画面VDの退避動作例を説明するフローチャートである。図中に示す記号のSは、ステップを意味する。
まず、プロセッサ201(図5参照)は、衝突回避機能がオンか否かを判定する(ステップ11)。
ステップ11で否定結果が得られている間、プロセッサ201は、ステップ11の判定を繰り返す。
ステップ11で肯定結果が得られた場合、プロセッサ201は、ユーザUの周囲に存在する物体ROまでの距離を測定する(ステップ12)。
ユーザUの周囲の物体ROまでの距離の測定が終了すると、プロセッサ201は、仮想画面VDの初期位置が第1の範囲RA内にあるか否かを判定する(ステップ13)。
ステップ13で否定結果が得られた場合、プロセッサ201は、初期位置に仮想画面VDを表示する(ステップ14)。初期位置は、例えばxRデバイス10(図1参照)の正面方向に50cmの位置として規定される。勿論、ここでの初期位置は一例であり、ユーザUが個別に調整することも可能である。
ステップ13で肯定結果が得られた場合、プロセッサ201は、第1の範囲RA内に物体ROがあるか否かを判定する(ステップ15)。
ステップ15で否定結果が得られた場合、仮想画面VDの衝突回避は不要であるので、プロセッサ201は、ステップ12に戻る。
ステップ15で肯定結果が得られた場合、プロセッサ201は、第1の範囲RA内の物体は単数か否かを判定する(ステップ16)。
対象とする物体ROが1つの場合、プロセッサ201は、ステップ16で肯定結果を得る。この場合、プロセッサ201は、退避位置の候補が最接近位置より近いか否かを判定する(ステップ17)。ここでの退避位置は、仮想画面VDを第1の距離LT1だけ予め定めた方向に移動させた後の位置である。退避の方向は、例えばユーザUに近づく方向に設定される。なお、仮想画面VDの退避に使用する距離は、第1の距離LT1と同じである必要はない。
ただし、仮想画面VDの退避に使用する距離を第1の距離LT1に設定することで、退避位置が、物体ROから第1の距離LT1以上離れる可能性が高くなる。
もっとも、仮想画面VDの退避に使用する距離が第1の距離LT1より短くても、退避位置が第1の距離LT1以上離れるまで退避を繰り返せばよい。
また、退避の距離は、退避の方向の違いにより異なってもよい。例えばユーザUに近づく方向に退避する場合と、ユーザUから遠ざかる方向に退避する場合とで距離が異なってもよい。例えばユーザUから遠ざかる方向に対する距離は、ユーザUに近づく方向に退避する距離よりも短くしてもよい。ユーザUから遠ざかる方向にも、ユーザUに近づく方向と同じ距離だけ退避させることで、ユーザUの体の部位等が仮想画面VDに届かなくなる可能性が生じるためである。また、物体ROの奥側への退避であれば、仮想画面VDの手前に物体ROが位置するため、ユーザUが物体ROとの接触を未然に回避できるためである。
ステップ17で肯定結果が得られた場合、プロセッサ201は、最接近位置に仮想画面VDを表示する(ステップ18)。すなわち、ユーザUに接近可能な最小距離の位置に仮想画面VDが表示される。この場合、退避後の仮想画面VDと物体ROとの距離が第1の距離LT1だけ確保されない可能性が残るが、仮想画面VDは、初期位置よりもユーザUに近づく方向に退避される。このため、ジェスチャ操作中に体の部位等が物体ROと衝突する可能性は初期位置よりも少なくなる。
ステップ17で否定結果が得られた場合、プロセッサ201は、退避位置の候補を退避位置に確定し、仮想画面VDを表示する(ステップ19)。この表示により、仮想画面VDに対するジェスチャ操作に際し、ユーザUの周辺に存在する物体ROとの衝突の可能性は低減される。
ステップ16の説明に戻る。
ステップ16で否定結果が得られた場合、プロセッサ201は、退避位置の候補が最接近位置より近い場合が1つでもあるか否かを判定する(ステップ20)。
ここでの退避位置の候補は、ユーザUの周辺に存在する複数の物体RO毎に複数存在する。
例えば第1の範囲RA内に存在する物体ROの数が3つの場合、退避位置の候補は3つ存在する。プロセッサ201は、これら3つの候補のうちの1つでも最接近位置よりもユーザUに近い場合、ステップ20で肯定結果を得る。この場合、プロセッサ201は、ステップ18に移行する。
一方、ステップ20で否定結果が得られた場合、プロセッサ201は、ユーザUに最も近い退避位置の候補を退避位置に確定し、仮想画面VDを表示する(ステップ21)。この退避により、もっとも、衝突の可能性があるユーザUに最も近い位置の物体ROからも可能な限り仮想画面VDを退避することが可能になる。勿論、より遠くに位置する物体ROと衝突する可能性は、仮想画面VDの初期位置からの退避により、衝突の可能性は一段と低下される。
図14の場合、ステップ18、ステップ19又はステップ21の実行後、プロセッサ201は、図14に示す一連の処理を一旦終了する。この場合、プロセッサ201は、再びステップ11の判定を実行する。もっとも、プロセッサ201は、ステップ18、ステップ19又はステップ21の実行後にステップ12に戻ってもよい。
図14に示す仮想画面VDの退避動作とは別に、プロセッサ201は、仮想画面VDに対するジェスチャ操作の受け付け処理、受け付けた処理の実行等を実行する。
ところで、プロセッサ201による仮想画面VDの退避位置は、以下の条件を満たすことが必要である。
条件の1つは、退避位置がユーザUの視野内に含まれることである。仮想画面VDの視認性が維持されることが前提だからである。
同様の条件として、退避位置がxRデバイス10(図1参照)の視野角内に含まれることである。仮想画面VDの表示は、xRデバイス10の物理的な性能の制約を受けるためである。仮想画面VDの退避位置がユーザUの視野内でも、xRデバイス10の視野外ではユーザUに仮想画面VDを視認させることは無理である。
他の条件は、退避位置がユーザUによるジェスチャ操作が可能な範囲内であることである。ここでのジェスチャ操作が可能な範囲とは、ユーザUの体の部位等が届く範囲内の意味である。すなわち、退避位置は、第1の範囲RA内に設定される。
本実施の形態では、仮想画面VDに仮想的に触れる操作をジェスチャ操作とみなすためである。例えば仮想画面VDをユーザUから2m先に退避させる場合、補助具等を使用しても、仮想画面VDの表面を触れられない可能性が高くなる。
また、図14に示す退避動作は、xRデバイス10により空中に表示される仮想画面VDが1つの場合を想定しているが、複数の仮想画面VDが表示される場合にも適用が可能である。この場合、仮想画面VDの退避は、複数の仮想画面VDを一体として実行するものとして読み替える。
<仮想画面の退避例>
以下、図15~図23を使用して、仮想画面VDの具体的な退避例について説明する。
<退避例1>
図15は、仮想画面VDの表示位置を物体ROからユーザUに近づける方向に退避させる例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。
図15(A1)の場合、テーブル3の天板上に仮想画面VDが見えているが、その背後に位置する飲み物5は見えていない。図15(A2)によれば、xRデバイス10から仮想画面VDまでの距離はL0、xRデバイス10から飲み物5までの距離はL1である。そして、距離L0と距離L1との差はL2である。
因みに、L2<LT1である。この位置関係では、仮想画面VDの表面に配置されたボタンのタップや仮想画面VDのスワイプ等の際に飲み物5と接触する可能性が高い。また、この例では、仮想画面VDの背後に隠れている物体ROが比較的軽量で容易に移動する飲み物5であるが、硬質の固着物であると、物体ROとの接触によりユーザUが怪我を負う可能性もある。
一方、図15(B1)及び(B2)では、仮想画面VDの表示位置が、ユーザUの方向に退避されている。この例では、飲み物5から第1の距離LT1だけ離れる位置に仮想画面VDの表示位置が移動されている。第1の距離LT1は、ジェスチャ操作に使用する指先等が仮想画面VDの背面側を移動する距離を考慮して定められるため、飲み物5と接触する可能性は、仮想画面VDが初期位置に表示される場合よりも少なくなる。
なお、図15(B2)の場合、仮想画面VDは、ユーザUの方向にLT1-L2の距離だけ移動されているが、仮想画面VDを第1の距離LT1だけ移動させることも可能である。その場合、仮想画面VDと飲み物5との距離は、LT1+L2となる。
<退避例2>
図16は、仮想画面VDの背後に、事後的に物体ROが置かれる場合の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は物体ROとしての飲み物5がテーブル3に置かれた状態を示し、(C1)及び(C2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図16には、図15との対応部分に対応する符号を付して示している。
退避例1の場合は、テーブル3に飲み物5が置かれている状態で、仮想画面VDの表示位置が事後的に近接する場合を想定していたが、退避例2では、仮想画面VDが表示されている位置に、飲み物5等の物体ROが置かれる場合である。
この場合でも、新たな物体ROが検知された時点で、仮想画面VDが衝突の可能性が少ない位置へと退避される。図16(C1)及び(C2)は、飲み物5等の物体ROが検知された後の退避である。
一方で、ユーザUのジェスチャ操作に基づかない仮想画面VDの移動は、ユーザUに戸惑いを与える可能性がある。
このため、仮想画面VDの表示中に衝突退避機能により仮想画面VDの表示位置が移動される場合には、その旨をユーザUに通知してもよい。
ここでの通知は、例えばスピーカ102(図3参照)からの再生音や音声を用いてもよいし、バイブレータによる振動を用いてもよいし、表示中の仮想画面VDに注意文等を表示してもよいし、表示中の仮想画面VDとは別に注意喚起用の仮想画面VDを表示してもよい。
<退避例3>
図17は、退避位置の候補が第2の距離LT2よりもユーザUに近い場合の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図17には、図15との対応部分に対応する符号を付して示している。
退避例3で使用する第1の距離LT1は、退避例1で使用する第1の距離LT1よりも長い場合を想定する。この場合、飲み物5から第1の距離LT1だけユーザUに近い位置は、仮想画面VDの表示が禁止される第2の距離LT2に含まれてしまう。換言すると、退避位置の候補が、第2の範囲RBに含まれてしまう。
そこで、退避例3では、ユーザUから第2の距離LT2の位置を仮想画面VDの退避位置とする。この場合、退避後の仮想画面VDと飲み物5との距離は、第1の距離LT1よりも短くなる。ただし、初期位置よりは、仮想画面VDと飲み物5との距離が長くなる。
このため、退避例1よりはジェスチャ操作中に飲み物5等の物体ROとの衝突の可能性が高くなるが、初期位置の場合に比べると、衝突の可能性が低くなる。
<退避例4>
図18は、複数の仮想画面VD1及びVD2が奥行方向に配列されている場合の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VD1及びVD2とユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VD1及びVD2とユーザUとの位置関係を示す。図18には、図15との対応部分に対応する符号を付して示している。
退避例4の場合、2つの仮想画面VD1及びVD2が表示されており、ユーザUから見て後方に位置する仮想画面VD2の表示位置が、飲み物5と重なっている。もっとも、後方側の仮想画面VD2の手前側には、別の仮想画面VD1が表示されているので、後方側に位置する仮想画面VD2が飲み物5と重なっていることは、ユーザUには分からない。
ただし、2つの仮想画面VD1及びVD2のうち後方側の仮想画面VD2が表示される高さは、手前側の仮想画面VD1が表示される高さよりも上方にオフセットされている。このため、手前に表示された仮想画面VD1の背後に、別の仮想画面VD2が存在することのユーザUによる認識は可能である。
退避例の4の場合、ジェスチャ操作の対象は、ユーザUに対して手前側に位置する仮想画面VD1である。このため、ユーザUに対して手前側に位置する仮想画面VD1が飲み物5に対して退避される。すなわち、仮想画面VD1が、飲み物5から第1の距離LT1だけ離れる方向に退避される。この退避により、ジェスチャ操作に伴う飲み物5との接触の可能性が低減される。
なお、図18(B1)及び(B2)の例では、仮想画面VD1の退避に連動して、奥側に位置する仮想画面VD2も、仮想画面VD1と一体的に退避されている。このため、仮想画面VD2と飲み物5との重なりが解消されている。
もっとも、ジェスチャ操作の対象は、手前側の仮想画面VD1であるので、仮想画面VD1の表示位置だけを退避させ、仮想画面VD2は初期位置のままでもよい。
また、仮想画面VD1及びVD2の表示位置を一体的に退避させる場合、後方側に位置する仮想画面VD2と飲み物5との距離を第1の距離LT1だけ離してもよい。この場合、手前側の仮想画面VD1と飲み物5との距離は、第1の距離LT1よりも更に広くなる。そのため、手前側の仮想画面VD1のジェスチャ操作中に体の部位等が飲み物5と衝突する可能性は、図18(B1)及び(B2)の場合よりも更に低くなる。
もっとも、手前側に位置する仮想画面VD1は、ユーザUにより近づくことになる。このため、手前側に位置する仮想画面VD1とユーザUとの距離が第2の距離LT2より短くなる可能性は、手前側に位置する仮想画面VD1を飲み物5から第1の距離LT1だけ離す場合よりも高くなる。
<退避例5>
図19は、仮想画面VDを上向きに退避する例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図19には、図15との対応部分に対応する符号を付して示している。
退避例5の場合、図19(B2)に示すように、仮想画面VDの退避の前後で、ユーザUと仮想画面VDとの水平距離は変化しない。ただし、仮想画面VDは、飲み物5の上端部から上方に第1の距離LT1だけ離れるので、仮想画面VDのジェスチャ操作の際に、ユーザUの体の部位等が飲み物5と衝突する可能性が低減される。
退避例5の場合、図19(B1)に示す仮想画面VDの退避により、その背後に位置していた飲み物5がユーザUから見える状態になる。
もっとも、図19(B2)では、飲み物5の上端部を基準として第1の距離LT1だけ仮想画面VDを移動させているが、単純に初期位置から上方に、第1の距離LT1だけ仮想画面VDを移動させることも可能である。
ただし、初期位置から上方に仮想画面VDを移動させる場合には、仮想画面VDの背後に位置する飲み物5等の物体ROの高さ方向の寸法が長い場合、移動後も仮想画面VDと飲み物5等の物体ROとの重複が残る可能性がある。その場合には、仮想画面VDをxRデバイス10から見て上方に移動させるだけでなく、手前側に予め定めた距離、例えば第1の距離LT1だけ移動させてもよい。
もっとも、上方への仮想画面VDの移動により背後に隠れていた飲み物5に気づける状況では、退避後の仮想画面VDと飲み物5の距離が近くても、初期位置に仮想画面VDを表示し続ける場合に比して、衝突の可能性は低減される。
なお、仮想画面VDの退避の方向は上方に限らず、下方でも構わない。
<退避例6>
図20は、仮想画面VDを横方向に退避する例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図20には、図15との対応部分に対応する符号を付して示している。
退避例6の場合、仮想画面VDは、図20(B1)に示すように、ユーザUから見て飲み物5の左方向に移動されている。このため、図20(B2)に示すように、仮想画面VDの退避の前後で、ユーザUと仮想画面VDとの水平距離は変化しない。
ただし、仮想画面VDは、飲み物5の左端部から左方向に第1の距離LT1だけ離れるだけでなく、初期位置では仮想画面VDの背後に隠れていた飲み物5の全体が見える状態になる。
このため、ユーザUは、飲み物5の存在を意識した上で、仮想画面VDをジェスチャ操作することが可能である。すなわち、ユーザUの体の部位等が飲み物5と衝突する可能性が低減される。
なお、図20(B2)では、飲み物5の左端部を基準として第1の距離LT1だけ仮想画面VDを移動させているが、単純に初期位置から左方に、仮想画面VDを第1の距離LT1だけ移動させることも可能である。
ただし、初期位置から左方に仮想画面VDを移動させる場合には、仮想画面VDの背後に位置する飲み物5等の物体ROの左方向の寸法が長い場合、移動後も仮想画面VDと飲み物5等の物体ROとの重複が残る可能性がある。その場合には、仮想画面VDをxRデバイス10から見て左方に移動させるだけでなく、手前側に予め定めた距離、例えば第1の距離LT1だけ移動させてもよい。
もっとも、左方への仮想画面VDの移動により背後に隠れていた飲み物5に気づける状況では、退避後の仮想画面VDと飲み物5の距離が近くても、初期位置に仮想画面VDを表示し続ける場合に比して、衝突の可能性は低減される。
なお、仮想画面VDの退避の方向は左方に限らず、右方でも構わない。
この他、退避の方向は、斜め左上、斜め左下、斜め右上、斜め右下のいずれでもよい。また、他の退避例との組み合わせにより、斜め左前方、斜め左後方、斜め手前上方、斜め奥上方、斜め右前方、斜め右奥後方、斜め手前下方、斜め奥下方など、任意の方向への移動が可能である。
<退避例7>
図21は、ユーザUの前方のテーブル3に複数の飲み物5A及び5Bが置かれている場合における仮想画面VDの退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUと飲み物5A及び5Bとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUと飲み物5A及び5Bとの位置関係を示す。図21には、図15との対応部分に対応する符号を付して示している。
図21(A2)及び(B2)の場合、2つの飲み物5A及び5Bは、ユーザUから見て奥方向に並んでいる。この並びの場合、ジェスチャ操作で衝突する可能性が高いのは、手前側に位置する飲み物5Aである。このため、退避例1と同様、手前側に位置する飲み物5Aと仮想画面VDとの距離L2が第1の距離LT1以下の場合、仮想画面VDを表示する位置の退避が実行される。図21(B1)及び(B2)に示す仮想画面VDの退避は、退避の原因となる物体ROの個数以外は、退避例1と同じである。
なお、ユーザUと飲み物5Aの距離L1とユーザUと飲み物5Bの距離L1が同じ場合、仮想画面VDの退避位置の候補は、飲み物5Aと飲み物5Bの両方に対して基準を満たすか否かが判定される。
<退避例8>
図22は、仮想画面VDの表示位置をユーザUから見て物体ROの奥方向に退避させる例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図22には、図15との対応部分に対応する符号を付して示している。
退避例8では、図22(B2)に示すように、仮想画面VDが、飲み物5までの距離L1を基準に、さらに奥方向に第1の距離LT1だけ移動される。勿論、他の退避例と同じく、仮想画面VDの初期位置を基準に第1の距離LT1だけ移動させてもよい。
図22(B1)及び(B2)の場合、飲み物5の全体が、仮想画面VDの手前側に現れる。このため、ユーザUは、飲み物5の存在に気づいた状態でジェスチャ操作の実行が可能である。
ただし、退避後の仮想画面VDの表示位置と飲み物5の距離L2が近い場合や退避後の仮想画面VDの表示位置が飲み物5と重なっている場合、ユーザUによる仮想画面VDの視認性が低下する可能性がある。しかし、その場合には、ユーザUが顔の向きを変えて仮想画面VDが表示される位置を変更することで、仮想画面VDの見えづらさを解消することが可能である。
また、退避後の仮想画面VDにおける操作ボタン等がユーザUから見て飲み物5のすぐ後ろに位置する場合、ジェスチャ操作の際における飲み物5に気づかずに衝突することはなくても、操作ボタン等の操作は難しい。この場合も、ユーザUが顔の向きを変えて仮想画面VDが表示される位置を変更することで、仮想画面VDの操作ボタン等を安全にジェスチャ操作すること可能である。
なお、ユーザUの身体的な制約やxRデバイス10を使用する環境等によっては、ユーザUが自由に顔の向きを変更すること自体が難しい場合も考えられる。
しかし、その場合には、仮想画面VDの表示位置を、ユーザUの指示により初期位置から移動可能にしてもよい。例えば音声により仮想画面VDの移動距離を増やしてもよく、表示位置の変更を指示してもよい。また、仮想画面VDのうち飲み物5と重なっていない領域部分を奥行方向に押し下げるジェスチャ操作、飲み物5と重なっていない領域部分の側部を反対方向に払うジェスチャ操作、摘んで別の場所に移動させるジェスチャ操作等により、仮想画面VDの表示位置を初期位置から変更してもよい。勿論、移動後の表示位置は、ユーザUのジェスチャ操作が可能な範囲内に移動させる。
<退避例9>
図23は、仮想画面VDが周囲の物体ROと空間上で重なる場合の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)はユーザUの顔の向きが変化した直後の仮想画面VDとユーザUとの位置関係を示し、(C1)及び(C2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図23には、図15との対応部分に対応する符号を付して示している。
なお、図23(A2)、(B2)及び(C2)は、いずれもユーザUを上空から見た図を表している。
図23では、ユーザUが2枚のパーテーション9A及び9Bで囲まれた角に位置する場合を想定している。もっとも、パーテーション9A及び9Bは一例であり、部屋等の壁際でも同じ状況が発生する。また、仮想画面VDの表示位置の一部又は全部が周辺の物体ROと重なる場合は、前述した他の退避例でも生じ得る。
図23(A1)及び(A2)の場合、ユーザUはパーテーション9Aと正対しており、仮想画面VDもパーテーション9Aよりも手前側に位置している。なお、ユーザUの右手側には別のパーテーション9Bが存在するが、ユーザUには見えているので、支障なく、仮想画面VDに対するジェスチャ操作が可能である。
図23(B1)及び(B2)は、ユーザUが上空から見て時計回りに体の向きを変更した場合を表している。この場合でも、仮想画面VDの表示は、現実空間の制約を受けないので、ユーザUの正面に表示される。そのため、図23(B2)に示す例では、仮想画面VDの一部がパーテーション9Bを突き抜ける位置にある。現実のディスプレイでは、図23(B2)の配置は起こり得ないが、仮想画面VDはユーザUの脳が認識している仮想のオブジェクトであるので、パーテーション9Bの内側に仮想画面VDが存在するように視認される。
没入感が高い場合、ユーザUは、実在するパーテーション9Bの存在を忘れ、パーテーション9Bと重なる領域の仮想画面9Bをジェスチャ操作しようとして、体の部位等をパーテーション9B衝突させてしまう可能性がある。
しかし、図23(C1)及び(C2)のように、仮想画面VDが、パーテーション9A及び9Bの双方から第1の距離LT1だけ水平方向に退避されれば、ユーザUは、顔の向きを変えることなく、仮想画面VDの視認とジェスチャ操作を支障なく続けることが可能になる。
もっとも、図23(C1)及び(C2)の場合、仮想画面VDの表示位置は、パーテーション9A及び9Bの双方から第1の距離LT1だけ離れることが求められる。結果的に退避位置の候補が第2の範囲RB内に位置する可能性がある。その場合、退避例3と同じく、ユーザUから第2の距離LT2の位置を退避位置として仮想画面VDを表示してもよい。その場合、仮想画面VDとパーテーション9A及び9Bの両方又はいずれか一方との距離が第1の距離LT1より短くなる可能性もあるが、少なくとも初期位置よりは、ユーザUによるジェスチャ操作中の周辺の物体ROとの衝突の可能性が低減される。
また、ユーザUから第2の距離LT2の位置に仮想画面VDを表示しても、仮想画面VDの一部領域とパーテーション9A及び9Bの両方又はいずれか一方との重なりが解消されない可能性がある。この場合には、ユーザUに対して音声等で位置の移動を推奨することが望ましい。例えば「あと5cmだけ後ろに下がれませんか?」や「もう少し反時計回りの方向に顔を向けられませんか?」等の音声を出力することで、ジェスチャ操作中の周辺の物体ROとの衝突の可能性が低減される。
なお、仮想画面VDのうち周辺の物体ROと重なる部分の輝度や色調を変更して、ユーザUに注意を喚起してもよい。例えば輝度を低下させて視認性を低下させ、ジェスチャ操作の対象として認識されないようにしてもよい。また、該当領域を赤系統の色調で表示し、ジェスチャ操作には適しない領域であることをユーザUに通知してもよい。
もっとも、仮想画面VDの表示に適した退避位置が見つからない場合には、仮想画面VDの表示を停止させる機能を設けてもよい。なお、ユーザUの姿勢の変化や位置の変化等により、仮想画面VDの表示が可能になれば、即座に、仮想画面VDの表示が再開される。
<実施の形態2>
本実施の形態では、衝突回避機能による仮想画面VDの退避を実行しない機能を追加する場合について説明する。
図24は、実施の形態2における仮想画面VDの退避動作例を説明するフローチャートである。図24には、図14との対応部分に対応する符号を付して示している。
本実施の形態の場合、プロセッサ201(図5参照)は、ステップ11で肯定結果が得られると、仮想画面VDは操作用のアイコンを含むか否かを判定する(ステップ31)。
操作用のアイコンには、例えばスライダバー、テンキー、ファンクションキー、キーボードの各キー、操作パネル、機能ボタン、プルダウンメニュー、タスクバー、ファイルアイコン、フォルダアイコン、サムネイル、アバター、キャラクタがある。アイコンは、仮想のオブジェクトの一部の場合もあれば、単独で仮想のオブジェクトの場合もある。
例示したアイコンの例の呼び名は様々であるが、操作用のアイコンには、コンピュータに対する入出力、機能の呼び出し、データファイルの違いを表現するユーザインターフェースに関する表示が含まれる。
従って、表示上の模様や画像の一部のように、操作上の機能に紐付けられていないアイコンは、操作用のアイコンとはみなさない。
なお、ステップ31の判定は、換言すると、仮想画面VDが表示専用か否かの判定とみなすことも可能である。表示専用とは、例えば仮想画面VDに映像コンテンツだけが表示される場合、編集機能がオフである場合である。
ステップ31で肯定結果が得られた場合、プロセッサ201は、図14におけるステップ12以降の処理を実行する。
一方、ステップ31で否定結果が得られた場合、プロセッサ201は、初期位置に仮想画面VDを表示する(ステップ32)。すなわち、ステップ31で否定結果が得られた場合、プロセッサ201は、仮想画面VDの退避は行わない。結果的に、仮想画面VDは、xRデバイス10(図1参照)の前方の特定の位置に表示され続ける。
なお、表示位置の退避は実行されないが、例えばユーザUの顔の向きが変化すると、xRデバイス10に対して予め定めた位置に仮想画面VDが移動する。
図25は、仮想画面VDが操作用のアイコンを含まない場合の処理動作を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は仮想画面VDに操作用のアイコンが含まれない場合における仮想画面VDとユーザUとの位置関係を示す。図25には、図15との対応部分に対応する符号を付して示している。
図25(A1)及び(A2)の場合、仮想画面VDと飲み物5の距離L2は、第1の距離LT1以下である。ただし、仮想画面VDには、操作用のアイコンが含まれていない。このため、図25(B1)及び(B2)における仮想画面VDの表示位置は、図25(A1)及び(A2)と同じである。
<実施の形態3>
本実施の形態では、衝突回避の対象となる物体が可動物である場合に特有の機能について説明する。
図26は、実施の形態3における仮想画面VDの退避動作例を説明するフローチャートである。図26には、図14との対応部分に対応する符号を付して示している。
本実施の形態の場合も、プロセッサ201(図5参照)は、衝突回避機能がオンである場合(すなわち、ステップ11で肯定結果の場合)、ユーザの周囲に存在する物体までの距離を測定する(ステップ12)。
次に、プロセッサ201は、仮想画面VDの初期位置が第1の範囲RA内にあるか否かを判定する(ステップ13)。
ステップ13で肯定結果が得られた場合、プロセッサ201は、第1の範囲RA内に物体ROがあるか否かを判定する(ステップ15)。
ステップ15で否定結果が得られた場合、プロセッサ201は、ステップ12に戻る。
一方、ステップ15で肯定結果が得られると、本実施の形態におけるプロセッサ201は、検知された物体ROは予め定めた時間以上同じ場所に存在するか否かを判定する(ステップ41)。
ここでの判定は、おおよそ静止物か否かの判定に相当する。閾値として用いられる時間は、初期値でもよいし、ユーザUが与えてもよい。また、閾値の時間は、事後的に修正が可能である。
ステップ41で肯定結果が得られた場合、例えば物体ROが飲み物5(図1参照)の場合、プロセッサ201は、図14におけるステップ16以降の処理を実行する。ここでの処理は、物体ROが静止物の場合であるので、実施の形態1と共通である。
ステップ41で否定結果が得られた場合、プロセッサ201は、ステップ42に移行する。ステップ41で否定結果が得られる場合とは、第1の範囲RA内に存在する物体ROが可動物と判定される場合である。もっとも、可動物の範囲は広く、例えば図16で説明した退避例2のように、テーブル3に置かれた直後の飲み物5は可動物に含まれる。ただし、テーブル3に置かれたまま、ある時間以上同じ場所に位置する飲み物5は静止物として判定される。
また、お掃除ロボット、風にそよぐカーテンや木の枝等も可動物に含まれる。このように、可動物と判定される物体ROの範囲は広い。
ステップ42に移行したプロセッサ201は、物体ROの移動スケジュールの取得が可能か否かを判定する。
移動スケジュールとは、移動の経路や各地点を通過する目安の時間を定めた情報である。もっとも、広義の移動スケジュールは、移動の経路だけを与える情報でもよい。
移動スケジュールの取得が可能な場合とは、可動物と判定された物体ROに紐付けられた移動スケジュールの存在を前提として、対象とする物体ROとの直接又は他の端末経由での通信を通じて取得できる場合、又は、移動スケジュールを管理するサーバ等から取得が可能な場合をいう。
また、移動スケジュールの取得には、移動スケジュールを有する可動物が複数存在する場合には、可動物と判定された物体ROの識別が可能であることが要求される。
これらの条件が1つでも満たされない場合、プロセッサ201は、ステップ42で否定結果を得る。
なお、ステップ42で肯定結果が得られた場合、プロセッサ201は、物体ROの移動範囲を移動スケジュールから予測する(ステップ43)。
予測であるので、物体ROの位置は、ある程度の広がりをもった範囲として予測される。ステップ44やステップ47の予測についても同様である。
一方、ステップ42で否定結果が得られた場合、プロセッサ201は、物体ROの動きから物体ROの移動範囲を予測する(ステップ44)。例えばカーテンや木の枝の動きから移動範囲が予測される。
ステップ43又はステップ44の実行により移動範囲が予測されると、プロセッサ201は、予測された移動範囲を物体ROの位置とみなしてステップ16(図14参照)以降の処理を実行する(ステップ45)。
なお、可動物と判定された物体ROが複数の場合、それぞれについて、ステップ42以降の処理が実行される。
ステップ13の説明に戻る。
ステップ13で否定結果が得られた場合、プロセッサ201は、移動スケジュールの取得が可能な物体ROがあるか否かを判定する(ステップ46)。
ここでの物体ROは、第1の範囲RAの外側に位置する物体ROであればよく、測位センサ104(図2参照)で測位可能な位置に存在することやカメラ105(図2参照)で撮像可能な位置に存在することとは無関係である。
ステップ46で肯定結果が得られた場合、プロセッサ201は、物体ROの移動範囲を移動スケジュールから予測する(ステップ47)。
その後、プロセッサ201は、予想された移動範囲に仮想画面VDの初期位置が含まれるか否かを判定する(ステップ48)。ここでは初期位置としているが、判定時点における表示位置を含む。
ステップ48で肯定結果が得られた場合、プロセッサ201は、ステップ45に移行する。すなわち、プロセッサ201は、予測された移動範囲を物体の位置とみなしてステップ16以降の処理を実行する。
なお、ステップ46又はステップ48で否定結果が得られた場合、プロセッサ201は、初期位置に仮想画面VDを表示する(ステップ14)。
<退避例1>
図27は、ユーザUに向かって接近する人Hがいる場合の退避例を説明する図である。(A)は人Hが第1の範囲RAの外側をユーザUに向かって移動している状態を示し、(B)は人Hが第1の範囲RAに入った状態を示す。図27には、図15との対応部分に対応する符号を付して示す。
図27(A)の場合、ジェスチャ操作中に人Hとの衝突の可能性はない。このため、仮想画面VDは初期位置に表示される。なお、図27(A)に示す場合は、ステップ46(図26参照)で否定結果が得られ、ステップ14(図26参照)が実行される場合に対応する。
一方、図27(B)の場合、人Hは、第1の範囲RAの内側に入っている。この場合、プロセッサ201は、人Hを可動物として検知する。すなわち、ステップ41(図26参照)で否定結果を得る。人Hの移動スケジュールは存在しないので、人Hの動きから移動範囲を予測し、仮想画面VDの退避が実行される。この場合は、ステップ42(図26参照)で否定結果が得られる場合に対応する。
図27(B)では、仮想画面VDが人Hから遠ざかる方向に退避されている。図27(B)では、仮想画面VDがユーザUの左側に退避する結果、仮想画面VDの背後から接近していた人Hの視認が可能になる。
なお、退避例1では、人HがユーザUに近づいて来る場合を想定したが、人HがユーザUの傍を通り過ぎる場合にも、同様の退避処理が実行される。
<退避例2>
図28は、2人のユーザU1及びU2のそれぞれが仮想画面VD1及びVD2を見ている場合の退避例を説明する図である。(A)はユーザU1の第1の範囲RA1とユーザU2の第1の範囲RA2の一部が互いに重なっているが互いのジェスチャ操作が可動物と認識されない状態を示し、(B)はユーザU2のジェスチャ操作がユーザU1側の第1の範囲RA1内の可動物として認識された場合を示す。図28には、図15との対応部分に対応する符号を付して示している。
図28(A)に示すように、ユーザU1とユーザU2はそれぞれxRデバイス10A及び10Bを装着しており、それぞれ別の仮想画面VD1及びVD2を視認している。ユーザU1は仮想画面VD1を視認し、ユーザU2は仮想画面VD2を視認している。すなわち、ユーザU1は仮想画面VD2の存在を認識しておらず、ユーザU2は仮想画面VD1の存在を認識していない。
図28(A)の場合、ユーザU1もユーザU2もジェスチャ操作をしていない。このため、図28(A)では、仮想画面VD1及びVD2は初期位置に表示されたままである。この場合は、ステップ15(図26参照)で否定結果が得られる場合に対応する。
図28(B)では、ユーザU2の右手がジェスチャ操作中にユーザU1側の第1の範囲RA1に含まれた結果、可動物として認識され、仮想画面VD1の退避処理が実行された様子を表している。
図28(B)には、ユーザU1が視認している仮想画面VD1の退避前の位置が破線で示されている。仮想画面VD1を退避しなかった場合、ユーザU1の右手とユーザU2の右手の可動範囲が重なるため、互いの手が衝突する可能性がある。しかし、ユーザU1のジェスチャ操作が開始する前に仮想画面VD1の表示位置を初期位置から退避させることで、ユーザU1の右手とユーザU2の右手の衝突は未然に回避される。この場合は、ステップ42(図26参照)で否定結果が得られる場合に対応する。
勿論、ユーザU1のジェスチャ操作が、ユーザU2側の第1の範囲RA2内に入ることがあれば、仮想画面VD2についての退避処理が実行される。
<退避例3>
図29は、移動型のロボット30の移動スケジュールの取得が可能な場合における退避例を説明する図である。(A)はロボット30が第1の範囲RAの外に存在している状態を示し、(B)はロボット30が第1の範囲RAに近づいた状態を示す。図29には、図15との対応部分に対応する符号を付して示す。
図29(A)に示すロボット30は、移動機能を備える印刷装置である。本体31の底面には車輪31Aが複数配置され、それらの少なくとも1つには駆動用のモータが取り付けられている。本体31の内部には、印刷エンジンとなる機構部の他、制御基板や通信デバイスが配置されている。
本体31の上面には、ユーザインターフェースとして使用するディスプレイ32と、印刷物の排出口33が配置されている。また、本体31の上部には、移動経路上の障害物の検知等に使用するLiDARユニット34が設置されている。
制御基板に設けられたプロセッサは、LiDARユニット34からの情報に基づいて移動経路を決定し、移動スケジュールに従って自律的に移動する。なお、本体31では、移動スケジュールだけでなく、印刷スケジュールも管理している。
図29(A)に示すロボット30は、xRデバイス10と連携している情報端末20と通信可能である。このため、情報端末20は、ロボット30から移動スケジュールを取得可能である。なお、情報端末20は、ロボット30の移動スケジュールを管理するサーバ40とも通信が可能である。このため、情報端末20は、サーバ40から移動スケジュールのデータを取得することも可能である。
図29(A)に示すロボット30の位置は、10:00時点における位置である。移動スケジュールによると、ロボット30は、10:16にユーザUの付近に移動することになっている。
図29(B)の例は、10:15におけるロボット30の位置と、仮想画面VDの退避処理の様子を表している。移動スケジュールによると、ロボット30は、10:15にユーザUの付近に移動し、その際に、仮想画面VDの表示位置と接近する可能性がある。
そこで、図29(B)では、ロボット30の接近を予測して仮想画面VDを退避させている。なお、予定より早くロボット30が、ユーザUの第1の範囲RAに侵入した場合には、ロボット30の動きから移動範囲が予測され、仮想画面VDの退避が実行される。この場合は、ステップ42(図26参照)で否定結果が得られる場合に対応する。
<退避例4>
図30は、退避の例外を説明する図である。(A)は窓際のカーテン50が下方に垂れ下がっている場合の仮想画面VDの表示位置を示し、(B)は窓際のカーテン50が風に吹かれて仮想画面VDの付近まで広がった場合の仮想画面VDの表示位置を示す。図30には、図15との対応部分に対応する符号を付して示している。
図26で説明した処理動作では、可動物と判定された場合、動きから予測された移動範囲に基づいて仮想画面VDの退避動作が実行される。
しかし、仮想画面VDのジェスチャ操作中にカーテン50に触れたとしてもユーザUが怪我することもなく、カーテン50を損傷することもない。屋外の細い木の枝や葉っぱに触れた場合も同様である。
そこで、事前に退避の例外とする物体の登録があり、カメラ105(図3参照)で撮像された画像の認識処理により、可動物が例外対象の物体と確認された場合には、仮想画面VDの退避機能を無効化する。
図30(B)では、可動物が例外対象のカーテン50であるので、仮想画面VDの周辺にカーテン50が近づいても、仮想画面VDの表示位置はそのままである。
<実施の形態4>
本実施の形態では、複数の仮想画面VDがユーザUから見て奥方向に並んでいる場合に特有の機能について説明する。
図31は、実施の形態4における仮想画面VDの退避動作例を説明するフローチャートである。図31には、図14との対応部分に対応する符号を付して示している。
本実施の形態の場合も、プロセッサ201(図5参照)は、衝突回避機能がオンであるか否かを判定する(ステップ11)。
ステップ11で肯定結果が得られた場合、プロセッサ201は、複数の仮想画面VDがユーザUから見て奥方向に配列中か否かを判定する(ステップ51)。
本実施の形態において、奥方向に配列中とは、概略一列に並んでいる状態をいう。従って、複数の仮想画面VDは同じ形状である必要はなく、複数の仮想画面VD間の距離も同じである必要はない。
ステップ51で否定結果が得られた場合、プロセッサ201は、ステップ12(図14参照)以降の処理を実行する。すなわち、仮想画面VDの初期位置が第1の範囲RA内にあるか、第1の範囲RA内に物体ROがあるか等を判定し、必要に応じて仮想画面VDを退避する。ステップ51で否定結果が得られる場合には、例えば仮想画面VDが1つだけの場合や複数の仮想画面VDが並列に配置される場合がある。
ステップ51で肯定結果が得られた場合、プロセッサ201は、最も手前に位置する仮想画面VDを衝突回避の対象に設定し(ステップ52)、設定された仮想画面VDについてステップ12(図14参照)以降の処理を実行する。
ユーザUは、最も手前側に位置する仮想画面VDに対してジェスチャ操作するので、2列目以降の仮想画面VDと周辺の物体ROとの位置関係を判定する必要がないためである。また、2列目以降に配列される仮想画面VDと周辺の物体ROとの位置関係を考慮しないことで計算上の負荷の低減が実現される。
<退避例>
図32は、2つの仮想画面VD1及びVD2がユーザUから見て奥方向に配列されている場合の退避動作を説明する図である。(A1)及び(A2)は初期位置における2つの仮想画面VD1、VD2とユーザUとの位置関係を示し、(B1)及び(B2)は手前側の仮想画面VD1だけが退避された様子を示す。図32には、図15との対応部分に対応する符号を付して示している。
図32(A1)及び(A2)の場合、仮想画面VD1は飲み物5よりも距離L2だけユーザUに近く、仮想画面VD2は飲み物5と重なっている。
本実施の形態における機能を有しない場合、仮想画面VD1及びVD2のそれぞれについて、飲み物5に対する退避処理が必要になる。
しかし、本実施の形態では、2つの仮想画面VD1及びVD2が一列に並んでいることを認識した時点で、退避の対象を手前側に位置する仮想画面VD1だけに限定する。
その結果、図32(B1)及び(B2)に示すように、奥側に位置する仮想画面VD2は飲み物5と重なっているが、手前側に位置する仮想画面VD1は飲み物5から第1の距離LT1だけ手前側に退避されている。このため、ユーザUは、飲み物5との衝突を気にすることなく仮想画面VD1をジェスチャ操作することが可能である。
なお、仮想画面VDが3つ以上配列されている場合も同様である。
<実施の形態5>
本実施の形態では、複数の仮想画面VDがユーザUから見て奥方向に並んでいる場合に2列目以降に位置する仮想画面VDが指定されたときに実行される機能について説明する。
図33は、実施の形態5における仮想画面VDの退避動作例を説明するフローチャートである。図33には、図31との対応部分に対応する符号を付して示している。
本実施の形態の場合も、プロセッサ201(図5参照)は、衝突回避機能がオンであるか否かを判定する(ステップ11)。
ステップ11で肯定結果が得られた場合、プロセッサ201は、複数の仮想画面VDがユーザUから見て奥方向に配列中か否かを判定する(ステップ51)。
ステップ51で否定結果が得られた場合、プロセッサ201は、ステップ12(図14参照)以降の処理を実行する。
一方、ステップ51で肯定結果が得られた場合、プロセッサ201は、2列目以降の仮想画面VDを操作の対象に指定したか否かを判定する(ステップ61)。
本実施の形態の場合、ジェスチャ操作による仮想画面VDの指定には、例えばマイクロソフト(登録商標)社が仮想画面VD用に提案しているカーソルを使用する。
図34は、仮想画面VDの操作に使用するカーソル60の一例を説明する。(A)は右手7の指先が仮想画面VDから遠い場合のカーソル60を示し、(B)は右手7の指先が仮想画面VDに近づいた場合のカーソル60を示し、(C)は右手7の指先が仮想画面VDに接触した場合のカーソル60を示す。
なお、仮想画面VDと右手7の指先との距離は、測位センサ104(図3参照)とカメラ105(図3参照)が使用される。カメラ105で撮像された画像の認識処理により、プロセッサ201(図3参照)は、測位センサ104の測定結果を用いて生成される3次元地図の中からユーザUの指先の位置を特定する。
勿論、仮想画面VDの表示位置は、測位センサ104を用いても測定されないし、カメラ105を用いても撮像されない。しかし、プロセッサ201は、仮想画面VDの3次元地図内における表示位置を認識しているので、指先と仮想画面VDとの位置関係を認識し、認識された結果をカーソル60の表示位置や大きさに反映する。
図34(A)の場合、右手7の指先は仮想画面VDから遠いため、カーソル60の直径は他の2つよりも大きい。なお、図34(A)では、指先付近の拡大図を円内に表している。
図34(B)では、右手7の指先が仮想画面VDに近づいた状態を、カーソル60の直径の縮小とカーソル60の輝度を高めることで表している。
図34(C)では、右手7の指先が仮想画面VDに接触した状態を、カーソル60の直径の一段の縮小化とカーソル60の輝度を高めることで表している。
ユーザUは、カーソル60の表示位置とカーソル60の直径等により、自身のジェスチャ操作が、どの仮想画面VDに紐付けられているか等の認識が可能である。
図33の説明に戻る。
ステップ61で肯定結果が得られた場合、プロセッサ201は、操作の対象に指定された仮想画面VDを、最も手前に位置する別の仮想画面VDと入れ替える(ステップ62)。
この後、又は、ステップ61で否定結果が得られた場合、プロセッサ201は、最も手前に位置する仮想画面VDを衝突回避の対象に設定し(ステップ63)、ステップ12(図14参照)以降の処理を実行する。
<退避例>
図35は、2つの仮想画面VD1及びVD2のうち奥側に位置する仮想画面VD2を、物体ROからユーザUに近づける方向に退避させる例を説明する図である。(A1)及び(A2)は初期位置における2つの仮想画面VD1、VD2とユーザUとの位置関係を示し、(B1)及び(B2)は退避処理が実行された後の2つの仮想画面VD1、VD2とユーザUとの位置関係を示す。図35には、図15との対応部分に対応する符号を付して示す。
図35(A1)及び(A2)の場合、ユーザUは、奥側に位置する仮想画面VD2に右手7の指先を近づけている。指先と仮想画面VD2との距離が予め定めた距離以下になると、プロセッサ201は、奥側に位置する仮想画面VD2が指定されたと認識する。
図35(B1)及び(B2)では、初期位置では手前側に位置していた仮想画面VD1が奥側に移動し、初期位置では奥側に位置していた仮想画面VD2が手前側に移動している。すなわち、初期位置とは、並びの順が入れ替わっている。その上で、手前側に移動した仮想画面VD2についてだけ飲み物5から第1の距離LT1だけ離れるように退避処理が実行される。因みに、入れ替え後に奥側に位置する仮想画面VD1の表示位置は、初期位置のままである。
本実施の形態で説明する機能の採用により、指定された仮想画面VD2に対するジェスチャ操作中に周辺に存在する飲み物5等の物体ROとの衝突の可能性が低減される。また、退避処理に要する計算上の負荷が低減される。
<実施の形態6>
本実施の形態では、新たに表示する仮想画面VDを既存の仮想画面に追加する場合に実行される機能について説明する。
図36は、実施の形態6における仮想画面VDの退避動作例を説明するフローチャートである。図36には、図14との対応部分に対応する符号を付して示している。
本実施の形態の場合も、プロセッサ201(図5参照)は、衝突回避機能がオンであるか否かを判定する(ステップ11)。
ステップ11で肯定結果が得られた場合、プロセッサ201は、仮想画面VDの追加の指示か否かを判定する(ステップ71)。追加の指示には、例えば音声による特定の画面の表示の指示、ポップアップ画面やダイアログボックス等の別ウィンドウの表示を伴う操作の受け付けがある。
ステップ71で否定結果が得られた場合、プロセッサ201は、ステップ12(図14参照)以降の処理動作を実行する。
ステップ71で肯定結果が得られた場合、プロセッサ201は、追加後の仮想画面VDの総数は複数か否かを判定する(ステップ72)。
例えば表示中の仮想画面VDがない状態で仮想画面VDの表示が指示された場合、プロセッサ201は、ステップ72で否定結果を得る。ステップ72で否定結果が得られた場合も、プロセッサ201は、ステップ12(図14参照)以降の処理動作を実行する。
ステップ72で肯定結果が得られた場合、プロセッサ201は、追加する仮想画面VDを最も手前に配置し、衝突回避の対象に設定する(ステップ73)。本実施の形態の場合、追加される仮想画面VDは、表示中の仮想画面VDよりも手前に配置される。このため、現在表示中の仮想画面VDの表示位置は、新たに追加される仮想画面VDの表示位置を基準に調整される。ステップ73の後、プロセッサ201は、ステップ12(図14参照)以降の処理動作を実行する。
<退避例>
図37は、2つの仮想画面VD1及びVD2の表示中に3つ目の仮想画面VD3の追加が指示された場合の退避例を説明する図である。(A1)及び(A2)は初期位置における2つの仮想画面VD1、VD2とユーザUとの位置関係を示し、(B1)及び(B2)は退避処理が実行された後の3つの仮想画面VD1、VD2、VD3とユーザUとの位置関係を示す。図37には、図15との対応部分に対応する符号を付して示す。
図37(A1)及び(A2)の場合、ユーザUの前方には2つの仮想画面VD1及びVD2が表示されている。因みに、手前側に位置する仮想画面VD1の表示位置は、飲み物5から第1の距離LT1だけユーザU側に退避されている。
図37(A1)及び(A2)のユーザUは、「仮想画面VD3を表示して」と音声でxRデバイス10に指示している。ここでの仮想画面VD3は、表示中の仮想画面VD1及びVD2のいずれとも異なる。このため、ここでの音声による指示は、仮想画面VDの追加の指示と判定される。
指示を受け付けたxRデバイス10は、第3の仮想画面VD3を仮想の空間内に配置する。
図37(B1)及び(B2)は、仮想の空間内における配置例の1つである。図37(B1)及び(B2)の場合、最も手前側に配置される仮想画面VD3は、飲み物5から第1の距離LT1だけユーザU側に退避された位置に表示される。ただし、この位置は、追加の指示の受け付け前に仮想画面VD1が表示されていた位置である。
このため、既存の仮想画面VD1の表示位置は、初期位置における仮想画面VD1と仮想画面VD2の間のいずれかの位置に調整される。
2列目以降の仮想画面VD1及びVD2の表示位置と飲み物5の距離が第1の距離LT1未満となっても、ジェスチャ操作時における衝突の心配はない。
ユーザUは、最も手前に位置する仮想画面VD3をジェスチャ操作の対象とするし、仮に仮想画面VD1や仮想画面VD2を操作の対象とする場合には、表示の位置の入れ替えを行うためである。
<実施の形態7>
本実施の形態では、複数人で1つの仮想画面VDを共用している場合について説明する。
図38は、実施の形態7における仮想画面VDの退避動作例を説明するフローチャートである。図38には、図14との対応部分に対応する符号を付して示している。
本実施の形態の場合も、プロセッサ201(図5参照)は、衝突回避機能がオンであるか否かを判定する(ステップ11)。
ステップ11で肯定結果が得られた場合、プロセッサ201は、仮想画面VDは他のデバイスと共用中か否かを判定する(ステップ81)。本実施の形態の場合、仮想画面VDの共用とは、複数人が同じ仮想画面VDを視認可能であるだけでは足りず、実空間内に単一のディスプレイが存在するかのように仮想画面VDの表示位置が紐付けられている状態をいう。
従って、全く別の場所で共通の仮想画面VDが閲覧されている場合には、ステップ81で否定結果が得られることになる。
ステップ81で否定結果が得られた場合、プロセッサ201は、ステップ12(図14参照)以降の処理を実行する。
ステップ81で肯定結果が得られた場合、プロセッサ201は、仮想画面VDが共用されている間、退避機能を一次的にオフする(ステップ82)。すなわち、退避処理の例外処理が実行される。
図39は、1つの仮想画面VDが複数人で共用されている場合を説明する図である。(A)は2人のユーザU1とユーザU2がジェスチャ操作する前の状態を示し、(B)は2人のユーザU1とユーザU2がジェスチャ操作を開始した後の状態を示す。図39には、図1との対応部分に対応する符号を付して示している。
図39(A)では、1つの仮想画面VDをユーザU1とユーザU2が共用している。ただし、2人は、仮想画面VDに対するジェスチャ操作を行っていない。このため、ユーザU1が装着しているxRデバイス10Aにも、ユーザU2が装着しているxRデバイス10Bにも、仮想画面VDの周辺に退避すべき物体ROは検知されていない。
図39(B)では、ユーザU1とユーザU2の両方がジェスチャ操作を開始している。この場合、ユーザU1の側から見たユーザU2の右手7は、第1の範囲RA内に存在する物体ROとして認識される。同様に、ユーザU2の側から見たユーザU1の右手7は、第1の範囲RA内に存在する物体ROとして認識される。
前述した他の実施の形態であれば、この場合、ユーザU1が視認している仮想画面VDの表示位置はユーザU2の右手7から離れる方向に退避され、ユーザU2が視認している仮想画面VDの表示位置はユーザU1の右手7から離れる方向に退避されるはずである。ユーザ毎に異なる方向への退避も、仮想画面VDは実在していないので技術的に可能である。
しかし、図39の例では、仮想画面VDがユーザU1とユーザU2により共用されているので、退避機能を強制的にオフに制御されている。このため、ユーザU1とユーザU2は、互いに相手が指差している場所を視認しながら会話や議論を進められることが可能である。すなわち、実空間には物理的なディスプレイは存在しないが、同等の体験を複数人の間で共有できる。
<実施の形態8>
本実施の形態では、ジェスチャ操作時に注意すべき物体ROの存在を事前に通知する手法について説明する。
図40は、仮想画面VDを視認するユーザUに対して物体ROの存在を通知する手法の一例を説明する図である。(A)は音声による通知例を示し、(B)は合成画像による通知例を示す。
図40(A)の場合、仮想画面VDの背後に飲み物5が存在することを「画像の背後のコップに注意してください。」等の音声ガイダンスによりユーザUに通知している。この音声ガイダンスは、退避処理の実行とは関係なく実行される。例えば仮想画面VDの退避処理と組み合わせて音声ガイダンスも出力する。もっとも、仮想画面VDと飲み物5との距離が第1の距離LT1未満でも退避処理を実行することなく音声ガイダンスを出力してもよい。
図40(B)の場合、仮想画面VDには、カメラ105(図2参照)で撮像された飲み物5の画像が合成されている。合成時には、カメラ105で撮像されたままの画像を合成することも可能であるが、飲み物5の存在が分かる程度に加工した画像を合成してもよい。例えば飲み物5の輪郭線を抽出した画像を仮想画面VDに合成してもよいし、飲み物5の画像の透過率を高めた後、仮想画面VDに合成してもよい。勿論、これらは加工の一例である。
図41は、仮想画面VDを視認するユーザUに対して物体ROの存在を通知する他の手法の一例を説明する図である。(A1)及び(A2)は仮想画面VDの変形による方法を示し、(B1)及び(B2)は仮想画面VDに対する注意を喚起する画像を合成する方法を示す。図41には、図15との対応部分に対応する符号を付して示している。
図41(A1)では、ユーザUの右手7は仮想画面VDの表面から離れている。このため、仮想画面VDは初期状態のままである。一方、図41(A2)では、ユーザUの右手7が仮想画面VDの表面に近づいている。このとき、右手7と仮想画面VDの距離が予め定めた閾値以下になると、仮想画面VDは初期状態から変形し、ユーザUに対して異変又は違和感を与える。
また、図41(A2)の変形は一例であり、例えば仮想画面VDを左右に割れた形状に変形することも可能である。この場合、割れ目から、仮想画面VDの背後に隠れている物体ROが見えれば、ユーザUは、物体ROを右手7で倒さずに済む。勿論、仮想画面VDの変形により、背後の物体ROの存在に事前に気づけば、物体ROとの衝突が未然に回避される。
図41(B1)の場合も、ユーザUの右手7は仮想画面VDの表面から離れている。このため、仮想画面VDは初期状態のままである。一方、図41(B2)では、ユーザUの右手7が仮想画面VDの表面に近づいている。ただし、図41(B2)の場合には、仮想画面VDの中央に危険を表す絵や画像が合成されている。この場合も、ユーザUは、仮想画面VDに触れることの危険性に事前に気づくことが可能になる。
<実施の形態9>
本実施の形態では、ユーザUによる仮想画面VDのジェスチャ操作の測定履歴に基づいて、第1の範囲RAを規定する閾値等を変更又は調整する機能について説明する。
図42は、仮想画面VDのジェスチャ操作時における右手7の可動域を測定した履歴による第1の範囲RAを規定する閾値の調整を説明する図である。(A)は初期設定時の第1の範囲RAを示し、(B)はユーザUのジェスチャ操作の可動域に応じて調整された第1の範囲RAを示す。図42には、図6との対応部分に対応する符号を付して示している。なお、図42(A)及び(B)は、いずれもユーザUを上空から見た図である。
図42(A)の場合、第1の範囲RAは、ユーザUの正面方向に対して左右対称である。
ところで、xRデバイス10(図1参照)には、測位センサ104とカメラ105が取り付けられており、ユーザUの周辺に存在する物体ROまでの距離を常に測位している。この際の測位の対象には、xRデバイス10を装着するユーザUのジェスチャ操作中の体の部位等も含まれる。
このため、ジェスチャ操作に伴う体の部位等の可動域を継続的に測定し、測定履歴として蓄積することが可能である。なお、ユーザUの体の部位等であることは、カメラ105による画像処理により識別が可能である。
図42(B)に示す第1の範囲RAは、蓄積された測定データの履歴を解析した結果を用いて変更又は調整した第1の範囲RAである。この例では、ユーザUの左前方部分と右側方部分が縮小されている。その結果、変更後の第1の範囲RAの水平面内の面積は、初期状態の半分程度に縮小される。第1の範囲RAの水平面内の面積、換言すると3次元での体積が小さくなると、測位センサ104による測位の範囲が狭くなり、その分、計算負荷が低減し、使用時間の延長が期待される。
なお、測定履歴についての第1の範囲RAの変更又は調整は水平面内に限らず、任意の方向における高さ方向の範囲について実行される。すなわち、第1の範囲RAの変更又は調整は立体的に実行される。
ところで、第1の範囲RAの変更又は調整は、初期状態に比して水平面内の面積が縮小される場合に限らない。
例えば仮想画面VDのジェスチャ操作を受け付けた位置が、初期設定された第1の範囲RAの外側の場合、第1の範囲RAを拡大してもよい。この拡大は、第1の範囲RAの変更又は調整は、範囲外の受け付けを1回でも検出すれば実行してもよいし、同一地点について複数回検出することを条件に実行してもよい。
また、ジェスチャ操作中にユーザUの体の部位等と物体ROとの衝突が検知される可能性もある。この場合、衝突前の物体ROまでの距離は測定されているので、衝突した物体ROまではユーザUの体の部位等の可動域に含まれるとの推定が可能である。物体ROとの衝突が検知された位置の情報を用いて第1の範囲RAの形状を変更又は調整すると、以後、仮想画面VDとの退避が可能になる。
<実施の形態10>
本実施の形態では、仮想画面VD内のアイコンだけを周辺の物体ROから退避させる機能について説明する。
図43は、実施の形態10における仮想画面VDの退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図43には、図15との対応部分に対応する符号を付して示している。
図43(A1)及び(A2)に示す仮想画面VDには、ジェスチャ操作の対象であるアイコン70が含まれている。前述までの実施の形態の場合、仮想画面VDの全体を対象として飲み物5に対する退避が実行される。
ただし、ジェスチャ操作では、基本的に、アイコン70以外の部位をタップすることはない。このため、本実施の形態では、アイコン70だけを仮想画面VDの他の領域から分離し、又は、アイコン70を複製したアイコン70の仮想画面VDを飲み物5から第1の距離LT1だけ退避させる。
図43(B1)及び(B2)に示す例では、アイコン70の部分が仮想画面VDから切り出され、ユーザUに近づく方向に第1の距離LT1だけ退避されている。
この場合、ユーザUは、仮想画面VDから浮き上がったアイコン70をジェスチャ操作するので、体の部位等が飲み物5に衝突する可能性は、他の実施の形態と同じく低下する。
また、仮想画面VDの全体の移動は、ユーザUに与える違和感も大きいが、アイコン70のみの移動であれば、ジェスチャ操作を目立たせる効果もあり、ユーザUに与える違和感は少なく済む。
<退避例2>
図44は、実施の形態10における仮想画面VDの別の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図44には、図15との対応部分に対応する符号を付して示している。
図44の場合、仮想画面VDは、心臓の図である。ユーザUによるジェスチャ操作の対象が動脈である。
そこで、図44(B1)及び(B2)では、ジェスチャ操作の対象である大動脈75A、左冠動脈主幹部75B、左回旋枝75C、左前下行枝75D、右冠動脈75Eに対応する部分が、心臓を表す仮想画面VDの他の領域から切り出され、ユーザUに近づく方向に第1の距離LT1だけ退避されている。
この場合も、ジェスチャ操作の際に仮想画面VDの背後にある飲み物5を倒さずに済む。また、動脈部分がユーザUに近づくので、ジェスチャ操作の対象である細部の確認も容易になる。
本実施の形態における動脈は、アイコンの一例である。なお、動脈の全てを退避させるのではなく、カーソル60(図34参照)が位置する部分の動脈だけを退避させてもよい。カーソル60が位置する動脈がジェスチャ操作の対象である可能性が高い一方、それ以外の部位はジェスチャ操作の対象とはならない可能性が高いためである。
<退避例3>
図45は、実施の形態10における仮想画面VDの他の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図45には、図15との対応部分に対応する符号を付して示している。
図45(A1)及び(A2)は、初期位置の仮想画面VDであるので、飲み物5のすぐ手前に位置している。この状態のままジェスチャ操作が行われると、体の部位等で飲み物5を倒す可能性もある。
ただし、仮想画面VD上には、ユーザUの右手7の指先が指し示す位置にカーソル60が表示されている。また、仮想画面VDと右手7の指先との距離は、カーソル60の寸法の変化で表現される。
図45(A1)の場合、カーソル60は、前輪部分に位置している。カーソル60の径が予め定めた閾値より小さくなると、プロセッサ201は、前輪部分を独立したオブジェクトとして切り出し、新たな仮想画面VD2として退避処理の対象に設定する。
この結果、図45(B1)及び(B2)に示すように、前輪部分に対応する仮想画面VD2が飲み物5から第1の距離LT1だけ離れた位置に退避される。この点は、図44における動脈と同じである。
ただし、図45(B1)の場合、前輪部分に対応するオブジェクトは拡大表示されている。このため、単なる退避とは異なり、退避されたオブジェクトの観察がより容易になる視覚上の効果が加えられる。
<退避例4>
図46は、実施の形態10における仮想画面VDの他の退避例を説明する図である。(A1)及び(A2)は初期位置における仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は退避後の仮想画面VDとユーザUとの位置関係を示す。図46には、図15との対応部分に対応する符号を付して示している。
図46の場合、仮想画面VDは、航空機の縮小形状である。すなわち、仮想画面VDは、3次元形状である。このため、図46(A2)では、仮想画面VDを示す破線を直線ではなく、長方形状で表している。
なお、図46(A2)においては、立体的な仮想画面VDのうちユーザUに最も近い部分が、飲み物5から第1の距離LT1だけ離れている。基本的に、ユーザUに最も近い部位がジェスチャ操作の対象になるとの考えによる。図46(A1)では、飛行機の左側の翼の先端に右手7の指先を触れ、水平面内での回転を指示している。なお、このジェスチャ操作において、ユーザUの指先は、飲み物5から第1の距離LT1だけ離れた空間を移動する。このため、ジェスチャ操作で飲み物5が倒される可能性は低い。
図46(B1)及び(B2)は、飛行機の回転が終わり、飛行機の機首がユーザUと正対する状態である。この場合、ユーザUは、自身の正面に位置し、自身との距離が最も近い機首をジェスチャ操作するので、飲み物5との間に第1の距離LT1の確保が可能である。
図46(B2)に示すように、仮想画面VDを構成する飛行機の胴体部分は飲み物5を含んでいるが、胴体部分や尾翼をジェスチャ操作する場合には、それらがユーザUの正面に位置するように飛行機の向きを変更することで、ジェスチャ操作中の飲み物5との衝突の回避が可能である。
<退避例5>
図47は、実施の形態10における仮想画面VDの他の退避例を説明する図である。(A1)及び(A2)は縮小変換前の仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は縮小変換後の仮想画面VDとユーザUとの位置関係を示す。図47には、図15との対応部分に対応する符号を付して示している。
図47の場合も、仮想画面VDは、航空機の縮小形状である。すなわち、仮想画面VDは、3次元形状である。このため、図47(A2)では、仮想画面VDを示す破線を直線ではなく、長方形状で表している。
図47(A1)及び(A2)は、仮想画面VDの表示寸法が大きすぎる場合である。表示寸法が大きすぎると、かえってジェスチャ操作に不便なことがある。そこで、図47(A1)では、ユーザUが両手を狭めるジェスチャ操作により、仮想画面VDの表示寸法の縮小を指示している。なお、図47(A2)の場合、仮想画面VDは縮小前なので、仮想画面VDを表す破線の範囲は大きい。
ちなみに、仮想画面VDのうち最も手前側の位置が、飲み物5に対して第1の距離LT1だけ離れている。
図47(B1)は、縮小変換後の仮想画面VDの見え方を示している。縮小変換後なので、図47(B2)で仮想画面VDを表す破線の範囲は小さくなっている。この場合も、仮想画面VDのうち最も手前側の位置が、飲み物5に対して第1の距離LT1だけ離れている。
<退避例6>
図48は、実施の形態10における仮想画面VDの他の退避例を説明する図である。(A1)及び(A2)は拡大変換前の仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)は拡大変換後の仮想画面VDとユーザUとの位置関係を示す。図48には、図15との対応部分に対応する符号を付して示している。
図48の場合も、仮想画面VDは、航空機の縮小形状である。すなわち、仮想画面VDは、3次元形状である。このため、図48(A2)では、仮想画面VDを示す破線を直線ではなく、長方形状で表している。
図48(A1)及び(A2)は、仮想画面VDの表示寸法が小さすぎる場合である。表示寸法が小さすぎても、ジェスチャ操作に不便なことがある。そこで、図48(A1)では、ユーザUが両手を広げるジェスチャ操作により、仮想画面VDの表示寸法の拡大を指示している。なお、図48(A2)の場合、仮想画面VDは拡大前なので、仮想画面VDを表す破線の範囲は小さい。
ちなみに、仮想画面VDのうち最も手前側の位置が、飲み物5に対して第1の距離LT1だけ離れている。
図48(B1)は、拡大変換後の仮想画面VDの見え方を示している。拡大変換後なので、図48(B2)で仮想画面VDを表す破線の範囲は大きくなっている。この場合も、仮想画面VDのうち最も手前側の位置が、飲み物5に対して第1の距離LT1だけ離れている。
<実施の形態11>
本実施の形態では、仮想画面VDと実在するモニタとの連携に伴う退避機能を追加する場合について説明する。
図49は、ユーザが視認している仮想画面VDが実在するモニタ80の表示画面と連携する場合を説明する図である。(A)は連携前の仮想画面VDとモニタ80の表示画面を示し、(B)は連携直後の仮想画面VDとモニタ80の表示画面を示し、(C)は仮想画面VDの退避により仮想画面VDとモニタ80が並列に配置された状態を示す。ここでのモニタ80は、表示デバイスの一例である。
図49(A)では、ユーザUとモニタ80との距離が遠い。このため、xRデバイス10とモニタ80に画像を表示するコンピュータとは連携していない。このため、仮想画面VDとモニタ80に表示される画面の内容は互いに独立である。
なお、図49(A)におけるモニタ80は、ノート型のコンピュータのディスプレイである。
図49(B)では、ユーザUがモニタ80の概略正面に近づいている。このため、ユーザUから見てモニタ80の手前側に仮想画面VDが表示される。
xRデバイス10とモニタ80との距離が予め定めた距離未満になると、モニタ80に画像を表示するコンピュータとxRデバイス10との間で画像連携が実行される。図49(B)では、画像連携後の画面であるので、モニタ80の表示の内容が、仮想画面VDとの連携画面に切り替わっている。
図49(B)を見て分かるように画面連携しても、2つの画面が重なった状態では、モニタ80の視認性が低下するとともに、ジェスチャ操作時にモニタ80との接触が懸念される。
本実施の形態では、仮想画面VDがモニタ80から第1の距離LT1だけ手前に位置することを条件とした退避の方向がモニタ80の並び方向に設定される。
このため、図49(C)の仮想画面VDは、ユーザUから見てモニタ80の左隣の位置に退避されている。このため、ユーザUは、2画面を見ながら作業を行うことが可能になる。なお、画像連携の開始後は、例えばユーザUの顔がモニタ80の方向を向いても、仮想画面VDの位置は退避位置に固定される。このため、ユーザUが顔の向きを変えるたびに、仮想画面VDの表示位置が変動せずに済み、安定した作業環境が実現される。
<実施の形態12>
図50は、第1の範囲RAの形状を仮想画面VDに含まれるアイコンが位置する方向に拡張する機能を説明する図である。(A1)及び(A2)は仮想画面VDにアイコン70が含まれない場合の第1の範囲RAを示し、(B1)及び(B2)は仮想画面VDにアイコン70が含まれる場合の第1の範囲RAを示す。図50には、図15との対応部分に対応する符号を付して示している。
なお、図50(A2)及び(B2)は、ユーザUを上空から見た図である。
図50(A1)に示す仮想画面VDにはアイコン70が含まれていない。このため、図50(A2)に示す第1の範囲RAは初期形状である扇型のままである。なお、図50(A2)の場合、物体ROは、第1の範囲RAの外に位置している。本実施の形態における仮想画面VDの退避は、第1の範囲RAに含まれる物体ROに対して実行される。このため、図50(A2)の場合、仮想画面VDと物体ROが近くても、退避処理は実行されない。結果的に、ジェスチャ操作の際に体の部位等が物体ROに衝突する可能性がある。
図50(B1)に示す仮想画面VDにはアイコン70が含まれており、アイコン70が存在する方向について第1の範囲RAが拡大されている。図50(B2)の場合、物体ROは、拡大された第1の範囲RAに含まれている。このため、仮想画面VDは、物体ROから第1の距離LT1だけ退避されている。仮想画面VDが退避された結果、アイコン70のジェスチャ操作時に、体の部位等が物体ROに誤って衝突する可能性の低減が可能になる。
<実施の形態13>
図51は、ユーザUの視線の方向について第1の範囲RAを拡大する機能を説明する図である。(A1)及び(A2)はユーザUの視線の方向が右斜め前方である場合の第1の範囲RAの形状を示し、(B1)及び(B2)はユーザUの視線の方向が左斜め前方である場合の第1の範囲RAの形状を示す。図51には、図15との対応部分に対応する符号を付して示している。
なお、図51(A2)及び(B2)は、ユーザUを上空から見た図である。
ジェスチャ操作は、ユーザUの視線の方向の領域について実行される可能性が高いためである。
本実施の形態の場合、ユーザUの視線の方向は、xRデバイス10C(図52参照)で測定される眼電位を用いて推定される。
図52は、実施の形態13で使用するxRデバイス10Cの外観例を説明する図である。(A)はxRデバイス10Cをフロント側から観察する場合の外観例を示し、(B)はxRデバイスをユーザU側から観察する場合の外観例を示す。図52には、図2との対応部分に対応する符号を付して示している。
図52(A)に示す外観構成は、図2に示す外観構成と同じである。図52(B)の場合、xRデバイス10Cの左側の鼻パッドに左電極121が設けられ、右側の鼻パッドに右電極122が設けられ、眉間の皮膚に接触する中央電極123が設けられている。左電極121は、xRデバイス10Cを装着したユーザUの鼻の左側に接触する。右電極122は、xRデバイス10Cを装着したユーザUの鼻の右側に接触する。ユーザUの左眼から左電極121までの距離は、ユーザUの右眼から右電極122までの距離と実質的に等しい。中央電極123は、左電極121と右電極122の中央付近に設けられる。
図53は、実施の形態13で使用するxRデバイス10Cのハードウェア構成の一例を説明する図である。図53には、図3との対応部分に対応する符号を付して示している。
図53に示すxRデバイス10Cの場合、左電極121、右電極122及び中央電極123がプロセッサ107に接続される点で、図3で説明したハードウェア構成と異なっている。
左電極121、右電極122、中央電極123では、左右の眼球運動に応じた眼電位が計測される。
図54は、視線検知に関する機能部の構成を説明する図である。本実施の形態では、xRデバイス10Cと連携する情報端末20のプロセッサ201が視線検知を実行する。
プロセッサ201は、プログラムの実行を通じて視線検知に関する機能を実現する。
眼電位測定部131には、左電極121で測定された電位値、右電極122で測定された電位値、中央電極123で測定された電位値が入力される。
眼電位測定部131は、例えば中央電極123の電位値を基準とする左電極121の電位値を左眼電位として取得し、中央電極123の電位値を基準とする右電極122の電位値を右眼電位として取得する。眼電位測定部131は、これら左右の眼電位を時系列データとして、眼球運動検出部132と瞬き検出部133に与える。
眼球運動検出部132は、眼電位測定部131から取得した左右の眼電位の時系列データに基づいて、ユーザの眼球運動を検出する。眼球運動検出部132は、左右の眼電位の時系列データに現れる特徴波形に基づいて、眼球の向き、すなわち視線の方向を特定する。
瞬き検出部133は、左右の眼電位の時系列データに基づいて、瞬きの区間を特定する。
較正値計算部134は、瞬き検出部133で検出された瞬きに伴う眼電位の値に基づき、眼球運動の較正値を計算する。計算された較正値は、視線方向決定部135に与えられる。
視線方向決定部135は、眼球運動検出部132で検出された視線方向を較正値で較正し、較正済みの視線方向を出力する。なお、この種の技術については、例えば特開2018-75254号公報に記載されている。
<実施の形態14>
本実施の形態では、ユーザUの耳道で測定される脳波信号を用いてユーザUによるジェスチャ操作を予測し、仮想画面VDの退避に役立てる機能について説明する。
図55は、実施の形態14で使用するxRデバイス10Dの外観例を説明する図である。(A)はxRデバイス10Dをフロント側から観察する場合の外観例を示し、(B1)及び(B2)はテンプル13Lに取り付けられるイヤホンチップ14Lの構成例を示し、(C1)及び(C2)はテンプル13Rに取り付けられるイヤホンチップ14Rの構成例を示す。
図55には、図2との対応部分に対応する符号を付して示している。
図55(A)に示すイヤホンチップ14L、14Rは、外耳孔に挿入して使用される概筒状の部材である。筒状のイヤホンチップ14L、14Rの中心軸付近には貫通孔が形成されている。このため、イヤホンチップ14L、14Rを外耳孔に挿入しても、外部の音を聞くことが可能である。すなわち、外耳孔を塞がない開放型の部材である。
図55(B1)及び(B2)に示すイヤホンチップ14Lには、外耳孔の内側に接触されるドーム状の電極14L1と、耳甲介腔に接触されるリング状の電極14L2が設けられている。電極14L1、電極14L2、電極14R1は、いずれも導電性ゴムで構成される。皮膚に現れる電気信号を測定するためである。なお、電極14L1と電極14L2とは、絶縁体により電気的に分離されている。
電極14L1は、脳波(EEG:Electro Encephalo Gram)に起因する電位変動の測定に用いられる端子(以下「EEG測定用端子」という)である。電極14L2は、接地電極の測定に用いられる端子(以下「GND端子」ともいう)である。
一方、イヤホンチップ14Rには、外耳孔の内側に接触されるドーム状の電極14R1が設けられている。電極14R1は、基準電位(REF:REFerence)の測定に用いられる端子(以下「REF端子」という)である。本実施の形態の場合、電極14R1と電極14L1は電気的に短絡されている。
脳波に起因する電位変動は、電極14L1と電極14L2で測定された電気信号の差分信号として測定される。
脳科学の分野において、脳波以外に由来する全ての電位変動は、アーチファクトと呼ばれる。脳科学の分野では、脳波を測定した電気信号には、アーチファクトが必ず含まれると考えられている。本実施の形態では、電位変動の由来を区別せず、イヤホンチップ14L、14Rで測定される電位変動を、脳波を測定した電気信号という。
因みに、アーチファクトに含まれる成分は、生体に由来する成分、電極等の測定系に由来する成分、外部の機会や環境に由来する成分に分類される。これら3つの成分のうち生体に由来する成分以外は、イヤホンチップ14L、14Rで測定される雑音として測定することが可能である。雑音は、電極14R1と電極14L1を電気的に短絡した状態における電気信号として測定することが可能である。
なお、イヤホンチップ14L、14Rにより脳波の測定が可能なことは、例えば特開2021-90136号公報等に記載されている。
図56は、実施の形態14で使用するxRデバイス10Dのハードウェア構成の一例を説明する図である。図56には、図3との対応部分に対応する符号を付して示している。
図56に示すxRデバイス10Dの場合、イヤホンチップ14L、14Rに設けられた電極14L1、14L2、14R1で測定された電気信号が、プロセッサ107に与えられる。
なお、本実施の形態では、脳波に起因する電気信号をイヤホンチップ14L、14Rで測定しているが、耳付近の側頭部と接するテンプル13L、13Rの内側部分に電極14L1、14L2、14R1に対応する電極を配置することで、イヤホンチップ14L、14Rの代用とすることも可能である。
図57は、脳波を用いてジェスチャ操作の予兆を検知する機能部の構成を説明する図である。本実施の形態では、xRデバイス10Dと連携する情報端末20のプロセッサ201が視線検知を実行する。
プロセッサ201は、プログラムの実行を通じてジェスチャ操作の予兆を検知する機能を実現する。
脳波測定部141には、イヤホンチップ14Lの電極14L1、14L2で測定された電位値、イヤホンチップ14Rの電極14R1で測定された電位値が入力される。
脳波測定部141は、電極14L1と電極14L2の電位差により脳波に対応する電気信号を測定する。一方、脳波測定部141は、電極14L1と電極14R1の電位差により雑音信号を測定する。
脳波分析部142は、脳波に対応する電気信号から雑音信号の影響を取り除き、ユーザによるジェスチャ操作の可能性を予測する。ジェスチャ操作の可能性の予測には、例えば人工知能を使用する。脳波分析部142には、例えばジェスチャ操作の発生直前に現れる電気信号又はそのパターンを教師データとして学習し、直後にジェスチャ操作が実行される可能性を表す数値を出力する関係を学習した学習済みモデルを使用する。
図58は、実施の形態14における仮想画面VDの退避動作例を説明するフローチャートである。図58には、図14との対応部分に対応する符号を付して示している。
本実施の形態の場合も、プロセッサ201(図5参照)は、衝突回避機能がオンであるか否かを判定する(ステップ11)。
ステップ11で肯定結果が得られた場合、プロセッサ201は、脳波に対応する電気信号に基づいてユーザのジェスチャ操作の可能性を予測する(ステップ91)。
次に、プロセッサ201は、ジェスチャ操作が予測されるか否かを判定する(ステップ92)。
ステップ92で肯定結果が得られた場合、プロセッサ201は、ステップ12(図14参照)以降の処理を実行する。
一方、ステップ92で否定結果が得られた場合、プロセッサ201は、初期位置に仮想画面VDを表示して処理を終了する(ステップ93)。
この処理動作により、ジェスチャ操作が予測されない間は、仮想画面VDの退避を判定するための処理を実行せずに済む。このため、その分、計算負荷が低減し、使用時間の延長が期待される。
図59は、ジェスチャ操作が予想される場合と予想されない場合の退避処理の違いを説明する図である。(A1)及び(A2)はジェスチャ操作が予想されない場合の仮想画面VDとユーザUとの位置関係を示し、(B1)及び(B2)はジェスチャ操作が予想される場合の仮想画面VDとユーザUとの位置関係を示す。
図59(A1)及び(A2)では、ジェスチャ操作が予想されないので、仮想画面VDと飲み物5の距離L2が第1の距離LT1未満の場合でも、仮想画面VDの退避は実行されない。
一方、図59(B1)及び(B2)では、ジェスチャ操作が予想されるため、仮想画面VDと飲み物5の距離L2と第1の距離LT1等との関係に基づいて仮想画面VDが退避される。
なお、本実施の形態では、電極14L1、14L2、14R1を使用して脳波を測定しているが、筋電、心拍、心電、脈拍、脈波等を測定してもよい。すなわち、筋電、心拍、心電、脈拍、脈波等を頭部で測定してもよい。脳波を含め、筋電等は生体データの一例である。
<実施の形態15>
実施の形態1~14では、現実の空間を透過的に観察が可能なメガネ型のxRデバイス10(図1参照)等を想定する場合について説明したが、本実施の形態では、非透過性のxRデバイスについて説明する。
図60は、実施の形態15で想定する情報処理システム90の使用例を説明する図である。(A)は情報処理システム90の外観例を示し、(B)は装着状態を説明する図である。図60には、図3、図4、図5との対応部分に対応する符号を付して示している。
図60(A)及び(B)で説明する情報処理システム90は、ヘッドマウントデバイス91に、スマートフォン等の情報端末20Aを取り付けて使用する。本実施の形態の場合、ディスプレイ204に、カメラ206で撮像されたユーザUの前方の画像に仮想画面VDが合成されて表示される。
図60(A)及び(B)に示す情報端末20Aには、カメラ206の他、測位センサ104が取り付けられている。ここでの測位センサ104は、xRデバイス10(図1参照)に使用した測位センサ104と同じである。測位センサ104により、ユーザUの周辺に位置する物体ROまでの距離が測定される。
すなわち、本実施の形態における情報端末20Aは、実施の形態1におけるxRデバイス10と情報端末20のハードウェアと機能を合体したデバイスである。
ここでの情報端末20Aは、情報処理システムの一例であると共に情報処理装置の一例である。
<実施の形態16>
本実施の形態では、ヘッドマウント型の他の構成例を説明する。
図61は、実施の形態16で想定するヘッドセット95の使用例を説明する図である。図61には図3、図5、図55との対応部分に対応する符号を付して示している。(A)はヘッドセット95の装着例であり、(B)はヘッドセット95の内側に配置する脳波に対応する電気信号の測定用の電極14L1、14R1、14R2の配置例を示す。図61に示すヘッドセット95も、透過型のxRデバイスの一形態である。
図61に示すヘッドセット95は、例えばマイクロソフト(登録商標)社のhololens(登録商標)に、電極14L1、14R1、14R2を取り付けた構成をイメージしている。電極14L1、14R1、14R2は、ユーザUの頭部に装着されるリング状の部材のうち耳部に接触する部位に取り付けられている。
なお、ヘッドセット95の前方部には、測位センサ104とカメラ206が設けられている。
ここでのヘッドセット95は、情報処理システムの一例であると共に情報処理装置の一例である。
<他の実施の形態>
(1)以上、本発明の実施の形態について説明したが、本発明の技術的範囲は前述した実施の形態に記載の範囲に限定されない。前述した実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
(2)例えば前述の実施の形態では、xRデバイス10の具体例として眼鏡型のデバイス、頭部に装着するヘッドセット型のデバイス等を例示したが、xRデバイス10は、コンタクトレンズ型のデバイスでもよい。コンタクトレンズ型のデバイスの場合、測位センサ104は、ユーザUのネックレス等に装着する。なお、コンタクトレンズ型のデバイスは、情報処理システムの一例である。
(3)前述の実施の形態1では、xRデバイス10と連携する情報端末20において、仮想画面VDを実在する物体ROから予め定めた距離だけ退避させる機能を実行しているが、xRデバイス10単独で同等の機能を実現してもよいし、ネットワーク上のサーバによるサービスとして実現してもよい。ここでのサーバとxRデバイス10は、情報処理システムの一例である。
(4)前述の実施の形態においては、前述した各実施の形態におけるプロセッサは、広義的な意味でのプロセッサを指し、汎用的なプロセッサ(例えばCPU等)の他、専用的なプロセッサ(例えばGPU(=Graphical Processing Unit)、ASIC(=Application Specific Integrated Circuit)、FPGA(=Field Programmable Gate Array)、プログラム論理デバイス等)を含む。
また、前述した各実施の形態におけるプロセッサの動作は、1つのプロセッサが単独で実行してもよいが、物理的に離れた位置に存在する複数のプロセッサが協働して実行してもよい。また、プロセッサにおける各動作の実行の順序は、前述した各実施の形態に記載した順序のみに限定されるものでなく、個別に変更してもよい。
1、90…情報処理システム、10、10A、10B、10C、10D…xRデバイス、20、20A…情報端末、30…ロボット、40…サーバ、95…ヘッドセット

Claims (38)

  1. 仮想のオブジェクトを、現実の空間の情報に重ねた視覚情報をユーザに視認させるデバイスと、
    現実の空間に存在する物体の位置を取得する取得部と、
    プロセッサと、
    を有し、
    前記プロセッサは、
    前記デバイスから予め定められた範囲内に前記物体が位置する場合、前記仮想のオブジェクトを、当該物体から離れる方向に移動させる、
    情報処理システム。
  2. 前記範囲は、前記ユーザが前記仮想のオブジェクトに対するジェスチャ操作に使用する領域を規定する、
    請求項1に記載の情報処理システム。
  3. 前記範囲は、前記デバイスを使用するユーザの登録情報に基づいて設定される、
    請求項2に記載の情報処理システム。
  4. 前記登録情報は、ジェスチャ操作に使用する体の部位を指定する、
    請求項3に記載の情報処理システム。
  5. 前記プロセッサは、可動域の登録に関するジェスチャ操作の測定を通じ、前記範囲を設定する、
    請求項2に記載の情報処理システム。
  6. 前記プロセッサは、前記取得部による測定の結果に応じ、前記範囲を修正する、
    請求項5に記載の情報処理システム。
  7. 前記プロセッサは、ジェスチャ操作に使用する頻度が高い体の部位に応じて前記範囲を修正する、
    請求項5又は6に記載の情報処理システム。
  8. 前記プロセッサは、ユーザの視線方向に対応する前記範囲を広げる、
    請求項5又は6に記載の情報処理システム。
  9. 前記プロセッサは、前記仮想のオブジェクトとしてアイコンが配置されている場合、当該アイコンの方向についての前記範囲を広げる、
    請求項5又は6に記載の情報処理システム。
  10. 前記プロセッサは、ユーザによるジェスチャ操作が可能な位置に、前記仮想のオブジェクトを移動させる、
    請求項1に記載の情報処理システム。
  11. ユーザから見て前記仮想のオブジェクトが前記物体の手前に表示されている場合、
    前記プロセッサは、前記仮想のオブジェクトを前記デバイスに更に近づける方向に移動させる、
    請求項10に記載の情報処理システム。
  12. 前記プロセッサは、移動後の前記仮想のオブジェクトを前記物体に対して予め定めた第1の距離だけ離す、
    請求項11に記載の情報処理システム。
  13. 移動後の前記仮想のオブジェクトと前記デバイスとの距離が予め定めた第2の距離より短い場合、
    前記プロセッサは、前記第2の距離を超える前記仮想のオブジェクトの接近を禁止する、
    請求項12に記載の情報処理システム。
  14. 前記予め定められた範囲内に複数の物体が存在する場合、
    前記プロセッサは、移動後の前記仮想のオブジェクトを、前記複数の物体のいずれに対しても予め定めた第1の距離だけ離す、
    請求項1に記載の情報処理システム。
  15. 前記物体が予め定めた時間以上、前記予め定められた範囲内に存在する場合、
    前記プロセッサは、前記仮想のオブジェクトを、前記物体から離れる方向に移動させる、
    請求項10~14のいずれか1項に記載の情報処理システム。
  16. 前記仮想のオブジェクトが予め定めた条件を満たす場合、
    前記プロセッサは、前記仮想のオブジェクトを、前記物体から離れる方向に移動させない、
    請求項10~14のいずれか1項に記載の情報処理システム。
  17. ユーザの生体データを検出するセンサを更に有し、
    前記センサの検出信号を通じ、前記仮想のオブジェクトに対する操作が予測されない場合、
    前記プロセッサは、前記物体が前記範囲内に位置していても、前記仮想のオブジェクトを移動させない、
    請求項16に記載の情報処理システム。
  18. 前記プロセッサは、前記仮想のオブジェクトが操作の対象であるアイコンを含まない場合、当該仮想のオブジェクトを前記物体から離れる方向に移動させない、
    請求項16に記載の情報処理システム。
  19. ユーザから見て前記物体の手前側に表示される複数の前記仮想のオブジェクトが前記範囲内に位置する場合、
    前記プロセッサは、複数の前記仮想のオブジェクトを一体的に移動させる、
    請求項10に記載の情報処理システム。
  20. 複数の前記仮想のオブジェクトが前記範囲内に位置する場合、
    前記プロセッサは、ユーザから見て前記物体の最も手前側に表示される前記仮想のオブジェクトだけを移動させる、
    請求項10に記載の情報処理システム。
  21. 複数の前記仮想のオブジェクトのうちの一部が、ユーザから見て前記物体の手前側に表示され、残りが当該物体の奥側に別々に表示される場合に、
    前記物体の奥側に位置する前記仮想のオブジェクトに対する操作が検知されたとき、
    前記プロセッサは、操作の対象に指定された前記仮想のオブジェクトの表示位置を、ユーザから見て前記物体の手前側に移動させる、
    請求項10に記載の情報処理システム。
  22. 表示中の前記仮想のオブジェクトとは別の仮想のオブジェクトの表示が指示された場合、
    前記プロセッサは、前記別の仮想のオブジェクトを、ユーザから見て前記物体よりも手前の最前列に表示する
    請求項10に記載の情報処理システム。
  23. 前記物体が可動物である場合、
    前記プロセッサは、前記可動物の動きの予測に基づいて前記仮想のオブジェクトの移動を制御する、
    請求項1に記載の情報処理システム。
  24. 前記可動物は、周囲にいる人であり、
    前記プロセッサは、人の動きの検出を通じて人の移動先を予測する、
    請求項23に記載の情報処理システム。
  25. 現実の空間内の同じ位置に紐付けられている前記仮想のオブジェクトを複数人のユーザで視認している場合、
    前記プロセッサは、前記仮想のオブジェクトの視認を共有する他のユーザの存在を前記範囲内に検出しても、当該仮想のオブジェクトを移動させない、
    請求項23に記載の情報処理システム。
  26. 前記プロセッサは、前記可動物の移動に関する情報が取得された場合、当該可動物の移動先を予測する、
    請求項23に記載の情報処理システム。
  27. 前記プロセッサは、前記範囲内に衝突の可能性がある前記物体を検知した場合、事前に通知する、
    請求項1に記載の情報処理システム。
  28. 前記プロセッサは、前記仮想のオブジェクトとして、前記物体を表示する、
    請求項27に記載の情報処理システム。
  29. 前記プロセッサは、前記仮想のオブジェクトの形状の変形により前記物体の存在を通知する、
    請求項27に記載の情報処理システム。
  30. 前記プロセッサは、前記仮想のオブジェクトのうち操作の対象である部分を分離して移動させる、
    請求項1に記載の情報処理システム。
  31. 前記プロセッサは、前記仮想のオブジェクトをユーザによる視認が可能な範囲内で移動させる、
    請求項1に記載の情報処理システム。
  32. 前記仮想のオブジェクトが立体形状である場合、
    前記プロセッサは、ユーザのジェスチャ操作に応じて向きを変更する、
    請求項1に記載の情報処理システム。
  33. 前記仮想のオブジェクトの寸法が予め定めた基準を超える場合、
    前記プロセッサは、前記仮想のオブジェクトの表示上の寸法を前記基準以内に縮小する、
    請求項1に記載の情報処理システム。
  34. 前記仮想のオブジェクトの寸法が予め定めた基準より小さい場合、
    前記プロセッサは、前記仮想のオブジェクトの表示上の寸法を前記基準以上に拡大する、
    請求項1に記載の情報処理システム。
  35. 前記デバイスと連携する表示デバイスが前記範囲内に位置する場合、
    前記プロセッサは、前記仮想のオブジェクトを前記表示デバイスの並び位置に移動させる、
    請求項1に記載の情報処理システム。
  36. ユーザの視野内に前記表示デバイスが検出された場合、
    前記プロセッサは、前記仮想のオブジェクトと前記表示デバイスとを連携させる、
    請求項35に記載の情報処理システム。
  37. 仮想のオブジェクトを、現実の空間の情報に重ねた視覚情報をユーザに視認させるデバイスと、現実の空間に存在する物体の位置を取得する取得部とを有する情報処理装置のコンピュータに、
    前記デバイスから予め定められた範囲内に前記物体が位置する場合、前記仮想のオブジェクトを、当該物体から離れる方向に移動させる機能、
    を実現させるためのプログラム。
  38. 仮想のオブジェクトを、現実の空間の情報に重ねた視覚情報をユーザに視認させるデバイスと、現実の空間に存在する物体の位置を取得する取得部とを有する情報処理装置と連携するコンピュータに、
    前記デバイスから予め定められた範囲内に前記物体が位置する場合、前記仮想のオブジェクトを、当該物体から離れる方向に移動させる機能、
    を実現させるためのプログラム。
JP2021121977A 2021-07-26 2021-07-26 情報処理システム及びプログラム Pending JP2023017615A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021121977A JP2023017615A (ja) 2021-07-26 2021-07-26 情報処理システム及びプログラム
US17/644,380 US20230021861A1 (en) 2021-07-26 2021-12-15 Information processing system and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021121977A JP2023017615A (ja) 2021-07-26 2021-07-26 情報処理システム及びプログラム

Publications (1)

Publication Number Publication Date
JP2023017615A true JP2023017615A (ja) 2023-02-07

Family

ID=84976296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021121977A Pending JP2023017615A (ja) 2021-07-26 2021-07-26 情報処理システム及びプログラム

Country Status (2)

Country Link
US (1) US20230021861A1 (ja)
JP (1) JP2023017615A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11794107B2 (en) * 2020-12-30 2023-10-24 Activision Publishing, Inc. Systems and methods for improved collision detection in video games

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9898864B2 (en) * 2015-05-28 2018-02-20 Microsoft Technology Licensing, Llc Shared tactile interaction and user safety in shared space multi-person immersive virtual reality
EP3206122A1 (en) * 2016-02-10 2017-08-16 Nokia Technologies Oy An apparatus and associated methods
US20180046874A1 (en) * 2016-08-10 2018-02-15 Usens, Inc. System and method for marker based tracking
WO2018198499A1 (ja) * 2017-04-27 2018-11-01 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
JP2022098268A (ja) * 2020-12-21 2022-07-01 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP2022117599A (ja) * 2021-02-01 2022-08-12 キヤノン株式会社 画像処理装置、撮像装置、制御方法およびプログラム

Also Published As

Publication number Publication date
US20230021861A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
US11366516B2 (en) Visibility improvement method based on eye tracking, machine-readable storage medium and electronic device
US7091928B2 (en) Intelligent eye
JP7095602B2 (ja) 情報処理装置、情報処理方法及び記録媒体
CN112507799A (zh) 基于眼动注视点引导的图像识别方法、mr眼镜及介质
US20210407205A1 (en) Augmented reality eyewear with speech bubbles and translation
KR101638095B1 (ko) 시선 인식 및 생체 신호를 이용한 헤드 마운트 디스플레이를 통해 사용자 인터페이스를 제공하는 방법, 이를 이용한 장치 및 컴퓨터 판독 가능한 기록 매체
US11675198B2 (en) Eyewear including virtual scene with 3D frames
US11729573B2 (en) Audio enhanced augmented reality
CN110968190B (zh) 用于触摸检测的imu
JP2023017615A (ja) 情報処理システム及びプログラム
US20220236795A1 (en) Systems and methods for signaling the onset of a user's intent to interact
US20240119928A1 (en) Media control tools for managing communications between devices
US20240200962A1 (en) Providing directional awareness indicators based on context
WO2024025779A1 (en) Magnified overlays correlated with virtual markers
WO2024030269A1 (en) Medical image overlays for augmented reality experiences
EP4285206A1 (en) Systems and methods for predicting an intent to interact
Butz Human-Computer Interaction 2

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240619