JP7184901B2 - モバイルロボットを用いる動的カメラ位置決め及び照明による空間キャプチャ、モデル化、及び質感再構築 - Google Patents

モバイルロボットを用いる動的カメラ位置決め及び照明による空間キャプチャ、モデル化、及び質感再構築 Download PDF

Info

Publication number
JP7184901B2
JP7184901B2 JP2020534906A JP2020534906A JP7184901B2 JP 7184901 B2 JP7184901 B2 JP 7184901B2 JP 2020534906 A JP2020534906 A JP 2020534906A JP 2020534906 A JP2020534906 A JP 2020534906A JP 7184901 B2 JP7184901 B2 JP 7184901B2
Authority
JP
Japan
Prior art keywords
local environment
robot
images
capturing
texture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020534906A
Other languages
English (en)
Other versions
JP2021508520A (ja
Inventor
テイラー、マイケル
ベラン、エリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JP2021508520A publication Critical patent/JP2021508520A/ja
Application granted granted Critical
Publication of JP7184901B2 publication Critical patent/JP7184901B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/217Input arrangements for video game devices characterised by their sensors, purposes or types using environment-related information, i.e. information generated otherwise than by the player, e.g. ambient temperature or humidity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/586Depth or shape recovery from multiple images from multiple light sources, e.g. photometric stereo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Ecology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Environmental Sciences (AREA)
  • Optics & Photonics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Manipulator (AREA)

Description

本開示は、モバイルロボットを用いる動的カメラ位置決め及び照明による空間キャプチャ、モデル化、及び質感再構築、ならびに関連した方法、装置、及びシステムに関する。
ビデオゲーム業界は、長年にわたって多くの変化を見せてきた。コンピューティング能力が拡大するにつれて、ビデオゲームの開発者も同様に、コンピューティング能力におけるこれらの向上を利用するゲームソフトウェアを作成している。このため、ビデオゲーム開発者は、高度な演算と数学を組み込むゲームを符号化して、非常に詳細で魅力的なゲーム体験を生み出している。
ゲームプラットフォームの例には、Sony Playstation(登録商標)、Sony Playstation2(登録商標)(PS2)、Sony Playstation3(登録商標)(PS3)、及びSony Playstation4(登録商標)(PS4)が含まれ、それぞれゲームコンソールの形で販売されている。よく知られているように、ゲームコンソールは、ディスプレイ(通常はテレビ)に接続され、ハンドヘルドコントローラを介するユーザインタラクションを可能にするように設計されている。ゲームコンソールは、CPU、集中的なグラフィックス操作を処理するためのグラフィックスシンセサイザ、ジオメトリ変換を実行するためのベクトルユニット、ならびに他のグルーハードウェア、ファームウェア、及びソフトウェアを含む、専用の処理ハードウェアによって設計されている。さらに、ゲームコンソールは、ゲームコンソールを介するローカルプレイのためのゲームディスクを受信するための光ディスクリーダーによって設計されることができる。ユーザがインターネットを介して他のユーザに対して、または他のユーザと一緒にインタラクティブにプレイすることができる、オンラインゲームも可能である。ゲームの複雑さがプレーヤーを魅了し続けるにつれて、ゲーム及びハードウェアの製造業者は革新を続け、追加のインタラクティビティ及びコンピュータプログラムを可能にした。
コンピュータゲーム業界において成長傾向にあるのは、ユーザとゲームシステムとの間のインタラクションを高めるゲームを開発することである。より豊かなインタラクティブエクスペリエンスを実現する1つの方法は、プレーヤーの動きを追跡し、これらの動きをゲームについての入力として使用するために、ゲームシステムによって動きが追跡されるワイヤレスゲームコントローラを使用することである。概して、ジェスチャ入力は、コンピューティングシステム、ビデオゲームコンソール、スマートアプライアンスなどのような電子デバイスを、プレーヤーが作成し、電子デバイスがキャプチャする何らかのジェスチャに反応させることを指す。
より没入型のインタラクティブエクスペリエンスを実現する別の方法は、ヘッドマウントディスプレイ(HMD)を使用することである。ヘッドマウントディスプレイは、ユーザが装着し、仮想空間のビューなどのさまざまなグラフィックスを提示するように設定されることができる。ヘッドマウントディスプレイ上に提示されるグラフィックスは、ユーザの視野の大部分またはすべてさえカバーできる。したがって、ヘッドマウントディスプレイは、ユーザに視覚的に没入型エクスペリエンスを提供することができる。
ヘッドマウントディスプレイ(HMD)は、ユーザの動きに応じた方法で仮想環境の3次元リアルタイムビューをレンダリングするため、HMDは、没入型の仮想現実エクスペリエンスを提供する。HMDを装着しているユーザは、全方向に自由に移動できるため、HMDを介して全方向に仮想環境のビューを提供されることができる。HMD上でレンダリングするために高品質ビデオを(例えば、高解像度及びフレームレートで)生成するために必要な処理リソースは、かなりあるため、パーソナルコンピュータまたはゲームコンソールなどの別個のコンピューティングデバイスによってハンドリングされることができる。これらのようなシステムでは、コンピューティングデバイスは、HMDにレンダリングするためのビデオを生成し、そのビデオをHMDに送信する。
ただし、HMDを装着している場合、ユーザは、自分が置かれているローカル環境を見ることができない。
この文脈において、本開示の実施態様が生じる。
本開示の実施態様は、モバイルロボットを用いる動的カメラ位置決め及び照明を介する空間キャプチャ、モデル化、及び質感再構築に関する、デバイス、方法及びシステムを含む。
いくつかの実施態様では、以下の方法操作、複数のセンサを含むロボットを使用してローカル環境についてのセンサデータを取得することと、センサデータを処理してローカル環境の空間モデルを生成することであって、空間モデルがローカル環境中の実表面に対応する仮想表面を定義する、生成することと、センサデータをさらに処理して空間モデルによって定義される仮想表面に関連付けられる質感情報を生成することと、ローカル環境においてヘッドマウントディスプレイ(HMD)の位置及び向きを追跡することと、空間モデル、質感情報、ならびにHMDの追跡された位置及び向きを使用してローカル環境に対応する仮想空間のビューをレンダリングすることと、HMDを介して仮想環境のビューを提示することとを含む方法を提供する。
いくつかの実施態様では、ローカル環境におけるHMDの位置は、仮想空間のビューがレンダリングされるパースペクティブを定義する。
いくつかの実施態様において、ローカル環境中のHMDの向きは、仮想空間のビューの方向を定義する。
いくつかの実施態様では、仮想空間のビューをレンダリングすることは、仮想表面の1つ以上に関連付けられる質感情報を使用して、空間モデルによって定義される仮想表面の1つ以上をレンダリングすることを含む。
いくつかの実施態様において、これらのセンサは、少なくとも1つの画像キャプチャデバイス、及び少なくとも1つのデプスカメラを含み、センサデータは、画像キャプチャデバイスによってキャプチャされる画像データ、及びデプスカメラによってキャプチャされる深度データを含む。
いくつかの実施態様において、この質感情報は、拡散マップ、バンプマップ、及び/またはスペキュラマップのうちの1つ以上を含む。
いくつかの実施態様において、ロボットを使用してセンサデータを取得することは、ロボットをローカル環境内の複数の位置に移動させ、これらの位置のそれぞれにおいてロボットのセンサを使用してローカル環境を感知し、センサデータを生成することを含む。
いくつかの実施態様において、センサデータを取得することは、複数の角度からローカル環境中で実表面の画像をキャプチャすることを含み、そしてセンサデータを処理して質感情報を生成することは、これらの複数の角度からキャプチャされる画像を処理して実表面に対応する空間モデルによって定義される所与の仮想表面について質感情報を生成することを含む。
いくつかの実施態様において、ロボットを使用してローカル環境において複数の照明条件を達成し、このロボットの複数のセンサを使用して複数の照明条件下でローカル環境についてのセンサデータを取得することと、センサデータを処理してローカル環境の空間モデルを生成することであって、空間モデルがローカル環境中の実表面に対応する仮想表面を定義する、生成することと、センサデータをさらに処理して空間モデルによって定義される仮想表面に関連付けられる質感情報を生成することとを含む方法を提供する。
いくつかの実施態様において、ロボットを使用して複数の照明条件を達成することは、ロボットによって住宅用照明制御システムにアクセスして1つ以上のライトをローカル環境において制御することを含む。
いくつかの実施態様において、ロボットを使用して複数の照明条件を達成することは、ロボットに含まれるライトを使用してローカル環境の少なくとも一部分を照明することを含む。
いくつかの実施態様において、ロボットを使用して複数の照明条件を達成することは、ローカル環境において光源からの光がローカル環境において表面に直接到達するのを遮断するように、ロボットを1つ以上の位置に移動させることを含む。
いくつかの実施態様において、これらのセンサは、少なくとも1つの画像キャプチャデバイス、及び少なくとも1つのデプスカメラを含み、センサデータは、画像キャプチャデバイスによってキャプチャされる画像データ、及びデプスカメラによってキャプチャされる深度データを含む。
いくつかの実施態様において、この質感情報は、拡散マップ、バンプマップ、及び/またはスペキュラマップのうちの1つ以上を含む。
いくつかの実施態様において、ロボットを使用してセンサデータを取得することは、ロボットをローカル環境内の複数の位置に移動させること、及びこれらの位置のそれぞれにおいてロボットのセンサを使用してローカル環境を感知し、センサデータを生成することを含む。
いくつかの実施態様では、ローカル環境においてロボットによって実行される方法を提供し、この方法は、ローカル環境中の第一位置に位置決めされるロボットの画像キャプチャデバイスによってローカル環境の第一画像をキャプチャすることであって、第一画像をキャプチャすることはローカル環境中の実表面のキャプチャを含む、キャプチャすることと、第一画像を処理して実表面の質感情報を決定し、さらに可能性のあるエラーが実表面の決定された質感情報に存在することを判定することと、可能性のあるエラーを判定することに応答して、ロボットを第二位置に移動させ、この第二位置において画像キャプチャデバイスによってローカル環境の第二画像をキャプチャすることであって、第二画像をキャプチャすることは第二位置から定義されるパースペクティブからの実表面のキャプチャを含む、キャプチャすることと、第二画像を処理して実表面の決定された質感情報中の可能性のあるエラーを検証し、実表面の決定された質感情報中の可能性のあるエラーを訂正することとを含む。
いくつかの実施態様において、第二画像を処理して実表面の決定された質感情報において可能性のあるエラーを検証することは、第一画像の一部分を第二画像の対応する部分と比較することを含み、第一画像及び第二画像の部分が実表面の同じ領域からのものである。
いくつかの実施態様において、可能性のあるエラーを訂正することは、第二画像の処理に基づき、実表面の決定された質感情報の一部分を置き換えることを含む。
いくつかの実施態様において、質感情報は、色及び表面構造のうちの1つ以上を定義する。
いくつかの実施態様では、ローカル環境においてロボットによって実行される方法を提供し、この方法は、ローカル環境中の第一位置に位置決めされるロボットのデプスカメラによってローカル環境の第一深度画像をキャプチャすることと、第一深度画像を処理してローカル環境の空間構造を決定し、さらに可能性のあるエラーがローカル環境の決定された空間構造に存在することを判定することと、可能性のあるエラーを判定することに応答して、ロボットを第二位置に移動させ、第二位置においてデプスカメラによってローカル環境の第二深度画像をキャプチャすることであって、第二深度画像をキャプチャすることは第二位置から定義されるパースペクティブからのローカル環境のキャプチャを含む、キャプチャすることと、第二画像を処理して決定された空間構造中の可能性のあるエラーを検証し、決定された空間構造中の可能性のあるエラーを訂正することとを含む。
いくつかの実施態様において、第二深度画像を処理して決定された空間構造において可能性のあるエラーを検証することは、第一深度画像の一部分を第二深度画像の対応する部分と比較することを含み、第一深度画像及び第二深度画像の部分がローカル環境の同じ領域からのものである。
いくつかの実施態様において、可能性のあるエラーを訂正することは、第二画像の処理に基づき、ローカル環境の決定された空間構造の一部分を置き換えることを含む。
本開示の他の態様及び利点は、例として本開示の原理を示す添付の図面と併せて、以下の詳細な説明から明らかになるであろう。
本開示は、添付の図面と併せて以下の説明を参照することによってよりよく理解され得る。
本開示の実施態様による、ヘッドマウントディスプレイ(HMD)を通して表示される三次元(3D)空間及び質感再構築のためのシステムを示す。
本開示の実施態様による、物体の3D再構築を可能にするために、異なる角度から物体をキャプチャするロボットを示す。
本開示の実施態様による、ローカル環境中のさまざまな位置に移動して表面の質感をキャプチャするロボットの俯瞰図を概念的に示す。
本開示の実施態様による、複数のパースペクティブから画像をキャプチャすることができる複数のカメラを含むロボットを示す。
本開示の実施態様による、物体をキャプチャして物体の3D再構築を可能にするように設定されるロボットを示す。
本開示の実施態様による、制御可能なライトを含むさまざまな特徴を有するローカル環境におけるロボット108を示す。
本開示の実施態様による、ローカル環境における照明条件を調整するためのシステムを概念的に示す。
本開示の実施態様による、モバイルロボットを使用して、ローカル環境中で空間データ及び質感データをキャプチャするときに可能性のあるエラーを克服する方法を示す。
本開示の実施態様による、ロボットのコンポーネントを概念的に示す概略図である。
本開示の実施態様による、さまざまなタイプのロボットを示す。
一実施形態による、クライアントシステムとインタフェースするユーザの一例を示し、クライアントシステムは、セカンドスクリーンと呼ばれるセカンドスクリーンのディスプレイにコンテンツを提供する。
本開示のさまざまな実施形態による、ゲームシステム1400のブロック図である。
本開示の以下の実施態様は、モバイルロボットを用いる動的カメラ位置決め及び照明を介する空間キャプチャ、モデル化、及び質感再構築に関する、デバイス、方法及びシステムを提供する。しかしながら、当業者には、現在記載されている特定の詳細の一部または全部がなくても本開示を実施することができることが明らかであろう。他の例では、本開示を不必要に不明瞭にしないために、周知のプロセス操作を詳細に説明していない。
図1Aは、本開示の実施態様による、ヘッドマウントディスプレイ(HMD)を通して表示される三次元(3D)空間及び質感再構築のためのシステムを示す。図示された実施態様において、ユーザ100は、ヘッドマウントディスプレイ105上にレンダリングされる仮想空間/環境のビューとインタラクトすることが示されている。限定ではなく例として、HMDの一例は、PlayStation(登録商標)VRヘッドセットである。いくつかの実施態様において、仮想空間は、ビデオゲームのものである。他の実施態様では、仮想空間は、ローカルに実行されたインタラクティブアプリケーション、クラウドで実行されるアプリケーション、クラウドプラットフォーム、ソーシャルネットワーク、ウェブサイト、テレコミュニケーションプラットフォーム、ビデオ会議、オンラインチャットルームなどを含むが、これらに限定されない、ユーザがインタラクトすることができる仮想空間または仮想環境を提供するいずれかのタイプのアプリケーションまたはプラットフォームの仮想空間である。仮想空間をサポートするこれらのようなアプリケーションまたはプラットフォームが同じ仮想空間において同時にインタラクトする複数のユーザに対応するように設定されることができることが理解されよう。
いくつかの実施態様では、仮想空間を生成するインタラクティブアプリケーション(例えば、ビデオゲーム)は、ローカルコンピューティングデバイス106によって実行される。コンピューティングデバイスは、ゲームコンソール、パーソナルコンピュータ、ラップトップコンピュータ、セットトップボックス、タブレット、携帯電話、ポータブルゲームデバイスなどを含むが、これらに限定されない、仮想空間を生成するためにインタラクティブアプリケーションを実行するように設定されることができる、いずれかの種類のデバイスであることができる。いくつかの実施態様では、コンピューティングデバイス106は、ローカルエリアネットワーク、ワイドエリアネットワーク、WiFi(登録商標)ネットワーク、セルラーネットワーク、インターネットなどのようなネットワークに接続される。
いくつかの実施態様では、コンピューティングデバイス106は、ネットワーク(例えば、インターネット)を介してクラウドサービスプロバイダと通信して、HMD105上にレンダリングされる仮想空間のビューを取得するシンクライアントである。すなわち、インタラクティブアプリケーションをクラウドサービスプロバイダによって実行して仮想空間を生成し、仮想空間の一次ビューを示すビデオデータを、ネットワーク(例えば、インターネット)を介してコンピューティングデバイス106にストリーミングし、次いで、このコンピューティングデバイスがビデオデータを処理して、HMD105にビューをレンダリングする。
いくつかの実施態様では、コンピューティングデバイス106の機能は、HMD105またはディスプレイ104に組み込まれる。
HMD105を介して表示される仮想空間とインタラクトするために、ユーザ100は、入力デバイス102を操作することができる。入力デバイス102は、コントローラ、モーションコントローラ、キーボード、マウス、トラックパッド、ポインタ、ジョイスティック、ゲーム周辺機器などを含むが、これらに限定されない、仮想空間とインタラクトするための入力を提供するのに有用ないずれかのタイプのデバイスであることができる。いくつかの実施態様において、仮想空間は、ビデオゲームのものであり、入力デバイス102は、ユーザ100がビデオゲームに入力を提供して、ビデオゲームのゲームプレイのコンテキスト中のアクション(例えば、キャラクタの、または他の仮想物体の)を制御することなどによって、ビデオゲームのゲーム状態に変化をもたらすことを可能にする。限定ではなく例として、入力デバイスの例は、DualShock(登録商標)4ワイヤレスコントローラ、PlayStation(登録商標)Moveモーションコントローラ、及びPlaystation(登録商標)VR照準コントローラなどのビデオゲームコントローラデバイスを含むことができる。
いくつかの実施態様では、画像キャプチャデバイス107は、システムが配置されているインタラクティブローカル環境110の画像をキャプチャするように設定されている。画像キャプチャデバイスの一例は、PlayStation(登録商標)Cameraである。コンピューティングデバイス106は、キャプチャされた画像を処理し、分析して、限定ではなく例として、入力デバイス102などのローカル環境101中の物体の位置/向きを決定するように設定されることができる。いくつかの実施態様では、入力デバイス102は、ライトまたは他の認識可能な特徴などの追跡可能な特徴を含むことができ、この特徴を、キャプチャされた画像中で認識し、追跡することにより、ローカル環境101における入力デバイス102の位置/向きの追跡を提供する。さらに、画像キャプチャデバイス107によってキャプチャされた画像を分析して、ユーザ100を識別し、追跡することができる。
上述されるように、ユーザ100がHMD105を装着しているため、ユーザ100は、ローカル環境110を見ることができない。したがって、いずれかの表面/物体をローカル環境内に含む、ローカル環境をキャプチャし、モデル化すると便利である。大まかに言えば、これは、表面/物体の3D空間構造をキャプチャし、モデル化すること、そしてまたこれらのような表面/物体の質感をキャプチャし、モデル化することを伴うため、ローカル環境110の正確な表現をユーザ100にレンダリングすることができる。3D実空間または物体をキャプチャしてモデル化するプロセスは、3D再構築と称される。ローカル環境110のそのようなモデルはリモート仮想現実のユーザがユーザ100のローカル環境110を体験することを可能にすること(例えば、リモート仮想現実のユーザがユーザ100のローカル環境110を仮想的に「訪問する」ことができることを可能にすること)、追加のグラフィックスまたはコンテンツによるローカル環境110のレンダリングを拡張する、または変更することなどのような他の用途も有することができることが理解されよう。
大まかに言えば、本開示の実施態様に従って、ロボット108を使用して、ローカル環境110の空間構造、及びローカル環境110における表面の質感をモデル化することを含む、ローカル環境110のモデル化を可能にする。これらのようなモデルを使用して、ローカル環境110の3D再構築である仮想空間/環境のビューをレンダリングする(例えば、コンピューティングデバイス106によって)ことができる。このビューは、HMD105を介してユーザ100に提示されることができ、ユーザ100が実際のローカル環境110に彼らの実世界位置をシミュレートする方法で仮想空間を見ることを可能にする。すなわち、ローカル環境110におけるHMD105の位置及び向きを追跡し、ローカル環境110のモデルを使用してHMD105を通じて提示される仮想空間のビューをレンダリングし、ローカル環境110内のHMD105の位置及び向きは、限定ではなく例として、仮想空間のビューをレンダリングするために使用される空間モデル内のパースペクティブ位置、及び角度方向を決定する。このようにして、HMD105を通じてユーザ100に提供される仮想空間のビューは、あたかもユーザ100がHMD105を装着せずに実際のローカル環境110を見ているかのように、実世界ビューを模倣することができる。
本開示の実施態様に従い、ロボット108を利用して、ローカル環境110を空間的に、かつ質感的にキャプチャし、ローカル環境110の3D再構築を可能にする。図示された実施態様では、ローカル環境110は、ユーザ100が位置している部屋によって定義される。しかしながら、他の実施態様では、ローカル環境110はユーザ100が位置していることができる、いずれかの他のタイプの実空間、設定または位置であることができることが理解されよう。
本開示の実施態様に従い、3D再構築プロセスは、ローカル環境内の物体の外面に沿った点の3D座標によって定義される1セットのデータ点である点群の生成を伴う。点群を処理して、通常は三角形、四角形、または他の多角形からなる、ポリゴンメッシュを定義する。ポリゴンメッシュは、1セットの頂点、頂点を接続する辺、及び辺から形成される多角形である面によって定義される。頂点は、点群のデータ点、及び/または点群のデータ点に基づき決定される他の点を含むことができる。ポリゴンメッシュは、ローカル環境の表面の3D空間モデルを定義する。レンダリング時に、質感を3Dメッシュに適用し、ローカル環境のレンダリングされたグラフィック描写を形成する。
上記のように、ロボット108を使用して、物体の材質をキャプチャすることができ、それらの材質をシステムが仮想上に再現することを可能にする。このようにして、ホログラフィック空間を作成すること、またはできるだけ正確な仮想世界に実空間を再現することが可能である。可動ロボットによって、例えば、異なる角度で、及び/または異なる照明条件下で、異なる画像を取得することが可能であり、照明条件、グレアなどのような問題を克服することができるため、このシステムは、スタティックカメラまたはカメラを使用して部屋を徹底的に撮影可能なものよりも物体の質感をさらに正確に再現することができる。
本明細書で使用される場合、「質感」は、表面の外観を特徴付ける、この外観に影響する、またはこの外観を決定する実表面または仮想表面のプロパティを指す。限定ではなく例として、それらのようなプロパティは、3D表面構造、色、反射率、透明度、半透明性などを含むことができる。コンピュータグラフィックスレンダリングのコンテキストでは、仮想表面(例えば、ポリゴンメッシュの多角形などの、3Dモデルの表面)への質感の適用は、質感マッピングと称される。質感マッピングは、限定ではなく例として、拡散マッピング、高低マッピング、バンプマッピング、法線マッピング、変位マッピング、反射マッピング、スペキュラマッピング、ミップマップ、オクルージョンマッピングなどを含む、多くのタイプの表面定義技術を有することができる。質感マッピングがモデルまたは数学的記述を使用して質感を作成するプロシージャル質感を利用することができることが理解されよう。そのようなモデルは、本明細書に説明されている本開示の実施態様に従い、ロボット108によってキャプチャされたデータから決定されることができる。
したがって、図示された実施態様に示されるように、ロボット108は、限定ではなく例として、壁112及び114、床116、敷物118、ディスプレイ104(例えば、テレビ)、メディアスタンド/キャビネット120などのようなローカル環境110内のいずれかの物体の空間構造を含む、ローカル環境110の3D空間構造をキャプチャするように設定される。これを達成するために、ロボット108は、ローカル環境110を1つ以上のセンサによって、そしてローカル環境110内の異なる位置からスキャンし、ローカル環境110の3D空間構造のキャプチャを可能にするように設定されることができる。
例えば、ロボット108は、1つ以上のデプスカメラ(または距離撮像デバイス/センサ)を含むことができ、これらのデプスカメラは、デプスカメラからの物体の距離を決定することができる。デプスカメラがいずれかの種類の距離撮像デバイス、例えば、タイムオブフライトカメラ(例えば、制御された赤外線(IR)照明を使用する)、LIDAR、ステレオカメラ(及びステレオ三角測量を使用する)などであることができることが理解されよう。加えて、ロボット108は、ローカル環境110の画像/ビデオをキャプチャするための1つ以上の画像キャプチャデバイス(例えば、可視光カメラ)を含むことができる。さらに、ロボット108は、さまざまなモーションセンサ(例えば、加速度計、ジャイロスコープ、磁力計、慣性モーションユニット(IMU)、ネットワークポジショニングデバイス(例えば、GPS、WiFi(登録商標)ポジショニング)などを含むことができ、これらを利用して、ローカル環境110内のロボット108の位置及び向きを追跡することができる。
それらのようなセンサを利用して、ロボット108は、さまざまな位置から画像及びデータをキャプチャすることによって、及び/またはロボット108がローカル環境110全体を通して移動する場合に、ローカル環境110の3D空間構造をマッピングすることができる。いくつかの実施態様では、ローカル環境110の3D空間構造は、上記のような3D点群及び/またはポリゴンメッシュモデルなどの3Dモデルを生成することによってモデル化される。限定ではなく例として、ロボット108は、自己位置推定及びマッピングの同時実行(SLAM)技術などの3D空間構造をマッピングする、または決定するためのいずれかのさまざまな技法を利用することができる。
言及されるように、質感を仮想空間の内部の仮想物体の表面に適用する。質感をキャプチャするときに、目標は、システムが材質のプロパティをできるだけ正確に再現することができるように材質のプロパティをキャプチャすることである。いくつかの実施態様では、所与の表面についての質感は、表面プロパティマップにおいて具現化される1つ以上のタイプの表面プロパティを含むことができる、質感マップによって定義される。限定ではなく例として、これらは、変位マップ(例えば、表面中のクレバスまたは他のタイプの変位を識別する)、スペキュラマップ(表面の光沢度、及び/または表面が照明、グレアなどにどのように応じるかを識別する)、フレネル(透明/半透明物体について、画角に基づき物体がどのように光を反射する、または屈折させる/透過させるか)などを有することができる。これらのタイプの表面質感プロパティは、ロボット108によってキャプチャされ、正確にモデル化され、再現されることができる。ロボット108が異なる角度から画像をキャプチャする能力は、所与の表面のプロパティのより正確なキャプチャを可能にする。その上、以下でさらに詳細に考察されるように、所与の表面を異なる、及び/または制御された照明条件下でキャプチャし、表面の質感キャプチャの精度をさらに高めることができる。
いくつかの実施態様では、ローカル環境110内の所与の表面を識別し、識別された表面の代表的な部分をサンプリングし、表面の質感を決定する。すなわち、代表的な部分の質感をキャプチャして、モデル化し、表面の仮想表現を表示する(例えば、HMD105または別のディスプレイを通じて)ためにレンダリングするときに、モデル化された質感を表面全体に適用する。
いくつかの実施態様では、所与の表面の代表的な部分をサンプリングする前に、表面またはその実質的な部分が全体にわたり実質的に同じ、または類似の質感を有することを最初に判定する。換言すれば、表面は、その領域全体にわたって実質的に一貫性のある質感を有すると判定される。限定ではなく例として、これは、表面が実質的に一貫性のある色または色のパターン、反射率、変位、または他の質感プロパティを有すると判定することによって確認されることができる。そのような判定が表面の代表的な部分の質感をキャプチャするときに適用される詳細/感度のレベルと比較して、より低い、またはより高い近似したレベルの詳細及び/または感度で行われることができることが理解されよう。例えば、一部の実施態様では、表面を評価してそれが一貫性のある質感のものであるかどうかを判定するときに、代表的なサンプルが質感でキャプチャされているときよりも質感プロパティが少ないとみなされることができる。一部の実施態様では、所与の質感プロパティに対して、表面の代表的な部分(またはサンプルまたは領域)について所与の質感プロパティをキャプチャするときと比較して、より低い解像度、サンプリング頻度、または単位面積あたりの識別レベルは、表面を評価して、それが一貫性のある質感のものであるかどうかを判定するときに適用される。したがって、表面が質感において実質的に一貫性があるかどうかについて判定を行い、そうである場合、次いで表面の代表的な部分をサンプリングし、その質感を詳細にキャプチャする。
所与の表面(またはその部分/領域)が質感において実質的に一貫性があるかどうかを判定するために、1つ以上の閾値決定を適用することができる。例えば、いくつかの実施態様では、表面のキャプチャされた画像を分析することから決定されるなどのような、表面(またはその一部分)の感知された色が所定の量を下回ることによって変化する場合に、所与の表面は、一貫性のある質感を有すると判定されることができる。いくつかの実施態様では、他の質感プロパティについて同様の決定を適用することができる。いくつかの実施態様では、複数の質感プロパティを評価し、プロパティの組み合わされた(例えば、重み付けされた)分散が所定の量を下回るかどうかを判定し、そうであれば、次いで、表面(またはその部分)を、一貫性のある質感を有すると判定する。
所与の表面の1つ以上の領域が類似の、または同一の、または一貫性のある質感を有するものとして識別されることができ、次いで、これらのような領域の代表的なサンプル/部分を詳細にスキャンし、これらのような領域の質感をキャプチャすることができることを理解されたい。さらに、物体認識を適用して識別を強化することができる。例えば、垂直な平面は、壁であると認識されるので、質感サンプリング用に識別されることができる。表面の代表的な部分の質感をサンプリングすることにより、代表的な部分が表面全体よりもはるかに小さいので、仮想空間中の表面の現実的なレンダリングを提供するために表面全体についての質感情報を格納する必要がないので、リソースを節約することが理解されよう。むしろ、サンプリングされた質感情報は、レンダリングされるときに、例えば、モデル化された質感マップを介して、表面全体に適用されることができる。このようにして、表面全体について詳細な質感情報のキャプチャを必要とせずに、表面の現実的なレンダリングを提供することにより、詳細にキャプチャされる必要のある表面積が少なく、同様に必要とされる処理量が減少するため、メモリストレージ要件が減少し、キャプチャプロセスが高速化することができる。
引き続き図1Aを参照して、例えば、ローカル環境110のキャプチャされた画像に基づき、壁112または114、床116、及び/または敷物118がそれらのそれぞれの表面全体にわたって実質的に一貫性のある質感を各有すると判定することができる。ロボット108は、これらの表面の代表的な部分の質感を詳細にキャプチャするように設定されることができる。例えば、ロボット108は、床116の代表的な部分の質感を詳細にキャプチャし、この質感をモデル化することができる。次に、床116をグラフィカルにレンダリングするときに、質感モデルを使用して床の仮想表現を仮想空間に質感マッピングし、レンダリングする。同様のプロセスを、ローカル環境110の他の表面に適用することができる。
本明細書に記載されているプロセス操作(限定ではなく例として、データの処理、空間/物体/質感のモデル化、仮想空間のビューのレンダリングなどを含む)のいずれかが特定のデバイスによって実行されるものとして本開示から具体的に説明されないか、その他の方法により明らかでない限り、ロボット108、コンピューティングデバイス106、HMD105、またはクラウドコンピューティングデバイスを限定ではなく例として含む、本明細書に記載されているデバイスのいずれかによって実行されることができることを理解されたい。例えば、いくつかの実施態様では、ローカル環境110のキャプチャ及びモデル化は、ロボット108によって実行される。一方、他の実施態様では、ローカル環境110のキャプチャは、ロボット108によって実行され、ローカル環境110のモデル化は、コンピューティングデバイス106によって実行される。本開示のシステムに利用可能なデバイス間の処理操作の分割のすべての順列を本明細書で詳細に説明しているわけではない。しかしながら、それらのような順列が本開示の範囲内にあることが理解されよう。
いくつかの実施態様では、HMD105を通してユーザ100が見ているものを観客が見ることを可能にするために、HMD105上にレンダリングされるビュー(またはその一部分)を表示デバイス104上にもレンダリングすることができる。したがって、ユーザ101は、表示デバイス104を見ることにより、ユーザ100のビューを観戦することができる。いくつかの実施態様では、ロボット108は、仮想空間の二次ビューを利用可能な投影面(例えば、壁の領域)上に投影することができる。
図1Bは、本開示の実施態様による、物体の3D再構築を可能にするために、異なる角度から物体をキャプチャするロボットを示す。図示された実施態様では、物体130は、ローカル環境110内のソファである。さまざまな実施態様では、物体130がローカル環境110内のいずれかの他のタイプの物体であることができることが理解されよう。いくつかの実施態様では、ロボット108は、異なる位置から物体130を(例えば、イメージセンサ、デプスカメラ、または他のセンサを使用して)キャプチャすることにより、物体130を異なる角度からキャプチャするように設定される。キャプチャされた情報を使用して、例えば、ポリゴンメッシュモデルを使用して、物体130の3D構造をモデル化することができる。さらに、物体130の表面の質感もまた、キャプチャし、モデル化することができる。物体130を複数の角度/方向からキャプチャすることにより、3D構造及び表面質感のより正確なモデル化が可能であることが理解されよう。
いくつかの実施態様では、物体130は、例えば、ローカル環境110のキャプチャされた画像、及び/またはキャプチャされた深度情報に適用される、物体認識プロセスに基づき認識される。認識されると、物体130は、ロボット108を使用して、複数の方向からより詳細にさらにキャプチャするために識別されることができる。
いくつかの実施態様では、ロボット108は、複数の所定の角度/方向及び/または距離から物体130をキャプチャするように設定される。例えば、ロボット108は、限定ではなく例として、45度間隔(例えば、ゼロ、45、90、135、180、225、270、及び315度)でデータをキャプチャするように設定されることができる。すなわち、ロボット108は、物体130の周りを所定の角度間隔に対応するローカル環境110内の異なる位置まで移動することで、物体130がキャプチャされる角度を体系的に変更する。いくつかの実施態様では、キャプチャの角度は、物体130の決定された中心、または物体130もしくはローカル環境110の別の基準点に対して定義されることができる。いくつかの実施態様では、ロボット108は、物体130、またはその決定された中心、または他の基準点から、所定の距離で複数のキャプチャをも取得するように設定される。さまざまな実施態様では、ロボット108は、任意の複数の角度から、任意の体系的な間隔で、またはその他の方法により物体108をキャプチャするように設定されることができる。異なる角度からの物体130の複数のキャプチャを使用すると、物体130の3D空間構造及びその表面質感をよりよくキャプチャすることができることが理解されよう。
図1Bを引き続き参照して、ロボット108は、初期位置Pに示され、この位置からロボットは、物体130をキャプチャする。ロボット108は、物体130の周りを(例えば、物体130に対して横方向に、及び/または周囲に)位置Pまで移動し、この位置からロボットは、物体130をキャプチャする。次に、ロボット108は、物体130の周りを位置Pまで移動し、その位置からロボットは、物体130をキャプチャする。さまざまな位置P、P、及びPから物体130をキャプチャする際に、ロボット108は、物体130を囲む異なる角度及びパースペクティブからキャプチャされた画像、深度情報、及び/または他のタイプの感知された情報を取得する。これらを分析して、物体130の表面の3D構造及び質感を決定することができる。
いくつかの実施態様では、位置P、P、及びPは、所定の距離(例えば、物体130の中心または他の基準点からの半径)で物体130を囲む円周沿いに位置し、そして上述されるように所定の間隔で互いから角度を付けて離れるように設定される。
いくつかの実施態様では、ロボット108は、物体130の照明に影響して、物体の構造及び/または質感のキャプチャを改善するように設定されることができる。例えば、いくつかの実施態様では、ロボット108は、物体130のさらなる照明を提供するように操作されることができる単一のライト(または複数のライト)を含むことができる。これは、周囲の照明条件が低い(例えば、所定の周囲の光閾値を下回る)ときに、または物体130のある特定の部分(例えば、影にある物体130の領域)が不十分に照明されるときなどのような、さまざまな状況で役立つ可能性がある。
図1Cは、本開示の実施態様による、ローカル環境中のさまざまな位置に移動して表面の質感をキャプチャするロボットの俯瞰図を概念的に示す。示されるように、いくつかの実施態様に従い、ロボット108は、表面140を識別し、表面140の代表的な部分142の質感をキャプチャするように設定されることができる。いくつかの実施態様では、質感のキャプチャは、表面140の代表的な部分142に関して所定の位置/向きから代表的な部分142の画像をキャプチャすることを伴う。
例えば、ロボット108は、位置Qに移動して、表面140に実質的に直交する/垂直である、代表的な部分142の中心Cに向かう方向Dにおいて、代表的な部分142の1つ以上の画像をキャプチャすることができる。いくつかの実施態様では、位置Qは、表面140から所定の距離Lで定義される。さらに、ロボット108は、表面140に対する所定の角度A(または表面140への法線に対して所定の角度)で、方向D(代表的な部分142の中心Cに向かう)に、代表的な部分142の画像のキャプチャを可能にするように位置決めされる、位置Qからの画像もキャプチャすることができる。また、ロボット108は、表面140に対する所定の角度A(または表面140への法線に対して所定の角度)で、方向D(代表的な部分142の中心Cに向かう)に、代表的な部分142の画像のキャプチャを可能にするように位置決めされる、位置Qからの画像をキャプチャすることができる。示されるように、位置Q及びQ、ならびにそれらの対応する角度A及びAは、代表的な部分142の中心Cの対向側上にある。いくつかの実施態様では、また、位置Q及びQは、代表的な部分142の中心Cから同じ距離Lに位置しているように設定されるが、他の実施態様では、それらは、他の距離に位置していることができる。
限定ではなく例として、いくつかの実施態様では、所定の角度A及び/またはAは、表面140に対して約45度である。実際には、これは、表面140の代表的な部分142の画像が代表的な部分142の同じ側から測定される場合に、約45、90、及び135度の角度からキャプチャされることを意味する。他の実施態様では、所定の角度A及び/またはAは、限定ではなく例として、約30から60度の範囲にある。
前述の実施態様では、表面140の代表的な部分142の画像は、3つの異なる角度からキャプチャされるが、他の実施態様では、代表的な部分142の画像は、任意の数の異なる角度からキャプチャされることができることが理解されよう。さらに、前述の実施態様では、画像は、実質的に垂直方向にアライメントを取る位置からキャプチャされるが、他の実施態様では、画像は、必ずしも互いに垂直方向にアライメントを取らない位置からキャプチャされる場合がある。それらのような実施態様では、ロボット108は、カメラを異なる仰角/高さに操作し、カメラを連結させ、カメラを表面の代表的な部分の中心に向けて指向させることができ得る。
図1Dは、本開示の実施態様による、複数のパースペクティブから画像をキャプチャすることができる複数のカメラを含むロボットを示す。示されるように、ロボット108は、高さ調節可能な上部カメラ150を含み、この上部カメラは、異なる高さ/仰角/垂直位置に上げ下げされることができる。また、上部カメラ150は、カメラ150の角度の調節を可能にするように関節式である。ロボット108は、カメラ150よりも低い高さでロボットの本体沿いに位置決めされる下部カメラ152をさらに含む。また、下部カメラ152は、その角度方向の調節を可能にするように関節式であることができる。したがって、カメラ150及び152を操作して(同時に)、異なる垂直位置から表面140の代表的な部分142の画像をキャプチャすることができる。上部カメラを上下に調節して、追加の異なる垂直位置から画像をキャプチャすることができる。
図示された実施態様にさらに示されるように、ロボット108は、表面140に対して横方向に左右に移動することができ、異なる水平位置からの代表的な部分142のキャプチャを可能にする。
さまざまな角度から(そしてさまざまな制御された照明条件下で)キャプチャされた画像を利用して、ロボット108は、表面140の代表的な部分142の質感をより正確にキャプチャすることができる。より具体的には、表面140に対して異なる角度及び位置からキャプチャされる画像を分析して、この分析に基づき生成され、ローカル環境110の3Dモデルの対応する表面に関連付けられる1つ以上の質感マップによって定義される通り、表面140の質感を決定することができる。上記のように、これは、限定ではなく例として、拡散マッピング、高低マッピング、バンプマッピング、法線マッピング、変位マッピング、反射マッピング、スペキュラマッピング、ミップマップ、オクルージョンマッピングなどを含むことができる。
上記のようにローカル環境110内の異なる位置から画像をキャプチャすると、ローカル環境110内のロボット108の位置及び向きを決定し、追跡することができ、キャプチャされた画像を取得するパースペクティブの正確な理解を可能にすることが理解されよう。すなわち、ロボット108及び/またはこのロボット108の画像キャプチャデバイスの位置(3D)及び角度方向は、ローカル環境110において、そしてキャプチャされている表面に対して決定されることができる。
いくつかの実施態様では、ロボット108の位置/向きは、ロボット自体によって感知される、または処理される情報に少なくとも部分的に基づき決定され、この情報は、限定ではなく例として、モーションセンサ(例えば、加速度計、ジャイロスコープ、磁力計、慣性モーションユニット(IMU)、ロボット108のホイールの動きを感知するホイールセンサ、ロボット108の画像キャプチャデバイスによってキャプチャされる画像、ネットワーク位置決め(例えば、GPS、WiFi(登録商標)位置決め)、自己位置推定及びマッピングの同時実行(SLAM)などからのデータを含む。いくつかの実施態様では、ロボット108の位置/向きは、画像キャプチャデバイス107によってキャプチャされる画像の分析に少なくとも部分的に基づき決定される。いくつかの実施態様では、ロボット108は、ローカル環境101に位置決めされる1つ以上の磁気放射体によって放射される1つ以上の磁場を感知するように設定される、1つ以上の磁気センサを含み、このロボット108の位置/向きは、そのようなデータに少なくとも部分的に基づき決定されることができる。加えて、ロボット108は、その位置/向きを、ローカル環境110のマッピングした、及び/またはモデル化した3D構造を有することに少なくとも部分的に基づき感知し、例えば、モデル化された環境への物体認識及び対応関係を使用して位置/向きを決定するように設定されることができる。
いくつかの実施態様では、ローカル環境110内の表面の代表的な部分の質感をキャプチャする目的のために、表面の代表的な部分に対するロボット108の位置を決定し、追跡する。例えば、ロボット108は、位置/向きを追跡する、具体的に表面の代表的な部分に対するその位置/向きを追跡するために上述されている方法のいずれかを使用することができる。さらに、ロボット108は、具体的に代表的な部分及び/または表面を追跡することができる。表面の代表的な部分に対する位置/向きを追跡することによって、代表的な部分のキャプチャされた画像を適切に分析することができる(例えば、対応する点を決定することができる)。
言及されるように、いくつかの実施態様では、ロボット108は、質感キャプチャのために表面を照明するために使用されることができるライトを含むことができる。いくつかの実施態様では、そのようなライトを使用して、表面の代表的な部分を照明し、表面に当たるライトによる既知の照明角度を使用して、既知のパースペクティブ/バンテージポイントからキャプチャされた画像を分析して、表面の質感を決定することができる。
図2は、本開示の実施態様による、物体をキャプチャして物体の3D再構築を可能にするように設定されるロボットを示す。図示された実施態様では、ロボット108は、アーム200a及び200bを含み、それらアームのそれぞれは、アーム200a及び200bを実際にいずれかの方向に操作することを可能にする複数の関節式ジョイントを含む。いくつかの実施態様では、アーム200a/bは、さらに伸長可能である。アーム200a及び200bは、1つ以上のライト、及び1つ以上のカメラを含むことができ、これらは、アーム200a及び200bを操作することによって操作されることができる。
図示された実施態様では、アーム200aは、照明を提供するために作動するライト202を含み、アーム200bは、画像をキャプチャするように設定されるカメラ204を含む。いくつかの実施態様では、ライト202は、カメラ204が固定された位置及び向きに留まっている間に操作され、ライト202によって提供される照明の角度が変化するときに画像をキャプチャする。他の実施態様では、ライト202を固定された位置及び向きに保持し、カメラ204を操作して、照明を一定に保ちながらカメラの角度を変更する。さらに他の実施態様では、ライト202が作動するときに、そしてカメラ204が物体または表面の画像をキャプチャするときに、ライト202及びカメラ204の両方を、順に、または同時にさえ操作することができる。
図示された実施態様では、ライト202を使用して物体210を照明することによって照明を制御しながら、カメラ204を使用して物体210の画像をキャプチャする。異なる角度から物体210の画像をキャプチャし、異なる角度からの照明を使用することにより、物体210の構造及び質感のよりロバストなモデル化を達成することができることが理解されよう。
ロボット108が物体210(またはローカル環境110内の所与の表面)の照明に影響する可能性がある別の方式は、影を生成することによるものである。いくつかの実施態様では、ロボット108は、物体210上に落ちる影を生成するために、それ自体を操作するように設定されることができる。換言すれば、ロボット108は、光源からの光の少なくとも一部分が物体210または所与の表面を照明するのを物理的に遮断するように、物体210と光源との間にそれを配置するローカル環境110内の位置に移動することができる。この方式において、ロボット108は、物体210の照明を低減させることができる。
加えて、いくつかの実施態様では、ロボット108は、物体を物理的に操作して、その構造及び質感のキャプチャを可能にするように設定される。図示された実施態様では、アーム200a及び200bは、それぞれ、クロー206a及び206bを含み、これらのクローを使用して、物体210を把持して操作し、ロボット108に対するその向きまたは位置を変更することができるため、ロボット108は、物体210の異なる部分の画像(または他の感知されたデータ)をキャプチャし、画像/データを物体及びその表面に対して異なる角度及び位置からキャプチャすることができる。
図3は、本開示の実施態様による、制御可能なライトを含むさまざまな特徴を有するローカル環境におけるロボット108を示す。図示された実施態様では、ローカル環境110は、ロボット108が配置される部屋によって定義される。さらに、部屋は、照明制御システムを介してリモート制御可能である複数のライトを含む。示されるように、ライト300a、300b、及び300cは、埋め込み式シーリングライトの形態であり、ライト302は、ランプの形態である。さまざまな実施態様において、照明制御システムを介してリモート制御可能である任意の数及びタイプのライトがあることができる。いくつかの実施態様では、照明制御システムは、ホームオートメーションシステムである。いくつかの実施態様では、照明制御システムは、WiFi(登録商標)ネットワークなどのホームネットワークを介して、またはBluetooth(登録商標)通信などの他の無線技術を使用して、無線でアクセス可能である。いくつかの実施態様では、照明制御システムは、スマートスイッチまたはスマートコンセントなどのライトの制御を可能にする1つ以上のスマートデバイスによって定義される。いくつかの実施態様では、ライト自体がネットワーク通信の可能なスマートデバイスである、またはライトが同様にネットワーク通信の可能なスマート電球を含む。
いくつかの実施態様では、ロボット108は、照明制御システムと通信して、ライトのオン/オフ状態及び強さを含む、ライトの状態を制御する。例えば、ロボット108は、WiFi(登録商標)ネットワークを介して照明制御システムと通信して、さまざまなライトの強さを調節することができる。より具体的には、ロボット108は、ローカル環境110の3D空間構造及び質感をキャプチャする目的で、多少の照明を提供するようにライトを制御することができる。これは、ローカル環境110をキャプチャすることを試みるときに、不利な照明条件を克服する際に役立つことができる。
例えば、直接または間接的な太陽光などの高強度の光が部屋に入る窓304がある場合がある。窓304を通り抜ける高強度の光は、ローカル環境110における高コントラスト、ならびにイメージセンサがローカル環境110の構造及び質感を正確にキャプチャするのを困難にする可能性がある強い影または他の影響につながる場合がある。別のシナリオでは、ローカル環境110の照明は、ロボット108による少なくともいくつかの物体または表面の画像キャプチャに十分ではない、または最適ではない場合がある(例えば、ノイズが多い傾向にあるイメージセンサによって高いゲインを必要とする)。さらに別のシナリオでは、少なくともいくつかの物体または表面またはそれらの領域の画像キャプチャには、光が強すぎる可能性がある。
したがって、ロボット108は、照明制御システムと通信して、ライトのうちのさまざまなもののオン/オフ状態、及び/または強度を調節し、これらのような照明の問題を克服するように設定されることができる。いくつかの実施態様では、ロボット108は、ローカル環境110について、及び/またはローカル環境110中の1つ以上の物体または表面について、及び/またはそれらのサブ領域について、可能な範囲に照明条件を正規化するために、照明制御システムと通信して、1つ以上のライトをオン/オフにする、及び/または1つ以上のライトの強さを調節する。照明の正規化がさまざまな実施態様において多様に定義されることができることが理解されよう。例えば、いくつかの実施態様では、照明の正規化は、ローカル環境110内の、または領域/物体/それらの表面についての、光の標的量(または標的範囲)によって定義される。いくつかの実施態様では、照明の正規化は、コントラストまたはダイナミックレンジの標的レベルまたは標的範囲によって定義される。いくつかの実施態様では、照明の正規化は、ローカル環境110内の選択された空間領域、またはロボット108の画像キャプチャデバイスによってキャプチャされる領域を参照して定義される。
照明条件を正規化する目的のために、ロボット108の1つ以上の照度センサ及び/または画像キャプチャデバイスを使用して、光量または照明条件を測定する、または決定することができることが理解されよう。
いくつかの実施態様では、ロボット108は、ローカル環境110内のライトの位置を決定し、その位置を使用してローカル環境110内の照明に影響するように設定される。例えば、図示された実施態様において、ライト300a/b/c及び302の位置を決定し、これらの位置は、それぞれ、3D座標(x,y,z)、(x,y,z)、(x,y,z)、及び(x,y,z)を有する。いくつかの実施態様では、ロボット108は、キャプチャされた画像、キャプチャされた深度データを分析することに基づき、そしてさらに照明制御システムによってライトのオン/オフ状態及び/または強度レベルを制御することに基づき、ライトの位置を決定することができる。
ライトの既知の位置を使用して、ロボット108は、それらの照明を、所望の方法でローカル環境110内の照明に影響するように制御することができる。例えば、表面の質感をキャプチャするときに、1つ以上のライトは、ライトが提供する照明量を増加させる、または減少させるように制御されることができ、表面に対する所与のライトによる照明の方向は、ライトの既知の位置、ならびに調査される表面の向き及び位置から決定されることができる。さまざまなライトを制御して、さまざまな方向からさまざまな照明量を提供できることができるため、表面についてより完全な質感データのキャプチャを可能にする。さらに、照明は、ライトの既知の位置に基づき特定の方向から提供されるため、ローカル環境110の特定の領域における不十分な照明などの問題を克服することができる。
いくつかの実施態様では、HMD105またはコントローラ102などのデバイスは、磁場の検出に基づき追跡されることができる。磁場は、ローカル環境110内の周辺機器によって放射されることができ、いくつかの実施態様では、コンピューティングデバイス106に接続される、及び/またはこのコンピューティングデバイスによって制御されることができる。いくつかの実施態様では、磁場は、画像キャプチャデバイス107に含まれる放射体によって放射される。放射された磁場に実質的に影響する、またはこの磁場と干渉する磁気特性を示す他の磁気源及び/または材料またはデバイスの存在が前述の追跡する磁気と干渉する可能性があることが理解されよう。
したがって、引き続き図3を参照して、いくつかの実施態様では、ロボット108は、ローカル環境110の磁気特性をマッピングするように設定される。より具体的には、ロボット108は、ローカル環境110の磁気特性を決定して、磁気干渉が発生する可能性がある領域を識別するように設定されることができる。いくつかの実施態様では、ロボット108は、磁場を感知しながら(例えば、1つ以上の磁力計を使用して)ローカル環境110全体を通してナビゲートすることによって、ローカル環境110の周囲の磁気特性をマッピングする。いくつかの実施態様では、ロボット108は、ローカル環境110の以前に構築された3D空間マップを使用して識別されることができる、ローカル環境110内の特定の物体の磁気特性(例えば、磁化率、透磁率など)を検出する。
ローカル環境110内のいずれかの特定の物体の磁気特性を有する、ローカル環境110の識別された磁気特性を使用して、システムは、磁気追跡に使用される放射された磁場上でのそれらの影響をモデル化することができる。したがって、ローカル環境110の識別された磁気特性のモデル化された影響を使用して、磁気追跡をより正確に行うことができる。
いくつかの実施態様では、ロボット108は、ローカル環境110のその空間マップを使用して、磁気追跡のために放射された磁場の検出を較正することができる。すなわち、放射された磁場を提供することができ、ロボットは、この放射された磁場(例えば、場の強さ)を、ローカル環境110全体を通してさまざまな位置で検出することができる。同時に、ロボット108は、その空間マップ及び/または他の非磁性技術(例えば、画像認識及び追跡、深度ベースの追跡など)を使用して、磁気放射体の位置、及びこの磁気放射体に対するロボット自体の位置を決定する。ロボット108によって検出された磁場を、非磁性技術を使用してロボットの決定された位置と相関させる。このようにして、ローカル環境110に特有である放射された磁場のマッピングを決定することができる。
いくつかの実施態様では、ローカル環境110の磁気特性をマッピングすることにより、システムは、磁気追跡に好ましい特有の領域を識別してユーザに推奨する、及び/または磁気追跡のために回避される必要がある特有の領域を識別し、この領域についてユーザに通知することができる。
図4は、本開示の実施態様による、ローカル環境における照明条件を調節するためのシステムを概念的に示す。図示された実施態様では、ロボット108は、ネットワーク402を介してホームオートメーションハブ404と通信することができる。いくつかの実施態様では、ネットワーク402は、WiFi(登録商標)ネットワークによって定義される。いくつかの実施態様では、ネットワーク402は、さまざまな種類の無線ネットワーク及び/または有線ネットワークのいずれかを含むことができ、これらのネットワークを介してロボット108は、ホームオートメーションハブ404と通信することができる。
ホームオートメーションハブ404は、ネットワーク402を介して通信することができ、またライト406と通信することができるデバイスであり、これらのライトは、ローカル環境110内の照明条件に影響するように制御されることができるローカル環境110内のライトである。いくつかの実施態様では、ホームオートメーションハブ402は、Universal Powerline Bus、Insteon、Z-wave、Zigbee(登録商標)、WiFi(登録商標)、Bluetooth(登録商標)、Thread、Homekitなどのようなホームオートメーション通信プロトコルまたは規格を介してライト406と通信する。ホームオートメーションハブ404は、それらの能力に従い、ライト406によって提供される照明を制御するように適切なプロトコルを介して通信することができ、そしてライト406のオン/オフ状態、光強度設定、及び色などの態様を制御することができる。
図4を引き続き参照して、参照番号408で示されるように、ロボット108は、ローカル環境110内の照明状態を感知する。これは、ローカル環境110内の特定の物体400、表面、領域、またはローカル環境110の他の部分の照明条件を感知することを含むことができる。この最初に感知された照明条件に基づき、ロボット108は、例えば、物体400、またはローカル環境110内の表面の質感をキャプチャする目的のために、照明条件を改善するように照明条件を調節する必要があると判定することができる。いくつかの実施態様では、上述のように、ロボット108は、現在感知された照明条件が標的照明条件を満たすかどうかを判定し、この標的照明条件は、いくつかの実施態様では、測定された照明条件パラメータについての最小値、最大値、または範囲を満たすことによって定義されることができる。照明条件を調節する必要があると判定することに応答して、ロボット108は、参照番号410に示されるように、ネットワーク402を介してホームオートメーションハブ404に要求を送信して、ライト406を調節する。
この要求に応答して、ホームオートメーションハブ404は、参照番号412に示されるように、1つ以上の制御信号をライト406に送信する(例えば、ホームオートメーションプロトコルを使用して)ことにより、所与のライトをオンまたはオフにすること、その強度を調節すること、及び/またはその色を調節することなどによる、いくつかの方式においてライト406の状態に影響する。次に、参照番号414に示されるように、ローカル環境110内の照明条件が変化すると、参照番号408に戻り、ロボット108は、ローカル環境110内の新しい照明条件を感知する。
上記の実施態様では、ロボット108は、ネットワーク402を介してホームオートメーションハブ404と通信するが、いくつかの実施態様では、ロボット108は、ホームオートメーションハブ404と直接通信する。さらに他の実施態様では、ロボット108は、ライト406と直接通信してそれらの照明設定を調節することにより、ローカル環境110内の照明条件を制御することができる。
図5は、本開示の実施態様による、モバイルロボットを使用して、ローカル環境中で空間データ及び質感データをキャプチャするときに可能性のあるエラーを克服する方法を示す。方法操作500では、データは、ロボット108の1つ以上のセンサまたは空間/質感データキャプチャデバイスによってキャプチャされる。限定ではなく例として、本明細書の他の箇所に説明されるように、これは、画像キャプチャデバイスによって画像データをキャプチャすること、デプスカメラによって深度データをキャプチャすることなどを含むことができる。このようなデータキャプチャは、ローカル環境110またはその中のいずれかの領域/物体/表面の空間構造及び/または質感をキャプチャする目的のためのものであることができる。
方法操作502において、キャプチャされたデータを分析する。より具体的には、キャプチャされたデータを分析して、キャプチャされたデータの中に可能性のあるエラーがあるかどうかを判定する。いくつかの実施態様では、これは、キャプチャされたデータを分析して、キャプチャされたデータまたはこのキャプチャされたデータの他の態様において不連続性を識別することなどによって、疑わしい部分を識別することを伴う。いくつかの実施態様では、これは、キャプチャされたデータの所与の部分についての信頼度を決定すること、そしてこの信頼度が所定の閾値を満たすかどうかを判定することを伴う。換言すれば、信頼度が所定の閾値を満たさない(例えば、上回る)場合、次いで、検討中のキャプチャされたデータの部分について可能性の高いエラーがある。
例えば、キャプチャされた画像において、すべてが白(または、すべて高強度もしくは最大強度、例えば、閾値強度レベルを上回る)である表面の一部分は、その部分が実際に白色であるためである場合があるが、グレアの存在、またはある種のスペキュラ反射に起因する場合もある。または別の例として、キャプチャされた深度データにおいて、深度データが欠落している領域は、空間構造全体の中の開口部(例えば、戸口)が原因である場合があるが、窓もしくは他の透明構造、または存在するがデプスカメラによって検出されないデプスカメラのビームを偏向させる反射面に起因する場合もある。デプスカメラは、ノイズ(例えば、キャプチャすることが困難である反射及び/または特徴からの)に影響されやすいことが知られ、したがって、深度データは、誤った測定値を含む場合がある。したがって、ロボット108の機能を使用して、それらのような潜在的なエラーを識別して解決することが望ましい。
方法操作504において、可能性のあるエラーが存在するかどうかを判定する。そうでない場合、次いで、方法操作506において、方法は終了する。しかしながら、可能性のあるエラーが存在する場合、方法操作508において、1つ以上のアクションは、エラーを克服する(例えば、エラーが実際に存在するかどうかを明らかにする)ために識別される/決定される。方法操作510において、決定されたアクションをロボット108によって実行し、可能性のあるエラーを解決する。限定ではなく例として、それらのような訂正アクションは、以下の、ロボット108を新規の位置/向きに移動させること(例えば、異なる角度及び/または距離から、画像を取得する、またはデータをキャプチャするために)、ロボット108のセンサデバイスを移動させること(例えば、ロボットの伸縮アームまたは関節アームを調整することによって)、照明を調節すること(例えば、ロボットのライトを調節すること、ホームオートメーションシステムを通して照明を調節することによって)などのうちの1つ以上を含むことができる。
決定されたアクションのパフォーマンスに続いて、次いで、方法は、方法操作500に戻り、再度、ロボット108を使用してデータをキャプチャする。したがって、この方法は、可能性の高いエラーがなくなるまで、またはキャプチャされたデータが十分な信頼度まで正確になるまで、繰り返されることができる。
ローカル環境110の前述の空間及び質感モデルを使用して、ローカル環境110を3D再構築し、HMD105のディスプレイなどのディスプレイ上にローカル環境110の非常にリアルなビューをレンダリングすることが可能である。これにより、HMD105を最初に装着するときに、及び/または取り外す直前に、ローカル環境110の仮想化されたバージョンのビューをユーザ100に提供することができるため、ユーザ100についての仮想現実への、または仮想現実からの移行を容易にすることができる。さらに、別のリモートユーザが彼らの仮想化されたローカル環境に入ることを許可することなどにより、ユニークな体験をユーザ100に提供し、他のユーザが物理的に存在していなくても、ローカル環境110中の別のユーザとインタラクトすることと同様の体験を提供することができる。
図6は、本開示の実施態様による、ロボットのコンポーネントを概念的に示す概略図である。示されるように、ロボット1100は、本開示に説明されるように、ロボットのさまざまなデバイスと、ロボット1100によって実行される操作とを制御するように設定されるコントローラ1102を含み、これらの操作は、データ及びインストラクションを処理することと、ロボット1100のさまざまなデバイスにコマンドを発行して、ロボットを移動させること、ロボットに画像/オーディオ/ビデオをキャプチャさせること、ロボットに画像/オーディオ/ビデオをレンダリングさせること、またはロボットにロボットができるいずれかの他の機能を実行させることとを含む。コントローラ1102は、プログラムインストラクションを実行するように設定される1つ以上のプロセッサ1104(例えば、マイクロプロセッサ、汎用プロセッサ(GPP)、特定用途向けプロセッサ(ASP)、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、複合命令セットコンピュータ(CISC)、縮小命令セットコンピュータ(RISC)、特定用途向け集積回路(ASIC)、デジタルシグナルプロセッサ(DSP)など)、及びデータを格納し、取得するように設定される1つ以上のメモリデバイス1106(例えば、揮発性メモリ、不揮発性メモリ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、SRAM、DRAM、フラッシュメモリ、磁気メモリ、ハードディスク、光ディスクなど)を含む。
トランシーバ1108は、無線または有線接続を介して、データを送信する、及び/または受信するように設定される。トランシーバ1108は、1つ以上のネットワークを介して通信し、当該技術で既知のさまざまなデータ通信プロトコルのいずれかを使用することができ、これらのデータ通信プロトコルは、限定ではなく例として、IPベースのプロトコル、Wi-Fi、Bluetooth(登録商標)、NFC、Zigbee(登録商標)、Z-Wave、ANT、UWB、ワイヤレスUSB、Sigfox、セルラーネットワーク(2G/3G/4G/5Gネットワーク、LTEネットワークなど)、赤外線プロトコル(例えば、IRDAプロトコル)などを含む。
ロボット1100は、限定ではなく例として、ロボット1100によってレンダリングされている仮想環境からの音、音楽、スピーチ、メディアプレゼンテーション(例えば、テレビ番組、映画、ショーなど)からの音声などを含む、任意の種類のオーディオを発することができる1つ以上のスピーカー1110を含む。
ロボット1100は、ロボットが配置されているローカル環境から音を捕捉するように設定される1つ以上のマイクロホン1112を含む。複数のマイクロホンは、より多くの方向において同時により高い感度を可能にすることができる。いくつかの実施態様では、マイクロホン1112は、アレイまたは他の所定の位置決め配置に構成されるため、マイクロホンアレイからの信号を分析して、マイクロホンアレイに対する音源の方向性を決定することができる。
ロボット1100は、ローカル環境から画像/ビデオをキャプチャするように設定される1つ以上の画像キャプチャデバイス/カメラ1114を含む。複数の画像キャプチャデバイスを用いて、限定ではなく例として、ローカル環境のより広い領域または複数の領域、及び/または改善された環境マッピング、深度分析の同時カバレッジを可能にすることができる。
1つ以上のアクチュエータ1116によって、1つ以上のカメラ1114を指向させることができ、所与のカメラの方向を調整することができる。アクチュエータ1116は、カメラ1114の向きを回転させる、平行移動させる、上げる、下げる、傾ける、パンする、またはその他の方法により移動させる、もしくは変更するように設定されることができる。
ロボット1100は、1つ以上のデプスカメラ1118を含む。デプスカメラは、ローカル環境内の物体についての深度/測距情報をキャプチャすることが可能である。いくつかの実施態様では、デプスカメラ1118は、ローカル環境内のさまざまなポイントへの制御された光信号のタイムオブフライトに基づき距離を決定するタイムオブフライトカメラである。
カメラ1114と同様に、デプスカメラ1118は、1つ以上のカメラ1114を指向させるアクチュエータと同じ、または異なるアクチュエータであることができる、1つ以上のアクチュエータ1116によって指向することができる。
ロボット1100は、近くの物体へのロボットの近接を検出することができる1つ以上の近接センサ1120を含む。近接センサ1120をロボット1100上のさまざまな位置に取り付けることができ、ロボット1100の対応する部分についての近接検知を可能にする。例えば、いくつかの実施態様では、少なくとも1つの近接センサをロボット1100の下部に取り付け、ロボットの下部近くの物体(例えば、ロボット1100が位置している床/表面上の物体)の検出を提供するなど、この近くで近接検知を可能にする。いくつかの実施態様では、1つ以上の近接センサは、ロボットの中央部分及び上部を含む、ロボット1100の他の部分沿いに取り付けられる。近接センサ1120は、ローカル環境内の物体とロボット1100の衝突を回避すること、近くの物体の存在を検知すること、ロボットの近くにいるユーザによるジェスチャを検知することなどに役立つことができる。
ロボット1100は、ロボット1100の地理的位置を決定するためにGPS衛星から情報を受信するように設定される、全地球測位システム(GPS)デバイス/受信機1122を含む。
ロボット1124は、ロボット1124の動き及び/または向きを検知することができる、1つ以上の慣性/モーションセンサ1124を含む。慣性/モーションセンサの例は、加速度計、磁力計、ジャイロスコープなどを含む。
ロボット1124は、画像/ビデオをローカル環境内の表面上に投影することができる、少なくとも1つのプロジェクタ1126を含む。限定ではなく例として、プロジェクタは、LCDプロジェクタ、LEDプロジェクタ、DLPプロジェクタ、LCoSプロジェクタ、ピコプロジェクタなどであることができる。
ロボット1100は、ロボット1100がローカル環境周囲で移動することができるように構成される、複数のホイール/ローラー、例えば、示されるようなホイール/ローラー1130a及び1130bを含む。1つ以上のホイール/ローラーをアクチュエータ(例えば、アクチュエータ1132a及び1132b)によって制御し、ホイール/ローラーを回転させることにより、ロボット1100の動きをもたらすことができる。いくつかの実施態様では、ホイール/ローラーは、多方向性または全方向性であることができる、すなわち、1つより多い方向、またはすべての方向において動きを生成する、または容易にすることができる。
ロボット1100のさまざまな構成要素は、ハウジング内に含まれることができる。図示された実施態様では、上部ハウジング1134a及び下部ハウジング1134bを含む。上部ハウジング1134aは、下部ハウジング1134bに対して回転可能であり、複数のベアリング1136によって容易にされるように構成される。いくつかの実施態様では、アクチュエータ1138は、上部ハウジング1134aを回転させるように構成される。さまざまな実施態様において、ロボット1100のさまざまな構成要素のいずれかは、上部ハウジング1134aに、またはこの上部ハウジング内に取り付けられ、上部ハウジング1134aが回転するときに回転する/移動するように構成されることができ、さまざまな構成要素の他のものは、下部ハウジング1134bに、またはこの下部ハウジング内に取り付けられ、同時に回転しない。
例として、いくつかの実施態様では、カメラ1114、デプスカメラ1118、スピーカー1110、及び/またはマイクロホン1112は、上部ハウジング1134aに取り付けられ、プロジェクタ1126は、下部ハウジング1134bに取り付けられる。上部ハウジング1134aに取り付けられる構成要素は、プロジェクタ1126から独立して、上部ハウジング1134aと共に回転することができる。これにより、ロボット1100がカメラ1114、デプスカメラ1118、スピーカー1110、及び/またはマイクロホン1112から独立してプロジェクタ1126を指向させることを可能にする。例えば、これは、カメラ1114、デプスカメラ1118、スピーカー1110、及び/またはマイクロホン1112をユーザに向けて指向させることが可能であり、プロジェクタ1126は、壁または他の投影面に向けて指向するのに有用であることができる。
図7A~7Gは、本開示の実施態様による、さまざまなタイプのロボットを示す。
図7Aは、本開示の実施態様による、円筒形の本体1200を含むロボットを示す。プロジェクタ1202及びカメラ1204は、本開示の実施態様に従い、伸長可能である、及び/または回転可能である、それぞれのポールに取り付けられている。ロボットは、ロボットが複数の方向に音声を発することができる、複数のスピーカー1206を含むことができる。具体的には示されていないが、ロボットは、ダウンファイアリングスピーカーをも含むことができる。さらに、ロボットは、ローカル環境周囲のロボットの推進/移動のためのホイール1208を含む。
図7Bは、本開示の実施態様による、プロジェクタ1202及びカメラ1204などの構成要素が取り付けられることができる、回転可能な上部1210を含むロボットを示す。さらに、ロボットは、任意の種類のデータをレンダリングするように設定されることができる、ディスプレイ1212を含む。いくつかの実施態様では、ロボットのディスプレイ1212をセカンダリディスプレイとして使用し、ビデオゲーム中にプレーヤーに有用な情報を示すことができる。ディスプレイ1212は、タッチスクリーンディスプレイであることができ、タッチスクリーンディスプレイ上でのタッチ及びジェスチャを介してユーザから入力を受信することができる。さらに、ロボットは、ロボットの推進のための無限軌道システム1214(タンクトレッドまたはキャタピラトレッドとしても知られている)を使用する。
図7Cは、本開示の実施態様による、コントローラ及び/または他のインタフェースデバイスについての保管位置としても機能するように構成されるロボットを示す。図示された実施態様では、ロボットは、コントローラ1220a及び1220b、ならびにモーションコントローラ1222a及び1222bを保持する/格納するように構成される。ロボットは、止め金、クリップ、ストラップ、クランプ、ポケット、孔部、凹部などのような、コントローラまたは他のインタフェースデバイスを保持するためのさまざまな種類のデバイスのいずれかを含むことができる。
図7Dは、本開示の実施態様による、本体1230及び発進可能なドローン1232を含むロボットを示す。ドローン1232は、飛行していないとき、本体1230上の支持構造体1234上に静止する、及び/またはこの支持構造体に固定されることができる。支持構造体1234は、ドローン1232上の対応する接点と嵌合するように、またドローン1232とロボットの本体1230との間のデータの通信、及びドローンのバッテリの充電を可能にするように、構成される接点を含むことができる。ドローン1232がその操作に有用である、及び/またはドローンが飛行している間に使用されることができる、さまざまな構成要素、例えば、カメラ、デプスカメラ、マイクロホン、プロジェクタ、慣性/モーションセンサ、無線トランシーバなどを含むことができることが理解されよう。ドローン1232は、本体1230と無線で通信し、本体1230から送信される無線信号を介して制御されることができる。ドローン1232は、画像キャプチャ、オーディオキャプチャ、投影、オーディオレンダリングなどについて、上昇したバンテージポイントを提供するために、作動し、飛行することができる。
図7Eは、本開示の実施態様による、ヒューマノイドデバイスのフォームファクタを有するロボットを示す。ロボットは、関節式であることができる頭部1240を含み、カメラ、プロジェクタなどのデバイスを含むことができる。さらに、ロボットは、関節式であり、物品を握ったり、ジェスチャを実行したりするように構成されることができるアーム1242を含む。さらに、ロボットは、関節式であり、ロボットがローカル環境周囲で歩く/走るまたはその他の方法により移動することができるように構成されることができる、脚部1244を含む。
図7Fは、本開示の実施態様による、回転自在なボール形状部分1250を含むロボットを示す。いくつかの実施態様では、ボール形状部分1250は、それに取り付けられるカメラ、プロジェクタ、マイクロホンなどの任意のデバイスを再指向させるように、全方向に回転することができる。ボール形状部分1250は、中央部分1252によって支持され、この中央部分は、ベース部分1254の周囲で回転可能であることにより、ロボットのデバイスの動きのより大きな融通性を提供する。
図7Gは、本開示の実施態様による、ホイール1262間に画定される本体1260を含むロボットを示す。いくつかの実施態様では、ホイール1262a及び1626bは、本体1260よりも実質的に大きいように大型であり、ロボットが障害物または他の不連続部を横切ることができる。いくつかの実施態様では、本体1260の重心は、ホイール1262a及び1262bの軸のレベルより下にあるように構成されるため、本体1260の向きは、支持用に2つのホイールを含むに過ぎないが容易に維持される。
図8は、クライアントシステム1306とインタフェースするユーザ1300のHMD102の一例を示し、クライアントシステム1306は、セカンドスクリーン1307と呼ばれるセカンドスクリーンディスプレイにコンテンツを提供する。クライアントシステム1306は、HMD1302からセカンドスクリーン1307へのコンテンツの共有を処理するための統合された電子機器を含むことができる。他の実施形態は、クライアントシステムと、HMD1302及びセカンドスクリーン1307のそれぞれとの間でインタフェースする、別個のデバイス、モジュール、コネクタを含むことができる。この一般的な例では、ユーザ1300は、HMD1302を装着しており、指向性インタフェースオブジェクト1304でもあることができる、コントローラを使用してビデオゲームをプレイしている。ユーザ1300によるインタラクティブプレイは、ビデオゲームコンテンツ(VGC)を生成し、このVGCは、HMD1302にインタラクティブに表示される。
一実施形態では、HMD1302に表示されているコンテンツは、セカンドスクリーン1307に共有される。一例では、セカンドスクリーン1307を見ている人は、ユーザ1300によってHMD1302においてインタラクティブに再生されているコンテンツを見ることができる。別の実施形態では、別のユーザ(例えば、プレーヤー2)は、クライアントシステム1306とインタラクトして、セカンドスクリーンコンテンツ(SSC)を生成することができる。コントローラ1304(または任意のタイプのユーザインタフェース、ジェスチャ、音声、または入力)ともインタラクトするプレーヤーによって生成されるセカンドスクリーンコンテンツを、SSCとしてクライアントシステム1306に生成し、HMD1302から受信するVGCに加えて、セカンドスクリーン1307上に表示することができる。
その結果、HMDユーザが共同設置される、またはこのHMDユーザからリモートにあることができる、他のユーザによるインタラクティビティは、HMDユーザと、セカンドスクリーン1307上でHMDユーザが再生しているコンテンツを見ていることができるユーザとの両方に、ソーシャル、インタラクティブ、及びさらに没入型であることができる。図示されるように、クライアントシステム1306は、インターネット1310に接続されることができる。また、インターネットは、さまざまなコンテンツソース1320からのコンテンツに、クライアントシステム1306へのアクセスを提供することができる。コンテンツソース1320は、インターネットを介してアクセス可能である任意のタイプのコンテンツを含むことができる。
そのようなコンテンツは、限定ではなく、ビデオコンテンツ、ムービーコンテンツ、ストリーミングコンテンツ、ソーシャルメディアコンテンツ、ニュースコンテンツ、フレンドコンテンツ、広告コンテンツなどを含むことができる。一実施形態では、ゲームプレイ中のインタラクティビティと関連するマルチメディアコンテンツをHMDに提供するように、クライアントシステム1306を使用して、HMDユーザについてのコンテンツを同時に処理することができる。次に、クライアントシステム106は、ビデオゲームコンテンツに関連しない可能性がある他のコンテンツをもセカンドスクリーンに提供することができる。クライアントシステム1306は、一実施形態では、コンテンツソース1320のうちの1つから、またはローカルユーザもしくはリモートユーザから、セカンドスクリーンコンテンツを受信することができる。
図9は、本開示のさまざまな実施形態による、ゲームシステム1400のブロック図である。ゲームシステム1400は、ネットワーク1415を介して1つ以上のクライアント1410にビデオストリームを提供するように設定される。ゲームシステム1400は、通常、ビデオサーバシステム1420、及び任意選択のゲームサーバ1425を含む。ビデオサーバシステム1420は、最小限のサービス品質によって1つ以上のクライアント1410にビデオストリームを提供するように設定される。例えば、ビデオサーバシステム1420は、ビデオゲーム内のビューの状態または視点を変更するゲームコマンドを受信し、最小限のラグタイムによって状態にこの変更を反映する、更新されたビデオストリームをクライアント1410に提供することができる。ビデオサーバシステム1420は、まだ定義されていないフォーマットを含む、多種多様な代替ビデオフォーマットにおいてビデオストリームを提供するように設定されることができる。さらに、ビデオストリームは、多種多様なフレームレートでユーザへの提示用に設定されるビデオフレームを含むことができる。一般的なフレームレートは、1秒あたり30フレーム、1秒あたり60フレーム、及び1秒あたり120フレームである。フレームレートがより高い、またはより低いにもかかわらず、これらのフレームレートは、本開示の代替の実施形態に含まれる。
本明細書では個別に1410A、1410Bと称される、クライアント1410は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、ワイヤレスデバイス、デジタルパッド、スタンドアロンデバイス、ハンドヘルドゲームプレイデバイス、及び/または同様のものを含むことができる。通常、クライアント1410は、符号化されたビデオストリームを受信し、これらのビデオストリームを復号し、得られたビデオをユーザ、例えば、ゲームのプレーヤーに提示するように設定される。符号化されたビデオストリームを受信するプロセス、及び/またはビデオストリームを復号するプロセスは、通常、クライアントの受信バッファに個々のビデオフレームを格納することを含む。ビデオストリームは、クライアント1410に統合されたディスプレイ上で、またはモニターもしくはテレビなどの別個のデバイス上で、ユーザに提示されることができる。任意選択で、クライアント1410は、1人より多いゲームプレーヤーをサポートするように設定される。例えば、ゲームコンソールは、2、3、4人またはそれ以上の同時プレーヤーをサポートするように設定されることができる。これらのプレーヤーのそれぞれは、別個のビデオストリームを受信することができる、または単一のビデオストリームは、各プレーヤーのために特別に生成される、例えば、各プレーヤーの視点に基づき生成される、フレーム領域を含むことができる。任意選択で、クライアント1410は、地理的に分散している。ゲームシステム1400に含まれるクライアントの数は、1つまたは2つから、数千、数万、またはそれ以上に大きく異なることができる。本明細書で使用される場合、「ゲームプレーヤー」という用語は、ゲームをプレイする人を指すために使用され、「ゲームプレイデバイス」という用語は、ゲームをプレイするために使用されるデバイスを指すために使用される。いくつかの実施形態では、ゲームプレイデバイスは、ゲーム体験をユーザに配信するために協働する複数のコンピューティングデバイスを指す場合がある。例えば、ゲームコンソール及びHMDは、ビデオサーバシステム1420と協働して、HMDを通して表示されるゲームを配信することができる。一実施形態では、ゲームコンソールは、ビデオサーバシステム1420からビデオストリームを受信し、ゲームコンソールは、レンダリングするためにHMDに、ビデオストリームを転送する、またはビデオストリームを更新する。
クライアント1410は、ネットワーク1415を介してビデオストリームを受信するように設定される。ネットワーク1415は、電話網、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、プライベートネットワーク、及び/または同様のものを含む、任意のタイプの通信ネットワークであることができる。典型的な実施形態では、ビデオストリームは、TCP/IPまたはUDP/IPなどの標準プロトコルを介して通信される。代替に、ビデオストリームは、独自の規格を介して通信される。
クライアント1410の典型的な例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号ロジック、ネットワーク通信機能、及び入力デバイスを含むパーソナルコンピュータである。復号ロジックは、コンピュータ可読媒体に格納される、ハードウェア、ファームウェア及び/またはソフトウェアを含むことができる。ビデオストリームを復号する(及び符号化する)ためのシステムは、当該技術で周知であり、使用される特定の符号化スキームに応じて異なる。
クライアント1410は、受信したビデオを修正するように設定されるシステムをさらに含むことができるが、含まなくても良い。例えば、クライアントは、さらにレンダリングを実行する、1つのビデオ画像を別のビデオ画像上にオーバーレイする、ビデオ画像をクロッピングする、及び/または同様にするように設定されることができる。例えば、クライアント1410は、Iフレーム、Pフレーム及びBフレームなどのさまざまなタイプのビデオフレームを受信し、これらのフレームをユーザに表示するための画像に処理するように設定されることができる。いくつかの実施形態では、クライアント1410のメンバーは、ビデオストリーム上にさらなる、レンダリング、シェーディング、3Dへの変換、または同様の操作を実行するように設定される。任意選択で、クライアント1410のメンバーは、1つより多いオーディオまたはビデオストリームを受信するように設定される。クライアント1410の入力デバイスは、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、フォースフィードバックデバイス、モーション及び/または位置検知デバイス、マウス、タッチスクリーン、ニューラルインタフェース、カメラ、まだ開発されていない入力デバイス、及び/または同様のものを含むことができる。
クライアント1410によって受信されるビデオストリーム(及び任意選択でオーディオストリーム)は、ビデオサーバシステム1420によって生成され、提供される。本明細書の他の箇所でさらに説明されるように、このビデオストリームは、ビデオフレームを含む(そしてオーディオストリームは、オーディオフレームを含む)。ビデオフレームは、ユーザに表示される画像に有意義に寄与する(例えば、それらは、適切なデータ構造にピクセル情報を含む)ように設定される。本明細書で使用される場合、「ビデオフレーム」という用語は、ユーザに示される画像に寄与するように、例えば、これらの画像をもたらすように設定される、主に情報を含むフレームを指すために使用される。「ビデオフレーム」に関する本明細書における教示のほとんどは、「オーディオフレーム」にも適用されることができる。
クライアント1410は、通常、ユーザから入力を受信するように設定される。これらの入力は、ビデオゲームの状態を変更する、またはその他の方法によりゲームプレイに影響するように設定されるゲームコマンドを含むことができる。ゲームコマンドは、入力デバイスを使用して受信されることができる、及び/またはクライアント1410上で実行するコンピューティングインストラクションによって自動的に生成されることができる。受信したゲームコマンドをクライアント1410からネットワーク1415を介してビデオサーバシステム1420及び/またはゲームサーバ1425に通信する。例えば、いくつかの実施形態では、ゲームコマンドを、ビデオサーバシステム1420を介してゲームサーバ1425に通信する。いくつかの実施形態では、ゲームコマンドの別個のコピーをクライアント1410からゲームサーバ1425及びビデオサーバシステム1420に通信する。任意選択で、ゲームコマンドの通信は、コマンドのアイデンティティに依存する。任意選択で、ゲームコマンドは、オーディオまたはビデオストリームをクライアント1410Aに提供するために使用された別のルートまたは通信チャネルを通じて、クライアント1410Aから通信される。
任意選択で、ゲームサーバ1425は、ビデオサーバシステム1420とは別のエンティティによって操作される。例えば、ゲームサーバ1425は、マルチプレーヤーゲームのパブリッシャーによって操作されることができる。この例では、ビデオサーバシステム1420は、任意選択で、ゲームサーバ1425によってクライアントと見なされ、任意選択で、ゲームサーバ1425の視点からは、従来技術のゲームエンジンを実行する従来技術のクライアントであるように見えるように設定される。ビデオサーバシステム1420とゲームサーバ1425との間の通信は、任意選択でネットワーク1415を介して発生する。このようなものとして、ゲームサーバ1425は、ゲーム状態情報を複数のクライアントに送信する先行技術のマルチプレーヤーゲームサーバであることができ、その1つは、ゲームサーバシステム1420である。ビデオサーバシステム1420は、ゲームサーバ1425の複数のインスタンスと同時に通信するように設定されることができる。例えば、ビデオサーバシステム1420は、複数の異なるビデオゲームを異なるユーザに提供するように設定されることができる。これらの異なるビデオゲームのそれぞれは、異なるゲームサーバ1425によってサポートされている、及び/またはさまざまなエンティティによって公開されている場合がある。いくつかの実施形態では、ビデオサーバシステム1420のいくつかの地理的に分散されたインスタンスは、複数の異なるユーザにゲームビデオを提供するように設定される。ビデオサーバシステム1420のこれらのインスタンスのそれぞれは、ゲームサーバ1425の同じインスタンスと通信することができる。ビデオサーバシステム1420と1つ以上のゲームサーバ1425との間の通信は、任意選択で専用通信チャネルを介して発生する。例えば、ビデオサーバシステム1420は、これら2つのシステム間の通信に専用である高帯域幅チャネルを介してゲームサーバ1425に接続されることができる。
ビデオサーバシステム1420は、少なくとも1つのビデオソース1430、I/Oデバイス1445、プロセッサ1450、及び非一時的なストレージ1455を含む。ビデオサーバシステム1420は、1つのコンピューティングデバイスを含む、または複数のコンピューティングデバイス間で分散されることができる。これらのコンピューティングデバイスは、ローカルエリアネットワークなどの通信システムを介して任意選択で接続される。
ビデオソース1430は、ビデオストリーム、例えば、ストリーミングビデオ、または動画を形成する一連のビデオフレームを提供するように設定される。一部の実施形態では、ビデオソース1430は、ビデオゲームエンジン及びレンダリングロジックを含む。ビデオゲームエンジンは、プレーヤーからゲームコマンドを受信し、受信したコマンドに基づきビデオゲームの状態のコピーを維持するように設定される。このゲーム状態は、ゲーム環境での物体の位置と、一般に視点を含む。また、ゲーム状態は、物体のプロパティ、画像、色及び/または質感を含むことができる。一般に、ゲーム状態は、ゲームのルールに加えて、移動、ターン、攻撃、フォーカス設定、インタラクト、使用、及び/または同様のものなどのゲームコマンドに基づき維持される。ゲームエンジンの一部は、任意選択でゲームサーバ1425内に配置される。ゲームサーバ1425は、地理的に分散したクライアントを使用して複数のプレーヤーから受信するゲームコマンドに基づき、ゲーム状態のコピーを維持することができる。これらの場合、ゲーム状態をゲームサーバ1425によってビデオソース1430に提供し、そこにゲーム状態のコピーを格納し、レンダリングを実行する。ゲームサーバ1425は、ネットワーク1415を介してクライアント1410から直接ゲームコマンドを受信することができる、及び/またはビデオサーバシステム1420を介してゲームコマンドを受信することができる。
一般に、ビデオソース1430は、レンダリングロジック、例えば、ストレージ1455などのコンピュータ可読媒体に格納されるハードウェア、ファームウェア、及び/またはソフトウェアを含む。このレンダリングロジックは、ゲーム状態に基づきビデオストリームのビデオフレームを作成するように設定される。レンダリングロジックのすべて、または一部は、任意選択でグラフィックスプロセッシングユニット(GPU)内に配置される。一般に、レンダリングロジックは、物体間の3次元空間関係を決定するために、及び/またはゲーム状態及び視点に基づき、適切な質感などを適用するために、設定される処理ステージを含む。レンダリングロジックは、未加工ビデオを生成し、次いで通常、このビデオをクライアント1410への通信前に符号化する。例えば、未加工ビデオは、Adobe Flash(登録商標)規格、.wav、H.264、H.263、On2、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x.Xvid.FFmpeg、x264、VP6-8、realvideo、mp3などに従い符号化されることができる。符号化プロセスは、リモートデバイス上の復号器に配信するために任意選択でパッケージ化されるビデオストリームを生成する。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。通常のフレームサイズは、800x600、1280x720(例えば、720p)、1024x768を有するが、いずれかの他のフレームサイズも使用されることができる。フレームレートは、1秒あたりのビデオフレーム数である。ビデオストリームは、さまざまなタイプのビデオフレームを含むことができる。例えば、H.264規格は、「P」フレーム、及び「I」フレームを含む。Iフレームは、すべてのマクロブロック/ピクセルを表示デバイス上でリフレッシュするための情報を含み、Pフレームは、その1サブセットをリフレッシュするための情報を含む。通常、Pフレームは、Iフレームよりもデータサイズが小さい。本明細書で使用される場合、「フレームサイズ」という用語は、フレーム内のピクセル数を指すことを意味する。「フレームデータサイズ」という用語は、フレームを格納するために必要なバイト数を指すために使用される。
代替の実施形態では、ビデオソース1430は、カメラなどのビデオ記録デバイスを含む。このカメラは、コンピュータゲームのビデオストリームに含まれることができる、遅延ビデオまたはライブビデオを生成するために使用されることができる。結果として得られるビデオストリームは、レンダリングされた画像と、スチルまたはビデオカメラを使用して記録される画像との両方を任意選択で含む。また、ビデオソース1430は、ビデオストリームに含まれる、以前に記録されたビデオを格納するように設定されるストレージデバイスを含むことができる。また、ビデオソース1430は、物体、例えば人の動きまたは位置を検出するように設定されるモーションまたは位置決め感知デバイスと、ゲーム状態を決定する、または検出された動き及び/または位置に基づきビデオを生成するように設定されるロジックとを含むことができる。
ビデオソース1430は、任意選択で、他のビデオ上に置かれるように構成されるオーバーレイを提供するように設定されている。例えば、これらのオーバーレイは、コマンドインタフェース、ログインインストラクション、ゲームプレーヤーへのメッセージ、他のゲームプレーヤーの画像、他のゲームプレーヤーのビデオフィード(例えば、ウェブカメラビデオ)を含むことができる。タッチスクリーンインタフェースまたは視線検出インタフェースを含むクライアント1410Aの実施形態では、オーバーレイは、仮想キーボード、ジョイスティック、タッチパッド、及び/または同様のものを含むことができる。オーバーレイの一例では、プレーヤーの声をオーディオストリーム上にオーバーレイする。ビデオソース1430は、任意選択で、1つ以上のオーディオソースをさらに含む。
ビデオサーバシステム1420が2人以上のプレーヤーからの入力に基づきゲーム状態を維持するように設定される実施形態では、各プレーヤーは、ビューの位置及び方向を含む異なる視点を有することができる。ビデオソース1430は、それらの視点に基づき各プレーヤーについて別個のビデオストリームを提供するように任意選択で設定される。さらに、ビデオソース1430は、各クライアント1410に、異なるフレームサイズ、フレームデータサイズ、及び/または符号化を提供するように設定されることができる。ビデオソース1430は、任意選択で、3Dビデオを提供するように設定される。
I/Oデバイス1445は、ビデオサーバシステム1420のために、ビデオ、コマンド、情報についての要求、ゲーム状態、視線情報、デバイスの動き、デバイスの位置、ユーザの動き、クライアントアイデンティティ、プレーヤーアイデンティティ、ゲームコマンド、セキュリティ情報、オーディオなどの情報を送信する、及び/または受信するように設定される。一般に、I/Oデバイス1445は、ネットワークカードまたはモデムなどの通信ハードウェアを含む。I/Oデバイス1445は、ゲームサーバ1425、ネットワーク1415、及び/またはクライアント1410と通信するように設定される。
プロセッサ1450は、本明細書に考察されているビデオサーバシステム1420のさまざまなコンポーネント内に含まれるロジック、例えば、ソフトウェアを実行するように設定される。例えば、プロセッサ1450は、ビデオソース1430、ゲームサーバ1425、及び/またはクライアント限定子1460の機能を実行するために、ソフトウェアインストラクションによってプログラムされることができる。任意選択で、ビデオサーバシステム1420は、プロセッサ1450の1つより多いインスタンスを含む。また、プロセッサ1450は、ビデオサーバシステム1420によって受信されるコマンドを実行するために、または本明細書に考察されているゲームシステム1400のさまざまなエレメントの操作を調整するために、ソフトウェアインストラクションによってプログラムされることができる。プロセッサ1450は、1つ以上のハードウェアデバイスを含むことができる。プロセッサ1450は、電子プロセッサである。
ストレージ1455は、非一時的なアナログ及び/またはデジタルストレージデバイスを含む。例えば、ストレージ1455は、ビデオフレームを格納するように設定されるアナログストレージデバイスを含むことができる。ストレージ1455は、コンピュータ可読デジタルストレージ、例えば、ハードドライブ、光学ドライブ、またはソリッドステートストレージを含むことができる。ストレージ1415は、ビデオフレーム、人工フレーム、ビデオフレーム及び人工フレームの両方を含むビデオストリーム、オーディオフレーム、オーディオストリーム、及び/または同様のものを格納するように設定される(例えば、適切なデータ構造またはファイルシステムによって)。任意選択で、ストレージ1455は、複数のデバイス間で分散される。いくつかの実施形態では、ストレージ1455は、本明細書の他の箇所に考察されているビデオソース1430のソフトウェアコンポーネントを格納するように設定される。これらのコンポーネントは、必要なときにプロビジョニングされる準備ができているフォーマットに格納されることができる。
任意選択で、ビデオサーバシステム1420は、クライアント限定子1460をさらに含む。クライアント限定子1460は、クライアント1410Aまたは1410Bなどのクライアントの機能をリモートで決定するように設定される。これらの機能は、クライアント1410A自体の機能、及びクライアント1410Aとビデオサーバシステム1420との間の1つ以上の通信チャネルの機能の両方を含むことができる。例えば、クライアント限定子1460は、ネットワーク1415を介して通信チャネルをテストするように設定されることができる。
クライアント限定子1460は、クライアント1410Aの機能を手動で、または自動的に決定する(例えば、見いだす)ことができる。手動での決定は、クライアント1410Aのユーザと通信すること、及びユーザに機能を提供するように求めることを含む。例えば、いくつかの実施形態では、クライアント限定子1460は、クライアント1410Aのブラウザ内の、画像、テキスト、及び/または同様のものを表示するように設定される。一実施形態では、クライアント1410Aは、ブラウザを含むHMDである。別の実施形態では、クライアント1410Aは、HMD上に表示されることができる、ブラウザを含むゲームコンソールである。表示された物体は、クライアント1410Aの、オペレーティングシステム、プロセッサ、ビデオ復号器のタイプ、ネットワーク接続のタイプ、ディスプレイの解像度などのような情報をユーザが入力することを要求する。ユーザが入力した情報は、クライアント限定子1460に返信される。
例えば、自動決定は、クライアント1410A上のエージェントの実行によって、及び/またはクライアント1410Aにテストビデオを送信することによって、起こることができる。このエージェントは、ウェブページに埋め込まれた、またはアドオンとしてインストールされた、java(登録商標)スクリプトなどのコンピューティングインストラクションを含むことができる。エージェントは、クライアント限定子1460によって任意選択で提供される。さまざまな実施形態では、エージェントは、クライアント1410Aの処理能力、クライアント1410Aの復号及び表示機能、クライアント1410Aとビデオサーバシステム1420との間のラグタイムの信頼性及び通信チャネルの帯域幅、クライアント1410Aのディスプレイのタイプ、クライアント1410A上に存在するファイアウォール、クライアント1410Aのハードウェア、クライアント1410A上で実行するソフトウェア、クライアント1410A内のレジストリエントリ、及び/または同様のものを見いだすことができる。
クライアント限定子1460は、コンピュータ可読媒体に格納される、ハードウェア、ファームウェア及び/またはソフトウェアを含む。任意選択で、クライアント限定子1460は、ビデオサーバシステム1420の1つ以上の他のエレメントとは別のコンピューティングデバイスに配置される。例えば、いくつかの実施形態では、クライアント限定子1460は、クライアント1410と、ビデオサーバシステム1420の1つより多いインスタンスとの間の通信チャネルの特性を決定するように設定される。これらの実施形態では、クライアント限定子によって見いだされる情報を使用して、クライアント1410の1つへのストリーミングビデオの配信に最も適しているビデオサーバシステム1420のインスタンスを決定することができる。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含むさまざまなコンピュータシステムコンフィグレーションによって実施されることができる。また、本開示は、有線ベースまたは無線ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施されることができる。
上記の実施形態を考慮して、本開示がコンピュータシステムに格納されたデータを含むさまざまなコンピュータ実装操作を使用することができることを理解されたい。これらの操作は、物理量の物理的な操作を必要とする操作である。本開示の一部を形成する、本明細書に記載されている操作のいずれも、有用な機械操作である。また、本開示は、これらの操作を実行するためのデバイスまたは装置に関する。この装置は、必要な目的のために特別に構築されることができる、またはこの装置は、コンピュータに格納されたコンピュータプログラムによって選択的にアクティブ化される、もしくは設定される汎用コンピュータであることができる。特に、さまざまな汎用マシンは、本明細書の教示に従って書かれたコンピュータプログラムと共に使用されることができる、またはそれは、必要な操作を実行するためにより専門的な装置を構築するのにさらに好適であることができる。
また、本開示は、コンピュータ可読媒体上にコンピュータ可読コードとして具現化されることができる。このコンピュータ可読媒体は、データを格納することができ、その後コンピュータシステムによって読み出されることができる任意のデータストレージデバイスである。コンピュータ可読媒体の例は、ハードドライブ、ネットワークアタッチトストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、ならびに他の光学及び非光学データストレージデバイスを含む。コンピュータ可読媒体は、コンピュータ可読コードが分散方式で格納され、実行されるように、ネットワーク結合型コンピュータシステム上に分散されたコンピュータ可読有形媒体を含むことができる。
方法操作は、特定の順序で説明されていたが、他のハウスキーピング操作が操作の合間に実行される場合があること、または操作がわずかに異なる時間に発生するように調整される場合や、オーバーレイ操作の処理が望ましい方法で実行される限り、処理に関連するさまざまな間隔での処理操作の発生を可能にするシステムに分散される場合があることを理解されたい。
前述の開示は、理解を明確にする目的である程度詳細に説明されているが、添付の特許請求の範囲内である特定の変更及び修正を実施することができることが明らかであろう。したがって、本実施形態は、例示的であり限定的ではないと見なされるべきであり、本開示は、本明細書に与えられた詳細に限定されるべきではなく、本開示の範囲及び均等物内で修正され得る。

Claims (22)

  1. 複数のセンサを含むロボットを使用して、ローカル環境についてセンサデータを取得することと、
    前記センサデータを処理して、前記ローカル環境の空間モデルを生成することであって、前記空間モデルが前記ローカル環境中の実表面に対応する仮想表面を定義する、前記生成することと、
    前記ローカル環境中の実表面の感知された色の変化が所定の閾値を下回る場合、前記ローカル環境中の実表面は一貫性のある質感を有すると判定することと、
    前記ローカル環境中の実表面は一貫性のある質感を有すると判定された場合、前記センサデータをさらに処理して、前記空間モデルによって定義される前記仮想表面に関連付けられる質感情報を生成することと、を含み、
    前記ロボットを使用してセンサデータを取得することは、前記仮想表面に関連付けられる質感情報を生成することを可能にするために、前記ローカル環境中の実表面の代表的な部分をサンプリングすることを含み、
    前記代表的な部分をサンプリングすることは、前記ロボットを異なる位置に移動させて前記異なる位置から定義される複数の角度から前記代表的な部分の画像をキャプチャすることを含み、
    前記センサデータを処理して前記質感情報を生成することは、前記複数の角度からキャプチャされた前記画像を処理して、前記代表的な部分がサンプリングされた前記実表面に対応する前記空間モデルによって定義された仮想表面に対する質感情報を生成することを含み、
    ヘッドマウントディスプレイ(HMD)の位置及び向きを前記ローカル環境において追跡することと、
    前記空間モデル、前記質感情報、及び前記HMDの前記追跡された位置及び向きを使用して、前記ローカル環境に対応する仮想空間のビューをレンダリングすることと、
    前記HMDを介して仮想環境の前記ビューを提示することと、
    をさらに含む、方法。
  2. 前記ローカル環境中の前記HMDの前記位置は、パースペクティブを定義し、前記パースペクティブから前記仮想空間の前記ビューはレンダリングされる、請求項1に記載の方法。
  3. 前記ローカル環境中の前記HMDの前記向きは、前記仮想空間の前記ビューの方向を定義する、請求項1に記載の方法。
  4. 前記仮想空間の前記ビューをレンダリングすることは、前記仮想表面のうちの1つ以上をレンダリングすることを含み、前記仮想表面は前記仮想表面のうちの前記1つ以上に関連付けられる前記質感情報を使用して、前記空間モデルによって定義される、請求項1に記載の方法。
  5. 前記センサは、少なくとも1つの画像キャプチャデバイス、及び少なくとも1つのデプスカメラを含み、前記センサデータは、前記画像キャプチャデバイスによってキャプチャされる画像データ、及び前記デプスカメラによってキャプチャされる深度データを含む、請求項1に記載の方法。
  6. 前記質感情報は、拡散マップ、バンプマップ、及び/またはスペキュラマップのうちの1つ以上を含む、請求項1に記載の方法。
  7. 前記ロボットを使用して前記センサデータを取得することは、
    前記ロボットを前記ローカル環境内の複数の位置に移動させること、及び
    前記ロボットの前記センサを前記位置のそれぞれに使用して前記ローカル環境を感知し、前記センサデータを生成すること、
    を含む、請求項1に記載の方法。
  8. 前記センサデータを取得することは、複数の角度から前記ローカル環境における実表面の画像をキャプチャすることを含み、
    前記センサデータを処理して前記質感情報を生成することは、前記複数の角度からキャプチャされる前記画像を処理して、前記実表面に対応する前記空間モデルによって定義される所与の仮想表面について質感情報を生成することを含む、
    請求項1に記載の方法。
  9. ロボットを使用してローカル環境において複数の照明条件を達成し、前記ロボットの複数のセンサを使用して前記複数の照明条件下で前記ローカル環境についてのセンサデータを取得することと、
    前記センサデータを処理して前記ローカル環境の空間モデルを生成することであって、前記空間モデルが前記ローカル環境中の実表面に対応する仮想表面を定義する、前記生成することと、
    前記ローカル環境中の実表面の感知された色の変化が所定の閾値を下回る場合、前記ローカル環境中の実表面は一貫性のある質感を有すると判定することと、
    前記ローカル環境中の実表面は一貫性のある質感を有すると判定された場合、前記センサデータをさらに処理して、前記空間モデルによって定義される前記仮想表面に関連付けられる質感情報を生成することと、
    を含み、
    前記ロボットの前記複数のセンサを使用してセンサデータを取得することは、前記仮想表面に関連付けられる質感情報を生成することを可能にするために、前記ローカル環境中の実表面の代表的な部分をサンプリングすることを含み、
    前記代表的な部分をサンプリングすることは、前記ロボットを異なる位置に移動させて前記異なる位置から定義される前記複数の照明条件下で前記代表的な部分の画像をキャプチャすることを含み、
    前記センサデータを処理して前記質感情報を生成することは、前記複数の照明条件下でキャプチャされた前記画像を処理して、前記代表的な部分がサンプリングされた前記実表面に対応する前記空間モデルによって定義された仮想表面に対する質感情報を生成することを含む、方法。
  10. 前記ロボットを使用して前記複数の照明条件を達成することは、前記ロボットによって住宅用照明制御システムにアクセスして1つ以上のライトを前記ローカル環境において制御することを含む、請求項9に記載の方法。
  11. 前記ロボットを使用して前記複数の照明条件を達成することは、前記ロボットに含まれるライトを使用して前記ローカル環境の少なくとも一部分を照明することを含む、請求項9に記載の方法。
  12. 前記ロボットを使用して前記複数の照明条件を達成することは、前記ローカル環境中の光源からの光が前記ローカル環境中の表面に直接到達するのを遮断するように前記ロボットを1つ以上の位置に移動させることを含む、請求項9に記載の方法。
  13. 前記センサは、少なくとも1つの画像キャプチャデバイス、及び少なくとも1つのデプスカメラを含み、前記センサデータは、前記画像キャプチャデバイスによってキャプチャされる画像データ、及び前記デプスカメラによってキャプチャされる深度データを含む、請求項9に記載の方法。
  14. 前記質感情報は、拡散マップ、バンプマップ、及び/またはスペキュラマップのうちの1つ以上を含む、請求項9に記載の方法。
  15. 前記ロボットを使用して前記センサデータを取得することは、前記ロボットを前記ローカル環境内の複数の位置に移動させ、前記ロボットの前記センサを前記位置のそれぞれに使用して前記ローカル環境を感知し、前記センサデータを生成することを含む、請求項9に記載の方法。
  16. ローカル環境においてロボットによって実行される方法であって、
    前記ローカル環境中の第一位置に位置決めされる前記ロボットの画像キャプチャデバイスによって前記ローカル環境の第一画像をキャプチャすることであって、前記第一画像をキャプチャすることは前記ローカル環境における実表面のキャプチャを有する、前記キャプチャすることと、
    前記ローカル環境における実表面の感知された色の変化が所定の閾値を下回る場合、前記ローカル環境における実表面は一貫性のある質感を有すると判定することと、
    前記ローカル環境における実表面は一貫性のある質感を有すると判定された場合、前記第一画像を処理して前記実表面の質感情報を決定し、可能性のあるエラーが前記実表面の前記決定された質感情報に存在することをさらに判定することと、
    前記可能性のあるエラーを判定することに応答して、前記ロボットを異なる位置に移動させ、前記異なる位置において異なる角度または異なる距離から前記画像キャプチャデバイスによって前記ローカル環境の複数の画像をキャプチャすることであって、前記複数の画像をキャプチャすることは前記異なる位置から定義されるパースペクティブからの前記実表面のキャプチャを含む、前記キャプチャすることと、
    前記可能性のあるエラーが存在しなくなるまで、前記複数の画像を処理して前記実表面の前記決定された質感情報において前記可能性のあるエラーを検証し、前記実表面の前記決定された質感情報において前記可能性のあるエラーを訂正することを繰り返すことと、
    を含む、方法。
  17. 前記複数の画像を処理して前記実表面の前記決定された質感情報において前記可能性のあるエラーを検証することは、前記第一画像の一部分を前記複数の画像の対応する部分と比較することを含み、前記第一画像及び前記複数の画像の前記部分が前記実表面の同じ領域からのものである、請求項16に記載の方法。
  18. 前記可能性のあるエラーを訂正することは、前記複数の画像の前記処理に基づき、前記実表面の前記決定された質感情報の一部分を置き換えることを含む、請求項16に記載の方法。
  19. 前記質感情報は、色及び表面構造のうちの1つ以上を定義する、請求項16に記載の方法。
  20. ローカル環境においてロボットによって実行される方法であって、
    前記ローカル環境中の第一位置に位置決めされる前記ロボットの画像キャプチャデバイスによって前記ローカル環境の第一画像をキャプチャすることであって、前記第一画像をキャプチャすることは前記ローカル環境における実表面のキャプチャを有する、前記キャプチャすることと、
    前記ローカル環境における実表面の感知された色の変化が所定の閾値を下回る場合、前記ローカル環境における実表面は一貫性のある質感を有すると判定することと、
    前記ローカル環境における実表面は一貫性のある質感を有すると判定された場合、前記第一画像を処理して前記実表面の質感情報を決定することと、
    前記ローカル環境の第一深度画像を、前記ローカル環境中の第一位置に位置決めされる前記ロボットのデプスカメラによってキャプチャすることと、
    前記第一深度画像を処理して前記ローカル環境の空間構造を決定し、可能性のあるエラーが前記ローカル環境の前記決定された空間構造に存在することをさらに判定することと、
    前記可能性のあるエラーを判定することに応答して、前記ロボットを異なる位置に移動させ、前記異なる位置において異なる角度または異なる距離から前記デプスカメラによって前記ローカル環境の複数の深度画像をキャプチャすることであって、前記複数の深度画像をキャプチャすることは前記異なる位置から定義されるパースペクティブから前記ローカル環境のキャプチャを含む、前記キャプチャすることと、
    前記可能性のあるエラーが存在しなくなるまで、前記複数の深度画像を処理して前記決定された空間構造において前記可能性のあるエラーを検証し、前記決定された空間構造において前記可能性のあるエラーを訂正することを繰り返すことと、
    を含む、方法。
  21. 前記複数の深度画像を処理して前記決定された空間構造において前記可能性のあるエラーを検証することは、前記第一深度画像の一部分を前記複数の深度画像の対応する部分と比較することを含み、前記第一深度画像及び前記複数の深度画像の前記部分が前記ローカル環境の同じ領域からのものである、請求項20に記載の方法。
  22. 前記可能性のあるエラーを訂正することは、前記複数の深度画像の前記処理に基づき、前記ローカル環境の前記決定された空間構造の一部分を置き換えることを含む、請求項20に記載の方法。
JP2020534906A 2017-12-22 2018-12-19 モバイルロボットを用いる動的カメラ位置決め及び照明による空間キャプチャ、モデル化、及び質感再構築 Active JP7184901B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/853,667 US10713840B2 (en) 2017-12-22 2017-12-22 Space capture, modeling, and texture reconstruction through dynamic camera positioning and lighting using a mobile robot
US15/853,667 2017-12-22
PCT/US2018/066599 WO2019126387A1 (en) 2017-12-22 2018-12-19 Space capture, modeling, and texture reconstruction through dynamic camera positioning and lighting using a mobile robot

Publications (2)

Publication Number Publication Date
JP2021508520A JP2021508520A (ja) 2021-03-11
JP7184901B2 true JP7184901B2 (ja) 2022-12-06

Family

ID=65276263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020534906A Active JP7184901B2 (ja) 2017-12-22 2018-12-19 モバイルロボットを用いる動的カメラ位置決め及び照明による空間キャプチャ、モデル化、及び質感再構築

Country Status (5)

Country Link
US (2) US10713840B2 (ja)
EP (1) EP3727624B1 (ja)
JP (1) JP7184901B2 (ja)
CN (1) CN112135672B (ja)
WO (1) WO2019126387A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019222255A1 (en) * 2018-05-14 2019-11-21 Sri International Computer aided inspection system and methods
US10930049B2 (en) * 2018-08-27 2021-02-23 Apple Inc. Rendering virtual objects with realistic surface properties that match the environment
US10733800B2 (en) 2018-09-17 2020-08-04 Facebook Technologies, Llc Reconstruction of essential visual cues in mixed reality applications
US11520041B1 (en) * 2018-09-27 2022-12-06 Apple Inc. Correcting depth estimations derived from image data using acoustic information
US10937191B2 (en) * 2018-10-23 2021-03-02 Dell Products, Lp Predictive simultaneous localization and mapping system using prior user session positional information
US11557060B2 (en) * 2018-11-05 2023-01-17 Wayfair Llc Systems and methods for scanning three-dimensional objects
JP7241546B2 (ja) * 2019-01-16 2023-03-17 三菱電機株式会社 三次元再構成装置、三次元再構成システム、三次元再構成方法、及び三次元再構成プログラム
US20200231082A1 (en) * 2019-01-21 2020-07-23 Kevin Arnold Morran Remote controlled lighting apparatus
KR20200093922A (ko) * 2019-01-29 2020-08-06 삼성전자주식회사 전자 장치의 외부 전자 장치를 제어하는 방법, 전자 장치 및 저장 매체
TWI723715B (zh) * 2019-12-30 2021-04-01 群邁通訊股份有限公司 電腦裝置、控制機械手臂夾取和放置物件的方法
CN113119099A (zh) * 2019-12-30 2021-07-16 深圳富泰宏精密工业有限公司 计算机装置、控制机械手臂夹取和放置物件的方法
CA3161702A1 (en) * 2020-01-03 2021-07-08 Paul Berberian Situational awareness robot
US11206365B2 (en) 2020-01-13 2021-12-21 Charter Communications Operating, Llc Method and apparatus for overlaying themed imagery onto real-world objects in a head-mounted display device
CN111399637A (zh) * 2020-02-28 2020-07-10 广州幻境科技有限公司 一种基于slam的虚拟现实大空间定位方法及系统
US11759711B2 (en) * 2021-09-28 2023-09-19 Sony Group Corporation Method for quasi-random placement of virtual items in an extended reality (XR) space
KR102600420B1 (ko) 2021-12-31 2023-11-09 주식회사 쓰리아이 3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템
US20230309055A1 (en) * 2022-03-24 2023-09-28 Microsoft Technology Licensing, Llc Head-mounted device communication adaptation using environment context

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216970A (ja) 2002-01-23 2003-07-31 Canon Inc 三次元画像処理装置、三次元画像処理システム、三次元画像処理方法および三次元画像処理プログラム
JP2007072859A (ja) 2005-09-08 2007-03-22 Nippon Hoso Kyokai <Nhk> Cg画像生成装置およびcg画像生成プログラム
JP2007280046A (ja) 2006-04-06 2007-10-25 Canon Inc 画像処理装置及びその制御方法、プログラム
US20170206712A1 (en) 2014-11-16 2017-07-20 Eonite Perception Inc. Optimizing head mounted displays for augmented reality
JP2017536592A (ja) 2014-08-27 2017-12-07 ケアストリーム ヘルス インク 3次元表面の自動再合成

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0203908D0 (sv) * 2002-12-30 2002-12-30 Abb Research Ltd An augmented reality system and method
US20050140670A1 (en) * 2003-11-20 2005-06-30 Hong Wu Photogrammetric reconstruction of free-form objects with curvilinear structures
AU2005200948B2 (en) * 2004-03-09 2008-03-06 Canon Kabushiki Kaisha Compositing list caching for a raster image processor
US8406505B2 (en) * 2007-08-30 2013-03-26 Honda Motor Co., Ltd. Image brightness reduction for legged mobile robot
US8725273B2 (en) * 2010-02-17 2014-05-13 Irobot Corporation Situational awareness for teleoperation of a remote vehicle
US9400503B2 (en) * 2010-05-20 2016-07-26 Irobot Corporation Mobile human interface robot
KR101591579B1 (ko) * 2011-03-29 2016-02-18 퀄컴 인코포레이티드 증강 현실 시스템들에서 실세계 표면들에의 가상 이미지들의 앵커링
US10796494B2 (en) * 2011-06-06 2020-10-06 Microsoft Technology Licensing, Llc Adding attributes to virtual representations of real-world objects
CA3207408A1 (en) * 2011-10-28 2013-06-13 Magic Leap, Inc. System and method for augmented and virtual reality
US20150097827A1 (en) * 2013-10-09 2015-04-09 Adobe Systems Incorporated Target Region Fill Utilizing Transformations
US9432636B2 (en) * 2013-11-26 2016-08-30 Microsoft Technology Licensing, Llc Large-scale surface reconstruction that is robust against tracking and mapping errors
US9741169B1 (en) * 2014-05-20 2017-08-22 Leap Motion, Inc. Wearable augmented reality devices with object detection and tracking
US9751210B2 (en) * 2014-11-26 2017-09-05 Irobot Corporation Systems and methods for performing occlusion detection
US9728010B2 (en) * 2014-12-30 2017-08-08 Microsoft Technology Licensing, Llc Virtual representations of real-world objects
US9972123B2 (en) * 2015-04-01 2018-05-15 Otoy, Inc. Generating 3D models with surface details
US11263461B2 (en) 2015-10-05 2022-03-01 Pillar Vision, Inc. Systems and methods for monitoring objects at sporting events
US10414052B2 (en) * 2016-02-09 2019-09-17 Cobalt Robotics Inc. Building-integrated mobile robot
EP3471924A4 (en) * 2016-06-15 2020-07-29 iRobot Corporation SYSTEMS AND METHODS OF CONTROL OF AN AUTONOMOUS MOBILE ROBOT
WO2018009833A1 (en) * 2016-07-08 2018-01-11 Charlton Erik Allen Intelligent lighting control system lighting alarm apparatuses, systems, and methods
US10579138B2 (en) * 2016-12-22 2020-03-03 ReScan, Inc. Head-mounted sensor system
US20190187721A1 (en) * 2017-12-15 2019-06-20 Ankobot (Shanghai) Smart Technologies Co., Ltd. Control method and system, and mobile robot using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216970A (ja) 2002-01-23 2003-07-31 Canon Inc 三次元画像処理装置、三次元画像処理システム、三次元画像処理方法および三次元画像処理プログラム
JP2007072859A (ja) 2005-09-08 2007-03-22 Nippon Hoso Kyokai <Nhk> Cg画像生成装置およびcg画像生成プログラム
JP2007280046A (ja) 2006-04-06 2007-10-25 Canon Inc 画像処理装置及びその制御方法、プログラム
JP2017536592A (ja) 2014-08-27 2017-12-07 ケアストリーム ヘルス インク 3次元表面の自動再合成
US20170206712A1 (en) 2014-11-16 2017-07-20 Eonite Perception Inc. Optimizing head mounted displays for augmented reality

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
上田 優子、外3名,"拡張自由視点画像生成を用いた遠隔移動ロボット操縦インタフェース",「電子情報通信学会技術研究報告 信学技報 Vol.112 No.386」,日本,一般社団法人 電子情報通信学会,2013年01月16日,第112巻,pp.217-222

Also Published As

Publication number Publication date
EP3727624B1 (en) 2024-09-04
EP3727624A1 (en) 2020-10-28
US20200342661A1 (en) 2020-10-29
US11100708B2 (en) 2021-08-24
US20190197768A1 (en) 2019-06-27
WO2019126387A1 (en) 2019-06-27
WO2019126387A8 (en) 2020-11-26
JP2021508520A (ja) 2021-03-11
CN112135672B (zh) 2024-06-11
CN112135672A (zh) 2020-12-25
US10713840B2 (en) 2020-07-14

Similar Documents

Publication Publication Date Title
JP7184901B2 (ja) モバイルロボットを用いる動的カメラ位置決め及び照明による空間キャプチャ、モデル化、及び質感再構築
JP6775708B1 (ja) 空間的な、ユーザを認識している、コンパニオンロボットまたはデバイスからの第2のスクリーンの投影
US11210807B2 (en) Optimized shadows in a foveated rendering system
US10445925B2 (en) Using a portable device and a head-mounted display to view a shared virtual reality space
JP7273068B2 (ja) マルチサーバクラウド仮想現実(vr)ストリーミング
CN107735152B (zh) 用于虚拟现实(vr)观看的扩展视野重新渲染
US11222444B2 (en) Optimized deferred lighting in a foveated rendering system
KR101925658B1 (ko) 용적 방식 비디오 표현 기법
JP6959365B2 (ja) 中心窩レンダリングシステムにおけるシャドーの最適化及びメッシュスキンの適応
US10668368B2 (en) Active retroreflectors for head-mounted display tracking
US10831028B2 (en) Tracking using retroreflectors mounted on a head-mounted display
TW201511803A (zh) 頭戴式顯示器
US11107183B2 (en) Adaptive mesh skinning in a foveated rendering system
US10816799B2 (en) Head-mounted display tracking using corner reflectors

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221124

R150 Certificate of patent or registration of utility model

Ref document number: 7184901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150