JP2023519470A - 人工現実中にいる間に侵入を検出するためのシステムおよび方法 - Google Patents

人工現実中にいる間に侵入を検出するためのシステムおよび方法 Download PDF

Info

Publication number
JP2023519470A
JP2023519470A JP2022534175A JP2022534175A JP2023519470A JP 2023519470 A JP2023519470 A JP 2023519470A JP 2022534175 A JP2022534175 A JP 2022534175A JP 2022534175 A JP2022534175 A JP 2022534175A JP 2023519470 A JP2023519470 A JP 2023519470A
Authority
JP
Japan
Prior art keywords
user
physical
voxels
determining
voxel
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
JP2022534175A
Other languages
English (en)
Inventor
ガウラブ チャウラシア,
アレクサンドゥル-オイゲーン イチム,
エルダッド イツハク,
アーサー ベンジャミン ニューワウト,
ジョアッキーノ ノリス,
ソルキン, アレクサンダー ホルヌン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies LLC
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 Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of JP2023519470A publication Critical patent/JP2023519470A/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/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • 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
    • 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
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B30/00Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
    • G02B30/50Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images the image being built up from image elements distributed over a 3D volume, e.g. voxels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

一実施形態では、方法が、ヘッドマウントディスプレイ(HMD)を通して、HMDを装着しているユーザに仮想オブジェクトを表示することを含む。本方法は、次いで、ユーザの周囲の物理空間内の境界に対応する境界定義にアクセスし、物理空間内の物理オブジェクトの深度測定に基づいて複数の空間ポイントを生成する。空間ポイントに基づいて、物理オブジェクトが存在する可能性があるロケーションが決定される。本方法は、物理オブジェクトのロケーションが境界定義の内部にあるかどうかを決定し、この決定に応答して、ユーザにアラートを発する。【選択図】図7

Description

