[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2023501079A - 共有人工現実環境における同じ場所での姿勢推定 - Google Patents

共有人工現実環境における同じ場所での姿勢推定 Download PDF

Info

Publication number
JP2023501079A
JP2023501079A JP2022522014A JP2022522014A JP2023501079A JP 2023501079 A JP2023501079 A JP 2023501079A JP 2022522014 A JP2022522014 A JP 2022522014A JP 2022522014 A JP2022522014 A JP 2022522014A JP 2023501079 A JP2023501079 A JP 2023501079A
Authority
JP
Japan
Prior art keywords
hmd
hmds
location information
artificial reality
pose
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
JP2022522014A
Other languages
English (en)
Inventor
サミュエル アラン ジョンソン,
カルステン セバスティアン シュトール,
ベンジャミン アントワヌ ジョルジュ ルフォードゥー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of JP2023501079A publication Critical patent/JP2023501079A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0382Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Optics & Photonics (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

人工現実(AR)システムは、それぞれがヘッドマウントディスプレイ(HMD)を有する、複数の同じ場所にいる参加者の姿勢および骨格位置調整を追跡する。参加者は、同じ場所の他者とともに、共有人工現実イベントまたは体験に参加することができる。各参加者のHMDは、他の参加者のHMDから取得された参加者の姿勢および姿勢情報に基づいて、参加者のためのARコンテンツを独立してレンダリングすることができる。参加HMDは、HMDのカメラおよび/またはセンサの視界内の対象の骨格点(たとえば、関節、指先、膝、足首点など)の追跡推定値をブロードキャストしてもよい。参加HMDは、他のHMDによって決定された骨格位置情報を受信して、受信した追跡情報を内部追跡情報とともに集約し、その対応する参加者に関するその自身の姿勢および骨格位置調整情報の正確かつ完全な推定値を構築してもよい。【選択図】図1B

Description

本開示は一般に、仮想現実、複合現実、および/または拡張現実システムなどの人工現実システムに関し、より詳細には、人工現実システムによって実行される姿勢推定に関する。
人工現実システムは、コンピュータゲーム、安全衛生、工業、および教育などの多くの分野における適用例とともに、ますます遍在的になってきている。いくつかの例として、人工現実システムは、モバイルデバイス、ゲームコンソール、パーソナルコンピュータ、映画館、およびテーマパークに組み込まれている。通常、人工現実とは、たとえば仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいは、それらの何らかの組合せおよび/または派生物を含むことができる、ユーザに提示する前に何らかの様式で調整された現実の形態である。
典型的な人工現実システムは、ユーザにコンテンツをレンダリングおよび表示するための1つまたは複数のデバイスを含む。一例として、人工現実システムは、ユーザによって着用され、人工現実コンテンツをユーザに出力するように設定された、ヘッドマウントディスプレイ(HMD)を組み込むことができる。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、実世界のビデオおよび/もしくは画像)と組み合わせて生成されたコンテンツを含むことができる。それぞれが自身のHMDを有する複数のユーザは、共有人工現実体験に参加することができる。
概して、本開示は、人工現実システムを説明し、より詳細には、それぞれがヘッドマウントディスプレイ(HMD)を含む人工現実システムを有する、複数の同じ場所にいる参加者の姿勢および身体位置調整を追跡する姿勢追跡システムを説明する。参加者のHMD上のカメラまたは他のセンサは協働し、参加者のそれぞれの姿勢および身体位置の正確な推定を提供する。システムは、姿勢または身体位置を決定するために、参加者にマーカを付ける必要はない。さらに、システムは、参加者の姿勢および身体位置を決定するために、外部カメラやセンサを必要としない。よって、本出願で説明される技法は、従前のシステムよりセットアップが簡単でコストを抑えることができる「サンドボックス」AR/VRシステムを提供することができる。
参加者は、同じロケーションの他者とともに、共有人工現実イベントまたは体験に参加することができる。各参加者のHMDは、他の参加者のHMDから取得された参加者の姿勢および身体位置情報に基づいて、参加者のための人工現実コンテンツを独立してレンダリングすることができる。共有人工現実イベントまたは体験の参加者のHMDは、「参加HMD」と呼ぶことができる。各参加HMDに対して推定される姿勢および身体位置情報は、新しいフレームが生成されると、または、参加者の姿勢または身体位置に変化があると、更新することができる。参加者のHMDは、人工現実コンテンツ内の参加者の姿勢および身体位置情報を更新するために、さまざまな動作を行うことができる。たとえば、参加HMDは、共同人工現実空間(たとえば、共有マップ)への他の参加HMDの位置を較正してもよい。姿勢および身体位置情報の較正は、より多くの姿勢および身体位置情報が取得されるにつれて、経時的に改善することができる。
参加HMDは、HMDのカメラおよび/またはセンサの視界内の同じ場所にいる参加者の身体位置情報の追跡推定値をブロードキャストしてもよい。同じ場所にいる参加者の身体位置は、他の参加HMDの視界の中にあってもよく、または、中になくてもよい。参加HMDは、他のHMDによって決定された身体位置情報を受信して、受信した追跡情報を内部追跡情報とともに集約し、その対応する参加者に関するその自身の姿勢および身体位置調整情報の正確かつ完全な推定値を構築してもよい。このように、HMDは、他の参加HMDから2次元(2D)または3次元(3D)の姿勢情報および身体位置情報を受信する。いくつかの態様において、参加HMDは、それ自体の姿勢推定値および身体位置情報をリファインするために、そのような2Dまたは3D姿勢情報および身体位置情報を使用してもよい。いくつかの態様において、参加HMDは、その対応する参加者の身体位置に関して欠落した情報を「埋める」ために、2Dまたは3D姿勢情報および身体位置情報を使用することができる。たとえば、ユーザの下半身(たとえば、下部胴体、脚、および足)は、ユーザ自身のHMDの視界の中になくてもよいが、ユーザの下半身は、1つまたは複数の他のユーザのHMDの視界の中であってもよい。これらの他のHMDから受信した2Dまたは3D姿勢および身体位置情報は、ユーザの下半身の身体位置調整に関する詳細を埋めるために使用することができる。さらに、HMDは、姿勢および身体位置情報の以前の推定値をリファインするために、姿勢および身体位置情報を使用することができる。いくつかの態様において、参加HMDは、共有マップ内にそれ自身および他のHMDを配置するために、2Dまたは3D姿勢情報および身体位置情報を使用することができる。
各参加HMDは、HMDによって決定されたその知られている2Dまたは3D姿勢および身体位置情報を、共有マップの構築または更新に使用するために、他のHMDにブロードキャストしてもよい。各参加HMDは、上記のように、共有マップのそのコピー、および、自身で決定し、他のHMDから受信したリファインされた2Dまたは3D姿勢および身体位置情報を使用して、人工現実コンテンツをレンダリングしてもよい。
従来の人工現実システムに関する技術的問題は、通常、マーカまたは他の印が、ユーザの身体位置を決定するために使用されるということである。そのような従来のシステムでは、マーカまたは他の印は、対象の身体位置に付けられる。マーカの取付けは、面倒で時間がかかり、そのため、ユーザの不満につながる可能性がある。さらに、いくつかの従来のシステムは、ユーザの身体位置を決定するために、外部カメラ(すなわち、HMDと一体化されていないカメラ)を利用する。これは、人工現実システムに複雑さおよび費用を追加する。本明細書に開示される技法は、上記の技術的問題に対する技術的解決法を提供する。HMDは、マルチユーザ人工現実アプリケーションに参加している他のHMDから、姿勢および身体位置情報を受信することができる。受信するHMDは、受信した姿勢および身体位置情報を使用し、欠落した情報を埋めて、同じ場所にいる参加者に関する身体位置情報の既存の推定値をリファインすることができる。
上記の態様および下記のさらなる態様は、従来の人工現実システムの実施態様に技術的な改善を提供することができ、1つまたは複数の実用的用途を提供することができる、たとえば、外部画像キャプチャデバイスを使用せずに、かつ、身体位置を示すためにユーザ身体に付けられるマーカの使用を必要とせずに、人工現実システムが、姿勢および身体位置情報を正確に決定することができる。
1つまたは複数のさらなる例示的な態様において、方法は、第1のヘッドマウントディスプレイ(HMD)の画像キャプチャデバイスから、物理環境を表す第1の画像データを取得することと、第1のHMDの位置および向きを表す第1のHMD姿勢を決定することと、第1の画像データから、物理環境内の1つまたは複数の第2のHMDのユーザの第1の身体位置情報を決定することと、第1のHMDによって、1つまたは複数の第2のHMDによる使用のための第1のHMD姿勢および第1の身体位置情報を送信することと、第1のHMDによって、1つまたは複数の第2のHMDの各第2のHMDから、それぞれの第2のHMDの第2のHMD姿勢、および第2のHMDによって取得された第2の画像データから第2のHMDによって決定された第2の身体位置情報を受信することと、第1のHMDのユーザの第1の解析された身体位置情報を作成するために、第1のHMDによって、第1の身体位置情報を第2の身体位置情報と一体化することと、第1のHMDで表示するために、第1の姿勢および第1の解析された身体位置情報に従って人工現実コンテンツをレンダリングすることとを含む。
好ましくは、方法は、第1のHMDによって、1つまたは複数の第2のHMDによる使用のための第1の解析された身体位置情報を送信することと、第1のHMDによって、1つまたは複数の第2のHMDのユーザの第2の解析された身体位置情報を受信することとをさらに含み、人工現実コンテンツをレンダリングすることは、第2の解析された身体位置情報に従って人工現実コンテンツをレンダリングすることを含む。
好ましくは、第2の身体位置情報は、第1のHMDのユーザの身体位置情報を含む。
好ましくは、方法は、第1の身体位置情報および第2の身体位置情報の信頼水準を受信することをさらに含み、第1の身体位置情報および第2の身体位置情報を一体化することは、信頼水準に従って第1の身体位置情報および第2の身体位置情報を一体化することを含む。
好ましくは、信頼水準に従って第1の身体位置情報および第2の身体位置情報を一体化することは、少なくとも部分的に信頼水準に基づいて、第1の身体位置情報および第2の身体位置情報に割り振られた重みに従って、第1の身体位置情報および第2の身体位置情報を一体化することを含む。
好ましくは、方法は、1つまたは複数の第2のHMDのうち第1のHMDから閾値距離より離れた第2のHMDからの、第1のHMDによって受信された身体情報を、第2の身体位置情報からフィルタリングすることをさらに含む。
好ましくは、方法は、1つまたは複数の第2のHMDのうち第1のHMDに最も近いn個の第2のHMDの1つではない第2のHMDからの、第1のHMDによって受信された身体位置情報を、第2の身体位置情報からフィルタリングすることをさらに含み、ここで、nは所定のまたは設定可能な数である。
好ましくは、1つまたは複数の第2のHMDのユーザの第1の身体位置情報を決定することは、身体位置を認識するようにトレーニングされた機械学習モデルに第1の画像データを通すことを含む。
好ましくは、1つまたは複数の第2のHMDのユーザの第1の身体位置情報を決定することは、ユーザにマーカを配設せずに、第1の画像データから、ユーザの第1の身体位置情報を決定することを含む。
1つまたは複数の例示的な態様において、人工現実システムは、物理環境を表す第1の画像データをキャプチャするように設定された画像キャプチャデバイスと、人工現実コンテンツを出力するように設定された第1のヘッドマウントディスプレイ(HMD)と、第1のHMDの位置および向きを表す第1のHMD姿勢を決定し、第1の画像データから、物理環境内の1つまたは複数の第2のHMDのユーザの第1の身体位置情報を決定し、1つまたは複数の第2のHMDによる使用のための第1のHMD姿勢および第1の身体位置情報を送信し、1つまたは複数の第2のHMDの各第2のHMDから、それぞれの第2のHMDの第2のHMD姿勢、および第2のHMDによって取得された第2の画像データから第2のHMDによって決定された第2の身体位置情報を受信し、第1のHMDのユーザの第1の解析された身体位置情報を作成するために、第1の身体位置情報を第2の身体位置情報と一体化するように設定された姿勢追跡器と、第1のHMDで表示するために、第1のHMD姿勢および第1の解析された身体位置情報に従って人工現実コンテンツをレンダリングするように設定されたレンダリングエンジンとを含む。
好ましくは、姿勢追跡器は、1つまたは複数の第2のHMDによる使用のための第1の解析された身体位置情報を送信し、1つまたは複数の第2のHMDのユーザの第2の解析された身体位置情報を受信するようにさらに設定され、レンダリングエンジンは、第1のHMDで表示するために、第2の解析された身体位置情報に従って人工現実コンテンツをレンダリングするようにさらに設定される。
好ましくは、第2の身体位置情報は、第1のHMDのユーザの身体位置情報を含む。
好ましくは、姿勢追跡器は、第1の身体位置情報および第2の身体位置情報の信頼水準を受信するようにさらに設定され、姿勢追跡器は、信頼水準に従って第1の身体位置情報および第2の身体位置情報を一体化する。
好ましくは、第1のHMDおよび1つまたは複数の第2のHMDは、人工現実アプリケーションに参加する、物理環境内の同じ場所にあるHMDである。
好ましくは、人工現実アプリケーションは、同じ場所にあるHMDのそれぞれで実行される。
好ましくは、画像キャプチャデバイスは、第1のHMDと一体化される。
1つまたは複数のさらなる例示的な態様において、非一時的コンピュータ可読媒体は、実行されるときに、人工現実システムの1つまたは複数のプロセッサに、第1のヘッドマウントディスプレイ(HMD)の画像キャプチャデバイスから、物理環境を表す第1の画像データを取得させ、第1のHMDの位置および向きを表す第1のHMD姿勢を決定させ、第1の画像データから、1つまたは複数の第2のHMDのユーザの第1の身体位置情報を決定させ、第1のHMDによって、1つまたは複数の第2のHMDによる使用のための第1のHMD姿勢および第1の身体位置情報を送信させ、第1のHMDによって、1つまたは複数の第2のHMDの各第2のHMDから、第2のHMD姿勢、および第2のHMDによって取得された第2の画像データから第2のHMDによって決定された第2の身体位置情報を受信させ、第1のHMDのユーザの第1の解析された身体位置情報を作成するために、第1のHMDによって、第1の身体位置情報を第2の身体位置情報と一体化させ、第1のHMDで表示するために、第1の姿勢および第1の解析された身体位置情報に従って人工現実コンテンツをレンダリングさせる命令を備える。
好ましくは、命令は、第1のHMDによって、1つまたは複数の第2のHMDによる使用のための第1の解析された身体位置情報を送信し、第1のHMDによって、1つまたは複数の第2のHMDの第2の解析された身体位置情報を受信する命令をさらに備え、人工現実コンテンツをレンダリングする命令は、第2の解析された身体位置情報に従って人工現実コンテンツをレンダリングする命令を備える。
好ましくは、第2の身体位置情報は、第1のHMDのユーザの身体位置情報を含む。
好ましくは、命令は、第1の身体位置情報および第2の身体位置情報の信頼水準を受信する命令をさらに備え、第1の身体位置情報および第2の身体位置情報を一体化する命令は、信頼水準に従って第1の身体位置情報および第2の身体位置情報を一体化する命令を備える。
本開示の技法の1つまたは複数の例の詳細は、添付の図面および下記の説明に示される。技法の他の特徴、目的、および利点は、説明および図面ならびに特許請求の範囲から明らかとなろう。
本開示の技法に従った、1人または複数人の同じ場所にいるユーザに対する身体位置追跡を含む姿勢追跡を実行する例示的な人工現実システムを示す図である。 本開示の技法に従った、1人または複数人の同じ場所にいるユーザに対する身体位置追跡を含む姿勢追跡を実行する別の例示的な人工現実システムを示す図である。 図1Aおよび1Bで説明される人工現実システムのさらなる態様を示す図である。 図1Aおよび1Bの例示的な物理環境に対応してもよい例示的な人工現実コンテンツを示す図である。 本開示の技法に従って動作する例示的なHMDを示す図である。 本開示の技法に従って動作する別の例示的なHMDを示す図である。 同じ場所にいるユーザに対する身体位置調整を含む姿勢追跡が、本開示の技法に従った図1Aの人工現実システムのHMDの例示的な例によって実行される例を示すブロック図である。 同じ場所にいるユーザに対する姿勢追跡および身体位置調整が、図1Bの人工現実システムのコンソールおよびHMDの例示的な例によって実行される例示的実施態様を示すブロック図である。 本開示の態様に従った、同じ場所での姿勢推定を実行するための方法の例示的な動作を示すフローチャートである。 本開示の態様に従った、同じ場所での姿勢推定を実行するための別の方法の例示的な動作を示すフローチャートである。
図面および説明全体を通じて、同様の参照文字は同様の要素を指す。
図1Aは、本開示の技法に従った、1人または複数人の同じ場所にいるユーザ102に対する姿勢追跡および身体位置追跡を実行する例示的な人工現実システム100を示す図である。図1Aに示される例において、人工現実システム100は、それぞれ、ヘッドマウントディスプレイ(HMD)112A~112C(集合的に、「HMD112」)を装着するユーザ102A~102C(集合的に、「ユーザ102」)を含む。
HMD112のそれぞれは、ユーザ102のうちの1人によって装着され、人工現実コンテンツをユーザ102に提示するための、電子ディスプレイおよび光学アセンブリを含む。さらに、HMD112は、HMD112の動きを追跡するための1つまたは複数の動きセンサ(たとえば、加速度計)を含んでもよく、周囲の物理環境120の画像データをキャプチャするための、1つまたは複数の画像キャプチャデバイス138、たとえば、カメラ、赤外線(IR)検出器、ドップラーレーダ、ラインスキャナなどを含んでもよい。たとえば、ユーザ102Aは、画像キャプチャデバイス138Aを有するHMD112Aを装着する。画像キャプチャデバイス138Aは視界116Aを定義する。ユーザ102は、ユーザ102がHMDを装着した少なくとも1人の他のユーザと同じ物理環境の中にいるとき、したがって、少なくとも1人の他のユーザのHMDの画像キャプチャデバイスの視界の中、または、センサ範囲の中であることができるとき、同じ場所にいるユーザと呼ぶことができる。
いくつかの例示的な実施態様において、人工現実システム100は、ユーザ102が装着したHMD112の1つまたは複数の検出された姿勢、および、ユーザのHMD112の視界138の中にあるユーザ102の身体位置情報に基づいて、ユーザ102に対して人工現実コンテンツを生成して、レンダリングする。図1Aに示される例示的な実施態様において、HMD112のそれぞれは、スタンドアロン型モバイル人工現実システムとして動作する。共有人工現実体験に参加するHMD112は、ネットワーク104を介して通信可能に結合されてもよく、ネットワーク104は、WiFi、メッシュネットワーク、または近距離無線通信媒体などの有線または無線ネットワークであってもよい。たとえば、同じ物理環境においてユーザ102が同じロケーションにいることにより、Bluetoothまたは他の近距離ローカルもしくはパーソナルエリアネットワーク技術の使用が容易になる可能性がある。
一般に、人工現実システム100は、実世界3D物理環境120からキャプチャされた情報を使用して、ユーザ102に表示するための人工現実コンテンツをレンダリングする。図1Aの例において、各ユーザ102A、102B、および102Cは、ユーザのそれぞれのHMD112(たとえば、112A、112B、および112C)上で実行する人工現実アプリケーションによって構築およびレンダリングされる人工現実コンテンツを見る。いくつかの例において、人工現実コンテンツは、実世界イメージと仮想オブジェクトとの混合物、たとえば、複合現実および/または拡張現実を備えてもよい。他の例において、人工現実コンテンツは、たとえば、テレビ会議アプリケーション、ナビゲーションアプリケーション、教育アプリケーション、シミュレーション、ゲームアプリケーション、または人工現実を実装する他のタイプのアプリケーションであってもよい。
動作中、人工現実アプリケーションは、基準系、通常は、HMD112の視点に対する姿勢情報を追跡および計算することによって、ユーザ102に表示するための人工現実コンテンツを構築する。さらに、人工現実アプリケーションは、HMD112のユーザ、および、ユーザのHMD112を介してユーザ102に見える他のユーザの身体位置情報を追跡してもよい。基準系としてHMD112を使用し、HMD112の現在の推定された姿勢によって決定された現在の視界130に基づいて、人工現実アプリケーションは、3D人工現実コンテンツをレンダリングし、そのコンテンツは、いくつかの例では、少なくとも部分的に、ユーザ102の実世界3D物理環境120上にオーバーレイされてもよい。このプロセス中、人工現実アプリケーションは、移動情報およびユーザコマンドなどの、HMD112から受信した感知データを使用して、ユーザ102による動きおよび/または1つもしくは複数のハンドヘルドコントローラの動きなどの、実世界物理環境内の3D情報をキャプチャする。感知データに基づき、人工現実アプリケーションは、HMD112の基準系に対する現在の姿勢、ユーザおよびユーザのHMD112の視界の中の他のユーザの身体位置情報を決定する。さらに、人工現実アプリケーションは、他のHMD112によって感知および/または決定される2Dまたは3D姿勢および身体位置情報などの、他のユーザのHMD112からの情報を受信することができる。ユーザのHMD112によって決定される情報、および、他のユーザのHMD112から受信する情報は、部分的または不完全であってもよい。たとえば、情報は、ユーザ自身のHMD112の視界の中にない、同じ場所にいるユーザの身体の部分に対する姿勢または身体位置情報が欠けていてもよい。他のユーザのHMD112は、欠落した情報の一部または全部を供給することができてもよく、異なるHMD112は、それぞれのHMDの視界の中にある部分に応じて、身体位置情報の異なる部分を供給してもよい。よって、たとえ1人のユーザのHMD112が、自身のデータを使用して他の同じ場所にいるユーザの3D姿勢または身体位置情報を決定することができないとしても、HMD112は、他の同じ場所にいるHMDから受信する2Dまたは3D姿勢および身体位置情報を利用して自身の情報を埋めて拡張し、そのような追加情報を使用して、自身および他の同じ場所にいるユーザの3D姿勢および身体位置情報をより正確に解析してもよい。
さらに、いくつかの態様において、人工現実システム100は、人工現実システム100の他のユーザに対するユーザ112の位置調整を示す共有マップを維持してもよい。共有マップは、各参加ユーザのHMD112から受信される情報に基づいて、生成および維持されてもよい。共有マップ、現在の姿勢、および骨格位置調整情報に従って、人工現実アプリケーションは、人工現実コンテンツをレンダリングする。
図1Bは、本開示の技法に従った、1人または複数人の同じ場所にいるユーザ102に対する姿勢追跡および身体位置追跡を実行する別の例示的な人工現実システム130を示す図である。図1Bに示される例は、図1Aに関して上で論じられたものと同様に設定されてもよいHMD112を含む。図1Bに示される例において、人工現実システム130は、コンソール106を含み、カメラ102Aおよび102Bなどの外部カメラを任意選択的に含んでもよい。さらに、人工現実システム130は、外部センサ90を任意選択的に含んでもよい。
図1Bに示される例では、コンソール106は、ゲームコンソール、ワークステーション、デスクトップコンピュータ、またはラップトップなどの単一のコンピューティングデバイスとして示される。他の例では、コンソール106は、分散コンピューティングネットワーク、データセンタ、またはクラウドコンピューティングシステムなどの複数のコンピューティングデバイスにまたがって分散されてもよい。コンソール106、HMD112、カメラ102、およびセンサ90は、本例に示されるように、ネットワーク104を介して通信可能に結合されてもよく、ネットワーク104は、上述のように、WiFi、メッシュネットワーク、または近距離無線通信媒体などの有線または無線ネットワークであってもよい。
図1Bに示される例では、図1AのHMD112によって実行されると説明された機能の一部または全部を、コンソール106に肩代わりさせてもよい。たとえば、コンソール106は、HMD112上のカメラ、および任意選択的に、外部カメラ102から画像データを、センサ90からのセンサデータを、各HMD112からの姿勢情報を受信してもよい。コンソール106は、受信したデータを使用して、ユーザ102のそれぞれのHMD112を介してユーザ102のそれぞれに表示するための人工現実コンテンツをレンダリングしてもよい。上述のように、いくつかの例において、人工現実コンテンツは、実世界イメージと仮想オブジェクトとの混合物、たとえば、複合現実および/または拡張現実を備えてもよい。他の例において、人工現実コンテンツは、たとえば、テレビ会議アプリケーション、ナビゲーションアプリケーション、教育アプリケーション、シミュレーション、ゲームアプリケーション、または人工現実を実装する他のタイプのアプリケーションであってもよい。
さらに、コンソール106は、人工現実システム100の他のユーザに対するユーザ102のそれぞれの位置調整を示す共有マップを維持してもよい。共有マップは、各参加ユーザのHMD112から受信される情報に基づいて、生成および維持されてもよい。共有マップ、現在の姿勢、および身体位置情報に従って、人工現実アプリケーションは、人工現実コンテンツをレンダリングする。
図1Aおよび1Bに示される例示的な人工現実システム100、130は、物理環境120が、現場に最初に駆けつける人たちのための訓練演習に参加しているユーザ102A、102B、および102Cを含む使用事例を表す。この例の物理環境120は、事故の被害者126を含む。この訓練例ならびに図1Aおよび1Bに示される物理環境120に対応する例示的な人工現実コンテンツは、以下で論じられる図2に関して示される。マルチプレイヤーゲームのための人工現実コンテンツも生成することができる。他の例示的な使用事例は、可能であり、本開示の範囲内である。
図1Cは、図1Aおよび1Bで説明される人工現実システム100、130のさらなる態様を示す。上述のように、人工現実システム100は、ユーザのHMD112から身体位置情報を受信する。いくつかの態様では、身体位置情報は、骨格位置調整情報とすることができる。骨格位置調整情報は、HMD112の視界の中の骨格点の2Dまたは3D位置調整情報を含むことができる。骨格位置調整情報は、物理環境120における、HMD112のユーザおよび他のユーザの両方の情報を含むことができる。図1Cに示される例において、ユーザ102AのHMD112Aは、破線116Aによって示される視界を有する画像センサ138Aを有する。ユーザ102B上のさまざまな骨格点118は、HMD112Aの画像センサ138Aの視界116Aの中にある。一例として、HMD112Aの画像センサ138Aによって検出されるユーザ102Bの骨格点118は、ユーザ102Bの肩、肘、手関節、指関節、指先などを含んでもよい。
いくつかの態様において、身体位置情報は、身体セグメント位置情報とすることができる。身体セグメント情報は、HMD112の視界の中の身体セグメントの2Dまたは3D位置調整情報を含むことができる。身体セグメントは、身体の領域、たとえば、参加者の頭、胴、腕、前腕、手、大腿、脚、および足とすることができる。身体セグメント位置情報は、物理環境120における、HMD112のユーザおよび他のユーザの両方の情報を含むことができる。
いくつかの態様において、身体位置情報は、骨格位置情報および身体セグメント位置情報を含んでもよい。
身体位置情報は、HMD112Bおよび112Cのための人工現実コンテンツを作成する際の人工現実アプリケーションによる使用のために、他の同じ場所にいる参加HMD112(たとえば、HMD112Bおよび112C)とともにHMD112Aによって共有されてもよい。一例として、HMD112Bを介してユーザ102Bに表示される人工現実コンテンツは、HMD112Aによって共有される骨格点118および/または身体セグメント122に関する情報を使用して生成することができ、骨格点118および/または身体セグメント122のいくつかは、(たとえば、ユーザ112Bの身体部分または他のオブジェクトによる妨害のために)HMD112Bの画像キャプチャデバイス138Bまたは他のセンサで検出可能でなくてもよい。
他のユーザのHMDによって提供される姿勢および身体位置情報は、第1のHMDによって決定された骨格位置情報を埋めて、リファインすることができる。たとえば、HMD112Bおよび112Cから受信する身体位置情報は、HMD112Aからの画像データからHMD112A上で決定された身体位置情報を埋めることおよびリファインすることの両方のために、HMD112Aが使用することができる。各HMD112は、同じ場所にいる参加者の他のHMDから受信する2Dまたは3D身体位置情報に基づいて、姿勢および身体位置情報を独立して決定することができる。たとえば、HMD112Aは、HMD112A自身の画像キャプチャデバイスによって取得されたデータのみに基づいて、他の参加者の姿勢および身体位置情報を決定することはできなくてもよい。しかしながら、他の同じ場所にいるHMD(たとえば、HMD112Bおよび112C)から受信する情報を使用して、HMD112Aは、自身および他の同じ場所にいるユーザの姿勢および身体位置情報を決定することができる。HMD112Aによって決定される身体位置情報および他の同じ場所にいるHMDから受信する身体位置情報は、HMD112Aが自身および同じ場所にいる参加者の姿勢および身体位置情報を決定するために完全である必要はない。代わりに、HMD112Aは、他のHMDから受信した2Dまたは3D完全または部分的な身体位置情報と組み合わせられた自身で決定した2Dまたは3D完全または部分的な身体位置情報を使用して、自身および同じ場所にいるユーザの3D姿勢および身体位置情報を正確に決定することができる。HMD112Bおよび112Cは、他の参加HMDから受信した2Dまたは3D完全または部分的な身体位置情報を使用する類似の動作を実行して、自身および他の同じ場所にいる参加者の3D姿勢および身体位置情報を正確に決定することができる。したがって、本開示の技法は、人工現実システムによってコンテンツをレンダリングおよび表示するコンピュータ関連分野に、特定の技術的な改善を提供する。たとえば、本明細書で説明される人工現実システムは、いくつかの姿勢および/または骨格位置調整情報をユーザ102のHMD112が局所的に利用可能ではないときでさえ、ユーザ102の正確な姿勢および位置調整情報を生成およびレンダリングすることによって、人工現実アプリケーションのユーザ102などのユーザに、高品質の人工現実体験を提供することができる。
図2は、図1Aおよび1Bの例示的な物理環境120に対応してもよい例示的な人工現実コンテンツ200を示す。図2に示される態様の説明を支援するために、図1Aおよび1Bの要素が参照される。上述のように、人工現実システム100、130は、物理環境120内の1つまたは複数の物理オブジェクトに少なくとも部分的に基づいて、人工現実コンテンツ200を生成するように設定される。HMD112のそれぞれは、それぞれのHMD112の視点から人工現実コンテンツをレンダリングおよび出力するように設定される。たとえば、図2の人工現実コンテンツ200は、訓練演習のオブザーバである、図1Aおよび1Bのユーザ102CのHMD112Cの視点から生成およびレンダリングされる。よって、人工現実コンテンツ200は、1つまたは複数のグラフィカルオブジェクトまたは仮想オブジェクトを含んでもよく、その一部または全部は、物理環境120内の物理オブジェクトに対応してもよい。図2に示される例において、人工現実コンテンツ200は、それぞれ、図1Aおよび1Bのユーザ102A、102B、および102Cの物理身体に対応する、アバター202A、202B、および202C(集合的に、「アバター202」)を含んでもよい。人工現実システム100、130は、その対応しているユーザ102の物理身体の姿勢として同じまたは類似の姿勢または向きを有するアバター202のそれぞれを生成およびレンダリングするように設定されてもよい。たとえば、図2に示されるように、アバター202Aおよび202Bは、片膝をついているように示され、それぞれが同様に片膝をついているユーザ102Aおよび102Bにそれぞれ対応している。
さまざまな理由のために、HMD112のいずれかは、その自身の視点から1つまたは複数の仮想オブジェクトまたはアバター202を正確にレンダリングすることができなくてもよい。1つの例において、ユーザのHMDのディスプレイスクリーン上で人工現実アプリケーションによってレンダリングされる画像フレームは、特定の画像キャプチャデバイス138の視界116内のものより多くの画像データを含んでもよい。したがって、HMD112は、そのそれぞれの画像キャプチャデバイス138によってキャプチャされないユーザ102の物理身体の一部または全部を識別できなくてもよい。たとえば、図1Aに示されるように、ユーザ102Aの右膝110Aおよび右手114Aは、画像キャプチャデバイス138Aの視界116Aの中にない、しかしながら、これらの物理要素は、ユーザ102AのHMD112A上に表示される画像の中にやはりあってもよい。したがって、HMD112Aは、ディスプレイスクリーン上での表示のために、これらの物理身体部分の仮想表現を正確にレンダリングできなくてもよい。
他の例では、たとえ物理オブジェクトが特定の画像キャプチャデバイス138の視界116の中にあるとしても、人工現実システム100、130は、物理オブジェクトの識別が困難であることがあり、それによって、人工現実システム100が対応する仮想オブジェクトをレンダリングおよび出力することが阻止される。たとえば、たとえユーザ102Aの右膝110Aが画像キャプチャデバイス138Aの視界116Aの中にあったとしても、右膝110Aは、画像認識ソフトウェアがそれをユーザ102の膝として識別することを可能とする識別特徴のない比較的大きい丸みのあるオブジェクトとして、キャプチャされた2Dイメージの中に現れる。したがって、HMD112Aは、ディスプレイスクリーン上に表示するためにこの身体部分の仮想表現を正確にレンダリングすることができない。
他の例では、ユーザ102の身体の一部または全体が、たとえば、別の身体部分を衣類(特に、ゆったりとしたもしくはだぶだぶの衣類)で覆うことで、または、他の干渉する物理オブジェクトで、特定の画像キャプチャデバイス138から大きく遮断されることがあり、それにより、人工現実システム100のHMD112またはコンソール106は、それぞれの身体部分の相対姿勢、またはそれぞれの身体部分自体の存在さえ識別することができないことがあり、したがって、同じ姿勢を有する対応するアバター202をレンダリングすることができない。
本開示に従ういくつかの例において、人工現実システム100、130は、ユーザ102のうちの1人または複数人の姿勢追跡および身体位置追跡を実行するように設定され、個々のユーザの姿勢または身体位置の一部または全部は、第1のユーザ自身のHMDで追跡可能ではない。他のユーザのHMDは、姿勢および身体位置情報を提供し、欠落した情報を埋めて、既存の情報をさらにリファインすることができ、それによって、同じ場所にいるユーザの姿勢および身体位置調整の正確なレンダリングが容易になる。よって、人工現実システム100は、対応するユーザの物理身体と同じまたは類似の姿勢のユーザ102の仮想表現202であるアバターを有する人工現実コンテンツ200を正確に生成することができる。
人工現実システム100、130のHMD112またはコンソール106は、人工現実システム100、130内の画像キャプチャデバイス138から2Dまたは3D画像データを受信するように設定される。受信した2Dまたは3D画像データに基づき、人工現実システム100、130のHMD112またはコンソール106は、インサイドアウト追跡を介して、画像キャプチャデバイス138のそれぞれの相対位置を決定(たとえば、推定)するように設定することができる。インサイドアウト追跡は、HMD112の内部またはHMD112上のカメラまたは他のセンサを使用して、HMD112の外部のオブジェクトを追跡することを指す。たとえば、人工現実システム100は、受信した画像データ内の2つ以上のオブジェクトを識別し、さまざまな画像における互いに対する2つ以上のオブジェクトの相対方位に基づいて、互いに対する画像キャプチャデバイス138間の相対距離および/または画像キャプチャデバイス138の向きを推定するように設定される。
図1Aに示される例において、人工現実システム100のHMD112Aまたはコンソール106は、HMD112Bおよび112Cからそれぞれ姿勢および身体位置情報を受信するように設定することができる。HMD112A(または、コンソール106)は、受信した姿勢および身体位置情報を、HMD112Aで局所的に利用可能である姿勢および身体情報とともに使用して、ユーザ102Aの自身の身体および物理身体の四肢または他の身体部分の姿勢および身体位置情報を決定することができる。図1Bに示される例において、人工現実システム130のコンソール106は、画像キャプチャデバイス138A、138B、および138C、ならびに、任意選択的に、外部カメラ102から画像データを受信し、ユーザ102A、102Bおよび102Cの四肢または他の身体部分の画像、姿勢情報、および身体位置情報から識別するように設定することができる。
画像データのユーザ102Aの識別された物理身体部分に基づき、人工現実システム100、130は、ユーザ102Aの3次元(3D)姿勢および身体位置調整を決定するようにさらに設定される。たとえば、ユーザ102Aの1つまたは複数の識別された四肢の相対方位に基づき、人工現実システム100、130は、ユーザ102Aの四肢と同じ相対方位の四肢を有するアバター202Aを構築するように設定されてもよい。
人工現実システム100、130は、物理環境120内のユーザ102のそれぞれのために、このプロセスを繰り返してもよい。たとえば、図1Aおよび1Bに示されるシナリオでは、人工現実システム100、130のHMD112Bは、ユーザ102Bを示す、画像キャプチャデバイス138Aおよび138Cによって提供される画像データから決定される姿勢および身体位置情報を受信してもよい。同様に、人工現実システム100のHMD112Cは、ユーザ102Cを示す、画像キャプチャデバイス138Aおよび138Bによって提供される画像データから決定される姿勢および身体位置情報を受信してもよい。さらに、人工現実システム100のHMD112Aは、画像キャプチャデバイス138Aから受信した画像データに基づいて、ユーザ102Bおよび102C姿勢および身体位置情報を決定または識別してもよい。
人工現実システム100のHMD112がユーザ102のそれぞれの姿勢および身体位置情報を識別すると、HMD112は、人工現実システム100の他の同じ場所にいるHMD112のそれぞれに、姿勢データおよび身体位置情報を転送(たとえば、無線でブロードキャスト)してもよい。受信した姿勢データおよび身体位置情報に基づき、各HMD112は、それぞれのHMD112の視点から仮想または拡張現実環境を示す人工現実コンテンツ200を生成および表示してもよい。人工現実コンテンツ200は、不明瞭である、遮断されている、識別不能である、または、ユーザのそれぞれのHMD112の画像キャプチャデバイス138視界外であるユーザの物理身体102に対応するアバター202を含んでもよい。たとえば、図2に示されるように、これらの仮想オブジェクトのそれぞれの物理対応部分110A、114Aが画像キャプチャデバイス138Aの視界外であっても(図1Aおよび1B)、人工現実コンテンツ200は、仮想膝210および仮想手214を含む。
図3Aは、本開示の技法に従って動作するように設定された例示的なHMD112を示す図である。図3AのHMD112は、図1Aおよび1BのHMD112のいずれの例でもあってもよい。HMD112は、本明細書で説明される技法を実装するように設定されたスタンドアロン型モバイル人工現実システムとして動作してもよく、または、図1A、1Bの人工現実システム100、130などの人工現実システムの一部であってもよい。
本例では、HMD112は、前部剛体と、HMD112をユーザに固定するバンドとを含む。さらに、HMD112は、人工現実コンテンツをユーザに提示するように設定された、内向き電子ディスプレイ303を含む。電子ディスプレイ303は、液晶ディスプレイ(LCD)、量子ドットディスプレイ、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、ブラウン管(CRT)ディスプレイ、電子インク、あるいは、白黒、カラー、または、視覚出力を生成可能な任意の他のタイプのディスプレイなどの、任意の好適な表示技術であってもよい。いくつかの例において、電子ディスプレイは、ユーザのそれぞれの眼に別々の画像を提供するための立体ディスプレイである。いくつかの例では、HMD112およびユーザの現在の視点に従って人工現実コンテンツをレンダリングするために、HMD112の位置および向きを追跡するとき、HMD112の前部剛体に対するディスプレイ303の知られている向きおよび位置が、局所起点とも呼ばれる基準系として使用される。他の例において、HMD112は、眼鏡またはゴーグルなどの、他のウェアラブルヘッドマウントディスプレイの形態をとってもよい。
図3Aにさらに示されるように、本例では、HMD112は、HMD112の現在の加速度を示すデータを出力する1つまたは複数の加速度計(慣性測定ユニットまたは「IMU」とも呼ばれる)、HMD112のロケーションを示すデータを出力するGPSセンサ、さまざまなオブジェクトからのHMD112の距離を示すデータを出力するレーダまたはソナー、あるいは、HMD112または物理環境内の他のオブジェクトのロケーションまたは向きの指示を提供する他のセンサなどの、1つまたは複数の動きセンサ306をさらに含む。さらに、HMD112は、物理環境を表す画像データを出力するように設定された、ビデオカメラ、スチルカメラ、IRスキャナ、UVスキャナ、レーザスキャナ、ドップラーレーダスキャナ、深度スキャナなどの、集積画像キャプチャデバイス138Aおよび138B(集合的に、「画像キャプチャデバイス138」)を含んでもよい。いくつかの態様において、画像キャプチャデバイス138は、電磁スペクトル(たとえば、IR光)の可視スペクトルおよび不可視スペクトルから、画像データをキャプチャすることができる。画像キャプチャデバイス138は、可視スペクトルから画像データをキャプチャする1つまたは複数の画像キャプチャデバイスと、不可視スペクトルから画像データをキャプチャする1つまたは複数の別々の画像キャプチャデバイスとを含んでもよく、または、これらは、同じ1つまたは複数の画像キャプチャデバイスと組み合わせられてもよい。より詳細には、画像キャプチャデバイス138は、通常、HMD112の視点に対応する、画像キャプチャデバイス138の視界130A、130Bの中にある物理環境のオブジェクトを表す画像データをキャプチャする。HMD112は、内部電源と、感知したデータを処理し、ディスプレイ303上に人工現実コンテンツを提示するために、プログラム可能動作を実行するための動作環境を提供するための、1つまたは複数のプロセッサ、メモリ、およびハードウェアを有する1つまたは複数のプリント回路板とを含むことができる、内部制御ユニット310を含む。
1つの例では、本明細書で説明される技法に従って、制御ユニット310は、感知された画像データに基づいて、HMD112のユーザの、および、物理環境120内の他の同じ場所にいるユーザの身体位置情報を決定するように設定される(図1A~1C)。画像キャプチャデバイス138の視界内のとき、制御ユニット310は、画像データ内の身体位置情報を検出し、他のHMD112から受信した身体位置情報および他のセンサ情報とともに、局所的に決定された身体位置情報を使用して、HMD112のユーザおよび他の同じ場所にいるユーザの姿勢および身体位置情報を決定することができる。
図3Bは、本開示の技法に従った、例示的なHMD112を示す図である。図3Bに示されるように、HMD112は眼鏡の形態をとってもよい。図3BのHMD112は、図1Aおよび1BのHMD112のいずれの例でもあってもよい。HMD112は、図1A、1Bの人工現実システム100、130などの人工現実システムの一部であってもよく、または、本明細書で説明される技法を実装するように設定されたスタンドアロン型モバイル人工現実システムとして動作してもよい。
本例では、HMD112は、HMD112をユーザの鼻に載せることを可能にするブリッジを含む前部フレームと、HMD112をユーザに固定するためにユーザの耳の上で延在するテンプル(または、「アーム」)とを備える眼鏡である。さらに、図3BのHMD112は、人工現実コンテンツをユーザに提示するように設定された、内向き電子ディスプレイ303Aおよび303B(集合的に、「電子ディスプレイ303」)を含む。電子ディスプレイ303は、液晶ディスプレイ(LCD)、量子ドットディスプレイ、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、ブラウン管(CRT)ディスプレイ、電子インク、あるいは、白黒、カラー、または、視覚出力を生成可能な任意の他のタイプのディスプレイなどの、任意の好適な表示技術であってもよい。図3Bに示される例において、電子ディスプレイ303は、ユーザのそれぞれの眼に別々の画像を提供するための立体ディスプレイを形成する。いくつかの例において、HMD112およびユーザの現在の視点に従って人工現実コンテンツをレンダリングするために、HMD112の位置および向きを追跡するとき、HMD112の前部フレームに対するディスプレイ303の知られている向きおよび位置が、局所起点とも呼ばれる基準系として使用される。
図3Bに示される例にさらに示されるように、HMD112は、HMD112の現在の加速度を示すデータを出力する1つまたは複数の加速度計(慣性測定ユニットまたは「IMU」とも呼ばれる)、HMD112のロケーションを示すデータを出力するGPSセンサ、さまざまなオブジェクトからのHMD112の距離を示すデータを出力するレーダまたはソナー、あるいは、HMD112または物理環境内の他のオブジェクトのロケーションまたは向きの指示を提供する他のセンサなどの、1つまたは複数の動きセンサ306をさらに含む、さらに、HMD112は、物理環境を表す画像データを出力するように設定された、ビデオカメラ、レーザスキャナ、ドップラーレーダスキャナ、深度スキャナなどの、集積画像キャプチャデバイス138Aおよび138B(集合的に、「画像キャプチャデバイス138」)を含んでもよい。HMD112は、内部電源と、感知したデータを処理し、ディスプレイ303上に人工現実コンテンツを提示するために、プログラム可能動作を実行するための動作環境を提供するための、1つまたは複数のプロセッサ、メモリ、およびハードウェアを有する1つまたは複数のプリント回路板とを含むことができる、内部制御ユニット310を含む。
図4は、同じ場所にいるユーザに対する身体位置追跡を含む姿勢追跡が、本開示の技法に従った図1Aの人工現実システム100のHMD112Aの例示的な例によって実行される例を示すブロック図である。図4の例において、HMD112Aは、ユーザのHMD112Aから、ならびに、他の同じ場所にいるユーザのHMD112Bおよび112Cから受信される動きデータおよび画像データなどの感知データに基づき、本明細書で説明される技法に従って、HMD112Aのための身体位置追跡を含む姿勢追跡を実行する。
本例では、HMD112Aは、いくつかの例ではオペレーティングシステム405を実行するためのコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ402およびメモリ404を含み、オペレーティングシステム405は、たとえば埋め込み型リアルタイムマルチタスクオペレーティングシステム、または、他のタイプのオペレーティングシステムであってもよい。オペレーティングシステム405は、1つまたは複数のソフトウェア構成要素417を実行するためのマルチタスクオペレーティング環境を提供する。プロセッサ402は、キーボード、ゲームコントローラ、ディスプレイデバイス、画像キャプチャデバイス、他のHMDなどのデバイスと通信するためのI/Oインターフェースを提供する、1つまたは複数のI/Oインターフェース415に結合される。さらに、1つまたは複数のI/Oインターフェース415は、ネットワーク104などのネットワークと通信するために、1つまたは複数の有線または無線のネットワークインターフェースコントローラ(NIC)を含んでもよい。さらに、プロセッサ402は、電子ディスプレイ303、動きセンサ306、および画像キャプチャデバイス138に結合される。いくつかの例では、プロセッサ402およびメモリ404は別々の離散構成要素であってもよい。他の例において、メモリ404は、単一の集積回路内にプロセッサ402と同じ位置に配置されたオンチップメモリであってもよい。
HMD112Aのソフトウェアアプリケーション417は、全人工現実アプリケーションを提供するように動作する。本例では、ソフトウェアアプリケーション417は、アプリケーションエンジン440、レンダリングエンジン422、姿勢追跡器426、およびマッピングエンジン446を含む。
一般に、アプリケーションエンジン440は、人工現実アプリケーション、たとえばテレビ会議アプリケーション、ゲームアプリケーション、ナビゲーションアプリケーション、教育アプリケーション、トレーニングまたはシミュレーションアプリケーションなどを、提供および提示するための機能を含む。アプリケーションエンジン440は、たとえば、1つまたは複数のソフトウェアパッケージ、ソフトウェアライブラリ、ハードウェアドライバ、および/あるいは、HMD112A上で人工現実アプリケーションを実装するためのアプリケーションプログラミングインターフェース(API)を含んでもよい。アプリケーションエンジン440による制御に応答して、レンダリングエンジン422は、HMD112Aのアプリケーションエンジン440によって、ユーザに表示するための3D人工現実コンテンツを生成する。
アプリケーションエンジン440およびレンダリングエンジン422は、姿勢追跡器426によって決定される、HMD112Aの現在の姿勢、および基準系内の利用可能な身体位置情報、通常はHMD112Aの視点に従って、ユーザ102に表示するための人工コンテンツを構築する。現在の視点、および、他のユーザのHMD112Bおよび112Cから受信する姿勢情報および身体位置調整情報に基づいて、レンダリングエンジン422は、ユーザ102の実世界3D環境上に、場合によっては少なくとも部分的にオーバーレイされてもよい3Dの人工現実コンテンツを構築する。本プロセスの間、姿勢追跡器426は、ユーザ102による動き、および/または、ユーザ102に関する特徴追跡情報などの、実世界環境内の3D情報をキャプチャするために、画像キャプチャデバイス138および動きセンサ106からの画像データなどのHMD112Aから受信するデータ、たとえば、移動情報およびユーザコマンドなどに関して動作する。姿勢追跡器426は、他の同じ場所にいるユーザのHMD112Bおよび112C上の画像キャプチャデバイスおよびセンサにより2Dおよび3D情報をキャプチャする、他の同じ場所にいるユーザの同様に設定されたHMD112Bおよび112Cから受信する類似のデータに関しても動作する。ローカルHMD112A上に収集されるデータ、ならびに他の同じ場所にいるユーザのHMD112Bおよび112Cから受信するデータの両方に基づいて、姿勢追跡器426は、HMD112Aの基準系内のHMD112Aのユーザの現在の姿勢および身体位置を決定し、現在の姿勢および骨格位置調整情報に従って、ユーザ102に表示するための人工現実コンテンツを構築する。
姿勢追跡器426は、身体位置追跡器452と、姿勢インテグレータ442とを含む。身体位置追跡器452は、画像データに現れる同じ場所にいるユーザの身体位置調整を決定するために、画像キャプチャデバイス138を介して受信した画像データおよび他のセンサデータを分析する。いくつかの態様では、身体位置追跡器452は、さまざまな身体位置を認識するようにトレーニングされた機械学習モデルを通して、画像データを処理することができる。たとえば、いくつかの態様では、機械学習モデルは、膝、手首、肩などの関節を含む骨格位置を認識するようにトレーニングされてもよい。いくつかの態様では、機械学習モデルは、頭、首、胴、腕、前腕、大腿、脚、および足セグメントなどの身体セグメントを認識するようにトレーニングされてもよい。いくつかの態様では、機械学習モデルは、骨格点および身体セグメントを両方とも認識するようにトレーニングされてもよい。身体位置追跡器452は、HMD112Aのユーザ、および、画像データに現れる他の同じ場所にいるユーザの身体位置情報を決定するために、画像データを分析することができる。身体位置情報は、身体位置追跡器452によって検出された身体位置のための、おそらく、機械学習モデルによって割り振られる、信頼水準を含むことができる。
姿勢インテグレータ442は、HMD112Aに関して決定された姿勢および身体位置情報を、他の同じ場所にいるHMD(たとえば、HMD112Bおよび112C)に関して決定された姿勢および身体位置情報と一体化する。姿勢インテグレータ542は、ネットワーク104を介して、同じ場所にいるHMDから2Dまたは3D姿勢および身体位置情報を受信することができる。2Dまたは3D姿勢および身体位置情報は、同じ場所にいるユーザの姿勢および身体位置に関する部分的な情報、すなわち、不完全な情報であってもよい。次いで、姿勢インテグレータ442は、HMD112Aの視界の中のすべての同じ場所にいるユーザの正確な姿勢および身体位置情報を解析するために、局所的に決定された姿勢および身体位置情報を、同じ場所にいるHMDから受信した姿勢および身体位置情報と一体化することができる。いくつかの態様において、姿勢および身体位置の正確さは、さまざまな同じ場所にいるユーザの異なる角度からとられた画像データから決定された身体位置情報を入手することで向上させることができる。さらに、姿勢および身体位置情報の正確さは、HMD112Aが局所的に利用可能ではない身体位置情報を埋めるまたは増強するために使用することができる身体位置情報を入手することで向上させることができる。たとえば、HMD112Aは、HMD112Aに近い画像データおよび他のデータから決定された姿勢および身体位置情報を埋めるまたは増強するために、他のHMD(たとえば、HMD112Bおよび/またはHMD112C)から受信した姿勢および身体位置情報を使用することができる。
姿勢インテグレータ442は、同じ場所にいるユーザの姿勢および身体位置を解析するために、さまざまなデータを使用することができる。たとえば、いくつかの態様において、姿勢インテグレータ442は、どの身体位置データを使用するか決定するために、または、身体位置データの影響に重み付けするために、身体位置情報と関連付けられた信頼水準を使用してもよい。
いくつかの態様において、HMD112Aは、同じ場所にいるHMD112から受信したマッピング情報を使用して、物理3D環境のマッピングデータ448を生成するように設定されたマッピングエンジン446を含んでもよい。マッピングエンジン446は、たとえば、HMD112の局所的な姿勢および/またはHMD112の追跡情報に関して、画像キャプチャデバイス138によってキャプチャされた画像の形態でマッピング情報を受信してもよい。マッピングエンジン446は、画像のシーンのトポグラフィを決定するためのマップ点を識別するために画像データを処理してもよく、HMD112Aが動作する物理3D環境の領域を記述するマップデータ448を生成するためにマップ点を使用してもよい。マッピングエンジン446は、同じ場所にいるHMD112が経時的に動作する領域のマップを連続的に生成してもよい。
骨格位置追跡器452および姿勢インテグレータ442を含む、姿勢追跡器426の動作のさらなる詳細は、図6に関して以下で提供される。
図5は、同じ場所にいるユーザに対する姿勢追跡および身体位置追跡が、図1Bの人工現実システムのコンソールおよびHMDの例示的な例によって実行される例示的実施態様を示すブロック図である。図5の例において、コンソール106は、HMD112A、112B、および112Cから受信される画像および動きデータなどの感知データに基づき、本明細書で説明される技法に従って、HMD112A、112B、および112Cのための姿勢追跡およびレンダリングを実行する。
図4に類似の本例において、HMD112Aは、いくつかの例ではオペレーティングシステム405を実行するためのコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ402およびメモリ404を含み、オペレーティングシステム405は、たとえば埋め込み型リアルタイムマルチタスクオペレーティングシステム、または、他のタイプのオペレーティングシステムであってもよい。オペレーティングシステム405は、1つまたは複数のソフトウェア構成要素527を実行するためのマルチタスクオペレーティング環境を提供する。さらに、プロセッサ402は、電子ディスプレイ303、動きセンサ306、および画像キャプチャデバイス138に結合される。HMD112Bおよび112Cは、HMD112Aと同様に設定されてもよい。
一般に、コンソール106は、姿勢追跡およびHMD112のためのコンテンツレンダリングを実行するために、カメラ102(図1B)および/またはHMD112から受信した画像および骨格位置情報を処理するコンピューティングデバイスである。いくつかの例において、コンソール106は、ワークステーション、デスクトップコンピュータ、ラップトップ、またはゲームシステムなどの、単一のコンピューティングデバイスである。いくつかの例において、プロセッサ512および/またはメモリ514などの、コンソール106の少なくとも一部は、クラウドコンピューティングシステム、データセンタ、あるいは、インターネット、別のパブリックまたはプライベート通信ネットワーク、たとえば、ブロードバンド、セルラ方式、Wi-Fi、および/または、コンピューティングシステム、サーバ、およびコンピューティングデバイスの間でデータを送信するための他のタイプの通信ネットワークなどのネットワークにまたがって分散されてもよい。
図5の例において、コンソール106は、いくつかの例ではオペレーティングシステム516を実行するためのコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ512およびメモリ514を含み、オペレーティングシステム516は、たとえば埋め込み型リアルタイムマルチタスクオペレーティングシステム、または、他のタイプのオペレーティングシステムであってもよい。オペレーティングシステム516は、1つまたは複数のソフトウェア構成要素517を実行するためのマルチタスクオペレーティング環境を提供する。プロセッサ512は、キーボード、ゲームコントローラ、ディスプレイデバイス、画像キャプチャデバイス、HMDなどの外部デバイスと通信するためのI/Oインターフェースを提供する、1つまたは複数のI/Oインターフェース515に結合される。さらに、1つまたは複数のI/Oインターフェース515は、ネットワーク104などのネットワークと通信するために、1つまたは複数の有線または無線のネットワークインターフェースコントローラ(NIC)を含んでもよい。プロセッサ402、512のそれぞれは、マルチコアプロセッサ、コントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または等価の離散または集積論理回路要素のうちの、いずれか1つまたは複数を備えることができる。メモリ404、514は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、およびフラッシュメモリなどの、データおよび実行可能ソフトウェア命令を記憶するための、任意の形態のメモリを備えてもよい。
コンソール106のソフトウェアアプリケーション517は、全人工現実アプリケーションを提供するように動作する。本例では、ソフトウェアアプリケーション517は、アプリケーションエンジン520、レンダリングエンジン522、姿勢追跡器526、およびマッピングエンジン546を含む。
一般に、アプリケーションエンジン520は、人工現実アプリケーション、たとえばテレビ会議アプリケーション、ゲームアプリケーション、ナビゲーションアプリケーション、教育アプリケーション、トレーニングまたはシミュレーションアプリケーションなどを、提供および提示するための機能を含む。アプリケーションエンジン520は、たとえば、1つまたは複数のソフトウェアパッケージ、ソフトウェアライブラリ、ハードウェアドライバ、および/または、コンソール106上で人工現実アプリケーションを実装するためのアプリケーションプログラムインターフェース(API)を含んでもよい。アプリケーションエンジン520による制御に応答して、レンダリングエンジン522は、HMD112(たとえば、HMD112A、112B、および112C)のアプリケーションエンジン440によって、ユーザに表示するための3D人工現実コンテンツを生成する。
アプリケーションエンジン520およびレンダリングエンジン522は、姿勢追跡器526によって決定される、ユーザのそれぞれのHMD112の現在の姿勢情報および基準系内の身体位置情報、通常はそれぞれの同じ場所にいるHMD112の視点に従って、ユーザ102のそれぞれに表示するための人工コンテンツを構築する。現在の視点に基づいて、レンダリングエンジン522は、ユーザ102の実世界3D環境上に、場合によっては少なくとも部分的にオーバーレイされてもよい3Dの人工現実コンテンツを構築する。本プロセスの間、姿勢追跡器526は、ユーザ102による動き、および/または、ユーザ102に関する身体位置追跡情報などの、実世界環境内の3D情報をキャプチャするために、HMD112上のセンサからの画像データ、および、いくつかの例では、外部カメラなどの任意の外部センサ90(図1B)からのデータなどの、それぞれの同じ場所にいるHMD112から受信する感知データに関して動作する。感知データに基づいて、姿勢追跡器526は、それぞれのHMD112の基準系内のそれぞれの同じ場所にいるHMD112の現在の姿勢を決定し、現在の姿勢および身体位置情報に従って、ユーザ102に表示するために、1つまたは複数のI/Oインターフェース415、515を介してHMD112に通信するための人工現実コンテンツを構築する。
図4に対して上で説明された姿勢追跡器426と同様に、姿勢追跡器526は、身体位置追跡器552と、姿勢インテグレータ542とを含む。身体位置追跡器552は、画像データに現れる同じ場所にいるユーザの身体位置調整を決定するために、画像キャプチャデバイスを介して受信した画像データおよび他のセンサデータを分析する。いくつかの態様では、身体位置追跡器552は、骨格位置および身体セグメント位置を含む、さまざまな身体位置を認識するようにトレーニングされた機械学習モデルを通して、画像データを処理することができる。身体位置追跡器552は、画像データに現れる同じ場所にいるユーザ102の身体位置データを決定するために、それぞれの同じ場所にいるHMDから受信した画像データを分析することができる。身体位置データは、身体位置追跡器552によって検出された身体位置のための、おそらく、機械学習モデルによって割り振られる、信頼水準を含むことができる。
姿勢インテグレータ542は、姿勢追跡器526および身体位置追跡器552によって決定された姿勢および身体位置情報位置情報を一体化する。次いで、姿勢インテグレータ542は、各HMD112の視界の中のすべての同じ場所にいるユーザの正確な姿勢および身体位置情報を解析するために、同じ場所にいるHMDのそれぞれの姿勢および身体位置情報を一体化することができる。いくつかの態様において、姿勢および身体位置の正確さは、さまざまな同じ場所にいるユーザの異なる角度からとられた画像データを入手することで向上させることができる。
姿勢インテグレータ542は、同じ場所にいるユーザの姿勢および骨格位置を解析するために、さまざまなデータを使用することができる。たとえば、いくつかの態様において、姿勢インテグレータ542は、どの骨格位置データを使用するか決定するために、または、骨格位置データの影響に重み付けするために、身体位置と関連付けられた信頼水準を使用してもよい。
いくつかの態様において、コンソール106は、同じ場所にいるHMD112から受信したマッピング情報を使用して、物理3D環境のマッピングデータ448を生成するように設定されたマッピングエンジン546を含んでもよい。マッピングエンジン546は、たとえば、HMD112の画像キャプチャデバイス138によってキャプチャされた画像および/またはHMD112の追跡情報の形態でマッピング情報を受信してもよい。マッピングエンジン546は、画像のシーンのトポグラフィを決定するためのマップ点を識別するために画像を処理してもよく、同じ場所にいるHMD112が動作する物理3D環境の領域を記述するマップデータ448を生成するためにマップ点を使用してもよい。マッピングエンジン546は、同じ場所にいるHMD112が経時的に動作する領域のマップを連続的に生成してもよい。
骨格位置追跡器552および姿勢インテグレータ542を含む、姿勢追跡器526の動作のさらなる詳細は、図7に関して以下で提供される。
図6は、本開示の態様に従った、HMDの同じ場所にいるユーザの姿勢および身体位置を決定するための方法の例示的な動作を示すフローチャート600である。フローチャート600で説明される例示的な動作のいくつかは、定期的にまたはイベントに応じて実行することができる。たとえば、例示的な動作は、人工現実システムにHMD112上に提示するための表示フレームをレンダリングさせる表示フレーム生成イベントに対する応答の一部として実行することができる。以下で説明される動作は、それぞれの同じ場所にいるユーザのそれぞれのHMD112上のアプリケーションエンジンによって少なくとも部分的に提供される、マルチユーザ人工現実体験に参加している同じ場所にいるユーザの各HMD112によって実行することができる。以下の動作は、同じ場所にいるユーザの1つのHMD112の目線から説明される。
HMD112上のアプリケーションエンジンは、HMD112上のマルチユーザ人工現実アプリケーションを初期化することができる(602)。いくつかの態様において、HMD112がアプリケーションを実行する最初のHMDである場合、アプリケーションは無線ネットワークを確立してもよい。たとえば、アプリケーションは、アプリケーションに参加している他の同じ場所にいるユーザのHMD112と通信に使用するために、アドホック無線ネットワークを確立してもよい。HMD112がアプリケーションを実行する最初のHMDではない場合、HMDは、すでに確立されたネットワークに参加してもよい。いくつかの態様において、アプリケーション初期化手順は、姿勢および身体位置情報をアプリケーションの他の同じ場所にいるユーザのHMDと共有するために、ユーザから許可を得ることも含むことができる。さらなる初期化手順は、マッピングエンジン446が、ユーザの位置および他の同じ場所にいるユーザの位置の推定値を有するマップデータ448を初期化することを含むことができる。
HMD112の姿勢追跡器426は、HMD112の1つまたは複数の搭載された画像キャプチャデバイス138、および、おそらくは他のセンサから受信する画像データおよび他のセンサデータに現れるユーザおよび同じ場所にいるユーザの2Dまたは3D姿勢および身体位置情報を決定することができる(604)。いくつかの態様では、画像データに現れているユーザの身体位置は、骨格位置(たとえば、肘、手首、肩、膝、股関節などの関節)などのさまざまな身体位置、ならびに/または、身体セグメント(たとえば、頭、首、胴、腕、前腕、大腿、脚など)を認識するようにトレーニングされた機械学習モデルに画像データを通すことによって決定することができる。身体位置情報は、位置推定値の機械学習モデルの信頼性を示す各関節、セグメント、または他の位置ごとの信頼値と関連付けられてもよい。身体位置認識の他の方法は、可能であり、本開示の範囲内である。いくつかの態様では、身体位置は、身体位置を識別するために従来のシステムで使用される、関節、セグメント、または他の身体部分に付けられるマーカまたは他のデバイスの助けを借りずに決定される。
次いで、HMD112は、他の同じ場所にいるユーザとの共同マッピング空間におけるユーザの位置を決定することができる(606)。たとえば、マッピングエンジン446は、ユーザおよび他の同じ場所にいるユーザの相対位置を決定するために、画像データおよび他のセンサデータを使用してもよい。次いで、HMD112は、他の同じ場所にいるユーザの位置に対して、共有マップにおけるユーザの位置を較正することができる。
HMD112は、人工現実アプリケーションに参加している他の同じ場所にいるHMDによる使用のために、ネットワークを通して、HMD112の視界(および、関連する信頼値)の中である、ユーザのHMD112によって決定された姿勢および身体位置情報を送信することができる(608)。送信される姿勢および身体位置情報は、2Dまたは3D情報であってもよい。さらに、送信される姿勢および身体位置情報は、不完全情報であってもよい。たとえば、身体位置情報は、それぞれのHMD112の視界の中にある関節またはセグメントに関して提供されてもよく、それぞれのHMD112の視界の中にない関節またはセグメントに関するデータを省いてもよい。姿勢および身体位置情報は、共有マップに対して提供されてもよい。いくつかの態様では、姿勢および身体位置情報は、共有マップ内の相対または絶対位置を備える情報の完全なセットであってもよい。いくつかの態様では、前フレームから変わった情報のみ送信される。
同様に、HMD112は、人工現実アプリケーションに参加している他の同じ場所にいるHMDから、姿勢および身体位置情報を受信することができる(610)。受信した姿勢および身体位置情報は、他の同じ場所にいるHMDによって決定される、HMD112のユーザの姿勢および身体位置情報を含んでもよく、同じ場所にいるHMDがそれらが提供する値において有する信頼性を表す、関連する信頼水準を含んでもよい。身体位置情報は不完全であってもよい。たとえば、HMD112から受信する身体情報は、対応するHMD112の視界に中である関節および/または身体セグメントの情報のみ含んでもよい。受信する姿勢および身体位置情報は、2Dまたは3D情報である可能性がある。
ユーザのHMD112上の姿勢インテグレータ442は、同じ場所にいるユーザの解析された姿勢および身体位置情報を決定するために、局所的に決定された姿勢および身体位置情報を、他の同じ場所にいるユーザのHMD112から受信した姿勢および身体位置情報と一体化することができる(612)。姿勢および身体位置情報の一体化は、さまざまな方法で実行することができる。たとえば、いくつかの態様では、他の同じ場所にいるHMD112から受信した姿勢および身体位置情報の信頼水準は、一体化を実行するHMD112のユーザの解析された姿勢および身体位置情報を決定するために使用することができる。たとえば、HMD112Aは、HMD112Aのユーザ102Aの解析された身体位置情報を決定してもよい。いくつかの態様では、最も高い信頼水準を有する身体位置情報を、解析された身体位置として使用することができる。いくつかの態様では、解析された身体位置情報は、同じ場所にいるユーザのHMD112から受信した身体位置情報の組合せに基づくことができる。たとえば、各HMDの112の身体位置情報の信頼水準は、解析された身体位置へのそれぞれのHMDの寄与を重み付けするために使用することができる。いくつかの態様では、優先権またはより大きい重みが、ユーザのHMD112により近い身体位置情報に与えられてもよい。いくつかの態様では、HMD112Aは、他の同じ場所にいるユーザ(たとえば、HMD112Bおよび112Cのユーザ)の解析された身体位置情報も決定してもよい。HMD112Aは、他のユーザの解析された身体位置情報を決定するために、上述の技法のうちのいずれの技法を使用してもよい。
特に、多くのユーザがマルチユーザ人工現実アプリケーションに参加している場合に、処理リソースに過度な負担をかけることを避けるために、さまざまな技法を使用することができる。いくつかの態様では、姿勢一体化プロセスの間に、一部のデータを除去してもよい。たとえば、所定のまたは設定可能な閾値を超えて位置するユーザから受信した姿勢および身体位置情報は、無視してもよい。近いHMDから得られるデータは、より遠く離れたHMDからのデータよりも信頼性が高いので、これは望ましいことがある。同様に、いくつかの態様では、上位n位までの近さのユーザから受信する姿勢および身体位置情報は使用してもよく、一方、上位n位までの近さではないユーザからの情報は無視してもよい。nの値は、存在する同じ場所にいるユーザの数に応じて変えてもよい。データ値の変化が所定のまたは設定可能な閾値を超えたときのみ一体化動作を実行するために、さらなる技法を使用することができる。
次いで、HMD112は、ネットワーク104を介して、他の同じ場所にいるHMDにユーザおよび同じ場所にいるユーザの解析された3D姿勢および身体位置情報を送信する(614)。HMD112も、他の同じ場所にいるHMDから解析された3D姿勢および身体位置情報を受信してもよい(616)。
HMD112の上のレンダリングエンジン422は、解析された姿勢および身体位置情報に基づいて、人工現実コンテンツをレンダリングすることができる(618)。たとえば、レンダリングエンジンは、ユーザのアバターが、ユーザと関連付けられた解析された身体位置情報によって決定されたのと同じ位置でポーズをとるように、関連するユーザの解析された身体位置情報上にアバター特性をマッピングすることができる。アバター特性は、衣類、身体形状、皮膚の色調、および他の特性を含むことができる。
図7は、本開示のさらなる態様に従った、HMDの同じ場所にいるユーザに対する姿勢および骨格位置を決定するための方法の例示的な動作を示すフローチャート700である。図6のフローチャート600と同様に、フローチャート600で説明される例示的な動作のいくつかは、定期的にまたはイベントに応じて実行することができる。たとえば、例示的な動作は、人工現実システムにHMD112上に提示するための表示フレームをレンダリングさせる表示フレーム生成イベントに対する応答の一部として実行することができる。以下で説明される動作の一部または全部は、少なくとも部分的に、コンソール106およびそれぞれの同じ場所にいるユーザのそれぞれのHMD112上のアプリケーションエンジンによって提供されるマルチユーザ人工現実体験に参加している同じ場所にいるユーザのHMD112と通信するコンソール106で実行することができる。
コンソール106上のアプリケーションエンジンは、マルチユーザ人工現実アプリケーションを初期化することができる(702)。いくつかの態様では、コンソール106は無線ネットワークを確立してもよい。たとえば、アプリケーションは、アプリケーションに参加している他の同じ場所にいるユーザのHMD112と通信に使用するために、アドホック無線ネットワークを確立してもよい。いくつかの態様では、アプリケーション初期化手順は、姿勢および骨格位置情報をアプリケーションの他の同じ場所にいるユーザのHMDと共有するために、ユーザから許可を得ることも含むことができる。さらなる初期化手順は、マッピングエンジン546が、参加している同じ場所にいるユーザの位置の現在の推定値を有するマップデータ448を初期化することを含むことができる。
コンソール106の姿勢追跡器526は、同じ場所にいるユーザの姿勢および身体位置情報を決定することができる(704)。いくつかの態様では、コンソール106は、同じ場所にいるユーザのHMD112のそれぞれから画像データを受信し、(もしあれば)HMD112から受信した他のデータとともに画像データを使用して、画像データおよび他のセンサデータに現れる同じ場所にいるユーザの姿勢および身体位置情報を決定してもよい。いくつかの態様では、画像データに現れているユーザの身体位置は、骨格点(たとえば、肘、手首、肩、膝、股関節などの関節)などのさまざまな身体位置、ならびに/または、身体セグメント(たとえば、頭、首、胴、腕、前腕、手、大腿、脚、足など)を認識するようにトレーニングされた機械学習モデルに画像データを通すことによって決定することができる。身体位置情報は、位置推定値の機械学習モデルの信頼性を示す各関節、身体セグメント、または他の位置ごとの信頼値と関連付けられてもよい。身体位置認識の他の方法は、可能であり、本開示の範囲内である。いくつかの態様では、身体位置情報は、身体位置を識別するために従来のシステムで使用される、関節または他の身体部分に付けられるマーカまたは他のデバイスの助けを借りずに、姿勢追跡器526によって決定される。
いくつかの態様では、同じ場所にいるユーザのHMD112の一部または全部は、自身の姿勢および身体位置情報を決定してもよい。このような態様では、コンソールは、それぞれのHMD112から姿勢および身体位置情報を受信してもよく、同じ場所にいるHMD112の一部または全部から画像データを受信しなくてもよい。姿勢および身体位置情報は、2Dまたは3D情報であってもよい。
コンソール106は、共同マッピング空間における同じ場所にいるユーザの位置を決定することができる(706)。たとえば、マッピングエンジン546は、同じ場所にいるユーザの相対位置を決定するために、HMD112から受信する画像データ、姿勢データ、および/または他のセンサデータを使用してもよい。次いで、コンソール106は、他の同じ場所にいるユーザの位置に対して、共有マップにおけるユーザの位置を較正することができる。
コンソール106の姿勢インテグレータ542は、同じ場所にいるユーザの解析された姿勢および身体位置情報を決定するために、同じ場所にいるユーザのHMD112からの画像データ、姿勢情報、身体位置調整情報、および/またはセンサデータに基づいて決定された姿勢および身体位置情報を一体化することができる(708)。姿勢および身体位置情報の一体化は、図6に対して上で論じられたように実行することができる。たとえば、いくつかの態様では、姿勢および身体位置情報の信頼水準は、解析された姿勢および身体位置情報を決定するために使用することができる。いくつかの態様では、最も高い信頼水準を有する身体位置情報を、解析された身体位置情報として使用することができる。いくつかの態様では、同じ場所にいるユーザのHMD112から受信した身体位置情報を、解析された身体位置情報を決定するために使用されるそれぞれのHMD112からの情報を重み付けするために、信頼水準を使用して組み合わせることができる。
コンソール106上のレンダリングエンジン522は、解析された姿勢および身体位置情報に基づいて、ARコンテンツをレンダリングすることができる(710)。たとえば、レンダリングエンジン522は、ユーザのアバターが、ユーザと関連付けられた解析された身体位置情報によって決定されたのと同じ位置でポーズをとるように、関連するユーザの解析された身体位置情報上にアバター特性をマッピングすることができる。アバター特性は、衣類、身体形状、皮膚の色調、および他の特性を含むことができる。
本開示で説明される技法は、少なくとも部分的に、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装可能である。たとえば、説明される技法のさまざまな態様は、1つまたは複数のマイクロプロセッサ、DSP、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または任意の他の等価の集積または離散論理回路要素、ならびに、このような構成要素の任意の組合せを含む、1つまたは複数のプロセッサ内に実装されてもよい。「プロセッサ」または「処理回路要素」という用語は、一般に、単独の、あるいは他の論理回路要素または任意の他の等価の回路要素と組み合わせた、前述の論理回路要素のいずれかを指してもよい。ハードウェアを備える制御ユニットはまた、本開示の技法のうちの1つまたは複数を実行してもよい。
このようなハードウェア、ソフトウェア、およびファームウェアは、本開示で説明されるさまざまな動作および機能をサポートするために、同じデバイス内または別々のデバイス内に実装されてもよい。加えて、説明されるユニット、モジュール、または構成要素のうちのいずれかは、まとめて実装されてもよく、または、離散しているが相互運用可能な論理デバイスとして別々に実装されてもよい。モジュールまたはユニットとしての異なる特徴の説明は、異なる機能的態様を強調することが意図され、このようなモジュールまたはユニットが別々のハードウェアまたはソフトウェア構成要素によって具体化されなければならないことを必ずしも示唆していない。むしろ、1つまたは複数のモジュールまたはユニットに関連付けられた機能は、別々のハードウェアまたはソフトウェア構成要素によって実行されてもよく、あるいは、共通または別々のハードウェアまたはソフトウェア構成要素内に組み込まれてもよい。
本開示で説明される技法はまた、命令を含む、コンピュータ可読記憶媒体などの、コンピュータ可読媒体内で具体化または符号化されてもよい。コンピュータ可読記憶媒体に組み込まれたまたは符号化された命令は、たとえば命令が実行されたとき、プログラマブルプロセッサまたは他のプロセッサに方法を実行させることができる。コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリ、ハードディスク、CD-ROM、フロッピーディスク、カセット、磁気媒体、光媒体、または他のコンピュータ可読媒体を含んでもよい。
本明細書においてさまざまな例を用いて説明したように、本開示の技法は、人工現実システムを含んでもよく、または、人工現実システムに関連して実装されてもよい。説明されたように、人工現実は、ユーザに提示する前に何らかの様式で調整された現実の形態であり、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいは、それらの何らかの組合せおよび/または派生物を含んでもよい。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、実世界写真)と組み合わせて生成されたコンテンツを含んでもよい。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含んでもよく、そのうちのいずれかを単一チャネルまたは複数チャネル(視聴者に対して3次元効果を生成するステレオビデオなど)で提示することができる。加えて、いくつかの実施形態では、人工現実は、たとえば、人工現実でコンテンツを作成するために使用される、および/または、人工現実で使用される(たとえば、活動を行う)、アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せに関連付けられてもよい。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントデバイス(HMD)、スタンドアロン型HMD、モバイルデバイスまたはコンピューティングシステム、あるいは、人工現実コンテンツを1人または複数人の視聴者に提供することが可能な任意の他のハードウェアプラットフォームを含む、さまざまなプラットフォームに実装されてもよい。

