JP7368489B2 - サーモパイルアレイフュージョントラッキング - Google Patents

サーモパイルアレイフュージョントラッキング Download PDF

Info

Publication number
JP7368489B2
JP7368489B2 JP2021553090A JP2021553090A JP7368489B2 JP 7368489 B2 JP7368489 B2 JP 7368489B2 JP 2021553090 A JP2021553090 A JP 2021553090A JP 2021553090 A JP2021553090 A JP 2021553090A JP 7368489 B2 JP7368489 B2 JP 7368489B2
Authority
JP
Japan
Prior art keywords
user device
thermal
location
data
space
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
JP2021553090A
Other languages
English (en)
Other versions
JP2022524099A (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 JP2022524099A publication Critical patent/JP2022524099A/ja
Application granted granted Critical
Publication of JP7368489B2 publication Critical patent/JP7368489B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01KMEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
    • G01K7/00Measuring temperature based on the use of electric or magnetic elements directly sensitive to heat ; Power supply therefor, e.g. using thermoelectric elements
    • G01K7/42Circuits effecting compensation of thermal inertia; Circuits for predicting the stationary value of a temperature
    • G01K7/427Temperature calculation based on spatial modeling, e.g. spatial inter- or extrapolation
    • 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/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • 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/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • 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/22Setup operations, e.g. calibration, key configuration or button assignment
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/143Sensing or illuminating at different wavelengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Ecology (AREA)
  • Environmental Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Artificial Intelligence (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Cardiology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)

Description

関連出願の相互参照
本願は、参照によりその全体が本明細書に組み込まれる、2019年3月8日に出願された米国特許出願第16/297,292号の利益を主張する。
同時局在化及びマッピング(SLAM:Simultaneous localization and mapping)は、特定の環境のマップを、その環境内でのターゲットオブジェクトの場所を同時に追跡しながら構築する技術である。SLAMは、自動運転車を含む、開放環境でのロボットマッピング及びナビゲーションで使用される。また、SLAMは、ビデオゲームをプレイするまたは仮想会議を実施するための部屋などの閉環境でも使用できる。
既存のSLAM技術は、多くの場合、1つ以上のカメラを含むなんらかのタイプのカメラ構成を使用し、各カメラは1つ以上の光学センサを含む。一次元(1D)、2D、3Dなどを含む種々の光学センサタイプを使用できる。例えば、2つの固定点2Dカメラを用いる場合、各カメラがターゲットオブジェクトを検出できる。SLAMアプリケーションのアルゴリズムは、ターゲットオブジェクトと各カメラとの間の距離を決定し、この情報を三角測量してターゲットオブジェクトの場所(例えば、位置)を決定できる。多くの場合、特にターゲットが空間を移動している及び/または回転している可能性があるとき、ターゲットの線形加速度及び回転速度を検出するために、カメラ装置とともに慣性計測装置(IMU:inertial measurement unit)も用い得る。IMUとカメラ装置の両方からのセンサ入力の組み合わせは、より高度な位置追跡精度を可能にするために役立つ。また、レーダSLAM、WiFi-SLAMなどを含む他のSLAM技術も存在する。
しかしながら、既存のSLAMベースのアプリケーションとの少なくとも2つの問題がある。第1に、IMUを用いて空間を移動中のターゲットの加速度及び回転を追跡するとき、IMU位置追跡精度は、少なくとも(「ドリフト」としても知られる)オフセット誤差のために経時的に連続して低下し、したがってSLAM技術の精度を低下させる。第2に、他の装置(例えば、カメラ)から受け取ったセンサデータを組み合わせることは、SLAMアルゴリズムの精度の向上に役立つ場合があるが、この装置によって、現在、多大なコストが追加され、複雑なセットアップ手順を必要となる場合がある。したがって、より低いコストでありながらも高度精度の位置追跡解決策を提供することによって既存のSLAM技術を改善する必要がある。
概して、ユーザーデバイスの場所を決定するための技術が説明される。一例では、ビデオゲームシステムは、ビデオゲームコンソール、複数のサーマルビーコン、及びビデオゲームコンソールと通信で結合されたユーザーデバイスを含む。ユーザーデバイスは、サーモパイルアレイを含む。ユーザーデバイスは、プロセッサ、及びプロセッサによって実行されると、プロセッサに操作を実行させる命令を格納するメモリをさらに含む。1つの操作では、プロセッサはサーモパイルアレイから温度データを受け取る。温度データは、複数のサーマルビーコンのうちの1つのサーマルビーコンから発せられ、サーマルパイルアレイによって検出される温度信号に対応する。別の操作では、プロセッサは、温度データに基づいて、3次元(3D)空間内のユーザーデバイスの場所を決定する。別の操作では、プロセッサは、ユーザーデバイスの場所をビデオゲームコンソールに送信する。
一例では、ユーザーデバイスはIMUも含む。ユーザーデバイスのプロセッサは、さらに操作を実行できる。1つの操作で、プロセッサはIMUからIMUデータを受け取る。IMUデータは、3D空間内のユーザーデバイスの加速度に対応する加速度データ、及び3D空間内のユーザーデバイスの回転速度に対応する方位データを含む。別の操作では、プロセッサは温度データ、IMUデータ、及び以前の場所データをセンサフュージョンアルゴリズムに入力することによって、3D空間内のユーザーデバイスの場所を決定する。一例では、プロセッサは、温度データに基づいて、及びIMUのIMUデータとは関係なく、ユーザーデバイスの初期の場所を決定する。別の例では、以前の場所データは、ユーザーデバイスに格納されている。さらに別の例では、センサフュージョンアルゴリズムは、場所を決定するように訓練された人工知能モデルを利用する。別の例では、センサフュージョンアルゴリズムは、カルマンフィルタを利用する。
一例では、センサフュージョンアルゴリズムは、温度データに対応する信頼値を生成する。信頼値は、サーモパイルアレイの視野内の複数のサーマルビーコンのうちのサーマルビーコンの数に基づいている。信頼値は、ユーザーデバイスの場所を決定するためにセンサフュージョンアルゴリズムによって使用される。
一例では、ユーザーデバイスのプロセッサは、さらに操作を実行できる。1つの操作では、プロセッサは、サーモパイルアレイから第2の温度データを受け取る。第2の温度データは、複数のサーマルビーコンのうちの第2のサーマルビーコンから発せられ、サーマルパイルアレイによって検出される第2の温度信号に対応する。サーマルビーコン及び第2のサーマルビーコンは、同時にサーモパイルアレイの視野内にある。ユーザーデバイスの場所は、第2の温度データに基づいてさらに決定される。
一例では、複数のサーマルビーコンのうちの1つのサーマルビーコンによって発せられる温度信号は、サーマルビーコンに固有の識別子を含む。識別子は、サーマルビーコンを複数のサーマルビーコンから識別するためにサーモパイルアレイによって使用される。
一例では、複数のサーマルビーコンの各サーマルビーコンは、ゲーム環境に配置される。3D空間は、ゲーム環境の一部分にマッピングされ、サーマルビーコンは、3D空間内のユーザーデバイスの特定の場所について、サーモパイルアレイが少なくとも2つのサーマルビーコンから温度信号を検出できるように配置される。
一例では、ユーザーデバイスは、ビデオゲームコントローラである。別の例では、複数のサーマルビーコンの各ビーコンは赤外線ダイオードである。
また、ユーザーデバイスも説明される。ユーザーデバイスは、サーモパイルアレイを含む。ユーザーデバイスは、プロセッサ及びメモリを有し、メモリには、プロセッサによって実行されると、プロセッサに本明細書で上記に開示された操作を実行させる命令が格納される。
また、命令を格納する非一時的なコンピュータ可読記憶媒体も説明される。命令は、ユーザーデバイスで実行されると、本明細書で上記に開示された動作を実行するようにユーザーデバイスを構成する。
一例では、非一時的なコンピュータ可読記憶媒体は、較正操作を実行するようにさらに構成される。1つの操作では、ユーザーデバイスは、3D空間内に配置された複数のサーマルビーコンのうちのサーマルビーコンの第1のセットから発せられる第1の温度信号に対応する第1の温度データに基づいてユーザーデバイスの第1の場所を決定する。別の操作では、ユーザーデバイスは、3D空間内に配置された複数のサーマルビーコンのうちのサーマルビーコンの第2のセットから発せられる第2の温度信号に対応する第2の温度データに基づいてユーザーデバイスの第2の場所を決定する。別の操作では、ユーザーデバイスは、第1の場所及び第2の場所に基づいて3D空間の3Dモデルを生成する。さらに別の操作では、ユーザーデバイスは3Dモデルを格納する。
一例では、非一時的なコンピュータ可読記憶媒体は、さらなる較正操作を実行するように構成される。1つの操作では、ユーザーデバイスは、ユーザーにユーザーデバイスを第1の場所に移動させるように要求する命令を受け取る。別の命令では、第1の場所を決定したことに応えて、ユーザーデバイスは、ユーザーにユーザーデバイスを第2の場所に移動させるように要求する命令を受け取る。
本開示のいくつかの実施形態は、デバイスの場所を決定するための現在の技術に優るいくつかの技術的な優位点を提供する。第1に、本開示は、財政的なコスト及び人材のコストを大幅に削減しつつ、既存のSLAM技術と比較して同様の位置追跡精度を達成するための方法を提供する。例えば、サーマルビーコン(例えば、赤外線ダイオード)のコストは安価であり、部屋の壁に固着し易い。同様に、1つ以上の光学センサ(例えば、カメラの構成部品)のコストと比較して、熱センサも安価である。さらに、本開示は、既存のSLAM技術の代替策として使用できるだけではなく、既存のシステム及び方法における位置追跡の精度を向上させるためにも使用できる。
本明細書中に開示され、提案された実施形態の性質及び優位点のさらなる理解は、明細書の残りの部分及び添付の図面を参照することによって実現され得る。
本開示の一実施形態に係る、SLAMアプリケーションを実装するためにサーモパイルアレイを使用するシステムの一例を示す。 本開示の一実施形態に係る、1つ以上のサーマルビーコンから信号を受信するサーモパイルアレイを含むユーザーデバイスを示す。 本開示の一実施形態に係る、SLAMを実装するためにサーモパイルアレイを利用するユーザーデバイスの例示的なアーキテクチャのブロック図である。 本開示の実施形態に係る、ユーザーデバイスの較正を実行するための例示的なフローを示す。 本開示の実施形態に係る、サーモパイルアレイを含むユーザーデバイスにSLAMを実装するための例示的なフローを示す。 本開示の実施形態に係る、サーモパイルアレイ及びIMUを含むユーザーデバイスにSLAMを実装するための例示的なフローを示す。 本開示の実施形態に係る、コンピュータシステムを実装するために適切なハードウェアシステムの例を示す。
概して、ユーザーデバイスの場所を決定するために熱センサアレイを利用するためのシステム及び方法が説明される。通常、ユーザーは、3D空間内でユーザーデバイス(例えば、ビデオゲームコントローラ、ヘッドセット、パドルなど)を操作でき、3D空間は、物理的な空間(例えば、ビデオゲームルーム)の一部分にマッピングされる。ユーザーは、3D空間内でユーザーデバイスを異なる方向に及び異なる速度で動かすことによってユーザーデバイスとインタラクションできる。また、ユーザーデバイス(例えば、ビデオゲームコントローラ、仮想現実(VR)ヘッドセットなど)は、通常、コンピューティングハブ(例えば、ビデオゲームコンソール)とインタラクションし、コンピューティングハブは、同様にして他のデバイスとインタラクションし、他のデバイスに機能(例えば、テレビ(TV)に表示されているビデオ画像を変更する)を実行させ得る。
ユーザーデバイスがコンピューティングハブと有する場合があるインタラクションの1つは、3D空間内でのその場所を決定し、場所をコンピューティングハブに送信することである。ユーザーデバイスは、ユーザーデバイスの熱センサアレイを利用することによってその場所を決定できる。熱センサアレイは、物理的な空間内に配置された(例えば、ゲームルームの壁に固着された)1つ以上のサーマルビーコン(例えば、IR LED)から温度信号を受信するように構成され得る。熱センサアレイから受信した温度データに基づいて、ユーザーデバイスは、3D空間内でのその場所を決定し、その場所をコンピューティングハブに送信できる。また、ユーザーデバイスは、その場所を決定するために他のセンサとともに温度データを使用してもよい。
一例では、ユーザーデバイスはIMUを含んでもよく、IMUからデータを受け取ってもよい。また、ユーザーデバイスは、以前の場所(例えば、前回決定した場所)を格納できる。熱センサアレイから受け取った温度データに加えて、ユーザーデバイスは、IMUデータ及び以前の場所データをフュージョンセンサアルゴリズムに入力できる。フュージョンセンサアルゴリズムは、ユーザーデバイスの場所を決定するために異なるデータ入力を使用できる。ユーザーデバイスは、次に、例えば以前の場所データとしてなど、将来使用するその場所データを格納してもよい。
上記の例は、例示のために提供される。本開示の実施形態は、このようなものとして限定されない。実施形態は、同様に、場所を決定するために熱センサアレイを使用するより多数のSLAMアプリケーションに適用する。これらの実施形態及び他の実施形態は、次に本明細書でさらに説明される。
図1は、本開示の一実施形態に係る、ユーザーデバイスを含むシステム100の例を示し、ユーザーデバイスは、ユーザーデバイスの場所を決定する際に使用するための熱センサアレイをさらに含む。一例では、場所の決定は、SLAMアプリケーションを実装する。図1では、ゲームルーム126が示されており、ユーザー102が、ビデオゲームコンソール106とインタラクションするためにゲーミングヘッドセット104(例えば、ユーザーデバイス)を装着している。ビデオゲームコンソールは、同様にして、例えばテレビ108に、ゲーミングヘッドセット104の移動に対応するオブジェクトの移動を画面に表示させ得る。図1及び後続の図は、ゲーム環境内でのSLAMアプリケーションを示す場合があり、この種の状況の使用は、本開示の範囲に制限を課すと解釈されるべきではないことを理解されたい。例えば、いくつかの実施形態では、会議室または劇場空間などの物理的な空間が使用可能であり、他の場所決定アプリケーションも考えられる。ゲームルームの例を続行すると、概して、ゲームルーム126は、複数のサーマルビーコン110~124(例えば、IR LED)をルーム126内に配置することを可能にとすることができる。
ユーザーデバイス104は、ルーム126内に配置された1つ以上のサーマルビーコン110~124から温度信号を受信するように構成された1つ以上の熱センサ(例えば、熱センサアレイまたはサーモパイルアレイ)を含む必要がある。サーモパイルアレイは、図1及び後続の図に示す熱センサの1つのタイプであるが、他のタイプの熱センサも、適切な熱センサとして使用できることを理解されたい。さらに、ゲーミングヘッドセット104は、以下に説明するユーザーデバイスの1つのタイプであるが、熱センサを含む他のタイプのモバイルコンピューティングデバイスも適切なユーザーデバイスとして使用できる。これは、ビデオゲームコントローラ、ゲームパドル、携帯電話、ラップトップなどを含み得るが、これらに限定されるものではない。
いくつかの実施形態では、ルーム126内に配置された複数のサーマルビーコン110~124の各ビーコンが温度信号(例えば、赤外光)を発することが可能である。任意選択で、サーマルビーコンによって発せられる各温度信号は、特定のサーマルビーコンに固有である識別子を含み得る。例えば、識別子は、ユーザーデバイス104のサーモパイルアレイが部屋の中の特定のサーマルビーコンに対応する固有信号として検出できる場合がある、赤外信号の変調された周波数であってよい。より詳細に以下に説明するように、いくつかの実施形態では、ユーザーデバイス104は、ルーム126の中の少なくとも2つの熱ビーコンに対するその位置を三角測量することによってその位置追跡精度を向上させることができる場合がある。
いくつかの実施形態では、複数のサーマルビーコン110~124は、ルーム126の3D空間内のユーザー102の特定の位置について、ユーザーデバイス104のサーモパイルアレイが、サーモパイルアレイの視野内の複数のサーマルビーコンうちの少なくとも2つのサーマルビーコンから温度信号を検出できる場合があるように、ルーム126内に配置され得る。例えば、図1に示すように、サーマルビーコン110~124は、各々、ゲームルーム126の壁に固着され、互いから実質的に等しく離間されてよい。較正プロセス(以下に詳細に説明する)中、ユーザー102は、ユーザーデバイス104を弧状(例えば、360度)の動きで移動させるように指示される場合がある。
この較正プロセスは、ユーザーデバイス104が、3D空間の3Dモデルを構築し、ユーザーデバイス104に格納することを可能にでき、3D空間は、ルーム126の少なくとも一部分に対応し、そこでは、ユーザー102は、中でユーザーデバイス104を操作できる。また、較正プロセスは、サーモパイルアレイの視野が、ルーム126内の3D空間内の特定の点から少なくとも2つの信号を検出できることも検証できる。他の実施形態では、及びSLAMアプリケーションのタイプ(例えば、ルーム126内のユーザーデバイスを対象とした使用範囲)に応じて、2つ以上のサーマルビーコンが、ユーザーデバイス104がその場所を決定するために物理的な空間126内に配置され得る。
図2は、1つ以上のサーマルビーコンから温度信号を受信するユーザーデバイス200の例示的な拡大図を示す。ユーザーデバイス200はゲーミングヘッドセットであり、図1のユーザーデバイス104に対応できる。一例では、ヘッドセット200は、仮想現実(VR:virtual reality)または拡張現実(AR:augmented reality)のヘッドセットである。一般に、ヘッドセット200は、ディスプレイ、処理ユニット、メモリ、音声システム、I/Oポート、グラフィックスプロセッシングユニット、ネットワーク通信デバイスなどのコンポーネント、ならびに他の電子部品、電気部品、及び機械部品を統合できるハウジング210を含む。ハウジング210は、位置追跡のために追加のコンポーネントをさらに統合(例えば、収容、取り付け、または保持)し、その結果追加のコンポーネントはハウジング210としっかりと接続される。これらのコンポーネントは、例えば、IMU214及びサーモパイルアレイ218を含む。
一例では、IMU214は、加速度計(複数可)、ジャイロスコープ(複数可)、及び磁力計(複数可)を含む。加速度計(複数可)は、X軸、Y軸、及びZ軸に沿った移動を測定する。一般に、ジャイロスコープ(複数可)は、360度の回転を測定する。磁力計(複数可)は、磁場に向かう方位を決定する。したがって、ヘッドセット200の回転運動を示す慣性データ(例えば、加速度データ、方位データ、及び/または回転データを含む)は、これらのセンサの示度数から生成できる。また、並進運動は、ヘッドセット200を介したユーザー102の頭部の動きの速度及び時間に基づいて生成することもできる。例えば、運動ベクトルが定義される。速度は加速度から測定され、距離は速度及び時間の関数として測定される。
方向は、回転及び向きから導出される。運動ベクトルは、運動の距離及び方向を定義し、それによってX軸、Y軸、及びZ軸に沿ったヘッドセット200の並進運動の追跡を可能にする。したがって、運動ベクトルの中の慣性データ、距離、及び方向を定義することによって、ユーザーのヘッドセット200の動きを経時的に追跡することができる。したがって、慣性データに基づいて、及び時間に関して積分(複数可)を実行することによって、ヘッドセット200の場所は、3D空間内の特定の点について決定され得る。IMU214の処理ユニット(例えば、信号プロセッサ)は、そのようなIMUセンサが検知するデータから場所データを生成できる。
上述のように、場所を決定するためにIMUを利用することによる制限の1つは、IMUが通常、蓄積誤差を免れない点である。SLAMアプリケーションは、速度及び位置を計算するために時間に関して継続的に加速度を積分している場合があるため、いかなる測定誤差も、小さいにしても、経時的に累積され、ドリフトにつながる。ドリフトは、ユーザーデバイスが、それが位置していると初期に判断する場所と、その実際の場所との差の測定値である。したがって、ヘッドセット200は、ヘッドセット200がドリフト誤差を継続的に補正し、より正確な場所を決定するために使用できるサーモパイルアレイ218も含み得る。
一例では、サーモパイルアレイ218は、(図1のサーマルビーコン110~124の1つ以上に対応できる)1つ以上のサーマルビーコン204、206から赤外線エネルギーを検出することによって、離れた場所から1つ以上のサーマルビーコン204、206の温度を測定するように構成された熱赤外線センサアレイである。サーモパイルアレイは、シリコンチップに接続された熱電対を含んでもよく、熱電対は、サーマルビーコン204、206の温度信号から受け取った熱エネルギーを、電圧出力の形の電気エネルギーに変換するように構成される。通常、入力熱エネルギーは電圧出力に比例する。したがって、ユーザーデバイス200は、それがサーマルビーコンに近づくにつれ、より多くの光エネルギー(例えば、信号)を検出できるため(例えば、より高温の差異を生じさせる)、ユーザーデバイス200と特定のサーマルビーコンとの間の距離を測定するために、サーモパイルアレイを使用することができる。
いくつかの実施形態では、サーモパイルアレイ218に接続された処理ユニット(例えば、サーモパイルアレイ218と統合される信号プロセッサ)は、サーモパイルアレイ218の要素によって出力される電圧に基づいて、ユーザーデバイス200からサーマルビーコン204、206までの距離に対応する温度データを送信できる。いくつかの実施形態では、サーモパイルは、単一の要素(例えば、ピクセル)、二重要素などから成る場合がある。
他の実施形態では、サーモパイルは、ピクセルのリニア(例えば、16、32)アレイまたはエリア(例えば、32x32)アレイであってよい。本明細書に説明する実施形態はサーモパイルアレイを説明しているが、本開示は、そのように限定的であると解釈されるべきではない。いくつかの実施形態では、サーモパイルアレイ218の任意の所与のピクセル(複数可)は、サーマルビーコンがピクセルの視野内にあるのであれば、所与のときに1つ以上のサーマルビーコンから温度信号を検出することができる場合がある。上述のように、及び図3に関して以下にさらに説明するように、サーモパイルアレイ218から生成される温度データは、ユーザーデバイス200と少なくとも2つのサーマルビーコン204、206との間の距離を三角測量して物理的な空間126内のユーザーデバイス200の3D場所を決定するために使用できる。いくつかの実施形態では、サーマルパイルアレイからの温度データは、物理的な空間126内のユーザーデバイス200の3D場所を出力するためにIMUデータと結合してもよい。
図3は、本開示に係る、(図1のユーザーデバイス104及び/または図2のユーザーデバイス200に対応できる)ユーザーデバイス302の、及びSLAMを実装するためにサーモパイルアレイを利用する例示的なアーキテクチャのブロック図300である。ユーザーデバイス302は、他のコンポーネントの中でも、少なくとも1つのメモリ304、1つ以上の処理ユニット(またはプロセッサ(複数可))316、サーモパイルアレイ318、IMU320、及び通信デバイス322を含み得る。プロセッサ(複数可)316は、必要に応じてハードウェアに実装され得る。ユーザーデバイス302のサーモパイルアレイ318は、1つ以上のサーマルビーコン204、206から1つ以上の温度信号(例えば、赤外光)を検出するように構成され得る。通信デバイス322は、任意の適切な通信経路を使用してコンピューティングハブ106(例えば、ビデオゲームコンソール、仮想会議サーバなど)と通信するようにさらに構成され得る。これは、例えば、ワイヤまたはケーブル、光ファイバ、電話回線、セルラーリンク、無線周波数(RF)リンク、WANネットワークもしくはLANネットワーク、インターネット、または任意の他の適切な媒体を含み得る。
メモリ304は、プロセッサ(複数可)316にロード可能かつ実行可能であるプログラム命令、及びこれらのプログラムの実行中に生成されるデータを格納できる。ユーザーデバイス302の構成及びタイプに応じて、メモリ304は、揮発性(ランダムアクセスメモリ(RAM)など)、及び/または不揮発性(読み取り専用メモリ(ROM)、フラッシュメモリなど)である場合がある。いくつかの実施態様では、メモリ304は、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、またはROMなどの複数の異なるタイプのメモリを含み得る。また、ユーザーデバイス302は、磁気記憶装置、光ディスク、及び/またはテープストレージを含むが、これらに限定されるものではない、取り外し可能な記憶装置または取り外し不可能な記憶装置のどちらかなど、追加の記憶装置(図示せず)を含んでもよい。ディスクドライブ及びその関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピューティングデバイス用の他のデータの不揮発性記憶装置を提供できる。
より詳細にメモリ304の内容を参照すると、メモリ304は、オペレーティングシステム306、及び較正モジュール308、センサフュージョンアルゴリズムモジュール312、及びサーモパイルアレイアルゴリズムモジュール314を含む、本明細書に開示する特徴を実装するための1つ以上のアプリケーションモジュールまたはサービスを含み得る。1つのモジュールによって実行されるタスクのいずれも、他のモジュールの1つ以上によって実行可能であり、したがって本明細書に提供するモジュールの定義は、例示的な目的で含まれることを理解されたい。
オペレーティングシステム306は、ユーザーデバイス302の一般的な管理及び動作に実行可能なプログラム命令を提供でき、通常、ユーザーデバイス302のプロセッサによって実行されるときに、ユーザーデバイス302が、その意図された機能を実行することを可能にする命令を格納するコンピュータ可読記憶媒体(例えば、ハードディスク、ランダムアクセスメモリ、読み取り専用メモリなど)を含む。オペレーティングシステムに適した実施態様は、既知であるまたは市販されており、特に本明細書の本開示を鑑みて当業者によって容易に実装される。
較正モジュール308は、3D空間の3Dモデルを決定し、メモリ304内に維持することを担当でき、3D空間は、物理的な空間(例えば、ゲームルーム126)の少なくとも一部分に対応できる。いくつかの実施形態では、較正モジュール308は、ユーザーデバイス302のサーモパイルアレイ318が、3D空間内の所与の位置について、複数のビーコン110~124のうちの少なくとも2つのビーコンから温度信号を検出できる(例えば、ビーコンは、サーモパイルアレイの1つ以上の要素の視野内にある)ことを検証することも担当できる。これは、以下に説明する、サーモパイルアレイアルゴリズムモジュール314によって場所の三角測量を可能にするのに役立つ。いくつかの実施形態では、較正モジュール308は、図4に説明する操作を実行できる。
一実施形態では、及び図1のゲームルーム126を例として使用すると、(3Dワイヤフレームモデルとして表できる)3Dモデルは、ユーザー102が、中でユーザーデバイス104を操作するつもりである3D空間に対応する。例えば、ユーザーは、中心に近い(人間が届くことが可能である、ある距離、中心から放射状に広がる)ゲームルームの一部分内でのみユーザーデバイス104を操作するつもりである場合がある。較正モジュール308は、デバイスを(例えば、ユーザーがおもにデバイスを操作するつもりである)部屋の中心128に移動させることによって、較正を開始し、次に立って、その場で回転しながら、部屋を360度視野スイープ(ビジュアルスイープ:visual sweep)するように(あるいは、360度にわたる視野が得られるよう回転するように)デバイス104を動かすことをユーザーに指示でき、360度視野スイープは、より小さい弧のセグメント(例えば、90度の回転)に分割される。各セグメントでは、上述のように、ユーザーデバイス104は、少なくとも2つのサーマルビーコンがサーモアイルの視野内にあることを検証できる。
さらに、ユーザーデバイス104は、ユーザーデバイス104と、弧セグメント内に見える各サーマルビーコン204、206との間の距離を決定し、メモリ304に格納できる。ユーザーデバイス104が部屋のスイープを完了すると、較正モジュール308は、3D空間の3Dモデルを構築するために、ユーザーデバイス104とビーコン110~124の各々との間で決定された(部屋の中心128に対する)場所データを使用できる。いくつかの実施形態では、X軸、Y軸、及びZ軸の原点は、ユーザー102が較正中にユーザーデバイス104を最初に配置した位置(例えば、中心128)にある場合がある。いくつかの実施形態では、較正を実行するために、完全な360度の視覚スイープは必要とされない場合がある。例えば、ユーザー104が、通常、テレビ108に向かって前方を向いてユーザーデバイス104を操作する場合、較正は、部屋の部分的な(例えば、180度の)スイープしか推奨しない場合がある。その場合、3Dモデルを構築するために必要とされる室内に事前に配置するサーマルビーコンの数は、より少ない場合がある。
センサフュージョンアルゴリズムモジュール312は、ユーザーデバイス302の場所の決定を担当できる。いくつかの実施形態では、センサフュージョンモジュール312は、較正308が実行された後に実行され得る。センサフュージョンモジュール312は、ユーザーデバイス302の場所を決定する際に精度を向上させるために1つ以上のソースからのセンサデータ入力を結合できる。一実施形態では、センサフュージョンモジュール312は、サーモパイルアレイ318からのセンサ入力として温度データを、及びIMU320からのセンサ入力としてIMUデータを受け取り得る。
いくつかの実施形態では、異なるセンサからのセンサ入力データを結合する前に、センサフュージョンモジュール312は、最初にサーモパイルアレイアルゴリズムモジュール314を実行できる。サーモパイルアレイアルゴリズムモジュール314は、2つ以上の距離値(例えば、ユーザーデバイス302と少なくとも2つのサーマルビーコン204、206との間の距離に対応する)に基づいて、ユーザーデバイス302の場所の三角測量を担当できる。場所(例えば、位置)は、較正中に決定された3Dモデル内のX座標、Y座標、及びZ座標の形をとってよい。いくつかの実施形態では、サーモパイルアレイアルゴリズムモジュール314は、場所を出力することに加えて、場所に対応する信頼値も出力できる。
信頼値は、サーモパイルアレイの視野内で検出されるサーマルビーコンの数(例えば、取得された距離値の数)に応じて増減できる。例えば、1つしかサーマルビーコンが検出されない場合でも、サーモパイルアレイアルゴリズムモジュール314は場所値を出力できるが、対応する信頼値は低くなる場合がある。逆に、2つ以上のサーマルビーコンが視野内で検出される場合、モジュール314は、高い信頼値を出力できる。いくつかの実施形態では、ユーザーデバイス302は、特定の周波数でサーモパイルアレイアルゴリズムモジュール314を実行できる。例えば、モジュール314は、120Hzで(約8.33ミリ秒ごとに)実行できる。通常、温度データに基づいて更新された場所を生成する周波数がより高いと、位置追跡精度は向上する。例えば、温度データとIMUデータ(以下にさらに説明する)とを融合するとき、温度データに基づいたより頻繁な場所情報が、IMUデータ内のドリフト誤差に対して補正するのに役立つ。
別の実施形態で、かつ、上述したセンサフュージョンモジュール312に戻ると、モジュール312は、(例えば、アルゴリズム314が温度データを使用して3D場所値及び対応する信頼値を決定した後に)サーモパイルアレイアルゴリズムモジュール314から場所情報(X座標、Y座標、及びZ座標)、ならびにIMU320からのIMUデータからの場所情報(X座標、Y座標、及びZ座標)を受け取り得る。センサフュージョンモジュール312は、いくつかのアルゴリズムの1つ以上を使用して異なる場所データを互いに結合(つまり「融合:フューズ」)し、より高い精度で3D空間内の単一の場所を出力できる。
一実施形態では、センサフュージョンモジュール312は、ユーザーデバイス302の場所を決定するために別々のソースからのセンサデータを利用するように訓練された人工知能モデルを用い得る。本明細書で使用する場合、用語「人工知能」は、機械学習(教師ありまたは教師なし)、自然言語処理、機械知覚、コンピュータビジョン、感情コンピューティング、(隠れマルコフモデル及びベイジアンネットワークモデルの使用を含む)統計学習及び分類、ニューラルネットワークを含む強化学習、(進化計算を含む)検索アルゴリズム及び最適化アルゴリズム、ならびに自動推論を含む任意の適切なコンピュータ実装人工知能技術を指す。一例として、ニューラルネットワークは、IMUデータ、温度データ、及び以前の場所(複数可)データを入力として受け取るように訓練され得る。この情報は、ユーザーデバイス302の補正された場所を出力する、及び/またはユーザーデバイス302が特定の時間間隔内に入る次の場所を予測するために使用され得る。
別の実施形態では、センサフュージョンモジュール312は、カルマンフィルタを用いるなど、固定小数点アルゴリズムを用い得る。カルマンフィルタは、サーモパイルアレイ、IMUからのセンサ入力データ、及び以前の場所データを使用して、予測モデルを構築できる。予測モデルは、状態変数(例えば、以前の場所(複数可)、温度データのためのポーリングの頻度、ドリフト誤差の以前の測定値など)を考慮に入れてよい。
図4は、本開示の実施形態に係る、図1のシステム100のユーザーデバイス102の較正を実行するための例示的なフロー400を示す。操作は特定の順序で示されているが、操作のいくつかは並べ替えるまたは省略することができる。また、フロー400(または本明細書に説明する任意の他のフロー、または変形した形態、及び/またはそれらの組み合わせ)のいくつかまたはすべては、実行可能命令で構成される1つ以上のコンピュータシステムの制御下で実行可能であり、かつ1つ以上のプロセッサ上で集合的にハードウェアまたはその組み合わせによって実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装され得る。コードは、例えば1つ以上のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形でコンピュータ可読記憶媒体に格納され得る。コンピュータ可読記憶媒体は非一時的であってよい。
一例では、フローは、物理的な空間126内にサーマルビーコン110~124を配置することを含む操作402を含み、物理的な空間126はゲーム環境であってもよい。ビデオゲームシステム100の例を使用すると、ビデオゲームコンソール106は、ユーザー102に、サーマルビーコン110~124を物理的な空間126(例えば、ゲームルーム)に配置することによって較正プロセスを開始するように(例えば、テレビ画面上で視覚的に、ヘッドセットあるいはなんらかの他の機構を介して聞こえるように)促してよい。
ゲーミングアプリケーションのタイプに応じて、ビデオゲームコンソール106は、どのくらい多くのサーマルビーコンを使用する必要があるのか、及びどの程度のカバレージ(例えば、360度、180度など)が推奨されるのかに関してユーザーに指示できる。例えば、ユーザー102が、ゲームプレイ中に、ルーム126の外周の360度の視覚スイープでビデオゲームコントローラ104(例えば、ヘッドセット)を移動できることを、アプリケーションが必要とする場合には、ユーザー102は、図1に示すように、サーマルビーコンを部屋の外周の周りに配置することを推奨される場合がある。例えば、サーマルビーコン110~124は、4つの壁112、116、120、124の中心に、及び壁の角110、114、118、122の近くにの両方に配置され得る。このようにして、ゲーム環境内のヘッドセット104の所与の位置について、ヘッドセット104のサーモパイルアレイ218は、視野内の少なくとも2つのサーマルビーコン204、206から温度信号を検出できる場合がある。
一例では、フローは、ユーザーにユーザーデバイス104を第1の(または次の)場所に移動させることを要求する命令を受け取ることを含む操作404を含む。この命令は、ユーザーデバイス104自体(例えば、ヘッドセットからの音声コマンド)から直接的に、またはユーザーデバイス104に通信で接続されたコンピューティングハブ106(例えば、ゲームコンソール)から出される場合があることを理解されたい。命令がコンピューティングハブ106から出される場合がある場合、ユーザーデバイス104は、較正プロセスで次のステップ(例えば、以下に説明する操作406)を繰り返し、次にコンピューティングハブ106に確認メッセージ(または情報/エラーメッセージ)を送信でき、コンピューティングハブ106は同様にして次の命令メッセージをユーザー102に中継できる。
ユーザー102が、ユーザーデバイス104を第1の場所に移動させるように命令されており、上記のゲーミングの例を続ける場合、ヘッドセット104は(例えば、音声命令、点滅する光などを介して)、ユーザー102に対して、ゲーム体験の中心にすることを意図する部屋の中心128にユーザー102が移動するように指示できる。ヘッドセット104は、この位置128を、ヘッドセット104が構築し、較正プロセス400の結果としてヘッドセット104に格納する3Dモデルの原点として使用できる。原点の最適な場所は、アプリケーションのタイプに依存する場合があり、いくつかの実施形態では、部屋の中心にはない場合があることを理解されたい。いくつかの実施形態では、ユーザー102は、次にビデオゲームコンソール106またはヘッドセット104に、ユーザーが以前のステップを完了し、進む準備が完了していることを信号で知らせ得る。
一例では、フローは、ユーザーデバイス104が、複数のサーマルビーコンのうちの少なくとも2つのサーマルビーコンによって発せられる温度信号に対応する温度データに基づいて、ユーザーデバイス104の第1の(または次の)場所を決定できる操作406を含む。ユーザーデバイス104が第1の場所を決定している場合、ユーザー102は、以前の操作404に基づいてすでに所定の位置にいる場合がある。上記のゲーミングの例を続行すると、ヘッドセットの較正モジュール308は、サーモパイルアレイ318と、サーモパイルアレイ318の視野内の少なくとも2つのビーコン204、206との間の、それぞれ少なくとも2つの距離値を決定するために、サーモパイルアレイ318から受け取った温度データを利用できる。この距離情報に基づいて、較正モジュール308は、ヘッドセットの位置を三角測量し、その位置及び距離値をメモリ304に格納できる。較正モジュール308が視野内で少なくとも2つのビーコンを検出できない場合、較正モジュール308は、警告で(例えば、サーマルビーコンの位置決めをチェックするように)ユーザー102に促す。
いくつかの実施形態では、操作408で、較正モジュール308が、その視野内の少なくとも2つのサーマルビーコンからの情報に基づいて第1の(または次の)場所を決定すると、較正モジュール308は、較正が完了したかどうかを判断できる。いくつかの実施形態では、較正モジュール308は、それが3D空間の3Dモデルを構築するほど十分な情報を有しているかどうかを判断することによってこの判断410を実行できる。他の実施態様では、較正モジュール308は、それがルーム126の4つすべての側面を取り込まなければならないことを事前に決定し、4つすべての側面のデータを取り込むまで次の位置に向くように、ユーザーを継続的に促すことができる。較正モジュール308は、較正が完了したかどうかを判断するために任意の適切な機構を使用できる。較正が完了した場合、次に、フローは、さらに以下に説明する操作412に進み得る。
較正手順が完了していない場合、次に、フローは操作404にループバックし、ユーザーに、次の場所(例えば、位置)に移動するように指示できる。上記のゲーミング例を続行すると、ヘッドセット104は、可聴命令、触覚フィードバック、または任意の他の適切な方法を出力して、ユーザー102に次の場所に移動するように指示できる。一実施形態では、ヘッドセット104は、ユーザーに、「所定の場所で約90度、向きを変え、次に、止まって、さらなる命令を待機する」ように指示できる。較正モジュール308は、次に、上述のように、較正を続行し、操作406を実行できる。このループは、較正が完了するまで続行する場合がある。
一例では、操作412で、較正モジュール308は、それが、物理的な空間126の3Dモデルを構築するほど十分なデータを有すると判断でき、第1の場所は、3Dモデルの原点としての役割を果たす。第1の場所に対する(例えば、サーマルビーコン110~124までの)決定された距離のそれぞれは、3Dモデルの寸法を決定するために使用され得る。いくつかの実施形態では、較正モジュール308は、3Dモデルを構築するために任意の適切な機構を使用できる。3Dモデルが構築されると、較正モジュール308は、ユーザーデバイス302に(例えば、メモリ304または他の記憶装置に)モデルを格納できる。
図5は、本開示の実施形態に係る、サーモパイルアレイを含むユーザーデバイスにSLAMを実装するための例示的なフロー500を示す。いくつかの実施形態では、フロー500は、図4の較正フロー400が実行され、3D空間の3Dモデルが生成された後に実行され得る。以下のフロー操作は(例えば、図1のビデオゲームシステム内のヘッドセット104の代わりに)、ユーザーデバイスとしてパドルを利用することを説明しているが、任意の適切なユーザーデバイス及び/またはシステムを使用できる。
一例では、操作502で、ユーザーデバイスは、複数のサーマルビーコンのうちの1つのサーマルビーコンから発せられる温度信号に対応する温度データを受け取ることができ、温度信号は、ユーザーデバイスの熱センサによって検出される。ユーザー102は、仮想ピンポンをプレイするためにパドルを操作でき、それによってゲームでは、ユーザーがゲームをプレイするにつれ、ユーザーが異なる位置にパドルを移動させる。また、ユーザー102は、パドルを回転させ、異なる加速速度でパドルを旋回させてもよい。上述のように、部分的にはアプリケーションのタイプに応じて、パドルが温度データを受け取るためにサーモパイルアレイ318をポーリングできる周波数を増加させて、時間に関してより高い位置追跡精度を達成できる。いくつかの実施形態では、これは、サーモパイルアレイアルゴリズムモジュール314が、少なくとも120Hzの周波数でサーモパイルアレイから(特定のサーマルビーコンのIR光信号に対応する)電圧示度数を受け取る(例えば、約8.33ミリ秒ごとに更新を受け取る)ことを含んでよい。
一例では、操作504で、ユーザーデバイス(例えば、パドル)は、サーモパイルアレイから受け取ったデータに基づいて、3D空間内でのその場所を決定できる。具体的には、いくつかの実施形態では、電圧示度数ごとに、サーモパイルアレイアルゴリズムモジュール312は、サーマルビーコンまでの関連距離を計算できる。上述のように、モジュール314は、次に、少なくとも2つのサーマルビーコンからの温度信号を使用してその場所を三角測量できる。
いくつかの実施形態では、モジュール312は、3D空間内のパドルの場所を決定するために(較正プロセスの間に以前に格納された)ゲームルーム126内の3D空間の3Dモデルを使用してよい。いくつかの実施形態では、パドルは、その場所を決定するために(例えば、サーモパイルアレイアルゴリズムモジュール314によって生成された)信頼値を利用できる。例えば、特定のときに、1つのサーマルビーコンしか検出されなかった場合、信頼値はより低くなる場合がある。したがって、パドルは、その場所値を無視する、それを他の場所データと結合させて精度を向上させる、または任意の他の適切な挙動を実行することを決定する場合がある。
いくつかの実施形態では、パドルは、パドルの場所を決定するために(他のセンサデータは別として)温度データだけしか利用しない場合があることを理解されたい。しかしながら、他の実施形態では、パドルは、(図6に以下に説明するように)結合のためにセンサフュージョンアルゴリズム312にさらに入力され得るパドルの場所を決定するために、温度データに加えて他のセンサ入力(例えば、IMUデータ)及び/または変数を利用できる。
ユーザーデバイスの場所を決定するためにユーザーデバイス104とって外部での計算を必要とする場合がある他のSLAMアプリケーションと対比して(例えば、外部光センサ、ビデオゲームコンソールによる処理など)、本開示の1つの技術的な優位点は、それによってユーザーデバイス104が(部分的にサーマルビーコンから受信した温度信号に基づいて)独自の内部コンポーネントを使用してその場所を決定することを可能にする点であることを理解されたい。これは、例えば遅延、帯域幅制限などのネットワーク接続性の問題を減らすという点で、システムの信頼性を高め得る。
一例では、操作506で、及び上記例を続行すると、パドルは、パドルの場所をビデオゲームコンソール106に送信できる。いくつかの実施形態では、場所データは、上述のように、任意の適切な通信経路(例えば、WiFi)を使用して通信デバイス322によって送信され得る。ビデオゲームコンソール106は、任意の適切な機構を使用して場所データを処理できる。一例では、ビデオゲームコンソール106は、(パドルに対応する)テレビ108に表示されているオブジェクトを新しい場所に移動させるために場所データを使用でき、新しい場所は、ゲームルーム126の3D空間内のパドルの場所の変化に対応する。
一例では、操作508で、ユーザーデバイス104は、ユーザーデバイス104にそれ自体の場所を格納できる。いくつかの実施形態では、以前の場所データは、較正中に以前に生成された3Dモデルに対応するX座標、Y座標、及びZ座標の形をとってよい(図4を参照)。以前の場所データは、ユーザーデバイス104のメモリ304に格納され得る。いくつかの実施形態では、メモリ304は、以前の場所の履歴を格納でき、それによって(例えば、機械学習アルゴリズムまたは固定小数点アルゴリズムを用いる)ユーザーデバイス104のセンサフュージョンアルゴリズム312は、ユーザーデバイス104の現在の場所を決定するための入力として履歴場所データ点の1つ以上を使用できる。さらに他の実施形態では、履歴場所データは、将来の場所を予測するためにアルゴリズムによって使用され得る。
図6は、本開示の実施形態に係る、サーモパイルアレイ及びIMUを含むユーザーデバイスにSLAMを実装するための例示的なフロー600を示す。図5のフロー500と同様に、フロー600は、図4の較正のフロー400が実行され、3D空間の3Dモデルが生成された後に実行され得る。また、フロー500と同様に、以下のフロー操作は図1のビデオゲームシステム内でのユーザーデバイス104としてのパドルの利用を説明しているが、任意の適切なユーザーデバイス及び/またはシステムが使用され得る。いくつかの実施形態では、フロー600は、例示的なフロー500のサブ操作として実装できる例示的な操作を含む。
一例では、操作602で、図5の操作502と同様に、ユーザーデバイスは、複数のサーマルビーコンのうちの1つのサーマルビーコンから発せられる温度信号に対応する温度データを受け取ってよく、温度信号は、ユーザーデバイスの熱センサによって検出される。いくつかの実施形態では、このデータは、サーモパイルアレイアルゴリズムモジュール314によってさらに処理され得る。
一例では、操作604で、ユーザーデバイスは、ユーザーデバイスに格納されていた以前の場所データを取り出できる。例えば、これは、以前の操作608によって格納されたデータであってよい。いくつかの実施形態では、以前の場所データは、較正中に以前に生成された3Dモデルに対応するX座標、Y座標、及びZ座標の形をとってよい(図4を参照)。他の実施形態では、以前の場所データは、慣性データ(例えば、回転速度、ある時点での3D空間内のユーザーデバイスの線形加速度)を含むが、これに限定されるものではない他のデータを含んでもよい。このデータは、以下にさらに説明するように、ユーザーデバイス302の1つ以上のセンサユニットデバイス(例えば、IMU320)によって受け取られ得る。
一例では、操作606で、ユーザーデバイスは、ユーザーデバイスのIMU320からIMUデータを受け取り得る。いくつかの実施形態では、IMUデータは、図2のIMU214に関して説明されるように、3D空間内のユーザーデバイスの加速度データ、方位データ、及び/または回転データを含み得る。したがって、IMUデータも、ある時点での3D空間内のユーザーデバイスの場所を決定するために使用され得る。
一例では、操作608で、ユーザーデバイスは、(例えば、操作602で受け取った)温度データ、(例えば、操作604で受け取った)以前の場所データ、及び/または(例えば、操作606で受け取った)IMUデータを、(図3のセンサフュージョンアルゴリズムモジュール312に対応できる)センサフュージョンアルゴリズムに入力することによって、3D空間内でのその場所を決定できる。いくつかの実施形態では、他のセンサからの他のセンサ入力は、センサフュージョンアルゴリズムに対する入力として使用されてもよい。センサフュージョンアルゴリズムにはグローバルポジショニングシステム(GPS)トラッカーが含まれるが、これに限定されるものではない。
いくつかの実施形態では、センサフュージョンアルゴリズムが操作602及び606から受け取ったデータの各々は、実質的に同じ時点でのユーザーデバイスの場所を測定するデータに対応してよい。しかしながら、他の実施形態では、センサフュージョンアルゴリズムが操作602及び606から受け取ったデータは、異なる時間間隔でユーザーデバイスの場所を測定するデータと対応してもよい。また、一例では、操作502に関して上述したのと同様に、サーモパイルアレイアルゴリズム314は、120Hzの周波数でのサーモパイルアレイ318からの温度データに基づいてユーザーデバイスの場所を決定できる(例えば、8.33ミリ秒ごとに更新する)。
例えば、これとは対照的に、20HzのIMUは、50ミリ秒にわたってIMUの総移動を表すサンプル期間の加速速度及び回転速度を出力できる。センサフュージョンアルゴリズム312は、IMU場所データ内のドリフト誤差を補正するために、ドリフト補正係数として、サーモパイルアレイから導出した場所データを使用できる。また、センサフュージョンアルゴリズムは、上述のように、アルゴリズムの精度を高めるために操作604からの以前の場所データを利用してもよい。
一例では、操作610で、及び図5の操作506と同様に、ユーザーデバイスは、それが操作608で決定したその場所をビデオゲームコンソールに送信する。
一例では、操作612で、及び図5の操作508と同様に、ユーザーデバイスは、ユーザーデバイスにそれ自体の場所を格納できる。
図7は、様々な実施形態に係るコンピュータシステム700を実装するために適したハードウェアシステムの例を示す。コンピュータシステム700は、例えば、ビデオゲームシステム、モバイルユーザーデバイス、近接デバイス、ウェアラブルジェスチャデバイス、及び/または中央コンピュータのコンポーネントを表す。コンピュータシステム700は、ソフトウェアアプリケーション及び任意選択でオペレーティングシステムを実行するための中央演算処理装置(CPU)705を含む。CPU705は、1つ以上の同種のまたは異種の処理コアから成る場合がある。メモリ710は、CPU705によって使用されるアプリケーション及びデータを格納する。
記憶装置715は、アプリケーション及びデータに不揮発性記憶装置及び他のコンピュータ可読媒体を提供し、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、及びCD-ROM、DVD-ROM、Blu-ray(登録商標)、HD-DVD、または他の光学記憶装置、ならびに信号伝送及び記憶媒体を含んでもよい。ユーザー入力デバイス720は、1人以上のユーザーからコンピュータシステム700にユーザー入力を通信し、その例は、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、静止カメラもしくはビデオカメラ、及び/またはマイクロフォンを含み得る。ネットワークインタフェース725は、コンピュータシステム700が、電子通信ネットワーク経由で他のコンピュータシステムと通信することを可能にし、ローカルエリアネットワークまたはインターネットなどの広域ネットワークを介する有線通信または無線通信を含み得る。
音声プロセッサ755は、CPU705、メモリ710、及び/または記憶装置715によって提供される命令及び/またはデータから、アナログまたはデジタルの音声出力を生成するように適合される。CPU705、メモリ710、データ記憶装置715、ユーザー入力デバイス720、ネットワークインタフェース725、及び音声プロセッサ755を含むコンピュータシステム700のコンポーネントは、1つ以上のデータバス760経由で接続される。
グラフィックスサブシステム730は、データバス760及びコンピュータシステム700のコンポーネントにさらに接続される。グラフィックスシステム730は、グラフィックスプロセッシングユニット(GPU)735及びグラフィックメモリ740を含む。グラフィックメモリ740は、出力画像の各ピクセルのピクセルデータを格納するために使用されるディスプレイメモリ(例えば、フレームバッファ)を含む。グラフィックメモリ740は、GPU735と同じデバイスに統合する、GPU735を有する別個のデバイスとして接続する、及び/またはメモリ710内に実装することができる。ピクセルデータは、CPU705から直接的にグラフィックメモリ740に提供することができる。
他の形態では、CPU705は、GPU735に所望の出力画像を定義するデータ及び/または命令を与え、そこからGPU735は1つ以上の出力画像のピクセルデータを生成する。所望の出力画像を定義するデータ及び/または命令は、メモリ710及び/またはグラフィックメモリ740に格納できる。一実施形態では、GPU735は、シーンの形状、照明、陰影、テクスチャ、運動、及び/またはカメラのパラメータを定義する命令及びデータから出力画像のピクセルデータを生成するための3Dレンダリング機能を含む。GPU735は、シェーダプログラムを実行できる1つ以上のプログラム可能な実行ユニットをさらに含む場合がある。
グラフィックスサブシステム730は、表示装置750に表示されるグラフィックメモリ740からの画像のピクセルデータを定期的に出力する。表示装置750は、CRTディスプレイ、LCDディスプレイ、プラズマディスプレイ、及びOLEDディスプレイを含む、コンピュータシステム700からの信号に応えて視覚情報を表示することが可能な任意のデバイスである場合がある。コンピュータシステム700は、表示装置750にアナログ信号またはデジタル信号を提供できる。
様々な実施形態によれば、CPU705は、1つ以上の処理コアを有する1つ以上の汎用マイクロプロセッサである。さらなる実施形態は、メディア及び双方向娯楽アプリケーションなどの、高度並列及び計算に強いアプリケーションに特に適合されたマイクロプロセッサアーキテクチャを有する1つ以上のCPU705を使用して実装できる。
システムのコンポーネントは、以下、つまり インターネット、IPネットワーク、イントラネット、広域ネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、仮想プライベートネットワーク(「VPN」)、公衆交換電話網(「PSTN」)、または異なる実施形態における本明細書に説明するデバイス間のデータ通信をサポートする任意の他のタイプのネットワークの任意の組み合わせを含み得る、ネットワーク経由で接続され得る。ネットワークは、光リンクを含む有線接続と無線接続の両方を含み得る。多くの他の例が考えられ、本開示を鑑みて当業者に明らかである。本明細書の説明では、ネットワークについて特に記載する場合もあれば、記載しない場合もある。
本開示の実施形態の例は、以下の態様を鑑みて説明することができる。
態様1 ビデオゲームシステムであって、ビデオゲームコンソールと、複数のサーマルビーコンと、前記ビデオゲームコンソールと通信で結合されたユーザーデバイスとを備え、前記ユーザーデバイスは、サーモパイルアレイと、プロセッサと、命令を格納するメモリとを備え、前記命令は、前記プロセッサによる実行により、前記プロセッサに、前記サーモパイルアレイから温度データを受け取らせることであって、前記温度データが、前記複数のサーマルビーコンのうちの1つのサーマルビーコンから発せられ、前記サーモパイルアレイによって検出される温度信号に対応する、前記温度データを受け取らせることと、前記温度データに基づいて、3次元(3D)空間内の前記ユーザーデバイスの場所を決定させ、前記ユーザーデバイスの前記場所を前記ビデオゲームコンソールに送信させることとを行わせる、前記ビデオゲームシステム。
態様2 前記ユーザーデバイスが、慣性計測装置(IMU)をさらに備え、前記命令の前記実行がさらに、前記プロセッサに、前記IMUからIMUデータを受け取らせることであって、前記IMUデータが、前記3D空間内の前記ユーザーデバイスの加速度に対応する加速度データ、及び前記3D空間内の前記ユーザーデバイスの回転速度に対応する方位データを含む、前記IMUデータを受け取らせることと、前記温度データ、前記IMUデータ、及び以前の場所データをセンサフュージョンアルゴリズムに入力することによって、前記3D空間内の前記ユーザーデバイスの前記場所を決定させる、態様1に記載のビデオゲームシステム。
態様3 前記ユーザーデバイスが、慣性計測装置(IMU)をさらに備え、前記命令の前記実行がさらに、前記プロセッサに、前記温度データに基づいて、及び前記IMUのIMUデータとは関係なく初期の場所を決定させる、態様1~2のいずれかに記載のビデオゲームシステム。
態様4 前記命令の前記実行がさらに、前記プロセッサに、前記サーモパイルアレイから第2の温度データを受け取らせ、前記第2の温度データが、前記複数のサーマルビーコンのうちの第2のサーマルビーコンから発せられ、前記サーモパイルアレイによって検出される第2の温度信号に対応し、前記サーマルビーコン及び前記第2のサーマルビーコンが、同時に前記サーモパイルアレイの視野内にあり、前記ユーザーデバイスの前記場所が、前記第2の温度データに基づいてさらに決定される、態様1~3のいずれかに記載のビデオゲームシステム。
態様5 前記複数のサーマルビーコンの各ビーコンが赤外線ダイオードである、態様1~4のいずれかに記載のビデオゲームシステム。
態様6 前記サーマルビーコンによって発せられる前記温度信号が、前記サーマルビーコンに固有の識別子を備え、前記識別子が、前記複数のサーマルビーコンから前記サーマルビーコンを識別するために前記サーモパイルアレイによって使用される、態様1~5のいずれかに記載の前記ビデオゲームシステム。
態様7 前記複数のサーマルビーコンの各サーマルビーコンが、ゲーム環境に配置され、前記3D空間が前記ゲーム環境の一部分にマッピングされ、前記サーマルビーコンが、前記3D空間内の前記ユーザーデバイスの特定の位置について、前記サーモパイルアレイが少なくとも2つのサーマルビーコンから温度信号を検出できるように配置される、態様1~6のいずれかに記載のビデオゲームシステム。
態様8 ユーザーデバイスであって、サーモパイルアレイと、プロセッサと、命令を格納するメモリとを備え、前記命令は、前記プロセッサによる実行により、前記プロセッサに、前記サーモパイルアレイから温度データを受け取らせることであって、前記温度データが複数のサーマルビーコンのうちの1つのサーマルビーコンから発せられ、前記サーモパイルアレイによって検出される温度信号に対応する、前記温度データを受け取らせることと、前記温度データに基づいて、3次元(3D)空間内の前記ユーザーデバイスの場所を決定させ、前記ユーザーデバイスの前記場所をビデオゲームコンソールに送信させる、ユーザーデバイス。
態様9 前記ユーザーデバイスが、慣性計測装置(IMU)をさらに備え、前記命令の前記実行がさらに、前記プロセッサに、前記IMUからIMUデータを受け取らせることであって、前記IMUデータが、前記3D空間内の前記ユーザーデバイスの加速度に対応する加速度データ、及び前記3D空間内の前記ユーザーデバイスの回転速度に対応する方位データを含む、前記IMUデータを受け取らせることと、前記温度データ、前記IMUデータ、及び以前の場所データをセンサフュージョンアルゴリズムに入力することによって、前記3D空間内の前記ユーザーデバイスの前記場所を決定させる、態様8に記載のユーザーデバイス。
態様10 前記以前の場所データが前記ユーザーデバイスに格納される、態様9に記載のユーザーデバイス。
態様11 前記センサフュージョンアルゴリズムが、前記場所を決定するように訓練された人工知能モデルを利用する、態様9~10のいずれかに記載のユーザーデバイス。
態様12 前記センサフュージョンアルゴリズムが、前記温度データに対応する信頼値を生成し、前記信頼値が、前記サーモパイルアレイの視野内の前記複数のサーマルビーコンに係るサーマルビーコンの数に基づき、前記信頼値が、前記場所を決定するために前記センサフュージョンアルゴリズムによって使用される、態様9~11のいずれかに記載のユーザーデバイス。
態様13 前記ユーザーデバイスがビデオゲームコントローラである、態様8~12のいずれかに記載のユーザーデバイス。
態様14 前記複数のサーマルビーコンの各ビーコンが赤外線ダイオードである、態様8~13のいずれかに記載のユーザーデバイス。
態様15 前記複数のサーマルビーコンの各サーマルビーコンが、ゲーム環境に配置され、前記3D空間が前記ゲーム環境の一部分にマッピングされ、前記サーマルビーコンが、前記3D空間内の前記ユーザーデバイスの特定の位置について、前記サーモパイルアレイの1つ以上の熱センサが少なくとも2つのサーマルビーコンからの温度信号を検出できるように配置される、態様8~14のいずれかに記載のユーザーデバイス。
態様16 非一時的なコンピュータ可読記憶媒体であって、ユーザーデバイスで実行されると、複数のサーマルビーコンのうちの1つのサーマルビーコンから発せられ、前記サーモパイルアレイの1つ以上の熱センサによって検出される温度信号に対応する温度データを、前記ユーザーデバイスのサーモパイルアレイによって生成することと、前記温度データに基づいて、3次元(3D)空間内の前記ユーザーデバイスの場所を決定することと、前記ユーザーデバイスによって、前記ユーザーデバイスの前記場所をビデオゲームコンソールに送信することであって、前記ユーザーデバイスが前記ビデオゲームコンソールと通信で結合される、前記送信することとを含む操作を実行するように前記ユーザーデバイスを構成する命令を格納する、前記非一時的なコンピュータ可読記憶媒体。
態様17 前記操作が、前記ユーザーデバイスの慣性計測装置(IMU)からIMUデータを受け取ることであって、前記IMUデータが、前記3D空間内の前記ユーザーデバイスの加速度に対応する加速度データ、及び前記3D空間内の前記ユーザーデバイスの回転速度に対応する方位データを含む、前記IMUデータを受け取ることと、前記温度データ、前記IMUデータ、及び以前の場所データをセンサフュージョンアルゴリズムに入力することによって、前記3D空間内の前記ユーザーデバイスの前記場所を決定することとをさらに含む、態様16に記載の非一時的なコンピュータ可読記憶媒体。
態様18 前記センサフュージョンアルゴリズムがカルマンフィルタを利用する、態様17に記載の非一時的なコンピュータ可読記憶媒体。
態様19 前記操作が、前記3D空間内に配置された前記複数のサーマルビーコンのうちのサーマルビーコンの第1のセットから発せられる第1の温度信号に対応する第1の温度データに基づいて前記ユーザーデバイスの第1の場所を決定すること、前記3D空間内に配置された前記複数のサーマルビーコンのうちのサーマルビーコンの第2のセットから発せられる第2の温度信号に対応する第2の温度データに基づいて前記ユーザーデバイスの第2の場所を決定すること、前記ユーザーデバイスによって、前記第1の場所及び前記第2の場所に基づいて、前記3D空間の3Dモデルを生成すること、及び前記ユーザーデバイスによって前記3Dモデルを格納することによって較正を実行することをさらに含む、態様16~18のいずれかに記載の非一時的なコンピュータ可読記憶媒体。
態様20 前記較正を前記実行することが、ユーザーに前記ユーザーデバイスを前記第1の場所に移動させるように要求する命令を、前記ユーザーデバイスによって受け取ること、及び前記第1の場所を決定したことに応えて、前記ユーザーに、前記ユーザーデバイスを第2の場所に移動させることを要求する命令を、前記ユーザーデバイスによって受け取ることをさらに含む、態様19に記載の非一時的なコンピュータ可読記憶媒体。
上記明細書では、本発明は、その特定の実施形態に関して説明されているが、当業者は、本発明がそれに限定されないことを認識する。上述の発明の様々な特徴及び態様は、個別にまたは共同で使用できる。さらに、本発明は、本明細書のより広い精神及び範囲から逸脱することなく、本明細書に説明される環境及び用途を超える任意の数の環境及び用途で利用することができる。本明細書及び図面は、相応して限定的ではなく例示的と見なされるべきである。
上述した方法、システム、及びデバイスは、単に例にすぎないことが意図されることに留意されたい。様々な実施形態が、必要に応じて様々な手順またはコンポーネントを省略、代替、または追加できることを強調しなければならない。例えば、代替的実施形態では、方法は、説明された順序とは異なる順序で実行できること、及び様々なステップを追加、省略、または結合できることを理解すべきである。また、特定の実施形態に関して説明する特徴は、様々な他の実施形態で結合できる。実施形態の異なる態様及び要素は、同様に結合できる。また、技術は進化しているため、要素の多くは例であり、本発明の範囲を制限すると解釈されるべきではないことを強調すべきである。
具体的な詳細は、実施形態の完全な理解を提供するために明細書に示されている。しかしながら、当業者はこれらの具体的な詳細がなくても、実施形態を実施できることを理解する。例えば、周知の回路、プロセス、アルゴリズム、構造、及び技術は、実施形態を不明確にすることを回避するために不必要な詳細を省いて示されている。
また、実施形態は、フロー図またはブロック図として示されるプロセスとして説明され得ることに留意されたい。各々の操作を連続プロセスとして説明する場合があるが、操作の多くは、並行してまたは同時に実行することができる。また、操作の順序は並べ直すことができる。プロセスは、図に含まれていない追加のステップを有する場合がある。
さらに、本明細書に開示するように、用語「メモリ」または「メモリユニット」は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、または情報を格納するための他のコンピュータ可読媒体を含む、データを格納するための1つ以上のデバイスを表す場合がある。用語「コンピュータ可読媒体」は、携帯型または固定式の記憶装置、光学記憶装置、無線チャネル、SIMカード、他のスマートカード、及び命令またはデータを記憶、格納、または運搬可能な様々な媒体を含むが、これらに限定されるものではない。
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードに実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に格納され得る。プロセッサは必要なタスクを実行できる。
特に明記しない限り、以下の特許請求の範囲内を含む、本明細書に説明するすべての測定値、値、定格、位置、大きさ、サイズ、及び他の仕様は概算であり、正確ではない。それらは、それらが関連する機能に一致し、それらが関連する技術で慣習的であることに一致する妥当な範囲を有することが意図される。「約」は、±0.01%、±0.1%、±1%、±2%、±3%、±4%、±5%、±8%、±10%、±15%、±20%、±25%、またはそれ以外の場合当技術分野で既知であるような公差内を含む。「実質的に」は、66%、75%、80%、90%、95%、99%、99.9%を超えること、またはその用語が実質的に表示される文脈に応じて、それ以外の場合、当技術分野で既知の値を指す。
いくつかの実施形態を説明してきたが、様々な修正、代替的構成、及び均等物が、本発明の精神から逸脱することなく使用され得ることが当業者によって認識される。例えば、上記の要素は単により大きいシステムのコンポーネントにすぎない場合があり、他の規則が、本発明の適用に優先する、またはそれ以外の場合、本発明の適用を修正する場合がある。また、いくつかのステップは、上記要素を検討する前に、検討する間に、または検討した後に行われる場合がある。したがって、上記の説明は、本発明の範囲を限定すると解釈されるべきではない。

Claims (15)

  1. ビデオゲームシステムであって、
    ビデオゲームコンソールと、
    複数のサーマルビーコンと、
    前記ビデオゲームコンソールと通信で結合されたユーザーデバイスとを備え、
    前記ユーザーデバイスは、
    サーモパイルアレイと、
    プロセッサと、
    命令を格納するメモリと、を備え、
    前記命令は、前記プロセッサにより実行されると、前記プロセッサに、
    前記サーモパイルアレイから温度データを受け取らせ、前記温度データは、前記複数のサーマルビーコンのうち相異なるサーマルビーコンからそれぞれ発せられて前記サーモパイルアレイによって検出される温度信号に対応するものであり、
    前記温度データと、前記サーマルビーコンの数に関連付けられた信頼値とに基づいて、3次元(3D)空間内の前記ユーザーデバイスの場所を決定させ、 前記ユーザーデバイスの前記場所を前記ビデオゲームコンソールに送信させるものである、ビデオゲームシステム。
  2. 前記ユーザーデバイスは、慣性計測装置(IMU)をさらに備え、前記命令は、前記実行がなされることで、さらに、前記プロセッサに、
    前記IMUからIMUデータを受け取らせ、前記IMUデータは、前記3D空間内の前記ユーザーデバイスの加速度に対応する加速度データ、及び前記3D空間内の前記ユーザーデバイスの回転速度に対応する方位データを含むものであり、
    前記温度データ、前記IMUデータ、及び以前の場所データをセンサフュージョンアルゴリズムに入力することによって、前記3D空間内の前記のユーザーデバイスの前記場所を決定させるものである、請求項1に記載のビデオゲームシステム。
  3. 前記温度データは前記複数のサーマルビーコンのうちの第1サーマルビーコンからの第1温度信号に対応し、前記命令は、前記実行がなされることで、さらに、前記プロセッサに、
    前記サーモパイルアレイから第2の温度データを受け取らせ、前記第2の温度データは、前記複数のサーマルビーコンのうちの第2のサーマルビーコンから発せられて前記サーモパイルアレイによって検出される第2の温度信号に対応し、前記サーマルビーコン及び前記第2のサーマルビーコンは、同時に前記サーモパイルアレイの視野内にあり、前記ユーザーデバイスの前記場所が、前記第2の温度データに基づいてさらに決定される、請求項1に記載のビデオゲームシステム。
  4. 前記温度信号は、サーマルビーコンに固有の識別子を備え、前記識別子は、前記複数のサーマルビーコンから前記サーマルビーコンを識別するために前記サーモパイルアレイによって使用される、請求項1に記載の前記ビデオゲームシステム。
  5. 前記複数のサーマルビーコンの各サーマルビーコンは、ゲーム環境に配置され、前記3D空間が前記ゲーム環境の一部分にマッピングされ、前記サーマルビーコンは、前記3D空間内の前記ユーザーデバイスの特定の位置について、前記サーモパイルアレイが少なくとも2つのサーマルビーコンから温度信号を検出できるように配置される、請求項1に記載のビデオゲームシステム。
  6. ユーザーデバイスであって、
    サーモパイルアレイと、
    プロセッサと、
    命令を格納するメモリと、を備え、
    前記命令は、前記プロセッサにより実行されると、前記プロセッサに、
    前記サーモパイルアレイから温度データを受け取らせ、前記温度データは、複数のサーマルビーコンのうち相異なるサーマルビーコンのそれぞれから発せられて前記サーモパイルアレイによって検出される温度信号に対応するものであり、
    前記温度データと、前記複数のサーマルビーコンの数に関連付けられた信頼値とに基づいて、3次元(3D)空間内の前記ユーザーデバイスの場所を決定させ、
    前記ユーザーデバイスの前記場所をビデオゲームコンソールに送信させる、ユーザーデバイス。
  7. 前記ユーザーデバイスは、慣性計測装置(IMU)をさらに備え、前記命令は、前記実行がなされることで、さらに、前記プロセッサに、
    前記IMUからIMUデータを受け取らせ、前記IMUデータは、前記3D空間内の前記ユーザーデバイスの加速度に対応する加速度データ、及び前記3D空間内の前記ユーザーデバイスの回転速度に対応する方位データを含むものであり、
    前記温度データ、前記IMUデータ、及び以前の場所データをセンサフュージョンアルゴリズムに入力することによって、前記3D空間内の前記のユーザーデバイスの前記場所を決定させるものである、請求項6に記載のユーザーデバイス。
  8. 前記センサフュージョンアルゴリズムは、前記温度データに対応する前記信頼値を生成し、前記信頼値は、前記サーモパイルアレイの視野内にある前記サーマルビーコンの数に基づくものであり、かつ、前記信頼値は、前記場所を決定するために前記センサフュージョンアルゴリズムによって使用される、請求項7に記載のユーザーデバイス。
  9. 前記複数のサーマルビーコンの各ビーコンは赤外線ダイオードである、請求項6に記載のユーザーデバイス。
  10. 前記複数のサーマルビーコンの各サーマルビーコンは、ゲーム環境に配置され、前記3D空間が前記ゲーム環境の一部分にマッピングされ、前記サーマルビーコンは、前記3D空間内の前記ユーザーデバイスの特定の位置について、前記サーモパイルアレイの1つ以上の熱センサが少なくとも2つのサーマルビーコンから温度信号を検出できるように配置される、請求項6に記載のユーザーデバイス。
  11. 命令を格納したコンピュータ可読記憶媒体であって、前記命令は、ユーザーデバイスにより実行されると、ユーザーデバイスに、
    複数のサーマルビーコンのうち相異なるサーマルビーコンからそれぞれ発せられてサーモパイルアレイの1つ以上の熱センサによって検出される温度信号に対応する温度データを、前記サーモパイルアレイによって生成させる動作を実行させ、
    前記温度データと、前記サーマルビーコンの数に関連付けられた信頼値とに基づいて、3次元(3D)空間内の前記ユーザーデバイスの場所を決定させる動作を実行させ、かつ、
    ビデオゲームコンソールと通信で結合された前記ユーザーデバイスによって、前記ユーザーデバイスの前記場所を前記ビデオゲームコンソールに送信させる動作を実行させるように、前記ユーザーデバイスを構成するものである、コンピュータ可読記憶媒体。
  12. 前記動作では、さらに、
    前記ユーザーデバイスの慣性計測装置(IMU)からIMUデータを受け取り、前記IMUデータは、前記3D空間内の前記ユーザーデバイスの加速度に対応する加速度データ、及び前記3D空間内の前記ユーザーデバイスの回転速度に対応する方位データを含むものであり、
    前記温度データ、前記IMUデータ、及び以前の場所データをセンサフュージョンアルゴリズムに入力することによって、前記3D空間内の前記のユーザーデバイスの前記場所を決定する、請求項11に記載のコンピュータ可読記憶媒体。
  13. 前記センサフュージョンアルゴリズムがカルマンフィルタを利用する、請求項12に記載のコンピュータ可読記憶媒体。
  14. 前記動作では、さらに、
    前記3D空間内に配置された前記複数のサーマルビーコンのうちのサーマルビーコンの第1のセットから発せられる第1の温度信号に対応する第1の温度データに基づいて前記ユーザーデバイスの第1の場所を決定し、
    前記3D空間内に配置された前記複数のサーマルビーコンのうちのサーマルビーコンの第2のセットから発せられる第2の温度信号に対応する第2の温度データに基づいて前記ユーザーデバイスの第2の場所を決定し、
    前記ユーザーデバイスによって、前記第1の場所及び前記第2の場所に基づいて、前記3D空間の3Dモデルを生成し、
    前記ユーザーデバイスによって前記3Dモデルを格納することで、較正を実行する、請求項11に記載のコンピュータ可読記憶媒体。
  15. 前記較正の前記実行では、さらに、
    ユーザーに前記ユーザーデバイスを前記第1の場所に移動させるように要求する命令を、前記ユーザーデバイスによって受け取り、
    前記第1の場所を前記決定したことに応えて、前記ユーザーに前記ユーザーデバイスを前記第2の場所に移動させるように要求する命令を、前記ユーザーデバイスによって受け取る、請求項14に記載のコンピュータ可読記憶媒体。
JP2021553090A 2019-03-08 2020-02-18 サーモパイルアレイフュージョントラッキング Active JP7368489B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/297,292 2019-03-08
US16/297,292 US10786729B1 (en) 2019-03-08 2019-03-08 Thermopile array fusion tracking
PCT/US2020/018584 WO2020185356A1 (en) 2019-03-08 2020-02-18 Thermopile array fusion tracking

Publications (2)

Publication Number Publication Date
JP2022524099A JP2022524099A (ja) 2022-04-27
JP7368489B2 true JP7368489B2 (ja) 2023-10-24

Family

ID=72336809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021553090A Active JP7368489B2 (ja) 2019-03-08 2020-02-18 サーモパイルアレイフュージョントラッキング

Country Status (5)

Country Link
US (2) US10786729B1 (ja)
EP (1) EP3934777A4 (ja)
JP (1) JP7368489B2 (ja)
CN (1) CN113784767A (ja)
WO (1) WO2020185356A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10786729B1 (en) 2019-03-08 2020-09-29 Sony Interactive Entertainment Inc. Thermopile array fusion tracking
KR20210128269A (ko) * 2020-04-16 2021-10-26 삼성전자주식회사 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법
EP4180100A1 (en) * 2021-11-11 2023-05-17 Playoke GmbH System for providing a single- or multi- player game experience

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002512069A (ja) 1998-04-17 2002-04-23 マサチューセッツ インスティテュート オブ テクノロジー 動き追跡システム
JP2006185109A (ja) 2004-12-27 2006-07-13 Hitachi Ltd 画像計測装置及び画像計測方法
JP2009093612A (ja) 2007-04-17 2009-04-30 Avago Technologies Ecbu Ip (Singapore) Pte Ltd 光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けするシステムおよび方法
JP2009195707A (ja) 2008-02-21 2009-09-03 Palo Alto Research Center Inc 位置認識混合現実感ゲームプラットフォーム
JP2010509000A (ja) 2006-11-10 2010-03-25 エムティヴィ・ネットワークス ユーザの足の動きを検出して組み込む電子ゲーム
JP2016531276A (ja) 2013-06-13 2016-10-06 ビーエーエスエフ ソシエタス・ヨーロピアBasf Se 少なくとも1つの物体の方位を光学的に検出する検出器
JP2017509864A (ja) 2014-01-07 2017-04-06 フィリップス ライティング ホールディング ビー ヴィ 位置決めシステムにおけるビーコニングの制御
JP2017144234A (ja) 2016-02-16 2017-08-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation IoT機器を利用して拡張現実を実現した戦場オンラインゲーム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203384B2 (en) 2003-02-24 2007-04-10 Electronic Scripting Products, Inc. Implement for optically inferring information from a planar jotting surface
US7961909B2 (en) * 2006-03-08 2011-06-14 Electronic Scripting Products, Inc. Computer interface employing a manipulated object with absolute pose detection component and a display
WO2009038797A2 (en) 2007-09-20 2009-03-26 Evolution Robotics Robotic game systems and methods
GB2506688A (en) * 2012-10-08 2014-04-09 Bae Systems Plc Detection of a target in a scene using hyperspectral imaging
EP2920773A4 (en) 2012-11-16 2016-07-06 Flir Systems SYNCHRONIZED INFRARED BAKE / INFRARED DETECTION SYSTEM
CN106030458B (zh) * 2013-12-31 2020-05-08 谷歌有限责任公司 用于基于凝视的媒体选择和编辑的系统和方法
US9622208B2 (en) 2015-09-02 2017-04-11 Estimote, Inc. Systems and methods for object tracking with wireless beacons
KR102447635B1 (ko) 2015-12-29 2022-09-27 에스케이플래닛 주식회사 빌딩 내에서의 위치 추정 방법, 이를 위한 장치 및 시스템
US10565723B2 (en) * 2016-02-02 2020-02-18 Samsung Electronics Co., Ltd. Systems and methods for drift correction
US10254546B2 (en) * 2016-06-06 2019-04-09 Microsoft Technology Licensing, Llc Optically augmenting electromagnetic tracking in mixed reality
US10078377B2 (en) * 2016-06-09 2018-09-18 Microsoft Technology Licensing, Llc Six DOF mixed reality input by fusing inertial handheld controller with hand tracking
US20180085673A1 (en) * 2016-08-31 2018-03-29 Ole Birkedal Vest and Motion Sensitive Wand for Interactive Game Play
CN107545589A (zh) * 2017-07-06 2018-01-05 王福来 一种空间定位系统及方法
US10481699B2 (en) * 2017-07-27 2019-11-19 Facebook Technologies, Llc Armband for tracking hand motion using electrical impedance measurement
US10786729B1 (en) 2019-03-08 2020-09-29 Sony Interactive Entertainment Inc. Thermopile array fusion tracking

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002512069A (ja) 1998-04-17 2002-04-23 マサチューセッツ インスティテュート オブ テクノロジー 動き追跡システム
JP2006185109A (ja) 2004-12-27 2006-07-13 Hitachi Ltd 画像計測装置及び画像計測方法
JP2010509000A (ja) 2006-11-10 2010-03-25 エムティヴィ・ネットワークス ユーザの足の動きを検出して組み込む電子ゲーム
JP2009093612A (ja) 2007-04-17 2009-04-30 Avago Technologies Ecbu Ip (Singapore) Pte Ltd 光学ナビゲーションのために画像データのフレーム内の特徴クラスタにラベル付けするシステムおよび方法
JP2009195707A (ja) 2008-02-21 2009-09-03 Palo Alto Research Center Inc 位置認識混合現実感ゲームプラットフォーム
JP2016531276A (ja) 2013-06-13 2016-10-06 ビーエーエスエフ ソシエタス・ヨーロピアBasf Se 少なくとも1つの物体の方位を光学的に検出する検出器
JP2017509864A (ja) 2014-01-07 2017-04-06 フィリップス ライティング ホールディング ビー ヴィ 位置決めシステムにおけるビーコニングの制御
JP2017144234A (ja) 2016-02-16 2017-08-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation IoT機器を利用して拡張現実を実現した戦場オンラインゲーム

Also Published As

Publication number Publication date
EP3934777A4 (en) 2022-12-21
US20210023438A1 (en) 2021-01-28
US20200282303A1 (en) 2020-09-10
JP2022524099A (ja) 2022-04-27
US10786729B1 (en) 2020-09-29
WO2020185356A1 (en) 2020-09-17
CN113784767A (zh) 2021-12-10
EP3934777A1 (en) 2022-01-12
US11554316B2 (en) 2023-01-17

Similar Documents

Publication Publication Date Title
US10905950B2 (en) Head-mounted display tracking
US11858628B2 (en) Image space motion planning of an autonomous vehicle
US11861892B2 (en) Object tracking by an unmanned aerial vehicle using visual sensors
JP7368489B2 (ja) サーモパイルアレイフュージョントラッキング
US20240062663A1 (en) User Interaction With An Autonomous Unmanned Aerial Vehicle
US20220374013A1 (en) Fitness And Sports Applications For An Autonomous Unmanned Aerial Vehicle
JP7181316B2 (ja) Hmd環境での高速中心窩レンダリングのための予測及びgpuに対する最新の更新を伴う視線追跡
KR101881620B1 (ko) 게임플레이에서의 3차원 환경 모델 사용
US10248118B2 (en) Remotely controlling a self-propelled device in a virtualized environment
US9904982B2 (en) System and methods for displaying panoramic content
CN105190703A (zh) 使用光度立体来进行3d环境建模
WO2018113759A1 (zh) 基于定位系统和ar/mr的探测系统及探测方法
KR102101587B1 (ko) 골프용 드론 및 볼마커를 이용한 퍼팅 라인 제공 방법 및 장치
TW202234023A (zh) 通過建立定位點描述立體空間的方法與系統
CN117666852A (zh) 虚拟现实空间中的目标对象确定方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231012

R150 Certificate of patent or registration of utility model

Ref document number: 7368489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150