本開示は、一般に、拡張現実環境、仮想現実環境、複合現実環境、またはハイブリッド現実環境に関し、人工現実中にいる間に侵入を検出するためのシステムおよび方法に関する。
人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。人工現実は、たとえば、人工現実におけるコンテンツを作成するために使用される、および/または人工現実において使用される(たとえば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せに関連し得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドセット/ヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
HMDを介して、そのような人工現実、詳細には、VRに没入しているとき、現実世界の、ユーザの視界がHMDの物理構造によって遮断され得る。現実世界中のオブジェクトと、侵入物(intruder)とが、ユーザに危険をもたらし得るので、それらのオブジェクトと侵入物との存在をユーザに気づかせる必要がある。
拡張現実または仮想現実(AR/VR)のコンテキストでは、ユーザは、ユーザが、HMDなど、ヘッドセットを装着している間に(たとえば、ゲームをプレイするために)安全に移動し得る、物理空間(physical space)中の領域に対応する空間を仮想的に作成し得る。この空間の境界は、地面に沿ってハンドジェスチャーまたはコントローラを使用して描かれ得(たとえば、ハンドジェスチャーまたはコントローラの配向が、仮想レーザーポインタに類似し得る)、VRシステムは、次いで、地上の2D境界を上方へ拡張することによって、これらの境界に沿って仮想壁を構築することになる。しかしながら、これらの境界は、仮想のものであり、他人が見ることができず、他人は、不注意にその空間に入り得る。さらに、初期境界を作成するとき、ユーザは、それらをトレースする実際のプロセスに集中していることがあり(たとえば、ユーザがレーザーポインタを用いて境界を描いている床に集中していることがあり)、したがって、境界内に残されている(椅子などの)不要なオブジェクト、または外部から境界を超えて突出する(テーブルの縁などの)不要なオブジェクトに気づかないことがある。これらの侵入物またはオブジェクトは、ユーザがHMDを装着している間にユーザに見えないことがあり、したがって、衝突のリスクにより、ユーザに安全上の危険をもたらし得る。また、HMD上のカメラのみによってキャプチャされる画像が、人またはオブジェクトが仮想境界を実際に横切ったかどうかを検出することが可能でないことがあるので、定義された空間内の危険をユーザにアラートするために、より精密な侵入検知が必要である。
本発明の実施形態は、コンピューティングシステムによって、ヘッドマウントディスプレイ(HMD)を通して、HMDを装着しているユーザに1つまたは複数の仮想オブジェクト(virtual object)を表示することと、ユーザの周囲の物理空間内の境界に対応する境界定義にアクセスすることと、物理空間内の物理オブジェクト(physical object)の深度測定に基づいて複数の空間ポイントを生成することと、空間ポイントに基づいて、物理オブジェクトが存在する可能性があるロケーションを決定することと、物理オブジェクトのロケーションが境界定義の内部にあると決定することと、物理オブジェクトのロケーションが境界定義の内部にあるという決定に応答して、ユーザにアラートを発することとを含む、方法を含む。
いくつかの実施形態では、本方法は、物理空間を複数のボクセルに分割することをさらに含み、ボクセルは、空間ポイントを使用してそれぞれの占有状態値を割り当てられ、物理オブジェクトが存在する可能性があるロケーションは、複数のボクセルのうちの少なくとも第1のボクセルの占有状態値に基づいて決定される。
いくつかの実施形態では、第1のボクセルの占有状態値は、第1のボクセルによって含まれている空間ポイントのサブセットを決定することと、空間ポイントのサブセットが1つまたは複数の基準を満たすと決定することと、第1のボクセルが占有されていることを示すように第1のボクセルの占有状態値をセットすることとによって決定される。
いくつかの実施形態では、空間ポイントのサブセットが1つまたは複数の基準を満たすと決定することは、サブセット中の空間ポイントの数がしきい値数を満たすと決定することを含む。
いくつかの実施形態では、物理オブジェクトが存在する可能性があるロケーションを決定することは、しきい値数の連続ボクセル(contiguous voxel)が、連続ボクセルが占有されていることを示すそれぞれの占有状態値を有するかどうかを決定することを含む。
いくつかの実施形態では、ユーザにアラートを発することは、物理オブジェクトに関連する第1のボクセルを示す表示を生成することを含む。
いくつかの実施形態では、本方法は、複数のボクセルのうちの1つまたは複数の第2のボクセルが、1つまたは複数の第2のボクセルが占有されていることを示すそれぞれの占有状態値を有すると決定することと、1つまたは複数の第2のボクセルが境界定義の外部にあると決定することとをさらに含み、生成された表示は、1つまたは複数の第2のボクセルを除外する。
いくつかの実施形態では、本方法は、物理オブジェクトが存在する可能性があるロケーションのほうへ光線を投射することと、投射された光線に基づいて、占有されていない可能性がある物理空間中の領域を決定することとをさらに含む。
いくつかの実施形態では、占有されていない可能性がある物理空間中の領域を決定することは、物理空間を複数のボクセルに分割することと、光線が、物理オブジェクトが存在する可能性があるロケーションに対応するボクセルの第2のサブセットと交差するより前に、投射された光線が交差するボクセルの第1のサブセットを識別することとを含み、占有されていない可能性がある物理空間中の領域は、ボクセルの第1のサブセットに基づいて決定される。
いくつかの実施形態では、アラートは、ユーザによって観察(view)されるメディア上にオーバーレイされた物理オブジェクトの輪郭(outline)またはオーラ(aura)を含む。
いくつかの実施形態では、アラートは、物理オブジェクトがユーザによって直接視聴されることを可能にするために、ユーザによって視聴されるメディアにおけるポータルを開くことを含む。
いくつかの実施形態では、本方法は、ユーザによって視聴されるメディアの強度を決定することと、メディアの強度に基づいて複数のタイプのアラートの中からアラートを選択することとをさらに含む。
いくつかの実施形態では、強度は、メディアのアクティビティレベルを示す。
いくつかの実施形態では、アラートは、視覚アラートまたはオーディオアラートであり、アラートのそれぞれの視覚特性またはオーディオ特性が、メディアの強度に基づいて選択される。
いくつかの実施形態では、アラートを発することは、アラートを発するためにユーザによって視聴されるメディアを休止することを含む。
いくつかの実施形態では、物理オブジェクトは、境界定義の内部に突出する、境界定義の外部の物理オブジェクトを含む。
実施形態では、本方法は、ユーザから、境界定義を作成する入力を受信することと、境界定義を作成する間に物理オブジェクトが検出された場合、入力を受信する間にユーザにアラートを発することとをさらに含む。
実施形態では、本方法は、ユーザの周囲の空間の半径を作成することと、半径内で検出された物理オブジェクトを無視することとをさらに含む。
本発明の実施形態は、1つまたは複数のプロセッサと、プロセッサのうちの1つまたは複数に接続されており、命令を含む1つまたは複数のコンピュータ可読非一時的記憶媒体とを備えるシステムであって、命令は、プロセッサのうちの1つまたは複数によって実行されたとき、システムに、ヘッドマウントディスプレイ(HMD)を通して、HMDを装着しているユーザに1つまたは複数の仮想オブジェクトを表示することと、ユーザの周囲の物理空間内の境界に対応する境界定義にアクセスすることと、物理空間内の物理オブジェクトの深度測定に基づいて複数の空間ポイントを生成することと、空間ポイントに基づいて、物理オブジェクトが存在する可能性があるロケーションを決定することと、物理オブジェクトのロケーションが境界定義の内部にあると決定することと、物理オブジェクトのロケーションが境界定義の内部にあるという決定に応答して、ユーザにアラートを発することとを行わせるように動作可能である、システムを含む。
本発明の実施形態は、ソフトウェアを具現する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、ソフトウェアは、実行されたとき、ヘッドマウントディスプレイ(HMD)を通して、HMDを装着しているユーザに1つまたは複数の仮想オブジェクトを表示することと、ユーザの周囲の物理空間内の境界に対応する境界定義にアクセスすることと、物理空間内の物理オブジェクトの深度測定に基づいて複数の空間ポイントを生成することと、空間ポイントに基づいて、物理オブジェクトが存在する可能性があるロケーションを決定することと、物理オブジェクトのロケーションが境界定義の内部にあると決定することと、物理オブジェクトのロケーションが境界定義の内部にあるという決定に応答して、ユーザにアラートを発することとを行うように動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体を含む。
本明細書で説明される実施形態のいずれかからの特徴が、本明細書で説明される一般的な原理に従って、他の態様および実施形態において互いと組み合わせて使用され得る。特に、上記で説明された方法の特徴は、本明細書で説明される一般的な原理に従って、システムおよびコンピュータ可読非一時的記憶媒体において類推によって使用され得る。
本明細書で説明される特定の実施形態は、オブジェクト(たとえば、人、ペット、玩具、家具など)がユーザの定義された空間に入るとき、ユーザにアラートするように設計されたガーディアン(guardian)侵入検知システムに関する。システムは、部屋の中の観測可能なオブジェクトに対応するポイントクラウドを生成し得る。しかしながら、このポイントクラウドは、ノイズが多いことがあり、したがって、あるポイントの存在が、必ずしも、それが実際の物理オブジェクトに対応することを意味するとは限らない。ユーザにフォールスポジティブをアラートすることは、人工現実が提供するように意図されている没入型体験にとって、気を散らすものであり、有害であり得る。したがって、物理オブジェクトの存在の絶対インジケータとしてポイントに依拠するのではなく、システムは、それらを使用して、空間中の特定の領域が物理オブジェクトによって占有されている可能性を評価し、その可能性が十分に高いときにユーザにアラートし得る。
特定の実施形態では、システムは、ユーザがいる物理的領域に対応する仮想空間(virtual space)を生成し、その仮想空間をボクセルに分割し得る。コンピュータビジョン技法を使用して、システムは、ユーザの周囲における観測可能な特徴を検出し、それらの特徴についての対応するポイントクラウドを生成し得る。ポイントクラウド中の各ポイントが、仮想空間中の座標を有し、ボクセル内に入り得る。特定の実施形態では、各ボクセルは、3つの可能な状態、すなわち、空いている(free)、占有されている、または知られていない(unknown)、のうちの1つを有し得る。ボクセルは、知られていないから開始し得、どのボクセルが空いており、どれが占有されているかを決定するために、光線がHMDの推定位置からポイントクラウド中のポイントのほうへ投射され得る。特定の実施形態では、ボクセル中のポイントの存在が、そのボクセルが物理オブジェクトによって占有されていることのほうへの票としてカウントする。光線がポイントのほうへ(またはポイントからユーザのほうへ)投射されるときに光線が通過するボクセルは、各々、ポイントが、HMDのカメラに可視である観測可能な特徴に対応する場合、HMDとポイントとの間の空間はオブジェクトがない(free of)はずであり、他の場合、そのポイントに対応する特徴観測可能でないであろうという仮定に基づいて、「空いている」の状態への票を受信することになる。ポイントクラウド中の各ポイントについてこのプロセスが実施された後に、システムは、各ボクセルが受信した票に基づいて、各ボクセルが、占有されている可能性があるのか、空いている可能性があるのかを決定し得る。
しかしながら、ポイントは、特に、ポイントとHMDとの間の距離が増加するとき、極めてノイズが多いので、時間値および/または密度値が、占有されている状態をもつボクセルが実際に占有されているかどうかを決定するときに考慮され得る。たとえば、少なくとも1つの「占有されている」の票を受信したボクセルが、それにもかかわらず、たとえば、そのボクセルが、比較的少数の「占有されている」の票を受信し(たとえば、ポイントクラウド中の1つ、2つ、または5つのポイントがボクセル内にある)、そのボクセルの近隣ボクセルが空いている場合、および/またはそのボクセルが経時的に急速に状態を変更する場合、空いていることがある。一方、そのボクセルが、比較的より多くの「占有されている」の票を受信し(たとえば、ポイントクラウド中の10個、15個、または20個のポイントがボクセル内にある)、占有されている近隣ボクセルを有し、および/またはしきい値時間量の間、占有されているままである場合、そのボクセルは、物理オブジェクトによって真に占有されているとして認識され得る。これらの占有されているボクセルは、次いで、検出されたオブジェクトが、定義された空間の内部にあるのか外部にあるのかと、アラートが保証されるかどうかとを決定するために、ユーザによって描かれた境界と比較され得る。
特定の実施形態では、追加のルールが、ユーザの定義された空間中の占有されているボクセルがアラートをトリガするべきであるかどうかを規定し得る。たとえば、1つのルールが、ユーザの腕または脚に対応する可能性がある占有されているボクセルをフィルタで除去するように構成され得る。たとえば、ユーザからのしきい値距離を越えたところにある占有されているボクセルが、ユーザのためのアラートをトリガし得るが、(ユーザに、ユーザ自身の腕または脚をアラートしないように)しきい値距離内にある占有されているボクセルが無視され得る。同様に、危険をもたらすにはユーザからあまり遠いオブジェクトのためにユーザをゲームから抜けさせるアラートをトリガすることは、不要であるかまたは望ましくないことがある。
侵入するオブジェクトが決定されると、ユーザは、ユーザによって観察されているメディアを中断させる異なる程度に関与するいくつかの視覚またはオーディオ様式で、その存在をアラートされ得る。ユーザをゲームからどのくらい抜けさせるべきかを決定するために、安全考慮事項が使用され得、任意の視覚および/またはオーディオアラートを適応させる際に、ゲームの性質が使用され得る。たとえば、ユーザが、侵入物との衝突の可能性がある、極めてアクティブなゲームをプレイしている場合、ゲームは、アラートが発行されたとき、休止され得る。一方、ユーザが、より静かな、より思索的なゲームをプレイしている場合、ゲームを休止することまたは派手なアラートを発することは不要であり得る。
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書で開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、前の請求項への意図的な参照(特に複数の従属関係)から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
ユーザの定義された空間中の侵入を検出するための例示的な方法を示す図である。 人工現実デバイスに関連する例示的なネットワーク環境を示す図である。 コンピュータシステムにワイヤレスに接続された例示的なHMDシステムを示す図である。 ガーディアン境界をセットアップする例示的な事例を示す図である。 例示的なHMDを示す図である。 ボクセルの占有状態を決定するための例示的な方法を示す図である。 空いているボクセルを決定するための光線投射の例示的なプロセスを示す図である。 ガーディアンのセットアップ中にガーディアン内に残された物理オブジェクトの、ユーザに提示される例示的な可視化を示す図である。 ガーディアンのセットアップ中にガーディアン内に残された物理オブジェクトの、ユーザに提示される例示的な可視化を示す図である。 ガーディアンのセットアップ中にガーディアン内に残された物理オブジェクトの、ユーザに提示される例示的な可視化を示す図である。 ユーザがHMDを装着している間にガーディアンに移動する物理的侵入物の、ユーザに提示される例示的な可視化を示す図である。 ユーザがHMDを装着している間にガーディアンに移動する物理的侵入物の、ユーザに提示される例示的な可視化を示す図である。 ユーザがHMDを装着している間にガーディアンに移動する物理的侵入物の、ユーザに提示される例示的な可視化を示す図である。 例示的なコンピュータシステムを示す図である。
図1は、1つまたは複数の物理オブジェクトが、HMDを装着しているユーザによって占有されている定義された空間(ユーザの周りの定義された空間は、本明細書では「ガーディアン」と呼ばれることがある)に侵入したかどうかを決定するための例示的な方法100を示す。方法は、ステップ110において始まり得、仮想オブジェクトがHMDを通してユーザに表示される。ステップ120において、システムが、より大きい物理空間内の定義された空間の仮想境界の定義にアクセスし得る。定義された空間の仮想境界は、システムセットアップ中にユーザによってかれるか、またはコンピュータビジョン技法に基づいて自動的に生成され得る。システムは、物理オブジェクトが物理空間内にあるように思われるかどうかを決定し得る。これは、外向きカメラ(externally-facing camera)を使用してユーザの周囲の画像をキャプチャすることと、オブジェクトの観測可能な特徴を検出するために画像を処理することとによって達成され得る。検出されたものについて、システムは、ステップ130において、物理オブジェクトのこれらの観測可能な特徴の深度測定に基づいて複数の空間ポイントを生成する。それらのポイントは、たとえば、立体視技法を使用して生成され得る。しかしながら、生成されたポイントは、ノイズが多いかまたは不正確であり得る。したがって、ステップ140において、システムは、空間ポイントに基づいて、検出された物理オブジェクトが存在する可能性があるロケーションを決定する。以下でさらに詳細に説明されるように、システムは、たとえば、ボクセルおよび投票アルゴリズムを使用して、空間中の領域が物理オブジェクトによって真に占有されている可能性を評価し得る。ステップ150において、システムは、詳細には、存在する可能性がある物理オブジェクトが、ユーザの定義された空間またはガーディアンの境界に侵入するかどうかを決定する。気づかれない物理オブジェクトが、HMDを装着しており、したがって、それらの物理オブジェクトを見ることができない、意識していない(unwitting)ユーザに危険をもたらし得るので、ステップ160において、ガーディアン内の物理オブジェクトの検出に応答して、ユーザにアラートが発行される。
図2は、ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境200を示す。ネットワーク環境200は、ネットワーク210によって互いに接続された、HMDを装着しているユーザ201と、メインコンピュータシステム230と、ソーシャルネットワーキングシステム260と、サードパーティシステム270とを含む。図2は、ユーザ201、メインコンピュータシステム230、ソーシャルネットワーキングシステム260、サードパーティシステム270、およびネットワーク210の特定の配置を示すが、本開示は、ユーザ201、メインコンピュータシステム230、ソーシャルネットワーキングシステム260、サードパーティシステム270、およびネットワーク210の任意の好適な配置を企図する。限定としてではなく一例として、メインコンピュータシステム230、ソーシャルネットワーキングシステム260、およびサードパーティシステム270のうちの2つまたはそれ以上が、ネットワーク210をバイパスして、直接互いに接続され得る。別の例として、メインコンピュータシステム230、ソーシャルネットワーキングシステム260、およびサードパーティシステム270のうちの2つまたはそれ以上が、全体的にまたは部分的に、物理的にまたは論理的に互いとコロケートされ得る。その上、図2は、特定の数のユーザ201、メインコンピュータシステム230、ソーシャルネットワーキングシステム260、サードパーティシステム270、およびネットワーク210を示すが、本開示は、任意の好適な数のユーザ201、メインコンピュータシステム230、ソーシャルネットワーキングシステム260、サードパーティシステム270、およびネットワーク210を企図する。限定としてではなく一例として、ネットワーク環境200は、複数のユーザ201と、メインコンピュータシステム230と、ソーシャルネットワーキングシステム260と、サードパーティシステム270と、ネットワーク210とを含み得る。
特定の実施形態では、ユーザ201は、ソーシャルネットワーキングシステム260と、またはソーシャルネットワーキングシステム260上で、対話または通信する個人であり得る。特定の実施形態では、ソーシャルネットワーキングシステム260は、オンラインソーシャルネットワークをホストするネットワークアドレス指定可能なコンピューティングシステムであり得る。ソーシャルネットワーキングシステム260は、たとえば、ユーザプロファイルデータ、概念プロファイルデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関係する他の好適なデータなど、ソーシャルネットワーキングデータを生成し、記憶し、受信し、送り得る。ソーシャルネットワーキングシステム260は、直接的にまたはネットワーク210を介してのいずれかで、ネットワーク環境200の他の構成要素によってアクセスされ得る。特定の実施形態では、ソーシャルネットワーキングシステム260は、ユーザ201が、たとえば、適切なプライバシー設定をセットすることによって、そのユーザのアクションがソーシャルネットワーキングシステム260によってロギングされるか、または他のシステム(たとえば、サードパーティシステム270)と共有されることをオプトインまたはオプトアウトすることを可能にする許可サーバ(または(1つまたは複数の)他の好適な構成要素)を含み得る。ユーザのプライバシー設定は、ユーザに関連するどの情報がロギングされ得るか、ユーザに関連する情報がどのようにロギングされ得るか、ユーザに関連する情報がいつロギングされ得るか、ユーザに関連する情報を誰がロギングし得るか、ユーザに関連する情報が誰と共有され得るか、およびユーザに関連する情報がどのような目的でロギングまたは共有され得るかを決定し得る。許可サーバは、ブロッキング、データのハッシュ化、匿名化、または適宜に他の好適な技法を通して、ソーシャルネットワーキングシステム260のユーザの1つまたは複数のプライバシー設定を施行するために使用され得る。特定の実施形態では、サードパーティシステム270は、HMDを通してユーザによってプレイ可能なゲームなど、メディアをホストすることができる、ネットワークアドレス指定可能なコンピューティングシステムであり得る。サードパーティシステム270は、たとえば、ゲーム自体の初期ダウンロード、ゲームプレイ中に使用されるデータ、あるいはゲーミング進行、選好、またはパターンなど、ゲームをプレイするユーザに関する情報など、メディアおよびユーザデータを生成し、記憶し、受信し、送り得る。生成され、記憶され、受信され、送られたサードパーティシステムデータは、ソーシャルネットワーキングシステム260にソーシャルネットワーキングデータとして記憶されたユーザの選好またはプライバシー設定によって決定され得る。サードパーティシステム270は、直接的にまたはネットワーク210を介してのいずれかで、ネットワーク環境200の他の構成要素によってアクセスされ得る。特定の実施形態では、1人または複数のユーザ201は、ソーシャルネットワーキングシステム260またはサードパーティシステム270にアクセスし、そこにデータを送り、そこからデータを受信するために、1つまたは複数のメインコンピュータシステム230を使用し得る。メインコンピュータシステム230は、直接的に、ネットワーク210を介して、またはサードパーティシステムを介して、ソーシャルネットワーキングシステム260またはサードパーティシステム270にアクセスし得る。限定としてではなく一例として、メインコンピュータシステム230は、ソーシャルネットワーキングシステム260を介してサードパーティシステム270にアクセスし得る。メインコンピュータシステム230は、たとえば、パーソナルコンピュータ、ラップトップコンピュータ、セルラー電話、スマートフォン、タブレットコンピュータ、または拡張/仮想現実デバイスなど、任意の好適なコンピューティングデバイスであり得る。
本開示は、任意の好適なネットワーク210を企図する。限定としてではなく一例として、ネットワーク210の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。ネットワーク210は、1つまたは複数のネットワーク210を含み得る。
リンク250は、メインコンピュータシステム230と、ソーシャルネットワーキングシステム260と、サードパーティシステム270とを、通信ネットワーク210にまたは互いに接続し得る。本開示は、任意の好適なリンク250を企図する。特定の実施形態では、1つまたは複数のリンク250は、1つまたは複数の、(たとえば、デジタル加入者回線(DSL)またはデータオーバーケーブルサービスインターフェース仕様(DOCSIS)などの)ワイヤラインリンク、(たとえば、Wi-Fiまたはワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)などの)ワイヤレスリンク、または(たとえば、同期光ネットワーク(SONET)または同期デジタルハイアラーキ(SDH)などの)光リンクを含む。特定の実施形態では、1つまたは複数のリンク250は、各々、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー技術ベースネットワーク、衛星通信技術ベースネットワーク、別のリンク250、または2つまたはそれ以上のそのようなリンク250の組合せを含む。リンク250は、ネットワーク環境200の全体にわたって必ずしも同じである必要はない。1つまたは複数の第1のリンク250は、1つまたは複数の第2のリンク250とは1つまたは複数の点で異なり得る。
AR/VRのコンテキストでは、HMDを装着しているユーザが、何らかの特定のメディアと対話するための、プレイ空間またはガーディアンに入るかまたはそれを仮想的に作成し得る。たとえば、ユーザは、ガーディアン内でゲームをプレイし得る。しかしながら、このガーディアンは、HMDを装着しているユーザのみに見える。したがって、その仮想境界を見ることができない他の人々は、不注意にガーディアンに歩いて入り得る。さらに、ガーディアンのセットアップ中に、ユーザは、ガーディアン内のまたはガーディアンに突出するオブジェクトに気づかないことがある。これらの人間のまたは他の侵入物は、ユーザに衝突危険をもたらし得るので、それらの人間のまたは他の侵入物の存在をユーザに警告するように、それらの人間のまたは他の侵入物の存在およびロケーションを正確に検出する必要がある。
図3は、図2のメインコンピュータシステム230など、メインコンピュータシステム320にワイヤレスに接続されたHMD310の一例を示す。HMD310は、1つまたは複数のディスプレイ、ディスプレイエンジン、および計算リソースを備え得る。メインコンピュータシステム320は、対照的に、より多くの計算リソースを備え得る。メインコンピュータ320は、表示のために、各レンダリングされたフレーム全体をHMD310に送信し得る。代替実施形態では、HMD310自体が、ローカルにフレームをレンダリングし得る。HMD310は、メインコンピュータシステム320にワイヤレスに接続されているものとして示されているが、本開示は、ワイヤード接続を含む、任意の好適なタイプの接続を企図する。同様に、単一のメインコンピュータシステムに接続された単一のHMDが示されているが、本開示は、1つまたは複数のメインコンピュータシステムに接続された複数のHMDを企図する。
図4A~図4Cは、ガーディアンとも呼ばれる、ユーザの周りの定義された空間の作成の例を示す。図4Aでは、たとえば、仮想レーザーポインタをシミュレートする、ハンドジェスチャーまたはコントローラ415を使用して、より大きい物理空間400内でガーディアンを作成する、HMD410を装着しているユーザが示されている。理想的には、このガーディアンは、いかなる物理オブジェクトもなく、これは、ユーザが、たとえば、HMD410を装着しており、アクティブビデオゲームをプレイしている間、ガーディアンの周りを自由に移動することを可能にする。したがって、物理空間400内のいかなる物理オブジェクト405も、ガーディアンの境界420の外部にあるべきである。境界420は、次いで、適切な高さまで上方へ垂直方向に押し出されることになり、完成したガーディアンがユーザを囲み、覆うように、仮想壁425を作成する。
しかしながら、ユーザは、ガーディアンをセットアップするときにエラーを起こしやすく、時々、ユーザに衝突危険をもたらし得る物理オブジェクトが誤ってガーディアン内に含まれる。図4Bは、ユーザが、境界420の作成中にガーディアン内のオブジェクト430を見逃した一例を示す。この見落としは、いくつかの理由で発生し得る。たとえば、オブジェクトは、小さく、容易に見過ごされることがあり、または、ユーザは、ガーディアンの境界を作成することに集中していることがあり、その内部を見ていないことがある。この見落としはまた、境界をアクティブに作成するのではなく、ユーザが、前に作成された境界が再作成されることを単に命令する場合、発生し得る。たとえば、ユーザは、新しい物理空間にゲームシステムを持っていき、単にシステムに、前のセッションと同じ境界またはガーディアン寸法を使用して始動するように命令していることがある。しかしながら、ユーザは、このガーディアン内に含まれた新しい物理空間中のオブジェクトを了解していないことがある。代替的に、ユーザは、オブジェクト430などのオブジェクトが、前のセッションの時間からガーディアンに移動されたことを了解することなしに、その前のセッションと同じガーディアン寸法をもつ元の物理空間400中でシステムを再開し得る。
図4Cは、境界を描くユーザが、境界420の外部のオブジェクト435が、境界が描かれた後、ガーディアンに突出することになることに気づかない一例を示す。したがって、ユーザは、システムが、オブジェクト435が境界の外部にあるように思われるにもかかわらず境界420を超えて突出することを検出したとき、ガーディアンが描かれた後に、またはユーザがガーディアンを描くプロセス中にある間のいずれかで、ガーディアン内のオブジェクト435の部分440の存在をアラートされるべきである。システムは、ユーザが、実際に境界を突出部分440までおよび突出部分440を超えて描くとき、リアルタイムでこの突出を検出し得、代替的に、システムは、ユーザの位置、移動、すでに描かれた境界の部分、および/あるいはコントローラ415のロケーションまたは方向に基づいて、境界の、可能性があるロケーションを予測し得る。検出されると、突出部分440のそのような可視化といったアラートが提供され得、したがって、ユーザはガーディアン境界420を補正するかまたはオブジェクト435を移動し得る。
作成されると、ガーディアンは、含まれるオブジェクトまたはオブジェクトの部分について検証および検査され、次いで、新しい侵入物を検出するために連続的に監視され得る。
図5は、AR/VRシステム500内のユーザ502によって装着される例示的なAR/VR HMD504を示す。特定の実施形態では、AR/VRシステム500は、HMD504と、コントローラ506と、コンピューティングシステム508とを備え得る。HMD504は、ユーザの眼を覆って装着され、内部ディスプレイ(図示せず)を通してユーザ502に視覚コンテンツを提供し得る。HMD504は、ユーザ502の各眼について1つずつの、2つの別個の内部ディスプレイを有し得る。図5に示されているように、HMD504は、ユーザの視野を完全にカバーし得る。ユーザ502への視覚情報の排他的プロバイダ(exclusive provider)であることによって、HMD504は、没入型仮想現実体験を提供するという目標を達成する。しかしながら、これの1つの結果は、ユーザ502が、仮想現実メディアに没入しているとき、そのユーザの視覚がHMD504によって遮蔽されるので、ユーザの周囲の物理的環境を見ることができないことである。したがって、ユーザの物理的周囲に関するリアルタイム視覚情報をそのユーザに提供するために、本明細書で説明される侵入検知が必要とされる。
HMD504は、図5中のHMDの周りに配置された4つのカメラ505A、505B、505C、および505D(図示せず)など、外向きカメラ(external-facing camera)を有し得る。4つのカメラ505A~505Dのみが説明されているが、HMD504は、任意の方向を向く任意の数のカメラ(たとえば、天井または室内照明をキャプチャするための上向きカメラ(upward-facing camera)、ユーザの顔および/または身体の一部分をキャプチャするための下向きカメラ(downward-facing camera)、追加の前向きまたは後ろ向きカメラ(forward- or backward-facing camera)、ならびに/あるいは視標追跡目的のためにユーザの視線をキャプチャするための内部カメラ)を有し得る。外向きカメラは、ユーザの周りの物理的環境をキャプチャするように構成され得、(たとえば、ビデオとして)フレームのシーケンスを生成するために、ユーザの周りの物理的環境を連続的にキャプチャし得る。
キャプチャされたフレームは、カメラ505A~505Dによって観測された物理オブジェクトの深度測定を生成するために処理され得る。深度は様々なやり方で測定され得る。特定の実施形態では、深度はステレオ画像に基づいて算出され得る。たとえば、カメラ505A~505Dのうちのカメラのペアが、重複する視野を共有し、同時に画像をキャプチャするように構成され得る。その結果、同じ物理オブジェクトが、同時にペアの両方のカメラによってキャプチャされ得る。たとえば、オブジェクトの特定の特徴が、カメラ505Aによってキャプチャされた画像中の1つのピクセルpにおいて現れ得、同じ特徴が、カメラ505Bによってキャプチャされた画像中の別のピクセルpにおいて現れ得る。深度測定システムが、2つのピクセルが同じ特徴に対応すると知っている限り、深度測定システムは、観測された特徴の深度を算出するために三角測量技法を使用し得る。たとえば、3D空間内のカメラ505Aの位置と、カメラ505Aの視野に対するpのピクセルロケーションとに基づいて、カメラ505Aからのおよびピクセルpを通る線が投影され得る。他のカメラ505Bからのおよびピクセルpを通る同様の線が投影され得る。両方のピクセルが同じ物理的特徴に対応するので、2つの線は交差する。2つの交差する線と、2つのカメラ505Aと505Bとの間に描かれた想像線とが、三角形を形成し、これは、カメラ505Aまたは505Bのいずれかからの観測された特徴の距離あるいは観測された特徴が位置する空間中のポイントを算出するために使用され得る。
特定の実施形態では、環境内のHMD504のポーズ(たとえば、位置および配向)が必要とされ得る。たとえば、ユーザ502が仮想環境中で動き回っている間、ユーザ502のための適切な表示をレンダリングするために、システム500は、いかなる時でもユーザ502の位置および配向を決定する必要があることになる。HMDのポーズに基づいて、システム500は、カメラ505A~505Dのいずれかまたはユーザの両眼のいずれかの視点をさらに決定し得る。特定の実施形態では、HMD504は、慣性測定ユニット(「IMU」)を装備し得る。IMUによって生成されたデータは、外向きカメラによってキャプチャされたステレオ像とともに、システム500が、たとえば、SLAM(同時位置特定およびマッピング)または他の好適な技法を使用してHMD504のポーズを算出することを可能にする。
特定の実施形態では、人工現実システム500は、ユーザ502が入力を提供することを可能にする1つまたは複数のコントローラ506をさらに有し得る。コントローラ506は、ワイヤレスまたはワイヤード接続を介してHMD504または別個のコンピューティングユニット508と通信し得る。コントローラ506は、任意の数のボタンまたは他の機械的入力機構を有し得る。さらに、コントローラ506は、コントローラ506の位置が追跡され得るように、IMUを有し得る。コントローラ506は、さらに、コントローラ上の所定のパターンに基づいて追跡され得る。たとえば、コントローラ506は、所定のパターンをまとめて形成するいくつかの赤外線LEDまたは他の知られている観測可能な特徴を有し得る。センサーまたはカメラを使用して、システム500は、コントローラ上の所定のパターンの画像をキャプチャすることが可能であり得る。それらのパターンの観測された配向に基づいて、システムは、センサーまたはカメラに対するコントローラの位置および配向を算出し得る。
人工現実システム500は、コンピュータユニット508をさらに含み得る。コンピュータユニットは、HMD504とは物理的に別個であるスタンドアロンユニットであり得るか、またはそのコンピュータユニットは、HMD504と統合され得る。コンピュータ508が別個のユニットである実施形態では、コンピュータ508は、ワイヤレスまたはワイヤードリンクを介してHMD504に通信可能に接続され得る。コンピュータ508は、デスクトップまたはラップトップなど、高性能なデバイス、あるいはモバイルフォンなど、リソースの限られたデバイスであり得る。高性能なデバイスは、専用GPUおよび大容量電源または定電源(constant power source)を有し得る。一方、リソースの限られたデバイスは、GPUを有しないことがあり、限られたバッテリー容量を有し得る。したがって、AR/VRシステム500によって実際に使用され得るアルゴリズムは、そのコンピュータユニット508の能力に依存し得る。
画像に基づいて生成される物理オブジェクトの深度測定は、特に、カメラからの距離が増加するにつれて不正確になり得る。その結果、このプロセスを通して取得された3Dポイントは、ノイズが多く、信頼できないことがある。集められたデータの信頼性を改善するために、図6に示されているように、検出された3Dポイントの量および/または時間的一貫性を考慮する方法が実施され得る。方法600が、ステップ610において始まり得、物理空間400が複数のボクセルに分割され、ボクセルグリッドを作成する。各ボクセルは、所与のサイズ(たとえば、10cm×10cm、20cm×33cmなど)を有し得、ボクセルのサイズまたは解像度は、AR/VRシステムのメモリまたは処理制約、あるいはオブジェクト検出の所望のレベルの精度などのファクタに依存し得る。各ボクセルは、たとえば、空いている、占有されている、または知られていないであり得る状態をさらに有し、セットアップ時に、すべてのボクセルが、知られていないという状態で開始し得る。
特定の実施形態では、ポイントクラウド中の3Dポイントの各々が、ボクセルグリッド中の1つのボクセル中に入り、ボクセルが、多くの3Dポイントを含んでいることがある。各3Dポイントは、物理空間中の潜在的な検出されたオブジェクトまたは特徴に対応し、各ポイントは、その対応するボクセルが占有されていることの票としてカウントする。所与のボクセルがそのボクセル内に十分なポイントまたは票を含んでいる場合、システムは、ポイントが、単にノイズではなく、ボクセル内の1つまたは複数の実際の物理オブジェクトに対応するというより多くの信頼度を有することになる。
ステップ620において、ボクセルグリッドの各ボクセル内のポイントの数が決定される。ステップ630において、方法は、各ボクセル内のポイントが1つまたは複数のしきい値基準を満たすかどうか(たとえば、しきい値内のポイントの数が、3、5、10などの、あらかじめ定義された数よりも大きいかどうか)を決定する。特定の実施形態では、しきい値基準は、ボクセルグリッドにわたって一様に適用され得る。他の実施形態では、異なるボクセルが、異なるしきい値基準を使用し得る(たとえば、しきい値は、より遠くに離れているボクセルが、より近いボクセルよりも高いしきい値要件を有するような、ボクセルとユーザとの間の距離の関数であり得る)。しきい値基準が満たされた場合、方法は、ステップ631に進み、ボクセルの状態が「占有されている」に更新される。ボクセル内のより多数のポイントが、ポイントがオブジェクトに正確に対応するより高い可能性を示すが、1つまたは数個のポイントのみが検出された場合、ポイントがただノイズであるより高い可能性があり得る。同様に、一緒に密に集まった多くのポイントは、それらのポイントが、検出されたオブジェクトに正確に対応するより高い可能性を示すが、ほんの数個の散乱したポイントが検出された場合、ポイントがただノイズであるより高い可能性があり得る。ボクセル内のポイントの数がしきい値以下である場合、方法は、ステップ632に進み、ボクセルの状態が、そのボクセルが「空いている」はずであるのか「知られていない」はずであるのかのいずれかを決定するためにさらに評価される。
ステップ630の追加または代替として、ステップ640が実施され得る。ステップ640において、方法は、各ボクセルの検出されたポイントの各々について、しきい値時間量またはしきい値数のフレームの間、そのポイントが検出されたかどうかを決定する。しきい値時間量の間、ポイントが検出されなかった場合、方法は、ステップ680に進み、ポイントは無視され、「占有されている」への票が、対応するボクセルに追加されない。一方、しきい値時間量の間、ポイントが検出された場合、方法は、ステップ650に進み、「占有されている」の票が、そのポイントを含んでいるボクセルに追加される。ポイントが長く検出されるほど、そのポイントがオブジェクトに正確に対応する可能性が大きくなる。たとえば、ポイントが短い時間量の間のみ検出された場合、またはそのポイントが一連のフレームにわたって存在したりしなかったりする場合、そのポイントはただノイズである可能性があり、一方、ポイントが検出され、ある時間量の間一貫して検出されたままである場合、そのポイントは、実際の検出されたオブジェクトに対応する可能性がある。したがって、ポイントが経時的に観測される一貫性が、そのポイントの票を重み付けするために使用され得る。たとえば、過去の5つのフレーム中で一貫して観測されたポイントが、現在フレーム中でのみ観測されるポイントよりも多く重み付けされ得る。方法は、次いで、ステップ660に進み、各ボクセルへの、「占有されている」票の数が集計される。
ステップ670において、票の集計された数がしきい値よりも大きいかどうかが決定される。票の集計された数がしきい値よりも大きい場合、方法は、ステップ671に進み、対応するボクセルの状態が「占有されている」にセットされ、他の場合、方法は、ステップ672に進み、ボクセルの状態が、そのボクセルが「空いている」はずであるのか「知られていない」はずであるのかを決定するためにさらに評価される。
ステップ630~632に関して説明されたポイント密度の考慮事項と、ステップ640~680に関して説明された時間的一貫性とのいずれかまたは両方が、処理リソース消費およびAR/VRシステムの能力などのファクタに応じて、ボクセルの状態を決定するときに使用され得る。
特定の実施形態では、ボクセルがそれらの状態を割り当てられると、システムは、「占有されている」の状態を有する連続ボクセルの数を検出し得る。しきい値数よりも多くの連続ボクセルが占有されている場合、システムは、(1つまたは複数の)実際のオブジェクトがこれらの隣接するボクセルのロケーションにあるという十分な証拠があると決定し得る。さらに、オブジェクトの検出において時間減衰が考慮され得る。たとえば、ボクセルが占有されたが、隣接するボクセルが占有されていない場合、ある時間量の後に、ボクセルの状態は、オブジェクトが単一のボクセルのみを占有することになる可能性が低いので、「空いている」または「知られていない」にセットされ得る。一方、ボクセルが、しきい値時間量よりも少ない時間量の間占有されたが、隣接するボクセルも占有されている場合、システムは、オブジェクトが存在し、占有されているボクセルのロケーションを通って移動していると決定し得る。
図7に示されているように、システムは、光線(たとえば、R1~R7)をHMDの視点から物理空間700に、ポイントクラウド中のポイントのほうへ投射することによって、ボクセルグリッド中の他のボクセルの状態を決定し得る。前に説明されたように、ボクセル内にあるポイントが、そのボクセルが占有されていることのほうへの票としてカウントする。たとえば、それぞれ、ボクセルv3、v3、およびv5中のポイントP1、P2、およびP3が、「占有されている」票としてカウントする。したがって、ボクセルv3は、「占有されている」への2つの票を受信することになり、ボクセルv5は、1つの票を受信することになる。一方、HMDと、光線が交差するポイントの各々との間のボクセルが、HMDと交差されたポイントとの間の空間が空であるはずであるので、「空いている」の票を与えられる。たとえば、光線R3は、光線R3が、ターゲットポイントP2があるボクセルv3に達する前に、ボクセルv14、v15、およびv16と交差する。したがって、ボクセルv14、v15、およびv16は、各々、1つの「空いている」票を受信する。それらの票に基づいて、システムは、ボクセルを、占有されている、空いている、または知られていないとして扱い得る。たとえば、ボクセルの「空いている」票がボクセルの「占有されている」票よりも著しく数が多い場合、ボクセルは、「空いている」として扱われ得る。「占有されている」票が「空いている」票よりも著しく数が多い場合、ボクセルは、「占有されている」として扱われ得る。「空いている」と「占有されている」との間の差がわずかである場合、ボクセルの状態は、「知られていない」と見なされ得る。たとえば、特定の実施形態では、数値が、各ボクセルについて、集計された票カウントを表し得る。各「占有されている」票が、その値を1だけ増加させ得、各「空いている」票が、その値を1だけ減少させ得る。したがって、票が集計された後に、数値は、負、正、または0であり得る。特定の実施形態では、数値は、あらかじめ定義されたレンジ(たとえば、-10~+10)を有し得る。1つのサブレンジ(たとえば、+3~+10)が、「占有されている」の状態に対応し得、第2のサブレンジ(たとえば、-3~-10)が、「空いている」の状態に対応し得、第3のサブレンジ(たとえば、-2~2)が、「知られていない」の状態に対応し得る。「占有されている」の状態を有するボクセルは、そのボクセルが物理オブジェクトを含んでいる可能性があることを示唆する。
特定の実施形態では、各ボクセルが、浮動小数点値を記憶し得、ボクセルの状態は、上記で説明されたように、値の所与のサブレンジに対応する。ボクセル内の各ポイントが、ボクセルの状態が占有されていることに対する(重み付けされ得る)票を与えるが、すべての票が同じ重みを与えられるとは限らないことがある。たとえば、ノイズモデルが、ポイントの値を、HMDのカメラからのそのポイントの距離に基づいて重み付けするために使用され得る。ステレオ再構築では、ポイントの検出は、ポイントとカメラとの間の距離が増加するにつれて、正確でなくなり、信頼できなくなる。したがって、所与のボクセルへの票を集計するとき、遠いポイントが、より近いポイントよりも少ない重みを与えられ得る。
オブジェクトがユーザに危険をもたらすとき、オブジェクトの存在および/またはロケーションを示すために、ビジュアルおよび/またはオーディオアラートがユーザに発行され得る。しかしながら、これらの危険なオブジェクトは、概して、ユーザが、ガーディアン境界内の空間が安全である(たとえば、障害物がない)ことを予想し、ガーディアンの外部のオブジェクトが、危害をもたらすほどユーザに十分に近くないことがあるとき、ガーディアン内にあるオブジェクトである。したがって、特定の実施形態では、ガーディアン内の占有されているボクセルとガーディアンの外部の占有されているボクセルとの間の区別が行われ得る。物理空間がボクセルグリッドに分割されるとき、ボクセルのロケーションが、ガーディアンの境界のロケーションと比較され得る。境界内の「占有されている」と見なされるボクセルが、アラートをトリガし得、その境界を越えるボクセルが無視され得る。
特定の実施形態では、ガーディアン内で、検出された侵入物についてユーザにアラートをいつ発することが適切であるかを制御するために距離範囲がセットされ得る。たとえば、侵入物がガーディアン内にある場合でも、侵入物は、リスクをもたらさないようにユーザから十分に離れていることがある。たとえば、人またはペットなどの侵入物が、たとえば、ゲームをプレイしている間ユーザの移動を妨害しないように、ユーザから十分に遠い(たとえば、10、12、15メートル)かまたは十分に短い(たとえば、1秒または1秒未満)ガーディアンの部分を素早く通過し得る。そのような場合、ゲームを中断することが必要でないかまたは望ましくないことがある。
同様に、ユーザの周囲のしきい値距離がセットされ得、そのしきい値距離内のユーザに近いオブジェクトが、アラートが発行されることを引き起こさないことがある。これは、たとえば、ユーザ自身の腕または脚の移動に応答してアラートが発行されることを防ぎ得る。しきい値距離のサイズが、いくつかのやり方で決定され得る。そのサイズは、単に、セットされた所定のサイズであり得る。代替的に、しきい値は、ユーザによって保持されるコントローラの検出に基づき得、検出されたオブジェクトを無視すべき距離は、(この距離内のオブジェクトが、ユーザの身体の部分またはユーザが故意にタッチしている何かのいずれかである可能性があるので)ユーザがコントローラを身体にどのくらい近くに保持しているかの関数であり得る。ユーザ自身の移動についてのアラートを発することを回避するための別のオプションは、ユーザの身体追跡を実施することである。
システムが、侵入物を検出し、アラートが発行されるべきであると決定すると、そのアラートの性質またはプロパティに関する多くのオプションが存在する。特定の可視化またはオーディオ技法が、たとえば、どのボクセルが実際に占有されているか、それらのボクセルがいつ検出されたか、またはHMDを通してユーザによって観察されているメディアのプロパティに基づき得る。一例として、図8Aに示されているように、椅子など、検出された侵入物が、ポイントクラウドとしてユーザに表示され得る。別の例として、図8Bは、実際の占有されているボクセル自体の可視化として表示された検出されたオブジェクトを示す。また別の例として、図8Cに示されているように、境界が完全に描かれると、ガーディアンに突出するか、またはガーディアンに突出する可能性があると予測される、テーブルの角などの侵入物が、その侵入物にユーザの注意を向けさせるために輪郭を描かれ得る。ユーザがガーディアンの初期セットアップにあるかまたは境界を描いているとき、HMDは、複合現実モードで、またはできるだけリアルタイムに近く(たとえば、3D再構築技法に基づく)現実世界の可視化がユーザに提示されるVRのモードで動作している。したがって、単にポイント、ボクセル、または線としての検出された侵入物の提示が、あまりに多くの処理能力を消費することなしに、それらの侵入物にユーザの注意を向けさせるのに役立ち得る。さらに、ARタイプディスプレイがグレースケールで周囲の物理空間を示す状況では、表示された視覚アラートに色を追加することが、ユーザの注意をさらに引きつけ得る。
ガーディアンセットアップの後に、メディアの提示中に、ユーザは、VRに完全に没入している。したがって、侵入物が検出されたとき、現実世界のこの要素は、VRコンテンツの上に提示されなくてはならないか、またはVRコンテンツは、侵入物を示すために中断され得る。ユーザがゲームのVRコンテンツに没入している一例が図9Aに示されている。人などの侵入物がガーディアンを通過し、この侵入物の輪郭910が、VRコンテンツ上にオーバーレイされてユーザに表示される。輪郭の代わりに、検出された人の画像が表示され得る。図9Bに示されているように、ガーディアンを通過する侵入物の表示が、単純な輪郭ではなく、ぼんやりしたオーラ920として代替的に示され得る。侵入物の輪郭またはオーラの作成された外形は、ボクセルグリッドのボクセルに基づき得る。侵入物に対応することを決定された占有されているボクセルが、侵入物が位置するエリアの画像をキャプチャするように、HMD上のカメラのうちの1つまたは複数をトリガし得る。キャプチャされた画像が、次いで、ユーザに表示される外形を作成するために、勾配フィルタを通してなど、フィルタ処理され得る。代替的に、リソースを温存するために、VRシステムは、検出された侵入物のロケーションにおいて、あまり定義されていないポイントクラウドをただ表示し得る。そのようなフィルタ処理またはポイント表示プロセスは、キャプチャされた画像をユーザに直接表示するためにステレオ再構築を実施することよりもリソース集約的でないことがある。
しかしながら、特に、多くのユーザ移動を伴う極めてアクティブなゲーム中に、安全考慮事項がより侵入型のアラートを規定し得る。そのような状況では、ゲームは、アラートが発行されたときに休止され得る。追加または代替として、図9Cに示されているように、ゲームが休止されているのか、依然としてセッション中であるのかにかかわらず、ポータル930のエフェクトがゲーム中で開かれ、したがって、ユーザがHMDのカメラによってキャプチャされた侵入物の現実世界の画像を見るためのやり方を提供し得る。ポータルのこの開くことは、自動であり得るか、あるいはユーザに手動でポータルを開くように促す視覚および/または可聴アラートが発行され得る。
視覚および/またはオーディオアラートの特性、ならびにどのくらい、ユーザをゲームから抜けさせるべきか、またはユーザの没入型エクスペリエンスを中断させるべきかは、視覚/オーディオ強度あるいは観察されているメディアまたはゲームのアクティビティレベルなどの特性にさらに基づき得る。たとえば、ユーザが、それほど移動を伴わない、極めて静かなリラックスするゲームをプレイしている場合、いくつかのタイプの侵入物について、ゲームを中断する必要がないか、またはいくつかの場合には、アラートを発する必要さえないことがある。近づいているペットの場合など、アラートが発行された場合、静かなゲーム中に、侵入型の、点滅する可視化または大きいオーディオアラートが発行された場合に発生し得るように、ユーザを驚愕させないように、アラートの特性が選択され得る。一方、ユーザが、極めてテンポの速いゲーム、あるいは明るいまたは幻覚的な視覚特性をもつゲームをプレイしている場合、侵入物の単純な輪郭が気づかれないことがあり、したがって、ゲームが休止される必要があり得るか、あるいはそのようなメディアから適切に目立つ視覚またはオーディオアラートが生成される必要があることになる。
システムおよび方法
図10は、例示的なコンピュータシステム1000を示す。特定の実施形態では、1つまたは複数のコンピュータシステム1000は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム1000は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム1000上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム1000の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
本開示は、任意の好適な数のコンピュータシステム1000を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム1000を企図する。限定としてではなく例として、コンピュータシステム1000は、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム1000は、1つまたは複数のコンピュータシステム1000を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム1000は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定としてではなく一例として、1つまたは複数のコンピュータシステム1000は、リアルタイムでまたはバッチモードで、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム1000は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
特定の実施形態では、コンピュータシステム1000は、プロセッサ1002と、メモリ1004と、ストレージ1006と、入出力(I/O)インターフェース1008と、通信インターフェース1010と、バス1012とを含む。本開示は、特定の配置において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な配置において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ1002は、コンピュータプログラムを作り上げる命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ1002は、内部レジスタ、内部キャッシュ、メモリ1004、またはストレージ1006から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ1004、またはストレージ1006に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ1002は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ1002を企図する。限定としてではなく一例として、プロセッサ1002は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファ(TLB)とを含み得る。命令キャッシュ中の命令は、メモリ1004またはストレージ1006中の命令のコピーであり得、命令キャッシュは、プロセッサ1002によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ1002において実行する命令が動作する対象のメモリ1004またはストレージ1006中のデータのコピー、プロセッサ1002において実行する後続の命令によるアクセスのための、またはメモリ1004もしくはストレージ1006に書き込むための、プロセッサ1002において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ1002による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ1002のための仮想アドレストランスレーション(virtual-address translation)を高速化し得る。特定の実施形態では、プロセッサ1002は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ1002を企図する。適切な場合、プロセッサ1002は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ1002を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ1004は、プロセッサ1002が実行するための命令、またはプロセッサ1002が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム1000は、ストレージ1006または(たとえば、別のコンピュータシステム1000などの)別のソースからメモリ1004に命令をロードし得る。プロセッサ1002は、次いで、メモリ1004から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ1002は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ1002は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ1002は、次いで、メモリ1004にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ1002は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1006または他の場所とは対照的な)メモリ1004中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1006または他の場所とは対照的な)メモリ1004中のデータのみに対して動作する。(アドレスバスおよびデータバスを各々含み得る)1つまたは複数のメモリバスが、プロセッサ1002をメモリ1004に接続し得る。バス1012は、以下で説明されるように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1002とメモリ1004との間に常駐し、プロセッサ1002によって要求されるメモリ1004へのアクセスを容易にする。特定の実施形態では、メモリ1004は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ1004は、適切な場合、1つまたは複数のメモリ1004を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
特定の実施形態では、ストレージ1006は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ1006は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ1006は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含み得る。ストレージ1006は、適切な場合、コンピュータシステム1000の内部または外部にあり得る。特定の実施形態では、ストレージ1006は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ1006は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ1006を企図する。ストレージ1006は、適切な場合、プロセッサ1002とストレージ1006との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ1006は、1つまたは複数のストレージ1006を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース1008は、コンピュータシステム1000と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム1000は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム1000との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース1008とを企図する。適切な場合、I/Oインターフェース1008は、プロセッサ1002がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース1008は、適切な場合、1つまたは複数のI/Oインターフェース1008を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース1010は、コンピュータシステム1000と、1つまたは複数の他のコンピュータシステム1000または1つまたは複数のネットワークとの間の(たとえば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース1010は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース1010とを企図する。限定としてではなく一例として、コンピュータシステム1000は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム1000は、(たとえば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(たとえば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム1000は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース1010を含み得る。通信インターフェース1010は、適切な場合、1つまたは複数の通信インターフェース1010を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス1012は、コンピュータシステム1000の構成要素を互いに接続する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス1012は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス1012は、適切な場合、1つまたは複数のバス1012を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、配置されるか、実施することが可能であるか、実施するように構成されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、配置されるか、可能であるか、構成されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。

Claims (15)

  1. コンピューティングシステムによって、
    ヘッドマウントディスプレイ(HMD)を通して、前記HMDを装着しているユーザに1つまたは複数の仮想オブジェクトを表示することと、
    前記ユーザの周囲の物理空間内の境界に対応する境界定義にアクセスすることと、
    前記物理空間内の物理オブジェクトの深度測定に基づいて複数の空間ポイントを生成することと、
    前記空間ポイントに基づいて、物理オブジェクトが存在する可能性があるロケーションを決定することと、
    前記物理オブジェクトの前記ロケーションが前記境界定義の内部にあると決定することと、
    前記物理オブジェクトの前記ロケーションが前記境界定義の内部にあるという前記決定に応答して、前記ユーザにアラートを発することと
    を含む、方法。
  2. 前記物理空間を複数のボクセルに分割することをさらに含み、前記ボクセルが、前記空間ポイントを使用してそれぞれの占有状態値を割り当てられ、前記物理オブジェクトが存在する可能性がある前記ロケーションが、前記複数のボクセルのうちの少なくとも第1のボクセルの前記占有状態値に基づいて決定される、請求項1に記載の方法。
  3. 前記第1のボクセルの前記占有状態値は、
    前記第1のボクセルによって含まれている前記空間ポイントのサブセットを決定することと、
    空間ポイントの前記サブセットが1つまたは複数の基準を満たすと決定することと、
    前記第1のボクセルが占有されていることを示すように前記第1のボクセルの前記占有状態値をセットすることと
    によって決定され、任意選択的に、
    空間ポイントの前記サブセットが前記1つまたは複数の基準を満たすと決定することは、前記サブセット中の空間ポイントの数がしきい値数を満たすと決定することを含む、請求項2に記載の方法。
  4. 前記物理オブジェクトが存在する可能性がある前記ロケーションを決定することは、しきい値数の連続ボクセルが、前記連続ボクセルが占有されていることを示すそれぞれの占有状態値を有するかどうかを決定することを含む、請求項2に記載の方法。
  5. 前記ユーザに前記アラートを発することが、前記物理オブジェクトに関連する前記第1のボクセルを示す表示を生成することを含み、
    任意選択的に、前記方法は、
    前記複数のボクセルのうちの1つまたは複数の第2のボクセルが、前記1つまたは複数の第2のボクセルが占有されていることを示すそれぞれの占有状態値を有すると決定することと、
    前記1つまたは複数の第2のボクセルが前記境界定義の外部にあると決定することと
    をさらに含み、
    前記生成された表示が、前記1つまたは複数の第2のボクセルを除外する、請求項2に記載の方法。
  6. 前記物理オブジェクトが存在する可能性がある前記ロケーションのほうへ光線を投射することと、
    前記投射された光線に基づいて、占有されていない可能性がある前記物理空間中の領域を決定することと
    をさらに含み、任意選択的に、
    占有されていない可能性がある前記物理空間中の前記領域を決定することは、
    前記物理空間を複数のボクセルに分割することと、
    前記光線が、前記物理オブジェクトが存在する可能性がある前記ロケーションに対応する前記ボクセルの第2のサブセットと交差するより前に、前記投射された光線が交差する前記ボクセルの第1のサブセットを識別することと
    を含み、
    占有されていない可能性がある前記物理空間中の前記領域が、ボクセルの前記第1のサブセットに基づいて決定される、請求項1に記載の方法。
  7. 前記アラートが、前記ユーザによって視聴されるメディア上にオーバーレイされた前記物理オブジェクトの輪郭またはオーラを含む、請求項1に記載の方法。
  8. 前記アラートは、前記物理オブジェクトが前記ユーザによって直接視聴されることを可能にするために、前記ユーザによって視聴されるメディアにおけるポータルを開くことを含む、請求項1に記載の方法。
  9. ユーザによって視聴されるメディアの強度を決定することと、
    前記メディアの前記強度に基づいて複数のタイプのアラートの中から前記アラートを選択することと
    をさらに含み、任意選択的に、
    前記強度が、前記メディアのアクティビティレベルを示し、および/または任意選択的に、
    前記アラートが、視覚アラートまたはオーディオアラートであり、前記アラートのそれぞれの視覚特性またはオーディオ特性が、前記メディアの前記強度に基づいて選択される、請求項1に記載の方法。
  10. 前記アラートを発することが、前記アラートを発するために前記ユーザによって視聴されるメディアを休止することを含む、請求項1に記載の方法。
  11. 前記物理オブジェクトが、前記境界定義の内部に突出する、前記境界定義の外部の物理オブジェクトを含む、請求項1に記載の方法。
  12. 前記ユーザから、前記境界定義を作成する入力を受信することと、
    前記境界定義を作成する間に前記物理オブジェクトが検出された場合、前記入力を受信する間に前記ユーザに前記アラートを発することと
    をさらに含む、請求項1に記載の方法。
  13. 前記ユーザの周囲の空間の半径を作成することと、
    前記半径内で検出された物理オブジェクトを無視することと
    をさらに含む、請求項1に記載の方法。
  14. 1つまたは複数のプロセッサと、
    前記プロセッサのうちの1つまたは複数に接続されており、命令を含む1つまたは複数のコンピュータ可読非一時的記憶媒体と
    を備えるシステムであって、前記命令は、前記プロセッサのうちの前記1つまたは複数によって実行されたとき、前記システムに、
    ヘッドマウントディスプレイ(HMD)を通して、前記HMDを装着しているユーザに1つまたは複数の仮想オブジェクトを表示することと、
    前記ユーザの周囲の物理空間内の境界に対応する境界定義にアクセスすることと、
    前記物理空間内の物理オブジェクトの深度測定に基づいて複数の空間ポイントを生成することと、
    前記空間ポイントに基づいて、物理オブジェクトが存在する可能性があるロケーションを決定することと、
    前記物理オブジェクトの前記ロケーションが前記境界定義の内部にあると決定することと、
    前記物理オブジェクトの前記ロケーションが前記境界定義の内部にあるという前記決定に応答して、前記ユーザにアラートを発することと
    を行わせる、システム。
  15. ソフトウェアを具現する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されたとき、
    ヘッドマウントディスプレイ(HMD)を通して、前記HMDを装着しているユーザに1つまたは複数の仮想オブジェクトを表示することと、
    前記ユーザの周囲の物理空間内の境界に対応する境界定義にアクセスすることと、
    前記物理空間内の物理オブジェクトの深度測定に基づいて複数の空間ポイントを生成することと、
    前記空間ポイントに基づいて、物理オブジェクトが存在する可能性があるロケーションを決定することと、
    前記物理オブジェクトの前記ロケーションが前記境界定義の内部にあると決定することと、
    前記物理オブジェクトの前記ロケーションが前記境界定義の内部にあるという前記決定に応答して、前記ユーザにアラートを発することと
    を行うように動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体。
JP2022534175A 2020-03-26 2021-02-04 人工現実中にいる間に侵入を検出するためのシステムおよび方法 Pending JP2023519470A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/831,487 US11361512B2 (en) 2020-03-26 2020-03-26 Systems and methods for detecting intrusion while in artificial reality
US16/831,487 2020-03-26
PCT/US2021/016528 WO2021194641A1 (en) 2020-03-26 2021-02-04 Systems and methods for detecting intrusion while in artificial reality

Publications (1)

Publication Number Publication Date
JP2023519470A true JP2023519470A (ja) 2023-05-11

Family

ID=74845030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022534175A Pending JP2023519470A (ja) 2020-03-26 2021-02-04 人工現実中にいる間に侵入を検出するためのシステムおよび方法

Country Status (6)

Country Link
US (1) US11361512B2 (ja)
EP (1) EP4127868A1 (ja)
JP (1) JP2023519470A (ja)
KR (1) KR20220159347A (ja)
CN (1) CN115136054A (ja)
WO (1) WO2021194641A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11906737B2 (en) * 2021-01-04 2024-02-20 Rovi Guides, Inc. Methods and systems for controlling media content presentation on a smart glasses display
US11747622B2 (en) 2021-01-04 2023-09-05 Rovi Guides, Inc. Methods and systems for controlling media content presentation on a smart glasses display
JP2023157275A (ja) * 2022-04-14 2023-10-26 キヤノン株式会社 情報処理装置、情報処理システム、表示装置、情報処理方法、プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170103574A1 (en) * 2015-10-13 2017-04-13 Google Inc. System and method for providing continuity between real world movement and movement in a virtual/augmented reality experience
US9824500B2 (en) * 2016-03-16 2017-11-21 Microsoft Technology Licensing, Llc Virtual object pathing
WO2018227502A1 (en) * 2017-06-15 2018-12-20 Tencent Technology (Shenzhen) Company Limited System and method of instantly previewing immersive content
US20190033989A1 (en) 2017-07-31 2019-01-31 Google Inc. Virtual reality environment boundaries using depth sensors
US10885710B2 (en) * 2019-03-14 2021-01-05 Microsoft Technology Licensing, Llc Reality-guided roaming in virtual reality
US11170575B1 (en) * 2020-01-28 2021-11-09 Facebook Technologies, Llc. Comfortable navigation in large-scale virtual worlds when constrained by small-scale physical environment

Also Published As

Publication number Publication date
WO2021194641A1 (en) 2021-09-30
EP4127868A1 (en) 2023-02-08
US11361512B2 (en) 2022-06-14
US20210304502A1 (en) 2021-09-30
KR20220159347A (ko) 2022-12-02
CN115136054A (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
JP2023519470A (ja) 人工現実中にいる間に侵入を検出するためのシステムおよび方法
JP2023520968A (ja) 人工現実中にいる間に定義された空間の境界内のオブジェクトを検出するためのシステムおよび方法
US11232644B1 (en) Systems and methods for providing spatial awareness in virtual reality
US11417054B1 (en) Mixed reality objects in virtual reality environments
US11200745B2 (en) Systems, methods, and media for automatically triggering real-time visualization of physical environment in artificial reality
US11915375B2 (en) Systems, methods, and media for detecting object-free space
US20240233375A1 (en) Systems And Methods For Detecting Objects Within The Boundary Of A Defined Space While In Artificial Reality
US20240194040A1 (en) Directional Warnings in Co-located Play in Virtual Reality Environments
WO2023158741A1 (en) Spatial anchor sharing for multiple virtual reality systems in shared real-world environments
JP2018005676A (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231108