Claims (15)

  1. 第1のヘッドマウントディスプレイ(HMD)の画像キャプチャデバイスから、物理環境を表す第1の画像データを取得することと、
    前記第1のHMDの位置および向きを表す第1のHMD姿勢を決定することと、
    前記第1の画像データから、前記物理環境内の1つまたは複数の第2のHMDのユーザの第1の身体位置情報を決定することと、
    前記第1のHMDによって、前記1つまたは複数の第2のHMDによる使用のための前記第1のHMD姿勢および前記第1の身体位置情報を送信することと、
    前記第1のHMDによって、前記1つまたは複数の第2のHMDの各第2のHMDから、前記それぞれの第2のHMDの第2のHMD姿勢、および前記第2のHMDによって取得された第2の画像データから前記第2のHMDによって決定された第2の身体位置情報を受信することと、
    前記第1のHMDの前記ユーザの第1の解析された身体位置情報を作成するために、前記第1のHMDによって、前記第1の身体位置情報を前記第2の身体位置情報と一体化することと、
    前記第1のHMDで表示するために、前記第1の姿勢および前記第1の解析された身体位置情報に従って人工現実コンテンツをレンダリングすることと
    を含む、
    方法。
  2. 前記第1のHMDによって、前記1つまたは複数の第2のHMDによる使用のための前記第1の解析された身体位置情報を送信することと、
    前記第1のHMDによって、前記1つまたは複数の第2のHMDのユーザの第2の解析された身体位置情報を受信することと
    をさらに含み、
    前記人工現実コンテンツをレンダリングすることが、前記第2の解析された身体位置情報に従って前記人工現実コンテンツをレンダリングすることを含む、
    請求項1に記載の方法。
  3. 前記第2の身体位置情報が、前記第1のHMDの前記ユーザの身体位置情報を含む、
    請求項1または2に記載の方法。
  4. 前記第1の身体位置情報および前記第2の身体位置情報の信頼水準を受信すること
    をさらに含み、
    前記第1の身体位置情報および前記第2の身体位置情報を一体化することが、前記信頼水準に従って前記第1の身体位置情報および前記第2の身体位置情報を一体化することを含む、
    請求項1から3のいずれか一項に記載の方法。
  5. 前記信頼水準に従って前記第1の身体位置情報および前記第2の身体位置情報を一体化することが、少なくとも部分的に前記信頼水準に基づいて、前記第1の身体位置情報および前記第2の身体位置情報に割り振られた重みに従って、前記第1の身体位置情報および前記第2の身体位置情報を一体化することを含む、
    請求項4に記載の方法。
  6. 前記1つまたは複数の第2のHMDのうち前記第1のHMDから閾値距離より離れた第2のHMDからの、前記第1のHMDによって受信された身体情報を、前記第2の身体位置情報からフィルタリングすること
    をさらに含む、
    請求項1から5のいずれか一項に記載の方法。
  7. 前記1つまたは複数の第2のHMDのうち前記第1のHMDに最も近いn個の第2のHMDの1つではない第2のHMDからの、前記第1のHMDによって受信された身体位置情報を、前記第2の身体位置情報からフィルタリングすること
    をさらに含み、
    ここで、nが所定のまたは設定可能な数である、
    請求項1から6のいずれか一項に記載の方法。
  8. 前記1つまたは複数の第2のHMDの前記ユーザの前記第1の身体位置情報を決定することが、身体位置を認識するようにトレーニングされた機械学習モデルに前記第1の画像データを通すことを含む、
    請求項1から7のいずれか一項に記載の方法。
  9. 前記1つまたは複数の第2のHMDの前記ユーザの前記第1の身体位置情報を決定することが、前記ユーザにマーカを配設せずに、前記第1の画像データから、前記ユーザの前記第1の身体位置情報を決定することを含む、
    請求項1から8のいずれか一項に記載の方法。
  10. 人工現実システムであって、
    物理環境を表す第1の画像データをキャプチャするように設定された画像キャプチャデバイスと、
    人工現実コンテンツを出力するように設定された第1のヘッドマウントディスプレイ(HMD)と、
    前記第1のHMDの位置および向きを表す第1のHMD姿勢を決定し、
    前記第1の画像データから、前記物理環境内の1つまたは複数の第2のHMDのユーザの第1の身体位置情報を決定し、
    前記1つまたは複数の第2のHMDによる使用のための前記第1のHMD姿勢および前記第1の身体位置情報を送信し、
    前記1つまたは複数の第2のHMDの各第2のHMDから、前記それぞれの第2のHMDの第2のHMD姿勢、および前記第2のHMDによって取得された第2の画像データから前記第2のHMDによって決定された第2の身体位置情報を受信し、
    前記第1のHMDのユーザの第1の解析された身体位置情報を作成するために、前記第1の身体位置情報を前記第2の身体位置情報と一体化する
    ように設定された姿勢追跡器と、
    前記第1のHMDで表示するために、前記第1のHMD姿勢および前記第1の解析された身体位置情報に従って人工現実コンテンツをレンダリングするように設定されたレンダリングエンジンと
    を備える、
    人工現実システム。
  11. a)前記姿勢追跡器が、
    前記1つまたは複数の第2のHMDによる使用のための前記第1の解析された身体位置情報を送信し、
    前記1つまたは複数の第2のHMDの前記ユーザの第2の解析された身体位置情報を受信する
    ようにさらに設定され、
    前記レンダリングエンジンが、前記第1のHMDで表示するために、前記第2の解析された身体位置情報に従って前記人工現実コンテンツをレンダリングするようにさらに設定される、
    あるいは、
    b)前記第2の身体位置情報が、前記第1のHMDの前記ユーザの身体位置情報を含む、
    あるいは、
    c)前記姿勢追跡器が、前記第1の身体位置情報および前記第2の身体位置情報のための信頼水準を受信するようにさらに設定され、
    前記姿勢追跡器が、前記信頼水準に従って前記第1の身体位置情報および前記第2の身体位置情報を一体化する、
    のうちのいずれか1つまたは複数である、
    請求項10に記載の人工現実システム。
  12. 前記第1のHMDおよび前記1つまたは複数の第2のHMDが、人工現実アプリケーションに参加する、前記物理環境内の同じ場所にあるHMDであり、その場合、任意選択的に、前記人工現実アプリケーションが、前記同じ場所にあるHMDのそれぞれで実行される、
    請求項10または11に記載の人工現実システム。
  13. 前記画像キャプチャデバイスが、前記第1のHMDと一体化される、
    請求項10から12のいずれか一項に記載の人工現実システム。
  14. 命令を備える非一時的コンピュータ可読媒体であって、前記命令は、
    実行されるときに、人工現実システムの1つまたは複数のプロセッサに、
    第1のヘッドマウントディスプレイ(HMD)の画像キャプチャデバイスから、物理環境を表す第1の画像データを取得させ、
    前記第1のHMDの位置および向きを表す第1のHMD姿勢を決定させ、
    前記第1の画像データから、1つまたは複数の第2のHMDのユーザの第1の身体位置情報を決定させ、
    前記第1のHMDによって、前記1つまたは複数の第2のHMDによる使用のための前記第1のHMD姿勢および前記第1の身体位置情報を送信させ、
    前記第1のHMDによって、前記1つまたは複数の第2のHMDの各第2のHMDから、第2のHMD姿勢、および前記第2のHMDによって取得された第2の画像データから前記第2のHMDによって決定された第2の身体位置情報を受信させ、
    前記第1のHMDのユーザの第1の解析された身体位置情報を作成するために、前記第1のHMDによって、前記第1の身体位置情報を前記第2の身体位置情報と一体化させ、
    前記第1のHMDで表示するために、前記第1の姿勢および前記第1の解析された身体位置情報に従って人工現実コンテンツをレンダリングさせる、
    非一時的コンピュータ可読媒体。
  15. a)前記命令が、
    前記第1のHMDによって、前記1つまたは複数の第2のHMDによる使用のための前記第1の解析された身体位置情報を送信し、
    前記第1のHMDによって、前記1つまたは複数の第2のHMDの第2の解析された身体位置情報を受信する
    命令をさらに備え、
    前記人工現実コンテンツをレンダリングする前記命令が、前記第2の解析された身体位置情報に従って前記人工現実コンテンツをレンダリングする命令を備える、
    あるいは、
    b)前記第2の身体位置情報が、前記第1のHMDの前記ユーザの身体位置情報を含む、
    あるいは、
    c)前記命令が、
    前記第1の身体位置情報および前記第2の身体位置情報のための信頼水準を受信する
    命令をさらに備え、
    前記第1の身体位置情報および前記第2の身体位置情報を一体化する前記命令が、前記信頼水準に従って前記第1の身体位置情報および前記第2の身体位置情報を一体化する命令を備える、
    のうちのいずれか1つまたは複数である、
    請求項14に記載の非一時的コンピュータ可読媒体。
