JP2022503776A - 視覚ディスプレイの補完的なデータを生成するためのシステム及び方法 - Google Patents

視覚ディスプレイの補完的なデータを生成するためのシステム及び方法 Download PDF

Info

Publication number
JP2022503776A
JP2022503776A JP2021516382A JP2021516382A JP2022503776A JP 2022503776 A JP2022503776 A JP 2022503776A JP 2021516382 A JP2021516382 A JP 2021516382A JP 2021516382 A JP2021516382 A JP 2021516382A JP 2022503776 A JP2022503776 A JP 2022503776A
Authority
JP
Japan
Prior art keywords
tracking data
data
complementary
tracking
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021516382A
Other languages
English (en)
Inventor
ウィノルド、ハンス
ホワイト、ジョゼフ
コーニール、ライアン
サミュエル グーテンターグ、マーク
ロックハート、ジョン
Original Assignee
ピナンブラ、インク
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 ピナンブラ、インク filed Critical ピナンブラ、インク
Publication of JP2022503776A publication Critical patent/JP2022503776A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1123Discriminating type of movement, e.g. walking or running
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1128Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient ; user input means
    • A61B5/742Details of notification to user or communication with user or patient ; user input means using visual displays
    • A61B5/744Displaying an avatar, e.g. an animated cartoon character
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Pathology (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Software Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Physiology (AREA)
  • Dentistry (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)

Abstract

Figure 2022503776000001
ユーザの位置、向き、および動きの追跡データを収集する1つ以上のウェアラブルセンサを含む、視覚ディスプレイの補完的なデータを生成するためのシステムである。センサは、追跡データを受信し、欠落している追跡データを識別し、欠落している追跡データの代わりに補完的なデータを生成し、追跡データおよび補完的なデータで構成される3Dモデルを生成し、3Dモデルをディスプレイに伝達するように構成することができる少なくとも1つのプロセッサと通信している。補完的な追跡データは、主要なポーズライブラリとの比較、過去の追跡データとの比較、または逆運動学によって生成することができる。
【選択図】図10

Description

(関連出願の相互参照)
本特許出願は、2018年9月21日に出願された、米国仮特許出願第62/734,824に基づく優先権を主張するものであり、その全体が参照により本明細書に組み込まれるものとする。
仮想現実(VR)は、物理的に仮想世界にいるような感覚が生じる没入型仮想世界を作成しようと努める。没入感は、信頼できる画像、音、その他の刺激でプレーヤーを囲むことによって生じる。信じられないほどの本物そっくりの刺激により、仮想環境における刺激に応答して行動し及び反応してしまうことに、部分的に又は完全に不信感を抱かせないことを特徴とする意識状態が引き出される。
しかしながら、プレーヤー自身の動きとアバターの動きとの間の同期が欠如すると、プレーヤーの没入感が低下する。完全な動作追跡は通常、ほとんどのゲームアプリケーションにとって現実的なオプションではないため、ゲームではアバター又はその一部をアニメートする場合があり、アバターの動きは必ずしもプレーヤー自身の動きと関連付けられるわけではない。データの欠落とは、追跡データが永続的又は一時的に欠落しているという問題である場合がある。例えば、追跡システムは、身体の一部を追跡し、他の部分を追跡しないことがあり、フレームを見逃すことがあり、現実的な追跡を可能にするには不十分な数量のセンサ又は不適切に配置されたセンサを具備することがある。
例えば、アバターをアニメートするゲームは、しばしば、プレーヤーが自分のものとして使用するために手をアニメートする。ただし、アニメートされた手は、リアルな形状や動きを持っている場合と持っていない場合がある。日常生活では、私たちが最も頻繁に目にする体の部分は手であるため、アニメートされた手は基礎的な没入感をもたらす。そのため、仮想世界内での手の複製では、プレーヤーからの視覚的な強い監視にさらされる。手に関する少なくとも1つの課題は、指が実時間で実行できる複雑な動きをアニメートすることである。リアルで直感的な指の動きを提供することは、没入型体験を向上させるための重要なステップとなる。
別の課題は、切断手術を受けた人のために全身のアバターをアニメートするときに不信感を抱かせないようにすることである。事故や病気のために手、腕、脚、又は足が切断された場合、10人中8人の切断者が、もはやそこにない手足に不快を感じる。この現象は幻肢痛と呼ばれる。試験結果では、切断された手足がまだ体に付着しているかのように脳に錯覚させることにより、幻肢の痛みを和らげることができることが示されている。したがって、没入型アバターを生成することで、幻肢痛に対処するのに役立たせることができる。
VRの外で、関連する課題は、没入型人工装具を実現することである。義肢がユーザからの指令により正確に応答すればするほど、この人工装具はより自然で満足のいくものになる。このように、義肢の動きの改善は、人工装具との自己同一性の感覚を促進するのに役立つ。
本発明は、一般に、人間の動きを追跡するときの欠落データ又は不十分なデータの問題に対処する。本発明は、追跡された身体部分の動きを分析し、適切な追跡データを欠いているかもしれない、隣接する身体部分の補完的な動きを定める。次に、表示するために、補完的な動きのデータが追跡データと組み合わされる。1つの例では、システムは、ユーザの身体部分の一部の追跡データを収集し、ユーザの身体部分の残りの部分の補完的な動きデータを生成し、追跡データと追跡データの組み合わせに従って動くアバターをアニメートする。補完的な追跡データは、関節とは関係なしに、対応するエンドエフェクタなしで生成することができる。
関心のある1つの用途は、手首の動きを追跡し、補完的な指の動きを生成し、これらの両方の動きでアバターをアニメートすることである。関心のある2番目の用途は、切断された手足の近くの動きを追跡し、足がまだ付いているとしたら、失われた手足によってどのような補完的な動きが行われていただろうかを判断し、そのような動きを全身のアバターにアニメートするか、人工装具にそのような動作をさせることである。関心のある3番目の用途は、同じ身体部分の追跡データとシステムにより生成された補完的な動きのデータとを組み合わせ、その組み合わせを使用してアバターアニメーションの精度と精度を向上させることである。
いくつかの実施形態では、本開示は、ユーザ上に配置された1つ以上のウェアラブルセンサであって、ウェアラブルセンサは追跡データを収集及び送信する、ウェアラブルセンサと、プロセッサ実行可能命令を含むメモリと通信するプロセッサであって、命令の実行により、システムは少なくとも次のことすなわち、追跡データを受信すること、欠落している追跡データを特定すること、欠落している追跡データの少なくとも一部を置き換えるために、補完的な追跡データを生成すること、追跡データと補完的な追跡データを3Dモデルにマッピングであって、この3Dモデルはユーザの仮想表現である、マッピング、及び、表示用の3Dモデルを伝達すること、を行わさせる、プロセッサと、からなる。このようなシステムは、部分的な追跡データを主要なポーズライブラリと比較することによって、部分的な追跡データを、表示のために伝達された以前の3Dモデルのクラスタと照合することによって、又は逆運動学を用いることで、補完的な追跡データを生成することができる。
1つの態様では、本開示は、補完的な追跡データを生成するためのシステムを提供する。システムは、以下を具備することができる。すなわち、オブジェクトに配置されるように構成された1つ以上のウェアラブルセンサ。このウェアラブルセンサは追跡データを収集及び送信するように構成される。プロセッサで実行可能命令を含むメモリと通信するプロセッサ。この命令の実行により、システムは以下を行うことになる。すなわち(a)1つ以上のウェアラブルセンサから追跡データを受信する。(b)追跡データを3Dモデルにマッピングする。ここで3Dモデルは、オブジェクトの範囲と動きの仮想表現である。(c)3Dモデルの不完全な部分を特定する。不完全な部分は、追跡データにマッピングされていないモデルの部分を含む。(d)不完全な部分の少なくとも一部を置き換えるための補完的な追跡データを生成する。(e)3Dモデルに補完的な追跡データを含める。
いくつかの実施形態では、補完的なデータは、利用可能な追跡データを主要なポーズライブラリと比較することによって生成される。いくつかの実施形態では、追跡データは、主要なポーズライブラリ内の2つ以上の主要なポーズ同士の間のブレンドスペースと比較される。いくつかの実施形態では、追跡データは、最も強い一致を決定するために、主要なポーズのライブラリの主要なポーズと比較される。いくつかの実施形態では、一致の決定は、不完全な部分から離れた関節及び身体部分よりも、不完全な部分に最も近い関節及び身体部分での類似性に重きを置く。いくつかの実施形態では、メモリは、システムに1つ又は一連の以前の3Dモデルにアクセスさせるプロセッサ実行可能命令を含み、この以前の3Dモデルは、表示のために前もって伝達されている。
いくつかの実施形態では、補完的な追跡データは、一連の以前の3Dモデルの間での反復的な追跡データのクラスタを識別し、追跡データをクラスタに一致させ、クラスタの一致部分と同様の補完的なデータを生成することによって生成される。いくつかの実施形態では、補完的な追跡データは、一連の以前の3Dモデルの中から反復的な追跡データのクラスタを識別し、利用可能な追跡データが反復的な追跡データのクラスタのどこに最も適合するかを決定し、クラスタを模倣する補完的な追跡データを生成することによって生成される。いくつかの実施形態では、プロセッサは、ジェスチャトリガーについて1つ又は一連の以前の3Dモデルを分析するように構成される。ここで、ジェスチャトリガーを識別することで、システムに、事前に記録されたジェスチャアニメーションと少なくとも部分的にブレンドされた一連の更新された3Dモデルを伝達させる。
いくつかの実施形態では、補完的な追跡データは、エンドエフェクタの追跡データが利用可能な場合のFABRIKソルバ、及びエンドエフェクタの追跡データが利用できない場合のクラスタ機能又は主要なポーズの一致と共に生成される。いくつかの実施形態では、メモリには、システムが追跡データを受信した3Dモデルの部分について、システムに補完的な追跡データを生成させる、プロセッサで実行可能な命令を含む。いくつかの実施形態では、3Dモデルは、補完的な追跡データと追跡データとをブレンドすることによって更新される。
いくつかの実施形態では、1つ以上のウェアラブルセンサは、電磁受信機及びエミッタ、1つ以上の光学要素、赤外線エミッタ、加速度計、磁力計、ジャイロスコープ、又はこれらの組み合わせで構成される。いくつかの実施形態では、プロセッサは、電磁センサと1つ以上のカメラの両方から追跡データを受信する。いくつかの実施形態では、ウェアラブルセンサは無線であり、ラジオ周波数で通信する。いくつかの実施形態では、システムは、ユーザが着用可能な1つ以上のストラップをさらに含み、1つ以上のウェアラブルセンサは、1つ以上のストラップの中又はこれらの上に配置されるように構成される。いくつかの実施形態では、ディスプレイは、更新された3Dモデルを物理的に、仮想現実で、又は複合現実で表示するように構成される。いくつかの実施形態では、追跡データには、3Dモデルの指の補完的な追跡データを決定するために使用される手首又は掌部の追跡データが含まれる。いくつかの実施形態では、追跡データは、ユーザの少なくとも1つの関節によって補完的な追跡データから分離されている。いくつかの実施形態では、プロセッサは、ユーザの「n」の身体部分の追跡データを受け取り、「n+1」の身体部分を有する更新された3Dモデルを表示するために通信する。
別の態様では、本開示は、補完的な追跡データを生成するためのシステムを提供する。システムは、プロセッサで実行可能な命令を含むメモリと通信するプロセッサを含むことができ、命令は、以下を具備する。追跡データのセットである。この追跡データは、ユーザの1つ以上の部分の位置又は動きに関連する。3Dモデルである。この3Dモデルは、ユーザの範囲及びユーザの動きの仮想表現である。ライブラリである。このライブラリは、ポーズ、ジェスチャ、又はこれらの両方のセットで構成される。補完的な追跡データのセットである。この補完的な追跡データのセットは、ライブラリから選択された少なくとも1つのポーズ又はジェスチャの少なくとも一部を具備する。結合モデルである。この結合モデルは追跡データのセットと補完データのセットを具備する。
いくつかの実施形態では、補完的なデータには、追跡データのセットに存在しない手足、付属器官、関節、又は指が含まれる。いくつかの実施形態では、補完的なデータには、追跡データのセットに存在しない運動の期間が含まれる。いくつかの実施形態では、ライブラリと追跡データのセットとの比較を使用して、ライブラリからポーズ又はジェスチャを選択する。いくつかの実施形態では、命令には、学習アルゴリズムがさらに含まれ、補完的なデータのセットは、この学習アルゴリズムによって生成される。いくつかの実施形態では、命令には、学習アルゴリズムがさらに含まれ、ポーズ又はジェスチャは、この学習アルゴリズムによって選択される。いくつかの実施形態では、この補完的なデータは、追跡データのセットを主要なポーズライブラリと比較することによって生成される。
いくつかの実施形態では、この比較は、主要なポーズライブラリ中の2つ以上の主要なポーズ同士の空間を具備し、この補完的なデータは、これらの空間をブレンドするために生成される。
いくつかの実施形態では、追跡データのセットは、一致度を決定するために、追跡データを主要なポーズのライブラリ内の主要なポーズのセットと比較することによって3Dモデルにマッピングされる。いくつかの実施形態では、一致度は、不完全な部分から離れた関節及び身体部分よりも、不完全な部分に最も近い関節及び身体部分の類似性をより重く重み付けすることによって決定される。いくつかの実施形態では、命令は、ユーザの1つの動き又は一連の動きについての以前のポーズ、ジェスチャ、又はこれら両方を具備する。いくつかの実施形態では、補完的な追跡データは、一連の以前のポーズ、ジェスチャ、又はこれらの両方の間で反復的な追跡データのクラスタを識別し、追跡データのセットをクラスタに一致させ、このクラスタに一致した部分に類似する補完的なデータを生成することによって生成される。補完的な追跡データは、一連の以前のポーズ、ジェスチャ、又はこれらの両方の間で反復的な追跡データのクラスタを識別し、利用可能な追跡データが反復的な追跡データのクラスタのどこに適合するかを決定し、反復的な追跡データのクラスタを模倣する補完的な追跡データを生成することによって生成される。いくつかの実施形態では、命令は、ジェスチャトリガーのための一連の以前のポーズ、ジェスチャ、又はこれらの両方の少なくとも一部の分析を含み、ジェスチャの前記識別により、システムは、少なくとも部分的にあらかじめ記憶していたジェスチャアニメーションとブレンドされた一連の更新された融合データのセットを通信する。
いくつかの実施形態では、補完的な追跡データは、エンドエフェクタの追跡データが利用可能である場合はFABRIKソルバで生成され、エンドエフェクタの追跡データが利用できない場合はクラスタ機能又は主要なポーズの一致により生成される。いくつかの実施形態では、追跡データのセットには、3Dモデルの指の補完的な追跡データを決定するために使用される手首又は掌部の追跡データが含まれる。いくつかの実施形態では、追跡データのセットは、少なくとも1つの関節によって補完的な追跡データから分離されている。いくつかの実施形態では、追跡データのセットは、「n」の身体部分の追跡データを含み、補完データは、3Dモデルにマッピングされて、「n+1」の身体部分との結合モデルを形成する。いくつかの実施形態では、結合モデルは、ほぼ実時間で生成され、少なくとも部分的な表示のためにユーザに伝達される。
別の態様では、視覚ディスプレイのための補完的なデータを生成するためのシステムが提供される。システムは、以下を具備することができる。すなわち、(a)1つ以上の追跡された身体部分に選択的に配置されるように構成された1つ以上の電磁エミッタ及び1つ以上の電磁センサである。及び(b)視覚ディスプレイ、1つ以上の電磁エミッタ、及び1つ以上の電磁センサと通信し、1つ以上の電磁エミッタ及び1つ以上の電磁センサから追跡データを受信するように構成され、追跡データ内にない投影された動きを具備し、潜在的な動きのライブラリに基づく、補完的な表示データを生成する少なくとも1つのプロセッサである。
いくつかの実施形態では、プロセッサは、追跡データを使用して視覚ディスプレイ上に1つ以上の追跡された身体部分の動き及び位置を表示するようにさらに構成される。いくつかの実施形態では、システムは、ユーザが着用可能な1つ以上のストラップをさらに具備し、1つ以上のエミッタ及び1つ以上のセンサは、1つ以上のストラップの中又はこれらの上に配置されるように構成される。いくつかの実施形態では、システムは、1つ以上の光学要素をさらに含み、光学要素は、ユーザが着用可能であり、1つ以上の光学要素は、赤外線エミッタ、加速度計、磁力計、ジャイロスコープ、又はこれらの組み合わせを具備する。いくつかの実施形態では、プロセッサは、(1)人形の骨格リグアニメーション技術、(2)頂点アニメーションソリューション、又は(3)これらの両方の組み合わせを使用して、(4)補完的な表示データを生成するために、3Dグラフィックスを処理するよう構成される。いくつかの実施形態では、プロセッサは、追跡データと補完的な表示データとを3Dグラフィックスで組み合わせるようにさらに構成され、この3Dグラフィックスは、アバター又は人工装具のどちらかのモデルを具備し、このモデルは、処理された動作データとしてプロセッサから転送される。
いくつかの実施形態では、ディスプレイは、補完的な表示データを物理的に、仮想現実で、又は複合現実で表示するように構成される。いくつかの実施形態では、プロセッサは、1つ以上の追跡された身体部分の補完的な表示データを生成するようにさらに構成される。いくつかの実施形態では、追跡データには手首追跡データが含まれ、補完的な表示データには指の動きデータが含まれ、一連の1つ以上の手首又は掌部の位置及び動きを分析して1つ以上の指の補完的な動きを決定する。いくつかの実施形態では、プロセッサは、1つ以上の追跡された身体部分、1つ以上の追跡されていない身体部分、又はこれらの両方の3Dグラフィックスを生成するように構成され、ここで、1つ以上の追跡された又は追跡されていない身体部分は、指、手、肘、肩、頭、胴体、腰、太もも、すね、足、つま先を具備し、1つ以上の追跡された身体部分からの追跡データが処理されて、2番目の1つ以上の追跡された身体部分、追跡されていない身体部分、又はこれらの両方の組み合わせを生成する。いくつかの実施形態では、プロセッサは、プレーヤーの手首又は掌部からの追跡データを分析することによって、手首、手、及び指の3Dグラフィックスを生成するように構成される。いくつかの実施形態では、プロセッサは、(i)ある期間にわたって手首からの追跡データを分析すること、(ii)手首の所定の動作パターンが実行されたかどうかを判断すること、(iii)所定の動作パターンの識別に基づいて、手首、手、及び指の主なジェスチャを生成すること、主なジェスチャは、手を振ること、指さすこと、又は手のひらを開くことを含み、(iv)この主なジェスチャを含むディスプレイ上に3Dグラフィックスまたは一連の3Dグラフィックスを生成すること、を行うよう構成される。
別の態様では、オブジェクトの動きを追跡し、アバターを表示するための方法が提供される。この方法は、以下を具備することができる。すなわち(a)1つ以上の電磁エミッタ及び1つ以上の電磁センサを用いて、オブジェクトの1つ以上の追跡された身体部分の動きを追跡する。(b)1つ以上の電磁エミッタ及び1つ以上の電磁センサから1つ以上の追跡された身体部分の追跡された動きデータを受信する。(c)追跡された動きデータを分析して、1つ以上の追跡された身体部分の近く又はこれらに隣接する1つ以上の身体部分の補完的な動きデータを決定する。そして、(d)追跡された動きのデータと補完的な動きのデータをアバターにアニメートする。
別の態様では、アバターをアニメートするための方法が提供される。この方法は、以下を具備することができる。すなわち(a)1つ以上の追跡された身体部分の位置、動き、又はこれらの両方を含む追跡された動きデータを受け取る。(b)追跡された動きデータの分析を通じて、1つ以上の追跡された身体部分の近く又はこれら隣接する1つ以上の身体部分の補完的な動きデータを決定する。そして、(c)追跡された動きデータと補完的な動きデータをアバターにアニメートする。
いくつかの実施形態では、補完的な動きのデータは、少なくとも1つの関節によって追跡された動きデータから分離されている。いくつかの実施形態では、追跡された運動データには、手首又は掌部が含まれ、補完的な運動データには、手、1つ以上の指、又はこれらの両方が含まれる。いくつかの実施形態では、1つ以上の追跡された身体部分の動きを追跡するステップは、いくつかの身体部分「n」を追跡することを具備し、身体部分をアニメートするステップは、いくつかの身体部分「n+1」をアニメートすることを具備する。いくつかの実施形態では、補完的な動きデータを決定するために追跡された動きデータを分析するステップは、1つ以上の身体部分に近い2番目の1つ以上の身体部分を分析し、追跡された動きデータと補完的な動きデータの組み合わせをアバターにアニメートすることをさらに具備する。
(参照による組み込み)
本明細書で言及されるすべての刊行物、特許、及び特許出願は、個々の刊行物、特許、又は特許出願の内容が具体的かつ個別に示されたものとして、参照により本明細書に組み込まれる。
本発明の新規性のある特徴は、添付の特許請求の範囲に具体的に記載されている。本発明の特徴及び利点のより良い理解は、本発明の原理を用いる例示的な実施形態を説明する以下の詳細な説明、及び添付図面を参照することによって得られる。
いくつかの実施形態による例示的なコンピューティング環境を示す。
いくつかの実施形態による、ヘッドマウントディスプレイを示す。
いくつかの実施形態による、ユーザの動きを追跡することができるウェアラブルセンサを示
いくつかの実施形態による、センサデータ収集から3Dモデリング、アバターアニメーションまでのアニメーションパイプラインを示す。
いくつかの実施形態による、例示的な追跡データクラスタを示す。
いくつかの実施形態による、ユーザの体に取り付けた異なるセンサ位置を概略的に示す。
いくつかの実施形態による、指の動きを割り振るためにユーザの掌部の動きを追跡する例を示す。 いくつかの実施形態による、指の動きを割り振るためにユーザの掌部の動きを追跡する例を示す。 いくつかの実施形態による、指の動きを割り振るためにユーザの掌部の動きを追跡する例を示す。 いくつかの実施形態による、指の動きを割り振るためにユーザの掌部の動きを追跡する例を示す。 いくつかの実施形態による、指の動きを割り振るためにユーザの掌部の動きを追跡する例を示す。
いくつかの実施形態による、切断された手足を追跡するために限定されたデータをどのように使用することができるかの例を提示する。
いくつかの実施形態による、骨格に応じたメッシュからなる3Dモデルを示す。 いくつかの実施形態による、骨格に応じたメッシュからなる3Dモデルを示す。
いくつかの実施形態による、親指を立てた主要なポーズジェスチャを行っている手の3Dモデルを示す。
プレーヤーは、仮想現実(「VR」)ゲームにログインすると、アバターに「なる」。プレイヤーが自分の体に動けと言うと、アバターがそれに応じて動くのが見える。システムが完全な追跡を達成し、プレーヤーの手足の数がアバターの手足の数と同等である場合、プレーヤーの動きをアバターに完全にマッピングできるため、没入感を向上させることができる。一方、アバターの手足がプレーヤーより多い場合、又は完全な追跡が一時的であっても不十分な場合、追跡データが不足している場所で追跡された動きを現実的な補完的な動きと組み合わせて表示することで、没入感を向上させることができる。本開示の態様により、そのような機能が提供される。
没入型であるために、システムによって生成された手足が、理想的な応答性を有することである。プレイヤーの意図と意志を、手足の動きに変換することができる。手足は、音を出したり、仮想環境との相互作用を行ったりすることで、物理法則に従っているように見える場合がある。これはすべて、追跡可能な動きから派生し、それに比例するアニメーションを使用して行うことができる。
手のアニメーションには、少なくとも2つの一般的なアプローチがある。最初のアプローチでは、アバターは手と前腕の一部でアニメートされる。手は通常、中立的な位置でアニメートでき、中立的な位置は、プレーヤーが仮想世界を横断しても静止したままとなる。プレーヤーがオブジェクトを操作したり、コントローラーのボタンを押したりすると、例えばオブジェクトをつかむために、手がパチンと閉まることがある。このようなVRゲームの例には、Doom、Rif Core 2.0、Occulus Unity、及びSurgeonSimulatorが含まれる。同様のアプローチがBethesdaのSkyrimVRゲームでも使用されている。ただし、そのゲームには、呪文を唱える(手のひらを前に向けて指を広げる)及び走る(指をわずかに丸める)ための特定の手のアニメーションが含まれている。これらのソリューションは、初歩的な手のアニメーションを提供するので、最適な没入型のエクスペリエンスを提供することができない。
2番目のアプローチでは、プレーヤーの手及び指を能動的に追跡し、アバターに表示することができる。Noitom Hi5トラッカーグローブやVRgluvのようなシステムは、追跡と触覚フィードバックを提供するために手に装着される。これらのソリューションは、非常にデータ集約的で、煩雑で、費用がかかる可能性がある。Leap MotionやPlaystation move Heroesのようなシステムでは、光学カメラで指の動きを追跡する。光学的追跡システムは、極めてデータ集約的である可能性があり、そのようなシステムは、一般に、忠実度が低く、範囲が制限され、及び/又は見通しに問題があることに悩まされている。マイクロソフトの特許9,861,886、9,824,478、及び8,451,278には、同様の欠点を持つ光学追跡技術が開示されている。
切断された手足の動きをアニメートすることに関して、いくつかの解決策が可能である。最初の解決策ではミラーを使用する。胸の前に斜めに鏡を置くことで、体が左右対称であるかのような錯覚を作り出すことができる。両手で同時に同じ動きをするふりをすると、多くの場合、脳は切断された手と接触していると確信することができる。そのような技術は、失われた手足からの感覚フィードバックの真実味が不十分なことに悩まされ、装置は粗雑であり、錯覚はしばしば真に迫るものではない(すなわち、没入型ではない)。
2番目の解決策は、手足の無傷の部分を追跡し、次に、手足全体をアニメートする(Ambron等による「幻肢痛に対する没入型低コスト仮想現実治療:2つの症例からの証拠」を参照)。Ambronの研究では、経橈骨切断(膝下)の参加者に、すねの残りの部分を追跡してもらい、それによって完全なすねと足をアニメートした。ただし、アニメーションには太ももに対するすねの動きが含まれていたが、足の動きのアニメーションは開示されなかった。
3番目のアプローチでは、ユーザの切断された手足は、切断された手足の「切り株」で又はその近くで生成される筋電図検査(「EMG」)信号に従ってアニメートすることができる。適切に実行されると、ユーザは自分の思考だけを使って、ゲーム内のアバター(又は人工装具)で切断された手足の動きを制御することができる。このようなアプローチでは、セットアップ時間が長くなる。セットアップでは、最大信号振幅が見つかるまで電極を配置及び再配置する必要がある。セットアップでは通常、ユーザの特定のEMG信号を解釈するための学習アルゴリズムを教える必要があり、これにより、学習したアルゴリズムは最終的に生のEMG信号を運動データに変換できる。例えば、アルゴリズムを教えるために、ユーザはさまざまな手の形を何度も作成するように要求される場合があり、学習アルゴリズムはこれらの試行された動きの事例をトレーニングデータとして使用する。このアプローチも、いくつかの基本的な課題に直面している。この技術は、ユーザのEMGスキル(どれだけうまくユーザがEMG信号を制御できるか)に、及び電極がどれだけ信頼度高く信号を拾うことができるかに依存する。
本開示の態様は、動作追跡データが不十分な場合又は存在しない場合のユーザの動きについて、改善された表現を提供する。本開示の態様により、人の動きを追跡するときに、欠落データの問題に対する1つ以上の解決策を提供することができる。本開示のシステム及び方法では、利用可能な追跡データを取得し、追跡データが永続的又は一時的に、完全に又は部分的に欠如している可能性があるところで、補完的な動きデータを生成することができる。本開示のシステム及び方法は、追跡された運動データ及び補完的な運動データに従って運動をアニメート又は表示することができる。場合によっては、本開示のシステム及び方法は、プレーヤー(例えば、アバター)又はその一部(例えば、部分的なアバター又は人工装具)の表現との自己同一性の感覚を育成することができる。これを達成することで、プレーヤーの表現は視覚的にリアルであり、プレーヤーの意志や指示に対して確実に反応が現れるようにすることができる。
欠落したデータの問題の少なくとも1つの課題は、関節の一方の側の身体部分の追跡データを正確に分析して、関節の他方の側の身体部分の動きを予測することかもしれない。いくつかの実施形態では、本開示は、骨格及び頂点アニメーション技術の組み合わせでこの課題に対処する。いくつかの実施形態では、本開示は、追跡された動きをモデル化し、補完的な動きを予測するための学習されたアルゴリズム及び/又はカスケードアルゴリズムを提供する。関節全体で追跡データが不足している場合、本開示の態様により、エンドエフェクタを使用せずに、関節の両側で身体部分の動きをアニメートすることができる。
本開示は、指を覆い、及び/又は指の動きを制限する手袋、ハンドヘルドコントローラ、又は同様のツールをプレーヤーの手に装着する必要のない、指のための1つ以上のアニメーションソリューションを提供する。いくつかの実施形態では、本開示は、カメラで指の動きを追跡しない指のためのアニメーションソリューションを提供する。いくつかの実施形態では、この解決策は、人が手首又は掌部を曲げたりねじったりするときに指が行う動きを利用することができる。このような指の動きは、指と手首の自然な動き又は自動的な動きを模倣する場合がある。本開示のシステム及び方法は、この指の動きを表示し、それにより、没入感及び視覚的強化感覚が増大する。いくつかの実施形態では、所定の手首又は掌部の動きの及び活動のパターンにより、指差すこと、手を振ること、掌を広げることのような、具体的なジェスチャを始動させることができる。
いくつかの実施形態では、本開示のシステム及び方法は、肘、膝、足、及び/又はつま先の補完的な動きのアニメーションを生成するために、肘、膝、足、及びつま先の近くの身体部分からの追跡データを利用することができる。例えば、肘からの追跡データを使用して、前腕及び/又は手首及び/又は指の補完的なデータを生成することができる。例えば、膝からの追跡データを使用して、ふくらはぎ及び/又は足首及び/又はつま先の補足データを生成することができる。例えば、特定の身体部分の追跡データが不十分又は不足している場合、近くの身体部分からの追跡データを使用して、アニメートする適切な動き又はジェスチャを決定又は予測することができる。
本開示のシステム及び方法は、没入型であり、関節を超越し、最小限のセットアップしか必要としない、切断された手足のアニメーションに対する少なくともいくつかの解決策を提供する。義足近くの追跡データを、手足がどのような動きをした可能性が高いかを予測するために使うことができる。次に、そのような動きをアバターにアニメートするため、又は人工装具を動かすために使用することができる。
(パート1:アバターアニメーションのテクニック)
(コンピューティング環境)
本開示の態様は、ユーザの視覚的表現を追跡、モデル化、及び表示することができるコンピューティング環境を提供する。図1は、いくつかの実施形態による、例示的なコンピューティング環境を示す。コンピューティング環境では、1つ以上のプリント回路基板(PCB)を具備することができる。コンピューティング環境は、単一のデバイスとして、又は複数のデバイスにわたって機能する場合があり、場合によっては、1つ以上のプリント回路基板で構成される。一般的に、コンピューティング環境では、物理的空間又は仮想空間におけるユーザ又はオブジェクトの視覚的表現を追跡、モデル化、及び表示することができる。コンピューティング環境では、物理的空間におけるユーザ又はオブジェクトの周囲及び動きを追跡することができる。コンピューティング環境では、仮想空間内のユーザの3Dモデルを生成することができる。コンピューティング環境では、図3に示されるように、ユーザのためにモデルの視覚的表現を表示することができる。例えば、視覚的表現は、アバターの動きがユーザによって制御される画面に表示されるアバターとすることができる。コンピューティング環境では、物理空間でのユーザの動きを仮想空間でのアバターの動きにマッピングすることができる。
コンピューティング環境には、ユーザ及び/又はコンピューティング環境がゲーム及び様々なタイプのメディアでプレイすることを可能にするアプリケーションの実行を可能にするソフトウェア及びハードウェアコンポーネントを含むことができる。ソフトウェアにより、ユーザ及び/又はコンピューティング環境がゲーム以外のアプリケーション及びオペレーティングシステムを制御及び操作することを可能とすることができる。コンピューティング環境には、1つ以上のセンサ、プロセッサ、グラフィック処理ユニット(GPU)、ビデオエンコーダ/ビデオコーデック、サウンドカード、送信機モジュール、ネットワークインターフェイス、及び発光ダイオード(LED)を含めることができる。これらのコンポーネントは、ローカルコンピューティングシステムに格納されている場合もあれば、ローカルコンピューティングシステムと有線又は無線で接続されているリモートコンポーネント(リモートサーバー、クラウド、モバイルデバイス、接続されたデバイスなど)の場合もある。コンポーネント間の接続は、1つ以上の複数のバス(例えば、周辺コンポーネント相互接続(PCI)バス、PCI-Expressバス、又はユニバーサルシリアルバス(USB))により容易に行うことができる。このようなバスを使用すると、コンピューティング環境では、多数のコンポーネント、多数のPCB、多数のリモートコンピューティングシステムを統合することができる可能性がある。1つ以上のシステム管理コントローラにより、バスとそれらが統合するコンポーネントとの間のデータ伝送管理機能を提供することができる。そのような管理コントローラにより、アプリケーションを実行するために定義された時間枠内でそれぞれ別々の命令を利用することができるこれらのコンポーネントのコンピューティング環境を容易に編成することができる。ネットワークインターフェイスには、イーサネット接続、又はローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、イントラネット、又はインターネットへのワイヤレス802.1lb、g、a、又はn接続を形成するコンポーネントを含むことができる。
(センサ)
図2A及び図2Bは、ユーザの動きを追跡することができるヘッドマウントディスプレイ(HMD)201及びウェアラブルセンサ202の例を示す。いくつかの実施形態では、本開示のシステム及び方法は、電磁追跡、光学追跡、赤外線追跡、加速度計、磁力計、ジャイロスコープ、筋電追跡、他の追跡技術、又はこのような追跡方法の1つ以上の組み合わせを使用することができる。追跡システムは、ここに開示されているようなコンピューティングシステムの一部とすることができる。追跡ツールは、1つ以上のPCB上に存在することができ、そこでは、1人以上のユーザを監視して、オブジェクトの動きの捕捉、分析、及び/又は追跡のような1つ以上の機能を実行することができる。場合によっては、システムは、信頼性、精度、及び精度を向上させるために、複数の追跡方法を利用することができる。
電磁追跡は、3つの直交(x、y、z)コイルを備えた1つ以上のフェライトコアに交流を流し、それによって3つの直交周波数で3つの双極子場を送信することによって可能にすることができる。交流により、双極子の連続波電磁界が生成される。複数のフェライトコアを使用する場合、コア間の区別は周波数分割多重化を使用して実現することができる。追加の詳細内容は米国特許8,520,010及び10,162,177に記載されている。コアは、相互の、ユーザの周りの鉄の物体のEM信号、及び/又は地球の磁場を放出及び/又は受信して、コア、したがってセンサの位置及び向きを決定するように機能することができる。
追跡は、さらに慣性測定ユニット(IMU)によって可能とすることができる。IMUには、加速度計、磁力計、ジャイロスコープを含めることができる。加速度計は、物理空間で移動する特定のPCBの速度の変化率を測定する。磁力計は、特定の場所と方向での強度と方向によって磁場ベクトルを特徴付ける。ジャイロスコープは、角運動量の保存を利用して、特定のPCBの回転を決定する。IMUの個々のコンポーネントは、電磁センサによってキャプチャされた追跡データを補足、検証、及び改善するのに役立つ。1つの例では、ウェアラブルセンサ202は、電磁追跡及びIMU追跡の組み合わせを利用して、ユーザの動きをキャプチャ、分析、及び追跡する。
光学的追跡及び赤外線追跡は、1つ以上の捕捉装置で行うことができる。いくつかの実施形態では、システムは、電磁追跡と光学追跡の組み合わせを使用して追跡機能を実行することができる。場合によっては、ユーザがカメラを着用する。場合によっては、キャプチャデバイスは、RGBカメラ、飛行時間分析、構造化光分析、ステレオ画像分析、又は同様の技術を採用することがある。飛行時間の1つの例では、キャプチャデバイスは赤外線(IR)光を放射し、散乱及び反射されたIR光を検出する。パルスIR光を使用することにより、個々の光子の放出とキャプチャの間の飛行時間は、光子が移動した距離、したがって画像化されるオブジェクトの物理的な距離を示す。これにより、カメラが画像の奥行きを分析して、環境内のオブジェクトとその場所を特定できるようにすることができる。同様の手法で、反射光を分析して、位相シフト、強度、及び光パターンの歪み(ビットマップなど)を調べることができる。ステレオ画像分析では、ある距離だけ離れた2台以上のカメラを使用して、空間内の同様の領域を表示する。このようなステレオカメラは、特定のオブジェクトを1つ以上の角度で捕捉し、オブジェクトの深さの分析を可能にする。1つのでは、HMD201は、光学追跡を可能にする1つ以上のカメラ204を利用して、物理空間内の物体又は場所を識別して、アンカー(例えば、(0、0、0))として機能する。次に、追跡システムは、アンカーを参照してグローバルな動きを決定する。
筋電追跡は、神経インパルス(EMG)信号を感知することができる複数のセンサを使用して成し遂げることができる。センサは、バンド、リード、又は針電極で取り付けることができる。以下に説明するように、EMG信号は、少なくとも部分的にプロセッサによって実行される学習されたアルゴリズムによって、意図された動きのモデルにデコードされる。EMG活動の監視は、神経可塑性に関連する神経活動の測定に役立つ。
1つの特定の例では、電磁センサにはそれぞれ、3つの直交コイルを有する送信機(TX)によって生成された電磁場を受信するように構成された3つの直交コイルを有する受信機(RX)モジュールが含まれる。各コイルで収集された磁場データは、離散フーリエ変換(DFT)によって処理される。各モジュールに3つのコイルがある場合、モジュールが受信する信号は、送信機からセンサへの動径ベクトルと送信機からセンサへの回転行列(別名、方向余弦又は射影行列)の関数である3×3の信号行列(「Sigmat」)で表すことができる。IMUとカメラシステムを使用して、電磁追跡のエラーを修正できる。1つの例では、米国特許第4,737,794号に記載されているように、双極子場近似により、式1により位置と方向(PnO)を決定することができる。
式1 X = Nt B(r)
X ・・・ 3×3のSigmat行列(RX座標で検出)
N ・・・ 3×3の正規直交方向(TX座標において)送信機からセンサへの回転行列(IMUから受信した6つの値)
r ・・・ 3×1の位置ベクトル(TX座標において)(送信機からセンサへの動径ベクトル)
B ・・・ 3×3の行列(TX座標において)の列としての3つの磁場
歪み及び干渉は、方程式にE(r)を加えることによって補償することができる。E(r)は、理論上の双極子場の重ね合わせの位置から計算された結果であり、未知の磁場の歪み又は干渉の3×3の行列として表される。E(r)は、米国特許第9,459,124号に記載されているように、計算されたPnOの誤差を補償する誤差行列として記述することができる。
式2 X = Nt (B(r) + E(r))
E(r)は、(以下で詳細に説明するように)IMU及びカメラシステムからのデータを使用して計算することができる。各IMUには通常、加速度計、ジャイロスコープ、磁力計が含まれている。これらのコンポーネントは、米国特許第10,234,306号に記載されているように、PnO計算におけるエラー、ノイズ、及び位相のあいまいさを修正するのに役立つ。例えば、Sigmatが床の大きなワイヤーループによって生成されたほぼ均一な電磁界によって歪んでいると仮定する。歪みをモデル化するために、歪みフィールドの方向(V)と周波数あたりのゲイン(P)を決定できる。
歪みフィールド:E(r)=v・P
v ・・・ 歪みフィールドの3×1の方向(3つの周波数すべてで同じ)
P ・・・ 周波数ごとの歪みフィールドの3×1ゲイン(スカラー)
式3 X = Nt (B(r) + v・P)
位置及び向きはまた、米国特許出願第2016/0377451A1号に詳述されているように、カルマンフィルタセンサフュージョンによるIMUの加速度計及びジャイロスコープの融合から導出された重力方程式によって修正することができる。
重力方程式: N・Grx=Gtx
重力方程式の一部は、歪み場(「v」)の方向を置換することができる。この置換により、重力の周りのロールへの歪みフィールドが単純化され、未知の変数の数が減り、方程式をより簡単に解くことができる。この方程式は、N(方向)の自由度(DOF)を3つの角度から1つ(重力の周りをロールする)に減らすため、解くのが簡単となる。詳細については、米国特許第10,162,177号を参照のこと。式3の歪み場(「v」)の方向をGrxに置き換えると、式4が得られる。
式4 X = Nt B(r) + Grx・P
式4を解くために7つのパラメータを決定しなければならない。
θ ・・・ Nのロール角
r ・・・ 3D位置ベクトル
P ・・・ 歪みゲイン
Sigmatは9つの値(9>7)を有するので、一意的な解が可能である。方程式を解析的に解くことは困難であるが、反復最適化手法は、ヤコビアン(Levenberg-Marquardtアルゴリズムなど)を使用することで、より簡単に解が得られる。
式5(ソルバ1) F(θ, r, P) = ||N(θ)tB(r) + Grx・P - X||2
最初に、(Q、r)は、分析双極子解(歪みを無視する)を使用して、又は追跡によって、P=(0,0,0)を初期化する。次に、F(0、r、P)のヤコビアンが数値微分を使用して計算される。ヤコビアンは、Fを減少させるステップを計算するために使用される。最後の計算ステップは、ある程度の許容誤差が達成されるまで反復を実行することである。次に、補正されたPnOの値が、測定されたPnOと比較され、解明されていないSigmatと信頼区間の比率が決定される。式6は、3つのソルバをブレンドするために使用される。
式6 Ex = (||XPnO-XMeasured ||)/(||XMeasured ||)
EM+IMUの融合が制約を有する場合、方程式は次のようになる。
式7(ソルバ2) X = Nt B(r) + v・P
ここで、N=Nfusionである。
(電磁座標系と光学座標系の併合)
いくつかの実施形態では、電磁追跡システムは自己参照的であり、PnOは、未知のグローバル座標を有するウェアラブル送信機について定まる。自己参照追跡システムは、さまざまな方法でグローバル座標系と統合できる。1つの例では、本開示は、カメラ204を含むシステムを提供する。カメラ204は、プレーヤーの周囲の画像を記録及び分析して、アンカーポイント(例えば、(0、0、0)のポイント)を確立する。このカメラ204の動きは、このグローバル座標系のアンカーポイントに対する動きとして計算される。
本開示のシステム及び方法では、通常、自己参照的座標系からグローバル座標系へ追跡システムを変換することを可能にするように構成されたセンサ202Aを含む。そのようなセンサ202Aは、システムのカメラ204に対して固定位置を有する。この固定位置は、自己参照的座標系とグローバル座標系との間の既知の距離及び方向を提供し、米国特許第10,162,177号に記載されるように、それらの併合を可能にする。
併合されると、両方の座標系の利点が最大化され、欠点が最小化される。追跡システムを実空間に固定し、プレーヤー全体をVRに正確に配置するには、光学システムを使用するのが最適である。ただし、光学システムは視線によって制限されるため、手足の位置やその他の体の構成情報など、プレーヤーの位置の微妙な差異を決定するのには理想的ではない。一方、電磁システムは、手足の位置と体の構成を追跡するのに優れているが、通常、実際の基準と比較して位置を追跡するために固定送信機が必要となる。2つのシステムを組み合わせることにより、センサのシステム全体を最適化して、動きと正確さの両方を最適化することができる。
(プロセッサ)
本開示のシステム及び方法は、機械可読命令のようないくつかの命令を実行する1つ以上のプロセッサを使用する。指示には、EM、光学、IR、IMU、及び/又は筋電源からの追跡データの受信、保存、処理、及び送信が含まれる。追跡データは、有線又は無線の通信リンクのいずれかによってプロセッサに通信することができる。追跡データを受信すると、プロセッサは、追跡データをランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、キャッシュ、フラッシュメモリ、ハードディスク、又は他の適切なストレージコンポーネントとして永続的又は一時的に保存する命令を実行することができる。そのようなメモリ構成要素は、プロセッサと通信する別個の構成要素とすることができ、又はプロセッサに統合することができる。
プロセッサはまた、仮想空間のインスタンスを構築するための命令を実行することができる。インスタンスは外部サーバーでホストされている場合があり、ユーザがそのインスタンスにログインしていなくても持続的に変更される場合がある。あるいは、インスタンスはユーザ固有であり、インスタンスを構築するために必要なデータはローカルに保存される場合がある。そのような実施形態では、新しいインスタンスデータは、ユーザが外部ソースからローカルメモリにダウンロードする更新情報として配布することができる。いずれの実施形態においても、仮想空間のインスタンスは、仮想ボリュームの空間、仮想地形(例えば、地面、山、湖)、仮想オブジェクト、及び仮想キャラクター(例えば、ノンプレイヤーキャラクター「NPC」)を含むことができる。インスタンスは、2Dまたは3Dで構築及び/又はレンダリングできる。レンダリングにより、ユーザに一人称又は三人称の視点を提供することができる。インスタンスには、重力、磁気、質量、力、速度、加速度のような物理特性を含めることができ、これにより、仮想空間内の仮想オブジェクトは、少なくとも実空間内の実際のオブジェクトと視覚的に類似した方法で動作する。
プロセッサは、追跡データを分析及びモデル化するためのプログラムを実行することができる。例えば、プロセッサは、他の関連する妥当な数式とともに、上記の方程式に従って受信した追跡データを分析するプログラムを実行することができる。そのようなプログラムは、追跡データを3Dモデルに変換することができるグラフィックス処理ユニット(GPU)を組み込むことができる。GPUは、メッシュパペット、スケルトンリグ、頂点アニメーション、シェーダーエンジン、逆運動学(IK)エンジン、及び/又は同様のアニメーションツールを利用することができる。場合によっては、CPUはGPUがそのような計算を行うのを少なくとも部分的に支援することがある。これにより、GPUは、3Dシーンデータを投影されたレンダーバッファーに変換するタスクにより多くのリソースを割り当てることができる。GPUは、生体力学的動きで学習したアルゴリズム、追跡データのいくつかのソースを解析して段階的に検討することでソリューションに収束するカスケードアルゴリズム、逆運動学エンジン、比例アルゴリズム、及びデータ処理とアニメーション技術に関連するその他のアルゴリズムのような、1つ以上のアルゴリズムを使用して3Dモデルを改良することができる。GPUが適切な3Dモデルを構築した後、プロセッサはプログラムを実行して、3Dモデルのデータをコンピューティング環境の別のコンポーネント、又はモデルを表示できるコンピューティング環境と通信する周辺コンポーネントに送信する。いくつかの実施形態では、GPUは、バスを介して3Dモデルをビデオエンコーダ又はビデオコーデックに転送し、次に、バスは、3Dモデルを表す情報を適切なディスプレイに転送する。3Dモデルは、アバターなどの仮想空間のインスタンスに表示できる仮想エンティティを表す場合がある。仮想エンティティは、仮想空間内の仮想地形、仮想オブジェクト、及び仮想キャラクターと相互作用することができる。仮想エンティティは、ユーザの動きによって制御される。
図3は、アバターをレンダリングするためのアニメーションパイプラインの例を示す。アニメーションパイプラインは、プレーヤー303が着用するセンサ202から追跡データを収集することから始まる。この追跡データは、収集され、処理されて、プレーヤーの体の3Dモデル304を形成する。データの収集は、HMD201によって行うことができ、データは、プロセッサ、GPU、又はそれらのいくつかの組み合わせによって処理することができる。3Dモデル304は、以下でより詳細に論じられるように、仮想ボーン、及び仮想スキン又はメッシュで構成することができる。プレーヤーの最新の動きに対して適切な3Dモデル304が決定されると、モデルの表面は、プレーヤーが見たり制御したりするために、仮想現実環境においてアバター305としてアニメートされる。このパイプラインを高速に実行することは、追跡データの収集と仮想現実環境で追跡された動きを示すアバターのアニメートとの間の遅延を最小限に抑えるために重要となる可能性がある。プレーヤーの動きとアバターの動きの間に遅延があると、VRへのプレーヤーの没入感が低下する可能性がある。いくつかの実施形態では、アバターは頭なしでアニメートされる。人は通常自分の頭を見ることができないので、これは通常問題ではないかもしれない。いくつかの実施形態では、仮想現実環境は、ミラー又はミラーリングされた表面を含むことができる。そのような場合、アバターは、プレーヤーの顔のデジタルレンダリングでアニメートされることがあり、それは鏡及び鏡面に現れることがある。
いくつかの実施形態では、プロセッサは、追跡データが制限されているか、又は信頼できない場合に、位置及び向きを予測する管理された学習アルゴリズムの命令を実行することができる。アルゴリズムは、利用可能な追跡データのタイプと量に基づいて、さまざまな予測手法に重みを付けるようにトレーニングされている。このアルゴリズムは、前方及び後方に到達する逆運動学(「FABRIK」)エンジンで擬人化運動を予測し、フレームごとの分析で反復運動を識別及び複製し、以前の位置及び部分追跡データを主要なポーズライブラリで位置と照合するようにトレーニングできる。いくつかの例では、エンドエフェクタの追跡データが利用可能な場合、アルゴリズムはFABRIKソルバをより信頼できるものとして重み付けする。いくつかの例では、このアルゴリズムは、エンドエフェクタの追跡データが欠落している場合、予測又は一致の予測をより信頼できるものとしてフレーム毎に重み付けする。
このアルゴリズムは、追跡データが不足しているときに位置及び向きを予測するためにFABRIKソルバを利用することができる。FABRIKソルバは、2ボーンの逆運動学的チェーンを使用して、エンドエフェクタを新しい追跡された場所に再配置するスケルトンの動きを決定する。骨格の関節は、既知のエンドエフェクタの位置に対して解剖学的に正しい動きのみを許可するように制限することができる。これは、関節の可動性を制限することで行うことができる。並進運動は境界ボックスで制限することができ、回転運動は解剖学的に可能な最大の運動範囲に従って制限することができる。同様に、関節の自由度は6自由度以下に制限することができる。エンドエフェクタの追跡データが不足している場合は、このアルゴリズムは、FABRIKソルバのソリューションの重み付けを軽くし、他の予測方法の重み付けを重くすることができる。
学習アルゴリズムでは、追跡データをフレームごとに分析し、平滑化関数を適用することによって、位置及び向きのパターンを予測するように訓練することができる。学習アルゴリズム又は機械学習という用語は、一般に、タスクのコンピューターパフォーマンスを段階的に向上させることができる任意のシステム又は分析及び/又は統計手順を指す場合がある。機械学習には、機械学習アルゴリズムを含むことができる。機械学習アルゴリズムは、訓練アルゴリズムとすることができる。機械学習(ML)は、1つ以上の教師あり、半教師あり、又は教師なしの機械学習手法で構成することができる。例えば、MLアルゴリズムは、教師あり学習を通じてトレーニングされたトレーニング済みアルゴリズムとすることができる(例えば、さまざまなパラメータが重み又はスケーリング係数として決定される)。MLは、回帰分析、正則化、分類、次元削減、アンサンブル学習、メタ学習、相関ルール学習、クラスタ分析、異常検出、深層学習、又は超深層学習の1つ以上を具備することができる。MLには、k-means、k-meansクラスタリング、k最近傍法、学習ベクトル量子化、線形回帰、非線形回帰、最小二乗回帰、部分最小二乗回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン、リッジ回帰、主成分回帰、最小絶対収縮および選択操作、最小角度回帰、正準相関分析、因子分析、独立成分分析、線形判別分析、多次元スケーリング、非負行列因数分解、主成分分析、主座標分析、射影追跡、サモンマッピング、分散確率的隣接埋め込み、ブースティング、勾配ブースティング、ブートストラップ集約、アンサンブル平均化、決定木、条件付き決定木、ブースティングされた決定木、勾配ブースティング決定木、ランダムフォレスト、積み重ねられた一般化、ベイジアンネットワーク、ベイジアン信念ネットワーク、ナイーブベイズ、ガウスナイーブベイズ、多項ナイーブベイズ、非表示のマルコフモデル、階層型の非表示のマルコフモデル、サポートベクターマシン、エンコーダー、デコーダー、自動エンコーダー、スタック型自動エンコーダー、パーセプトロン、多層パーセプトロン、人工ニューラルネットワーク、フィードフォワードニューラルネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、長短期記憶、ディープビリーフネットワーク、ディープボルツマンマシン、ディープ畳み込みニューラルネットワーク、ディープリカレントニューラルネットワーク、または敵対的生成ネットワークが含まれるが、これらに限定されない。
1つの例では、このアルゴリズムでは、図4に示されるような反復運動を実行する人の追跡データからなる第1レベルのトレーニングデータを受信する。トレーニングデータセットは、追跡データが少なくとも部分的に欠落しているフレーム又は一連のフレームを含めるように作られている。このアルゴリズムは、欠落しているフレームに対する人の完全な位置と向きを予測することを任務としている。1つの例では、このアルゴリズムでは、欠落しているフレーム又は一連の欠落しているフレーム、すなわち隣接するフレームのいずれかの側に完全な追跡データを有するフレームを識別する。次に、このアルゴリズムでは、隣接するフレーム間のブレンドスペースをアニメートする平滑化機能を実行して、スムーズで連続的なモーションを実現する。平滑化機能は、隣接する2つのフレームの値を段階的にブレンドするため、最初の入力が徐々に2番目の入力に変換される。例えば、第1の入力が図4の位置402であり、2番目の入力が位置404であった場合、位置403が、このアルゴリズムが位置402と404の間でアニメートするブレンドスペースレンダリングの1つである可能性がある。このアルゴリズムでは、以前の追跡データをさらに分析して、反復的な位置と方向を示す追跡データのクラスタを識別し、クラスタ内の最新のフレームの属する場所を識別する。部分的な追跡データと以前のフレームとを、追跡データが完了しているクラスタと照合できる場合、このアルゴリズムではそのクラスタ内の前のフレームを単純に複製することができる。場合によっては、この平滑化機能では、欠落しているフレームのすべてではなく一部を含むクラスタを識別し、この平滑化機能ではこのクラスタを使用して、隣接するフレーム間の中間ブレンドスペース入力として機能し、これにより、通常、精度が向上する。
2番目の例では、このアルゴリズムでは、第1レベルのトレーニングを受け、ここで、このアルゴリズムでは、反復運動のための完全な一連の追跡データの提供を受け、スムーズで継続的な運動動作を備えたギャップのない完成された追跡データを生成する平滑化機能をデータ内のギャップに適用することを任務とする。この例におけるトレーニングの2番目のレベルでは、このアルゴリズムに、追跡データの少なくとも一部で最後のフレームが欠落している一連の追跡データが提供される。次に、アルゴリズムは、ほぼライブ時間で予測するタスクを実行し、(例えば、1/60秒よりも高速で)一連の追跡データの動きのパターンを識別することにより、最後のフレームの完全な追跡データを予測する。ここで、このアルゴリズムでは、繰り返しの動きを伴うフレームのクラスタを識別し、最後のフレームにこの繰り返しの動きが継続することを想定する。
図4は、一連の追跡データ内でアルゴリズムが識別したフレームのクラスタを示している。一連の追跡データがこのクラスタと同様の動きを何度も示しているため、このアルゴリズムではこのクラスタを識別した。このアルゴリズムでは、位置401から402、403、404、405、404、403、402、401への動きの一連の追跡データのパターンを識別している。アルゴリズムがクラスタを識別した後、次に、クラスタのパターンに準拠していると想定して、1つ以上の欠落フレームを予測できる。例えば、このアルゴリズムに隣接フレーム402があり、次に2つの欠落フレームがあり、次に別の隣接フレーム405があると仮定する。このアルゴリズムでは、欠落フレームをアニメートする適切なフレームが位置403及び404に類似していると予測できる。いくつかの例では、このアルゴリズムではこのクラスタを識別し、ほぼ実時間で予測することのできる最終的な最新の欠落フレームを所有する。このアルゴリズムでは、最新の2つのフレームを位置402及び403に類似しているものとして調べ、その順序で、次のフレームがクラスタから位置404のように見えることを予測し、その位置をアニメートして、追跡データが一時的に不足していたこのフレームにスムーズなアニメーションを提供する。図4は、クラスタ内のいくつかの位置の例示にすぎないことを理解すべきである。図4の往復運動の各繰り返しに10秒かかり、追跡データが毎秒60回収集されると仮定すると、図4によって表されるクラスタには、平滑化機能を行うときにこのアルゴリズムで参照するために、600フレームが実際に含まれる。
いくつかの例では、このアルゴリズムでは、追跡データが1つ以上の最新のフレームにわたって欠けている一連のフレームから構成される2番目のレベルのトレーニングデータを備えており、このアルゴリズムは、これらの最新のフレームを予測することを目的とする。例えば、このアルゴリズムには、以前にレンダリングされた体の位置、一連の過去のすべての体の位置、及び現在の体の位置の限定された追跡データの情報が提供される。このアルゴリズムでは、利用可能な追跡データのパターンを識別して、繰り返されるフレームのクラスタ、例えばクラスタ関数を見つけることができる。このアルゴリズムでは、クラスタ内のどこで、最新のフレームが追跡データとクラスタの1つ以上のフレームとの間の適合を改善したかを識別することができる。次に、このアルゴリズムでは、クラスタで識別されたものと同じパターンに従って、最新のフレームをレンダリングする。クラスタ関数の予測は、繰り返しの動きでエクササイズを実行しているプレーヤーを追跡する場合に特に効果的である。追跡データが一時的に不足している場合、このアルゴリズムでは、単に、動きのパターンに継続的に順守することを想定し、プレーヤーの動きのパターンと連続する次の動きのフレームをレンダリングすることができる。
3番目のレベルのトレーニングの1つの例では、アルゴリズムは、いくつかの関節を横切って限定されたトレーニングデータのセットを備えているので、関節を超えた動き情報は、隣接する身体部分の動きのみに基づいて予測することができる。言い換えると、追跡データにはエンドエフェクタがなく、位置と方向はクラスタ関数又は主要なポーズの一致に基づいて予測できる。例えば、指の追跡データが完全に利用できないか、一時的に不足していることがある。指の位置は、主要なポーズのライブラリ内の一致点に従ってレンダリングできる。一致点は、位置、方位、方向性、及び手、掌部、手首、又は腕の動きのみの速度に基づく。
訓練の3番目のレベルのいくつかの例では、学習アルゴリズムは、主要なポーズのライブラリを参照することによって、位置及び向きを予測するように訓練することができる。主要なポーズライブラリには、エクササイズを実行するときにプレーヤーが見つけた一般的な位置と方向の追跡データを含めることができる。1つの例では、利用可能な追跡データが主要なポーズライブラリと比較される。利用可能な追跡データには、完全な追跡データの過去のフレーム及び部分的な追跡データの1つ以上の最近のフレームを含めることができる。この利用可能な追跡データは、個々の主要なポーズと比較され、2つ以上の主要なポーズ同士のスペースをブレンドして、強い一致点を検索する。主要なポーズをレンダリングするとがたつき又は空間移動が発生する場合、このアルゴリズムでは部分追跡データと特定の主要なポーズとの一致を拒否することができる。例えば、時間0での追跡データが完了し、時間1で腕の位置が不足していた場合、このアルゴリズムでは部分データを主要なポーズと比較することができる。次に、アルゴリズムは、主要なポーズの腕の位置が時間0の腕の位置に近い位置及び方向にない場合、時間1の部分データに完全に一致する主要なポーズを拒否することができる。スムーズで連続的なアニメーションを保証するために、フレームからフレームへ少しの量の動きのみが許される(通常、1秒あたり60フレームがアニメートされる)。このアルゴリズムではさらに、クラスタ関数を利用して、パターンを識別し、クラスタのパターンと同期して主要なポーズを照合し、それに応じて欠落データをレンダリングすることができる。主要なポーズでの一致の強さを評価するときに、欠落データから離れた関節や体の部分よりも、欠落データに近い関節に重みを付ける重み関数を使用することで、一致の強さを向上させることができる。場合によっては、個々の主要なポーズには、関連する方向性、速度ベクトル変換関数、又はその両方がある。例えば、抱擁の位置を示す追跡データは、抱擁に向かって前進するときに指をカールさせ、抱擁から後退するときに指を広げてしまうことがある。このように、単一の主要なポーズは、方向性に応じて2つ以上の関連する手の位置を持つことができる。さらに、指が丸まったり伸びたりする程度は、腕が動く速度に比例することがある。ここで説明するアルゴリズムには、通常、大量のトレーニングデータセットが付属している。このアルゴリズムが各トレーニングデータセットの出力した後、出力は正しい出力と比較され、アルゴリズムのノードは、正しい出力又は誤った出力への寄与に応じて再重み付けがなされる。
いくつかの実施形態では、プロセッサは、利用可能なデータを解析し、解析されたデータを段階的に分析することによって、ソリューションへと収束するカスケードアルゴリズムの命令を実行することができる。例えば、カスケードアルゴリズムは、EM追跡データ、カメラ追跡データ、IMU追跡データ、比例パラメータ、及び制約パラメータを利用することができる。一例では、収束は、最後の3Dモデルを評価し、指定された時間枠内の各関節を横切る最大の動きの制約パラメータを定義することによって、収束させることができる。次に、アルゴリズムはEM追跡データを検索して、その制約を満たすソリューションを探す。このソリューションは、利用可能なIMU追跡データと比較され、それに応じて変更される。次に、このアルゴリズムではそのソリューションを取得し、適切な角度、長さ、及びさまざまな身体部分同士の距離を定義する比例パラメータに従ってそれを改良する。細分化は、最小二乗法、標準偏差、平均、又は中央値の方法を使用して行うことができ、残りのデータから大幅に逸脱しているデータ(外れ値など)を無視することができる。利用可能ならば、このアルゴリズムではカメラトラッキングを参照して、ソリューションがカメラによってキャプチャされたユーザの動きと体の位置を正確に表していることを確認する。このアルゴリズムでは、これらのステップの1つ以上を繰り返して、許容可能なソリューションに収束させることができ、このアルゴリズムでは、ステップが実行される順序を一時的、永続的、又は継続的に変更して、収束にすばやく到達させることができる。アルゴリズムが正しいソリューションが識別されたという許容可能な程度の信頼度に到達したときに、収束が達成される。正確さが絶対的に重要ではないアバターの一部の部分では、座ったときの脚の位置など、この信頼度の水準を低くすることができる。他の部分では、手の位置や向きなど、この信頼度の水準が高くすることができる。優先度の高い身体部分のアニメーションは、アニメーションが目に見える待ち時間を示さないようにするために、処理の優先順位を受け取ることができる。アニメーションの優先順位付けは、米国特許第8,520,010号に記載されているように、ソフトウェア、ハードウェア、又は両方の組み合わせでアニメーションパイプラインを合理化することによって行うことができる。
(視覚ディスプレイ)
いくつかの実施形態では、コンピューティング環境では、仮想空間のインスタンスであるユーザの3Dモデルを生成し、次に、表示のためにその情報を通信する。オーディオ及び視覚ディスプレイは、一般に、VRシステム、テレビ、高解像度テレビ、モニターなどのように、ヘッドマウントディスプレイ(HMD)201によってコンピューティング環境と通信可能に接続することができる。オーディオ及び視覚ディスプレイは、ブラウン管(CRT)ディスプレイ、発光ダイオードディスプレイ(LED)、プラズマディスプレイパネル(PDP)、有機発光ダイオード(OLED)ディスプレイ、液晶ディスプレイ(LCD)、エレクトロルミネセントディスプレイ(ELD)、及びその他の視覚化ハードウェアで視覚化できる。いくつかの実施形態では、物理空間におけるユーザの動きは、3Dモデル304にマッピングされ、そのモデルの少なくとも一部は、ユーザが表示及び制御できる(アバター305など)仮想現実でレンダリングされる。いくつかの実施形態では、仮想3Dモデルの表示は、義肢などの物理的3Dモデル上に複製される。
HMDの例には、Oculus Rift、Oculus Go、Oculus Quest、HTC Vive、Valve Index、PlayStation VR、Razer OSVR、Fove VR、StarBreeze StarVR、Pimax、VRgnineers VRHero、VRgnineers XTAL、Deepoon VR、Dell Visor、Asus HC、Acer WMR、HP WMR、HP Reverb、Lenovo Explorer、Samsung Odyssey Samsung Gear VR、Varjo VR、LG Steam VR、GameFace Labs、HELMET VISION、Avegan Glyph、Microsoft Hololens、Pico VR Goblin、Pico VR Neo、Qualcomm Snapdragon、Alcatel Vision、Woxter Neo、Lenovo Mirage、GoogleDaydreamなどが含まれるがこれらに限定されない。
(システム例)
一般に、コンピューティング環境は、センサ、プロセッサ、GPU、及び他の周辺コンピュータコンポーネントを備えたPCBを利用して、追跡データを収集し、追跡された動きをアバターにマッピングし、ユーザのためにアバターの少なくとも一部を表示し、仮想現実環境に表示する。
より具体的な実施形態では、本開示のシステム及び方法は、複数の独立したPCB、ヘッドマウントディスプレイ(HMD)201、及びカメラ204で構成される追跡システムを利用して、ユーザの動きを正確かつ正確に無線で追跡する。各PCBは、通常、EM受信機及びEMエミッタ/送信機で構成することができる電磁(EM)センサ202をサポートする。HMD201は、通常、カメラ204、カメラ204から一定の距離にあるEMセンサ202A、及び仮想現実を表示するための視覚的ディスプレイを収容する。HMD201はまた、ユーザの動きを追跡し、ユーザを表すアバターを生成し、仮想現実環境を生成するように構成されたプロセッサ及びグラフィックス処理ユニット(GPU)を含むことによって、追跡システムのホストとして機能することができる。全体で11以上の電磁センサが体の位置及び方向を追跡することができる。
図3は、ユーザ303の動きを捕捉、分析、及び追跡するように構成された様々なセンサを取り付けたユーザ303の例を示している。1つの例では、ユーザ303はHMD201を装着し、布ストラップ205は、EM受信機、EMエミッタ、又はその両方を含む多数のセンサ202、集合的に「モジュール」、を手首、肘、腰、及び背中にまとめて取り付けるために使用される。いくつかの実施形態では、システムはまた、図5に示されるように、膝及び足首に取り付けたセンサを含む。システムは、例えば、いくつかのモジュールを含むことができ、モジュールの数は、10,000未満、100未満、50未満、20未満、10未満などとすることができる。本開示のシステム及び方法には、より多くのセンサを含めることができる。例えば、システムには、10、20、50、100、200、500、1000、10000以上のセンサを含めることができる。
(オーケストレーション)
いくつかの実施形態では、HMD201は、様々なモジュールの動作を調整するホストとして機能することができ、そして様々なモジュール間のパイプ役として機能することができる。1つの例では、ホストはラジオ周波数(RF)を介して上流側情報を他のモジュールに送信する。上流側情報には、周波数シフト、LEDカラーシフト、自動同期ガイダンス、及びその他のさまざまなコマンドを含めることができる。この例では、さまざまなモジュールが、同期ステータスや計算されたPnOなどの下流側情報をRF経由でホストに送信する。
(自動同期プロトコル)
いくつかの実施形態では、ウェアラブルセンサの各々は、最初は割り当てられていない。いくつかの実施形態では、起動及び配置時に、センサは自動同期を開始することができる。自動ボディポジショニングにより、シームレスでエラーのないセットアップが可能になり、手動入力は不要である。センサが体に取り付けられると、システムは自動的に各センサが体のどこに配置されているかを判断し、そのように割り当てる。この自動同期機能は、システムの起動プロセスを簡素化及び迅速化することにより、使いやすさを向上させる。1つの例では、体に配置されたセンサ202は、ユーザの背中にエミッタが装着されたセンサ202Bに関連するPnOデータを提供する。次に、PnOデータがホストによって分析され、さまざまなセンサの位置が決定される。2つの変数を使用して、すべてのセンサの位置、高さ、及び領域を決定できる(例:右側又は左側)。図3のユーザ303の例では、図3に示されるように、最も高い位置にあるセンサは、HMD201上のセンサ202Aとして容易に識別される。背面に装着されたエミッタセンサ202Bに最も近い高さにあるセンサ202は、それぞれ、左及び右肘として割り当てられる。下に移動すると、3つのセンサ202がほぼ腰の高さに配置される。この高さの真ん中のセンサがウエストセンサとして割り当てられ、左のセンサが左手首として割り当てられ、右のセンサが右手首として割り当てられる。膝と足首のセンサは、それらの領域(左又は右)とそれらの高さによって同様に識別できる。上記の例では可変の高さと領域が使用されているが、これは自動同期を実現する1つの方法を単純化したものとして理解する必要がある。例えば、各センサで受信した磁場ベクトルは、高さと領域を決定する前に処理する必要がある。あるいは、磁場ベクトルを処理して、エミッタからの絶対距離を決定することもできる。さらに、プレーヤーが腕を動かすと、センサ内の加速度計を手首と肘のセンサを識別するのに役立たせることができる。腕の動きの間、通常、手首はすべてのセンサの中で最大の加速度を持ち、肘は手首よりも低く、他のセンサよりも高い加速度を持つことができる。残りのセンサは、高さだけで決定できる。本開示のシステムは、相対的なセンサ位置を決定するために、他のこのような処理方法又はこのような方法の組み合わせを使用することができる。
(ボディトラッキングにおける限られた動きのデータ)
最先端の追跡技術を採用する場合でさえ、所定の身体部分の追跡データは、時々一時的に不十分である場合がある。VRシステムの少なくとも1つの問題は、ユーザ又はオブジェクトの体の一部の追跡データが永続的又は一時的に利用できない場合にアバターをアニメートするということが課題となる場合がある。例えば、限られた数のセンサが、ユーザ又はオブジェクトの体に配置されることがあり、アバターは、追跡されていない身体部分を含むようにアニメートされることがある。例えば、前腕は追跡できるが、手、手首、又は指の動きは追跡できないことがある。例えば、身体の一部を追跡しても、センサが一時的にデータを送信していない場合がある(例えば、受信機への視線が遮られている場合がある)。
図5は、潜在的なセンサ202配置オプションを示している。第1の例501では、センサ202は、頭部506、背部507、腰508、肘509、手首510、膝511、及び足首512に取り付けられ、合計11個のセンサがプレーヤーの動きを追跡する。この例501のセンサ配置は、全身の動きを正確に追跡するために最適である。他の実施形態では、これらのセンサのすべてではないがいくつかがプレーヤーに取り付けられている。第2の例502では、センサ202は、合計10個のセンサが、頭506、背部507、肘509、手首510、膝511、及び足首512に取り付けられている。第3の例503では、センサ202は、合計7つのセンサが、頭506、背部507、腰508、手首510、及び膝511に取り付けられている。この例503のセンサ配置では、追跡された身体部分の動きに基づいて予測及びアニメートされた、追跡されていない肘及び足の動きを伴うほぼ全身の追跡を可能にする。第4の例504では、センサ202は、合計7つセンサが、頭506、背部507、腰508、肘509、及び手首510に取り付けられている。この設定により、上半身の追跡が改善される可能性があり、座っているときに実行される運動を追跡するのに役立つ。第5の例505では、センサ202は、合計4つのセンサが、頭506、腰508、及び手首510に取り付けられている。この設定では、腕と脊椎の動きをうまく追跡できる。通常、センサは、腕の動きが必要な運動の場合は少なくとも手首に、傾ける必要のある運動の場合は腰に、足の動きを必要とする運動の場合は足首に取り付けられる。前述の実施形態のいずれかにおいて、プレーヤーに取り付けられたカメラは、追跡を支援することができる。
これらの実施形態のそれぞれにおいて、いくつかの身体部分の追跡情報は、完全に又は一時的に利用できない場合がある。例えば、指を直接追跡できない場合、カメラの追跡における視線の問題、距離の問題、計算上の制限が発生する場合がある。肘と脚の位置が追跡されない場合があり、カメラの追跡が視線又は距離の問題に煩わされる可能性がある。足とつま先の位置は追跡されず、靴はカメラによる追跡をできなくするかもしれない。本質的に、これらの追跡システムは、アバター全体の位置と動きを決定するための限られたデータを提供するのみである。
本開示のシステム及び方法は、追跡が完全に利用できない身体部分、追跡が一時的に欠けている身体部分のアニメーションを生成することによって、又は単に追跡ベースのアニメーションを改良するために、追跡技術における少なくともいくつかの情報の欠落部を埋める。少なくとも1つの目的は、ユーザの空間への没入感を最大限に高めるために、動きデータが限られている場合でも、正確で生き生きとした動きをアバター全体に提供することである。
(手と指のアニメーションをサポートするための限られたデータ)
いくつかの実施形態では、本開示のシステム及び方法では、プレーヤーの手首又は掌部から又はその近くで追跡データを収集し、補完的な指の動きを生成し、これらを表示する。リラックスした指は、人が手首を動かすと動く傾向がある。手首が曲がったり、回外したり、回内したりすると、指は自動的に曲がったり、屈曲したり、広がったりする。この観察から、プレーヤーの指の方向は、プレーヤーの手、手首、又は掌部の方向に基づいて予測することができる。これは、エンドエフェクタなしで関節を超えるアニメーションソリューションの例です(つまり、関節の一方の側の追跡データを使用して、関節の他方の側の動きを決定する)。
図6A~図6Eは、手、掌部、又は手首の動きのみに基づいてレンダリングすることができる指の位置のアニメーションの様々な例を示している。図6Aは、親指が上を向いており、指が手のひらに向かって少し湾曲して突き出ている、以下「中立」位置にある手、を示している。この基準フレームから、「イン」は手のひらを前腕に向けて曲げる手首を指し(図6B)、「アウト」は手の甲を前腕に向けて曲げる手首を指し(図6C)、「上」は手首が親指を前腕に向かって曲げることを指し(図6D)、「下」は手首が小指を前腕に向かって曲げることを指す(図6E)。
プレーヤーの手首の動きに合わせて追跡されるとき、アバターの手は、図6Bに示されるように、手のひらに向かって湾曲することがある。別の実施形態では、プレーヤーの手首の動きに合わせて追跡されると、アバターの手は、小指が最初にもっとも大きき湾曲し、続いて、薬指、中指、及び人差し指が順番に湾曲し、ここで各指は前の指よりもわずかに少ない程度の湾曲となる。図6Cに示すように、プレーヤーの手首が外に反るのに合わせて追跡されると、アバターの手が真っ直ぐになり、指がわずかに後方に曲がり、一部の指が比較的均等に外側に広がることがある。図6Dに示すように、プレーヤーの手首が上に動くのに合わせてに追跡されると、アバターの親指が前腕に向かって伸び、指がわずかに広がり、指が手のひらに向かって緩やかに曲がり、小指が曲がることがある。図6Eに示すように、プレーヤーの手首が下に動くのに合わせて追跡されると、アバターの小指が前腕に向かって伸び、指が広がり、指が真っ直ぐになり、指が後方に曲がることがある。
(ひじ、ひざ、足、つま先の追跡に関する限られたデータ)
所定の場合において、プレーヤーの体の一部の追跡データは、恒久的又は一時的に制限されることがある。追跡システムがプレーヤーの肘を追跡しない場合、又は追跡システムがプレーヤーの肘を追跡しようとして、少なくとも一時的に、正確な追跡データを提供できない場合がある。本開示ステップのシステム及び方法は、肘の追跡データが存在しないか不正確である場合にも介入する。手及び/又は頭のような隣接する身体部分からの追跡データを、肘の可能性のある位置を決定するために使用される。いくつかの実施形態では、逆運動学エンジンは、肘の位置を決定するためのエンドエフェクタとして手の位置を利用する。代替の実施形態では、頭と手の位置は、対応する肘の可能な位置を物理的に制約する。通常、肘は頭と手の間にある。肘の位置は、追跡された手の前腕の長さの範囲内に制限され、これを使用して、可能なソリューションの領域を作成できる。肘の位置も頭に対して拘束され、肘は生体力学的には、頭に対して一定の範囲の位置に制限されている。この範囲の位置は、事前に決定された可能なソリューションの球面と比較され、重なり合う領域が可能なソリューションとなる。これらの可能なソリューションは、従前のソリューション、つまり時間の経過に伴う追跡と比較され、以前の動きのデータに基づいて関節の適切な角度を特定するのに役立つ。いくつかの実施形態では、利用可能な追跡データは、上記のように、生体力学により訓練されたニューラルネットワークによって処理される。次に、システムは予想される肘の位置を生成する。矛盾する情報(肘の位置に関する追跡データなど)がない場合、肘は予想される場所でアニメートされる。競合する位置情報がある場合は、システムは、大幅に異なる場所を提案する競合を無視することができ、2つの位置が空間的に近い場合、システムは予想される場所と競合するデータの間で正規化することができる。このような技術は、指の位置を決定するためにも使用できる。
追跡システムには、プレーヤーの膝及び足からの正確な追跡データを永続的又は一時的に欠いていることがある。いくつかの実施形態では、本開示のシステム及び方法では、頭、手、腰、及び/又は脚からの追跡データを参照して、プレーヤーの膝及び足の動きを予測する。このシステムでは、膝と足の位置を決定するために肘の位置を決定するのと同じ技術を適用する。例えば、ウエスト追跡データを使用して、膝と足の可能な位置の範囲を定めることができる。さらに、カメラとIMUは、腰の地面からの距離を示す場合がある。この情報をユーザの脚の長さと組み合わせることで、システムは膝と足の可能な位置の範囲をさらに制限することができる。
1つのアプリケーションでは、ユーザの身長及び腰センサの地面からの距離は、ユーザが着席している可能性が高いことを示している。あるいは、ユーザは着席していると推定されるゲームをプレイしている。いずれの場合も、システムは少なくともウエストセンサを使用して、膝と足の可能性のある位置を決定する。例えば、ニュートラルな着座姿勢では、膝と足は約1フィート離れており、垂直に向けられていると推定することができる。腰の前方への移動が追跡されると、膝がアニメートされて広がり、足の裏がアニメートされて外側の端が上昇することがある。あるいは、膝が狭くなり、足が内側の端で上がることがある。どちらの変化が生じるかは、設定及び/又は手の追跡データによって異なる。例えば、手が、体の正中線又はその近くで腰の下に伸ばされているのが追跡された場合は、膝を広げるアニメーションとなる可能性がある。手が体のサイドライン近くの腰の下に伸ばされているのが追跡されている間は、膝を狭めるアニメーションとなる可能性がある。さらなる実施形態では、腰が右に傾いているか、又は左に傾いていることを示す追跡データにより、膝が右及び左に傾いているようにアニメートされる可能性がある(例えば、胴体の傾きは膝と足で模倣されます)。このようなアニメーションは、脚の画像データを時々キャプチャするカメラ追跡データにより検証することができる。
いくつかの実施形態では、本開示のシステム及び方法では、アバターのつま先の動きをアニメートする。つま先用の光学的追跡及びウェアラブル追跡デバイスは、ほとんど実用的でないか、効果がない。つま先の動きをアニメートするための最も実用的なアプローチは、足首、膝、腰、及び/又は腰のような隣接する関節を追跡することであり、この追跡データから、最も可能性の高いつま先の動きを予測する。指のように、足が足首で曲がったりねじれたりすると、つま先が予測可能な方法で動く。いくつかの実施形態では、本開示のシステム及び方法では、これらの他の関節での動きを補完するつま先のアニメーションを提供する。例えば、かかとをつけたまま、ユーザが足の指球を上げていることを示す追跡データにより、つま先を伸ばす及び/又は広げるアニメーションを生成することができる。足首の回転を示す追跡データにより、アニメーションがその回転と同じ方向に動くことができる。ユーザがつま先で立っていることを示す追跡データにより、地面につけるためにつま先を動かしているアニメーションを生成することができる。
(切断された手足の追跡をサポートするデータ)
図7は、いくつかの実施形態による、1つ以上の手足が欠落しているユーザ700のための全身アバター706の生成を示している。切断された手足701、702の周りの身体部分は、動きに対する追跡を行うことができる。次に、この動き情報を使用して、手足が欠落しているアバター703を生成することができ、それにより、「幻肢」は、プレーヤーの追跡された動きに対して補完的な動きを示す。最も可能性の高い動きは、上記のように、生体力学で訓練された学習アルゴリズムによって随意的に決定される。このアルゴリズムは、利用可能な追跡データに基づいて、最も可能性の高い動きを決定する。随意的に、筋電追跡が採用される。筋電追跡は、切断端(例えば、704、705)又はその近くでEMG信号を追跡及び記録して、意図している動きを判断する。次に、最も可能性の高い動きを判断する際に、意図している動きを考慮する。ただし、このようなアプローチには、広範な準備とセットアップが必要である。次に、最も可能性の高い動きをアバターにレンダリングする、物理的な義肢に伝達して、義肢の動きに影響を与える。
本開示のシステム及び方法は、ユーザが義肢を制御するのを支援するために、追跡データの代替的形態と併せて使用することができる。本質的に、ユーザの切断端の動きを追跡し、そこで捕捉した動きデータを使用して、予想される動きを確立したり、可能な動きの範囲を特定の小範囲に制限したりする。この情報は、義肢が実行する動きを判断するために使用される。
本開示のシステム及び方法では、プレーヤーに、彼らが失った手足を再び持っているような貴重な視覚刺激が提供される。プレーヤーの追跡された動きにより、手足が制御されているかのように手足が動く。手足は、ゲーム内のオブジェクトと相互作用できることがある。視覚刺激、コントロールの外観、及び双方向性の組み合わせを、プレーヤーが手足を取り戻したという印象を与えるのに役立たせる。これは、幻肢痛を経験している人に特に役立つ。これらの感覚の組み合わせは、手足の欠損が痛みを感じていないこと、積極的に傷つけられていないこと、欠損した手や足がリラックスして常に緊張していないことをプレーヤーが認識するのに役立ち(一部の切断者は、欠けた手が常にきつく握りしめているという感覚を持つ)、厄介な問題に陥るのを防止することができる。
切断された手足を追加することに加えて、本開示のシステム及び方法は、他の余分な手足を追加するために使用することができる。例えば、プレーヤーは、片方の肩の動きに基づいて、アバターの片方の肩に取り付けられているようにアニメートされた2本の腕を制御できます。同様に、追跡された1つの膝の動きに基づいて、プレーヤーはアバターの膝に取り付けられているようにアニメートされた2つの付属肢を制御できます。追跡されたプレーヤーの手足は、特定の手足の動きを決定し、練習を通じて、プレーヤーは特定の手足を制御し、体の他の部分と同期して動かす方法を学ぶことができる。
(プレーヤーの表現を実時間でアニメートする)
本開示のシステム及び方法では、実時間でのユーザの動きのゲーム内アバターへの改善されたマッピングを提供することができ、それにより、ユーザは、自分の体を動かすことによってアバターを制御する。通常のゲームでは、さまざまなボタンを備えたコントローラを使用して、ゲーム内のアバターを制御する。プレーヤーの入力が限定されているため、可能な動きが制限されているので、可能なすべての動きを事前にアニメートし、関連するボタンが押されたときにそのような事前に記録されたアニメーションを表示するのが実用的である。ユーザの体の動きによって制御されるアニメーションは、より複雑である。
典型的なVRゲームでは、ユーザの手は、位置、場合によっては向きが追跡される。これには、ゲームが感知できないフレームレート(つまり、毎秒60フレーム以上)で追跡データを捕捉し、最新のフレームを1つ以上の前のフレームと比較して、フレーム間で動きがあるかどうかを判断し、60分の1秒未満以前の時点におけるユーザの位置を表すアバターのフレームをレンダリングし、続くフレームをレンダリングすることで滑らかな動きの外観が作成される。通常、手は位置と向きが追跡され、手の追跡データはエンドエフェクタとして使用され、逆運動学で前腕、上腕のような、取り付けられた身体部分の適切な位置を決定できるようにする。手の位置のアニメーションは、通常、当人のVRゲームに最低限必要なものであるが、手の位置自体では、第三者のVRゲームをプレイするプレーヤーに十分な没入感を提供することはできない。一般に、アバターがユーザにマッピングされればされるほど、没入型体験が得られる。
没入感は、アバターへのユーザの動きの忠実なマッピングを必要とする。ユーザは自分の体を動かすことでアバターを制御するため、アバターはユーザが実行する可能性のあるすべての動きを模倣することができる。考えられるすべての位置に対して事前に記録された動きを持つことは、非現実的であり不可能である。代わりに、アニメーションはツールのセットからレンダリングすることができ、その使用によりオンデマンドレンダリングが可能になる。いくつかの実施形態では、本開示のシステム及び方法では、主要なポーズと呼ばれる多数の事前に記録された3Dモデルを利用する。主要なポーズは通常、複数の頂点によって定義されたアバターのポリゴンレンダリングである。所定の時点でのユーザの位置は、頂点アニメーションなどの、追跡されたユーザの位置への近接度に比例して最も近い主要なポーズをブレンドすることによってレンダリングされる。いくつかの実施形態では、本開示のシステム及び方法は、スケルトンリグを利用し、それにより、スケルトンリグの骨は、レンダリング処理において操作されて、アバターをユーザ自身の位置と同様の位置に配置する。代替の実施形態では、頂点と骨格アニメーションの組み合わせが、アバターをレンダリングするために適用される。
(アバターの構造)
本開示のシステム及び方法では、3Dモデリングを利用して、アバターと呼ばれる仮想エンティティを生成することができる。アバターは、仮想の骨、仮想の皮膚又はメッシュ、及び仮想の衣服により構成することができる。
1つの例では、アバターは仮想の骨を含み、手足及び他の身体部分の形成を容易にする内部解剖学的構造を具備する。これらの仮想の骨の骨格階層は、有向非巡回グラフ(DAG)構造を形成することができる。骨は、複数の子があるが親は1つだけの、ツリー構造を形成する。2つの骨は、共通の親を共有することにより、相互に相対的に移動できる。
仮想の皮膚は、アバターの外面表現として仮想骨を取り囲むことができる。仮想の皮膚は、頂点のセットとしてモデル化できる。頂点には、1つ又は複数の点群、三角形メッシュ、ポリゴンメッシュ、サブディビジョンサーフェス、及び低解像度ケージを含めることができる。いくつかの実施形態では、アバターの表面は、頂点のセットによって定義されるポリゴンメッシュによって表され、それによって、各ポリゴンは、少なくとも3つの頂点を接続することによって構築される。
ポリゴンメッシュの個々の頂点は、位置情報、方向情報、重量情報、その他の情報を含むことができる。頂点は、デカルト座標系でのベクトルとして定義でき、これにより、各頂点は、デカルト空間で対応する(x、y、z)位置を持つ。代替的実施形態では、仮想の骨の変換は、四元数空間内のベクトルとして定義することができ、それにより、各骨は、四元数空間内に対応する(1、i、k、j)位置を有する。骨の変換の回転のクォータニオン表現は、追跡対象の自由度を一時的に低下させるジンバルロックをうまく回避する。ジンバルロックは追跡に関連しているため、アニメーションエラーを生じさせる。
骨格構造を有するアバターメッシュ頂点の動きは、線形ブレンドスキニングアルゴリズムによって制御することができる。各頂点が特定のボーンに関連付けられている量は、正規化されたウェイト値によって制御され、複数のボーンに分散できる。これについては、以下のスケルタルアニメーションのセクションで詳しく説明する。
アバターの表面は、頂点アニメーション、骨格変形、又は両方の組み合わせのいずれかによる動きでアニメートされる。アニメーション技術には、複数のドライバを同時に組み合わせてアバターの動きをシームレスかつ継続的に解決できるブレンドスペースの利用が含まれる。ブレンドスペースの使用例は、アバターの前後及び左右の動きに基づいて足のアニメーションを制御する機銃掃射モデルである。別の例は、手首又は掌部の位置(イン、アウト、アップ、ダウン)が異なる指の位置を表す4つの手の形状である。どちらの例でも、各形状又はアニメーションポーズは、ドライバが現在アクティブである度合い、つまり、アバターがワールドスペースで移動した量、又は現在追跡されている手首の位置に応じてブレンドされる。モーフターゲットの形状は、影響を受ける頂点のオフセットとして保存され、骨格の変形とブレンドして組み合わせることで、より説得力のある変形を作成できる。モーフターゲットアニメーションの例は、前腕の動きに応じた上腕二頭筋の膨らみである。主要なポーズ補間は、ポーズからポーズへと順番にブレンドされるアバターの骨格の動きによりなされ、ポーズは、ボーントランスフォームにキーフレーム値を設定するアニメータによって定義される。
(特殊メッシュ)
いくつかの動きのアニメーションを可能にするために、特別なメッシュを実装することができる。動きのアニメーションが追跡データに間接的に関連している場合(例:補完的動き)、関連する3Dモデルは、3Dモデルの残りの部分とは別のメッシュトポロジで構成することができる。例として、3Dモデルの手は、3Dモデルの残りの部分とは別のトポロジで構成することができる。動きのアニメーションを実現するために、頂点アニメーション、骨格アニメーション、又はそのような手法の組み合わせに従って手が変更される。
(骨格アニメーション)
図8及び図9は、骨格に合わせたメッシュで構成された3Dモデルを示している。これらの図は、メッシュ801をフレームワークとして示し、スケルトンを、X、Y、及びZ軸でラベル付けされたピボット点802の階層として示し、それらの間の線803は、骨の親子関係を示す。あるいは、これらのピボット点802は、四元数座標に対応する、(1、i、k、j)軸ラベルでラベル付けされている。各軸は、数学的ベクトルとして特徴付けることができる。親子関係により、ボーンは親ボーンのモーションを継承できる。仮想骨格の骨は、典型的な人体の解剖学的構造に見られる関節を正確に模倣している場合とそうでない場合がある。
骨格の各骨は、骨に関連するすべての頂点に影響を与える変形を形成する。各ボーンが各頂点に与える影響の量は、重み付けシステムによって制御される。1つのスケルタルアニメーションアプローチでは、指の関節運動が逆運動学(指先の位置がエンドエフェクタとして機能する)に従って実時間で慎重に実行され、ゲーム内のアバターの直感的な屈曲と現実的な可動域をアニメートする。頂点アニメーションアプローチの場合、3Dモデルのスケルトンは、関節(又はピボットポイント)全体を手動で操作され、3Dモデルの特定のポーズを形成する。これらのポーズは、元の3Dモデルの変形であるため、変形と呼ばれることもある。これらの変形は、頂点アニメーションアプローチの主要なポーズとして用いるため、元のモデルからのオフセット又は差分として保存される。
(頂点アニメーション)
頂点アニメーションアプローチでは、動きアニメーションは、モーフターゲット同士の補間として実行することができる。モーフターゲットは、アニメートされた頂点の順序とトポロジが維持された元のポリゴンメッシュのコピーによって作成された新しい形状であり、頂点を移動して新しい好ましい形状を作成する。次に、モーフターゲットは、元の位置からその頂点の新しいターゲット位置まで、頂点ごとに1つずつ、3Dオフセットのセットとして保存される。アニメートされるモデルで作成されたすべての変形は、さまざまなトリガーメカニズム全体で主要なポーズ又はモーフターゲットとして存在する。手のアニメーションの場合、動きはニュートラル形状と1つ以上のターゲット形状の間の補間としてアニメートされる。基本レベルでは、モーフターゲットを適用すると、保存されたオフセットベクトルの方向に、各頂点がターゲット形状に向かって直線的に移動する。ブレンド形状のアクティブ化の量は、重み付け量によって制御される。1.0の重みは、ターゲット形状を完全にアクティブにする。重みが0.5の場合、各頂点はターゲット位置に向かってちょうど半分移動する。それぞれが独自のウェイト値によって制御され、複数のブレンド形状ターゲットを一度にアクティブにすることができる。ブレンド形状の重みが時間の経過とともに変化するため、中間形状同士でスムーズな補間が実現される。
現実的に見えるようにするために、モーフ画像は、その1つ以上のポーズ間で比例的にモーフィングすることができる。手のアニメーションの場合、これは、指の動きのアニメーションが手首又は掌部の動きに比例して、同じ方向にアニメートすることができることを意味する。この動きは、ポリゴンメッシュの各頂点にドライバメカニズムを適用することによって実現される。ドライバメカニズムでは、手首の屈曲の程度に線形に関連するか、又は手首の屈曲の程度に湾曲した関係を有するモーフ形状を生成する数学的変換を実行することができる。
手首の屈曲と指の動きとの間の線形関係の場合、ニュートラルからの手首の屈曲の25%は、25%が前記主要なポーズに向かって変形し、75%がニュートラルポーズに向かって変形するアニメーションを引き起こすことができる。手首の屈曲が複数の主要なポーズに向かって傾斜している場合、手のアニメーションは、近くの主要なポーズとニュートラルポーズの近接度に比例して補間される。例えば、33%「イン」と33%「アップ」の手首の屈曲測定により、手のモデルのニュートラルポーズ、「イン」ポーズ、「アップ」ポーズの間で均等に補間される手のアニメーションを生成することができる。この中間のポーズは、これら3つの個別のポーズのブレンドスペース内に存在する。
手首の屈曲と指の動きとの間の湾曲した関係では、線形の関係を利用するモデルと比較した場合、所与の手首の屈曲に対して異なるアニメーションを生成することができる。手がニュートラルポーズから「イン」ポーズに移動していると仮定する。手首の屈曲の最初の25%の間、アニメーションはブレンドスペースの半分を横切り、50%「イン」で50%ニュートラルなアニメーションを生成することができる。このようにして、アニメーションドライバはフロントエンドで高速化され、手首の屈曲の4分の1のハンドモデルがブレンドスペースの半分を示す。次に、ブレンドスペースの残りの半分がバックエンドで減速され、手首の屈曲の4分の3に広がる。もちろん、このアプローチは逆にすることができ、手のアニメーションはフロントエンドで遅くし、バックエンドで加速することができる。
頂点アニメーションアプローチはまた、急速な動きに対応するためにイージング機能を利用することができる。動きが速いと、極端な手のポーズを不適切にアニメートすることにより、アニメーション技法の精度が一時的に失われることがある。したがって、手がポーズに出入りする速度は、イージング関数によって限定される。イージング関数は、アニメートされた動きの表示を一時的に遅くするように機能する。本質的に、イージング関数は、動きが速すぎると見なされたときに特定のポーズで時間遅れを生じさせる。さらに、イージング関数は、デカルト座標の回転中に発生する可能性のあるジンバルイベントによるアニメーションのがたつきを回避することができる。
手首、掌部、手、及び指のアニメーションに関してアニメーション技術を説明してきたが、同じアニメーション原理がアバターの他の身体部分に適用可能であることを理解すべきである。さらに、そのような技術によって決定された位置は、人工装具の特定のアニメーション又は特定の動きのいずれの情報をも与えることができる。
(特別なポーズとジェスチャ)
いくつかの実施形態では、システムがトリガージェスチャを追跡するとき、アニメーションはより複雑な動きをとることができる。例えば、ゲーム内で仮想の鳥と対面しているときに、鳥に手を伸ばすというプレーヤーの動作によって、プレーヤーのアバターの手に事前に記録された動きのアニメーションの表示を開始する場合がある。追跡データが、プレーヤーが手のひらを上に向けて鳥に近づいたことを示している場合、アバターは手のひらを上に向けてレンダリングされ、鳥がとまることができるように指が開く。あるいは、追跡データが、プレーヤーが手のひらを下に向けて鳥に近づいていることを示している場合、アバターは手のひらを下に向け、人差し指を完全に伸ばした状態でレンダリングされ、残りの指はカールし、鳥はアバターの人差し指に止まる。
本開示のシステム及び方法では、(いくつかのフレームにわたる)追跡データをジェスチャライブラリと比較して、ユーザが1つ以上のジェスチャをいつ実行したかを識別することができる。ジェスチャの識別により、アニメーションプロトコルが開始される。ユーザの動きに応じてアバターをレンダリングする代わりに、アバターはユーザの動きと1つ以上の事前に記録されたアニメーションの組み合わせに従ってレンダリングされる。ジェスチャを識別しても、次に視覚化されたフレームにジェスチャアニメーションを表示させることはない。代わりに、ジェスチャアニメーションが徐々に導入される。例えば、最後に追跡された位置を最終的なジェスチャ位置とブレンドすることができる。いくつかの実施形態では、最後に追跡された位置と最後のジェスチャ位置との間の移行には約1秒かかり、それによって移行は約60フレームに広がり、レンダリングされる次に続くフレームは補間により、最終的なジェスチャ位置に徐々に近づく。
ジェスチャライブラリ内のジェスチャの一例は、手を振るジェスチャである。いくつかの実施形態では、追跡データが、前腕を旋回させながら、もしくは前腕を静止させている間に、又は手首及び前腕の滑らかに前後のそらしながら、手首を前後に動かしたとき、アバターは、事前に記録された手を振るアニメーションをレンダリングすることができる。他の実施形態では、手を振るアニメーションは、プレーヤーが動く速度を反映するように修正され、前腕に対する手の角度を反映するように修正され、及び/又はジェスチャが行われる時間の長さに一致するように修正される。本質的に、ジェスチャはレンダリングを完全に引き継ぐのではなく、追跡データとブレンドされ、これにより、ジェスチャは、一部は追跡データに従って実行され、一部は事前に記録されたアニメーションに従って実行される。随意的に、手を振るジェスチャは、「ハロー」音声を伴う。
図10は、親指を立てるジェスチャの例を示している。ここでは、手の3Dモデルが、骨組みを変形させて親指を立てる主要なポーズジェスチャを実行する。いくつかの実施形態では、追跡データが、ユーザが腕を伸ばし、親指を上に向けている間に手首を下にスナップしたことを示す場合、システムは、ポーズが保持されている間、事前に記録された親指を上げる動作をレンダリングする。同様のトリガが膝、足、つま先に対して開発され、ボールを蹴ったり踊ったりするなどをアニメートすることができる。
アバターの手は、プレーヤー自身の動きに直接リンクされていない動きを示す場合がある。例えば、アバターの手に生命を吹き込むために、指は動かずに一定の間隔で広がり、伸びていることがある。このようなアニメーションは、つま先にも表示される場合があります。
手は、没入感をさらに改善するためにカスタマイズすることができる。プレーヤーは性別を選択でき、性別による固有な手の動きをアバター上でアニメートできる。プレーヤーは、肌の色、指の爪の色を選択し、1つ又は複数の指輪を装着することができます。これらのカスタマイズは、プレーヤーの没入感をさらに高め、仮想世界での不信感による、ゲームの停止を可能にすることに一歩近づけるのに役立つ。
本発明の好ましい実施形態を本明細書に示し、説明してきたが、そのような実施形態が例示としてのみ提示されていることは当業者には明らかであろう。多くの変形、変更、及び置換が、本発明から逸脱することなく、当業者は想起するであろう。本明細書に記載の本発明の実施形態に対する様々な代替案が、本発明を実施する際に使用されることを理解するべきである。以下の特許請求の範囲が、本発明の範囲を定義し、これらの特許請求の範囲内の方法及び構造、ならびにそれらの同等物は、特許請求の範囲によりカバーされていることが意図されている。

Claims (57)

  1. 補完的な追跡データを生成するためのシステムであって、前記システムは、
    オブジェクトに配置されるように構成された1つ以上のウェアラブルセンサであって、前記ウェアラブルセンサは追跡データを収集及び送信するように構成される、ウェアラブルセンサと、
    プロセッサで実行可能な命令を含むメモリと通信するプロセッサと、を具備し、前記命令を実行することにより、前記システムに
    (a)前記1つ以上の前記ウェアラブルセンサから追跡データを受信させ、
    (b)前記追跡データを3Dモデルにマッピングさせ、ここで前記3Dモデルは、前記オブジェクトの範囲と動きの仮想表現であることを特徴とし、
    (c)前記3Dモデルの不完全な部分を特定させ、前記不完全な部分は、前記追跡データにマッピングされていないモデルの部分を含むことを特徴とし、
    (d)前記不完全な部分の少なくとも一部を置き換えるための補完的な追跡データを生成させ、
    (e)3Dモデルに補完的な追跡データを含めさせる、
    ことを特徴とするシステム。
  2. 前記補完的なデータは、利用可能な追跡データを主要なポーズライブラリと比較することによって生成されることを特徴とする請求項1に記載のシステム。
  3. 追跡データは、前記主要なポーズライブラリ内の2つ以上の主要なポーズ同士の間のブレンドスペースと比較されることを特徴とする請求項2に記載のシステム。
  4. 追跡データは、最も強い一致の決定を行うために、主要なポーズの前記ライブラリの主要なポーズと比較されることを特徴とする請求項3に記載のシステム。
  5. 前記一致の決定は、前記不完全な部分から離れた関節及び身体部分よりも、前記不完全な部分に最も近い関節及び身体部分での類似性に重きを置くことを特徴とする請求項4に記載のシステム。
  6. 前記メモリは、前記システムに1つ又は一連の以前の3Dモデルにアクセスさせるプロセッサ実行可能命令を含み、前記以前の3Dモデルは、表示のために前もって伝達されていることを特徴とする請求項1に記載のシステム。
  7. 前記補完的な追跡データは、一連の以前の3Dモデルの間での反復的な追跡データのクラスタを識別し、追跡データを前記クラスタに一致させ、前記クラスタの一致部分と同様の補完的なデータを生成することによって生成されることを特徴とする請求項6に記載のシステム。
  8. 前記補完的な追跡データは、一連の以前の3Dモデルの中から反復的な追跡データのクラスタを識別し、利用可能な追跡データが反復的な追跡データの前記クラスタのどこに最も適合するかを決定し、追跡データの前記クラスタを模倣する補完的な追跡データを生成することによって生成されることを特徴とする請求項6に記載のシステム。
  9. 前記プロセッサは、ジェスチャトリガーについて前記1つ又は一連の以前の3Dモデルを分析するように構成され、ジェスチャトリガーを識別することで、システムに、事前に記録されたジェスチャアニメーションと少なくとも部分的にブレンドされた一連の更新された3Dモデルを伝達させることを特徴とする請求項6に記載のシステム。
  10. 補完的な追跡データは、エンドエフェクタの追跡データが利用可能な場合のFABRIKソルバ、及びエンドエフェクタの追跡データが利用できない場合のクラスタ機能又は主要なポーズの一致と共に生成されることを特徴とする請求項1に記載のシステム。
  11. 前記メモリには、前記システムが追跡データを受信した前記3Dモデルの部分について、前記システムに補完的な追跡データを生成させる、プロセッサで実行可能な命令を含むことを特徴とする請求項1に記載のシステム。
  12. 前記3Dモデルは、前記補完的な追跡データと前記追跡データとをブレンドすることによって更新されることを特徴とする請求項11に記載のシステム。
  13. 前記1つ以上のウェアラブルセンサは、電磁受信機及びエミッタ、1つ以上の光学要素、赤外線エミッタ、加速度計、磁力計、ジャイロスコープ、又はこれらの組み合わせで構成されることを特徴とする請求項1に記載のシステム。
  14. 前記プロセッサは、電磁センサと1つ以上のカメラの両方から追跡データを受信することを特徴とする請求項1に記載のシステム。
  15. 前記ウェアラブルセンサは無線であり、ラジオ周波数で通信することを特徴とする請求項1に記載のシステム。
  16. ユーザが着用可能な1つ以上のストラップをさらに含み、前記1つ以上のウェアラブルセンサは、前記1つ以上のストラップの中又はこれらの上に配置されるように構成されることを特徴とする請求項1に記載のシステム。
  17. 前記ディスプレイは、前記更新された3Dモデルを物理的に、仮想現実で、又は複合現実で表示するように構成されることを特徴とする請求項1に記載のシステム。
  18. 前記追跡データには、前記3Dモデルの指の補完的な追跡データを決定するために使用される手首又は掌部の追跡データが含まれることを特徴とする請求項1に記載のシステム。
  19. 前記追跡データは、前記ユーザの少なくとも1つの関節によって前記補完的な追跡データから分離されていることを特徴とする請求項1に記載のシステム。
  20. 前記プロセッサは、ユーザの「n」の身体部分の追跡データを受け取り、そして前記プロセッサは、「n+1」の身体部分を有する更新された3Dモデルを表示するために通信することを特徴とする請求項1に記載のシステム。
  21. 補完的な追跡データを生成するためのシステムであって、前記システムは、プロセッサで実行可能な命令を含むメモリと通信するプロセッサを具備し、前記命令は、
    追跡データのセットであって、前記追跡データは、ユーザの1つ以上の部分の位置又は動きに関連する、追跡データのセットと
    3Dモデルであって、前記3Dモデルは、ユーザの範囲及びユーザの動きの仮想表現である、3Dモデルと、
    ライブラリであって、前記ライブラリは、ポーズ、ジェスチャ、又はこれらの両方のセットで構成される、ライブラリと、
    補完的な追跡データのセットであって、前記補完的な追跡データのセットは、前記ライブラリから選択された少なくとも1つのポーズ又はジェスチャの少なくとも一部を具備する、補完的な追跡データのセットと、
    結合モデルであって、前記結合モデルは前記追跡データのセットと前記補完データのセットと、
    を具備することを特徴とするシステム。
  22. 前記補完的なデータには、前記追跡データのセットに存在しない手足、付属器官、関節、又は指が含まれることを特徴とする請求項21に記載のシステム。
  23. 前記補完的なデータには、前記追跡データのセットに存在しない運動の期間が含まれることを特徴とする請求項21に記載のシステム。
  24. 前記ライブラリと前記追跡データのセットとの比較を使用して、前記ライブラリから前記ポーズ又はジェスチャを選択することを特徴とする請求項21に記載のシステム。
  25. 前記命令には、学習アルゴリズムがさらに含まれ、前記補完的なデータのセットは、前記学習アルゴリズムによって生成されることを特徴とする請求項21に記載のシステム。
  26. 前記命令には、学習アルゴリズムがさらに含まれ、前記ポーズ又はジェスチャは、前記学習アルゴリズムによって選択されることを特徴とする請求項21に記載のシステム。
  27. 前記補完的なデータは、前記追跡データのセットを主要なポーズライブラリとの比較によって生成されることを特徴とする請求項21に記載のシステム。
  28. 前記比較は、前記主要なポーズライブラリ中の2つ以上の主要なポーズ同士の空間を具備し、前記補完的なデータは、これらの空間をブレンドするために生成されることを特徴とする請求項27に記載のシステム。
  29. 前記追跡データのセットは、一致度を決定するために、前記追跡データを主要なポーズのライブラリ内の主要なポーズのセットと比較することによって3Dモデルにマッピングされることを特徴とする請求項21に記載のシステム。
  30. 前記一致度は、不完全な部分から離れた関節及び身体部分よりも、前記不完全な部分に最も近い関節及び身体部分の類似性をより重く重み付けすることによって決定されることを特徴とする請求項29に記載のシステム。
  31. 前記命令は、ユーザの1つの動き又は一連の動きについての以前のポーズ、ジェスチャ、又はこれら両方を具備することを特徴とする請求項21に記載のシステム。
  32. 前記補完的な追跡データは、一連の以前のポーズ、ジェスチャ、又はこれらの両方の間で反復的な追跡データのクラスタを識別し、前記追跡データのセットを前記クラスタに一致させ、前記クラスタに一致した部分に類似する補完的なデータを生成することによって生成されることを特徴とする請求項31に記載のシステム。
  33. 前記補完的な追跡データは、前記一連の以前のポーズ、ジェスチャ、又はこれらの両方の間で反復的な追跡データのクラスタを識別し、利用可能な追跡データが反復的な追跡データの前記クラスタのどこに適合するかを決定し、反復的な追跡データのクラスタを模倣する補完的な追跡データを生成することによって生成されることを特徴とする請求項31に記載のシステム。
  34. 前記命令は、ジェスチャトリガーのための一連の以前のポーズ、ジェスチャ、又はこれらの両方の少なくとも一部の分析を含み、ジェスチャの前記識別により、システムは、少なくとも部分的にあらかじめ記憶していたジェスチャアニメーションとブレンドされた一連の更新された融合データのセットを通信することを特徴とする請求項31に記載のシステム。
  35. 補完的な追跡データは、エンドエフェクタの追跡データが利用可能である場合はFABRIKソルバで生成され、エンドエフェクタの追跡データが利用できない場合はクラスタ機能又は主要なポーズの一致部分により生成されることを特徴とする請求項21に記載のシステム。
  36. 前記追跡データのセットには、3Dモデルの指の補完的な追跡データを決定するために使用される手首又は掌部の追跡データが含まれることを特徴とする請求項21に記載のシステム。
  37. 前記追跡データのセットは、少なくとも1つの関節によって前記補完的な追跡データから分離されていることを特徴とする請求項21に記載のシステム。
  38. 前記追跡データのセットは、「n」の身体部分の追跡データを含み、前記補完データは、前記3Dモデルにマッピングされて、「n+1」の身体部分との結合モデルを形成することを特徴とする請求項21に記載のシステム。
  39. 前記結合モデルは、ほぼ実時間で生成され、少なくとも部分的な表示のために前記ユーザに伝達されることを特徴とする請求項21に記載のシステム。
  40. 視覚ディスプレイのための補完的なデータを生成するためのシステムであって、前記システムは、
    (a)1つ以上の追跡された身体部分に選択的に配置されるように構成された1つ以上の電磁エミッタ及び1つ以上の電磁センサと、
    (b)前記視覚ディスプレイ、前記1つ以上の電磁エミッタ、及び前記1つ以上の電磁センサと通信し、前記1つ以上の電磁エミッタ及び前記1つ以上の電磁センサから追跡データを受信するように構成され、前記追跡データ内にない投影された動きを具備し、潜在的な動きのライブラリに基づく、補完的な表示データを生成する少なくとも1つのプロセッサと、
    を具備することを特徴とするシステム。
  41. 前記プロセッサは、前記追跡データを使用して前記視覚ディスプレイ上に前記1つ以上の追跡された身体部分の動き及び位置を表示するようにさらに構成されることを特徴とする請求項40に記載のシステム。
  42. ユーザが着用可能な1つ以上のストラップをさらに具備し、前記1つ以上のエミッタ及び前記1つ以上のセンサは、前記1つ以上のストラップの中又はこれらの上に配置されるように構成されることを特徴とする請求項40に記載のシステム。
  43. 1つ以上の光学要素をさらに含み、前記光学要素は、ユーザが着用可能であり、前記1つ以上の光学要素は、赤外線エミッタ、加速度計、磁力計、ジャイロスコープ、又はこれらの組み合わせを具備することを特徴とする請求項40に記載のシステム。
  44. 前記プロセッサは、(1)人形の骨格リグアニメーション技術、(2)頂点アニメーションソリューション、又は(3)これらの両方の組み合わせを使用して、(4)前記補完的な表示データを生成するために、3Dグラフィックスを処理するよう構成されることを特徴とする請求項40に記載のシステム。
  45. 前記プロセッサは、前記追跡データと前記補完的な表示データとを3Dグラフィックスで組み合わせるようにさらに構成され、前記3Dグラフィックスは、アバター又は人工装具のどちらかのモデルを具備し、前記モデルは、処理された動作データとして前記プロセッサから転送されることを特徴とする請求項44に記載のシステム。
  46. 前記ディスプレイは、前記補完的な表示データを物理的に、仮想現実で、又は複合現実で表示するように構成されることを特徴とする請求項40に記載のシステム。
  47. 前記プロセッサは、1つ以上の追跡された身体部分の補完的な表示データを生成するようにさらに構成されることを特徴とする請求項40に記載のシステム。
  48. 前記追跡データには手首追跡データが含まれ、前記補完的な表示データには指の動きデータが含まれ、一連の1つ以上の手首又は掌部の位置及び動きを分析して1つ以上の指の補完的な動きを決定することを特徴とする請求項40に記載のシステム。
  49. 前記プロセッサは、前記1つ以上の追跡された身体部分、1つ以上の追跡されていない身体部分、又はこれらの両方の3Dグラフィックスを生成するように構成され、前記1つ以上の追跡された又は追跡されていない身体部分は、指、手、肘、肩、頭、胴体、腰、太もも、すね、足、つま先を具備し、1つ以上の追跡された身体部分からの追跡データが処理されて、2番目の1つ以上の追跡された身体部分、追跡されていない身体部分、又はこれらの両方の組み合わせを生成することを特徴とする請求項40に記載のシステム。
  50. 前記プロセッサは、プレーヤーの手首又は掌部からの追跡データを分析することによって、手首、手、及び指の3Dグラフィックスを生成するように構成されることを特徴とする請求項40に記載のシステム。
  51. 前記プロセッサは、(i)ある期間にわたって手首からの追跡データを分析すること、(ii)前記手首の所定の動作パターンが実行されたかどうかを判断すること、(iii)前記所定の動作パターンの前記識別に基づいて、前記手首、手、及び指の主なジェスチャを生成すること、前記主なジェスチャは、手を振ること、指さすこと、又は手のひらを開くことを含むことを特徴とし、(iv)前記主なジェスチャを含む前記ディスプレイ上に3Dグラフィックスまたは一連の3Dグラフィックスを生成すること、を行うよう構成されることを特徴とする請求項40に記載のシステム。
  52. オブジェクトの動きを追跡し、アバターを表示するための方法であって、前記方法は、
    (a)1つ以上の電磁エミッタ及び1つ以上の電磁センサを用いて、オブジェクトの1つ以上の追跡された身体部分の動きを追跡するステップと、
    (b)前記1つ以上の電磁エミッタ及び前記1つ以上の電磁センサから前記1つ以上の追跡された身体部分の追跡された動きデータを受信するステップと、
    (c)追跡された動きデータを分析して、1つ以上の追跡された身体部分の近く又はこれらに隣接する前記1つ以上の身体部分の補完的な動きデータを決定するステップと、
    (d)追跡された動きのデータと補完的な動きのデータをアバターにアニメートするステップと、
    を具備することを特徴とする方法。
  53. アバターをアニメートするための方法であって、前記方法は、
    (a)1つ以上の追跡された身体部分の位置、動き、又はこれらの両方を含む追跡された動きデータを受け取るステップと、
    (b)前記追跡された動きデータの分析を通じて、前記1つ以上の追跡された身体部分の近く又はこれら隣接する1つ以上の身体部分の補完的な動きデータを決定するステップと、
    (c)追跡された動きデータと補完的な動きデータをアバターにアニメートするステップと、
    を具備することを特徴とする方法。
  54. 前記補完的な動きのデータは、少なくとも1つの関節によって追跡された動きデータから分離されていることを特徴とする請求項53に記載の方法。
  55. 前記追跡された運動データには、手首又は掌部が含まれ、前記補完的な運動データには、手、1つ以上の指、又はこれらの両方が含まれることを特徴とする請求項53に記載の方法。
  56. 前記1つ以上の追跡された身体部分の動きを追跡するステップは、いくつかの身体部分「n」を追跡することを具備し、前記身体部分をアニメートするステップは、いくつかの身体部分「n+1」をアニメートするステップを具備することを特徴とする請求項53に記載の方法。
  57. 前記補完的な動きデータを決定するために追跡された動きデータを分析するステップは、前記1つ以上の身体部分に近い2番目の1つ以上の身体部分を分析し、追跡された動きデータと補完的な動きデータの組み合わせをアバターにアニメートするステップをさらに具備することを特徴とする請求項53に記載の方法。
JP2021516382A 2018-09-21 2019-07-22 視覚ディスプレイの補完的なデータを生成するためのシステム及び方法 Pending JP2022503776A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862734824P 2018-09-21 2018-09-21
US62/734,824 2018-09-21
PCT/US2019/042857 WO2020060666A1 (en) 2018-09-21 2019-07-22 Systems and methods for generating complementary data for visual display

Publications (1)

Publication Number Publication Date
JP2022503776A true JP2022503776A (ja) 2022-01-12

Family

ID=69887698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021516382A Pending JP2022503776A (ja) 2018-09-21 2019-07-22 視覚ディスプレイの補完的なデータを生成するためのシステム及び方法

Country Status (7)

Country Link
US (1) US11586276B2 (ja)
EP (1) EP3827373A4 (ja)
JP (1) JP2022503776A (ja)
KR (1) KR20210058958A (ja)
CN (1) CN112930553A (ja)
CA (2) CA3237053A1 (ja)
WO (1) WO2020060666A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020070812A1 (ja) * 2018-10-03 2020-04-09 株式会社ソニー・インタラクティブエンタテインメント スケルトンモデル更新装置、スケルトンモデル更新方法及びプログラム
US20210142342A1 (en) * 2019-11-10 2021-05-13 Zhiqing Cheng Methods and systems for provisioning digital data to an individual
WO2021226128A1 (en) * 2020-05-04 2021-11-11 Rct Studio Inc. Methods and systems for 3d character pose prediction based on phase-functioned neural networks
WO2022034771A1 (ja) * 2020-08-11 2022-02-17 株式会社三菱ケミカルホールディングス プログラム、方法、情報処理装置
US11589782B2 (en) * 2020-08-17 2023-02-28 The Trustees of the California State University Movement analysis and feedback systems, applications, devices, and methods of production thereof
US11507179B2 (en) * 2020-09-17 2022-11-22 Meta Platforms Technologies, Llc Systems and methods for predicting lower body poses
US11651625B2 (en) 2020-09-17 2023-05-16 Meta Platforms Technologies, Llc Systems and methods for predicting elbow joint poses
US20240031532A1 (en) * 2021-04-01 2024-01-25 A1A Software Llc Experiential Virtual Reality Event Host Delivery Dais
US20240096033A1 (en) * 2021-10-11 2024-03-21 Meta Platforms Technologies, Llc Technology for creating, replicating and/or controlling avatars in extended reality
EP4190236A1 (en) * 2021-12-02 2023-06-07 ETH Zürich Method and apparatus for determining a spatial configuration of a wireless inductive network and for pose detection
CN114385831B (zh) * 2022-01-14 2024-06-18 重庆邮电大学 一种基于特征提取的知识图谱关系预测方法
US20230267668A1 (en) * 2022-02-23 2023-08-24 Electronic Arts Inc. Joint twist generation for animation
WO2023167718A1 (en) * 2022-03-04 2023-09-07 Microsoft Technology Licensing, Llc Pose prediction for articulated object
WO2023191996A1 (en) * 2022-04-01 2023-10-05 Gridraster, Inc. Digital twin sub-millimeter alignment using multimodal 3d deep learning fusion system and method
US11762000B1 (en) * 2022-06-16 2023-09-19 Penumbra, Inc. Distortion/interference measurement device for virtual reality environments
EP4321970A1 (en) * 2022-08-11 2024-02-14 Hitachi, Ltd. Method and apparatus for estimating human poses
US11687152B1 (en) * 2022-09-08 2023-06-27 International Business Machines Corporation Directional recommendations based on movement tracking while performing an activity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095935A (ja) * 2009-10-28 2011-05-12 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
WO2011142084A1 (ja) * 2010-05-10 2011-11-17 株式会社スクウェア・エニックス 画像処理装置、画像処理方法、および画像処理プログラム
US20180070864A1 (en) * 2016-06-02 2018-03-15 Matthew Schuster Methods and devices for assessing a captured motion

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110317871A1 (en) * 2010-06-29 2011-12-29 Microsoft Corporation Skeletal joint recognition and tracking system
US8786680B2 (en) * 2011-06-21 2014-07-22 Disney Enterprises, Inc. Motion capture from body mounted cameras
US9367959B2 (en) 2012-06-05 2016-06-14 Apple Inc. Mapping application with 3D presentation
US9582035B2 (en) * 2014-02-25 2017-02-28 Medibotics Llc Wearable computing devices and methods for the wrist and/or forearm
US20170025026A1 (en) 2013-12-20 2017-01-26 Integrum Ab System and method for neuromuscular rehabilitation comprising predicting aggregated motions
US9600999B2 (en) 2014-05-21 2017-03-21 Universal City Studios Llc Amusement park element tracking system
US9589362B2 (en) 2014-07-01 2017-03-07 Qualcomm Incorporated System and method of three-dimensional model generation
NZ735465A (en) * 2015-03-05 2021-07-30 Magic Leap Inc Systems and methods for augmented reality
GB2555605B (en) * 2016-11-03 2020-10-21 Naturalmotion Ltd Animating a virtual object in a virtual world
US11132533B2 (en) 2017-06-07 2021-09-28 David Scott Dreessen Systems and methods for creating target motion, capturing motion, analyzing motion, and improving motion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095935A (ja) * 2009-10-28 2011-05-12 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
WO2011142084A1 (ja) * 2010-05-10 2011-11-17 株式会社スクウェア・エニックス 画像処理装置、画像処理方法、および画像処理プログラム
US20180070864A1 (en) * 2016-06-02 2018-03-15 Matthew Schuster Methods and devices for assessing a captured motion

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
""ぷちコン受賞者に聞くUE4ゲーム開発のヒント"", MACPEOPLE, vol. 第20巻第10号, JPN6022031215, 2014, pages 38 - 41, ISSN: 0005007146 *

Also Published As

Publication number Publication date
CA3111430A1 (en) 2020-03-26
US20220035443A1 (en) 2022-02-03
WO2020060666A1 (en) 2020-03-26
US11586276B2 (en) 2023-02-21
EP3827373A4 (en) 2022-05-04
CA3237053A1 (en) 2020-03-26
KR20210058958A (ko) 2021-05-24
CN112930553A (zh) 2021-06-08
EP3827373A1 (en) 2021-06-02

Similar Documents

Publication Publication Date Title
US11586276B2 (en) Systems and methods for generating complementary data for visual display
JP7061694B2 (ja) 画像処理方法および装置、画像機器、ならびに記憶媒体
US11308673B2 (en) Using three-dimensional scans of a physical subject to determine positions and/or orientations of skeletal joints in the rigging for a virtual character
US10885692B2 (en) Skeletal systems for animating virtual avatars
JP6938542B2 (ja) 組込みセンサと外界センサとを組み合わせる多関節トラッキングのための方法およびプログラム製品
JP5865357B2 (ja) アバター・ジェスチャーの表示制限
US20210349529A1 (en) Avatar tracking and rendering in virtual reality
Avola et al. An interactive and low-cost full body rehabilitation framework based on 3D immersive serious games
CN102331840B (zh) 基于回环运动的用户选择和导航
CN104685551B (zh) 混合现实仿真方法和系统
EP0959444A1 (en) Method for following and imaging a subject's three-dimensional position and orientation, method for presenting a virtual space to a subject, and systems for implementing said methods
CN108431736A (zh) 用于身体上姿势接口以及投影显示的系统和方法
JP2021529380A (ja) 異種入力の補間のための方法およびシステム
Obdržálek et al. Real-time human pose detection and tracking for tele-rehabilitation in virtual reality
RU2107328C1 (ru) Способ отслеживания и отображения положения и ориентации пользователя в пространстве и система для осуществления способа
JP2022501732A (ja) 画像処理方法及び装置、画像デバイス並びに記憶媒体
CA3111430C (en) Systems and methods for generating complementary data for visual display
RU2106695C1 (ru) Способ представления виртуального пространства пользователю и система для осуществления способа
KR102589194B1 (ko) 서로 다른 캐릭터 사이의 애니메이션 데이터를 호환 가능하게 연결하는 모션 커버 방법, 장치 및 시스템
Goulao Kinematic data filtering with unscented kalman filter
Chung Home-based Lower Limb Immersive Serious Game for Phantom Pain Management
Zafer Research on Current Sectoral Uses of Motion Capture (MoCap) Systems
Qi Interactive experience of singing learning and perception using gesture robots based on artificial intelligence games
Oore DIGITAL MARIONETTE: augmenting kinematics with physics for multi-track desktop performance animation
CN117101138A (zh) 虚拟角色的控制方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210524

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230307