JP2019525288A - ヘッドマウントディスプレイ内の顔センサを使用する顔および目のトラッキングおよび顔アニメーション - Google Patents

ヘッドマウントディスプレイ内の顔センサを使用する顔および目のトラッキングおよび顔アニメーション Download PDF

Info

Publication number
JP2019525288A
JP2019525288A JP2018563028A JP2018563028A JP2019525288A JP 2019525288 A JP2019525288 A JP 2019525288A JP 2018563028 A JP2018563028 A JP 2018563028A JP 2018563028 A JP2018563028 A JP 2018563028A JP 2019525288 A JP2019525288 A JP 2019525288A
Authority
JP
Japan
Prior art keywords
face
user
hmd
head mounted
mounted display
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.)
Granted
Application number
JP2018563028A
Other languages
English (en)
Other versions
JP6560463B1 (ja
Inventor
カッツ、ドブ
ジョン トクスビグ、マイケル
ジョン トクスビグ、マイケル
ワン、ジーヘン
ポール オマーニック、ティモシー
ポール オマーニック、ティモシー
ロス ハーンドン、トリン
ロス ハーンドン、トリン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Technologies LLC
Original Assignee
Facebook 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
Priority claimed from US15/172,484 external-priority patent/US10430988B2/en
Priority claimed from US15/172,473 external-priority patent/US9959678B2/en
Application filed by Facebook Technologies LLC filed Critical Facebook Technologies LLC
Application granted granted Critical
Publication of JP6560463B1 publication Critical patent/JP6560463B1/ja
Publication of JP2019525288A publication Critical patent/JP2019525288A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

VRシステムのHMDは、HMDを装着したユーザの目および顔をトラッキングするためのセンサを含む。VRシステムは、ユーザの顔のランドマークなどの較正属性を記録する。光源は、HMDによって覆われたユーザの顔の複数の部分を照明して、顔センサは顔データをキャプチャする。VRシステムは顔データを分析して、顔の照明された部分の平面セクションの向きを判定する。VRシステムは、顔の平面セクションを集約し、平面セクションを顔のランドマークにマッピングして、目の方向情報をも含むユーザの顔アニメーションを生成する。顔アニメーションは、仮想アバターとして表現され、ユーザに提示される。顔トラッキングシステムは、ヘッドマウントディスプレイを装着したユーザの顔の一部の仮想レンダリングを生成する。顔トラッキングシステムは、HMD内の顔の複数の部分を照明する。顔トラッキングシステムは、HMD内に配置された1つまたは複数の顔センサを使用して、顔の一部の複数の顔データをキャプチャする。顔の一部の複数の平面セクションは、複数の顔データに少なくとも部分的に基づいて特定される。複数の平面セクションは、顔の1つまたは複数のランドマークにマッピングされる。顔アニメーション情報は、マッピングに少なくとも部分的に基づいて生成され、顔アニメーション情報は、ユーザの顔の一部に対応する仮想顔の一部を表す。

Description

本開示は、一般には、ヘッドマウントディスプレイ(head-mounted displays : HMD)に関し、具体的には、HMD内の目および顔のトラッキングに関する。さらに本開示は、仮想レンダリングに更に関し、具体的には、HMD内のユーザの顔の一部の仮想アニメーションに関する。
バーチャルリアリティ(Virtual reality : VR)システムは、典型的には、バーチャルリアリティ画像を提示する表示スクリーンを含み、この表示スクリーンは、オブジェクトおよびシステムのユーザなどの要素を表示することができる。ユーザは、仮想環境内のアバターによって表現することができる。いくつかのVRシステムでは、アバターは、単一の表情、例えばデフォルトの笑顔または特徴のない表情で描かれ、ユーザが仮想環境において十分に没入感がある体験をすることが妨げられる。顔トラッキングシステムは、より没入感があるインタフェースを提供する。ユーザの表情をトラッキングする既存のシステムは、トラッキングされているユーザの顔上に配置されなければならないマーカー(marker)に加えて、カメラなどの専用周辺機器を含む。これらの従来の周辺機器およびマーカーは、ユーザを仮想環境から人為的に分離する。したがって、既存の顔トラッキングシステムは、携帯型の軽量で高性能なバーチャルリアリティヘッドセットでの使用には不適当である。
一実施形態によれば、VRシステムのヘッドマウントディスプレイ(HMD)は、HMDを装着したユーザの目および顔をトラッキングするためのセンサを含む。VRシステムは、ユーザの顔のランドマークなどの較正属性を記録する。例えば、ランドマークは、ユーザの顔に対するユーザの鼻の位置を表す。較正属性は、包括的な較正属性のオンラインデータベースから取り出すこともできる。HMDは、HMD内に配置された顔センサを含み、いくつかの実施形態では、HMDはまた、HMD内に更に配置された複数の光源を含む。複数の光源は、HMDによって覆われたユーザの顔の複数の部分に光を照射する。これに関連して、顔センサは、顔の照明された部分を表す顔データをキャプチャする。顔データは、顔データフレームと呼ばれる画像とすることができる。この場合、VRシステムは顔データフレームを分析して、顔の照明された部分の平面セクション(すなわち、平面で近似されるユーザの顔の小さな部分)の向きを特定する。特に、VRシステムは、画素の輝度情報を用いて表面の向きを特定する。入射角が反射角に等しい場合に反射光が最も明るいため、画素の輝度は、光源の位置および向き、あるいは光源の位置または向きに依存する。VRシステムは、顔の平面セクションを集約し、平面セクションを顔のランドマークにマッピングして、ユーザの顔を表す顔アニメーション情報を生成する。
さらなる実施形態によれば、VRシステム内のHMDは、HMD内のユーザの顔の一部をトラッキングするための顔トラッキングシステムを含む。顔トラッキングシステムは、1つまたは複数の光源を介して、HMD内のユーザの顔の複数の部分に光を照射する。顔トラッキングシステムは、顔の一部の複数の顔データをキャプチャする。顔データは、HMD内に配置された1つまたは複数の顔センサを用いてキャプチャされる。顔センサは、撮像センサ、非撮像センサ、またはそれらの組み合わせであってもよい。いくつかの実施形態では、顔トラッキングシステムは、複数の顔データに少なくとも部分的に基づいて、顔の一部の複数の平面セクション(すなわち、平面で近似されるユーザの顔の小さな部分)を特定する。顔トラッキングシステムは、複数の平面セクションを顔の1つまたは複数のランドマークにマッピングし、マッピングに少なくとも部分的に基づいて顔アニメーション情報を生成することができる。顔アニメーション情報は、ユーザの顔の一部(例えば、顔データにキャプチャされた一部)を表す。他の実施形態では、顔トラッキングシステムは、例えば、顔アニメーションを生成するコンソールに顔データを提供する。顔トラッキングシステムは、HMDのディスプレイに顔アニメーションを提供してユーザに提示する。
顔アニメーション情報は、ユーザの仮想アバターの顔の複数の部分を更新するために使用されてもよい。例えば、ユーザは、HMDを使用するときに仮想アバターを見て、没入型VR体験を体験する。VRシステムは、HMDを装着したユーザの目をトラッキングすることもできる。したがって、顔アニメーション情報を使用して、ユーザの仮想アバターの目の向きを更新することができる。
本発明によるさらなる実施形態は、システムおよび方法を対象とする添付の請求項で特に開示され、ある請求項のカテゴリ、例えば方法で述べられた任意の特徴は、別の請求項のカテゴリ、例えばシステム、記憶媒体またはコンピュータプログラム製品などでも同様に請求されることができる。添付の請求項の従属性または後方参照は、形式上の理由でのみ選択されている。しかし、任意の先行請求項への意図的な後方参照から生じる任意の主題(特に多項従属)は同様に請求されることができるので、添付の請求項で選ばれた従属性に関係なく、請求項およびその特徴の任意の組合せが開示され、請求されることができる。請求することのできる主題は、添付の請求項に記載される特徴の組合せだけでなく、請求項の特徴の任意の他の組合せも含み、請求項で述べられる各特徴は請求項の任意の他の特徴または他の特徴の組合せと組み合わせることができる。さらに、本明細書で記述または示される実施形態および特徴のいずれも、個別の請求項で、および/または、本明細書で記述もしくは示される任意の実施形態もしくは特徴または添付の請求項の特徴のいずれかとの任意の組合せで請求することができる。
本発明による実施形態において、ヘッドマウントディスプレイ(HMD)は、
HMDを装着したユーザにコンテンツを表示するように構成された表示素子と、
表示素子からの光をHMDの射出瞳に導くように構成された光学ブロックと、
光学ブロックの周りの離散した位置に配置されており、HMD内のユーザの顔の複数の部分を照明するように構成された複数の光源と、
複数の光源のうちの1つまたは複数によって照明された顔の一部の1つまたは複数の顔データをキャプチャするように構成された顔センサと、
顔センサからキャプチャされた複数の顔データを受信し、
キャプチャされた複数の顔データに少なくとも部分的に基づいてユーザの顔の一部を表す顔アニメーション情報を生成するように構成されたコントローラとを備える。
本発明による実施形態において、ヘッドマウントディスプレイ(HMD)は、
HMDを装着したユーザにコンテンツを表示するように構成された表示素子と、
表示素子からの光をHMDの射出瞳に導くように構成された光学ブロックと、
光学ブロックの周りの離散した位置に配置されており、HMD内のユーザの顔の複数の部分を照明するように構成された複数の光源と、
複数の光源のうちの1つまたは複数によって照明された顔の一部の1つまたは複数の顔データをキャプチャするように構成された顔センサと、
顔センサからキャプチャされた複数の顔データを受信し、
キャプチャされた複数の顔データに少なくとも部分的に基づいて、ユーザの顔の一部を表す顔アニメーション情報を生成し、および/または
キャプチャされた顔データをバーチャルリアリティ(VR)コンソールに提供し、
VRコンソールから、キャプチャされた複数の顔データに少なくとも部分的に基づいて、ユーザの顔の一部の仮想アニメーションを受信するように構成されたコントローラとを備えてもよい。
HMDは、表示素子からの光をHMDの射出瞳に導くように構成された光学ブロックを更に備えてもよい。
コントローラは、
較正処理において1つまたは複数の表情を実行するようにユーザに命令を供給し、
顔センサからの1つまたは複数の表情のうちの少なくとも1つに対応する較正属性を受信し、
較正属性に少なくとも部分的に基づいて、ユーザの顔の1つまたは複数のランドマークを特定するように更に構成されてもよく、
ユーザの顔の一部を表す顔アニメーション情報は、1つまたは複数のランドマークに更に基づく。
表示素子は、ユーザにアバターを表示するように構成されてもよく、アバターの顔は、顔アニメーション情報に基づいてもよい。
コントローラは、
複数のキャプチャされた顔データに少なくとも部分的に基づいて顔の一部の複数の表面を特定し、
複数の表面を、顔のセクションを表す1つまたは複数のランドマークにマッピングするように更に構成されてもよく、ユーザの顔の一部を表す顔アニメーション情報は、マッピングに更に基づく。
顔センサは、カメラ、オーディオセンサ、歪みゲージ、電磁センサ、および近接センサからなる群から選択されてもよい。
コントローラは、
顔の複数の部分を照明するように複数の光源に命令を与え、1つまたは複数の顔データをキャプチャするように、複数の光源への命令に協調させて、顔センサに命令を供給するように更に構成されてもよい。
複数の光源は、光学ブロックの周りにリング配置で配置することができ、複数の光源に供給される命令は、複数の光源のうちの1つの光源のみが、所定の時間に顔の複数の部分を照明するように協調される。
コントローラは、
複数の顔データから鏡面反射情報を受信し、
鏡面反射情報に少なくとも部分的に基づいてユーザの目の位置を特定するように更に構成されてもよい。
顔アニメーション情報は、ユーザの目の位置に更に基づいてもよい。
本発明による実施形態において、ヘッドマウントディスプレイ(HMD)は、
HMDを装着したユーザにコンテンツを表示するように構成された表示素子と、
ユーザの視線外の離散した位置に配置された複数の光源であって、HMD内のユーザの顔の複数の部分に光を照射するように構成された複数の光源と、
複数の光源のうちの1つまたは複数によって照明された顔の一部の1つまたは複数の顔データをキャプチャするように構成された顔センサと、
顔センサからキャプチャされた複数の顔データを受信し、
キャプチャされた複数の顔データに少なくとも部分的に基づいてユーザの顔の一部を表す顔アニメーション情報を生成するように構成されたコントローラと、を備える。
本発明による実施形態において、ヘッドマウントディスプレイ(HMD)は、
HMDを装着したユーザにコンテンツを表示するように構成された表示素子と、
表示素子からの光をHMDの射出瞳に導くように構成された光学ブロックと、
光学ブロックの周りの離散した位置に配置されており、HMD内のユーザの顔の複数の部分に光を照射するように構成された複数の光源と、
複数の光源のうちの1つまたは複数によって照明された顔の一部の1つまたは複数の顔データをキャプチャするように構成された顔センサと、
顔センサから複数のキャプチャされた顔データを受信し、
キャプチャされた顔データをバーチャルリアリティ(VR)コンソールに提供し、
VRコンソールから、複数のキャプチャされた顔データに少なくとも部分的に基づいて、ユーザの顔の一部の仮想アニメーションを受信するように構成されたコントローラと、を備えてもよい。
本発明による実施形態では、好ましくは、ヘッドマウントディスプレイ(HMD)を装着したユーザの顔アニメーション情報を提供するための方法は、
1つまたは複数の光源を介して、ヘッドマウントディスプレイ(HMD)内の、HMDを装着したユーザの顔の複数の部分を照明すること、
HMD内に配置された1つまたは複数の顔センサを使用して、顔の一部の複数の顔データをキャプチャすること、
複数の顔データに少なくとも部分的に基づいて、顔の一部の複数の平面セクションを特定すること、
複数の平面セクションを顔の1つまたは複数のランドマークにマッピングすること、マッピングに少なくとも部分的に基づいて、ユーザの顔の一部に対応する仮想顔の一部を表す顔アニメーション情報を生成すること、を含む。
本発明による実施形態では、方法は、
1つまたは複数の光源を介して、ヘッドマウントディスプレイ(HMD)を装着したユーザのHMD内の顔の複数の部分に光を照射すること、
HMD内に配置された1つまたは複数の顔センサを使用して、顔の一部の複数の顔データをキャプチャすること、
複数の顔データに少なくとも部分的に基づいて、顔の一部の複数の平面セクションを特定すること、
複数の平面セクションを顔の1つまたは複数のランドマークにマッピングすること、マッピングに少なくとも部分的に基づいて、ユーザの顔の一部に対応する仮想顔の一部を表す顔アニメーション情報を生成すること、および/または
バーチャルリアリティ(VR)コンソールにマッピングを提供すること、
VRコンソールから、マッピングに少なくとも部分的に基づいて、ユーザの顔の一部を含む仮想顔を表す顔アニメーション情報を受信すること、
顔アニメーション情報をHMDのディスプレイに提供してユーザに提示することを含んでもよい。
本発明による実施形態では、方法は、顔アニメーション情報を使用してアバターの仮想顔を更新すること、
HMDの表示素子に仮想顔を提供してユーザに提示することを更に含んでもよい。
本発明による実施形態では、方法は、較正処理においてユーザが1つまたは複数の表情を実行するための命令を提供すること、
顔センサからの1つまたは複数の表情のうちの少なくとも1つに対応する較正属性を受信すること、
較正属性に少なくとも部分的に基づいて、ユーザの顔の1つまたは複数のランドマークを特定することを更に含んでもよく、
顔アニメーション情報の生成は、顔の1つまたは複数のランドマークに更に基づく。
本発明による実施形態では、方法は、複数のHMDから受信した包括的な較正属性を含むオンラインデータベースに較正属性を格納することを更に含んでもよい。
顔の1つまたは複数のランドマークは、ユーザの目、ユーザの眉、ユーザの鼻、ユーザの口、およびユーザの頬のうちの1つまたは複数の、位置を表してもよい。
顔アニメーション情報は、ユーザの顔の一部の3次元仮想表現を表してもよい。
顔データは画像のフレームを表してもよく、画像は複数の画素を含んでもよく、各画素は画像の座標(x,y)位置に関連付けられ、
複数の顔データに少なくとも部分的に基づいて顔の一部の複数の平面セクション特定することは、
画像の各座標位置について、座標位置における最も明るい画素値に対応する平面セクションを特定すること、
特定された平面セクションの各々に対応する光センサ位置を特定すること、
特定された平面セクションおよび特定された光センサ位置に少なくとも部分的に基づいて、顔の一部の仮想表面を生成すること、を含んでもよく、
顔アニメーション情報を生成することは、仮想表面に更に基づいてもよい。
1つまたは複数の顔センサは、
カメラ、オーディオセンサ、歪みゲージ、電磁センサ、および近接センサからなる群から選択されてもよい。
顔の複数の部分に光を照射することは、
顔の複数の部分に光を照射するように複数の光源に命令を供給すること、
1つまたは複数の顔データをキャプチャするように、複数の光源への命令と協調させて、複数の光源に命令を供給することを含んでもよい。
複数の光源はリング配置で配置され、複数の光源に与えられる命令は、複数の光源のうちの1つの光源のみが所定の時間に顔の複数の部分を照明するように協調されてもよい。
本発明による実施形態では、方法は、複数の顔データから鏡面反射情報を受信すること、
鏡面反射情報に少なくとも部分的に基づいてユーザの目の位置を特定すること、を更に含んでもよい。
顔アニメーション情報は、ユーザの目の位置に更に基づいてもよい。
本発明による一実施形態では、方法は、
ヘッドマウントディスプレイ(HMD)を装着したユーザのHMD内の顔の1つまたは複数のランドマークを含む較正属性を受信すること、
HMD内に配置されてユーザの視線から離れた1つまたは複数の顔センサを使用して、顔の一部の複数の顔データをキャプチャすること、
複数の顔データに少なくとも部分的に基づいて顔の一部の複数の平面セクションの表面を特定すること、
複数の平面セクションを顔の1つまたは複数のランドマークにマッピングすること、
マッピングに少なくとも部分的に基づいて、ユーザの顔の一部を含む仮想顔を表す顔アニメーション情報を生成すること、
顔アニメーション情報をHMDのディスプレイに提供してユーザに提示すること、を含んでもよい。
本発明による実施形態では、方法は、複数のHMDから受信した包括的な較正属性を含むオンラインデータベースに較正属性を格納することを更に含んでもよい。
本発明による実施形態では、方法は、複数の顔データから鏡面反射情報を受信すること、
鏡面反射情報に少なくとも部分的に基づいてユーザの目の位置を特定することを更に含んでもよい。
HMD内に配置されてユーザの視線から離れた1つまたは複数の顔センサを使用して、顔の一部の複数の顔データをキャプチャすることは、複数の光源を用いて顔の複数の部分を照明することを更に含んでもよい。
本発明による実施形態では、好ましくは、ヘッドマウントディスプレイ(HMD)を装着したユーザの顔アニメーション情報を提供するための方法は、
1つまたは複数の光源を介して、ヘッドマウントディスプレイ(HMD)内のHMDを装着したユーザの顔の複数の部分を照明すること、
HMD内に配置された1つまたは複数の顔センサを使用して、顔の一部の複数の顔データをキャプチャすること、
複数の顔データに少なくとも部分的に基づいて顔の複数の平面セクションを特定すること、
複数の平面セクションを顔の1つまたは複数のランドマークにマッピングすること、
バーチャルリアリティ(VR)コンソールにマッピングを提供すること、
VRコンソールから、マッピングに少なくとも部分的に基づいて、ユーザの顔の一部を含む仮想顔を表す顔アニメーション情報を受信すること、
顔アニメーション情報をHMDのディスプレイに提供してユーザに提示することを含んでもよい。
本発明によるさらなる実施形態において、1つ以上のコンピュータ可読非一時的記憶媒体は、本発明または上述の実施形態のいずれかによる方法を実施するように実行されたときに動作可能なソフトウェアを具現化し得る。
本発明によるさらなる実施形態において、システムは、1つ以上のプロセッサと、プロセッサに結合されてプロセッサによって実行可能な命令を含む少なくとも1つのメモリと、を含み得、プロセッサは、本発明または上述の実施形態のいずれかによる方法を実施するための命令を実行するときに動作可能である。
本発明によるさらなる実施形態において、好ましくはコンピュータ可読非一時的記憶媒体を含むコンピュータプログラム製品は、本発明または上述の実施形態のいずれかによる方法を実施するためのデータ処理システム上で実行されるときに動作可能であり得る。
一実施形態によるVRシステムのブロック図である。 一実施形態によるVRシステムの顔トラッキングシステムのブロック図である。 一実施形態によるバーチャルリアリティHMDの配線図である。 一実施形態による、図3に示すバーチャルリアリティHMDの前方剛体の一実施形態の配線図である。 一実施形態による、図4のバーチャルリアリティHMDの前方剛体の断面図である。 一実施形態による、顔アニメーションの処理を示すフローチャートである。
図面は、例示のみの目的のために、本開示の実施形態を示す。当業者は、本明細書に例示の構造および方法の代替実施形態が、本明細書に記載の開示の原理または利点から逸脱することなく採用され得ることを、以下の説明から容易に認識するであろう。
図1は、一実施形態にしたがったVRシステム100のブロック図である。いつくかの実施形態では、VRシステム100は、拡張現実(augmented reality :AR)および/または複合現実(mixed reality :MR)の実施形態において動作する。図1において示されるシステム100は、それぞれコンソール110に結合される、ヘッドマウントディスプレイ(head mounted display :HMD)105、撮像デバイス135、およびVR入力インタフェース140を含む。図1は、1つのHMD105、1つの撮像デバイス135、および1つのVR入力インタフェース140を含む例示的なシステム100を示すが、他の実施形態では、システム100に任意の数のこれらの構成要素が含まれ得る。例えば、それぞれが関連するVR入力インタフェース140を有し、1つ以上の撮像デバイス135によって監視される複数のHMD105が存在し、各HMD105、VR入力インタフェース140、および撮像デバイス135は、コンソール110と通信する。代替的な構成では、異なる構成要素およびさらなる構成要素の両方または一方がシステム100に含まれ得る。
HMD105は、ユーザにコンテンツを提示する。HMD105によって提示されるコンテンツの例としては、1つ以上の画像、映像、音声またはそれらの何らかの組合せが含まれる。いくつかの実施形態では、音声は、HMD105、コンソール110、またはその両方からの音声情報を受信して、音声情報に基づいて音声データを提示する外部デバイス(例えば、スピーカおよびヘッドフォンの両方または一方)を介して提供される。HMD105の実施形態は、図3〜5と併せて以下にさらに説明する。一例では、HMD105は、互いに対して堅固にまたは非堅固に結合される1つ以上の剛体を含み得る。剛体を堅固に結合することにより、結合された剛体は単一の剛性体として機能する。これに対して、剛体を非堅固に結合することにより、剛体は互いに対して可動となる。
HMD105は、電子ディスプレイ115、光学ブロック118、1つまたは複数のロケータ120、1つまたは複数の位置センサ125、慣性計測ユニット(IMU : inertial measurement unit)130、および顔トラッキングシステム160を含む。電子ディスプレイ115は、コンソール110から受信したデータに従ってユーザに画像を表示する。様々な実施形態において、電子ディスプレイ115は、単一の電子ディスプレイまたは複数の電子ディスプレイ(例えば、ユーザのそれぞれの目に対して1つのディスプレイ)を含み得る。電子ディスプレイ115の例としては、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリクス有機発光ダイオードディスプレイ(AMOLED)、何らかの他のディスプレイ、またはそれらの何らかの組合せが含まれる。
光学ブロック118は、電子ディスプレイ115から受光した画像光(image light)を拡大し、画像光に関連する光学的収差を補正し、補正された画像光は、HMD105のユーザに提示される。一実施形態では、光学ブロック118は、1つまたは複数の光学素子および異なる光学素子の組み合わせ、あるいは1つまたは複数の光学素子または異なる光学素子の組み合わせを含む。例えば、光学素子は、口径、フレネルレンズ、凸レンズ、凹レンズ、フィルタ、または電子ディスプレイ115から放出された画像光に影響を与える任意の他の好適な光学素子であってもよい。いくつかの実施形態において、光学ブロック118内の1つまたは複数の光学素子は、反射防止コーティングなどの1つまたは複数のコーティングを有し得る。
光学ブロック118による画像光の拡大により、電子ディスプレイ115を物理的に小型化し、軽量化し、より大きなディスプレイよりも消費電力を削減することが可能となる。また、拡大により、表示コンテンツの視野が広がり得る。例えば、表示コンテンツの視野は、ユーザの視野のほぼすべて(例えば、斜め方向110度)、またはいくつかの場合にはすべてを使用して、表示コンテンツが提示されるというものである。いくつかの実施形態では、光学ブロック118は、その有効焦点距離が、電子ディスプレイ115に対する間隔よりも大きくなるように構成されており、それにより電子ディスプレイ115によって投影された画像光を拡大する。また、いくつかの実施形態では、拡大量は、光学素子を追加または削除することによって調整される。
一実施形態では、光学ブロック118は、固定パターンノイズ(すなわち、スクリーンドア効果)に加えて、1つまたは複数のタイプの光学的収差を補正するように構成されている。光学的収差の例として、2次元光学的収差、3次元光学的収差、またはそれらの何らかの組み合わせが含まれる。2次元誤差は、2次元で生じる光学収差である。2次元誤差のタイプ例として、樽型歪み、ピンクッション歪み、縦方向色収差、横方向色収差、または任意の他のタイプの2次元光学的収差が含まれる。3次元誤差は、3次元で生じる光学的収差である。3次元誤差のタイプ例として、球面収差、コマ収差、像面湾曲、非点収差、または任意の他のタイプの3次元光学的収差が含まれる。いくつかの実施形態では、表示のために電子ディスプレイ115に提供されるコンテンツは事前歪みされ、光学ブロック118は、コンテンツに基づいて生成された電子ディスプレイ115からの画像光を受光するときに歪みを補正する。
複数のロケータ120は、互いに対して、およびHMD105上の特定の基準点に対して、HMD105上の特定の位置に配置された物体である。ロケータ120は、発光ダイオード(LED)、コーナーキューブリフレクタ(corner cube reflector)、反射マーカー、HMD105が動作する環境に対してコントラストをもたらすタイプの光源、またはそれらの何らかの組合せであり得る。ロケータ120が能動的(例えば、LEDまたは他のタイプの発光デバイス)である実施形態では、ロケータ120は、可視光域内(すなわち、約380nmから750nm)、赤外(IR)域内(すなわち、約750nmから1mm)、紫外域内(すなわち、10nmから380nm)、電磁スペクトルの他の部分、またはそれらの何らかの組合せの光を放射し得る。
いくつかの実施形態では、複数のロケータ120は、HMD105の外面の下方に配置され、外面は、ロケータ120が放射もしくは反射した光の波長に対して透過性を有するか(transparent)、またはロケータ120が放射もしくは反射した光の波長を実質的に減衰しないのに十分な薄さである。さらに、いくつかの実施形態では、HMD105の外面または他の部分は、光の波長の可視光域内で不透過性を有する(opaque)。したがって、ロケータ120は、IR域内では透過性を有するが可視光域内では不透過性を有する外面下方にIR光域内の光を放射し得る。
IMU130は、1つ以上の位置センサ125から受信した測定信号に基づいて高速較正属性を生成する電子デバイスである。位置センサ125は、HMD105の動きに応答して1つ以上の測定信号を生成する。位置センサ125の例としては、1つ以上の加速度計、1つ以上のジャイロスコープ、1つ以上の磁力計、動きを検出する他の適切なタイプのセンサ、IMU130の誤差補正に使用されるタイプのセンサ、またはそれらの何らかの組合せが含まれる。位置センサ125は、IMU130の外側、IMU130の内側、またはそれらの何らかの組合せに配置され得る。
1つ以上の位置センサ125からの1つ以上の測定信号に基づいて、IMU130は、HMD105の初期位置に対するHMD105の推定位置を示す高速較正属性を生成する。例えば、位置センサ125は、並進運動(前方/後方、上方/下方、左方/右方)を測定するための複数の加速度計および回転運動(例えば、ピッチ、ヨー、ロール)を測定するための複数のジャイロスコープを含む。いくつかの実施形態では、IMU130は、測定信号を迅速にサンプリングし、サンプリングしたデータからHMD105の推定位置を計算する。例えば、IMU130は、速度ベクトルを推定するために一定期間、加速度計から受信した測定信号を積分し、HMD105上の基準点の推定位置を判定するために一定期間、速度ベクトルを積分する。あるいは、IMU130は、サンプリングした測定信号をコンソール110に提供し、それにより高速較正属性を判定する。一実施形態では、基準点は、HMD105の位置を示すために使用される点である。基準点は、一般的に空間内の点として画定されるが、実際には、基準点は、HMD105内の点(例えば、IMU130の中心)として画定される。
IMU130は、コンソール110から1つ以上の較正パラメータを受信する。以下にさらに説明するように、1つ以上の較正パラメータは、HMD105のトラッキングを維持するために使用される。受信した較正パラメータに基づいて、IMU130は、1つ以上のIMUパラメータ(例えば、サンプルレート)を調整し得る。いくつかの実施形態において、特定の較正パラメータは、IMU130に、基準点の次の較正点に対応するように、基準点の初期位置を更新させる。基準点の次の較正点として基準点の初期位置を更新することは、判定された推定位置に関連する蓄積された誤差の削減に役立つ。ドリフト誤差とも称される蓄積された誤差は、基準点の推定位置を、基準点の実際の位置から経時的に「ドリフト」させる。
顔トラッキングシステム160は、(例えば、ユーザの目を含む)ユーザの顔の複数の部分をトラッキングする。顔の複数の部分は、例えば、ユーザが装着したHMD105によって覆われる顔の複数の部分である。いくつかの実施形態では、顔トラッキングシステム160は、較正属性(calibration attributes)を収集する。較正属性は、HMD105によって覆われる顔のランドマーク(例えば、ユーザの眉または鼻の位置)を表す。いくつかの実施形態では、顔トラッキングシステム160は、顔のトラッキング部分(目の位置を含むこともできる)および較正属性を使用して、ユーザの顔のトラッキング部分を表す顔アニメーション情報を生成する。顔トラッキングシステム160は、例えば、ユーザの顔のトラッキング部分(目の位置を含み得る)、較正属性、顔アニメーション情報、またはそれらの何らかの組み合わせに基づいて、トラッキング情報を生成する。トラッキング情報は、ユーザの顔の一部の仮想アニメーションに使用され得るコンソール110に渡される情報である。顔トラッキングシステム160はトラッキング情報をコンソール110に渡す。いくつかの実施形態では、トラッキング情報は、コンソール110によって生成される顔アニメーション情報を含まない。
いくつかの実施形態では、図2に更に記載するように、顔トラッキングシステム160は、1つまたは複数の光源、1つまたは複数の顔センサ、およびコントローラを含む。いくつかの実施形態では、顔トラッキングシステム160は、ユーザがHMD105を装着している間に、例えば角膜球面のトラッキングなど、ユーザの目の動きをトラッキングしてユーザの一方または両方の目をトラッキングする。いくつかの実施形態では、光源および顔センサは、顔アニメーションを生成し、光学的動作を実行するなどのためのデータ処理を実行するコントローラに通信可能に接続される。
撮像デバイス135は、コンソール110から受信した較正パラメータに従って低速較正属性を生成する。低速較正属性は、撮像デバイス135によって検出可能なロケータ120の観測位置を示す1つ以上の画像を含む。いくつかの実施形態では、撮像デバイス135は、1つ以上のカメラ、1つ以上のビデオカメラ、1つ以上のロケータ120を含む画像を取り込み可能な任意の他のデバイス、またはそれらの何らかの組合せを含み得る。さらに、撮像デバイス135は、(例えば、信号対雑音比を増加させるために使用される)1つ以上のフィルタを含み得る。撮像デバイス135は、撮像デバイス135の視野内のロケータ120から放射または反射された光を検出するように構成されている。ロケータ120が受動要素(例えば、再帰反射器)を含む実施形態では、撮像デバイス135は、いくつかのまたはすべてのロケータ120を照らす光源を含み、それにより光を撮像デバイス135内の光源に向けて再帰反射する。低速較正属性は、撮像デバイス135からコンソール110へ通信され、撮像デバイス135は、コンソール110から1つ以上の較正パラメータを受信して、1つ以上の撮像パラメータ(例えば、焦点距離、焦点、フレームレート、ISO、センサ温度、シャッター速度、アパーチャなど)を調整する。
VR入力インタフェース140は、ユーザがアクション要求をコンソール110に送信することを可能にするデバイスである。アクション要求は、特定のアクションを実施するための要求である。例えば、アクション要求は、アプリケーションの開始または終了を行うこと、またはアプリケーション内の特定のアクションを実施することであり得る。VR入力インタフェース140は、1つ以上の入力デバイスを含み得る。入力デバイスの例としては、キーボード、マウス、ゲームコントローラ、またはアクション要求を受信して受信したアクション要求をコンソール110に通信するのに適した任意の他のデバイスが含まれ得る。VR入力インタフェース140によって受信されたアクション要求は、コンソール110に通信され、それによりアクション要求に対応するアクションを実施する。いくつかの実施形態において、VR入力インタフェース140は、コンソール110から受信された命令に従ってユーザに触覚フィードバックを提供し得る。例えば、触覚フィードバックは、アクション要求を受信したときに提供されるか、あるいはコンソール110は、コンソール110がアクションを実施するときに、VR入力インタフェース140に触覚フィードバックを生成させる命令をVR入力インタフェース140に通信する。
コンソール110は、HMD105に、撮像デバイス135、HMD105、およびVR入力インタフェース140のうちの1つ以上から受信した情報に従ってユーザに提示するためのコンテンツを提供する。図1に示す例では、コンソール110は、アプリケーションストア145、トラッキングモジュール150、およびバーチャルリアリティ(VR)エンジン155を含む。コンソール110のいくつかの実施形態は、図1に関連して説明するものとは異なるモジュールを有している。同様に、以下にさらに説明する機能は、コンソール110の複数の構成要素の間で、本明細書で説明するものとは異なる方法で分散され得る。
アプリケーションストア145は、コンソール110によって実行される1つ以上のアプリケーションを記憶している。アプリケーションは、プロセッサによって実行されたときにユーザに提示するためのコンテンツを生成する命令群である。アプリケーションによって生成されたコンテンツは、HMD105またはVR入力インタフェース140の動きを介してユーザから受信した入力に応答する。アプリケーションの例としては、ゲームアプリケーション、会議アプリケーション、ビデオ再生アプリケーション、または他の適切なアプリケーションが含まれる。
トラッキングモジュール150は、1つ以上の較正パラメータを使用してシステム100を較正し、HMD105の位置の判定の誤差を削減するために1つ以上の較正パラメータを調整し得る。例えば、トラッキングモジュール150は、撮像デバイス135の焦点を調節して、HMD105上の観測されたロケータのより正確な位置を取得する。さらに、トラッキングモジュール150によって実施される較正は、IMU130から受信した情報も考慮に入れる。また、HMD105のトラッキングが失われた場合は(例えば、撮像デバイス135がロケータ120の少なくとも閾値数の視線を失う場合)、トラッキングモジュール150は、システム100の一部または全部を再較正する。
トラッキングモジュール150は、撮像デバイス135からの低速較正情報を使用してHMD105の動きをトラッキングする。トラッキングモジュール150は、低速較正情報からの観測されたロケータおよびHMD105のモデルを使用して、HMD105の基準点の位置を判定する。トラッキングモジュール150はまた、高速較正情報からの位置情報を使用してHMD105の基準点の位置を判定する。さらに、いくつかの実施形態では、トラッキングモジュール150は、HMD105の将来の位置を予測するために、高速較正情報、低速較正情報、またはそれらの何らかの組合せの一部を使用し得る。トラッキングモジュール150は、HMD105の推定または予測された将来の位置をVRエンジン155に提供する。
VRエンジン155は、システム100内のアプリケーションを実行し、HMD105の位置情報、加速度情報、速度情報、予測された将来の位置、またはこれらの何らかの組み合わせをトラッキングモジュール150から受信する。受信した情報に基づいて、VRエンジン155は、ユーザへの提示用にHMD105に提供するコンテンツを判定する。いくつかの実施形態では、VRエンジン155は、HMD105から受信したトラッキング情報に基づいて顔アニメーション情報を生成する。別の実施形態では、VRエンジン155は、トラッキング情報の一部としてHMD105から顔アニメーション情報を直接受け取る。例えば、VRエンジン155は、(図2で更に説明する)顔トラッキングシステム160の顔アニメーションモジュール260から顔アニメーション情報を受信する。VRエンジン155は、顔アニメーション情報に基づいて、HMD105のユーザに対応するアバターの目の動きを含む、アバターの表情およびアバターの仮想顔、あるいはアバターの表情またはアバターの仮想顔を生成する。例えば、アバターの表情または目の動きは、ユーザが現実世界で行っている表情または目の動きに対応する。VRエンジン155は、HMD105の電子ディスプレイ115を介してユーザに提示するための仮想顔を提供する。別の例では、受信した情報が、ユーザが左を見たことを示す場合、VRエンジン155は、仮想環境でユーザの動きをミラーリングする、HMD105のためのコンテンツを生成する。また、VRエンジン155は、VR入力インタフェース140から受信したアクション要求に応答してコンソール110上で実行するアプリケーション内でアクションを実施し、アクションが実施されたというフィードバックをユーザに提供する。例えば、提供されるフィードバックには、HMD105を介した視覚的もしくは聴覚的フィードバック、またはVR入力インタフェース140を介した触覚フィードバックが含まれる。
顔トラッキングシステム
図2は、一実施形態によるVRシステム100の顔トラッキングシステム160のブロック図である。図2に示す例において、顔トラッキングシステム160は、1つまたは複数の光源200、1つまたは複数の顔センサ210、およびコントローラ220を含む。他の実施形態では、異なるおよび追加の構成要素、あるいは異なるまたは追加の構成要素が顔トラッキングシステム160に含まれてもよく、または顔トラッキングシステム160がVRシステム100とは異なるシステムの一部であってもよい。
1つまたは複数の光源200は、HMD105を装着したHMD105によって覆われたユーザの顔の複数の部分を照明し、HMD105上の離散した位置に配置される。一実施形態では、1つまたは複数の光源200はリング配置で配置される。特に、複数の光源の各光源200は、例えば、(図4で更に説明する)HMD105のアイカップアセンブリ(eyecup assembly)を覆う仮想円などの円の周上に配置される。例えば、各光源200は、典型的なアナログ時計の時針位置に配置される。一実施形態では、1つまたは複数の光源200は、可視帯域(すなわち、約380nm〜750nm)、赤外(IR)帯域(すなわち、約750nm〜1mm)、紫外帯域(すなわち、10nm〜380nm)で光を放出する発光ダイオード(LED)、電磁スペクトルの何らかの他の部分、またはそれらの何らかの組み合わせからなる。いくつかの実施形態では、1つまたは複数の光源200は、光源200のすべてで、または光源200の一部分の間で、異なる光学特性を有する。光学特性は、光源200の特徴である。例えば、光学特性は、光源200によって放出される光の波長、異なる時点における光源200の光波間の相関を表す時間コヒーレンス、またはそれらの何らかの組み合わせであり得る。さらに、1つまたは複数の光源200からの光は、異なる周波数または振幅(すなわち、変化する強度)で変調され、および/または時間または周波数領域のいずれかで多重化され得る。
1つまたは複数の顔センサ210は、HMD105のユーザの顔データをキャプチャする。顔データは、ユーザの顔の特徴、例えばHMD105によって覆われる顔の複数の部分の特徴を表す。顔センサ210は、撮像型センサおよび非撮像型センサ、あるいは撮像型センサまたは非撮像型センサとすることができる。撮像型の顔センサ210は、例えば、ユーザの顔の複数の部分の画像を撮像するカメラである。画像は複数の画素を含み、各画素は輝度のレベルを有する。非撮像型の顔センサ210は、例えば、オーディオセンサ、歪みゲージ、電磁センサ、近接センサ、または何らかの他の非光学型センサである。顔センサ210は、焦点距離、焦点、フレームレート、ISO、センサ温度、シャッター速度、アパーチャ、解像度などの複数のパラメータを有することができる。いくつかの実施形態では、顔センサ210は、高いフレームレートおよび高い解像度を有する。
一実施形態では、撮像型の顔センサ210は、(例えば、HMD105によって覆われるユーザの顔の複数の部分に入射する)ユーザに入射する光源200からの光に応答する反射が、ユーザの動きの範囲に亘って取得され得るように配置される。一例では、顔センサ210は、HMD105を装着したユーザの視線の外側にあるように、すなわちユーザがHMD105の表示素子115を見る場合に顔センサ210がユーザの直接の視線内に位置しないように、軸から離れて配置される。他の実施形態では、顔センサ210は、HMD105を装着したユーザの視線内に配置される、すなわち、ユーザは、表示素子115を見ながら顔センサ210を見ることができる。
顔センサ210が非撮像センサである実施形態では、顔トラッキングシステム160は、必ずしも光源200を必要としない。例えば、顔センサ210は、超音波に基づく近接センサである。したがって、顔センサ210は、顔センサ210とユーザの顔の複数の部分との間の距離を示す顔データをキャプチャする。顔センサ210は、超音波が顔の複数の部分から反射して顔センサ210に戻る時間に基づいて距離を決定する。この場合、顔センサ210はユーザの顔に向かって超音波を放出し、反射された超音波は顔センサ210によって検出される。
コントローラ220は、顔トラッキングシステム160を制御する。コントローラ220は、顔トラッキングストア225、顔データキャプチャモジュール230、較正モジュール240、顔センサ処理モジュール250、目トラッキングモジュール255、顔アニメーションモジュール260、および表示インタフェースモジュール270を含む。他の実施形態では、異なるおよび追加の構成要素、あるいは異なるまたは追加の構成要素をコントローラ220に含めることができる。図2に示す例では、コントローラ220は顔トラッキングシステム160の一部であり、したがってHMD105の一部でもある。他の実施形態では、コントローラ220の一部または全部がHMD105の外部にあり、例えば、コントローラ220は、コンソール110の一部として含まれるか、別のコンポーネントおよび/またはシステム100の外部のシステムに含まれる。HMD105がコントローラの機能を実行するのに必要な大きさの処理能力を低減することができるため、いくつかの実施形態では、コントローラ220をHMD105の外部に設けることは利点となることがあり、HMD105が充電式バッテリで電力供給される実施形態では、処理能力を低減することにより、HMD105のバッテリ寿命が長くなる。
顔トラッキングストア225は、顔トラッキングシステム160によって記録されるか、または顔トラッキングシステム160によって使用されるデータを格納する。格納されたデータは、例えばトラッキング情報、顔データ、目トラッキング情報、較正属性、顔アニメーション情報、顔トラッキングに使用される他の何らかの情報、またはそれらの何らかの組み合わせを含むことができる。顔データは、HMD105を装着したユーザの顔のトラッキングされた表面に関する情報を含む。較正属性は、ユーザの顔のランドマークに関する情報を含む。顔データおよび較正属性について、以下に詳述する。顔トラッキングストア225は、コンソール110から、またはオンラインソースからというように、顔トラッキングシステム160の外部のソースから取り出された情報を格納することができる。顔トラッキングシステム160の他のモジュールは、顔トラッキングストア225に情報を格納し、および/または顔トラッキングストア225から情報を取り出す。
顔データキャプチャモジュール230は、顔センサ210から顔データを受信する。撮像型の顔センサ210(例えば、カメラ)を含む実施形態では、顔データキャプチャモジュール230は、ユーザの顔の複数の部分を照明するように、1つまたは複数の光源200に命令を与える。併せて、顔データキャプチャモジュール230は、顔の照明された部分(例えば、HMD105内の部分)の1つまたは複数の顔データフレームをキャプチャするように、1つまたは複数の顔センサ210に命令を与える。一実施形態では、顔データキャプチャモジュール230は、顔トラッキングシステム160がアクセスすることができる顔トラッキングストア225および/またはシステム100の内外の他の任意のデータベースに、キャプチャされた顔データフレームを格納する。
非撮像型の顔センサ210を含む実施形態では、顔データキャプチャモジュール230は、HMD105を装着したユーザの顔の一部の顔データをキャプチャするように、顔センサ210に命令を与える。本実施形態では、顔トラッキングシステム160は、光源200を含まなくてもよい。したがって、いくつかの実施形態では、顔データキャプチャモジュール230は、顔センサ210への命令に併せて、光源200に命令を与えない。
顔データキャプチャモジュール230は、各光源200の制御を協調させる。いくつかの実施形態、例えば、リング配置で配置された複数の光源200を有する実施形態では、顔データキャプチャモジュール230は、1つの光源のみが所定の時間(例えば、目ごと、またはHMD105ごと)に光を放出するように、複数の光源200に命令を与える。リング内の複数の光源は、例えば、リングの1つの光源から始まり、ユーザの目の周りを時計回りまたは反時計回りの方向で放出して、ユーザの顔の複数の部分を順次に照明するなど、光を放出する。あるいは、光源は、任意の他の順序または他の種類のシーケンスで光を放出する。例えば、12個の光源200がリング配置で配置され、各光源は、ユーザの目の周りの典型的なアナログ時計の時針位置(すなわち、1〜12)に対応する。まず、偶数番号に対応する光源が順次発光し、次いで奇数番号に対応する光源が順次発光する。具体的には、光源の発光順序は、2、4、6、8、10、12、1、3、5、7、9、11である。いくつかの実施形態では、複数の光源の発光順序はランダムであり、および/または経時的に変化する。顔データキャプチャモジュール230は、様々な照明速度の期間に亘って同じシーケンス(または異なるシーケンス)の照明を繰り返すことができる。例えば、顔データキャプチャモジュール230は、時計回りの照明シーケンスを10秒の期間に毎秒60回の照明の速度で繰り返す。リング配置に加えて、複数の光源200は、HMD105内に任意の他の配置パターンで、または任意に配置することができる。
続いて、ユーザの各目の周りにリング状に配置された複数の光源200を含む同じ実施形態において顔データキャプチャモジュール230は、各照明に対応する顔データをキャプチャするように、顔センサ210に命令を与え、例えば、複数の光源のうちの光源の各段階がユーザの一部を照明することは、顔データのフレームに対応する。したがって、顔データキャプチャモジュール230は、照明とフレームキャプチャとを同期させなければならない。例えば、複数の光源200が毎秒24回照明する速度で発光している場合、顔センサ210は、少なくとも24フレーム/秒の速度でフレームをキャプチャして所望の顔データ解像度を実現する。
較正モジュール240は、ユーザに対してHMD105を較正する。較正モジュール240は、1つまたは複数の選択パラメータを使用して、顔トラッキングストア225、オンライン較正サーバ、またはそれらの何らかの組み合わせから較正属性を取り出す。選択パラメータは、較正属性にマッピングされるユーザの特性である。選択パラメータは、例えば、年齢、人種、性別、市民権、話し言葉、表情に影響を及ぼす可能性のある他の特性、またはそれらの何らかの組み合わせであってもよい。
較正モジュール240は、取得された較正属性に対する取り出された較正属性の質チェック(quality check)を実行する。いくつかの実施形態では、実際の較正属性は、HMD105の通常の動作中に取得される。他の実施形態では、較正モジュール240は、較正属性を受信するための較正処理のステップを通してユーザを誘導するための命令を生成する。較正モジュール240は、取得された、すなわち実際の較正属性を、取り出された較正属性と比較する。例えば、推定される較正属性は、ユーザの鼻を表すランドマークの座標点の推定されるセットを示す。実際の較正属性は、実際の、すなわち経験的に取得された、ランドマークの座標点のセットを示す。取り出された較正属性と実際の較正属性との差が閾値未満である場合、取り出された較正属性は、HMD105の有効な使用に十分な質を提供する。対照的に、取り出された較正属性と実際の較正属性との差が閾値より大きい場合、較正モジュール240は、推定される較正属性がHMD105の有効な使用に供される実際の較正属性と過度に相違すると判定する。次いで、較正モジュール240は、実際の較正属性およびユーザの選択パラメータをオンラインサーバにアップロードする。いくつかの実施形態では、較正モジュール240は、取り出された較正属性および実際の較正属性が閾値より大きいか否かにかかわらず、選択パラメータおよび実際の較正属性をオンラインサーバにアップロードする。このようにして、オンライン較正サーバは、多数(例えば、数千)の異なるユーザからの情報を基に構築された1組の包括的な較正属性(global calibration attributes)を増強することができる。1組の包括的な較正属性が大きくなるにつれて、当該1組の包括的な較正属性から取り出される較正属性の精度が増加し、それによって個々のHMD105の較正時間を最小にする。
上述のように、較正モジュール240は、較正処理のステップを通してユーザを誘導する命令を介して、実際の較正属性を取得することができる。較正モジュール240は、ユーザに提示するために(例えば、表示インタフェースモジュール270を介して)電子ディスプレイ115に命令を与える。1つの使用ケース例では、較正モジュール240は、HMD105を装着したユーザに、瞬き、横目、眉のつり上げ、笑顔、しかめ面、特定方向の注視、または無表情の顔の維持(すなわち、表情を有する顔との比較のベースラインとなる、何ら特定の表情を伴わない安静時の顔)などの1つまたは複数の表情を実行するように指示する。顔データキャプチャモジュール230は、較正モジュール240と連携して動作し、ユーザが1つまたは複数の表情をしているときに、ユーザの顔の複数の部分に対応する顔データをキャプチャする。次に、較正モジュール240は、キャプチャされた顔データを対応する表情にマッピングし、例えば、較正モジュール240は、ユーザが瞬きするように指示された後に、瞬きする表情を、キャプチャされた顔データにマッピングする。較正モジュール240は、顔トラッキングシステム160がアクセスすることができる顔トラッキングストア225および/またはシステム100の内外の他の任意のデータベースに、キャプチャされた顔データおよびマッピングを格納する。
別の使用ケース例では、較正モジュール240は、キャプチャされた顔データおよびマッピングに少なくとも部分的に基づいて、ユーザの顔のランドマークを特定する。ランドマークとしては、例えば、ユーザの眉、ユーザのまぶた、ユーザの瞳孔、ユーザの鼻、ユーザのチェック、ユーザの額などの位置が含まれる。一実施形態では、顔データは、撮像型の顔センサ210(例えば、カメラ)によってキャプチャされた画像によって表される。較正モジュール240は、ランドマークを示す1つまたは複数の特徴が、キャプチャされた画像に示されていることを判定することによってランドマークを特定する。例えば、「眉のつり上げ」という表情の特徴は、ユーザの眉が動くことである。したがって、較正モジュール240は、画像の画素の輝度レベルおよび/または強度レベルに基づいて、動いている眉に対応する画像および/または画像の部分を特定する。特に、各画像の1つまたは複数の画素の輝度レベルおよび/または強度レベルは、例えば、眉を動かすことによりユーザの顔の表面が動いて顔から反射された光の輝度(または強度)の変化を引き起こすため、複数の撮像画像内の一連の画像にわたって変化する。較正モジュール240は、1つまたは複数の画素の座標点を決定し、座標点を、ユーザの眉の位置に関連付けられたランドマークにマッピングする。例えば、2次元画像をなす複数のキャプチャされた画像において、複数の画素は、x軸およびy軸を有する平面上に編成される。座標(x,y)点(8,46)、(8,47)、(8,48)は、眉ランドマークにマッピングされる。次に、較正モジュール240は、顔トラッキングシステム160がアクセスすることができる顔トラッキングストア225および/またはシステム100の内外の任意の他のデータベースにマッピングを格納する。一実施形態では、較正モジュール240が、撮像された画像をランドマークにマッピングすることができない場合、較正モジュール240は、表情に対応する画像を再度撮像するために、ユーザに表情を繰り返すように指示を生成する。較正モジュール240は、受動的に(例えば、ユーザに警告することなく)、または能動的に(例えば、前述のような一連の表現を経験するようにユーザに促す)顔較正を行うことができる。較正属性は、VRシステム100の通常動作において使用される。
顔センサ処理モジュール250は、顔データキャプチャモジュール230によってキャプチャされた顔データを処理する。撮像型の顔センサ210を有する実施形態では、キャプチャされた顔データは、ユーザから反射された光に基づいている。光源200によって放出された光は、ユーザの顔および/または目の平面セクションから反射し、反射された光は、顔センサ210によって取得される。平面セクションは、顔トラッキングシステム160が平面として近似されるユーザの顔のごく一部分である。取得された光は、表面への入射角が取得された光の角度と等しいとき、最も明るい(例えば、最も高い強度)。
したがって、顔センサ210によってキャプチャされた複数の画素を含むサンプル顔データフレームにおいて、複数の画素のうちの最も明るい画素は、光が反射された平面セクションに対する、反射光が発生した光源200の位置および向き、あるいは位置または向きに基づいている。最も明るい画素は、例えば、強度値が1つまたは複数の顔センサ210によって取得された光の量を表す場合に、最大の強度値を有する画素である。顔センサ処理モジュール250は、例えば、当業者に知られている画像処理技術を使用して、キャプチャされた顔データフレーム内の最も明るい画素(または複数の最も明るい画素)を特定する。いくつかの実施形態では、顔センサ処理モジュール250は、顔データフレームの質(例えば、画素輝度の分解能)を改善するためにノイズ低減方法を使用して、キャプチャされた顔データフレームを前処理し、その結果、画素の輝度をより正確に判定できる。例えば、顔データフレームが明るすぎるか、または薄すぎる場合、顔センサ処理モジュール250は、キャプチャされた顔データフレームに、画像輝度オフセット補正および画像フィルタ、あるいは画像輝度オフセット補正または画像フィルタを適用する。
一実施形態では、顔センサ処理モジュール250は、顔センサ210によってキャプチャされた複数の顔データフレームを含む顔データを分析するように構成されてもよい。この分析に基づいて、顔センサ処理モジュール250は、HMD105を装着したユーザの顔のトラッキングされた部分を表す情報を生成する。撮像型の顔センサ210を有する実施形態では、顔センサ処理モジュール250は、複数の顔データフレームのうちのいずれの顔データフレームが特定の画素位置に最も明るい画素を含むかを判定する。例えば、複数のフレームの各フレームは、座標(x,y)対によって示される画素位置を有する2次元画像であり、50画素×50画素の寸法を有する。各座標対は、ユーザの顔のトラッキングされた部分上の特定の平面セクションにマッピングされる。複数の顔データフレームの各顔データフレームについて、顔データフレームに対応する光源200の位置および向き、あるいは位置または向きは異なる。例えば、顔データフレームの各々は、ユーザの顔のトラッキングされた部分を照明する異なる光源200を用いてキャプチャされていてもよい。顔センサ処理モジュール250は、複数の顔データフレームのいずれの顔データフレームが位置(0,0)に最も明るい画素を含むかを判定し、この処理を各顔データフレームの各画素位置、例えば(0,1)、(0,2)、(0,3)などについて繰り返す。したがって、顔センサ処理モジュール250は、各座標対について、したがってユーザの顔のトラッキングされた部分の対応する各平面セクションについて、1つまたは複数の光源200のうちのいずれが最も明るい画素を生じるかを特定することができる。いくつかの実施形態では、顔センサ処理モジュール250は、各座標対に対して、最も明るい画素値を生じた光源200を単純に選択する。別の実施形態では、顔処理モジュール250は、キャプチャされた顔データフレームからの画素値を使用して、各座標対についての強度曲線を生成する。
顔センサ処理モジュール250は、ユーザの表面のトラッキングされた部分の各平面セクションに対する法線ベクトルを決定する。したがって、各画素について、その画素によって画像化された平面セクションに対応する法線ベクトルが存在する。いくつかの実施形態では、ユーザの顔の所定の画素撮像部分について、顔センサ処理モジュール250は、最も明るい画素値を生じる特定された光源200を使用して、法線ベクトルを決定する。顔センサ210に対する特定された光源200の向きは一定であり、既知である。顔センサ処理モジュール250は、その向きを使用して、ユーザの顔の平面セクションに対する法線ベクトルを推定する。顔センサ処理モジュール250は、各画素について、ユーザの顔の対応する平面セクションに対する法線ベクトルを決定する。いくつかの実施形態では、顔センサ処理モジュール250は、各画素の強度曲線を使用して法線ベクトルを決定する。
ユーザの顔の平面セクションに対する法線ベクトルは、ユーザの顔の一部の向きを表す。ユーザの顔のトラッキングされた部分は、各画素に1つずつ、複数の平面セクションを使用して表すことができる。顔センサ処理モジュール250は、それらの平面セクションのそれぞれに対応する法線ベクトルを決定する。次いで、法線ベクトルを使用して、ユーザの顔のトラッキングされた部分を表す仮想面を生成することができる。仮想面は、顔の照明された部分の領域の向きを表す。例えば、仮想面は、ユーザの鼻、まぶた、または頬の湾曲を表す。一実施形態では、顔センサ処理モジュール250は、顔のトラッキングされた部分、例えば仮想面を表す情報を、顔トラッキングストア225およびVRシステム100、あるいは顔トラッキングストア225またはVRシステム100によってアクセス可能な任意のデータベースに格納する。顔センサ処理モジュール250は、更に処理するために、トラッキングされた部分を表す情報を顔アニメーションモジュール260に提供してもよい。
目トラッキングモジュール255は、顔データキャプチャモジュール230によってキャプチャされた顔データを処理する。一実施形態では、顔データは、光、すなわち光源200からの光の鏡面反射(specular reflection)、およびHMD105を装着したユーザの目の角膜からの反射を表す。鏡面反射は、発生光源200に依存する。特に、HMD105内のある位置および向きの第1の光源200に対応する鏡面反射は、HMD105内の異なる位置および向き、あるいは異なる位置または向きの第2の光源200に対応する鏡面反射とは異なる。これら鏡面反射は、反射光が入射角において最も明るいため、異なる。顔データキャプチャモジュール230は、キャプチャ顔データを有するユーザの顔を照明すること、ひいてはユーザの目を含めることを協調させることから、目トラッキングモジュール255は、鏡面反射に対応する光が発生した光源200の特定の位置に鏡面反射をマッピングすることができる。マッピングに基づいて、目トラッキングモジュール255は、目のトラッキング情報(例えば、ユーザの目の位置および向き、あるいは位置または向き)、例えば、目が真っ直ぐ、左、右、上、または下の方向を見ているかどうかを判定する。
別の実施形態では、目トラッキングモジュール255は、顔センサ処理モジュール250と同様のステップを用いて、複数のキャプチャされた顔データフレーム内の最も明るい画素(または複数の最も明るい画素)を特定することによって目トラッキング情報を決定する。目トラッキングモジュール255は、キャプチャされた画像(例えば、画像の画素の(x,y)座標点)および/または光源210からの情報を、例えば、目がユーザの額の方を見上げている、目がユーザの頬の方を見下ろしている、などの、ユーザの目の向きにマッピングする。
VRシステム100は、ユーザの目(例えば、ユーザの視線の方向)、ならびに表情および表面をトラッキングすることによって、VR環境においてユーザにより没入感のある体験を提供することができる。一実施形態では、目トラッキングモジュール255は、顔トラッキングストア225およびVRシステム100、あるいは顔トラッキングストア225またはVRシステム100によってアクセス可能な任意のデータベースに目トラッキング情報を格納する。また、目トラッキングモジュール255は、更なる処理のために目トラッキング情報を顔アニメーションモジュール260に提供してもよい。
顔アニメーションモジュール260は、HMD105のユーザの顔の一部または全部の顔アニメーションを生成する。一実施形態では、顔アニメーションモジュール260は、顔トラッキングストア225および/または同じデータを有する任意の他のデータベースから、ユーザの顔のトラッキングされた部分および/または目トラッキング情報を表す顔データを取り出す。顔アニメーションモジュール260はまた、顔トラッキングストア225および/または同じデータを有する任意の他のデータベースから較正モジュール240(例えば、ランドマーク情報)のマッピングを取り出す。顔アニメーションモジュール260は、取り出された顔データと取り出されたマッピングとを集約することによって、顔アニメーション情報を生成する。例えば、顔アニメーションモジュール260は、顔のランドマークの位置に対応する顔の複数の平面セクション、例えば、ユーザの鼻に対応する平面セクションを判定する。顔アニメーションモジュール260は、それぞれがランドマークの位置に対応する複数の平面セクションを組み合わせる。例えば、取り出されたマッピングは、ユーザの顔の5つのランドマーク、例えば、左瞳孔、右瞳孔、左頬、右頬、および鼻の先端と、顔データフレームの(x,y)座標点および/または座標点のセットなどの5つの位置との間の1対1のマッピングを示す5つのマッピングを含む。したがって、結果として得られる顔アニメーション情報は、5つのランドマークのそれぞれに対応する平面セクションを含むユーザの顔(例えば、顔の全体および/または顔の複数の部分)のグラフィック表現を表す。いくつかの実施形態では、顔アニメーションモジュール260は、複数の平面セクションを目トラッキング情報と組み合わせる。したがって、顔アニメーションはまた、ユーザの目の位置および向き、あるいは位置または向きのグラフィック表現を含むことができる。いくつかの実施形態では、顔アニメーション情報を使用して、現実世界でユーザの顔を表す3D仮想アバターや、現実世界でユーザの全身を表す3D仮想アバターなど、ユーザのアバターを作成することができる。いくつかの実施形態では、3D仮想アバターは、ユーザの外観に似ておらず(例えば、一般的なアバター)、顔アニメーション情報を使用して仮想アバター上の瞬きや笑顔などの表情を生成する。いくつかの実施形態では、顔アニメーションモジュール260は、顔センサ処理モジュール250から、ユーザの顔のトラッキングされた部分を表す情報を直接受信し、且つ目トラッキングモジュール255から目トラッキング情報を直接受信する。
いくつかの実施形態では、顔アニメーションモジュール260は、顔センサ処理モジュール250によって生成された仮想面を集約することによって顔アニメーション情報を生成する。例えば、顔アニメーションモジュール260は、ユーザの鼻、ユーザの目、およびユーザの頬の仮想面を組み合わせる。顔アニメーションモジュール260は、較正属性を使用して仮想面を集約することができる。例えば、較正属性のランドマークの座標は、ユーザの目の仮想面に対するユーザの鼻の仮想面の推定される位置を表す。
一実施形態では、顔アニメーションモジュール260は、顔センサ処理モジュール250によって決定されたマッピングに対応する顔の他の平面セクション間のデータを補間することによって、マッピングに対応しないユーザの顔の仮想部分を表す顔アニメーション情報のサブセクションを生成する。いくつかの実施形態では、顔アニメーションモジュール260は、例えば、特定の人口統計範囲についてのユーザの鼻の平均長さなど、ユーザの母集団からのデータに基づくユーザの顔の典型的な形状および特性を表した(例えば、顔トラッキングストア225に予め格納されたVRシステム100の外部の外部ソースからの)情報を含む他の情報に基づいて顔アニメーション情報のサブセクションを生成する。一実施形態では、顔アニメーションモジュール260は、較正モジュール240によって特定されたランドマークに更に基づいて顔アニメーションのサブセクションを生成する。例えば、顔アニメーションモジュール260は、顔トラッキングストア225から、ユーザの左鼻孔の位置に対応する2D画像内の画素の座標点を示すランドマークを取り出す。次に、顔アニメーションモジュール260は、例えばユーザの左右の鼻孔が典型的に鼻の中心線に関して対称であるため、ユーザの鼻の中心線の位置に対応する線を横切って、左鼻孔の位置に対応する座標点を折り返すことによって、ユーザの右鼻孔に対応する顔アニメーション情報のサブセクションを生成する。
表示インタフェースモジュール270は、HMD105のユーザに提示するために、顔トラッキングシステム160から電子ディスプレイ115に情報を提供する。一実施形態では、表示インタフェースモジュール270は、顔アニメーションモジュール260によって生成された顔アニメーション情報を電子ディスプレイ115に提供する。
ヘッドマウントディスプレイ
図3は、一実施形態による仮想現実HMD300の配線図である。HMD300は、HMD105の一実施形態であり、前方剛体305およびバンド310を含む。前方剛体305は、電子ディスプレイ(図3には図示せず)、IMU130、1つ以上の位置センサ125、およびロケータ120を含む。図3に示す実施形態では、位置センサ125は、IMU130内に配置され、IMU130も位置センサ125もユーザには見えない。
1つ以上のロケータ120は、互いに対しておよび基準点315に対して前方剛体305上の固定位置に配置されている。図3の例では、基準点315は、IMU130の中心に配置されている。1つ以上のロケータ120はそれぞれ、撮像デバイス135によって検出可能な光を放射する。1つ以上のロケータ120、または1つ以上のロケータ120の一部は、図3の例の前方剛体305の前方側320A、上面側320B、底面側320C、右側320D、および左側320Eに配置されている。
図4は、一実施形態による、図3に示すバーチャルリアリティHMD300の前方剛体305の一実施形態の配線図である。図4に示す実施形態では、前方剛体305は、アイカップアセンブリ400、アイカップアセンブリ405、光源410および415、および顔センサ420および425を含む。光源410,415は、光源200の実施形態であり、顔センサ420,425は、顔センサ210の実施形態である。アイカップアセンブリ400および405はそれぞれ、HMD300を装着したユーザの直接の視線の外側に配置された複数の光源を備える。特に、アイカップアセンブリ400は、少なくとも光源410を含む複数の光源を備え、アイカップアセンブリ405は、少なくとも光源415を含む複数の光源を備える。図4では、各アイカップアセンブリの周りの異なる位置に、それぞれの5つの光源からなる複数の光源が示されている。アイカップアセンブリ400は、ユーザから見て、前方剛体305の右側に配置され、アイカップアセンブリ405は、前方剛体305の左側に配置される。顔センサ420は、ユーザから見て、前方剛体305の右側に配置され、顔センサ425は、前方剛体305の左側に配置される。さらに、顔センサ420および425は、ユーザの視線の外に配置される。光源410および415と同様に、顔センサ420および425は、ユーザの直接の視線の外側に配置され、ユーザの顔(および目)の方に向けられる。
図5は、一実施形態による、図4のバーチャルリアリティHMD300の前方剛体305の断面500である。図5に示すように、前方剛体305は、光学ブロック118に向けて画像光を放出する電子表示素子115を含む。光学ブロック118は、画像光を拡大し、いくつかの実施形態では、1つまたは複数のさらなる光学的収差(例えば、歪み、非点収差など)も補正する。次に、光学ブロック118は、ユーザに提示するために、変更された画像光を射出瞳505に向ける。射出瞳505は、HMD300を装着したユーザの目510が位置する前方剛体305の位置である。説明のために、図5は、単一の目510に関連する(ユーザから見て)前方剛体305の右側の断面500を示すが、光学ブロック118から独立した別の光学ブロックが、変更された画像光をユーザの別の目(すなわち、左目)に提供する。
コントローラ220は、電子ディスプレイ115に通信可能に結合され、これによりコントローラは(例えば、表示インタフェースモジュール270を介して)、顔アニメーションモジュール260によって生成された顔アニメーション情報などの画像および/またはビデオデータなどのメディアを、電子ディスプレイ115によってユーザに提示するために提供することができる。さらに、コントローラ220は、光源410および顔センサ420にも通信可能に結合されて、コントローラが(例えば、顔データキャプチャモジュール230を介して)光源410および顔センサ420に、ユーザの顔の一部を照明して当該一部の画像をキャプチャするように、命令を与えるようになっている。
図5に示す例では、光源410から放出された光線520は、ユーザの顔の平面セクション530(例えば、ユーザの下まぶた)から反射する。この場合、光線の入射角は、光線の反射角に等しい(すなわち、両方の角度が45度に等しいので、図5に示す角度は90度である)。複数の顔データフレームのうち、顔データフレームの任意の特定の画素は、発光する光源410および顔センサ420の特定の位置に基づいて最も明るい。例えば、光線540によって照明される平面セクション530の、顔センサ420によってキャプチャされる顔データフレームは、異なる光線520によって照明される同じ平面セクション530の別の顔データフレームの画素以外の最も明るい画素を有する。顔データフレーム内の最も明るい画素の顔データフレーム内の位置(例えば、顔データフレームの2D画像の(x,y)座標位置)は、2つの光線がユーザの顔(または目)の異なる平面セクションから反射し、したがって異なる入射角および反射率を有するため、異なる。
処理フロー
図6は、一実施形態による顔アニメーションの処理600を示すフローチャートである。一実施形態では、処理600は、図1のVRシステム100内で使用される。図6の処理例は、顔トラッキングシステム160、HMD105、コンソール110、および/または何らかの他のシステム(例えば、ARまたはMRシステム)によって実行されてもよい。他の実施形態では、他のエンティティが処理のステップの一部または全部を実行する。同様に、実施形態は、異なるステップおよび追加のステップ、あるいは異なるステップまたは追加のステップを含むか、または異なる順序でステップを実行する。さらに、この処理は、いくつかの実施形態において、図6と関連して説明したもの以外の異なるステップおよび追加のステップ、あるいは異なるステップまたは追加のステップを含む。
顔トラッキングシステム160は、HMD105を装着したユーザの顔の1つまたは複数のランドマーク、例えば、ユーザの眉または鼻の位置を表す較正属性を取り出す(610)。顔トラッキングシステム160は、顔トラッキングストア225から、および/または包括的な較正属性を含む、使用しているオンライン較正サーバから、ローカル較正手順を使用して較正属性を取り出す。
顔トラッキングシステム160は、光源200を使用して顔の複数の部分を照明する(620)。例えば、HMD105内の顔の一部は、ユーザの目、またはユーザの眉、鼻、目、および/または頬の周りの領域である。非撮像型の顔センサ210を有する実施形態では、照明620は省略される。
顔トラッキングシステム160(例えば、顔データキャプチャモジュール230)は、顔センサ210を使用して顔の複数の部分の複数の顔データフレームをキャプチャする(630)。
顔トラッキングシステム160は、複数の顔データフレームに基づいて顔(または目)の複数の平面セクションを特定する(640)。顔の各平面セクションは、顔上の位置と顔に対する向きとを有する。撮像型の顔センサ210を有する実施形態では、顔データフレームは、それぞれが複数の画素を含む画像である。複数の平面セクションは、複数の顔データフレームの各顔データフレームにおける最も明るい画素の分析に基づいて特定される。
顔トラッキングシステム160は、複数の平面セクションを顔の1つまたは複数のランドマークにマッピングする(650)。例えば、ユーザの鼻の表面に対応する表面は、ユーザの鼻の位置を示すランドマークにマッピングされる。
顔トラッキングシステム160は、マッピングに少なくとも部分的に基づいて顔の一部を表す顔アニメーション情報(例えば、2Dまたは3D)を生成する(660)。顔の当該一部は、顔データフレームによってキャプチャされた部分である。特に、顔トラッキングシステム160は、マッピングを組み合わせて、ユーザの顔の平面セクションの集約を構成する。例えば、ユーザの鼻の表面の鼻ランドマークへのマッピングは、ユーザの目の表面の目ランドマークへのマッピング、ユーザの眉の表面の眉ランドマークへのマッピングなどで集約される。
顔トラッキングシステム160は、顔アニメーション情報を、ユーザに提示するためにHMD(例えば、HMD300の電子ディスプレイ115)のディスプレイに提供する(670)。例えば、顔アニメーション情報は、仮想アバター上の表情、および/または現実世界におけるユーザの顔を表す仮想アバターを生成するために使用される。仮想アバターは、VRシステム100のユーザに没入型VR体験を提供するのに役立つ。他の実施形態では、顔トラッキングシステム160は、将来の使用のために顔アニメーション情報をデータベースに格納する。さらに、顔トラッキングシステム160は、VRシステム100の他のユーザに提示するために当該顔アニメーション情報を提供することができる。
なお、顔トラッキングシステム160は、光源および顔センサを使用してユーザの表情および目の動きをトラッキングするように記載されているが、処理600は、光源および顔センサ、あるいは光源または顔センサを必要としない他の技術を使用してユーザの表情および目の動きをトラッキングするために使用することができる。例えば、他の技術は、超音波センサ、近接センサなどを使用する。
追加構成考慮事項
本開示の実施形態の前述の説明は、例示の目的のために提示されており、網羅的であること、または、開示された正確な形態に本開示を限定することを意図するものではない。関連技術の当業者は、上記の開示に照らして多くの修正および変形が可能であることを理解することができる。
本明細書の一部は、情報に関する動作のアルゴリズムおよびシンボリックな表現という観点から本開示の実施形態を説明している。データ処理分野の当業者は、これらのアルゴリズム的な説明および表現を一般的に使用して、当業者の仕事の重要な部分を他の当業者に効率的に伝達している。これらの動作は、機能的、算術的、または論理的に説明される一方、コンピュータプログラムまたは同等の電気回路、ミクロコード等により実施されると理解されたい。更に、普遍性を失わずに、これらの動作の構成をモジュールと言及することがときには便宜的であることが証明されている。説明された動作およびその関連するモジュールは、ソフトウエア、ファームウエア、ハードウェア、またはこれらの任意の組み合わせにおいて具現化されてもよい。
本明細書に記載の工程、動作、または処理のうち任意のものは、1つまたは2つ以上のハードウェアまたはソフトウェアモジュールを使用して、単独でまたは他の装置と組み合わせて実行または実施されてもよい。一実施形態では、ソフトウェアモジュールは、説明された工程、動作、または処理のうちいずれかまたは全てを実行するためのコンピュータプロセッサにより実行可能なコンピュータプログラムコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品を使用して実施される。
本開示の実施形態はまた、本明細書に記載の動作を実行するための装置に関する。この装置は、要求される目的のために特別に設計されてもよく、および/またはコンピュータに記憶されているコンピュータプログラムにより選択的に作動または再設定される汎用コンピューティング装置を含んでもよい。このようなコンピュータプログラムは、非一時的、有形コンピュータ可読型記憶媒体、またはコンピュータシステムバスに接続することができる、電子指示を記憶するために好適な任意のタイプの媒体に記憶されてもよい。更に、本明細書に言及される任意のコンピューティングシステムは、単一のプロセッサを含み、コンピューティング能力を高めるために複数のプロセッサの設計を用いるアーキテクチャであってもよい。
本開示の実施形態はまた、本明細書に記載のコンピューティング処理により生成される製品に関する。かかる製品は、コンピューティング処理に由来する情報であって、非一時的、有形コンピュータ可読型記憶媒体に記憶される情報であり、コンピュータプログラム製品または本明細書に記載の他のデータの組み合わせの任意の実施形態を含んでもよい。
最後に、本明細書で使用される言語は、主として読みやすさおよび説明を目的として選択されており、本発明の主題を線引きまたは画定するように選択されていない可能性がある。したがって、本開示の範囲は、この詳細な説明によってではなく、むしろ、これに基づいて本願について発行される任意の特許請求の範囲によって限定されるものである。したがって、特許権の範囲を例示することを意図しているが、以下の特許請求の範囲に規定される開示の範囲を限定するものではない。

Claims (19)

  1. ヘッドマウントディスプレイ(HMD)であって、
    前記ヘッドマウントディスプレイを装着したユーザにコンテンツを表示するように構成された表示素子と、
    前記光学ブロックの周りの離散した位置に配置され、且つ前記ヘッドマウントディスプレイ内の前記ユーザの顔の複数の部分に光を照射するように構成された複数の光源と、
    前記複数の光源のうちの1つまたは複数によって光が照射された前記顔の一部の1つまたは複数の顔データをキャプチャするように構成された顔センサと、
    コントローラであって、
    前記顔センサからキャプチャされた複数の顔データを受信し、前記キャプチャされた複数の顔データに少なくとも部分的に基づいて前記ユーザの顔の一部を示す顔アニメーション情報を生成すること、および
    バーチャルリアリティ(VR)コンソールに、前記キャプチャされた複数の顔データを提供し、前記バーチャルリアリティコンソールから、前記キャプチャされた複数の顔データに少なくとも部分的に基づいた前記ユーザの顔の一部の仮想アニメーションを受信すること、のうちの少なくとも一方を実行するように構成された前記コントローラと、を備えるヘッドマウントディスプレイ。
  2. 前記表示素子からの光を前記ヘッドマウントディスプレイの射出瞳に導くように構成された光学ブロックを更に備える請求項1に記載のヘッドマウントディスプレイ。
  3. 前記コントローラは、
    較正処理において1つまたは複数の表情を実行するようにユーザに命令を提供し、
    前記顔センサからの1つまたは複数の表情のうちの少なくとも1つに対応する複数の較正属性を受信し、
    前記複数の較正属性に少なくとも部分的に基づいて、前記ユーザの顔の1つまたは複数のランドマークを特定するように更に構成され、
    前記ユーザの顔の一部を示す顔アニメーション情報は、1つまたは複数のランドマークに更に基づく、請求項1または2に記載のヘッドマウントディスプレイ。
  4. 前記表示素子は、前記ユーザにアバターを表示するように構成され、
    前記アバターの顔は、前記顔アニメーション情報に基づく、請求項1から3のいずれか1項に記載のヘッドマウントディスプレイ。
  5. 前記コントローラは、
    前記キャプチャされた複数の顔データに少なくとも部分的に基づいて、前記顔の一部の複数の表面を特定し、
    前記複数の表面を、前記顔のセクションを表す1つまたは複数のランドマークにマッピングするように更に構成され、
    前記ユーザの顔の一部を示す顔アニメーション情報は、前記マッピングに更に基づく、請求項1から4のいずれか1項に記載のヘッドマウントディスプレイ。
  6. 前記顔センサは、カメラ、オーディオセンサ、歪みゲージ、電磁センサ、および近接センサからなる群から選択され、
    好ましくは、前記コントローラは、
    前記顔の複数の部分に光を照射するように前記複数の光源に命令を供給し、
    前記1つまたは複数の顔データをキャプチャするように、前記複数の光源への前記命令と協調させて前記顔センサに命令を供給するように更に構成されること、および
    前記複数の光源は、前記光学ブロックの周りにリング配置で配置され、前記複数の光源に供給される命令は、前記複数の光源のうちの1つの光源のみが所定の時間に前記顔の複数の部分に光を照射するように協調されること、のうちの少なくとも一方を特徴とする請求項1から5のいずれか1項に記載のヘッドマウントディスプレイ。
  7. 前記コントローラは、前記複数の顔データから鏡面反射情報を受信し、前記鏡面反射情報に少なくとも部分的に基づいて前記ユーザの目の位置を特定するように更に構成され、
    好ましくは、前記顔アニメーション情報は、前記ユーザの目の位置に更に基づく、請求項1から6のいずれか1項に記載のヘッドマウントディスプレイ。
  8. ヘッドマウントディスプレイ(HMD)を装着したユーザの顔アニメーション情報を提供する方法であって、
    1つまたは複数の光源を用いて、前記ヘッドマウントディスプレイを装着したユーザの前記ヘッドマウントディスプレイ内の顔の複数の部分を照明すること、
    ヘッドマウントディスプレイ内に配置された1つまたは複数の顔センサを使用して、顔の一部の複数の顔データをキャプチャすること、
    複数の顔データに少なくとも部分的に基づいて、顔の一部の複数の平面セクションを特定すること、
    前記複数の平面セクションを前記顔の1つまたは複数のランドマークにマッピングすること、を備え、
    前記ユーザの顔の一部に対応する仮想顔の一部を示す前記顔アニメーション情報を前記マッピングに少なくとも部分的に基づいて生成すること、および
    バーチャルリアリティ(VR)コンソールに前記マッピングを提供し、
    前記バーチャルリアリティコンソールから、前記マッピングに少なくとも部分的に基づいて、前記ユーザの顔の前記一部を含む仮想顔を表す顔アニメーション情報を受信し、
    前記顔アニメーション情報を前記ヘッドマウントディスプレイのディスプレイに提供して前記ユーザに提示すること、のうちの少なくとも一方を特徴とする方法。
  9. 前記顔アニメーション情報を用いてアバターの仮想顔を更新すること、
    前記ヘッドマウントディスプレイの表示素子に前記仮想顔を提供して前記ユーザに提示することを更に備える請求項8に記載の方法。
  10. 較正処理において1つまたは複数の表情を実行するように前記ユーザに命令を提供すること、
    前記顔センサからの1つまたは複数の表情のうちの少なくとも1つに対応する較正属性を受信すること、
    前記較正属性に少なくとも部分的に基づいて、前記ユーザの顔の1つまたは複数のランドマークを特定するように更に備え、
    前記顔アニメーション情報を生成することは、前記顔の1つまたは複数のランドマークに更に基づき、
    好ましくは、複数のヘッドマウントディスプレイから受信した包括的な較正属性を含むオンラインデータベースに前記較正属性を記憶することを更に備えること、および
    前記顔の1つまたは複数のランドマークは、前記ユーザの目、前記ユーザの眉、前記ユーザの鼻、前記ユーザの口、および前記ユーザの頬のうちの1つまたは複数の位置を表すこと、のうちの少なくとも一方を特徴とする請求項8または9に記載の方法。
  11. 前記顔アニメーション情報は、前記ユーザの顔の一部の3次元仮想表現を表す、請求項8から10のいずれか1項に記載の方法。
  12. 前記顔データは画像のフレームを表し、前記画像は複数の画素を含み、各画素は前記画像の座標(x,y)位置に関連付けられ、
    前記複数の顔データに少なくとも部分的に基づく前記顔の一部の複数の平面セクションを特定することは、
    前記画像の各座標位置について、前記座標位置における最も明るい画素値に対応する平面セクションを特定すること、
    特定された前記平面セクションの各々に対応する光センサ位置を特定すること、
    特定された前記平面セクションと特定された複数の光センサ位置とに少なくとも部分的に基づいて前記顔の一部の仮想表面を生成すること、を含み、
    前記顔アニメーション情報を生成することは、前記仮想表面に更に基づく、請求項8から11のいずれか1項に記載の方法。
  13. 前記1つまたは複数の顔センサが、カメラ、オーディオセンサ、歪みゲージ、電磁センサ、および近接センサからなる群から選択される、請求項8から12のいずれか1項に記載の方法。
  14. 前記顔の複数の部分に光を照射することは、
    前記顔の複数の部分に光を照射するように複数の光源に命令を供給すること、
    前記1つまたは複数の顔データをキャプチャするように、前記複数の光源への前記命令と協調させて、前記1つまたは複数の顔センサに命令を供給すること、を含み、
    好ましくは、前記複数の光源はリング配置で配置され、前記複数の光源に供給される命令は、前記複数の光源のうちの1つの光源のみが所定の時間に前記顔の複数の部分に光を照射するように協調される、請求項8から13のいずれか1項に記載の方法。
  15. 前記複数の顔データから鏡面反射情報を受信すること、
    前記鏡面反射情報に少なくとも部分的に基づいて前記ユーザの目の位置を特定すること、を更に備え、
    好ましくは、前記顔アニメーション情報は、前記ユーザの目の位置に更に基づく、請求項8から14のいずれか1項に記載のヘッドマウントディスプレイ。
  16. ヘッドマウントディスプレイ(HMD)を装着したユーザの顔アニメーション情報を提供する方法であって、
    前記ヘッドマウントディスプレイを装着したユーザの前記ヘッドマウントディスプレイ内の顔の1つまたは複数のランドマークを含む較正属性を受信すること、
    前記ヘッドマウントディスプレイ内に配置されてユーザの視線から離れた1つまたは複数の顔センサを使用して、顔の一部の複数の顔データをキャプチャすること、
    複数の顔データに少なくとも部分的に基づいて顔の一部の複数の平面セクションの表面を特定すること、
    前記複数の平面セクションを前記顔の1つまたは複数のランドマークにマッピングすること、
    前記マッピングに少なくとも部分的に基づいて、前記ユーザの顔の一部を含む仮想顔を示す前記顔アニメーション情報を生成すること、
    前記顔アニメーション情報を前記ヘッドマウントディスプレイのディスプレイに提供して前記ユーザに提示すること、を備える方法。
  17. 前記較正属性を、複数のヘッドマウントディスプレイから受信した包括的な較正属性を含むオンラインデータベースに記憶することを更に備える請求項16に記載の方法。
  18. 前記顔の1つまたは複数のランドマークは、前記ユーザの目、前記ユーザの眉、前記ユーザの鼻、前記ユーザの口、および前記ユーザの頬のうちの1つまたは複数の位置を表すこと、
    前記顔アニメーション情報は、前記ユーザの顔の一部の3次元仮想表現を表すこと、
    前記1つまたは複数の顔センサは、カメラ、オーディオセンサ、歪みゲージ、電磁センサ、および近接センサからなる群から選択されること、および
    前記ヘッドマウントディスプレイ内に配置されて前記ユーザの視線から離れた前記1つまたは複数の顔センサを使用して前記顔の一部の複数の顔データをキャプチャすることは、複数の光源を使用して前記顔の複数の部分に光を照射すること、のうちの少なくとも一方を特徴とする請求項16または17に記載の方法。
  19. 前記複数の顔データから鏡面反射情報を受信すること、
    前記鏡面反射情報に少なくとも部分的に基づいて前記ユーザの目の位置を特定すること、を更に備える請求項16から18のいずれか1項に記載の方法。
JP2018563028A 2016-06-03 2016-08-10 ヘッドマウントディスプレイ内の顔センサを使用する顔および目のトラッキングおよび顔アニメーション Active JP6560463B1 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/172,473 2016-06-03
US15/172,484 2016-06-03
US15/172,484 US10430988B2 (en) 2016-06-03 2016-06-03 Facial animation using facial sensors within a head-mounted display
US15/172,473 US9959678B2 (en) 2016-06-03 2016-06-03 Face and eye tracking using facial sensors within a head-mounted display
PCT/US2016/046375 WO2017209777A1 (en) 2016-06-03 2016-08-10 Face and eye tracking and facial animation using facial sensors within a head-mounted display

Publications (2)

Publication Number Publication Date
JP6560463B1 JP6560463B1 (ja) 2019-08-14
JP2019525288A true JP2019525288A (ja) 2019-09-05

Family

ID=60477735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018563028A Active JP6560463B1 (ja) 2016-06-03 2016-08-10 ヘッドマウントディスプレイ内の顔センサを使用する顔および目のトラッキングおよび顔アニメーション

Country Status (4)

Country Link
JP (1) JP6560463B1 (ja)
KR (1) KR102144040B1 (ja)
CN (1) CN109643152B (ja)
WO (1) WO2017209777A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022113520A1 (ja) * 2020-11-30 2022-06-02 株式会社電通 情報処理システム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113519154A (zh) * 2019-03-13 2021-10-19 惠普发展公司,有限责任合伙企业 检测眼睛跟踪校准误差
US11181973B2 (en) * 2019-05-09 2021-11-23 Apple Inc. Techniques related to configuring a display device
KR102362137B1 (ko) 2019-10-30 2022-02-11 주식회사다스 Bldc 모터 시스템 및 구동 장치
TWI761930B (zh) * 2019-11-07 2022-04-21 宏達國際電子股份有限公司 頭戴式顯示裝置以及距離量測器
JP7295045B2 (ja) * 2020-01-16 2023-06-20 株式会社コロプラ プログラム、コンピュータが実行する方法及びコンピュータ
KR102501719B1 (ko) 2021-03-03 2023-02-21 (주)자이언트스텝 비정면 이미지 기반의 학습 모델을 이용한 페이셜 애니메이션 생성 방법 및 장치
WO2024071632A1 (ko) * 2022-09-30 2024-04-04 삼성전자 주식회사 메타버스 영상을 표시하는 영상 표시 장치 및 그 표시 방법
KR102547358B1 (ko) 2022-11-15 2023-06-23 엠앤앤에이치 주식회사 볼류메트릭 동영상을 이용한 아바타 퍼포밍 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520054A (ja) * 2003-03-06 2006-08-31 アニメトリクス,インク. 不変視点からの画像照合および2次元画像からの3次元モデルの生成
JP2011170891A (ja) * 2000-08-30 2011-09-01 Microsoft Corp 顔画像処理方法およびシステム
JP2014534655A (ja) * 2011-08-30 2014-12-18 マイクロソフト コーポレーション 虹彩スキャン・プロファイリング機能を有する頭部装着ディスプレイ
US20160026253A1 (en) * 2014-03-11 2016-01-28 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUP0203993A2 (hu) * 2002-11-19 2004-08-30 László Domján Binokuláris videoszemüveg optikai rendszere
US8752963B2 (en) * 2011-11-04 2014-06-17 Microsoft Corporation See-through display brightness control
US9035955B2 (en) * 2012-05-16 2015-05-19 Microsoft Technology Licensing, Llc Synchronizing virtual actor's performances to a speaker's voice
US9058053B2 (en) * 2012-10-26 2015-06-16 The Boeing Company Virtual reality display system
JP6066676B2 (ja) * 2012-11-06 2017-01-25 株式会社ソニー・インタラクティブエンタテインメント ヘッドマウントディスプレイおよび映像提示システム
US20160054791A1 (en) * 2014-08-25 2016-02-25 Daqri, Llc Navigating augmented reality content with a watch

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170891A (ja) * 2000-08-30 2011-09-01 Microsoft Corp 顔画像処理方法およびシステム
JP2006520054A (ja) * 2003-03-06 2006-08-31 アニメトリクス,インク. 不変視点からの画像照合および2次元画像からの3次元モデルの生成
JP2014534655A (ja) * 2011-08-30 2014-12-18 マイクロソフト コーポレーション 虹彩スキャン・プロファイリング機能を有する頭部装着ディスプレイ
US20160026253A1 (en) * 2014-03-11 2016-01-28 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022113520A1 (ja) * 2020-11-30 2022-06-02 株式会社電通 情報処理システム

Also Published As

Publication number Publication date
CN109643152B (zh) 2020-03-13
KR102144040B1 (ko) 2020-08-13
JP6560463B1 (ja) 2019-08-14
KR20190004806A (ko) 2019-01-14
CN109643152A (zh) 2019-04-16
WO2017209777A1 (en) 2017-12-07

Similar Documents

Publication Publication Date Title
US9959678B2 (en) Face and eye tracking using facial sensors within a head-mounted display
JP6560463B1 (ja) ヘッドマウントディスプレイ内の顔センサを使用する顔および目のトラッキングおよび顔アニメーション
US11604509B1 (en) Event camera for eye tracking
JP6902075B2 (ja) 構造化光を用いた視線追跡
US10257507B1 (en) Time-of-flight depth sensing for eye tracking
EP3252566B1 (en) Face and eye tracking and facial animation using facial sensors within a head-mounted display
KR102062658B1 (ko) 안구 모델을 생성하기 위한 각막의 구체 추적
US10614577B1 (en) Eye tracking system with single point calibration
JP6886510B2 (ja) 視線追跡情報に基づく画像領域内の適応パラメータ
US10401625B2 (en) Determining interpupillary distance and eye relief of a user wearing a head-mounted display
US10430988B2 (en) Facial animation using facial sensors within a head-mounted display
US10529113B1 (en) Generating graphical representation of facial expressions of a user wearing a head mounted display accounting for previously captured images of the user's facial expressions
US10684674B2 (en) Tracking portions of a user's face uncovered by a head mounted display worn by the user
US10636192B1 (en) Generating a graphical representation of a face of a user wearing a head mounted display
US10120442B2 (en) Eye tracking using a light field camera on a head-mounted display
US20190101978A1 (en) Eye tracking system using dense structured light patterns
US10109067B2 (en) Corneal sphere tracking for generating an eye model
CN110658914A (zh) 边界区域的闪烁追踪
US10495882B1 (en) Positioning cameras in a head mounted display to capture images of portions of a face of a user

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181130

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190408

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190618

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190718

R150 Certificate of patent or registration of utility model

Ref document number: 6560463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250