JP2022522014A 2019-11-14 2020-10-15 共有人工現実環境における同じ場所での姿勢推定 Pending JP2023501079A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/683,950 2019-11-14
US16/683,950 US11156830B2 (en) 2019-11-14 2019-11-14 Co-located pose estimation in a shared artificial reality environment
PCT/US2020/055712 WO2021096630A1 (en) 2019-11-14 2020-10-15 Co-located pose estimation in a shared artificial reality environment

Publications (1)

Publication Number Publication Date
JP2023501079A true JP2023501079A (ja) 2023-01-18

Family

ID=73060132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022522014A Pending JP2023501079A (ja) 2019-11-14 2020-10-15 共有人工現実環境における同じ場所での姿勢推定

Country Status (6)

Country Link
US (1) US11156830B2 (ja)
EP (1) EP4058870A1 (ja)
JP (1) JP2023501079A (ja)
KR (1) KR20220092998A (ja)
CN (1) CN114730210A (ja)
WO (1) WO2021096630A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409358B2 (en) * 2019-09-12 2022-08-09 New York University System and method for reconstructing a VR avatar with full body pose
US11258738B1 (en) * 2019-09-27 2022-02-22 Snap Inc. Messaging system with circumstance configuration framework
CN112416125A (zh) * 2020-11-17 2021-02-26 青岛小鸟看看科技有限公司 Vr头戴式一体机
KR20220083346A (ko) * 2020-12-11 2022-06-20 삼성전자주식회사 영상 표시 장치의 위치를 추정하는 방법 및 장치
US20240077933A1 (en) * 2022-09-01 2024-03-07 Daekun Kim Co-located full-body gestures
FR3145823A1 (fr) * 2023-02-09 2024-08-16 Orange Animation d’une entité virtuelle associée à un premier utilisateur, procédé de simulation et simulateur de réalité virtuelle

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8457357B2 (en) * 2011-11-09 2013-06-04 Disney Enterprises, Inc. Relative pose estimation of non-overlapping cameras using the motion of subjects in the camera fields of view
KR20150101612A (ko) * 2014-02-27 2015-09-04 엘지전자 주식회사 폐쇄형 시야(Closed-view)를 제공하는 헤드 마운티드 디스플레이 및 그 제어 방법
US9818225B2 (en) * 2014-09-30 2017-11-14 Sony Interactive Entertainment Inc. Synchronizing multiple head-mounted displays to a unified space and correlating movement of objects in the unified space
US9898864B2 (en) 2015-05-28 2018-02-20 Microsoft Technology Licensing, Llc Shared tactile interaction and user safety in shared space multi-person immersive virtual reality
US10657701B2 (en) * 2016-06-30 2020-05-19 Sony Interactive Entertainment Inc. Dynamic entering and leaving of virtual-reality environments navigated by different HMD users
US10445925B2 (en) * 2016-09-30 2019-10-15 Sony Interactive Entertainment Inc. Using a portable device and a head-mounted display to view a shared virtual reality space
US20190279428A1 (en) * 2016-11-14 2019-09-12 Lightcraft Technology Llc Team augmented reality system
US10438394B2 (en) * 2017-03-02 2019-10-08 Colopl, Inc. Information processing method, virtual space delivering system and apparatus therefor
CN110059522B (zh) * 2018-01-19 2021-06-25 北京市商汤科技开发有限公司 人体轮廓关键点检测方法、图像处理方法、装置及设备
US10984586B2 (en) * 2018-07-27 2021-04-20 Microsoft Technology Licensing, Llc Spatial mapping fusion from diverse sensing sources
US10854012B1 (en) * 2019-05-29 2020-12-01 Dell Products, L.P. Concealing loss of distributed simultaneous localization and mapping (SLAM) data in edge cloud architectures

