(57)【要約】  方法（３００）は、第１の顔フレームワーク（１４４ａ）と顔（２０）の第１の取り込み画像（１３０ａ）とを受け取るステップを含む。第１の顔フレームワークは、第１のフレームにおける顔に対応し、顔情報（１４０）の第１の顔メッシュ（１４２ａ）を含む。また、上記方法は、第１の取り込み画像を第１の顔フレームワーク上に投影するステップと、投影された第１の取り込み画像に基づいて、顔に対応する顔テクスチャ（２１２）を判断するステップとを含む。また、上記方法は、顔情報の第２の顔メッシュ（１４２ｂ）を含む第２のフレームにおける第２の顔フレームワーク（１４４ｂ）を受け取るステップと、受け取られた第２の顔フレームワークに基づいて顔テクスチャを更新するステップとを含む。また、上記方法は、更新された顔テクスチャを三次元アバター（１６０）として表示するステップを含む。三次元アバターは、顔の仮想表現に対応する。
2021523437.tif 000002
【特許請求の範囲】
【請求項１】
方法（３００）であって、
データ処理ハードウェア（１５４）において、第１の顔フレームワーク（１４４ａ）と中立の顔面表情（２２）を有するユーザ（１０）の顔（２０）の第１の取り込み画像（１３０ａ）とを受け取るステップを備え、前記第１の顔フレームワーク（１４４ａ）は、第１のフレームにおける前記ユーザ（１０）の前記顔（２０）に対応し、顔情報（１４０）の第１の顔メッシュ（１４２ａ）を備え、前記方法（３００）はさらに、
前記データ処理ハードウェア（１５４）が、前記顔の前記第１の取り込み画像（１３０ａ）を前記第１の顔フレームワーク（１４４ａ）上に投影するステップと、
前記データ処理ハードウェア（１５４）が、前記投影された第１の取り込み画像（１３０ａ）に基づいて、前記ユーザ（１０）の前記顔（２０）に対応する顔テクスチャ（２１２）を判断するステップと、
前記データ処理ハードウェア（１５４）において、第２の顔フレームワーク（１４４ｂ）を受け取るステップとを備え、前記第２の顔フレームワーク（１４４ｂ）は、第２のフレームにおける前記ユーザ（１０）の前記顔（２０）に対応し、顔情報（１４０）の第２の顔メッシュ（１４２ｂ）を備え、前記方法（３００）はさらに、
前記データ処理ハードウェア（１５４）が、前記受け取られた第２の顔フレームワーク（１４４ｂ）に基づいて、前記顔テクスチャ（２１２）を更新するステップと、
前記データ処理ハードウェア（１５４）が、前記更新された顔テクスチャ（２１２）を三次元アバター（１６０）として表示するステップとを備え、前記三次元アバター（１６０）は、前記ユーザ（１０）の前記顔（２０）の仮想表現に対応する、方法（３００）。
【請求項２】
前記データ処理ハードウェア（１５４）において、前記ユーザ（１０）の前記顔（２０）の第２の取り込み画像（１３０ｂ）を受け取るステップをさらに備え、前記第２の取り込み画像（１３０ｂ）は、前記ユーザの顔面表情（２２）として笑顔を取り込み、
前記データ処理ハードウェア（１５４）において、前記ユーザ（１０）の前記顔（２０）の第３の取り込み画像（１３０ｃ）を受け取るステップをさらに備え、前記第３の取り込み画像（１３０ｃ）は、前記ユーザの前記顔面表情（２２）として両方の眉を上げた状態を取り込み、
前記データ処理ハードウェア（１５４）において、前記ユーザ（１０）の前記顔（２０）の第４の取り込み画像（１３０ｄ）を受け取るステップをさらに備え、前記第４の取り込み画像（１３０ｄ）は、前記ユーザの前記顔面表情（２２）として笑顔および両方の眉を上げた状態を取り込み、
各々の取り込み画像について、前記データ処理ハードウェア（１５４）が、前記ユーザ（１０）の前記顔（２０）に対応する顔面表情（２２）テクスチャを判断するステップと、
前記データ処理ハードウェア（１５４）が、前記受け取られた第２の顔フレームワーク（１４４ｂ）に基づいて、各々の取り込み画像の前記顔面表情（２２）テクスチャと前記更新された顔テクスチャ（２１２）とをブレンドして、ブレンドされた顔テクスチャ（２１２）を生成するステップと、
前記データ処理ハードウェア（１５４）が、前記ブレンドされた顔テクスチャ（２１２）により前記三次元アバター（１６０）をレンダリングするステップとをさらに備える、請求項１に記載の方法（３００）。
【請求項３】
ブレンドするステップは、
各々の取り込み画像についてテクスチャベクトル（２３２）を判断するステップをさらに備え、前記テクスチャベクトル（２３２）は、前記中立の顔面表情（２２）を有する前記第１の取り込み画像（１３０ａ）との差のベクトル表現に対応し、ブレンドするステップはさらに、
前記受け取られた第２の顔フレームワーク（１４４ｂ）に基づいて、現在のテクスチャベクトル（２３２）を判断するステップと、
前記現在のテクスチャベクトル（２３２）と各々の取り込み画像の前記テクスチャベクトル（２３２）との間の差に基づいて、レンダリング重み（２４４）を割り当てるステップと、
前記レンダリング重み（２４４）に基づいて、前記ブレンドされた顔テクスチャ（２１２）により前記三次元アバター（１６０）をレンダリングするステップとを備える、請求項２に記載の方法（３００）。
【請求項４】
前記レンダリング重み（２４４）は、１に等しい合計を有する、請求項３に記載の方法（３００）。
【請求項５】
前記現在のテクスチャベクトル（２３２）および各々の取り込み画像の前記テクスチャベクトル（２３２）の各々は、５２変数浮動ベクトルに対応する、請求項３または４に記載の方法（３００）。
【請求項６】
前記レンダリング重み（２４４）は、前記現在のテクスチャベクトル（２３２）と各々の取り込み画像の前記テクスチャベクトル（２３２）との間の前記差が増加するにつれて、大きさが小さくなる、請求項５に記載の方法（３００）。
【請求項７】
前記データ処理ハードウェア（１５４）において、前記第２のフレームにおける顔情報（１４０）の現在の顔面表情（２２）メッシュを有する前記ユーザ（１０）の前記顔（２０）の取り込まれた現在の画像を受け取るステップと、
前記データ処理ハードウェア（１５４）が、前記受け取られた顔フレームワークおよび前記取り込まれた現在の画像に基づいて、前記顔テクスチャ（２１２）を更新するステップとをさらに備える、請求項１〜６のいずれか１項に記載の方法（３００）。
【請求項８】
前記受け取られた取り込まれた現在の画像は、減少させた分量の顔テクスチャ（２１２）に対応する、請求項７に記載の方法（３００）。
【請求項９】
前記データ処理ハードウェア（１５４）が、前記受け取られた取り込まれた現在の画像に基づいて、前記ユーザ（１０）の前記顔（２０）の遮られた部分を判断するステップと、
前記データ処理ハードウェア（１５４）が、前記ユーザ（１０）の前記顔（２０）の前記遮られた部分と、以前のフレームからの遮られていない取り込まれた画像から生成された顔テクスチャ（２１２）とをブレンドするステップとをさらに備える、請求項８に記載の方法（３００）。
【請求項１０】
前記データ処理ハードウェア（１５４）が、前記ユーザの眼または口の描出を生成するステップをさらに備え、前記生成するステップは、
前記データ処理ハードウェア（１５４）が、前記眼または前記口のエッジを検出するステップと、
前記データ処理ハードウェア（１５４）が、前記眼または前記口の前記エッジに関連付けられた角度の合計が２π（３６０度）に対応することを判断するステップと、
前記データ処理ハードウェア（１５４）が、２πに対応する前記検出されたエッジに基づいて、前記眼または前記口の位置を近似するステップと、
前記データ処理ハードウェア（１５４）が、前記顔の前記取り込み画像から前記近似された位置における前記口または前記眼を抽出するステップと、
前記データ処理ハードウェア（１５４）が、前記近似された位置における前記抽出された口または前記抽出された眼をフィルでレンダリングするステップとによって行われる、請求項１〜９のいずれか１項に記載の方法（３００）。
【請求項１１】
前記第１の取り込み画像（１３０ａ）は、携帯電話（１００）からの赤、緑および青の（ＲＧＢ）画像を備える、請求項１〜１０のいずれか１項に記載の方法（３００）。
【請求項１２】
前記三次元アバター（１６０）は、拡張現実（ＡＲ）デバイス（１００）上に表示される、請求項１〜１１のいずれか１項に記載の方法（３００）。
【請求項１３】
システム（１００）であって、
データ処理ハードウェア（１５４）と、
前記データ処理ハードウェア（１５４）と通信するメモリハードウェア（１５６）とを備え、前記メモリハードウェア（１５６）は、命令を格納し、前記命令は、前記データ処理ハードウェア（１５４）上で実行されると、前記データ処理ハードウェア（１５４）にオペレーションを実行させ、前記オペレーションは、
第１の顔フレームワーク（１４４ａ）と中立の顔面表情（２２）を有するユーザ（１０）の顔（２０）の第１の取り込み画像（１３０ａ）とを受け取るステップを備え、前記第１の顔フレームワーク（１４４ａ）は、第１のフレームにおける前記ユーザ（１０）の前記顔（２０）に対応し、顔情報（１４０）の第１の顔メッシュ（１４２ａ）を備え、前記オペレーションはさらに、
前記顔の前記第１の取り込み画像（１３０ａ）を前記第１の顔フレームワーク（１４４ａ）上に投影するステップと、
前記投影された第１の取り込み画像（１３０ａ）に基づいて、前記ユーザ（１０）の前記顔（２０）に対応する顔テクスチャ（２１２）を判断するステップと、
第２の顔フレームワーク（１４４ｂ）を受け取るステップとを備え、前記第２の顔フレームワーク（１４４ｂ）は、第２のフレームにおける前記ユーザ（１０）の前記顔（２０）に対応し、顔情報（１４０）の第２の顔メッシュ（１４２ｂ）を備え、前記オペレーションはさらに、
前記受け取られた第２の顔フレームワーク（１４４ｂ）に基づいて、前記顔テクスチャ（２１２）を更新するステップと、
前記更新された顔テクスチャ（２１２）を三次元アバター（１６０）として表示するステップとを備え、前記三次元アバター（１６０）は、前記ユーザ（１０）の前記顔（２０）の仮想表現に対応する、システム（１００）。
【請求項１４】
前記オペレーションは、
前記ユーザ（１０）の前記顔（２０）の第２の取り込み画像（１３０ｂ）を受け取るステップをさらに備え、前記第２の取り込み画像（１３０ｂ）は、前記ユーザの顔面表情（２２）として笑顔を取り込み、前記オペレーションはさらに、
前記ユーザ（１０）の前記顔（２０）の第３の取り込み画像（１３０ｃ）を受け取るステップを備え、前記第３の取り込み画像（１３０ｃ）は、前記ユーザの前記顔面表情（２２）として両方の眉を上げた状態を取り込み、前記オペレーションはさらに、
前記ユーザ（１０）の前記顔（２０）の第４の取り込み画像（１３０ｄ）を受け取るステップを備え、前記第４の取り込み画像（１３０ｄ）は、前記ユーザの前記顔面表情（２２）として笑顔および両方の眉を上げた状態を取り込み、前記オペレーションはさらに、
各々の取り込み画像について、前記ユーザ（１０）の前記顔（２０）に対応する顔面表情（２２）テクスチャを判断するステップと、
前記受け取られた第２の顔フレームワーク（１４４ｂ）に基づいて、各々の取り込み画像の前記顔面表情（２２）テクスチャと前記更新された顔テクスチャ（２１２）とをブレンドして、ブレンドされた顔テクスチャ（２１２）を生成するステップと、
前記ブレンドされた顔テクスチャ（２１２）により前記三次元アバター（１６０）をレンダリングするステップとを備える、請求項１３に記載のシステム（１００）。
【請求項１５】
ブレンドするステップは、
各々の取り込み画像についてテクスチャベクトル（２３２）を判断するステップをさらに備え、前記テクスチャベクトル（２３２）は、前記中立の顔面表情（２２）を有する前記第１の取り込み画像（１３０ａ）との差のベクトル表現に対応し、ブレンドするステップはさらに、
前記受け取られた第２の顔フレームワーク（１４４ｂ）に基づいて、現在のテクスチャベクトル（２３２）を判断するステップと、
前記現在のテクスチャベクトル（２３２）と各々の取り込み画像の前記テクスチャベクトル（２３２）との間の差に基づいて、レンダリング重み（２４４）を割り当てるステップと、
前記レンダリング重み（２４４）に基づいて、前記ブレンドされた顔テクスチャ（２１２）により前記三次元アバター（１６０）をレンダリングするステップとを備える、請求項１４に記載のシステム（１００）。
【請求項１６】
前記レンダリング重み（２４４）は、１に等しい合計を有する、請求項１５に記載のシステム（１００）。
【請求項１７】
前記現在のテクスチャベクトル（２３２）および各々の取り込み画像の前記テクスチャベクトル（２３２）の各々は、５２変数浮動ベクトルに対応する、請求項１５または１６に記載のシステム（１００）。
【請求項１８】
前記レンダリング重み（２４４）は、前記現在のテクスチャベクトル（２３２）と各々の取り込み画像の前記テクスチャベクトル（２３２）との間の前記差が増加するにつれて、大きさが小さくなる、請求項１７に記載のシステム（１００）。
【請求項１９】
前記オペレーションは、
前記第２のフレームにおける顔情報（１４０）の現在の顔面表情（２２）メッシュを有する前記ユーザ（１０）の前記顔（２０）の取り込まれた現在の画像を受け取るステップと、
前記受け取られた顔フレームワークおよび前記取り込まれた現在の画像に基づいて、前記顔テクスチャ（２１２）を更新するステップとをさらに備える、請求項１３〜１８のいずれか１項に記載のシステム（１００）。
【請求項２０】
前記受け取られた取り込まれた現在の画像は、減少させた分量の顔テクスチャ（２１２）に対応する、請求項１９に記載のシステム（１００）。
【請求項２１】
前記オペレーションは、
前記データ処理ハードウェア（１５４）が、前記受け取られた取り込まれた現在の画像に基づいて、前記ユーザ（１０）の前記顔（２０）の遮られた部分を判断するステップと、
前記データ処理ハードウェア（１５４）が、前記ユーザ（１０）の前記顔（２０）の前記遮られた部分と、以前のフレームからの遮られていない取り込まれた画像から生成された顔テクスチャ（２１２）とをブレンドするステップとをさらに備える、請求項２０に記載のシステム（１００）。
【請求項２２】
前記オペレーションは、前記ユーザの眼または口の描出を生成するステップをさらに備え、前記生成するステップは、
前記眼または前記口のエッジを検出するステップと、
前記眼または前記口の前記エッジに関連付けられた角度の合計が２π（３６０度）に対応することを判断するステップと、
２πに対応する前記検出されたエッジに基づいて、前記眼または前記口の位置を近似するステップと、
前記顔の前記取り込み画像から前記近似された位置における前記口または前記眼を抽出するステップと、
前記近似された位置における前記抽出された口または前記抽出された眼をフィルでレンダリングするステップとによって行われる、請求項１３〜２１のいずれか１項に記載のシステム（１００）。
【請求項２３】
前記第１の取り込み画像（１３０）は、携帯電話（１１０）からの赤、緑および青の（ＲＧＢ）画像を備える、請求項１３〜２２のいずれか１項に記載のシステム（１００）。
【請求項２４】
前記三次元アバター（１６０）は、拡張現実（ＡＲ）デバイス（１１０）上に表示される、請求項１３〜２３のいずれか１項に記載のシステム（１００）。
【請求項２５】
方法（３００）であって、
データ処理ハードウェア（１５４）において、第１の顔フレームワーク（１４４ａ）と中立の顔面表情（２２）を有するユーザ（１０）の顔（２０）の第１の取り込み画像（１３０ａ）とを受け取るステップを備え、前記第１の顔フレームワーク（１４４ａ）は、第１のフレームにおける前記ユーザ（１０）の前記顔（２０）に対応し、顔情報（１４０）の第１の顔メッシュ（１４２ａ）を備え、前記方法（３００）はさらに、
前記データ処理ハードウェア（１５４）が、前記顔の前記第１の取り込み画像（１３０ａ）を前記第１の顔フレームワーク（１４４ａ）上に投影するステップと、
前記データ処理ハードウェア（１５４）が、前記投影された第１の取り込み画像（１３０ａ）に基づいて、前記ユーザ（１０）の前記顔（２０）に対応する顔テクスチャ（２１２）を判断するステップと、
前記データ処理ハードウェア（１５４）が、前記判断された顔テクスチャ（２１２）を三次元アバター（１６０）として表示するステップとを備え、前記三次元アバター（１６０）は、前記ユーザ（１０）の前記顔（２０）の仮想表現に対応する、方法（３００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、顔面表情による遠隔アバターの操縦に関する。
【背景技術】
【０００２】
背景
技術が発展するにつれて、人々は技術をコミュニケーションの一形態として利用し続けている。たとえば、技術によってコミュニケーションが単純な物理的な会話からリモートのリアルタイムでの会話へと発展することが可能になった。しかし、この発展に伴って、リモート形式のコミュニケーションは、概して、物理的な会話に含まれる表情および感情をつかむ能力が多少欠如している。たとえば、電子メールまたはテキスト会話から感情的文脈を解読することはしばしば困難であることが分かっている。これらの欠陥を克服するために、コミュニケーションの方法は、感情および表情を表現する方法を提供しようとしてきた。たとえば、テキストアプリケーションは、今では、気分、意見を表現したり、単に気まぐれな遊びを提供したりするために、幅広い絵文字およびアニメーションを含んでいる。人々はますますリアルタイムでの音声および映像接続を使用してコミュニケーションをとるようになっているので、これらのコミュニケーションチャネルの中にユーザの個性および性格を反映する方法に対する需要が高まっている。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
本開示の一局面は、遠隔アバターを操縦するための方法を提供する。上記方法は、データ処理ハードウェアにおいて、第１の顔フレームワークと中立の顔面表情を有するユーザの顔の第１の取り込み画像とを受け取るステップを含む。上記第１の顔フレームワークは、第１のフレームにおける上記ユーザの上記顔に対応し、顔情報の第１の顔メッシュを含む。また、上記方法は、上記データ処理ハードウェアが、上記顔の上記第１の取り込み画像を上記第１の顔フレームワーク上に投影するステップと、上記データ処理ハードウェアが、上記投影された取り込み画像に基づいて、上記ユーザの上記顔に対応する顔テクスチャを判断するステップとを含む。上記方法は、上記データ処理ハードウェアにおいて、第２の顔フレームワークを受け取るステップも含み、上記第２の顔フレームワークは、第２のフレームにおける上記ユーザの上記顔に対応する。上記第２の顔フレームワークは、顔情報の第２の顔メッシュを含む。また、上記方法は、上記データ処理ハードウェアが、上記受け取られた第２の顔フレームワークに基づいて、上記顔テクスチャを更新するステップと、上記データ処理ハードウェアが、上記更新された顔テクスチャを三次元アバターとして表示するステップとを含む。上記三次元アバターは、上記ユーザの上記顔の仮想表現に対応する。
【０００４】
本開示の実現例は、以下の任意の特徴のうちの１つまたは複数を含んでもよい。いくつかの実現例では、上記方法は、上記データ処理ハードウェアにおいて、上記ユーザの上記顔の第２の取り込み画像を受け取るステップも含み、上記第２の取り込み画像は、上記ユーザの顔面表情として笑顔を取り込み、上記方法は、上記データ処理ハードウェアにおいて、上記ユーザの上記顔の第３の取り込み画像を受け取るステップも含み、上記第３の取り込み画像は、上記ユーザの上記顔面表情として両方の眉を上げた状態を取り込み、上記方法は、上記データ処理ハードウェアにおいて、上記ユーザの上記顔の第４の取り込み画像を受け取るステップも含み、上記第４の取り込み画像は、上記ユーザの上記顔面表情として笑顔および両方の眉を上げた状態を取り込み、上記方法は、各々の取り込み画像について、上記データ処理ハードウェアが、上記ユーザの上記顔に対応する顔面表情テクスチャを判断するステップと、上記データ処理ハードウェアが、上記受け取られた第２の顔フレームワークに基づいて、各々の取り込み画像の上記顔面表情テクスチャと上記更新された顔テクスチャとをブレンドして、ブレンドされた顔テクスチャを生成するステップと、上記データ処理ハードウェアが、上記ブレンドされた顔テクスチャにより上記三次元アバターをレンダリングするステップとを含む。これらの実現例では、ブレンドするステップは、各々の取り込み画像についてテクスチャベクトルを判断するステップをさらに含み、上記テクスチャベクトルは、上記中立の顔面表情を有する上記第１の取り込み画像との差のベクトル表現に対応し、ブレンドするステップはさらに、上記受け取られた第２の顔フレームワークに基づいて、現在のテクスチャベクトルを判断するステップと、上記現在のテクスチャベクトルと各々の取り込み画像の上記テクスチャベクトルとの間の差に基づいて、レンダリング重みを割り当てるステップと、上記レンダリング重みに基づいて、上記ブレンドされた顔テクスチャにより上記三次元アバターをレンダリングするステップとを含む。上記レンダリング重みは、１に等しい合計を有してもよい。いくつかの例では、上記現在のテクスチャベクトルおよび各々の取り込み画像の上記テクスチャベクトルの各々は、５２変数浮動ベクトルに対応してもよい。これらの例では、上記レンダリング重みは、上記現在のテクスチャベクトルと各々の取り込み画像の上記テクスチャベクトルとの間の上記差が増加するにつれて、大きさが小さくなる。
【０００５】
また、いくつかの例では、上記方法は、上記データ処理ハードウェアにおいて、上記第２のフレームにおける顔情報の現在の顔面表情メッシュを有する上記ユーザの上記顔の取り込まれた現在の画像を受け取るステップと、上記データ処理ハードウェアが、上記受け取られた顔フレームワークおよび上記取り込まれた現在の画像に基づいて、上記顔テクスチャを更新するステップとを含む。いくつかの実現例では、上記受け取られた取り込まれた現在の画像は、減少させた分量の顔テクスチャに対応する。また、これらの実現例では、上記方法は、上記データ処理ハードウェアが、上記受け取られた取り込まれた現在の画像に基づいて、上記ユーザの上記顔の遮られた部分を判断するステップと、上記データ処理ハードウェアが、上記ユーザの上記顔の上記遮られた部分と、以前のフレームからの遮られていない取り込まれた画像から生成された顔テクスチャとをブレンドするステップとを含んでもよい。
【０００６】
いくつかの実現例では、上記方法は、上記データ処理ハードウェアが、上記ユーザの眼または口の描出を生成するステップも含み、上記生成するステップは、上記データ処理ハードウェアが、上記眼または上記口のエッジを検出するステップと、上記データ処理ハードウェアが、上記眼または上記口の上記エッジに関連付けられた角度の合計が２π（３６０度）に対応することを判断するステップと、上記データ処理ハードウェアが、２πに対応する上記検出されたエッジに基づいて、上記眼または上記口の位置を近似するステップと、上記データ処理ハードウェアが、上記顔の上記取り込み画像から上記近似された位置における上記口または上記眼を抽出するステップと、上記データ処理ハードウェアが、上記近似された位置における上記抽出された口または上記抽出された眼をフィルでレンダリングするステップとによって行われる。上記取り込み画像は、携帯電話からの赤、緑および青の（ＲＧＢ）画像を含んでもよい。上記三次元アバターは、拡張現実（ＡＲ）デバイス上に表示されてもよい。
【０００７】
本開示の別の局面は、遠隔アバターを操縦するためのシステムを提供する。上記システムは、データ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含み、上記メモリハードウェアは、命令を格納し、上記命令は、上記データ処理ハードウェア上で実行されると、上記データ処理ハードウェアにオペレーションを実行させ、上記オペレーションは、第１の顔フレームワークと中立の顔面表情を有するユーザの顔の第１の取り込み画像とを受け取るステップを含む。上記第１の顔フレームワークは、第１のフレームにおける上記ユーザの上記顔に対応し、顔情報の第１の顔メッシュを含む。また、上記オペレーションは、上記顔の上記第１の取り込み画像を上記第１の顔フレームワーク上に投影するステップと、上記投影された取り込み画像に基づいて、上記ユーザの上記顔に対応する顔テクスチャを判断するステップとを含む。上記オペレーションは、第２の顔フレームワークを受け取るステップも含み、上記第２の顔フレームワークは、第２のフレームにおける上記ユーザの上記顔に対応する。上記第２の顔フレームワークは、顔情報の第２の顔メッシュを含む。また、上記オペレーションは、上記受け取られた第２の顔フレームワークに基づいて、上記顔テクスチャを更新するステップと、上記更新された顔テクスチャを三次元アバターとして表示するステップとを含む。上記三次元アバターは、上記ユーザの上記顔の仮想表現に対応する。
【０００８】
この局面は、以下の任意の特徴のうちの１つまたは複数を含んでもよい。いくつかの実現例では、上記オペレーションは、上記ユーザの上記顔の第２の取り込み画像を受け取るステップも含み、上記第２の取り込み画像は、上記ユーザの顔面表情として笑顔を取り込み、上記オペレーションは、上記ユーザの上記顔の第３の取り込み画像を受け取るステップも含み、上記第３の取り込み画像は、上記ユーザの上記顔面表情として両方の眉を上げた状態を取り込み、上記オペレーションは、上記ユーザの上記顔の第４の取り込み画像を受け取るステップも含み、上記第４の取り込み画像は、上記ユーザの上記顔面表情として笑顔および両方の眉を上げた状態を取り込み、上記オペレーションは、各々の取り込み画像について、上記ユーザの上記顔に対応する顔面表情テクスチャを判断するステップと、上記受け取られた第２の顔フレームワークに基づいて、各々の取り込み画像の上記顔面表情テクスチャと上記更新された顔テクスチャとをブレンドして、ブレンドされた顔テクスチャを生成するステップと、上記ブレンドされた顔テクスチャにより上記三次元アバターをレンダリングするステップとを含む。これらの実現例では、ブレンドするステップは、各々の取り込み画像についてテクスチャベクトルを判断するステップをさらに含み、上記テクスチャベクトルは、上記中立の顔面表情を有する上記第１の取り込み画像との差のベクトル表現に対応し、ブレンドするステップはさらに、上記受け取られた第２の顔フレームワークに基づいて、現在のテクスチャベクトルを判断するステップと、上記現在のテクスチャベクトルと各々の取り込み画像の上記テクスチャベクトルとの間の差に基づいて、レンダリング重みを割り当てるステップと、上記レンダリング重みに基づいて、上記ブレンドされた顔テクスチャにより上記三次元アバターをレンダリングするステップとを含む。上記レンダリング重みは、１に等しい合計を有してもよい。いくつかの例では、上記現在のテクスチャベクトルおよび各々の取り込み画像の上記テクスチャベクトルの各々は、５２変数浮動ベクトルに対応してもよい。これらの例では、上記レンダリング重みは、上記現在のテクスチャベクトルと各々の取り込み画像の上記テクスチャベクトルとの間の上記差が増加するにつれて、大きさが小さくなる。
【０００９】
また、いくつかの例では、上記オペレーションは、上記第２のフレームにおける顔情報の現在の顔面表情メッシュを有する上記ユーザの上記顔の取り込まれた現在の画像を受け取るステップと、上記受け取られた顔フレームワークおよび上記取り込まれた現在の画像に基づいて、上記顔テクスチャを更新するステップとを含む。いくつかの実現例では、上記受け取られた取り込まれた現在の画像は、減少させた分量の顔テクスチャに対応する。また、これらの実現例では、上記オペレーションは、上記受け取られた取り込まれた現在の画像に基づいて、上記ユーザの上記顔の遮られた部分を判断するステップと、上記ユーザの上記顔の上記遮られた部分と、以前のフレームからの遮られていない取り込まれた画像から生成された顔テクスチャとをブレンドするステップとを含んでもよい。
【００１０】
いくつかの実現例では、上記オペレーションは、上記ユーザの眼または口の描出を生成するステップも含み、上記生成するステップは、上記眼または上記口のエッジを検出するステップと、上記眼または上記口の上記エッジに関連付けられた角度の合計が２π（３６０度）に対応することを判断するステップと、２πに対応する上記検出されたエッジに基づいて、上記眼または上記口の位置を近似するステップと、上記顔の上記取り込み画像から上記近似された位置における上記口または上記眼を抽出するステップと、上記近似された位置における上記抽出された口または上記抽出された眼をフィルでレンダリングするステップとによって行われる。上記取り込み画像は、携帯電話からの赤、緑および青の（ＲＧＢ）画像を含んでもよい。上記三次元アバターは、拡張現実（ＡＲ）デバイス上に表示されてもよい。
【００１１】
本開示の別の局面は、遠隔アバターを操縦するための方法を提供し、上記方法は、データ処理ハードウェアにおいて、第１の顔フレームワークと中立の顔面表情を有するユーザの顔の第１の取り込み画像とを受け取るステップを含む。上記第１の顔フレームワークは、第１のフレームにおける上記ユーザの上記顔に対応し、顔情報の第１の顔メッシュを含む。また、上記方法は、上記データ処理ハードウェアが、上記顔の上記第１の取り込み画像を上記第１の顔フレームワーク上に投影するステップと、上記データ処理ハードウェアが、上記投影された第１の取り込み画像に基づいて、上記ユーザの上記顔に対応する顔テクスチャを判断するステップとを含む。上記方法は、上記データ処理ハードウェアが、上記判断された顔テクスチャを三次元アバターとして表示するステップを含み、上記三次元アバターは、上記ユーザの上記顔の仮想表現に対応する。
【００１２】
本開示の１または複数の実現例の詳細は、添付の図面および以下の説明に記載されている。他の局面、特徴および利点は、説明および図面、ならびに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００１３】
【図１】アバター操縦環境の一例の概略図である。
【図２Ａ】図１のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
【図２Ｂ】図１のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
【図２Ｃ】図１のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
【図２Ｄ】図１のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
【図２Ｅ】図１のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
【図２Ｆ】図１のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
【図３】顔面表情による遠隔アバターの操縦方法のためのオペレーションの構成の一例のフローチャートである。
【図４】本明細書に記載されているシステムおよび方法を実現するために使用され得るコンピューティングデバイスの一例の概略図である。
【発明を実施するための形態】
【００１４】
さまざまな図面内の同様の参照符号は同様の要素を示している。
詳細な説明
図１は、アバター操縦環境１００の一例である。アバター操縦環境１００は、ユーザ１０，１０ａ−ｂがユーザデバイス１１０，１１０ａ−ｂを介してネットワーク１２０を通じて会話１２を行う環境である。ネットワーク１２０は、ユーザデバイス１１０に関連付けられたアドレス間でデータをルーティングするように構成された任意のタイプの通信ネットワーク（たとえば、パケット交換網）を含む。
【００１５】
会話１２は、一般に、少なくとも２人のユーザ１０ａと１０ｂとの間の聞き取れる一連の発話のことである。各ユーザ１０に関連付けられたユーザデバイス１１０は、会話１２を取り込んでネットワーク１２０を介して通信するように構成される。ユーザデバイス１１０は、会話１２の発話の音声を取り込むだけでなく、ユーザ１０が会話中に話しているときのユーザ１０の顔２０の画像１３０および顔情報１４０も取り込む。顔２０の取り込み画像１３０および顔情報１４０に基づいて、各ユーザデバイス１１０は、関連付けられたユーザ１０の顔面表情２２を生成するようにさらに構成される。したがって、ユーザデバイス１１０は、遠隔のユーザ１０同士を接続してリアルタイムの会話１２に参加させることを可能にする。
【００１６】
ユーザデバイス１１０は、（１）顔画像１３０および顔情報１４０をネットワーク１２０および／またはリモートシステム１５０に通信することができ、（２）（たとえば、拡張現実（ＡＲ）機能によって）三次元（３Ｄ）アバター１６０を表示することができる任意のコンピューティングデバイスまたはデータ処理ハードウェアであり得る。いくつかの例では、第１のユーザ１０ａに関連付けられたユーザデバイス１１０ａは、第１のユーザ１０ａに関連付けられた顔画像１３０および顔情報１４０を通信するように構成されるのに対して、第２のユーザ１０ｂに関連付けられた第２のユーザデバイス１１０ｂは、第１のユーザ１０ａに関連付けられた３Ｄアバター１６０を表示するように構成される。示されている例では、各ユーザデバイス１１０は、データ処理ハードウェア１１２と、メモリハードウェア１１４と、１または複数の撮像デバイス１１６とを含む。撮像デバイス１１６のいくつかの例は、カメラ（たとえば、深度カメラもしくはＲＧＢカメラ）または画像センサ（たとえば、レーザ画像センサ）である。ユーザデバイス１１０は、拡張現実（ＡＲ）デバイス、デスクトップコンピューティングデバイス、およびモバイルコンピューティングデバイス（ラップトップ、タブレット、スマートフォンおよびウェアラブルコンピューティングデバイス（たとえば、ヘッドセットおよび／または時計）など）を含むが、これらに限定されるものではない。ユーザデバイス１１０は、それらの撮像デバイス１１６を利用して、遠隔のユーザ１０同士がネットワーク１２０を介して会話１２に参加することを可能にするように構成される。
【００１７】
引き続き図１を参照して、各ユーザデバイス１１０は、リアルタイム通信（ＲＴＣ）アプリケーション３０を実行して（すなわち、データ処理ハードウェア１１２を介して実行して）、第１および第２のユーザ１０ａ，１０ｂが互いに会話１２を行うことを可能にする。会話１２中に第１のユーザ１０ａが第２のユーザ１０ｂに話しかけると、第１のユーザデバイス１１０ａは、聞き取れる発話（すなわち、音声）２５、第１のユーザ１０ａの顔２０の１または複数の顔画像１３０、および／または、第１のユーザ１０ａの顔２０に対応する顔情報１４０を取り込む。その後、いくつかの例では、第１のユーザデバイス１１０ａは、取り込まれた聞き取れる発話２５、１または複数の顔画像１３０および／または顔情報１４０を含む出力１１８を、映像チャネルＣｈ，Ｖではなく対応する音声チャネルＣｈ，ＡおよびデータチャネルＣｈ，Ｄを介して第２のユーザデバイス１１０ｂに送信する。ここで、データチャネルＣｈ，Ｄは、顔画像１３０および／または顔情報１４０を送信するように構成された損失のあるデータチャネルを含むのに対して、音声チャネルＣｈ，Ａは、音声２５を通信するように構成される。音声チャネルＣｈ，Ａを介して送信された聞き取れる発話２５は、第１のユーザ１０ａによって話された発話のデジタル表現を含む。他の例では、第１のユーザデバイス１１０ａは、音声２５、１または複数の顔画像１３０および／または顔情報１４０を含む出力１１８を、対応する映像チャネルＣｈ，Ｖを介して第２のユーザデバイス１１０ｂに送信して、会話１２からの関連する音声２５との同期を保証する。たとえば、映像チャネルＣｈ，Ｖを介して顔画像１３０および／または顔情報１４０を音声２５と同期させることは、大きなデータセット（たとえば、顔画像１３０および顔面情報１４０からの大きなデータセット）がリアルタイムでの会話中にレイテンシの問題を回避するのに望ましいであろう。任意に、ＲＴＣアプリケーション３０の構成は、ユーザデバイスによって使用される通信チャネルＣＨを左右する。
【００１８】
第１のユーザデバイス１１０ａから送信された出力１１８に基づいて、第２のユーザデバイス１１０ｂは、第１のユーザ１０ａの顔２０および顔面表情に対応する３Ｄアバター１６０を第２のユーザデバイス１１０ｂのディスプレイ１１９上に表示するように構成される。示されている例では、第２のユーザデバイス１１０ｂで実行されるＲＴＣアプリケーション３０は、パペティア２００との通信を容易にし、パペティア２００は、出力１１８に基づいて第１のユーザ１０ａのアバター１６０を生成し、生成されたアバター１６０をディスプレイ１１９上での表示のために第２のユーザデバイス１１０ｂに提供するように構成される。パペティア２００によって生成される３Ｄアバター１６０は、第１のユーザ２０ａの顔２０の仮想表現に対応する。パペティア２００は、第１のユーザデバイス１１０ａからの出力１６０に基づいて、３Ｄアバター１６０をリアルタイム３Ｄアバター１６０として生成する。いくつかの実現例では、第２のユーザデバイス１１０ｂは、取り込まれた聞き取れる発話２５、１または複数の顔画像１３０および／または顔情報１４０を含む出力１１８をネットワーク１２０を介して第１のユーザデバイス１１０ａから受け取って、出力１１８をパペティア２００に提供する。他の実現例では、第１のユーザデバイス１１０ａは、出力１１８をパペティア２００に直接送信する。これらの実現例では、第１のユーザデバイス１１０ａで実行されるＲＴＣアプリケーション３０は、対応する３Ｄアバター特徴を起動して、第１のユーザデバイス１１０ａが第１のユーザ１０ａの顔２０および顔面表情に対応する３Ｄアバター１６０を生成するためのパペティア２００に出力１１８を直接提供することを可能にしてもよい。
【００１９】
いくつかの実現例では、パペティア２００は、ユーザデバイス１１０を介してアクセスされる、クラウド環境の分散システムなどのリモートシステム１５０によってホストされるアプリケーションを含む。他の実現例では、パペティア２００は、ユーザデバイス１１０のメモリハードウェア１１４にダウンロードされるアプリケーションを含む。パペティア２００は、顔画像１３０および／または顔情報１４０から３Ｄアバター１６０を生成するためにリモートシステム１５０と通信してリソース１５２（たとえば、データ処理ハードウェア１５４またはメモリハードウェア１５６）にアクセスするように構成されてもよい。加えてまたは代替的に、パペティア２００は、生成された３Ｄアバター３００をユーザデバイス１１０のメモリハードウェア１１４および／またはリモートシステム１５０のメモリハードウェア１５６にローカルに格納してもよい。たとえば、パペティア２００および／またはユーザデバイス１１０は、その後、後に受け取られた顔画像１３０および／または顔情報１４０に基づいて、格納された３Ｄアバター１６０を拡張またはさらにレンダリングしてもよい。任意に、ユーザデバイス１１０で実行されるＲＴＣアプリケーション３０は、リモートシステム１５０のリソース１５２へのアクセスを必要とすることなくローカルにパペティア２００を実行してもよい。
【００２０】
各々の顔画像１３０は、撮像デバイス１１６によって取り込まれるユーザ１０の顔２０の画像のことである。取り込まれた顔画像１３０は、顔画像１３０を取り込む撮像デバイス１１６のタイプによって、解像度および埋め込みデータの両方の点で異なっていてもよい。たとえば、深度機能を有するカメラまたはセンサがユーザ１０の顔画像１３０を取り込む場合、取り込まれた画像１３０は、顔の特徴および／または顔テクスチャ（たとえば、影、明暗、肌のきめなど）間の関係を識別する深度データを含む。深度データとともに、取り込まれた画像１３０は、顔メッシュ１４２を形成するための顔情報１４０をもともと含んでいてもよい。たとえば、深度カメラまたはセンサの中には、表面再構成アルゴリズムを使用して、取り込まれた画像１３０からメッシュを生成するように構成されたものもある。他の例では、深度機能を持たないカメラまたはセンサ（たとえば、ＲＢＧカメラ）によって生成される取り込まれた画像１３０は、顔情報１４０を生成するために、顔ランドマーク検出および／または顔特徴検出などの技術を用いた一層の分析を必要とする。
【００２１】
顔情報１４０は、一般に、顔２０に関連するデータのポイントクラウドのことである。顔情報１４０とともに、表面再構成アルゴリズムは、顔情報１４０に対応する顔メッシュ１４２を生成してもよい。いくつかの例では、顔情報１４０と顔メッシュ１４２との組み合わせは、顔フレームワーク１４４と称される。なぜなら、この組み合わせは、顔情報１４０に関連付けられた境界を有する顔構造に対応するからである。顔フレームワーク１４４は、ユーザ１０と似ているが、顔メッシュ１４２は、一般に、顔情報１４０の滑らかな表現である。言い換えれば、しわ、えくぼ、滑らかな肌、乾燥肌、脂性肌、毛穴などの、ユーザ１０の顔２０のいくつかの固有の特徴は、ユーザ１０を顔フレームワーク１４４に変換することにより失われる。これらの無くなってしまった側面を考慮に入れるために、パペティア２００は、顔フレームワーク１４４および少なくとも１つの取り込み画像１３０に基づいて、これらの固有の特徴に対応する顔テクスチャ２１２を生成するように構成される。
【００２２】
図２Ａ〜図２Ｆは、取り込み画像１３０および顔情報１４０を含む受け取られた出力１１８に基づいて３Ｄアバター１６０を生成するパペティア２００の例である。パペティア２００は、テクスチャラ２１０と、アップデータ２２０とを含む。テクスチャラ２１０は、顔テクスチャ２１２を判断するように構成されるのに対して、アップデータ２２０は、その後に受け取られた顔フレームワーク１４４および／または取り込み画像１３０に基づいて顔テクスチャ２１２を更新するように構成される。図２Ａを参照して、パペティア２００は、ユーザ１０の顔２０の第１の取り込み画像１３０およびユーザ１０の顔情報１４０の第１の顔メッシュ１４２を含む第１の顔フレームワーク１４４ａに対応する出力１１８を受け取る。第１の顔フレームワーク１４４ａは、第１のフレームＦｉにおけるユーザ１０の顔２０に対応する。取り込み画像１３０は、ユーザ１０の顔面表情２２を取り込んでもよい。たとえば、取り込み画像１３０は、ユーザ１０の中立の顔面表情２２ａを含んでもよい。示されている例では、テクスチャラ２１０は、顔２０の第１の取り込み画像１３０を第１の顔フレームワーク１４４ａ上に投影して、顔２０の中立の顔面表情２２，２２ａに対応する顔テクスチャ２１２，２１２ａを判断する。テクスチャラ２１０が顔テクスチャ２１２（たとえば、第１の顔テクスチャ２１２ａ）を判断した後、アップデータ２２０は、次いで、時間的に第１のフレームＦｉの後に生じる会話１２からの後続フレームＦ２に基づいて顔テクスチャ２１２を更新して、更新された顔テクスチャ２１２，２１２Ｕを形成してもよい。この更新された顔テクスチャ２１２Ｕに基づいて、パペティア２００は、表示された３Ｄアバター１６０を更新する。なぜなら、ユーザ１０は、会話を続けて顔面表情２２をリアルタイムで変化させるからである。
【００２３】
実現例は、最小の帯域幅要件で動作するパペティア２００を含む。帯域幅を意識して、テクスチャラ２１０によって判断される顔テクスチャ２１２は、もっぱら顔フレームワーク１４４などの顔情報１４０に基づいて更新される静的なテクスチャを含む。言い換えれば、パペティア２００における大容量の取り込み画像ファイルに頼るのではなく、パペティア２００は、会話１２における後続のフレームＦ（たとえば、第２のフレームＦ２）の顔情報に基づいて顔テクスチャ２１２を更新することによって３Ｄアバター１６０を生成する。この静的なアプローチは、アバター操縦環境１００の帯域幅要件の増加を生じさせることなく、リアルタイムでの顔メッシュ１４２および顔面構造１４４に対する更新を可能にする。たとえば、図２Ａは、パペティア２００のアップデータ２２０が、第２のフレームＦ２におけるユーザ１０の顔２０に対応する第２の顔フレームワーク１４４ｂと組み合わせて顔テクスチャ２１２ａを受け取ることを示している。ここで、第１のフレームＦｉと同様に、第２の顔フレームワーク１４４ｂは、第２のフレームＦ２における顔情報１４０の第２の顔メッシュ１４２ｂを含む。この構成では、アップデータ２２０は、受け取られた第２の顔フレームワーク１４４ｂに基づいて顔テクスチャ２１２，２１２ａを更新して、更新された顔テクスチャ２１２Ｕを形成する。その後、パペティア２００は、更新された顔テクスチャ２１２Ｕを使用して３Ｄアバター１６０を生成して（または、既存の３Ｄアバター１６０を更新して）、生成された３Ｄアバター１６０をディスプレイ１１９上での表示のためにユーザデバイス１１０に提供する。いくつかの例では、パペティア２００は、更新された顔テクスチャ２１２Ｕをユーザデバイス１１０に提供し、ユーザデバイス１１０は、（たとえば、ＲＴＣアプリケーション３０を介して）３Ｄアバター１６０を生成するか、または既存の３Ｄアバター１６０を更新する。
【００２４】
図２Ｂを参照して、いくつかの実現例では、パペティア２００は、ユーザ２０の顔２０の複数の取り込み画像１３０，１３０ａ−ｄを受け取って、顔２０の取り込み画像１３０を第１の顔フレームワーク１４０ａ上に投影することによって、各々の取り込み画像１３０について対応する顔テクスチャ２１２，２１２ａ−ｄを判断する。その後、パペティア２００は、第２の顔フレームワーク１４０ｂに基づいて各々の顔テクスチャ２１２ａ−ｄを更新およびブレンドして、ブレンドされた顔テクスチャ２１２ｂｌｅｎｄを生成する。図２Ｂは、４つの取り込み画像１３０ａ−ｄを使用して、ブレンドされた顔テクスチャ２１２ｂｌｅｎｄを生成することを示しているが、本開示の範囲から逸脱することなく任意の数の取り込み画像１３０が使用されてもよい。したがって、２つ以上の取り込み画像１３０を顔テクスチャの生成に組み込むことによって、パペティア２００は、図２Ａの単一の中立の顔面表情２２ａに加えてまたはその代わりに、他のベースライン顔面表情２２，２２ａ−ｄを考慮に入れることができる。
【００２５】
示されている例では、パペティア２００は、ユーザ１０の顔２０の４つの取り込み画像１３０，１３０ａ−ｄおよび第１のフレームＦｉにおけるユーザ１０の顔情報１４０の第１の顔メッシュ１４２を含む第１の顔フレームワーク１４４ａに対応する出力１１８を受け取る。第１の顔フレームワーク１４４ａは、第１のフレームＦｉにおけるユーザ１０の顔２０に対応する。ここで、各々の取り込み画像１３０ａ−ｄは、ユーザ１０のユーザ顔面表情２２の異なる顔面表情２２，２２ａ−ｄに対応する。たとえば、第１の取り込み画像１３０ａは、中立の顔面表情２２ａに対応し、第２の取り込み画像１３０ｂは、笑顔の顔面表情２２ｂに対応し、第３の取り込み画像１３０ｃは、両方の眉を上げた顔面表情２２ｃに対応し、第４の取り込み画像１３０ｄは、両方の眉を上げた笑顔の顔面表情２２ｄに対応する。したがって、テクスチャラ２１０は、取り込み画像１３０を第１の顔フレームワーク１４４ａ上に投影することによって、各々の取り込み画像１３０について対応する顔テクスチャ２１２，２１２ａ−ｄを判断するように構成される。
【００２６】
引き続き図２Ｂを参照して、アップデータ２２０は、テクスチャラ２１０から顔テクスチャ２１２ａ−ｄを受け取る。いくつかの例では、アップデータ２２０は、受け取られた第２の顔フレームワーク１４４ｂに基づいて各顔テクスチャ２１２ａ−ｄを更新し、対応する更新された顔テクスチャ２１２Ｕをブレンドして、第２のフレームＦ２においてブレンドされた顔テクスチャ２１２ｂｌｅｎｄを生成する。その後、パペティア２００は、ブレンドされた顔テクスチャ２１２ｂｌｅｎｄを使用して３Ｄアバター１６０を生成して（または、既存の３Ｄアバター１６０を更新して）、生成された３Ｄアバター１６０をディスプレイ１１９上での表示のためにユーザデバイス１１０に提供する。いくつかの例では、パペティア２００は、ブレンドされた顔テクスチャ２１２ｂｌｅｎｄをユーザデバイス１１０に提供し、ユーザデバイス１１０は、（たとえば、ＲＴＣアプリケーション３０を介して）３Ｄアバター１６０を生成するか、または既存の３Ｄアバター１６０を更新する。
【００２７】
図２Ｃを参照して、いくつかの例では、パペティア２００は、テクスチャラ２１０から出力された４つの顔テクスチャ２１２ａ−ｄを更新およびブレンドして、現在のフレームＦ（たとえば、図２Ｃでは第２のフレームＦ２）においてブレンドされた顔テクスチャ２１２ｂｌｅｎｄを生成するためのレンダリング重み２４４をアップデータ２２０に提供するように協働するベクトル生成部２３０および重み生成部２４０をさらに含む。示されている例では、ベクトル生成部２３０は、テクスチャラ２１０から出力された各顔テクスチャ２１２ａ−ｄを受け取って、ベースライン顔テクスチャ２１２に対する対応するテクスチャベクトル２３２を生成する。たとえば、ベースライン顔テクスチャ２１２は、中立の顔面表情２２ａに対応する第１の取り込み画像１３０ａに関連付けられた第１の顔テクスチャ２１２ａに対応してもよい。したがって、ベクトル生成部２３０は、第１の顔テクスチャ２１２ａに対して第２の顔テクスチャ２１２ｂに基づいて第１のテクスチャベクトル２３２ｂａを生成し、第１の顔テクスチャ２１２ａに対して第３の顔テクスチャ２１２ｃに基づいて第２のテクスチャベクトル２３２ｃａを生成し、第１の顔テクスチャ２１２ａに対して第４の顔テクスチャ２１２ｄに基づいて第３のテクスチャベクトル２３２ｄａを生成してもよい。さらに、ベクトル生成部２３０は、最近のフレームＦ（たとえば、第２のフレームＦ２）における顔情報１４０に対応する現在のテクスチャベクトル２３２，２３２ｃｕｒｒｅｎｔを生成する。たとえば、ベクトル生成部２３０は、第１のフレームＦｉにおける第１の顔フレームワーク１４４ａと第２のフレームＦ２における第２の顔フレームワーク１４４ｂとの間の現在のテクスチャベクトル２３２ｃｕｒｒｅｎｔを生成する。
【００２８】
重み生成部２４０は、ベクトル生成部２３０から現在のテクスチャベクトル２３２ｃｕｒｒｅｎｔおよびテクスチャベクトル２３２ｂａ−ｄａの各々を受け取って、現在のテクスチャベクトル２３２ｃｕｒｒｅｎｔと各テクスチャベクトル２３２ｂａ−ｄａとの間のそれぞれの差２４２に基づいてレンダリング重み２４４を生成する。言い換えれば、レンダリング重み２４４は、顔テクスチャ２１２，２１２ａ−ｄに対する現在のフレームにおけるずれを考慮に入れる。レンダリング重み２４４は、既知の検出された顔面表情に対応するように構成されてもよい。たとえば、レンダリング重み２４４は、顔ランドマークの位置に関連付けられたベクトルを含んでもよく、そのため、各ベクトルは、顔ランドマークのベースライン位置（たとえば、中立の顔面表情２２，２２ａの第１の顔フレームワーク１４４ａから第２のフレームＦ２における顔面表情２２の第２の顔フレームワーク１４４ｂまで）からの大きさおよび方向を表す。一例では、レンダリング重み２４４は、５２変数浮動ベクトルを形成する。いくつかの例では、レンダリング重み２４４は、ブレンド割合に対応するため、レンダリング重み２４４の値は、合計が１に等しいそれぞれの比率を含む。
【００２９】
いくつかの実現例では、重み生成部２４０は、テクスチャベクトル２３２が現在のテクスチャベクトル２３２ｃｕｒｒｅｎｔに最も近い場合に、レンダリング重み２４４内の値に対して最も高い値を割り当てる。たとえば、ユーザ１０の現在の顔面表情２２が笑顔（たとえば、第２のテクスチャベクトル２３２ｂａに関連付けられた第２の顔面表情２２ｂ）に近づいていることを第２の顔フレームワーク１４４ｂが示す場合、現在のテクスチャベクトル２３２ｃｕｒｒｅｎｔと笑顔の顔面表情２２ｂに関連付けられた第２のテクスチャベクトル２３２ｂａとの間のそれぞれの差は、現在のテクスチャベクトル２３２ｃｕｒｒｅｎｔと他のテクスチャベクトル２３２ｃａ，２３２ｄａとの間の差よりも小さい。この場合、重み生成部２４０は、笑顔の顔面表情２２ｂの方へのレンダリング重み２４４バイアスに対して値を割り当てる（たとえば、より高いレンダリング重み値）。したがって、アップデータ２２０は、重み生成部２４０によって割り当てられたこれらのレンダリング重み２４４を使用して、笑顔の顔面表情２２ｂに関連付けられた第２の顔テクスチャ２１２ｂの方により近付いたブレンドされた顔テクスチャ２２２ｂｌｅｎｄを生成する。
【００３０】
最小の帯域幅要件で動作する図２Ａのパペティア２００とは異なって、図２Ｂおよび図２Ｃのパペティア２００は、ユーザ１０の顔２０のより正確な視覚表現を実現するためにユーザ１０の顔２０のより多くの取り込み画像１３０ａ−ｄを考慮に入れることによって、より大きな帯域幅を必要とする。ここで、有限数の取り込み画像１３０（たとえば、４つの取り込み画像１３０ａ−ｄ）を有するパペティア２００は、（図２Ｄに示されているように）現在の取り込み画像１３０，１３０ｃｕｒｒｅｎｔから顔テクスチャ２１２を更新するのではなく、現在のフレーム（たとえば、第２のフレームＦ２）における顔情報１４０（たとえば、第２の顔フレームワーク１４４ｂ）に基づいて３Ｄアバター１６０を更新することによって、依然として帯域幅を最小限に抑えながら精度を向上させることができる。
【００３１】
図２Ｄは、第２のフレームＦ２における現在の取り込み画像１３０，１３０ｃｕｒｒｅｎｔを受け取るパペティア２００の一例である。この構成では、パペティア２００は、アップデータ２２０が第２の顔フレームワーク１４４ｂおよび現在の取り込み画像１３０ｃｕｒｒｅｎｔの両方に基づいて第１の顔テクスチャ２１２ａを更新すること以外は、図２Ａのパペティア２００と同様に動作する。いくつかの実現例では、ユーザ１０の現在の取り込み画像１３０ｃｕｒｒｅｎｔを利用する場合、パペティア２００は、現在の取り込み画像１３０ｃｕｒｒｅｎｔに関連付けられたある分量の顔テクスチャ２１２を受け取るおよび／または減少させる。たとえば、アップデータ２２０は、（たとえば、第１の顔テクスチャ２１２ａと比較した場合に）顔テクスチャ２１２の３分の１を有する現在の取り込み画像１３０ｃｕｒｒｅｎｔに基づいて、更新された顔テクスチャ２１２Ｕを生成する。現在の取り込み画像１３０ｃｕｒｒｅｎｔ内の顔テクスチャ２１２の分量を減少させることによって、パペティア２００は、その動作帯域幅要件を減少させてもよい。
【００３２】
図２Ｅを参照して、いくつかの例では、顔情報１４０および／または顔フレームワーク１４４は、ユーザ１０の顔２０の部分取り込み（たとえば、遮られた画像２１４）に対応する。たとえば、ユーザ１０は、視野内を移動するか、または撮像デバイス１１６を移動させる。これらの例では、パペティア２００は、さらに、これらの問題を考慮に入れるように構成されてもよい。いくつかの構成では、テクスチャラ２１０は、現在の取り込み画像１３０ｃｕｒｒｅｎｔおよび／または第２の顔フレームワーク１４４ｂが遮られた画像に対応するか否かを識別する。たとえば、テクスチャラ２１０は、平均してどのぐらいの顔情報１４０が受け取られるかを追跡および分析して、このデータと現在の取り込み画像１３０ｃｕｒｒｅｎｔおよび／または第２の顔フレームワーク１４４ｂとを比較する。テクスチャラ２１０が遮られた画像および／または遮られた顔情報を識別すると、テクスチャラ２１０は、遮られていない先行するフレームＦｎ−１を識別して、遮られた取り込み２１４の遮られた部分のための顔テクスチャ２１２を生成する。たとえば、第２のフレームＦ２が遮られた画像２１４を含み、第１のフレームＦｉが遮られていない画像（たとえば、第１の取り込み画像１３０ａ）を含むとテクスチャラ２１０が判断すると、テクスチャラ２１０は、遮られた画像２１４（たとえば、受け取られた現在の取り込み画像１３０ｃｕｒｒｅｎｔ）を、第１のフレームＦｉに関連付けられた顔情報１４０によりレンダリングしてもよい。
【００３３】
図２Ｆを参照して、いくつかの実現例では、パペティア２００は、特徴フィラー２５０を含む。特徴フィラー２５０は、眼または口のような、しばしば厄介な特徴を識別し、これらの特徴に関連付けられた空洞を塗りつぶす（すなわち、視覚的に表現する）。図２Ｆは、特徴フィラー２５０に焦点を当てるために単純化されたパペティア２００を示している。いくつかの例では、特徴フィラー２５０は、特徴のエッジを検出する。たとえば、特徴フィラー２５０は、頂点を中心とした全ての角度を合計する。この合計が２πまたは３６０度に等しい場合、特徴フィラー２５０は、特徴が眼または口などの空洞であると判断する。合計が２πに等しくない場合、特徴フィラー２５０は、特徴をエッジの頂点として識別する。特徴が空洞として識別されると、特徴フィラー２５０は、顔の割合および／または検出されたエッジの位置に基づいて空洞の位置を近似する。ここで、近似された位置において、特徴フィラー２５０は、特徴を抽出して、抽出された特徴をフィルでレンダリングする。いくつかの例では、特徴フィラー２５０のエッジ検出中に使用される頂点を顔テクスチャ２１２がマッピングしている間に、トゥーイヤーアプローチ（two-ear approach）を使用して特徴を塗りつぶす。
【００３４】
図３は、遠隔アバター１６０の操縦方法３００のためのオペレーションの構成の一例のフローチャートである。オペレーション３０２において、方法３００は、第１の顔フレームワーク１４４，１４４ａと、中立の顔面表情２２，２２ａを有するユーザ１０の顔２０の第１の取り込み画像１３０とを受け取る。第１の顔フレームワーク１４４ａは、第１のフレームＦｉにおけるユーザ１０の顔２０に対応し、顔情報１４０の第１の顔メッシュ１４２，１４２ａを含む。オペレーション３０４において、方法３００は、顔２０の第１の取り込み画像１３０を第１の顔フレームワーク１４４ａ上に投影する。オペレーション３０６において、方法３００は、投影された取り込み画像１３０に基づいて、ユーザ１０の顔２０に対応する顔テクスチャ２１２を判断する。オペレーション３０８において、方法３００は、第２のフレームＦ２におけるユーザ１０の顔２０に対応する第２の顔フレームワーク１４４ｂを受け取る。第２の顔フレームワーク１４４ｂは、顔情報１４０の第２の顔メッシュ１４２，１４２ｂを含む。オペレーション３１０において、方法３００は、受け取られた第２の顔フレームワーク１４４ｂに基づいて、顔テクスチャ２１２を更新する。オペレーション３１２において、方法３００は、更新された顔テクスチャ２１２を３Ｄアバター１６０として表示する。３Ｄアバター１６０は、ユーザ１０の顔２０の仮想表現に対応する。
【００３５】
ソフトウェアアプリケーション（すなわち、ソフトウェアリソース）は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアのことであってもよい。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」または「プログラム」と称されてもよい。アプリケーションの例としては、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが挙げられるが、これらに限定されるものではない。
【００３６】
図４は、たとえば本明細書に記載されているユーザデバイス１１０、リモートシステム１５０およびパペティア２００のシステムおよび方法を実現するために使用され得るコンピューティングデバイス４００の一例の概略図である。コンピューティングデバイス４００は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すよう意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、単に例示的であるよう意図されており、本明細書に記載および／またはクレームされている発明の実現例を限定するよう意図されたものではない。
【００３７】
コンピューティングデバイス４００は、プロセッサ４１０と、メモリ４２０と、記憶装置４３０と、メモリ４２０および高速拡張ポート４５０に接続する高速インターフェイス／コントローラ４４０と、低速バス４７０および記憶装置４３０に接続する低速インターフェイス／コントローラ４６０とを含む。コンポーネント４１０，４２０，４３０，４４０，４５０および４６０の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは適宜他の態様で取り付けられていてもよい。プロセッサ４１０は、コンピューティングデバイス４００内での実行のための命令を処理することができ、これらの命令は、グラフィカルユーザインターフェイス（ＧＵＩ）のためのグラフィカル情報を、高速インターフェイス４４０に結合されたディスプレイ４８０などの外部入力／出力デバイス上に表示するための、メモリ４２０内または記憶装置４３０上に格納された命令を含む。他の実現例では、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび／または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス４００が、各デバイスが（たとえば、サーババンク、ブレードサーバの群またはマルチプロセッサシステムとして）必要なオペレーションの一部を提供する状態で、接続されてもよい。
【００３８】
メモリ４２０は、情報をコンピューティングデバイス４００内に非一時的に格納する。メモリ４２０は、コンピュータ読取可能媒体、揮発性メモリユニットまたは不揮発性メモリユニットであってもよい。非一時的なメモリ４２０は、コンピューティングデバイス４００による使用のために、プログラム（たとえば、命令のシーケンス）またはデータ（たとえば、プログラム状態情報）を一時的または永久的に格納するために使用される物理デバイスであってもよい。不揮発性メモリの例としては、フラッシュメモリおよびリードオンリメモリ（ＲＯＭ）／プログラマブルリードオンリメモリ（ＰＲＯＭ）／消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）／電子的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）（たとえば、一般に、ブートプログラムなどのファームウェアに使用される）が挙げられるが、これらに限定されるものではない。揮発性メモリの例としては、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、相変化メモリ（ＰＣＭ）およびディスクまたはテープが挙げられるが、これらに限定されるものではない。
【００３９】
記憶装置４３０は、コンピューティングデバイス４００に対して大容量記憶を提供することができる。いくつかの実現例では、記憶装置４３０は、コンピュータ読取可能媒体である。さまざまな異なる実現例では、記憶装置４３０は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはデバイスのアレイ（ストレージエリアネットワークもしくは他の構成のデバイスを含む）であってもよい。さらに他の実現例では、コンピュータプログラム製品は、情報担体の形で有形に具体化される。コンピュータプログラム製品は、実行されると上記の方法などの１または複数の方法を実行する命令を含む。情報担体は、メモリ４２０、記憶装置４３０またはメモリオンプロセッサ４１０などのコンピュータまたは機械読取可能媒体である。
【００４０】
高速コントローラ４４０は、コンピューティングデバイス４００のための帯域幅集中型オペレーションを管理するのに対して、低速コントローラ４６０は、より低い帯域幅集中型オペレーションを管理する。このようなデューティの割り当ては例示に過ぎない。いくつかの実現例では、高速コントローラ４４０は、メモリ４２０に結合され、ディスプレイ４８０に（たとえば、グラフィックスプロセッサまたはアクセレレータを介して）結合され、さまざまな拡張カード（図示せず）を受け付け得る高速拡張ポート４５０に結合されている。いくつかの実現例では、低速コントローラ４６０は、記憶装置４３０および低速拡張ポート４９０に結合されている。さまざまな通信ポート（たとえば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、ワイヤレスイーサネット）を含み得る低速拡張ポート４９０は、たとえばネットワークアダプタを介して、１または複数の入力／出力デバイス（キーボード、ポインティングデバイス、スキャナ、またはネットワーキングデバイス（スイッチもしくはルータなど）など）に結合されてもよい。
【００４１】
コンピューティングデバイス４００は、図に示されているように、いくつかの異なる形態で実現されてもよい。たとえば、それは、標準的なサーバ４００ａとしてもしくはこのようなサーバ４００ａの群で複数回実現されてもよく、ラップトップコンピュータ４００ｂとして実現されてもよく、またはラックサーバシステム４００ｃの一部として実現されてもよい。
【００４２】
本明細書に記載されているシステムおよび技術のさまざまな実現例は、デジタル電子および／もしくは光回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに／または、それらの組み合わせの形で実現可能である。これらのさまざまな実現例は、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１または複数のコンピュータプログラムの形での実現例を含み得て、プログラマブルプロセッサは、特殊目的であってもよく、または汎用であってもよく、ストレージシステム、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスに対してデータおよび命令を送受信するように結合されている。
【００４３】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）は、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型プログラミング言語および／またはオブジェクト指向プログラミング言語および／またはアセンブリ／機械言語の形で実現可能である。本明細書における「機械読取可能媒体」および「コンピュータ読取可能媒体」という用語は、プログラマブルプロセッサに機械命令および／またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的なコンピュータ読取可能媒体、装置および／またはデバイス（たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を意味するものとし、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、プログラマブルプロセッサに機械命令および／またはデータを提供するために使用される任意の信号を意味するものとする。
【００４４】
本明細書に記載されているプロセスおよびロジックフローは、入力データ上で動作して出力を生成することによって機能を実行するように１または複数のコンピュータプログラムを実行する１または複数のプログラマブルプロセッサによって実行可能である。これらのプロセスおよびロジックフローは、特殊目的論理回路（たとえば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路））によっても実行可能である。コンピュータプログラムの実行に好適なプロセッサの例としては、汎用および特殊目的マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の１または複数のプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリまたはそれら両方から命令およびデータを受信する。コンピュータの不可欠な要素は、命令を実行するためのプロセッサ、ならびに、命令およびデータを格納するための１または複数のメモリデバイスである。一般に、コンピュータは、データを格納するための１または複数の大容量記憶装置（たとえば、磁気ディスク、光磁気ディスクまたは光ディスク）も含んでおり、または、１または複数の大容量記憶装置からデータを受信したり、１または複数の大容量記憶装置にデータを送信したり、１または複数の大容量記憶装置に対してデータを送受信したりするように動作可能に結合される。しかし、コンピュータは、このような装置を有していなくてもよい。コンピュータプログラム命令およびデータの格納に好適なコンピュータ読取可能媒体は、全ての形態の不揮発性メモリ、媒体およびメモリデバイスを含み、これらの例としては、半導体メモリデバイス（たとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリデバイス）、磁気ディスク（たとえば、内部ハードディスクまたはリムーバブルディスク）、光磁気ディスク、ならびにＣＤ  ＲＯＭおよびＤＶＤ−ＲＯＭディスクが挙げられる。プロセッサおよびメモリは、特殊目的論理回路によって補完されてもよく、または特殊目的論理回路に組み込まれてもよい。
【００４５】
ユーザとの対話を提供するために、本開示の１または複数の局面は、情報をユーザに表示するためのディスプレイデバイス（たとえば、ＣＲＴ（陰極線管）、ＬＣＤ（液晶ディスプレイ）モニタまたはタッチスクリーン）と、任意にユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス（たとえば、マウスまたはトラックボール）とを有するコンピュータ上で実現可能である。ユーザとの対話を提供するために他の種類のデバイスも使用されてもよい。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック（たとえば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック）であってもよく、ユーザからの入力は、音響入力、発話入力または触覚入力を含む任意の形態で受信されてもよい。また、コンピュータは、ユーザによって使用されるデバイスに対してドキュメントを送受信することによって、たとえばウェブブラウザから受け取られた要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【００４６】
上記の説明に付け加えて、ユーザは、本明細書に記載されているシステム、プログラムまたは特徴がユーザ情報（たとえば、ユーザのソーシャルネットワーク、社会的行為もしくは社会活動、職業、ユーザの嗜好、またはユーザの現在位置）の収集を可能にするか否かおよびいつ可能にするか、ならびに、ユーザがサーバからコンテンツまたは通信を送信されるか否かについてユーザが選択を行うことを可能にする制御を提供されてもよい。また、特定のデータは、格納または使用される前に１または複数の方法で処理されてもよく、その結果、個人を特定できる情報は取り除かれる。たとえば、ユーザのアイデンティティは、当該ユーザについて個人を特定できる情報を突き止めることができないように処理されてもよく、または、ユーザの地理的位置は、位置情報（市、郵便番号または州レベルなど）が得られる場合には、ユーザの特定の位置を突き止めることができないように一般化されてもよい。したがって、ユーザは、どのような情報がユーザについて収集されるか、当該情報がどのように使用されるか、およびどのような情報がユーザに提供されるかを制御し得る。
【００４７】
いくつかの実現例について説明してきた。しかし、本開示の精神および範囲から逸脱することなくさまざまな変更がなされてもよいということが理解されるであろう。したがって、他の実現例は、以下の特許請求の範囲の範囲内である。
【図１】
2021523437.tif 000003
【図２Ａ】
2021523437.tif 000004
【図２Ｂ】
2021523437.tif 000005
【図２Ｃ】
2021523437.tif 000006
【図２Ｄ】
2021523437.tif 000007
【図２Ｅ】
2021523437.tif 000008
【図２Ｆ】
2021523437.tif 000009
【図３】
2021523437.tif 000010
【図４】
2021523437.tif 000011
【国際調査報告】
2021523437.tif 000012
2021523437.tif 000013