Also Published As

Publication number Publication date
EP4058870A1 (en) 2022-09-21
KR20220092998A (ko) 2022-07-04
US20210149190A1 (en) 2021-05-20
US11156830B2 (en) 2021-10-26
CN114730210A (zh) 2022-07-08
WO2021096630A1 (en) 2021-05-20

Similar Documents

Publication Publication Date Title
US11796309B2 (en) Information processing apparatus, information processing method, and recording medium
US11156830B2 (en) Co-located pose estimation in a shared artificial reality environment
US11194386B1 (en) Artificial reality wearable magnetic sensor system for body pose tracking
US11042028B1 (en) Relative pose data augmentation of tracked devices in virtual environments
US11055920B1 (en) Performing operations using a mirror in an artificial reality environment
RU2664397C2 (ru) Система отображения виртуальной реальности
US9449394B2 (en) Image synthesis device, image synthesis system, image synthesis method and program
CA2835120C (en) Massive simultaneous remote digital presence world
US11199711B2 (en) Enhanced reality systems
WO2016204914A1 (en) Complementary augmented reality
JP7423683B2 (ja) 画像表示システム
CN113366415A (zh) 具有多个接合模式的人工现实系统
US11145126B1 (en) Movement instruction using a mirror in an artificial reality environment
WO2003063086A1 (fr) Systeme de traitement d'images, appareil de traitement d'images, et appareil d'affichage
WO2014108799A2 (en) Apparatus and methods of real time presenting 3d visual effects with stereopsis more realistically and substract reality with external display(s)
US11036987B1 (en) Presenting artificial reality content using a mirror
CN111007939A (zh) 一种基于深度感知的虚拟现实系统空间定位方法
US11073902B1 (en) Using skeletal position to predict virtual boundary activation
WO2018198909A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP7262973B2 (ja) 情報処理装置、情報処理方法及びプログラム
US11887259B2 (en) Method, system, and apparatus for full-body tracking with magnetic fields in virtual reality and augmented reality applications
JP6775669B2 (ja) 情報処理装置
CN111279410A (zh) 显示设备和显示设备控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240514